:root,[data-theme=light]{color-scheme:light;--color-canvas: oklch(98.8% .006 105);--color-surface: oklch(96.3% .009 90);--color-panel: oklch(99.2% .005 105);--color-ink: oklch(22% .012 250);--color-muted: oklch(52% .025 260);--color-hairline: oklch(87% .012 250);--color-primary: oklch(24% .04 170);--color-primary-strong: oklch(19% .05 170);--color-blue: oklch(48% .18 258);--color-coral: oklch(68% .17 35);--color-warning: oklch(66% .13 75);--color-critical: oklch(52% .18 25);--color-ok: oklch(52% .12 155);--color-offline: oklch(50% .025 260);--color-green: var(--color-ok);--color-success: var(--color-ok);--color-success-text: oklch(38% .1 155);--color-focus: oklch(48% .18 258);--color-status-info: var(--color-blue);--color-status-ok: var(--color-ok);--color-status-warning: var(--color-warning);--color-status-critical: var(--color-critical);--color-status-offline: var(--color-offline);--color-on-primary: oklch(98% .006 105);--color-nav-surface: oklch(97.2% .008 105);--color-nav-hover: oklch(92.6% .018 150);--color-overlay: oklch(18% .018 250 / .24);--color-code-surface: oklch(20% .016 250);--color-code-text: oklch(92% .018 150);--color-status-band-accent: oklch(64% .12 72);--color-status-band-cell: oklch(71% .11 78);--color-status-band-hero: oklch(67% .14 54);--color-status-band-muted: oklch(45% .08 65);--color-critical-border: oklch(74% .11 25);--color-warning-border: oklch(78% .11 75);--color-mode-standby-surface: oklch(92% .02 150);--color-mode-backup-surface: oklch(92% .04 258);--color-mode-fault-surface: oklch(93% .05 25);--color-severity-critical-surface: oklch(93% .05 25);--color-severity-warning-surface: oklch(94% .06 75);--color-severity-warning-text: oklch(43% .11 75);--color-severity-ok-surface: oklch(93% .04 155);--color-severity-info-surface: oklch(93% .03 258);--color-severity-offline-surface: oklch(92% .012 260);--color-sidebar-panel: oklch(98.2% .006 105);--color-mobile-topbar: oklch(98.8% .006 105 / .94);--control-height: 40px;--control-height-touch: 44px;--radius-card: 8px;--radius-control: 10px;--radius-pill: 999px;--shadow-focus: 0 0 0 3px oklch(62% .15 258 / .24);--shadow-sidebar-panel: 18px 0 44px oklch(20% .015 250 / .16);--shadow-command-panel: 0 18px 50px oklch(22% .012 250 / .16);--shadow-popover: 0 14px 32px oklch(22% .012 250 / .14);--font-ui: "Unica77 Cohere Web", Inter, Arial, ui-sans-serif, system-ui, sans-serif;--font-display: CohereText, "Space Grotesk", Inter, ui-sans-serif, system-ui, sans-serif;--font-mono: CohereMono, "SFMono-Regular", Consolas, monospace}[data-theme=dark]{color-scheme:dark;--color-canvas: oklch(19% .014 250);--color-surface: oklch(22% .015 250);--color-panel: oklch(25% .014 250);--color-ink: oklch(94% .008 105);--color-muted: oklch(73% .02 250);--color-hairline: oklch(34% .014 250);--color-primary: oklch(71% .11 165);--color-primary-strong: oklch(79% .13 165);--color-blue: oklch(73% .15 258);--color-coral: oklch(74% .16 35);--color-warning: oklch(79% .12 78);--color-critical: oklch(72% .16 24);--color-ok: oklch(73% .11 155);--color-offline: oklch(67% .018 255);--color-green: var(--color-ok);--color-success: var(--color-ok);--color-success-text: oklch(82% .1 155);--color-focus: oklch(76% .16 258);--color-status-info: var(--color-blue);--color-status-ok: var(--color-ok);--color-status-warning: var(--color-warning);--color-status-critical: var(--color-critical);--color-status-offline: var(--color-offline);--color-on-primary: oklch(18% .014 250);--color-nav-surface: oklch(21% .014 250);--color-nav-hover: oklch(30% .04 165);--color-overlay: oklch(8% .012 250 / .62);--color-code-surface: oklch(14% .014 250);--color-code-text: oklch(91% .034 155);--color-status-band-accent: oklch(78% .11 72);--color-status-band-cell: oklch(72% .09 78);--color-status-band-hero: oklch(74% .13 52);--color-status-band-muted: oklch(63% .08 72);--color-critical-border: oklch(54% .1 25);--color-warning-border: oklch(58% .1 76);--color-mode-standby-surface: oklch(30% .035 160);--color-mode-backup-surface: oklch(31% .05 258);--color-mode-fault-surface: oklch(31% .06 25);--color-severity-critical-surface: oklch(31% .06 25);--color-severity-warning-surface: oklch(33% .07 82);--color-severity-warning-text: oklch(85% .09 78);--color-severity-ok-surface: oklch(30% .05 155);--color-severity-info-surface: oklch(30% .04 258);--color-severity-offline-surface: oklch(29% .018 255);--color-sidebar-panel: oklch(20% .014 250);--color-mobile-topbar: oklch(19% .014 250 / .94);--shadow-focus: 0 0 0 3px oklch(76% .16 258 / .26);--shadow-sidebar-panel: 18px 0 44px oklch(4% .012 250 / .42);--shadow-command-panel: 0 18px 50px oklch(4% .012 250 / .38);--shadow-popover: 0 14px 32px oklch(4% .012 250 / .34)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-ui);letter-spacing:0}button,input{font:inherit}button{cursor:pointer;white-space:nowrap}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}.app-shell{display:grid;min-height:100vh;grid-template-columns:248px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--color-hairline);background:var(--color-nav-surface);padding:18px 14px}.mobile-nav-bar,.mobile-nav-backdrop{display:none}.brand{display:flex;align-items:center;gap:12px;padding:8px 8px 20px}.brand-mark{display:grid;width:70px;height:32px;flex:0 0 70px;place-items:center}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.brand-mark.demo-logo{appearance:none;padding:0;border:0;background:transparent}.brand-mark.demo-logo:hover{opacity:.82}.brand-mark.demo-logo:focus-visible{outline:0;box-shadow:var(--shadow-focus)}.demo-brand-control{position:relative;flex:0 0 auto}.demo-control-panel{position:fixed;z-index:70;width:min(320px,calc(100vw - 32px));border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-panel);box-shadow:var(--shadow-popover);padding:12px}.demo-control-header{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;margin:-4px -4px 10px;border-radius:var(--radius-card);padding:4px}.demo-control-drag-handle{display:grid;width:34px;height:34px;min-height:34px;place-items:center;border:1px solid var(--color-hairline);border-radius:7px;background:var(--color-surface);color:var(--color-muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.demo-control-drag-handle:hover{border-color:color-mix(in oklch,var(--color-primary) 28%,var(--color-hairline));color:var(--color-primary-strong)}.demo-control-drag-handle:focus-visible{outline:0;box-shadow:var(--shadow-focus)}.demo-control-drag-handle:active{cursor:grabbing}.demo-control-header strong,.demo-control-header span{display:block}.demo-control-header strong{font-size:13px;line-height:1.2}.demo-control-header span{margin-top:1px;color:var(--color-muted);font-size:11px}.icon-button.compact,.demo-control-close{width:30px;height:30px;min-height:30px}.demo-control-field{display:grid;gap:6px;color:var(--color-muted);font-size:12px}.demo-control-field .ui-select-trigger{border-radius:var(--radius-card);font-size:13px}.demo-control-actions{display:flex;justify-content:flex-end;margin-top:12px}.brand strong,.brand span{display:block}.brand span{margin-top:2px;color:var(--color-muted);font-size:12px}.nav-group{display:grid;gap:4px;margin-top:10px}.nav-caption{padding:18px 8px 6px;color:var(--color-muted);font-family:var(--font-mono);font-size:11px;text-transform:uppercase}.nav-link{display:flex;align-items:center;gap:10px;min-height:var(--control-height-touch);border-radius:var(--radius-card);padding:10px 11px;color:var(--color-muted);text-decoration:none}.nav-link:hover,.nav-link.is-active{background:var(--color-nav-hover);color:var(--color-ink)}.main-surface{min-width:0;overflow-x:hidden;padding:24px 28px 48px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:24px}.eyebrow{color:var(--color-muted);font-family:var(--font-mono);font-size:11px;text-transform:uppercase}.topbar h1{margin:4px 0 0;font-family:var(--font-display);font-size:34px;font-weight:500;line-height:1.1;letter-spacing:0}.topbar-metrics{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:0}.top-metric{min-width:82px;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-panel);padding:8px 10px}.top-metric span,.metric-label{display:block;color:var(--color-muted);font-size:12px}.top-metric strong{display:block;margin-top:2px;font-size:28px;line-height:1}.card-main-icon-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.card-main-icon-duo .metric-tile{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;min-width:0;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-hairline) 78%,var(--color-primary));border-radius:8px;background:color-mix(in oklch,var(--color-panel) 94%,var(--color-primary));gap:8px;padding:9px}.card-main-icon-duo .metric-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;background:color-mix(in oklch,var(--color-surface) 82%,var(--color-primary));color:var(--color-primary-strong)}.card-main-icon-duo .metric-icon-size-a{width:42px;height:42px}.card-main-icon-duo .metric-icon-size-a svg{width:23px;height:23px}.card-main-icon-duo .metric-copy,.card-main-icon-duo .metric-label{min-width:0}.card-main-icon-duo strong{display:block;margin-top:2px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:20px;line-height:1.05}.metric-duo-stack{grid-template-columns:1fr 1fr;gap:6px;margin:12px 0}.metric-duo-stack .metric-tile{grid-template-columns:1fr;justify-items:start;min-height:78px;gap:6px;padding:7px 9px}.tone-critical strong{color:var(--color-critical)}.tone-warning strong{color:var(--color-warning)}.tone-offline strong{color:var(--color-offline)}.page-flow{display:grid;gap:20px}.page-flow.narrow{max-width:880px}.connect-wide{width:100%;gap:22px;min-width:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.search-box{display:flex;width:min(460px,100%);align-items:center;gap:8px;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-panel);padding:10px 12px}.search-box input,.connect-form input{width:100%;border:0;outline:0;background:transparent;color:var(--color-ink)}.search-box:focus-within,.connect-form label:focus-within{box-shadow:var(--shadow-focus)}.ui-segmented-control{display:flex;border:1px solid var(--color-hairline);border-radius:var(--radius-pill);background:var(--color-panel);padding:3px}.ui-segmented-control button{min-width:44px;min-height:var(--control-height);border:0;border-radius:var(--radius-pill);background:transparent;padding:7px 12px;color:var(--color-muted);text-transform:capitalize;white-space:nowrap}.ui-segmented-control button.is-active{background:var(--color-primary);color:var(--color-on-primary)}.fleet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;align-items:stretch}.device-card{display:grid;min-width:0;min-height:336px;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-panel);padding:16px}.device-card.severity-critical{border-color:var(--color-critical-border)}.device-card.severity-warning{border-color:var(--color-warning-border)}.card-topline,.mode-row,.card-footer,.form-actions,.row-actions,.info-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px}.mode-row{justify-content:flex-start;flex-wrap:wrap;gap:8px 10px}.card-topline h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:19px;font-weight:600;line-height:1.2}.card-topline p,.card-footer span,.section-heading p,.panel-note,.table-row span{color:var(--color-muted)}.card-topline p{margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:12px}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--color-muted)}.status-dot.online{background:var(--color-ok)}.status-dot.connecting{background:var(--color-blue)}.status-dot.offline,.status-dot.error{background:var(--color-critical)}.mode-pill,.severity-badge{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:5px 9px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;width:fit-content;max-width:100%}.mode-pill{background:var(--color-mode-standby-surface);color:var(--color-primary)}.mode-backup{background:var(--color-mode-backup-surface);color:var(--color-blue)}.mode-fault{background:var(--color-mode-fault-surface);color:var(--color-critical)}.severity-badge.severity-critical{background:var(--color-severity-critical-surface);color:var(--color-critical)}.severity-badge.severity-warning{background:var(--color-severity-warning-surface);color:var(--color-severity-warning-text)}.severity-badge.severity-ok{background:var(--color-severity-ok-surface);color:var(--color-ok)}.severity-badge.severity-source{background:color-mix(in oklch,var(--color-primary-strong) 16%,var(--color-panel));color:var(--color-primary-strong)}.severity-badge.severity-info{background:var(--color-severity-info-surface);color:var(--color-blue)}.severity-badge.severity-offline{background:var(--color-severity-offline-surface);color:var(--color-offline)}.card-main{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.card-main>div{border-top:1px solid var(--color-hairline);padding-top:10px}.card-main strong{display:block;margin-top:4px;font-size:24px;line-height:1.1}.summary-list{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;margin:0 0 12px}.summary-list dt,.metric-line span{color:var(--color-muted);font-size:12px}.summary-list dd{min-width:0;margin:0;text-align:right;overflow-wrap:anywhere}.card-footer{align-self:end;border-top:1px solid var(--color-hairline);padding-top:12px;font-size:12px}.card-topline>div,.card-footer>span{min-width:0}.card-footer>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.primary-button,.secondary-button,.text-button,.icon-button{min-height:var(--control-height);border:0;border-radius:var(--radius-pill)}.primary-button:focus-visible,.secondary-button:focus-visible,.text-button:focus-visible,.icon-button:focus-visible,.ui-segmented-control button:focus-visible,.nav-link:focus-visible{outline:0;box-shadow:var(--shadow-focus)}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;background:var(--color-primary);color:var(--color-on-primary);padding:10px 18px}.primary-button.small{padding:9px 14px;font-size:13px}.secondary-button.small{padding:8px 12px;font-size:13px}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;border:1px solid var(--color-hairline);background:var(--color-panel);color:var(--color-ink);padding:10px 16px}.secondary-button.danger-action{border-color:color-mix(in oklch,var(--color-warning) 56%,var(--color-hairline));background:color-mix(in oklch,var(--color-warning) 11%,var(--color-panel));color:var(--color-severity-warning-text);font-weight:650}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.66}.spin-icon{animation:control-spin .8s linear infinite}@keyframes control-spin{to{transform:rotate(360deg)}}.pwa-update-prompt{position:fixed;right:18px;bottom:18px;z-index:60;box-sizing:border-box;display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:10px;width:min(560px,calc(100vw - 32px));border:1px solid color-mix(in oklch,var(--color-primary) 30%,var(--color-hairline));border-radius:var(--radius-card);background:var(--color-panel);color:var(--color-ink);box-shadow:0 6px 8px #12171b1f;padding:10px}.pwa-update-prompt.is-inline{position:relative;right:auto;bottom:auto;width:100%}.pwa-update-prompt.is-error{border-color:color-mix(in oklch,var(--color-critical) 42%,var(--color-hairline));background:color-mix(in oklch,var(--color-critical) 7%,var(--color-panel))}.pwa-update-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:7px;background:color-mix(in oklch,var(--color-primary) 10%,var(--color-panel));color:var(--color-primary-strong)}.pwa-update-prompt.is-error .pwa-update-icon{background:color-mix(in oklch,var(--color-critical) 11%,var(--color-panel));color:var(--color-critical)}.pwa-update-copy{display:grid;min-width:0;gap:2px}.pwa-update-copy strong,.pwa-update-copy span{min-width:0;overflow-wrap:anywhere}.pwa-update-copy strong{font-size:13px;line-height:1.2}.pwa-update-copy span{color:var(--color-muted);font-size:12px;line-height:1.35}.pwa-update-action{white-space:nowrap}.pwa-update-dismiss{width:32px;min-width:32px;min-height:32px}.pwa-update-dialog-overlay{position:fixed;z-index:69;inset:0;background:var(--color-overlay)}.pwa-update-dialog{position:fixed;z-index:70;top:50%;left:50%;display:grid;width:min(440px,calc(100vw - 32px));gap:12px;transform:translate(-50%,-50%);border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-panel);color:var(--color-ink);padding:18px}.charge-request-dialog{width:min(560px,calc(100vw - 32px))}.pwa-update-dialog:focus-visible{outline:0;box-shadow:var(--shadow-focus)}.pwa-update-dialog-title{margin:0;font-size:18px;line-height:1.25}.pwa-update-dialog-description{margin:0;color:var(--color-muted);font-size:14px;line-height:1.45}.pwa-update-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px}@media(prefers-reduced-motion:reduce){.spin-icon{animation:none}}@media(max-width:640px){.pwa-update-prompt{right:12px;bottom:max(12px,env(safe-area-inset-bottom));grid-template-columns:34px minmax(0,1fr) auto}.pwa-update-action{grid-column:2 / 4;width:100%}.pwa-update-dismiss{grid-column:3;grid-row:1}}.text-button{background:transparent;color:var(--color-primary);padding:7px 10px}.trace-live-button{white-space:nowrap}.icon-button{display:grid;width:var(--control-height);height:var(--control-height);place-items:center;border:1px solid var(--color-hairline);background:var(--color-panel)}.section-heading h2{margin:0;font-size:28px;font-weight:500}.connect-form{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;align-items:end}.connect-wide .connect-form{grid-template-columns:minmax(360px,2.4fr) minmax(160px,1fr) minmax(160px,1fr) auto}.connect-grid{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:14px;align-items:stretch;min-width:0}.secondary-connect-grid{grid-template-columns:minmax(280px,.95fr) minmax(280px,.95fr) minmax(320px,1.1fr)}.connect-panel{display:grid;gap:14px;align-content:start;min-width:0;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-panel);padding:16px;overflow:visible}.devd-discovery-panel{display:grid;gap:16px;min-width:0;border:1px solid color-mix(in oklch,var(--color-primary) 18%,var(--color-hairline));border-radius:var(--radius-card);background:color-mix(in oklch,var(--color-panel) 92%,var(--color-primary) 2%);padding:18px}.devd-discovery-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;min-width:0}.devd-discovery-header>div{min-width:0}.devd-discovery-header h3{display:flex;align-items:center;gap:8px;margin:4px 0 0;font-size:20px}.devd-discovery-header p{margin:6px 0 0;color:var(--color-muted);overflow-wrap:anywhere}.devd-discovery-status{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.devd-auth-row{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:end}.devd-auth-row label{display:grid;gap:6px;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-panel);padding:10px 12px;color:var(--color-muted);font-size:12px}.devd-auth-row input{width:100%;border:0;outline:0;background:transparent;color:var(--color-ink)}.devd-auth-row label:focus-within{box-shadow:var(--shadow-focus)}.devd-device-list{display:grid;gap:8px}.devd-device-card{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(360px,2fr) auto;gap:14px;align-items:center;min-width:0;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-panel);padding:12px}.scan-candidate-card{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px}.devd-device-card.is-muted{background:color-mix(in oklch,var(--color-panel) 90%,var(--color-offline) 4%)}.devd-device-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-width:0}.devd-device-main h4{margin:0;overflow-wrap:anywhere;font-size:15px}.devd-device-endpoints{display:grid;gap:2px;margin-top:3px}.devd-device-main p{margin:0;color:var(--color-muted);font-family:var(--font-mono);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.devd-device-meta{display:grid;grid-template-columns:.75fr 1.55fr .7fr;gap:10px;margin:0}.scan-candidate-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.devd-device-meta div{min-width:0}.devd-device-meta dt{color:var(--color-muted);font-size:11px}.devd-device-meta dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:12px}.devd-device-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.scan-candidate-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--color-hairline)}.scan-candidate-hint{margin:0;color:var(--color-muted);font-size:12px}.scan-candidate-actions{flex-wrap:wrap;justify-content:flex-start}.split-action{position:relative;display:inline-flex;align-items:stretch}.split-action>.primary-button.small{border-top-right-radius:0;border-bottom-right-radius:0}.split-action-menu{position:relative}.split-action-menu[open]{z-index:2}.split-action-trigger{min-width:38px;padding-inline:10px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid color-mix(in oklch,var(--color-on-primary) 16%,transparent);list-style:none}.split-action-trigger::-webkit-details-marker{display:none}.split-action-popover{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;display:grid;gap:2px;padding:6px;border:1px solid var(--color-hairline);border-radius:12px;background:var(--color-panel);box-shadow:var(--shadow-popover)}.split-action-item{display:flex;width:100%;align-items:center;justify-content:flex-start;border:0;border-radius:8px;background:transparent;color:var(--color-text);padding:9px 10px;text-align:left;font:inherit;cursor:pointer}.split-action-item:hover{background:color-mix(in oklch,var(--color-panel) 82%,var(--color-accent-soft) 18%)}.inline-companion-callout{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;border:1px solid color-mix(in oklch,var(--color-primary) 28%,var(--color-hairline));border-radius:14px;background:linear-gradient(90deg,color-mix(in oklch,var(--color-severity-ok-surface) 72%,var(--color-panel)),color-mix(in oklch,var(--color-panel) 96%,var(--color-primary) 4%));box-shadow:0 12px 28px #161b2014;padding:14px 16px}.inline-companion-signal{display:grid;place-items:center;width:38px;height:38px;margin-top:1px;border-radius:12px;background:color-mix(in oklch,var(--color-primary) 14%,var(--color-panel));color:var(--color-primary)}.inline-companion-copy{min-width:0}.inline-companion-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.inline-companion-copy strong{display:inline-block;color:var(--color-ink);font-size:15px;font-weight:630;line-height:1.3}.inline-companion-actions{display:inline-flex;align-items:center;gap:8px;align-self:center}.inline-companion-title-help{position:relative;display:inline-flex;align-items:center;flex:0 0 auto;width:auto;height:auto;margin-inline-end:2px}.inline-companion-title-trigger{display:inline-flex;align-items:center;min-height:0;padding:0;border:0;border-radius:0;color:var(--color-ink);background:transparent;font-size:15px;font-weight:630;line-height:1.3;letter-spacing:-.01em;text-decoration:underline;text-underline-offset:.16em;text-decoration-thickness:1px}.inline-companion-title-trigger:hover,.inline-companion-title-trigger:focus-visible{color:var(--color-ink)}.inline-companion-title-popover{position:absolute;z-index:8;inset-block-start:calc(100% + 8px);inset-inline-start:0;display:grid;width:min(320px,calc(100vw - 48px));gap:5px;border:1px solid color-mix(in oklch,var(--color-primary) 24%,var(--color-hairline));border-radius:var(--radius-card);background:var(--color-panel);box-shadow:var(--shadow-popover);padding:10px 12px;color:var(--color-muted);font-size:12px;line-height:1.35;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .12s ease-out,transform .12s ease-out}.inline-companion-target{display:inline-flex;align-items:center;gap:8px;min-width:0;border:1px solid color-mix(in oklch,var(--color-primary) 16%,var(--color-hairline));border-radius:999px;background:color-mix(in oklch,var(--color-panel) 90%,var(--color-primary) 5%);padding:6px 10px}.inline-companion-target-label{color:color-mix(in oklch,var(--color-primary) 68%,var(--color-ink));font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.inline-companion-target code,.inline-companion-title-popover code{width:fit-content;max-width:100%;overflow-wrap:anywhere;border-radius:0;background:transparent;color:var(--color-primary-strong);padding:0;font-family:var(--font-mono);font-size:11px}.inline-companion-title-popover strong{color:var(--color-primary-strong);font-size:12px}.inline-companion-title-help:hover .inline-companion-title-popover,.inline-companion-title-help:focus-within .inline-companion-title-popover{opacity:1;pointer-events:auto;transform:translateY(0)}.devd-bind-target-select{display:grid;gap:4px;min-width:220px;color:var(--color-muted);font-size:11px}.devd-bind-target-select>select{min-height:36px;border:1px solid var(--color-hairline);border-radius:10px;background:var(--color-panel);color:var(--color-text);padding:0 10px}.devd-empty-state,.lan-standby-note{display:flex;align-items:center;gap:10px;border:1px dashed var(--color-hairline);border-radius:var(--radius-card);background:color-mix(in oklch,var(--color-panel) 88%,var(--color-muted) 4%);padding:14px;color:var(--color-muted)}.devd-empty-state{align-items:flex-start}.devd-empty-state strong,.devd-empty-state span{display:block}.devd-empty-state strong{color:var(--color-ink)}.devd-discovery-footer{display:flex;justify-content:space-between;gap:12px;min-width:0;color:var(--color-muted);font-size:12px}.devd-discovery-footer span{min-width:0;overflow-wrap:anywhere}.devd-discovery-panel>.connection-callout{position:relative;top:auto;left:auto;width:min(560px,100%);transform:none}.devd-discovery-panel>.connection-callout .connection-callout-anchor{display:none}.lan-fallback-panel:not(.is-active){background:color-mix(in oklch,var(--color-panel) 92%,var(--color-muted) 3%)}.connect-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0}.connect-panel-header>div{min-width:0}.connect-panel-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:18px}.connect-panel-header p{margin:4px 0 0;color:var(--color-muted);font-size:13px;overflow-wrap:anywhere}.connect-form.compact,.connect-wide .connect-form.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.connect-form label{display:grid;gap:6px;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-panel);padding:10px 12px;color:var(--color-muted);font-size:12px}.connect-form .connect-field-full{grid-column:1 / -1}.form-actions{position:relative;grid-column:1 / -1;justify-content:flex-start}.form-actions.with-callout{align-items:center;flex-wrap:wrap}.scan-inline-actions{display:grid;grid-template-columns:auto minmax(280px,1fr);align-items:center;column-gap:14px;row-gap:10px}.scan-inline-actions>button{grid-column:1;grid-row:1}.scan-inline-status{grid-column:2;grid-row:1;min-height:24px;color:var(--color-ok);font-size:13px;line-height:1.35;text-align:right}.scan-inline-actions>.connection-callout{grid-column:1 / -1;grid-row:2}.wifi-actions{display:inline-flex;width:max-content;max-width:100%;align-items:center;justify-self:start;gap:12px}.wifi-save-anchor{position:relative;display:inline-flex}.wifi-save-anchor .wifi-progress-callout{top:calc(100% + 10px);left:0;width:min(340px,calc(100vw - 48px));transform:none}.wifi-save-anchor .connection-callout-anchor{top:-6px;left:36px;transform:rotate(135deg)}.connection-callout{position:absolute;top:50%;left:calc(100% + 12px);z-index:5;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;width:min(340px,42vw);transform:translateY(-50%);border:1px solid color-mix(in oklch,var(--color-warning) 42%,var(--color-hairline));border-radius:var(--radius-card);background:#fff9f1;background:oklch(98.5% .018 78);color:var(--color-ink);box-shadow:0 16px 36px #161b2029;padding:12px 13px;font-size:13px;line-height:1.35}.wifi-progress-callout{position:absolute;top:50%;left:calc(100% + 12px);z-index:5;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;width:min(340px,42vw);transform:translateY(-50%);border:1px solid color-mix(in oklch,var(--color-success) 38%,var(--color-hairline));border-radius:var(--radius-card);background:#f2fef5;color:var(--color-ink);box-shadow:0 16px 36px #161b2024;padding:12px 13px;font-size:13px;line-height:1.35}.wifi-progress-callout.is-error{border-color:color-mix(in oklch,var(--color-warning) 42%,var(--color-hairline));background:#fff9f1;background:oklch(98.5% .018 78)}.wifi-progress-callout .connection-callout-anchor{border-color:color-mix(in oklch,var(--color-success) 38%,var(--color-hairline))}.wifi-progress-callout.is-error .connection-callout-anchor{border-color:color-mix(in oklch,var(--color-warning) 42%,var(--color-hairline))}.wifi-progress-callout svg{margin-top:1px;color:var(--color-success-text)}.wifi-progress-callout.is-error svg{color:var(--color-severity-warning-text)}.wifi-progress-callout strong,.wifi-progress-callout span,.wifi-progress-callout em,.wifi-progress-callout code{display:block}.wifi-progress-callout strong{margin-bottom:3px;font-size:13px;font-weight:650}.wifi-progress-callout em{margin-top:6px;color:var(--color-muted);font-style:normal}.wifi-progress-callout code{width:max-content;max-width:100%;margin-top:8px;overflow-wrap:anywhere;border-radius:6px;background:color-mix(in oklch,var(--color-warning) 10%,var(--color-panel));color:var(--color-severity-warning-text);padding:4px 7px;font-family:var(--font-mono);font-size:12px}.connection-callout svg{margin-top:1px;color:var(--color-severity-warning-text)}.connection-callout strong,.connection-callout span,.connection-callout em,.connection-callout code{display:block}.connection-callout strong{margin-bottom:3px;font-size:13px;font-weight:650}.connection-callout em{margin-top:7px;color:var(--color-muted);font-style:normal}.connection-callout code{width:fit-content;margin-top:8px;border-radius:6px;background:color-mix(in oklch,var(--color-warning) 16%,var(--color-panel));color:var(--color-severity-warning-text);padding:3px 6px;font-family:var(--font-mono);font-size:11px}.connection-callout-anchor{position:absolute;top:50%;left:-6px;width:10px;height:10px;transform:translateY(-50%) rotate(45deg);border-bottom:1px solid color-mix(in oklch,var(--color-warning) 42%,var(--color-hairline));border-left:1px solid color-mix(in oklch,var(--color-warning) 42%,var(--color-hairline));background:inherit}.connect-wide .form-actions{grid-column:auto;align-self:stretch}.connect-form.compact .form-actions.with-callout,.connect-wide .connect-form.compact .form-actions.with-callout{grid-column:1 / -1}.connect-form.compact .form-actions.with-callout>button,.connect-wide .connect-form.compact .form-actions.with-callout>button{order:1}.connect-form.compact .form-actions.with-callout>.danger-action,.connect-wide .connect-form.compact .form-actions.with-callout>.danger-action{order:2}.connect-form.compact .form-actions.with-callout>.connection-callout,.connect-wide .connect-form.compact .form-actions.with-callout>.connection-callout{position:absolute;top:calc(100% + 10px);left:0;order:10;width:min(100%,560px);transform:none}.connect-form.compact .form-actions.with-callout>.connection-callout .connection-callout-anchor,.connect-wide .connect-form.compact .form-actions.with-callout>.connection-callout .connection-callout-anchor{top:-6px;left:28px;display:block;transform:rotate(135deg)}.connect-form.compact .scan-inline-actions,.connect-wide .connect-form.compact .scan-inline-actions{grid-template-columns:auto minmax(220px,1fr)}.form-message{margin:0;color:var(--color-primary)}.form-message.is-success{color:var(--color-ok)}.form-message.is-error{color:var(--color-critical)}.field-help{margin:-4px 0 0;color:var(--color-muted);font-size:13px;line-height:1.35}.command-feedback{position:relative;min-height:52px}.command-feedback .connection-callout{position:relative;inset:auto;width:min(460px,100%);transform:none}.command-feedback .connection-callout-anchor{display:none}@media(max-width:920px){.wifi-actions{display:flex;width:100%;flex-wrap:wrap}.wifi-save-anchor .wifi-progress-callout{position:relative;top:auto;left:auto;order:10;width:min(100%,420px);transform:none}.wifi-actions .connection-callout-anchor{top:-6px;left:28px;transform:rotate(135deg)}}.storybook-feedback-surface{min-height:100vh;background:var(--color-canvas);padding:32px}.storybook-feedback-header{display:grid;max-width:760px;gap:8px;margin-bottom:24px}.storybook-feedback-header h1{margin:0;color:var(--color-primary-strong);font-size:30px;font-weight:620;line-height:1.12}.storybook-feedback-header p{margin:0;color:var(--color-muted);line-height:1.45}.storybook-feedback-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.storybook-feedback-card{display:grid;align-content:start;gap:16px;min-height:220px;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-panel);padding:18px}.storybook-feedback-copy{display:grid;gap:5px}.storybook-feedback-copy h2{margin:0;color:var(--color-ink);font-size:16px;font-weight:650}.storybook-feedback-copy p{margin:0;color:var(--color-muted);font-size:13px;line-height:1.4}.storybook-feedback-demo{position:relative;display:grid;align-items:start;min-width:0}.storybook-feedback-demo>.connection-callout,.storybook-feedback-demo>.wifi-progress-callout{position:relative;inset:auto;width:min(100%,420px);transform:none}.storybook-feedback-demo>.connection-callout .connection-callout-anchor,.storybook-feedback-demo>.wifi-progress-callout .connection-callout-anchor{display:none}.storybook-feedback-inline{display:grid;gap:12px}.storybook-feedback-panel{width:100%}.storybook-pwa-surface{box-sizing:border-box;display:grid;width:min(680px,calc(100vw - 32px));max-width:100%;min-height:220px;place-items:end;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-canvas);margin:0 auto;padding:24px}.storybook-pwa-surface.is-mobile-story{width:min(374px,calc(100vw - 16px));min-height:220px;justify-items:start;margin:0;padding:24px 16px}.storybook-pwa-surface.is-mobile-story .pwa-update-prompt{grid-template-columns:34px minmax(0,1fr) auto}.storybook-pwa-surface.is-mobile-story .pwa-update-action{grid-column:2 / 4;width:100%}.storybook-pwa-surface.is-mobile-story .pwa-update-dismiss{grid-column:3;grid-row:1}.storybook-pwa-gallery{box-sizing:border-box;display:grid;width:min(760px,calc(100vw - 32px));max-width:100%;gap:14px}.storybook-pwa-gallery-item{display:grid;min-height:96px;align-items:center}.storybook-pwa-mobile-frame{box-sizing:border-box;width:min(358px,calc(100vw - 64px));max-width:100%}@media(max-width:640px){.storybook-pwa-surface{width:calc(100vw - 32px);padding:24px 16px}}.transport-badge{display:inline-flex;align-items:center;min-height:24px;border-radius:var(--radius-pill);padding:4px 8px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase}.transport-badge.serial{background:var(--color-severity-info-surface);color:var(--color-blue)}.transport-badge.http{background:var(--color-severity-ok-surface);color:var(--color-ok)}.transport-badge.devd{background:var(--color-severity-warning-surface);color:var(--color-warning)}.transport-badge.adapter{background:color-mix(in oklch,var(--color-warning) 18%,var(--color-panel));color:color-mix(in oklch,var(--color-warning) 78%,var(--color-ink))}.connection-badges{display:inline-flex;flex-wrap:wrap;gap:6px}.transport-badge.offline{background:var(--color-severity-offline-surface);color:var(--color-offline)}.table-list{display:grid;gap:8px}.table-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--color-hairline);padding:12px 0}.table-row-main{min-width:0;border:0;background:transparent;padding:0;color:inherit;text-align:left;cursor:pointer}.table-row-main:hover strong,.table-row-main:focus-visible strong{color:var(--color-primary)}.table-row-main:focus-visible{border-radius:var(--radius-control);outline:2px solid var(--color-focus);outline-offset:4px}.table-row strong,.table-row span{display:block}.table-row .table-row-detail{margin-top:4px;color:var(--color-muted);font-size:12px;line-height:1.45}.table-row .transport-badge{display:inline-flex}.table-row .row-actions{justify-content:flex-end;flex-wrap:wrap}.channel-switch-actions{display:inline-flex;flex-wrap:wrap;gap:8px}.status-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:18px;align-items:center;border-radius:var(--radius-card);background:var(--color-primary-strong);color:var(--color-on-primary);padding:20px}.status-band-color-warm{--amount: .45;grid-template-columns:minmax(190px,1.3fr) repeat(4,minmax(112px,.72fr)) auto;align-items:stretch;gap:1px;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-status-band-accent) calc(var(--amount) * 55%),var(--color-hairline));background:color-mix(in oklch,var(--color-status-band-accent) calc(var(--amount) * 18%),var(--color-surface));color:var(--color-ink);padding:0}.status-band-color-warm .live-cell{display:grid;gap:5px;min-height:86px;padding:16px 18px;background:color-mix(in oklch,var(--color-panel) calc(95% - var(--amount) * 8%),var(--color-status-band-cell))}.status-band-color-warm .live-cell:first-child{background:color-mix(in oklch,var(--color-surface) calc(92% - var(--amount) * 12%),var(--color-status-band-hero))}.status-band-color-warm .eyebrow{color:color-mix(in oklch,var(--color-muted) 76%,var(--color-status-band-muted))}.status-band-color-warm .live-value{color:var(--color-ink);font-size:22px;line-height:1.05}.status-band-color-warm .live-detail{color:color-mix(in oklch,var(--color-muted) 78%,var(--color-ink));font-size:12px;line-height:1.35}.status-band-color-warm .live-detail.tone-warning{color:color-mix(in oklch,var(--color-warning) 72%,var(--color-ink))}.status-band-color-warm .live-detail.tone-critical{color:color-mix(in oklch,var(--color-status-critical) 76%,var(--color-ink))}.status-band-color-warm .live-detail.tone-offline{color:color-mix(in oklch,var(--color-offline) 74%,var(--color-ink))}.status-band-color-warm .live-state{align-self:center;justify-self:end;margin:0 16px;--live-state-color: var(--color-status-critical);border:1px solid color-mix(in oklch,var(--live-state-color) calc(38% + var(--amount) * 28%),var(--color-hairline));background:color-mix(in oklch,var(--color-panel) calc(92% - var(--amount) * 14%),var(--live-state-color));color:color-mix(in oklch,var(--live-state-color) 82%,var(--color-ink))}.status-band-color-warm .live-state.severity-warning{--live-state-color: var(--color-status-warning)}.status-band-color-warm .live-state.severity-info{--live-state-color: var(--color-status-info)}.status-band-color-warm .live-state.severity-ok{--live-state-color: var(--color-status-ok)}.status-band-color-warm .live-state.severity-offline{--live-state-color: var(--color-status-offline)}.status-band strong{display:block;margin-top:5px;font-size:24px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.charge-diagnostics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.charge-diagnostics-span-two{grid-column:1 / -1}.info-panel{border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-panel);padding:16px}.info-panel header{justify-content:flex-start;margin-bottom:12px}.info-panel h2{margin:0;font-size:18px}.battery-balance-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.battery-balance-summary span{border:1px solid var(--color-hairline);border-radius:999px;background:color-mix(in oklch,var(--color-panel) 92%,var(--color-page));color:var(--color-muted);padding:4px 9px;font-size:12px;font-weight:700}.battery-balance-summary .balance-delta{color:var(--color-ink)}.battery-balance-summary .balance-delta-ok{border-color:color-mix(in oklch,var(--color-ok) 42%,var(--color-hairline));background:color-mix(in oklch,var(--color-ok) 12%,var(--color-panel))}.battery-balance-summary .balance-delta-watch{border-color:color-mix(in oklch,var(--color-warning) 42%,var(--color-hairline));background:color-mix(in oklch,var(--color-warning) 11%,var(--color-panel))}.battery-balance-summary .balance-delta-warning,.battery-balance-summary .balance-delta-critical{border-color:color-mix(in oklch,var(--color-critical) 46%,var(--color-hairline));background:color-mix(in oklch,var(--color-critical) 10%,var(--color-panel))}.power-pressure-summary,.power-limit-summary{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center;border:1px solid var(--color-hairline);border-radius:16px;background:color-mix(in oklch,var(--color-panel) 90%,var(--color-page));padding:10px 12px;margin-bottom:12px}.power-pressure-summary strong,.power-limit-summary strong{font-size:24px;line-height:1}.power-pressure-summary>span:last-child,.power-limit-summary>span:last-child{grid-column:1 / -1;color:var(--color-muted);font-size:12px;font-weight:700;overflow-wrap:anywhere}.charge-control-panel,.power-domain-section{display:grid;gap:16px}.power-domain-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.power-domain-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--color-hairline);border-radius:12px;background:color-mix(in oklch,var(--color-panel) 92%,var(--color-page));color:var(--color-primary-strong)}.power-domain-header h2{margin:0;font-size:28px;line-height:1.02}.power-domain-header p{margin:6px 0 0;max-width:72ch;color:var(--color-muted);line-height:1.5}.charge-control-panel>header{margin-bottom:0}.charge-control-shell{display:grid;gap:20px}.charge-control-overview{display:grid;grid-template-columns:minmax(0,.98fr) minmax(360px,.92fr);gap:16px;align-items:stretch}.charge-control-hero{display:grid;gap:16px;align-content:start;border-radius:16px;background:linear-gradient(135deg,color-mix(in oklch,var(--color-panel) 76%,var(--color-page)),color-mix(in oklch,var(--color-panel) 94%,var(--color-primary) 6%));padding:18px}.charge-control-status{display:grid;align-content:start;gap:12px}.charge-control-status>.severity-badge{justify-self:start}.charge-control-status strong{font-size:32px;line-height:1.02;max-width:16ch;text-wrap:balance}.charge-control-status p{margin:0;max-width:64ch;color:var(--color-muted);line-height:1.5;text-wrap:pretty}.charge-control-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.charge-control-kpis-overview{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.charge-kpi{display:grid;align-content:start;gap:6px;min-height:88px;border:1px solid color-mix(in oklch,var(--color-primary) 7%,var(--color-hairline));border-radius:14px;background:color-mix(in oklch,var(--color-panel) 90%,var(--color-page));padding:14px}.charge-kpi>span{margin:0;color:var(--color-muted);font-size:12px;font-weight:650;letter-spacing:.02em;text-transform:none}.charge-kpi strong{font-size:24px;line-height:1.05;overflow-wrap:anywhere}.charge-kpi em{margin:0;color:var(--color-muted);font-style:normal;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.charge-control-body{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:24px;align-items:start}.charge-control-main{display:grid;gap:22px;align-content:start}.charge-control-section{display:grid;gap:14px;align-content:start;padding:0;border:0;border-radius:0;background:transparent}.charge-control-main>.charge-control-section+.charge-control-section{padding-top:22px;border-top:1px solid var(--color-hairline)}.charge-control-section h3,.charge-control-rail-group h3{margin:0;color:var(--color-muted);font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:none}.charge-control-section-copy{margin:0;color:var(--color-muted);font-size:14px;line-height:1.5;text-wrap:pretty}.charge-control-fact-grid,.charge-evidence-grid,.charge-control-readiness-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 18px}.charge-control-fact,.charge-evidence-card,.charge-control-readiness-card{display:grid;gap:6px;align-content:start;padding-top:12px;border-top:1px solid var(--color-hairline)}.charge-control-fact>span,.charge-evidence-card>span,.charge-control-readiness-card>span{color:var(--color-muted);font-size:12px;font-weight:650;letter-spacing:.02em;text-transform:none}.charge-control-fact>strong,.charge-evidence-card>strong,.charge-control-readiness-card>strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.charge-control-fact>strong{font-size:16px}.charge-control-rail{display:grid;align-content:start;gap:18px;align-self:stretch;padding:16px 18px;border:1px solid var(--color-hairline);border-radius:16px;background:color-mix(in oklch,var(--color-panel) 94%,var(--color-page))}.charge-control-rail-group{display:grid;gap:12px}.charge-control-rail-group+.charge-control-rail-group{padding-top:18px;border-top:1px solid var(--color-hairline)}.charge-control-rail-copy{margin:0;color:var(--color-muted);font-size:14px;line-height:1.5;text-wrap:pretty}.charge-control-rail-action{align-content:start}.charge-control-actions{margin-top:0;width:100%}.charge-control-actions-inline{justify-content:flex-start}.charge-control-actions-inline .primary-button{width:100%;min-height:var(--control-height-touch);padding:12px 18px}.charge-request-dialog .ui-segmented-control.is-compact button{min-height:40px;padding:6px 12px;font-size:13px}.charge-request-dialog .pwa-update-dialog-actions .primary-button,.charge-request-dialog .pwa-update-dialog-actions .secondary-button{min-height:var(--control-height-touch);padding:10px 18px}.power-pressure-bar{position:relative;overflow:hidden;height:10px;border-radius:999px;background:color-mix(in oklch,var(--color-page) 68%,var(--color-panel));margin-bottom:8px}.power-pressure-fill{display:block;height:100%;border-radius:inherit;background:color-mix(in oklch,var(--color-primary) 60%,var(--color-page));transition:width .18s ease}.power-pressure-fill-ok{background:color-mix(in oklch,var(--color-ok) 72%,var(--color-panel))}.power-pressure-fill-warning{background:color-mix(in oklch,var(--color-warning) 78%,var(--color-panel))}.power-pressure-fill-critical{background:color-mix(in oklch,var(--color-critical) 84%,var(--color-panel))}.power-pressure-fill-info{background:color-mix(in oklch,var(--color-blue) 74%,var(--color-panel))}.battery-cell-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.battery-cell-tile{min-width:0;border:1px solid var(--color-hairline);border-radius:8px;background:color-mix(in oklch,var(--color-panel) 86%,var(--color-selected));padding:10px}.battery-cell-ok{border-color:color-mix(in oklch,var(--color-ok) 34%,var(--color-hairline))}.battery-cell-watch{border-color:color-mix(in oklch,var(--color-warning) 46%,var(--color-hairline));background:color-mix(in oklch,var(--color-warning) 9%,var(--color-panel))}.battery-cell-warning,.battery-cell-critical{border-color:color-mix(in oklch,var(--color-critical) 44%,var(--color-hairline));background:color-mix(in oklch,var(--color-critical) 8%,var(--color-panel))}.battery-cell-tile span{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--color-muted);font-size:12px}.battery-cell-tile em{border-radius:999px;background:color-mix(in oklch,var(--color-ok) 18%,var(--color-panel));color:var(--color-ok);padding:1px 5px;font-size:10px;font-style:normal;font-weight:800}.battery-cell-tile strong{display:block;margin-top:4px;overflow-wrap:anywhere;font-size:17px;line-height:1.2}.battery-cell-tile small{display:block;margin-top:4px;color:var(--color-muted);font-size:11px;font-weight:700}.metric-line{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-top:1px solid var(--color-hairline);padding:9px 0}.metric-line strong{text-align:right}.api-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:14px}.settings-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(320px,1fr) minmax(360px,1.1fr);gap:14px;align-items:start}.settings-layout-balanced{grid-template-columns:minmax(300px,.9fr) minmax(320px,1fr);gap:16px;align-items:stretch}.settings-layout-advanced{grid-template-columns:minmax(280px,.8fr) minmax(300px,.9fr) minmax(360px,1.15fr);gap:16px;align-items:start}.settings-layout-balanced .settings-panel{min-height:257px;grid-template-rows:auto minmax(0,1fr)}.settings-layout-balanced .settings-panel>header{min-height:24px}.settings-layout-balanced .settings-panel,.settings-layout-balanced .settings-form{height:100%}.settings-layout-balanced .settings-form{align-content:start}.settings-layout-balanced .settings-form .primary-button:last-child,.settings-layout-balanced .form-actions{margin-top:auto}.settings-layout-balanced .control-row{grid-template-columns:96px minmax(0,1fr);align-items:center}.settings-layout-balanced .control-row>span{min-width:0}.settings-layout-balanced .ui-segmented-control.is-compact{width:100%}.settings-layout-balanced .ui-segmented-control.is-compact button{flex:1}.settings-layout-balanced .log-panel{min-height:0;max-height:none}.settings-layout-balanced .settings-panel:has(.log-level-compact){grid-template-rows:auto auto minmax(0,1fr)}.settings-layout-balanced .settings-panel:has(.log-level-compact) .log-panel{align-self:stretch}.log-level-compact{align-self:start}.log-level-compact .control-row{grid-template-columns:73px minmax(0,1fr);align-items:center;gap:6px}.log-level-compact .control-row>span{font-size:11px;line-height:1}.log-level-compact .ui-segmented-control.is-compact button{min-width:36px;min-height:36px;padding:4px 9px;font-size:11px}.settings-panel{display:grid;gap:12px}.advanced-power-panel{align-content:start}.settings-form{display:grid;gap:12px}.settings-copy{display:grid;gap:8px}.settings-form label{display:grid;gap:6px;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-panel);padding:10px 12px;color:var(--color-muted);font-size:12px}.settings-form input{width:100%;border:0;outline:0;background:transparent;color:var(--color-ink);font-size:14px}.settings-form label:focus-within{box-shadow:var(--shadow-focus)}.secret-note{display:flex;align-items:center;gap:8px;color:var(--color-muted);font-size:12px}.capability-note{align-items:flex-start}.capability-note>div{display:grid;gap:3px;min-width:0}.capability-note strong{color:var(--color-ink);font-size:12px;font-weight:650}.capability-note span{overflow-wrap:anywhere;line-height:1.4}.control-row{display:grid;gap:7px}.control-row>span{color:var(--color-muted);font-size:12px}.ui-segmented-control.is-compact{width:max-content;max-width:100%}.ui-segmented-control.is-compact button{min-height:var(--control-height);padding:6px 10px;font-size:12px}@media(pointer:fine)and (hover:hover){.ui-segmented-control.is-compact{padding:2px}.ui-segmented-control.is-compact button{min-width:36px;min-height:32px;padding:4px 8px;font-size:11px}.charge-request-dialog .ui-segmented-control.is-compact button{min-width:44px;min-height:40px;padding:6px 12px;font-size:13px}}@media(pointer:coarse){.ui-segmented-control.is-compact button{min-height:var(--control-height-touch);padding:7px 12px}}.advanced-power-field{display:grid;gap:6px}.advanced-power-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--color-ink)}.advanced-power-header strong{font-size:13px}.advanced-power-header span:last-child{color:var(--color-muted);font-size:12px}.advanced-power-meta{color:var(--color-muted);font-size:12px;line-height:1.35}.advanced-power-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.log-panel{display:grid;grid-auto-rows:max-content;align-content:start;max-height:360px;overflow:auto;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-code-surface)}.log-row{display:grid;grid-template-columns:74px 52px minmax(72px,.35fr) minmax(0,1fr);gap:10px;align-items:baseline;border-bottom:1px solid color-mix(in oklch,var(--color-code-text) 12%,transparent);padding:8px 10px;color:var(--color-code-text);font-family:var(--font-mono);font-size:12px}.log-row:last-child{border-bottom:0}.log-row span,.log-row code{color:color-mix(in oklch,var(--color-code-text) 72%,var(--color-muted))}.log-row strong{color:var(--color-ok);text-transform:uppercase}.log-row.level-error strong{color:var(--color-critical)}.log-row.level-warn strong{color:var(--color-warning)}.log-row p{margin:0;overflow-wrap:anywhere}.developer-console{gap:14px}.developer-console.is-expanded{position:fixed;z-index:80;inset:16px;display:grid;grid-template-rows:auto auto minmax(0,1fr);background:var(--color-panel);box-shadow:var(--shadow-sidebar-panel)}.developer-console>.developer-console-header{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,auto);align-items:start;justify-content:stretch;gap:12px}.developer-console-title{position:relative;display:flex;align-items:center;gap:4px;min-width:0}.developer-console-title h2{flex:0 1 auto;min-width:0;white-space:nowrap}.trace-help-bubble{position:relative;display:inline-flex;flex:0 0 var(--control-height);width:var(--control-height);height:var(--control-height)}.trace-help-trigger{display:inline-grid;width:100%;height:100%;min-height:var(--control-height);place-items:center;border:0;border-radius:999px;background:transparent;color:var(--color-muted);padding:0;transition:color .14s ease-out,background .14s ease-out}.trace-help-trigger:hover,.trace-help-trigger:focus-visible{color:var(--color-primary-strong);background:color-mix(in oklch,var(--color-panel) 84%,var(--color-green) 16%)}.trace-help-popover{position:absolute;z-index:8;inset-block-start:calc(100% + 8px);inset-inline-start:0;display:grid;width:min(340px,calc(100vw - 48px));gap:5px;border:1px solid color-mix(in oklch,var(--color-primary) 24%,var(--color-hairline));border-radius:var(--radius-card);background:var(--color-panel);box-shadow:var(--shadow-popover);padding:10px 12px;color:var(--color-muted);font-size:12px;line-height:1.35;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .12s ease-out,transform .12s ease-out}.trace-help-popover strong{color:var(--color-primary-strong);font-size:12px}.trace-help-bubble:hover .trace-help-popover,.trace-help-bubble:focus-within .trace-help-popover{opacity:1;pointer-events:auto;transform:translateY(0)}.developer-console-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin-inline-start:auto;max-width:100%;min-width:0;padding-inline-start:8px}.developer-console-ops{display:inline-flex;align-items:center;gap:6px;min-width:0}.trace-live-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);border:1px solid var(--color-hairline);border-radius:var(--radius-pill);background:color-mix(in oklch,var(--color-panel) 88%,var(--color-green) 12%);color:var(--color-primary-strong);padding:0 14px;font-size:12px;font-weight:700;white-space:nowrap;transition:background .14s ease-out,border-color .14s ease-out,color .14s ease-out}.trace-live-button:hover{border-color:color-mix(in oklch,var(--color-primary) 42%,var(--color-hairline));background:color-mix(in oklch,var(--color-panel) 80%,var(--color-green) 20%)}.trace-live-button.is-following{background:var(--color-surface);color:var(--color-muted)}.switch-control{display:inline-flex;align-items:center;min-height:var(--control-height);height:var(--control-height);gap:8px;border:1px solid var(--color-hairline);border-radius:var(--radius-pill);padding:0 12px;color:var(--color-muted);font-size:12px}.developer-console-actions .icon-button{width:var(--control-height);min-height:var(--control-height);height:var(--control-height)}.switch-control input{accent-color:var(--color-primary)}.developer-console-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-block-end:8px}.developer-console-metrics .metric-line{border:1px solid var(--color-hairline);border-radius:var(--radius-card);padding:10px 12px}.trace-filter-group{display:inline-flex;align-items:center;gap:6px;min-width:0}.trace-filter-group>span,.trace-filter-count{color:var(--color-muted);font-size:12px;white-space:nowrap}.ui-segmented-control.is-quiet{display:inline-flex;max-width:100%;min-width:0;gap:2px;border:1px solid var(--color-hairline);border-radius:var(--radius-pill);background:var(--color-surface);padding:2px}.ui-segmented-control.is-quiet button{flex:0 0 auto;min-height:calc(var(--control-height) - 6px);border:0;border-radius:var(--radius-pill);background:transparent;padding:0 10px;color:var(--color-muted);font:inherit;font-size:12px;cursor:pointer}.ui-segmented-control.is-quiet button:hover,.ui-segmented-control.is-quiet button:focus-visible{color:var(--color-primary-strong)}.ui-segmented-control.is-quiet .is-active{background:var(--color-panel);color:var(--color-primary-strong)}.trace-select-control{display:none}.trace-select-control>span{color:var(--color-muted);font-size:12px;white-space:nowrap}.ui-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;width:100%;min-width:0;min-height:var(--control-height);gap:10px;border:1px solid var(--color-hairline);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);padding:0 14px 0 16px;font:inherit;font-size:12px;cursor:pointer}.ui-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-trigger:focus-visible,.ui-select-trigger[data-state=open]{outline:0;box-shadow:var(--shadow-focus)}.ui-select-trigger svg{flex:0 0 auto;color:var(--color-muted)}.ui-select-content{z-index:120;overflow:hidden;min-width:8rem;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-panel);box-shadow:var(--shadow-command-panel);color:var(--color-ink)}.ui-select-content-popper{transform-origin:var(--radix-select-content-transform-origin)}.ui-select-viewport{padding:4px}.ui-select-viewport-popper{width:var(--radix-select-trigger-width);min-width:var(--radix-select-trigger-width)}.ui-select-scroll-button{display:grid;min-height:28px;place-items:center;color:var(--color-muted)}.ui-select-label{padding:6px 28px 6px 8px;color:var(--color-muted);font-size:12px}.ui-select-item{position:relative;display:flex;min-height:36px;align-items:center;border-radius:6px;padding:0 28px 0 30px;font-size:13px;outline:0;cursor:default;-webkit-user-select:none;user-select:none}.ui-select-item[data-highlighted]{background:color-mix(in oklch,var(--color-primary) 10%,var(--color-panel));color:var(--color-primary-strong)}.ui-select-item[data-disabled]{opacity:.5;pointer-events:none}.ui-select-item-indicator{position:absolute;left:8px;display:grid;width:16px;place-items:center;color:var(--color-primary)}.ui-select-separator{height:1px;margin:4px;background:var(--color-hairline)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;border:1px solid transparent;border-radius:6px;padding:0 16px;color:var(--color-ink);font-size:14px;font-weight:600;line-height:1;transition:background-color .18s ease-out,border-color .18s ease-out,color .18s ease-out,box-shadow .18s ease-out}.ui-button:focus-visible{outline:0;box-shadow:0 0 0 2px var(--color-panel),0 0 0 4px color-mix(in oklch,var(--color-primary) 42%,transparent)}.ui-button-default{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.ui-button-default:hover{background:color-mix(in oklch,var(--color-primary) 92%,var(--color-ink))}.ui-button-secondary{border-color:var(--color-hairline);background:var(--color-panel)}.ui-button-secondary:hover,.ui-button-outline:hover,.ui-button-ghost:hover{background:color-mix(in oklch,var(--color-panel) 88%,var(--color-primary))}.ui-button-ghost{background:transparent}.ui-button-outline{border-color:var(--color-hairline);background:transparent}.ui-button-destructive{background:color-mix(in oklch,var(--color-critical) 86%,var(--color-ink));color:var(--color-on-primary)}.ui-button-sm{min-height:34px;padding-inline:12px;font-size:13px}.ui-button-lg{min-height:44px;padding-inline:18px}.ui-button-icon{width:36px;min-width:36px;padding-inline:0}.ui-badge{display:inline-flex;align-items:center;min-height:24px;border:1px solid var(--color-hairline);border-radius:999px;background:var(--color-panel);color:var(--color-ink);padding:0 10px;font-size:12px;font-weight:600;line-height:1;white-space:nowrap}.ui-badge-muted{color:var(--color-muted)}.ui-badge-ok{border-color:color-mix(in oklch,var(--color-ok) 22%,var(--color-hairline));background:color-mix(in oklch,var(--color-ok) 16%,var(--color-panel));color:color-mix(in oklch,var(--color-ok) 78%,var(--color-ink))}.ui-badge-info{border-color:color-mix(in oklch,var(--color-blue) 22%,var(--color-hairline));background:color-mix(in oklch,var(--color-blue) 14%,var(--color-panel));color:color-mix(in oklch,var(--color-blue) 78%,var(--color-ink))}.ui-badge-warning{border-color:color-mix(in oklch,var(--color-warning) 24%,var(--color-hairline));background:color-mix(in oklch,var(--color-warning) 15%,var(--color-panel));color:color-mix(in oklch,var(--color-warning) 78%,var(--color-ink))}.ui-badge-current{border-color:color-mix(in oklch,var(--color-primary) 24%,var(--color-hairline));background:color-mix(in oklch,var(--color-primary) 12%,var(--color-panel));color:var(--color-primary-strong)}.ui-card{border:1px solid var(--color-hairline);border-radius:18px;background:var(--color-panel);color:var(--color-ink)}.ui-card-header{display:flex;flex-direction:column;gap:6px;padding:20px 20px 0}.ui-card-title{margin:0;color:var(--color-ink);font-size:16px;font-weight:700;line-height:1.25}.ui-card-description{margin:0;color:var(--color-muted);font-size:13px;line-height:1.45}.ui-card-content{padding:20px}.ui-card-footer{display:flex;align-items:center;padding:0 20px 20px}.ui-label{display:inline-flex;align-items:center;gap:8px;color:var(--color-ink);font-size:13px;font-weight:600;line-height:1.25}.ui-progress{position:relative;width:100%;height:8px;overflow:hidden;border-radius:999px;background:color-mix(in oklch,var(--color-muted) 18%,var(--color-panel))}.ui-progress-indicator{height:100%;border-radius:inherit;background:var(--color-primary);transition:width .22s ease-out}.ui-checkbox{display:inline-grid;width:16px;height:16px;flex:0 0 auto;place-items:center;border:1px solid var(--color-hairline);border-radius:4px;background:var(--color-panel);color:var(--color-primary);margin-top:1px;transition:background-color .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out}.ui-checkbox:focus-visible{outline:0;box-shadow:0 0 0 2px var(--color-panel),0 0 0 4px color-mix(in oklch,var(--color-primary) 42%,transparent)}.ui-checkbox[data-state=checked]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.ui-checkbox-indicator{display:grid;place-items:center}.ui-separator{width:100%;height:1px;border:0;background:var(--color-hairline)}.ui-sheet-content{position:fixed;z-index:50;display:flex;flex-direction:column;background:var(--color-panel);color:var(--color-ink);outline:0}.ui-sheet-overlay{position:fixed;z-index:49;inset:0;background:#12171b5c;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.ui-sheet-close{position:absolute;top:12px;right:12px}.ui-sheet-content-right{inset:0 0 0 auto;width:min(920px,100vw);border-left:1px solid var(--color-hairline)}.ui-sheet-content-left{inset:0 auto 0 0;width:min(760px,100vw);border-right:1px solid var(--color-hairline)}.ui-sheet-content-top{inset:0 0 auto;height:auto;border-bottom:1px solid var(--color-hairline)}.ui-sheet-content-bottom{inset:auto 0 0;height:auto;border-top:1px solid var(--color-hairline)}.ui-sheet-header{display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--color-hairline);padding:14px 68px 10px 18px}.ui-sheet-title{margin:0;color:var(--color-ink);font-size:18px;font-weight:700;line-height:1.25}.ui-sheet-description{margin:0;color:var(--color-muted);font-size:12px;line-height:1.3;overflow-wrap:anywhere}.ui-sheet-body{min-height:0;flex:1;overflow-y:auto;padding:12px 18px 16px}.ui-sheet-footer{border-top:1px solid var(--color-hairline);padding:16px 24px 24px}.ui-tabs-list{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--color-hairline);border-radius:14px;background:var(--color-panel);padding:4px}.ui-tabs-trigger{border:0;border-radius:10px;background:transparent;padding:8px 14px;color:var(--color-muted);font-size:13px;font-weight:600;line-height:1}.ui-tabs-trigger[data-state=active]{background:var(--color-primary);color:var(--color-on-primary)}.ui-tabs-content{margin-top:16px}.trace-search{display:inline-flex;align-items:center;width:clamp(150px,18vw,260px);min-width:0;min-height:var(--control-height);gap:6px;border:1px solid var(--color-hairline);border-radius:var(--radius-pill);background:var(--color-surface);padding:0 10px;color:var(--color-muted)}.trace-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--color-ink);font:inherit;font-size:12px}.trace-mode-tabs{margin-inline-end:8px}.trace-mode-tabs .is-active{background:color-mix(in oklch,var(--color-primary) 12%,var(--color-panel));color:var(--color-primary-strong)}.trace-panel{display:grid;max-height:720px;overflow:auto;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-code-surface)}.trace-panel.is-virtualized{display:block}.developer-console.is-expanded .trace-panel{max-height:none;min-height:0}.trace-virtual-spacer{position:relative;min-width:100%}.trace-virtual-item{position:absolute;inset-inline:0;top:0;box-sizing:border-box}.trace-row{display:grid;grid-template-columns:62px 30px 46px minmax(58px,92px) minmax(0,1fr);column-gap:8px;row-gap:6px;align-items:baseline;border-bottom:1px solid color-mix(in oklch,var(--color-code-text) 12%,transparent);padding:7px 10px 8px;color:var(--color-code-text);font-family:var(--font-mono);font-size:12px;line-height:1.34}.trace-row:last-child{border-bottom:0}.trace-compare-group{display:grid;border-bottom:1px solid color-mix(in oklch,var(--color-code-text) 12%,transparent)}.trace-compare-group:last-child{border-bottom:0}.trace-compare-group .trace-row{border-bottom:0}.trace-row-original{background:color-mix(in oklch,var(--color-code-surface) 88%,var(--color-warning) 12%)}.trace-row span,.trace-row code,.trace-row em{color:color-mix(in oklch,var(--color-code-text) 72%,var(--color-muted));font-style:normal;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-row strong{color:var(--color-blue);text-transform:uppercase}.trace-row.kind-raw strong,.trace-row.kind-ignored strong,.trace-row.kind-defmt strong{color:var(--color-warning)}.trace-row.kind-ignored{background:color-mix(in oklch,var(--color-code-surface) 90%,var(--color-warning) 10%)}.trace-row p{margin:0;overflow-wrap:anywhere}.trace-row>p{color:color-mix(in oklch,var(--color-code-text) 92%,var(--color-muted));font-weight:650}.trace-row>p.trace-message-inline{grid-column:5;max-width:none;font-size:13px;line-height:1.38}.trace-row mark{border-radius:3px;background:color-mix(in oklch,var(--color-warning) 72%,transparent);color:var(--color-code-surface);padding:0 2px}.trace-row pre,.trace-row-body{grid-column:1 / -1;overflow:auto;max-height:180px;margin:0;border-top:1px solid color-mix(in oklch,var(--color-code-text) 10%,transparent);padding-top:7px}.trace-row-body{max-height:none}.trace-message-readable{display:grid;gap:6px}.trace-message-lead{color:color-mix(in oklch,var(--color-code-text) 96%,var(--color-green) 4%);font-size:12px;font-weight:700}.trace-field-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:4px;margin:0}.trace-field{display:grid;grid-template-columns:minmax(44px,.55fr) minmax(42px,1fr);gap:6px;align-items:baseline;min-width:0;border:1px solid color-mix(in oklch,var(--color-code-text) 12%,transparent);border-radius:4px;background:color-mix(in oklch,var(--color-code-surface) 86%,var(--color-green) 14%);padding:4px 6px}.trace-field dt,.trace-field dd{min-width:0;margin:0;overflow-wrap:anywhere}.trace-field dt{color:color-mix(in oklch,var(--color-code-text) 58%,var(--color-muted));font-size:10px;text-transform:uppercase}.trace-field dd{color:var(--color-code-text);font-size:11px;font-weight:650}.developer-console.wrap-lines .trace-row pre,.developer-console.wrap-lines .trace-row-body{white-space:pre-wrap;overflow-wrap:anywhere}.developer-console.no-wrap-lines .trace-row pre,.developer-console.no-wrap-lines .trace-row-body{white-space:pre;overflow-wrap:normal}.developer-console.is-expanded .trace-row pre{max-height:320px}.json-view{overflow:auto;max-height:680px;margin:0;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-code-surface);color:var(--color-code-text);padding:16px;font-family:var(--font-mono);font-size:12px;line-height:1.55}.empty-state{display:grid;max-width:480px;gap:12px;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-panel);padding:28px}.fleet-empty{grid-column:1 / -1}.fleet-loading-state{justify-items:start}.fleet-loading-hint{display:inline-flex;align-items:center;gap:8px;color:var(--color-muted);font-size:13px}.firmware-page{display:grid;gap:20px}.firmware-hero{display:grid;gap:18px}.firmware-hero-copy{display:grid;gap:10px;max-width:68ch}.firmware-hero-copy h2{margin:0;font-size:28px;font-weight:650;line-height:1.1}.firmware-hero-copy p{margin:0;color:var(--color-muted);font-size:14px;line-height:1.5}.firmware-hero-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.firmware-summary-card,.firmware-list-card,.firmware-detail-section{border-radius:18px}.firmware-summary-body,.firmware-section-content{display:grid;gap:10px}.firmware-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.firmware-version-list{display:grid;gap:12px}.firmware-version-card{transition:border-color .18s ease-out,background-color .18s ease-out,box-shadow .18s ease-out}.firmware-version-card.is-current{border-color:color-mix(in oklch,var(--color-primary) 28%,var(--color-hairline));background:color-mix(in oklch,var(--color-panel) 88%,var(--color-primary))}.firmware-version-card-content,.firmware-version-main{display:grid;gap:14px}.firmware-version-title-row,.firmware-version-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.firmware-version-title-row h3{font-size:18px}.firmware-version-title-row p{max-width:62ch}.firmware-artifact-id,.firmware-code-value{max-width:100%;color:var(--color-muted);font-family:var(--font-mono);font-size:11px;font-weight:500}.firmware-artifact-id{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.firmware-code-value{display:inline-block;min-width:0;max-width:100%;text-align:inherit}.firmware-code-value.is-truncated{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.firmware-version-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px}.firmware-version-actions{display:flex;justify-content:flex-end}.firmware-badge-row{display:flex;flex-wrap:wrap;gap:6px}.firmware-metric-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:baseline;gap:10px;min-width:0;border-bottom:1px solid var(--color-hairline);padding:5px 0}.firmware-metric-row.is-wide{grid-column:1 / -1}.firmware-metric-row:last-child{border-bottom:0;padding-bottom:0}.firmware-metric-row span{flex:0 0 auto;color:var(--color-muted);font-size:12px;white-space:nowrap}.firmware-metric-row strong{min-width:0;text-align:right;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.firmware-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.firmware-dashboard-head>div:first-child{display:grid;gap:2px;min-width:0}.firmware-dashboard-head span,.firmware-status-tile span,.firmware-identity-row span{color:var(--color-muted);font-size:11px;font-weight:500;line-height:1.2;white-space:nowrap}.firmware-dashboard-head strong{color:var(--color-ink);font-size:18px;font-weight:700;line-height:1.05}.firmware-stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.firmware-status-tile{display:grid;gap:3px;min-width:0;border:1px solid var(--color-hairline);border-radius:8px;background:color-mix(in oklch,var(--color-panel) 92%,var(--color-primary));padding:8px 10px}.firmware-status-tile strong{min-width:0;overflow:hidden;color:var(--color-ink);font-size:12px;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.firmware-identity-list{display:grid;gap:6px}.firmware-identity-row{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:baseline;gap:10px;min-width:0;border-bottom:1px solid var(--color-hairline);padding:5px 0}.firmware-identity-row code{min-width:0;overflow:hidden;color:var(--color-muted);font-family:var(--font-mono);font-size:11px;font-weight:500;text-align:left;text-overflow:ellipsis;white-space:nowrap}.firmware-drawer-body{display:flex;flex-direction:column;gap:8px}.firmware-drawer-stack{display:flex;min-height:0;flex:1;flex-direction:column;gap:8px}.firmware-drawer-stack>.firmware-flash-section{min-height:0;flex:1}.firmware-support-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border-top:1px solid var(--color-hairline);background:transparent}.firmware-context-section{display:grid;align-content:start;gap:10px;min-width:0;padding:12px 0 0}.firmware-context-section+.firmware-context-section{border-left:1px solid var(--color-hairline);padding-left:14px;margin-left:14px}.firmware-context-section header{display:grid;gap:2px}.firmware-context-section h3{margin:0;font-size:16px;font-weight:700;line-height:1.2}.firmware-context-section p{margin:0;color:var(--color-muted);font-size:12px;line-height:1.35}.firmware-detail-section .ui-card-header{padding:12px 14px 0}.firmware-detail-section .ui-card-content{padding:10px 14px 14px}.firmware-flash-section{display:flex;min-height:0;flex-direction:column}.firmware-flash-section .ui-card-content{min-height:0;flex:1}.firmware-flash-section{border-color:var(--color-hairline)}.firmware-flash-header{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.firmware-flash-layout{display:grid;min-height:0;height:100%;grid-template-rows:auto auto minmax(0,1fr);gap:10px;align-items:start}.firmware-flash-primary{display:grid;gap:8px}.firmware-flash-action-panel{grid-column:1 / -1;grid-row:2;display:grid;gap:6px;border-top:1px solid var(--color-hairline);padding-top:10px}.firmware-flash-action-body{display:flex;align-items:center;justify-content:space-between;gap:12px}.firmware-flash-side{display:contents}.firmware-flash-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.firmware-image-list{display:grid;gap:8px}.firmware-image-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid var(--color-hairline);border-radius:14px;padding:10px 12px}.firmware-image-row strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.firmware-image-row span{color:var(--color-muted);font-size:12px}.firmware-empty-note{display:flex;gap:10px;border:1px dashed var(--color-hairline);border-radius:14px;background:color-mix(in oklch,var(--color-panel) 88%,var(--color-primary));padding:10px;color:var(--color-muted);font-size:13px;line-height:1.45}.firmware-flash-topline{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.firmware-flash-topline>div{display:flex;align-items:baseline;gap:10px;min-width:0}.firmware-flash-topline strong{font-size:28px;line-height:1}.firmware-flash-topline span{min-width:0;color:var(--color-muted);font-size:13px;overflow-wrap:anywhere}.firmware-confirm-row{display:grid;grid-template-columns:16px minmax(0,max-content);align-items:center;gap:10px;min-width:0;max-width:100%;cursor:pointer}.firmware-confirm-row .ui-checkbox{width:16px;height:16px;margin:0}.firmware-confirm-row .ui-checkbox .ui-checkbox-indicator{position:static}.firmware-flash-action-body .ui-button{flex:0 0 auto;white-space:nowrap}.firmware-confirm-row span{min-width:0;color:var(--color-ink);font-size:13px;font-weight:500;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.firmware-action-row{display:grid;gap:10px}.firmware-help{margin:0;color:var(--color-muted);font-size:12px;line-height:1.35}.firmware-log-panel{grid-column:1 / -1;grid-row:3;display:grid;min-height:0;height:100%;grid-template-rows:auto minmax(0,1fr);gap:6px;align-self:stretch;--firmware-log-line-height: 22px;--firmware-log-expanded-max-height: 320px;border-radius:8px;background:var(--color-code-surface);padding:10px 12px}.firmware-log-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.firmware-log-actions{display:inline-flex;align-items:center;gap:8px}.firmware-log-actions .ui-button{min-height:28px;border-color:color-mix(in oklch,var(--color-code-text) 18%,transparent);color:var(--color-code-text)}.firmware-log-actions .ui-button:hover{background:color-mix(in oklch,var(--color-code-text) 10%,transparent)}.firmware-log-lines{display:grid;align-content:start;gap:3px;min-height:calc(var(--firmware-log-line-height) * 10);overflow:auto;font-family:var(--font-mono)}.firmware-log-panel.is-expanded .firmware-log-lines{max-height:none}.firmware-log-line{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:baseline;border-radius:8px;min-height:var(--firmware-log-line-height);padding:3px 6px;color:var(--color-code-text);font-size:12px;line-height:1.35}.firmware-log-line span{color:var(--color-muted);text-transform:uppercase;font-size:10px;letter-spacing:.04em}.firmware-log-line p{margin:0;overflow-wrap:anywhere}.firmware-log-line.is-success span{color:var(--color-ok)}.firmware-log-line.is-error span{color:var(--color-critical)}.firmware-empty{display:grid;gap:8px;justify-items:start;color:var(--color-muted)}.firmware-empty p{margin:0}@media(max-width:1180px){.devd-device-card{grid-template-columns:minmax(240px,1fr);align-items:stretch}.scan-candidate-card{grid-template-columns:minmax(0,1fr)}.devd-device-actions{justify-content:flex-start}.inline-companion-callout{flex-direction:column;align-items:flex-start}.devd-device-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.scan-candidate-meta{grid-template-columns:1fr}.scan-candidate-footer{align-items:flex-start}.developer-console>.developer-console-header{grid-template-columns:minmax(0,1fr)}.developer-console-actions{width:100%;margin-inline-start:0;justify-content:flex-start}.developer-console-ops{margin-inline-start:auto}.trace-search{flex:1 1 220px;width:auto}.firmware-layout{grid-template-columns:1fr}.firmware-progress-panel{position:static}.firmware-step-grid,.firmware-hero-summary-grid,.firmware-support-panel,.firmware-version-meta{grid-template-columns:1fr}.firmware-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.firmware-context-section+.firmware-context-section{border-top:1px solid var(--color-hairline);border-left:0;padding-left:0;margin-left:0}.firmware-flash-layout{grid-template-columns:1fr}.firmware-version-footer,.firmware-version-title-row{flex-direction:column}.firmware-version-actions,.firmware-version-actions .ui-button{width:100%}.firmware-flash-action-body{align-items:flex-start}.firmware-version-actions .ui-button,.firmware-flash-action-body .ui-button,.ui-sheet-close,.mobile-nav-bar .icon-button{min-height:44px}.ui-sheet-close,.mobile-nav-bar .icon-button{width:44px;min-width:44px}}@media(max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;z-index:30;height:auto;padding:0;border-right:0;border-bottom:1px solid var(--color-hairline);background:var(--color-canvas)}.mobile-nav-bar{display:flex;min-height:60px;align-items:center;gap:12px;padding:10px 14px}.mobile-nav-title{display:grid;gap:1px}.mobile-nav-title strong{font-size:15px;line-height:1.1}.mobile-nav-title span{color:var(--color-muted);font-size:12px}.mobile-nav-backdrop{position:fixed;z-index:35;inset:0;border:0;background:var(--color-overlay)}.sidebar.is-open .mobile-nav-backdrop{display:block}.sidebar-panel{position:fixed;z-index:40;inset:0 auto 0 0;width:min(82vw,304px);overflow-y:auto;border-right:1px solid var(--color-hairline);background:var(--color-sidebar-panel);box-shadow:var(--shadow-sidebar-panel);padding:16px 12px;transform:translate(-104%);transition:transform .18s ease-out}.sidebar.is-open .sidebar-panel{transform:translate(0)}.topbar,.toolbar{flex-direction:column;align-items:stretch}.detail-grid,.detail-grid.three,.charge-control-body,.charge-diagnostics-grid,.api-layout,.settings-layout,.connect-grid,.connect-form,.status-band,.charge-control-overview,.charge-control-kpis,.charge-control-fact-grid,.charge-evidence-grid,.charge-control-readiness-grid{grid-template-columns:1fr}.charge-control-rail{padding:16px 0 0;border:0;border-top:1px solid var(--color-hairline);border-radius:0;background:transparent}.charge-control-section{padding-right:0}.power-domain-header{grid-template-columns:1fr}.charge-diagnostics-span-two{grid-column:auto}.devd-discovery-header,.devd-discovery-footer,.devd-auth-row{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.devd-discovery-status,.devd-auth-row .secondary-button{justify-content:flex-start}.devd-device-meta{grid-template-columns:1fr}.developer-console-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.trace-help-popover{inset-inline-start:50%;inset-inline-end:auto;width:min(300px,calc(100vw - 36px));transform:translate(-50%) translateY(-2px)}.trace-help-bubble:hover .trace-help-popover,.trace-help-bubble:focus-within .trace-help-popover{transform:translate(-50%) translateY(0)}.trace-row{grid-template-columns:72px 36px minmax(64px,1fr)}.developer-console.is-expanded{inset:8px}.developer-console>.developer-console-header{align-items:stretch}.developer-console-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;justify-content:stretch;gap:8px}.trace-filter-group,.ui-segmented-control.is-quiet,.trace-search,.developer-console-ops{width:100%}.ui-segmented-control.is-quiet,.trace-mode-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(max-content,1fr);overflow-x:auto;-webkit-overflow-scrolling:touch}.ui-segmented-control.is-quiet button,.trace-mode-tabs button{width:100%;min-width:max-content;text-align:center}.trace-search{width:100%}.developer-console-ops{justify-content:flex-end;margin-inline-start:0}.trace-row em,.trace-row p{grid-column:1 / -1}.trace-filter-label{display:none}.trace-filter-group{display:block}.trace-filter-group .trace-select-control{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:4px;width:100%}.connect-form.compact,.connect-wide .connect-form.compact{grid-template-columns:1fr}.connection-callout{position:relative;top:auto;left:auto;width:min(100%,380px);margin-top:10px;transform:none}.connection-callout-anchor{top:-6px;left:24px;transform:rotate(135deg)}.status-band-color-warm{grid-template-columns:1fr 1fr}.status-band-color-warm .live-state{justify-self:start;margin:0}.firmware-heading{align-items:stretch}.firmware-catalog-status{justify-items:start}.firmware-catalog-summary{text-align:left}.firmware-drawer-body,.ui-sheet-body{padding:12px}.ui-sheet-header{padding:16px 58px 12px 14px}.firmware-metric-row strong,.firmware-code-value.is-truncated,.firmware-confirm-row span,.firmware-status-tile strong,.firmware-identity-row code{white-space:normal;overflow-wrap:anywhere}}@media(max-width:520px){.main-surface{padding:18px 14px 36px}.main-surface.connect-adapt-command{width:100vw;max-width:100vw}.firmware-stat-strip{grid-template-columns:1fr}.connect-adapt-command{padding-bottom:88px}.connect-adapt-command .topbar{margin:-18px -14px 14px;padding:14px;border-bottom:1px solid var(--color-hairline);background:var(--color-mobile-topbar)}.connect-adapt-command .topbar h1{font-size:28px}.topbar-metrics{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.topbar-metrics .top-metric{flex:1 1 0;min-width:0;padding:6px 4px 7px;text-align:center}.topbar-metrics .top-metric span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.topbar-metrics .top-metric strong{margin-top:1px;font-size:28px;line-height:1}.fleet-grid{grid-template-columns:1fr;min-width:0}.device-card{padding:14px}.mode-row{gap:8px 10px}.metric-duo-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-duo-stack .metric-tile{min-width:0}.summary-list{grid-template-columns:minmax(68px,auto) minmax(0,1fr);gap:8px 12px}.ui-segmented-control{overflow-x:auto}.connect-adapt-command .connect-wide{gap:14px;width:100%;max-width:100%;overflow-x:hidden}.connect-adapt-command .section-heading,.connect-adapt-command .devd-discovery-panel,.connect-adapt-command .connect-panel{width:100%;max-width:calc(100vw - 28px);padding:14px}.connect-adapt-command .connect-grid,.connect-adapt-command .secondary-connect-grid{width:100%;grid-template-columns:minmax(0,1fr)}.connect-adapt-command .connect-form.compact,.connect-adapt-command .connect-wide .connect-form.compact{grid-template-columns:minmax(0,1fr)}.connect-adapt-command .devd-discovery-header h3,.connect-adapt-command .connect-panel-header h3{align-items:flex-start;font-size:18px;line-height:1.18}.connect-adapt-command .devd-discovery-status{display:flex;flex-wrap:wrap;white-space:normal}.connect-adapt-command .devd-device-card{grid-template-columns:minmax(0,1fr);padding:12px}.connect-adapt-command .devd-device-main{align-items:flex-start}.connect-adapt-command .devd-device-meta{grid-template-columns:minmax(0,1fr);gap:8px}.connect-adapt-command .devd-device-actions{justify-content:flex-start}.connect-adapt-command .inline-companion-callout{flex-direction:column;align-items:flex-start}.connect-adapt-command .devd-discovery-footer{flex-direction:column}.connect-adapt-command .section-heading{border:1px solid var(--color-hairline);border-radius:var(--radius-card);padding:14px;background:var(--color-panel)}.connect-adapt-command .section-heading h2{font-size:22px}.connect-adapt-command .section-heading p{max-width:34rem;margin-top:6px;font-size:14px}.connect-adapt-command .connect-form{position:sticky;bottom:14px;z-index:16;grid-template-columns:1fr;gap:8px;border:1px solid color-mix(in oklch,var(--color-primary) 42%,var(--color-hairline));border-radius:var(--radius-card);padding:10px;background:var(--color-panel);box-shadow:var(--shadow-command-panel)}.connect-adapt-command .connect-grid .connect-form{position:static;box-shadow:none}.connect-adapt-command .connect-form label{min-height:56px}.connect-adapt-command .connect-wide .form-actions,.connect-adapt-command .form-actions{display:grid;grid-column:auto;grid-template-columns:minmax(0,1fr);gap:8px}.connect-adapt-command .connect-wide .form-actions>button,.connect-adapt-command .form-actions>button{width:100%}.connect-adapt-command .primary-button,.connect-adapt-command .secondary-button,.connect-adapt-command .icon-button{min-height:var(--control-height-touch)}.connect-adapt-command .table-list{gap:0;overflow:hidden;border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--color-panel)}.connect-adapt-command .table-row{min-height:56px;padding:10px 12px;border-top:0;border-bottom:1px solid var(--color-hairline)}.connect-adapt-command .table-row:last-child{border-bottom:0}.log-row{grid-template-columns:64px 46px minmax(0,1fr)}.log-row code{display:none}.developer-console{gap:12px}.developer-console.is-expanded{inset:6px}.developer-console-actions{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.trace-mode-tabs{display:none}.trace-select-control{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:4px;width:100%;min-width:0}.trace-select-control>span{overflow:hidden;padding-inline:2px;text-overflow:ellipsis}.trace-select-control .ui-select-trigger{min-height:var(--control-height-touch);gap:8px;padding-inline:16px 14px;font-size:14px}.ui-segmented-control.is-quiet button,.trace-mode-tabs button{min-height:var(--control-height-touch);padding:0 12px}.trace-search{grid-column:1 / -1;min-height:var(--control-height-touch)}.trace-filter-count{grid-column:1 / -1}.developer-console-ops{grid-column:1 / -1;justify-content:space-between}.trace-live-button{flex:1 1 auto;min-width:0}.switch-control{min-height:var(--control-height-touch);height:var(--control-height-touch)}.developer-console-actions .icon-button{width:var(--control-height-touch);min-height:var(--control-height-touch);height:var(--control-height-touch)}.trace-panel{max-height:min(58vh,560px)}.trace-row{grid-template-columns:64px 34px minmax(0,1fr);gap:6px 8px;padding:8px;font-size:11px}.trace-row span,.trace-row strong,.trace-row code,.trace-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-row pre{max-height:140px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
