:root{--bg: #f5f6f8;--surface: #ffffff;--text: #14171f;--muted: #5d6474;--border: #e1e4ea;--accent: #2f4bd8;--accent-text: #ffffff;--danger: #c0262d;--radius: 10px;color-scheme:light;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}@media(prefers-color-scheme:dark){:root{--bg: #0f1116;--surface: #171a21;--text: #e8eaf0;--muted: #9aa1b2;--border: #2a2f3a;--accent: #6c84ff;--accent-text: #0f1116;--danger: #ff6b6b;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg)}h1{font-size:1.5rem;margin:0 0 .25rem;letter-spacing:-.01em}.muted{color:var(--muted);font-size:.9rem}.brand{display:flex;align-items:center;gap:.6rem;font-weight:650}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--accent);color:var(--accent-text);font-size:.8rem;letter-spacing:.02em}.auth-page{min-height:100vh;display:grid;place-items:center;padding:16px}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:32px 28px}.auth-card .brand{margin-bottom:28px}.auth-card>.muted{margin:0 0 24px}.form{display:grid;gap:14px}.form label{display:grid;gap:6px;font-size:.875rem;font-weight:550}.form input{font:inherit;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text)}.form input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.error{color:var(--danger);font-size:.875rem;margin:0}.btn{font:inherit;font-weight:600;border-radius:8px;padding:10px 14px;cursor:pointer;border:1px solid transparent}.btn.primary{background:var(--accent);color:var(--accent-text)}.btn.primary:disabled{opacity:.6;cursor:default}.btn.ghost{background:transparent;border-color:var(--border);color:var(--text);width:100%}.btn:active:not(:disabled){transform:scale(.98)}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:20px 16px;display:flex;flex-direction:column;gap:24px}.sidebar nav{display:grid;gap:2px}.sidebar nav a{color:var(--muted);text-decoration:none;padding:8px 10px;border-radius:8px;font-weight:550}.sidebar nav a:hover{color:var(--text);background:var(--bg)}.sidebar nav a.active{color:var(--text);background:var(--bg)}.sidebar-foot{margin-top:auto;display:grid;gap:12px}.who{display:grid;gap:2px;font-size:.875rem;overflow-wrap:anywhere}.content{padding:32px;min-width:0}.page-head{margin-bottom:24px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:grid;gap:6px}.stat{font-size:1.75rem;font-variant-numeric:tabular-nums}.details{grid-template-columns:max-content 1fr;column-gap:24px;max-width:520px;margin:0}.details dt{color:var(--muted)}.details dd{margin:0;overflow-wrap:anywhere}.splash{min-height:100vh;display:grid;place-items:center}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}.spinner.small{width:20px;height:20px;margin:12px auto}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:720px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);padding:12px 16px;gap:12px}.sidebar nav{grid-auto-flow:column;justify-content:start}.sidebar-foot{margin-top:0;grid-template-columns:1fr auto;align-items:center}.sidebar-foot .btn{width:auto}.content{padding:20px 16px}}
