:root{--layout-width:1440px;--app:#f5f7fb;--surface:#fff;--surface-2:#f0f2f5;--border:#dfe3e8;--border-hover:#cbd2da;--line:#dfe3e8;--line-soft:#eceff3;--hairline:#f0f2f5;--ink:#206bc4;--accent:#206bc4;--accent-soft:#e8f1fb;--text:#182433;--text-2:#354052;--secondary:#526173;--muted:#667382;--faint:#8995a2;--online:#1aa766;--offline:#b6bdc7;--warn:#d98a2b;--alert:#d64545;--danger:#c2403f;--panel:#fff;--panel-2:#f0f2f5;--signal:#206bc4;--signal-ink:#fff;--signal-dim:#d7e7f8;--ok:#1aa766;--idle:#b6bdc7;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-pill:999px;--radius-chip:999px;--on-ink:#fff;--ink-hover:#1859a5;--danger-soft-bg:#fbe9e9;--danger-soft-border:#f0d4d4;--danger-soft-border-hover:#e9bcbc;--ring:#206bc433;--backdrop:#1824336b;--shadow-card:0 1px 3px #1824330f;--shadow-pop:0 12px 32px -12px #1824333d;--font-sans:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-cond:var(--font-sans);--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}[data-theme=dark]{--app:#171717;--surface:#222;--surface-2:#2b2b2b;--border:#3b3b3b;--border-hover:#525252;--line:#3b3b3b;--line-soft:#333;--hairline:#303030;--ink:#4299e1;--accent:#4299e1;--accent-soft:#1d3448;--text:#f1f3f5;--text-2:#d1d5db;--secondary:#b7bdc5;--muted:#a0a6ad;--faint:#818890;--online:#2bb979;--offline:#4a5260;--warn:#e0973a;--alert:#e25757;--danger:#e57373;--panel:#111a2e;--panel-2:#2b2b2b;--signal:#4299e1;--signal-ink:#fff;--signal-dim:#29445a;--ok:#2bb979;--idle:#4a5260;--on-ink:#fff;--ink-hover:#68afea;--danger-soft-bg:#321f1f;--danger-soft-border:#593434;--danger-soft-border-hover:#754343;--ring:#4299e147;--backdrop:#000000ad;--shadow-card:0 8px 22px -16px #0000009e;--shadow-pop:0 14px 34px -14px #000000ad;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body,.app-header,.panel,.dev,.dev-row,.btn,.input,.sel,.filter-chip,.nav-item,.toast,.modal,.table th,.table td,.detail-rail .pri,.detail-rail .sec,.seg,.seg button,.toggle,.toggle button,.tabs button,.dv-search,.token-box,.vitals,.vital,.info-cell{transition:background-color .25s,border-color .25s,color .25s,box-shadow .25s}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--text);background:var(--app);font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.faint{color:var(--faint)}.label{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:600}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:6px}.btn{font-family:var(--font-sans);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;align-items:center;padding:8px 14px;font-size:14px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--border-hover)}.btn:disabled{opacity:.5;cursor:default}.btn-primary,.btn-dark{background:var(--ink);border-color:var(--ink);color:var(--on-ink);font-weight:600}.btn-primary:hover:not(:disabled),.btn-dark:hover:not(:disabled){background:var(--ink-hover);border-color:var(--ink-hover)}.btn-ghost{color:var(--secondary);background:0 0;border-color:#0000;padding:7px 9px}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-danger{color:var(--danger);border-color:var(--danger-soft-border)}.btn-danger:hover:not(:disabled){background:var(--danger-soft-bg);border-color:var(--danger-soft-border-hover)}.btn-sm{padding:6px 10px;font-size:12px}.btn-block{justify-content:center;width:100%;padding:11px}.input{font-family:var(--font-sans);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;width:100%;padding:9px 12px;font-size:14px;transition:border-color .12s,box-shadow .12s}.input::placeholder{color:var(--faint)}.input:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--ring)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.panel-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.panel-title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:17px;font-weight:600}.wordmark{letter-spacing:-.02em;align-items:center;font-size:16px;font-weight:700;display:inline-flex}.wordmark .mdm{color:var(--ink)}.wordmark .esh{color:var(--faint)}.shell{flex-direction:column;min-height:100%;display:flex}.app-header{z-index:20;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar,.nav{width:min(100%, var(--layout-width));margin-inline:auto;padding-inline:32px}.topbar{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:20px;min-height:62px;display:flex}.brand{flex:none;padding:0}.topbar-actions{align-items:center;gap:8px;display:flex}.topbar-action{gap:7px}.topbar-action .ico{width:16px;height:16px}.topbar-user{min-width:0;max-width:220px;padding:0 8px}.topbar-user .who{color:var(--secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;display:block;overflow:hidden}.nav{scrollbar-width:thin;justify-content:center;align-items:stretch;gap:4px;min-height:48px;display:flex;overflow-x:auto}.nav-item{min-height:48px;color:var(--secondary);border-bottom:2px solid #0000;flex:none;align-items:center;gap:8px;padding:0 13px;font-size:14px;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:flex}.nav-item:hover{background:color-mix(in srgb, var(--surface-2) 55%, transparent);color:var(--text)}.nav-item.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.nav-item .ico{opacity:.85;color:currentColor;flex:none;width:16px;height:16px}.nav-item.active .ico{opacity:1}.main{flex-direction:column;min-width:0;display:flex}.content{max-width:var(--layout-width);width:100%;margin-inline:auto;padding:28px 32px}.route-enter{animation:.2s routeIn}@keyframes routeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dv-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dv-head h1{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:700}.dv-count{color:var(--faint);font-size:13px;font-weight:500}.dv-spacer{flex:1}.dv-search{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;width:230px;padding:7px 11px;display:flex}.dv-search:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px var(--ring)}.dv-search svg{color:var(--faint);flex:none}.dv-search input{font-family:var(--font-sans);color:var(--text);background:0 0;border:0;outline:0;width:100%;font-size:13px}.dv-search input::placeholder{color:var(--faint)}.toggle{background:var(--surface-2);border-radius:var(--radius-sm);padding:3px;display:flex}.toggle button{color:var(--secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:5px 9px;display:grid}.toggle button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #141e3714}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 16px;display:flex}.filter-chip{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--secondary);cursor:pointer;padding:6px 12px;font-size:12.5px}.filter-chip:hover{border-color:var(--border-hover)}.filter-chip.on{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.filter-chip b{color:var(--faint);margin-left:5px;font-weight:500}.filter-chip.on b{color:color-mix(in srgb, var(--on-ink) 55%, transparent)}.filter-div{background:var(--border);width:1px;height:20px;margin:0 4px}.sel{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--secondary);cursor:pointer;font-size:12.5px;font-family:var(--font-sans);padding:6px 12px}.sel:hover{border-color:var(--border-hover)}.dev-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.dev{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:13px;padding:15px;transition:border-color .12s,box-shadow .12s}.dev:hover{border-color:var(--border-hover);box-shadow:var(--shadow-card)}.dev .h{align-items:center;gap:8px;display:flex}.dev-card-head{grid-template-columns:auto minmax(0,1fr) 32px auto;align-items:center;gap:12px;display:grid}.dev-card-icon{background:var(--surface-2);width:34px;height:34px;color:var(--muted);border:0;border-radius:50%;place-items:center;display:grid}.dev-card-identity{gap:5px;min-width:0;display:grid}.dev-card-title-row{align-items:center;gap:8px;min-width:0;display:flex}.dev-card-status{border-radius:50%;flex:none;width:8px;height:8px}.dev-card-status.on{background:var(--online);box-shadow:0 0 0 3px color-mix(in srgb, var(--online) 13%, transparent)}.dev-card-status.off{background:var(--offline)}.dev-card-identity .nm{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dev-card-id{color:var(--faint);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;padding-left:16px;font-size:11px;overflow:hidden}.dev .dot{border-radius:50%;flex:none;width:7px;height:7px}.dev .dot.on,.detail-rail .dot.on{background:var(--online)}.dev .dot.off,.detail-rail .dot.off{background:var(--offline)}.dev .nm{letter-spacing:-.01em;color:var(--text);font-size:14.5px;font-weight:650}.dev .ico{opacity:.5;color:var(--text-2);margin-left:auto}.dev .sub{color:var(--muted);margin:3px 0 0 15px;font-size:12px}.dev .kv{border-top:1px solid var(--line-soft);gap:16px;margin:14px 0 0;padding-top:12px;display:flex}.dev .kv .k{color:var(--faint);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px}.dev .kv .v{color:var(--text-2);margin-top:3px;font-size:12.5px;font-weight:500}.dev-check{accent-color:var(--ink);cursor:pointer;flex:none;width:15px;height:15px;margin:0}.dev.sel,.dev-row.sel{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.bulk-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;display:flex}.bulk-count{color:var(--text);font-size:13px;font-weight:650}.select-all{color:var(--secondary);align-items:center;gap:10px;margin-bottom:12px;font-size:13px;display:flex}.dup-badge{color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, var(--surface));border:1px solid color-mix(in srgb, var(--warn) 35%, var(--border));border-radius:var(--radius-pill);white-space:nowrap;flex:none;padding:1px 7px;font-size:10.5px;font-weight:600}.dev-list{flex-direction:column;gap:8px;display:flex}.dev-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;grid-template-columns:1fr 110px 130px 92px;align-items:center;gap:16px;padding:12px 16px;transition:border-color .12s,box-shadow .12s;display:grid}.dev-row:hover{border-color:var(--border-hover);box-shadow:var(--shadow-card)}.dev-row .id{align-items:center;gap:10px;min-width:0;display:flex}.dev-row .id .nm{letter-spacing:-.01em;color:var(--text);font-size:14px;font-weight:650}.dev-row .id .sub{color:var(--muted);font-size:12px}.dev-row .id .ico{opacity:.5;color:var(--text-2);flex:none}.dev-row .lc{flex-direction:column;gap:2px;min-width:0;display:flex}.dev-row .lk{color:var(--faint);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.dev-row .lv{color:var(--text-2);font-size:12.5px;font-weight:500}.crumb{color:var(--faint);margin-bottom:16px;font-size:12px}.crumb a{color:var(--secondary)}.crumb a:hover{color:var(--ink)}.dd-cols{grid-template-columns:312px 1fr;align-items:start;gap:16px;display:grid}.detail-rail{padding:20px}.detail-rail .top{align-items:center;gap:8px;display:flex}.detail-rail .dot{border-radius:50%;flex:none;width:8px;height:8px}.detail-rail .st{font-size:12px;font-weight:600}.detail-rail .st.on{color:var(--online)}.detail-rail .st.off{color:var(--secondary)}.detail-rail .ago{color:var(--faint);font-size:12px}.detail-rail .ico{opacity:.45;color:var(--text-2);margin-left:auto}.device-id-row{align-items:center;gap:6px;display:flex}.device-id-row h1{margin:0}.detail-rail h1{letter-spacing:-.02em;margin:12px 0 2px;font-size:20px;font-weight:700}.btn-icon{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;line-height:1;display:inline-flex}.btn-icon:hover{color:var(--fg);background:var(--surface2)}.dd-name-wrap{margin-top:12px;padding:2px 0}.dd-name-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;display:flex}.dd-name-label{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600;display:block}.dd-name-edit-button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:4px;padding:3px 5px;font-size:11px;display:inline-flex}.dd-name-edit-button:hover{background:var(--surface-2);color:var(--accent)}.dd-name{border:0;border-bottom:1px solid var(--line-soft);cursor:pointer;width:100%;color:var(--text);text-align:left;overflow-wrap:anywhere;background:0 0;border-radius:0;align-items:center;margin:0;padding:3px 0 4px;font-size:14px;font-weight:600;line-height:1.4;display:flex}.dd-name:hover{border-bottom-color:var(--border-hover);color:var(--accent)}.dd-name-placeholder{color:var(--muted);font-size:13px;font-weight:450}.dd-name-edit{grid-template-columns:minmax(0,1fr) auto auto;gap:6px;margin:0 0 2px;display:grid}.dd-name-edit input{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);border-radius:8px;flex:1;padding:6px 9px;font-size:13px}.dd-name-edit input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}.dd-name-edit .pri,.dd-name-edit .sec{cursor:pointer;border-radius:8px;flex:none;padding:6px 11px;font-size:12px;font-weight:600}.dd-name-edit .pri{background:var(--ink);color:var(--on-ink);border:0}.dd-name-edit .sec{background:var(--surface);color:var(--text);border:1px solid var(--border)}.dd-name-edit .pri:disabled,.dd-name-edit .sec:disabled{opacity:.55;cursor:default}.detail-rail .actions{grid-template-columns:minmax(72px,.85fr) minmax(58px,.65fr) minmax(100px,1.4fr);gap:8px;margin:16px 0 8px;display:grid}.detail-rail .pri{background:var(--ink);color:var(--on-ink);cursor:pointer;white-space:nowrap;border:0;border-radius:9px;padding:8px 10px;font-size:13px;font-weight:600}.detail-rail .dd-sync{justify-content:center;align-items:center;gap:6px;display:inline-flex}.detail-rail .pri:hover:not(:disabled){background:var(--ink-hover)}.detail-rail .pri:disabled{opacity:.55;cursor:default}.detail-rail .sec{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:9px;padding:8px 9px;font-size:13px}.detail-rail .dd-install{text-overflow:ellipsis;overflow:hidden}.detail-rail .sec:hover:not(:disabled){border-color:var(--border-hover)}.detail-rail .grp{text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin:24px 0 8px;font-size:11px;font-weight:600}.detail-rail .row{border-bottom:1px solid var(--hairline);justify-content:space-between;gap:16px;padding:7px 0;font-size:13px;display:flex}.detail-rail .row:last-child{border:0}.detail-rail .row .k{color:var(--faint);flex:none}.detail-rail .row .v{color:var(--text-2);text-align:right;word-break:break-word;font-weight:500}.detail-main{padding:20px}.dd-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.dd-info-section{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-2);min-width:0;padding:14px}.dd-info-section .grp{color:var(--text);margin:0 0 8px;font-size:12px;font-weight:600}.dd-info-section .row{border-bottom:1px solid var(--hairline);justify-content:space-between;gap:16px;padding:7px 0;font-size:13px;display:flex}.dd-info-section .row .k{color:var(--faint);flex:none}.dd-info-section .row .v{color:var(--text-2);text-align:right;font-weight:500}.dd-info-section .row:last-child{border-bottom:0}.dd-info-section .row .v{overflow-wrap:anywhere;min-width:0}.tabs{border-bottom:1px solid var(--line-soft);gap:4px;margin:-4px 0 20px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px;font-size:13px}.tabs button:hover{color:var(--text)}.tabs button.on{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.tabbody>.panel{box-shadow:none;background:0 0;border:0;border-radius:0}.tabbody>.panel>.panel-head,.tabbody>.panel>.panel-title,.tabbody>.panel>.state-grid{display:none}.seg{background:var(--surface-2);border-radius:9px;padding:3px;display:inline-flex}.seg button{color:var(--secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:6px 12px;font-size:12.5px;display:inline-flex}.seg button.on{background:var(--surface);color:var(--accent);font-weight:600;box-shadow:0 1px 2px #141e3714}.detail-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:22px;display:flex}.detail-head .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);font-size:24px;font-weight:600}.back-link{color:var(--secondary);align-items:center;gap:6px;margin-bottom:16px;font-size:12px;display:inline-flex}.back-link:hover{color:var(--ink)}.detail-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:16px;display:grid}.info-grid{background:var(--line-soft);border-radius:0 0 var(--radius-lg) var(--radius-lg);grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.info-cell{background:var(--surface);flex-direction:column;gap:5px;padding:13px 16px;display:flex}.info-cell .k{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:600}.info-cell .v{color:var(--text);word-break:break-word;font-size:14px}.info-cell .v.mono{font-family:var(--font-mono);font-size:13px}.action-group{margin-top:24px}.action-group:first-of-type{margin-top:0}.action-group-title{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin:0 0 8px;font-size:11px;font-weight:600}.action-grid{flex-wrap:wrap;gap:8px;display:flex}.state-grid{flex-wrap:wrap;gap:18px 24px;margin:4px 0 8px;display:flex}.state-grid>div{flex-direction:column;gap:2px;display:flex}.state-grid dt{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-size:10px}.state-grid dd{color:var(--text-2);margin:0;font-size:14.5px}.timeline{margin-top:24px}.timeline ul{margin:0;padding:0;list-style:none}.timeline-item{border-bottom:1px solid var(--hairline);align-items:center;gap:10px;padding:7px 0;font-size:13px;display:flex}.timeline-item:last-child{border-bottom:none}.timeline-item .t-type{color:var(--text)}.timeline-item .t-detail{color:var(--muted);font-size:12px}.t-status{text-transform:uppercase;letter-spacing:.05em;margin-left:auto;font-size:11px;font-weight:600}.timeline-item .t-status{margin-left:auto}.status-done{color:var(--online)}.status-failed,.status-expired,.status-unsupported{color:var(--alert)}.status-delivered,.status-pending{color:var(--faint)}.device-tab-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin:2px 0 18px;display:flex}.device-tab-heading h2{color:var(--text);letter-spacing:-.02em;margin:0;font-size:18px}.device-tab-heading p,.activity-heading p,.telemetry-group-head p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.5}.telemetry-live{border:1px solid var(--line-soft);border-radius:var(--radius-pill);color:var(--secondary);flex:none;align-items:center;gap:7px;padding:6px 9px;font-size:11px;font-weight:600;display:inline-flex}.telemetry-live>span{background:var(--online);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--online) 15%, transparent);border-radius:50%}.telemetry-live.is-error>span{background:var(--alert);box-shadow:0 0 0 3px color-mix(in srgb, var(--alert) 15%, transparent)}.telemetry-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.telemetry-column{flex-direction:column;gap:14px;min-width:0;display:flex}.telemetry-group,.device-activity,.recent-commands{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-2);min-width:0;padding:16px}.telemetry-group-head,.activity-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.telemetry-group-head h3,.activity-heading h3{color:var(--text);margin:0;font-size:13px;font-weight:650}.telemetry-title-row{align-items:center;gap:8px;display:flex}.telemetry-group-icon{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:8px;flex:none;place-items:center;display:inline-grid}.telemetry-field-count,.activity-count{border:1px solid var(--border);border-radius:var(--radius-pill);min-width:24px;height:24px;color:var(--secondary);place-items:center;padding:0 7px;font-size:11px;font-weight:600;display:inline-grid}.telemetry-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.telemetry-field{border:1px solid var(--line-soft);background:var(--surface);border-radius:8px;min-width:0;padding:10px 11px}.telemetry-field dt{color:var(--faint);letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:600}.telemetry-field dd{overflow-wrap:anywhere;color:var(--text);font-family:var(--font-mono);margin:0;font-size:12px;line-height:1.5}.events-view{gap:14px;display:grid}.device-activity,.recent-commands{background:var(--surface)}.event-list,.command-list{margin:0;padding:0;list-style:none;display:grid}.event-item,.command-item{border-top:1px solid var(--hairline);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.activity-marker{border:2px solid var(--accent);background:var(--surface);width:10px;height:10px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%;flex:none;margin:4px 2px 0;display:block;position:relative}.command-marker.status-done{border-color:var(--online);box-shadow:0 0 0 3px color-mix(in srgb, var(--online) 14%, transparent)}.command-marker.status-failed,.command-marker.status-expired,.command-marker.status-unsupported{border-color:var(--alert);box-shadow:0 0 0 3px color-mix(in srgb, var(--alert) 14%, transparent)}.activity-content{flex:1;gap:5px;min-width:0;display:grid}.activity-title-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.activity-title{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:13px;font-weight:600}.activity-time,.command-type{color:var(--faint);font-size:11px}.event-detail,.command-detail{color:var(--text-2);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.command-status{color:var(--faint);letter-spacing:.05em;text-transform:uppercase;flex:none;font-size:10px;font-weight:700}.command-status.status-done{color:var(--online)}.command-status.status-failed,.command-status.status-expired,.command-status.status-unsupported{color:var(--alert)}.activity-more{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:7px;padding:0}.activity-empty,.activity-error{background:var(--surface-2);color:var(--muted);border-radius:8px;margin:0;padding:12px;font-size:12px}.activity-error{color:var(--alert);background:var(--danger-soft-bg);margin-bottom:12px}.modal-backdrop{background:var(--backdrop);z-index:50;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:340px;max-width:90vw;box-shadow:var(--shadow-pop);padding:22px}.modal h3{margin:0 0 6px;font-size:16px;font-weight:600}.modal .field{flex-direction:column;gap:6px;margin:12px 0;display:flex}.modal .field>span{color:var(--muted);font-size:12px}.modal .field input{font-family:var(--font-sans);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:9px 12px;font-size:14px}.modal .field input:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--ring)}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-head h1{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:700}.page-subtitle{color:var(--muted);margin:5px 0 0;font-size:13px}.docs-frame{background:0 0;border:0;width:100%;min-height:1px;display:block;overflow:hidden}.page-head .count{color:var(--faint);margin-left:8px;font-size:14px;font-weight:500}.search-row{align-items:center;gap:8px;display:flex}.search-row .input{min-width:260px}.table{border-collapse:collapse;width:100%}.table th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line-soft);white-space:nowrap;padding:10px 16px;font-size:11px;font-weight:600}.table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:12px 16px}.table tbody tr:last-child td{border-bottom:none}.row-link{cursor:pointer}.row-link:hover{background:var(--hairline)}.cell-num{color:var(--text);font-weight:600}.cell-sub{color:var(--muted);font-size:13px}.cell-time{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;font-size:13px}.dot{background:var(--offline);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot-ok{background:var(--online)}.dot-warn{background:var(--warn)}.dot-alert{background:var(--alert)}.dot-idle{background:var(--offline)}.status-cell{white-space:nowrap;align-items:center;gap:9px;display:inline-flex}.status-cell .txt{color:var(--secondary);font-size:13px}.chip{border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--secondary);background:var(--surface);align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.chip-enforced{color:var(--ok);border-color:var(--ok);margin-left:6px;padding:1px 6px;font-size:10px}.chip-enforced.chip-scope{color:var(--secondary);border-color:var(--border)}.chip-enforced.chip-scope.off{color:var(--faint);border-style:dashed}.cfg-field-warn{color:var(--warn);font-weight:500}.cfg-reveal{align-items:center;gap:6px;width:100%;display:flex}.cfg-reveal .input{flex:1;min-width:0}.cfg-color{align-items:center;gap:8px;display:inline-flex}.cfg-color-v{color:var(--muted);font-size:12px;font-family:var(--font-mono)}.chip.tone-ok{color:var(--ok);border-color:var(--ok)}.chip.tone-warn{color:var(--warn);border-color:var(--warn)}.chip.tone-alert{color:var(--danger);border-color:var(--danger)}.cfg-outcomes{margin:6px 0 0;padding:0;font-size:12px;list-style:none}.cfg-outcomes li{justify-content:space-between;gap:8px;display:flex}.cfg-outcomes li.ok{color:var(--ok)}.cfg-outcomes li.alert{color:var(--danger)}.cfg-outcomes li.warn{color:var(--warn)}.cfg-sync{align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}.cfg-sync .rollout-track{flex:1}.empty{text-align:center;color:var(--faint);padding:44px 24px;font-size:13px}.empty .label{color:var(--secondary);margin-bottom:6px;display:block}.banner{border-radius:var(--radius);border:1px solid;margin-bottom:16px;padding:11px 14px;font-size:13px}.banner-alert{background:var(--danger-soft-bg);border-color:var(--danger-soft-border);color:var(--danger)}.banner-warn{background:color-mix(in srgb, var(--warn) 12%, var(--surface));border-color:color-mix(in srgb, var(--warn) 38%, var(--border));color:color-mix(in srgb, var(--warn) 72%, var(--text))}.login-screen{background:radial-gradient(900px 500px at 50% -10%, var(--surface) 0%, var(--app) 70%);place-items:center;min-height:100%;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow-card);box-shadow:var(--shadow-card);border-radius:8px;padding:30px 30px 28px}.login-card .wordmark{font-size:22px}.login-head{margin:22px 0}.login-head h1{letter-spacing:-.01em;color:var(--text);margin:0;font-size:20px;font-weight:700}.login-head p{color:var(--muted);margin:4px 0 0;font-size:13px}.field{flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.field>.label{color:var(--secondary)}.login-err{color:var(--alert);margin:-2px 0 16px;font-size:13px;font-weight:500}.login-ok{color:var(--ok);margin:-2px 0 16px;font-size:13px;font-weight:500}.enroll-wrap{max-width:640px}.token-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;margin:16px 0 10px;padding:14px 16px;display:flex}.token-box .tok{font-family:var(--font-mono);color:var(--ink);word-break:break-all;flex:1;font-size:14px}.note{color:var(--muted);font-size:13px;line-height:1.55}.tip{display:inline-flex;position:relative}.tip-pop{background:var(--ink);width:232px;color:var(--on-ink);text-align:left;box-shadow:var(--shadow-pop);opacity:0;visibility:hidden;z-index:40;pointer-events:none;border-radius:8px;padding:9px 11px;font-size:12px;font-weight:400;line-height:1.45;transition:opacity .14s,transform .14s;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(2px)}.tip:hover .tip-pop,.tip:focus-within .tip-pop{opacity:1;visibility:visible;transform:translateY(0)}.tip-pop:before{content:"";border:5px solid #0000;border-bottom-color:var(--ink);position:absolute;bottom:100%;left:18px}.enroll{width:100%;max-width:1200px}.mode-desc{color:var(--muted);margin:0 0 16px;font-size:13px}.enroll-top{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.enroll-top .sp{flex:1}.enroll-cfg{align-items:center;gap:10px;padding:16px 20px 0;display:flex}.qr-layout{grid-template-columns:minmax(0,354px) minmax(240px,1fr) minmax(300px,.95fr);align-items:start;gap:18px;padding:20px;display:grid}.qr-steps{grid-column:2}.wifi-block{grid-column:3;margin-top:0}@media (width<=1040px){.qr-layout{grid-template-columns:minmax(0,354px) minmax(0,1fr)}.qr-steps,.wifi-block{grid-column:2}}@media (width<=720px){.qr-layout{grid-template-columns:minmax(0,1fr)}}.qr-frame{border:1px solid var(--border);border-radius:var(--radius);background:#fff;place-items:center;padding:16px;display:grid}.qr-frame img,.qr-frame svg,.qr-frame canvas{width:320px;max-width:100%;height:320px;image-rendering:pixelated;display:block}.qr-cap{text-align:center;color:var(--faint);margin-top:10px;font-size:12px}.qr-guidance{display:contents}.wifi-block{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-2);align-self:start;padding:14px;font-size:13px}.wifi-block>summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text);gap:4px;font-weight:600;display:grid}.wifi-block>summary small{color:var(--muted);font-size:11.5px;font-weight:400}.wifi-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.wifi-fields .wifi-config,.wifi-fields .note{grid-column:1/-1}.wifi-fields label{min-width:0;color:var(--faint);gap:4px;font-size:12px;display:grid}.wifi-fields input,.wifi-fields .sel{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px}.wifi-fields .note{margin:2px 0 0}.qr-steps{flex-direction:column;gap:16px;display:flex}.qr-step{align-items:flex-start;gap:12px;display:flex}.step-n{background:var(--surface-2);width:24px;height:24px;color:var(--text);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.qr-step .st-tx{color:var(--text);padding-top:2px;font-size:13.5px}.qr-step .st-tx .sub{color:var(--muted);margin-top:3px;font-size:12.5px;line-height:1.5;display:block}.qr-err{padding:20px}.app-grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:14px;display:grid}.app-card{background:var(--surface);border:1px solid var(--border);border-radius:13px;flex-direction:column;gap:14px;padding:15px;display:flex}.app-card:hover{border-color:var(--border-hover)}.app-top{align-items:center;gap:12px;min-width:0;display:flex}.app-ic{background:var(--surface-2);width:40px;height:40px;color:var(--secondary);border-radius:10px;flex:none;place-items:center;font-size:18px;font-weight:700;display:grid}.app-ic-img{object-fit:contain;background:var(--surface);border:1px solid var(--line-soft);padding:4px}.app-meta{min-width:0}.app-sum{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:-4px;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.app-nm{letter-spacing:-.01em;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.app-pkg{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.app-foot{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding-top:12px;display:flex}.app-ver{color:var(--faint);font-size:12.5px;font-family:var(--font-mono)}.dropzone{border:1.5px dashed var(--border);border-radius:var(--radius);background:var(--surface-2);text-align:center;cursor:pointer;padding:26px 18px;transition:border-color .14s,background .14s}.dropzone:hover{border-color:var(--border-hover)}.dropzone.over{border-color:var(--ink);background:var(--hairline)}.dropzone.busy{cursor:default}.dropzone .dz-main{color:var(--text);font-size:13.5px;font-weight:500;display:block}.dropzone .dz-sub{color:var(--faint);margin-top:4px;font-size:12px;font-weight:400;display:block}.deploy-modal{width:460px;max-width:92vw}.deploy-devlist{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:280px;overflow-y:auto}.deploy-devrow{border-bottom:1px solid var(--hairline);cursor:pointer;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.deploy-devrow:last-child{border-bottom:0}.deploy-devrow input{flex:none}.deploy-devrow .dd-nm{color:var(--text);font-weight:500}.deploy-devrow .dd-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.deploy-devrow .dd-seen{color:var(--faint);font-size:11.5px;font-family:var(--font-mono);white-space:nowrap;margin-left:auto}.deploy-runafter{color:var(--text);align-items:center;gap:8px;margin-top:14px;font-size:13px;display:flex}.cfg-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.cfg-card{background:var(--surface);border:1px solid var(--border);border-radius:13px;flex-direction:column;gap:10px;padding:16px;display:flex}.cfg-card:hover{border-color:var(--border-hover)}.cfg-top{align-items:center;gap:8px;display:flex}.cfg-nm{letter-spacing:-.01em;color:var(--text);font-size:15px;font-weight:650}.cfg-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--secondary);background:var(--surface-2);border-radius:var(--radius-pill);margin-left:auto;padding:2px 8px;font-size:10.5px;font-weight:600}.cfg-desc{color:var(--muted);font-size:12.5px;line-height:1.45}.cfg-meta{border-top:1px solid var(--line-soft);gap:24px;padding-top:10px;display:flex}.cfg-meta .k{text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-size:10.5px;display:block}.cfg-meta .v{color:var(--text-2);margin-top:2px;font-size:13px;font-weight:500;display:block}.cfg-actions{gap:8px;margin-top:2px;display:flex}.cfg-editbar{align-items:center;gap:8px;margin-bottom:16px;display:flex}.cfg-panel{min-width:0;padding:16px}.cfg-groups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;margin-bottom:14px;display:grid}.cfg-group-column{flex-direction:column;gap:14px;min-width:0;display:flex}.cfg-sec-h{color:var(--ink);margin:0 0 10px;font-size:13px;font-weight:600}.cfg-field{border-bottom:1px solid var(--hairline);grid-template-columns:minmax(0,1fr) minmax(150px,42%);align-items:start;gap:18px;padding:11px 0;display:grid}.cfg-field:last-child{border-bottom:0}.cfg-field-label label{color:var(--text);font-size:13.5px;font-weight:500}.cfg-field-help{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.4;display:block}.cfg-field-ctl{justify-content:stretch;min-width:0;display:flex}.cfg-field-ctl>input[type=checkbox]{margin-left:auto}.cfg-field-ctl .input,.cfg-field-ctl .sel{width:100%}.cfg-field-ctl .seg{flex:0 auto;min-width:0;max-width:100%;margin-left:auto}.cfg-field-ctl .seg button{white-space:nowrap;min-width:0;padding-inline:7px}.cfg-app{border-bottom:1px solid var(--hairline);align-items:center;gap:10px;padding:8px 0;display:flex}.cfg-app-nm{color:var(--text);font-size:13px;font-weight:500}.cfg-app-pkg{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.cfg-app-kiosk{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:inline-flex}.cfg-app-add{margin-top:12px}.cfg-empty{color:var(--faint);padding:4px 0 8px;font-size:13px}.cfg-badge.default{color:var(--ink);background:var(--surface-2)}.cfg-badge+.cfg-badge{margin-left:0}.cfg-badge.warn{color:color-mix(in srgb, var(--warn) 72%, var(--text));background:color-mix(in srgb, var(--warn) 14%, var(--surface))}.cfg-default-note{background:var(--surface-2);border-color:var(--border);color:var(--secondary)}.chooser-list{flex-direction:column;gap:8px;margin:4px 0 8px;display:flex}.chooser-opt{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;gap:2px;padding:11px 14px;display:flex}.chooser-opt:hover{border-color:var(--ink);background:var(--hairline)}.chooser-nm{color:var(--text);font-size:13.5px;font-weight:600}.chooser-sub{color:var(--muted);font-size:12px}.app-picker{width:560px;max-width:94vw}.picker-top{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;display:flex}.picker-list{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:46vh;overflow-y:auto}.picker-row{border-bottom:1px solid var(--hairline);cursor:pointer;align-items:center;gap:11px;padding:9px 12px;display:flex}.picker-row:last-child{border-bottom:0}.picker-row.on{background:var(--hairline)}.picker-ic{background:var(--surface-2);width:30px;height:30px;color:var(--secondary);border-radius:8px;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.picker-meta{flex:1;min-width:0}.picker-nm{color:var(--text);font-size:13px;font-weight:550;display:block}.picker-pkg{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;display:block;overflow:hidden}.picker-ver{color:var(--faint);font-size:11.5px;font-family:var(--font-mono)}.settings{max-width:var(--layout-width);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;width:100%;margin-inline:auto;display:grid}.settings-page-head{max-width:var(--layout-width);margin-inline:auto}.settings>.panel{min-width:0}.settings>.settings-updates,.settings>.settings-account-create{grid-column:1/-1}.account-preview-tag{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:3px 8px;font-size:11px}.qc-account-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 20px 20px;display:grid}.qc-account-form label{color:var(--secondary);align-content:start;gap:6px;font-size:12px;font-weight:500;display:grid}.qc-account-form .qc-account-actions{align-items:end;display:flex}.qc-account-form .qc-account-actions .btn{width:100%}.settings-account-create .note{margin:0;padding:0 20px 16px}.settings>#rollout-anchor{grid-column:1/-1}.settings>#rollout-anchor:empty{display:none}.set-row{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:16px;padding:13px 20px;font-size:13.5px;display:flex}.set-row:last-child{border-bottom:0}.settings>.panel .set-row .k{color:var(--secondary);flex:1 1 0;min-width:0}.settings>.panel .set-row .k small{color:var(--faint);margin-top:2px;font-size:12px;font-weight:400;display:block}.settings>.panel .set-row .v{color:var(--text);text-align:right;word-break:break-word;flex:0 auto;min-width:0;max-width:55%;font-weight:500}.settings>.panel .set-row .v.mono{font-family:var(--font-mono);font-size:13px;font-weight:400}.settings>.panel .set-row .v>.sel{width:100%;min-width:0;max-width:240px}.settings>.panel .set-row .v>.seg{max-width:100%;overflow-x:auto}.conn{align-items:center;gap:8px;font-weight:500;display:inline-flex}.vitals{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:repeat(4,1fr);margin-bottom:24px;display:grid;overflow:hidden}.vital{border-left:1px solid var(--line-soft);flex-direction:column;gap:10px;padding:18px 22px 16px;display:flex}.vital:first-child{border-left:none}.vital-label{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:600}.vital-readout{align-items:baseline;gap:8px;display:flex}.vital-num{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text);font-size:34px;font-weight:700;line-height:1}.vital-sub{font-family:var(--font-mono);color:var(--muted);font-size:12px}.vital-arc{width:100%;height:26px;display:block}.vital-note{color:var(--faint);font-size:11px}.dash-grid{grid-template-columns:1.6fr 1fr;align-items:start;gap:24px;display:grid}.ov-grid{grid-template-columns:1fr 320px;align-items:start;gap:16px;display:grid}.ov-col{flex-direction:column;gap:16px;display:flex}.fleet{grid-template-columns:minmax(150px,.7fr) minmax(0,2fr);align-items:center;gap:18px 24px;margin-bottom:16px;padding:20px;display:grid}.fleet-heading-label{color:var(--muted);margin-bottom:5px;font-size:13px;font-weight:600}.fleet-big{color:var(--text);white-space:nowrap;align-items:baseline;gap:7px;display:flex}.fleet-big strong{letter-spacing:-.02em;font-size:34px;font-weight:700;line-height:1}.fleet-big small{color:var(--faint);font-size:13px;font-weight:500}.fleet-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.fleet-stat{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface-2);min-width:0;padding:11px 13px}.fleet-stat-label{color:var(--muted);align-items:center;gap:7px;font-size:12px;line-height:1.25;display:flex}.fleet-stat-label i{background:var(--offline);border-radius:50%;flex:none;width:8px;height:8px}.fleet-stat-online .fleet-stat-label i{background:var(--online)}.fleet-stat-attention .fleet-stat-label i{background:var(--warn)}.fleet-stat>strong{color:var(--text);font-variant-numeric:tabular-nums;margin-top:5px;font-size:21px;line-height:1;display:block}.fleet-progress{grid-column:1/-1;gap:8px;display:grid}.fleet-progress-label{color:var(--muted);justify-content:space-between;gap:12px;font-size:12px;display:flex}.fleet-progress-label strong{color:var(--secondary);white-space:nowrap;font-weight:600}.fleet-bar{background:var(--surface-2);border-radius:6px;height:8px;display:flex;overflow:hidden}.fleet-bar i{height:100%;display:block}.ov-listpad{padding:4px 0 8px}.feed-item{border-bottom:1px solid var(--hairline);align-items:flex-start;gap:12px;padding:11px 20px;display:flex}.feed-item:last-child{border-bottom:0}.feed-ic{background:var(--surface-2);width:28px;height:28px;color:var(--secondary);border-radius:8px;flex:none;place-items:center;display:grid}.feed-tx{min-width:0;font-size:13px}.feed-tx b{font-weight:600}.feed-sub{color:var(--faint);margin-top:2px;font-size:12px}.feed-tm{color:var(--faint);font-size:11.5px;font-family:var(--font-mono);white-space:nowrap;margin-left:auto;padding-left:8px}.att-row{border-bottom:1px solid var(--hairline);cursor:pointer;align-items:flex-start;gap:10px;padding:9px 20px;font-size:13px;display:flex}.att-row:last-child{border-bottom:0}.att-row:hover{background:var(--hairline)}.att-copy{flex:1;min-width:0}.att-nm{text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.att-reason{color:var(--faint);overflow-wrap:anywhere;margin-top:3px;font-size:12px;line-height:1.35;display:block}.cfg-row{border-bottom:1px solid var(--hairline);justify-content:space-between;padding:9px 20px;font-size:13px;display:flex}.cfg-row:last-child{border-bottom:0}.cfg-row .k{color:var(--secondary)}.cfg-row .v{color:var(--faint);font-family:var(--font-mono)}.toast-wrap{z-index:60;flex-direction:column;gap:10px;max-width:360px;display:flex;position:fixed;bottom:22px;right:22px}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);align-items:flex-start;gap:11px;padding:12px 14px;animation:.2s both toastIn;display:flex}.toast .t-ic{color:#fff;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;margin-top:1px;display:grid}.toast.ok .t-ic{background:var(--online)}.toast.err .t-ic{background:var(--alert)}.toast .t-main{min-width:0}.toast .t-title{color:var(--text);font-size:13px;font-weight:600;line-height:1.35}.toast .t-body{color:var(--muted);word-break:break-word;margin-top:2px;font-size:12px}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.spin{border:2px solid var(--border);border-top-color:var(--ink);vertical-align:-2px;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=920px){.dd-cols,.detail-grid,.dash-grid,.ov-grid{grid-template-columns:1fr}.ov-grid,.ov-col{min-width:0}}@media (width<=860px){.topbar,.nav{padding-inline:20px}.content{padding:18px 16px}.cfg-groups{grid-template-columns:minmax(0,1fr)}.cfg-group-column{display:contents}.cfg-field{grid-template-columns:minmax(0,1fr) minmax(180px,40%)}.settings{grid-template-columns:minmax(0,1fr)}.qc-account-form{grid-template-columns:repeat(2,minmax(0,1fr))}.dd-info-grid{grid-template-columns:minmax(0,1fr)}.dev-grid{grid-template-columns:1fr}.vitals{grid-template-columns:1fr 1fr}.search-row .input{min-width:0}.page-head,.panel-head{align-items:flex-start}.page-head>*,.panel-head>*{min-width:0}.search-row{flex-wrap:wrap;width:100%}.search-row .input{flex:180px}.set-row{flex-direction:column;align-items:stretch;gap:8px;padding:12px 16px}.set-row .k,.set-row .v{width:100%;min-width:0}.set-row .v{text-align:left}.settings>.panel .set-row .v{max-width:100%}.set-row .v .sel{width:100%}}@media (width<=620px){.nav{justify-content:flex-start}}@media (width<=520px){.topbar,.nav{padding-inline:12px}.topbar{gap:8px;min-height:56px}.topbar-actions{gap:2px}.topbar-user{max-width:105px;padding-inline:4px}.topbar-action{justify-content:center;width:36px;height:36px;padding:6px}.topbar-action-label{display:none}.nav{min-height:44px}.nav-item{gap:6px;min-height:44px;padding-inline:10px;font-size:12.5px}.content{padding:14px 12px}[data-density=compact] .content{padding:12px}.page-head,.dv-head{gap:10px;margin-bottom:16px}.page-head h1,.dv-head h1{font-size:21px}.dv-head .dv-spacer{display:none}.dv-head .dv-search{flex:100%;order:2;width:100%}.dv-head .toggle,.dv-head>.btn{order:3}.filters{gap:6px}.filters .filter-div{display:none}.filters .sel{flex:140px;min-width:0}.app-grid,.cfg-grid{grid-template-columns:minmax(0,1fr)}.cfg-panel{padding:14px}.cfg-field,.cfg-field-label,.cfg-field-ctl{min-width:0}.cfg-field{grid-template-columns:minmax(0,1fr);gap:8px}.cfg-field-ctl{width:100%}.cfg-field-ctl .seg{max-width:100%;overflow-x:auto}.fleet{gap:14px;padding:16px}.fleet-big{gap:6px}.fleet-big strong{font-size:30px}.panel-head{flex-wrap:wrap;gap:8px;padding:14px 16px}.panel-head>.btn{max-width:100%}.modal{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px;overflow-y:auto}.modal-actions{flex-wrap:wrap}.modal-actions .btn{flex:auto}.tabs{scrollbar-width:thin;overflow-x:auto}.tabs button{white-space:nowrap}.seg.modes{width:100%;display:flex;overflow-x:auto}.seg.modes button{white-space:nowrap}.vitals,.info-grid{grid-template-columns:1fr}.dev-row{grid-template-columns:1fr 70px}.dev-row .lc:nth-child(3){display:none}}[data-density=compact] .content{padding:16px 20px}[data-density=compact] .panel-head{padding:12px 16px}[data-density=compact] .detail-rail,[data-density=compact] .detail-main{padding:16px}[data-density=compact] .dev{padding:12px}[data-density=compact] .dev-grid{gap:10px}[data-density=compact] .dev-row{padding:9px 14px}[data-density=compact] .table th{padding:8px 14px}[data-density=compact] .table td{padding:9px 14px}[data-density=compact] .vital{padding:14px 18px 13px}::view-transition-old(root){animation-duration:.3s}::view-transition-new(root){animation-duration:.3s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}::-webkit-scrollbar-track{background:0 0}.modal.kiosk-modal{width:92vw;max-width:640px}.kiosk-scan{flex-direction:column;gap:10px;padding:12px 0;display:flex}.err-text{color:var(--danger);font-size:13px}.kiosk-mode{color:var(--text-2);gap:18px;margin:6px 0 10px;font-size:13px;display:flex}.kiosk-mode label{cursor:pointer;align-items:center;gap:6px;display:flex}.kiosk-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.kiosk-search{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:8px;flex:180px;padding:7px 10px}.kiosk-toggle{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.kiosk-applist{border:1px solid var(--line);border-radius:10px;flex-direction:column;max-height:46vh;display:flex;overflow-y:auto}.kiosk-app{border:0;border-bottom:1px solid var(--line-soft);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.kiosk-app:last-child{border-bottom:0}.kiosk-app:hover{background:var(--panel-2)}.kiosk-app.on{background:var(--signal-dim)}.kiosk-ico{object-fit:cover;border-radius:7px;flex:none;width:32px;height:32px}.kiosk-ico.ph{background:var(--panel-2);color:var(--muted);justify-content:center;align-items:center;font-size:14px;font-weight:600;display:inline-flex}.kiosk-app-meta{flex-direction:column;flex:auto;min-width:0;display:flex}.kiosk-app-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.kiosk-app-pkg{color:var(--muted);font-size:11px;font-family:var(--font-mono,monospace);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kiosk-badges{flex:none;align-items:center;gap:5px;display:flex}.kiosk-badge{background:var(--panel-2);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 6px;font-size:10px}.kiosk-badge.sys{color:var(--warn);border-color:var(--warn)}.kiosk-badge.on{color:var(--signal-ink);background:var(--ink);border-color:var(--ink)}.kiosk-exit-row{gap:12px;margin-top:12px;display:flex}.kiosk-exit-row .field{flex:1}.kiosk-source{border:1px solid var(--line);background:var(--panel-2);border-radius:9px;gap:4px;margin:4px 0 8px;padding:3px;display:inline-flex}.kiosk-source .seg-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 14px;font-size:13px}.kiosk-source .seg-btn.on{background:var(--panel);color:var(--text);box-shadow:0 1px 2px #00000014}.t-detail.open{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono,monospace);border:1px solid var(--line);background:var(--panel-2);border-radius:8px;max-height:220px;margin-top:4px;padding:8px;font-size:11px;display:block;overflow:auto}.t-more{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0 0 0 6px;font-size:11px;text-decoration:underline}.t-detail.open .t-more{padding:6px 0 0;display:block}.loc-map{border:1px solid var(--line);border-radius:10px;width:100%;height:380px;overflow:hidden}.loc-map .leaflet-control-attribution{font-size:10px}.update-banner{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:10px 14px;font-size:13px;display:flex}.update-banner .ub-ok{color:var(--ok)}.update-banner .ub-warn{color:var(--warn)}.update-banner .ub-ch{color:var(--muted)}.update-banner.ub-busy{border-color:var(--accent)}.update-banner.ub-fail{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, var(--panel-2))}.update-banner .ub-spin{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite ub-spin}@keyframes ub-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.update-banner .ub-spin{animation:none}}.reload-bar{z-index:20;border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--panel-2));border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:10px 14px;font-size:13px;display:flex;position:sticky;top:0}.reload-bar .reload-actions{flex:none;gap:8px;display:flex}.auto-update-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.auto-update-row .au-note{color:var(--muted);max-width:46ch;margin:4px 0 0;font-size:12px}.whatsnew{white-space:pre-wrap;word-break:break-word;max-height:180px;font-family:var(--font-mono);color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;max-width:52ch;padding:8px 10px;font-size:12px;line-height:1.5;overflow:auto}.whatsnew-link{margin-top:6px;font-size:12px;display:inline-block}.upd-actions{flex-wrap:wrap;gap:8px;display:flex}.rollout-cohort{padding:8px 0}.rollout-cohort-head{justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.rollout-track{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;height:8px;overflow:hidden}.rollout-fill{background:var(--ok);height:100%;transition:width .4s}.rollout-legend{gap:14px;margin-top:6px;font-size:12px;display:flex}.rollout-legend .muted{color:var(--muted)}.rollout-devicelist{border:1px solid var(--line);border-radius:10px;max-height:240px;margin-bottom:10px;padding:6px;overflow:auto}.rollout-device{border-radius:8px;align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:flex}.rollout-device:hover{background:var(--panel-2)}.rollout-device .muted{color:var(--muted)}
