:root{--bg:#fbfaf8;--surface:#fff;--surface-sunken:#f4f2ed;--text:#1a1a18;--text-muted:#6b6a65;--border:#e5e3dd;--border-strong:#d4d1c8;--danger-bg:#fbeceb;--danger-fg:#9a2f26;--warning-bg:#fbf1de;--warning-fg:#8a5a10;--success-bg:#e8f2e6;--success-fg:#2f6a34;--accent-bg:#e9eefb;--accent-fg:#2b4d94;--radius:8px;--radius-lg:12px}@media (prefers-color-scheme:dark){:root{--bg:#161614;--surface:#1f1e1b;--surface-sunken:#262521;--text:#f0eee9;--text-muted:#a3a099;--border:#33312c;--border-strong:#46443d;--danger-bg:#3a1f1c;--danger-fg:#f0a49b;--warning-bg:#3a2e18;--warning-fg:#e8bf78;--success-bg:#1e3320;--success-fg:#9ed3a2;--accent-bg:#1e2a45;--accent-fg:#a8c2f0}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.6}a{color:inherit}.shell{max-width:940px;margin:0 auto;padding:2rem 1.5rem 4rem}.nav{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:2rem;padding-bottom:1rem;display:flex}.nav a{border-radius:var(--radius);color:var(--text-muted);padding:6px 12px;font-size:14px;text-decoration:none}.nav a:hover{background:var(--surface-sunken);color:var(--text)}.nav a.active{background:var(--surface);border:1px solid var(--border);color:var(--text)}.nav .spacer{flex:1}h1{margin:0;font-size:22px;font-weight:500}h2{margin:0;font-size:17px;font-weight:500}.muted{color:var(--text-muted)}.small{font-size:13px}.metrics{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:1.5rem 0;display:grid}.metric{border-radius:var(--radius);background:var(--surface-sunken);padding:.875rem 1rem}.metric .label{margin:0;font-size:13px}.metric .value{margin:2px 0 0;font-size:24px;font-weight:500}.metric.danger{background:var(--danger-bg)}.metric.danger .label,.metric.danger .value{color:var(--danger-fg)}.metric.warning{background:var(--warning-bg)}.metric.warning .label,.metric.warning .value{color:var(--warning-fg)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.row{border-top:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;display:flex}.row:first-of-type{border-top:none}.row .grow{flex:1;min-width:0}.pill{border-radius:var(--radius);white-space:nowrap;padding:2px 8px;font-size:11px;display:inline-block}.pill.danger{background:var(--danger-bg);color:var(--danger-fg)}.pill.warning{background:var(--warning-bg);color:var(--warning-fg)}.pill.success{background:var(--success-bg);color:var(--success-fg)}.pill.accent{background:var(--accent-bg);color:var(--accent-fg)}.pill.neutral{background:var(--surface-sunken);color:var(--text-muted)}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot.danger{background:#c4453a}.dot.warning{background:#d08c1f}.dot.success{background:#4a8b4f}.dot.neutral{background:var(--border-strong)}button,.btn{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;padding:7px 14px;font-size:14px;text-decoration:none;display:inline-block}button:hover,.btn:hover{background:var(--surface-sunken)}button.link{color:var(--text-muted);background:0 0;border:none;padding:2px 6px;font-size:13px}button.link:hover{color:var(--text);background:var(--surface-sunken)}input,select,textarea{font:inherit;width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:8px 10px;font-size:14px}textarea{resize:vertical;min-height:80px}label{color:var(--text-muted);margin-bottom:4px;font-size:13px;display:block}.field{margin-bottom:12px}.fields-2{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.empty{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:14px}.bar-track{background:var(--surface-sunken);border-radius:3px;height:6px;position:relative;overflow:hidden}.bar-fill{border-radius:3px;position:absolute;top:0;bottom:0}
