:root{--bg:#f7f7f5;--surface:#ffffff;--ink:#1b1b19;--ink-2:#52524e;--ink-3:#7a7a74;--line:#e1e0d9;--line-strong:#c3c2b7;--accent:#2a5bd7;--accent-track:#dfe7fb;--good:#0ca30c;--warning:#fab219;--critical:#d03b3b;--track:#ecebe6;--danger-ink:#b42828;--radius:8px;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#121211;--surface:#1a1a19;--ink:#ecebe6;--ink-2:#b4b3ab;--ink-3:#8c8b84;--line:#2c2c2a;--line-strong:#383835;--accent:#6f95f2;--accent-track:#26304a;--track:#2a2a28;--danger-ink:#f07a7a;color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--ink)}body{font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit}.mono,code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12.5px}.topbar{display:flex;align-items:center;gap:16px;padding:12px 24px;border-bottom:1px solid var(--line);background:var(--surface)}.brand{font-weight:650;text-decoration:none}.brand span{color:var(--ink-3);font-weight:400;margin-left:6px}.topbar .spacer{flex:1 1}.notice{font-size:12px;color:var(--ink-3)}main{max-width:1200px;margin:0 auto;padding:24px 16px 64px}h1{font-size:20px;margin:0 0 4px}h2{font-size:15px;margin:0 0 12px}.sub{color:var(--ink-2);margin:0 0 20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.grid{display:grid;grid-gap:16px;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}.stat .label{color:var(--ink-2);font-size:12px}.stat .value{font-size:24px;font-weight:600}table{width:100%;border-collapse:collapse}th{text-align:left;font-weight:500;color:var(--ink-2);font-size:12px;padding:8px 10px;border-bottom:1px solid var(--line-strong);white-space:nowrap}td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}.table-wrap{overflow-x:auto}td a.rowlink{font-weight:550;text-decoration:none}td a.rowlink:hover{text-decoration:underline}.muted{color:var(--ink-3)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;white-space:nowrap}.badge .dot{width:8px;height:8px;border-radius:50%;flex:none}.badge.online .dot{background:var(--good)}.badge.offline .dot{background:var(--ink-3)}.badge.never_seen .dot{background:transparent;border:1.5px solid var(--ink-3)}.pill{display:inline-block;font-size:11.5px;padding:1px 8px;border-radius:99px;border:1px solid var(--line-strong);color:var(--ink-2)}.pill.disabled{border-color:var(--warning)}.pill.revoked{border-color:var(--critical);color:var(--danger-ink)}.meter{display:flex;align-items:center;gap:8px;min-width:120px}.meter .track{flex:1 1;height:8px;border-radius:99px;background:var(--accent-track);overflow:hidden}.meter .fill{height:100%;border-radius:99px;background:var(--accent)}.meter.warning .track{background:color-mix(in srgb,var(--warning) 25%,var(--surface))}.meter.warning .fill{background:var(--warning)}.meter.critical .track{background:color-mix(in srgb,var(--critical) 22%,var(--surface))}.meter.critical .fill{background:var(--critical)}.meter .val{width:40px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}dl.kv{display:grid;grid-template-columns:max-content 1fr;grid-gap:6px 16px;gap:6px 16px;margin:0}dl.kv dt{color:var(--ink-2)}dl.kv dd{margin:0;word-break:break-word}.btn,button{font:inherit;padding:6px 12px;border-radius:6px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer}button:hover{border-color:var(--ink-3)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--danger-ink);border-color:color-mix(in srgb,var(--critical) 60%,transparent)}button:disabled{opacity:.55;cursor:not-allowed}input,select{font:inherit;padding:6px 10px;border-radius:6px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.error{color:var(--danger-ink)}.tokenbox{margin-top:12px;padding:12px;border:1px dashed var(--accent);border-radius:6px}.tokenbox pre{white-space:pre-wrap;word-break:break-all;margin:8px 0 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.login{max-width:420px;margin:12vh auto}.login input{width:100%;margin:8px 0 12px}@media (max-width:640px){.topbar{padding:12px 16px}.hide-sm{display:none}}.navlink{text-decoration:none;color:var(--ink-2);padding:4px 8px;border-radius:6px;display:inline-flex;align-items:center;gap:6px}.navlink.active,.navlink:hover{color:var(--ink)}.navlink.active{background:var(--track)}.count{background:var(--critical);color:#fff;border-radius:999px;font-size:11.5px;font-weight:600;padding:0 7px;line-height:18px}.badge.open .dot{background:var(--warning)}.badge.accepted .dot{background:var(--good)}button[aria-selected=true]{cursor:default}a.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:8px 14px;border-radius:6px;border:1px solid var(--line-strong);color:var(--ink)}a.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}a.button.block{display:flex;width:100%;margin-top:8px}