*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f1117;--bg-card:#1a1d27;--bg-card-hover:#222632;--border:#2a2e3a;--text:#e4e4e7;--text-muted:#71717a;--accent:#6366f1;--accent-hover:#818cf8;--radius:10px;--sk-base:#232733;--sk-highlight:#2e3342}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--accent-hover)}code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.muted{color:var(--text-muted)}.sk{vertical-align:-.1em;background:linear-gradient(90deg, var(--sk-base) 0%, var(--sk-highlight) 50%, var(--sk-base) 100%);background-position:100% 0;background-size:200% 100%;border-radius:4px;width:100%;max-width:100%;height:.8em;animation:1.4s ease-in-out .15s infinite sk-shimmer;display:inline-block}.sk-block{vertical-align:initial;display:block}@keyframes sk-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.sk{animation:none}}.boot{min-height:100vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.btn{font:inherit;color:var(--text);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px}.btn:hover:not(:disabled){border-color:var(--accent);background:var(--bg-card-hover)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.topbar{border-bottom:1px solid var(--border);background:var(--bg-card);flex-wrap:wrap;align-items:center;gap:24px;padding:12px 24px;display:flex}.topbar .brand{color:var(--text);font-size:15px;font-weight:700;text-decoration:none}.topbar nav{gap:4px;display:flex}.topbar nav a{color:var(--text-muted);border-radius:6px;padding:5px 10px;font-size:13px;text-decoration:none}.topbar nav a:hover{color:var(--text);background:var(--bg-card-hover)}.topbar nav a.active{color:#e6ebff;background:#6366f12e}.topbar .who{align-items:center;gap:12px;margin-left:auto;font-size:12px;display:flex}.shell main{padding:20px 24px 32px}.notfound{color:var(--text-muted);flex-direction:column;gap:8px;display:flex}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:16px;width:100%;max-width:440px;padding:24px;display:flex}.login-card h1{font-size:18px}.login-card h2{font-size:15px}.login-card p,.login-card li{color:var(--text-muted);font-size:13px;line-height:1.5}.steps{gap:6px;display:flex}.steps span{background:var(--border);border-radius:2px;flex:1;height:4px}.steps span.done{background:var(--accent)}.steps span.current{background:var(--accent-hover)}.login-card form{flex-direction:column;gap:12px;display:flex}.field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.field input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:14px}.field input:focus{border-color:var(--accent);outline:none}.field input.code{letter-spacing:.3em;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px}.alert{color:#fca5a5;background:#4a1f1f;border-radius:6px;padding:8px 10px;font-size:12.5px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qr{background:#fff;border-radius:8px;align-self:center;width:208px;height:208px;padding:8px}.qr svg{width:100%;height:100%;display:block}.secret{align-items:center;gap:8px;display:flex}.secret code{background:var(--bg);border:1px solid var(--border);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:6px;flex:1;padding:8px 10px;font-size:13px}.uri{word-break:break-all;background:var(--bg);border:1px solid var(--border);color:var(--text-muted);-webkit-user-select:all;user-select:all;border-radius:6px;padding:8px 10px;font-size:11px}.linkbtn{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;font-size:12px;text-decoration:underline}.audit{flex-direction:column;gap:14px;max-width:1400px;font-size:13px;display:flex}.audit .head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding-bottom:12px;display:flex}.audit h1{font-size:20px;font-weight:700}.chips{gap:6px;display:flex}.chip{font:inherit;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;padding:3px 12px;font-size:12px}.chip:hover{border-color:var(--accent);color:var(--text)}.chip.on{color:#e6ebff;border-color:var(--accent);background:#6366f12e}.audit .table-wrap{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;overflow-x:auto}.audit table{border-collapse:collapse;width:100%;font-size:12.5px}.audit thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:9px 12px;font-size:10.5px;font-weight:600}.audit tbody tr{border-bottom:1px solid #ffffff0a}.audit tbody tr:last-child{border-bottom:none}.audit tbody td{white-space:nowrap;padding:8px 12px}.audit td.ua{text-overflow:ellipsis;max-width:260px;color:var(--text-muted);overflow:hidden}.audit .num{font-variant-numeric:tabular-nums}.audit .ok{color:#4ade80;font-weight:600}.audit .bad{color:#f87171;font-weight:600}.audit .empty{text-align:center;color:var(--text-muted);padding:24px}.audit .attribution{font-size:11px}
