:root{--bg:#ffffff;--fg:#111318;--muted:#5f6673;--border:#e3e6ea;--surface:#f6f7f9;--accent:#2457f5;--accent-fg:#ffffff;--ok:#1d7f4b;--warn:#b26a00;--err:#c8322b;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--fg:#e8eaee;--muted:#9aa3b2;--border:#262b33;--surface:#171a20;--accent:#6f8fff;--accent-fg:#0f1115;--ok:#4cc38a;--warn:#e0a243;--err:#ef7a72}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent)}h1{font-size:1.5rem;margin:0 0 16px}h2{font-size:1.1rem;margin:24px 0 8px}main{max-width:1100px;margin:0 auto;padding:24px 16px}.muted{color:var(--muted)}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.topbar .logo{font-weight:700;letter-spacing:.02em;color:var(--fg);text-decoration:none}.topbar nav{display:flex;flex-wrap:wrap;gap:4px;flex:1 1}.topbar nav a{padding:4px 10px;border-radius:6px;color:var(--muted);text-decoration:none}.topbar nav a:hover{color:var(--fg)}.topbar nav a[aria-current=page]{color:var(--fg);background:var(--border)}.topbar form{display:flex;align-items:center;gap:8px;margin:0}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{text-transform:uppercase;letter-spacing:.04em}.badge,th{font-size:.8rem;font-weight:600;color:var(--muted)}.badge{display:inline-block;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--muted) 15%,transparent)}.badge.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 15%,transparent)}.badge.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 15%,transparent)}.badge.err{color:var(--err);background:color-mix(in srgb,var(--err) 15%,transparent)}.badge.muted{color:var(--muted)}.btn,button{font:inherit;padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--fg);cursor:pointer}.btn:hover,button:hover{border-color:var(--muted)}.btn.primary,button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.danger,button.danger{color:var(--err);border-color:var(--err)}button:disabled{opacity:.6;cursor:default}input[type=password],input[type=text],select{font:inherit;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.form-grid{display:grid;grid-template-columns:max-content 1fr;grid-gap:12px 16px;gap:12px 16px;align-items:center;max-width:640px}.form-grid label{font-weight:600}.form-grid .hint{grid-column:2;margin-top:-8px;font-size:.85rem;color:var(--muted)}.form-grid .actions{grid-column:2;display:flex;align-items:center;gap:12px}@media (max-width:560px){.form-grid{grid-template-columns:1fr}.form-grid .actions,.form-grid .hint{grid-column:1}}.notice{padding:10px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.notice.err{border-color:var(--err);color:var(--err)}.notice.ok{border-color:var(--ok);color:var(--ok)}.login{max-width:360px;margin:12vh auto 0;padding:24px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.login form{display:grid;grid-gap:12px;gap:12px}