:root{--bg: #0b0d10;--panel: #14181d;--border: #262c34;--text: #e6e9ec;--muted: #8a929c;--accent: #5b9dd9;--accent-fg: #06121d;--ok-bg: #10261a;--ok-fg: #6fd39a;--err-bg: #2a1416;--err-fg: #e88b8b}:root[data-theme=light]{--bg: #f7f8fa;--panel: #ffffff;--border: #e2e6ea;--text: #1a1e23;--muted: #626b76;--accent: #2f6fb0;--accent-fg: #ffffff;--ok-bg: #e4f5ea;--ok-fg: #1f7a4d;--err-bg: #fbe6e6;--err-fg: #a83232}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Cascadia Code,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column;max-width:640px;margin:0 auto;padding:0 20px}.header{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--border)}.brand{font-weight:600;letter-spacing:.02em}.brand-mark{color:var(--accent)}.header-actions{display:flex;gap:8px}.main{flex:1;display:flex;flex-direction:column;gap:18px;padding:40px 0}.footer{padding:20px 0;border-top:1px solid var(--border);font-size:13px;text-align:center}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:24px}.auth{max-width:420px;width:100%;margin:0 auto}.title{margin:0 0 6px;font-size:22px}.subtitle{margin:0 0 12px;font-size:15px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.muted{color:var(--muted);margin:0}.form{display:flex;flex-direction:column;gap:14px;margin-top:20px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.field input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.field input:focus{outline:none;border-color:var(--accent)}.btn{font:inherit;cursor:pointer;border-radius:8px;padding:10px 14px;border:1px solid transparent;transition:opacity .12s ease}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-fg);font-weight:600}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border);padding:6px 10px}.btn-ghost:hover{border-color:var(--accent)}.link{background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}.switch{margin-top:18px;font-size:13px;text-align:center}.sent{margin-top:20px}.banner{margin-top:16px;padding:10px 12px;border-radius:8px;font-size:13px}.banner-ok{background:var(--ok-bg);color:var(--ok-fg)}.banner-err{background:var(--err-bg);color:var(--err-fg)}.dashboard{display:flex;flex-direction:column;gap:16px}.stat{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stat-value{font-size:40px;font-weight:700;line-height:1.1}.soon{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.soon li{font-size:14px}.devices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.devices li{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:13px}.device-id{font-weight:600}.devices li .muted{flex:1}.pill{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;border:1px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);vertical-align:middle}
