:root{--bg:#0f1115;--panel:#171a21;--line:#262b36;--fg:#e6e9ef;--muted:#8b93a3;--accent:#6ea8fe;--danger:#e5534b;--danger-hard:#b8322b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.wrap{max-width:1000px;margin:0 auto;padding:24px 20px}.wrap.center{min-height:100vh;display:grid;place-items:center}.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.brand{font-weight:600;letter-spacing:.2px}.brand em{color:var(--accent);font-style:normal}.brand small{font-weight:500;margin-left:4px}.brand small,.muted{color:var(--muted)}.count{margin:0 0 14px}.err{color:var(--danger);background:rgba(229,83,75,.1);border:1px solid rgba(229,83,75,.35);padding:8px 10px;border-radius:6px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:22px}.card.login{width:320px;display:flex;flex-direction:column;gap:12px}.card.login p{margin:0}input{background:#0c0e12;border:1px solid var(--line);color:var(--fg);border-radius:6px;padding:9px 11px;font:inherit;width:100%}input:focus{outline:none;border-color:var(--accent)}.btn{background:var(--accent);color:#06122b;border:0;border-radius:6px;padding:8px 12px;font:inherit;font-weight:600;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn.danger{background:transparent;color:var(--danger);border:1px solid rgba(229,83,75,.5)}.btn.danger-hard{background:var(--danger-hard);color:#fff}.link{background:none;border:0;color:var(--muted);cursor:pointer;font:inherit;text-decoration:underline}.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}table.cells{width:100%;border-collapse:collapse;min-width:720px}table.cells td,table.cells th{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}table.cells th{color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.4px}table.cells tr:last-child td{border-bottom:0}table.cells tr.busy{opacity:.5}.actions{display:flex;gap:8px;white-space:nowrap}.state{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);text-transform:lowercase}.state.active{color:#58c98a;border-color:rgba(88,201,138,.4)}.state.provisioning{color:#e0b341;border-color:rgba(224,179,65,.4)}.state.error{color:var(--danger);border-color:rgba(229,83,75,.4)}