html{background:#07111f}body{margin:0}:root{color:#e5eefc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#07111f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#07111f;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button:disabled{opacity:.45;cursor:not-allowed}.app-shell{background:radial-gradient(circle at 15% 0,#38bdf829,#0000 34%),radial-gradient(circle at 80% 10%,#6366f12e,#0000 32%),linear-gradient(135deg,#07111f 0%,#0b1220 48%,#101827 100%);grid-template-columns:300px 1fr;min-height:100vh;display:grid}.sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#040a149e;border-right:1px solid #94a3b829;flex-direction:column;gap:30px;padding:28px 22px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#38bdf8,#6366f1);border-radius:16px;place-items:center;width:46px;height:46px;font-size:24px;font-weight:900;display:grid;box-shadow:0 18px 40px #38bdf840}.brand-title{letter-spacing:.02em;font-weight:800}.brand-subtitle{color:#8ea2bf;margin-top:3px;font-size:12px}.nav{gap:8px;display:grid}.nav-item{color:#99abc5;cursor:default;border-radius:14px;padding:12px 14px;text-decoration:none}.nav-item.active,.nav-item:hover{color:#f8fbff;background:#94a3b81c;box-shadow:inset 0 0 0 1px #94a3b81a}.sidebar-card{background:#0f172ad1;border:1px solid #94a3b829;border-radius:20px;margin-top:auto;padding:18px}.sidebar-label{color:#8ea2bf;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.sidebar-value{margin-top:8px;font-size:18px;font-weight:800}.sidebar-card p{color:#93a6c1;font-size:13px;line-height:1.5}.content{padding:34px;overflow:auto}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.eyebrow{color:#38bdf8;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800}h1{letter-spacing:-.04em;margin:8px 0 0;font-size:clamp(28px,4vw,48px);line-height:1}h2{letter-spacing:-.02em;margin:0;font-size:20px}p{margin:0}.refresh,.secondary,.tiny{color:#fff;cursor:pointer;border:0;border-radius:14px}.refresh{background:linear-gradient(135deg,#0ea5e9,#4f46e5);padding:12px 18px;box-shadow:0 20px 38px #0ea5e933}.secondary{background:#94a3b824;border:1px solid #94a3b82e;padding:12px 16px}.tiny{color:#bfdbfe;background:#3b82f62e;border-radius:10px;padding:7px 10px}.tiny.danger{color:#fecaca;background:#ef444424}.tiny.good{color:#bbf7d0;background:#22c55e24}.refresh:hover,.secondary:hover,.tiny:hover{filter:brightness(1.08)}.alert,.success{border-radius:16px;margin-bottom:18px;padding:14px 16px}.alert{color:#fecaca;background:#ef44441f;border:1px solid #f8717147}.success{color:#bbf7d0;background:#22c55e1f;border:1px solid #4ade8040}.cards-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.metric-card{background:#0f172ab8;border:1px solid #94a3b829;border-radius:22px;padding:20px;box-shadow:0 24px 80px #0003}.metric-card.primary{background:linear-gradient(135deg,#0ea5e947,#4f46e538)}.metric-card span{color:#8ea2bf;margin-bottom:10px;font-size:13px;display:block}.metric-card strong{letter-spacing:-.04em;font-size:30px;display:block}.metric-card small{color:#93a6c1;margin-top:10px;line-height:1.4;display:block}.panel-grid{grid-template-columns:1fr 360px;gap:18px;margin-bottom:18px;display:grid}.audit-grid{align-items:start}.panel{background:#0f172ac7;border:1px solid #94a3b829;border-radius:24px;margin-bottom:18px;overflow:hidden;box-shadow:0 24px 80px #00000038}.panel-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 22px 16px;display:flex}.panel-header p{color:#8ea2bf;margin-top:6px;font-size:14px}.pill{color:#7dd3fc;white-space:nowrap;background:#38bdf81f;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.pill.sync-ok{color:#86efac;background:#22c55e24}.pill.sync-warn{color:#fde68a;background:#f59e0b24}.provisioning,.command-controls{gap:14px;padding:0 22px 22px;display:grid}.provision-form{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:12px;display:grid}.custom-command{grid-template-columns:minmax(160px,.6fr) minmax(240px,1fr) auto;align-items:end;gap:12px;display:grid}.button-row,.quick-actions{flex-wrap:wrap;gap:10px;display:flex}.field{gap:7px;display:grid}.field.wide{grid-column:1/-1}.field span{color:#8ea2bf;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:800}.field input,.field select,.field textarea{color:#eaf2ff;background:#0206177a;border:1px solid #94a3b82e;border-radius:14px;outline:none;width:100%;padding:12px 14px}.field textarea{resize:vertical;font-family:Consolas,SFMono-Regular,monospace;line-height:1.45}.field input:focus,.field select:focus,.field textarea:focus{border-color:#38bdf89e;box-shadow:0 0 0 3px #38bdf81f}.live-controls{grid-template-columns:auto auto minmax(160px,.3fr) 1fr;align-items:start;gap:12px;padding:0 22px 22px;display:grid}.live-controls pre{color:#bfdbfe;background:#0206177a;border:1px solid #94a3b81f;border-radius:14px;max-height:150px;margin:0;padding:14px;overflow:auto}.live-stat{background:#0206175c;border:1px solid #94a3b81a;border-radius:14px;gap:4px;padding:12px 14px;display:grid}.live-stat span{color:#7dd3fc;font-size:24px;font-weight:900}.settings-editor{grid-template-columns:1fr 1fr;gap:14px;padding:0 22px 22px;display:grid}.settings-editor .button-row{grid-column:1/-1}.settings-reported{gap:10px;display:grid}.settings-meta{background:#0206175c;border:1px solid #94a3b81a;border-radius:14px;justify-content:space-between;gap:14px;padding:12px;display:flex}.settings-meta span{color:#8ea2bf}.settings-reported pre{color:#bfdbfe;background:#0206177a;border:1px solid #94a3b81f;border-radius:14px;min-height:180px;max-height:280px;margin:0;padding:14px;overflow:auto}.secret-box{background:#f59e0b1a;border:1px solid #fbbf2438;border-radius:18px;gap:12px;padding:16px;display:grid}.secret-box p{color:#fcd34d;margin-top:4px;font-size:13px}.secret-box code{color:#fff7ed;overflow-wrap:anywhere;background:#0206178c;border-radius:12px;padding:12px;display:block}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{color:#8ea2bf;text-align:left;border-top:1px solid #94a3b81a;border-bottom:1px solid #94a3b81a;padding:12px 22px;font-weight:700}td{color:#d8e3f5;vertical-align:middle;border-bottom:1px solid #94a3b814;padding:15px 22px}tr:hover td{background:#94a3b80d}.empty{text-align:center;color:#8ea2bf;padding:30px}.empty.small{padding:18px}.mono{color:#bfdbfe;font-family:SFMono-Regular,Consolas,monospace}.hash{text-overflow:ellipsis;white-space:nowrap;color:#93c5fd;max-width:210px;font-family:Consolas,monospace;display:inline-block;overflow:hidden}.status{color:#86efac;background:#22c55e24;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.status.disabled,.status.command-error{color:#fca5a5;background:#ef44441f}.status.command-queued{color:#fde68a;background:#f59e0b24}.status.command-sent{color:#bfdbfe;background:#3b82f624}.status.command-success{color:#86efac;background:#22c55e24}.actions{flex-wrap:wrap;gap:8px;display:flex}.stack-list,.recording-list{gap:12px;padding:0 22px 22px;display:grid}.stack-list div,.recording-item{background:#0206175c;border:1px solid #94a3b81a;border-radius:16px;justify-content:space-between;gap:16px;padding:14px;display:flex}.stack-list b,.recording-item b{color:#eaf2ff}.stack-list span,.recording-item span{color:#8ea2bf}.recording-item{display:grid}.recording-item b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid{grid-template-columns:1fr}}@media (width<=760px){.provision-form,.custom-command,.settings-editor,.live-controls{grid-template-columns:1fr}}@media (width<=640px){.content{padding:22px}.cards-grid{grid-template-columns:1fr}.topbar{flex-direction:column}}.firmware-settings{gap:14px;padding:0 22px 22px;display:grid}.settings-toolbar{grid-template-columns:minmax(240px,1fr) auto auto auto;align-items:end;gap:12px;display:grid}.toggle-row{color:#cbd5e1;background:#0206175c;border:1px solid #94a3b81a;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:flex}.toggle-row input{accent-color:#38bdf8;width:auto}.compact-toggle{background:0 0;border:0;padding:0}.settings-meta.compact{align-items:center;min-height:52px}.settings-group{background:#0206172e;border:1px solid #94a3b824;border-radius:18px;overflow:hidden}.settings-group summary{cursor:pointer;color:#eaf2ff;justify-content:space-between;align-items:center;padding:15px 16px;font-weight:900;list-style:none;display:flex}.settings-group summary::-webkit-details-marker{display:none}.settings-group summary span{color:#7dd3fc;background:#38bdf81a;border-radius:999px;padding:5px 9px;font-size:12px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 14px 14px;display:grid}.setting-card{background:#0f172ab8;border:1px solid #94a3b81f;border-radius:16px;gap:10px;padding:14px;display:grid}.setting-card.secret-setting{border-color:#fbbf2438}.setting-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.setting-head b{color:#f8fbff;font-family:SFMono-Regular,Consolas,monospace}.setting-head small{color:#8ea2bf;margin-top:3px;font-family:SFMono-Regular,Consolas,monospace;display:block}.setting-card p{color:#9fb1cc;font-size:13px;line-height:1.45}.setting-badges{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.setting-badges span{color:#bfdbfe;background:#3b82f624;border-radius:999px;padding:4px 7px;font-size:10px}.setting-control input,.setting-control textarea{color:#eaf2ff;background:#0206177a;border:1px solid #94a3b82e;border-radius:12px;outline:none;width:100%;padding:10px 12px}.setting-control textarea{resize:vertical;font-family:Consolas,SFMono-Regular,monospace}.setting-foot{color:#7f92ad;gap:4px;font-size:12px;display:grid}.setting-foot code{color:#bfdbfe}.raw-json textarea{color:#eaf2ff;background:#0206177a;border:1px solid #94a3b82e;border-radius:14px;width:calc(100% - 28px);margin:0 14px 14px;padding:12px 14px;font-family:Consolas,SFMono-Regular,monospace}.full-width{grid-column:1/-1}.settings-actions{background:#0f172adb;border:1px solid #94a3b824;border-radius:16px;padding:12px;position:sticky;bottom:12px}@media (width<=1180px){.settings-toolbar,.settings-grid{grid-template-columns:1fr}}.login-form,.admin-user-form{grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) auto;align-items:end;gap:12px;display:grid}.account-card,.legacy-token-box,.admin-users-box{background:#0206175c;border:1px solid #94a3b81f;border-radius:16px;padding:14px}.account-card{justify-content:space-between;align-items:center;gap:14px;display:flex}.account-card p,.panel-subheader p{color:#93a6c1;margin-top:4px;font-size:13px}.legacy-token-box summary{cursor:pointer;color:#93c5fd;font-weight:800}.legacy-token-box .field{margin-top:12px}.panel-subheader{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.admin-users-box{gap:12px;display:grid}.admin-user-list{gap:8px;display:grid}.admin-user-list div{background:#0f172a8a;border:1px solid #94a3b81a;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}@media (width<=760px){.login-form,.admin-user-form{grid-template-columns:1fr}.account-card,.panel-subheader,.admin-user-list div{flex-direction:column;align-items:stretch}}.firmware-panel{margin-top:22px}.firmware-panel .field-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:14px 0;display:grid}.firmware-panel .field-inline{flex-direction:row;align-items:center;gap:10px}.firmware-panel .field-inline>input[type=checkbox]{width:auto;margin:0}.firmware-panel .hint{color:#8ea2bf;margin-top:4px;font-family:Consolas,SFMono-Regular,monospace;font-size:12px}.progress-bar{background:#94a3b81f;border:1px solid #38bdf840;border-radius:11px;height:22px;margin:10px 0;position:relative;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#38bdf8,#818cf8);transition:width .15s ease-out;position:absolute;top:0;bottom:0;left:0}.progress-bar span{text-align:center;color:#e8f1ff;font-size:12px;font-weight:700;line-height:22px;display:block;position:relative}.ota-dispatch{background:#38bdf80a;border:1px solid #38bdf82e;border-radius:10px;margin:18px 0;padding:14px}.ota-dispatch h3{text-transform:uppercase;letter-spacing:.08em;color:#b4cbe8;margin:0 0 10px;font-size:14px}.ota-grid .field-inline{align-items:flex-end;gap:10px}.firmware-panel table td code{background:#94a3b814;border-radius:4px;padding:2px 6px;font-size:12px}.firmware-panel td.empty{text-align:center;color:#8ea2bf;padding:22px 0;font-style:italic}
