:root{--bg:#f5f6f8;--surface:#fff;--border:#e3e6ea;--text:#1c2430;--muted:#6b7683;--accent:#2f6feb;--accent-soft:#eaf1fe;--danger:#d64545;--ok:#2e9e5b;--sidebar:#16202e;--sidebar-text:#c4cdd8;--sidebar-active:#2f6feb;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0f1520;--surface:#18212f;--border:#26303f;--text:#e7ecf2;--muted:#8a94a2;--accent-soft:#1d2c46;--sidebar:#0b111a}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--accent);text-decoration:none}.login-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:360px;padding:32px;box-shadow:0 10px 40px #00000014}.login-card h1{margin:0 0 4px;font-size:20px}.login-card p{color:var(--muted);margin:0 0 24px;font-size:14px}.field{margin-bottom:16px}.field label{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.field input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-size:14px}.field input:focus{outline:2px solid var(--accent);border-color:#0000}.field select{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-size:14px}.link-danger{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}button.primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:11px;font-size:14px;font-weight:600}button.primary:disabled{opacity:.6;cursor:default}.error{color:var(--danger);margin-top:12px;font-size:13px}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:var(--sidebar-text);flex-direction:column;padding:20px 12px;display:flex}.brand{color:#fff;padding:8px 12px 20px;font-size:16px;font-weight:700}.brand span{color:var(--accent)}.nav a{color:var(--sidebar-text);border-radius:8px;margin-bottom:2px;padding:10px 12px;font-size:14px;display:block}.nav a:hover{background:#ffffff0f}.nav a.active{background:var(--sidebar-active);color:#fff}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex}.topbar .who{color:var(--muted);font-size:14px}.topbar .who b{color:var(--text)}.topbar button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:7px 14px;font-size:13px}.content{padding:28px;overflow:auto}h2.page-title{margin:0 0 20px;font-size:22px}.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px}.card .label{color:var(--muted);font-size:13px}.card .value{margin-top:6px;font-size:26px;font-weight:700}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:18px;padding:20px}.panel h3{margin:0 0 12px;font-size:15px}pre.output{background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;border-radius:8px;margin:0;padding:14px;font-family:SF Mono,Menlo,monospace;font-size:13px}.badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 10px;font-size:12px;display:inline-block}.muted{color:var(--muted);font-size:14px}.problems{border-left:3px solid var(--danger);padding-left:12px}.problems li{margin:4px 0;font-size:13px}table.grid{border-collapse:collapse;width:100%;font-size:14px}table.grid th,table.grid td{text-align:left;border-bottom:1px solid var(--border);padding:9px 12px}table.grid th{color:var(--muted);font-size:13px;font-weight:600}table.grid td{font-variant-numeric:tabular-nums}
