:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#101419;--color-surface:#161b22;--color-surface-raised:#1c232c;--color-on-surface:#e6ebf0;--color-on-surface-muted:#8b97a5;--color-outline:#29323d;--color-outline-strong:#3a4653;--color-accent:oklch(78% .14 75);--color-accent-dim:oklch(78% .14 75/.14);--color-on-accent:#1a1408;--color-success:#4ade80;--color-warning:oklch(78% .14 75);--color-danger:#f87171;--color-danger-dim:#f871711f;--font-ui:"Hanken Grotesk", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-control:2px;--radius-card:6px;--radius-sheet:10px;--shadow-1:0 1px 2px #0006, 0 1px 1px #0000004d;--shadow-2:0 6px 18px #00000073, 0 2px 4px #00000059;--ease-out:cubic-bezier(.2, .8, .2, 1);--dur-fast:.14s;--dur-mid:.26s}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-on-surface);font-family:var(--font-ui);background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:48px 48px;margin:0;font-size:15px;line-height:1.55}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-control)}button{font:inherit;cursor:pointer;border:1px solid var(--color-outline-strong);background:var(--color-surface-raised);color:var(--color-on-surface);border-radius:var(--radius-control);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);padding:6px 14px}button:hover:not(:disabled){background:#232c37;border-color:#4a5866}button:active:not(:disabled){background:#2a3441}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);font-weight:600}.btn-primary:hover:not(:disabled){background:oklch(84% .14 75);border-color:oklch(84% .14 75)}.btn-primary:active:not(:disabled){background:oklch(72% .14 75)}.btn-danger{color:var(--color-danger);border-color:#f8717166}.btn-danger:hover:not(:disabled){background:var(--color-danger-dim);border-color:var(--color-danger)}input,select{font:inherit;background:var(--color-bg);color:var(--color-on-surface);border:1px solid var(--color-outline-strong);border-radius:var(--radius-control);width:100%;padding:8px 10px;font-size:16px}input::placeholder{color:#5a6673}label{margin-bottom:var(--space-1);color:var(--color-on-surface-muted);font-size:13px;font-weight:600;display:block}.shell{flex-direction:column;min-height:100%;display:flex}.topbar{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--color-outline);background:var(--color-surface);display:flex}.wordmark{font-family:var(--font-mono);letter-spacing:-.02em;font-size:16px;font-weight:600}.wordmark .tld{color:var(--color-accent)}.topbar .host-id{color:var(--color-on-surface-muted);font-size:13px}.topbar .spacer{flex:1}.main{gap:var(--space-6);padding:var(--space-6);grid-template-columns:minmax(0,1fr) 320px;align-items:start;width:100%;max-width:1280px;margin:0 auto;display:grid}@media (width<=900px){.main{grid-template-columns:1fr}}.card{background:var(--color-surface);border:1px solid var(--color-outline);border-radius:var(--radius-card);box-shadow:var(--shadow-1)}.card>h2{padding:var(--space-3) var(--space-4);text-transform:uppercase;letter-spacing:.08em;color:var(--color-on-surface-muted);border-bottom:1px solid var(--color-outline);margin:0;font-size:13px;font-weight:800}.fleet-table{border-collapse:collapse;width:100%}.fleet-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--color-on-surface-muted);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-outline);font-size:12px;font-weight:600}.fleet-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-outline)}.fleet-table tr:last-child td{border-bottom:none}.fleet-table .num,.fleet-table th.num{text-align:right}.vps-name{font-weight:600}.vps-ip{color:var(--color-on-surface-muted);font-size:13px}.status-dot{vertical-align:baseline;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.status{white-space:nowrap;font-size:13px}.status.running .status-dot{background:var(--color-success);box-shadow:0 0 6px #4ade8080}.status.stopped .status-dot{background:#5a6673}.status.provisioning .status-dot{background:var(--color-accent)}.status.error .status-dot{background:var(--color-danger)}.row-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.row-actions button{padding:4px 10px;font-size:13px}.meter{background:var(--color-outline);border-radius:999px;min-width:72px;height:4px;overflow:hidden}.meter>span{background:var(--color-accent);height:100%;transition:width var(--dur-mid) var(--ease-out);display:block}.meter.hot>span{background:var(--color-danger)}.meter-label{color:var(--color-on-surface-muted);margin-top:2px;font-size:12px}.empty-state{padding:var(--space-12) var(--space-6);text-align:center;color:var(--color-on-surface-muted)}.empty-state strong{color:var(--color-on-surface);margin-bottom:var(--space-2);display:block}.skeleton-row td>div{border-radius:var(--radius-control);background:linear-gradient(90deg, var(--color-outline) 25%, var(--color-surface-raised) 50%, var(--color-outline) 75%);background-size:200% 100%;height:14px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.pool-rail{gap:var(--space-2);padding:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(64px,1fr));display:grid}.pool-slot{border:1px solid var(--color-outline);border-radius:var(--radius-control);padding:var(--space-2) var(--space-1);text-align:center;background:var(--color-bg);transition:border-color var(--dur-mid) var(--ease-out), background-color var(--dur-mid) var(--ease-out)}.pool-slot .octet{font-family:var(--font-mono);color:#5a6673;font-size:14px;font-weight:600}.pool-slot .tenant{text-overflow:ellipsis;white-space:nowrap;color:var(--color-on-surface-muted);margin-top:2px;font-size:10px;overflow:hidden}.pool-slot.lit{background:var(--color-accent-dim);border-color:oklch(78% .14 75/.55)}.pool-slot.lit .octet{color:var(--color-accent);text-shadow:0 0 10px oklch(78% .14 75/.45)}.pool-legend{padding:0 var(--space-4) var(--space-3);color:var(--color-on-surface-muted);font-size:12px}.host-gauges{padding:var(--space-4);gap:var(--space-4);display:grid}.gauge .gauge-head{margin-bottom:var(--space-1);justify-content:space-between;font-size:13px;display:flex}.gauge .gauge-head .val{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ratio-note{color:var(--color-on-surface-muted);font-size:12px}.ratio-note .over{color:var(--color-accent);font-weight:600}.create-form{padding:var(--space-4);gap:var(--space-4);display:grid}.size-picker{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.size-option{position:relative}.size-option input{opacity:0;width:auto;position:absolute;inset:0}.size-option .size-card{text-align:center;padding:var(--space-2);border:1px solid var(--color-outline-strong);border-radius:var(--radius-control);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);display:block}.size-option input:checked+.size-card{border-color:var(--color-accent);background:var(--color-accent-dim)}.size-option input:focus-visible+.size-card{outline:2px solid var(--color-accent);outline-offset:2px}.size-card .size-name{font-size:14px;font-weight:600;display:block}.size-card .size-spec{font-family:var(--font-mono);color:var(--color-on-surface-muted);margin-top:2px;font-size:11px;display:block}.form-error{color:var(--color-danger);font-size:13px}.login-wrap{min-height:100%;padding:var(--space-6);place-items:center;display:grid}.login-card{background:var(--color-surface);border:1px solid var(--color-outline);border-radius:var(--radius-sheet);width:min(360px,100%);box-shadow:var(--shadow-2);padding:var(--space-8);gap:var(--space-4);display:grid}.login-card .wordmark{font-size:22px}.login-sub{color:var(--color-on-surface-muted);margin:0;font-size:13px}.banner-error{margin:var(--space-4) var(--space-6) 0;background:var(--color-danger-dim);width:calc(100% - 48px);max-width:1280px;color:var(--color-danger);border-radius:var(--radius-card);padding:var(--space-2) var(--space-4);border:1px solid #f8717166;margin-inline:auto;font-size:13px}.confirm-dialog{background:var(--color-surface);color:var(--color-on-surface);border:1px solid var(--color-outline-strong);border-radius:var(--radius-sheet);box-shadow:var(--shadow-2);padding:var(--space-6);max-width:420px;font-family:var(--font-ui)}.confirm-dialog::backdrop{background:#0009}.confirm-dialog h2{margin:0 0 var(--space-2);font-size:17px}.confirm-dialog p{margin:0 0 var(--space-6);color:var(--color-on-surface-muted);font-size:14px}.confirm-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
