:root{--ov-gap:12px;--ov-margin:clamp(12px,1.15vw,24px);--ov-left:clamp(218px,16.2vw,302px);--ov-right:clamp(292px,23vw,420px);--ov-header:clamp(66px,8.2vh,88px);--ov-metrics:clamp(112px,13.2vh,144px);--ov-top:calc(var(--ov-header) + var(--ov-metrics) + 24px);--ov-bottom:30px;--ov-map-left:calc(var(--ov-margin) + var(--ov-left) + var(--ov-gap));--ov-map-right:calc(var(--ov-margin) + var(--ov-right) + var(--ov-gap));--ov-text:clamp(11px,.85vw,16px)}
body{background:#031322;color:#d9edf8;font-size:var(--ov-text)}button,input,select,textarea{font:inherit}button{transition:background .15s,border-color .15s}button[hidden],[hidden]{display:none!important}.ui-icon{width:16px;height:16px;flex-shrink:0}button:focus-visible{outline:2px solid #6ef4ed;outline-offset:2px}
.cockpit-header{height:var(--ov-header);padding:0 var(--ov-margin)}.header-main{height:calc(var(--ov-header) - 8px)}.cockpit-title{height:72px}.cockpit-nav{margin-top:10px}.nav-copy{font-size:clamp(10px,.82vw,15px)}
#metrics.overview-metrics{position:absolute;left:var(--ov-margin);right:var(--ov-margin);top:calc(var(--ov-header) + 12px);height:var(--ov-metrics);display:grid;grid-template-columns:1.12fr 1.9fr 1.3fr 1.3fr var(--ov-right);gap:var(--ov-gap);pointer-events:auto;z-index:5}
#metrics .metric-card{min-width:0;position:relative;background:#041b2fef;border:1px solid #236182;border-radius:5px;padding:12px 14px;text-shadow:none;overflow:hidden}
#metrics .metric-card:before{display:none}#metrics h2{font-size:clamp(12px,.94vw,18px);font-weight:600;display:flex;align-items:center;gap:9px;letter-spacing:1px;margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid #1d506d;white-space:nowrap}#metrics h2 .ui-icon{width:20px;height:20px}#metrics .info-tip{font-size:13px;color:#7598b0;margin-left:auto;cursor:help}#metrics button{border:0;background:transparent;border-radius:3px;padding:0;color:inherit}#metrics button:hover{background:#11496577}#metrics strong{position:static;display:block;font-family:Arial,sans-serif;font-size:clamp(24px,2.5vw,44px);line-height:1.08;letter-spacing:.4px;color:#7be0ff;margin:0;font-weight:600;text-shadow:0 0 16px #16c8ff22}#metrics strong em{font:normal clamp(10px,.8vw,15px) 'Microsoft YaHei',sans-serif;margin-left:5px;color:#badbe9}#metrics .metric-values{display:flex;align-items:center;justify-content:space-around;gap:10px;width:100%;text-align:center}#metrics .metric-values>button,#metrics .metric-values>span{min-width:0;flex:1}#metrics .metric-values span span,#metrics .metric-values>button>span{display:block;font-size:clamp(10px,.8vw,14px);margin-top:6px;white-space:nowrap;color:#aecadb}#metrics .metric-main{display:block;margin:auto}#metrics .metric-sub{font-size:clamp(8px,.66vw,12px);color:#a5c2d2;text-align:center;margin:8px -6px 0;white-space:nowrap}#metrics .alarm-metric #alarmCount{color:#f4cb69}#metrics .alarm-metric #pending{color:#ff6277}#metrics .alarm-metric #processed{color:#38e0d3}#metrics .alarm-metric .metric-values{margin-top:-2px}#metrics .alarm-metric strong{font-size:clamp(25px,2.2vw,40px)}.disposition-track{height:3px;background:#fa5b7044;margin-top:9px;overflow:hidden}.disposition-track i{display:block;height:100%;background:#23c9ca;width:78%}#metrics #alarmProgressLabel{position:static;display:none;font-size:9px;margin-top:3px;color:#82aabd}
#scene,#labels,#mapPins{position:absolute;inset:var(--ov-top) var(--ov-map-right) var(--ov-bottom) var(--ov-map-left);width:auto;height:auto;border-radius:4px;overflow:hidden}#scene{border:1px solid #285674;background:#04172a;z-index:0}#scene canvas{width:100%;height:100%}.vignette{display:none}#labels{z-index:2;pointer-events:none}#mapPins{z-index:3;pointer-events:none}.map-topbar{position:absolute;top:var(--ov-top);left:var(--ov-map-left);right:var(--ov-map-right);height:38px;z-index:4;display:flex;align-items:center;gap:14px;padding:0 16px;background:#041b30c9;border-bottom:1px solid #28567466;pointer-events:none;border-radius:4px 4px 0 0}.map-topbar b{font-size:16px;color:#effaff;padding-right:15px;border-right:1px solid #5caacc}.map-topbar span{font-size:11px;color:#a2c5d7}#mapUpdate{margin-left:auto}.breadcrumb{top:calc(var(--ov-top) + 45px);left:calc(var(--ov-map-left) + 12px);max-width:calc(100vw - var(--ov-map-left) - var(--ov-map-right) - 24px);z-index:4;white-space:nowrap;overflow:hidden}.breadcrumb button{font-size:10px}.scene-tag{display:none}#hint{bottom:calc(var(--ov-bottom) + 66px);right:calc(var(--ov-map-right) + 13px);left:auto;transform:none;max-width:40%;font-size:9px;padding:4px 6px;border-radius:3px;pointer-events:none;background:#031c2dd9}#toast{top:calc(var(--ov-top) + 45px);z-index:30;max-width:80%;text-align:center;font-size:12px}
.directory-panel.panel{top:var(--ov-top);left:var(--ov-margin);bottom:var(--ov-bottom);width:var(--ov-left);padding:14px 12px 8px;display:flex;flex-direction:column;background:#041a2ced;border:1px solid #276484;border-radius:5px;overflow:hidden}.heading{font-size:clamp(13px,1vw,18px);letter-spacing:.6px;height:auto;min-height:26px;padding-bottom:8px;margin-bottom:10px;flex-shrink:0}.heading:after{display:none}.heading small{font-size:7px}.tree-search{display:flex;align-items:center;gap:7px;padding:0 8px;background:#021425;border:1px solid #285671;border-radius:4px}.tree-search .ui-icon{width:13px;height:13px}.tree-search input{border:0;background:none;min-width:0;padding:8px 0;font-size:11px;outline:none;color:#d2edf9}.tree-search input::placeholder{color:#668ba3}.tree-filters{display:flex;gap:5px;margin:9px 0 11px}.tree-filters button{flex:1;padding:5px 0;border:1px solid #245471;background:#082237;font-size:11px;border-radius:4px}.tree-filters button.active{background:#07557e;border-color:#4fd4f2;color:#e3fbff}.directory-panel #directory{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#285978 transparent;padding-right:2px}.tree-home{display:flex;gap:8px;width:100%;padding:8px 9px;text-align:left;margin-bottom:6px;border:1px solid #206b91;background:#083b58}.tree-home small{margin-left:auto;font-size:9px;color:#82b6d1}.tree-row{display:flex;align-items:center;gap:5px;min-height:31px}.tree-row button{border:0;background:transparent;border-radius:3px}.tree-expander{flex:0 0 17px;padding:0}.tree-expander .ui-icon{width:10px;height:10px}.tree-name{display:flex;align-items:center;gap:7px;flex:1;min-width:0;text-align:left;padding:6px 0;font-size:var(--ov-text)}.tree-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-name .ui-icon{width:15px;height:15px}.tree-enter{font-size:9px;color:#63cbea;padding:3px!important}.tree-row.selected{background:#0b42615e;border-radius:3px}.tree-row:hover{background:#10415b55}.count-badge{font:600 10px Arial;color:#fff;background:#ed5268;min-width:17px;height:17px;line-height:17px;border-radius:10px;text-align:center;margin-left:auto}.tree-room{margin-left:17px;border-left:1px solid #21526c;padding-left:7px}.tree-row.room{width:100%;font-size:11px;gap:6px;border:0;background:none;text-align:left;padding:5px 0}.tree-row.room .ui-icon{width:11px;height:11px}.tree-row.room small{margin-left:auto;color:#6598b3;font-size:9px}.tree-point{display:flex;align-items:center;gap:6px;width:100%;font-size:clamp(10px,.76vw,14px);padding:7px 5px 7px 12px;border:0;border-left:1px solid #21516d;border-radius:0;background:none;margin-left:5px;max-width:calc(100% - 5px);text-align:left}.tree-point>.ui-icon{width:12px;height:12px;opacity:.8}.tree-point>span:not(.state-tag){min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tree-point.selected{background:#07537877;border-left-color:#4cdeed}.state-tag{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:10px;color:#6fd2c7;flex-shrink:0}.state-tag i{width:6px;height:6px;background:currentColor;border-radius:50%;display:inline-block}.state-tag.alarm{color:#ff6277}.state-tag.offline{color:#899aaa}.tree-point .state-tag{margin-left:auto;font-size:9px}#treeFoot{border-top:1px solid #22526b;padding-top:10px;margin-top:7px;display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0}#treeFoot small{font-size:9px;color:#6b91a7;flex-basis:100%}
.monitor-panel{position:absolute;right:var(--ov-margin);width:var(--ov-right);top:var(--ov-top);bottom:var(--ov-bottom);z-index:5;border:1px solid #276484;border-radius:5px;background:#041a2cf2;padding:14px;display:flex;flex-direction:column;overflow:hidden}.monitor-panel>.heading{margin-bottom:13px}.analysis-section{flex-shrink:0;border-bottom:1px solid #245371;padding-bottom:12px}.section-title{display:flex;align-items:center;gap:6px;margin-bottom:12px}.section-title h3{font-size:clamp(12px,.95vw,18px);font-weight:600;margin:0;white-space:nowrap}.section-title select{width:auto;margin-left:auto;font-size:11px;padding:3px 9px;border-radius:4px}.analysis-row{display:flex;align-items:center;gap:13px;width:100%;padding:7px 0;border:0;border-radius:0;background:none;text-align:left;font-size:clamp(11px,.85vw,16px)}.analysis-row>span:first-child{width:68px;flex-shrink:0}.analysis-row b{width:23px;text-align:right;font-family:Arial;color:#abdbea;font-size:18px}.analysis-track{height:9px;background:#123a50;flex:1;border-radius:2px;overflow:hidden}.analysis-track i{display:block;height:100%;background:var(--bar);border-radius:2px}.analysis-row.selected{background:#14527388;outline:1px solid #3a88a9;padding-left:4px;padding-right:4px}.analysis-note{font-size:9px;color:#668fa8;margin:8px 0 0}.feed-section{display:flex;flex-direction:column;min-height:0;flex:1;padding-top:15px}.feed-heading{gap:5px;margin-bottom:4px}.live-dot{display:inline-block;width:7px;height:7px;background:#ff526b;border-radius:50%;margin-right:6px;box-shadow:0 0 8px #ff536866}#feedScrollLabel{font-size:9px;color:#81a7bc;margin-left:auto}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;padding:4px;background:none;border:1px solid #285875;border-radius:4px}.icon-button .ui-icon{width:13px;height:13px}.text-link{font-size:10px;background:none;border:0;padding:4px 0;color:#7bd3f2}.alarm-filter-line{min-height:18px;display:flex;gap:6px;font-size:9px;color:#e5c885;align-items:center}#clearAlarmFilter{margin-left:auto;font-size:9px;padding:0;border:0;background:none;color:#78cce9}#alarmFeed{min-height:0;overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#296487 transparent;padding-right:3px;scroll-behavior:auto}.alarm-item{display:flex;gap:9px;padding:13px 0;border-bottom:1px solid #1f4961}.feed-icon{width:25px;min-width:25px;height:28px;border:0;background:none;padding:2px}.feed-icon .ui-icon{width:23px;height:23px;filter:invert(78%) sepia(40%) saturate(1800%) hue-rotate(137deg)}.feed-icon.pending .ui-icon{filter:invert(55%) sepia(80%) saturate(1100%) hue-rotate(315deg)}.feed-main{flex:1;min-width:0}.feed-title{display:flex;gap:5px;align-items:center}.feed-title>button{flex:1;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;background:none;padding:0;font-size:clamp(11px,.89vw,16px);font-weight:600;color:#e3edf9}.alarm-phase{font-size:9px;padding:2px 6px;border:1px solid #e2576977;color:#ff7a88;background:#6b233c44;border-radius:9px;white-space:nowrap;line-height:1.1}.alarm-phase.done{border-color:#36cabb77;color:#4ed8c7;background:#12676b33}.feed-main p{font-size:10px;color:#88adc3;margin:7px 0}.feed-bottom{display:flex;gap:8px;align-items:center;font-size:9px;color:#a6c3d4}.feed-bottom>span{margin-right:auto;white-space:nowrap}.feed-bottom button{padding:0;background:none;border:0;font-size:10px;color:#66d6f8}.feed-bottom button:hover,.text-link:hover{color:#e2ffff}#feedSummary{font-size:9px;color:#688fa5;border-top:1px solid #19405a;padding-top:8px;margin-top:6px}.empty-state{text-align:center;padding:40px 10px;color:#7ca4ba}.empty-state button{display:block;margin:15px auto;padding:7px}
.map-legend{position:absolute;bottom:calc(var(--ov-bottom) + 13px);left:calc(var(--ov-map-left) + 13px);width:clamp(280px,21vw,365px);border:1px solid #2c9fc7;border-radius:8px;background:#021b30eb;z-index:6;padding:10px 12px;box-shadow:0 5px 18px #00101c77;backdrop-filter:blur(8px)}.legend-heading{display:flex;align-items:center;gap:8px}.legend-heading strong{display:flex;align-items:center;gap:7px;font-size:13px;color:#dbf5ff}.legend-heading>span{font-size:9px;color:#789daf;margin-left:auto}.legend-heading button{border:0;background:none;padding:0;font-size:10px;color:#7fd7ef}.legend-heading button .ui-icon{width:11px;height:11px}.map-legend #layers{display:grid;grid-template-columns:repeat(3,1fr);gap:11px 6px;margin:14px 0 12px}.legend-choice{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:12px;white-space:nowrap}.legend-choice input{appearance:auto;width:13px;height:13px;padding:0;accent-color:#22bcee;cursor:pointer}.category-icon{display:inline-block;width:19px;height:19px;background:var(--category);mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat;flex-shrink:0}.legend-options{display:flex;align-items:center;gap:11px;border-top:1px solid #387e98;padding-top:10px;font-size:10px;white-space:nowrap}.legend-options label{display:flex;gap:5px;align-items:center;cursor:pointer}.legend-options input{appearance:none;display:inline-block;position:relative;width:25px;height:13px;border-radius:9px;padding:0;background:#29455b;border:0;cursor:pointer}.legend-options input:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;top:2px;left:2px;background:#a4bbcc;transition:.15s}.legend-options input:checked{background:#0dbeea}.legend-options input:checked:before{left:14px;background:#fff}.heat-key{display:flex;align-items:center;gap:5px;font-size:9px;color:#80a3b9;margin-left:auto}.heat-key i{display:inline-block;width:38px;height:5px;background:linear-gradient(90deg,#52cee5,#f9d05a,#f56a5c)}.map-legend.collapsed{width:auto;min-width:210px}.map-legend.collapsed .legend-content{display:none}.map-legend.collapsed #legendCollapse{transform:rotate(180deg)}
.toolbar{left:auto;right:calc(var(--ov-map-right) + 13px);bottom:calc(var(--ov-bottom) + 13px);transform:none;gap:4px;max-width:calc(100vw - var(--ov-map-left) - var(--ov-map-right) - 32px);border-radius:7px;padding:6px;background:#021b30eb;border:1px solid #287a9e;z-index:6}.toolbar button{font-size:11px;padding:8px 9px;border:0;display:flex;align-items:center;gap:4px}.toolbar .ui-icon{width:14px;height:14px}.toolbar #penetrate{display:none}.inside-view .toolbar #penetrate{display:flex}.toolbar #clean{display:none}
.business-pin{position:absolute;width:32px;height:42px;transform:translate(-50%,-100%);pointer-events:auto;border:0;background:none!important;box-shadow:none;padding:0;filter:drop-shadow(0 2px 5px #001421cc);--pin-accent:var(--category)}.pin-base{position:absolute;inset:0;background:var(--pin-accent);mask:url('assets/icons/geo-alt-fill.svg') center/contain no-repeat;-webkit-mask:url('assets/icons/geo-alt-fill.svg') center/contain no-repeat}.pin-symbol{position:absolute;left:7px;top:7px;width:18px;height:18px;border-radius:50%;background:#092a3d;border:1px solid #c5f9ff55}.pin-symbol:after{content:"";position:absolute;inset:3px;background:#e3ffff;mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat}.business-pin[data-status="报警"]{--pin-accent:#ff6977}.business-pin[data-status="离线"]{--pin-accent:#8394a5;opacity:.75}.business-pin small{display:none;position:absolute;bottom:44px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#041b30ee;border:1px solid #427f9e;border-radius:4px;padding:5px 8px;color:#e4faff;font-size:11px}.business-pin:hover small,.business-pin.selected small{display:block}.business-pin:hover,.business-pin.selected{z-index:7;filter:drop-shadow(0 0 8px #60e9ff)}#labels .label.park{font-size:clamp(9px,.82vw,14px);padding-bottom:18px}#labels .label.park .point-card{min-width:0;padding:6px 9px;border-radius:3px 10px 3px 3px}#labels .label.park .point-title{gap:5px;line-height:14px}#labels .label .point-card:before{display:none}#labels .label.park .point-anchor{height:16px}#labels .label.park .point-anchor:before{width:5px;height:5px;top:4px}#labels .label.park .point-anchor:after,#labels .label.park .point-anchor i{display:none}.map-alarm-count{margin-left:4px;background:#ec5b6e;color:#fff;border-radius:50%;font:600 11px/18px Arial;min-width:18px;text-align:center}.label.park.alert .point-card:after{display:none!important}#labels .label[data-kind]{--point-accent:#58c7ee;--point-glow:#41bbff22}.label.sensor.offline{opacity:.65}
#right.point-drawer{display:none;position:absolute;top:calc(var(--ov-top) + 43px);bottom:calc(var(--ov-bottom) + 76px);right:calc(var(--ov-map-right) + 10px);left:auto;width:clamp(280px,23vw,390px);padding:15px;z-index:9;border:1px solid #46bddc;border-radius:7px;background:#031b2bf5;box-shadow:0 10px 35px #0008;overflow:auto}#right.is-open{display:block}.drawer-top{display:flex;gap:8px;align-items:flex-start;position:sticky;top:-15px;background:#031b2b;padding-top:5px;z-index:2}.drawer-top>.heading{flex:1;min-width:0;flex-wrap:wrap;gap:4px}.drawer-top .heading small{font-size:9px}.point-detail-name{font-size:17px;font-weight:600;line-height:1.5;margin:16px 0;display:flex;gap:8px;align-items:center}.point-drawer .row{font-size:12px;padding:11px 0;gap:12px}.point-drawer .row>b{max-width:65%;text-align:right}.point-drawer .caption{font-size:13px}.point-drawer .form{font-size:12px;gap:12px}.point-drawer .action{font-size:12px;padding:9px}.detail-note{font-size:10px;color:#7396ac;line-height:1.7;margin-top:18px}.related-alarm{display:flex;gap:6px;align-items:center;justify-content:space-between;width:100%;padding:10px 5px;margin-top:7px;font-size:11px}.point-drawer .video{height:130px}
dialog{color:#d9edf8;background:#041a2c;border:1px solid #3b9cc6;border-radius:10px;width:min(1240px,92vw);padding:24px;max-height:85vh;box-shadow:0 20px 80px #0009}dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}.dialog-title{display:flex;justify-content:space-between;align-items:flex-start}.dialog-title h2{font-size:22px;margin:0}.dialog-title p{font-size:12px;color:#759db5;margin:8px 0 0}.history-filters{display:flex;gap:12px;margin:24px 0 16px;align-items:center}.history-filters input{max-width:360px;border-radius:4px}.history-filters select{width:130px;border-radius:4px}.history-filters span{margin-left:auto;color:#88aabe;font-size:12px}.history-table-wrap{max-height:55vh;overflow:auto;scrollbar-width:thin;scrollbar-color:#285978 transparent}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #20435a}th{background:#10364d;color:#9bd8ef;position:sticky;top:0;font-weight:500}td small{display:block;color:#789fb3;margin-top:4px}td button{font-size:11px;padding:4px 10px}.empty-state{font-size:12px}footer{height:22px;font-size:9px;padding:0 var(--ov-margin);background:#041522;border-top:1px solid #16364c}.clean #scene,.clean #labels,.clean #mapPins{inset:var(--ov-header) 0 24px}.clean .monitor-panel,.clean .map-legend,.clean .map-topbar{display:none}
@media(max-width:1500px){.toolbar{bottom:calc(var(--ov-bottom) + 144px)}#hint{bottom:calc(var(--ov-bottom) + 190px);max-width:45%;font-size:8px}.toolbar button{padding:6px;font-size:10px}.map-legend{width:290px;padding:9px 10px}.map-legend #layers{gap:9px 5px;margin:11px 0}.legend-choice{font-size:11px;gap:6px}.category-icon{width:16px;height:16px}.legend-options{gap:8px;font-size:9px}.map-legend .heat-key{font-size:8px}.map-legend .heat-key i{width:25px}.metric-card h2{letter-spacing:0!important}#metrics .metric-card{padding:10px}#metrics .metric-sub{font-size:8px}.monitor-panel{padding:12px}.feed-title>button{font-size:11px}.feed-heading h3{font-size:12px}.feed-heading .text-link{font-size:9px}.feed-heading #feedScrollLabel{font-size:8px}.analysis-row{padding:6px 0}.alarm-item{padding:11px 0}.feed-bottom{gap:5px;font-size:8px}.feed-bottom button{font-size:9px}.feed-icon{width:19px;min-width:19px}.feed-icon .ui-icon{width:18px;height:18px}.alarm-phase{font-size:8px;padding:2px 4px}.tree-point{font-size:10px;padding-left:6px}.tree-point .state-tag{font-size:8px}.tree-row{min-height:28px}.tree-name{font-size:11px}.tree-point>.ui-icon{width:10px;height:10px}.heading small{display:none}.cockpit-title{flex-basis:380px}.title-copy{left:59px;right:36px}.cockpit-title h1{font-size:20px}.title-skin{transform:scale(.75)}}
@media(max-height:780px){:root{--ov-header:70px;--ov-metrics:108px}#metrics .metric-card{padding:8px 10px}#metrics h2{padding-bottom:6px;margin-bottom:7px;font-size:12px}#metrics strong{font-size:28px}#metrics .metric-values>button>span,#metrics .metric-values span span{font-size:10px;margin-top:5px}.metric-sub{margin-top:7px!important}.disposition-track{margin-top:5px}.directory-panel.panel,.monitor-panel{padding:10px}.analysis-section{padding-bottom:8px}.analysis-row{padding:4px 0;font-size:11px}.analysis-row b{font-size:15px}.analysis-note{font-size:8px;margin-top:5px}.section-title{margin-bottom:6px}.feed-section{padding-top:10px}.alarm-item{padding:10px 0}.map-legend #layers{margin:9px 0}.map-legend{padding:8px 10px}.legend-options{padding-top:8px}.toolbar{bottom:calc(var(--ov-bottom) + 133px)}#hint{bottom:calc(var(--ov-bottom) + 175px)}.tree-point{padding-top:6px;padding-bottom:6px}#treeFoot{gap:8px;padding-top:7px}.tree-search input{padding:6px 0}.tree-filters{margin:7px 0}.tree-filters button{padding:4px 0}.tree-home{padding:6px}.cockpit-title{height:66px}.title-copy{top:16px}.cockpit-header:after{height:14px}}
@media(min-width:1750px){#metrics #alarmProgressLabel{display:block}.monitor-panel{padding:18px}.feed-heading{gap:8px}.feed-heading .text-link{font-size:12px}.feed-main p{font-size:12px}.feed-bottom{font-size:11px}.feed-bottom button{font-size:12px}.alarm-phase{font-size:11px}.alarm-item{padding:17px 0}.analysis-row>span:first-child{width:90px}.analysis-note{font-size:11px}.tree-row{min-height:36px}.tree-row.room{font-size:13px}.tree-point{padding-top:9px;padding-bottom:9px}.tree-point .state-tag{font-size:11px}.tree-filters button,.tree-search input{font-size:13px}.legend-choice{font-size:14px}.map-legend #layers{margin:16px 0}.legend-heading strong{font-size:16px}.legend-options{font-size:12px}.map-legend{padding:13px 15px}.toolbar button{font-size:13px;padding:10px 13px}.map-topbar{height:42px}.map-topbar span{font-size:12px}.analysis-row{padding:10px 0}}
#metrics .metric-card:not(.alarm-metric) strong{color:#7be0ff}
body.compact-preview{position:absolute;width:1280px;height:720px;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--preview-scale));transform-origin:center;--ov-margin:14px;--ov-left:218px;--ov-right:296px;--ov-header:70px;--ov-metrics:108px;--ov-text:11px}
.compact-preview .toolbar{max-width:none}.compact-preview #hint{max-width:none}.compact-preview .breadcrumb{max-width:680px}.compact-preview .cockpit-title{flex-basis:380px}.compact-preview .cockpit-nav button{font-size:11px}.compact-preview .nav-copy{font-size:11px}.compact-preview .map-topbar{height:38px}.compact-preview .map-topbar b{font-size:15px}.compact-preview .map-topbar span{font-size:11px;white-space:nowrap}.compact-preview #right.point-drawer{width:290px}.compact-preview dialog{width:1160px;max-height:620px}.compact-preview .history-table-wrap{max-height:430px}
.pin-count{position:absolute;right:-5px;top:-3px;min-width:15px;height:15px;line-height:15px;border-radius:9px;background:#073e5b;color:#dcfbff;border:1px solid #59daf2;font-size:9px}
#metrics .disposition-track i{display:block;height:3px}
/* State owns color; the solid pictogram alone identifies the business domain. */
.business-pin{width:42px;height:56px;--pin-accent:#38d5f5;filter:drop-shadow(0 2px 3px #00111d66)}
.business-pin .pin-base{inset:0;background:url('assets/icons/point-normal.svg') center/contain no-repeat;mask:none;-webkit-mask:none}
.business-pin .pin-symbol{left:12px;top:10px;width:18px;height:18px;border:0;border-radius:0;background:transparent}
.business-pin .pin-symbol:after{inset:0;background:var(--pin-accent)}
.business-pin[data-status="报警"]{--pin-accent:#fb7b82}
.business-pin[data-status="报警"] .pin-base{background-image:url('assets/icons/point-alarm.svg')}
.business-pin[data-status="离线"]{--pin-accent:#94a1af;opacity:1}
.business-pin[data-status="离线"] .pin-base{background-image:url('assets/icons/point-offline.svg')}
.business-pin small{bottom:59px;border-color:color-mix(in srgb,var(--pin-accent) 50%,transparent);font-weight:400}
.business-pin:hover,.business-pin.selected{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--pin-accent) 35%,transparent));z-index:7}
.business-pin:hover .pin-symbol,.business-pin.selected .pin-symbol{filter:brightness(1.2)}
.business-pin .pin-count{top:0;right:-1px;min-width:14px;height:14px;font:600 8px/12px Arial;color:var(--pin-accent);border-color:color-mix(in srgb,var(--pin-accent) 45%,transparent);background:#082031;border-radius:7px}
.legend-choice .category-icon{background:#38cdf0;width:20px;height:20px}
.state-tag.normal{color:#41c8f1}
