:root{--bg:#f6f7f9;--surface:#fff;--text:#16181d;--muted:#5f6672;--border:#e3e6eb;--accent:#5b4cdb;--accent-soft:#ecebfd;--good:#137a4b;--good-soft:#e3f5ec;--warn:#9a5b00;--warn-soft:#fdf1dc;--bad:#b42318;--bad-soft:#fde8e6;--radius:10px;--scroll-shadow:#1018282e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1115;--surface:#171a20;--text:#e8eaee;--muted:#9aa2ae;--border:#2a2f38;--accent:#a59cff;--accent-soft:#26233f;--good:#5fd39b;--good-soft:#13281f;--warn:#f0b85a;--warn-soft:#2d2412;--bad:#ff8a80;--bad-soft:#321816;--scroll-shadow:#00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1115;--surface:#171a20;--text:#e8eaee;--muted:#9aa2ae;--border:#2a2f38;--accent:#a59cff;--accent-soft:#26233f;--good:#5fd39b;--good-soft:#13281f;--warn:#f0b85a;--warn-soft:#2d2412;--bad:#ff8a80;--bad-soft:#321816;--scroll-shadow:#00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:12px 24px;display:flex}.topbar .brand{color:var(--text);font-weight:650}.topbar nav{gap:16px;display:flex}.theme-toggle{border:1px solid var(--border);border-radius:8px;margin-left:auto;display:flex;overflow:hidden}.theme-toggle button{background:var(--bg);color:var(--muted);border:0;border-right:1px solid var(--border);border-radius:0;padding:5px 10px;line-height:1}.theme-toggle button:last-child{border-right:0}.theme-toggle button:hover:not([data-active=true]){background:var(--accent-soft);color:var(--text)}.theme-toggle button[data-active=true]{background:var(--accent);color:#fff}.logout-button{background:var(--bg);color:var(--muted);border:1px solid var(--border);border-radius:8px;padding:5px 10px}.logout-button:hover{background:var(--bad-soft);color:var(--bad);border-color:var(--bad-soft)}main{max-width:1200px;margin:0 auto;padding:24px}.login-wrap{justify-content:center;align-items:center;min-height:calc(100vh - 53px);display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;width:100%;max-width:320px;padding:32px;display:flex}.login-card h1{font-size:18px}.login-card label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.login-card input{width:100%}.login-card button{padding:8px 12px}.login-error{background:var(--bad-soft);color:var(--bad);border-radius:8px;margin:0;padding:8px 10px;font-size:13px}h1{margin:0 0 4px;font-size:22px}h2{margin:28px 0 10px;scroll-margin-top:16px;font-size:16px}.jump-nav{gap:16px;margin:16px 0 0;display:flex}.jump-nav a{color:var(--muted);font-size:13px;font-weight:600}.jump-nav a:hover{color:var(--accent);text-decoration:none}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.sub{color:var(--muted);margin:0 0 20px}.kpis{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.kpi .label{color:var(--muted);font-size:12px}.kpi .value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:650}.kpi .hint{color:var(--muted);font-size:12px}.kpi .value.bad{color:var(--bad)}.card{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);background-image:linear-gradient(to right,var(--surface)30%,transparent),linear-gradient(to left,var(--surface)30%,transparent),linear-gradient(to right,var(--scroll-shadow),transparent),linear-gradient(to left,var(--scroll-shadow),transparent);background-position:0,100%,0,100%;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 12px}th{color:var(--muted);background:var(--surface);font-size:12px;font-weight:600}thead th{z-index:1;box-shadow:0 1px 0 var(--border);position:sticky;top:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:color-mix(in srgb,var(--accent-soft)40%,transparent)}tr.row-link{cursor:pointer;position:relative}tr.row-link .stretched-link:after{content:"";position:absolute;inset:0}th .sort-link{text-align:inherit;color:var(--muted);margin:-9px -12px;padding:9px 12px;display:block}th .sort-link:hover{background:var(--accent-soft);color:var(--text);text-decoration:none}th .sort-link.active{color:var(--accent)}.sort-arrow{margin-left:4px;font-size:9px}.pager{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.pager-links{align-items:center;gap:12px;display:flex}.pager-links .disabled{color:var(--border)}.badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:550;display:inline-block}.badge.good{background:var(--good-soft);color:var(--good)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.muted{background:var(--bg);color:var(--muted)}.muted{color:var(--muted)}.reason-code{background:var(--bg);border:1px solid var(--border);color:var(--muted);border-radius:6px;padding:1px 6px;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.empty{text-align:center;color:var(--muted);padding:32px}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.filters a{border:1px solid var(--border);color:var(--muted);background:var(--surface);border-radius:999px;padding:4px 10px}.filters a.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.circle-search{align-items:center;gap:6px;margin-left:auto;display:flex}.circle-search input{width:220px}.circle-search a{color:var(--muted);padding:4px 10px;font-size:13px}input,button{font:inherit}input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;width:160px;padding:5px 10px}button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:5px 12px}.chart{padding:12px 16px}.chart svg{width:100%;height:140px;display:block}.chart .line{fill:none;stroke:var(--accent);stroke-width:2px}.chart .area{fill:var(--accent-soft)}.chart .axis{stroke:var(--border)}.chart text{fill:var(--muted);font-size:11px}.skeleton{background:linear-gradient(90deg,var(--border)25%,var(--bg)37%,var(--border)63%);background-size:400% 100%;border-radius:6px;animation:1.4s infinite skeleton-pulse}@keyframes skeleton-pulse{0%{background-position:100%}to{background-position:0}}@media (max-width:640px){main{padding:16px}.topbar{flex-wrap:wrap;gap:12px;padding:12px 16px}input{flex:1}}
