:root{--bg:#f6f7f9;--panel:#fff;--ink:#12202f;--muted:#5b6b7c;--line:#e1e6ec;--accent:#1f6f4a;--accent-ink:#fff;--accent-soft:#e6f2ec;--warn:#8a5a00;--warn-soft:#fdf3e1;--bad:#a3271f;--bad-soft:#fbe9e7;--link:#1b5fa8;--mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f151c;--panel:#161e27;--ink:#e6edf4;--muted:#93a3b4;--line:#26323f;--accent:#3fae7c;--accent-ink:#08130d;--accent-soft:#15301f;--warn:#e0b45c;--warn-soft:#33270f;--bad:#f08a80;--bad-soft:#3a1714;--link:#7fb4f0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 4px;font-size:22px;line-height:1.25}h2{margin:0;font-size:15px}.mono{font-family:var(--mono);font-size:13px}.muted{color:var(--muted)}.small{font-size:12px}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.topbar{z-index:10;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 20px;display:flex;position:sticky;top:0}.brand{color:var(--ink);white-space:nowrap;font-weight:700}.brand span{color:var(--accent)}.topbar nav{gap:14px;display:flex}.topbar nav a{color:var(--muted);font-weight:600}.topbar .right{align-items:center;gap:12px;margin-left:auto;display:flex}.search{flex:320px;gap:6px;max-width:560px;display:flex}.search input{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--ink);font:inherit;border-radius:6px;flex:1;padding:8px 10px}.search.big input{padding:12px 14px;font-size:16px}button,.btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:7px 12px;font-weight:600;display:inline-flex}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button:disabled{opacity:.6;cursor:default}main{max-width:1200px;margin:0 auto;padding:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px}.panel>header{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding:12px 16px;display:flex}.panel>header .count{color:var(--muted);font-size:12px}.panel>.body{padding:12px 16px}.empty{color:var(--muted);padding:16px}.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:16px 0;display:grid}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.stat .label{color:var(--muted);font-size:12px;font-weight:600}.stat .value{font-variant-numeric:tabular-nums;margin:2px 0;font-size:22px;font-weight:700}.stat .sub{color:var(--muted);font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:7px 10px}th{color:var(--muted);white-space:nowrap;background:var(--panel);font-size:12px;font-weight:600}tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--bg)}.badge{background:var(--bg);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:12px;font-weight:700;display:inline-block}.badge.good{background:var(--accent-soft);color:var(--accent);border-color:#0000}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.badge.bad{background:var(--bad-soft);color:var(--bad);border-color:#0000}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:900px){.grid2{grid-template-columns:1fr}}.notice{border-radius:var(--radius);background:var(--warn-soft);color:var(--warn);margin-bottom:16px;padding:12px 16px}.login{max-width:420px;margin:80px auto}.login input{border:1px solid var(--line);width:100%;font:inherit;background:var(--bg);color:var(--ink);border-radius:6px;margin:8px 0 12px;padding:10px 12px}.filters{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.filters label{color:var(--muted);gap:4px;font-size:12px;font-weight:600;display:grid}.filters input,.filters select{border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;border-radius:6px;padding:6px 8px}.spark{width:100%;height:auto;display:block}
