:root{color-scheme:light;--plane:#f9f9f7;--surface:#fcfcfb;--ink:#0b0b0b;--ink-2:#52514e;--ink-muted:#898781;--line:#e1e0d9;--axis:#c3c2b7;--ring:rgba(11,11,11,0.10);--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--good:#0ca30c;--warning:#fab219;--serious:#ec835a;--critical:#d03b3b;--good-text:#006300;--radius:10px;--gap:20px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--plane:#0d0d0d;--surface:#1a1a19;--ink:#ffffff;--ink-2:#c3c2b7;--ink-muted:#898781;--line:#2c2c2a;--axis:#383835;--ring:rgba(255,255,255,0.10);--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--good-text:#0ca30c}}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--plane);color:var(--ink);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--series-1);text-decoration:none}a:hover{text-decoration:underline}.shell{display:flex;min-height:100vh}.sidebar{width:208px;flex:0 0 208px;background:var(--surface);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:4px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{font-size:15px;font-weight:650;letter-spacing:-.2px;padding:0 10px 4px;margin-bottom:12px}.brand small{display:block;font-weight:400;font-size:11px;color:var(--ink-muted);letter-spacing:0}.navlink{display:block;padding:7px 10px;border-radius:8px;color:var(--ink-2);font-weight:500}.navlink:hover{background:var(--plane);text-decoration:none;color:var(--ink)}.navlink[aria-current=page]{background:var(--plane);color:var(--ink);font-weight:600}.sidebar-foot{margin-top:auto;padding:10px;border-top:1px solid var(--line)}.sidebar-foot .who{font-size:12px;color:var(--ink-muted);margin-bottom:8px;word-break:break-all}.main{flex:1 1;min-width:0;padding:28px 32px 64px;max-width:1360px}h1{font-size:22px;font-weight:650;letter-spacing:-.3px;margin:0 0 4px}h2{font-size:15px;font-weight:620;margin:0 0 12px}.lede{color:var(--ink-2);margin:0 0 24px;max-width:68ch}.section{margin-top:32px}.card{background:var(--surface);border:1px solid var(--ring);border-radius:var(--radius);padding:18px}.card+.card{margin-top:var(--gap)}.grid{display:grid;grid-gap:var(--gap);gap:var(--gap)}.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1100px){.grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.grid.c2,.grid.c3{grid-template-columns:minmax(0,1fr)}}.stat .label{font-size:12px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.4px}.stat .value{font-size:30px;font-weight:640;letter-spacing:-.8px;margin:6px 0 2px}.stat .sub{font-size:12px;color:var(--ink-2)}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-weight:600;color:var(--ink-2);padding:8px 10px;white-space:nowrap}td,th{border-bottom:1px solid var(--line)}td{padding:9px 10px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--plane)}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty{padding:28px 10px;color:var(--ink-muted);text-align:center}.tag{display:inline-block;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid var(--ring);color:var(--ink-2);white-space:nowrap}.tag.paid{color:#fff;background:var(--good)}.tag.paid,.tag.warn{border-color:transparent}.tag.warn{color:#0b0b0b;background:var(--warning)}.tag.bad{color:#fff;background:var(--critical);border-color:transparent}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spread{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.muted{color:var(--ink-muted)}.note,.small{font-size:12px}.note{color:var(--ink-muted);margin-top:10px;max-width:74ch}input[type=email],input[type=password],input[type=search],input[type=text],select{font:inherit;padding:7px 10px;border-radius:8px;border:1px solid var(--axis);background:var(--surface);color:var(--ink)}input:focus,select:focus{outline:2px solid var(--series-1);outline-offset:1px}.btn,button{font:inherit;font-weight:600;padding:7px 14px;border-radius:8px;border:1px solid transparent;background:var(--series-1);color:#fff;cursor:pointer}.btn.ghost,button.ghost{background:transparent;color:var(--ink-2);border-color:var(--axis)}button:disabled{opacity:.5;cursor:default}.error{background:color-mix(in srgb,var(--critical) 12%,transparent);border:1px solid var(--critical);padding:10px 12px;border-radius:8px;margin-bottom:16px}.banner,.error{color:var(--ink);font-size:13px}.banner{background:color-mix(in srgb,var(--warning) 18%,transparent);border:1px solid var(--warning);padding:10px 14px;border-radius:8px;margin-bottom:20px}.authpage{display:grid;place-items:center;min-height:100vh;padding:24px}.authcard{width:100%;max-width:380px}.authcard label{display:block;font-size:12px;font-weight:600;color:var(--ink-2);margin:14px 0 5px}.authcard input{width:100%}.authcard button{width:100%;margin-top:20px}.chart{display:block;width:100%;height:auto}.chart .grid-line{stroke:var(--line);stroke-width:1}.chart .axis-line{stroke:var(--axis);stroke-width:1}.chart .tick{fill:var(--ink-muted);font-size:10px}.chart .lbl{fill:var(--ink-2);font-size:11px}.chart .val{fill:var(--ink);font-size:11px;font-weight:600}