:root{--bg: #f6f6f3;--surface: #ffffff;--fg: #1d1d1b;--muted: #6b6b66;--border: #dcdcd6;--accent: #1f5f8b;--accent-fg: #ffffff;--danger: #a3302a;--danger-bg: #fbecea;--ok: #2c6e3f;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--fg);background:var(--bg);line-height:1.45}@media(prefers-color-scheme:dark){:root{--bg: #151514;--surface: #1f1f1d;--fg: #ecece8;--muted: #9a9a94;--border: #36362f;--accent: #6aa9d8;--accent-fg: #0d1a24;--danger: #f08a82;--danger-bg: #3a1d1b;--ok: #7cc58f}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{font-size:1.5rem;margin:0 0 1rem}h2,h3{margin:0 0 .5rem}a{color:var(--accent)}button,input{font:inherit;color:inherit}input{width:100%;padding:.55rem .65rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);margin-top:.25rem}label{display:block;margin-bottom:.9rem;font-size:.9rem}button{padding:.5rem .9rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);cursor:pointer}button:disabled{opacity:.6;cursor:default}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}button.danger{color:var(--danger);border-color:var(--danger)}button.link{border:none;background:none;padding:.25rem .5rem;color:var(--muted)}button.link.active,button.link:hover{color:var(--fg)}.subtle{color:var(--muted);font-size:.9rem}.banner{padding:.65rem .85rem;border-radius:6px;margin-bottom:1rem}.banner.error{background:var(--danger-bg);color:var(--danger)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.75rem}.login-card h1{display:flex;align-items:baseline;gap:.5rem}.login-card .version{font-size:.75rem;color:var(--muted);font-weight:400}.login-card button.primary{width:100%;margin-top:.25rem}.login-card button.link{display:block;margin:.75rem auto 0}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 16px;border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap}.brand{font-weight:600}.topbar nav{display:flex;gap:.25rem;flex-wrap:wrap}.content{flex:1;width:100%;max-width:960px;margin:0 auto;padding:2rem 16px}.footer{text-align:center;padding:1rem 16px}.tiles{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.tile{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--fg);text-decoration:none;transition:border-color .15s}.tile:hover{border-color:var(--accent)}.tile-name{font-size:1.15rem;font-weight:600}.tile-description{color:var(--muted);font-size:.9rem}.tile-note{color:var(--muted);font-size:.8rem;margin-top:auto}.account{display:grid;gap:1rem;max-width:560px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.25rem}.status.on{color:var(--ok)}.status.off{color:var(--muted)}.form-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.inline-form{margin-top:1rem}.qr{background:#fff;padding:12px;display:inline-block;border-radius:6px}.qr svg{display:block;max-width:100%;height:auto}.secret{font-family:ui-monospace,monospace;letter-spacing:.05em}.codes{font-family:ui-monospace,monospace;display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem;padding-left:1.25rem}
