:root{--paper: #f3f4f6;--surface: #ffffff;--ink: #151922;--ink-2: #4b5160;--ink-3: #8a90a0;--line: #e2e5ea;--accent: #2456e6;--accent-ink: #ffffff;--warn: #b7791f;--ok: #1e8e5a;--danger: #c73a3a;--radius: 6px;--rail: 220px}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 Manrope,system-ui,sans-serif}a{color:inherit;text-decoration:none}h1{font-size:24px;font-weight:700;letter-spacing:-.01em;margin:0 0 4px}h2{font-size:17px;font-weight:700;margin:24px 0 8px}p.lede{color:var(--ink-2);margin:0 0 20px;max-width:60ch}.num{font-variant-numeric:tabular-nums;text-align:right}.shell{display:grid;grid-template-columns:var(--rail) 1fr;min-height:100vh}.rail{border-right:1px solid var(--line);background:var(--surface);padding:20px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}.rail .brand{font-weight:700;padding:6px 10px 18px}.rail .brand small{display:block;font-weight:500;color:var(--ink-3)}.rail a{padding:8px 10px;border-radius:var(--radius);color:var(--ink-2);font-weight:500}.rail a:hover{background:var(--paper);color:var(--ink)}.rail a.active{background:var(--accent);color:var(--accent-ink)}.rail .spacer{flex:1}.rail .who{color:var(--ink-3);font-size:13px;padding:8px 10px;overflow:hidden;text-overflow:ellipsis}main{padding:32px 40px;max-width:1080px;width:100%}.head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.btn:hover{border-color:var(--ink-3)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(.95)}.btn.danger{color:var(--danger)}.btn.danger:hover{border-color:var(--danger)}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}table.ledger{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.ledger th,.ledger td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.ledger th{font-weight:600;color:var(--ink-2);font-size:13px}.ledger tr:last-child td{border-bottom:0}.ledger tbody tr:hover{background:#f8f9fb}.ledger td.name{font-weight:600}.ledger td.name small{display:block;font-weight:400;color:var(--ink-3)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:8px;vertical-align:middle}.dot.off{background:var(--ink-3)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat b{display:block;font-size:26px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.stat span{color:var(--ink-2)}form.stack{display:grid;gap:14px;max-width:480px}label{display:grid;gap:6px;font-weight:600}label small{font-weight:400;color:var(--ink-3)}input,select{font:inherit;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.msg{padding:10px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}.msg.error{border-color:var(--danger);color:var(--danger)}.msg.ok{border-color:var(--ok)}code.token{display:block;word-break:break-all;padding:12px;background:var(--paper);border-radius:var(--radius);font-size:13px;line-height:1.4;-webkit-user-select:all;user-select:all}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:20px 0}.tabs a{padding:8px 12px;color:var(--ink-2);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a.active{color:var(--ink);border-bottom-color:var(--accent)}.empty{padding:40px;text-align:center;color:var(--ink-2);background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius)}.spark{width:100%;height:120px;display:block}.login{min-height:100vh;display:grid;place-items:center}.login .card{width:360px}@media(max-width:800px){.shell{grid-template-columns:1fr}.rail{position:static;height:auto;flex-direction:row;flex-wrap:wrap}.rail .spacer{display:none}main{padding:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
