:root{--bg:#f5f6f8;--card:#fff;--ink:#1a1d23;--muted:#6b7280;--line:#e5e7eb;--brand:#15803d;--brand-ink:#fff;--ok:#dcfce7;--ok-ink:#166534;--warn:#fef3c7;--warn-ink:#92400e;--bad:#b91c1c;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg:#0f1115;--card:#181b21;--ink:#e8eaee;--muted:#9aa1ad;--line:#2a2f38;--brand:#22c55e;--brand-ink:#04140a;--ok:#14532d;--ok-ink:#bbf7d0;--warn:#422006;--warn-ink:#fde68a;--bad:#f87171}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 system-ui,-apple-system,sans-serif}main{max-width:1100px;margin:0 auto;padding:16px}h1,h2{margin:.4em 0}h2{font-size:1.25rem}.nav{display:flex;align-items:center;gap:4px;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.nav strong{margin-right:12px}.tab{border:0;background:none;padding:8px 12px;border-radius:8px;color:var(--muted);font:inherit;cursor:pointer}.tab.active{background:var(--bg);color:var(--ink);font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0}.card.flush{padding:0;overflow-x:auto}.narrow{max-width:420px}.row{display:flex;align-items:center;gap:8px;margin:12px 0 0}.row.wrap{flex-wrap:wrap}.row.top{align-items:flex-start}.card.row{margin:12px 0;align-items:flex-end}.spacer{flex:1}.grow{flex:1;min-width:180px}label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);margin-bottom:8px}label.check{flex-direction:row;align-items:center;color:var(--ink)}input,textarea,button{font:inherit}input:not([type=checkbox]):not([type=file]),textarea{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}textarea{width:100%;margin-top:8px;font-family:ui-monospace,monospace}button{padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);cursor:pointer}button.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand);font-weight:600}button:disabled{opacity:.5;cursor:default}button.link{border:0;background:none;color:var(--brand);padding:4px 6px}button.danger,button.link.danger{color:var(--bad)}.chip{border-radius:999px;padding:6px 12px}.chip.active{background:var(--ink);color:var(--bg)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:12px;color:var(--muted);font-weight:600}tr:last-child td{border-bottom:0}.num{text-align:right}.center{text-align:center}.actions{text-align:right;white-space:nowrap}tr.click{cursor:pointer}tr.click:hover{background:var(--bg)}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--bad)}.pad{padding:16px}.badge{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--line);font-size:12px}.badge.ok{background:var(--ok);color:var(--ok-ink)}.badge.warn{background:var(--warn);color:var(--warn-ink)}.badge.btn{border:0;cursor:pointer}.stats{display:flex;gap:24px;margin:12px 0}.stats div{display:flex;flex-direction:column}.stats b{font-size:28px}.stats span{color:var(--muted);font-size:12px}.qr{text-align:center;margin:0}.qr svg{background:#fff;border-radius:8px}.qr p{margin:8px 0}.qr-full{position:fixed;inset:0;z-index:20;background:#fff;color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.login{max-width:320px;margin:20vh auto;display:flex;flex-direction:column;gap:10px}code{background:var(--bg);padding:1px 6px;border-radius:4px}
