*{box-sizing:border-box}html,body{background:var(--ground);color:var(--text);margin:0}body{-webkit-text-size-adjust:100%;font-family:Geist Sans,Geist,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.45}.mono{font-variant-numeric:tabular-nums;font-family:Geist Mono,ui-monospace,monospace}.muted{color:var(--muted)}button,select,input{font:inherit;color:var(--text)}button{cursor:pointer}a{color:var(--gold)}.center{place-items:center;min-height:100dvh;padding:16px;display:grid}.card{background:var(--surface);border:1px solid var(--hair2);border-radius:16px;padding:28px}.signin{justify-items:center;gap:14px;width:min(360px,100%);display:grid}.signin h1{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:600}a.primary,button.primary{background:var(--gold);min-height:44px;color:var(--gold-ink);border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 20px;font-weight:600;text-decoration:none;display:inline-flex}.admin{max-width:1180px;margin:0 auto;padding:0 16px 56px}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0 8px;display:flex}.brand{align-items:center;gap:10px;font-size:16px;display:flex}.who{align-items:center;gap:10px;min-width:0;font-size:13px;display:flex}.who .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}button.ghost,a.ghost{background:var(--surface);border:1px solid var(--hair2);min-height:36px;color:var(--text);border-radius:999px;align-items:center;padding:0 14px;font-size:13px;text-decoration:none;display:inline-flex}button.ghost:disabled{opacity:.5;cursor:default}button.link{color:var(--gold);background:0 0;border:0;padding:0;text-decoration:underline}.tabs{border-bottom:1px solid var(--hair2);scrollbar-width:none;gap:4px;margin:0 -16px;padding:0 16px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;flex:none;min-height:44px;padding:10px 14px;font-weight:500}.tab.on{color:var(--text);border-bottom-color:var(--gold)}.controls{flex-wrap:wrap;align-items:end;gap:12px 16px;padding:14px 0;display:flex}.controls label{color:var(--muted);gap:4px;font-size:12px;display:grid}.controls label.check{color:var(--text);align-items:center;gap:8px;min-height:36px;font-size:13px;display:flex}.controls input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold)}.controls select,.controls input[type=date]{background:var(--surface);border:1px solid var(--hair2);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:10px;min-height:36px;padding:0 10px}.dates{flex-wrap:wrap;gap:10px;display:flex}.seg{border:1px solid var(--hair2);background:var(--surface);border-radius:999px;display:inline-flex;overflow:hidden}.seg button{min-height:36px;color:var(--muted);background:0 0;border:0;padding:0 14px;font-size:13px}.seg button+button{border-left:1px solid var(--hair2)}.seg button.on{background:var(--ivory);color:var(--ink);font-weight:600}.stamp{align-self:center;font-size:12px}.refresh{margin-left:auto}.pad{padding:24px 0}.error{border:1px solid var(--ivory);background:var(--surface);border-radius:10px;padding:12px 14px}.range{margin:4px 0 12px;font-size:12px}.kpis{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:18px;display:grid}.kpi{background:var(--surface);border:1px solid var(--hair2);border-radius:12px;min-width:0;padding:12px 14px}.kl{color:var(--muted);font-size:12px}.kv{letter-spacing:-.02em;overflow-wrap:anywhere;margin-top:2px;font-size:24px;font-weight:600}.ku{color:var(--muted);letter-spacing:0;font-size:12px;font-weight:400}.kn{color:var(--dim);margin-top:4px;font-size:11px;line-height:1.4}.charts{grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:14px;margin-bottom:20px;display:grid}.chart{background:var(--surface);border:1px solid var(--hair2);border-radius:12px;min-width:0;margin:0;padding:12px 12px 8px}.chart figcaption{margin-bottom:4px;font-size:13px}.chart .unit{color:var(--muted);font-weight:400}.plot{touch-action:pan-y;width:100%;height:auto;display:block;overflow:visible}.plot .grid{stroke:var(--hair);stroke-width:1px}.plot .zero{stroke:var(--dim);stroke-width:1px}.plot .tick,.plot .axis-title,.plot .cat,.plot .val{fill:var(--muted);font-family:Geist Mono,ui-monospace,monospace;font-size:11px}.plot .cat{fill:var(--text-soft);font-family:inherit;font-size:12px}.plot .val{fill:var(--text)}.plot .cursor{stroke:var(--dim);stroke-width:1px;stroke-dasharray:3 3}.plot .band{fill:rgba(var(--gold-rgb), .16);stroke:none}.ln{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.ln.s0{stroke:var(--gold)}.ln.s1{stroke:var(--ivory)}.ln.s2{stroke:var(--muted)}.mk.s0{fill:var(--gold)}.mk.s1{fill:var(--ivory)}.mk.s2{fill:var(--muted)}.bar.s0{fill:var(--gold)}.bar.s1{stroke:var(--ivory);stroke-width:1px;fill:#0000}.bar.s2{fill:var(--muted)}.hatch{stroke:var(--ivory)}.legend{color:var(--text-soft);flex-wrap:wrap;gap:4px 16px;margin:6px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:inline-flex}.legend .ln{stroke-width:2px}.readout{color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0;font-size:11px}.readout b{color:var(--text);font-weight:500}.cnote,.tnote{color:var(--dim);margin:6px 0 0;font-size:11px}.empty{color:var(--muted);text-align:center;margin:0;padding:28px 0}.tbl{margin:0 0 22px}.thead{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.thead h2{margin:0;font-size:14px;font-weight:600}.scroll{border:1px solid var(--hair2);background:var(--surface);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--hair);padding:8px 12px}th{color:var(--muted);background:var(--surface);font-size:12px;font-weight:500;position:sticky;top:0}td.num{text-align:right}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:rgba(var(--white-rgb), .03)}th:first-child,td:first-child{background:var(--surface);position:sticky;left:0}.status{border:1px solid var(--hair2);border-radius:999px;align-items:center;gap:6px;padding:2px 8px 2px 6px;font-size:12px;display:inline-flex}.status.pass{border-color:var(--gold);color:var(--gold)}.status.fail{border:2px solid var(--ivory);color:var(--ivory);font-weight:600}.status.insufficient{border-style:dashed;border-color:var(--muted);color:var(--text-soft)}.status.pending,.status.nodata{color:var(--dim);border-color:#0000}.st-fill{fill:var(--gold)}.st-ink{fill:none;stroke:var(--gold-ink);stroke-width:1.8px}.st-line{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round}.st-dash{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-dasharray:2.5 2}.st-dot{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-dasharray:1 3;stroke-linecap:round}.notes{border:1px solid var(--hair2);color:var(--muted);border-radius:12px;margin-top:24px;padding:14px 16px;font-size:12px}.notes h3{color:var(--text-soft);margin:0 0 6px;font-size:12px;font-weight:600}.notes ul{gap:4px;margin:0;padding-left:18px;display:grid}@media (max-width:640px){.admin{padding:0 12px 40px}.tabs{margin:0 -12px;padding:0 12px}.kv{font-size:21px}.refresh{margin-left:0}.charts{grid-template-columns:100%}}@media (prefers-reduced-motion:no-preference){.tab,button.ghost,a.ghost{transition:background-color .12s,border-color .12s}}
