.theme-toggle{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid var(--line);border-radius:24px;background:linear-gradient(#fff,#e8f1ff);color:var(--ink);padding:9px 12px;font:inherit;font-size:12px;cursor:pointer}.header-inner{gap:14px}.registration-control{margin-bottom:20px}.autostart-control{border:1px solid var(--line);background:var(--bg);padding:18px;border-radius:18px;margin:20px 0}.autostart-label{display:block;margin-top:6px;color:var(--muted);font-size:11px}
.home-shell{padding-top:18px;padding-bottom:24px}.home-compact .hero{margin:0 0 12px;padding:24px 0 12px;gap:30px;grid-template-columns:1.5fr 1fr}.home-compact .hero h1{font-size:clamp(28px,3.5vw,44px);line-height:1.12;margin:12px 0}.home-compact .hero p{font-size:15px;margin:12px 0}.home-compact .hero-art{min-height:190px;height:210px;border-radius:28px}.home-compact .hero-art strong{font-size:27px}.home-compact .stats{margin:12px 0 18px;gap:14px}.home-compact .stat{padding:14px 20px}.home-compact .stat strong{font-size:25px}.home-compact .connection{padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.home-compact .connection h2{font-size:18px;margin:4px 0}.home-compact .connection p{margin:4px 0;font-size:13px}.home-compact .connection code{font-size:15px;margin:0;white-space:nowrap}.home-compact .registration-note{margin:12px 0}.home-compact .eyebrow{font-size:10px}.home-compact .hero-art small{font-size:11px}
html[data-theme=dark]{color-scheme:dark;--ink:#e0ecff;--muted:#a8bedf;--navy:#d2e3ff;--accent:#76b5ff;--accent-dark:#a1ceff;--line:#294b78;--bg:#102642;--shadow:0 12px 30px #0003}
html[data-theme=dark] body{background:radial-gradient(ellipse at 0 0,#173c6a 0,transparent 45%),radial-gradient(ellipse at 100% 50%,#142f58 0,transparent 50%),#09172b;color:var(--ink)}
html[data-theme=dark] .site-header{background:#0d2039ef;border-color:#294b78}html[data-theme=dark] .brand{color:#e0edff}html[data-theme=dark] .brand small,html[data-theme=dark] .muted{color:#a8bedf}html[data-theme=dark] a{color:#8cc5ff}html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3{color:#dceaff}
html[data-theme=dark] .card,html[data-theme=dark] .stat{background:linear-gradient(150deg,#193658,#10253f);border-color:#32557f;box-shadow:inset 0 1px #729ed222,var(--shadow)}
html[data-theme=dark] .button{color:#fff;background:linear-gradient(#528ff0,#285bce);border-color:#5e97ee;box-shadow:inset 0 1px #b8d7ff55,0 4px 15px #0003}html[data-theme=dark] .button.secondary,html[data-theme=dark] .theme-toggle{background:linear-gradient(#254971,#183553);color:#d7eaff;border-color:#41658c}html[data-theme=dark] .button.danger{background:linear-gradient(#97465e,#713047);border-color:#b15d78;color:#ffe6ee}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#0a1d35;color:#e0ecff;border-color:#365a86}html[data-theme=dark] input::placeholder{color:#9bb0cd}html[data-theme=dark] .main-nav>a:not(.button),html[data-theme=dark] .nav-button{color:#b9d0f1}html[data-theme=dark] .main-nav a[aria-current],html[data-theme=dark] .tabs a[aria-current]{background:linear-gradient(#2f6096,#1c3e69);color:#e4f1ff!important;border-color:#4677af}html[data-theme=dark] .main-nav a:hover,html[data-theme=dark] .nav-button:hover{background:#24446c}
html[data-theme=dark] .tabs{background:#122d4e}html[data-theme=dark] .portal-languages{background:#153352!important;border-color:#365a86!important}html[data-theme=dark] .portal-languages a[aria-current=true]{background:#245285!important;border-color:#76adf2!important;box-shadow:0 0 0 2px #345e8a!important}
html[data-theme=dark] .notice,html[data-theme=dark] .confirm-panel,html[data-theme=dark] .empty,html[data-theme=dark] .job-entry-output{background:#122e50;border-color:#36577f;color:#c9ddf8}html[data-theme=dark] .notice.error{background:#47263d;color:#ffcad9;border-color:#78435d}html[data-theme=dark] .badge{background:#244568;color:#d6e8ff}html[data-theme=dark] .badge.online,html[data-theme=dark] .badge.completed,html[data-theme=dark] .badge.approved{background:#123f4d;color:#a7e8e0}html[data-theme=dark] .badge.failed,html[data-theme=dark] .badge.offline,html[data-theme=dark] .badge.rejected{background:#472b44;color:#ffc1d7}html[data-theme=dark] .badge.pending,html[data-theme=dark] .badge.running{background:#4b3d20;color:#ffe4a4}
html[data-theme=dark] th,html[data-theme=dark] td,html[data-theme=dark] .job,html[data-theme=dark] .job-entry,html[data-theme=dark] details,html[data-theme=dark] .site-footer{border-color:#2b486c}html[data-theme=dark] th{background:#193b60;color:#d4e6ff}html[data-theme=dark] .job-entry-output pre,html[data-theme=dark] .job-entry-output summary{color:#bcd7fc}html[data-theme=dark] code{background:#0d2543;color:#b4d7ff}
html[data-theme=dark] .region-map{background:#102843;border-color:#35577e}html[data-theme=dark] .map-viewport{background:#091a30;border-color:#325071}html[data-theme=dark] .map-grid{stroke:#162e49}html[data-theme=dark] .map-grid.major{stroke:#274968}html[data-theme=dark] .map-axis{fill:#849ebd}html[data-theme=dark] .map-north{background:#183656dd;color:#bbd9ff}html[data-theme=dark] .map-help,html[data-theme=dark] .map-legend,html[data-theme=dark] .map-status{color:#a9c7ec}html[data-theme=dark] .map-tile.online rect{fill:#214e80;stroke:#6e9fdc}html[data-theme=dark] .map-tile.offline rect,html[data-theme=dark] .map-tile.occupied rect{fill:#203149;stroke:#627994}html[data-theme=dark] .map-tile.online text,html[data-theme=dark] .map-tile.offline text{fill:#d7e8ff}html[data-theme=dark] .map-tile.occupied text{fill:#a8b9cc}
@media(max-height:720px) and (min-width:721px){.home-compact .hero{padding-top:12px}.home-compact .hero h1{font-size:32px}.home-compact .hero-art{height:160px;min-height:160px}.home-compact .stats{margin:8px 0 12px}.home-compact .stat{padding:10px 18px}.home-compact .connection{padding:12px 20px}.site-header .header-inner{min-height:66px}.site-footer{padding-top:16px;padding-bottom:16px}}
@media(max-width:1000px){.header-inner{flex-wrap:wrap}.main-nav{flex-wrap:wrap}.theme-toggle{margin-left:auto}.home-compact .connection{flex-wrap:wrap}.home-compact .hero{grid-template-columns:1.5fr 1fr}.home-compact .hero-art strong{font-size:22px}}
@media(max-width:720px){.home-compact .hero{grid-template-columns:1fr;padding-top:16px}.home-compact .hero-art{display:none}.home-compact .stats{gap:8px}.home-compact .stat{padding:12px}.home-compact .connection code{font-size:12px;white-space:normal;overflow-wrap:anywhere}.theme-toggle span{display:none}.theme-toggle{font-size:18px;padding:6px 10px}}

html[data-theme=dark] .stat strong{color:#a4d2ff}html[data-theme=dark] .stat span{color:#b3c8e6}html[data-theme=dark] .eyebrow{color:#8cbeff}html[data-theme=dark] .permission-item:has(input:checked),html[data-theme=dark] .full-access{background:#183f5b}html[data-theme=dark] .feature-icon{background:#254d7c;color:#bddbff}html[data-theme=dark] .details dt{color:#aac2e4}
.online-count{display:block;margin-top:5px;font-size:12px;color:var(--muted)}.online-count b{color:var(--accent)}

.subnav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.subnav a{display:inline-flex;padding:9px 15px;border:1px solid var(--line);border-radius:20px;color:var(--muted);font-size:13px}.subnav a[aria-current]{background:var(--accent);color:#fff;border-color:var(--accent)}.context-jobs{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0}.context-jobs small{color:var(--muted)}.job-button{display:inline-flex;align-items:center;gap:8px}.job-button b{min-width:24px;text-align:center;border-radius:20px;background:#ffffff33;padding:2px 6px}.job-clock{display:inline-block;font-size:20px;line-height:1}.busy .job-clock,.job-clock.running{animation:job-clock-spin 2s linear infinite}.button.job-button.has-errors,html[data-theme=dark] .button.job-button.has-errors{background:linear-gradient(#be4f70,#952a4b);color:#fff;border-color:#d47791}.pagination{display:flex;gap:14px;align-items:center;justify-content:center;margin:20px 0}.pagination span{color:var(--muted);font-size:13px}@keyframes job-clock-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.busy .job-clock,.job-clock.running{animation:none}}
html[data-theme=dark] input:not([type=checkbox]):not([type=radio]){background:#0a1d35;color:#e0ecff;border-color:#365a86}html[data-theme=dark] tbody tr:hover{background:#1b3a5e}html[data-theme=dark] .region-owner>div{background:#193a5f;border-color:#35577f}html[data-theme=dark] .region-card summary{color:#b9d9ff}html[data-theme=dark] .table-wrap{border-color:#35577f}html[data-theme=dark] .subnav a[aria-current]{background:#255aa4;color:#fff}
.map-status{white-space:pre-line;line-height:1.7;padding:12px 15px;background:var(--bg);border-block:1px solid var(--line);font-size:13px}.map-status.invalid{border-color:#ba5972}

/* Only the newest contextual job controls the button; terminal colours fade after 20s. */
.button.secondary.job-button,html[data-theme=dark] .button.secondary.job-button{background-color:#2866c9;background-image:linear-gradient(#ffffff22,#ffffff00);color:#fff;border-color:#75a8ef;transition:background-color 1s ease,border-color 1s ease;box-shadow:inset 0 1px 0 #ffffff44,0 3px 10px #153c7126}
.button.secondary.job-button.busy,html[data-theme=dark] .button.secondary.job-button.busy{background-color:#a65a09;border-color:#f4b660}
.button.secondary.job-button.failed,html[data-theme=dark] .button.secondary.job-button.failed{background-color:#a42e4e;border-color:#df8da4}
.button.secondary.job-button.succeeded,html[data-theme=dark] .button.secondary.job-button.succeeded{background-color:#187440;border-color:#73c79b}
@media(prefers-reduced-motion:reduce){.button.secondary.job-button{transition:none}}

.site-header{position:sticky;top:0;z-index:1000;box-shadow:0 4px 20px #153c7118}
html{scroll-padding-top:120px}#main{overflow-anchor:none}.prim-usage{font-variant-numeric:tabular-nums;white-space:nowrap}.region-prims{font-weight:600}.prim-usage+small{display:block;font-weight:400}
.cache-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}.cache-card h3{margin-top:0}.cache-card .cache-size{font-size:25px;font-weight:700;color:var(--accent)}.cache-card form{margin-top:15px}.cache-card small{display:block}.cache-protected{border-left:4px solid var(--accent)}

.admin-shell{max-width:1520px}.admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:26px;align-items:start}.admin-content{min-width:0}.admin-sidebar{position:sticky;top:calc(var(--portal-header-height,100px) + 18px);max-height:calc(100vh - var(--portal-header-height,100px) - 36px);overflow:auto;scrollbar-width:thin;border-radius:22px}.admin-sidebar .tabs{display:flex;flex-direction:column;gap:5px;margin:0;padding:12px;border:1px solid var(--line);border-radius:22px}.admin-sidebar .tabs a{display:block;width:100%;padding:11px 14px;white-space:normal;border-radius:14px;line-height:1.4;text-decoration:none}.admin-sidebar .tabs a[aria-current]{font-weight:700}.admin-menu>summary{display:none}.admin-content>.context-jobs:first-child{margin-top:0}.admin-content>.subnav:first-child{margin-top:0}
@media(max-width:860px){.admin-layout{grid-template-columns:minmax(0,1fr);gap:18px}.admin-sidebar{position:static;max-height:none;overflow:visible}.admin-menu{border:1px solid var(--line);border-radius:18px;background:var(--paper)}.admin-menu>summary{display:list-item;cursor:pointer;padding:12px 18px;font-weight:650;color:var(--ink)}.admin-sidebar .tabs{border:0;background:transparent;border-radius:0 0 18px 18px}.admin-menu:not([open])>nav{display:none}}
html[data-theme=dark] .admin-menu{background:#122d4e}

/* Equal overview cards; server information stays readable on small screens. */
.admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.admin-overview-grid>.card{min-width:0;height:100%;box-sizing:border-box}
.server-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:0 0 16px}
.server-metrics div{min-width:0}.server-metrics dt{font-size:.82rem;color:var(--muted)}
.server-metrics dd{margin:3px 0 0;font-weight:600;overflow-wrap:anywhere}
.server-services{display:flex;flex-wrap:wrap;gap:7px}.server-services .badge{font-size:.75rem}
@media(max-width:860px){.admin-overview-grid{grid-template-columns:minmax(0,1fr)}}

.server-section{margin-top:24px}.server-output{white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto;font-size:.85rem}.disk-root{margin:14px 0}.disk-node{margin:6px 0 6px 18px}.disk-node summary{display:list-item;overflow-wrap:anywhere}.disk-node strong{margin-left:12px}.backup-plan{padding:18px 0;border-bottom:1px solid var(--line)}.server-section label:has(input[type=checkbox]),.backup-plan label{display:block;margin:12px 0}.server-section input[type=checkbox],.backup-plan input[type=checkbox]{width:auto}.admin-content progress{width:100%;accent-color:#4b8aff}

.server-global-warning{position:sticky;top:var(--portal-header-height,0px);z-index:45;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px max(20px,calc((100vw - 1440px)/2));background:#fff0c2;color:#654500;border-block:1px solid #dca942;box-shadow:0 4px 15px #0002}.server-global-warning[hidden]{display:none}.server-global-warning.critical{background:#ffe5eb;color:#831f35;border-color:#db8297}.server-global-warning ul{padding-left:20px;margin:4px 0}.server-global-warning a{white-space:nowrap}.host-gauges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.host-gauge{min-width:0;margin:0;padding:18px;border:1px solid var(--line);border-radius:22px;text-align:center;background:linear-gradient(155deg,#78bdff18,#3779f112)}.host-gauge figcaption{font-weight:700;min-height:40px}.host-gauge svg{display:block;width:min(100%,230px);margin:auto;overflow:visible}.host-gauge path{fill:none;stroke-width:12;stroke-linecap:round}.gauge-track{stroke:#7195d938}.gauge-arc{stroke:#3989ff;stroke-dasharray:0 100;transition:stroke-dasharray .8s ease}.gauge-needle{stroke:#236bdc;stroke-width:3;transition:transform .8s ease}.host-gauge circle{fill:#3989ff}.host-gauge text{fill:var(--muted);font-size:10px}.host-gauge output{display:block;font-size:clamp(.9rem,1.7vw,1.35rem);font-weight:700;overflow-wrap:anywhere;min-height:30px}.host-gauge small{display:block;color:var(--muted);font-size:.75rem}.host-gauge.unknown svg{opacity:.4}.host-fingerprint{overflow-wrap:anywhere}.host-navigation{gap:6px}.host-navigation a{padding:9px 12px}[data-theme=dark] .server-global-warning{background:#493b15;color:#ffe6a2}[data-theme=dark] .server-global-warning.critical{background:#542535;color:#ffd4df}[data-theme=dark] .gauge-needle{stroke:#c5e6ff}.host-navigation+section{min-width:0}
@media(max-width:700px){.host-gauges{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.host-gauge{padding:12px 7px}.server-global-warning{position:relative;top:0;align-items:flex-start;flex-wrap:wrap}.host-gauge figcaption{font-size:.85rem}.host-gauge output{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.gauge-arc,.gauge-needle{transition:none}}

.host-navigation~.card .card-title{flex-wrap:wrap}.host-navigation~.card .card-title>form{max-width:100%}.host-navigation~.card h2{overflow-wrap:anywhere}

.server-global-warning ul{max-height:30vh;overflow:auto}@media(min-width:861px){.admin-sidebar{top:calc(var(--portal-header-height,100px) + var(--portal-warning-height,0px) + 18px);max-height:calc(100vh - var(--portal-header-height,100px) - var(--portal-warning-height,0px) - 36px)}}

/* Host console explanations and responsive confirmation / disk chart. */
.server-services{overflow:visible}.service-help{position:relative;cursor:help}.service-tooltip{display:none;position:absolute;z-index:70;left:0;top:calc(100% + 7px);width:260px;max-width:75vw;padding:12px;border:1px solid #dcc66e;border-radius:10px;background:#fff4bd;color:#352c12;box-shadow:0 6px 18px #0003;white-space:normal;font-weight:400;line-height:1.5;text-align:left}.service-help:hover .service-tooltip,.service-help:focus .service-tooltip{display:block}.service-help:focus-visible{outline:2px solid #e7cb53;outline-offset:3px}
label.server-confirmation,.server-section label.server-confirmation{display:flex;align-items:flex-start;gap:10px;margin:18px 0;width:100%;line-height:1.5}label.server-confirmation input[type=checkbox]{width:18px;height:18px;min-width:18px;flex:0 0 18px;margin:3px 0 0;padding:0}.server-confirmation + .button{display:inline-flex;max-width:100%;white-space:normal;margin:0 0 8px}.network-results{margin-top:24px}.disk-chart{margin:24px 0;padding:20px;border:1px solid #8aacf755;border-radius:18px}.disk-chart figcaption{font-weight:700;font-size:1.1rem}.disk-chart-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;margin:18px 0}.disk-chart-row>span{overflow-wrap:anywhere}.disk-chart-track{grid-column:1/-1;height:15px;border-radius:9px;background:#7ea7ef26;overflow:hidden}.disk-chart-track>div{height:100%;min-width:2px;border-radius:9px;background:linear-gradient(90deg,#6ac7ff,#4375ef);box-shadow:inset 0 1px 2px #ffffff80}@media(max-width:600px){.disk-chart{padding:12px}.service-tooltip{position:fixed;left:5vw;top:auto;width:90vw;max-width:90vw}.disk-chart-row{grid-template-columns:minmax(0,1fr)}.disk-chart-track{grid-column:1}.server-confirmation + .button{width:100%}}

.region-resources{display:flex;gap:10px;min-width:150px}.region-gauge{--resource-color:#35bca0;position:relative;display:flex;flex-direction:column;align-items:center;width:70px;padding:5px;border:1px solid #81a6dc55;border-radius:12px;background:var(--card,#edf5ff);color:var(--text,#183c70);transform-origin:center;z-index:1;transition:transform .18s,box-shadow .18s;cursor:help}.region-gauge.warm{--resource-color:#f1ac37}.region-gauge.hot{--resource-color:#ed5976}.region-gauge.unknown{--resource-color:#8c9bb2}.region-gauge-name{font-size:11px;font-weight:700}.region-gauge svg{width:62px;height:41px;overflow:visible}.region-gauge svg path{fill:none;stroke:#90a6c744;stroke-width:9;stroke-linecap:round}.region-gauge svg .region-gauge-fill{stroke:var(--resource-color)}.region-gauge svg line{stroke:var(--resource-color);stroke-width:3}.region-gauge svg circle{fill:var(--resource-color)}.region-gauge strong{font-size:11px;color:var(--resource-color)}.region-gauge-help{display:none;width:180px;font-size:10px;white-space:normal;line-height:1.4;text-align:center;margin-top:8px}.region-gauge:hover,.region-gauge:focus{transform:scale(1.55);z-index:30;box-shadow:0 6px 22px #0005;width:140px;margin-left:-35px;margin-right:-35px}.region-gauge:hover .region-gauge-help,.region-gauge:focus .region-gauge-help{display:block;width:130px}.region-gauge:focus-visible{outline:2px solid #f1d879}[data-theme=dark] .region-gauge{background:#18304d;color:#c0ddff}@media(prefers-reduced-motion:reduce){.region-gauge{transition:none}}

.region-gauge:first-child{transform-origin:left center}.region-gauge:last-child{transform-origin:right center}.region-gauge:first-child:hover,.region-gauge:first-child:focus{margin-left:0;margin-right:-70px}.region-gauge:last-child:hover,.region-gauge:last-child:focus{margin-left:-70px;margin-right:0}
