:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f7fb;--panel:#ffffffeb;--panel-2:#f2f5f9;--panel-3:#e8eef5;--text:#14201b;--muted:#65746d;--subtle:#8b9892;--accent:#0d9f61;--accent-2:#18c87a;--warn:#d88900;--danger:#dc3d35;--line:#1929221a;--shadow:0 18px 60px #14201b1a}*{box-sizing:border-box}body{min-width:320px;color:var(--text);background:radial-gradient(circle at 0 0,#18c87a17,#0000 32rem),linear-gradient(135deg,#f9fbfd,#f4f7fb 58%,#eef5f1);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.appShell{grid-template-columns:280px minmax(0,1fr);gap:24px;width:min(1480px,100vw - 40px);margin:0 auto;padding:32px 0;display:grid}.sidebar,.panel,.metricCard{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}.sidebar{border-radius:28px;flex-direction:column;justify-content:space-between;align-self:start;min-height:calc(100vh - 64px);padding:22px;display:flex;position:sticky;top:32px}.brandBlock{padding:4px 2px 0}.eyebrow,.label{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:800}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:-.06em;margin-bottom:10px;font-size:32px;line-height:1}h2{letter-spacing:-.05em;margin-bottom:8px;font-size:clamp(24px,2.8vw,34px);line-height:1.05}h3{letter-spacing:-.03em;margin-bottom:0;font-size:20px}h4{letter-spacing:-.03em;margin-bottom:8px;font-size:19px}.intro,.deviceSubtitle,.environmentCard p,.metricCard small,.field span,.toggle small,.drawerFooter p,.commandRow span,.snapshotNotes,.miniMeta{color:var(--muted)}.intro{line-height:1.6}.navList{gap:16px;margin:24px 0;display:grid}.navGroup{gap:8px;display:grid}.navCaption{color:var(--subtle);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:900}.navList a,.navList button{width:100%;color:var(--muted);text-align:left;background:#14201b09;border:0;border-radius:14px;padding:12px 13px;font-weight:750;text-decoration:none}.navList a.active,.navList a:hover,.navList button.active,.navList button:hover:not(:disabled){color:var(--text);background:#0d9f611c}.navList button:disabled{opacity:.42}.environmentCard{border:1px solid var(--line);background:#ffffff94;border-radius:22px;padding:16px}.environmentCard strong{margin:8px 0;display:block}.errorBanner,.drawerError{color:#8d1f1a;background:#ff7b721f;border:1px solid #ff7b7259;border-radius:18px;padding:14px 16px;line-height:1.45}.drawerError{margin:18px 24px 0}.content{gap:20px;display:grid}.legacyHidden{display:none!important}.topbar,.panelHeader,.drawerHeader,.drawerFooter,.inlineSettings{justify-content:space-between;align-items:center;gap:18px;display:flex}.topbar{border:1px solid var(--line);background:#ffffffc7;border-radius:28px;padding:24px 26px;box-shadow:0 14px 42px #14201b0f}.dashboardPath{color:var(--subtle);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;display:flex}.dashboardPath b{font-weight:850}.dashboardPath b.active{color:var(--accent)}.breadcrumb{color:var(--subtle);margin-bottom:10px;font-size:14px;display:block}.topActions{align-items:center;gap:10px;display:flex}.statusPill{min-width:max-content;color:var(--accent);background:#0d9f611a;border:1px solid #0d9f613d;border-radius:999px;justify-content:center;align-items:center;padding:9px 13px;font-weight:800;display:inline-flex}.statusPill.online:before,.statusPill.degraded:before,.statusPill.offline:before{content:"";background:currentColor;border-radius:999px;width:8px;height:8px;margin-right:8px;box-shadow:0 0 18px}.statusPill.degraded,.statusPill.limited,.metricCard.standby{color:var(--warn);background:#ffd1661f;border-color:#ffd16659}.statusPill.offline,.metricCard.offline{color:var(--danger);background:#ff7b721f;border-color:#ff7b7259}.iconButton{border:1px solid var(--line);width:44px;height:44px;color:var(--text);background:#fffc;border-radius:999px;place-items:center;font-size:21px;display:inline-grid}.iconButton:hover{background:#0d9f6114;border-color:#0d9f616b}.summaryGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.layerStack{gap:16px;display:grid}.compactKpiGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.compactKpi{border:1px solid var(--line);background:#ffffffe6;border-radius:22px;gap:4px;min-height:78px;padding:12px 14px;display:grid;box-shadow:0 12px 36px #14201b0f}.compactKpi span{color:var(--subtle);letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:900}.compactKpi strong{letter-spacing:-.04em;font-size:24px;line-height:1}.compactKpi small{color:var(--muted);font-weight:750}.compactKpi.healthy{background:linear-gradient(135deg,#fff,#e8faf1f2);border-color:#0d9f6138}.compactKpi.warning{background:linear-gradient(135deg,#fff,#fff7e5f2);border-color:#d8890038}.compactKpi.critical{background:linear-gradient(135deg,#fff,#ffeeedf2);border-color:#dc3d3538}.layerLayout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:16px;display:grid}.layerPanel{min-height:360px}.layerPanelHeader,.layerBackRow,.roomListHeader{justify-content:space-between;align-items:center;gap:16px;display:flex}.layerPanelHeader{border-bottom:1px solid var(--line);padding:20px 22px}.layerBackRow{justify-content:flex-start}.customerList,.locationRows,.roomList{gap:8px;padding:16px;display:grid}.customerList.list,.driverListPanel.list{grid-template-columns:1fr}.customerList.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.customerListHeader,.driverListHeader{color:var(--subtle);letter-spacing:.1em;text-transform:uppercase;gap:12px;padding:0 12px 8px;font-size:11px;font-weight:900;display:grid}.customerListHeader{grid-template-columns:minmax(180px,1.2fr) minmax(190px,1fr) minmax(120px,.55fr)}.locationRows{border-bottom:1px solid var(--line);background:#f5f7fbb8}.customerRow,.locationRow,.roomRow,.roomDeviceRow{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:#fff;transition:border-color .16s,background .16s,transform .16s}.customerRow:hover,.locationRow:hover,.roomRow:hover,.roomDeviceRow:hover{background:#0d9f610b;border-color:#0d9f615c;transform:translateY(-1px)}.customerRow,.roomRow{border-radius:16px;grid-template-columns:14px minmax(180px,1.2fr) minmax(190px,1fr) minmax(120px,.55fr);align-items:center;gap:14px;padding:12px 14px;display:grid}.customerList.grid .customerRow{grid-template-columns:14px minmax(0,1fr);align-content:start;min-height:132px;padding:15px}.customerList.grid .customerRow small,.customerList.grid .customerRow b{text-align:left;grid-column:2}.locationRow{border-radius:18px;grid-template-columns:minmax(180px,1fr) minmax(180px,auto) minmax(110px,auto);align-items:center;gap:14px;padding:14px 16px;display:grid}.locationRow.selected{background:#0d9f6114;border-color:#0d9f616b}.customerRow small,.locationRow small,.roomRow small,.roomDeviceRow small,.roomListHeader small,.adminSettingsCard p{color:var(--muted)}.customerRow b,.locationRow b,.roomRow b,.roomDeviceRow b{color:var(--muted);text-align:right;font-size:13px;font-weight:850}.healthDot{background:var(--accent);border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 5px #0d9f611f}.healthDot.warning{background:var(--warn);box-shadow:0 0 0 5px #d889001f}.healthDot.critical{background:var(--danger);box-shadow:0 0 0 5px #dc3d351f}.adminSettingsCard{gap:14px;padding:20px;display:grid}.adminSettingsCard h3,.adminSettingsCard p{margin-bottom:0}.adminSettingRows{gap:8px;display:grid}.metricCard,.panel{border-radius:28px}.metricCard{padding:20px}.metricCard span{color:var(--subtle);text-transform:uppercase;font-size:13px;font-weight:800}.metricCard strong{margin:9px 0 4px;font-size:24px;display:block}.metricCard.online{border-color:#66f2a53d}.panel{overflow:hidden}.panelHeader,.drawerHeader,.drawerFooter{border-bottom:1px solid var(--line);padding:22px 24px}.drawerFooter{border-top:1px solid var(--line);border-bottom:0}.drawerHeaderActions{align-items:center;gap:8px;display:flex}.dashboardGrid{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:20px;display:grid}.quickActionsPanel{box-shadow:var(--shadow);background:linear-gradient(135deg,#fffffff0,#e7f8f0e6);border:1px solid #0d9f612e;border-radius:28px;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;display:flex}.quickActionsPanel h3{margin:4px 0 6px}.quickActionsPanel p{color:var(--muted);margin:0}.quickActionButtons{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.resourceBrowser{scroll-margin-top:24px}.addDevicePanel{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:22px 24px;display:grid}.addDevicePanel p{color:var(--muted);margin:6px 0 0;line-height:1.5}.addDeviceSteps{flex-wrap:wrap;gap:8px;max-width:420px;display:flex}.addDeviceSteps span{color:var(--muted);background:#0d9f610f;border:1px solid #0d9f612e;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:800}.browserHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;display:flex}.segmentedControl{border:1px solid var(--line);background:var(--panel-2);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.segmentedControl button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:9px 14px;font-weight:800}.segmentedControl button.selected{color:#fff;background:var(--accent)}.browserLayout{grid-template-columns:280px minmax(0,1fr);gap:20px;padding:24px;display:grid}.treePanel{align-content:start;gap:10px;display:grid}.treeNode{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:#fff;border-radius:18px;gap:4px;padding:14px 16px;display:grid}.treeNode span{color:var(--subtle);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:900}.treeNode.active{background:#0d9f6112;border-color:#0d9f6152}.deviceCollection{gap:12px;display:grid}.deviceCollection.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.deviceCollection.list{grid-template-columns:1fr}.deviceTile{border:1px solid var(--line);min-height:158px;color:var(--text);text-align:left;background:#fff;border-radius:22px;gap:9px;padding:18px;display:grid;position:relative;box-shadow:0 10px 30px #14201b0d}.deviceCollection.list .deviceTile{grid-template-columns:18px minmax(220px,1fr) minmax(180px,auto);align-items:center;min-height:auto}.deviceTile:hover{border-color:#0d9f615c;transform:translateY(-1px)}.dot{background:var(--subtle);border-radius:999px;width:10px;height:10px}.dot.online{background:var(--accent);box-shadow:0 0 0 5px #0d9f611f}.dot.degraded,.dot.warning{background:var(--warn);box-shadow:0 0 0 5px #d889001f}.dot.offline,.dot.critical{background:var(--danger);box-shadow:0 0 0 5px #dc3d351f}.tileMeta{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.tileMeta span{color:var(--muted);background:var(--panel-2);border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800}.controlGroups{gap:16px;padding:18px;display:grid}.controlGroup{gap:12px;display:grid}.controlGroup>span{color:var(--subtle);letter-spacing:.1em;text-transform:uppercase;font-size:13px;font-weight:800}.buttonRow{flex-wrap:wrap;gap:8px;display:flex}.controlButton,.primaryButton{border:0;border-radius:999px;font-weight:800}.controlButton{color:#06110d;background:var(--accent);padding:9px 12px;font-size:13px}.controlButton.ghost{color:var(--text);border:1px solid var(--line);background:#ffffffd1}.dangerButton{color:#8d1f1a;background:#ff7b7224;border:1px solid #ff7b7247}.controlButton.warning{color:#1a1200;background:var(--warn)}.controlButton.selected{color:#06110d;background:linear-gradient(135deg, var(--accent), var(--accent-2))}.volumeLine{grid-template-columns:minmax(160px,1fr) 48px auto;align-items:center;gap:10px;display:grid}.volumeLine input{width:100%;accent-color:var(--accent)}.snapshotFrame{padding:24px 24px 10px}.snapshotScreen{aspect-ratio:16/9;text-align:center;background:linear-gradient(135deg,#66f2a51f,#0000),repeating-linear-gradient(135deg,#ffffff0a 0 10px,#0000 10px 20px),#09120f;border:1px solid #ffffff24;border-radius:22px;place-items:center;padding:24px;display:grid}.snapshotScreen span{margin-bottom:8px;font-size:22px;font-weight:900;display:block}.snapshotScreen small{max-width:340px;color:var(--muted);line-height:1.5}.snapshotNotes{padding:12px 24px 24px;line-height:1.55}.twoColumn{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:20px;display:grid}.factsList,.commandList{gap:10px;padding:24px;display:grid}.factRow,.commandRow{background:var(--panel-2);border-radius:16px;align-items:center;gap:12px;padding:14px;display:grid}.factRow{grid-template-columns:150px 1fr}.factRow span{color:var(--subtle)}.commandRow{grid-template-columns:130px 1fr 90px 52px}code,.payloadPreview{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.commandRow code,.commandRow b{color:var(--accent)}.commandRow b.queued{color:var(--warn)}.commandRow b.running{color:#8ecbff}.commandRow b.failed{color:var(--danger)}.commandRow small{color:var(--subtle);text-align:right}.lightBackdrop{background:#14201b2e}.contextDrawer{border-left:1px solid var(--line);background:radial-gradient(circle at 100% 0,#0d9f611a,#0000 28rem),#fff;border-radius:24px 0 0 24px;flex-direction:column;width:min(780px,100vw - 24px);height:calc(100dvh - 24px);min-height:0;margin:12px 12px 12px 0;display:flex;overflow:hidden;box-shadow:-28px 0 90px #14201b29}.contextDrawerBody{flex:auto;align-content:start;gap:12px;min-height:0;padding:16px;display:grid;overflow:hidden auto}.contextDrawerBody>*,.deviceHero,.deviceHeroTop,.deviceHeroActions,.sonyQuickStatusGrid,.hdmiSignalStrip,.hdmiSignalGrid,.sonyActionPanel,.actionDetails,.moreInfoPanel,.urlPushBox,.appRuntimeBox,.inlineCommandForm,.compactSlider,.buttonRow,.compactButtons{min-width:0}.contextDrawer>.drawerHeader{flex:none;padding:16px}.drawerPath{color:var(--subtle);flex-wrap:wrap;flex:none;align-items:center;gap:8px;padding:10px 16px 0;font-size:13px;display:flex}.contextDrawer .sonyQuickStatusGrid,.contextDrawer .hdmiSignalGrid{gap:6px}.drawerPath button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:8px 11px;font-weight:800}.drawerPath button.active{color:#06110d;background:#0d9f611a;border-color:#0d9f6147}.deviceDrawer{border-left:1px solid var(--line);background:radial-gradient(circle at 100% 0,#0d9f611a,#0000 28rem),#fff;width:min(560px,100vw);min-height:100vh;overflow:auto;box-shadow:-28px 0 90px #14201b29}.deviceDrawerBody{gap:18px;padding:24px;display:grid}.roomDrawer{border-left:1px solid var(--line);background:radial-gradient(circle at 100% 0,#0d9f6114,#0000 28rem),#fff;width:min(520px,100vw);min-height:100vh;overflow:auto;box-shadow:-28px 0 90px #14201b29}.roomDrawerBody{gap:18px;padding:24px;display:grid}.roomHealthBox{background:#0d9f6112;border:1px solid #0d9f6133;border-radius:20px;grid-template-columns:12px 1fr;align-items:center;gap:14px;min-height:0;padding:14px 16px;display:grid}.roomHealthBox.warning{background:#d8890014;border-color:#d8890038}.roomHealthBox.critical{background:#dc3d3514;border-color:#dc3d3538}.roomHealthBox strong,.roomHealthBox small{display:block}.roomHealthBox small{color:var(--muted);margin-top:3px}.roomDeviceList{gap:10px;margin-top:10px;display:grid}.roomDeviceRow{border-radius:18px;grid-template-columns:12px minmax(0,1fr) minmax(110px,auto);align-items:center;gap:12px;padding:14px;display:grid}.roomDeviceRow.withActions{border:1px solid var(--line);background:#fff;grid-template-columns:minmax(0,1fr) auto;padding:0}.roomDeviceMain{min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:12px minmax(0,1fr) minmax(110px,auto);align-items:center;gap:12px;padding:14px;display:grid}.roomDeviceRow strong,.roomDeviceRow small{display:block}.departmentRows{gap:8px;margin-bottom:12px;display:grid}.departmentRow{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.departmentRow strong,.departmentRow small{display:block}.departmentRow small{color:var(--muted);margin-top:2px}.tinyDangerButton{color:#9f2c27;background:#dc3d3512;border:1px solid #dc3d3529;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.subtleDanger{color:#9f2c27;background:#dc3d350f;border-color:#dc3d3529;padding:8px 10px}.deviceHero{background:linear-gradient(135deg,#0d9f611a,#ffffffe6);border:1px solid #0d9f612e;border-radius:24px;gap:12px;padding:18px;display:grid}.deviceHero p{color:var(--muted);overflow-wrap:anywhere;margin:0;line-height:1.45}.deviceHeroTop{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.deviceHeroActions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.secondaryButton{color:var(--text);background:#0d9f6114;border:1px solid #0d9f6133;border-radius:999px;padding:10px 13px;font-weight:900}.compactSecondary{padding:8px 11px;font-size:12px}.compactFacts,.drawerCommands{padding:0}.compactFacts .factRow,.drawerCommands .commandRow{background:#f7faf8}.liveStatusStrip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.liveStatusStrip .factRow{background:#fff;min-height:auto;padding:10px}.sonyQuickStatusGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.compactHeader{margin-bottom:6px}.hdmiSignalStrip{border:1px solid var(--line);background:#fff;border-radius:16px;gap:6px;padding:10px;display:grid}.hdmiSignalGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.hdmiSignalChip{border:1px solid var(--line);min-width:0;color:var(--muted);background:#f7faf8bd;border-radius:14px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"dot label""dot detail";align-items:center;column-gap:8px;padding:8px 10px;display:grid}.hdmiSignalChip strong,.hdmiSignalChip small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hdmiSignalChip strong{color:var(--text);grid-area:label;font-size:13px}.hdmiSignalChip small{grid-area:detail;font-size:11px}.signalDot{background:#cfd8d2;border-radius:999px;grid-area:dot;width:10px;height:10px;box-shadow:0 0 0 4px #cfd8d238}.hdmiSignalChip.active{background:#0d9f6114;border-color:#0d9f6157}.hdmiSignalChip.active .signalDot{background:var(--accent);box-shadow:0 0 0 4px #0d9f6129}.hdmiSignalChip.signal .signalDot{background:#5f9f87;box-shadow:0 0 0 4px #5f9f8724}.hdmiSignalChip.none .signalDot{background:#d7a23a;box-shadow:0 0 0 4px #d7a23a24}.miniStatusTile{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:10px}.miniStatusTile span{color:var(--subtle);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900;display:block}.miniStatusTile strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;font-weight:900;display:block;overflow:hidden}.actionMenu{place-items:center;display:inline-grid;position:relative}.actionMenu summary{cursor:pointer;border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:#ffffffe6;border-radius:999px;place-items:center;font-weight:950;line-height:1;list-style:none;display:grid}.actionMenu summary::-webkit-details-marker{display:none}.actionMenu[open] summary{color:var(--text);background:#fff;border-color:#0d9f6147}.actionMenuList{z-index:45;border:1px solid var(--line);background:#fff;border-radius:14px;min-width:190px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 60px #14201b29}.actionMenuList button{color:var(--text);font:inherit;text-align:left;background:0 0;border:0;border-radius:10px;padding:9px 10px;font-size:13px;font-weight:850}.actionMenuList button:hover{background:#0d9f6114}.actionMenuList button.danger{color:#9f2c27}.actionMenuList button.danger:hover{background:#dc3d3514}.drawerSectionLabel{color:var(--subtle);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:900}.drawerSectionHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.headerActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.drawerSectionHeader small{color:var(--muted);font-weight:750}.sonyActionPanel,.moreInfoPanel{border:1px solid var(--line);background:#f7faf8d1;border-radius:16px;gap:8px;padding:10px;display:grid}.compactButtons{gap:8px}.compactButtons .controlButton{min-height:34px;padding:8px 10px}.compactVolume{grid-template-columns:auto repeat(3,minmax(0,auto));justify-content:start;gap:8px;padding-top:4px}.compactVolume span{color:var(--muted);align-self:center;font-weight:850}.compactSlider{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:76px minmax(0,1fr) 34px;align-items:center;gap:10px;padding:8px 10px;display:grid}.compactSlider span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.compactSlider input{width:100%;min-width:0;accent-color:var(--accent)}.compactSlider strong{text-align:right}.miniTelemetryGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.moreInfoPanel summary{cursor:pointer;color:var(--text);font-weight:900}.actionDetails{background:#fff}.actionDetails .buttonRow{padding-top:2px}.singleActionBlock{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:10px;display:grid}.singleActionBlock strong,.singleActionBlock small{display:block}.singleActionBlock small{color:var(--muted);margin-top:2px;line-height:1.35}.infoSummaryLine{color:var(--muted);background:#0d9f610f;border:1px solid #0d9f6126;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px;font-size:13px;font-weight:800;display:flex}.technicalDetails{border:1px dashed var(--line);background:#fff;border-radius:14px;gap:10px;padding:10px;display:grid}.technicalDetails summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:900}.urlPushBox{background:#fff;border:1px dashed #0d9f6142;border-radius:14px;gap:8px;min-width:0;padding:10px;display:grid}.urlControlPanel{background:#0d9f610b;border-color:#0d9f6133}.appRuntimeBox{border:1px solid var(--line);background:#f7faf8c2;border-radius:14px;gap:8px;padding:10px;display:grid}.appRuntimeRows{gap:6px;display:grid}.appRuntimeRow{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;display:grid}.appRuntimeRow span{color:var(--subtle);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:900}.appRuntimeRow strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.appRuntimeRow.ok{border-color:#0d9f613d}.appRuntimeRow.warn{border-color:#d7a23a59}.appLaunchForm{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.appLaunchForm select{border:1px solid var(--line);min-width:0;color:var(--text);font:inherit;background:#fff;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:800}.inlineCommandForm{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8px;display:grid}.inlineCommandForm input{border:1px solid var(--line);min-width:0;color:var(--text);font:inherit;background:#fff;border-radius:999px;padding:9px 12px}.inlineCommandForm .controlButton{justify-content:center}.inlineHelp{color:var(--muted);font-size:12px;line-height:1.35;display:block}.urlPresetList{gap:6px;display:grid}.urlPresetRow{border:1px solid var(--line);background:#f7faf8c7;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px;display:grid}.urlPresetOpen{min-width:0;color:var(--text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;gap:2px;padding:6px 8px;display:grid}.urlPresetOpen:disabled{cursor:not-allowed;opacity:.58}.urlPresetOpen strong,.urlPresetOpen span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.urlPresetOpen strong{font-size:13px}.urlPresetOpen span{color:var(--muted);font-size:12px}.fullWidthButton{justify-content:center;width:100%}.rawStatusBlock{border:1px solid var(--line);color:#24332c;white-space:pre-wrap;background:#f9fbfa;border-radius:14px;max-height:280px;margin:0;padding:12px;font-size:11px;line-height:1.45;overflow:auto}.drawerBackdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14201b3d;justify-content:flex-end;display:flex;position:fixed;inset:0}.settingsDrawer{border-left:1px solid var(--line);background:radial-gradient(circle at 100% 0,#0d9f611f,#0000 32rem),#fff;width:min(620px,100vw);min-height:100vh;overflow:auto;box-shadow:-28px 0 90px #14201b2e}.setupBackdrop{z-index:35;justify-content:center;align-items:center;padding:24px}.setupWizard{border:1px solid var(--line);background:radial-gradient(circle at 100% 0,#0d9f611f,#0000 26rem),#fff;border-radius:28px;width:min(680px,100%);max-height:min(860px,100vh - 48px);overflow:auto;box-shadow:0 28px 90px #14201b38}.setupWizardFooter{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.driverGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.driverListPanel{gap:8px;padding:12px 20px 20px;display:grid}.driverListPanel.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.driverListHeader{grid-template-columns:minmax(220px,1.1fr) minmax(160px,.8fr) minmax(220px,1fr) minmax(120px,.5fr)}.driverCard{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:minmax(220px,1.1fr) minmax(160px,.8fr) minmax(220px,1fr) minmax(120px,.5fr);align-items:center;gap:12px;padding:12px;display:grid}.driverListPanel.grid .driverCard{grid-template-columns:1fr;align-content:start;min-height:160px;padding:15px}.driverMain strong,.driverMain small{display:block}.driverMain small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:750}.driverCapabilities{flex-wrap:wrap;gap:6px;display:flex}.driverCapabilities b,.driverStatus b{width:fit-content;color:var(--muted);background:var(--panel-2);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:850}.driverStatus b{color:var(--warn);text-transform:uppercase;background:#ffd16624}.adminInlineSettings{border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;margin:0 20px 20px;padding:12px 14px;display:flex}.adminInlineSettings p{color:var(--muted);margin:3px 0 0}.driverCard h4,.driverCard p{margin:0}.driverCard p{color:var(--muted);font-size:13px;font-weight:750}.driverMeta{gap:7px;display:grid}.tabs{border:1px solid var(--line);background:var(--panel-2);border-radius:999px;gap:6px;width:fit-content;margin:22px 24px 0;padding:5px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:9px 14px;font-weight:800}.tabs button.selected{color:#06110d;background:var(--accent)}.settingsBody{gap:14px;padding:18px 20px;display:grid}.field{gap:8px;display:grid}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#ffffffb8;border-radius:13px;outline:none;padding:10px 12px}.field small,.settingsHint{color:var(--muted);font-size:12px;line-height:1.4}.compactSettingsGrid{grid-template-columns:minmax(0,1fr) 150px;align-items:start;gap:12px;display:grid}.compactInlineSettings{align-items:stretch;gap:12px}.settingsHint{background:#0d9f6112;border:1px solid #0d9f612e;border-radius:14px;padding:10px 12px}.warningHint{background:#ffd16624;border-color:#d8890047}.field input[readonly]{color:var(--muted);background:var(--panel-2)}.field input:focus,.field select:focus,.field textarea:focus{border-color:#66f2a5a3;box-shadow:0 0 0 4px #66f2a51a}.field.compact{min-width:220px}.credentialBox{background:linear-gradient(135deg,#fffffff0,#e7f8f0c7);border:1px solid #0d9f612e;border-radius:18px;gap:10px;padding:14px;display:grid}.credentialBox h4{margin:4px 0 6px}.credentialBox p,.credentialBox small{color:var(--muted);margin:0;line-height:1.45}.credentialGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.sonyCredentialGrid{grid-template-columns:1fr}.secretInput{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.smallButton{min-width:46px;padding:0 13px}.protocolGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.protocolCard{border:1px solid var(--line);background:#fff;border-radius:22px;gap:9px;min-height:178px;padding:18px;transition:all .16s;display:grid;position:relative}.protocolCard input{opacity:0;position:absolute}.protocolCard span{width:fit-content;color:var(--accent);background:#66f2a51c;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.protocolCard strong{font-size:19px}.protocolCard p{color:var(--muted);line-height:1.45}.protocolCard.selected{background:#66f2a51a;border-color:#66f2a5b8;transform:translateY(-2px)}.toggle{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:flex-start;gap:10px;padding:12px;display:flex}.toggle input{width:20px;height:20px;accent-color:var(--accent)}.toggle strong,.toggle small{display:block}.advancedGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.advancedToggle,.field.full{grid-column:1/-1}.primaryButton{color:#06110d;background:linear-gradient(135deg, var(--accent), var(--accent-2));padding:13px 18px}.payloadBox{gap:10px;padding:0 24px 24px;display:grid}.payloadBox summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:800}.payloadPreview{border:1px solid var(--line);color:#1d3028;background:#f6faf8;border-radius:18px;max-height:320px;margin:0;padding:18px;overflow:auto}.portalOverview,.structurePanel{scroll-margin-top:24px}.portalHeader{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#ffe1bb9e,#ffffffc7);gap:12px;padding:18px 20px;display:grid}.customerTabs{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(90px,.18fr));gap:10px;display:grid}.customerTabs button{color:var(--text);background:#fff6d7db;border:1px solid #d889003d;border-radius:14px;padding:13px 14px;font-weight:800}.customerTabs button.selected{background:#fffae2fa;border-color:#0d9f6147}.portalBody{grid-template-columns:minmax(0,1fr) 320px;gap:18px;padding:18px;display:grid}.customerMap{border:1px solid var(--line);background:#ffffffb8;border-radius:20px;gap:12px;padding:14px;display:grid}.locationStrip{background:#ffd6d6a3;border:1px solid #dc3d3529;border-radius:16px;grid-template-columns:140px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.locationStrip span,.roomBlock span,.compactStatusCard span{color:var(--subtle);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:900}.locationStrip small{color:var(--muted)}.roomAndDevices{grid-template-columns:92px minmax(0,1fr);gap:12px;display:grid}.roomBlock{writing-mode:vertical-rl;text-align:center;background:#ddcfe8bd;border:1px solid #694a8729;border-radius:16px;place-content:center;gap:8px;min-height:150px;display:grid;transform:rotate(180deg)}.portalDeviceList{gap:8px;display:grid}.portalDevice{min-height:48px;color:var(--text);text-align:left;background:#dbf1d6b8;border:1px solid #0d9f612e;border-radius:14px;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.portalDevice strong,.portalDevice small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portalDevice small{color:var(--muted)}.portalStatusRail{gap:12px;display:grid}.compactStatusCards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.compactStatusCard{background:#0d9f6112;border:1px solid #0d9f612e;border-radius:16px;gap:4px;padding:13px;display:grid}.compactStatusCard.degraded{background:#ffd16621;border-color:#d8890047}.compactStatusCard.offline{background:#dc3d3517;border-color:#dc3d353d}.compactStatusCard strong{font-size:24px}.compactStatusCard small,.dumbHubCard small,.dumbHubCard p{color:var(--muted)}.dumbHubCard{background:#dbf1d6b8;border:1px solid #0d9f6133;border-radius:18px;gap:7px;min-height:132px;padding:16px;display:grid}.dumbHubCard p{margin:4px 0 0;line-height:1.45}.structureFlow{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:24px;display:grid}.structureStep{border:1px solid var(--line);background:#fff;border-radius:20px;align-content:start;gap:8px;min-height:154px;padding:18px;display:grid;position:relative}.structureStep:not(:last-child):after{content:"→";z-index:1;color:#06110d;background:var(--accent);border-radius:999px;place-items:center;width:26px;height:26px;font-weight:900;display:grid;position:absolute;top:18px;right:-13px}.structureStep span{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:900}.structureStep strong{font-size:19px}.structureStep small,.sectionIntro p{color:var(--muted);line-height:1.45}.superAdminArea{gap:14px;scroll-margin-top:24px;display:grid}.sectionIntro{background:#ffd16614;border:1px solid #ffd16640;border-radius:24px;padding:22px 24px}.sectionIntro h3{margin-top:4px;margin-bottom:8px}.hubPanel{scroll-margin-top:24px}.hubPanel .panelHeader{padding-bottom:14px}.hubPanel .panelHeader p{max-width:720px;color:var(--muted);margin:4px 0 0}.hubSummaryStrip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 20px 18px;display:grid}.hubMiniStat{border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;min-height:48px;padding:10px 12px;display:flex}.hubMiniStat span{color:var(--muted);font-size:12px;font-weight:850}.hubMiniStat strong{font-size:20px}.hubMiniStat strong.textValue{letter-spacing:0;font-size:13px}.hubMiniStat.online strong{color:var(--accent)}.hubMiniStat.degraded strong{color:var(--warn)}.hubMiniStat.offline strong{color:var(--danger)}.hubLayout{grid-template-columns:1fr;gap:14px;padding:0 20px 20px;display:grid}.hubList,.hubRegister,.hubDevices{gap:12px;display:grid}.hubAddPanel{background:#0d9f610d;border:1px solid #0d9f612e;border-radius:22px;gap:12px;padding:12px;display:grid}.hubToolbar{justify-content:space-between;align-items:center;gap:14px;padding:4px 2px;display:flex}.hubToolbar h4{margin:3px 0 0;font-size:18px}.hubList{border:1px solid var(--line);background:#fff;border-radius:20px;align-content:start;padding:12px}.hubList.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.hubList.list{grid-template-columns:1fr}.hubWizardCard{background:linear-gradient(135deg,#fffffff0,#0d9f6112);border:1px solid #0d9f6138;border-radius:20px;gap:12px;padding:15px;display:grid}.hubWizardHeader,.wizardActions{justify-content:space-between;align-items:center;gap:12px;display:flex}.hubWizardHeader h4{margin:3px 0;font-size:20px}.hubWizardHeader p{color:var(--muted);margin:0}.wizardSteps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.wizardStep{background:#ffffffbd;border-radius:15px;grid-template-columns:28px 1fr;gap:9px;padding:10px;display:grid}.wizardStep b{color:#fff;background:var(--accent);border-radius:999px;place-items:center;width:28px;height:28px;font-size:13px;display:grid}.wizardStep strong,.wizardStep small{display:block}.wizardStep small{color:var(--muted);margin-top:2px;line-height:1.35}.wizardHint{color:var(--muted);background:#ffffffb3;border:1px dashed #0d9f6147;border-radius:15px;gap:6px;padding:10px 12px;display:grid}.wizardHint code{color:var(--text);white-space:normal;font-size:12px}.hubListHeader{color:var(--subtle);letter-spacing:.1em;text-transform:uppercase;grid-template-columns:minmax(180px,1.1fr) minmax(180px,1fr) minmax(110px,.55fr) minmax(160px,.8fr) minmax(120px,.55fr);gap:12px;padding:0 12px 8px;font-size:11px;font-weight:900;display:grid}.provisioningCard{background:linear-gradient(135deg,#fff,#0d9f610f);border:1px solid #0d9f612e;border-radius:18px;gap:10px;padding:14px;display:grid}.provisioningCard h4{margin:-3px 0 0;font-size:18px}.hubClaimCard{background:linear-gradient(135deg,#fff,#0d9f611a);border-color:#0d9f6147}.provisioningCard p{color:var(--muted);margin:0;line-height:1.45}.provisioningGrid{grid-template-columns:1fr .7fr;gap:8px;display:grid}.setupCodeBox{background:#0d9f6114;border:1px dashed #0d9f616b;border-radius:18px;gap:4px;padding:14px;display:grid}.setupCodeBox span{color:var(--subtle);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:900}.setupCodeBox strong{color:var(--accent);letter-spacing:.04em;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:22px}.setupCodeBox small{color:var(--muted);line-height:1.4}.hubListItem{width:100%;color:var(--text);background:var(--panel-2);text-align:left;border:0;border-radius:14px;grid-template-columns:minmax(180px,1.1fr) minmax(180px,1fr) minmax(110px,.55fr) minmax(160px,.8fr) minmax(120px,.55fr);align-items:center;gap:12px;padding:12px;display:grid}.hubList.grid .hubListItem{border:1px solid #19292214;grid-template-columns:1fr;align-content:start;min-height:174px;padding:16px}.hubList.grid .hubListItem>span:not(.hubListMain):not(.hubListMeta){color:var(--muted);font-size:13px}.hubList.grid .hubListMeta{margin-top:auto}.hubListItem.selected{background:#66f2a51a;box-shadow:inset 0 0 0 1px #66f2a5a3}.hubListItem:hover{background:#0d9f6112}.hubListItem strong,.hubListItem small{display:block}.hubListItem strong{font-size:14px}.hubListItem small,.hubDeviceRow small,.emptyText{color:var(--muted)}.hubListMain{min-width:0}.hubListMain small{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.hubList.grid .hubListMain strong{font-size:17px}.hubList.grid .hubListMain small{white-space:normal;margin-top:3px}.hubListMeta{justify-items:end;gap:2px;display:grid}.hubListMeta small{font-size:11px}.hubListItem b,.hubDeviceRow b{color:var(--warn);text-transform:uppercase;font-size:12px}.hubListItem b.online,.hubDeviceRow b.online{color:var(--accent)}.hubListItem b.offline,.hubDeviceRow b.offline{color:var(--danger)}.hubDetailHeader{border:1px solid var(--line);background:#fff;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.hubDetailHeader.compact{display:block}.hubDetailHeader h4{margin:3px 0;font-size:22px}.hubDetailHeader p{color:var(--muted);margin:0}.hubDrawer{border-left:1px solid var(--line);background:radial-gradient(circle at 100% 0,#0d9f611a,#0000 30rem),#fff;width:min(760px,100vw);min-height:100vh;overflow:auto;box-shadow:-28px 0 90px #14201b2e}.hubDrawerBody{gap:12px;padding:18px;display:grid}.hubDrawer .drawerHeader h3{margin:3px 0}.hubDrawer .drawerHeader p{color:var(--muted);margin:0}.hubStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.hubStats .factRow,.hubReadonlyGrid .factRow{border-radius:14px;grid-template-columns:1fr;gap:4px;padding:10px 12px}.hubStats .factRow strong,.hubReadonlyGrid .factRow strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.hubEditor{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.hubEditor .compactSaveButton{justify-self:start;padding:12px 18px}.hubConfigGroup{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:12px;display:grid}.hubConfigGroup .advancedToggle{grid-column:1/-1}.hubConfigGroup p{color:var(--muted);margin:6px 0 0}.hubAdvanced{background:#0d9f610a;border:1px solid #0d9f612e;border-radius:16px;gap:12px;padding:12px;display:grid}.hubAdvanced summary{cursor:pointer;list-style-position:outside}.hubAdvanced summary span{gap:2px;margin-left:4px;display:inline-grid}.hubAdvanced summary small{color:var(--muted);font-size:12px}.hubReadonlyGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:12px;display:grid}.hubDevices{border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px}.hubDeviceRow{background:var(--panel-2);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;display:flex}@media (width<=1180px){.appShell,.dashboardGrid,.twoColumn,.browserLayout,.layerLayout,.hubLayout,.portalBody{grid-template-columns:1fr}.sidebar{min-height:auto;position:static}}@media (width<=780px){.appShell{width:min(100vw - 24px,680px);padding:12px 0}.summaryGrid,.compactKpiGrid,.protocolGrid,.compactSettingsGrid,.miniTelemetryGrid,.advancedGrid,.provisioningGrid,.structureFlow,.customerTabs,.locationStrip,.roomAndDevices,.compactStatusCards,.liveStatusStrip,.sonyQuickStatusGrid,.hdmiSignalGrid,.hubSummaryStrip,.wizardSteps,.hubStats,.hubEditor,.hubConfigGroup,.hubReadonlyGrid,.hubListItem,.factRow,.commandRow,.customerRow,.locationRow,.roomRow,.roomDeviceRow,.roomDeviceMain,.departmentRow,.deviceCollection.list .deviceTile,.singleActionBlock,.appLaunchForm,.inlineCommandForm,.appRuntimeRow,.volumeLine{grid-template-columns:1fr}.infoSummaryLine{flex-direction:column;align-items:stretch}.hubListHeader,.customerListHeader,.driverListHeader{display:none}.customerList.grid,.driverListPanel.grid,.driverCard{grid-template-columns:1fr}.adminInlineSettings{flex-direction:column;align-items:stretch;margin:0 12px 12px}.contextDrawer{border-radius:22px;width:calc(100vw - 16px);height:calc(100dvh - 16px);margin:8px}.hubListMeta{justify-items:start}.topbar,.panelHeader,.browserHeader,.quickActionsPanel,.addDevicePanel,.drawerHeader,.drawerFooter,.hubWizardHeader,.wizardActions,.inlineSettings,.layerPanelHeader,.layerBackRow,.roomListHeader{flex-direction:column;align-items:stretch}.customerRow b,.locationRow b,.roomRow b,.roomDeviceRow b{text-align:left}.topActions,.buttonRow{align-items:stretch}.roomBlock{writing-mode:initial;min-height:auto;transform:none}.commandRow small{text-align:left}h1{font-size:30px}}
