:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-page:#edf0e8;--bg-surface:#fffef9;--bg-subtle:#f6f5ef;--bg-muted:#ecefe7;--ink-strong:#20291f;--ink:#374238;--ink-muted:#707a71;--ink-faint:#939b93;--line:#d9dccf;--line-strong:#c4c9ba;--brand-olive:#445708;--brand-olive-strong:#344304;--brand-olive-soft:#e9eddc;--brand-amber:#e7a311;--brand-amber-soft:#fff4d8;--brand-orange:#d96625;--brand-orange-soft:#fcebdd;--brand-teal:#2f777a;--brand-teal-soft:#e5f0ef;--brand-red:#c7482b;--shadow-panel:0 1px 2px #2834240a, 0 8px 22px #2834240a;--radius-panel:8px;--radius-control:6px;font-family:Avenir Next,Helvetica Neue,PingFang TC,Microsoft JhengHei,sans-serif}*{box-sizing:border-box}html{background:var(--bg-page);min-width:320px}body{min-width:320px;min-height:100vh;color:var(--ink);background-color:var(--bg-page);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:linear-gradient(#44570806 1px,#0000 1px),linear-gradient(90deg,#44570806 1px,#0000 1px);background-size:32px 32px;margin:0}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible{outline-offset:2px;outline:3px solid #e7a31173}h1,h2,p,dl,dd,ol{margin:0}.app-shell{min-height:100vh}.app-header{z-index:20;color:#fffdf7;background:linear-gradient(90deg, #ffffff0e, transparent 34%), var(--brand-olive);border-bottom:3px solid var(--brand-amber);justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:11px clamp(18px,2.8vw,44px);display:flex;position:relative}.brand-lockup{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{color:#fffdf7;background:#ffffff1a;border:1px solid #ffffff38;border-radius:8px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid;position:relative;overflow:hidden}.brand-mark-accent{background:var(--brand-amber);width:28px;height:28px;position:absolute;bottom:-13px;right:-9px;transform:rotate(45deg)}.brand-copy{min-width:0;display:grid}.brand-kicker{color:#ffffffb3;margin-bottom:1px;font-size:10px;font-weight:600;line-height:1.2}.brand-copy strong{font-size:17px;font-weight:700;line-height:1.22}.brand-english{color:#ffffff94;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:9px;line-height:1.2;overflow:hidden}.header-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.connection-pill{color:#f8f5e9;white-space:nowrap;background:#ffffff14;border:1px solid #fff3;border-radius:999px;align-items:center;gap:7px;min-height:30px;padding:5px 11px;font-size:11px;font-weight:600;display:inline-flex}.connection-dot{background:#d9e489;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #d9e4891f}.connection-pill.is-pending .connection-dot{background:var(--brand-amber);box-shadow:0 0 0 3px #e7a31129}.connection-pill.is-offline .connection-dot{background:#e7a311;box-shadow:0 0 0 3px #e7a31129}.header-clock{border-left:1px solid #fff3;align-items:baseline;gap:10px;padding-left:14px;display:flex}.header-clock span{color:#ffffffa8;white-space:nowrap;font-size:10px}.header-clock strong{color:#fffdf7;font-variant-numeric:tabular-nums;text-align:right;min-width:66px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1}.header-tools{gap:6px;display:flex}.icon-button{color:#ffffffd6;border-radius:var(--radius-control);cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;place-items:center;width:32px;height:32px;padding:0;transition:background .16s,border-color .16s,color .16s;display:inline-grid}.icon-button:disabled{cursor:wait;opacity:.72}.is-spinning{animation:.72s linear infinite spin}.dashboard-main{width:min(1560px,100%);margin:0 auto;padding:22px clamp(18px,2.8vw,44px) 18px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.eyebrow,.section-kicker{color:var(--brand-olive);text-transform:uppercase;font-size:9px;font-weight:700;line-height:1.3}.page-subtitle span{color:var(--brand-amber);margin:0 5px}.page-heading-meta{flex-shrink:0}.data-state{border:1px solid var(--line);border-radius:var(--radius-panel);background:#fffef9b3;align-items:center;gap:10px;min-width:240px;padding:9px 12px;display:flex}.data-state-dot{background:var(--brand-amber);border-radius:50%;flex:0 0 9px;width:9px;height:9px;box-shadow:0 0 0 4px #e7a31121}.data-state div{gap:1px;display:grid}.data-state strong{color:var(--ink-strong);font-size:11px;font-weight:700}.data-state span:not(.data-state-dot){color:var(--ink-muted);font-size:9px}.data-state.is-offline .data-state-dot{background:var(--brand-amber)}.data-state.is-error .data-state-dot{background:var(--brand-red);box-shadow:0 0 0 4px #c7482b21}.dashboard-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.panel{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-panel);min-width:0;box-shadow:var(--shadow-panel);animation:.42s cubic-bezier(.2,.7,.25,1) both panel-in}.metric-panel{flex-direction:column;grid-column:span 3;min-height:264px;padding:18px 18px 15px;display:flex;position:relative;overflow:hidden}.metric-panel:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.metric-temperature:before{background:var(--brand-amber)}.metric-humidity:before{background:var(--brand-teal)}.metric-humidity{animation-delay:45ms}.metric-heading{align-items:center;gap:10px;min-width:0;display:flex}.metric-icon{border-radius:7px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.metric-title-group{gap:1px;min-width:0;display:grid}.metric-title-group span{color:var(--ink-faint);text-transform:uppercase;font-size:9px;font-weight:600}.metric-title-group h2{color:var(--ink-strong);font-size:15px;font-weight:700;line-height:1.3}.state-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:4px;min-height:22px;padding:3px 8px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.metric-heading .state-badge{margin-left:auto}.state-badge.is-pending{color:#7a5900;background:var(--brand-amber-soft);border-color:#f0d99d}.state-badge.is-offline{color:#7a5900;background:var(--brand-amber-soft);border-color:#f0d99d}.state-badge.is-error{color:#93351f;background:#fbe9e3;border-color:#efc4b8}.metric-reading{align-items:baseline;gap:6px;min-height:93px;padding-top:19px;display:flex}.metric-value{color:var(--ink-strong);font-variant-numeric:tabular-nums;font-family:Avenir Next Condensed,Helvetica Neue,sans-serif;font-size:68px;font-weight:700;line-height:.95}.metric-value.is-empty{color:#b9bfb4;font-family:Helvetica Neue,sans-serif;font-size:59px;font-weight:500}.metric-scale{justify-content:space-between;align-items:flex-end;gap:5px;height:20px;display:flex}.metric-scale span{background:#d6d9cf;border-radius:1px;width:1px;height:7px}.metric-rule{border-top:1px dashed var(--line);margin-top:8px}.metric-bottom{color:var(--ink-faint);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;font-size:9px;font-weight:500;display:flex}.metric-unavailable{color:var(--ink-muted);align-items:center;gap:5px;display:inline-flex}.metric-unavailable.is-online{color:#47752e}.metric-unavailable.is-offline{color:#8a6300}.metric-unavailable.is-error{color:var(--brand-red)}.device-panel{flex-direction:column;grid-column:span 6;min-height:264px;padding:18px 20px 16px;animation-delay:90ms;display:flex}.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.panel-heading h2{color:var(--ink-strong);margin-top:2px;font-size:16px;font-weight:700;line-height:1.3}.device-identity{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-top:15px;padding-bottom:13px;display:flex}.device-identity-icon{width:34px;height:34px;color:var(--brand-olive);background:var(--brand-olive-soft);border-radius:7px;flex:0 0 34px;place-items:center;display:grid}.device-identity>div:nth-child(2){gap:2px;min-width:0;display:grid}.device-identity strong{color:var(--ink-strong);font-size:12px;font-weight:700}.device-identity span{color:var(--ink-muted);font-size:9px}.device-id{background:var(--bg-subtle);border:1px solid var(--line);white-space:nowrap;border-radius:4px;margin-left:auto;padding:3px 7px;font-family:SFMono-Regular,Consolas,monospace;color:var(--ink-muted)!important}.connection-flow{grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 4px 14px;display:grid}.flow-item{text-align:center;justify-items:center;gap:2px;min-width:0;display:grid;position:relative}.flow-item:not(:last-child):after{content:"";border-top:1px dashed #c7ccbe;width:calc(100% - 48px);position:absolute;top:18px;left:calc(50% + 24px)}.flow-stage{z-index:1;color:#737d70;background:var(--bg-surface);border:1px solid #cdd2c6;border-radius:50%;place-items:center;width:37px;height:37px;margin-bottom:2px;display:grid;position:relative}.flow-item.is-offline .flow-stage{color:#8a6300;background:var(--brand-amber-soft);border-color:#ead394}.flow-item.is-error .flow-stage{color:var(--brand-red);background:#fbe9e3;border-color:#efc4b8}.flow-item strong{max-width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.flow-item>span{color:var(--ink-faint);white-space:nowrap;font-size:8px}.device-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.device-details>div{min-width:0;padding:10px 12px}.device-details>div:first-child{padding-left:0}.device-details>div:not(:last-child){border-right:1px solid var(--line)}.device-details dt{color:var(--ink-faint);margin-bottom:3px;font-size:8px;font-weight:500}.device-details dd{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:650;overflow:hidden}.inline-note{color:#626b5f;background:#f7f5e9;border-radius:5px;align-items:flex-start;gap:7px;margin-top:auto;padding:8px 10px;font-size:9px;line-height:1.45;display:flex}.inline-note svg{color:var(--brand-olive);flex:none;margin-top:1px}.inline-note.is-error{color:#86402d;background:#fbede8}.inline-note.is-error svg{color:var(--brand-red)}.trend-panel{grid-column:span 8;min-height:318px;padding:18px 20px 16px;animation-delay:.135s}.trend-heading-actions{align-items:center;gap:14px;display:flex}.chart-legend{color:var(--ink-muted);align-items:center;gap:12px;font-size:9px;display:flex}.chart-legend span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.legend-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.legend-dot.is-temp{background:var(--brand-amber)}.legend-dot.is-humidity{background:var(--brand-teal)}.segmented-control{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--radius-control);padding:2px;display:inline-flex}.segmented-control button{min-height:26px;color:var(--ink-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:4px;padding:4px 9px;font-size:9px;font-weight:600}.segmented-control button:hover{color:var(--ink-strong)}.chart-canvas{background-color:#faf9f4;background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#4457080e 1px);background-size:16.6667% 100%;border:1px dashed #d2d6c9;border-radius:6px;height:174px;margin-top:14px;position:relative;overflow:hidden}.chart-grid{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:16px 16px 14px}.chart-grid span{border-top:1px dashed #4457081c;width:100%}.chart-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:16px;display:flex;position:absolute;inset:0}.chart-empty-icon{width:42px;height:42px;color:var(--brand-olive);border:1px solid var(--line);background:#fffef9eb;border-radius:50%;place-items:center;margin-bottom:3px;display:grid}.chart-empty strong{color:var(--ink);font-size:11px;font-weight:700}.chart-empty>span{color:var(--ink-faint);font-size:9px}.chart-empty-icon.is-loading{color:var(--brand-teal)}.chart-empty-icon.is-loading svg{animation:1s linear infinite spin}.trend-chart{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.trend-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.trend-line.is-temperature{stroke:var(--brand-amber)}.trend-line.is-humidity{stroke:var(--brand-teal)}.trend-point{stroke:#fbfaf5;stroke-width:1px}.trend-point.is-temperature{fill:var(--brand-amber)}.trend-point.is-humidity{fill:var(--brand-teal)}.chart-scale{z-index:2;color:var(--ink-faint);font-variant-numeric:tabular-nums;pointer-events:none;flex-direction:column;justify-content:space-between;font-family:SFMono-Regular,Consolas,monospace;font-size:7px;display:flex;position:absolute;top:12px;bottom:25px}.chart-scale.is-humidity{color:#3b7477;text-align:right;right:8px}.chart-axis{z-index:2;color:var(--ink-faint);font-variant-numeric:tabular-nums;pointer-events:none;grid-template-columns:repeat(5,minmax(0,1fr));font-family:SFMono-Regular,Consolas,monospace;font-size:7px;display:grid;position:absolute;bottom:4px;left:34px;right:34px}.chart-axis span{text-align:center}.chart-axis span:first-child{text-align:left}.chart-axis span:last-child{text-align:right}.trend-summary{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px;display:grid}.trend-summary>div{gap:2px;padding:10px 14px 0;display:grid}.trend-summary>div:first-child{padding-left:2px}.trend-summary>div:not(:last-child){border-right:1px solid var(--line)}.trend-summary span{color:var(--ink-faint);font-size:8px}.trend-summary strong{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;line-height:1.1}.readiness-panel{flex-direction:column;grid-column:span 4;min-height:318px;padding:18px 20px 16px;animation-delay:.18s;display:flex}.readiness-list{gap:0;margin:13px 0 12px;padding:0;list-style:none;display:grid}.readiness-list li{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 0;display:grid}.readiness-list li:first-child{border-top:1px solid var(--line)}.readiness-step-icon{color:#929b90;background:var(--bg-subtle);border:1px solid var(--line);border-radius:50%;place-items:center;width:27px;height:27px;display:grid}.readiness-list li>div{gap:1px;min-width:0;display:grid}.readiness-list strong{color:var(--ink);font-size:10px;font-weight:700}.readiness-list li>div>span{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:8px;line-height:1.35;overflow:hidden}.readiness-status{color:#8a7141;white-space:nowrap;font-size:8px;font-weight:600}.event-empty{background:var(--bg-subtle);border:1px solid #e4e5dc;border-radius:6px;align-items:center;gap:9px;margin-top:auto;padding:10px;display:flex}.event-empty-icon{width:30px;height:30px;color:var(--ink-muted);background:var(--bg-surface);border-radius:6px;flex:0 0 30px;place-items:center;display:grid}.event-empty>div:nth-child(2){gap:1px;min-width:0;display:grid}.event-empty strong{color:var(--ink);font-size:9px;font-weight:700}.event-empty span{color:var(--ink-faint);font-size:8px;line-height:1.35}.venue-info-bar{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px;animation-delay:.225s;display:grid}.venue-info-item{align-items:center;gap:11px;min-width:0;padding:14px 18px;display:flex}.venue-info-item:not(:last-child){border-right:1px solid var(--line)}.venue-info-icon{width:32px;height:32px;color:var(--brand-olive);background:var(--brand-olive-soft);border-radius:6px;flex:0 0 32px;place-items:center;display:grid}.venue-info-item>div{gap:1px;min-width:0;display:grid}.venue-info-item>div>span{color:var(--ink-faint);text-transform:uppercase;font-size:8px;font-weight:600}.venue-info-item strong{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.venue-info-item small{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.dashboard-footer{color:var(--ink-faint);justify-content:space-between;align-items:center;gap:16px;padding:12px 2px 2px;font-size:8px;display:flex}.system-notice{z-index:50;color:#fffdf7;opacity:0;pointer-events:none;background:#344304f5;border:1px solid #ffffff2e;border-radius:6px;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:10px 14px;font-size:11px;font-weight:600;line-height:1.4;transition:opacity .18s,transform .18s;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);box-shadow:0 12px 30px #232b1638}.system-notice svg{color:var(--brand-amber);flex:none}.system-notice.is-visible{opacity:1;transform:translate(-50%)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes panel-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (width<=1180px){.metric-panel{grid-column:span 6}.device-panel{grid-column:span 12}.trend-panel{grid-column:span 7}.readiness-panel{grid-column:span 5}}@media (width<=860px){.app-header{padding-left:18px;padding-right:18px}.brand-english,.header-date{display:none}.header-clock{padding-left:10px}.dashboard-main{padding-top:18px}.page-heading{flex-direction:column;align-items:flex-start;gap:12px}.page-heading-meta{width:100%}.data-state{width:100%;min-width:0}.trend-panel,.readiness-panel{grid-column:span 12}.trend-panel{min-height:310px}.readiness-panel{min-height:0}}@media (width<=640px){.app-header{flex-wrap:wrap;align-items:flex-start;gap:10px;padding-top:10px;padding-bottom:10px}.brand-mark{flex-basis:38px;width:38px;height:38px}.brand-copy strong{font-size:15px}.brand-kicker{font-size:9px}.header-actions{justify-content:flex-end;gap:8px;width:100%}.header-clock{margin-left:auto}.header-clock strong{min-width:62px;font-size:12px}.dashboard-main{padding:16px 12px 14px}.page-heading h1{font-size:27px}.page-subtitle{font-size:11px}.dashboard-grid{gap:12px}.metric-panel,.device-panel,.trend-panel,.readiness-panel{grid-column:span 12}.metric-panel{min-height:238px}.metric-reading{min-height:82px}.metric-value{font-size:61px}.device-panel,.trend-panel,.readiness-panel{padding-left:16px;padding-right:16px}.trend-heading{flex-direction:column;align-items:flex-start}.trend-heading-actions{justify-content:space-between;width:100%}.chart-canvas{height:156px}.venue-info-bar{grid-template-columns:1fr}.venue-info-item{padding:12px 16px}.venue-info-item:not(:last-child){border-right:0;border-bottom:1px solid var(--line)}.dashboard-footer{flex-direction:column;align-items:flex-start;gap:4px}}@media (width<=430px){.connection-pill{min-height:28px;padding:4px 9px;font-size:10px}.header-tools{gap:4px}.icon-button{width:30px;height:30px}.header-clock span{display:none}.header-clock{padding-left:8px}.page-heading h1{font-size:24px}.metric-heading{gap:8px}.metric-icon{flex-basis:34px;width:34px;height:34px}.state-badge{padding-left:7px;padding-right:7px}.metric-value{font-size:56px}.metric-unit{font-size:13px}.device-id{display:none}.device-details>div{padding-left:8px;padding-right:8px}.trend-heading-actions{flex-direction:column;align-items:flex-start;gap:8px}.segmented-control{width:100%}.segmented-control button{flex:1;padding-left:4px;padding-right:4px}.trend-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-summary>div:nth-child(2){border-right:0}.trend-summary>div:nth-child(n+3){border-top:1px solid var(--line);margin-top:8px}.readiness-list li{grid-template-columns:28px minmax(0,1fr)}.readiness-status{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--bg-page:#eef3f0;--bg-surface:#fff;--bg-subtle:#f5f8f6;--bg-muted:#e8efeb;--ink-strong:#142821;--ink:#34473f;--ink-muted:#62736b;--ink-faint:#87958e;--line:#dbe4df;--line-strong:#c5d2cb;--brand-olive:#185249;--brand-olive-strong:#103d36;--brand-olive-soft:#e2efeb;--brand-amber:#c98412;--brand-amber-soft:#fff4df;--brand-orange:#b85f2e;--brand-orange-soft:#fbeadf;--brand-teal:#2d7b75;--brand-teal-soft:#e2f1ee;--brand-red:#b94735;--shadow-panel:0 1px 2px #1428210a, 0 8px 24px #1428210a;--radius-panel:8px;--radius-control:6px}html{background:var(--bg-page)}body{color:var(--ink);background:var(--bg-page);font-feature-settings:"kern", "liga", "tnum";font-family:Avenir Next,Helvetica Neue,PingFang TC,Microsoft JhengHei,sans-serif}button:focus-visible{outline:3px solid #c9841266}.app-header{border-bottom:3px solid var(--brand-amber);background:#103c35;min-height:78px;padding:14px clamp(20px,3.2vw,48px);box-shadow:inset 0 1px #ffffff14}.brand-lockup{gap:13px}.brand-mark{color:#fff;background:#1b5c52;border-color:#ffffff38;flex-basis:44px;width:44px;height:44px;box-shadow:inset 0 1px #ffffff14}.brand-mark-accent{background:var(--brand-amber);width:30px;height:30px;bottom:-14px;right:-11px}.brand-kicker{color:#ffffffad;margin-bottom:2px;font-size:10px;font-weight:600}.brand-copy strong{color:#fff;font-size:18px;font-weight:700}.brand-english{color:#ffffff80;margin-top:2px;font-size:9px}.header-actions{gap:14px}.connection-pill{color:#f5fbf8;background:#ffffff14;border-color:#ffffff30;min-height:32px;padding:6px 12px;font-size:11px}.connection-dot{background:#7fc8a8;width:8px;height:8px;box-shadow:0 0 0 3px #7fc8a824}.connection-pill.is-pending .connection-dot,.connection-pill.is-offline .connection-dot,.connection-pill.is-unconfigured .connection-dot{background:#efb357;box-shadow:0 0 0 3px #efb35729}.connection-pill.is-error .connection-dot{background:#ef927e;box-shadow:0 0 0 3px #ef927e2e}.header-clock{border-left-color:#ffffff2e;gap:11px;padding-left:15px}.header-clock span{color:#ffffff9e;font-size:10px}.header-clock strong{min-width:70px;font-size:14px}.header-tools{gap:7px}.icon-button{color:#ffffffd6;background:#ffffff12;border-color:#ffffff2e;width:34px;height:34px}.icon-button:hover{color:#fff;background:#ffffff24;border-color:#ffffff52}.dashboard-main{width:min(1500px,100%);padding:28px clamp(20px,3.2vw,48px) 20px}.page-heading{align-items:center;gap:28px;margin-bottom:22px}.eyebrow,.section-kicker{color:var(--brand-teal);font-size:9px;font-weight:700;line-height:1.35}.page-heading h1{color:var(--ink-strong);margin-top:5px;font-size:40px;font-weight:750;line-height:1.08}.page-subtitle{color:var(--ink-muted);margin-top:7px;font-size:13px;font-weight:500}.page-subtitle span{color:var(--brand-amber)}.data-state{border-color:var(--line);background:#ffffffd1;min-width:258px;padding:10px 13px;box-shadow:0 1px 2px #14282108}.data-state-dot{background:var(--brand-amber);flex-basis:10px;width:10px;height:10px;box-shadow:0 0 0 4px #c984121f}.data-state strong{font-size:11px}.data-state span:not(.data-state-dot){font-size:9px}.data-state.is-online .data-state-dot{background:#32816a;box-shadow:0 0 0 4px #32816a21}.dashboard-grid{gap:18px}.panel{background:var(--bg-surface);border-color:var(--line);box-shadow:var(--shadow-panel)}.metric-panel{grid-column:span 4;min-height:350px;padding:21px 21px 17px}.metric-panel:before{height:4px}.metric-temperature{background:#fffefa}.metric-humidity{background:#fcfefd}.metric-heading{gap:11px}.metric-icon{flex-basis:42px;width:42px;height:42px}.metric-icon-amber{color:#9a6200;background:#fff1d3}.metric-icon-teal{color:#226d67;background:var(--brand-teal-soft)}.metric-title-group span{color:var(--ink-faint);font-size:9px;font-weight:700}.metric-title-group h2{margin-top:1px;font-size:16px;font-weight:720}.state-badge{min-height:23px;padding:4px 8px;font-size:9px}.state-badge.is-online{color:#27634f;background:#eaf5ef;border-color:#c7dfd3}.state-badge.is-neutral{color:#596b62;background:#f1f5f2;border-color:#d7e1db}.metric-reading{gap:8px;min-height:121px;padding-top:26px}.metric-value{color:var(--ink-strong);font-size:82px;font-weight:720;line-height:.88}.metric-temperature .metric-value{color:#2d332e}.metric-humidity .metric-value{color:#183f3b}.metric-value.is-empty{color:#aebbb4;font-size:66px}.metric-unit{color:var(--ink-muted);margin-bottom:10px;font-size:16px;font-weight:650}.metric-scale{gap:6px;height:24px}.metric-scale span{background:#dfe7e2;height:6px}.metric-scale span.is-mid{background:#bac9c1;height:12px}.metric-temperature .metric-scale span.is-mid{background:#d6b36f}.metric-humidity .metric-scale span.is-mid{background:#76aaa4}.metric-rule{border-top-style:solid;margin-top:12px}.metric-bottom{gap:12px;padding-top:12px;font-size:9px}.metric-unavailable{font-weight:650}.device-panel{grid-column:span 4;min-height:350px;padding:21px 20px 17px}.panel-heading{gap:12px}.panel-heading h2{margin-top:3px;font-size:17px;font-weight:720}.device-identity{gap:11px;margin-top:17px;padding-bottom:15px}.device-identity-icon{width:36px;height:36px;color:var(--brand-olive);background:var(--brand-olive-soft);flex-basis:36px}.device-identity strong{font-size:12px}.device-identity span{font-size:9px}.device-id{border-color:var(--line);background:#f3f6f4;padding:4px 7px;font-size:8px;color:var(--ink-muted)!important}.connection-flow{margin:17px 2px 14px}.flow-item{gap:3px}.flow-item:not(:last-child):after{border-top-color:#cbd6cf;top:18px}.flow-stage{color:#6f7f76;background:#fff;border-color:#cbd6d0;width:38px;height:38px}.flow-item.is-online .flow-stage{color:#2a745b;background:#edf7f1;border-color:#bcdacb}.flow-item strong{font-size:10px}.flow-item>span{font-size:8px}.device-details>div{padding-top:11px;padding-bottom:11px}.device-details dt{margin-bottom:4px;font-size:8px}.device-details dd{font-size:10px}.inline-note{color:#53665d;background:#f3f7f4;gap:8px;padding:9px 10px;font-size:9px}.inline-note.is-online{color:#3b6252;background:#eef6f1}.inline-note svg{color:var(--brand-teal)}.trend-panel{grid-column:span 8;min-height:392px;padding:21px 22px 17px}.trend-heading{align-items:center}.trend-heading-actions{gap:16px}.chart-legend{color:var(--ink-muted);gap:13px;font-size:10px}.legend-dot{width:8px;height:8px}.segmented-control{border-color:var(--line);background:#f2f6f3;padding:3px}.segmented-control button{min-height:28px;color:var(--ink-muted);padding:4px 10px;font-size:9px;font-weight:650}.segmented-control button.is-active{color:var(--brand-olive-strong);background:#fff;box-shadow:0 1px 3px #1428211a}.chart-canvas{background-color:#f8fbf9;background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#1852490d 1px);border:1px solid #dbe5df;height:202px;margin-top:17px}.chart-grid{inset:17px 19px 20px}.chart-grid span{border-top:1px solid #18524917}.chart-canvas.has-data{background-color:#f9fcfa}.trend-line{stroke-width:2.2px}.trend-point{stroke:#f9fcfa}.chart-scale{font-size:8px;top:13px;bottom:28px}.chart-scale.is-temperature{color:#a26908;left:9px}.chart-scale.is-humidity{color:#28746d;right:9px}.chart-axis{font-size:8px;bottom:6px;left:39px;right:39px}.chart-empty-icon{width:46px;height:46px;color:var(--brand-teal);border-color:var(--line);background:#fff}.chart-empty strong{font-size:12px}.chart-empty>span{font-size:10px}.trend-summary{margin-top:14px}.trend-summary>div{gap:3px;padding-top:11px}.trend-summary span{font-size:8px}.trend-summary strong{color:var(--ink);font-size:11px}.readiness-panel{grid-column:span 4;min-height:392px;padding:21px 20px 17px}.readiness-list{margin:15px 0 13px}.readiness-list li{grid-template-columns:30px minmax(0,1fr) auto;gap:10px;padding:10px 0}.readiness-step-icon{color:#87968e;border-color:var(--line);background:#f3f6f4;width:29px;height:29px}.readiness-list li.is-complete .readiness-step-icon{color:#2a745b;background:#edf7f1;border-color:#c5ded1}.readiness-list strong{color:var(--ink);font-size:10px}.readiness-list li>div>span{font-size:8px}.readiness-status{color:#7a6845;font-size:8px}.event-empty{background:#f4f7f5;border-color:#e0e7e2;gap:10px;padding:11px}.event-empty-icon{width:32px;height:32px;color:var(--brand-teal);background:#fff;flex-basis:32px}.event-empty.is-active{background:#eef6f1;border-color:#d7e7de}.event-empty.is-active .event-empty-icon{color:var(--brand-teal)}.event-empty strong{font-size:9px}.event-empty span{font-size:8px}.venue-info-bar{box-shadow:none;background:#e8f0ec;border-color:#d5e1da;margin-top:18px}.venue-info-item{gap:12px;padding:15px 19px}.venue-info-item:not(:last-child){border-right-color:#d4e0d9}.venue-info-icon{width:34px;height:34px;color:var(--brand-teal);background:#ffffff9e;flex-basis:34px}.venue-info-item>div>span{color:var(--ink-faint);font-size:8px}.venue-info-item strong{color:var(--ink-strong);font-size:11px}.venue-info-item small{color:var(--ink-muted);font-size:8px}.dashboard-footer{color:var(--ink-faint);padding:14px 2px 2px;font-size:8px}.system-notice{color:#f8fcfa;background:#103c35f7;border-color:#ffffff29;border-radius:7px;padding:11px 15px;font-size:11px;bottom:26px;box-shadow:0 14px 34px #1028213d}.system-notice svg{color:#efb357}@media (width<=1120px){.metric-panel{grid-column:span 6;min-height:300px}.device-panel,.trend-panel,.readiness-panel{grid-column:span 12}.device-panel,.readiness-panel{min-height:0}}@media (width<=860px){.app-header{padding-left:20px;padding-right:20px}.brand-english,.header-date{display:none}.dashboard-main{padding-top:23px}.page-heading{flex-direction:column;align-items:flex-start;gap:15px}.page-heading-meta,.data-state{width:100%}.data-state{min-width:0}.metric-panel{min-height:280px}.page-heading h1{font-size:36px}.metric-value{font-size:74px}.trend-heading{align-items:center}}@media (width<=640px){.app-header{gap:12px;padding:11px 14px 12px}.brand-mark{flex-basis:40px;width:40px;height:40px}.brand-copy strong{font-size:16px}.brand-kicker{font-size:9px}.header-actions{gap:9px;padding-top:2px}.connection-pill{min-height:30px;padding:5px 10px;font-size:10px}.header-clock strong{min-width:64px;font-size:12px}.icon-button{width:31px;height:31px}.dashboard-main{padding:19px 12px 16px}.page-heading{gap:13px;margin-bottom:17px}.page-heading h1{font-size:27px}.page-subtitle{font-size:11px}.dashboard-grid{gap:13px}.metric-panel,.device-panel,.trend-panel,.readiness-panel{grid-column:span 12}.metric-panel{min-height:248px;padding:18px 17px 15px}.metric-reading{min-height:91px;padding-top:19px}.metric-value{font-size:64px}.metric-value.is-empty{font-size:58px}.device-panel,.trend-panel,.readiness-panel{padding:18px 16px 15px}.device-panel,.readiness-panel{min-height:0}.connection-flow{margin-top:15px}.chart-canvas{height:172px}.trend-heading{align-items:flex-start}.trend-heading-actions{justify-content:space-between;width:100%}.venue-info-bar{grid-template-columns:1fr;margin-top:13px}.venue-info-item{padding:13px 16px}.venue-info-item:not(:last-child){border-bottom:1px solid #d4e0d9;border-right:0}.dashboard-footer{gap:5px;padding-top:13px}}@media (width<=430px){.header-clock span,.device-id{display:none}.page-heading h1{font-size:24px}.metric-heading{gap:9px}.metric-icon{flex-basis:36px;width:36px;height:36px}.metric-title-group h2{font-size:15px}.metric-value{font-size:59px}.metric-unit{font-size:14px}.metric-bottom{flex-direction:column;align-items:flex-start;gap:4px}.device-details>div{padding-left:8px;padding-right:8px}.device-details{grid-template-columns:repeat(2,minmax(0,1fr))}.device-details>div:nth-child(2){border-right:0}.device-details>div:nth-child(3){border-top:1px solid var(--line);grid-column:1/-1;padding-left:0}.trend-heading-actions{flex-direction:column;align-items:flex-start;gap:10px}.segmented-control{width:100%}.segmented-control button{flex:1;padding-left:4px;padding-right:4px}.chart-legend{padding-left:1px}.trend-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-summary>div:nth-child(2){border-right:0}.trend-summary>div:nth-child(n+3){border-top:1px solid var(--line);margin-top:9px}.readiness-list li{grid-template-columns:30px minmax(0,1fr)}.readiness-status{display:none}}
