*,:before,:after{box-sizing:border-box}body{margin:0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{-webkit-font-smoothing:antialiased;height:100%;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;line-height:1.5}:root{--bg:#09090b;--surface:#111118;--elevated:#17171f;--border:#fff1;--border-hi:#ffffff21;--text:#ffffffeb;--text-2:#ffffff94;--text-3:#ffffff52;--accent:#a5b4fc;--accent-mid:#818cf8;--accent-dim:#818cf81f;--green:#4ade80;--green-dim:#4ade801a;--orange:#fb923c;--orange-dim:#fb923c1a;--red:#f87171;--red-dim:#f871711a;--blue:#60a5fa;--r:8px;--r-sm:5px;--r-lg:12px}body{background:var(--bg);color:var(--text)}.app{flex-direction:column;min-height:100vh;display:flex}.app-loading{height:100vh;color:var(--text-2);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:13px;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:40;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:54px;padding:0 20px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:12px;display:flex}.header-logo{font-size:22px;line-height:1}.header-title{color:var(--text);font-size:14px;font-weight:700}.header-sub{color:var(--text-3);margin-top:1px;font-size:10px}.header-actions{align-items:center;gap:10px;display:flex}.session-chip{color:var(--text-2);background:var(--elevated);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;border-radius:100px;align-items:center;gap:6px;max-width:210px;padding:3px 10px;font-size:11px;display:flex;overflow:hidden}.session-dot{background:var(--green);width:6px;height:6px;box-shadow:0 0 5px var(--green);border-radius:50%;flex-shrink:0}.device-switcher{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);gap:2px;padding:3px;display:flex}.switcher-btn{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:7px;padding:5px 14px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.switcher-btn:hover{background:var(--elevated);color:var(--text)}.switcher-btn.active{background:var(--elevated);color:var(--text);box-shadow:0 0 0 1px var(--border-hi)}.switcher-dot{background:var(--status-color,var(--red));border-radius:50%;flex-shrink:0;width:7px;height:7px}.logout-btn{color:var(--text-2);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:4px 12px;font-size:12px;transition:all .15s}.logout-btn:hover{color:var(--text);border-color:var(--border-hi)}.main-content{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:20px}.app-footer{color:var(--text-3);border-top:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:10px 20px;font-size:11px;display:flex}.auth-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-shell{grid-template-columns:1fr 1fr;align-items:center;gap:48px;width:100%;max-width:880px;display:grid}@media (width<=640px){.auth-shell{grid-template-columns:1fr}.auth-hero{display:none}}.auth-hero{flex-direction:column;display:flex}.auth-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:11px;font-weight:700}.auth-title{color:var(--text);margin-bottom:12px;font-size:26px;font-weight:700;line-height:1.25}.auth-copy{color:var(--text-2);margin-bottom:20px;font-size:13px;line-height:1.7}.auth-pills{flex-wrap:wrap;gap:8px;display:flex}.auth-pill{color:var(--text-2);background:var(--elevated);border:1px solid var(--border);border-radius:100px;padding:4px 12px;font-size:11px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;gap:20px;padding:32px 28px;display:flex}.auth-card-top{align-items:center;gap:12px;display:flex}.auth-lock{font-size:24px}.auth-card-title{color:var(--text);font-size:15px;font-weight:700}.auth-card-sub{color:var(--text-2);margin-top:2px;font-size:12px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field span{color:var(--text-2);font-size:12px;font-weight:500}.auth-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);color:var(--text);outline:none;width:100%;padding:9px 12px;font-size:13px;transition:border-color .15s}.auth-input:focus{border-color:var(--accent-mid)}.auth-input::placeholder{color:var(--text-3)}.auth-error{background:var(--red-dim);border-radius:var(--r-sm);color:var(--red);border:1px solid #f8717133;padding:8px 12px;font-size:12px}.auth-submit{background:var(--accent-mid);color:#0d0d1a;border-radius:var(--r);cursor:pointer;border:none;padding:10px 16px;font-size:13px;font-weight:600;transition:opacity .15s}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-submit:not(:disabled):hover{opacity:.88}.auth-footnote{color:var(--text-3);text-align:center;font-size:11px}.device-panel{flex-direction:column;gap:14px;display:flex}.device-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.device-header-left{align-items:center;gap:14px;display:flex}.device-header-right{align-items:center;gap:12px;display:flex}.device-icon{background:var(--elevated);border:1px solid var(--border);border-radius:var(--r);flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:24px;display:flex}.device-name{color:var(--text);font-size:16px;font-weight:700}.device-sub{color:var(--text-2);margin-top:2px;font-size:12px}.status-badge{color:var(--status-color,var(--red));background:color-mix(in srgb, var(--status-color,var(--red)) 14%, transparent);border-radius:100px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.status-dot{background:var(--status-color,var(--red));border-radius:50%;flex-shrink:0;width:7px;height:7px}.last-seen{color:var(--text-3);font-size:11px}.metrics-row{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=900px){.metrics-row{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.metrics-row{grid-template-columns:1fr 1fr}}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.metric-icon{font-size:20px;line-height:1}.metric-value{color:var(--text);font-size:22px;font-weight:700;line-height:1.1}.metric-unit{color:var(--text-2);margin-left:2px;font-size:13px;font-weight:400}.metric-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.metric-note{color:var(--text-3);font-size:10px}.bar-track{background:var(--border);border-radius:2px;height:3px;margin-top:4px;overflow:hidden}.bar-fill{border-radius:2px;height:100%;transition:width .5s}.tab-nav{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);scrollbar-width:none;gap:2px;padding:4px;display:flex;overflow-x:auto}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{color:var(--text-2);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:6px 14px;font-size:12px;font-weight:500;transition:all .15s}.tab-btn:hover{background:var(--elevated);color:var(--text)}.tab-btn.active{background:var(--accent-dim);color:var(--accent)}.tab-content{flex-direction:column;gap:12px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=768px){.grid-2{grid-template-columns:1fr}}.panel-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.section-title{color:var(--text-2);text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--border);background:var(--elevated);align-items:center;gap:8px;padding:11px 16px;font-size:11px;font-weight:600;display:flex}.info-grid{flex-direction:column;display:flex}.info-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:36px;padding:9px 16px;display:flex}.info-row:last-child{border-bottom:none}.info-row span{color:var(--text-2);flex-shrink:0;font-size:12px}.info-row code{color:var(--text);text-align:right;text-overflow:ellipsis;white-space:nowrap;background:0 0;max-width:65%;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;overflow:hidden}.window-list{flex-direction:column;display:flex}.window-item{border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:36px;padding:9px 16px;display:flex}.window-item:last-child{border-bottom:none}.window-app{color:var(--accent);flex-shrink:0;font-size:11px;font-weight:600}.window-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.window-time{color:var(--text-3);flex-shrink:0;font-size:11px}.chat-thread-list{flex-direction:column;display:flex}.chat-thread-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:10px 16px;display:flex}.chat-thread-item:last-child{border-bottom:none}.chat-avatar{background:var(--accent-dim);width:32px;height:32px;color:var(--accent);border:1px solid #818cf833;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.chat-thread-meta{flex:1;min-width:0}.chat-thread-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.chat-thread-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.chat-thread-time{color:var(--text-3);flex-shrink:0;font-size:10px}.chat-thread-preview{margin-top:3px}.chat-thread-snippet{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.telemetry-alert{border-radius:var(--r);padding:12px 16px;font-size:12px}.telemetry-alert p{margin:0}.telemetry-alert-warn{color:var(--orange);background:var(--orange-dim);border-left:3px solid var(--orange)}.empty-msg{color:var(--text-3);text-align:center;padding:24px 16px;font-size:12px}
