:root{--ground:#f4f6f8;--surface:#fff;--surface-alt:#eaeef3;--ink:#131820;--ink-soft:#59636f;--ink-faint:#8a939f;--rule:#d8dee6;--accent:#1b5a87;--accent-hover:#14486d;--danger:#98292b;--danger-soft:#fae7e7;--ok:#1b6046;--ok-soft:#e0f0e8;--mono:"Cascadia Mono", ui-monospace, Consolas, monospace}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);margin:0;font:15px/1.55 Segoe UI,system-ui,-apple-system,sans-serif}.shell{min-height:100vh;display:flex}.sidebar{color:#c9d2de;background:#131820;flex-direction:column;flex:none;width:210px;padding:20px 0;display:flex}.brand{letter-spacing:.14em;color:#fff;border-bottom:1px solid #262e3a;padding:0 20px 18px;font-size:19px;font-weight:700}.brand small{letter-spacing:.2em;color:#6b7686;font-size:10px;font-weight:600;display:block}.nav{flex-direction:column;flex:1;gap:2px;padding:14px 10px;display:flex}.nav a{color:#c9d2de;border-radius:6px;padding:9px 12px;font-size:14px;text-decoration:none}.nav a:hover{background:#1d242e}.nav a.active{background:var(--accent);color:#fff;font-weight:600}.whoami{color:#6b7686;border-top:1px solid #262e3a;padding:14px 20px;font-size:12px}.whoami strong{color:#c9d2de;font-size:13px;display:block}.whoami button{color:#98a3b2;cursor:pointer;background:0 0;border:1px solid #38424f;border-radius:5px;margin-top:8px;padding:4px 10px;font-size:12px}.whoami button:hover{color:#fff;border-color:#98a3b2}.main{flex:1;max-width:1060px;padding:28px 36px}h1{margin:0 0 4px;font-size:24px}.sub{color:var(--ink-soft);margin:0 0 24px;font-size:14px}.stat-row{flex-wrap:wrap;gap:14px;margin-bottom:28px;display:flex}.stat{background:var(--surface);border:1px solid var(--rule);border-radius:8px;min-width:130px;padding:14px 20px}.stat .n{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.stat .l{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);border-bottom:1px solid var(--rule);background:var(--surface-alt);padding:10px 14px;font-size:11px}td{border-bottom:1px solid var(--rule);vertical-align:top;padding:10px 14px}tr:last-child td{border-bottom:none}td.mono,.mono{font-family:var(--mono);font-size:13px}.empty{text-align:center;color:var(--ink-faint);padding:32px}.form-card{background:var(--surface);border:1px solid var(--rule);border-radius:8px;max-width:560px;margin-bottom:22px;padding:20px}.form-card h2{margin:0 0 14px;font-size:16px}.field{margin-bottom:12px}.field label{margin-bottom:4px;font-size:13px;font-weight:600;display:block}.field input,.field select{border:1px solid var(--rule);width:100%;font:inherit;background:var(--surface);color:var(--ink);border-radius:6px;padding:8px 10px}.field input:focus,.field select:focus{outline:2px solid var(--accent);border-color:var(--accent)}.row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}button.primary{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:6px;padding:9px 18px;font-weight:600}button.primary:hover{background:var(--accent-hover)}button.primary:disabled{opacity:.6;cursor:default}.msg-error{background:var(--danger-soft);color:var(--danger);border-radius:6px;margin-bottom:14px;padding:10px 14px;font-size:14px}.msg-ok{background:var(--ok-soft);color:var(--ok);border-radius:6px;margin-bottom:14px;padding:10px 14px;font-size:14px}.badge{background:var(--surface-alt);color:var(--ink-soft);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{color:#8a5200;background:#fbf0dc}.login-wrap{background:#131820;place-items:center;min-height:100vh;display:grid}.login-card{background:var(--surface);border-radius:10px;width:360px;padding:34px}.login-card .brand2{letter-spacing:.14em;margin-bottom:2px;font-size:24px;font-weight:700}.login-card .tag{color:var(--ink-faint);letter-spacing:.18em;text-transform:uppercase;margin-bottom:24px;font-size:11px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.toolbar .filters{gap:8px;display:flex}.toolbar input{border:1px solid var(--rule);font:inherit;border-radius:6px;padding:7px 10px}
