:root{--bg:#0f1218;--surface:#171b24;--surface-2:#1e232e;--border:#2a3140;--text:#e7eaf0;--muted:#8a93a6;--faint:#5a6276;--brand:#5aa9ff;--brand-dim:#3d6fb0;--ok:#4ec98a;--warn:#e2b24a;--danger:#e5634d;--gun:#252a36}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Arial,sans-serif;font-size:14px}a{color:var(--brand);text-decoration:none}code,.mono{font-family:JetBrains Mono,monospace}.topbar{background:var(--gun);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:22px;padding:0 20px;height:54px;position:sticky;top:0;z-index:10}.topbar .brand{font-weight:700;font-size:16px;letter-spacing:.02em;display:flex;align-items:center;gap:8px}.topbar .brand .dot{width:18px;height:18px;border-radius:5px;background:var(--brand);display:inline-block}.topbar nav{display:flex;gap:4px}.topbar nav a{color:var(--muted);padding:8px 12px;border-radius:7px;font-weight:500}.topbar nav a.router-link-active{color:var(--text);background:var(--surface-2)}.topbar .spacer{flex:1}.topbar .who{color:var(--muted);font-size:13px}.wrap{max-width:1060px;margin:0 auto;padding:24px 20px 64px}.page-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.page-head h1{font-size:20px;margin:0;font-weight:700}.page-head p{margin:2px 0 0;color:var(--muted);font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px}.card+.card{margin-top:16px}button,.btn{background:var(--brand);color:#061018;border:0;border-radius:8px;padding:9px 15px;font-size:13px;font-weight:600;cursor:pointer}button.ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}button.danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}button:disabled{opacity:.5;cursor:default}input,select,textarea{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:9px 11px;font-size:13px;width:100%;font-family:inherit}textarea{resize:vertical}label.fld{display:block;font-size:12px;color:var(--muted);margin:0 0 5px;font-weight:500}.row{display:flex;gap:12px;align-items:center}.row.wrap{flex-wrap:wrap}.grow{flex:1}table.grid{width:100%;border-collapse:collapse}table.grid th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);padding:8px 10px;border-bottom:1px solid var(--border)}table.grid td{padding:10px;border-bottom:1px solid var(--border);font-size:13px}table.grid tr:hover td{background:var(--surface-2)}.chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.chip.ok{color:var(--ok);border-color:#245c45}.chip.warn{color:var(--warn);border-color:#5e4e22}.muted{color:var(--muted)}.faint{color:var(--faint)}.pill-btn{padding:3px 9px;font-size:11px;border-radius:6px}.empty{text-align:center;color:var(--faint);padding:40px 0}
