:root{color-scheme:dark;--bg: #0b0f14;--panel: #121821;--panel-2: #18212c;--border: #243040;--text: #eef3f8;--muted: #95a3b5;--accent: #4cc2ff;--accent-strong: #1d9ee0;--green: #53c46b;--red: #e05b5b;--yellow: #ffc857}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(circle at 20% -10%,rgba(76,194,255,.14),transparent 38%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}.center,.center-text{display:grid;min-height:100vh;min-height:100dvh;place-items:center;color:var(--muted)}.center-text{min-height:auto;padding:24px}.auth-shell{display:grid;min-height:100vh;min-height:100dvh;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.auth-card,.panel{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent),var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 70px #00000059}.auth-card{width:min(420px,100%);padding:28px}h1,h2,h3{margin:0}h1{font-size:30px;letter-spacing:-.02em}h2{font-size:20px}h3{margin-bottom:10px;font-size:15px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.muted{color:var(--muted)}.small{font-size:12px}.stack{display:grid;gap:14px;margin-top:20px}.download-block{display:grid;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.download-link{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:12px;font-weight:600;text-decoration:none;transition:.15s ease}.download-link:hover{background:#18222e;border-color:#3a4c63}.download-icon{flex:none;width:38px;height:38px;border-radius:10px}.download-text{display:grid;gap:2px}.download-title{line-height:1.2}.download-meta{color:var(--muted);font-size:12px;font-weight:500}label{display:grid;gap:6px;color:var(--muted);font-size:13px}input{width:100%;padding:12px 13px;color:var(--text);background:#0c121a;border:1px solid var(--border);border-radius:11px;outline:none}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4cc2ff26}.tabs{display:flex;gap:8px;margin-top:20px}.tab,.ghost,.secondary,.primary,.danger{padding:10px 14px;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:10px;transition:.15s ease}.tab.active,.primary{color:#04121b;background:var(--accent);border-color:var(--accent);font-weight:700}.primary:hover{background:#73d2ff}.secondary:hover,.ghost:hover,.tab:hover{border-color:#3a4c63;background:#18222e}.danger{color:#ffd7d7;border-color:#e05b5b73}.danger:hover{background:#e05b5b1f}button:disabled{cursor:not-allowed;opacity:.45}.error{color:#ffd0d0;background:#e05b5b1f;border:1px solid rgba(224,91,91,.35);border-radius:10px;padding:10px 12px}.notice{color:#d8ffe2;background:#53c46b1a;border:1px solid rgba(83,196,107,.3);border-radius:10px;padding:10px 12px}.banner{margin:12px 24px 0}.install-prompt{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:14px;padding:10px 12px;background:#4cc2ff14;border:1px solid rgba(76,194,255,.25);border-radius:12px}.update-banner{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;flex-wrap:wrap;gap:12px;width:min(520px,calc(100% - 28px));padding:12px 14px;background:var(--panel);border:1px solid var(--accent);border-radius:14px;box-shadow:0 16px 50px #00000080;transform:translate(-50%)}.update-actions{display:flex;gap:8px;margin-left:auto}.app-shell{width:min(1180px,100%);margin:0 auto;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.brand{font-size:24px;font-weight:800;letter-spacing:-.03em}.topbar-right{display:flex;align-items:center;gap:10px}.pill{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.pill.online{color:#d9ffe5;background:#53c46b24;border:1px solid rgba(83,196,107,.35)}.pill.offline{color:#ffdada;background:#e05b5b1f;border:1px solid rgba(224,91,91,.3)}.panel{padding:20px;margin-bottom:18px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.actions{display:flex;flex-wrap:wrap;gap:8px}.device-list{display:grid;gap:8px;margin-top:12px}.device-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px;color:var(--text);text-align:left;background:#0e151e;border:1px solid var(--border);border-radius:12px}.device-row.selected{border-color:var(--accent);background:#4cc2ff12}.device-row small,.pending-row small{display:block;margin-top:4px;color:var(--muted)}.dot{width:10px;height:10px;border-radius:50%}.dot.online{background:var(--green);box-shadow:0 0 12px #53c46bb3}.dot.offline{background:#5c6673}.text-online{color:var(--green)}.text-offline{color:var(--muted)}.pairing-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;padding:16px;background:#0e151e;border:1px dashed #3a4c63;border-radius:14px}.pairing-code{margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:30px;font-weight:800;letter-spacing:.1em;color:var(--accent)}.pairing-meta{display:flex;align-items:center;gap:12px;color:var(--muted)}.pending-list{margin-top:18px}.pending-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;background:#ffc8570f;border:1px solid rgba(255,200,87,.25);border-radius:12px}.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.status-grid>div{display:grid;gap:4px;padding:12px;background:#0e151e;border:1px solid var(--border);border-radius:12px}.status-grid span{font-size:12px}.battery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.battery-card{padding:14px;background:#0e151e;border:1px solid var(--border);border-radius:12px}.battery-card-title{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.mock-badge{padding:2px 5px;color:#1a1200;background:var(--yellow);border-radius:4px;font-size:9px}.battery-card-value{margin-top:8px;font-size:28px;font-weight:750;letter-spacing:-.03em}.battery-card-unit{margin-left:5px;color:var(--muted);font-size:12px;font-weight:500}.history{margin-top:20px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:8px 6px;text-align:left;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600}@media (max-width: 800px){.app-shell{padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.panel-header,.topbar,.pairing-card,.pending-row{align-items:flex-start;flex-direction:column}.status-grid,.battery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.banner{margin:10px 14px 0}}@media (max-width: 480px){.brand{font-size:22px}.panel{padding:16px}.topbar-right,.actions{width:100%}.actions button{flex:1 1 auto}.pairing-code{font-size:24px}.install-prompt{justify-content:space-between}}
