.status-code-info{border:1px solid var(--border);background:var(--bg-elevated);border-radius:9px;margin:10px 0 12px;padding:11px 12px}.status-code-info.warning{border-color:var(--warning);background:var(--warning-light)}.status-code-info.running{background:var(--success-light);border-color:#0fb98140}.status-code-info-head{color:var(--primary);align-items:center;gap:6px;font-size:10px;display:flex}.status-code-info-head b{color:var(--osn-text-title);margin-left:auto;font-size:11px}.status-code-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px;display:grid}.status-code-info-grid>div{background:var(--bg-card);border-radius:6px;min-width:0;padding:7px 8px}.status-code-info-grid span{color:var(--text-light);font-size:8px;display:block}.status-code-info-grid b{color:var(--osn-text-title);overflow-wrap:anywhere;margin-top:3px;font:700 10px ui-monospace,monospace;display:block}.status-code-info p{color:var(--text-mid);margin:9px 0 0;font-size:10px;line-height:1.65}.status-code-info-action{color:var(--primary)!important}.status-code-info-hint{background:var(--bg-card);border-radius:6px;padding:7px 9px;color:var(--text-mid)!important;font-size:9px!important}.status-code-info a{color:var(--primary);align-items:center;gap:4px;margin-top:8px;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}@media (width<=700px){.status-code-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.topology-shell{color:var(--osn-text-normal);position:relative}.topology-shell:fullscreen{background:var(--bg-page);padding:18px;overflow:auto}.topology-exit-fullscreen{z-index:60;border:1px solid var(--primary);color:#fff;background:var(--primary);cursor:pointer;height:32px;box-shadow:var(--shadow-sm,0 2px 10px #0000002e);border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex;position:fixed;bottom:18px;right:16px}.topology-exit-fullscreen:hover{filter:brightness(1.06)}.topology-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.topology-title{color:var(--osn-text-title);font-size:17px;font-weight:800}.topology-subtitle{color:var(--text-light);margin-top:5px;font-size:11px;line-height:1.6}.topology-toolbar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.topology-tool{border:1px solid var(--border);background:var(--bg-card);height:32px;color:var(--text-mid);cursor:pointer;border-radius:7px;align-items:center;gap:5px;padding:0 10px;font-size:11px;display:inline-flex}.topology-tool:hover,.topology-tool.active{color:var(--primary);border-color:var(--primary);background:var(--primary-50)}.topology-summary{border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.topology-summary-item{border-right:1px solid var(--border);background:var(--bg-card);cursor:pointer;min-width:0;padding:12px 14px;transition:background .16s,box-shadow .16s}.topology-summary-item:hover,.topology-summary-item:focus-visible{background:var(--primary-50);box-shadow:inset 0 0 0 1px var(--primary);outline:none}.topology-summary-item:nth-child(4n){border-right:0}.topology-summary-item:nth-child(-n+4){border-bottom:1px solid var(--border)}.topology-summary-item:last-child{border-right:0}.topology-summary-label{color:var(--text-light);font-size:10px}.topology-summary-value{color:var(--osn-text-title);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:5px;font-size:18px;font-weight:800}.topology-summary-note{color:var(--text-light);margin-top:3px;font-family:ui-monospace,monospace;font-size:9px}.topology-viewport{background:var(--bg-page);overflow:auto}.topology-svg{width:100%;min-width:1080px;height:auto;display:block}.topology-svg text{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}.topology-svg .mono{font-variant-numeric:tabular-nums;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.topology-node{cursor:pointer;outline:none}.topology-node:hover .node-frame,.topology-node:focus-visible .node-frame,.topology-node.selected .node-frame{stroke:var(--primary);stroke-width:2px}.topology-node:focus-visible{filter:drop-shadow(0 0 4px var(--primary-glow))}.node-frame{fill:var(--bg-card);stroke:var(--border)}.node-title{fill:var(--osn-text-title);font-size:14px;font-weight:700}.node-subtitle{fill:var(--text-light);font-size:10px}.node-value{fill:var(--osn-text-title);font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.node-meta{fill:var(--text-mid);font-size:10px}.zone-title{fill:var(--text-mid);letter-spacing:.12em;font-size:12px;font-weight:800}.zone-subtitle{fill:var(--text-light);letter-spacing:.04em;font-size:9px}.pipe-base{fill:none;stroke:var(--border-hover,#9ab0c4);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.pipe-supply{stroke:#d47a23}.pipe-return{stroke:#1878c8}.pipe-source{stroke:#0a9484}.pipe-electric{stroke:#8b5cf6;stroke-dasharray:6 5}.pipe-active{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:10 7;animation:1.8s linear infinite topology-flow}.pipe-label{fill:var(--text-light);paint-order:stroke;stroke:var(--bg-page);stroke-width:4px;stroke-linejoin:round;font-size:9px}.pipe-label-strong{fill:var(--text-mid);paint-order:stroke;stroke:var(--bg-page);stroke-width:4px;font-size:10px;font-weight:700}@keyframes topology-flow{to{stroke-dashoffset:-34px}}.topology-detail{border-top:1px solid var(--border);background:var(--bg-card);grid-template-columns:minmax(240px,.75fr) minmax(0,2fr);gap:16px;padding:16px 18px;display:grid}.topology-detail-title{color:var(--osn-text-title);font-size:15px;font-weight:800}.topology-detail-code{color:var(--primary);margin-top:4px;font:10px ui-monospace,monospace}.topology-detail-description{color:var(--text-mid);margin-top:10px;font-size:11px;line-height:1.7}.topology-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.topology-metric{border:1px solid var(--border);background:var(--bg-elevated);border-radius:7px;min-width:0;padding:9px 10px}.topology-metric-label{color:var(--text-light);font-size:9px}.topology-metric-value{color:var(--osn-text-title);font-variant-numeric:tabular-nums;margin-top:4px;font-size:15px;font-weight:750}.topology-metric-register{color:var(--text-light);overflow-wrap:anywhere;margin-top:3px;font:9px ui-monospace,monospace}.topology-status{border-radius:999px;align-items:center;gap:5px;margin-top:9px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.status-running{color:var(--success);background:var(--success-light)}.status-stopped,.status-unknown{color:var(--text-mid);background:var(--bg-elevated)}.status-warning{color:var(--warning);background:var(--warning-light)}.topology-table-wrap{padding:0 18px 18px;overflow-x:auto}.topology-table{border-collapse:collapse;width:100%;min-width:980px}.topology-table th{color:var(--text-light);background:var(--bg-elevated);border-bottom:1px solid var(--border);text-align:left;padding:10px 12px;font-size:10px}.topology-table td{color:var(--text-mid);border-bottom:1px solid var(--border);padding:10px 12px;font-size:11px}.topology-table tbody tr{cursor:pointer;outline:none}.topology-table tr:hover td,.topology-table tr.selected td,.topology-table tr:focus-visible td{background:var(--primary-50)}.topology-table tr.selected td:first-child,.topology-table tr:focus-visible td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.topology-table td:first-child{color:var(--osn-text-title);font-weight:700}.topology-source-errors{color:var(--warning);background:var(--warning-light);padding:8px 18px;font-size:11px}.topology-footnote{border-top:1px solid var(--border);color:var(--text-light);flex-wrap:wrap;gap:16px;padding:10px 18px;font-size:10px;line-height:1.6;display:flex}@media (width<=1200px){.topology-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.topology-summary-item:nth-child(2n){border-right:0}.topology-summary-item:nth-child(-n+6){border-bottom:1px solid var(--border)}.topology-detail{grid-template-columns:1fr}}@media (width<=700px){.topology-summary-item{padding:10px}.topology-summary-value{font-size:15px}.topology-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.topology-header{padding:13px}.topology-footnote{padding-inline:13px}}@media (prefers-reduced-motion:reduce){.pipe-active{stroke-dasharray:none;animation:none}}@media print{.topology-toolbar,.topbar,.sidebar{display:none!important}.topology-viewport{overflow:visible}.topology-svg{min-width:0}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.mode-flow-card{border:1px solid var(--border-1,#e3e9ee);background:var(--surface-1,#fff);border-radius:14px;margin-top:12px;padding:14px 16px 10px;box-shadow:0 1px 3px #0f172a0a}.mode-flow-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.mode-flow-title{color:var(--text-1,#17222c);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.mode-flow-badge{border:1px solid;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700}.mode-flow-sub{color:var(--text-3,#7b8b97);max-width:760px;margin-top:4px;font-size:12px;line-height:1.5}.mode-flow-valves{flex-wrap:wrap;gap:6px;max-width:420px;margin:0;padding:0;list-style:none;display:flex}.mode-flow-valves li{border:1px solid var(--border-1,#e3e9ee);background:var(--surface-2,#f7f9fb);color:var(--text-2,#46596a);border-radius:8px;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;display:inline-flex}.mode-flow-valves li b{color:var(--text-1,#17222c);font-weight:700}.mode-flow-svg{width:100%;height:auto;margin-top:8px;display:block}.mode-flow-link.dim{stroke:var(--border-1,#dfe6ec);stroke-width:1.2px;stroke-dasharray:5 5}.mode-flow-link.active{filter:drop-shadow(0 1px 1px #0f172a1f)}.mode-flow-node.engaged text{paint-order:stroke}.mode-flow-note{color:var(--text-2,#46596a);margin:6px 0 2px;font-size:12px;line-height:1.6}.digital-twin{color:var(--text-mid)}.digital-twin:fullscreen{background:var(--bg-page);padding:14px;overflow:auto}.twin-exit-fullscreen{z-index:60;border:1px solid var(--primary);color:#fff;background:var(--primary);cursor:pointer;height:32px;box-shadow:var(--shadow-sm,0 2px 10px #0000002e);border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex;position:fixed;bottom:18px;right:16px}.twin-exit-fullscreen:hover{filter:brightness(1.06)}.twin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.twin-title{color:var(--osn-text-title);font-size:17px;font-weight:800}.twin-subtitle{color:var(--text-light);margin-top:4px;font-size:10px;line-height:1.6}.twin-toolbar-actions{flex-wrap:wrap;gap:6px;display:flex}.twin-tool{border:1px solid var(--border);min-height:31px;color:var(--text-mid);background:var(--bg-card);cursor:pointer;border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-size:10px;display:inline-flex}.twin-tool:hover,.twin-tool.active{color:var(--primary);border-color:var(--primary);background:var(--primary-50)}.twin-layout{grid-template-columns:210px minmax(0,1fr) 250px;align-items:stretch;gap:12px;display:grid}.twin-side{border:1px solid var(--border);background:var(--bg-card);min-width:0;box-shadow:var(--shadow-xs);border-radius:11px;padding:13px}.twin-side-title{color:var(--osn-text-title);justify-content:space-between;align-items:center;gap:8px;margin-bottom:11px;font-size:12px;font-weight:800;display:flex}.twin-side-title small{color:var(--primary);font:8px ui-monospace,monospace}.twin-summary-grid{gap:7px;display:grid}.twin-summary-item{background:var(--bg-elevated);border-radius:7px;padding:9px 10px}.twin-summary-item span{color:var(--text-light);font-size:9px;display:block}.twin-summary-item b{color:var(--osn-text-title);margin-top:4px;font:750 16px ui-monospace,monospace;display:block}.twin-scene-note{color:var(--text-light);align-items:flex-start;gap:7px;margin-top:13px;font-size:10px;line-height:1.7;display:flex}.twin-scene-note.secondary{border-top:1px solid var(--border);padding-top:10px}.twin-live-dot{background:var(--success);width:7px;height:7px;box-shadow:0 0 6px var(--success);border-radius:50%;flex:none;margin-top:4px}.twin-stage{border:1px solid var(--border);min-width:0;height:650px;box-shadow:var(--shadow-sm);background:#edf4f8;border-radius:12px;position:relative;overflow:hidden}.twin-stage canvas{touch-action:none;width:100%;height:100%;display:block}.twin-stage-badge{z-index:10;border:1px solid var(--border);color:var(--primary);pointer-events:none;background:#ffffffe6;border-radius:7px;padding:5px 9px;font:9px ui-monospace,monospace;position:absolute;top:10px;left:10px}.twin-nav-list{max-height:590px;overflow-y:auto}.twin-nav-item{border:0;border-top:1px solid var(--border);width:100%;color:var(--text-mid);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:8px;padding:8px 6px;display:flex}.twin-nav-item:first-child{border-top:0}.twin-nav-item:hover,.twin-nav-item.active{color:var(--primary);background:var(--primary-50)}.twin-nav-item span:last-child{min-width:0}.twin-nav-item b{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.twin-nav-item small{color:var(--text-light);margin-top:2px;font:8px ui-monospace,monospace;display:block}.twin-nav-status{background:var(--text-light);border-radius:50%;flex:none;width:6px;height:6px}.twin-nav-status.running{background:var(--success)}.twin-nav-status.stopped{background:var(--text-light)}.twin-detail{border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-xs);border-radius:11px;margin-top:12px;padding:15px 16px}.twin-detail-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.twin-detail-title{color:var(--osn-text-title);font-size:14px;font-weight:800}.twin-detail-code{color:var(--primary);margin-top:3px;font:9px ui-monospace,monospace}.twin-status{border-radius:99px;padding:3px 8px;font-size:9px;font-weight:700;display:inline-flex}.twin-status.running{color:var(--success);background:var(--success-light)}.twin-status.stopped,.twin-status.unknown{color:var(--text-mid);background:var(--bg-elevated)}.twin-status.warning{color:var(--warning);background:var(--warning-light)}.twin-detail-description{color:var(--text-light);margin:9px 0 12px;font-size:10px;line-height:1.65}.twin-detail-metrics{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;display:grid}.twin-metric{border:1px solid var(--border);background:var(--bg-elevated);border-radius:7px;min-width:0;padding:9px 10px}.twin-metric span{color:var(--text-light);font-size:9px;display:block}.twin-metric b{color:var(--osn-text-title);overflow-wrap:anywhere;margin-top:4px;font:750 14px ui-monospace,monospace;display:block}.twin-metric small{color:var(--text-light);overflow-wrap:anywhere;margin-top:3px;font:8px ui-monospace,monospace;display:block}.twin-node-label{border:1px solid var(--border);min-width:76px;color:var(--osn-text-title);cursor:pointer;text-align:center;white-space:nowrap;background:#fffffff0;border-radius:6px;gap:1px;padding:4px 7px;display:grid;box-shadow:0 2px 8px #0b2b4514}.twin-node-label span{font-size:10px;font-weight:750}.twin-node-label small{color:var(--text-light);font-size:8px}.twin-node-label:hover,.twin-node-label.running{border-color:var(--success)}.twin-node-label.warning{border-color:var(--warning)}.twin-node-label.stopped,.twin-node-label.unknown{border-color:var(--border)}.twin-fleet-note{border:1px solid var(--border);color:var(--primary);white-space:nowrap;background:#ffffffe6;border-radius:6px;padding:5px 9px;font-size:10px}@media (width<=1250px){.twin-layout{grid-template-columns:180px minmax(0,1fr) 215px}.twin-stage{height:600px}}@media (width<=1000px){.twin-layout{grid-template-columns:1fr}.twin-stage{order:-1;height:540px}.twin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.twin-nav-list{max-height:300px}}@media (width<=600px){.twin-stage{height:470px}.twin-toolbar-actions{width:100%}.twin-tool{flex:auto;justify-content:center}.twin-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.twin-detail{padding:13px}.twin-detail-heading{align-items:flex-start}.twin-fleet-note{white-space:normal;text-align:center;font-size:9px}}@media (prefers-reduced-motion:reduce){.digital-twin *{transition:none!important;animation:none!important}}.twin-mode-chip{border:1px solid var(--border-2,#d7dfe6);background:var(--surface-2,#f6f8fa);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;margin-right:10px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.twin-mode-chip .twin-mode-dot{border-radius:50%;flex:none;width:7px;height:7px}.twin-mode-chip .twin-mode-period{opacity:.75;border-left:1px solid;margin-left:2px;padding-left:6px;font-weight:500}.twin-mode-3d{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex;box-shadow:0 2px 10px #0f172a1f}.twin-mode-3d-dot{border-radius:50%;width:6px;height:6px}.twin-mode-strip{align-items:center;gap:6px;margin-right:10px;display:inline-flex}.twin-mode-pill{border:1px solid var(--border-2,#d7dfe6);background:var(--surface-2,#f6f8fa);color:var(--text-3,#7b8b97);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.twin-mode-pill i{border-radius:50%;width:6px;height:6px;display:inline-block}.twin-mode-pill.active{font-weight:700;box-shadow:0 1px 6px #0f172a14}.ops-cockpit-data{gap:18px;margin-top:18px;display:grid}.ops-section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.ops-section-head .project-card-title{align-items:center;gap:7px;display:flex}.ops-button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ops-metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.ops-metric{border:1px solid var(--border);background:var(--bg-light);border-radius:10px;min-width:0;padding:15px}.ops-metric>span{color:var(--text-light);font-size:11px;display:block}.ops-metric>b{color:var(--osn-text-title);overflow-wrap:anywhere;margin-top:8px;font-size:22px;line-height:1.25;display:block}.ops-metric>b small{color:var(--text-light);margin-left:4px;font-size:11px;font-weight:500}.ops-metric>em{color:var(--text-mid);margin-top:7px;font-size:10px;font-style:normal;line-height:1.5;display:block}.ops-metric.good{border-color:color-mix(in srgb, var(--success) 32%, var(--border))}.ops-metric.warning{border-color:color-mix(in srgb, var(--warning) 45%, var(--border))}.ops-chart{height:270px}.ops-inline-warning{color:var(--warning);background:var(--warning-50,var(--bg-light));border-radius:8px;margin-top:12px;padding:10px 12px;font-size:12px}.ops-health-list{gap:9px;display:grid}.ops-health-list>div{border-bottom:1px solid var(--border);color:var(--text-mid);grid-template-columns:20px 1fr auto;align-items:center;gap:8px;padding:10px 0;font-size:12px;display:grid}.ops-health-list b{color:var(--text-dark);font-weight:600}.ops-strategy-state{background:var(--bg-light);border-radius:9px;gap:5px;margin-top:16px;padding:13px;display:grid}.ops-strategy-state>span,.ops-strategy-state>small{color:var(--text-light);font-size:11px}.ops-strategy-state>b{color:var(--osn-text-title);font-size:13px}.ops-table-wrap{overflow-x:auto}.ops-table{border-collapse:collapse;width:100%;font-size:12px}.ops-table th{color:var(--text-light);background:var(--bg-light);text-align:left;white-space:nowrap;padding:10px 12px;font-weight:600}.ops-table td{border-bottom:1px solid var(--border);color:var(--text-mid);vertical-align:middle;padding:11px 12px}.ops-table td:nth-child(3){min-width:220px;color:var(--text-dark)}.ops-status{width:fit-content;color:var(--text-mid);background:var(--bg-light);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.ops-status.critical,.ops-status.warning{color:var(--warning);background:color-mix(in srgb, var(--warning) 10%, var(--bg-card))}.ops-status.good,.ops-status.info{color:var(--success);background:color-mix(in srgb, var(--success) 10%, var(--bg-card))}.ops-insight-list{gap:14px;display:grid}.ops-insight-card{border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--bg-card);border-radius:11px;padding:18px}.ops-insight-card.critical{border-left-color:var(--error)}.ops-insight-card.warning{border-left-color:var(--warning)}.ops-insight-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.ops-insight-head>div{align-items:center;gap:10px;min-width:0;display:flex}.ops-insight-head h3{color:var(--osn-text-title);margin:0;font-size:15px}.ops-source{color:var(--text-light);flex-shrink:0;font-size:10px}.ops-insight-summary{color:var(--text-dark);margin:13px 0 10px;font-size:13px;line-height:1.75}.ops-insight-recommendation{color:var(--text-mid);background:var(--bg-light);border-radius:8px;gap:8px;padding:11px 12px;font-size:12px;line-height:1.65;display:flex}.ops-insight-recommendation b{color:var(--primary);flex-shrink:0}.ops-insight-evidence{color:var(--text-light);flex-wrap:wrap;gap:12px;margin-top:11px;font-size:10px;display:flex}.ops-evidence-details{color:var(--text-mid);margin-top:12px;font-size:11px}.ops-evidence-details summary{color:var(--primary);cursor:pointer}.ops-evidence-details dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 0;display:grid}.ops-evidence-details dl>div{background:var(--bg-light);border-radius:7px;padding:9px}.ops-evidence-details dt{color:var(--text-light)}.ops-evidence-details dd{color:var(--text-dark);margin:4px 0 0;font-weight:600}.ops-insight-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:13px;padding-top:12px;display:flex}@media (width<=1500px){.ops-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.ops-section-head,.ops-insight-head{flex-direction:column}.ops-metric-grid,.ops-evidence-details dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.ops-metric-grid{grid-template-columns:1fr}.ops-insight-head>div{flex-direction:column;align-items:flex-start}}.ops-work-order-list{gap:12px;display:grid}.ops-work-order{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.ops-work-order-main{flex:1;min-width:0}.ops-work-order-title{align-items:center;gap:9px;display:flex}.ops-work-order-title h3{color:var(--osn-text-title);margin:0;font-size:14px}.ops-work-order-main>p{color:var(--text-mid);white-space:pre-wrap;margin:9px 0;font-size:12px;line-height:1.65}.ops-work-order-actions{flex-wrap:wrap;flex-shrink:0;gap:7px;display:flex}.ops-resolution{color:var(--text-mid);background:var(--bg-light);white-space:pre-wrap;border-radius:8px;gap:8px;margin-top:11px;padding:10px 12px;font-size:12px;display:flex}.ops-resolution b{color:var(--success);flex-shrink:0}.ops-verified{color:var(--success);align-items:center;gap:6px;margin-top:9px;font-size:11px;display:flex}.ops-device-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.ops-device-summary>div{background:var(--bg-light);border-radius:9px;min-width:0;padding:12px}.ops-device-summary span{color:var(--text-light);font-size:10px;display:block}.ops-device-summary b{color:var(--text-dark);overflow-wrap:anywhere;margin-top:6px;font-size:13px;display:block}.ops-assessment{border:1px solid color-mix(in srgb, var(--primary) 25%, var(--border));background:color-mix(in srgb, var(--primary) 4%, var(--bg-card));color:var(--primary);border-radius:10px;gap:11px;padding:14px;display:flex}.ops-assessment b{color:var(--osn-text-title);font-size:13px}.ops-assessment p{color:var(--text-mid);margin:5px 0 0;font-size:12px;line-height:1.7}.ops-asset-facts{color:var(--text-light);flex-wrap:wrap;gap:14px;margin-top:12px;font-size:11px;display:flex}.ops-asset-facts b{color:var(--text-dark);margin-left:5px}.ops-asset-tabs{border-bottom:1px solid var(--border);gap:5px;margin:18px 0 15px;padding-bottom:10px;display:flex;overflow-x:auto}.ops-asset-tabs button{color:var(--text-mid);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:8px 13px}.ops-asset-tabs button.active{color:#fff;background:var(--primary)}.ops-realtime-content>h3,.ops-point-group h3{color:var(--osn-text-title);justify-content:space-between;align-items:center;margin:16px 0 10px;font-size:13px;display:flex}.ops-realtime-content h3 small{color:var(--text-light);font-size:10px;font-weight:500}.ops-realtime-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.ops-realtime-grid>div{border:1px solid var(--border);background:var(--bg-light);border-radius:8px;min-width:0;padding:11px}.ops-realtime-grid span{color:var(--text-light);overflow-wrap:anywhere;font-size:10px;display:block}.ops-realtime-grid b{color:var(--text-dark);overflow-wrap:anywhere;margin-top:5px;font-size:13px;display:block}.ops-point-group{margin-top:20px}.ops-point-table-wrap{border:1px solid var(--border);border-radius:8px;max-height:420px;overflow:auto}.ops-asset-chart{height:360px}.ops-maintenance-panel>svg{color:var(--primary)}.ops-maintenance-panel>h3{color:var(--osn-text-title);font-size:15px}.ops-maintenance-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.ops-maintenance-row>div{gap:5px;display:grid}.ops-maintenance-row b{color:var(--text-dark);font-size:13px}.ops-maintenance-row span{color:var(--text-light);font-size:10px}.ops-knowledge-list{gap:12px;display:grid}.ops-knowledge-item{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;padding:16px}.ops-knowledge-item h3{color:var(--osn-text-title);margin:0;font-size:14px}.ops-knowledge-item>p{color:var(--text-mid);white-space:pre-wrap;font-size:12px;line-height:1.75}@media (width<=1000px){.ops-device-summary,.ops-realtime-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-work-order{flex-direction:column}}@media (width<=560px){.ops-device-summary,.ops-realtime-grid{grid-template-columns:1fr}}.project-page{--project-ink:#0b2b45;--project-ink-soft:#3d5a73;--project-ink-faint:#7a93a8;--project-energy:#00a9bb;--project-energy-deep:#0891b2;--project-energy-soft:#eff9fa;color:var(--project-ink-soft)}.project-hero{color:#fff;background:linear-gradient(135deg,#0b2b45 0%,#0e3d60 58%,#0a4a5e 100%);border-radius:16px;padding:24px 26px;position:relative;overflow:hidden;box-shadow:0 14px 40px #0b2b4529}.project-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#00c2d147,#0000 68%);border-radius:50%;width:420px;height:420px;position:absolute;top:-230px;right:-100px}.project-eyebrow{color:#7fe9f2;letter-spacing:.18em;align-items:center;gap:9px;font:10px ui-monospace,monospace;display:flex}.project-eyebrow:before{content:"";background:#00c2d1;width:28px;height:1px}.project-hero h1{color:#fff;letter-spacing:-.03em;margin:9px 0 0;font-size:clamp(24px,3vw,34px)}.project-hero p{color:#ffffffad;margin:9px 0 0;font-size:12px;line-height:1.75}.project-hero-bottom{z-index:1;justify-content:space-between;align-items:flex-end;gap:18px;margin-top:19px;display:flex;position:relative}.project-hero-tags{flex-wrap:wrap;gap:7px;display:flex}.project-hero-tag{color:#dffcff;background:#7fe9f214;border:1px solid #7fe9f233;border-radius:99px;align-items:center;gap:6px;padding:5px 10px;font-size:10px;display:inline-flex}.project-hero-tag.good{color:#a7f3d0;background:#34d3991a;border-color:#34d39940}.project-hero-tag.warn{color:#fde68a;background:#fbbf241a;border-color:#fbbf2440}.project-hero-actions{flex-wrap:wrap;gap:7px;display:flex}.project-hero-action{color:#fff;background:#ffffff12;border:1px solid #ffffff2e;border-radius:8px;align-items:center;gap:5px;padding:7px 11px;font-size:11px;text-decoration:none;display:inline-flex}.project-hero-action:hover{background:#7fe9f21f;border-color:#7fe9f2}.project-tabs{border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-xs);border-radius:12px;gap:4px;margin:18px 0;padding:5px;display:flex;overflow-x:auto}.project-tab{min-width:120px;height:38px;color:var(--text-mid);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:12px;display:inline-flex}.project-tab.active{color:var(--project-energy-deep);background:var(--project-energy-soft);font-weight:700;box-shadow:inset 0 0 0 1px #0891b221}.project-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.project-kpi-grid.major{grid-template-columns:repeat(2,minmax(0,1fr))}.project-kpi{border:1px solid var(--border);background:var(--bg-card);min-width:0;box-shadow:var(--shadow-xs);border-radius:12px;padding:15px 17px;position:relative}.project-kpi:before{content:"";background:var(--project-energy);opacity:.7;height:2px;position:absolute;top:0;left:16px;right:16px}.project-kpi.warn:before{background:var(--warning)}.project-kpi.good:before{background:var(--success)}.project-kpi-label{color:var(--project-ink-faint);font-size:10px}.project-kpi-value{color:var(--project-ink);letter-spacing:-.05em;margin-top:7px;font:750 27px/1.15 ui-monospace,monospace}.project-kpi.major .project-kpi-value{font-size:34px}.project-kpi-value small{color:var(--project-energy-deep);letter-spacing:0;margin-left:4px;font:500 11px/1 sans-serif}.project-kpi-note{color:var(--project-ink-faint);margin-top:7px;font-size:10px;line-height:1.5}.project-kpi-conclusion{border-top:1px dashed var(--border);color:var(--project-energy-deep);margin-top:9px;padding-top:8px;font-size:10px;line-height:1.55}.project-conclusion{color:var(--project-energy-deep);background:var(--project-energy-soft);border:1px dashed #0891b24d;border-radius:10px;align-items:center;gap:10px;margin-bottom:14px;padding:11px 15px;font-size:11px;line-height:1.65;display:flex}.project-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);align-items:start;gap:14px;display:grid}.project-grid.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid.thirds{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{border:1px solid var(--border);background:var(--bg-card);min-width:0;box-shadow:var(--shadow-xs);border-radius:13px;margin-bottom:14px;padding:16px 17px}.project-card-title{color:var(--project-ink);justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:13px;font-weight:800;display:flex}.project-card-title small{color:var(--project-energy-deep);letter-spacing:.1em;font:9px ui-monospace,monospace}.project-card-lead{color:var(--project-ink-faint);margin:-4px 0 12px;font-size:10px;line-height:1.65}.project-controller{border-top:1px solid var(--border);padding:12px 0}.project-controller:first-child{border-top:0;padding-top:0}.project-controller-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.project-controller-name{color:var(--project-ink);font-size:12px;font-weight:750}.project-controller-id{color:var(--project-energy-deep);margin-top:3px;font:10px ui-monospace,monospace}.project-controller-metrics{grid-template-columns:1fr 1fr;gap:7px;margin-top:10px;display:grid}.project-controller-metric{background:var(--bg-elevated);border-radius:7px;padding:7px 8px;font-size:10px}.project-controller-metric b{color:var(--project-ink);margin-top:3px;font:700 13px ui-monospace,monospace;display:block}.project-insight{border-top:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:11px 0;display:grid}.project-insight:first-child{border-top:0;padding-top:0}.project-insight-level{background:var(--primary);border-radius:50%;width:7px;height:7px;margin-top:5px}.project-insight.warning .project-insight-level{background:var(--warning)}.project-insight.critical .project-insight-level{background:var(--error)}.project-insight-title{color:var(--project-ink);font-size:11px;font-weight:750;line-height:1.5}.project-insight-evidence{color:var(--project-ink-soft);margin-top:4px;font-size:10px;line-height:1.65}.project-insight-action{color:var(--project-energy-deep);margin-top:5px;font-size:10px;line-height:1.6}.project-capture{border:1px solid var(--border);color:var(--project-energy-deep);background:var(--bg-card);cursor:pointer;white-space:nowrap;border-radius:7px;align-self:center;padding:5px 8px;font-size:9px}.project-capture:hover{border-color:var(--project-energy-deep);background:var(--project-energy-soft)}.project-knowledge-item{border-top:1px solid var(--border);padding:13px 0}.project-knowledge-item:first-child{border-top:0;padding-top:0}.project-knowledge-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-knowledge-title{color:var(--project-ink);font-size:12px;font-weight:750;line-height:1.55}.project-knowledge-content{color:var(--project-ink-soft);white-space:pre-wrap;margin-top:6px;font-size:11px;line-height:1.75}.project-knowledge-meta{color:var(--project-ink-faint);flex-wrap:wrap;align-items:center;gap:7px;margin-top:8px;font-size:9px;display:flex}.project-knowledge-source{overflow-wrap:anywhere}.project-badge{white-space:nowrap;border-radius:99px;align-items:center;padding:3px 8px;font-size:9px;font-weight:700;display:inline-flex}.project-badge.verified{color:var(--success);background:var(--success-light)}.project-badge.candidate{color:var(--warning);background:var(--warning-light)}.project-badge.archived{color:var(--text-mid);background:var(--bg-elevated)}.project-badge.category{color:var(--project-energy-deep);background:var(--project-energy-soft)}.project-badge.version{color:var(--text-mid);background:var(--bg-elevated);font-family:ui-monospace,monospace}.project-knowledge-actions{gap:6px;margin-top:9px;display:flex}.project-small-btn{border:1px solid var(--border);color:var(--text-mid);background:var(--bg-card);cursor:pointer;border-radius:7px;padding:5px 9px;font-size:9px}.project-small-btn:hover{color:var(--project-energy-deep);border-color:var(--project-energy-deep)}.project-small-btn.danger:hover{color:var(--error);border-color:var(--error)}.project-filterbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:13px;display:flex}.project-filterbar .form-input{width:auto;min-width:130px;height:36px;font-size:11px}.project-search{flex:1;min-width:200px}.project-empty{border:1px dashed var(--border);color:var(--text-light);background:var(--bg-elevated);text-align:center;border-radius:10px;padding:28px 14px;font-size:11px}.project-timeline{padding-left:18px;position:relative}.project-timeline:before{content:"";background:var(--border);width:1px;position:absolute;top:5px;bottom:5px;left:4px}.project-timeline-item{padding:0 0 15px 10px;position:relative}.project-timeline-item:before{content:"";border:2px solid var(--bg-card);background:var(--project-energy);width:7px;height:7px;box-shadow:0 0 0 1px var(--project-energy);border-radius:50%;position:absolute;top:5px;left:-17px}.project-timeline-title{color:var(--project-ink);font-size:11px;font-weight:700}.project-timeline-meta{color:var(--project-ink-faint);margin-top:3px;font:9px ui-monospace,monospace}.project-governance-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.project-governance-link{border:1px solid var(--border);color:var(--project-ink-soft);background:var(--bg-elevated);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;font-size:10px;text-decoration:none;display:flex}.project-governance-link:hover{color:var(--project-energy-deep);border-color:var(--project-energy-deep)}.project-flow{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.project-flow-step{border:1px solid var(--border);background:var(--bg-elevated);border-radius:8px;padding:10px;position:relative}.project-flow-step b{color:var(--project-energy-deep);font:700 11px ui-monospace,monospace;display:block}.project-flow-step span{color:var(--project-ink-soft);margin-top:4px;font-size:10px;line-height:1.5;display:block}.project-form-grid{gap:12px;display:grid}.project-form-grid label{color:var(--text-mid);gap:5px;font-size:11px;display:grid}.project-form-grid textarea{resize:vertical;min-height:120px;padding:10px 12px}.project-history{background:var(--bg-elevated);border-radius:8px;margin-top:10px;padding:10px}.project-history-row{border-top:1px solid var(--border);padding:7px 0;font-size:10px}.project-history-row:first-child{border-top:0}@media (width<=1200px){.project-grid,.project-grid.equal,.project-grid.thirds{grid-template-columns:1fr}.project-flow{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.project-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-hero-bottom{flex-direction:column;align-items:flex-start}}@media (width<=600px){.project-hero{padding:19px 17px}.project-hero h1{font-size:24px}.project-kpi-grid.major{grid-template-columns:1fr 1fr}.project-kpi.major .project-kpi-value{font-size:25px}.project-kpi-value{font-size:21px}.project-card{padding:13px}.project-insight{grid-template-columns:auto 1fr}.project-capture{grid-column:2;justify-self:start}.project-governance-links,.project-flow{grid-template-columns:1fr}}.project-selector{border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-xs);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:12px 15px;display:flex}.project-selector-heading{color:var(--project-energy-deep);align-items:center;gap:10px;display:flex}.project-selector-title{color:var(--project-ink);font-size:13px;font-weight:800}.project-selector-note{color:var(--project-ink-faint);margin-top:3px;font-size:10px}.project-selector-controls{align-items:flex-end;gap:8px;display:flex}.project-selector-label{color:var(--project-ink-faint);gap:4px;font-size:9px;display:grid}.project-selector-label select{border:1px solid var(--border);min-width:280px;height:36px;color:var(--text-dark);background:var(--bg-elevated);border-radius:8px;padding:0 10px;font-size:11px}.project-selector-reload{border:1px solid var(--border);width:36px;height:36px;color:var(--project-energy-deep);background:var(--bg-elevated);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.project-selector-reload:hover,.project-selector-reload:focus-visible{border-color:var(--project-energy-deep);background:var(--project-energy-soft)}.project-selector-error{color:var(--error);flex-basis:100%;font-size:11px}.generic-device-list,.generic-alarm-list{display:grid}.generic-device-row{border:0;border-top:1px solid var(--border);color:var(--text-mid);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.generic-device-row:first-child{border-top:0}.generic-device-row:hover b{color:var(--project-energy-deep)}.generic-device-row span:first-child,.generic-alarm-row span:last-child{min-width:0}.generic-device-row b,.generic-alarm-row b{color:var(--project-ink);font-size:11px;display:block}.generic-device-row small,.generic-alarm-row small{color:var(--project-ink-faint);margin-top:4px;font-size:9px;display:block}.generic-module-list{margin-bottom:12px}.generic-module-row,.generic-fact-list>div{border-top:1px solid var(--border);color:var(--text-mid);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:11px;display:flex}.generic-module-row:first-child,.generic-fact-list>div:first-child{border-top:0}.generic-module-row b,.generic-fact-list b{color:var(--project-ink);text-align:right;font-weight:700}.generic-alarm-row{border-top:1px solid var(--border);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.generic-alarm-row:first-child{border-top:0}.generic-alarm-state{border-radius:99px;flex:none;padding:2px 7px;font-size:9px;font-weight:700}.generic-alarm-state.triggered{color:var(--warning);background:var(--warning-light)}.generic-alarm-state.recovered{color:var(--success);background:var(--success-light)}.project-data-table-wrap{border:1px solid var(--border);background:var(--bg-card);border-radius:11px;overflow-x:auto}.project-data-table{border-collapse:collapse;width:100%;min-width:780px}.project-data-table th{border-bottom:1px solid var(--border);color:var(--project-ink-faint);background:var(--bg-elevated);text-align:left;padding:10px 12px;font-size:10px}.project-data-table td{border-bottom:1px solid var(--border);color:var(--text-mid);padding:11px 12px;font-size:11px}.project-data-table tr:last-child td{border-bottom:0}.project-data-table tbody tr[role=button]{cursor:pointer;outline:none}.project-data-table tbody tr[role=button]:hover td,.project-data-table tbody tr.selected td,.project-data-table tbody tr:focus-visible td{background:var(--project-energy-soft)}.project-data-table td svg{vertical-align:middle}.project-page .mono{font-family:ui-monospace,monospace;font-size:10px}.generic-device-detail{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;margin-top:14px;padding:16px}.generic-device-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.generic-device-detail-head .project-governance-link{flex:none}.generic-device-meta{color:var(--project-ink-faint);flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:9px;display:flex}.generic-realtime-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.generic-realtime-item{background:var(--bg-elevated);border-radius:8px;min-width:0;padding:10px}.generic-realtime-item span{color:var(--project-ink-faint);overflow-wrap:anywhere;font-size:10px;display:block}.generic-realtime-item b{color:var(--project-ink);overflow-wrap:anywhere;margin-top:5px;font:700 14px ui-monospace,monospace;display:block}.generic-device-groups{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.generic-device-groups span{color:var(--project-energy-deep);background:var(--project-energy-soft);border-radius:99px;padding:4px 8px;font-size:9px}.project-conclusion.warning{color:var(--warning);border-color:var(--warning);background:var(--warning-light)}@media (width<=600px){.project-selector{align-items:stretch}.project-selector-controls,.project-selector-label,.project-selector-label select{width:100%}.project-selector-label select{min-width:0}.generic-realtime-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.project-page *{transition:none!important;animation:none!important}}.project-weather{border:1px solid var(--border);background:linear-gradient(135deg, var(--bg-card) 0%, var(--primary-50) 62%, color-mix(in srgb, var(--cyan) 8%, var(--bg-card)) 100%);box-shadow:var(--shadow-xs);border-radius:14px;margin-bottom:14px;padding:13px 16px 14px;position:relative;overflow:hidden}.project-weather:before{content:"";background:var(--primary);width:3px;position:absolute;top:0;bottom:0;left:0}.project-weather-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.project-weather-place{min-width:0;color:var(--primary);align-items:center;gap:6px;display:inline-flex}.project-weather-place b{color:var(--text-dark);font-size:13px;font-weight:800}.project-weather-region{max-width:42vw;color:var(--text-light);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.project-weather-meta{color:var(--text-light);align-items:center;gap:7px;font-size:9px;display:inline-flex}.project-weather-source,.project-weather-cached,.project-weather-stale{border-radius:99px;padding:2px 7px}.project-weather-source{border:1px solid var(--border);color:var(--primary);background:var(--primary-50)}.project-weather-cached{color:var(--text-light);background:var(--bg-elevated)}.project-weather-stale{border:1px solid var(--warning);color:var(--warning);background:var(--warning-light)}.project-weather-refresh{border:1px solid var(--border);width:26px;height:26px;color:var(--primary);background:var(--bg-card);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.project-weather-refresh:hover:not(:disabled){border-color:var(--primary);background:var(--primary-50)}.project-weather-refresh:disabled{opacity:.55;cursor:progress}.project-weather-refresh .spin{animation:.9s linear infinite project-weather-spin}.project-weather-main{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:9px;display:grid}.project-weather-now{align-items:center;gap:11px;display:flex}.project-weather-glyph{flex:none}.project-weather-glyph.sun{color:var(--warning)}.project-weather-glyph.cloud,.project-weather-glyph.fog{color:var(--text-mid)}.project-weather-glyph.rain{color:var(--primary)}.project-weather-glyph.snow{color:var(--cyan)}.project-weather-glyph.storm{color:var(--error)}.project-weather-glyph.muted{color:var(--text-light)}.project-weather-temp{color:var(--text-dark);letter-spacing:-.04em;font:750 29px/1 ui-monospace,monospace}.project-weather-temp span{color:var(--primary);letter-spacing:0;margin-left:2px;font:500 12px/1 sans-serif}.project-weather-desc{color:var(--text-mid);margin-top:5px;font-size:11px}.project-weather-metrics{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.project-weather-metrics>span{border:1px solid var(--border);color:var(--text-mid);background:var(--bg-elevated);border-radius:99px;align-items:center;gap:5px;padding:5px 9px;font-size:10px;display:inline-flex}.project-weather-metrics>span.frost.low{color:var(--cyan);border-color:var(--cyan)}.project-weather-metrics>span.frost.medium,.project-weather-metrics>span.frost.high{color:var(--warning);border-color:var(--warning);background:var(--warning-light)}.project-weather-metrics>span.frost.extreme{color:var(--error);border-color:var(--error);background:var(--error-light)}.project-weather-hours{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.project-weather-hours-label{color:var(--text-light);letter-spacing:.08em;margin-right:2px;font:9px ui-monospace,monospace}.project-weather-hour{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;justify-items:center;gap:3px;min-width:58px;padding:7px 6px;display:grid}.project-weather-hour-time{color:var(--text-light);font:9px ui-monospace,monospace}.project-weather-hour b{color:var(--text-dark);font:700 12px ui-monospace,monospace}.project-weather-hour-pop{color:var(--primary);font-size:9px}.project-weather-advice{border-top:1px dashed var(--border);color:var(--text-mid);margin:10px 0 0;padding-top:9px;font-size:10px;line-height:1.6}.project-weather-error{border:1px solid var(--warning);color:var(--warning);background:var(--warning-light);border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:9px 11px;font-size:10px;display:flex}.project-weather.is-loading{align-content:center;gap:9px;min-height:74px;display:grid}.project-weather-skeleton{background:linear-gradient(90deg, var(--bg-elevated), var(--border), var(--bg-elevated));background-size:200% 100%;border-radius:6px;width:46%;height:13px;animation:1.3s ease-in-out infinite project-weather-shimmer}.project-weather-skeleton.short{width:27%}@keyframes project-weather-spin{to{transform:rotate(360deg)}}@keyframes project-weather-shimmer{0%{background-position:0 0}to{background-position:-200% 0}}@media (width<=1200px){.project-weather-main{grid-template-columns:auto minmax(0,1fr)}.project-weather-hours{border-top:1px dashed var(--border);grid-column:1/-1;padding-top:10px}}@media (width<=900px){.project-weather-main{grid-template-columns:minmax(0,1fr);align-items:flex-start;gap:10px}.project-weather-hours{grid-column:auto}}@media (width<=600px){.project-weather{padding:12px 13px}.project-weather-region{max-width:52vw}.project-weather-meta{flex-wrap:wrap}.project-weather-hour{min-width:52px}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.visible\!{visibility:visible!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.static\!{position:static!important}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-\[72px\]{top:72px}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.z-\[9999\]{z-index:9999}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-m-4{margin:calc(var(--spacing) * -4)}.m-1{margin:calc(var(--spacing) * 1)}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.\!mb-0{margin-bottom:calc(var(--spacing) * 0)!important}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-64{height:calc(var(--spacing) * 64)}.h-\[72px\]{height:72px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[46vh\]{max-height:46vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[85dvh\]{max-height:85dvh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[280px\]{max-height:280px}.max-h-\[300px\]{max-height:300px}.max-h-\[360px\]{max-height:360px}.max-h-\[480px\]{max-height:480px}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-28{width:calc(var(--spacing) * 28)}.w-36{width:calc(var(--spacing) * 36)}.w-56{width:calc(var(--spacing) * 56)}.w-\[72px\]{width:72px}.w-\[700px\]{width:700px}.w-auto{width:auto}.w-full{width:100%}.max-w-\[120px\]{max-width:120px}.max-w-\[440px\]{max-width:440px}.max-w-\[580px\]{max-width:580px}.max-w-\[780px\]{max-width:780px}.max-w-\[1040px\]{max-width:1040px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[min\(440px\,calc\(100vw-32px\)\)\]{max-width:min(440px,100vw - 32px)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[130px\]{min-width:130px}.min-w-\[140px\]{min-width:140px}.min-w-\[160px\]{min-width:160px}.min-w-\[280px\]{min-width:280px}.flex-1{flex:1}.flex-\[2\]{flex:2}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.3fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--error\)\]{border-color:var(--error)}.border-\[var\(--primary\)\]{border-color:var(--primary)}.bg-\[var\(--bg-card\)\]{background-color:var(--bg-card)}.bg-\[var\(--bg-elevated\)\]{background-color:var(--bg-elevated)}.bg-\[var\(--bg-light\)\]{background-color:var(--bg-light)}.bg-\[var\(--primary-50\)\]{background-color:var(--primary-50)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.bg-black\/30{background-color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-12{padding:calc(var(--spacing) * 12)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--error\)\]{color:var(--error)}.text-\[var\(--primary\)\]{color:var(--primary)}.text-\[var\(--success\)\]{color:var(--success)}.text-\[var\(--text-dark\)\]{color:var(--text-dark)}.text-\[var\(--text-light\)\]{color:var(--text-light)}.text-\[var\(--text-mid\)\]{color:var(--text-mid)}.text-\[var\(--warning\)\]{color:var(--warning)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-red-400{color:var(--color-red-400)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.accent-\[var\(--primary\)\]{accent-color:var(--primary)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.invert{--tw-invert:invert(100%);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,)}.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,)!important}.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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-checked\:bg-\[linear-gradient\(135deg\,var\(--primary\)\,var\(--primary-end\)\)\]:is(:where(.peer):checked~*){background-image:linear-gradient(135deg,var(--primary),var(--primary-end))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:start-\[2px\]:after{content:var(--tw-content);inset-inline-start:2px}.after\:top-0\.5:after{content:var(--tw-content);top:calc(var(--spacing) * .5)}.after\:h-5:after{content:var(--tw-content);height:calc(var(--spacing) * 5)}.after\:w-5:after{content:var(--tw-content);width:calc(var(--spacing) * 5)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:bg-white:after{content:var(--tw-content);background-color:var(--color-white)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-\[var\(--primary\)\]:hover{border-color:var(--primary)}.hover\:bg-\[var\(--bg-elevated\)\]:hover{background-color:var(--bg-elevated)}.hover\:bg-\[var\(--bg-light\)\]:hover{background-color:var(--bg-light)}.hover\:bg-\[var\(--error-light\)\]:hover{background-color:var(--error-light)}.hover\:bg-\[var\(--primary-50\)\]:hover{background-color:var(--primary-50)}.hover\:text-\[var\(--primary\)\]:hover{color:var(--primary)}.hover\:text-\[var\(--text-mid\)\]:hover{color:var(--text-mid)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=40rem){.sm\:p-12{padding:calc(var(--spacing) * 12)}}@media (width>=48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:-m-6{margin:calc(var(--spacing) * -6)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:p-6{padding:calc(var(--spacing) * 6)}}@media (width>=64rem){.lg\:col-span-3{grid-column:span 3/span 3}.lg\:-m-8{margin:calc(var(--spacing) * -8)}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-\[480px\]{width:480px}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[380px_1fr\]{grid-template-columns:380px 1fr}.lg\:p-8{padding:calc(var(--spacing) * 8)}}@media (width>=80rem){.xl\:grid-cols-\[2fr_1fr_auto\]{grid-template-columns:2fr 1fr auto}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#07f;--primary-end:#00c2ff;--primary-hover:#2b8cff;--primary-active:#0060d6;--primary-light:#0077ff24;--primary-50:#0077ff12;--primary-glow:#0077ff47;--text-dark:#e6edf7;--text-mid:#9fb0c7;--text-light:#5e6e8a;--osn-text-title:#d2e2ff;--osn-text-normal:#d6e4ec;--osn-text-muted:#d6e4ec8c;--bg-light:#0b1220;--bg-page:var(--bg-light);--bg-card:#ffffff0a;--bg-elevated:#ffffff12;--border:#8caadc29;--success:#10b981;--success-light:#10b9811a;--warning:#f59e0b;--warning-light:#f59e0b1a;--error:#ef4444;--error-light:#ef44441a;--info:#07f;--info-light:#0077ff24;--cyan:#4f8cff;--cyan-light:#4f8cff1a;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #00000059, 0 1px 2px #00000040;--shadow-md:0 4px 12px #0006, 0 2px 4px #00000040;--shadow-lg:0 8px 24px #00000073, 0 4px 8px #0000004d;--shadow-xl:0 16px 48px #00000080, 0 8px 16px #0000004d;--shadow:var(--shadow-sm);--shadow-hover:var(--shadow-lg);--shadow-glow:0 0 0 3px #0077ff40, 0 0 14px #0077ff2e;--shadow-card:0 1px 3px #0006;--shadow-card-hover:0 8px 24px #00000073, 0 0 16px #0077ff14;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--radius:var(--radius-md);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.3s cubic-bezier(.34, 1.56, .64, 1);--map-overlay-bg:#0b1220e0;--map-overlay-border:1px solid #4f8cff24;--sidebar-logo-bg:linear-gradient(135deg, #fff3 0%, #ffffff0d 100%);--sidebar-logo-border:1px solid #ffffff26;--sidebar-logo-color:#fff;--sidebar-title:#fff;--sidebar-subtitle:#ffffff73;--sidebar-logo-glow:0 0 10px #4f8cff59;--sidebar-user-bg:linear-gradient(135deg, #ffffff26, #ffffff0d);--sidebar-user-border:1px solid #ffffff1a;--sidebar-user-color:#fff;--sidebar-user-role:#fff6;--sidebar-user-section-bg:#0000001a;--sidebar-user-section-divider:1px solid #ffffff0f;--error-deep:#d96666;--error-deep-light:#d966661f;--table-row-hover-subtle:#0077ff09;--tooltip-bg:#0c1426e0;--tooltip-border:#4f8cff40;--tooltip-shadow:0 0 12px #4f8cff1f, 0 4px 16px #0006;--table-total-bg:#07f3}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#0b66c3;--primary-end:#0e9bd8;--primary-hover:#1878d8;--primary-active:#094e94;--primary-light:#0b66c317;--primary-50:#0b66c30d;--primary-glow:#0b66c329;--text-dark:#16283c;--text-mid:#46596e;--text-light:#7a8da1;--osn-text-title:#122a42;--osn-text-normal:#2a3e55;--osn-text-muted:#2a3e559e;--bg-light:#eef3f8;--bg-page:#eef3f8;--bg-card:#fff;--bg-elevated:#f4f8fc;--bg-deep:#e4ebf3;--border:#d9e2ec;--border-hover:#b7c9db;--success:#15803d;--success-light:#15803d17;--warning:#b45309;--warning-light:#b4530917;--error:#dc2626;--error-light:#dc262614;--info:#0b66c3;--info-light:#0b66c317;--cyan:#0a9484;--cyan-light:#0a94841a;--error-deep:#b3492f;--error-deep-light:#b3492f1a;--amber:#b45309;--green:#15803d;--red:#dc2626;--purple:#6d4fc2;--text:#2a3e55;--text2:#46596e;--text3:#7a8da1;--shadow-xs:0 1px 2px #102a480f;--shadow-sm:0 1px 3px #102a4814, 0 1px 2px #102a480d;--shadow-md:0 4px 14px #102a481a, 0 2px 4px #102a480f;--shadow-lg:0 8px 28px #102a4821, 0 4px 8px #102a4812;--shadow-xl:0 16px 48px #102a4829, 0 8px 16px #102a4814;--shadow:var(--shadow-sm);--shadow-hover:var(--shadow-lg);--shadow-glow:0 0 0 3px #0b66c329, 0 0 12px #0b66c31a;--shadow-card:0 1px 4px #102a4817;--shadow-card-hover:0 8px 28px #102a4824, 0 0 14px #0b66c314;--map-overlay-bg:#ffffffeb;--map-overlay-border:1px solid #d9e2ec;--sidebar-logo-bg:linear-gradient(135deg, #0b66c3, #0e9bd8);--sidebar-logo-border:none;--sidebar-logo-color:#fff;--sidebar-title:#122a42;--sidebar-subtitle:#7a8da1;--sidebar-user-bg:linear-gradient(135deg, #0b66c31a, #0b66c30a);--sidebar-user-border:1px solid #0b66c324;--sidebar-user-color:#122a42;--sidebar-user-role:#7a8da1;--sidebar-user-section-bg:#0b66c309;--sidebar-user-section-divider:1px solid #e2e8f0;--sidebar-logo-glow:none;--tooltip-bg:#fffffff7;--tooltip-border:#d9e2ec;--tooltip-shadow:0 8px 24px #102a4824, 0 2px 8px #102a4814;--table-row-hover-subtle:#0b66c30d;--table-total-bg:#0b66c31a;--hmi-bg:#eef3f8;--hmi-panel-bg:#fff;--hmi-neon:#0b66c3;--hmi-accent:#0a9484;--hmi-bright:#122a42;--hmi-warn:#b45309;--hmi-text:#2a3e55;--hmi-run:#15803d;--hmi-run-bg:#15803d14;--hmi-run-border:#15803d4d;--hmi-run-glow:0 0 8px #15803d2e;--hmi-glow1:#0b66c30f;--hmi-glow2:#0b66c308;--hmi-glow-inner:#0b66c30a;--hmi-grid:#0b66c30d;--hmi-border:#c9d8e7}[data-theme=light] body{background-color:#eef3f8}[data-theme=light] body:before{opacity:0}[data-theme=light] body:after{content:"";pointer-events:none;z-index:-2;background:repeating-linear-gradient(0deg,#0b66c30b 0 1px,#0000 1px 24px),repeating-linear-gradient(90deg,#0b66c30b 0 1px,#0000 1px 24px);position:fixed;inset:0}[data-theme=light] .sidebar{background:#fff;border-right:1px solid #e2e8f0;box-shadow:2px 0 20px #102a4814}[data-theme=light] .sidebar:before,[data-theme=light] .sidebar:after{opacity:0}[data-theme=light] .sidebar-logo{border-bottom:1px solid #e2e8f0}[data-theme=light] .sidebar-nav a{color:#46596e;border-bottom-color:#edf2f8}[data-theme=light] .sidebar-nav a:hover{color:#0b66c3;background:#0b66c312}[data-theme=light] .sidebar-nav a.active{color:#0b66c3;text-shadow:none;background:#0b66c31a}[data-theme=light] .sidebar-nav a.active:before{box-shadow:none;background:linear-gradient(#0b66c3,#0e9bd8)}[data-theme=light] .sidebar-user-panel{box-shadow:none;background:#f7fafd!important;border-top:1px solid #e2e8f0!important}[data-theme=light] .topbar{-webkit-backdrop-filter:blur(10px);background:#ffffffe0;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 12px #102a480f}[data-theme=light] .btn-primary-scada{color:#fff;background:#0b66c3;border:1px solid #0b66c3;box-shadow:0 1px 4px #0b66c359}[data-theme=light] .btn-primary-scada:hover:not(:disabled){background:#1878d8;border-color:#1878d8;box-shadow:0 2px 10px #0b66c366}[data-theme=light] .hmi-select{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230B66C3' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E")}[data-theme=light] .hmi-strategy-card{background:#fff}[data-theme=light] .hmi-strategy-card:hover{background:var(--primary-50)}[data-theme=light] .hmi-filter-btn.inactive{color:var(--osn-text-muted);background:#f4f8fc}[data-theme=light] .hmi-subtitle{color:var(--osn-text-muted)}[data-theme=light] .hmi-stat-label{color:var(--text-light)}[data-theme=light] .hmi-tag{color:var(--osn-text-muted)}[data-theme=light] .card{border:1px solid var(--border);box-shadow:var(--shadow-card);background:#fff}[data-theme=light] .card:hover{box-shadow:var(--shadow-card-hover);border-color:#c8d6e5}[data-theme=light] .data-table th{color:#5a6d8a;background:#f7fafd;border-bottom:1px solid #0b66c31a}[data-theme=light] .data-table td{border-bottom:1px solid #00143c0f}[data-theme=light] .data-table tr:nth-child(2n) td{background:#0b66c308}[data-theme=light] .data-table tr:hover td{background:#0b66c30d}[data-theme=light] .form-input{background:#fff}[data-theme=light] .form-input:disabled{color:#8c9cb5;background:#f0f4ff}[data-theme=light] .search-box{background:#f5f8ff}[data-theme=light] .search-box:focus-within{background:#fff}[data-theme=light] ::-webkit-scrollbar-thumb{background:#00143c26}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#00143c40}[data-theme=light] .leaflet-container{background:#f5f7fa!important}[data-theme=light] .leaflet-tile-pane .leaflet-layer{filter:none}[data-theme=light] .leaflet-container .leaflet-popup-content-wrapper{color:#1a2540;background:#fffffff5;border:1px solid #0b66c32e;box-shadow:0 4px 16px #00143c1a}[data-theme=light] .leaflet-container .leaflet-popup-tip{background:#fffffff5;border:1px solid #0b66c32e}[data-theme=light] .leaflet-container .leaflet-bar a{color:#5a6d8a;background:#fffffff2;border-bottom:1px solid #00143c14}[data-theme=light] .leaflet-container .leaflet-bar a:hover{color:#1a2540;background:#f5f8ff}[data-theme=light] .leaflet-container .leaflet-control-attribution{color:#5a6d8a!important;background:#ffffffd9!important}[data-theme=light] .leaflet-container .leaflet-control-attribution a{color:#0066e0!important}[data-theme=light] .strategy-panel .gc{border:1px solid var(--border);background:#fff}[data-theme=light] .strategy-panel .gc:hover{border-color:#c8d6e5}[data-theme=light] .strategy-panel .dc{border:1px solid var(--border);background:#fff}[data-theme=light] .strategy-panel .dc:hover{border-color:#c8d6e5}[data-theme=light] .strategy-panel .inp,[data-theme=light] .strategy-panel select.inp{background:#fff}[data-theme=light] .strategy-panel .dt th{background:#f1f5f9}[data-theme=light] .strategy-panel .dt tr:hover td{background:#0b66c30a}html,body{box-sizing:border-box;height:100%;margin:0;padding:0}body{color:var(--text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#09101f;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;overflow-x:hidden}body:before{content:"";z-index:-2;pointer-events:none;background:radial-gradient(at 20% 10%,#1e46a014,#0000 55%),radial-gradient(at 80% 85%,#3c288c0d,#0000 55%);width:100%;height:100%;position:fixed;top:0;left:0}body:after{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(#2d5fc814 1px,#0000 1px),linear-gradient(90deg,#2d5fc814 1px,#0000 1px),linear-gradient(#0000 0%,#3c6edc0d 46%,#6054d20e 54%,#0000 100%);background-repeat:repeat,repeat,no-repeat;background-size:45px 45px,45px 45px,100% 200px;width:100%;height:100%;animation:14s linear infinite scan-line;position:fixed;top:0;left:0}@keyframes scan-line{0%{background-position:0 0,0 0,0 -200px}to{background-position:0 0,0 0,0 calc(100% + 200px)}}.bg-particle-overlay{z-index:-1;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:fixed;inset:0}@media (prefers-reduced-motion:reduce){body:after{animation:none}}@keyframes dp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes dp-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes dp-dotPulse{0%{box-shadow:0 0 #10b98173}70%{box-shadow:0 0 0 7px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes dp-slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dp-scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.btn-blue{border:1.5px solid var(--primary);border-radius:var(--radius-sm);height:42px;color:var(--primary);cursor:pointer;transition:all var(--transition-normal);background:0 0;justify-content:center;align-items:center;padding:0 24px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn-blue:hover{color:#fff;background:var(--primary);transform:translateY(-1px);box-shadow:0 4px 14px #0077ff59}.btn-blue-fill{color:#4f8cff;cursor:pointer;height:42px;transition:all var(--transition-normal);background:#4f8cff1a;border:1px solid #4f8cff66;border-radius:4px;justify-content:center;align-items:center;padding:0 26px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 0 10px #4f8cff26}.btn-blue-fill:hover{background:#4f8cff29;border-color:#4f8cff8c;box-shadow:0 0 14px #4f8cff38}.btn-blue-fill:active{background:#4f8cff14;box-shadow:0 0 6px #4f8cff1a}.btn-primary-scada{color:#4f8cff;background:#4f8cff1a;border:1px solid #4f8cff66;border-radius:4px;box-shadow:0 0 10px #4f8cff26}.btn-primary-scada:hover:not(:disabled){background:#4f8cff29;border-color:#4f8cff8c;box-shadow:0 0 14px #4f8cff38}.btn-ghost{border:1px solid var(--border);border-radius:var(--radius-sm);height:38px;color:var(--text-mid);cursor:pointer;transition:all var(--transition-normal);background:0 0;justify-content:center;align-items:center;padding:0 18px;font-size:13px;font-weight:500;display:inline-flex}.btn-ghost:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-50);box-shadow:var(--shadow-glow)}.card{transition:box-shadow var(--transition-normal), border-color var(--transition-normal);background:#0c1426d9;border:1px solid #4f8cff2e;border-radius:4px;box-shadow:0 0 12px #4f8cff0f}.sidebar{z-index:100;background:linear-gradient(#0a1730 0%,#0d2142 40%,#0b1b38 100%);border-right:none;flex-direction:column;width:260px;height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;overflow:hidden;box-shadow:4px 0 24px #040a1880}.sidebar:before{content:"";pointer-events:none;background:radial-gradient(circle,#0077ff1f 0%,#0000 70%);border-radius:50%;width:160px;height:160px;position:absolute;top:-40px;right:-40px}.sidebar:after{content:"";pointer-events:none;background:radial-gradient(circle,#4f8cff14 0%,#0000 70%);border-radius:50%;width:120px;height:120px;position:absolute;bottom:80px;left:-30px}.sidebar-logo{border-bottom:1px solid #ffffff0f;padding:28px 24px 24px;position:relative}.sidebar-nav{min-height:0;margin-right:6px;padding:16px 12px}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-thumb{background:#3d5aa8;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#4f8cff61}.sidebar-nav a{color:#ffffff8c;border-radius:var(--radius-md);letter-spacing:-.01em;border-left:3px solid #0000;align-items:center;margin:2px 0;padding:11px 16px;font-size:13.5px;font-weight:400;text-decoration:none;transition:all .18s;display:flex;position:relative}.sidebar-nav a.active{color:#fff;background:#ffffff1f;border-left-color:#0000;font-weight:600}.sidebar-alarm-badge{color:#fff;background:var(--osn-error,#e5484d);border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex;box-shadow:0 0 8px #e5484d8c}.sidebar-nav a.active:before{content:"";background:linear-gradient(#4f8cff,#6ea8ff);border-radius:0 4px 4px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:0 0 10px #4f8cff80}.sidebar-nav a svg{flex-shrink:0}.topbar{-webkit-backdrop-filter:blur(12px);z-index:50;background:#081220c7;border-bottom:1px solid #4f8cff2e;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 0 12px #827bff0d,0 0 24px #827bff08,inset 0 0 6px #827bff05,0 2px 12px #0006}.topbar-title{letter-spacing:1.5px;color:var(--hmi-bright);text-shadow:0 0 10px #827bff40;font-size:15px;font-weight:700}.topbar .btn-ghost{color:#4f8cff;background:#4f8cff0f;border:1px solid #4f8cff2e;border-radius:3px;transition:all .15s}.topbar .btn-ghost:hover{background:#827bff1f;border-color:#827bff59;box-shadow:0 0 8px #827bff26}.topbar .topbar-menu-btn{background:#4f8cff0f;border:1px solid #4f8cff2e;border-radius:3px;color:#4f8cff!important}.topbar .topbar-menu-btn:hover{background:#4f8cff1f!important}.data-table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;overflow:hidden}.data-table th{text-align:left;color:var(--text-light);background:var(--bg-light);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;padding:12px 14px;font-size:11.5px;font-weight:700}.data-table td{transition:background var(--transition-fast);white-space:nowrap;border-bottom:1px solid #8caadc1a;padding:12px 14px;font-size:13px}.data-table tr:nth-child(2n) td{background:#ffffff05}.status-dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block;position:relative}.status-dot.online{background:var(--success);box-shadow:0 0 0 3px var(--success-light), 0 0 6px #10b9814d;animation:2s infinite dp-dotPulse}.status-dot.offline{background:var(--error);box-shadow:0 0 0 3px var(--error-light)}.status-dot.warning{background:var(--warning);box-shadow:0 0 0 3px var(--warning-light)}.status-dot.online:after{content:"";background:var(--success);opacity:0;border-radius:50%;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-ring;position:absolute;inset:-3px}@keyframes pulse-ring{0%{opacity:.35;transform:scale(1)}70%{opacity:0;transform:scale(2)}to{opacity:0;transform:scale(2)}}.form-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;height:44px;color:var(--text-dark);background:var(--bg-card);transition:all var(--transition-fast);outline:none;padding:0 16px;font-size:13.5px}.form-input:focus{border-color:var(--primary);box-shadow:var(--shadow-glow)}.form-input:disabled{background:var(--bg-light);color:var(--text-light);cursor:not-allowed}.form-label{color:var(--text-mid);letter-spacing:.2px;margin-bottom:8px;font-size:12.5px;font-weight:600;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#94aac840}::-webkit-scrollbar-thumb:hover{background:#94aac866}.search-box{background:var(--bg-light);border-radius:var(--radius-sm);height:40px;transition:all var(--transition-fast);border:1.5px solid #0000;align-items:center;padding:0 14px;display:flex}.search-box:focus-within{border-color:var(--primary);background:var(--bg-elevated);box-shadow:var(--shadow-glow)}.search-box input{color:var(--text-dark);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.strategy-panel{--amber:var(--warning);--cyan:var(--primary);--green:var(--success);--red:var(--error);--text:var(--text-dark);--text2:var(--text-mid);--text3:var(--text-light);--border-hover:var(--primary);--bg-deep:var(--bg-light)}.strategy-panel .ph{margin-bottom:20px}.strategy-panel .ph h1{color:var(--osn-text-title);letter-spacing:-.5px;font-size:22px;font-weight:800}.strategy-panel .ph h1:before{content:"";vertical-align:-3px;background:var(--hmi-neon);width:3px;height:22px;box-shadow:0 0 8px var(--hmi-glow1);margin-right:10px;display:inline-block}.strategy-panel .ph p{color:var(--osn-text-muted);margin-top:4px;font-size:12px}.strategy-panel .fu{animation:.35s ease-out dp-slideUp}.strategy-panel .gc{transition:box-shadow var(--transition-normal), border-color var(--transition-normal);background:#0c1426d9;border:1px solid #4f8cff2e;border-radius:4px;padding:22px 24px;box-shadow:0 0 12px #4f8cff0f}.strategy-panel .gc:hover{border-color:#4f8cff52;box-shadow:0 0 16px #4f8cff1a}.strategy-panel .ct{color:var(--text-dark);margin-bottom:16px;font-size:14px;font-weight:700}.strategy-panel .ec{color:var(--text-mid);text-align:center;justify-content:center;align-items:center;min-height:120px;font-size:14px;display:flex}.strategy-panel .dc{transition:box-shadow var(--transition-normal), border-color var(--transition-normal);background:#0c1426d9;border:1px solid #4f8cff2e;border-radius:4px;box-shadow:0 0 12px #4f8cff0f}.strategy-panel .dc:hover{border-color:#4f8cff52;box-shadow:0 0 16px #4f8cff1a}.strategy-panel .inp{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dark);width:100%;transition:all var(--transition-fast);outline:none;padding:9px 14px;font-size:13px}.strategy-panel .inp:focus{border-color:var(--primary);box-shadow:var(--shadow-glow)}.strategy-panel select.inp{background:var(--bg-card);color:var(--text-dark)}.strategy-panel .btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;align-items:center;gap:4px;padding:7px 14px;font-size:11.5px;font-weight:600;display:inline-flex}.strategy-panel .btn-sm{padding:5px 10px;font-size:10.5px}.strategy-panel .btn-amber{color:#4f8cff;background:#4f8cff1a;border:1px solid #4f8cff66;box-shadow:0 0 10px #4f8cff26}.strategy-panel .btn-amber:hover{background:#4f8cff29;border-color:#4f8cff8c}.strategy-panel .btn-amber:disabled{opacity:.4;cursor:not-allowed}.strategy-panel .btn-ghost{color:var(--text-mid);border:1px solid var(--border);background:0 0}.strategy-panel .btn-ghost:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-50)}.strategy-panel .tag{border-radius:var(--radius-full);align-items:center;gap:3px;padding:4px 10px;font-size:10.5px;font-weight:600;display:inline-flex}.strategy-panel .tag-amber{color:var(--amber);background:#f59e0b14;border:1px solid #f59e0b1f}.strategy-panel .tag-green{color:var(--green);background:#10b98114;border:1px solid #10b9811f}.strategy-panel .tag-cyan{color:var(--cyan);background:#4f8cff14;border:1px solid #4f8cff1f}.strategy-panel .tag-red{color:var(--red);background:#ef444414;border:1px solid #ef44441f}.strategy-panel .tag-purple{color:var(--purple);background:#8b5cf614;border:1px solid #8b5cf61f}.strategy-panel .dt{border-collapse:separate;border-spacing:0;width:100%}.strategy-panel .dt th{background:var(--bg-light);text-align:left;color:var(--text-light);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.5px;padding:12px 14px;font-size:11.5px;font-weight:700}.strategy-panel .dt td{color:var(--text-dark);border-bottom:1px solid #8caadc1a;padding:12px 14px;font-size:13px}.strategy-panel .dt tr:hover td{background:#0077ff12}@media (width<=767px){.sidebar{z-index:50}.topbar{padding:0 16px}.data-table{white-space:nowrap;display:block;overflow-x:auto}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:.25s ease-out fade-in}.animate-slide-up{animation:.35s cubic-bezier(.4,0,.2,1) slide-up}.animate-slide-in-right{animation:.35s cubic-bezier(.4,0,.2,1) slide-in-right}@keyframes stat-bar-flow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes stat-flash{0%{box-shadow:inset 0 0 #fff0}50%{box-shadow:inset 0 0 20px #ffffff0a}to{box-shadow:inset 0 0 #fff0}}.stat-card-glow{transition:box-shadow var(--transition-normal), border-color var(--transition-normal)}.stat-card-flash{animation:.5s ease-out stat-flash}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-shimmer{position:relative;overflow:hidden}.skeleton-shimmer:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff0f 40%,#ffffff1a 50%,#ffffff0f 60%,#0000 100%);animation:1.8s ease-in-out infinite shimmer;position:absolute;inset:0}[data-theme=light] .skeleton-shimmer:after{background:linear-gradient(90deg,#0000 0%,#00000008 40%,#0000000f 50%,#00000008 60%,#0000 100%)}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-highlight{0%,to{box-shadow:0 0 14px #0077ffb3,0 2px 4px #00000040}50%{box-shadow:0 0 24px #07f,0 2px 8px #00000059}}.leaflet-container{z-index:1;width:100%;height:100%}.marker-cluster-custom{justify-content:center;align-items:center;display:flex}.login-bg{position:relative;overflow:hidden}.login-bg:before,.login-bg:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.login-bg:before{background:radial-gradient(circle,#0077ff26 0%,#0000 65%);width:55vw;height:55vw;animation:14s ease-in-out infinite alternate login-drift-a;top:-18vw;right:-12vw}.login-bg:after{background:radial-gradient(circle,#4f8cff1a 0%,#0000 65%);width:42vw;height:42vw;animation:18s ease-in-out infinite alternate login-drift-b;bottom:-16vw;left:-8vw}@keyframes login-drift-a{0%{transform:translate(0)}to{transform:translate(-4vw,3vw)}}@keyframes login-drift-b{0%{transform:translate(0)}to{transform:translate(3vw,-3vw)}}.login-bg>*{z-index:1;position:relative}.login-bg .form-input:-webkit-autofill{-webkit-text-fill-color:var(--text-dark);caret-color:var(--text-dark);transition:background-color 9999s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--bg-light) inset!important}.login-bg .form-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-dark);caret-color:var(--text-dark);transition:background-color 9999s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--bg-light) inset!important}.login-bg .form-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-dark);caret-color:var(--text-dark);transition:background-color 9999s ease-in-out;-webkit-box-shadow:0 0 0 1000px var(--bg-light) inset, var(--shadow-glow)!important;box-shadow:0 0 0 1000px var(--bg-light) inset, var(--shadow-glow)!important}.login-bg .form-input:focus{background:var(--primary-50)}.login-feature-card{cursor:default;transition:border-color var(--transition-normal), box-shadow var(--transition-normal)}.login-feature-card:hover{border-color:var(--primary);box-shadow:var(--shadow-glow)}.hmi-panel .data-table.report-table th,.hmi-panel .data-table.report-table td{padding:13px 14px}@keyframes alarm-breathe{0%,to{opacity:1;box-shadow:0 0 #ef444459}50%{opacity:.85;box-shadow:0 0 0 6px #ef444400}}.badge-alarm-active{animation:1.6s ease-in-out infinite alarm-breathe}.alarm-recent-table tr:hover td{background:var(--table-row-hover-subtle)}.leaflet-tile-pane .leaflet-layer{filter:invert()hue-rotate(180deg)brightness(.95)contrast(.9)saturate(.7)}.leaflet-container .leaflet-popup-content-wrapper{color:var(--text-dark);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);background:#0d192df5;border:1px solid #4f8cff2e}.leaflet-container .leaflet-popup-tip{background:#0d192df5;border:1px solid #4f8cff2e}.leaflet-container .leaflet-popup-close-button{color:var(--text-light)!important}.leaflet-container .leaflet-popup-close-button:hover{color:var(--text-dark)!important}.leaflet-container .leaflet-bar a{color:var(--text-mid);border-bottom:1px solid var(--border);background:#0d192deb}.leaflet-container .leaflet-bar a:hover{background:var(--bg-elevated);color:var(--text-dark)}.leaflet-container .leaflet-control-attribution{color:var(--text-light);background:#0b1220b3}.leaflet-container .leaflet-control-attribution a{color:var(--text-mid)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):focus,select:focus,textarea:focus{box-shadow:var(--shadow-glow);outline:none;border-color:var(--primary)!important}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}.data-table .text-right{text-align:right}.data-table .text-center{text-align:center}.device-marker-online:after{content:"";pointer-events:none;background:#10b9814d;border-radius:50%;width:20px;height:20px;animation:3s ease-out infinite device-marker-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes device-marker-pulse{0%{opacity:.3;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(2)}}:root{--hmi-bg:#060e1a;--hmi-panel-bg:#0c1426d9;--hmi-neon:#4f8cff;--hmi-accent:#827bff;--hmi-bright:#d2e2ff;--hmi-warn:#ff9b26;--hmi-text:#d6e4ec;--hmi-run:#22e0c7;--hmi-run-bg:#22e0c71a;--hmi-run-border:#22e0c740;--hmi-run-glow:0 0 8px #22e0c738, 0 0 18px #22e0c714;--hmi-glow1:#4f8cff24;--hmi-glow2:#827bff09;--hmi-glow-inner:#827bff06;--hmi-grid:#4f8cff09;--hmi-border:#4f8cff1a}[data-theme=light]{--hmi-bg:#eef3f8;--hmi-panel-bg:#fff;--hmi-neon:#0b66c3;--hmi-accent:#0a9484;--hmi-bright:#122a42;--hmi-warn:#b45309;--hmi-text:#2a3e55;--hmi-run:#15803d;--hmi-run-bg:#15803d14;--hmi-run-border:#15803d4d;--hmi-run-glow:0 0 8px #15803d2e;--hmi-glow1:#0b66c30f;--hmi-glow2:#0b66c308;--hmi-glow-inner:#0b66c30a;--hmi-grid:#0b66c30d;--hmi-border:#c9d8e7}.hmi-page{color:var(--hmi-text)}.hmi-panel{background:var(--hmi-panel-bg);border:1px solid var(--hmi-border);box-shadow:0 0 12px var(--hmi-glow1), 0 0 24px var(--hmi-glow2), inset 0 0 6px var(--hmi-glow-inner);border-radius:4px;padding:16px;position:relative;overflow:clip}.hmi-panel:before,.hmi-panel:after{content:"";border-color:var(--hmi-neon);opacity:.7;z-index:2;pointer-events:none;border-style:solid;border-width:2px 0 0 2px;width:24px;height:24px;position:absolute}.hmi-panel:before{top:0;left:0}.hmi-panel:after{bottom:0;right:0;transform:rotate(180deg)}.hmi-panel .hmi-corner-tr,.hmi-panel .hmi-corner-bl{border-color:var(--hmi-neon);opacity:.7;z-index:2;pointer-events:none;border-style:solid;border-width:2px 0 0 2px;width:24px;height:24px;position:absolute}.hmi-panel .hmi-corner-tr{top:0;right:0;transform:rotate(90deg)}.hmi-panel .hmi-corner-bl{bottom:0;left:0;transform:rotate(270deg)}.hmi-scanline{pointer-events:none;z-index:1;background:linear-gradient(#4f8cff00 0%,#4f8cff0f 50%,#4f8cff00 100%);width:100%;height:80%;animation:8s linear infinite hmi-scan-move;position:absolute;top:-100%;left:0}@keyframes hmi-scan-move{0%{top:-80%}to{top:100%}}.led-run{background-color:var(--hmi-run);width:8px;height:8px;box-shadow:0 0 8px var(--hmi-run);border-radius:50%;flex-shrink:0;animation:2s ease-in-out infinite hmi-breathe-green;display:inline-block}@keyframes hmi-breathe-green{0%,to{opacity:.5}50%{opacity:1}}.led-warn{background-color:var(--hmi-warn);width:8px;height:8px;box-shadow:0 0 8px var(--hmi-warn);border-radius:50%;flex-shrink:0;animation:1.5s ease-in-out infinite hmi-breathe-warn;display:inline-block}@keyframes hmi-breathe-warn{0%,to{opacity:.5}50%{opacity:1}}.hmi-title-bar{justify-content:space-between;align-items:flex-end;margin-bottom:16px;display:flex}.hmi-title-accent{background:var(--hmi-neon);width:3px;height:26px;box-shadow:0 0 8px var(--hmi-glow1);display:inline-block}.hmi-title-h1{color:var(--hmi-bright);letter-spacing:3px;text-transform:uppercase;margin:0;font-size:24px;font-weight:800}.hmi-tag{color:var(--hmi-glow1);letter-spacing:2px;border:1px solid var(--hmi-border);border-radius:2px;padding:2px 8px;font-family:JetBrains Mono,Consolas,monospace;font-size:10px}.hmi-subtitle{color:#d6e4ec8c;letter-spacing:1px;margin-top:4px;font-size:11px}.hmi-stat-label{color:#d6e4ec59;text-transform:uppercase;letter-spacing:1.5px;text-align:center;margin-bottom:8px;font-size:9px}.hmi-stat-value{color:var(--hmi-bright);letter-spacing:2px;text-shadow:0 0 20px var(--hmi-glow1);text-align:center;font-family:JetBrains Mono,Consolas,monospace;font-size:38px;font-weight:900;line-height:1}.hmi-section-bar{background:var(--hmi-neon);width:3px;height:18px;box-shadow:0 0 6px var(--hmi-neon);border-radius:0;flex-shrink:0}.hmi-section-text{color:var(--hmi-neon);letter-spacing:1px;font-size:14px;font-weight:700}.hmi-tick-bar{background:repeating-linear-gradient(90deg, var(--hmi-glow1) 0px, var(--hmi-glow1) 4px, transparent 4px, transparent 8px);height:1px;margin:0 16px}.hmi-filter-btn{box-sizing:border-box;cursor:pointer;border-radius:3px;justify-content:center;align-items:center;height:26px;padding:0 14px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.hmi-filter-btn.active{color:var(--hmi-neon);background:#827bff1a;border:1px solid #827bff59;box-shadow:0 0 8px #827bff26}.hmi-filter-btn.inactive{color:#d6e4ec8c;border:1px solid var(--hmi-border);background:#08122080}.hmi-timeline-item{cursor:pointer;border-radius:3px;flex-shrink:0;transition:all .2s;position:relative;overflow:hidden}.hmi-timeline-item:before{content:"";opacity:.4;width:2px;position:absolute;top:0;bottom:0;left:0}.hmi-log-scroll{max-height:152px;position:relative;overflow:hidden}.hmi-log-scroll:hover .hmi-log-scroll-inner{animation-play-state:paused}@keyframes hmi-log-scroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.hmi-log-entry{color:var(--hmi-text);border-bottom:1px solid #4f8cff0a;align-items:center;gap:10px;padding:6px 12px;font-size:11px;line-height:1.6;transition:all .2s;display:flex}.hmi-log-entry:hover{color:#fff;background:#827bff0f;box-shadow:inset 0 0 12px #827bff14}.tag-run{color:var(--hmi-run);background:var(--hmi-run-bg);border:1px solid var(--hmi-run-border);box-shadow:var(--hmi-run-glow);letter-spacing:.5px;border-radius:3px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.tag-warn{color:#e2a55e;letter-spacing:.5px;background:#e2a55e14;border:1px solid #e2a55e47;border-radius:3px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex;box-shadow:0 0 8px #e2a55e33,0 0 18px #e2a55e12}.hmi-select{border:1px solid var(--hmi-border);color:var(--hmi-text);cursor:pointer;appearance:none;background-color:#081220e6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%234f8cff' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;border-radius:3px;outline:none;padding:6px 28px 6px 10px;font-size:11px;transition:all .15s}.hmi-select:hover{border-color:#4f8cff4d}.hmi-select:focus{border-color:var(--hmi-neon);box-shadow:0 0 8px #827bff33}.hmi-btn{border:1px solid var(--hmi-border);color:var(--hmi-neon);cursor:pointer;background:#4f8cff0f;border-radius:3px;padding:4px 10px;font-size:12px;transition:all .15s}.hmi-btn:hover{background:#827bff24;border-color:#827bff66;box-shadow:0 0 12px #827bff40}.hmi-strategy-card{background:#08122080;border:1px solid #4f8cff26;border-radius:3px;flex-shrink:0;padding:12px 14px;transition:all .15s;position:relative;overflow:hidden}.hmi-strategy-card:hover{background:#081220a6;border-color:#4f8cff4d}.hmi-strategy-card:before{content:"";background:var(--hmi-neon);opacity:.6;width:2px;position:absolute;top:0;bottom:0;left:0}.hmi-panel+.hmi-panel{margin-top:10px}.hmi-panel ::-webkit-scrollbar{width:4px;height:4px}.hmi-panel ::-webkit-scrollbar-track{background:0 0}.hmi-panel ::-webkit-scrollbar-thumb{background:#4f8cff2e;border-radius:2px}.hmi-panel ::-webkit-scrollbar-thumb:hover{background:#4f8cff59}.hmi-panel *{scrollbar-width:thin;scrollbar-color:#4f8cff2e transparent}.hmi-main-grid{grid-template-columns:minmax(0,47%) 1fr;align-items:stretch;gap:22px;width:100%;display:grid}.hmi-main-grid>.hmi-panel{min-width:0;margin-top:0;overflow-x:clip}@media (width<=1300px){.hmi-main-grid{grid-template-columns:1fr}}.panel-scroll-inner{scrollbar-width:thin;scrollbar-color:#4f8cff transparent;flex:410px;min-height:0;padding-right:14px;overflow-y:auto}.panel-scroll-inner>*{flex-shrink:0}.hmi-panel .data-table th,.hmi-panel .data-table td{text-align:left;padding:6px 10px}.hmi-panel .data-table.account-table tbody tr{height:48px}.hmi-panel .data-table.account-table td{vertical-align:middle}.hmi-panel .data-table.account-table tr:nth-child(2n) td{background:#ffffff08}.hmi-panel .data-table.account-table tr:hover td{background:#0077ff14}[data-theme=light] .hmi-panel .data-table.account-table tr:nth-child(2n) td{background:#0b66c30a}[data-theme=light] .hmi-panel .data-table.account-table tr:hover td{background:#0b66c30f}.hmi-panel .data-table.heat-pump-table{overflow:visible}.hmi-panel .data-table.heat-pump-table thead{z-index:2;position:sticky;top:0}.hmi-panel .data-table.heat-pump-table thead th.sticky{z-index:3;position:sticky;left:0}.hmi-panel .data-table.heat-pump-table tbody td.sticky,.hmi-panel .data-table.heat-pump-table tfoot td.sticky{z-index:1;position:sticky;left:0}.hmi-panel .data-table.heat-pump-table tbody td.sticky{background:var(--bg-page)}.hmi-panel .data-table.heat-pump-table tbody tr:nth-child(2n) td,.hmi-panel .data-table.heat-pump-table tbody tr:nth-child(2n) td.sticky{background:#ffffff08}.hmi-panel .data-table.heat-pump-table tbody tr:hover td,.hmi-panel .data-table.heat-pump-table tbody tr:hover td.sticky{background:#0077ff12}[data-theme=light] .hmi-panel .data-table.heat-pump-table tbody tr:nth-child(2n) td,[data-theme=light] .hmi-panel .data-table.heat-pump-table tbody tr:nth-child(2n) td.sticky{background:#0b66c30a}[data-theme=light] .hmi-panel .data-table.heat-pump-table tbody tr:hover td,[data-theme=light] .hmi-panel .data-table.heat-pump-table tbody tr:hover td.sticky{background:#0b66c30d}.hmi-panel .data-table.heat-pump-table th,.hmi-panel .data-table.heat-pump-table td{text-align:center}.hmi-panel .data-table.heat-pump-table th.sticky,.hmi-panel .data-table.heat-pump-table td.sticky{text-align:left}.hmi-panel .data-table.balanced-table{table-layout:fixed}.hmi-panel .data-table.balanced-table th{width:33.33%}.hmi-panel .data-table.balanced-table th,.hmi-panel .data-table.balanced-table td{text-align:center}.hmi-panel .data-table.ts-table{table-layout:fixed}.hmi-panel .data-table.ts-table th:first-child,.hmi-panel .data-table.ts-table th:nth-child(6){width:56px}.hmi-panel .data-table.ts-table th,.hmi-panel .data-table.ts-table td{padding:6px 4px}.panel-scroll-inner::-webkit-scrollbar{width:6px}.layout-wrap{height:100vh;display:flex;overflow:hidden}.main-content{flex:1;min-width:0;height:100%;overflow:hidden auto}.sidebar-left{background-color:#0b182b;background-image:linear-gradient(#4f8cff04 1px,#0000 1px),linear-gradient(90deg,#4f8cff04 1px,#0000 1px);background-size:32px 32px;flex-shrink:0;height:100%;position:static;overflow:hidden auto;box-shadow:2px 0 18px #00000073}.sidebar-left:before{top:0;right:0}.sidebar-left:after{left:0}@media (width<=767px){.sidebar-left{z-index:100;height:100vh;position:fixed;top:0;left:0}}.sb-corner{z-index:3;pointer-events:none;filter:drop-shadow(0 0 4px #827bff1a);border:0 solid #4f8cff66;width:16px;height:16px;position:absolute}.sb-corner.tl{border-top-width:2px;border-left-width:2px;top:0;left:0}.sb-corner.tr{border-top-width:2px;border-right-width:2px;top:0;right:0}.sb-corner.bl{border-bottom-width:2px;border-left-width:2px;bottom:0;left:0}.sb-corner.br{border-bottom-width:2px;border-right-width:2px;bottom:0;right:0}.sidebar-nav a{color:#8a92c8;border-bottom:1px dashed #4f8cff1a}.sidebar-nav a:hover{color:#dce8ff;background:#827bff14}.sidebar-nav a.active{color:#8fb8ff;text-shadow:0 0 8px #4f8cff66;background:#4f8cff1f}.sidebar-logo{border-bottom:1px solid #4f8cff38}.sidebar-user-panel{box-shadow:inset 0 0 12px #4f8cff0a;background:#0812208c!important;border-top:1px solid #4f8cff2e!important}.sidebar-left::-webkit-scrollbar{width:6px;height:6px}.main-content::-webkit-scrollbar{width:6px;height:6px}.panel-scroll-inner::-webkit-scrollbar{width:6px;height:6px}.sidebar-left::-webkit-scrollbar-thumb{background:#3d5aa8;border-radius:3px}.main-content::-webkit-scrollbar-thumb{background:#3d5aa8;border-radius:3px}.panel-scroll-inner::-webkit-scrollbar-thumb{background:#3d5aa8;border-radius:3px}.main-content::-webkit-scrollbar-track{background:#0a192866}.panel-scroll-inner::-webkit-scrollbar-track{background:#0a192866}.sidebar-left::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-track{background:0 0}@keyframes alarm-row-flash{0%{background:#e5484d47}60%{background:#e5484d2e}to{background:0 0}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}:root{--ev-radius:10px;--ev-sidebar-width:232px;--ev-topbar-height:64px;--ev-focus:0 0 0 3px var(--primary-glow);--osn-error:var(--error);--glow-selected:var(--primary-glow)}html{scroll-behavior:smooth}body{background:var(--bg-page);font-size:14px}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid var(--primary)!important;box-shadow:var(--ev-focus)!important}button:disabled{cursor:not-allowed}.layout-wrap{background:var(--bg-page);height:100dvh}.sidebar-left{z-index:100;width:var(--ev-sidebar-width)!important;background:var(--bg-card)!important;border-right:1px solid var(--border)!important;background-image:none!important;margin:0!important;transition:width .2s,transform .2s!important;box-shadow:2px 0 18px #102a480f!important}.sidebar-logo{align-items:center;gap:11px;min-height:78px;display:flex;border-bottom:1px solid var(--border)!important;padding:17px 14px!important}.brand-mark{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-end));width:38px;height:38px;box-shadow:0 5px 14px var(--primary-glow);border-radius:11px;flex:0 0 38px;place-items:center;font-size:18px;font-weight:800;display:grid}.brand-copy{white-space:nowrap;min-width:0}.brand-title{color:var(--osn-text-title);letter-spacing:-.02em;font-size:15px;font-weight:800}.brand-subtitle{color:var(--text-light);margin-top:3px;font-size:10px}.sidebar-collapse-btn{width:28px;height:28px;color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:0 0 28px;place-items:center;margin-left:auto;display:grid}.sidebar-collapse-btn:hover{color:var(--primary);background:var(--primary-50)}.sidebar-nav{margin-right:0!important;padding:12px 10px 20px!important}.sidebar-group-label{color:var(--text-light);letter-spacing:.12em;white-space:nowrap;margin:0 0 5px;padding:0 11px;font-size:10px;font-weight:700}.sidebar-nav a,.sidebar-left .sidebar-nav a{gap:0;min-height:38px;margin:2px 0;color:var(--text-mid)!important;text-shadow:none!important;border:0!important;border-radius:8px!important;padding:9px 11px!important;font-size:13px!important;font-weight:500!important}.sidebar-nav a .nav-icon{flex:0 0 18px;margin-right:11px}.sidebar-nav a:hover,.sidebar-left .sidebar-nav a:hover{color:var(--primary)!important;background:var(--primary-50)!important}.sidebar-nav a.active,.sidebar-left .sidebar-nav a.active{color:var(--primary)!important;background:var(--primary-light)!important;font-weight:700!important}.sidebar-nav a.active:before{background:var(--primary);width:3px;height:20px;box-shadow:none;left:-10px}.sidebar-alarm-badge{min-width:18px;height:18px;box-shadow:none;padding:0 5px;font-size:10px}.sidebar-user-panel,[data-theme=light] .sidebar-user-panel{border-radius:10px;align-items:center;gap:10px;margin:10px;display:flex;background:var(--bg-elevated)!important;border:1px solid var(--border)!important;box-shadow:none!important;padding:12px!important}.user-avatar{background:var(--primary-light);width:32px;height:32px;color:var(--primary);border-radius:9px;flex:0 0 32px;place-items:center;font-weight:800;display:grid}.user-copy{white-space:nowrap;min-width:0}.user-name{color:var(--text-dark);text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.user-role{color:var(--text-light);margin-top:3px;font-size:10px}.sidebar-collapsed{--ev-sidebar-width:68px}.sidebar-collapsed .brand-copy,.sidebar-collapsed .user-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-group-label{display:none}.sidebar-collapsed .sidebar-logo{justify-content:center;padding-inline:8px!important}.sidebar-collapsed .brand-mark{flex-basis:34px;width:34px;height:34px}.sidebar-collapsed .sidebar-collapse-btn{background:var(--bg-card);position:absolute;top:60px;right:4px}.sidebar-collapsed .sidebar-nav{padding-inline:9px!important}.sidebar-collapsed .sidebar-group{margin-bottom:8px}.sidebar-collapsed .sidebar-nav a{justify-content:center;padding-inline:0!important}.sidebar-collapsed .sidebar-nav a .nav-icon{margin-right:0}.sidebar-collapsed .sidebar-nav a.active:before{left:-9px}.sidebar-collapsed .sidebar-alarm-badge{min-width:15px;height:15px;font-size:8px;position:absolute;top:1px;right:1px}.sidebar-collapsed .sidebar-user-panel{justify-content:center;margin:8px;padding:9px!important}.sidebar-backdrop{z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#040a1861;border:0;position:fixed;inset:0}.topbar{height:var(--ev-topbar-height);background:color-mix(in srgb, var(--bg-card) 90%, transparent)!important;border-bottom:1px solid var(--border)!important;padding:0 22px!important;box-shadow:0 1px 8px #102a480a!important}.topbar-context{align-items:center;gap:12px;min-width:0;display:flex}.topbar-menu-btn,.topbar-icon-btn{cursor:pointer;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;border:1px solid var(--border)!important;color:var(--text-mid)!important;background:var(--bg-card)!important;border-radius:9px!important}.topbar-menu-btn:hover,.topbar-icon-btn:hover{color:var(--primary)!important;border-color:var(--primary)!important;background:var(--primary-50)!important}.breadcrumb-block{min-width:0}.breadcrumb-path{color:var(--text-light);align-items:center;gap:4px;margin-bottom:5px;font-size:9px;line-height:1;display:flex}.topbar-title{color:var(--osn-text-title)!important;letter-spacing:0!important;text-shadow:none!important;font-size:14px!important;font-weight:700!important}.topbar-actions{align-items:center;gap:7px;display:flex}.topbar-project-select{width:min(260px,24vw);min-width:150px;height:36px;color:var(--text-dark);background:var(--bg-card);padding:0 30px 0 11px;font-size:12px;font-weight:600}@media (width<=1100px){.topbar-project-select{width:160px;min-width:0}}@media (width<=768px){.topbar-project-select{width:132px;font-size:11px}}.topbar-action-btn{border:1px solid var(--border);background:var(--bg-card);height:36px;color:var(--text-mid);cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:0 11px;font-size:12px;display:inline-flex}.topbar-action-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-50)}.alarm-entry{text-decoration:none;position:relative}.alarm-entry>span{color:#fff;background:var(--error);border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:9px;font-weight:700;display:grid;position:absolute;top:-6px;right:-6px}.main-content{background:var(--bg-page)}.main-content>main{width:100%;max-width:1920px;margin:0 auto}@keyframes ev-page-enter{0%{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}.hmi-panel,.card,.strategy-panel .gc,.strategy-panel .dc{border-radius:var(--ev-radius)!important;border-color:var(--border)!important;box-shadow:var(--shadow-sm)!important}.hmi-panel{background:var(--bg-card)!important}.card:hover,.strategy-panel .gc:hover,.strategy-panel .dc:hover{box-shadow:var(--shadow-md)!important;border-color:var(--border-hover,var(--primary))!important}.hmi-panel:before,.hmi-panel:after,.hmi-panel .hmi-corner-tr,.hmi-panel .hmi-corner-bl,.sb-corner,.hmi-scanline,.hmi-tick-bar{display:none!important}.hmi-title-accent{border-radius:2px;width:3px!important;height:22px!important;box-shadow:none!important;background:var(--primary)!important}.hmi-section-bar{border-radius:2px;box-shadow:none!important}.hmi-title-h1{letter-spacing:0!important;font-size:22px!important}.hmi-tag{letter-spacing:.04em;font-family:inherit}.hmi-section-text{color:var(--osn-text-title);letter-spacing:0}.hmi-stat-label{color:var(--text-light);letter-spacing:.04em;font-size:11px}.hmi-stat-value{letter-spacing:0;text-shadow:none;font-size:32px}.hmi-page{min-height:auto!important;margin:0!important;padding:0!important;font-family:inherit!important}.hmi-title-bar{padding:18px 20px!important}.hmi-log-scroll{max-height:190px;overflow-y:auto}.hmi-log-scroll-inner{animation:none!important}.stat-card-glow{min-height:112px}.stat-card-glow>div:first-child{opacity:.65;animation:none!important}.stat-card-button{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.stat-card-button:hover{transform:translateY(-1px)}.stat-card-static{cursor:default}.stat-card-glow .text-2xl{font-variant-numeric:tabular-nums}.btn-primary-scada,.btn-blue-fill,.strategy-panel .btn-amber{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;box-shadow:0 2px 6px var(--primary-glow)!important}.btn-primary-scada:hover:not(:disabled),.btn-blue-fill:hover:not(:disabled),.strategy-panel .btn-amber:hover:not(:disabled){background:var(--primary-hover)!important;border-color:var(--primary-hover)!important;box-shadow:0 4px 12px var(--primary-glow)!important}.btn-blue,.btn-ghost{border-radius:8px}.topbar .btn-ghost{color:var(--text-mid);background:var(--bg-card)}.form-input,.strategy-panel .inp,.hmi-select{border-color:var(--border)!important;border-radius:8px!important}.form-input{height:40px}.search-box{border-radius:8px}.data-table{border-radius:8px!important}.data-table th{background:var(--bg-elevated)!important;color:var(--text-mid)!important;letter-spacing:.02em!important;text-transform:none!important;font-size:11px!important}.data-table td{font-size:13px!important}.data-table tr:hover td{background:var(--primary-50)!important}.hmi-panel .data-table th,.hmi-panel .data-table td,.hmi-panel .data-table.heat-pump-table th,.hmi-panel .data-table.heat-pump-table td{padding:10px 12px}.hmi-filter-btn{border-radius:7px;height:auto;min-height:32px}.hmi-filter-btn.active{color:var(--primary);background:var(--primary-light);border-color:var(--primary);box-shadow:none}.hmi-filter-btn.inactive{color:var(--text-mid);background:var(--bg-card)}.hmi-btn{border-radius:7px;min-height:30px}.hmi-strategy-card{background:var(--bg-elevated);border-radius:8px}.hmi-strategy-card:hover{background:var(--primary-50)}.tag-run,.tag-warn{box-shadow:none}.led-run,.led-warn,.status-dot.online,.status-dot.online:after,.badge-alarm-active{animation:none!important}.panel-scroll-inner{flex-basis:300px}.modal-overlay{padding:20px;z-index:1000!important}.modal-dialog{border:1px solid var(--border);background:var(--bg-card);border-radius:14px!important}.modal-close-btn{cursor:pointer}.toast-item{box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid;background:var(--bg-card)!important}.toast-item [role=status]{color:var(--text-dark)}.dashboard-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}.dashboard-chart-grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr)!important}.dashboard-quick-links{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))!important}.metric-clickable{cursor:pointer}.result-query-banner,.dirty-banner{color:var(--warning);background:var(--warning-light);border:1px solid color-mix(in srgb, var(--warning) 35%, transparent);border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:10px 13px;font-size:12px;display:flex}.result-context{color:var(--text-light);font-size:11px}.strategy-action-bar{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-inline:-16px;position:sticky;bottom:0;background:color-mix(in srgb, var(--bg-card) 94%, transparent)!important;padding:12px 16px!important}.report-list-button{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.control-step-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.control-step{border:1px solid var(--border);background:var(--bg-card);color:var(--text-mid);border-radius:9px;align-items:center;gap:10px;padding:11px 13px;font-size:12px;display:flex}.control-step-number{background:var(--primary-light);width:23px;height:23px;color:var(--primary);border-radius:7px;place-items:center;font-weight:800;display:grid}.control-target-sticky{z-index:4;position:sticky;top:0}.save-action-bar{z-index:5;border:1px solid var(--border);background:color-mix(in srgb, var(--bg-card) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;margin-top:18px;padding:12px;position:sticky;bottom:0}.help-lead{color:var(--osn-text-title);margin:0 0 18px;font-size:15px;font-weight:600;line-height:1.7}.help-section{border-top:1px solid var(--border);padding:13px 0}.help-section strong{color:var(--text-dark);font-size:13px}.help-section p{color:var(--text-mid);margin:6px 0 0;font-size:13px;line-height:1.75}.help-shortcuts{border-top:1px solid var(--border);color:var(--text-light);flex-wrap:wrap;gap:12px;padding-top:15px;font-size:11px;display:flex}.help-shortcuts span{align-items:center;gap:6px;display:inline-flex}kbd{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-mid);border-bottom-width:2px;border-radius:5px;padding:2px 6px;font:10px ui-monospace,monospace}.chat-scroll-button{z-index:4;box-shadow:var(--shadow-md);position:absolute;bottom:92px;right:22px}.viewer-shell{position:relative}.viewer-toolbar{z-index:10;gap:6px;display:flex;position:absolute;top:12px;right:12px}.viewer-tool{border:1px solid var(--border);height:32px;color:var(--text-mid);background:var(--bg-card);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:0 10px;font-size:11px;display:inline-flex}.viewer-tool:hover{color:var(--primary);border-color:var(--primary)}.viewer-shell:fullscreen{background:var(--bg-page);padding:16px}.viewer-shell:fullscreen canvas{height:calc(100dvh - 32px)!important}[data-theme=dark] .sidebar-left{background:#0b182b!important}[data-theme=dark] .sidebar-group-label{color:#71819d}[data-theme=dark] .sidebar-nav a{color:#9caecb!important}[data-theme=dark] .hmi-panel{background:#0c1426e6!important}[data-theme=dark] body:after{opacity:.35}[data-theme=light] body:after{opacity:.45;animation:none}[data-theme=light] .bg-particle-overlay{display:none}@media (width<=1450px){.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (width<=1100px){.dashboard-chart-grid,.main-content .grid-cols-3{grid-template-columns:1fr!important}.main-content .grid-cols-3>.col-span-2{grid-column:auto!important}.main-content .grid-cols-2:not(.control-step-strip),.hmi-main-grid{grid-template-columns:1fr!important}.panel-scroll-inner{max-height:520px}}@media (width<=900px){.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.main-content .flex.items-start.justify-between,.main-content .flex.items-center.justify-between.mb-6{flex-wrap:wrap;gap:12px}.strategy-action-bar{margin-inline:0;position:static;padding-inline:0!important}}@media (width<=767px){:root{--ev-topbar-height:58px}.sidebar-left{transform:translate(-105%);width:min(82vw,280px)!important}.sidebar-left.mobile-open{transform:translate(0)}.sidebar-collapsed .brand-copy,.sidebar-collapsed .user-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-group-label{display:block}.sidebar-collapsed .sidebar-nav a .nav-icon{margin-right:11px}.sidebar-collapse-btn{display:none}.topbar{padding:0 12px!important}.breadcrumb-path{display:none}.topbar-title{font-size:13px!important}.help-button{display:none}.logout-button{justify-content:center;width:36px;padding:0}.logout-button span{display:none}.main-content>main{padding:16px 12px 24px!important}.hmi-panel{padding:14px}.hmi-title-bar{margin-bottom:12px!important}.hmi-title-h1{font-size:19px!important}.hmi-title-bar .tag-run,.hmi-title-bar .tag-warn,.hmi-tag{display:none}.dashboard-kpi-grid{gap:10px!important}.stat-card-glow{min-height:100px;padding:14px!important}.stat-card-glow .text-2xl{font-size:22px}.control-step-strip{grid-template-columns:1fr;gap:6px}.control-step{padding:8px 10px}.modal-overlay{padding:0;align-items:flex-end!important}.modal-dialog{border-radius:16px 16px 0 0!important;width:100%!important;max-width:none!important;max-height:92dvh!important;margin:0!important}.hmi-panel .data-table th,.hmi-panel .data-table td{padding:9px 10px}.search-box{max-width:100%}}@media (width<=480px){.dashboard-kpi-grid{grid-template-columns:1fr 1fr!important}.topbar-actions{gap:5px}.topbar-icon-btn,.topbar-action-btn{width:34px;height:34px}.topbar-context{gap:8px}.topbar-menu-btn{width:34px;height:34px}.brand-subtitle{font-size:9px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--workspace-content-max:1760px;--workspace-radius-sm:8px;--workspace-radius-md:12px;--workspace-radius-lg:14px;--workspace-control-height:38px;--workspace-font-xs:11px;--workspace-font-sm:12px;--workspace-font-md:13px;--workspace-font-lg:15px;--workspace-ease:cubic-bezier(.2, .7, .2, 1)}html{font-size:14px}body{color:var(--text-mid);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}button,a,input,select,textarea{transition:border-color .16s var(--workspace-ease), color .16s var(--workspace-ease), background-color .16s var(--workspace-ease), box-shadow .16s var(--workspace-ease), transform .16s var(--workspace-ease)}button{letter-spacing:.01em}::selection{background:var(--primary-light);color:var(--osn-text-title)}*{scrollbar-width:thin;scrollbar-color:var(--border-hover,var(--border)) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-hover,var(--border));background-clip:padding-box;border:2px solid #0000;border-radius:99px}::-webkit-scrollbar-track{background:0 0}.main-content>main{max-width:var(--workspace-content-max);padding:22px 24px 36px!important}.main-content .grid{align-items:start}.page-transition{animation:workspace-page-enter .22s var(--workspace-ease)}@keyframes workspace-page-enter{0%{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:none}}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);height:68px;background:color-mix(in srgb, var(--bg-card) 92%, transparent)!important;padding:0 24px!important}.topbar-title{line-height:1.25;letter-spacing:-.01em!important;font-size:16px!important}.topbar-description{max-width:48vw;color:var(--text-light);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:10px;line-height:1.3;overflow:hidden}.breadcrumb-path{margin-bottom:6px;font-size:10px}.topbar-context{gap:13px}.topbar-actions{gap:8px}.topbar-icon-btn,.topbar-menu-btn,.topbar-action-btn{border-radius:9px;min-width:38px;height:38px;font-size:12px}.topbar-project-select{min-width:210px;height:38px;font-size:12px}.topbar-action-btn:hover,.topbar-icon-btn:hover,.topbar-menu-btn:hover{box-shadow:var(--shadow-xs);transform:translateY(-1px)}.sidebar-logo{min-height:80px}.brand-title{font-size:16px}.brand-subtitle{letter-spacing:.03em;font-size:10px}.sidebar-group{margin-bottom:18px}.sidebar-group-label{letter-spacing:.1em;margin-bottom:7px;font-size:10px}.sidebar-nav a,.sidebar-left .sidebar-nav a{min-height:40px;margin:2px 0;border-radius:9px!important;font-size:13px!important}.sidebar-nav a.active,.sidebar-left .sidebar-nav a.active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 9%, transparent)}.sidebar-user-panel,[data-theme=light] .sidebar-user-panel{border-radius:11px;padding:12px!important}.user-name{font-size:12px}.user-role{font-size:10px}.hmi-panel,.project-card,.card,.strategy-panel .gc,.strategy-panel .dc{border:1px solid var(--border)!important;border-radius:var(--workspace-radius-lg)!important;background:var(--bg-card)!important;box-shadow:var(--shadow-xs)!important}.hmi-panel{padding:20px}.project-card{padding:18px}.stat-card-button,.project-governance-link,.generic-device-row,.project-hero-action{-webkit-tap-highlight-color:transparent}.stat-card-button:hover,.project-governance-link:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.main-content h1,.hmi-title-h1{color:var(--osn-text-title);line-height:1.3;letter-spacing:-.025em!important;font-size:25px!important}.main-content h2{color:var(--osn-text-title);letter-spacing:-.015em;font-size:18px;line-height:1.4}.main-content h3{color:var(--osn-text-title);font-size:15px;line-height:1.45}.hmi-panel h1,.hmi-panel h2,.hmi-panel h3{margin-top:0}.hmi-section-bar{border-radius:99px;min-height:15px;background:var(--primary)!important;width:3px!important}.project-card-title{letter-spacing:-.01em;margin-bottom:14px;font-size:14px;line-height:1.45}.project-card-title small{letter-spacing:.09em;font-size:9px}.project-card-lead{margin-bottom:14px;font-size:11px;line-height:1.75}.project-hero{border:1px solid color-mix(in srgb, var(--primary) 16%, var(--border));border-radius:var(--workspace-radius-lg);color:var(--text-mid);background:linear-gradient(135deg, var(--bg-card) 0%, var(--primary-50) 58%, color-mix(in srgb, var(--cyan) 7%, var(--bg-card)) 100%);box-shadow:var(--shadow-sm)}.project-hero:after{background:radial-gradient(circle, color-mix(in srgb, var(--primary-end) 15%, transparent), transparent 68%)}.project-hero h1{color:var(--primary-hover);letter-spacing:-.025em;font-weight:750;font-size:clamp(25px,2.5vw,34px)!important}.project-hero p{color:var(--text-mid);font-size:12px}.project-eyebrow{color:var(--primary)}.project-hero-tag{border-color:color-mix(in srgb, var(--primary) 16%, var(--border));color:var(--primary);background:var(--primary-50);padding:6px 10px;font-size:10px}.project-hero-tag.good{border-color:color-mix(in srgb, var(--success) 24%, var(--border));color:var(--success);background:var(--success-light)}.project-hero-tag.warn{border-color:color-mix(in srgb, var(--warning) 24%, var(--border));color:var(--warning);background:var(--warning-light)}.project-hero-action{border-color:var(--border);min-height:32px;color:var(--primary);background:var(--bg-card);font-size:11px}.project-hero-action:hover{border-color:var(--primary);background:var(--primary-50)}.project-selector{border-radius:var(--workspace-radius-md)}.project-selector-title{font-size:14px}.project-selector-note{font-size:11px}.project-selector-label{font-size:10px}.project-selector-label select{height:38px;font-size:12px}.project-kpi{border-radius:var(--workspace-radius-md);padding:17px 18px}.project-kpi-label{font-size:11px}.project-kpi-note{font-size:11px;line-height:1.55}.project-kpi-conclusion{font-size:11px;line-height:1.6}.project-kpi-value small{font-size:11px}.stat-card-glow{border-radius:var(--workspace-radius-md)}.ops-metric{border-radius:11px}.ops-metric>span{font-size:11px}.ops-metric>em{font-size:11px;line-height:1.55}.project-conclusion{padding:12px 15px;font-size:12px}.ops-status,.project-badge,.badge,.status-badge{letter-spacing:.01em;padding:4px 9px;font-size:10px}.project-tabs{border-radius:var(--workspace-radius-md);gap:5px;margin:18px 0;padding:5px}.project-tab{border-radius:8px;min-width:116px;height:40px;font-size:12px}.project-tab.active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 13%, transparent), var(--shadow-xs)}.ops-asset-tabs button{min-height:34px;font-size:12px}[role=tab]{min-height:38px}[role=tab]:focus-visible{z-index:2;position:relative}.main-content .form-input,.main-content input[type=text],.main-content input[type=password],.main-content input[type=search],.main-content input[type=number],.main-content input[type=date],.main-content input[type=datetime-local],.main-content input[type=time],.main-content select,.main-content textarea{min-height:var(--workspace-control-height);border:1px solid var(--border);border-radius:var(--workspace-radius-sm);color:var(--text-dark);background-color:var(--bg-card);padding:8px 11px;font-size:12px;line-height:1.5}.main-content select{padding-right:30px}.main-content textarea{resize:vertical;min-height:104px}.main-content .form-input:hover,.main-content input[type=text]:hover,.main-content input[type=password]:hover,.main-content input[type=search]:hover,.main-content input[type=number]:hover,.main-content input[type=date]:hover,.main-content input[type=datetime-local]:hover,.main-content input[type=time]:hover,.main-content select:hover,.main-content textarea:hover{border-color:var(--border-hover,var(--primary))}.main-content .form-input:focus,.main-content input[type=text]:focus,.main-content input[type=password]:focus,.main-content input[type=search]:focus,.main-content input[type=number]:focus,.main-content input[type=date]:focus,.main-content input[type=datetime-local]:focus,.main-content input[type=time]:focus,.main-content select:focus,.main-content textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.main-content input::placeholder,.main-content textarea::placeholder{color:var(--text-light);opacity:.78}.main-content label{font-size:12px}.project-form-grid label{gap:7px;font-size:12px}.project-filterbar{gap:9px;margin-bottom:15px}.project-filterbar .form-input{height:38px;font-size:12px}.main-content .hmi-page{min-height:0!important;margin:0!important;padding:0!important;font-family:inherit!important}.hmi-title-bar{justify-content:space-between;align-items:center;gap:18px;display:flex;margin-bottom:18px!important;padding:18px 20px!important}.hmi-title-bar .hmi-title-h1{font-size:24px!important}.hmi-title-bar .hmi-subtitle{margin-top:6px;font-size:11px;line-height:1.55}.hmi-title-bar .hmi-tag{font-size:10px}.hmi-section-title{align-items:center;gap:9px;margin-bottom:14px;display:flex}.hmi-section-text{color:var(--osn-text-title);font-size:14px;font-weight:750}.hmi-stat-label{font-size:11px}.hmi-stat-value{font-size:30px;line-height:1.2}.hmi-select{border-radius:var(--workspace-radius-sm);min-height:38px;font-size:12px}.hmi-filter-btn{border-radius:8px;height:32px;padding-inline:13px;font-size:11px}.hmi-filter-btn.active{border-color:color-mix(in srgb, var(--primary) 30%, var(--border));background:var(--primary-light);box-shadow:none}.hmi-btn{border-radius:8px;min-width:32px;min-height:32px}.hmi-strategy-card{border-radius:10px;padding:14px}.hmi-timeline-item{border-radius:10px}.hmi-log-scroll-inner{gap:8px}.ui-button{border-radius:var(--workspace-radius-sm);letter-spacing:.01em;font-weight:650}.ui-button[data-size=sm]{height:34px;padding-inline:12px;font-size:11px}.ui-button[data-size=md]{height:38px;padding-inline:15px;font-size:12px}.ui-button[data-size=lg]{height:44px;padding-inline:20px;font-size:14px}.ui-button:not(:disabled):hover{transform:translateY(-1px)}.ui-button:not(:disabled):active{transform:translateY(0)}.btn-primary-scada{background:linear-gradient(135deg, var(--primary), var(--primary-end));box-shadow:0 3px 10px var(--primary-glow);border:1px solid #0000}.btn-primary-scada:hover{box-shadow:0 5px 15px var(--primary-glow);filter:saturate(1.06)}.project-small-btn,.project-capture{min-height:30px;padding:6px 10px;font-size:10px}.project-governance-link{min-height:38px;padding:10px 12px;font-size:11px}.topology-tool,.twin-tool{min-height:32px;font-size:11px}.main-content table{font-size:12px}.main-content th{color:var(--text-light);background:var(--bg-elevated);letter-spacing:.025em;text-align:left;padding:12px 14px;font-size:11px;font-weight:700;line-height:1.45}.main-content td{padding:12px 14px;font-size:12px;line-height:1.55}.main-content tbody tr{transition:background-color .14s var(--workspace-ease)}.main-content tbody tr:hover>td{background:var(--primary-50)}.main-content tbody tr:focus-visible>td{background:var(--primary-light)}.main-content td b,.main-content td strong{color:var(--text-dark);font-weight:650}.project-data-table th,.project-data-table td{padding:12px 14px;font-size:12px}.project-data-table-wrap,.ops-table-wrap,.topology-table-wrap{border-radius:11px}.ops-table td:nth-child(3){min-width:200px}.main-content .mono{font-variant-numeric:tabular-nums;font-size:11px}.ui-pagination{border-top:1px solid var(--border);padding:13px 4px 0;margin-top:14px!important}.ui-pagination .ui-button{min-width:86px}.card:hover{border-color:var(--border)!important;box-shadow:var(--shadow-xs)!important}.stat-card-button:hover{border-color:var(--primary)!important;box-shadow:var(--shadow-sm)!important}.generic-device-row{min-height:46px;padding:11px 0}.generic-device-row b,.generic-alarm-row b{font-size:12px}.generic-device-row small,.generic-alarm-row small{font-size:10px}.project-empty{padding:30px 16px;font-size:12px}.ops-insight-summary,.ops-work-order-main>p,.ops-knowledge-item>p{font-size:12px;line-height:1.75}.ops-insight-evidence{font-size:10px;line-height:1.55}.ops-insight-recommendation{font-size:12px}.ops-realtime-grid span{font-size:11px}.ops-realtime-grid b{font-size:13px}.ops-work-order-title h3,.ops-insight-head h3,.ops-knowledge-item h3{font-size:14px}.modal-overlay{padding:18px}.modal-dialog{border:1px solid var(--border)!important;border-radius:16px!important}.modal-dialog>.px-6.py-4{padding:17px 20px}.modal-dialog>.flex-1{padding:20px}.modal-dialog h3{font-size:17px!important}.modal-close-btn{border-radius:8px!important;width:32px!important;height:32px!important}.modal-close-btn:hover{color:var(--primary)!important;background:var(--primary-50)!important}.toast{box-shadow:var(--shadow-lg)!important;border-radius:10px!important}.recharts-text,.recharts-cartesian-axis-tick-value{font-size:11px}.recharts-tooltip-wrapper{font-size:12px}.digital-twin,.topology-shell{--workspace-control-height:34px}.digital-twin .twin-side-title,.topology-title{font-size:14px}.twin-subtitle,.topology-subtitle{font-size:11px}@media (width<=1280px){.main-content>main{padding:20px 20px 32px!important}.topbar{padding-inline:20px!important}.topbar-project-select{width:190px;min-width:170px}.ops-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1050px){.main-content .grid-cols-2{grid-template-columns:minmax(0,1fr)!important}.project-kpi-grid,.ops-device-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-action-btn span{display:none}.topbar-action-btn{padding:0}}@media (width<=768px){.main-content>main{padding:15px 14px 28px!important}.topbar{height:62px;padding-inline:13px!important}.topbar-title{font-size:14px!important}.breadcrumb-path,.topbar-description{display:none}.topbar-project-select{width:132px;min-width:0;font-size:11px}.topbar-actions{gap:5px}.topbar-icon-btn,.topbar-menu-btn,.topbar-action-btn{width:34px;min-width:34px;height:34px}.hmi-panel,.project-card{padding:15px}.main-content h1,.hmi-title-h1{font-size:22px!important}.project-hero{padding:20px 17px}.project-hero h1{font-size:24px!important}.project-selector-controls,.project-selector-label,.project-selector-label select{width:100%}.project-selector-label select{min-width:0}.ops-section-head{flex-direction:column}.ops-button-row{width:100%}.ops-realtime-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-insight-head{flex-direction:column}.ops-evidence-details dl{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-overlay{padding:10px}.modal-dialog.mx-4{margin-inline:0}}@media (width<=560px){.project-kpi-grid,.project-kpi-grid.major,.ops-metric-grid,.ops-device-summary{grid-template-columns:1fr}.project-tab{min-width:108px}.ops-realtime-grid{grid-template-columns:1fr}.ops-work-order{flex-direction:column}.ops-insight-evidence{gap:8px}.main-content th,.main-content td{padding:10px 11px}.topbar-project-select{width:116px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
