*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-family-body);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.fixed{position:fixed}.table{display:table}.grid{display:grid}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{font-family:var(--font-family-body);color:var(--color-text-primary);background:var(--color-environment-root);font-synthesis:none}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit}:focus-visible{outline:2px solid var(--color-brand-highlight);outline-offset:2px}.viewport-shell{position:relative;width:100vw;height:100vh;overflow:hidden;background:var(--glass-viewport-background)}.dashboard-canvas{position:absolute;transform-origin:top left;overflow:hidden;background:var(--glass-canvas-background);background-size:48px 48px,48px 48px,auto,auto}.dashboard-canvas:before,.dashboard-canvas:after{content:"";position:absolute;pointer-events:none;z-index:0}.dashboard-canvas:before{top:0;right:0;bottom:0;left:0;background:var(--glass-canvas-overlay)}.dashboard-canvas:after{left:0;right:0;top:112px;height:1px;background:var(--glass-canvas-rule);opacity:.42}.dashboard-grid{position:relative;z-index:1;height:100%;padding:28px;display:grid;grid-template-rows:112px 142px 736px 338px;gap:18px}.dashboard-header{display:grid;grid-template-columns:540px 1fr 670px;align-items:center}.brand-block{display:flex;align-items:center;gap:22px}.brand-wordmark{min-width:320px;display:flex;flex-direction:column;gap:4px;padding-left:17px;border-left:3px solid var(--color-brand-primary)}.brand-wordmark small{color:var(--color-text-kicker);white-space:nowrap}.brand-block>div:last-child{display:flex;flex-direction:column;gap:6px}.brand-block strong{font-size:var(--font-size-data-large);letter-spacing:var(--letter-spacing-brand)}.brand-block span{font-size:var(--font-size-body-small);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-title-subtle)}.title-block{text-align:center;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:0 32px 10px}.title-block:before,.title-block:after{content:"";position:absolute;top:10%;bottom:10%;width:1px;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--color-brand-highlight),transparent 40%) 35%,var(--color-brand-highlight) 50%,color-mix(in srgb,var(--color-brand-highlight),transparent 40%) 65%,transparent 100%)}.title-block:before{left:0}.title-block:after{right:0}.title-kicker{display:flex;align-items:center;gap:12px;color:var(--color-brand-highlight);font-size:var(--font-size-eyebrow);letter-spacing:.22em;margin-bottom:6px;opacity:.72;white-space:nowrap}.title-kicker:before,.title-kicker:after{content:"";display:block;width:36px;height:1px;background:linear-gradient(90deg,transparent,var(--color-brand-highlight))}.title-kicker:after{transform:scaleX(-1)}.title-block h1{margin:0;font-size:var(--font-size-page-title);line-height:var(--line-height-tight);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-shadow:var(--shadow-title)}.title-block h1 em{color:var(--color-brand-highlight);font-style:normal;text-shadow:var(--shadow-title-ai-glow)}.title-rule{width:700px;display:flex;align-items:center;gap:8px;margin:10px auto 0}.title-rule i{flex:1;height:2px;background:linear-gradient(90deg,transparent,var(--color-brand-highlight));opacity:.45;border-radius:var(--radius-tag)}.title-rule i:last-child{transform:scaleX(-1)}.title-rule b{position:relative;width:120px;height:2px;background:var(--color-brand-highlight);border-radius:var(--radius-tag);box-shadow:var(--shadow-title-rule-glow)}.title-rule b:before,.title-rule b:after{content:"";position:absolute;top:50%;transform:translateY(-50%) rotate(45deg);width:10px;height:10px;border-radius:var(--radius-status);background:var(--color-brand-highlight);box-shadow:var(--shadow-title-rule-diamond)}.title-rule b:before{left:-6px}.title-rule b:after{right:-6px}.header-status{display:flex;align-items:center;justify-content:flex-end;gap:18px}.clock{text-align:right;padding-right:18px;border-right:1px solid var(--color-border-default)}.clock strong{display:block;font-family:var(--font-family-numeric);font-size:var(--font-size-clock);letter-spacing:var(--letter-spacing-clock);line-height:var(--line-height-none)}.clock span{display:block;margin-top:8px;color:var(--color-text-secondary);font-size:var(--font-size-body-small)}.status-stack{display:grid;gap:7px;color:var(--color-text-header-status);font-size:var(--font-size-body-small)}.status-stack span{display:flex;align-items:center;gap:7px;white-space:nowrap}.status-stack svg{color:var(--color-text-header-icon)}.rotate-toggle{height:40px;padding:0 14px;display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--color-text-control);background:var(--glass-control-background);border:1px solid var(--color-border-default);border-radius:var(--radius-button);cursor:pointer}.rotate-toggle.active{color:var(--color-text-control-active);border-color:var(--color-overlay-cyan45);background:var(--color-overlay-brand15)}.rotate-toggle.active svg{animation:spin var(--motion-duration-rotate) var(--motion-easing-linear) infinite}.online-badge{height:40px;padding:0 14px;display:flex;align-items:center;gap:7px;color:var(--color-text-online);background:var(--color-overlay-green09);border:1px solid var(--color-overlay-green25);border-radius:var(--radius-button);white-space:nowrap}.online-badge svg{color:var(--color-status-normal)}.top-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.metric-card{--tone:var(--color-brand-highlight);position:relative;display:flex;align-items:center;gap:18px;padding:20px 22px;overflow:hidden;background:var(--glass-metric-background);border:1px solid var(--color-border-default);border-radius:var(--radius-metric);box-shadow:var(--shadow-metric)}.metric-card:before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:3px;background:var(--tone);box-shadow:var(--shadow-tone)}.metric-card:after{content:"";position:absolute;width:140px;height:140px;right:-55px;top:-76px;border:1px solid color-mix(in srgb,var(--tone),transparent 78%);border-radius:var(--radius-circle)}.tone-blue{--tone:var(--color-brand-primary)}.tone-cyan{--tone:var(--color-brand-highlight)}.tone-green{--tone:var(--color-status-normal)}.tone-orange{--tone:var(--color-status-abnormal)}.tone-red{--tone:var(--color-status-critical)}.metric-icon{width:56px;height:56px;flex:0 0 auto;display:grid;place-items:center;color:var(--tone);border:1px solid color-mix(in srgb,var(--tone),transparent 66%);background:color-mix(in srgb,var(--tone),transparent 90%);border-radius:var(--radius-circle)}.metric-copy{flex:1;min-width:0}.metric-copy>span{color:var(--color-text-secondary);font-size:var(--font-size-metric-label);letter-spacing:var(--letter-spacing-label)}.metric-copy>div{height:48px;display:flex;align-items:baseline;gap:8px}.metric-copy strong{font-family:var(--font-family-numeric);font-size:var(--font-size-metric);line-height:var(--line-height-none);letter-spacing:var(--letter-spacing-metric);color:var(--color-text-metric)}.tone-red .metric-copy strong,.tone-orange .metric-copy strong{color:var(--tone)}.metric-copy em{color:var(--color-text-tertiary);font-size:var(--font-size-unit);font-style:normal}.metric-copy small{color:color-mix(in srgb,var(--tone),var(--color-text-secondary) 55%);font-size:var(--font-size-body-small)}.main-grid{display:grid;grid-template-columns:490px 1fr 520px;gap:18px;min-height:0}.left-column,.right-column{display:grid;gap:18px;min-height:0}.left-column{grid-template-rows:250px 294px 160px}.right-column{grid-template-rows:330px 244px 130px}.panel{position:relative;isolation:isolate;min-width:0;overflow:hidden;background:var(--glass-panel-background);-webkit-backdrop-filter:var(--glass-panel-filter);backdrop-filter:var(--glass-panel-filter);border:1px solid var(--glass-panel-border);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);transition:background var(--motion-duration-hover) var(--motion-easing-standard),border-color var(--motion-duration-hover) var(--motion-easing-standard),box-shadow var(--motion-duration-hover) var(--motion-easing-standard)}.panel:before,.panel:after{content:"";position:absolute;pointer-events:none}.panel:before{z-index:3;top:0;right:0;bottom:0;left:0;border:1px solid var(--glass-panel-inset-border);border-radius:inherit}.panel:after{z-index:3;left:18px;right:18px;top:0;height:1px;background:var(--glass-panel-highlight)}.panel-header{position:relative;z-index:2;height:54px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--color-border-panel-divider);background:var(--glass-panel-header-background)}.panel-heading{min-width:0;display:flex;align-items:baseline;gap:12px}.panel-heading h2{margin:0;color:var(--color-text-primary);font-size:var(--font-size-panel-title);font-weight:var(--font-weight-semibold);line-height:var(--line-height-none);letter-spacing:var(--letter-spacing-label);white-space:nowrap}.panel-eyebrow{flex:0 0 auto;color:var(--color-text-panel-eyebrow);font-size:var(--font-size-eyebrow);letter-spacing:var(--letter-spacing-eyebrow);white-space:nowrap}.panel-action{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end}.panel-content{position:relative;z-index:1;min-height:0;height:calc(100% - 54px);padding:0}.panel-interactive{cursor:pointer}.panel-interactive:hover{background:var(--glass-panel-hover-background);border-color:var(--glass-panel-hover-border);box-shadow:var(--shadow-panel-hover)}.clickable{cursor:pointer}.text-action{display:flex;align-items:center;border:0;color:var(--color-text-action);background:none;cursor:pointer;font-size:var(--font-size-body-small)}.health-layout{height:137px;display:grid;grid-template-columns:52% 48%}.health-chart-wrap{position:relative}.base-chart{width:100%;height:100%}.health-score{position:absolute;left:38%;top:52%;transform:translate(-50%,-50%);text-align:center}.health-score strong{display:block;font:var(--font-weight-bold) var(--font-size-health-score)/var(--line-height-none) var(--font-family-numeric)}.health-score span{font-size:var(--font-size-label);color:var(--color-text-caption)}.health-legend{display:grid;align-content:center;gap:10px;padding-right:18px}.health-legend div{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:9px;font-size:var(--font-size-body-small)}.health-legend i{width:7px;height:7px;border-radius:var(--radius-circle)}.health-legend span{color:var(--color-text-legend)}.health-legend strong{font:var(--font-weight-semibold) var(--font-size-unit) var(--font-family-numeric-compact)}.health-foot{height:43px;margin:0 16px;padding:0 13px;display:flex;align-items:center;gap:9px;background:var(--color-overlay-green07);border-left:2px solid var(--color-status-normal);font-size:var(--font-size-body-small);color:var(--color-text-secondary)}.health-foot svg{color:var(--color-status-normal)}.health-foot strong{margin-left:auto;color:var(--color-status-normal-soft)}.ai-chip,.trend-up,.live-label,.ai-online{display:flex;align-items:center;gap:6px;font-size:var(--font-size-label);color:var(--color-text-ai-label)}.ai-chip{padding:5px 9px;background:var(--color-overlay-cyan08);border:1px solid var(--color-overlay-cyan16);border-radius:var(--radius-tag);cursor:pointer}.live-label{color:var(--color-status-live);letter-spacing:var(--letter-spacing-title)}.live-label i,.ai-online i{width:7px;height:7px;border-radius:var(--radius-circle);background:currentColor;box-shadow:var(--shadow-status-dot);animation:pulse var(--motion-duration-pulse) var(--motion-easing-in-out) infinite}.ai-summary{height:65px;display:grid;grid-template-columns:repeat(3,1fr);margin:10px 16px 0;background:var(--glass-ai-summary-background);border:1px solid var(--color-border-subtle)}.ai-summary div{display:flex;flex-direction:column;justify-content:center;padding-left:13px;border-right:1px solid var(--color-border-subtle)}.ai-summary div:last-child{border:0}.ai-summary span{color:var(--color-text-ai-summary);font-size:var(--font-size-label)}.ai-summary strong{font:var(--font-weight-bold) var(--font-size-metric-small)/var(--line-height-ai-metric) var(--font-family-numeric-compact);color:var(--color-ai-value)}.ai-summary strong.warning{color:var(--color-status-warning)}.ai-summary em{font:var(--font-weight-regular) var(--font-size-label) inherit;margin-left:4px;color:var(--color-text-ai-unit)}.risk-body{height:171px;display:grid;grid-template-columns:51% 49%;padding:9px 14px 10px;gap:10px}.subheading{height:24px;display:flex;align-items:center;gap:6px;color:var(--color-text-subheading);font-size:var(--font-size-label)}.subheading svg:first-child{color:var(--color-brand-highlight)}.subheading svg:last-child{margin-left:auto}.risk-row{height:24px;display:grid;grid-template-columns:18px 1fr 1fr 30px;align-items:center;gap:5px;font-size:var(--font-size-compact)}.risk-row>span{display:grid;place-items:center;width:15px;height:15px;color:var(--color-text-ranking);background:var(--color-structure-ranking-fill);border-radius:var(--radius-status)}.risk-row b{font-weight:var(--font-weight-regular);color:var(--color-text-risk-label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.risk-row i{height:4px;background:var(--color-structure-ranking-track);border-radius:var(--radius-tag);overflow:hidden}.risk-row u{display:block;height:100%;background:linear-gradient(90deg,var(--color-brand-primary),var(--color-status-warning));border-radius:var(--radius-tag)}.risk-row em{font-style:normal;color:var(--color-text-risk-value);text-align:right}.risk-trend{display:flex;flex-direction:column}.risk-trend>span{height:24px;color:var(--color-text-overview-legend);font-size:var(--font-size-compact)}.risk-trend .base-chart{flex:1;min-height:0}.lifecycle-bar{height:9px;margin:10px 15px 0;display:flex;gap:2px;border-radius:var(--radius-button);overflow:hidden}.lifecycle-bar i:nth-child(1){background:var(--color-brand-highlight)}.lifecycle-bar i:nth-child(2){background:var(--color-brand-primary)}.lifecycle-bar i:nth-child(3){background:var(--color-status-warning)}.lifecycle-bar i:nth-child(4){background:var(--color-status-abnormal)}.lifecycle-labels{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:7px 15px 0}.lifecycle-labels div{display:flex;flex-direction:column}.lifecycle-labels span{color:var(--color-text-lifecycle);font-size:var(--font-size-eyebrow)}.lifecycle-labels strong{font-size:var(--font-size-body)}.age-alert{height:31px;margin:7px 15px 0;display:flex;align-items:center;gap:7px;padding:0 10px;color:var(--color-text-age-alert);background:var(--color-overlay-yellow07);font-size:var(--font-size-label)}.age-alert strong{margin-left:auto;color:var(--color-status-warning);font-size:var(--font-size-supporting)}.building-overview{position:relative;min-width:0;overflow:hidden;border:1px solid var(--color-border-overview);border-radius:var(--radius-feature);background:var(--glass-building-overview-background);box-shadow:var(--shadow-overview-inset)}.building-overview:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--glass-building-overview-grid);pointer-events:none}.overview-head{position:absolute;left:24px;right:24px;top:18px;z-index:30;display:flex;align-items:start;justify-content:space-between}.overview-head>div:first-child span{display:flex;align-items:center;gap:8px;color:var(--color-text-overview-kicker);font-size:var(--font-size-label);letter-spacing:var(--letter-spacing-eyebrow)}.overview-head h2{margin:6px 0 0;font-size:var(--font-size-overview-title);letter-spacing:var(--letter-spacing-brand)}.overview-legend{display:flex;gap:18px;margin-top:10px;color:var(--color-text-overview-legend);font-size:var(--font-size-label)}.overview-legend span{display:flex;align-items:center;gap:6px}.overview-legend i{width:7px;height:7px;border-radius:var(--radius-circle)}.overview-legend .normal{background:var(--color-status-normal)}.overview-legend .warning{background:var(--color-status-warning)}.overview-legend .fault{background:var(--color-status-abnormal)}.overview-legend .danger{background:var(--color-status-critical);box-shadow:var(--shadow-critical-dot)}.building-selector-wrap{position:absolute;z-index:32;left:50%;top:20px;transform:translate(-50%);width:-moz-max-content;width:max-content;max-width:960px;display:flex;align-items:center;gap:6px}.building-selector{min-width:0;display:flex;overflow:hidden;background:var(--glass-building-selector);border:1px solid var(--color-border-selector);border-radius:var(--radius-control);padding:3px}.building-selector button{flex:0 0 auto;height:38px;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--color-text-selector);background:transparent;border:0;border-right:1px solid var(--color-border-subtle);cursor:pointer;white-space:nowrap;transition:color var(--motion-duration-hover) var(--motion-easing-standard),background var(--motion-duration-hover) var(--motion-easing-standard)}.building-selector button:last-child{border:0}.building-selector button:hover:not(.active){color:var(--color-text-selector-active);background:color-mix(in srgb,var(--color-brand-primary),transparent 88%)}.building-selector button.active{color:var(--color-text-selector-active);background:var(--glass-building-selector-active);box-shadow:var(--shadow-selected-underline)}.building-selector-more{position:relative;flex:0 0 156px;height:46px;display:flex;align-items:center;gap:0;padding:0 10px 0 38px;color:var(--color-text-selector);background:var(--glass-building-selector);border:1px solid var(--color-border-selector);border-radius:var(--radius-control);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color var(--motion-duration-hover) var(--motion-easing-standard),border-color var(--motion-duration-hover) var(--motion-easing-standard),background var(--motion-duration-hover) var(--motion-easing-standard)}.building-selector-more>svg:first-child{position:absolute;left:12px;pointer-events:none}.building-selector-more-label{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:var(--role-button-font-family);font-size:var(--role-button-font-size)}.building-selector-more-chevron{flex:0 0 auto;margin-left:4px;transition:transform var(--motion-duration-hover) var(--motion-easing-standard)}.building-selector-more.open .building-selector-more-chevron{transform:rotate(180deg)}.building-selector-more:hover,.building-selector-more.open{color:var(--color-text-selector-active);border-color:var(--color-overlay-cyan45)}.building-selector-more.active{color:var(--color-text-selector-active);background:var(--glass-building-selector-active);box-shadow:var(--shadow-selected-underline)}.building-selector-more-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:100%;padding:4px;list-style:none;margin:0;background:var(--color-surface-panel);border:1px solid var(--color-border-selector);border-radius:var(--radius-control);box-shadow:0 8px 24px #0000008c;z-index:100}.building-selector-more-dropdown li{display:flex;align-items:center;gap:7px;padding:0 12px;height:36px;color:var(--color-text-selector);font-family:var(--role-button-font-family);font-size:var(--role-button-font-size);border-radius:calc(var(--radius-control) - 2px);cursor:pointer;white-space:nowrap;transition:color var(--motion-duration-hover) var(--motion-easing-standard),background var(--motion-duration-hover) var(--motion-easing-standard)}.building-selector-more-dropdown li:hover{color:var(--color-text-selector-active);background:color-mix(in srgb,var(--color-brand-primary),transparent 88%)}.building-selector-more-dropdown li.active{color:var(--color-text-selector-active);background:var(--glass-building-selector-active)}.campus-stage{position:absolute;top:88px;right:0;bottom:0;left:0;overflow:hidden}.digital-twin-stage{--twin-incident-rail:440px;background:var(--glass-twin-stage-background);box-shadow:var(--shadow-twin-stage)}.digital-twin-stage:before{content:"";position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;background:var(--glass-twin-atmosphere);pointer-events:none}.campus-grid{position:absolute;z-index:1;top:8px;right:0;bottom:0;left:0;width:100%;height:calc(100% - 8px)}.twin-ground-plane{opacity:.92}.twin-ground-grid{opacity:.78}.signal-trace{animation:twinSignal var(--motion-duration-signal) var(--motion-easing-linear) infinite}.trace-b{animation-direction:reverse;opacity:.55}.signal-node{filter:var(--shadow-twin-equipment);animation:twinNode var(--motion-duration-equipment) var(--motion-easing-in-out) infinite}.ai-scan-overlay{position:absolute;z-index:9;left:3%;right:3%;top:-86px;height:78px;pointer-events:none;background:var(--glass-twin-ai-overlay);border-bottom:1px solid var(--color-overlay-cyan32);filter:var(--shadow-twin-scan);animation:twinScan var(--motion-duration-scan) var(--motion-easing-in-out) infinite}.ai-scan-overlay i{position:absolute;left:14%;right:14%;bottom:-1px;height:1px;background:var(--glass-twin-scan)}.ai-scan-overlay span{position:absolute;right:12%;bottom:7px;color:var(--color-text-twin-ai-label);font-size:var(--font-size-micro);letter-spacing:var(--letter-spacing-eyebrow)}.twin-command-rail{position:absolute;z-index:10;left:22px;top:14px;height:68px;display:flex;align-items:stretch;background:var(--glass-twin-command);border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-twin-ai)}.campus-label{position:relative;min-width:240px;padding:8px 16px;display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 12px;color:var(--color-text-campus);font-size:var(--font-size-body)}.campus-label>span{display:flex;align-items:center;gap:6px}.campus-label strong{font:var(--font-weight-semibold) var(--font-size-data-small) var(--font-family-numeric-compact);color:var(--color-text-campus-strong)}.campus-label em{grid-column:1/3;font-style:normal;color:var(--color-text-campus-meta);font-size:var(--font-size-label)}.twin-sync-state{width:190px;padding:8px 14px;display:grid;grid-template-columns:18px 1fr;align-items:center;border-left:1px solid var(--color-border-subtle);color:var(--color-text-twin-label)}.twin-sync-state svg{grid-row:1/3;color:var(--color-ai-cyan)}.twin-sync-state span{font-size:var(--font-size-label)}.twin-sync-state strong{color:var(--color-text-twin-value);font-family:var(--font-family-numeric-compact);font-size:var(--font-size-body-small)}.ai-insight-card{position:absolute;z-index:11;left:22px;top:96px;width:340px;padding:0;color:var(--color-text-twin-label);background:var(--glass-twin-ai-card);border:1px solid var(--color-overlay-cyan16);border-left:2px solid var(--color-ai-cyan);box-shadow:var(--shadow-twin-ai);pointer-events:auto;overflow:hidden}.ai-insight-head{width:100%;height:46px;padding:0 14px;display:flex;align-items:center;gap:7px;color:var(--color-text-twin-ai-label);font-size:var(--font-size-body);letter-spacing:var(--letter-spacing-eyebrow);background:none;border:0;cursor:pointer;text-align:left;transition:background var(--motion-duration-hover) var(--motion-easing-standard)}.ai-insight-head:hover{background:var(--color-overlay-cyan04)}.ai-insight-head svg:first-child{color:var(--color-ai-lime)}.ai-insight-head i{margin-left:auto;padding:3px 7px;color:var(--color-ai-lime);background:var(--color-overlay-cyan06);font-style:normal;font-size:var(--font-size-label)}.ai-insight-chevron{flex:0 0 auto;margin-left:6px;color:var(--color-text-twin-meta);transition:transform var(--motion-duration-hover) var(--motion-easing-standard)}.ai-insight-card.expanded .ai-insight-chevron{transform:rotate(180deg)}.ai-insight-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--motion-duration-reveal) var(--motion-easing-standard)}.ai-insight-body>*{overflow:hidden}.ai-insight-card.expanded .ai-insight-body{grid-template-rows:1fr}.ai-insight-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-border-subtle);padding:10px 0 6px}.ai-insight-metrics div{padding:0 14px;border-right:1px solid var(--color-border-subtle)}.ai-insight-metrics div:last-child{border:0}.ai-insight-metrics span{display:block;color:var(--color-text-twin-meta);font-size:var(--font-size-body-small)}.ai-insight-metrics strong{color:var(--color-ai-value);font:var(--font-weight-semibold) var(--font-size-data-small) var(--font-family-numeric-compact)}.ai-insight-metrics em{margin-left:3px;color:var(--color-text-ai-unit);font-size:var(--font-size-label);font-style:normal}.ai-insight-card p{margin:0;padding:8px 14px 12px;display:flex;align-items:center;gap:6px;color:var(--color-ai-insight);font-size:var(--font-size-label)}.ai-insight-card p i{flex:0 0 5px;width:5px;height:5px;border-radius:var(--radius-circle);background:var(--color-ai-lime);box-shadow:var(--shadow-status-dot);animation:twinNode var(--motion-duration-equipment) var(--motion-easing-in-out) infinite}.buildings-row{position:absolute;z-index:6;left:30px;right:var(--twin-incident-rail);bottom:16px;height:540px;display:flex;align-items:flex-end;justify-content:space-around;padding:0 14px 0 5px;perspective:1400px;transition:all var(--motion-duration-state) var(--motion-easing-standard)}.buildings-count-1{justify-content:center;padding:0 80px}.buildings-count-1 .building{width:280px}.buildings-count-2{padding:0 60px}.buildings-count-2 .building{width:240px}.building-nav{position:absolute;bottom:200px;z-index:10;display:flex;align-items:center;justify-content:center;width:32px;height:64px;padding:0;background:var(--glass-control-background);border:1px solid var(--color-border-default);border-radius:var(--radius-button);color:var(--color-text-secondary);cursor:pointer;transition:color .18s,border-color .18s,background .18s}.building-nav:hover{color:var(--color-brand-highlight);border-color:var(--color-brand-highlight);background:var(--color-overlay-brand15)}.building-nav-left{left:0}.building-nav-right{right:0}.building{--accent:var(--color-brand-highlight);position:relative;width:205px;height:var(--building-height);padding:0;border:0;background:none;color:inherit;cursor:pointer;transition:opacity var(--motion-duration-state),filter var(--motion-duration-state),transform var(--motion-duration-state);filter:var(--shadow-twin-building);transform:translateZ(0)}.building:after{content:"";position:absolute;z-index:-1;left:7%;right:1%;bottom:-9px;height:18px;background:var(--color-overlay-black35);filter:blur(7px);transform:skew(-28deg)}.building:hover,.building.selected:hover{transform:translateY(-7px);filter:var(--shadow-twin-building-hover)}.building.dimmed{opacity:.22;filter:saturate(.25)}.tower-shell{position:absolute;top:0;right:0;bottom:0;left:0}.building-roof{position:absolute;z-index:8;left:9px;right:-1px;top:-22px;height:27px;background:var(--glass-twin-roof);border:1px solid var(--color-border-twin-shell);clip-path:polygon(10% 0,100% 0,91% 100%,0 100%)}.building-roof:before{content:"";position:absolute;left:8%;right:2%;bottom:-5px;height:5px;background:var(--color-structure-twin-frame);clip-path:polygon(0 0,100% 0,96% 100%,4% 100%)}.roof-machine{position:absolute;left:50%;top:5px;width:55px;height:13px;transform:translate(-50%);border:1px solid var(--color-border-twin-edge);background:var(--color-structure-twin-machine)}.roof-machine i{position:absolute;top:3px;width:8px;height:5px;border:1px solid var(--color-border-twin-edge)}.roof-machine i:first-child{left:5px}.roof-machine i:last-child{right:5px}.roof-machine b{position:absolute;left:22px;top:2px;width:10px;height:7px;background:var(--color-structure-twin-frame-bright)}.roof-antenna{position:absolute;right:18px;top:-20px;width:1px;height:22px;background:var(--color-border-twin-edge)}.roof-antenna i{position:absolute;left:-3px;top:-3px;width:7px;height:7px;border:1px solid var(--color-text-twin-equipment);border-radius:var(--radius-circle);animation:twinNode var(--motion-duration-equipment) var(--motion-easing-in-out) infinite}.building-body{position:absolute;top:0;right:0;bottom:66px;left:0;overflow:visible;background:var(--glass-twin-body);border:1px solid var(--color-border-twin-shell);box-shadow:var(--shadow-twin-body)}.building-body:before{content:"";position:absolute;z-index:7;left:-10px;top:9px;bottom:-1px;width:11px;background:var(--color-structure-twin-core);border:1px solid var(--color-border-twin-edge);transform:skewY(-34deg);transform-origin:right top}.building-body:after{content:"";position:absolute;z-index:6;top:0;right:0;bottom:0;left:0;background:var(--glass-twin-facade);border-right:3px solid var(--color-structure-twin-frame);pointer-events:none}.tower-facade-edge{position:absolute;z-index:7;top:0;right:0;bottom:0;left:0;pointer-events:none}.tower-facade-edge i{position:absolute;top:0;bottom:0;width:2px;background:var(--color-structure-twin-frame)}.tower-facade-edge i:nth-child(1){left:34px}.tower-facade-edge i:nth-child(2){left:50%}.tower-facade-edge i:nth-child(3){right:4px}.floor-index{position:absolute;z-index:9;left:5px;top:11px;bottom:9px;width:25px;display:flex;flex-direction:column;justify-content:space-between;color:var(--color-text-floor);font-size:var(--font-size-micro)}.floor-stack{position:absolute;z-index:2;top:10px;right:4px;bottom:9px;left:34px;display:flex;flex-direction:column}.floor-slab{position:relative;flex:1;border-top:1px solid var(--color-border-twin-slab)}.floor-slab:after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:color-mix(in srgb,var(--color-structure-twin-slab),transparent 70%)}.floor-slab:nth-child(3n){border-color:var(--color-border-floor-strong)}.floor-slab.alarm-floor{z-index:4;background:var(--glass-building-alarm-floor);border-color:var(--color-overlay-critical72);box-shadow:var(--shadow-alarm-floor)}.shaft-bank{position:absolute;z-index:4;left:39px;right:8px;top:9px;bottom:9px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.elevator-shaft{position:relative;overflow:hidden;border:1px solid var(--color-border-twin-shaft);background:var(--glass-twin-shaft)}.shaft-label{position:absolute;z-index:2;left:4px;top:4px;color:var(--color-text-twin-shaft);font-size:var(--font-size-micro);letter-spacing:var(--letter-spacing-label)}.shaft-rail{position:absolute;top:0;bottom:0;width:1px;background:var(--color-structure-twin-rail)}.rail-left{left:28%}.rail-right{right:28%}.elevator-car{position:absolute;z-index:5;left:4px;right:4px;bottom:var(--car-position);height:36px;color:var(--color-text-twin-value);background:var(--glass-twin-car);border:1px solid var(--color-border-cabin);box-shadow:var(--shadow-twin-car);transition:bottom var(--motion-duration-cabin) var(--motion-easing-standard)}.elevator-car.primary{background:var(--glass-twin-car-selected);border-color:var(--accent);box-shadow:var(--shadow-twin-car-primary)}.status-trapped .elevator-car.alarm-car{border-color:var(--color-status-critical);box-shadow:var(--shadow-alarm-locator)}.elevator-car:before{content:"";position:absolute;left:50%;bottom:100%;height:110px;border-left:1px solid var(--color-border-cable)}.elevator-car strong{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);font:var(--font-weight-semibold) var(--font-size-detail) var(--font-family-numeric-compact)}.car-door{position:absolute;top:4px;bottom:3px;width:calc(50% - 1px);background:color-mix(in srgb,var(--color-structure-twin-frame),transparent 48%)}.car-door.left{left:3px;border-right:1px solid var(--color-border-twin-edge)}.car-door.right{right:3px}.car-sensor{position:absolute;z-index:4;right:3px;top:3px;width:4px;height:4px;border-radius:var(--radius-circle);background:var(--accent);box-shadow:var(--shadow-status-dot)}.counterweight{position:absolute;right:2px;top:23%;width:5px;height:35px;border:1px solid var(--color-structure-counterweight);opacity:.48}.counterweight i{position:absolute;left:1px;top:-70px;height:70px;border-left:1px solid var(--color-border-guide)}.tower-equipment{position:absolute;z-index:10;top:0;right:0;bottom:0;left:0;pointer-events:none}.equipment-node{position:absolute;width:12px;height:12px;border:1px solid var(--color-border-twin-equipment);border-radius:var(--radius-circle);background:var(--glass-twin-equipment);box-shadow:var(--shadow-twin-equipment);animation:twinNode var(--motion-duration-equipment) var(--motion-easing-in-out) infinite}.node-a{left:28px;top:18%}.node-b{right:-5px;top:43%;animation-delay:calc(var(--motion-duration-equipment) / -3)}.node-c{left:28px;bottom:14%;animation-delay:calc(var(--motion-duration-equipment) / -2)}.tower-ai-coverage{position:absolute;z-index:8;top:5px;right:-5px;bottom:4px;left:29px;border-top:1px solid var(--color-overlay-cyan16);border-bottom:1px solid var(--color-overlay-cyan08);pointer-events:none}.tower-ai-coverage i{position:absolute;width:16px;height:16px}.tower-ai-coverage i:first-child{left:0;top:0;border-left:1px solid var(--color-ai-cyan);border-top:1px solid var(--color-ai-cyan)}.tower-ai-coverage i:nth-child(2){right:0;bottom:0;border-right:1px solid var(--color-ai-lime);border-bottom:1px solid var(--color-ai-lime)}.tower-ai-coverage span{position:absolute;right:3px;top:4px;color:var(--color-ai-lime);font-size:var(--font-size-micro);letter-spacing:var(--letter-spacing-label)}.building-base{position:absolute;z-index:12;left:-7px;right:-8px;bottom:0;height:62px;background:var(--glass-twin-base);border:1px solid var(--color-border-building-base);clip-path:polygon(5% 0,95% 0,100% 18%,95% 100%,5% 100%,0 18%)}.tower-status-dock{padding:10px 16px;text-align:left}.tower-title{display:flex;align-items:baseline;gap:7px}.tower-status-dock strong{color:var(--color-text-twin-value);font-size:var(--font-size-metric-label)}.tower-title span{color:var(--color-text-twin-meta);font-size:var(--font-size-micro);letter-spacing:var(--letter-spacing-eyebrow)}.tower-counts{margin:7px 0 0;display:flex;align-items:center;justify-content:space-between;color:var(--color-text-building-meta);font-size:var(--font-size-eyebrow)}.tower-counts b{color:var(--color-text-twin-equipment);font-weight:var(--font-weight-medium)}.dock-status{position:absolute;right:12px;top:12px;width:6px;height:6px;border-radius:var(--radius-circle);background:var(--accent);box-shadow:var(--shadow-status-dot)}.building-status{position:absolute;z-index:20;left:50%;top:-48px;transform:translate(-50%);height:30px;padding:0 10px;display:flex;align-items:center;gap:6px;color:var(--accent);background:var(--glass-building-status);border:1px solid color-mix(in srgb,var(--accent),transparent 45%);border-radius:var(--radius-tag);font-size:var(--font-size-compact);white-space:nowrap}.building-status:after{content:"";position:absolute;left:50%;bottom:-17px;height:16px;border-left:1px dashed var(--accent)}.status-trapped .building-status{animation:alertGlow var(--motion-duration-pulse) var(--motion-easing-in-out) infinite}.alarm-locator{position:absolute;z-index:24;right:-72px;bottom:var(--alarm-position);transform:translateY(50%);height:31px;display:flex;align-items:center;gap:7px;color:var(--color-status-critical-locator);white-space:nowrap}.alarm-locator:before{content:"";position:absolute;right:100%;width:32px;border-top:1px solid var(--color-overlay-critical55)}.alarm-locator i{width:18px;height:18px;border:2px solid var(--color-status-critical);border-radius:var(--radius-circle);box-shadow:var(--shadow-alarm-locator);animation:pulseRing var(--motion-duration-pulse) var(--motion-easing-out) infinite}.alarm-locator span{padding:5px 7px;background:var(--glass-building-status);border:1px solid var(--color-overlay-critical34);font-size:var(--font-size-detail)}.alarm-locator strong{color:var(--color-status-critical-soft);font-family:var(--font-family-numeric-compact)}.building-a{width:190px}.building-b{width:220px}.building-c{width:178px}.building-d{width:208px}.incident-card{position:absolute;z-index:12;right:14px;top:53px;width:calc(var(--twin-incident-rail) - 28px);height:300px;padding:14px 16px;background:var(--glass-incident-background);border:1px solid var(--color-overlay-critical55);border-left:4px solid var(--color-status-critical);border-radius:var(--radius-button);box-shadow:var(--shadow-incident);cursor:pointer;animation:revealRight var(--motion-duration-reveal) var(--motion-easing-standard) both}.incident-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-overlay-critical16);padding-bottom:10px;margin-bottom:10px}.incident-title{display:flex;align-items:center;gap:10px;min-width:0}.pulse-icon{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;color:var(--color-text-inverse);background:var(--color-overlay-critical18);border:1px solid var(--color-overlay-critical45);border-radius:var(--radius-circle);animation:alertGlow var(--motion-duration-pulse) var(--motion-easing-in-out) infinite}.incident-title small{display:block;color:var(--color-text-incident-kicker);font-size:var(--font-size-eyebrow);letter-spacing:var(--letter-spacing-alert)}.incident-title strong{display:block;margin-top:2px;font-size:var(--font-size-data);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.incident-duration{flex:0 0 auto;text-align:right;margin-left:8px}.incident-duration span{display:block;color:var(--color-text-incident-meta);font-size:var(--font-size-eyebrow);white-space:nowrap}.incident-duration strong{font:var(--font-weight-bold) var(--font-size-overview-title) var(--font-family-numeric-compact);color:var(--color-status-critical-bright);letter-spacing:var(--letter-spacing-incident-duration);white-space:nowrap}.incident-meta-bar{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--color-overlay-white-hairline);border-radius:var(--radius-control);margin-bottom:10px;min-width:0}.incident-meta-bar span{display:flex;align-items:center;gap:4px;color:var(--color-text-incident-label);font-size:var(--font-size-compact);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.incident-meta-bar span:first-child{flex:1;min-width:0}.incident-meta-bar svg{flex:0 0 auto;color:var(--color-brand-highlight);opacity:.8}.incident-meta-bar i{flex:0 0 1px;height:12px;background:var(--color-border-panel-divider)}.incident-dispatch{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--color-border-panel-divider);border-radius:var(--radius-control);overflow:hidden;margin-bottom:10px}.incident-dispatch>div{display:flex;flex-direction:column;gap:3px;padding:10px 12px;background:var(--glass-incident-details)}.incident-dispatch span{color:var(--color-text-rescue-label);font-size:var(--font-size-detail)}.incident-dispatch strong{color:var(--color-text-rescue-value);font-size:var(--font-size-supporting);font-weight:var(--font-weight-semibold)}.incident-flow{display:flex;align-items:start;padding:2px 0 8px}.incident-flow>div{position:relative;flex:1;text-align:center}.incident-flow i{position:relative;z-index:2;width:16px;height:16px;margin:auto;display:grid;place-items:center;color:var(--color-text-flow-pending);background:var(--color-structure-flow-node);border:1px solid var(--color-structure-flow-node-border);border-radius:var(--radius-circle);font:var(--font-weight-regular) var(--font-size-detail) var(--font-family-numeric-compact)}.incident-flow span{display:block;margin-top:3px;color:var(--color-text-flow-label);font-size:var(--font-size-detail);white-space:nowrap}.incident-flow b{position:absolute;z-index:1;left:58%;right:-42%;top:7px;height:1px;background:var(--color-structure-flow-line)}.incident-flow .done i{color:var(--color-text-flow-done-icon);background:var(--color-structure-flow-done-node);border-color:var(--color-status-normal)}.incident-flow .done b{background:var(--color-status-normal)}.incident-flow .done span{color:var(--color-text-flow-done)}.incident-flow .active i{color:var(--color-text-inverse);background:var(--color-brand-primary);border-color:var(--color-brand-highlight);box-shadow:var(--shadow-flow-active)}.incident-flow .active span{color:var(--color-text-flow-active)}.passenger-note{height:24px;display:flex;align-items:center;gap:6px;color:var(--color-text-passenger);background:var(--color-overlay-green06);padding:0 10px;border-radius:var(--radius-control);font-size:var(--font-size-eyebrow);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alarm-counts{height:66px;margin:10px 13px 6px;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.alarm-count{display:flex;flex-direction:column;justify-content:center;padding-left:9px;background:var(--glass-alarm-count-background);border-top:2px solid var(--color-structure-alarm-count-border)}.alarm-count.danger{border-color:var(--color-status-critical)}.alarm-count.orange{border-color:var(--color-status-abnormal)}.alarm-count.yellow{border-color:var(--color-status-warning)}.alarm-count span{color:var(--color-text-alarm-label);font-size:var(--font-size-eyebrow)}.alarm-count strong{font:var(--font-weight-bold) var(--font-size-data-large) var(--font-family-numeric-compact);color:var(--color-text-alarm-value)}.alarm-count em{font:var(--font-weight-regular) var(--font-size-detail) inherit;margin-left:3px;color:var(--color-text-alarm-unit)}.alarm-list{padding:0 13px}.alarm-item{height:42px;width:100%;display:grid;grid-template-columns:58px 1fr 46px 63px 16px;align-items:center;text-align:left;color:var(--color-text-alarm);background:transparent;border:0;border-top:1px solid var(--color-border-subtle);cursor:pointer}.alarm-item:hover{background:var(--color-overlay-cyan04)}.alarm-time{font:var(--font-weight-medium) var(--font-size-compact) var(--font-family-numeric-compact);color:var(--color-text-alarm-time)}.alarm-main strong{display:block;font-size:var(--font-size-label);color:var(--color-text-alarm-title)}.alarm-main small{display:block;margin-top:2px;color:var(--color-text-alarm-meta);font-size:var(--font-size-detail)}.level-一级 .alarm-main strong{color:var(--color-status-critical-text)}.alarm-duration{font:var(--font-weight-medium) var(--font-size-compact) var(--font-family-numeric-compact);color:var(--color-text-alarm-duration)}.alarm-status{padding:3px 4px;text-align:center;color:var(--color-status-warning-text);background:var(--color-overlay-yellow09);border-radius:var(--radius-status);font-size:var(--font-size-detail)}.alarm-status.resolved{color:var(--color-status-normal-text-alt);background:var(--color-overlay-green07)}.alarm-item>svg{color:var(--color-text-alarm-chevron)}.performance-stats{height:58px;display:grid;grid-template-columns:repeat(4,1fr);margin:8px 13px 0}.performance-stats div{padding:5px 8px;border-right:1px solid var(--color-border-subtle)}.performance-stats div:last-child{border:0}.performance-stats span{display:block;color:var(--color-text-performance);font-size:var(--font-size-eyebrow)}.performance-stats strong{display:block;margin-top:4px;font:var(--font-weight-semibold) var(--font-size-data-small) var(--font-family-numeric-compact)}.performance-stats em{font:var(--font-weight-regular) var(--font-size-detail) inherit;color:var(--color-text-performance-unit);margin-left:3px}.performance-chart{position:relative;height:99px;margin:0 12px}.performance-chart>div{position:absolute;z-index:2;left:6px;top:1px}.performance-chart span{color:var(--color-text-chart-caption);font-size:var(--font-size-eyebrow)}.performance-chart strong{margin-left:9px;color:var(--color-brand-highlight);font:var(--font-weight-semibold) var(--font-size-body) var(--font-family-numeric-compact)}.sla-note{position:absolute;right:14px;bottom:8px;display:flex;align-items:center;gap:6px;color:var(--color-text-sla);font-size:var(--font-size-eyebrow)}.sla-note svg{color:var(--color-status-abnormal)}.sla-note strong{color:var(--color-status-abnormal-text)}.trend-up{color:var(--color-text-trend-up)}.reminder-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;height:calc(100% - 16px);margin:8px 12px}.reminder-grid div{display:flex;flex-direction:column;justify-content:center;padding-left:9px;background:var(--glass-reminder-background);border-bottom:2px solid var(--color-brand-primary)}.reminder-grid div.orange{border-color:var(--color-status-abnormal)}.reminder-grid div.yellow{border-color:var(--color-status-warning)}.reminder-grid div.cyan{border-color:var(--color-brand-highlight)}.reminder-grid span{color:var(--color-text-reminder);font-size:var(--font-size-detail)}.reminder-grid strong{font:var(--font-weight-semibold) var(--font-size-data) var(--font-family-numeric-compact)}.reminder-grid em{font:var(--font-weight-regular) var(--font-size-micro) inherit;margin-left:3px;color:var(--color-text-reminder-unit)}.bottom-grid{display:grid;grid-template-columns:1.45fr 1.12fr .86fr;gap:18px;min-height:0}.panel-total{color:var(--color-text-panel-total);font-size:var(--font-size-label)}.work-table{padding:0 14px}.work-row{height:45px;display:grid;grid-template-columns:112px 76px 1.3fr 58px 82px 64px 45px;align-items:center;gap:8px;border-bottom:1px solid var(--color-border-quiet);color:var(--color-text-table);font-size:var(--font-size-compact)}.work-head{height:38px;color:var(--color-text-table-head);background:var(--color-overlay-brand04);font-size:var(--font-size-eyebrow)}.work-row>span:nth-child(1),.work-row>span:nth-child(2),.work-row>span:nth-child(6){font-family:var(--font-family-numeric-compact)}.work-row span>strong{display:block;color:var(--color-text-table-strong);font-size:var(--font-size-compact)}.work-row span>small{display:block;color:var(--color-text-table-meta);font-size:var(--font-size-detail)}.work-row i,.work-row b{display:inline-flex;min-width:48px;height:22px;align-items:center;justify-content:center;font-style:normal;font-weight:var(--font-weight-regular);border-radius:var(--radius-status)}.progress-已完成{color:var(--color-status-normal-text);background:var(--color-overlay-green07)}.progress-前往现场,.progress-已接单{color:var(--color-text-progress-info);background:var(--color-overlay-cyan07)}.progress-待接单{color:var(--color-text-progress-warning);background:var(--color-overlay-yellow07)}.sla-正常{color:var(--color-status-normal-text)}.sla-临近{color:var(--color-status-warning-text-alt)}.sla-超时{color:var(--color-status-critical-text-alt)}.closure-rate{display:flex;align-items:baseline;gap:7px}.closure-rate span{color:var(--color-text-closure-label);font-size:var(--font-size-eyebrow)}.closure-rate strong{font:var(--font-weight-semibold) var(--font-size-data-large) var(--font-family-numeric-compact);color:var(--color-status-normal)}.flow-panel .panel-content{display:flex;flex-direction:column}.daily-flow{flex:1;display:flex;align-items:stretch;padding:20px 20px 12px;gap:0}.flow-step{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;padding-top:28px;gap:8px}.flow-connector{position:absolute;left:50%;top:46px;width:100%;height:2px;z-index:0}.flow-connector-line{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--color-status-normal),color-mix(in srgb,var(--color-status-normal),transparent 55%));opacity:.45}.flow-connector-pulse{position:absolute;top:-1px;left:0;width:24px;height:4px;border-radius:2px;background:var(--color-status-normal);box-shadow:0 0 8px var(--color-status-normal);animation:flowPulse 2.4s var(--motion-easing-in-out) infinite}@keyframes flowPulse{0%{left:-10%;opacity:0}20%{opacity:1}80%{opacity:1}to{left:110%;opacity:0}}.flow-node{position:relative;z-index:1;width:36px;height:36px;display:grid;place-items:center;flex-shrink:0}.flow-node-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-circle);background:linear-gradient(145deg,color-mix(in srgb,var(--color-status-normal),transparent 30%),color-mix(in srgb,var(--color-status-normal),transparent 58%));border:1.5px solid var(--color-status-normal);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-status-normal),transparent 82%),0 0 14px color-mix(in srgb,var(--color-status-normal),transparent 55%)}.flow-node-icon{position:relative;z-index:1;color:var(--color-status-normal)}.flow-value{font:var(--font-weight-bold) var(--font-size-metric-small)/1 var(--font-family-numeric-compact);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-metric)}.flow-value em{font:var(--font-weight-regular) var(--font-size-label)/1 inherit;color:var(--color-text-flow-meta);margin-left:3px}.flow-label{font-size:var(--font-size-label);color:var(--color-text-flow-step);letter-spacing:var(--letter-spacing-label)}.flow-bar-wrap{width:60%;height:3px;background:var(--color-overlay-white-hairline);border-radius:2px;overflow:hidden}.flow-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-brand-primary),var(--color-status-normal));border-radius:2px;box-shadow:0 0 6px color-mix(in srgb,var(--color-status-normal),transparent 50%);transition:width .6s var(--motion-easing-standard)}.flow-footer{margin:4px 20px 14px;display:flex;flex-direction:column;gap:8px}.flow-footer-track{position:relative;height:4px;background:color-mix(in srgb,var(--color-status-normal),transparent 88%);border-radius:2px;overflow:visible}.flow-footer-fill{height:100%;background:linear-gradient(90deg,var(--color-brand-primary) 0%,var(--color-status-normal) 100%);border-radius:2px;box-shadow:0 0 10px color-mix(in srgb,var(--color-status-normal),transparent 40%);transition:width .8s var(--motion-easing-standard)}.flow-footer-glow{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:var(--radius-circle);background:var(--color-status-normal);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-status-normal),transparent 70%),0 0 18px var(--color-status-normal);animation:twinNode var(--motion-duration-equipment) var(--motion-easing-in-out) infinite}.flow-footer-labels{display:flex;align-items:center;justify-content:space-between}.flow-footer-labels span{font-size:var(--font-size-label);color:var(--color-text-flow-progress);letter-spacing:var(--letter-spacing-label)}.flow-footer-labels strong{font:var(--font-weight-semibold) var(--font-size-body-small)/1 var(--font-family-numeric-compact);color:var(--color-status-normal)}.ai-online{color:var(--color-ai-online)}.value-grid{height:152px;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px 4px}.value-grid div{position:relative;padding:10px 8px 8px 43px;background:var(--glass-ai-value-background);border:1px solid var(--color-border-quiet)}.value-grid svg{position:absolute;left:11px;top:16px;color:var(--color-ai-icon)}.value-grid span{display:block;color:var(--color-text-value-label);font-size:var(--font-size-eyebrow)}.value-grid strong{display:block;margin-top:5px;font:var(--font-weight-semibold) var(--font-size-ai-value) var(--font-family-numeric-compact)}.value-grid em{font:var(--font-weight-regular) var(--font-size-detail) inherit;margin-left:3px;color:var(--color-text-value-unit)}.ai-insight{height:100px;margin:8px 14px 0;padding:13px 12px;display:flex;gap:10px;background:var(--glass-ai-insight-background);border-left:2px solid var(--color-brand-highlight)}.ai-insight svg{flex:0 0 auto;color:var(--color-brand-highlight)}.ai-insight p{margin:0;color:var(--color-text-insight);font-size:var(--font-size-compact);line-height:var(--line-height-insight)}.ai-insight p strong{display:block;color:var(--color-ai-insight);font-size:var(--font-size-label)}.ai-insight p em{color:var(--color-status-warning);font-style:normal}.drawer-overlay{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;background:var(--glass-drawer-overlay);-webkit-backdrop-filter:var(--glass-drawer-overlay-filter);backdrop-filter:var(--glass-drawer-overlay-filter);animation:fadeIn var(--motion-duration-hover) var(--motion-easing-standard)}.detail-drawer{--incident:var(--color-brand-primary);position:fixed;right:0;top:0;width:680px;height:100%;display:flex;flex-direction:column;background:var(--glass-drawer-background);border-left:1px solid var(--color-overlay-cyan40);box-shadow:var(--shadow-drawer);animation:drawerIn var(--motion-duration-drawer) var(--motion-easing-standard);overflow:hidden}.drawer-topbar{flex:0 0 36px;display:flex;align-items:center;gap:10px;padding:0 20px;background:var(--glass-drawer-header);border-bottom:1px solid var(--color-border-subtle)}.drawer-sys-id{flex:1;font-size:var(--font-size-eyebrow);letter-spacing:var(--letter-spacing-drawer);color:var(--color-text-drawer-kicker)}.drawer-type-tag{padding:2px 8px;font-size:var(--font-size-eyebrow);letter-spacing:var(--letter-spacing-label);color:var(--color-brand-highlight);background:var(--color-overlay-cyan08);border:1px solid var(--color-overlay-cyan20);border-radius:var(--radius-status)}.drawer-close-btn{width:28px;height:28px;display:grid;place-items:center;color:var(--color-text-drawer-control);background:var(--color-overlay-white-hairline);border:1px solid var(--color-border-default);border-radius:var(--radius-circle);cursor:pointer;transition:border-color var(--motion-duration-hover) var(--motion-easing-standard),color var(--motion-duration-hover) var(--motion-easing-standard)}.drawer-close-btn:hover{border-color:var(--color-overlay-cyan40);color:var(--color-brand-highlight)}.drawer-hero{--incident:var(--color-status-critical);flex:0 0 auto;position:relative;overflow:hidden;border-bottom:1px solid color-mix(in srgb,var(--incident),transparent 72%)}.incident-level-严重 .drawer-hero,.drawer-hero.incident-level-严重{--incident:var(--color-status-critical)}.incident-level-异常 .drawer-hero,.drawer-hero.incident-level-异常{--incident:var(--color-status-abnormal)}.incident-level-预警 .drawer-hero,.drawer-hero.incident-level-预警{--incident:var(--color-status-warning)}.drawer-hero-health{--incident:var(--color-status-normal)}.drawer-hero-risk{--incident:var(--color-brand-highlight)}.drawer-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,color-mix(in srgb,var(--incident),transparent 82%) 0%,color-mix(in srgb,var(--incident),transparent 94%) 45%,transparent 100%);pointer-events:none}.drawer-hero-rail{position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--incident),color-mix(in srgb,var(--incident),transparent 55%))}.drawer-hero-scan{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--color-brand-highlight),transparent 85%) 50%,transparent 100%);background-size:100% 60px;animation:drawerScan var(--motion-duration-drawer-scan) var(--motion-easing-linear) infinite;pointer-events:none;opacity:.5}.drawer-hero-content{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 0}.drawer-hero-left{flex:1;min-width:0}.drawer-hero-right{flex:0 0 auto;margin-left:16px;text-align:right}.drawer-hero-badge{display:flex;align-items:center;gap:8px;margin-bottom:8px}.drawer-hero-icon{width:28px;height:28px;display:grid;place-items:center;color:var(--incident);background:color-mix(in srgb,var(--incident),transparent 82%);border:1px solid color-mix(in srgb,var(--incident),transparent 55%);border-radius:var(--radius-circle)}.drawer-hero-severity{font-size:var(--font-size-compact);letter-spacing:var(--letter-spacing-eyebrow);color:var(--incident)}.drawer-hero-title{margin:0 0 6px;font-size:var(--font-size-detail-metric);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}.drawer-hero-sub{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--font-size-compact);color:var(--color-text-secondary)}.drawer-hero-dot{display:inline-block;width:3px;height:3px;border-radius:var(--radius-circle);background:var(--color-overlay-cyan40)}.drawer-hero-id{font-family:var(--font-family-numeric-compact);color:var(--color-brand-highlight)}.drawer-hero-timer strong{display:block;font:var(--font-weight-bold) var(--font-size-drawer-score)/1 var(--font-family-numeric-compact);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-metric)}.drawer-hero-timer strong em{font-size:var(--font-size-supporting);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);margin-left:3px}.drawer-hero-timer>span{display:block;margin-top:4px;font-size:var(--font-size-eyebrow);letter-spacing:var(--letter-spacing-label);color:var(--color-text-drawer-kicker)}.drawer-hero-score strong{font-size:var(--font-size-detail-metric)}.drawer-badge-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:16px 24px 20px;background:var(--color-border-panel-divider);border:1px solid var(--color-border-subtle);border-radius:var(--radius-button);overflow:hidden}.drawer-badge{padding:10px 14px;background:color-mix(in srgb,var(--incident),transparent 94%);transition:background var(--motion-duration-hover) var(--motion-easing-standard)}.drawer-badge span{display:block;font-size:var(--font-size-eyebrow);color:var(--color-text-drawer-kicker);letter-spacing:var(--letter-spacing-label);margin-bottom:4px}.drawer-badge strong{display:block;font:var(--font-weight-semibold) var(--font-size-data-small)/1 var(--font-family-numeric-compact);color:var(--color-text-primary)}.drawer-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 24px 28px;scrollbar-width:thin;scrollbar-color:var(--color-border-default) transparent}.drawer-section-label{display:flex;align-items:center;gap:6px;margin:20px 0 12px;font-size:var(--font-size-eyebrow);letter-spacing:var(--letter-spacing-eyebrow);color:var(--color-brand-highlight);text-transform:uppercase}.drawer-section-label:first-child{margin-top:4px}.drawer-section-label svg{flex:0 0 auto;opacity:.8}.drawer-stat-block{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--color-border-panel-divider);border:1px solid var(--color-border-subtle);border-radius:var(--radius-button);overflow:hidden}.drawer-stat{padding:14px 16px;background:var(--color-environment-detail-cell);border-left:2px solid transparent}.drawer-stat[data-accent=cyan]{border-left-color:var(--color-brand-highlight)}.drawer-stat[data-accent=blue]{border-left-color:var(--color-brand-primary)}.drawer-stat[data-accent=green]{border-left-color:var(--color-status-normal)}.drawer-stat svg{color:var(--color-text-drawer-kicker);margin-bottom:6px}.drawer-stat span{display:block;font-size:var(--font-size-eyebrow);color:var(--color-text-drawer-kicker);margin-bottom:5px}.drawer-stat strong{display:block;font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text-drawer-value)}.drawer-flow-track{display:flex;align-items:flex-start;padding:4px 0 8px;gap:0}.dft-step{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;animation:dftStepIn var(--motion-duration-reveal) var(--motion-easing-out) both}.dft-line{position:absolute;top:13px;right:50%;left:-50%;height:1px;z-index:0;transform-origin:left;animation:dftLineIn var(--motion-duration-reveal) var(--motion-easing-out) both}.dft-line-done{background:var(--color-status-normal)}.dft-line-active{background:linear-gradient(90deg,var(--color-status-normal),var(--color-brand-highlight))}.dft-line-pending{background:var(--color-border-subtle)}.dft-node{position:relative;z-index:1;width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius-circle);border:1px solid var(--color-border-subtle);background:var(--color-structure-flow-node);transition:box-shadow var(--motion-duration-hover) var(--motion-easing-standard)}.dft-node span{font:var(--font-weight-medium) var(--font-size-compact)/1 var(--font-family-numeric-compact);color:var(--color-text-flow-pending)}.dft-node svg{color:var(--color-text-flow-done-icon)}.dft-done .dft-node{border-color:var(--color-status-normal);background:var(--color-structure-flow-done-node);box-shadow:var(--shadow-drawer-flow-node-done)}.dft-active .dft-node{border-color:var(--color-brand-highlight);background:var(--color-brand-primary);box-shadow:var(--shadow-drawer-flow-node-active);animation:drawerNodePulse var(--motion-duration-pulse) var(--motion-easing-in-out) infinite}.dft-active .dft-node span{color:var(--color-text-inverse)}.dft-label{font-size:var(--font-size-eyebrow);color:var(--color-text-flow-label);white-space:nowrap}.dft-done .dft-label{color:var(--color-text-flow-done)}.dft-active .dft-label{color:var(--color-brand-highlight)}.drawer-desc-block{margin-bottom:4px}.drawer-desc-text{margin:0;padding:14px 16px;font-size:var(--font-size-body-small);line-height:var(--line-height-body);color:var(--color-text-drawer-body);background:color-mix(in srgb,var(--color-brand-primary),transparent 94%);border-left:2px solid var(--color-overlay-cyan20);border-radius:var(--radius-button)}.drawer-ai-block{margin-top:16px;padding:16px 18px;background:var(--glass-ai-insight-background);border:1px solid var(--color-overlay-cyan16);border-left:2px solid var(--color-brand-highlight);border-radius:var(--radius-button);box-shadow:var(--shadow-drawer-ai-card)}.drawer-ai-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--color-brand-highlight)}.drawer-ai-header span{font-size:var(--font-size-compact);font-weight:var(--font-weight-medium);color:var(--color-text-recommendation)}.drawer-ai-tag{padding:1px 6px;font-size:var(--font-size-eyebrow);font-weight:var(--font-weight-semibold);color:var(--color-ai-lime);background:color-mix(in srgb,var(--color-ai-lime),transparent 88%);border-radius:var(--radius-status);letter-spacing:var(--letter-spacing-label)}.drawer-ai-text{margin:0;font-size:var(--font-size-body-small);line-height:var(--line-height-insight);color:var(--color-text-recommendation-body)}.drawer-ai-block .ai-disclaimer{margin:8px 0 0;font-size:var(--font-size-eyebrow);color:var(--color-text-tertiary)}.drawer-passenger-bar{margin-top:14px;padding:10px 14px;font-size:var(--font-size-compact);color:var(--color-text-passenger);background:var(--color-overlay-green06);border-left:2px solid var(--color-status-normal);border-radius:var(--radius-button)}.drawer-health-list{display:flex;flex-direction:column;gap:14px}.drawer-health-row{display:grid;grid-template-columns:130px 1fr 52px;align-items:center;gap:12px}.dhr-label{display:flex;align-items:center;gap:8px;font-size:var(--font-size-compact);color:var(--color-text-detail-label)}.dhr-dot{flex:0 0 10px;width:10px;height:10px;border-radius:var(--radius-circle)}.dhr-bar{position:relative;height:6px;background:var(--color-structure-detail-track);border-radius:var(--radius-tag);overflow:hidden}.dhr-bar-fill{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;border-radius:var(--radius-tag);opacity:.85}.dhr-bar-glow{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;border-radius:var(--radius-tag);filter:blur(3px);opacity:.5}.dhr-val{text-align:right;font:var(--font-weight-semibold) var(--font-size-label)/1 var(--font-family-numeric-compact);color:var(--color-text-drawer-value)}.drawer-risk-list{display:flex;flex-direction:column;gap:2px}.drisk-row{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--color-border-subtle)}.drisk-row:last-child{border-bottom:none}.drisk-rank{width:28px;height:28px;display:grid;place-items:center;font:var(--font-weight-bold) var(--font-size-compact)/1 var(--font-family-numeric-compact);color:var(--color-brand-highlight);background:color-mix(in srgb,var(--color-brand-primary),transparent 88%);border:1px solid var(--color-overlay-cyan20);border-radius:var(--radius-button)}.drisk-info strong{display:block;font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text-risk-title)}.drisk-info p{margin:3px 0 0;font-size:var(--font-size-eyebrow);color:var(--color-text-value-label);line-height:var(--line-height-compact)}.drisk-meta{text-align:right}.drisk-prob{display:block;font-size:var(--font-size-eyebrow);color:var(--color-status-warning);font-family:var(--font-family-numeric-compact)}.drisk-meta em{display:block;margin-top:2px;font-style:normal;font-size:var(--font-size-eyebrow);color:var(--color-text-risk-meta)}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes pulseRing{0%,to{opacity:.6}50%{opacity:1}}@keyframes alertGlow{0%,to{opacity:.72}50%{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes drawerIn{0%{transform:translate(100%)}to{transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes drawerScan{0%{background-position:0 -60px}to{background-position:0 200px}}@keyframes drawerNodePulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes dftStepIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes dftLineIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes twinScan{0%{transform:translateY(0);opacity:0}12%{opacity:.72}82%{opacity:.5}to{transform:translateY(690px);opacity:0}}@keyframes twinSignal{to{stroke-dashoffset:-160}}@keyframes twinNode{0%,to{opacity:.48;transform:scale(.88)}50%{opacity:1;transform:scale(1)}}@keyframes alarmSlideIn{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}@keyframes chartPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.45)}}@keyframes metricCount{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes groundGlow{0%,to{opacity:.28}50%{opacity:.52}}@keyframes alarmBlink{0%,to{opacity:.85}50%{opacity:1;box-shadow:var(--shadow-alarm-floor-blink)}}@keyframes liveDataDot{0%{opacity:1;transform:scale(1)}40%{opacity:.3;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.level-严重 .alarm-main strong{color:var(--color-status-critical-text)}.severity-badge{display:inline-block;margin-left:6px;padding:1px 5px;font-style:normal;font-weight:var(--font-weight-regular);font-size:var(--font-size-eyebrow);color:var(--color-text-alarm-meta);border:1px solid var(--color-border-default);border-radius:var(--radius-status);vertical-align:1px}.level-严重 .severity-badge{color:var(--color-status-critical-text);border-color:var(--color-overlay-critical34)}.level-异常 .severity-badge{color:var(--color-status-abnormal-text)}.level-预警 .severity-badge{color:var(--color-status-warning-text)}.ai-disclaimer{margin:8px 0 0;color:var(--color-text-tertiary);font-size:var(--font-size-label);line-height:var(--line-height-label)}.incident-level-严重{--incident:var(--color-status-critical)}.incident-level-异常{--incident:var(--color-status-abnormal)}.incident-level-预警{--incident:var(--color-status-warning)}.incident-level-提醒{--incident:var(--color-brand-primary)}.progress-待安排,.progress-待接单{color:var(--color-text-progress-warning);background:var(--color-overlay-yellow07)}.risk-body{height:161px;padding:7px 14px 6px}.alarm-item{height:40px;grid-template-columns:58px 1fr 48px 68px 16px}.performance-chart{height:91px}.incident-card{--incident:var(--color-status-critical);border-color:color-mix(in srgb,var(--incident),transparent 45%);border-left-color:var(--incident);box-shadow:var(--shadow-incident-tone)}.incident-level-二级{--incident:var(--color-status-abnormal)}.incident-level-三级{--incident:var(--color-status-warning)}.incident-resolved{--incident:var(--color-status-normal)}.incident-head{border-bottom-color:color-mix(in srgb,var(--incident),transparent 82%)}.pulse-icon{background:color-mix(in srgb,var(--incident),transparent 82%);border-color:color-mix(in srgb,var(--incident),transparent 55%)}.incident-title small,.incident-duration strong{color:var(--incident)}.incident-title small,.incident-duration span{font-size:var(--font-size-compact)}.incident-flow i,.incident-flow span{font-size:var(--font-size-eyebrow)}.incident-flow span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.incident-flow{padding:2px 0 8px}.passenger-note{height:24px;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-copy small,.health-legend div{font-size:var(--font-size-body)}.risk-row,.risk-trend>span{font-size:var(--font-size-label)}.lifecycle-labels span,.age-alert,.alarm-count span,.performance-stats span,.performance-chart span,.reminder-grid span{font-size:var(--font-size-compact)}.alarm-count em,.performance-stats em,.reminder-grid em,.alarm-main small,.alarm-status{font-size:var(--font-size-eyebrow)}.alarm-main strong,.alarm-time,.alarm-duration,.work-row{font-size:var(--font-size-label)}.work-head{font-size:var(--font-size-compact)}.work-row span>strong{font-size:var(--font-size-label)}.work-row span>small{font-size:var(--font-size-eyebrow)}.flow-step>span,.flow-progress,.value-grid span,.ai-insight p{font-size:var(--font-size-compact)}.ai-insight p strong{font-size:var(--font-size-label)}.empty-state{height:76px;display:grid;place-items:center;color:var(--color-text-empty);font-size:var(--font-size-body-small)}.building.dimmed{opacity:.32;filter:saturate(.18) brightness(.7)}.building.selected{filter:var(--shadow-twin-building) drop-shadow(0 0 18px color-mix(in srgb,var(--color-brand-highlight),transparent 55%))}.building-body{background:var(--glass-twin-body);box-shadow:var(--shadow-twin-body),var(--shadow-building-body-highlight)}.twin-ground-plane{animation:groundGlow var(--motion-duration-ground-glow) var(--motion-duration-pulse) ease-in-out infinite}.floor-slab.alarm-floor{z-index:4;background:color-mix(in srgb,var(--color-status-critical),transparent 62%);border-color:var(--color-overlay-critical72);animation:alarmBlink var(--motion-duration-alarm-blink) ease-in-out infinite}.elevator-car{transition:bottom var(--motion-duration-cabin-smooth) cubic-bezier(.25,.1,.25,1)}.elevator-shaft{cursor:default}.elevator-shaft:after{content:"";pointer-events:none;position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:3px;border:1px solid var(--accent,var(--color-brand-highlight));box-shadow:0 0 8px 2px color-mix(in srgb,var(--accent,var(--color-brand-highlight)),transparent 55%);opacity:0;transition:opacity .2s;z-index:20}.elevator-shaft:hover:after{opacity:1}.alarm-item{animation:alarmSlideIn var(--motion-duration-slide-in) var(--motion-easing-standard) both}.alarm-item:nth-child(2){animation-delay:60ms}.alarm-item:nth-child(3){animation-delay:.12s}.alarm-item:nth-child(4){animation-delay:.18s}.alarm-item.level-严重{border-left:3px solid var(--color-status-critical);background:color-mix(in srgb,var(--color-status-critical),transparent 93%)}.alarm-item.level-异常{border-left:3px solid var(--color-status-abnormal);background:color-mix(in srgb,var(--color-status-abnormal),transparent 94%)}.alarm-item.level-严重:not(.resolved) .alarm-duration{animation:alarmBlink var(--motion-duration-alarm-blink-critical) ease-in-out infinite;border-radius:var(--radius-tag);padding:1px 4px}.metric-copy>div{animation:metricCount var(--motion-duration-count-in) var(--motion-easing-standard) both}.metric-card:nth-child(1) .metric-copy>div{animation-delay:0ms}.metric-card:nth-child(2) .metric-copy>div{animation-delay:80ms}.metric-card:nth-child(3) .metric-copy>div{animation-delay:.16s}.metric-card:nth-child(4) .metric-copy>div{animation-delay:.24s}.metric-card:nth-child(5) .metric-copy>div{animation-delay:.32s}.metric-card:nth-child(6) .metric-copy>div{animation-delay:.4s}.risk-trend .base-chart,.performance-chart{position:relative}.risk-trend .base-chart:after,.performance-chart:after{content:"";position:absolute;right:6%;bottom:24%;z-index:4;width:8px;height:8px;border-radius:var(--radius-circle);background:var(--color-brand-highlight);box-shadow:var(--shadow-chart-live-dot);animation:liveDataDot var(--motion-duration-live-dot) ease-in-out infinite}.performance-chart:after{background:var(--color-brand-highlight);bottom:18%;right:4%}.alarm-duration{display:inline-block;font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:var(--motion-duration-reduced)!important;animation-iteration-count:1!important;transition-duration:var(--motion-duration-reduced)!important}}.alarm-count span{font-size:var(--font-size-body-small)}.alarm-main strong{font-size:var(--font-size-body)}.alarm-main small{font-size:var(--font-size-label)}.alarm-time,.alarm-duration{font-size:var(--font-size-body-small)}.alarm-status,.performance-stats span,.performance-chart span,.reminder-grid span{font-size:var(--font-size-label)}.sla-note{font-size:var(--font-size-compact)}.work-row{font-size:var(--font-size-body-small)}.work-head{font-size:var(--font-size-label)}.work-row span>strong{font-size:var(--font-size-body-small)}.work-row span>small{font-size:var(--font-size-label)}.flow-step>span,.flow-progress,.value-grid span,.ai-insight p{font-size:var(--font-size-label)}.ai-insight p strong{font-size:var(--font-size-body-small)}:root{font-family:var(--role-body-font-family);font-size:var(--role-body-font-size);font-weight:var(--role-body-font-weight);line-height:var(--role-body-line-height);letter-spacing:var(--role-body-letter-spacing)}.title-block h1{font-family:var(--role-page-title-font-family);font-size:var(--role-page-title-font-size);font-weight:var(--role-page-title-font-weight);line-height:var(--role-page-title-line-height);letter-spacing:var(--role-page-title-letter-spacing)}.title-kicker{font-family:var(--role-page-kicker-font-family);font-size:var(--role-page-kicker-font-size);font-weight:var(--role-page-kicker-font-weight);line-height:var(--role-page-kicker-line-height);letter-spacing:var(--role-page-kicker-letter-spacing)}.brand-wordmark small{font-family:var(--role-brand-meta-font-family);font-size:var(--role-brand-meta-font-size);font-weight:var(--role-brand-meta-font-weight);line-height:var(--role-brand-meta-line-height);letter-spacing:var(--role-brand-meta-letter-spacing)}.brand-block strong{font-family:var(--role-brand-title-font-family);font-size:var(--role-brand-title-font-size);font-weight:var(--role-brand-title-font-weight);line-height:var(--role-brand-title-line-height);letter-spacing:var(--role-brand-title-letter-spacing)}.brand-block span{font-family:var(--role-brand-meta-font-family);font-size:var(--role-brand-meta-font-size);font-weight:var(--role-brand-meta-font-weight);line-height:var(--role-brand-meta-line-height);letter-spacing:var(--role-brand-meta-letter-spacing)}.clock strong{font-family:var(--role-clock-font-family);font-size:var(--role-clock-font-size);font-weight:var(--role-clock-font-weight);line-height:var(--role-clock-line-height);letter-spacing:var(--role-clock-letter-spacing)}.clock span,.status-stack{font-family:var(--role-body-compact-font-family);font-size:var(--role-body-compact-font-size);font-weight:var(--role-body-compact-font-weight);line-height:var(--role-body-compact-line-height);letter-spacing:var(--role-body-compact-letter-spacing)}.rotate-toggle,.online-badge,.building-selector button,.text-action{font-family:var(--role-button-font-family);font-size:var(--role-button-font-size);font-weight:var(--role-button-font-weight);line-height:var(--role-button-line-height);letter-spacing:var(--role-button-letter-spacing)}.panel-heading h2{font-family:var(--role-panel-title-font-family);font-size:var(--role-panel-title-font-size);font-weight:var(--role-panel-title-font-weight);line-height:var(--role-panel-title-line-height);letter-spacing:var(--role-panel-title-letter-spacing)}.panel-eyebrow,.overview-head>div:first-child span{font-family:var(--role-eyebrow-font-family);font-size:var(--role-eyebrow-font-size);font-weight:var(--role-eyebrow-font-weight);line-height:var(--role-eyebrow-line-height);letter-spacing:var(--role-eyebrow-letter-spacing)}.panel-total,.text-action{font-family:var(--role-action-font-family);font-size:var(--role-action-font-size);font-weight:var(--role-action-font-weight);line-height:var(--role-action-line-height);letter-spacing:var(--role-action-letter-spacing)}.metric-copy>span{font-family:var(--role-metric-label-font-family);font-size:var(--role-metric-label-font-size);font-weight:var(--role-metric-label-font-weight);line-height:var(--role-metric-label-line-height);letter-spacing:var(--role-metric-label-letter-spacing)}.metric-copy strong{font-family:var(--role-metric-primary-font-family);font-size:var(--role-metric-primary-font-size);font-weight:var(--role-metric-primary-font-weight);line-height:var(--role-metric-primary-line-height);letter-spacing:var(--role-metric-primary-letter-spacing)}.metric-copy em{font-family:var(--role-unit-font-family);font-size:var(--role-unit-font-size);font-weight:var(--role-unit-font-weight);line-height:var(--role-unit-line-height);letter-spacing:var(--role-unit-letter-spacing)}.metric-copy small,.health-foot,.health-legend div{font-family:var(--role-body-font-family);font-size:var(--role-body-font-size);font-weight:var(--role-body-font-weight);line-height:var(--role-body-line-height);letter-spacing:var(--role-body-letter-spacing)}.health-score strong{font-family:var(--role-score-font-family);font-size:var(--role-score-font-size);font-weight:var(--role-score-font-weight);line-height:var(--role-score-line-height);letter-spacing:var(--role-score-letter-spacing)}.health-score span,.subheading,.risk-row,.risk-trend>span,.lifecycle-labels span,.age-alert,.overview-legend,.performance-stats span,.performance-chart span,.reminder-grid span,.sla-note,.flow-step>span,.flow-progress,.value-grid span,.ai-insight p,.empty-state{font-family:var(--role-label-font-family);font-size:var(--role-label-font-size);font-weight:var(--role-label-font-weight);line-height:var(--role-label-line-height);letter-spacing:var(--role-label-letter-spacing)}.ai-chip,.trend-up,.live-label,.ai-online,.alarm-status,.work-row i,.work-row b,.building-status{font-family:var(--role-tag-font-family);font-size:var(--role-tag-font-size);font-weight:var(--role-tag-font-weight);line-height:var(--role-tag-line-height);letter-spacing:var(--role-tag-letter-spacing)}.ai-summary span,.alarm-count span,.alarm-main small,.performance-stats em,.reminder-grid em,.flow-step strong em,.ai-summary em,.drisk-info p,.drisk-meta em{font-family:var(--role-label-font-family);font-size:var(--role-label-font-size);font-weight:var(--role-label-font-weight);line-height:var(--role-label-line-height);letter-spacing:var(--role-label-letter-spacing)}.ai-summary strong{font-family:var(--role-metric-secondary-font-family);font-size:var(--role-metric-secondary-font-size);font-weight:var(--role-metric-secondary-font-weight);line-height:var(--role-metric-secondary-line-height);letter-spacing:var(--role-metric-secondary-letter-spacing)}.health-legend strong,.lifecycle-labels strong,.campus-label strong,.building-base strong,.performance-stats strong,.reminder-grid strong,.closure-rate strong,.value-grid strong{font-family:var(--role-data-value-font-family);font-size:var(--role-data-value-font-size);font-weight:var(--role-data-value-font-weight);line-height:var(--role-data-value-line-height);letter-spacing:var(--role-data-value-letter-spacing)}.alarm-count strong{font-family:var(--role-data-large-font-family);font-size:var(--role-data-large-font-size);font-weight:var(--role-data-large-font-weight);line-height:var(--role-data-large-line-height);letter-spacing:var(--role-data-large-letter-spacing)}.risk-row em,.alarm-time,.alarm-duration,.dhr-val,.drisk-prob{font-family:var(--role-numeric-meta-font-family);font-size:var(--role-numeric-meta-font-size);font-weight:var(--role-numeric-meta-font-weight);line-height:var(--role-numeric-meta-line-height);letter-spacing:var(--role-numeric-meta-letter-spacing)}.overview-head h2{font-family:var(--role-section-title-font-family);font-size:var(--role-section-title-font-size);font-weight:var(--role-section-title-font-weight);line-height:var(--role-section-title-line-height);letter-spacing:var(--role-section-title-letter-spacing)}.campus-label,.building-base span,.floor-index,.cabin,.alarm-locator{font-family:var(--role-caption-font-family);font-size:var(--role-caption-font-size);font-weight:var(--role-caption-font-weight);line-height:var(--role-caption-line-height);letter-spacing:var(--role-caption-letter-spacing)}.incident-title small{font-family:var(--role-dialog-kicker-font-family);font-size:var(--role-dialog-kicker-font-size);font-weight:var(--role-dialog-kicker-font-weight);line-height:var(--role-dialog-kicker-line-height);letter-spacing:var(--role-dialog-kicker-letter-spacing)}.incident-title strong{font-family:var(--role-dialog-title-font-family);font-size:var(--role-dialog-title-font-size);font-weight:var(--role-dialog-title-font-weight);line-height:var(--role-dialog-title-line-height);letter-spacing:var(--role-dialog-title-letter-spacing)}.incident-duration strong{font-family:var(--role-dialog-metric-font-family);font-size:var(--role-dialog-metric-font-size);font-weight:var(--role-dialog-metric-font-weight);line-height:var(--role-dialog-metric-line-height);letter-spacing:var(--role-dialog-metric-letter-spacing)}.incident-duration span,.incident-meta-bar span,.incident-dispatch span,.incident-flow i,.incident-flow span,.passenger-note{font-family:var(--role-dialog-body-font-family);font-size:var(--role-dialog-body-font-size);font-weight:var(--role-dialog-body-font-weight);line-height:var(--role-dialog-body-line-height);letter-spacing:var(--role-dialog-body-letter-spacing)}.incident-dispatch strong{font-family:var(--role-data-compact-font-family);font-size:var(--role-data-compact-font-size);font-weight:var(--role-data-compact-font-weight);line-height:var(--role-data-compact-line-height);letter-spacing:var(--role-data-compact-letter-spacing)}.alarm-item,.alarm-main strong{font-family:var(--role-body-font-family);font-size:var(--role-body-font-size);font-weight:var(--role-body-font-weight);line-height:var(--role-body-line-height);letter-spacing:var(--role-body-letter-spacing)}.work-head{font-family:var(--role-table-header-font-family);font-size:var(--role-table-header-font-size);font-weight:var(--role-table-header-font-weight);line-height:var(--role-table-header-line-height);letter-spacing:var(--role-table-header-letter-spacing)}.work-row{font-family:var(--role-table-body-font-family);font-size:var(--role-table-body-font-size);font-weight:var(--role-table-body-font-weight);line-height:var(--role-table-body-line-height);letter-spacing:var(--role-table-body-letter-spacing)}.work-row span>strong,.work-row span>small{font-family:var(--role-table-meta-font-family);font-size:var(--role-table-meta-font-size);font-weight:var(--role-table-meta-font-weight);line-height:var(--role-table-meta-line-height);letter-spacing:var(--role-table-meta-letter-spacing)}.work-row>span:nth-child(1),.work-row>span:nth-child(2),.work-row>span:nth-child(6){font-family:var(--role-numeric-meta-font-family);font-size:var(--role-numeric-meta-font-size);font-weight:var(--role-numeric-meta-font-weight);line-height:var(--role-numeric-meta-line-height);letter-spacing:var(--role-numeric-meta-letter-spacing)}.drawer-sys-id,.drawer-type-tag{font-family:var(--role-drawer-kicker-font-family);font-size:var(--role-drawer-kicker-font-size);font-weight:var(--role-drawer-kicker-font-weight);line-height:var(--role-drawer-kicker-line-height);letter-spacing:var(--role-drawer-kicker-letter-spacing)}.drawer-head h2,.drawer-hero-title{font-family:var(--role-drawer-title-font-family);font-size:var(--role-drawer-title-font-size);font-weight:var(--role-drawer-title-font-weight);line-height:var(--role-drawer-title-line-height);letter-spacing:var(--role-drawer-title-letter-spacing)}.drawer-ai-text,.drawer-health-list,.drawer-risk-list{font-family:var(--role-drawer-body-font-family);font-size:var(--role-drawer-body-font-size);font-weight:var(--role-drawer-body-font-weight);line-height:var(--role-drawer-body-line-height);letter-spacing:var(--role-drawer-body-letter-spacing)}.drawer-stat strong,.drawer-badge strong{font-family:var(--role-drawer-data-font-family);font-size:var(--role-drawer-data-font-size);font-weight:var(--role-drawer-data-font-weight);line-height:var(--role-drawer-data-line-height);letter-spacing:var(--role-drawer-data-letter-spacing)}.drawer-hero-timer strong{font-family:var(--role-drawer-score-font-family);font-size:var(--role-drawer-score-font-size);font-weight:var(--role-drawer-score-font-weight);line-height:var(--role-drawer-score-line-height);letter-spacing:var(--role-drawer-score-letter-spacing)}.drisk-rank,.drisk-prob{font-family:var(--role-dialog-metric-font-family);font-size:var(--role-dialog-metric-font-size);font-weight:var(--role-dialog-metric-font-weight);line-height:var(--role-dialog-metric-line-height);letter-spacing:var(--role-dialog-metric-letter-spacing)}.clock strong,.metric-copy strong,.alarm-count strong,.alarm-time,.alarm-duration,.health-score strong,.health-legend strong,.performance-stats strong,.reminder-grid strong,.value-grid strong,.flow-value,.ai-summary strong,.incident-duration strong,.incident-dispatch strong,.closure-rate strong,.detail-grid strong,.drawer-hero-timer strong,.drawer-badge strong,.drawer-stat strong,.dhr-val,.drisk-prob,.risk-row em,.campus-label strong,.twin-sync-state strong,.ai-insight-metrics strong,.work-row>span:nth-child(1),.work-row>span:nth-child(2),.work-row>span:nth-child(6){font-variant-numeric:tabular-nums}
