:root{font-family:PingFang TC,Noto Sans TC,Microsoft JhengHei,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;color:#132c46;background:#e4f0f9;font-synthesis:none;--dashboard-rail-surface: rgba(232, 241, 248, .94);--dashboard-card-surface: rgba(240, 246, 251, .95);--dashboard-border: rgba(145, 174, 198, .48);--dashboard-ink: #123b60;--dashboard-muted: #4c6f8f;--shadow-card: 0 10px 28px rgba(16, 59, 97, .14);--shadow-floating: 0 18px 48px rgba(16, 59, 97, .22);--dashboard-shadow: var(--shadow-floating);--blue-900: #103b61;--blue-700: #1769aa;--blue-600: #2184c5;--blue-100: #dceefb;--semantic-info: #2184c5;--semantic-success: #4d9a56;--semantic-warning: #df9018;--semantic-critical: #d94f5d;--device-ac: #22a6c7;--device-sensor: #14a38b;--device-lighting: #4f94d4;--device-cctv: #2f76b7;--device-sos: #7c5bd6;--font-weight-regular: 500;--font-weight-medium: 600;--font-weight-semibold: 700;--font-weight-bold: 800;--surface-card-matte: rgba(240, 246, 251, .95);--surface-card-matte-hover: rgba(246, 250, 253, .97);--surface-control: rgba(236, 245, 251, .95);--border-technical: rgba(145, 174, 198, .48);--border-info: rgba(93, 172, 229, .72);--radius-control: 12px;--radius-card: 12px;--radius-floating: 16px;--font-size-12: .75rem;--font-size-14: .875rem;--font-size-16: 1rem;--font-size-18: 1.125rem;--font-size-20: 1.25rem;--typography-meta: var(--font-size-12);--typography-body: var(--font-size-14);--typography-navigation: var(--font-size-16);--typography-title: var(--font-size-16);--typography-value: var(--font-size-20);--component-menu-font-size: var(--typography-navigation);--component-card-title-font-size: var(--typography-title);--component-card-content-font-size: var(--typography-body)}*{box-sizing:border-box}html,body,#app,#scene{width:100%;min-width:0;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none}#app{position:relative;isolation:isolate;background:radial-gradient(circle at 52% 42%,rgba(255,255,255,.95),transparent 50%),#d9ebf7}#scene canvas{display:block;width:100%;height:100%;outline:none}.building-overview{position:fixed;top:50%;left:clamp(28px,7vw,104px);z-index:4;width:min(330px,calc(100vw - 56px));transform:translateY(-50%);transition:opacity .35s ease,visibility .35s ease,transform .35s ease}.overview-eyebrow{color:var(--blue-600);font-size:10px;font-weight:750;letter-spacing:.18em}.building-overview h1{margin:10px 0 9px;font-size:clamp(30px,3.5vw,48px);line-height:1.05;letter-spacing:-.055em}.building-overview p{width:270px;margin:0 0 25px;color:#527594;font-size:13px;line-height:1.7}#enter-14f{display:flex;align-items:center;gap:28px;min-width:236px;padding:13px 14px 13px 17px;border:1px solid rgba(31,115,181,.25);border-radius:15px;color:#fff;background:#1971b4e0;box-shadow:0 14px 38px #195d9733;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}#enter-14f:hover{transform:translateY(-2px);background:#1769aa;box-shadow:0 18px 44px #195d9742}#enter-14f:active{transform:scale(.98)}#enter-14f>span{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;margin-right:auto;text-align:left}#enter-14f strong{font-size:19px;letter-spacing:-.03em}#enter-14f small{color:#ebf7ffd1;font-size:10px;font-weight:650}#enter-14f svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.floor-plan-mode .building-overview{opacity:0;visibility:hidden;transform:translateY(-42%);pointer-events:none}.building-mode .toolbar,.building-mode .device-panel,.building-mode .power-panel,.building-mode .power-save-badge,.building-mode .interaction-hint,.building-mode .room-tooltip,.building-mode .streetlight-tooltip,.building-mode .device-tooltip{opacity:0;visibility:hidden;pointer-events:none}.building-view-controls{position:fixed;top:18px;right:22px;z-index:15;display:flex;align-items:center;gap:5px;padding:7px;border:1px solid rgba(176,209,235,.75);border-radius:16px;background:#f3faffe6;box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s ease,visibility .25s ease,transform .25s ease;pointer-events:none}.building-mode .building-view-controls{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.building-view-controls button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:36px;height:36px;padding:0 9px;border:0;border-radius:10px;color:#2b638f;background:transparent;cursor:pointer;transition:color .16s ease,background-color .16s ease,transform .16s ease}.building-view-controls button:hover{color:#123f69;background:#2184c51a}.building-view-controls button:active{transform:scale(.94)}.building-view-controls button.active{color:#fff;background:var(--blue-900)}.building-view-controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.building-view-controls span:not(.divider){font-size:9px;font-weight:750;letter-spacing:.02em}.building-view-controls .divider{width:1px;height:22px;margin:0 3px;background:#191a171a}.toolbar{position:fixed;top:18px;right:22px;z-index:15;display:flex;gap:4px;align-items:center;padding:6px;background:#f4faffe6;border:1px solid rgba(178,210,235,.7);border-radius:16px;box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.toolbar button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:11px;color:#1d547f;background:transparent;cursor:pointer;transition:color .18s ease,background-color .18s ease,transform .18s ease}.toolbar button:hover{background:#2184c51a}.toolbar button:active{transform:scale(.94)}.toolbar button.active{color:#f7fbff;background:var(--blue-900)}.toolbar #focus-map.active{color:#fff;background:var(--blue-700);box-shadow:0 4px 12px #1769aa40}.toolbar svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.monitor-control-dock{position:fixed;top:18px;left:50%;z-index:15;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:max-content;max-width:calc(100vw - 32px);opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:opacity .24s ease,visibility .24s ease,transform .24s ease;pointer-events:none}.floor-plan-mode .monitor-control-dock{opacity:1;visibility:visible;transform:translate(-50%);pointer-events:auto}.monitor-control-dock .toolbar,.monitor-control-dock .main-menu,.monitor-control-dock .scene-hud,.monitor-control-dock .device-legend{position:relative;inset:auto;transform:none;opacity:1;visibility:visible;pointer-events:auto}.monitor-control-dock .toolbar{flex:0 0 auto}.monitor-control-dock .main-menu{flex:0 1 auto;max-width:none}.monitor-control-dock .scene-hud{flex:0 0 auto}.monitor-control-dock .device-legend{width:max-content;flex:0 0 auto}.monitor-control-dock .device-layer-popover{left:50%}.building-mode .monitor-control-dock{opacity:0;visibility:hidden;pointer-events:none}.divider{width:1px;height:20px;margin:0 3px;background:#4584b433}.main-menu{position:fixed;bottom:24px;left:50%;z-index:13;display:flex;align-items:center;gap:3px;max-width:min(700px,calc(100vw - 360px));padding:5px;border:1px solid rgba(234,244,253,.86);border-radius:15px;color:#284563;background:#f5faffdb;box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(22px) saturate(1.12);backdrop-filter:blur(22px) saturate(1.12);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .24s ease,visibility .24s ease,transform .24s ease}.floor-plan-mode .main-menu{opacity:1;visibility:visible;transform:translate(-50%)}.main-menu>button,.main-menu-more>summary,.main-menu-more>div button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 12px;border:0;border-radius:10px;color:#405d79;background:transparent;font:800 var(--component-menu-font-size)/1 inherit;letter-spacing:-.02em;cursor:pointer;list-style:none;white-space:nowrap;transition:color .16s ease,background-color .16s ease,transform .16s ease}.main-menu>button:hover,.main-menu-more>summary:hover,.main-menu-more>div button:hover{color:#173b62;background:#e1effbc2}.main-menu>button:active,.main-menu-more>summary:active,.main-menu-more>div button:active{transform:scale(.96)}.main-menu>button.active{color:#fff;background:var(--blue-900);box-shadow:0 4px 11px #103b6147}.main-menu>button:focus-visible,.main-menu-more>summary:focus-visible,.main-menu-more>div button:focus-visible{outline:2px solid #61a7dd;outline-offset:2px}.main-menu-badge{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;color:#fff;background:#e65a63;font-size:10px;font-weight:900}.main-menu-more{position:relative}.main-menu-more>summary::-webkit-details-marker{display:none}.main-menu-more>summary:after{content:"⌄";margin-left:2px;font-size:15px}.main-menu-more[open]>summary{color:#173b62;background:#e1effbc2}.main-menu-more>div{position:absolute;right:0;bottom:calc(100% + 7px);display:grid;gap:3px;min-width:146px;padding:5px;border:1px solid rgba(231,242,252,.86);border-radius:11px;background:#f5faffe0;box-shadow:0 12px 28px #11223429;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.main-menu-more>div button{justify-content:flex-start}.device-legend{position:fixed;top:84px;left:50%;z-index:11;width:max-content;opacity:0;visibility:hidden;transform:translate(-50%,-7px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease;pointer-events:none}.floor-plan-mode .device-legend{opacity:1;visibility:visible;transform:translate(-50%);pointer-events:auto}.device-layer-trigger{display:flex;align-items:center;gap:9px;min-height:44px;padding:6px 9px 6px 7px;border:1px solid rgba(190,218,239,.88);border-radius:13px;color:var(--blue-900);background:#f7fbfee6;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(20px) saturate(1.08);backdrop-filter:blur(20px) saturate(1.08);cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.device-layer-trigger:hover{border-color:#70aad5c2;background:#fcfefff5;box-shadow:0 13px 32px #103b612e;transform:translateY(-1px)}.device-layer-trigger:active{transform:scale(.98)}.device-layer-trigger:focus-visible{outline:3px solid rgba(33,132,197,.3);outline-offset:3px}.device-layer-trigger-icon{width:31px;height:31px;padding:7px;border-radius:9px;color:#fff;background:var(--blue-900);box-shadow:0 4px 10px #103b6138;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.device-layer-trigger-copy{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.device-layer-trigger-copy>span{font-size:12px;font-weight:850;letter-spacing:.01em}.device-layer-trigger-copy>strong{min-width:33px;padding:3px 6px;border-radius:7px;color:#315f84;background:#e7f2fa;font-size:10px;font-weight:850;line-height:1;text-align:center}.device-layer-chevron{width:16px;height:16px;color:#668299;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:transform .18s ease}.device-legend.is-open .device-layer-chevron{transform:rotate(180deg)}.device-layer-popover{position:absolute;top:calc(100% + 9px);left:50%;width:318px;padding:14px;border:1px solid rgba(182,214,237,.9);border-radius:15px;color:#173c5f;background:#f7fbfef0;box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(24px) saturate(1.08);backdrop-filter:blur(24px) saturate(1.08);opacity:0;visibility:hidden;transform:translate(-50%,-7px) scale(.985);transform-origin:50% 0;transition:opacity .18s ease,visibility .18s ease,transform .18s ease;pointer-events:none}.device-legend.is-open .device-layer-popover{opacity:1;visibility:visible;transform:translate(-50%) scale(1);pointer-events:auto}.device-layer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:1px 1px 12px;border-bottom:1px solid rgba(129,174,207,.2)}.device-layer-header>div{display:grid;gap:3px;min-width:0}.device-layer-header>div>span{color:var(--blue-600);font-size:8px;font-weight:900;letter-spacing:.16em}.device-layer-header>div>strong{color:var(--blue-900);font-size:14px;line-height:1.2}.device-layer-header>div>small{color:#6a839a;font-size:10px;line-height:1.35}.device-filter-all{min-height:30px;padding:0 9px;border:1px solid #bfd9ec;border-radius:8px;color:#286a9e;background:#f7fbfe;font:800 10px/1 inherit;white-space:nowrap;cursor:pointer;transition:color .16s ease,border-color .16s ease,background-color .16s ease,transform .16s ease}.device-filter-all:hover{color:#fff;border-color:var(--blue-700);background:var(--blue-700)}.device-filter-all:active{transform:scale(.96)}.device-filter-all:focus-visible{outline:2px solid #61a7dd;outline-offset:2px}.device-filter-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:12px 0}.device-filter-list button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-width:0;min-height:43px;padding:6px 8px;border:1px solid #d8e7f2;border-radius:10px;color:#496881;background:#ffffffa8;font:800 11px/1 inherit;text-align:left;cursor:pointer;transition:color .16s ease,opacity .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.device-filter-list button:hover{color:#173f62;border-color:#acd3ef;background:#f5fbff;transform:translateY(-1px)}.device-filter-list button:active{transform:scale(.96)}.device-filter-list button:focus-visible{outline:2px solid #61a7dd;outline-offset:2px}.device-filter-list button.active{color:#173f62;border-color:#acd3ef;background:#edf7fd;box-shadow:inset 0 0 0 1px #5ba1d314}.device-filter-list button:not(.active)[aria-pressed=false]{opacity:.52}.device-type-icon{position:relative;display:inline-grid;place-items:center;width:24px;height:24px;flex:0 0 auto;border-radius:7px;color:#fff;box-shadow:inset 0 0 0 1px #ffffff40,0 3px 8px #2147671f}.device-type-icon:after{font-size:8px;font-weight:900;line-height:1}.device-type-icon.type-ac{background:var(--device-ac)}.device-type-icon.type-ac:after{content:"AC"}.device-type-icon.type-sensor{background:var(--device-sensor)}.device-type-icon.type-sensor:after{width:7px;height:7px;border:1.5px solid currentColor;border-radius:50%;content:""}.device-type-icon.type-lighting{background:var(--device-lighting)}.device-type-icon.type-lighting:after{content:"✦";font-size:11px}.device-type-icon.type-cctv{background:var(--device-cctv)}.device-type-icon.type-cctv:after{width:9px;height:5px;border:1px solid currentColor;border-radius:1px;content:""}.device-type-icon.type-sos{background:var(--device-sos)}.device-type-icon.type-sos:after{content:"!";font-size:12px}.device-filter-state{position:relative;width:18px;height:18px;border:1.5px solid #b8ccdc;border-radius:50%;background:#fff}.device-filter-state:after{position:absolute;top:48%;left:50%;color:#fff;font-size:10px;font-style:normal;font-weight:900;content:"✓";opacity:0;transform:translate(-50%,-50%) scale(.6);transition:opacity .16s ease,transform .16s ease}.device-filter-list button.active .device-filter-state{border-color:var(--blue-700);background:var(--blue-700)}.device-filter-list button.active .device-filter-state:after{opacity:1;transform:translate(-50%,-50%) scale(1)}.device-status-legend{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;padding:10px 9px;border:1px solid rgba(190,215,233,.68);border-radius:10px;background:#e5f0f88c}.device-status-legend>strong{color:#466984;font-size:10px;font-weight:850}.device-status-legend span{display:inline-flex;align-items:center;gap:5px;color:#617b92;font-size:10px;font-weight:750;white-space:nowrap}.device-status-legend span i{width:9px;height:9px;border:2px solid currentColor;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #ffffffbf}.device-status-legend .status-normal{color:#4caf50}.device-status-legend .status-alert{color:#e34c4c}.device-status-legend .status-offline{color:#8a8d86}.scene-hud{position:fixed;inset:18px auto auto 50%;z-index:14;display:flex;align-items:stretch;min-height:52px;max-width:min(520px,calc(100vw - 32px));border:1px solid rgba(234,244,253,.86);border-radius:16px;color:#1b2b3d;background:#f5faffe6;box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(22px) saturate(1.12);backdrop-filter:blur(22px) saturate(1.12);opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:opacity .24s ease,visibility .24s ease,transform .24s ease;pointer-events:none}.floor-plan-mode .scene-hud{opacity:1;visibility:visible;transform:translate(-50%)}.command-feedback{position:fixed;left:50%;bottom:116px;z-index:24;display:flex;align-items:center;gap:10px;width:max-content;max-width:min(390px,calc(100vw - 32px));padding:10px 14px;border:1px solid rgba(184,213,235,.9);border-radius:13px;color:#173c5e;background:#f8fcfff0;box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08);opacity:0;visibility:hidden;transform:translate(-50%,8px) scale(.98);transition:opacity .2s ease,visibility .2s ease,transform .2s ease;pointer-events:none}.command-feedback.visible{opacity:1;visibility:visible;transform:translate(-50%) scale(1)}.command-feedback-icon{position:relative;display:grid;place-items:center;width:22px;height:22px;flex:0 0 auto;border-radius:50%;background:#2582bd;box-shadow:0 0 0 4px #2582bd21}.command-feedback-icon:after{width:7px;height:7px;border:2px solid #fff;border-left-color:transparent;border-radius:50%;content:""}.command-feedback strong,.command-feedback small{display:block}.command-feedback strong{font-size:12px;font-weight:850}.command-feedback small{margin-top:2px;color:#6a8197;font-size:10px;font-weight:650}.command-feedback[data-state=pending] .command-feedback-icon:after{animation:command-spinner .75s linear infinite}.command-feedback[data-state=succeeded] .command-feedback-icon{background:#42a65c;box-shadow:0 0 0 4px #42a65c24}.command-feedback[data-state=succeeded] .command-feedback-icon:after{width:8px;height:4px;border-width:0 0 2px 2px;border-radius:0;transform:rotate(-45deg) translate(1px,-1px)}.command-feedback[data-state=failed] .command-feedback-icon{background:#e55b63;box-shadow:0 0 0 4px #e55b6324}.command-feedback[data-state=failed] .command-feedback-icon:after{width:9px;height:9px;border:0;background:linear-gradient(45deg,transparent 43%,#fff 43% 57%,transparent 57%),linear-gradient(-45deg,transparent 43%,#fff 43% 57%,transparent 57%)}.scene-alert-popup{position:fixed;top:0;left:0;z-index:23;display:grid;gap:10px;width:min(350px,calc(100vw - 32px));padding:13px 14px 12px;border:1px solid rgba(234,119,129,.76);border-radius:14px;color:#4b2630;background:#fff7f8f5;box-shadow:0 18px 44px #6b222e3d,0 0 0 4px #e54c5b1a;-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.97);transition:opacity .2s ease,visibility .2s ease,transform .2s ease;pointer-events:none}.scene-alert-popup.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.scene-alert-popup header,.scene-alert-popup footer,.scene-alert-heading{display:flex;align-items:center}.scene-alert-popup header{justify-content:space-between;gap:10px}.scene-alert-heading{min-width:0;gap:9px}.scene-alert-heading>div{min-width:0}.scene-alert-heading span:not(.scene-alert-icon),.scene-alert-heading strong{display:block}.scene-alert-heading span:not(.scene-alert-icon){color:#bd4a57;font-size:9px;font-weight:900;letter-spacing:.12em}.scene-alert-heading strong{margin-top:2px;overflow:hidden;color:#5c2732;font-size:14px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.scene-alert-icon{display:grid;place-items:center;width:25px;height:25px;flex:0 0 auto;border-radius:50%;color:#fff;background:var(--semantic-critical);box-shadow:0 0 0 5px #d94f5d26;font-size:16px;font-weight:900;line-height:1}.scene-alert-popup header>button{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;border:1px solid rgba(218,129,138,.42);border-radius:9px;color:#8e3f4b;background:#ffffff8c;font-size:21px;line-height:1;cursor:pointer}.scene-alert-popup header>button:hover{color:#642530;background:#fff}.scene-alert-popup header>button:focus-visible,.scene-alert-popup footer button:focus-visible{outline:3px solid rgba(217,79,93,.24);outline-offset:2px}.scene-alert-popup p{margin:0;color:#70434b;font-size:12px;font-weight:700;line-height:1.45}.scene-alert-popup dl{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0}.scene-alert-popup dl div{min-width:0;padding:7px 8px;border:1px solid rgba(225,179,185,.62);border-radius:8px;background:#ffffff8a}.scene-alert-popup dt{color:#9a6b73;font-size:10px;font-weight:700}.scene-alert-popup dd{margin:3px 0 0;overflow:hidden;color:#5d2b36;font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.scene-alert-group-summary{display:grid;gap:6px;padding:8px;border:1px solid rgba(225,179,185,.72);border-radius:9px;background:#ffeef09e}.scene-alert-group-summary[hidden]{display:none}.scene-alert-group-summary>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.scene-alert-group-summary>header span{color:#9a6b73;font-size:10px;font-weight:800}.scene-alert-group-summary>header strong{color:#a33d4b;font-size:11px;font-weight:900}.scene-alert-group-summary>p{margin:0;color:#81515b;font-size:10px;font-weight:750}.scene-alert-group-summary ul{display:grid;gap:4px;max-height:104px;margin:0;padding:0;overflow:auto;list-style:none}.scene-alert-group-summary li button{display:grid;gap:2px;width:100%;padding:6px 7px;border:1px solid rgba(225,179,185,.62);border-radius:7px;color:#6e3641;background:#ffffffad;text-align:left;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.scene-alert-group-summary li button:hover{border-color:#cc526094;background:#fff;transform:translateY(-1px)}.scene-alert-group-summary li button:focus-visible{outline:2px solid rgba(217,79,93,.28);outline-offset:1px}.scene-alert-group-summary li button span{overflow:hidden;font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.scene-alert-group-summary li button small{overflow:hidden;color:#9a6b73;font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.scene-alert-popup footer{justify-content:flex-end;gap:7px}.scene-alert-popup footer button{min-height:32px;padding:0 10px;border:1px solid rgba(214,108,120,.48);border-radius:8px;color:#8d3b49;background:#ffffff8f;font:800 11px/1 inherit;cursor:pointer}.scene-alert-popup footer button:first-child{color:#fff;border-color:var(--semantic-critical);background:var(--semantic-critical)}.scene-alert-popup footer button:hover{filter:brightness(.97);transform:translateY(-1px)}.scene-alert-popup.is-camera-moving{box-shadow:0 18px 44px #6b222e3d,0 0 0 4px #e54c5b29}.scene-alert-popup.is-reanchoring{transition:left .26s cubic-bezier(.22,1,.36,1),top .26s cubic-bezier(.22,1,.36,1),opacity .2s ease,visibility .2s ease,transform .2s ease}.scene-alert-leader{position:fixed;z-index:22;width:0;height:2px;border-radius:999px;background:linear-gradient(90deg,#d64b5bdb,#d64b5b52);box-shadow:0 0 0 1px #ffffff57;opacity:0;visibility:hidden;transform-origin:0 50%;transition:opacity .16s ease,visibility .16s ease;pointer-events:none}.device-locate-banner{position:fixed;top:84px;left:50%;z-index:24;display:flex;align-items:center;gap:9px;min-width:226px;max-width:min(360px,calc(100vw - 32px));padding:9px 13px 9px 10px;border:1px solid rgba(83,159,211,.62);border-radius:13px;color:#173f63;background:#f6fcfff2;box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(18px) saturate(1.12);backdrop-filter:blur(18px) saturate(1.12);transform:translate(-50%,-8px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;pointer-events:none}.device-locate-banner:not([hidden]){transform:translate(-50%);opacity:1;visibility:visible}.device-locate-banner-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:9px;color:#fff;background:var(--blue-700);font-size:18px;line-height:1}.device-locate-banner div{min-width:0;display:grid;gap:1px}.device-locate-banner small{color:#5f7f9b;font-size:9px;font-weight:800;letter-spacing:.08em}.device-locate-banner strong{overflow:hidden;color:#153f64;font-size:13px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.device-locate-banner div>span{overflow:hidden;color:#6c89a2;font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.scene-alert-leader.visible{opacity:.9;visibility:visible}.focus-alert-badge{position:fixed;top:86px;left:22px;z-index:14;display:flex;align-items:center;gap:9px;min-width:152px;padding:9px 11px;border:1px solid rgba(232,122,132,.72);border-radius:12px;color:#642833;background:#fff7f8f0;box-shadow:var(--shadow-floating),0 0 0 3px #e54c5b14;-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08);opacity:0;visibility:hidden;transform:translateY(-7px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease;pointer-events:none}.focus-alert-badge.visible{opacity:1;visibility:visible;transform:translateY(0)}.focus-alert-badge-dot{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:var(--semantic-critical);box-shadow:0 0 0 5px #d94f5d29;animation:focus-alert-pulse 1.35s ease-in-out infinite}.focus-alert-badge strong,.focus-alert-badge small{display:block}.focus-alert-badge strong{font-size:12px;font-weight:900}.focus-alert-badge small{margin-top:2px;color:#9a6971;font-size:10px;font-weight:700}@keyframes focus-alert-pulse{0%,to{opacity:.72;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.focus-map-mode .focus-alert-badge.visible{pointer-events:auto}@keyframes command-spinner{to{transform:rotate(360deg)}}.scene-hud-group{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 12px}.scene-hud-group div{min-width:0}.scene-hud span,.scene-hud strong,.scene-hud small{display:block}.scene-hud span{color:#566f89;font-size:12px;font-weight:850;letter-spacing:.04em;white-space:nowrap}.scene-hud strong{margin-top:3px;overflow:hidden;color:#162b43;font-size:var(--component-card-content-font-size);font-weight:850;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.scene-hud small{margin-top:2px;color:#526a83;font-size:12px;font-weight:700;white-space:nowrap}.scene-hud-divider{width:1px;margin:8px 0;background:#7c94ab45}.scene-zoom-control{gap:7px}.scene-zoom-control button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid rgba(223,236,248,.88);border-radius:9px;color:#2a4968;background:#ffffff8a;box-shadow:0 3px 8px #22374c14;font:750 18px/1 Inter,sans-serif;cursor:pointer;pointer-events:auto;transition:transform .16s ease,background-color .16s ease,color .16s ease}.scene-zoom-control button:hover{color:#143c67;background:#ffffffdb}.scene-zoom-control button:active{transform:scale(.93)}.scene-zoom-control div{display:grid;place-items:center;min-width:48px;text-align:center}.scene-zoom-control strong{margin-top:0}.scene-time-weather{gap:14px;flex-wrap:nowrap}.scene-time-weather>div{display:inline-flex;align-items:center;gap:6px}.scene-time-weather span,.scene-time-weather strong{display:inline;margin-top:0}.compass-widget{position:fixed;bottom:24px;left:24px;z-index:6;display:grid;place-items:center;width:68px;height:68px;border:1px solid rgba(179,211,236,.86);border-radius:50%;color:#285b86;background:#f3faffdb;box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(20px) saturate(1.1);backdrop-filter:blur(20px) saturate(1.1);opacity:0;visibility:hidden;transform:translateY(8px) scale(.94);transition:opacity .24s ease,visibility .24s ease,transform .24s ease;pointer-events:none}.floor-plan-mode .compass-widget{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.compass-widget svg{width:56px;height:56px;overflow:visible}.compass-widget circle{fill:#ffffff6b;stroke:#508ab752;stroke-width:1}.compass-widget .compass-tick{fill:none;stroke:#386f9da3;stroke-linecap:round;stroke-width:1.4}.compass-widget text{fill:#537da3;font:800 8px Inter,sans-serif;text-anchor:middle;dominant-baseline:middle}.compass-widget .compass-needle{transform-origin:40px 40px;transition:transform .35s cubic-bezier(.22,1,.36,1)}.compass-widget .compass-needle-north{fill:#1777ba}.compass-widget .compass-needle-south{fill:#9cb9d1}.compass-widget .compass-center{fill:#f7fbff;stroke:#2b75ad;stroke-width:1.4}.compass-widget strong{position:absolute;bottom:-19px;width:max-content;color:#2d628e;font-size:11px;font-weight:850;letter-spacing:-.01em;text-shadow:0 1px 0 rgba(255,255,255,.7)}.dashboard{position:fixed;inset:0;z-index:3;display:flex;align-items:stretch;justify-content:space-between;padding:24px;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s ease}.dashboard-mode .dashboard{opacity:1;visibility:visible}.platform-settings-open .dashboard,.alert-records-open .dashboard{opacity:0;visibility:hidden;pointer-events:none}.alert-records-page{position:fixed;inset:0;z-index:8;display:grid;place-items:center;padding:92px 24px 24px;background:#e0eef9b8;-webkit-backdrop-filter:blur(12px) saturate(1.08);backdrop-filter:blur(12px) saturate(1.08);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .24s ease,visibility .24s ease,transform .24s ease}.alert-records-page.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.alert-records-shell{display:flex;flex-direction:column;width:min(1440px,100%);max-height:calc(100vh - 116px);overflow:hidden;color:var(--dashboard-ink);background:#f8fcfff0;border:1px solid rgba(174,207,233,.88);border-radius:20px;box-shadow:var(--shadow-floating)}.alert-records-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 18px;border-bottom:1px solid rgba(179,205,227,.66);background:#fafdffc7}.alert-records-eyebrow{color:var(--semantic-critical);font-size:10px;font-weight:900;letter-spacing:.16em}.alert-records-header h1{margin:5px 0 3px;color:#143a5c;font-size:24px;line-height:1.15;letter-spacing:-.04em}.alert-records-header p{margin:0;color:var(--dashboard-muted);font-size:12px;font-weight:650}.alert-records-header-actions{display:flex;align-items:center;gap:10px}.alert-records-count{min-height:32px;padding:8px 11px;border:1px solid rgba(217,79,93,.22);border-radius:9px;color:#a33d4b;background:#ffeff1c7;font-size:12px;font-weight:850;white-space:nowrap}.alert-records-export{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid rgba(31,116,178,.18);border-radius:10px;color:#fff;background:var(--blue-700);box-shadow:0 7px 16px #175c8d29;font:800 12px/1 inherit;cursor:pointer;transition:color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}.alert-records-export svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.alert-records-export:hover{background:var(--blue-900);box-shadow:0 9px 20px #175c8d38;transform:translateY(-1px)}.alert-records-export:active{transform:translateY(0) scale(.98)}.alert-records-export:disabled{color:#7890a5;background:#e7eef4;box-shadow:none;cursor:not-allowed;transform:none}.alert-records-export:focus-visible{outline:3px solid rgba(33,132,197,.28);outline-offset:2px}.alert-records-close{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(178,210,235,.82);border-radius:10px;color:#315a7b;background:#deedf8c7;cursor:pointer;transition:color .18s ease,background-color .18s ease,transform .18s ease}.alert-records-close:hover{color:#143f62;background:#d7eaf7;transform:translateY(-1px)}.alert-records-close:focus-visible{outline:3px solid rgba(33,132,197,.28);outline-offset:2px}.alert-records-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.alert-records-toolbar{display:grid;grid-template-columns:minmax(250px,1.6fr) minmax(150px,.8fr) minmax(150px,.8fr) auto;align-items:end;gap:12px;padding:16px 24px 12px}.alert-records-toolbar label{display:grid;gap:6px;min-width:0}.alert-records-toolbar label>span,.alert-floor-switch>span{color:#4c6f8f;font-size:11px;font-weight:850}.alert-records-toolbar input,.alert-records-toolbar select{width:100%;height:40px;padding:0 12px;border:1px solid rgba(178,210,235,.9);border-radius:10px;color:#173b5d;background:#ffffffd1;font:700 12px/1 inherit;outline:0;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.alert-records-toolbar input::placeholder{color:#88a0b5;font-weight:600}.alert-records-toolbar input:focus,.alert-records-toolbar select:focus{border-color:var(--semantic-info);background:#fff;box-shadow:0 0 0 3px #2184c521}.alert-floor-switch{display:grid;grid-template-columns:auto repeat(3,minmax(52px,1fr));align-items:center;gap:5px;min-height:40px;padding:4px;border:1px solid rgba(178,210,235,.72);border-radius:11px;background:#e5f0f9b8}.alert-floor-switch>span{padding:0 7px;white-space:nowrap}.alert-floor-switch button{min-height:30px;padding:0 10px;border:0;border-radius:8px;color:#55738f;background:transparent;font:800 11px/1 inherit;cursor:pointer;transition:color .18s ease,background-color .18s ease,transform .18s ease}.alert-floor-switch button:hover{color:#17588c;background:#ffffffad}.alert-floor-switch button:active{transform:scale(.96)}.alert-floor-switch button.active{color:#fff;background:var(--blue-900);box-shadow:0 4px 10px #103b6133}.alert-floor-switch button:focus-visible{outline:2px solid #61a7dd;outline-offset:2px}.alert-quick-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 24px 12px}.alert-quick-filters-label{margin-right:3px;color:#4c6f8f;font-size:11px;font-weight:850}.alert-quick-filter{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 10px;border:1px solid rgba(178,210,235,.88);border-radius:9px;color:#315f84;background:#ffffffc2;font:800 11px/1 inherit;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease}.alert-quick-filter strong{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;color:#a13e4b;background:#ffebeee6;font-size:10px;font-weight:900}.alert-quick-filter:hover{color:#174d7a;border-color:#2c7db894;background:#fff;transform:translateY(-1px)}.alert-quick-filter.active{color:#fff;border-color:var(--blue-900);background:var(--blue-900);box-shadow:0 5px 12px #103b612e}.alert-quick-filter.active strong{color:#fff;background:#fff3}.alert-quick-filter-clear{color:#6a8197;background:transparent}.alert-quick-filter-clear:hover{color:#a13e4b;border-color:#d94f5d61;background:#ffeff1b8}.alert-quick-filter:focus-visible{outline:3px solid rgba(33,132,197,.24);outline-offset:2px}.alert-records-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px 12px;color:#6a8197;font-size:10px;font-weight:700}.alert-records-meta span:first-child{color:#315f84;font-weight:850}.alert-records-meta-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;min-width:0}.alert-records-source{margin-left:5px;color:#6a8197!important;font-weight:700!important}.alert-records-page-size-control,.alert-records-page-jump{display:inline-flex;align-items:center;gap:4px;color:#6a8197;font-size:10px;font-weight:750;white-space:nowrap}.alert-records-page-size-control select,.alert-records-page-jump input{height:28px;padding:0 7px;border:1px solid rgba(178,210,235,.88);border-radius:7px;color:#315f84;background:#fffc;font:800 10px/1 inherit;outline:0}.alert-records-page-size-control select:focus,.alert-records-page-jump input:focus{border-color:var(--semantic-info);box-shadow:0 0 0 3px #2184c521}.alert-records-page-jump input{width:43px;text-align:center}.alert-records-page-button{min-height:28px;padding:0 9px;border:1px solid rgba(178,210,235,.88);border-radius:7px;color:#315f84;background:#fffc;font:800 10px/1 inherit;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease}.alert-records-page-button:hover:not(:disabled){color:#fff;border-color:var(--blue-700);background:var(--blue-700)}.alert-records-page-button:disabled{color:#a3b4c1;background:#e6eef5c7;cursor:not-allowed}.alert-records-page-button:focus-visible{outline:2px solid rgba(33,132,197,.28);outline-offset:2px}.alert-records-page-status{min-width:34px;color:#315f84!important;font-size:10px;font-variant-numeric:tabular-nums;text-align:center}.alert-records-table-wrap{flex:1 1 auto;min-height:0;margin:0 24px 24px;overflow:auto;border:1px solid rgba(181,207,228,.78);border-radius:13px;background:#ffffffb8}.alert-records-table{width:100%;min-width:1050px;border-collapse:separate;border-spacing:0;font-size:12px}.alert-records-table th{position:sticky;top:0;z-index:1;padding:12px 13px;border-bottom:1px solid rgba(181,207,228,.78);color:#315f84;background:#e8f4fcf5;font-size:11px;font-weight:900;text-align:left;white-space:nowrap}.alert-records-table td{padding:13px;border-bottom:1px solid rgba(205,222,235,.64);color:#294a67;font-weight:650;vertical-align:middle}.alert-records-table tbody tr{cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease}.alert-records-table tbody tr:hover{background:#e1f1fbb8}.alert-records-table tbody tr:focus-visible{outline:3px solid rgba(33,132,197,.26);outline-offset:-3px;background:#e1f1fbd6}.alert-records-table tbody tr:last-child td{border-bottom:0}.alert-records-table .alert-record-severity-cell{width:82px}.alert-record-severity{display:inline-flex;align-items:center;gap:6px;min-height:25px;padding:0 8px;border:1px solid transparent;border-radius:7px;font-size:11px;font-weight:900;white-space:nowrap}.alert-record-severity i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 14%,transparent)}.alert-record-severity.critical{color:#b53c4c;border-color:#d94f5d4d;background:#ffebeee6}.alert-record-severity.warning{color:#a46313;border-color:#e1911f4d;background:#fff5dde6}.alert-record-summary,.alert-record-device,.alert-record-workflow,.alert-record-time{min-width:150px}.alert-record-summary strong,.alert-record-device strong,.alert-record-workflow .alert-record-status,.alert-record-time strong{display:block}.alert-record-summary strong,.alert-record-device strong{color:#1f4566;font-size:12px;line-height:1.35}.alert-record-summary small,.alert-record-device small,.alert-record-workflow small,.alert-record-time small{display:block;margin-top:4px;color:#7590a6;font-size:10px;font-weight:700;line-height:1.3}.alert-record-summary small,.alert-record-device small{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.alert-record-floor{color:#1f5f8d!important;font-weight:900!important;white-space:nowrap}.alert-record-space{white-space:nowrap}.alert-record-workflow{min-width:132px}.alert-record-time{min-width:142px;white-space:nowrap}.alert-record-status{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border:1px solid transparent;border-radius:7px;font-size:11px;font-weight:900;white-space:nowrap}.alert-record-status.open{color:#a13e4b;border-color:#d94f5d47;background:#ffebeee6}.alert-record-status.closed{color:#347947;border-color:#4d9a564d;background:#ebf8edeb}.alert-record-actions{display:flex;align-items:center;gap:6px;min-width:122px;white-space:nowrap}.alert-record-action{min-height:30px;padding:0 8px;border:1px solid rgba(178,210,235,.9);border-radius:7px;color:#315f84;background:#fff;font:800 10px/1 inherit;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease}.alert-record-action:hover{color:#fff;border-color:var(--blue-700);background:var(--blue-700);transform:translateY(-1px)}.alert-record-action-details{color:#fff;border-color:var(--blue-700);background:var(--blue-700)}.alert-record-action:focus-visible{outline:3px solid rgba(33,132,197,.24);outline-offset:2px}.alert-records-empty{display:grid;place-items:center;gap:6px;min-height:180px;padding:24px;color:#5d7890;text-align:center}.alert-records-empty[hidden]{display:none!important}.alert-records-empty strong{color:#315f84;font-size:14px}.alert-records-empty span{font-size:12px}.show-all-alerts{border:1px solid rgba(178,210,235,.8);border-radius:8px;color:#225d8d;background:#f5fbffd1;box-shadow:0 5px 16px #184c771a;font:800 12px/1 inherit;cursor:pointer;transition:background-color .16s ease,color .16s ease,transform .16s ease}.show-all-alerts:hover{color:#fff;background:var(--blue-700)}.show-all-alerts:active{transform:scale(.97)}.dashboard.is-layout-editing .dashboard-card{box-shadow:0 0 0 2px #2184c557,var(--shadow-card)}.dashboard-card-header{cursor:default}.dashboard.is-layout-editing .dashboard-card-header{cursor:grab}.dashboard.is-layout-editing .dashboard-card-header:active{cursor:grabbing}.dashboard-rail{display:flex;flex:0 0 min(310px,24vw);flex-direction:column;min-width:258px;max-height:calc(100vh - 48px);overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none;pointer-events:auto;transition:flex-basis .22s ease,min-width .22s ease}.dashboard-rail.is-collapsed{flex-basis:48px;min-width:48px;background:transparent}.dashboard-rail.is-collapsed .dashboard-rail-header>div,.dashboard-rail.is-collapsed .dashboard-stack{display:none}.dashboard-rail.is-collapsed .dashboard-rail-header{justify-content:center;padding:10px 6px;border:1px solid var(--dashboard-border);border-radius:14px;background:#f4f9ff8a;box-shadow:0 10px 26px #14233424;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dashboard-rail.is-collapsed .dashboard-rail-toggle{writing-mode:vertical-rl;min-height:84px}.dashboard-rail-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto;padding:4px 4px 10px;border-bottom:0}.dashboard-rail-header span{display:block;color:var(--dashboard-muted);font-size:12px;font-weight:850;letter-spacing:.08em;text-shadow:0 1px 0 rgba(255,255,255,.65)}.dashboard-rail-header strong{display:block;margin-top:3px;color:var(--dashboard-ink);font-size:var(--component-card-title-font-size);font-weight:800;letter-spacing:-.02em;text-shadow:0 1px 0 rgba(255,255,255,.62)}.dashboard-rail-toggle,.dashboard-collapse{border:1px solid rgba(227,238,249,.82);border-radius:8px;color:#40566d;background:#f8fcff9e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.dashboard-rail-toggle{padding:7px 9px}.dashboard-rail-toggle:hover,.dashboard-collapse:hover{color:#173b62;background:#e8f3fde0}.dashboard-stack{display:grid;align-content:start;gap:10px;min-height:0;padding:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.dashboard-card{position:relative;overflow:hidden;border:1px solid var(--dashboard-border);border-radius:13px;background:var(--dashboard-card-surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08);transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease,opacity .2s ease,background-color .2s ease}.dashboard-card:hover{background:#fafdffeb;box-shadow:var(--shadow-floating)}.dashboard-card.is-menu-focus{border-color:#3e8fd0eb;box-shadow:0 0 0 3px #5dace542,0 16px 34px #143f613d}.dashboard-card.is-floating{position:fixed;z-index:10;max-width:calc(100vw - 16px);margin:0;touch-action:none}.energy-card.is-floating{z-index:11}.dashboard-card.is-floating:hover,.dashboard-card.is-floating:focus-within{z-index:12}.dashboard-card.alert-card.is-floating{display:flex;flex-direction:column;max-height:calc(100vh - 108px)}.dashboard-card.alert-card.is-floating .dashboard-card-body{min-height:0;overflow-y:auto;scrollbar-width:thin}.dashboard-card.alert-card.is-alert-expanded .dashboard-card-body{max-height:calc(100vh - 178px);overflow-y:auto}.alert-card.is-alert-expanded .dashboard-alert-list{grid-template-columns:1fr}.dashboard-card.is-dragging{opacity:.9;box-shadow:var(--shadow-floating);transform:scale(1.012);-webkit-user-select:none;user-select:none}.dashboard-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;padding:12px 12px 10px;background:#ffffff29;cursor:default;touch-action:none}.dashboard-card-header h2{margin:3px 0 0;color:var(--dashboard-ink);font-size:var(--component-card-title-font-size);font-weight:820;line-height:1.25;letter-spacing:-.02em;text-shadow:0 1px 0 rgba(255,255,255,.65)}.dashboard-kicker{display:block;color:#526f89;font-size:8px;font-weight:900;letter-spacing:.11em;text-shadow:0 1px 0 rgba(255,255,255,.68)}.dashboard-kicker.critical{color:#e84f5d}.dashboard-kicker.warning{color:var(--blue-600)}.dashboard-kicker.cool{color:#1daeb8}.dashboard-kicker.meeting{color:#2878b9}.dashboard-kicker.status{color:#3e7cbe}.dashboard-collapse{display:inline-flex;align-items:center;gap:3px;padding:6px 7px;flex:0 0 auto;transition:color .16s ease,background-color .16s ease,transform .16s ease}.dashboard-collapse:before{color:#5c7d9e;content:"⌃";font-size:12px;line-height:1;transform:rotate(0);transition:transform .24s cubic-bezier(.22,1.2,.36,1)}.dashboard-card.is-collapsed .dashboard-collapse:before{transform:rotate(180deg)}.dashboard-card.is-collapsed .dashboard-card-body{max-height:0;padding-top:0;padding-bottom:0;opacity:0;transform:translateY(-5px);pointer-events:none}.dashboard-card.alert-card.is-collapsed .dashboard-card-body{max-height:0;overflow:hidden}.dashboard-card.is-collapsed .dashboard-card-header{padding-bottom:12px}.dashboard-card-body{max-height:620px;padding:0 12px 12px;overflow:hidden;opacity:1;transform:translateY(0);transition:max-height .32s cubic-bezier(.22,1,.36,1),padding .26s ease,opacity .16s ease,transform .22s ease}.dashboard-capture{margin:0 0 10px;color:#5c6d80;font-size:var(--component-card-content-font-size);font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.62)}.alert-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.alert-summary-grid div{display:grid;gap:2px;justify-items:center;padding:8px 3px;border:1px solid rgba(229,239,249,.78);border-radius:8px;background:#fafdff7a}.alert-summary-grid strong{color:#ef5865;font-size:18px;line-height:1}.alert-summary-grid span{color:#697789;font-size:14px;font-weight:700}.alert-summary-grid small{color:#94a0ad;font-size:12px}.dashboard-alert-list{display:grid;gap:6px;margin:11px 0 0;padding:0;list-style:none}.alert-card:not(.is-alert-expanded) .dashboard-alert-list li:nth-child(n+6){display:none}.dashboard-alert-list li{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:start;padding:8px;border-left:4px solid var(--semantic-warning);border-radius:7px;background:#fff8ebe0;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.dashboard-alert-list li:hover{transform:translate(2px);box-shadow:0 4px 12px #19496c1f;filter:saturate(1.04)}.dashboard-alert-list li:focus-visible{outline:3px solid rgba(33,132,197,.42);outline-offset:2px}.dashboard-alert-list div{min-width:0}.dashboard-alert-list strong{display:block;overflow:hidden;color:#3c4653;font-size:var(--component-card-content-font-size);line-height:1.35;text-overflow:ellipsis;white-space:normal}.dashboard-alert-list small,.dashboard-alert-list time{display:block;margin-top:2px;color:#8893a0;font-size:var(--component-card-content-font-size)}.dashboard-alert-list time{margin-top:0;white-space:nowrap}.alert-type{padding:4px 6px;border-radius:4px;color:#fff;font-size:12px;font-weight:800;line-height:1.15}.alert-type{background:var(--semantic-warning)}.dashboard-alert-list li[data-severity=critical]{border-left-color:var(--semantic-critical);background:#fff1f3e6}.dashboard-alert-list li[data-severity=critical] .alert-type{background:var(--semantic-critical)}.dashboard-alert-list li[data-severity=warning]{border-left-color:var(--semantic-warning);background:#fff8ebe6}.dashboard-alert-list li[data-severity=warning] .alert-type{background:var(--semantic-warning)}.alert-card{border-color:var(--dashboard-border);background:var(--dashboard-card-surface)}.alert-card .dashboard-kicker.critical,.alert-card .alert-summary-grid strong{color:var(--semantic-critical)}.alert-card .alert-summary-grid div{border-color:#d5e1ecd6;background:#fafdffb8}.alert-card .dashboard-alert-list strong{color:#334557}.alert-card .dashboard-alert-list small,.alert-card .dashboard-alert-list time{color:#708092}.show-all-alerts{display:block;width:100%;min-height:34px;margin-top:10px;padding:0 10px}.dashboard-tabs{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;border:1px solid rgba(228,238,248,.76);border-radius:8px;background:#f7fbfe80}.dashboard-tabs:before{position:absolute;top:3px;left:3px;width:var(--tab-width, 0px);height:calc(100% - 6px);border-radius:5px;background:var(--blue-900);box-shadow:0 2px 4px #103b613d;content:"";transform:translate(var(--tab-offset, 0px));transition:transform .28s cubic-bezier(.22,1.2,.36,1),width .2s ease}.meeting-dashboard-card .dashboard-tabs{grid-template-columns:repeat(2,1fr)}.dashboard-tabs button{position:relative;z-index:1;padding:8px 3px;border:0;border-radius:5px;color:#8a97a6;background:transparent;font-size:var(--component-card-content-font-size);font-weight:750;cursor:pointer;transition:color .18s ease,transform .16s ease}.dashboard-tabs button.active{color:#fff}.dashboard-tabs button:active{transform:scale(.96)}.energy-numbers{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.energy-numbers div{padding:8px;border-radius:8px;background:#f8fbfe85}.energy-numbers span,.environment-grid span,.meeting-dashboard-stats span{display:block;color:#7e8a99;font-size:var(--component-card-content-font-size);font-weight:650}.energy-numbers strong{display:block;margin-top:4px;color:#344152;font-size:16px;letter-spacing:-.03em}.energy-numbers strong.decrease{color:#58a652}.energy-numbers strong.increase{color:#df5661}.energy-numbers em,.environment-grid em,.meeting-dashboard-stats em{margin-left:2px;font-size:14px;font-style:normal;font-weight:700}.energy-chart{height:116px;margin:8px 1px 0;padding:4px 5px 0;border-top:1px solid rgba(230,239,248,.76);border-bottom:1px solid rgba(212,225,237,.84);background:#fbfdff6b}.energy-chart canvas{display:block;width:100%!important;height:100%!important}.energy-analysis-launch{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;margin-top:10px;padding:8px 10px 8px 12px;border:1px solid rgba(61,143,208,.42);border-radius:9px;color:#174f7b;background:#e8f5ffb3;font:inherit;text-align:left;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}.energy-analysis-launch:hover{border-color:#3b8fd0;background:#f1f9fff0;box-shadow:0 7px 18px #1d659e21}.energy-analysis-launch:active{transform:scale(.985)}.energy-analysis-launch>span{min-width:0;margin-right:auto}.energy-analysis-launch strong,.energy-analysis-launch small{display:block}.energy-analysis-launch strong{font-size:14px;font-weight:820}.energy-analysis-launch small{margin-top:2px;color:#6684a0;font-size:12px;font-weight:650}.energy-analysis-launch>b{padding:7px 9px;border-radius:7px;color:#fff;background:#287fbe;font-size:12px;font-weight:800}.dashboard-card.is-data-updated .energy-numbers strong,.dashboard-card.is-data-updated .meeting-dashboard-stats strong{animation:dashboard-number-pop .46s cubic-bezier(.22,1.2,.36,1)}@keyframes dashboard-number-pop{0%{opacity:.3;filter:blur(3px);transform:translateY(5px) scale(.94)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.dashboard-card,.dashboard-card-body,.dashboard-tabs:before,.dashboard-tabs button,.device-layer-trigger,.device-layer-chevron,.device-layer-popover,.device-filter-list button,.device-filter-state:after,.scene-alert-popup,.focus-alert-badge{transition:none}.focus-alert-badge-dot,.dashboard-card.is-data-updated .energy-numbers strong,.dashboard-card.is-data-updated .meeting-dashboard-stats strong{animation:none}}:root{--dashboard-card-width: clamp(286px, 22vw, 336px);--operator-shell-max-width: 1540px;--surface-radius: 14px}.dashboard-card-header,.dashboard-card-body{min-width:0}.dashboard-card-body>*,.dashboard-card-header>*{min-width:0;max-width:100%}.building-view-controls,.main-menu,.main-menu-more>div,.device-layer-trigger,.device-layer-popover,.scene-hud,.command-feedback,.scene-alert-popup,.device-locate-banner,.focus-alert-badge,.focus-map-status,.compass-widget,.render-diagnostics,.render-diagnostics-toggle{-webkit-backdrop-filter:blur(12px) saturate(1.04);backdrop-filter:blur(12px) saturate(1.04)}.render-diagnostics-toggle{position:fixed;right:22px;bottom:24px;z-index:26;display:grid;place-items:center;width:42px;height:30px;padding:0;border:1px solid rgba(169,199,222,.86);border-radius:9px;color:#275a83;background:#f5faffe0;box-shadow:var(--shadow-card);font:850 10px/1 Inter,sans-serif;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease}.floor-plan-mode .render-diagnostics-toggle{opacity:.9;visibility:visible;pointer-events:auto;transform:translateY(0)}.render-diagnostics-toggle:hover,.render-diagnostics-toggle[aria-expanded=true]{color:#fff;background:var(--blue-900)}.render-diagnostics{position:fixed;right:20px;bottom:64px;z-index:27;width:184px;padding:11px;border:1px solid rgba(147,179,205,.86);border-radius:12px;color:#dcecf8;background:#142c43f0;box-shadow:0 14px 34px #10263a40}.render-diagnostics[hidden]{display:none}.render-diagnostics header{display:flex;align-items:center;justify-content:space-between;gap:8px}.render-diagnostics header strong{font-size:12px;font-weight:850}.render-diagnostics header button{width:24px;height:24px;padding:0;border:0;border-radius:7px;color:#dcecf8;background:#ffffff1a;font-size:16px;cursor:pointer}.render-diagnostics dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0 8px}.render-diagnostics dl div{padding:7px;border:1px solid rgba(184,215,238,.18);border-radius:8px;background:#ffffff0f}.render-diagnostics dt{color:#9fbed5;font-size:9px;font-weight:750}.render-diagnostics dd{margin:3px 0 0;color:#fff;font:850 14px/1 Inter,sans-serif}.render-diagnostics>small{display:block;color:#9fbed5;font-size:9px;line-height:1.35}@media(max-width:900px){.render-diagnostics-toggle{right:12px;bottom:14px}.render-diagnostics{right:10px;bottom:52px}}.device-management-table{min-width:1120px!important;table-layout:fixed}.meter-outage-simulation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:11px 12px;border:1px solid rgba(217,79,93,.24);border-radius:10px;background:#fff7f8bd;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.meter-outage-simulation>div{min-width:0}.meter-outage-simulation strong{display:block;color:#244666;font-size:12px;font-weight:850}.meter-outage-simulation small{display:block;margin-top:3px;color:#6d8193;font-size:10px;font-weight:700}.meter-outage-simulation.is-active{border-color:#d94f5d94;background:#ffebeee6;box-shadow:0 0 0 2px #d94f5d17}.meter-outage-simulation.is-active strong,.meter-outage-simulation.is-active small{color:#a33e4c}.meter-outage-toggle{flex:0 0 auto}.device-card.is-power-outage{border-color:#d94f5d85;box-shadow:0 0 0 2px #d94f5d1a,var(--shadow-card)}.device-card.is-power-outage .device-card-title small{color:#a13e4b;font-weight:850}.device-card.is-power-outage .device-dot{box-shadow:0 0 0 4px #d94f5d24}.power-outage-card{z-index:14;border-color:#d94f5d7a;background:#fff7f8f5}.power-outage-card .dashboard-card-header{align-items:center}.power-outage-card .dashboard-kicker{color:#c84555}.power-outage-card h2{color:#8f3040}.power-outage-card-count{flex:0 0 auto;color:#b13e4d;font-size:12px;font-weight:900}.power-outage-card-source{margin:0 0 8px;color:#8a6670;font-size:11px;font-weight:750}.power-outage-card-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.power-outage-card-list button{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:8px 9px;border:1px solid rgba(217,79,93,.22);border-radius:8px;color:#6c3b45;background:#ffffffc7;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.power-outage-card-list button:hover{border-color:#d94f5d8f;background:#fff;transform:translate(2px)}.power-outage-card-list button:focus-visible{outline:3px solid rgba(217,79,93,.28);outline-offset:2px}.power-outage-card-list button>i{width:9px;height:9px;border-radius:50%;background:#d94f5d;box-shadow:0 0 0 4px #d94f5d1f}.power-outage-card-list button span{min-width:0}.power-outage-card-list button strong,.power-outage-card-list button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.power-outage-card-list button strong{color:#6d3440;font-size:11px;font-weight:850}.power-outage-card-list button small{margin-top:2px;color:#96737c;font-size:10px}.power-outage-card-list button em{color:#bd4251;font-size:10px;font-style:normal;font-weight:900;white-space:nowrap}.power-outage-card[hidden]{display:none!important}@media(max-width:900px){.power-outage-card.is-floating{width:100%!important;max-width:none}.meter-outage-simulation{align-items:flex-start;flex-direction:column}}.power-outage-card.is-floating{display:flex;flex-direction:column;max-height:min(560px,calc(100vh - 124px));overflow:hidden}.power-outage-card.is-floating .dashboard-card-header{flex:0 0 auto;padding:14px 14px 11px}.power-outage-card.is-floating .dashboard-card-header h2{font-size:15px}.power-outage-card.is-floating .dashboard-kicker{font-size:10px;letter-spacing:.08em}.power-outage-card.is-floating .power-outage-card-count{font-size:13px}.power-outage-card.is-floating .dashboard-card-body{min-height:0;max-height:none;flex:1 1 auto;padding:0 14px 14px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.power-outage-card-source{font-size:12px}.power-outage-card-list{gap:7px}.power-outage-card-list button{min-height:48px;padding:9px 10px}.power-outage-card-list button strong{font-size:12px}.power-outage-card-list button small,.power-outage-card-list button em{font-size:11px}.power-outage-card-list button strong,.power-outage-card-list button small{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.3}.device-management-table-wrap{overflow-x:auto;overflow-y:auto}.device-management-table{min-width:1120px;table-layout:fixed}.device-management-table th:nth-child(1),.device-management-table td:nth-child(1){width:96px}.device-management-table th:nth-child(2),.device-management-table td:nth-child(2){width:224px}.device-management-table th:nth-child(3),.device-management-table td:nth-child(3){width:126px}.device-management-table th:nth-child(4),.device-management-table td:nth-child(4){width:174px}.device-management-table th:nth-child(5),.device-management-table td:nth-child(5){width:84px}.device-management-table th:nth-child(6),.device-management-table td:nth-child(6){width:100px}.device-management-table th:nth-child(7),.device-management-table td:nth-child(7){width:158px}.device-management-table th:nth-child(8),.device-management-table td:nth-child(8){width:118px}.device-management-table td{line-height:1.35}.device-management-table td strong,.device-management-table td small{overflow-wrap:anywhere}.device-management-table td:nth-child(2) strong,.device-management-table td:nth-child(4) small{white-space:normal}.dashboard-note{margin:21px 0 0;padding:7px;border:1px solid rgba(33,132,197,.52);border-radius:6px;color:#35678f;font-size:14px;text-align:center}.dashboard-note b{color:#1b72b3}.dashboard-note.increase{border-color:#df56617a;color:#9a3d46;background:#fff1f39e}.dashboard-note.increase b{color:#cf4551}.environment-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.environment-grid div{padding:9px;border:1px solid rgba(220,231,241,.82);border-radius:8px;background:#ffffff85}.environment-grid div.warning{border-color:#ff7580;background:#fff6f6}.environment-grid div.warning strong{color:#f15661}.environment-grid strong{display:block;margin-top:5px;color:#364252;font-size:18px;letter-spacing:-.04em}.meeting-dashboard-stats{display:grid;gap:6px;margin-top:10px}.meeting-dashboard-stats div{display:flex;align-items:center;justify-content:space-between;padding:8px 9px;border:1px solid #e7edf2;border-radius:7px}.meeting-dashboard-stats div:nth-child(1){border-color:#f7d07c;background:#fffaf0}.meeting-dashboard-stats div:nth-child(2){border-color:#95c985;background:#f6fbf4}.meeting-dashboard-stats strong{color:#405166;font-size:14px}.meeting-dashboard-stats div:nth-child(1) strong{color:#ec9e10}.meeting-dashboard-stats div:nth-child(2) strong{color:#57a253}.device-status-list{display:grid;gap:7px}.device-status-list div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #eef1f4}.device-status-list div:last-child{border-bottom:0}.device-status-list span{color:#768495;font-size:var(--component-card-content-font-size)}.device-status-list strong{color:#4d9a56;font-size:var(--component-card-content-font-size)}.device-dashboard-card{order:-1}.dashboard-mode .toolbar{z-index:15}.dashboard-mode .interaction-hint{opacity:0;visibility:hidden}.dashboard-mode .dashboard-rail-header{display:none}.dashboard-mode .dashboard-rail-right{padding-top:74px}.focus-map-mode .dashboard{opacity:0;visibility:hidden;pointer-events:none}.focus-map-status{position:fixed;top:84px;left:22px;z-index:14;display:grid;gap:4px;min-width:184px;padding:10px 12px;border:1px solid rgba(178,210,235,.86);border-radius:12px;color:var(--blue-900);background:#f5fbfff0;box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08);opacity:0;visibility:hidden;transform:translateY(-7px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease;pointer-events:none}.focus-map-status[aria-hidden=false]{opacity:1;visibility:visible;transform:translateY(0)}.focus-map-status strong{font-size:13px;font-weight:900}.focus-map-status span{display:flex;justify-content:space-between;gap:12px;color:#6a8197;font-size:10px;font-weight:700}.focus-map-status b{color:#398f4d;font-weight:850}.device-panel{position:fixed;top:50%;left:50%;z-index:10;display:flex;flex-direction:column;align-items:stretch;width:min(780px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 48px));padding:22px;color:#1b1c19;background:#f9fcfff5;border:1px solid rgba(25,26,23,.1);border-radius:22px;box-shadow:0 28px 80px #102a4447;-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);opacity:0;visibility:hidden;transform:translate(-50%,-48%) scale(.98);transform-origin:center;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;overflow:hidden}.power-panel{position:fixed;top:92px;right:24px;z-index:5;width:min(332px,calc(100vw - 32px));padding:18px;color:#1b1c19;background:#fafaf7eb;border:1px solid rgba(25,26,23,.1);border-radius:20px;box-shadow:0 18px 54px #1a1b181f;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .2s ease,visibility .2s ease,transform .2s ease}.power-panel.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.system-setting-heading{margin:-2px 0 10px;padding:0 2px}.system-setting-heading strong,.system-setting-heading small{display:block}.system-setting-heading strong{color:#213a59;font-size:14px;font-weight:750}.system-setting-heading small{margin-top:3px;color:#687b90;font-size:10px}.power-toggle,.power-time{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid rgba(28,29,26,.08);border-radius:14px;background:#edeee8b8}.power-time{margin-top:9px;background:#ffffff9e}.power-toggle>span:first-child,.power-time>span:first-child{min-width:0;margin-right:auto}.power-toggle strong,.power-toggle small,.power-time strong,.power-time small{display:block}.power-toggle strong,.power-time strong{color:#30312e;font-size:11px;font-weight:650}.power-toggle small,.power-time small{margin-top:3px;color:#85877f;font-size:9px;line-height:1.45}.power-toggle{cursor:pointer}.power-toggle input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.power-toggle i{position:relative;width:40px;height:23px;flex:0 0 auto;border-radius:99px;background:#b9bbb4;box-shadow:inset 0 0 0 1px #191a1714;transition:background-color .18s ease}.power-toggle i:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #14151233;transition:transform .18s ease}.power-toggle input:checked+i{background:#5b9c57}.power-toggle input:checked+i:after{transform:translate(17px)}.power-toggle input:focus-visible+i{box-shadow:0 0 0 3px #5b9c5733,inset 0 0 0 1px #191a1714}.minute-input{display:flex;align-items:center;height:37px;border:1px solid rgba(25,26,23,.11);border-radius:9px;background:#f8f8f4;overflow:hidden}.minute-input input{width:53px;height:100%;padding:0 4px 0 10px;border:0;outline:0;color:#20211e;background:transparent;font:650 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.minute-input em{padding-right:9px;color:#74766f;font-size:9px;font-style:normal}.minute-input:focus-within{border-color:#5b9c57;box-shadow:0 0 0 3px #5b9c5721}.power-status{display:flex;align-items:center;gap:10px;margin-top:10px;padding:12px 14px;border-radius:13px;color:#eef6ec;background:#2e392d}.power-status-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#81d47a;box-shadow:0 0 0 4px #81d47a21}.power-status strong,.power-status small{display:block}.power-status strong{font-size:11px;font-weight:650}.power-status small{margin-top:2px;color:#eef6ec99;font-size:9px}#settings-controls.power-saving{color:#eff8ed;background:#4d8549}.power-save-badge{position:fixed;left:24px;bottom:24px;z-index:5;display:flex;align-items:center;gap:11px;padding:10px 14px 10px 10px;color:#eef6ec;background:#273226e6;border:1px solid rgba(255,255,255,.1);border-radius:15px;box-shadow:0 14px 40px #1923182e;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s ease,visibility .25s ease,transform .25s ease;pointer-events:none}.power-save-active .power-save-badge{opacity:1;visibility:visible;transform:translateY(0)}.power-save-badge>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#2a3c28;background:#9bdd92;font-size:11px;font-weight:800}.power-save-badge strong,.power-save-badge small{display:block}.power-save-badge strong{font-size:11px;font-weight:650}.power-save-badge small{margin-top:2px;color:#eef6ec99;font-size:9px}.settings-modal-backdrop{position:fixed;inset:0;z-index:9;background:#0c1f3152;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.settings-modal-backdrop.open{opacity:1;visibility:visible}.device-panel[data-settings-view=devices].open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.device-panel[data-settings-view=platform]{inset:92px 18px auto auto;width:min(420px,calc(100vw - 36px));height:auto;max-height:calc(100vh - 116px);padding:16px;border-radius:18px;transform:translate(calc(100% + 28px));transform-origin:right center}.device-panel[data-settings-view=platform].open{opacity:1;visibility:visible;transform:translate(0)}.device-panel[data-settings-view=platform].is-floating{right:auto;bottom:auto;transform:translate(-50%,-50%) scale(.98);transform-origin:center}.device-panel[data-settings-view=platform].is-floating.open{transform:translate(-50%,-50%) scale(1)}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:15px}.device-panel>.panel-header{position:relative;z-index:2;margin:-22px -22px 15px;padding:22px 22px 14px;border-bottom:1px solid rgba(83,125,160,.13);background:#f9fcfff0;box-shadow:0 8px 18px #1640630f;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.device-panel[data-settings-view=platform]>.panel-header{margin:-16px -16px 14px;padding:16px 16px 12px}.device-panel.is-dragging>.panel-header{cursor:grabbing}.panel-header h2{margin:2px 0 0;font-size:17px;font-weight:650;letter-spacing:-.02em}.eyebrow{color:#777970;font-size:9px;font-weight:700;letter-spacing:.15em}.panel-header button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:11px;color:#315a7b;background:#deedf8c7;cursor:pointer}.panel-header button:hover{color:#143f62;background:#d7eaf7}.panel-header button:focus-visible{outline:3px solid rgba(33,132,197,.28);outline-offset:2px}.panel-header svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.device-panel>.panel-header{order:0;flex:0 0 auto}.settings-panel-scroll{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;margin:0 -22px -22px;padding:0 22px 22px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.settings-panel-scroll>*{flex:0 0 auto}.device-panel[data-settings-view=platform] .settings-panel-scroll{margin:0 -16px -16px;padding:0 16px 16px}.device-panel>.settings-view-tabs,.device-panel>[data-settings-section]{flex:0 0 auto}.settings-view-tabs{order:1;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 16px;padding:4px;border:1px solid rgba(39,110,173,.13);border-radius:13px;background:#e5f0f9b3}.settings-view-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 12px;border:1px solid transparent;border-radius:9px;color:#54728f;background:transparent;font:700 12px/1 inherit;cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.settings-view-tabs button:hover{color:#17588c;background:#ffffff9e}.settings-view-tabs button:active{transform:scale(.985)}.settings-view-tabs button:focus-visible{outline:3px solid rgba(47,135,199,.22);outline-offset:1px}.settings-view-tabs button[aria-pressed=true]{color:#fff;border-color:#176ba7;background:linear-gradient(135deg,#267fb9,#17669d);box-shadow:0 6px 14px #18669d33}.settings-view-tabs svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.settings-page-heading{order:2;display:flex;align-items:center;gap:10px;margin:1px 2px 13px;animation:settings-section-in .22s ease both}.settings-page-heading strong,.settings-page-heading small{display:block}.settings-page-heading strong{color:#193d60;font-size:14px;font-weight:760;letter-spacing:-.01em}.settings-page-heading small{margin-top:3px;color:#6e879d;font-size:10px}.settings-page-icon{position:relative;width:26px;height:26px;flex:0 0 auto;border-radius:8px;color:#176ba7;background:#237bb81a}.settings-page-icon.gear:before{content:"⚙";position:absolute;inset:0;display:grid;place-items:center;font-size:15px;line-height:1}.settings-page-icon.sliders:before,.settings-page-icon.sliders:after{content:"";position:absolute;left:6px;right:6px;height:1.5px;background:currentColor;box-shadow:0 6px 0 currentColor}.settings-page-icon.sliders:before{top:8px}.settings-page-icon.sliders:after{top:11px;left:10px;right:10px;transform:rotate(90deg);box-shadow:6px 0 0 currentColor}.device-panel[data-settings-view=devices] [data-settings-section]:not([data-settings-section=devices]),.device-panel[data-settings-view=platform] [data-settings-section]:not([data-settings-section=platform]){display:none}.device-panel [data-settings-section]{animation:settings-section-in .22s ease both}.device-panel .lighting-control{order:3}.device-panel .cctv-control{order:4}.device-panel .meeting-status-card{order:5}.device-panel .device-card{order:6}.device-panel .axis-note{order:7}.device-panel .dashboard-management{order:3}.device-panel .spatial-adjustment{order:4}.device-panel .power-settings-card{order:5}.device-panel .daylight-control{order:6}@keyframes settings-section-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.settings-accordion{padding:0!important;overflow:hidden}.settings-accordion>.settings-accordion-summary{position:relative;display:flex;align-items:center;min-height:52px;margin:0;padding:12px 42px 12px 14px;list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .18s ease}.settings-accordion>.settings-accordion-summary::-webkit-details-marker{display:none}.settings-accordion>.settings-accordion-summary:after{content:"";position:absolute;top:50%;right:17px;width:7px;height:7px;border-right:1.7px solid #497291;border-bottom:1.7px solid #497291;transform:translateY(-65%) rotate(45deg);transition:transform .18s ease}.settings-accordion[open]>.settings-accordion-summary{background:#d9ebf957}.settings-accordion[open]>.settings-accordion-summary:after{transform:translateY(-25%) rotate(225deg)}.settings-accordion>.settings-accordion-summary:hover{background:#d9ebf980}.settings-accordion>.settings-accordion-summary:focus-visible{outline:3px solid rgba(46,131,195,.2);outline-offset:-3px}.settings-accordion>.settings-accordion-content{padding:12px 14px 14px;border-top:1px solid rgba(39,110,173,.1)}.dashboard-management{margin-bottom:12px;padding:14px;border:1px solid rgba(39,110,173,.18);border-radius:14px;background:#f3f9ffc7}.dashboard-management-heading strong,.dashboard-management-heading small{display:block}.dashboard-management-heading strong{color:#183d63;font-size:12px;font-weight:750}.dashboard-management-heading small{margin-top:3px;color:#63809b;font-size:9px}.dashboard-management-actions{display:grid;grid-template-columns:repeat(3,48px);justify-content:start;gap:9px;margin-top:12px}.dashboard-management-actions button{display:grid;place-items:center;align-items:center;width:48px;height:48px;min-height:48px;padding:0;border:1px solid rgba(39,110,173,.2);border-radius:10px;color:#246ba6;background:#ffffffd6;font:inherit;text-align:left;cursor:pointer;transition:color .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}.dashboard-management-actions button.active{color:#fff;border-color:#2477b8;background:#2477b8;box-shadow:0 5px 12px #2477b829}.dashboard-management-actions button:hover{border-color:#2477b8;box-shadow:0 5px 13px #2477b81a}.dashboard-management-actions button:active{transform:scale(.97)}.dashboard-management-actions button:focus-visible{outline:3px solid rgba(46,131,195,.2);outline-offset:2px}.dashboard-action-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:8px;color:#2477b8;background:#2477b81a}.dashboard-management-actions button.active .dashboard-action-icon{color:#fff;background:#ffffff29}.dashboard-action-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.dashboard-action-copy{min-width:0}.dashboard-action-copy strong,.dashboard-action-copy small{display:block}.dashboard-action-copy strong{font-size:14px;font-weight:760;line-height:1.25}.dashboard-action-copy small{margin-top:4px;color:#6d879d;font-size:12px;font-weight:550;line-height:1.4}.dashboard-management-actions button.active .dashboard-action-copy small{color:#ffffffbd}.power-settings-card{margin-bottom:12px;padding:14px;border:1px solid rgba(39,110,173,.15);border-radius:14px;background:#f7fafdd6}.power-settings-heading{margin-bottom:11px}.power-settings-heading strong,.power-settings-heading small{display:block}.power-settings-heading strong{color:#183d63;font-size:12px;font-weight:750}.power-settings-heading small{margin-top:3px;color:#63809b;font-size:9px}.power-settings-card .power-status{margin-bottom:0}.spatial-adjustment{margin-bottom:12px;padding:14px;border:1px solid rgba(41,102,157,.18);border-radius:14px;background:linear-gradient(145deg,#ebf6ffe6,#ffffffa8)}.spatial-adjustment-heading strong,.spatial-adjustment-heading small{display:block}.spatial-adjustment-heading strong{color:#173e67;font-size:12px;font-weight:750}.spatial-adjustment-heading small{margin-top:3px;color:#64809c;font-size:9px}.spatial-device-add{margin:12px 0;padding:10px;border:1px solid rgba(41,102,157,.12);border-radius:10px;background:#ffffff85}.settings-accordion-content>.spatial-device-add:first-child{margin-top:0}.spatial-device-add>label{display:block;margin-bottom:7px;color:#58728c;font-size:10px;font-weight:700}.spatial-adjustment .drag-toggle{margin-top:11px;padding-top:11px;border-top-color:#29669d21}.spatial-adjustment .active-drag-device{margin-top:9px}.coordinate-target-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.coordinate-target{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:8px}.coordinate-target>span{color:#58728c;font-size:10px}.coordinate-target select{min-width:0;height:35px;padding:0 28px 0 9px;border:1px solid rgba(41,102,157,.2);border-radius:9px;outline:0;color:#173e67;background:#fffc;font:650 10px/1 inherit;cursor:pointer}.coordinate-target select:focus{border-color:#2e83c3;box-shadow:0 0 0 3px #2e83c321}.delete-current-device{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:35px;padding:0 10px;border:1px solid rgba(202,67,76,.34);border-radius:9px;color:#b43642;background:#fff6f7d1;font:700 10px/1 inherit;cursor:pointer;transition:color .16s ease,border-color .16s ease,background-color .16s ease,transform .16s ease}.delete-current-device svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.delete-current-device:hover:not(:disabled){color:#fff;border-color:#c5434e;background:#c5434e}.delete-current-device:active:not(:disabled){transform:scale(.96)}.delete-current-device:focus-visible{outline:3px solid rgba(197,67,78,.18);outline-offset:2px}.delete-current-device:disabled{color:#91a0ad;border-color:#627a9124;background:#eef4f89e;cursor:not-allowed}.delete-current-device-help{display:block;margin:6px 0 0 66px;color:#71889d;font-size:9px}.delete-current-device-help.can-delete{color:#a43b45}.coordinate-axis-grid{margin-top:9px}.coordinate-axis-grid input{border-color:#29669d2e;background:#fffc;color:#173e67}.coordinate-help{display:block;margin-top:8px;color:#64809c;font-size:9px;text-align:center}.device-creator{margin-bottom:12px;padding:14px;background:#edeee8b8;border:1px solid rgba(28,29,26,.08);border-radius:14px}.device-creator>label:first-child{display:block;margin-bottom:7px;color:#666861;font-size:10px;font-weight:650}.device-add-row{display:grid;grid-template-columns:1fr auto;gap:7px}.device-add-row select{min-width:0;height:37px;padding:0 31px 0 10px;border:1px solid rgba(25,26,23,.11);border-radius:9px;outline:0;color:#20211e;background:#f8f8f4;font:600 11px/1 inherit;cursor:pointer}.device-add-row select:focus{border-color:#47a6b8;box-shadow:0 0 0 3px #47a6b81f}.device-add-row button{height:37px;padding:0 13px;border:0;border-radius:9px;color:#f7f7f2;background:#1f211e;font:650 11px/1 inherit;cursor:pointer;transition:transform .16s ease,background-color .16s ease}.device-add-row button:hover{background:#343631}.device-add-row button:active{transform:scale(.96)}.drag-toggle{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(25,26,23,.08);cursor:pointer}.drag-toggle>span{min-width:0;margin-right:auto}.drag-toggle strong,.drag-toggle small{display:block}.drag-toggle strong{color:#30312e;font-size:11px;font-weight:650}.drag-toggle small{margin-top:2px;color:#85877f;font-size:9px}.drag-toggle input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.drag-toggle i{position:relative;width:36px;height:21px;flex:0 0 auto;border-radius:99px;background:#b9bbb4;box-shadow:inset 0 0 0 1px #191a1714;transition:background-color .18s ease}.drag-toggle i:after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #14151233;transition:transform .18s ease}.drag-toggle input:checked+i{background:#4caf50}.drag-toggle input:checked+i:after{transform:translate(15px)}.drag-toggle input:focus-visible+i{box-shadow:0 0 0 3px #47a6b82e,inset 0 0 0 1px #191a1714}.active-drag-device{position:relative;margin-top:11px;padding:10px 11px 10px 14px;overflow:hidden;border:1px solid rgba(25,26,23,.09);border-radius:10px;background:#ffffff9e}.active-drag-device:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#b9bbb4;transition:background-color .18s ease}.active-drag-device>span,.active-drag-device>strong,.active-drag-device>small{display:block}.active-drag-device>span{color:#85877f;font-size:8px;font-weight:700;letter-spacing:.08em}.active-drag-device>strong{margin-top:3px;color:#30312e;font-size:12px;font-weight:750}.active-drag-device>small{margin-top:2px;color:#85877f;font-size:9px}.active-drag-device.selected{background:#47a6b814;border-color:#47a6b847}.active-drag-device.selected:before{background:#47a6b8}.active-drag-axis-grid{margin-top:10px;padding-top:10px;border-top:1px solid rgba(41,102,157,.13)}.active-drag-axis-grid input{height:34px;border-color:#29669d33;color:#173e67;background:#ffffffdb}.active-drag-axis-grid input:disabled{color:#8193a5;background:#eef4f8ad;cursor:not-allowed}.active-drag-device>.active-drag-coordinate-help{margin-top:7px;color:#64809c;text-align:center}.active-drag-device:not(.selected) .active-drag-axis-grid,.active-drag-device:not(.selected) .active-drag-coordinate-help{opacity:.58}.device-card.active-adjustment,.asset-control-card.active-adjustment{border-color:#47a6b880;box-shadow:0 0 0 3px #47a6b81a}.meeting-status-card{margin-bottom:12px;padding:14px;background:#ffffff9e;border:1px solid rgba(28,29,26,.08);border-radius:14px}.meeting-status-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}.meeting-status-heading strong,.meeting-status-heading small{display:block}.meeting-status-heading strong{font-size:12px;font-weight:700}.meeting-status-heading small{margin-top:2px;color:#777970;font-size:9px}.meeting-status-icon{width:10px;height:10px;flex:0 0 auto;border-radius:3px;background:linear-gradient(135deg,#f39a32 0 49%,#4caf50 51% 100%);box-shadow:0 0 0 4px #22231f0d}.meeting-room-select{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:8px}.meeting-room-select>span{color:#777970;font-size:10px}.meeting-room-select select{min-width:0;height:35px;padding:0 28px 0 9px;border:1px solid rgba(25,26,23,.1);border-radius:9px;outline:0;color:#20211e;background:#f7f7f3;font:600 10px/1 inherit;cursor:pointer}.meeting-room-select select:focus{border-color:#6e9f68;box-shadow:0 0 0 3px #4caf501f}.meeting-toggle{display:flex;align-items:center;gap:10px;margin-top:11px;padding-top:11px;border-top:1px solid rgba(25,26,23,.07);cursor:pointer}.meeting-toggle>span{min-width:0;margin-right:auto}.meeting-toggle strong,.meeting-toggle small{display:block}.meeting-toggle strong{color:#30312e;font-size:11px;font-weight:650}.meeting-toggle small{margin-top:2px;color:#85877f;font-size:9px}.meeting-toggle input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.meeting-toggle>i{position:relative;width:36px;height:21px;flex:0 0 auto;border-radius:99px;background:#b9bbb4;box-shadow:inset 0 0 0 1px #191a1714;transition:background-color .18s ease}.meeting-toggle>i:after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #14151233;transition:transform .18s ease}.meeting-toggle input:checked+i{background:#4caf50}.meeting-toggle input:checked+i:after{transform:translate(15px)}.meeting-toggle input:focus-visible+i{box-shadow:0 0 0 3px #4caf502e,inset 0 0 0 1px #191a1714}.meeting-state-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.meeting-state-picker button{display:flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 8px;border:1px solid rgba(25,26,23,.1);border-radius:9px;color:#64665f;background:#f7f7f3;font:650 10px/1 inherit;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease}.meeting-state-picker button:active{transform:scale(.97)}.meeting-state-picker button i{width:8px;height:8px;border-radius:50%}.meeting-state-picker button[data-meeting-status=reserved] i{background:#4c88b8}.meeting-state-picker button[data-meeting-status=occupied] i{background:#4caf50}.meeting-state-picker button[data-meeting-status=reserved][aria-pressed=true]{color:#1c537f;background:#4c88b824;border-color:#4c88b86b}.meeting-state-picker button[data-meeting-status=occupied][aria-pressed=true]{color:#286f2c;background:#4caf5021;border-color:#41954566}.asset-control-card{margin-bottom:12px;padding:14px;background:#ffffff9e;border:1px solid rgba(28,29,26,.08);border-radius:14px}.asset-control-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}.asset-control-heading strong,.asset-control-heading small{display:block}.asset-control-heading strong{font-size:12px;font-weight:700}.asset-control-heading small{margin-top:2px;color:#777970;font-size:9px}.asset-icon{position:relative;width:22px;height:22px;flex:0 0 auto}.daylight-icon{width:16px;height:16px;flex:0 0 auto;border-radius:50%;background:#f3bc58;box-shadow:0 0 0 4px #f3bc5824,0 0 15px #f3bc5847}.bulb-icon:before{content:"";position:absolute;top:1px;left:5px;width:12px;height:12px;border-radius:50%;background:#ffd44d;box-shadow:0 0 0 4px #ffd44d29}.bulb-icon:after{content:"";position:absolute;left:8px;bottom:1px;width:6px;height:8px;border-radius:2px;background:#8f8f88}.camera-icon:before{content:"";position:absolute;top:5px;left:1px;width:15px;height:12px;border-radius:3px;background:#367fb2;box-shadow:0 0 0 3px #367fb21f}.camera-icon:after{content:"";position:absolute;top:8px;right:0;width:8px;height:7px;clip-path:polygon(0 0,100% 20%,100% 80%,0 100%);background:#6da5ca}.asset-select{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:8px}.asset-select>span{color:#777970;font-size:10px}.asset-select select{min-width:0;height:35px;padding:0 28px 0 9px;border:1px solid rgba(25,26,23,.1);border-radius:9px;outline:0;color:#20211e;background:#f7f7f3;font:600 10px/1 inherit;cursor:pointer}.asset-select select:focus{border-color:#70736b;box-shadow:0 0 0 3px #4649431a}.lighting-group-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.lighting-group-heading strong{font-size:10px;font-weight:700}.lighting-group-heading small{color:#777970;font-size:9px}.lighting-group-picker{margin:7px 0 12px}.asset-state-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.asset-state-picker button{display:flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 8px;border:1px solid rgba(25,26,23,.1);border-radius:9px;color:#64665f;background:#f7f7f3;font:650 10px/1 inherit;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease}.asset-state-picker button:active{transform:scale(.97)}.asset-state-picker button i{width:8px;height:8px;border-radius:50%}.daylight-state-picker{grid-template-columns:repeat(3,1fr)}.daylight-state-picker button{padding-inline:5px}.daylight-state-picker button[data-lighting-time=auto] i{background:#73776f}.daylight-state-picker button[data-lighting-time=morning] i{background:#8fb8d4}.daylight-state-picker button[data-lighting-time=evening] i{background:#e78a4d}.daylight-state-picker button[data-lighting-time=auto][aria-pressed=true]{color:#fff;background:#555951;border-color:#555951}.daylight-state-picker button[data-lighting-time=morning][aria-pressed=true]{color:#315d78;background:#8fb8d433;border-color:#5f97bd70}.daylight-state-picker button[data-lighting-time=evening][aria-pressed=true]{color:#8b481e;background:#e78a4d33;border-color:#cd6a2970}.lighting-state-picker button[data-lighting-state=on] i{background:#ffd33d;box-shadow:0 0 0 3px #ffd33d24}.lighting-state-picker button[data-lighting-state=off] i{background:#959790}.lighting-state-picker button[data-lighting-state=on][aria-pressed=true]{color:#775b00;background:#ffd33d2e;border-color:#d3a6116b}.lighting-state-picker button[data-lighting-state=off][aria-pressed=true]{color:#555852;background:#9597902e;border-color:#77797361}.lighting-group-picker button[data-lighting-group=on] i{background:#ffd33d;box-shadow:0 0 0 3px #ffd33d24}.lighting-group-picker button[data-lighting-group=off] i{background:#777a74}.lighting-group-picker button[data-lighting-group=on][aria-pressed=true]{color:#664c00;background:#ffd33d3d;border-color:#d3a6118a}.lighting-group-picker button[data-lighting-group=off][aria-pressed=true]{color:#fff;background:#666a63;border-color:#666a63}.cctv-state-picker button[data-cctv-state=online] i{background:#367fb2}.cctv-state-picker button[data-cctv-state=offline] i{background:#969992}.cctv-state-picker button[data-cctv-state=online][aria-pressed=true]{color:#fff;background:#367fb2;border-color:#367fb2}.cctv-state-picker button[data-cctv-state=offline][aria-pressed=true]{color:#555852;background:#9597902e;border-color:#77797361}.cctv-angle{margin-top:10px}.sos-state-picker{margin-top:11px;padding-top:11px;border-top:1px solid rgba(25,26,23,.07)}.sos-state-picker button[data-color=green] i{background:#4caf50;box-shadow:0 0 0 3px #4caf5021}.sos-state-picker button[data-color=red] i{background:#e34c4c;box-shadow:0 0 0 3px #e34c4c21}.sos-state-picker button[data-color=green][aria-pressed=true]{color:#286f2c;background:#4caf5021;border-color:#41954566}.sos-state-picker button[data-color=red][aria-pressed=true]{color:#fff;background:#d84444;border-color:#d84444;box-shadow:0 0 15px #e34c4c33}.device-card{padding:14px;background:#ffffff9e;border:1px solid rgba(28,29,26,.08);border-radius:14px}.device-card+.device-card{margin-top:9px}.device-card-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.device-card-title strong,.device-card-title small{display:block}.device-card-title strong{font-size:13px;font-weight:650}.device-card-title small{margin-top:2px;color:#777970;font-size:10px}.device-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 4px #22231f0d}.ac-dot,.sensor-dot{background:#4caf50}.axis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.axis-grid label{position:relative}.axis-grid label span{position:absolute;top:50%;left:9px;transform:translateY(-50%);color:#777970;font-size:9px;font-weight:700;pointer-events:none}.axis-grid input{width:100%;height:35px;padding:0 5px 0 22px;border:1px solid rgba(25,26,23,.1);border-radius:9px;outline:0;color:#20211e;background:#f7f7f3;font:600 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;transition:border-color .16s ease,box-shadow .16s ease}.axis-grid input:focus{border-color:#47a6b8;box-shadow:0 0 0 3px #47a6b81f}.color-picker{display:flex;align-items:center;gap:8px;margin-top:11px;padding-top:11px;border-top:1px solid rgba(25,26,23,.07)}.color-picker>span{margin-right:auto;color:#777970;font-size:10px}.color-swatch{position:relative;width:23px;height:23px;padding:0;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #191a171a;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.color-swatch:hover{transform:scale(1.08)}.color-swatch.green{background:#4caf50}.color-swatch.red{background:radial-gradient(circle,#ffb0a9 0 16%,#f1665d 38%,#e34c4c 62%,#e34c4c59)}.color-swatch.gray{background:#8a8d86}.color-swatch[aria-pressed=true]{box-shadow:0 0 0 2px #242521,0 0 0 4px #2425211a;transform:scale(.92)}.color-swatch[aria-pressed=true]:after{content:"";position:absolute;inset:6px;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(45deg) translate(-1px,-1px)}.axis-note{margin:12px 2px 0;color:#85877f;font-size:10px;text-align:center}.axis-note span{color:#4a4c46;font-weight:700}.device-panel[data-settings-view=devices]{background:#f7fafdf7}.device-panel[data-settings-view=devices] .asset-control-card,.device-panel[data-settings-view=devices] .meeting-status-card,.device-panel[data-settings-view=devices] .device-card{position:relative;margin-bottom:10px;padding:15px 16px;overflow:hidden;border-color:#3e648624;border-radius:12px;background:#ffffffe0;box-shadow:0 5px 18px #1a43660e}.device-panel[data-settings-view=devices] .asset-control-card:before,.device-panel[data-settings-view=devices] .meeting-status-card:before,.device-panel[data-settings-view=devices] .device-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#2b80bd}.device-panel[data-settings-view=devices] .lighting-control:before{background:#f2b916}.device-panel[data-settings-view=devices] .meeting-status-card:before{background:linear-gradient(#f39a32 0 50%,#42a652 50%)}.device-panel[data-settings-view=devices] .device-card:before{background:#36a760}.device-panel[data-settings-view=devices] .device-card[data-device*=temperature]:before,.device-panel[data-settings-view=devices] .device-card[data-device*=sensor]:before{background:#ef5c63}.device-panel[data-settings-view=devices] .device-card[data-device*=sos]:before{background:#ef4450}.device-panel[data-settings-view=devices] .asset-control-heading,.device-panel[data-settings-view=devices] .meeting-status-heading,.device-panel[data-settings-view=devices] .device-card-title{margin-bottom:13px}.device-panel[data-settings-view=devices] .asset-control-heading strong,.device-panel[data-settings-view=devices] .meeting-status-heading strong,.device-panel[data-settings-view=devices] .device-card-title strong{color:#173b5d;font-size:14px;font-weight:780}.device-panel[data-settings-view=devices] .asset-control-heading small,.device-panel[data-settings-view=devices] .meeting-status-heading small,.device-panel[data-settings-view=devices] .device-card-title small{color:#72879a;font-size:10px}.device-panel[data-settings-view=devices] .asset-select,.device-panel[data-settings-view=devices] .meeting-room-select{grid-template-columns:76px minmax(0,1fr);gap:10px}.device-panel[data-settings-view=devices] .asset-select>span,.device-panel[data-settings-view=devices] .meeting-room-select>span,.cctv-direction-control>span{color:#405b73;font-size:11px;font-weight:700}.device-panel[data-settings-view=devices] .asset-select select,.device-panel[data-settings-view=devices] .meeting-room-select select{height:38px;border-color:#32638e2e;color:#193d60;background:#f7fafc;font-size:11px}.equipment-control-row{display:flex;align-items:center;gap:12px;min-height:44px;margin-top:11px;padding-top:11px;border-top:1px solid rgba(47,79,107,.1)}.equipment-control-label{color:#405b73;font-size:11px;font-weight:700}.equipment-control-label small{display:block;margin-top:3px;color:#72879a;font-size:9px;font-weight:550}.compact-state-picker{display:inline-flex;grid-template-columns:none;align-items:center;gap:2px;margin:0;padding:3px;border-radius:99px;background:#edf2f5}.compact-state-picker button{gap:5px;width:auto;height:25px;min-width:40px;padding:0 9px;border:0;border-radius:99px;color:#778895;background:transparent;font-size:10px;box-shadow:none}.compact-state-picker button i{width:7px;height:7px}.lighting-state-picker button[data-lighting-state=on][aria-pressed=true],.lighting-group-picker button[data-lighting-group=on][aria-pressed=true],.cctv-state-picker button[data-cctv-state=online][aria-pressed=true]{color:#fff;border:0;background:#25a94a;box-shadow:0 3px 8px #25a94a38}.lighting-state-picker button[data-lighting-state=off][aria-pressed=true],.lighting-group-picker button[data-lighting-group=off][aria-pressed=true],.cctv-state-picker button[data-cctv-state=offline][aria-pressed=true]{color:#fff;border:0;background:#7b8790}.lighting-state-picker button[data-lighting-state=on] i,.lighting-group-picker button[data-lighting-group=on] i,.cctv-state-picker button[data-cctv-state=online] i{background:#fff;box-shadow:none}.equipment-status-indicator{display:flex;align-items:center;gap:6px;margin-left:auto}.equipment-status-indicator>span{margin-right:2px;color:#405b73;font-size:10px;font-weight:700}.equipment-status-indicator>button{position:relative;width:24px;height:24px;padding:0;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #1e374c24;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.equipment-status-indicator>button:hover:not(:disabled){transform:scale(1.08)}.equipment-status-indicator>button:active:not(:disabled){transform:scale(.92)}.equipment-status-indicator>button:focus-visible{outline:3px solid rgba(47,135,199,.22);outline-offset:2px}.equipment-status-indicator>button.normal{background:#25ae50}.equipment-status-indicator>button.alert{background:#f0525c}.equipment-status-indicator>button.offline{background:#9ba3a8}.equipment-status-indicator>button:disabled{opacity:.28;cursor:not-allowed;filter:grayscale(.45)}.equipment-status-indicator>button.active{box-shadow:0 0 0 2px #173b5d,0 0 0 4px #173b5d1f}.equipment-status-indicator>button.active:after{content:"";position:absolute;left:7px;top:4px;width:5px;height:9px;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(45deg)}.group-control-row{justify-content:space-between}.group-control-row .lighting-group-heading{display:block;margin:0 auto 0 0}.group-control-row .lighting-group-heading strong,.group-control-row .lighting-group-heading small{display:block}.group-control-row .lighting-group-heading small{margin-top:3px}.lighting-group-picker{margin:0}.cctv-direction-control{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;margin-top:12px}.direction-options{display:flex;align-items:center;gap:5px}.direction-options button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid rgba(54,100,139,.16);border-radius:7px;color:#61768a;background:#f7fafc;cursor:pointer;transition:color .16s ease,border-color .16s ease,background-color .16s ease,transform .16s ease}.direction-options button:hover{color:#176ba7;border-color:#176ba766}.direction-options button:active{transform:scale(.92)}.direction-options button:focus-visible{outline:3px solid rgba(47,135,199,.2);outline-offset:1px}.direction-options button[aria-pressed=true]{color:#fff;border-color:#176ba7;background:#176ba7;box-shadow:0 4px 10px #176ba733}.direction-options button i{position:relative;width:15px;height:9px;border:1.5px solid currentColor;border-radius:2px;transform:rotate(var(--direction-angle))}.direction-options button i:after{content:"";position:absolute;top:2px;right:-5px;width:4px;height:3px;border:1.5px solid currentColor;border-left:0}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.device-panel[data-settings-view=devices] .meeting-toggle{min-height:44px;margin-top:11px;padding-top:11px}.device-panel[data-settings-view=devices] .meeting-state-picker{display:flex;justify-content:flex-end;gap:7px;margin-top:10px}.device-panel[data-settings-view=devices] .meeting-state-picker button{width:auto;min-width:88px;height:30px;border-radius:8px}.device-panel[data-settings-view=devices] .device-card+.device-card{margin-top:0}.device-instance-select{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:10px}.device-instance-select>span{color:#405b73;font-size:11px;font-weight:700}.device-instance-select select{min-width:0;height:38px;padding:0 30px 0 10px;border:1px solid rgba(50,99,142,.18);border-radius:9px;outline:0;color:#193d60;background:#f7fafc;font:650 11px/1 inherit}.device-instance-select select:focus{border-color:#2e83c3;box-shadow:0 0 0 3px #2e83c321}.device-panel[data-settings-view=devices] .axis-grid input{height:38px;border-color:#32638e29;color:#193d60;background:#f7fafc}.device-operation-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;margin-top:11px;padding-top:11px;border-top:1px solid rgba(47,79,107,.1)}.device-power-toggle{display:flex;align-items:center;gap:7px;cursor:pointer}.device-power-toggle>span{margin-right:3px;color:#405b73;font-size:11px;font-weight:700}.device-power-toggle em{color:#7a8995;font-size:9px;font-style:normal}.device-power-toggle input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.device-power-toggle i{position:relative;width:36px;height:21px;flex:0 0 auto;border-radius:99px;background:#aab4bb;box-shadow:inset 0 0 0 1px #1a374e14;transition:background-color .18s ease}.device-power-toggle i:after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #142b3c33;transition:transform .18s ease}.device-power-toggle input:checked+i{background:#25aa4b}.device-power-toggle input:checked+i:after{transform:translate(15px)}.device-power-toggle input:focus-visible+i{box-shadow:0 0 0 3px #25aa4b2e,inset 0 0 0 1px #1a374e14}.device-panel[data-settings-view=devices] .device-operation-row .color-picker{flex:0 0 auto;min-height:0;margin:0;padding:0;border-top:0}.device-panel[data-settings-view=devices] .color-picker>span{color:#405b73;font-size:11px;font-weight:700}.device-panel[data-settings-view=devices] .color-swatch{width:19px;height:19px}.device-group-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:45px;margin-top:9px;padding-top:10px;border-top:1px solid rgba(47,79,107,.1)}.device-group-row strong,.device-group-row small{display:block}.device-group-row strong{color:#405b73;font-size:11px;font-weight:700}.device-group-row small{margin-top:3px;color:#72879a;font-size:9px}.device-group-picker button[data-group-power=on][aria-pressed=true]{color:#fff;background:#25a94a;box-shadow:0 3px 8px #25a94a38}.device-group-picker button[data-group-power=off][aria-pressed=true]{color:#fff;background:#7b8790}.device-group-picker button[data-group-power=on] i{background:#fff}.device-panel[data-settings-view=devices] .sos-state-picker{display:flex;align-items:center;justify-content:flex-end;gap:8px}.room-tooltip{position:fixed;top:0;left:0;z-index:7;width:190px;padding:14px 16px;color:#292a27;background:#fcfcf88a;border:1px solid rgba(255,255,255,.5);border-radius:14px;box-shadow:0 14px 40px #1f1f1b1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;opacity:0;visibility:hidden;transform:translate(14px,14px) scale(.96);transform-origin:top left;transition:opacity .14s ease,visibility .14s ease,transform .14s ease}.room-tooltip.visible{opacity:1;visibility:visible;transform:translate(14px,14px) scale(1)}.room-tooltip dl{display:grid;gap:6px;margin:0}.room-tooltip dl div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.room-tooltip dt{color:#59636a;font-size:14px;font-weight:700;line-height:1.2}.room-tooltip dd{margin:0;color:#252622;font-size:20px;font-weight:700;line-height:1.15;text-align:right}.streetlight-tooltip{position:fixed;top:0;left:0;z-index:8;width:218px;padding:14px;color:#f5f5f1;background:#1c1f1ded;border:1px solid rgba(255,255,255,.12);border-radius:15px;box-shadow:0 16px 46px #1213103d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:none;opacity:0;visibility:hidden;transform:translate(14px,14px) scale(.96);transform-origin:top left;transition:opacity .14s ease,visibility .14s ease,transform .14s ease}.streetlight-tooltip.visible{opacity:1;visibility:visible;transform:translate(14px,14px) scale(1)}.streetlight-tooltip header{display:flex;align-items:center;gap:9px;padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.1)}.streetlight-tooltip header div{display:grid;gap:2px}.streetlight-tooltip header strong{font-size:13px;font-weight:650}.streetlight-tooltip header small{color:#f5f5f194;font-size:10px}.streetlight-status-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#f3bf54;box-shadow:0 0 0 4px #f3bf5424,0 0 13px #f3bf54ad}.streetlight-tooltip dl{display:grid;gap:8px;margin:11px 0 0}.streetlight-tooltip dl div{display:flex;align-items:center;justify-content:space-between;gap:14px}.streetlight-tooltip dt{color:#f5f5f18c;font-size:10px}.streetlight-tooltip dd{margin:0;color:#fff;font-size:11px;font-weight:550;text-align:right}.device-tooltip{position:fixed;top:0;left:0;z-index:8;width:max-content;max-width:280px;padding:11px 13px;color:#f5f5f1;background:#10283ef0;border:1px solid rgba(143,199,237,.24);border-radius:12px;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;opacity:0;visibility:hidden;transform:translate(14px,14px) scale(.96);transform-origin:top left;transition:opacity .14s ease,visibility .14s ease,transform .14s ease}.device-tooltip.visible{opacity:1;visibility:visible;transform:translate(14px,14px) scale(1)}.device-tooltip header{display:flex;align-items:center}.device-tooltip header div{display:grid;gap:2px;min-width:0}.device-tooltip header strong{overflow:hidden;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.device-tooltip header small{color:#e1eff9a3;font:600 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.device-detail-modal{position:fixed;inset:0;z-index:25;display:grid;place-items:center;padding:24px;background:#0b1f316b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.device-detail-modal.open{opacity:1;visibility:visible}.device-detail-dialog{width:min(720px,calc(100vw - 40px));padding:20px;color:var(--blue-900);background:#f7fbfef5;border:1px solid rgba(167,205,232,.72);border-radius:20px;box-shadow:0 26px 80px #0f36544d;transform:translateY(10px) scale(.98);transition:transform .2s ease}.device-detail-modal.open .device-detail-dialog{transform:translateY(0) scale(1)}.device-detail-dialog:focus-visible{outline:3px solid rgba(33,132,197,.3);outline-offset:3px}.device-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid rgba(174,205,228,.66)}.device-detail-header h2{margin:5px 0 3px;font-size:20px;line-height:1.2}.device-detail-header p{margin:0;color:var(--dashboard-muted);font-size:12px}.device-detail-header p strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}.device-detail-type{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;color:#fff;background:var(--blue-700);border-radius:7px;font-size:11px;font-weight:750;letter-spacing:.04em}.device-detail-header button{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;padding:0;color:var(--blue-900);background:#e8f2f9;border:1px solid #d4e5f1;border-radius:10px;cursor:pointer}.device-detail-header button:hover{background:#dcebf6}.device-detail-header button:focus-visible,.device-detail-footer button:focus-visible,#device-preview-canvas:focus-visible{outline:3px solid rgba(33,132,197,.32);outline-offset:2px}.device-detail-header svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.device-detail-content{display:grid;grid-template-columns:232px minmax(0,1fr);gap:16px;padding:16px 0}.device-preview-card,.device-point-card{border:1px solid rgba(181,211,232,.72);border-radius:15px;background:#eaf4fbb8}.device-preview-card{display:grid;justify-items:center;align-content:start;padding:14px}#device-preview-canvas{display:block;width:200px;height:200px;border-radius:12px;background:radial-gradient(circle at 50% 40%,#fff 0,#e4f1f9 58%,#d5e7f3);cursor:grab;touch-action:none}#device-preview-canvas.dragging{cursor:grabbing}.device-preview-card>div{display:flex;align-items:center;justify-content:space-between;width:200px;margin-top:10px}.device-preview-card span{color:var(--blue-600);font-size:9px;font-weight:800;letter-spacing:.14em}.device-preview-card strong{color:var(--dashboard-muted);font-size:10px;font-weight:650}.device-point-card{overflow:hidden;background:#ffffffc2}.device-point-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:#e2f0f9c2;border-bottom:1px solid rgba(181,211,232,.72)}.device-point-card>header div{display:flex;align-items:center;gap:8px}.device-point-card>header span{width:9px;height:9px;border-radius:50%;background:var(--semantic-success);box-shadow:0 0 0 4px #4d9a561f}.device-point-card>header strong{font-size:13px}.device-point-card>header small{color:var(--dashboard-muted);font-size:10px}.device-point-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:7px 14px 11px}.device-point-card dl div{min-width:0;padding:10px 8px;border-bottom:1px solid rgba(190,216,234,.55)}.device-point-card dt{color:var(--dashboard-muted);font-size:10px}.device-point-card dd{overflow:hidden;margin:4px 0 0;color:var(--blue-900);font-size:13px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.device-detail-footer{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:8px 14px;padding-top:14px;border-top:1px solid rgba(174,205,228,.66)}.device-detail-footer span{color:var(--dashboard-muted);font-size:10px}.device-detail-footer span:nth-child(2){color:#356482}.device-detail-footer span:nth-child(2) strong{color:#164e7a}.device-detail-footer button{min-height:36px;padding:0 14px;color:#fff;background:var(--blue-700);border:0;border-radius:9px;font-size:12px;font-weight:700;cursor:pointer}.device-detail-footer button:hover{background:var(--blue-900)}@media(max-height:720px){.device-detail-dialog{padding:15px}.device-detail-content{padding:12px 0}}@media(max-width:1180px){.monitor-control-dock{gap:5px;max-width:calc(100vw - 20px)}.monitor-control-dock .toolbar{gap:2px;padding:5px}.monitor-control-dock .toolbar button{width:36px;height:36px}.monitor-control-dock .scene-hud{min-height:46px}.monitor-control-dock .scene-hud-group{padding:6px 8px}.monitor-control-dock .scene-hud span{font-size:10px}.monitor-control-dock .device-layer-trigger{min-height:40px}}@media(max-width:900px){.monitor-control-dock{flex-wrap:wrap}.monitor-control-dock .toolbar{order:1}.monitor-control-dock .scene-hud{order:2}.monitor-control-dock .device-legend{order:3}.alert-records-page{padding:84px 14px 14px}.alert-records-shell{max-height:calc(100vh - 98px)}.alert-records-header{padding:18px 18px 15px}.alert-records-header-actions{flex-wrap:wrap;justify-content:flex-end}.alert-records-export span{display:none}.alert-records-toolbar{grid-template-columns:1fr 1fr;padding:14px 18px 10px}.alert-records-search,.alert-floor-switch{grid-column:1 / -1}.alert-quick-filters{padding:0 18px 10px}.alert-records-meta{flex-direction:column;align-items:flex-start;padding:0 18px 10px}.alert-records-meta-actions{justify-content:flex-start;width:100%}.alert-records-source{flex-basis:100%;margin-left:0}.alert-records-table-wrap{margin:0 18px 18px}}@media(max-width:560px){.alert-quick-filters{flex-wrap:nowrap;overflow-x:auto;padding-right:14px;scrollbar-width:thin}.alert-quick-filters-label,.alert-quick-filter{flex:0 0 auto}.alert-records-page-jump{margin-left:auto}}.device-management-open .dashboard,.device-management-open .device-tooltip,.device-management-open .room-tooltip,.device-management-open .streetlight-tooltip{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.device-management-page{position:fixed;inset:0;z-index:8;display:grid;place-items:center;padding:86px 20px 20px;background:#e0eef9d1;-webkit-backdrop-filter:blur(12px) saturate(1.08);backdrop-filter:blur(12px) saturate(1.08);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .24s ease,visibility .24s ease,transform .24s ease}.device-management-page.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.device-management-shell{display:flex;flex-direction:column;width:min(1540px,100%);max-height:calc(100vh - 106px);min-height:0;overflow:hidden;color:var(--dashboard-ink);background:#f8fcfff5;border:1px solid rgba(174,207,233,.88);border-radius:20px;box-shadow:var(--shadow-floating)}.device-management-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex:0 0 auto;padding:20px 24px 16px;border-bottom:1px solid rgba(179,205,227,.66);background:#fafdffd1}.device-management-breadcrumb{display:flex;align-items:center;gap:6px;color:#66839d;font-size:11px;font-weight:750}.device-management-breadcrumb i{color:#91a8bc;font-style:normal}.device-management-breadcrumb strong{color:var(--semantic-info);font-weight:850}.device-management-header h1{margin:5px 0 3px;color:#143a5c;font-size:24px;line-height:1.15;letter-spacing:-.04em}.device-management-header p{margin:0;color:var(--dashboard-muted);font-size:12px;font-weight:650}.device-management-header-actions{display:flex;align-items:center;gap:9px}.device-management-export,.device-management-close{min-height:38px;border-radius:10px;font:800 12px/1 inherit;cursor:pointer}.device-management-export{padding:0 13px;border:1px solid rgba(31,116,178,.18);color:#fff;background:var(--blue-700);box-shadow:0 7px 16px #175c8d29}.device-management-export:hover{background:var(--blue-900);transform:translateY(-1px)}.device-management-close{display:grid;place-items:center;width:38px;padding:0;border:1px solid rgba(178,210,235,.82);color:#315a7b;background:#deedf8c7}.device-management-close:hover{color:#143f62;background:#d7eaf7}.device-management-export:focus-visible,.device-management-close:focus-visible{outline:3px solid rgba(33,132,197,.28);outline-offset:2px}.device-management-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.device-management-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;flex:0 0 auto;padding:14px 24px 8px}.device-management-summary article{min-width:0;padding:10px 13px;border:1px solid rgba(181,207,228,.72);border-radius:11px;background:#fffc;box-shadow:0 7px 18px #2352770f}.device-management-summary article[data-tone=success]{border-color:#4d9a5642}.device-management-summary article[data-tone=critical]{border-color:#d94f5d42}.device-management-summary article[data-tone=warning]{border-color:#e1911f47}.device-management-summary article[data-tone=info]{border-color:#2184c547}.device-management-summary span,.device-management-summary strong,.device-management-summary small{display:block}.device-management-summary span{color:#587188;font-size:11px;font-weight:820}.device-management-summary strong{margin-top:4px;color:var(--blue-900);font-size:21px;line-height:1;font-variant-numeric:tabular-nums}.device-management-summary article[data-tone=success] strong{color:#3d8750}.device-management-summary article[data-tone=critical] strong{color:var(--semantic-critical)}.device-management-summary article[data-tone=warning] strong{color:#b57417}.device-management-summary small{margin-top:4px;color:#8093a5;font-size:10px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-management-toolbar{display:grid;grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(130px,.8fr)) auto;align-items:end;gap:10px;flex:0 0 auto;padding:8px 24px 10px}.device-management-toolbar label{display:grid;gap:5px;min-width:0}.device-management-toolbar label>span{color:#4c6f8f;font-size:11px;font-weight:850}.device-management-toolbar input,.device-management-toolbar select{width:100%;height:38px;padding:0 11px;border:1px solid rgba(178,210,235,.9);border-radius:9px;color:#173b5d;background:#ffffffdb;font:700 12px/1 inherit;outline:0}.device-management-toolbar input::placeholder{color:#88a0b5;font-weight:600}.device-management-toolbar input:focus,.device-management-toolbar select:focus{border-color:var(--semantic-info);background:#fff;box-shadow:0 0 0 3px #2184c521}.device-management-clear{height:38px;padding:0 11px;border:1px solid rgba(178,210,235,.9);border-radius:9px;color:#315f84;background:#ffffffb3;font:800 11px/1 inherit;cursor:pointer;white-space:nowrap}.device-management-clear:hover{color:#fff;border-color:var(--blue-700);background:var(--blue-700)}.device-management-quick-filters{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:0 24px 10px}.device-management-quick-filters>span{margin-right:3px;color:#4c6f8f;font-size:11px;font-weight:850}.device-management-quick-filters button{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 9px;border:1px solid rgba(178,210,235,.88);border-radius:8px;color:#315f84;background:#ffffffc2;font:800 11px/1 inherit;cursor:pointer}.device-management-quick-filters button:hover{border-color:var(--semantic-info);background:#fff}.device-management-quick-filters button.active{color:#fff;border-color:var(--blue-900);background:var(--blue-900)}.device-management-quick-filters strong{display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;color:#a13e4b;background:#ffebeee6;font-size:10px}.device-management-quick-filters button.active strong{color:#fff;background:#fff3}.device-management-analytics{flex:0 0 auto;margin:0 24px 12px;overflow:hidden;border:1px solid rgba(181,207,228,.78);border-radius:14px;background:#ffffffb8;box-shadow:0 7px 18px #2352770e}.dm-analytics-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px 9px;border-bottom:1px solid rgba(181,207,228,.58);background:#e8f4fc9e}.dm-analytics-eyebrow{display:block;color:var(--semantic-info);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.dm-analytics-header h2{margin:2px 0 0;color:#204b6d;font-size:15px;line-height:1.2}.dm-analytics-header p{margin:3px 0 0;color:#718aa0;font-size:10px;font-weight:650}.dm-analytics-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.dm-analytics-tabs{display:inline-flex;gap:3px;padding:3px;border:1px solid rgba(178,210,235,.74);border-radius:8px;background:#ffffffb8}.dm-analytics-tabs button,.dm-analytics-auto,.dm-analytics-window{min-height:28px;padding:0 9px;border:1px solid transparent;border-radius:6px;color:#55738f;background:transparent;font:800 10px/1 inherit;cursor:pointer;white-space:nowrap}.dm-analytics-tabs button:hover,.dm-analytics-auto:hover{color:#1e5c89;background:#e1f1fbd1}.dm-analytics-tabs button.active{color:#fff;background:var(--blue-700);box-shadow:0 3px 8px #1769aa2e}.dm-analytics-window{display:inline-flex;align-items:center;gap:5px;padding:0 5px 0 8px;border-color:#b2d2ebbd;background:#ffffffb8}.dm-analytics-window span{color:#758da3;font-size:9px}.dm-analytics-window select{border:0;outline:0;color:#315f84;background:transparent;font:800 10px/1 inherit;cursor:pointer}.dm-analytics-auto{border-color:#b2d2ebbd;background:#ffffffb8}.dm-analytics-auto.active{color:#347947;border-color:#4d9a5652;background:#ebf8ede6}.dm-analytics-body{display:grid;grid-template-columns:minmax(215px,.42fr) minmax(0,1fr);gap:10px;min-height:0;padding:10px 14px 12px}.dm-analytics-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-content:start}.dm-analytics-kpis>div{min-width:0;padding:8px 9px;border:1px solid rgba(181,207,228,.62);border-radius:8px;background:#f4f9fdc7}.dm-analytics-kpis span,.dm-analytics-kpis strong{display:block}.dm-analytics-kpis span{color:#66839d;font-size:9px;font-weight:800}.dm-analytics-kpis strong{margin-top:4px;color:#1f5f8d;font-size:18px;line-height:1;font-variant-numeric:tabular-nums}.dm-analytics-kpis>div:nth-child(2) strong{color:#3d8750}.dm-analytics-kpis>div:nth-child(3) strong{color:var(--semantic-critical)}.dm-analytics-kpis>div:nth-child(4) strong{color:#a46313}.dm-analytics-chart-card{position:relative;min-width:0;height:174px;padding:7px 9px 5px;border:1px solid rgba(181,207,228,.66);border-radius:9px;background:#ffffffd6}.dm-analytics-chart-card canvas{display:block;width:100%!important;height:135px!important}.dm-analytics-summary{margin:3px 0 0;overflow:hidden;color:#66839d;font-size:9px;font-weight:750;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.device-management-workspace{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(380px,.82fr);gap:12px;min-height:0;flex:1 1 auto;padding:0 24px 22px}.device-management-list-panel,.device-management-detail-panel{min-width:0;min-height:0;overflow:hidden;border:1px solid rgba(181,207,228,.78);border-radius:14px;background:#ffffffad}.device-management-list-panel{display:flex;flex-direction:column}.device-management-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:13px 15px 10px;border-bottom:1px solid rgba(181,207,228,.6)}.device-management-list-heading strong,.device-management-list-heading small{display:block}.device-management-list-heading strong{color:#274b6b;font-size:14px;font-weight:850}.device-management-list-heading small{margin-top:3px;color:#758da3;font-size:10px;font-weight:700}.device-management-list-heading button{min-height:32px;padding:0 10px;border:0;border-radius:8px;color:#fff;background:var(--blue-700);font:800 11px/1 inherit;cursor:pointer}.device-management-list-heading button:hover{background:var(--blue-900)}.device-management-table-wrap{min-height:0;flex:1 1 auto;overflow:auto}.device-management-table{width:100%;min-width:820px;border-collapse:separate;border-spacing:0;font-size:11px}.device-management-table th{position:sticky;top:0;z-index:1;padding:10px 11px;border-bottom:1px solid rgba(181,207,228,.78);color:#315f84;background:#e8f4fcf7;font-size:10px;font-weight:900;text-align:left;white-space:nowrap}.device-management-table td{padding:10px 11px;border-bottom:1px solid rgba(205,222,235,.64);color:#294a67;font-weight:650;vertical-align:middle}.device-management-table tbody tr{cursor:pointer;transition:background-color .16s ease}.device-management-table tbody tr:hover,.device-management-table tbody tr.selected{background:#e1f1fbd1}.device-management-table tbody tr:focus-visible{outline:3px solid rgba(33,132,197,.26);outline-offset:-3px}.device-management-table td strong,.device-management-table td small{display:block}.device-management-table td strong{color:#1f4566;font-size:11px;line-height:1.3}.device-management-table td small{margin-top:3px;color:#7590a6;font-size:9px;font-weight:700;line-height:1.25}.dm-table-status{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:0 7px;border-radius:6px;font-size:10px;font-weight:850;white-space:nowrap}.dm-table-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.dm-table-status.online{color:#347947;background:#ebf8edeb}.dm-table-status.offline{color:#66757f;background:#ebeff2eb}.dm-table-health{font-weight:850!important}.dm-table-health.alarm{color:var(--semantic-critical)!important}.dm-table-health.unknown{color:#7b8791!important}.dm-type-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border:1px solid transparent;border-radius:6px;color:#235b85;background:#e0effacc;font-size:10px;font-weight:850;white-space:nowrap}.dm-type-chip.type-lighting{color:#416da3;background:#e1eefce0}.dm-type-chip.type-cctv{color:#205a91;background:#dcedfbe6}.dm-type-chip.type-sos{color:#654ba0;background:#efeaffe6}.dm-floor-label{color:#1f5f8d!important;white-space:nowrap}.dm-alarm-count{display:inline-flex;min-height:22px;align-items:center;padding:0 7px;border-radius:6px;color:#b53c4c;background:#ffebeee6;font-size:10px;font-weight:850;white-space:nowrap}.dm-no-alarm{color:#3d8750;font-size:10px;font-weight:800;white-space:nowrap}.dm-freshness.stale{color:#a46313!important}.dm-row-actions{display:flex;gap:5px;white-space:nowrap}.dm-row-actions button{min-height:27px;padding:0 7px;border:1px solid rgba(178,210,235,.9);border-radius:6px;color:#315f84;background:#fff;font:800 10px/1 inherit;cursor:pointer}.dm-row-actions button:last-child{color:#fff;border-color:var(--blue-700);background:var(--blue-700)}.dm-row-actions button:hover{transform:translateY(-1px)}.device-management-empty{display:grid;place-items:center;gap:5px;min-height:160px;color:#5d7890;text-align:center}.device-management-empty[hidden]{display:none!important}.device-management-empty strong{color:#315f84;font-size:13px}.device-management-empty span{font-size:11px}.device-management-pagination{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;flex:0 0 auto;padding:9px 11px;border-top:1px solid rgba(181,207,228,.6);color:#6a8197;font-size:10px;font-weight:750}.device-management-pagination label{display:inline-flex;align-items:center;gap:4px}.device-management-pagination select,.device-management-pagination input,.device-management-pagination>button{height:27px;padding:0 7px;border:1px solid rgba(178,210,235,.88);border-radius:6px;color:#315f84;background:#ffffffd6;font:800 10px/1 inherit}.device-management-pagination input{width:40px;text-align:center}.device-management-pagination>button{cursor:pointer}.device-management-pagination>button:disabled{color:#a3b4c1;background:#e6eef5c7;cursor:not-allowed}.device-management-pagination>button:hover:not(:disabled){color:#fff;border-color:var(--blue-700);background:var(--blue-700)}.device-management-detail-panel{display:flex;flex-direction:column;overflow:auto}.device-management-detail-empty{display:grid;place-items:center;align-content:center;gap:7px;min-height:300px;padding:24px;color:#6a8197;text-align:center}.device-management-detail-empty[hidden]{display:none!important}.dm-detail-empty-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;color:var(--blue-700);background:#dceefbe6;font-size:25px;transform:rotate(-18deg)}.device-management-detail-empty strong{color:#315f84;font-size:14px}.device-management-detail-empty small{max-width:240px;font-size:11px;line-height:1.5}#dm-detail-content{min-height:0}#dm-detail-content[hidden]{display:none!important}.dm-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 16px 12px;border-bottom:1px solid rgba(181,207,228,.62)}.dm-detail-type{display:inline-flex;align-items:center;min-height:21px;padding:0 7px;border-radius:6px;color:#fff;background:var(--blue-700);font-size:10px;font-weight:850}.dm-detail-type.type-lighting{background:var(--device-lighting)}.dm-detail-type.type-cctv{background:var(--device-cctv)}.dm-detail-type.type-sos{background:var(--device-sos)}.dm-detail-header h2{margin:5px 0 2px;color:#173f61;font-size:18px;line-height:1.2;letter-spacing:-.03em}.dm-detail-header p{margin:0;color:#7490a7;font:700 10px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.dm-detail-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.dm-detail-actions button{min-height:30px;padding:0 8px;border:1px solid rgba(178,210,235,.9);border-radius:7px;color:#315f84;background:#fffc;font:800 10px/1 inherit;cursor:pointer}.dm-detail-actions button:last-child{color:#fff;border-color:var(--blue-700);background:var(--blue-700)}.dm-detail-actions button:hover{transform:translateY(-1px)}.dm-detail-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:10px 16px;border-bottom:1px solid rgba(181,207,228,.5)}.dm-status-chip{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border:1px solid transparent;border-radius:7px;font-size:10px;font-weight:850;white-space:nowrap}.dm-status-chip.online,.dm-status-chip.normal,.dm-status-chip.fresh{color:#347947;border-color:#4d9a564d;background:#ebf8edeb}.dm-status-chip.offline,.dm-status-chip.unknown{color:#66757f;border-color:#87949e4d;background:#ebeff2eb}.dm-status-chip.alarm{color:#b53c4c;border-color:#d94f5d4d;background:#ffebeeeb}.dm-status-chip.stale{color:#a46313;border-color:#e1911f4d;background:#fff5ddeb}.dm-detail-status-row>span:last-child{margin-left:auto;color:#6a8197;font-size:10px;font-weight:750}.dm-detail-tabs{display:flex;gap:4px;overflow-x:auto;padding:9px 12px 0;border-bottom:1px solid rgba(181,207,228,.66);scrollbar-width:thin}.dm-detail-tabs button{flex:0 0 auto;min-height:32px;padding:0 9px;border:0;border-bottom:2px solid transparent;color:#66839d;background:transparent;font:800 11px/1 inherit;cursor:pointer}.dm-detail-tabs button:hover{color:#245f8c;background:#e1f1fb94}.dm-detail-tabs button.active{color:var(--blue-900);border-bottom-color:var(--blue-700)}.dm-detail-tab-panel{padding:14px 16px 18px}.dm-detail-tab-panel[hidden]{display:none!important}.dm-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.dm-overview-grid>div{min-width:0;padding:9px 10px;border:1px solid rgba(181,207,228,.6);border-radius:8px;background:#f4f9fdc2}.dm-overview-grid dt{color:#6a8197;font-size:10px;font-weight:750}.dm-overview-grid dd{margin:4px 0 0;overflow:hidden;color:#1e4668;font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.dm-data-note{display:grid;gap:3px;margin-top:10px;padding:10px;border:1px solid rgba(33,132,197,.18);border-radius:9px;background:#e5f2fbc7}.dm-data-note span{color:#5d7890;font-size:10px;font-weight:750}.dm-data-note strong{color:#1f668f;font-size:11px}.dm-data-note small{color:#6c879d;font-size:9px;line-height:1.4}.dm-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}.dm-panel-heading strong,.dm-panel-heading small{display:block}.dm-panel-heading strong{color:#274b6b;font-size:13px;font-weight:850}.dm-panel-heading small{margin-top:3px;color:#758da3;font-size:10px}.dm-panel-heading button,.dm-panel-heading>label{min-height:29px;padding:0 8px;border:1px solid rgba(178,210,235,.88);border-radius:7px;color:#315f84;background:#fff;font:800 10px/1 inherit;cursor:pointer}.dm-panel-heading>label{display:inline-flex;align-items:center;gap:5px;padding:0 5px 0 8px}.dm-panel-heading>label span{color:#6a8197;font-size:9px}.dm-panel-heading>label select{border:0;outline:0;color:#315f84;background:transparent;font:800 10px/1 inherit}.dm-points-table-wrap{overflow:auto;border:1px solid rgba(181,207,228,.66);border-radius:8px}.dm-points-table{width:100%;min-width:500px;border-collapse:collapse;font-size:10px}.dm-points-table th{padding:8px;color:#55738f;background:#e8f4fce6;font-size:9px;text-align:left}.dm-points-table td{padding:8px;border-top:1px solid rgba(205,222,235,.6);color:#294a67;font-weight:700}.dm-points-table td strong,.dm-points-table td small{display:block}.dm-points-table td small{margin-top:2px;color:#7b93a7;font-size:9px;font-weight:650}.dm-points-table td button{min-height:24px;padding:0 6px;border:1px solid rgba(178,210,235,.9);border-radius:6px;color:#315f84;background:#fff;font:800 9px/1 inherit;cursor:pointer}.dm-point-quality{display:inline-flex;min-height:20px;align-items:center;padding:0 6px;border-radius:6px;color:#347947;background:#ebf8edeb;font-size:9px;font-weight:850}.dm-simulated-label{display:inline-flex;min-height:22px;align-items:center;padding:0 7px;border-radius:6px;color:#55738f;background:#e8f1f8e6;font-size:9px;font-weight:850}.dm-trend-card{height:230px;padding:9px;border:1px solid rgba(181,207,228,.66);border-radius:9px;background:#ffffffd6}.dm-trend-card canvas{display:block;width:100%!important;height:100%!important}.dm-trend-summary{margin:8px 0 0;color:#66839d;font-size:10px;font-weight:750}.dm-alarm-form,.dm-maintenance-form{display:grid;gap:10px}.dm-form-toggle{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid rgba(181,207,228,.66);border-radius:8px;background:#f4f9fdc2;cursor:pointer}.dm-form-toggle span{min-width:0;margin-right:auto}.dm-form-toggle strong,.dm-form-toggle small{display:block}.dm-form-toggle strong{color:#274b6b;font-size:11px}.dm-form-toggle small{margin-top:3px;color:#758da3;font-size:9px}.dm-form-toggle input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.dm-form-toggle i{position:relative;width:38px;height:22px;flex:0 0 auto;border-radius:99px;background:#aeb9c1;transition:background .18s ease}.dm-form-toggle i:after{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #14151233;content:"";transition:transform .18s ease}.dm-form-toggle input:checked+i{background:var(--semantic-success)}.dm-form-toggle input:checked+i:after{transform:translate(16px)}.dm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dm-form-grid label,.dm-maintenance-form label{display:grid;gap:5px}.dm-form-grid label>span,.dm-maintenance-form label>span{color:#55738f;font-size:10px;font-weight:850}.dm-form-grid input,.dm-form-grid select,.dm-maintenance-form textarea{width:100%;min-height:34px;padding:0 9px;border:1px solid rgba(178,210,235,.88);border-radius:7px;outline:0;color:#274b6b;background:#fff;font:700 10px/1.3 inherit}.dm-maintenance-form textarea{min-height:70px;padding:8px 9px;resize:vertical}.dm-form-grid input:focus,.dm-form-grid select:focus,.dm-maintenance-form textarea:focus{border-color:var(--semantic-info);box-shadow:0 0 0 3px #2184c521}.dm-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.dm-form-actions span{margin-right:auto;color:#6a8197;font-size:9px;font-weight:750}.dm-form-actions button{min-height:30px;padding:0 9px;border:1px solid rgba(178,210,235,.9);border-radius:7px;color:#315f84;background:#fff;font:800 10px/1 inherit;cursor:pointer}.dm-form-actions button:last-child{color:#fff;border-color:var(--blue-700);background:var(--blue-700)}.dm-maintenance-list{display:grid;gap:7px}.dm-maintenance-list article{display:grid;grid-template-columns:92px 1fr;gap:9px;padding:9px;border:1px solid rgba(181,207,228,.62);border-radius:8px;background:#f4f9fdc2}.dm-maintenance-list article strong,.dm-maintenance-list article small{display:block}.dm-maintenance-list article strong{color:#315f84;font-size:10px}.dm-maintenance-list article small{margin-top:3px;color:#7a90a3;font-size:9px}.dm-maintenance-list article p{margin:0;color:#294a67;font-size:10px;line-height:1.45}.dm-maintenance-empty{padding:22px 10px;border:1px dashed rgba(178,210,235,.88);border-radius:8px;color:#7a90a3;font-size:10px;text-align:center}@media(max-width:1180px){.device-management-workspace{grid-template-columns:minmax(0,1fr) minmax(330px,.72fr)}.device-management-toolbar{grid-template-columns:minmax(190px,1.5fr) repeat(3,minmax(120px,.8fr))}.device-management-clear{grid-column:1 / -1;justify-self:start}.dm-analytics-header{align-items:flex-start;flex-direction:column}.dm-analytics-actions{justify-content:flex-start;width:100%}}@media(max-width:900px){.device-management-page{padding:80px 12px 12px}.device-management-shell{max-height:calc(100vh - 92px)}.device-management-header{padding:17px 18px 14px}.device-management-summary{grid-template-columns:repeat(3,minmax(0,1fr));padding-left:18px;padding-right:18px}.device-management-toolbar{grid-template-columns:1fr 1fr;padding-left:18px;padding-right:18px}.device-management-search{grid-column:1 / -1}.device-management-quick-filters{padding-left:18px;padding-right:18px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.device-management-quick-filters>span,.device-management-quick-filters button{flex:0 0 auto}.device-management-analytics{margin-left:18px;margin-right:18px}.dm-analytics-body{grid-template-columns:1fr}.dm-analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.device-management-workspace{grid-template-columns:1fr;overflow-y:auto;padding:0 18px 18px}.device-management-list-panel{min-height:410px}.device-management-detail-panel{min-height:360px}}@media(max-width:560px){.device-management-header-actions .device-management-export{display:none}.device-management-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.device-management-toolbar{grid-template-columns:1fr}.device-management-search{grid-column:auto}.device-management-detail-status-row>span:last-child{width:100%;margin-left:0}.dm-analytics-actions{align-items:stretch;flex-direction:column}.dm-analytics-tabs{width:100%}.dm-analytics-tabs button{flex:1 1 0}.dm-analytics-window,.dm-analytics-auto{justify-content:center;width:100%}.dm-analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dm-detail-header{flex-direction:column}.dm-detail-actions{justify-content:flex-start}.dm-overview-grid,.dm-form-grid{grid-template-columns:1fr}}.monitor-control-dock .device-legend,.monitor-control-dock .scene-hud,.monitor-control-dock .main-menu{opacity:1;visibility:visible;transform:none}.monitor-control-dock .device-legend,.monitor-control-dock .scene-hud,.monitor-control-dock .main-menu{position:relative;inset:auto}.monitor-control-dock .device-legend{max-width:min(56vw,720px)}@media(max-width:1180px){.monitor-control-dock{row-gap:6px}.monitor-control-dock .toolbar{order:1}.monitor-control-dock .scene-hud{order:2}.monitor-control-dock .main-menu{order:3}.monitor-control-dock .device-legend{order:4}.dashboard-mode .dashboard{padding-top:140px}.dashboard-mode .dashboard-rail-right{padding-top:0}}.cctv-modal{position:fixed;inset:0;z-index:9;display:grid;place-items:center;padding:24px;background:#0d0f0d7a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}.cctv-modal.open{opacity:1;visibility:visible}.cctv-dialog{width:min(760px,calc(100vw - 32px));padding:16px;color:#eef0eb;background:#151715f5;border:1px solid rgba(255,255,255,.12);border-radius:20px;box-shadow:0 28px 90px #00000061;transform:translateY(10px) scale(.98);transition:transform .22s ease}.cctv-modal.open .cctv-dialog{transform:translateY(0) scale(1)}.cctv-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 2px 14px}.cctv-dialog>header>div{display:flex;align-items:center;gap:10px}.cctv-dialog header strong,.cctv-dialog header small{display:block}.cctv-dialog header strong{font-size:14px;font-weight:700}.cctv-dialog header small{margin-top:2px;color:#eef0eb94;font-size:10px}#cctv-live-dot{width:9px;height:9px;border-radius:50%;background:#4de36a;box-shadow:0 0 0 4px #4de36a24,0 0 15px #4de36a8c}.cctv-modal.offline #cctv-live-dot{background:#8b8e87;box-shadow:0 0 0 4px #8b8e8724}.cctv-dialog header button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:10px;color:#d9dcd5;background:#ffffff14;cursor:pointer}.cctv-dialog header button:hover{background:#ffffff24}.cctv-dialog header svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.cctv-feed{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:14px;background:linear-gradient(180deg,#0812120f,#0812122e),url(/3d/assets/cctv-office-recording-w7y5sTkZ.webp) center / cover no-repeat}.cctv-feed:before{content:"";position:absolute;inset:0;z-index:2;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.025) 4px);pointer-events:none}.cctv-feed:after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle,transparent 58%,rgba(3,10,10,.32) 125%);box-shadow:inset 0 0 32px #040c0c33;pointer-events:none}.cctv-feed-grid{position:absolute;inset:0;opacity:.025;background-image:linear-gradient(rgba(197,225,199,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(197,225,199,.24) 1px,transparent 1px);background-size:54px 54px}.cctv-feed-mark{position:absolute;inset:0;display:grid;place-items:center;opacity:.055}.cctv-feed-mark svg{width:110px;fill:none;stroke:#cce3cd;stroke-width:2}.cctv-feed-time,.cctv-channel{position:absolute;z-index:3;top:14px;color:#ecf3ead1;font:600 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.cctv-feed-time{right:16px}.cctv-channel{left:16px}.cctv-offline-message{position:absolute;inset:0;z-index:4;display:grid;place-content:center;text-align:center;background:#131413b8;opacity:0;visibility:hidden}.cctv-offline-message strong{font-size:20px}.cctv-offline-message small{margin-top:5px;color:#eef0eb8a;font-size:10px}.cctv-modal.offline .cctv-offline-message{opacity:1;visibility:visible}.cctv-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 3px 1px;color:#eef0eba6;font-size:10px}.cctv-dialog footer em{color:#eef0eb5c;font-style:normal}.power-analysis-modal{position:fixed;inset:0;z-index:24;display:grid;place-items:center;padding:24px;background:#0d23387a;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}.power-analysis-modal.open{opacity:1;visibility:visible}.power-analysis-dialog{display:flex;flex-direction:column;width:min(1180px,calc(100vw - 32px));height:min(860px,calc(100vh - 32px));padding:18px;overflow:hidden;color:#17324c;background:#f8fcfffa;border:1px solid rgba(174,207,233,.86);border-radius:20px;box-shadow:0 34px 100px #08233b57;transform:translateY(14px) scale(.985);transition:transform .24s cubic-bezier(.22,1,.36,1)}.power-analysis-modal.open .power-analysis-dialog{transform:translateY(0) scale(1)}.power-analysis-dialog:focus-visible{outline:3px solid rgba(33,132,197,.3);outline-offset:3px}.power-analysis-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex:0 0 auto;padding:2px 2px 14px;border-bottom:1px solid rgba(179,205,227,.62)}.power-analysis-breadcrumb{display:flex;align-items:center;gap:6px;color:#66839d;font-size:11px;font-weight:750}.power-analysis-breadcrumb i{color:#91a8bc;font-style:normal}.power-analysis-breadcrumb strong{color:var(--semantic-info);font-weight:850}.power-analysis-header h2{margin:4px 0 0;color:#143a5c;font-size:22px;line-height:1.1;letter-spacing:-.035em}.power-analysis-header p{margin:5px 0 0;color:#67839d;font-size:12px;font-weight:650}.power-analysis-header-actions{display:flex;align-items:center;gap:8px}.power-analysis-header-actions button{min-height:36px;border:0;border-radius:9px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.power-export-button{padding:0 14px;color:#fff;background:var(--semantic-info)}.power-export-button:hover{background:var(--blue-700)}.power-analysis-close{display:grid;place-items:center;width:36px;padding:0;color:#3d6688;background:#deedf9d1}.power-analysis-close:hover{color:#153f62;background:#d6eaf8}.power-analysis-close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.power-analysis-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;flex:0 0 auto;margin:8px 0;padding:4px;border:1px solid rgba(177,207,231,.66);border-radius:11px;background:#eaf4fb}.power-analysis-tabs button{min-height:38px;padding:0 12px;border:0;border-radius:8px;color:#55738f;background:transparent;font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease}.power-analysis-tabs button.active{color:#fff;background:var(--blue-900);box-shadow:0 5px 13px #103b6138}.power-analysis-tabs button:focus-visible,.power-analysis-header-actions button:focus-visible,.power-unit-options button:focus-visible,.power-series-legend button:focus-visible{outline:3px solid rgba(33,132,197,.28);outline-offset:2px}.power-analysis-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex:0 0 auto;margin:0 0 8px}.power-analysis-kpi{--metric-color: #2184c5;position:relative;min-width:0;padding:10px 14px;overflow:hidden;border:1px solid rgba(181,207,228,.72);border-radius:12px;background:#ffffffeb;box-shadow:0 7px 20px #23527712}.power-analysis-kpi:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--metric-color);content:""}.power-analysis-kpi[data-tone=teal]{--metric-color: #2b9ca4}.power-analysis-kpi[data-tone=amber]{--metric-color: #d08a35}.power-analysis-kpi[data-tone=violet]{--metric-color: #7768b8}.power-analysis-kpi strong,.power-analysis-kpi b,.power-analysis-kpi small{display:block}.power-analysis-kpi strong{color:#587188;font-size:11px;font-weight:820}.power-analysis-kpi b{margin-top:5px;color:#173f61;font-size:20px;line-height:1.1;letter-spacing:-.025em;white-space:nowrap}.power-analysis-kpi small{margin-top:4px;overflow:hidden;color:#8093a5;font-size:10px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.power-analysis-kpi.pending b{color:#6f8294}.power-analysis-view{display:none;min-height:0;overflow:hidden}.power-analysis-view.active{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;flex:1 1 auto}.power-analysis-view:focus-visible{outline:2px solid rgba(33,132,197,.22);outline-offset:-2px}.power-analysis-filters{display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) minmax(260px,1.15fr);gap:8px 16px;padding:10px 14px;border:1px solid rgba(181,207,228,.66);border-radius:12px;background:#f2f8fdcc}.power-analysis-filter-heading{grid-column:1 / -1}.power-analysis-filter-heading strong,.power-analysis-filter-heading small{display:block}.power-analysis-filter-heading strong{color:#274b6b;font-size:14px;font-weight:800}.power-analysis-filter-heading small{margin-top:3px;color:#758da3;font-size:12px;font-weight:650}.power-analysis-filters label>span,.power-analysis-filters legend{display:block;margin:0 0 7px;color:#445e77;font-size:12px;font-weight:800}.power-analysis-filters input,.power-analysis-filters select{width:100%;height:40px;padding:0 12px;border:1px solid #c4d7e6;border-radius:8px;outline:0;color:#27455f;background:#fffffff0;font:700 14px/1 Inter,sans-serif}.power-analysis-filters input:focus,.power-analysis-filters select:focus{border-color:#368bc9;box-shadow:0 0 0 3px #368bc924}.power-analysis-filters fieldset{min-width:0;margin:0;padding:0;border:0}.power-unit-options{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.power-unit-options.three{grid-template-columns:repeat(3,1fr)}.power-unit-options button{height:40px;border:1px solid #c5d7e5;border-radius:8px;color:#4f6a82;background:#ffffffc7;font:800 14px/1 Inter,sans-serif;cursor:pointer}.power-unit-options button:hover{border-color:#68a8d7;color:#246d9f}.power-unit-options button.active{border-color:var(--blue-900);color:#fff;background:var(--blue-900);box-shadow:0 4px 11px #103b612e}.power-analysis-chart-card{display:flex;flex-direction:column;min-height:0;padding:11px 14px;overflow:hidden;border:1px solid rgba(181,207,228,.66);border-radius:12px;background:#ffffffe6}.power-analysis-chart-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex:0 0 auto;margin-bottom:6px}.power-analysis-chart-card>header strong,.power-analysis-chart-card>header small{display:block}.power-analysis-chart-card>header strong{color:#274760;font-size:14px;font-weight:820}.power-analysis-chart-card>header small{margin-top:3px;color:#7d91a3;font-size:12px;font-weight:650}.power-analysis-chart-card>header>span{padding:6px 9px;border-radius:7px;color:#2074aa;background:#e5f2fb;font-size:12px;font-weight:820;white-space:nowrap}.power-analysis-canvas{flex:1 1 auto;min-height:150px;padding:2px 2px 0}.power-analysis-canvas canvas{display:block;width:100%!important;height:100%!important}.power-series-legend{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:6px;margin-top:7px;padding-top:7px;border-top:1px solid #dce8f1}.power-series-legend button{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 9px;border:1px solid var(--series-color);border-radius:8px;color:#fff;background:var(--series-color);font:800 11px/1 Inter,sans-serif;cursor:pointer;transition:opacity .18s ease,transform .18s ease,background-color .18s ease}.power-series-legend button:hover{transform:translateY(-1px)}.power-series-legend button[aria-pressed=false]{color:#607890;background:transparent;opacity:.65}.power-series-legend button[data-series-all]{--series-color: #34516b}.power-analysis-status{min-height:14px;margin:4px 2px 0;flex:0 0 auto;color:#2875aa;font-size:11px;font-weight:750;text-align:right}.interaction-hint{position:fixed;bottom:108px;left:24px;z-index:3;display:flex;align-items:center;gap:11px;padding:10px 13px 10px 10px;color:#2b638f;background:#f3faffc2;border:1px solid rgba(178,210,235,.68);border-radius:14px;box-shadow:0 10px 30px #184c771f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:.82;pointer-events:none;transition:opacity .4s ease}.interaction-hint.used{opacity:.4}.hint-3d{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;color:#f8fbff;background:var(--blue-900);border-radius:10px;font-size:10px;font-weight:800;letter-spacing:-.02em}.hint-copy strong,.hint-copy small{display:block}.hint-copy strong{color:#1c4d77;font-size:10px;font-weight:720}.hint-copy small{display:flex;align-items:center;gap:6px;margin-top:3px;color:#6b8aa5;font-size:8px;white-space:nowrap}.hint-copy small i{width:2px;height:2px;flex:0 0 auto;border-radius:50%;background:#76a9cf}#loading{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:#e4f0f9;transition:opacity .6s ease,visibility .6s ease}#loading.hidden{opacity:0;visibility:hidden}.loader-mark{display:flex;align-items:end;gap:5px;height:36px}.loader-mark i{display:block;width:6px;border-radius:6px;background:var(--blue-700);animation:load 1s ease-in-out infinite alternate}.loader-mark i:nth-child(1){height:14px;animation-delay:-.2s}.loader-mark i:nth-child(2){height:28px}.loader-mark i:nth-child(3){height:20px;animation-delay:-.4s}@keyframes wheel{0%{transform:translateY(0);opacity:0}35%{opacity:1}to{transform:translateY(7px);opacity:0}}@keyframes load{to{transform:scaleY(.55);opacity:.45}}:root{--ui-title-size: var(--font-size-14);--ui-body-size: var(--font-size-14);--ui-meta-size: var(--font-size-12);--ui-value-size: var(--font-size-20)}.main-menu-badge{min-width:20px;height:20px;font-size:var(--ui-meta-size)}.scene-hud span,.scene-hud small{font-size:var(--ui-meta-size)}.scene-hud strong{font-size:var(--ui-body-size)}.dashboard-rail-header span{font-size:var(--ui-meta-size)}.dashboard-rail-header strong,.dashboard-card-header h2{font-size:var(--ui-title-size)}.dashboard-kicker{font-size:var(--ui-meta-size);letter-spacing:.09em}.dashboard-capture,.dashboard-tabs button,.energy-numbers span,.environment-grid span,.meeting-dashboard-stats span,.device-status-list span,.device-status-list strong{font-size:var(--ui-body-size)}.alert-summary-grid strong{font-size:var(--ui-value-size)}.alert-summary-grid span,.alert-summary-grid small,.dashboard-alert-list small,.dashboard-alert-list time{font-size:var(--ui-meta-size)}.dashboard-alert-list strong{font-size:var(--ui-body-size)}.energy-numbers strong{font-size:var(--ui-value-size)}.energy-numbers em,.environment-grid em,.meeting-dashboard-stats em{font-size:var(--ui-meta-size)}.environment-grid strong{font-size:var(--ui-value-size)}.meeting-dashboard-stats strong,.energy-analysis-launch strong{font-size:var(--ui-body-size)}.energy-analysis-launch small{font-size:var(--ui-meta-size)}.energy-analysis-launch>b{font-size:var(--ui-meta-size)}.dashboard-note{font-size:var(--ui-body-size)}.device-layer-trigger-copy>span{font-size:var(--ui-body-size)}.device-layer-trigger-copy>strong{font-size:var(--ui-meta-size)}.interaction-hint .hint-copy strong,.interaction-hint .hint-copy small,.alert-records-eyebrow{font-size:var(--ui-meta-size)}.alert-records-header p,.alert-records-count,.alert-records-toolbar label>span,.alert-floor-switch>span,.alert-records-meta,.alert-records-source,.alert-records-page-size-control,.alert-records-page-jump{font-size:var(--ui-meta-size)}.alert-records-export,.alert-records-toolbar input,.alert-records-toolbar select,.alert-records-page-size-control select,.alert-records-page-jump input,.alert-records-page-button,.alert-records-page-status,.alert-records-table{font-size:var(--ui-body-size)}.alert-records-table th{font-size:var(--ui-meta-size)}.alert-records-table td,.alert-record-summary strong{font-size:var(--ui-body-size)}.alert-record-summary small,.alert-record-location,.alert-record-duration,.alert-record-assignee{font-size:var(--ui-meta-size)}.alert-records-empty strong{font-size:var(--ui-title-size)}.alert-records-empty span{font-size:var(--ui-meta-size)}.device-management-breadcrumb,.device-management-summary span,.device-management-toolbar label>span,.device-management-quick-filters>span,.device-management-list-heading small,.device-management-summary small,.device-management-empty span,.device-management-pagination{font-size:var(--ui-meta-size)}.device-management-export,.device-management-close,.device-management-toolbar input,.device-management-toolbar select,.device-management-clear,.device-management-quick-filters button,.device-management-list-heading button,.device-management-table{font-size:var(--ui-body-size)}.device-management-table th{font-size:var(--ui-meta-size)}.device-management-table td strong{font-size:var(--ui-body-size)}.device-management-table td small,.dm-table-status,.dm-type-chip,.dm-alarm-count,.dm-no-alarm,.dm-row-actions button{font-size:var(--ui-meta-size)}.device-management-detail-empty strong{font-size:var(--ui-title-size)}.device-management-detail-empty small{font-size:var(--ui-meta-size)}.dm-detail-type,.dm-status-chip,.dm-detail-status-row>span:last-child{font-size:var(--ui-meta-size)}.dm-detail-header h2{font-size:var(--ui-title-size)}.dm-detail-header p{font-size:var(--ui-meta-size)}.dm-detail-actions button,.dm-detail-tabs button{font-size:var(--ui-body-size)}.dm-overview-grid dt,.dm-data-note span,.dm-data-note small,.dm-panel-heading small,.dm-panel-heading>label span,.dm-trend-summary,.dm-form-toggle small,.dm-form-actions span,.dm-maintenance-list article small,.dm-maintenance-empty{font-size:var(--ui-meta-size)}.dm-overview-grid dd,.dm-data-note strong,.dm-panel-heading strong,.dm-form-toggle strong,.dm-form-grid label>span,.dm-maintenance-form label>span{font-size:var(--ui-body-size)}.dm-panel-heading button,.dm-panel-heading>label,.dm-panel-heading>label select,.dm-points-table,.dm-points-table th,.dm-points-table td,.dm-points-table td small,.dm-points-table td button,.dm-point-quality,.dm-simulated-label,.dm-form-grid input,.dm-form-grid select,.dm-maintenance-form textarea,.dm-form-actions button,.dm-maintenance-list article strong,.dm-maintenance-list article p{font-size:var(--ui-meta-size)}.settings-page-heading strong,.dashboard-management-heading strong,.power-settings-heading strong,.spatial-adjustment-heading strong,.meeting-status-heading strong,.asset-control-heading strong,.device-card-title strong{font-size:var(--ui-title-size)}.settings-page-heading small,.dashboard-management-heading small,.power-settings-heading small,.spatial-adjustment-heading small,.meeting-status-heading small,.asset-control-heading small,.device-card-title small,.lighting-group-heading small,.drag-toggle small,.meeting-toggle small,.active-drag-device>small,.axis-note,.coordinate-help{font-size:var(--ui-meta-size)}.spatial-device-add>label,.coordinate-target>span,.device-creator>label:first-child,.meeting-room-select>span,.asset-select>span,.color-picker>span,.equipment-control-label,.device-instance-select>span,.device-power-toggle>span,.device-group-row strong,.lighting-group-heading strong{font-size:var(--ui-body-size)}.drag-toggle strong,.meeting-toggle strong{font-size:var(--ui-body-size)}.equipment-control-label small,.device-power-toggle em,.device-group-row small,.axis-grid label span,.device-detail-type{font-size:var(--ui-meta-size)}.device-preview-card span,.device-preview-card strong,.device-point-card>header small,.device-point-card dt,.device-detail-footer span{font-size:var(--ui-meta-size)}.power-analysis-breadcrumb,.power-analysis-kpi strong,.power-analysis-kpi small,.power-analysis-status,.power-series-legend button{font-size:var(--ui-meta-size)}.power-analysis-chart-card>header strong{font-size:var(--ui-title-size)}.power-analysis-chart-card>header small,.power-analysis-chart-card>header>span{font-size:var(--ui-meta-size)}.power-analysis-kpi b{font-size:var(--ui-value-size)}.alert-records-page{padding:86px 20px 20px;background:#e0eef9d1}.alert-records-shell{width:min(1540px,100%);max-height:calc(100vh - 106px);border-radius:20px;background:#f8fcfff5}.alert-records-header,.device-management-header{padding:20px 24px 16px}.alert-records-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:5px;color:#66839d;font-size:var(--ui-meta-size);font-weight:750}.alert-records-breadcrumb i{color:#91a8bc;font-style:normal}.alert-records-breadcrumb strong{color:var(--semantic-info);font-weight:850}.alert-records-eyebrow{display:block;font-size:var(--ui-meta-size);letter-spacing:.12em}.alert-records-header h1,.device-management-header h1{font-size:24px}.alert-records-header p,.device-management-header p{font-size:var(--ui-meta-size)}.alert-records-export,.device-management-export,.alert-records-close,.device-management-close{min-height:38px;border-radius:10px}.alert-records-count{min-height:38px;display:inline-flex;align-items:center;padding:0 12px;border-radius:10px}.alert-records-toolbar,.device-management-toolbar{padding-left:24px;padding-right:24px}.alert-records-toolbar input,.alert-records-toolbar select,.device-management-toolbar input,.device-management-toolbar select{height:38px;border-radius:9px}.alert-floor-switch{min-height:38px;border-radius:9px}.alert-floor-switch button{min-height:30px;border-radius:7px}.alert-quick-filter,.device-management-quick-filters button{min-height:30px;border-radius:8px}.alert-records-table-wrap,.device-management-list-panel,.device-management-detail-panel{border-radius:14px}.alert-records-page-size-control select,.alert-records-page-jump input,.alert-records-page-button,.device-management-pagination select,.device-management-pagination input,.device-management-pagination>button{min-height:30px;height:30px;border-radius:7px}@media(max-width:900px){.alert-records-page{padding:80px 12px 12px}.alert-records-shell{max-height:calc(100vh - 92px)}.alert-records-header{padding:17px 18px 14px}.alert-records-toolbar,.alert-quick-filters{padding-left:18px;padding-right:18px}.alert-records-table-wrap{margin-left:18px;margin-right:18px}}.dashboard-card.alert-card.is-alert-expanded{z-index:13}.dashboard-card.alert-card.is-alert-expanded .dashboard-card-body{max-height:max(220px,calc(100vh - 250px))}:root{--motion-fast: .16s;--motion-ui: .24s;--motion-card: .28s;--motion-scene: .65s;--ease-standard: cubic-bezier(.22, 1, .36, 1)}.main-menu,.scene-hud,.dashboard,.device-management-page,.alert-records-page,.device-detail-modal,.power-analysis-modal,.settings-modal-backdrop,.scene-alert-popup,.device-locate-banner{transition-duration:var(--motion-ui);transition-timing-function:var(--ease-standard)}.dashboard-card,.dashboard-card-body,.device-management-shell,.device-detail-dialog,.power-analysis-dialog{transition-duration:var(--motion-card);transition-timing-function:var(--ease-standard)}.scene-alert-popup.visible .scene-alert-icon,.device-locate-banner:not([hidden]) .device-locate-banner-icon{animation:attention-pulse 1.25s var(--ease-standard) 1}@keyframes attention-pulse{0%{transform:scale(1);box-shadow:0 0 #d94f5d4d}45%{transform:scale(1.08);box-shadow:0 0 0 8px #d94f5d1f}to{transform:scale(1);box-shadow:0 0 0 5px #d94f5d26}}@media(prefers-reduced-motion:reduce){.scene-alert-popup.visible .scene-alert-icon,.device-locate-banner:not([hidden]) .device-locate-banner-icon{animation:none}.main-menu,.scene-hud,.dashboard,.device-management-page,.alert-records-page,.device-detail-modal,.power-analysis-modal,.settings-modal-backdrop,.scene-alert-popup,.device-locate-banner,.dashboard-card,.dashboard-card-body,.device-management-shell,.device-detail-dialog,.power-analysis-dialog{transition-duration:1ms!important}}:root{--dashboard-card-surface: var(--surface-card-matte);--dashboard-rail-surface: rgba(232, 241, 248, .94);--dashboard-border: var(--border-technical);--shadow-card: 0 8px 22px rgba(16, 59, 97, .13);--shadow-floating: 0 16px 38px rgba(16, 59, 97, .2)}.monitor-control-dock{gap:4px;flex-wrap:nowrap;padding:6px;border:1px solid var(--border-technical);border-radius:18px;background:var(--surface-control);box-shadow:var(--shadow-floating);-webkit-backdrop-filter:none;backdrop-filter:none}.monitor-control-dock .toolbar,.monitor-control-dock .main-menu,.monitor-control-dock .scene-hud{border:0;border-radius:11px;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.monitor-control-dock .toolbar{gap:2px;padding:0}.monitor-control-dock .toolbar button{width:40px;height:40px}.monitor-control-dock .main-menu{gap:2px;padding:0}.monitor-control-dock .main-menu>button{min-height:40px;padding-inline:13px}.monitor-control-dock .scene-hud{min-height:40px}.monitor-control-dock .scene-hud-group{padding:6px 10px}.monitor-control-dock .scene-hud-divider{margin:5px 0}.monitor-control-dock .device-legend{max-width:none}.monitor-control-dock .device-layer-trigger{min-height:40px;border-color:var(--border-technical);box-shadow:none}.monitor-control-dock .divider{height:26px;margin-inline:2px}.dashboard{padding:94px 18px 18px}.dashboard-rail{flex-basis:clamp(286px,22vw,336px);min-width:280px;max-height:calc(100vh - 112px)}.dashboard-stack{gap:12px;padding-bottom:4px}.dashboard-card{border-radius:var(--radius-card);background:var(--dashboard-card-surface);box-shadow:var(--shadow-card)}.dashboard-card:hover{background:var(--surface-card-matte-hover);box-shadow:var(--shadow-card)}.dashboard-card.is-menu-focus,.dashboard-card.is-dragging{box-shadow:var(--shadow-floating)}.dashboard-card-header{padding:13px 14px 11px}.dashboard-card-body{padding:0 14px 14px}.dashboard-alert-list{gap:8px}.dashboard-alert-list li{padding:9px}.dashboard-card.is-floating{max-width:min(360px,calc(100vw - 16px))}.dashboard-card.alert-card.is-floating{max-height:calc(100vh - 122px)}.dashboard-card.alert-card.is-alert-expanded .dashboard-card-body{max-height:max(240px,calc(100vh - 242px))}.device-locate-banner{z-index:36}.scene-alert-leader{z-index:38}.scene-alert-popup{z-index:40}.focus-alert-badge{z-index:35}.device-tooltip{z-index:34}.device-tooltip header strong{font-size:14px}.device-tooltip header small{font-size:12px}.device-locate-banner strong{font-size:14px}.device-locate-banner div>span{font-size:11px}@media(max-width:1180px){.monitor-control-dock{max-width:calc(100vw - 20px);row-gap:6px}.dashboard-mode .dashboard{padding-top:148px}}@media(max-width:900px){.monitor-control-dock{flex-wrap:wrap;justify-content:center}.monitor-control-dock .toolbar{order:1}.monitor-control-dock .scene-hud{order:2}.monitor-control-dock .main-menu{order:3;flex:0 1 auto}.monitor-control-dock .device-legend{order:4;flex-basis:100%}.monitor-control-dock .device-legend .device-layer-trigger{width:100%;justify-content:center}.dashboard{align-items:stretch;flex-direction:column;justify-content:flex-start;gap:10px;padding:146px 10px 14px;overflow-y:auto}.dashboard-rail,.dashboard-rail.dashboard-rail-left,.dashboard-rail.dashboard-rail-right{flex:0 0 auto;width:100%;min-width:0;max-height:none;overflow:visible}.dashboard-stack{overflow:visible}.dashboard-card.is-floating{position:relative!important;inset:auto!important;width:100%!important;max-width:none}.dashboard.is-layout-editing .dashboard-card.is-floating{position:fixed!important;width:min(390px,calc(100vw - 16px))!important;max-width:calc(100vw - 16px)}.dashboard-card.alert-card.is-floating{max-height:none}.dashboard-card.alert-card.is-alert-expanded .dashboard-card-body{max-height:55vh}.dashboard-card.is-menu-focus{box-shadow:0 0 0 3px #5dace542,var(--shadow-card)}}@media(max-width:560px){.monitor-control-dock{gap:3px;padding:5px}.monitor-control-dock .toolbar button{width:36px;height:36px}.monitor-control-dock .main-menu>button{min-height:36px;padding-inline:8px;font-size:14px}.monitor-control-dock .scene-hud{min-height:36px}.monitor-control-dock .scene-hud-group{padding:4px 7px}.monitor-control-dock .scene-hud span{font-size:11px}.monitor-control-dock .scene-hud strong{font-size:14px}.dashboard{padding-top:132px}}.dashboard-card{border-radius:var(--radius-card);background:var(--surface-card-matte);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-card);transition:border-color var(--motion-ui) var(--ease-standard),background-color var(--motion-ui) var(--ease-standard),box-shadow var(--motion-ui) var(--ease-standard),transform var(--motion-ui) var(--ease-standard)}.dashboard-card:hover{background:var(--surface-card-matte-hover);border-color:var(--border-info);box-shadow:var(--shadow-card)}.dashboard-card.is-menu-focus,.dashboard-card.is-dragging,.dashboard-card.is-floating:focus-within{box-shadow:var(--shadow-floating)}.dashboard-card-header h2,.dashboard-rail-header strong{margin-top:0;font-weight:var(--font-weight-bold);letter-spacing:normal;text-shadow:none}.dashboard-rail-header span,.dashboard-kicker,.dashboard-capture,.dashboard-card-body,.dashboard-card-header,.dashboard-card-header h2,.dashboard-note{text-shadow:none}.dashboard-kicker{display:none}.dashboard-rail-toggle,.dashboard-collapse,.dashboard-tabs,.show-all-alerts,.energy-analysis-launch{border-radius:var(--radius-control)}.building-view-controls{border-color:var(--border-technical);background:var(--surface-control);-webkit-backdrop-filter:none;backdrop-filter:none}.dashboard-card,.alert-records-shell,.device-management-shell,.power-analysis-dialog{background:#f0f6fbe8;border-color:#91aec6ad;box-shadow:var(--shadow-card)}.dashboard-card,.alert-records-shell,.device-management-shell,.power-analysis-dialog,.power-analysis-kpi,.device-management-summary article{-webkit-backdrop-filter:blur(12px) saturate(1.04);backdrop-filter:blur(12px) saturate(1.04)}.dashboard-rail-left .dashboard-stack,.dashboard-rail-right .dashboard-stack{gap:12px}.alert-records-toolbar{grid-template-columns:minmax(230px,1.45fr) repeat(2,minmax(130px,.72fr)) repeat(2,minmax(132px,.78fr)) minmax(220px,1.1fr);align-items:end}.alert-records-date-field input{min-width:0;color-scheme:light}.alert-floor-switch,.alert-floor-switch button{min-width:0}.alert-records-table-wrap{overflow:auto;overscroll-behavior:contain}.device-management-page:not(.has-selected-device) .device-management-analytics{display:none}.device-management-page.has-selected-device .device-management-analytics{order:2;margin-top:2px}.device-management-page.has-selected-device .device-management-workspace{order:1}.device-management-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.device-management-summary article[data-tone=info]{display:none}.device-management-shell{background:#f0f6fbed}.device-management-header,.alert-records-header,.power-analysis-header{background:#f4f9fdf0}.device-management-shell,.alert-records-shell,.power-analysis-dialog{isolation:isolate}.device-management-table-wrap,.device-management-detail-panel,.alert-records-table-wrap,.power-analysis-content{overscroll-behavior:contain;scrollbar-width:thin}@media(max-width:1180px){.alert-records-toolbar{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(128px,.8fr)) repeat(2,minmax(128px,.8fr)) minmax(205px,1fr)}}@media(max-width:900px){.alert-records-toolbar{grid-template-columns:1fr 1fr}.alert-records-search,.alert-floor-switch{grid-column:1 / -1}.device-management-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{--motion-quick: .16s;--motion-standard: .2s;--motion-emphasis: .26s;--motion-ease: cubic-bezier(.22, 1, .36, 1)}@keyframes motion-surface-enter{0%{opacity:0;transform:translateY(6px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes motion-focus-ring{0%{box-shadow:0 0 #4c9ad657,var(--shadow-card)}55%{box-shadow:0 0 0 5px #4c9ad629,var(--shadow-card)}to{box-shadow:0 0 0 3px #4c9ad638,var(--shadow-card)}}@keyframes motion-status-pop{0%{opacity:.56;transform:translateY(3px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.alert-records-page.open .alert-records-shell,.device-management-page.open .device-management-shell,.power-analysis-modal.open .power-analysis-dialog,.device-detail-modal.open .device-detail-dialog{animation:motion-surface-enter var(--motion-emphasis) var(--motion-ease) both}.dashboard-card.is-menu-focus{animation:motion-focus-ring .52s var(--motion-ease) both}.dashboard-card.is-data-updated .energy-numbers strong,.dashboard-card.is-data-updated .meeting-dashboard-stats strong{animation:motion-status-pop .34s var(--motion-ease) both}.dashboard-alert-list li,.alert-records-table tbody tr,.device-management-quick-filters button,.dm-row-actions button,.scene-hud button,.scene-alert-popup button{transition-duration:var(--motion-quick);transition-timing-function:var(--motion-ease)}.alert-records-table tbody tr:hover{box-shadow:inset 3px 0 #4c9ad694}.device-management-quick-filters button:hover,.dm-row-actions button:hover{transform:translateY(-1px)}.device-management-table tbody tr{transition:background-color var(--motion-quick) var(--motion-ease),box-shadow var(--motion-quick) var(--motion-ease),transform var(--motion-quick) var(--motion-ease)}.device-management-table tbody tr.selected{box-shadow:inset 3px 0 0 var(--blue-700)}.device-tooltip,.room-tooltip,.streetlight-tooltip{transition-duration:var(--motion-quick);transition-timing-function:var(--motion-ease)}@media(prefers-reduced-motion:reduce){.alert-records-page.open .alert-records-shell,.device-management-page.open .device-management-shell,.power-analysis-modal.open .power-analysis-dialog,.device-detail-modal.open .device-detail-dialog,.dashboard-card.is-menu-focus,.dashboard-card.is-data-updated .energy-numbers strong,.dashboard-card.is-data-updated .meeting-dashboard-stats strong{animation:none}}.dashboard-rail,.dashboard-rail.dashboard-rail-left,.dashboard-rail.dashboard-rail-right{flex:0 0 var(--dashboard-card-width);width:var(--dashboard-card-width);min-width:var(--dashboard-card-width);max-width:var(--dashboard-card-width)}.dashboard-rail-left,.dashboard-rail-right,.dashboard-rail .dashboard-stack,.dashboard-rail .dashboard-card{box-sizing:border-box;width:100%;max-width:100%}.dashboard-card.is-floating{width:var(--dashboard-card-width);max-width:var(--dashboard-card-width)}.alert-records-shell,.device-management-shell{width:min(var(--operator-shell-max-width),100%)}.power-analysis-dialog{width:min(1320px,calc(100vw - 32px))}.device-management-summary,.power-analysis-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.device-management-summary article,.power-analysis-kpi,.device-management-list-panel,.device-management-detail-panel,.alert-records-table-wrap,.power-analysis-chart-card{min-width:0}@media(max-width:900px){.dashboard-rail,.dashboard-rail.dashboard-rail-left,.dashboard-rail.dashboard-rail-right{flex:0 0 auto;width:100%;min-width:0;max-width:none}.dashboard-card.is-floating,.dashboard.is-layout-editing .dashboard-card.is-floating{width:100%!important;max-width:none}.power-analysis-dialog{width:calc(100vw - 24px)}}
