:root{--color-bg:#f7f8fa;--color-fg:#1f2733;--color-fg-muted:#4b5563}body,html{margin:0;min-height:100%;background:var(--color-bg);color:var(--color-fg);font-family:system-ui,sans-serif}.center{min-height:100vh;display:grid;place-items:center;text-align:center;padding:1.5rem}.muted{color:var(--color-fg-muted)}h1{font-size:1.5rem;margin:0 0 .5rem}:root{--color-surface:#ffffff;--color-border:#d5dae1;--color-primary:#1f5f8b;--color-primary-fg:#ffffff;--color-danger-bg:#fdecec;--color-danger-fg:#8a1f1f;--color-info-bg:#e8f1f8;--color-info-fg:#1b4a6b;--color-warning-bg:#fff4e0;--color-warning-fg:#7a4b00;--color-sunken:#eef1f5}@media (prefers-color-scheme:dark){:root{--color-bg:#12161c;--color-fg:#e8ecf1;--color-fg-muted:#a5afbd;--color-surface:#1b212a;--color-border:#343d4a;--color-sunken:#151a21;--color-primary:#6db3e0;--color-primary-fg:#0b1a24;--color-danger-bg:#3a1c1c;--color-danger-fg:#ffb4b4;--color-info-bg:#16303f;--color-info-fg:#b8dcf2;--color-warning-bg:#3a2c12;--color-warning-fg:#ffd89a}}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:1rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;width:min(100%,26rem);box-sizing:border-box}.card h1{font-size:1.25rem}.field{display:grid;grid-gap:.25rem;gap:.25rem;margin-bottom:1rem}.field label{font-weight:600;font-size:.9rem}.field input{font:inherit;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-fg);min-height:2.5rem}.btn:focus-visible,.field input:focus-visible,summary:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.field .help{font-size:.85rem;color:var(--color-fg-muted)}.field .err{font-size:.85rem;color:var(--color-danger-fg)}.btn{font:inherit;font-weight:600;padding:.55rem 1rem;min-height:2.5rem;border-radius:8px;border:1px solid var(--color-primary);cursor:pointer;background:var(--color-primary);color:var(--color-primary-fg)}.btn.ghost{border-color:transparent}.btn.ghost,.btn.outline{background:transparent;color:var(--color-primary)}.btn[disabled]{opacity:.6;cursor:progress}.btn.block{width:100%}.banner{padding:.65rem .8rem;border-radius:8px;margin-bottom:1rem;font-size:.92rem}.banner.danger{background:var(--color-danger-bg);color:var(--color-danger-fg)}.banner.info{background:var(--color-info-bg);color:var(--color-info-fg)}.banner.warning{background:var(--color-warning-bg);color:var(--color-warning-fg)}.qr{width:200px;height:200px;image-rendering:pixelated;background:#fff;padding:8px;border-radius:8px;display:block;margin:0 auto 1rem;box-sizing:content-box}.secret{letter-spacing:.08em;word-break:break-all}.codes,.secret{font-family:ui-monospace,monospace}.codes{background:var(--color-sunken);border-radius:8px;padding:.8rem 1rem;list-style:none;margin:0 0 1rem;display:grid;grid-gap:.3rem;gap:.3rem}.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.console{display:grid;grid-template-columns:14rem 1fr;min-height:100vh}.console aside{background:var(--color-surface);border-right:1px solid var(--color-border);padding:1rem}.console nav a{display:block;padding:.5rem .7rem;border-radius:8px;color:inherit;text-decoration:none}.console nav a[aria-current=page]{background:var(--color-info-bg);color:var(--color-info-fg)}.console header{display:flex;justify-content:flex-end;padding:.7rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.console main{padding:1.5rem}.profile{position:relative}.profile summary{cursor:pointer;list-style:none;padding:.4rem .7rem}.profile .menu,.profile summary{border:1px solid var(--color-border);border-radius:8px}.profile .menu{position:absolute;right:0;margin-top:.3rem;background:var(--color-surface);padding:.3rem;min-width:10rem;z-index:5}.empty{text-align:center;padding:3rem 1rem;color:var(--color-fg-muted)}@media (max-width:700px){.console{grid-template-columns:1fr}.console aside{border-right:0;border-bottom:1px solid var(--color-border)}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.field select{font:inherit;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-fg);min-height:2.5rem}.field input:focus-visible,.field select:focus-visible,.icon-btn:focus-visible,.tab:focus-visible,.table a:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--color-danger-fg)}.page-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.page-head h1{margin:0}.toolbar{display:flex;gap:1rem;flex-wrap:wrap;align-items:end;margin-bottom:.5rem}.toolbar.end{justify-content:flex-end;margin-top:1rem}.toolbar .field{margin-bottom:.5rem;min-width:12rem}.table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.table td,.table th{text-align:left;padding:.55rem .8rem;border-bottom:1px solid var(--color-border);font-size:.92rem}.table th{background:var(--color-sunken);font-weight:600}.table tbody tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover{background:var(--color-sunken)}.table a{color:var(--color-primary);font-weight:600;text-decoration:none}.badge{display:inline-block;padding:.1rem .55rem;border-radius:999px;background:var(--color-sunken);border:1px solid var(--color-border);font-size:.82rem}.badge,.icon-btn{color:var(--color-fg)}.icon-btn{font:inherit;min-width:2.5rem;min-height:2.5rem;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer}.icon-btn:hover{background:var(--color-sunken);border-color:var(--color-border)}.btn.destructive{background:var(--color-danger-fg);border-color:var(--color-danger-fg);color:var(--color-danger-bg)}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border);margin-top:1.5rem}.tab{font:inherit;font-weight:600;padding:.6rem 1rem;min-height:2.5rem;background:transparent;color:var(--color-fg-muted);border:0;border-bottom:3px solid transparent;cursor:pointer}.tab[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.card.info{width:100%;max-width:40rem}.card.info dl{display:grid;grid-template-columns:12rem 1fr;grid-gap:.5rem 1rem;gap:.5rem 1rem;margin:0}.card.info dt{color:var(--color-fg-muted);font-size:.9rem}.card.info dd{margin:0}dialog.card{color:var(--color-fg)}dialog.card::-webkit-backdrop{background:rgba(15,20,28,.55)}dialog.card::backdrop{background:rgba(15,20,28,.55)}.actions{justify-content:flex-end;margin-top:.5rem}fieldset.radios{border:0;padding:0;margin:0 0 1rem}fieldset.radios legend{font-weight:600;font-size:.9rem;padding:0;margin-bottom:.25rem}.radio{gap:.5rem;min-height:2.25rem}.pager,.radio{display:flex;align-items:center}.pager{justify-content:flex-end;gap:.75rem;margin-top:.75rem}.skeleton{display:grid;grid-gap:.5rem;gap:.5rem}.skeleton-row{height:2.5rem;border-radius:8px;background:var(--color-sunken);animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes skeleton-pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.skeleton-row{animation:none}}@media (max-width:700px){.card.info dl{grid-template-columns:1fr}.table{display:block;overflow-x:auto}}