:root {
  color-scheme:dark;
  --ssh-bg:#0c1017;
  --ssh-surface:#131a24;
  --ssh-surface-raised:#19222e;
  --ssh-line:#273141;
  --ssh-text:#e8eef6;
  --ssh-muted:#94a3b8;
  --ssh-accent:#72e1b8;
  --ssh-accent-dark:#113d31;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-synthesis:none
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:120px
}
body {
  margin:0;
  background:var(--ssh-bg);
  color:var(--ssh-text);
  line-height:1.6;
  min-width:320px
}
a {
  color:var(--ssh-accent);
  text-decoration:none
}
button,input,select,textarea {
  font:inherit
}
button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent
}
[hidden] {
  display:none!important
}
button {
  cursor:pointer
}
button:disabled {
  opacity:.45;
  cursor:wait
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:2px solid var(--ssh-accent);
  outline-offset:4px
}
::selection {
  background:#327c66;
  color:white
}
.ssh-app {
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:radial-gradient(ellipse at 85% 0,#16312d55,transparent 38%),var(--ssh-bg)
}
.ssh-skip-link {
  position:fixed;
  left:1rem;
  top:-100px;
  background:var(--ssh-accent);
  color:#10261f;
  padding:.6rem 1rem;
  z-index:50;
  border-radius:8px
}
.ssh-skip-link:focus {
  top:1rem
}
.ssh-appbar {
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  gap:2rem;
  padding:1rem max(1.5rem,calc((100vw - 1400px)/2));
  border-bottom:1px solid var(--ssh-line);
  background:#0d131deF;
  backdrop-filter:blur(18px)
}
.ssh-brand {
  display:flex;
  align-items:center;
  gap:.7rem;
  color:var(--ssh-text);
  font-size:1.15rem;
  font-weight:700;
  letter-spacing:-.03em;
  white-space:nowrap;
  line-height:1.25
}
.ssh-brand-mark {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid #72e1b84a;
  background:#72e1b80c;
  color:var(--ssh-accent);
  font:700 1.1rem ui-monospace,monospace
}
.ssh-brand-accent {
  color:var(--ssh-accent)
}
.ssh-brand small {
  display:block;
  font-size:.55rem;
  letter-spacing:.19em;
  color:var(--ssh-muted);
  font-weight:500;
  margin-top:5px
}
.ssh-navigation {
  display:flex;
  align-items:center;
  gap:.25rem;
  flex:1
}
.ssh-navigation a {
  color:var(--ssh-muted);
  font-size:.82rem;
  white-space:nowrap;
  border-radius:8px;
  padding:.6rem .75rem;
  transition:background .2s,color .2s
}
.ssh-navigation a:hover {
  background:#ffffff07;
  color:var(--ssh-text)
}
.ssh-navigation a[aria-current] {
  background:#72e1b812;
  color:var(--ssh-accent)
}
.ssh-appbar-actions {
  display:flex;
  align-items:center;
  gap:1.25rem;
  margin-left:auto;
  font-size:.78rem;
  white-space:nowrap
}
.ssh-portfolio-link {
  color:var(--ssh-muted)
}
.ssh-portfolio-link:hover {
  color:var(--ssh-text)
}
#ssh-session {
  display:flex;
  align-items:center;
  gap:.6rem
}
#ssh-account {
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis
}
.ssh-avatar {
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  background:#26372f;
  color:var(--ssh-accent);
  border-radius:50%;
  font-size:.65rem;
  font-weight:700
}
.ssh-panel {
  width:100%;
  max-width:1320px;
  margin:0 auto;
  padding:3rem 2rem 4rem;
  flex:1
}
.ssh-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  margin-bottom:1.75rem
}
.ssh-heading h1 {
  font-size:clamp(2.2rem,4vw,3.6rem);
  font-weight:650;
  line-height:1.14;
  letter-spacing:-.055em;
  margin:.75rem 0 1rem
}
.ssh-heading h1 span {
  color:var(--ssh-accent)
}
.ssh-heading p:not(.ssh-eyebrow) {
  color:var(--ssh-muted);
  font-size:.95rem;
  margin-bottom:0
}
.ssh-eyebrow {
  font-size:.64rem!important;
  font-weight:700;
  letter-spacing:.16em;
  color:var(--ssh-accent)!important;
  margin:0 0 .55rem
}
.ssh-platform-tag,.ssh-badge {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  white-space:nowrap;
  border:1px solid var(--ssh-line);
  border-radius:100px;
  padding:.3rem .75rem;
  color:#bdc9d7;
  font-size:.7rem
}
.ssh-platform-tag {
  background:var(--ssh-surface)
}
.ssh-live-dot {
  width:6px;
  height:6px;
  display:inline-block;
  border-radius:50%;
  background:var(--ssh-accent);
  box-shadow:0 0 0 4px #72e1b80b;
  flex-shrink:0
}
#ssh-notice {
  font-size:.8rem;
  color:var(--ssh-muted);
  border:1px solid var(--ssh-line);
  border-left:3px solid var(--ssh-accent);
  border-radius:8px;
  padding:.7rem 1rem;
  margin:0 0 1.25rem;
  overflow-wrap:anywhere
}
#ssh-notice:empty {
  display:none
}
.ssh-login-layout {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:1.5rem
}
.ssh-card {
  background:linear-gradient(140deg,#17202b80,transparent 70%),var(--ssh-surface);
  border:1px solid var(--ssh-line);
  border-radius:16px;
  padding:1.6rem;
  margin:0 0 1.4rem;
  min-width:0
}
.ssh-card h2,.ssh-resource-section h2,.ssh-admin-heading h2 {
  font-size:1.15rem;
  font-weight:600;
  letter-spacing:-.025em;
  margin:0 0 .8rem
}
.ssh-card h3 {
  font-size:1rem;
  font-weight:600;
  margin:0 0 .8rem
}
.ssh-card p {
  color:var(--ssh-muted);
  font-size:.82rem
}
.ssh-welcome-card {
  position:relative;
  overflow:hidden;
  background:radial-gradient(ellipse at 100% 0,#21544580,transparent 70%),#141e24;
  border:1px solid #2b443d;
  border-radius:18px;
  padding:2.6rem
}
.ssh-welcome-card h2 {
  font-size:clamp(2rem,3.6vw,3.1rem);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-.055em;
  margin:1.7rem 0 1rem
}
.ssh-welcome-card>p {
  font-size:.9rem;
  color:#a6bcb4;
  max-width:390px
}
.ssh-terminal-preview {
  margin:2rem 0;
  background:#0c1415;
  border:1px solid #30433b;
  border-radius:12px;
  box-shadow:0 18px 50px #0003;
  overflow:hidden
}
.ssh-terminal-top {
  display:flex;
  gap:5px;
  align-items:center;
  padding:.8rem 1rem;
  border-bottom:1px solid #26382f
}
.ssh-terminal-top>span {
  width:7px;
  height:7px;
  background:#446255;
  border-radius:50%
}
.ssh-terminal-top>span:first-child {
  background:#cc7a73
}
.ssh-terminal-top>span:nth-child(2) {
  background:#c6ad70
}
.ssh-terminal-top small {
  font-size:.65rem;
  color:#7c9588;
  margin-left:.7rem
}
.ssh-terminal-preview code {
  display:block;
  padding:1.25rem;
  font: .73rem/1.9 ui-monospace,SFMono-Regular,Consolas,monospace;
  overflow-wrap:anywhere;
  color:#b8c9c0
}
.ssh-terminal-preview code span {
  color:var(--ssh-accent)
}
.ssh-welcome-features {
  display:flex;
  flex-wrap:wrap;
  gap:1.2rem;
  color:#a4bcb0;
  font-size:.73rem
}
.ssh-login-card {
  padding:2.6rem;
  margin:0;
  display:flex;
  flex-direction:column;
  justify-content:center
}
.ssh-login-icon {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:12px;
  background:#72e1b80d;
  border:1px solid #72e1b824;
  color:var(--ssh-accent);
  font:600 1.1rem ui-monospace,monospace;
  margin-bottom:1.5rem
}
.ssh-login-card h2 {
  font-size:1.5rem;
  margin:0
}
.ssh-login-card>p {
  margin:.5rem 0 1.1rem
}
.ssh-login-card .ssh-login-help {
  font-size:.75rem;
  text-align:center;
  margin:1rem 0 0
}
.ssh-login-card>button {
  width:100%;
  display:flex;
  justify-content:space-between;
  margin-top:1rem;
  padding:.8rem 1rem
}
.ssh-panel label {
  display:block;
  font-size:.78rem;
  color:#b9c6d6;
  margin:.8rem 0
}
.ssh-panel input:not([type=checkbox]),.ssh-panel textarea,.ssh-panel select {
  display:block;
  width:100%;
  padding:.7rem .85rem;
  background:#0d141f;
  color:var(--ssh-text);
  border:1px solid #303d4f;
  border-radius:8px;
  margin-top:.4rem;
  transition:border-color .2s;
  min-width:0
}
.ssh-panel input::placeholder,.ssh-panel textarea::placeholder {
  color:#63738a
}
.ssh-panel textarea {
  min-height:100px;
  resize:vertical;
  font-family:ui-monospace,monospace;
  font-size:.78rem
}
.ssh-panel input:hover,.ssh-panel select:hover,.ssh-panel textarea:hover {
  border-color:#506174
}
.ssh-panel button,.ssh-appbar button {
  padding:.6rem 1rem;
  background:var(--ssh-accent);
  color:#0e3024;
  border:1px solid transparent;
  border-radius:8px;
  font-size:.78rem;
  font-weight:650;
  transition:background .2s,transform .2s
}
.ssh-panel button:hover,.ssh-appbar button:hover {
  background:#9aeece
}
.ssh-panel button:active {
  transform:translateY(1px)
}
.ssh-button-quiet,.ssh-panel td button,.ssh-row button,#ssh-stop {
  background:#1a2634!important;
  border:1px solid #354358!important;
  color:#c3d0df!important
}
.ssh-button-quiet:hover,.ssh-panel td button:hover,.ssh-row button:hover {
  background:#27384b!important
}
#ssh-stop {
  color:#f0b3aa!important;
  border-color:#72403a!important
}
.ssh-checkbox {
  display:flex!important;
  gap:.6rem;
  align-items:center;
  padding:.6rem .8rem;
  background:#ffffff03;
  border-radius:8px
}
.ssh-checkbox input {
  accent-color:var(--ssh-accent)
}
.ssh-toolbar {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:1rem;
  margin:1rem 0 1.5rem;
  padding-bottom:1.3rem;
  border-bottom:1px solid var(--ssh-line)
}
.ssh-toolbar-title {
  display:flex;
  gap:.7rem;
  align-items:center;
  margin-right:auto;
  color:#b3c2d2;
  font-size:.8rem
}
.ssh-toolbar label {
  margin:0;
  min-width:150px;
  font-size:.65rem
}
.ssh-toolbar select {
  padding:.5rem .7rem;
  font-size:.78rem;
  margin-top:.2rem
}
.ssh-toolbar>button {
  align-self:flex-end;
  min-height:37px;
  background:var(--ssh-surface-raised);
  color:var(--ssh-text);
  border-color:var(--ssh-line)
}
.ssh-section-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-bottom:1rem
}
.ssh-section-heading h2 {
  margin:0
}
.ssh-section-heading .ssh-eyebrow {
  margin-bottom:.4rem
}
.ssh-caption {
  font-size:.7rem;
  color:var(--ssh-muted)
}
.ssh-workspace-card {
  background:radial-gradient(ellipse at 0 0,#1f46383d,transparent 60%),var(--ssh-surface);
  border-color:#30473d
}
.ssh-command {
  display:flex;
  align-items:center;
  gap:1rem;
  background:#0a1118;
  border:1px solid #2a3b3c;
  border-radius:10px;
  padding:.9rem 1rem;
  margin:1.5rem 0
}
.ssh-command>span {
  color:var(--ssh-accent);
  font-family:monospace
}
.ssh-command code {
  flex:1;
  font-size:.85rem;
  overflow-wrap:anywhere;
  min-width:0;
  color:#c7eadb
}
.ssh-command button {
  flex-shrink:0
}
.ssh-panel #ssh-pod {
  overflow-wrap:anywhere;
  font-size:.75rem
}
.ssh-panel #ssh-limits {
  font-size:.75rem
}
#ssh-pod-state[data-state=running] {
  color:var(--ssh-accent);
  border-color:#3a6855;
  background:#72e1b80a
}
.ssh-resource-section {
  margin:2rem 0
}
.ssh-resource-section>p {
  color:var(--ssh-muted);
  font-size:.8rem;
  margin-top:-.5rem
}
.ssh-metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem
}
.ssh-metric {
  position:relative;
  background:var(--ssh-surface);
  border:1px solid var(--ssh-line);
  border-radius:14px;
  padding:1.2rem 1.2rem .6rem;
  overflow:hidden
}
.ssh-metric p {
  font-size:.73rem;
  color:var(--ssh-muted);
  margin:0 0 .6rem
}
.ssh-metric strong {
  font-size:1.55rem;
  font-weight:600;
  letter-spacing:-.045em;
  display:block;
  overflow-wrap:anywhere
}
.ssh-metric canvas {
  display:block;
  width:100%;
  height:85px;
  margin-top:.8rem
}
.ssh-two-column {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:1.4rem;
  align-items:stretch
}
.ssh-two-column .ssh-card {
  height:auto
}
.ssh-panel table {
  width:100%;
  border-collapse:collapse;
  font-size:.78rem
}
.ssh-panel th {
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.58rem;
  font-weight:600;
  color:#8194ad;
  padding:.8rem .6rem;
  border-bottom:1px solid var(--ssh-line)
}
.ssh-panel td {
  text-align:left;
  padding:1rem .6rem;
  border-bottom:1px solid #27314188;
  vertical-align:middle;
  color:#bdc9da
}
.ssh-panel tbody tr:last-child td {
  border-bottom:0
}
.ssh-panel td:first-child {
  font-family:ui-monospace,monospace;
  font-size:.7rem
}
.ssh-panel td button {
  margin:.15rem .4rem .15rem 0;
  font-size:.7rem;
  padding:.4rem .65rem
}
.ssh-scroll {
  overflow-x:auto
}
.ssh-empty {
  color:#8092a9!important;
  font-family:inherit!important;
  text-align:center!important;
  padding:2rem!important;
  font-size:.8rem!important
}
.ssh-key-item {
  padding:.8rem 0;
  border-bottom:1px solid var(--ssh-line);
  overflow-wrap:anywhere;
  font-size:.75rem!important
}
.ssh-key-item button {
  margin:.5rem 0 .2rem .6rem;
  font-size:.68rem
}
#ssh-add-key {
  border-top:1px solid var(--ssh-line);
  padding-top:.5rem;
  margin-top:1rem
}
#ssh-policy-summary,#ssh-storage-summary {
  color:#a4b5c9;
  font-size:.8rem;
  padding:1rem;
  background:#0e1520;
  border:1px solid var(--ssh-line);
  border-radius:9px;
  margin-top:.8rem;
  overflow-wrap:anywhere
}
#ssh-storage-summary::before {
  content:"PERSISTENTER SPEICHER";
  display:block;
  font-size:.58rem;
  letter-spacing:.1em;
  color:#7188a0;
  margin-bottom:.6rem
}
#ssh-policy-summary::before {
  content:"NETZWERKFREIGABEN";
  display:block;
  font-size:.58rem;
  letter-spacing:.1em;
  color:#7188a0;
  margin-bottom:.6rem
}
.ssh-panel pre {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  max-height:420px;
  overflow:auto;
  background:#0a1019;
  border:1px solid #253144;
  padding:1.2rem;
  border-radius:10px;
  font: .73rem/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;
  color:#9fb4ca;
  scrollbar-color:#334358 #0a1019
}
.ssh-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:1rem
}
.ssh-grid .ssh-card {
  padding:1.3rem
}
.ssh-row {
  display:flex;
  gap:.75rem;
  align-items:end;
  flex-wrap:wrap;
  padding:.8rem 0;
  border-bottom:1px solid var(--ssh-line)
}
.ssh-row label {
  flex:1;
  min-width:120px
}
.ssh-row button {
  margin-bottom:.8rem
}
.ssh-admin-heading {
  margin:3rem 0 1.5rem;
  padding-top:2rem;
  border-top:1px solid var(--ssh-line)
}
.ssh-footer {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  width:100%;
  max-width:1320px;
  padding:1.5rem 2rem;
  margin:0 auto;
  border-top:1px solid var(--ssh-line);
  color:#65778e;
  font-size:.7rem
}
.ssh-footer>span>span {
  padding:0 .5rem;
  color:#3d4c5e
}
.ssh-footer a {
  color:#8193a9;
  margin-left:1.5rem
}
.ssh-footer a:hover {
  color:var(--ssh-accent)
}
@media(min-width:1101px) {
  .ssh-app:has(#ssh-workspace:not([hidden])) .ssh-heading h1 {
    font-size:2.5rem
  }
  .ssh-app:has(#ssh-workspace:not([hidden])) .ssh-heading h1 br {
    display:none
  }
  .ssh-app:has(#ssh-workspace:not([hidden])) .ssh-heading h1 span::before {
    content:" "
  }
}
@media(max-width:1250px) {
  .ssh-appbar {
    flex-wrap:wrap;
    gap:.8rem;
    padding:1rem 1.5rem
  }
  .ssh-navigation {
    order:3;
    flex-basis:100%;
    overflow-x:auto;
    padding-top:.25rem
  }
  .ssh-navigation a {
    padding:.5rem .8rem
  }
  .ssh-appbar-actions {
    margin-left:auto
  }
  .ssh-grid {
    grid-template-columns:1fr 1fr
  }
  .ssh-grid>form:first-child {
    grid-row:span 2
  }
  .ssh-grid .ssh-card {
    margin-bottom:0
  }
  .ssh-grid {
    margin-bottom:1.4rem
  }
  html {
    scroll-padding-top:160px
  }
}
@media(max-width:760px) {
  .ssh-app:has(#ssh-session:not([hidden])) .ssh-portfolio-link {
    display:none
  }
  .ssh-panel {
    padding:2rem 1rem 3rem
  }
  .ssh-heading {
    align-items:start
  }
  .ssh-heading h1 {
    font-size:2.6rem
  }
  .ssh-platform-tag {
    display:none
  }
  .ssh-login-layout {
    grid-template-columns:1fr
  }
  .ssh-welcome-card {
    display:none
  }
  .ssh-login-card {
    padding:2rem 1.4rem
  }
  .ssh-card {
    padding:1.25rem;
    border-radius:12px
  }
  .ssh-metrics {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.7rem
  }
  .ssh-metric {
    padding:1rem .85rem .4rem
  }
  .ssh-metric strong {
    font-size:1.3rem
  }
  .ssh-metric canvas {
    height:65px
  }
  .ssh-two-column,.ssh-grid {
    grid-template-columns:1fr
  }
  .ssh-two-column {
    gap:0
  }
  .ssh-grid>form:first-child {
    grid-row:auto
  }
  .ssh-toolbar {
    flex-wrap:wrap;
    gap:.75rem
  }
  .ssh-toolbar-title {
    flex-basis:100%
  }
  .ssh-toolbar label {
    flex:1;
    min-width:120px
  }
  .ssh-toolbar>button {
    flex:1
  }
  .ssh-section-heading {
    flex-wrap:wrap
  }
  .ssh-caption {
    display:none
  }
  .ssh-command {
    gap:.6rem;
    flex-wrap:wrap;
    padding:.8rem
  }
  .ssh-command code {
    font-size:.73rem;
    flex-basis:80%
  }
  .ssh-command button {
    margin-left:auto;
    font-size:.65rem;
    padding:.4rem .65rem
  }
  .ssh-portfolio-link {
    font-size:.7rem
  }
  #ssh-session {
    gap:.4rem
  }
  #ssh-account {
    font-size:.65rem;
    max-width:105px
  }
  .ssh-avatar {
    display:none
  }
  .ssh-appbar-actions {
    gap:.75rem
  }
  .ssh-appbar button {
    font-size:.65rem;
    padding:.4rem .6rem
  }
  .ssh-brand {
    font-size:1rem
  }
  .ssh-brand-mark {
    width:34px;
    height:34px;
    border-radius:9px
  }
  .ssh-brand small {
    font-size:.48rem
  }
  .ssh-navigation a {
    font-size:.74rem
  }
  .ssh-appbar {
    padding:.8rem 1rem
  }
  .ssh-footer {
    padding:1.3rem 1rem;
    flex-wrap:wrap;
    font-size:.65rem
  }
  .ssh-footer a {
    margin:0 1rem 0 0
  }
  .ssh-row label {
    min-width:42%
  }
  .ssh-panel table {
    min-width:620px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    transition:none!important
  }
}
/* Individual console pages share the shell, but render only their own sections. */
.ssh-app[data-page="administration"] .ssh-admin-heading {
  margin: 0 0 1.5rem;
  padding-top: 0;
  border-top: 0;
}
#ssh-preferences select {
  max-width: 420px;
}
