.ptr{margin-bottom:var(--space-6)}.ptr-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.ptr-title{margin:0;font-size:var(--fs-md);font-weight:var(--fw-label);letter-spacing:.005em;color:var(--ink-2)}.ptr-baseline-note{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.ptr-empty{margin:0;font-size:var(--fs-sm);color:var(--muted)}.ptr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.ptr-card{display:flex;flex-direction:column;gap:.25rem;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:box-shadow var(--dur-2) var(--ease),transform var(--dur-2) var(--ease-out)}.ptr-card:hover{box-shadow:var(--hover-shadow);transform:translateY(var(--hover-lift))}.ptr-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.ptr-readout{display:flex;align-items:baseline;gap:.25rem}.ptr-value{font-size:var(--fs-2xl);font-weight:var(--fw-display);color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1}.ptr-unit{font-size:var(--fs-xs);color:var(--muted)}.ptr-delta{display:inline-flex;align-items:center;gap:.25rem;align-self:flex-start;padding:.0625rem .375rem;border-radius:var(--r-pill);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.ptr-arrow{font-size:var(--fs-xs);line-height:1}.ptr-delta-better{color:var(--success-text);background:var(--success-light)}.ptr-delta-worse{color:var(--danger-text);background:var(--danger-light)}.ptr-delta-neutral{color:var(--muted);background:var(--surface-3)}.ptr-delta-none{color:var(--muted);background:transparent;padding-left:0}.ptr-baseline{font-size:var(--fs-2xs);color:var(--muted);font-variant-numeric:tabular-nums}@media(max-width:639px){.ptr-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.ptr-card{padding:var(--space-2) var(--space-3)}}.bwp{margin-bottom:var(--space-6);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.bwp-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.bwp-title{display:flex;align-items:center;gap:.4rem;margin:0;font-size:var(--fs-md);font-weight:var(--fw-label);color:var(--ink)}.bwp-link{font-size:var(--fs-xs);font-weight:var(--fw-label);color:var(--accent);text-decoration:none;white-space:nowrap}.bwp-link:hover{text-decoration:underline}.bwp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.bwp-row{padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--bw-tone, var(--border));border-radius:var(--r-sm)}.bwp-row-head{display:flex;align-items:center;gap:var(--space-2)}.bwp-site{font-size:var(--fs-sm);color:var(--ink);text-decoration:none;font-weight:400}.bwp-site:hover{color:var(--accent)}.bwp-score{margin-left:auto;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--bw-tone-text, var(--muted))}.bwp-reason{margin:.2rem 0 0;font-size:var(--fs-xs);color:var(--muted)}.bwp-lead{margin:.2rem 0 0;font-size:var(--fs-xs);color:var(--bw-tone-text, var(--muted))}.bwp-clear{margin:0;font-size:var(--fs-sm);color:var(--muted)}.bwp-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--fs-2xs);color:var(--muted)}.bwp-stamp{margin-left:auto}.fcp{margin-bottom:var(--space-6);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.fcp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-3)}.fcp-title{margin:0;font-size:var(--fs-md);font-weight:var(--fw-label);color:var(--ink)}.fcp-sub{margin:.25rem 0 0;font-size:var(--fs-xs);color:var(--muted)}.fcp-empty{margin:0;font-size:var(--fs-sm);color:var(--muted)}.fcp-coverage{padding:var(--space-3);margin-bottom:var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.fcp-coverage-summary{margin:0;font-size:var(--fs-sm);color:var(--ink)}.fcp-coverage-list{margin:var(--space-2) 0 0;padding-left:var(--space-4);font-size:var(--fs-xs);color:var(--muted)}.fcp-coverage-list li{margin-bottom:.25rem}.fcp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.fcp-row{padding:var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-left:3px dashed var(--border-strong);border-radius:var(--r-md)}.fcp-row-critical{border-left-color:var(--danger)}.fcp-row-warning{border-left-color:var(--warning)}.fcp-row-head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.fcp-site{font-size:var(--fs-base);color:var(--ink)}.fcp-sev,.fcp-tier{padding:.0625rem .375rem;border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.05em;text-transform:uppercase}.fcp-sev-critical{color:var(--danger-text);background:var(--danger-light)}.fcp-sev-warning{color:var(--warning-text);background:var(--warning-light)}.fcp-sev-info{color:var(--muted);background:var(--surface-3)}.fcp-tier-modelled{color:var(--accent-text);background:var(--accent-light)}.fcp-tier-outlook{color:var(--muted);background:var(--surface-3)}.fcp-row-metrics{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--ink);font-variant-numeric:tabular-nums}.fcp-headline{margin:var(--space-2) 0 0;font-size:var(--fs-sm);color:var(--muted);max-width:80ch}.fcp-row-foot{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2);font-size:var(--fs-2xs);color:var(--muted)}.fcp-check{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.fcp-check-line{margin:0;font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.fcp-check-line+.fcp-check-line{margin-top:var(--space-2)}.fcp-check-unwatched,.fcp-check-none{color:var(--warning-text)}.fcp-watching{margin-top:var(--space-3)}.fcp-watching-title{margin:0 0 var(--space-2);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.fcp-watching-list{margin:0;padding-left:var(--space-4);font-size:var(--fs-sm);color:var(--ink);font-variant-numeric:tabular-nums}.fcp-watching-list li+li{margin-top:var(--space-2)}.ask{margin-bottom:var(--space-6);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.ask-head{margin-bottom:var(--space-3)}.ask-title{margin:0;font-size:var(--fs-md);font-weight:var(--fw-label);color:var(--ink)}.ask-sub{margin:.25rem 0 0;font-size:var(--fs-xs);color:var(--muted);max-width:70ch}.ask-form{display:flex;gap:var(--space-2);flex-wrap:wrap}.ask-input{flex:1 1 18rem;min-height:40px;padding:var(--space-2) var(--space-3);font-size:var(--fs-md);color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md)}.ask-examples{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.ask-example{padding:.25rem var(--space-3);font-size:var(--fs-xs);color:var(--accent-text);background:var(--accent-light);border:none;border-radius:var(--r-pill);cursor:pointer;text-align:left}.ask-more-toggle{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem 0;font-size:var(--fs-xs);color:var(--muted);background:none;border:none;cursor:pointer}.ask-more-toggle:hover{color:var(--accent)}.ask-groups{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);display:grid;gap:var(--space-3)}.ask-group-label{margin:0 0 var(--space-2);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.ask-group-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ask-error{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);color:var(--danger-text);background:var(--danger-light);border-radius:var(--r-md)}.ask-answer{margin-top:var(--space-4)}.ask-answer-text{margin:0;padding:var(--space-3) var(--space-4);font-size:var(--fs-lg);line-height:1.55;color:var(--ink);background:var(--accent-light);border-left:3px solid var(--accent);border-radius:0 var(--r-md) var(--r-md) 0}.ask-answer-note{margin:var(--space-2) 0 0;font-size:var(--fs-2xs);color:var(--muted)}.ask-caret{display:inline-block;width:.45em;height:1em;margin-left:.1em;vertical-align:text-bottom;background:var(--accent);opacity:.7;animation:ask-blink 1.1s steps(2,start) infinite}@keyframes ask-blink{to{visibility:hidden}}@media(prefers-reduced-motion:reduce){.ask-caret{animation:none}}.ask-working-toggle{display:inline-flex;align-items:center;gap:.25rem;margin-top:var(--space-3);padding:0;font-size:var(--fs-sm);color:var(--accent);background:none;border:none;cursor:pointer}.ask-working{margin-top:var(--space-2);overflow-x:auto}.ask-working-note{margin:0 0 var(--space-2);font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.ask-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.ask-table th{text-align:left;padding:var(--space-2);font-weight:var(--fw-label);font-size:var(--fs-xs);color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}.ask-table td{padding:var(--space-2);border-bottom:1px solid var(--border);color:var(--ink)}.ask-better{color:var(--success-text)}.ask-worse{color:var(--danger-text)}.ask-empty{margin:0;font-size:var(--fs-sm);color:var(--muted)}.slv-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm);padding:var(--space-4);margin-bottom:var(--space-4)}.slv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.slv-title{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-display);letter-spacing:-.01em;color:var(--ink)}.slv-sub{margin:.15rem 0 0;font-size:var(--fs-xs);color:var(--muted)}.slv-brief{display:flex;flex-direction:column;gap:.2rem;margin-bottom:var(--space-4);padding-left:var(--space-3);border-left:2px solid var(--accent);max-width:74ch}.slv-brief-text{margin:0;font-size:var(--fs-md);color:var(--ink)}.slv-brief-note{margin:0;font-size:var(--fs-2xs);color:var(--muted)}.slv-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,340px));justify-content:start;gap:var(--space-4)}.slv-groups.slv-groups-1{grid-template-columns:minmax(0,1fr)}.slv-groups-1 .slv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,360px));justify-content:start;gap:.35rem var(--space-4)}.slv-groups.slv-groups-2{grid-template-columns:repeat(2,minmax(240px,480px))}.slv-group-head{display:flex;align-items:center;gap:.4rem;padding-bottom:.4rem;margin-bottom:.4rem;border-bottom:1px solid var(--border);color:var(--muted)}.slv-group-title{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.08em}.slv-group-count{margin-left:auto;font-size:var(--fs-2xs);font-weight:var(--fw-label);font-variant-numeric:tabular-nums;color:var(--ink-2)}.slv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.slv-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"site when" "label label";gap:0 var(--space-2);padding:.3rem 0 .3rem .55rem;border-left:2px solid var(--border-strong)}.slv-row.slv-tone-critical{border-left-color:var(--danger)}.slv-row.slv-tone-warning{border-left-color:var(--warning)}.slv-row.slv-tone-watch{border-left-color:var(--high-risk)}.slv-row.slv-tone-good{border-left-color:var(--success)}.slv-row.slv-tone-info{border-left-color:var(--accent)}.slv-site{grid-area:site;font-size:var(--fs-sm);color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slv-site:hover{color:var(--accent);text-decoration:underline}.slv-label{grid-area:label;font-size:var(--fs-2xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slv-when{grid-area:when;max-width:8.5rem;font-size:var(--fs-2xs);color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}@media(max-width:639px){.slv-groups,.slv-groups.slv-groups-1,.slv-groups.slv-groups-2{grid-template-columns:1fr;gap:var(--space-3)}.slv-groups-1 .slv-list{grid-template-columns:1fr}}.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;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.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{max-width:none!important;max-height:none!important;width:auto;padding:0}.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:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.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{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.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;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;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{-webkit-transition:none;-moz-transition:none;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{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 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-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.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-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.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{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;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:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;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{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.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{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.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{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.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{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;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{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:var(--r);padding:.5625rem 1.125rem;font-family:inherit;font-weight:var(--fw-label);font-size:var(--fs-md);line-height:1;min-height:36px;cursor:pointer;transition:background var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease),opacity var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),transform var(--dur-1) var(--ease);white-space:nowrap}.btn:disabled{cursor:not-allowed;background:var(--surface-3);color:var(--muted);border-color:var(--border-strong);box-shadow:none}.btn:active:not(:disabled),.primary:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--on-accent);font-weight:500;letter-spacing:.01em}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 0 16px var(--accent-glow)}.btn-secondary{background:var(--surface);color:var(--ink-2);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--accent);color:var(--accent)}.btn-secondary-active{border-color:var(--accent)!important;color:var(--accent-text)!important;background:var(--accent-light)!important}.btn-sm{padding:.375rem .875rem;font-size:var(--fs-base);min-height:32px}.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);border:none;border-radius:var(--r);padding:.5625rem 1.125rem;font-family:inherit;font-weight:var(--fw-label);font-size:var(--fs-md);line-height:1;letter-spacing:.01em;min-height:36px;cursor:pointer;transition:background var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease),transform var(--dur-1) var(--ease);white-space:nowrap}.primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 0 16px var(--accent-glow)}.primary:disabled{cursor:not-allowed;background:var(--surface-3);color:var(--muted);border-color:var(--border-strong);box-shadow:none}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.05em;padding:.2rem .55rem;border-radius:var(--r-pill)}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-online{color:var(--success-text);background:var(--success-light);border:1px solid rgba(22,163,74,.3)}.badge-stale{color:var(--warning-text);background:var(--warning-light);border:1px solid rgba(217,119,6,.3)}.badge-offline{color:var(--danger-text);background:var(--danger-light);border:1px solid rgba(220,38,38,.25)}.badge-nodata{color:var(--muted);background:var(--surface-2);border:1px solid var(--border-strong)}.data-age-badge{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:var(--r-sm);font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.data-age-fresh{background:var(--success-light);color:var(--success-text);border:1px solid rgba(22,163,74,.2)}.data-age-recent{background:var(--accent-light);color:var(--accent-text);border:1px solid rgba(13,124,114,.2)}.data-age-aging{background:var(--warning-light);color:var(--warning-text);border:1px solid rgba(217,119,6,.2)}.data-age-stale{background:var(--danger-light);color:var(--danger-text);border:1px solid rgba(220,38,38,.2)}.oos-badge{display:inline-flex;align-items:center;font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.05em;padding:.2rem .55rem;border-radius:var(--r-pill);white-space:nowrap}.oos-badge-active{background:var(--success-light);color:var(--success-text);border:1px solid rgba(22,163,74,.3)}.oos-badge-oos{background:var(--warning-light);color:var(--warning-text);border:1px solid rgba(245,158,11,.35)}.oos-count-badge{display:inline-flex;align-items:center;font-size:var(--fs-sm);font-weight:var(--fw-label);padding:.2rem .6rem;border-radius:var(--r-pill)}.oos-badge-archived,.oos-count-archived{background:var(--surface-3);color:var(--muted);border:1px solid var(--border)}.oos-count-active{background:var(--success-light);color:var(--success-text);border:1px solid rgba(22,163,74,.3)}.oos-count-oos{background:var(--warning-light);color:var(--warning-text);border:1px solid rgba(245,158,11,.35)}.status-badge-row{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.sdir-reading.is-suspect,.sdir-card-reading.is-suspect,.site-card-metric-cell.is-suspect{background:var(--warning-light);border-color:var(--warning);box-shadow:inset 2px 0 0 var(--warning)}.sdir-reading.is-suspect .sdir-reading-value,.sdir-card-reading.is-suspect .sdir-card-reading-value,.site-card-metric-cell.is-suspect .site-metric-value{color:var(--warning-text);text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:#92400e73}.sdir-reading-flag{display:inline-flex;align-items:center;justify-content:center;width:.95rem;height:.95rem;margin-left:.3rem;border-radius:var(--r-pill);background:var(--warning);color:#12100a;font-size:var(--fs-2xs);font-weight:var(--fw-label);line-height:1;flex:none;cursor:help}.kpi-bar{display:flex;gap:.875rem;flex-wrap:wrap;margin-bottom:1.5rem}.kpi-tile{flex:1;min-width:120px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.375rem;border-left:3px solid var(--border-strong);transition:box-shadow var(--dur-2) var(--ease),transform var(--dur-2) var(--ease-out)}.kpi-tile:hover{box-shadow:var(--hover-shadow);transform:translateY(var(--hover-lift))}.kpi-online{border-left-color:var(--success);background:#16a34a08}.kpi-stale{border-left-color:var(--warning)}.kpi-offline{border-left-color:var(--danger);background:#dc262608}.kpi-nodata{border-left-color:var(--border-strong)}.kpi-total{border-left-color:var(--accent)}.kpi-value{font-size:var(--fs-4xl);font-weight:var(--fw-display);font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.02em}.kpi-label{font-size:var(--fs-sm);font-weight:500;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);font-family:var(--font-label)}@supports (-webkit-background-clip: text){.kpi-value,.kpi-tile-v-value{background:linear-gradient(180deg,var(--ink) 58%,var(--brand) 155%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}}.kpi-tile-v{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--r-lg);padding:1rem 1.25rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.25rem;transition:box-shadow .18s,transform .15s;flex:1}.kpi-tile-v[role=button]:hover{box-shadow:var(--shadow);transform:translate(3px)}.kpi-tile-v-active{box-shadow:var(--shadow),0 0 0 2px var(--accent)!important;transform:none!important}.kpi-tile-v-alarm{animation:alarm-pulse 2s ease-in-out infinite}@keyframes alarm-pulse{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:var(--shadow),0 0 16px #dc26264d}}.kpi-tile-v-online{border-left-color:var(--success);background:#16a34a08}.kpi-tile-v-offline{border-left-color:var(--danger);background:#dc262608}.kpi-tile-v-oos{border-left-color:var(--warning)}.kpi-tile-v-nodata{border-left-color:var(--border-strong)}.kpi-tile-v-total{border-left-color:var(--accent)}.kpi-tile-v-value{font-size:var(--fs-5xl);font-weight:var(--fw-hero);font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.02em}.kpi-tile-v-meta{display:flex;justify-content:space-between;align-items:center;gap:.25rem}.kpi-tile-v-label{font-size:var(--fs-sm);font-weight:500;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);line-height:1;font-family:var(--font-label)}.kpi-tile-v-pct{font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--muted);font-variant-numeric:tabular-nums}.kpi-tile-v-bar{height:3px;background:var(--surface-3);border-radius:var(--r-pill);overflow:hidden;margin-top:.45rem}.kpi-tile-v-bar-fill{height:100%;border-radius:var(--r-pill);transition:width .65s ease}.kpi-tile-v-online .kpi-tile-v-bar-fill{background:var(--success)}.kpi-tile-v-offline .kpi-tile-v-bar-fill{background:var(--danger)}.kpi-tile-v-oos .kpi-tile-v-bar-fill{background:var(--warning)}.kpi-tile-v-nodata .kpi-tile-v-bar-fill{background:var(--border-strong)}.kpi-tile-v-total .kpi-tile-v-bar-fill{background:var(--accent)}.scada-led-offline{background:var(--danger)!important;box-shadow:0 0 0 3px #dc262633,0 0 8px #dc262673!important;animation:led-alarm-pulse 1.4s ease-in-out infinite}@keyframes led-alarm-pulse{0%,to{box-shadow:0 0 0 3px #dc26262e,0 0 6px #dc262659}50%{box-shadow:0 0 0 5px #dc26264d,0 0 16px #dc2626a6}}.alerts-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1.25rem;background:#dc26260f;border:1px solid rgba(220,38,38,.25);border-left:5px solid var(--danger);border-radius:var(--r-md);margin-bottom:1.25rem;animation:fadein .3s ease}.alerts-banner-left{display:flex;align-items:center;gap:.875rem;flex:1;min-width:0}.alerts-banner-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--danger-light);color:var(--danger);flex-shrink:0}.alerts-banner-body{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;font-size:var(--fs-md);color:var(--ink);min-width:0}.alerts-banner-body strong{color:var(--danger-text);font-weight:var(--fw-label)}.alerts-banner-sites{color:var(--ink-2);font-size:var(--fs-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%}.alerts-banner-note{color:var(--ink-2);font-size:var(--fs-base);white-space:nowrap;flex-shrink:0}.alerts-banner-toggle{background:transparent;border:1px solid rgba(220,38,38,.35);border-radius:var(--r);padding:.3rem .75rem;font-family:inherit;font-weight:var(--fw-label);font-size:var(--fs-sm);line-height:1;color:var(--danger-text);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s}.alerts-banner-toggle:hover{background:var(--danger-light)}@media(max-width:639px){.alerts-banner{align-items:flex-start;flex-wrap:wrap;gap:.625rem;padding:.75rem .875rem}.alerts-banner-body{width:100%}.alerts-banner-sites{flex-basis:100%;white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}.oos-summary-banner{background:#d977060f;border-color:#d977064d;border-left-color:var(--warning)}.oos-summary-banner .alerts-banner-icon{background:#d9770624;color:var(--warning-text)}.oos-summary-banner .alerts-banner-body strong{color:var(--warning-text)}.oos-banner{display:flex;align-items:flex-start;gap:.7rem;background:#d9770612;border:1px solid rgba(245,158,11,.4);border-left:5px solid var(--warning);border-radius:var(--r-md);padding:.75rem 1.125rem;margin-bottom:1.125rem;color:var(--warning-text);font-weight:var(--fw-label);font-size:var(--fs-md)}.oos-banner svg{flex-shrink:0;margin-top:.15rem}.oos-banner-note{font-weight:400;color:inherit}.oos-banner-service-note{margin-top:.375rem;font-weight:400;font-size:var(--fs-md);color:var(--ink-2);border-top:1px solid rgba(245,158,11,.25);padding-top:.375rem;white-space:pre-wrap}.eng-chart-header{padding-bottom:1rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.35rem}.eng-chart-title{font-size:var(--fs-base);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-2);margin:0;padding-left:.875rem;border-left:3px solid var(--accent);line-height:1.3;font-family:var(--font-display)}.eng-chart-meta{font-size:var(--fs-sm);color:var(--muted);padding-left:.75rem;font-family:var(--font-mono);letter-spacing:.02em}.eng-stats-row{display:flex;flex-wrap:wrap;gap:0;margin-top:1.5rem;border-top:1px solid var(--border);padding-top:1.375rem}.eng-stat-tile{flex:1;min-width:130px;padding:.25rem 1.75rem .25rem 0;display:flex;flex-direction:column;gap:.15rem;border-right:1px solid var(--border)}.eng-stat-tile:last-child{border-right:none}.eng-stat-label{font-size:var(--fs-xs);font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-family:var(--font-label)}.eng-stat-value{font-size:var(--fs-4xl);font-weight:var(--fw-display);color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:-.02em}.eng-stat-unit{font-size:var(--fs-base);font-weight:500;color:var(--muted)}.pro-chart-wrap{display:flex;flex-direction:column;gap:0}.pro-channel-selector{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1.125rem;background:var(--surface-2);border:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:var(--r) var(--r) 0 0;flex-wrap:wrap}.pro-channel-selector-label{font-size:var(--fs-sm);font-weight:500;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);white-space:nowrap;padding-top:.22rem;flex-shrink:0;display:flex;align-items:center;gap:.35rem;font-family:var(--font-label)}.pro-channel-pills{display:flex;flex-wrap:wrap;gap:.35rem;flex:1}.pro-channel-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .65rem .28rem .5rem;border-radius:var(--r-pill);border:1.5px solid var(--pill-color, var(--border-strong));background:transparent;font-family:var(--font-body);font-weight:var(--fw-label);font-size:var(--fs-sm);line-height:1;cursor:pointer;transition:background .12s,opacity .12s;white-space:nowrap}.pro-channel-pill.on{background:color-mix(in srgb,var(--pill-color, var(--accent)) 12%,transparent);color:var(--ink)}.pro-channel-pill.off{opacity:.4;background:transparent;color:var(--muted);border-color:var(--border)}.pro-channel-pill:hover{opacity:1;background:color-mix(in srgb,var(--pill-color, var(--accent)) 14%,transparent)}.pro-pill-dot{width:8px;height:8px;border-radius:50%;background:var(--pill-color, var(--accent));flex-shrink:0}.pro-pill-label{font-weight:var(--fw-label)}.pro-pill-unit{font-weight:400;color:var(--muted);font-size:var(--fs-xs)}.pro-chart-toolbar-right{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.pro-calib-toggle{display:flex;align-items:center;gap:.35rem;font-size:var(--fs-sm);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.pro-chart-pane{border:1px solid var(--border);border-top:none;background:var(--surface);padding:.25rem 0 .75rem}.pro-chart-pane+.pro-chart-pane{border-top:none}.pro-pane-label{display:flex;align-items:center;gap:.5rem;font-size:var(--fs-sm);font-weight:500;letter-spacing:.09em;color:var(--ink-2);background:var(--surface-2);padding:.45rem 1.125rem;font-family:var(--font-label);border-bottom:1px solid var(--border);text-transform:uppercase}.pro-pane-label-axis{font-size:var(--fs-2xs);font-weight:500;color:var(--muted);letter-spacing:.03em;font-family:var(--font-mono);margin-left:auto}.pro-zoom-hint{font-size:var(--fs-xs);color:var(--muted);padding:.35rem 1.125rem;background:var(--surface-2);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--r) var(--r);font-family:var(--font-mono);letter-spacing:.01em}.pro-tooltip{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:.625rem .875rem;font-size:var(--fs-base);min-width:170px;pointer-events:none}.pro-tooltip-ts{font-size:var(--fs-xs);font-weight:var(--fw-label);color:var(--ink-2);margin-bottom:.45rem;padding-bottom:.35rem;border-bottom:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap}.pro-tooltip-row{display:flex;align-items:center;gap:.5rem;padding:.22rem 0}.pro-tooltip-swatch{width:9px;height:9px;border-radius:50%;flex-shrink:0}.pro-tooltip-param{flex:1;color:var(--ink-2);font-size:var(--fs-sm);font-weight:500}.pro-tooltip-value{font-weight:var(--fw-label);color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-md);white-space:nowrap;font-variant-numeric:tabular-nums}.pro-tooltip-unit{font-weight:400;color:var(--muted);font-size:var(--fs-xs)}.pro-stats-table{border:1px solid var(--border);border-top:none;border-radius:0 0 var(--r) var(--r);overflow:hidden;font-size:var(--fs-base)}.pro-stats-header{display:grid;grid-template-columns:1fr repeat(4,88px);gap:0;background:var(--surface-2);border-bottom:2px solid var(--border-strong);padding:.5rem 1rem;font-size:var(--fs-xs);font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-family:var(--font-label);position:sticky;top:0;z-index:1}.pro-stats-row{display:grid;grid-template-columns:1fr repeat(4,88px);gap:0;padding:.5625rem 1rem;border-bottom:1px solid var(--border);align-items:center;background:var(--surface)}.pro-stats-row:last-child{border-bottom:none}.pro-stats-row:hover{background:var(--surface-2)}.pro-stats-name{display:flex;align-items:center;gap:.45rem;font-weight:var(--fw-label);color:var(--ink-2)}.pro-stats-swatch{width:9px;height:9px;border-radius:50%;flex-shrink:0}.pro-stats-unit{font-weight:400;color:var(--muted);font-size:var(--fs-sm)}.pro-stats-val{font-family:var(--font-mono);font-size:var(--fs-base);color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums}.pro-stats-latest{font-weight:var(--fw-label);font-size:var(--fs-md)}@supports not (color: color-mix(in srgb,red 50%,blue)){.pro-channel-pill.on{background:#0d7c721a}.pro-channel-pill:hover{background:#0d7c7224}}.pro-chart-fullscreen-wrap{position:fixed;inset:0;z-index:900;background:var(--surface);overflow-y:auto;padding:1.75rem 2.25rem 2.5rem;border:none!important;border-radius:0!important;box-shadow:none!important;animation:pro-fs-fadein .15s ease}@keyframes pro-fs-fadein{0%{opacity:.75;transform:scale(.995)}to{opacity:1;transform:scale(1)}}.pro-chart-fullscreen-wrap .pro-chart-pane .recharts-responsive-container{min-height:520px!important}.pro-chart-fullscreen-wrap .pro-channel-selector{padding:.875rem 1.25rem}.pro-chart-fullscreen-wrap .scada-panel-header{border-top:3px solid var(--accent);padding-top:.75rem;margin-bottom:.5rem}.pro-fs-esc-hint{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--fs-xs);color:var(--muted);font-family:var(--font-mono);letter-spacing:.01em;opacity:.8;white-space:nowrap}.pro-fs-esc-key{display:inline-block;padding:.1rem .35rem;border:1px solid var(--border-strong);border-radius:var(--r-xs);background:var(--surface-2);font-size:var(--fs-2xs);font-family:var(--font-mono);color:var(--ink-2);line-height:1.4}.pro-pin-clear-btn{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--fs-sm);color:var(--accent);font-weight:var(--fw-label)}.pro-zoom-hint-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.echart-workspace{gap:0}.telemetry-workspace-toolbar{align-items:center}.telemetry-workspace-actions{row-gap:.55rem}.telemetry-workspace-pane{padding:0;overflow:visible}.telemetry-pane-title{border-bottom:none}.telemetry-workspace-summary{display:flex;flex-wrap:wrap;gap:.55rem;padding:.2rem 1.125rem .85rem;background:linear-gradient(180deg,#f8fafcfa,#f1f5f9eb);border-bottom:1px solid var(--border)}.telemetry-workspace-summary span{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .55rem;border-radius:var(--r-pill);background:#ffffffe0;border:1px solid rgba(148,163,184,.22);color:var(--muted);font-size:var(--fs-sm);font-family:var(--font-mono)}.telemetry-workspace-summary strong{color:var(--ink);font-size:var(--fs-base)}.telemetry-chart-canvas{width:100%;background:linear-gradient(180deg,#fffffff5,#f8fafcfa),repeating-linear-gradient(90deg,rgba(148,163,184,.05) 0,rgba(148,163,184,.05) 1px,transparent 1px,transparent 120px)}.telemetry-workspace-hint,.telemetry-stats-table{border-top:none}.telemetry-tooltip{min-width:260px;padding:.95rem 1rem}.telemetry-tooltip-title{padding-bottom:.45rem;margin-bottom:.55rem;border-bottom:1px solid rgba(148,163,184,.22);color:var(--ink);font-family:var(--font-mono);font-weight:var(--fw-label);font-size:var(--fs-sm);line-height:1.35}.telemetry-tooltip-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.18rem 0}.telemetry-tooltip-row-event{grid-template-columns:10px auto minmax(0,1fr)}.telemetry-tooltip-chip{width:10px;height:10px;border-radius:var(--r-pill);box-shadow:0 0 0 2px #ffffffd9}.telemetry-tooltip-label{color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--fw-label)}.telemetry-tooltip-value{color:var(--ink);font-family:var(--font-mono);font-weight:var(--fw-label);font-size:var(--fs-base);line-height:1.35;text-align:right;font-variant-numeric:tabular-nums}.telemetry-tooltip-row-event .telemetry-tooltip-value{text-align:left}.telemetry-tooltip-value small{color:var(--muted);font-weight:500;font-size:var(--fs-sm)}:root{--param-flow: #006fff;--param-depth: #f56200;--param-vel: #03a595;--param-rain: #8d04d2;--param-other: #5b6672}.scada-site-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;cursor:pointer;transition:box-shadow var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),transform var(--dur-2) var(--ease-out);display:flex;flex-direction:column;box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a}.scada-site-card:hover{box-shadow:var(--hover-shadow);border-color:var(--accent);transform:translateY(var(--hover-lift))}.scada-site-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.scada-site-card-online{border-top:3px solid var(--success)}.scada-site-card-offline{border-top:3px solid var(--danger)}.scada-site-card-oos{border-top:3px solid var(--warning)}.scada-site-card-nodata{border-top:2px solid var(--border-strong);opacity:.72}.scada-site-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:.875rem 1.0625rem .625rem;background:var(--surface);gap:.5rem}.scada-site-card-name{font-size:var(--fs-lg);font-weight:400;font-family:var(--font-display);color:var(--ink);display:flex;align-items:flex-start;gap:.5rem;min-width:0;flex:1;letter-spacing:-.01em}.scada-site-card-name>span{line-height:1.25;min-width:0;overflow-wrap:break-word}.scada-site-card-name>.fs-status-dot{flex:none;margin-top:.42em}.scada-site-card-body{padding:0 1.0625rem .875rem;flex:1;display:flex;flex-direction:column;gap:.3rem}.scada-site-meta{font-size:var(--fs-xs);color:var(--muted);font-family:var(--font-mono);letter-spacing:.02em;margin-bottom:.3rem}.scada-channel-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem .75rem;background:var(--surface-2);border-radius:var(--r-sm);border-left:3px solid var(--accent);font-size:var(--fs-base);gap:.5rem;transition:background .12s}.scada-channel-row:hover{background:var(--accent-light)}.scada-channel-name{color:var(--ink-2);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:var(--fs-base)}.scada-channel-value{font-family:var(--font-mono);font-weight:var(--fw-label);font-size:var(--fs-lg);color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}.scada-channel-trend{font-size:var(--fs-xs);color:var(--muted);margin-left:.15rem}.scada-site-card-footer{padding:.5rem 1.0625rem;border-top:1px solid var(--border);background:var(--surface-2);display:flex;justify-content:space-between;align-items:center;gap:.5rem}.scada-footer-time{font-size:var(--fs-xs);color:var(--muted);font-family:var(--font-mono);letter-spacing:.02em}.scada-refresh-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--success);animation:scada-pulse 2s ease-in-out infinite;flex-shrink:0}.param-type-dot,.compact-param-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-right:.35rem;vertical-align:middle;background:var(--param-other)}.param-dot-flow{background:var(--param-flow)}.param-dot-depth{background:var(--param-depth)}.param-dot-velocity{background:var(--param-vel)}.param-dot-rain{background:var(--param-rain)}.param-dot-other{background:var(--param-other)}.scada-channel-row.param-flow{border-left-color:var(--param-flow)}.scada-channel-row.param-depth{border-left-color:var(--param-depth)}.scada-channel-row.param-velocity{border-left-color:var(--param-vel)}.scada-channel-row.param-rain{border-left-color:var(--param-rain)}.scada-channel-row.param-other{border-left-color:var(--accent)}.dash-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(295px,1fr));gap:1.25rem;margin-top:1rem;animation:fadein .3s ease}.scada-channel-list{display:flex;flex-direction:column;gap:.3rem;max-height:14rem;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.scada-channel-list::-webkit-scrollbar{width:4px}.scada-channel-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-xs)}.scada-footer-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.scada-meta-sep{color:var(--border-strong);margin:0 .1rem}.scada-more-channels{font-size:var(--fs-sm);color:var(--muted);text-align:right;margin-top:.3rem;font-style:italic}.dash-filter-chip{background:transparent;border:none;font:inherit;cursor:pointer;border-radius:var(--r);padding:.2rem .5rem;transition:background .12s}.dash-filter-chip:hover{background:var(--surface-2)}.dash-filter-chip-active{background:var(--surface-2);font-weight:var(--fw-label);box-shadow:inset 0 0 0 1px var(--border-strong)}.sdir-page{display:flex;flex-direction:column;min-height:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sdir-error{margin-bottom:var(--space-4);padding:.625rem .875rem;border:1px solid rgba(220,38,38,.28);border-left:3px solid var(--danger);border-radius:var(--r);background:var(--danger-light);color:var(--danger-text);font-size:var(--fs-md)}.sdir-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.sdir-search{position:relative;display:flex;align-items:center;flex:1 1 260px;max-width:420px}.sdir-search-icon{position:absolute;left:.7rem;display:flex;color:var(--muted);font-size:var(--fs-md);pointer-events:none}.sdir-search-input{width:100%;padding:.5rem 2.25rem .5rem 2.1rem;font-family:var(--font-body);font-weight:var(--fw-body);font-size:var(--fs-md);line-height:1.4;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}.sdir-search-input::-webkit-search-cancel-button{cursor:pointer}.sdir-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.sdir-search-kbd{position:absolute;right:.6rem;padding:.05rem .35rem;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-xs);line-height:1.5;color:var(--muted);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-sm);pointer-events:none}.sdir-filters{display:flex;flex-wrap:wrap;gap:.375rem}.sdir-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .7rem;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-base);line-height:1;color:var(--ink-2);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;transition:background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}.sdir-chip:hover{background:var(--surface-2);border-color:var(--accent)}.sdir-chip-count{padding:.05rem .35rem;font-size:var(--fs-sm);color:var(--muted);background:var(--surface-3);border-radius:var(--r-pill);font-variant-numeric:tabular-nums}.sdir-chip.is-active{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.sdir-chip.is-active .sdir-chip-count{color:var(--on-accent);background:#0000002e}.sdir-chip-alert:not(.is-active) .sdir-chip-count{color:var(--danger-text);background:var(--danger-light)}.sdir-chip-warn:not(.is-active) .sdir-chip-count{color:var(--warning-text);background:var(--warning-light)}.sdir-chip-good:not(.is-active) .sdir-chip-count{color:var(--success-text);background:var(--success-light)}.sdir-toolbar-end{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}.sdir-sort{display:inline-flex;align-items:center;gap:.45rem}.sdir-sort-label{font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-xs);line-height:1;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.sdir-sort select{padding:.4rem .6rem;font-family:var(--font-body);font-weight:var(--fw-body);font-size:var(--fs-base);line-height:1.3;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);cursor:pointer}.sdir-view-toggle{display:flex;border:1px solid var(--border-strong);border-radius:var(--r);overflow:hidden;flex-shrink:0}.sdir-view-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.4rem .7rem;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-base);line-height:1;color:var(--muted);background:var(--surface);border:none;cursor:pointer;white-space:nowrap;transition:background var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}.sdir-view-btn+.sdir-view-btn{border-left:1px solid var(--border-strong)}.sdir-view-btn:hover:not(.is-active){background:var(--surface-2);color:var(--ink)}.sdir-view-btn.is-active{background:var(--accent);color:var(--on-accent)}.sdir-resultbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);font-size:var(--fs-base);color:var(--muted)}.sdir-resultbar strong{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}.sdir-resultbar-text{min-width:0}.sdir-clear{padding:0;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-base);line-height:1;color:var(--accent);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.sdir-clear:hover{color:var(--accent-hover)}.sdir-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}@media(max-width:1279px){.sdir-table-wrap{overflow-x:auto}}.sdir-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.sdir-table th{position:sticky;top:58px;z-index:2;padding:.6rem .875rem;text-align:left;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-xs);line-height:1;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border-strong);white-space:nowrap}.sdir-table th:first-child{border-top-left-radius:var(--r-lg)}.sdir-table th:last-child{border-top-right-radius:var(--r-lg)}.sdir-table td{padding:.55rem .875rem;border-bottom:1px solid var(--border);vertical-align:middle}.sdir-table tbody tr:last-child td{border-bottom:none}.sdir-row{cursor:pointer;transition:background var(--dur-1) var(--ease)}.sdir-row:hover td{background:var(--accent-light)}.sdir-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sdir-row td:first-child{position:relative}.sdir-row-alert td:first-child:before,.sdir-row-warn td:first-child:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.sdir-row-alert td:first-child:before{background:var(--danger)}.sdir-row-warn td:first-child:before{background:var(--warning)}.sdir-col-status{width:9.75rem}.sdir-col-pmac{width:7rem}.sdir-col-num{width:5.5rem;text-align:right;font-variant-numeric:tabular-nums}.sdir-col-seen{width:8rem;color:var(--muted);white-space:nowrap}.sdir-col-actions{width:4.5rem;text-align:right}.sdir-col-readings{width:27rem}.sdir-status{display:inline-flex;align-items:center;gap:.4rem;padding:.16rem .55rem .16rem .45rem;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-sm);line-height:1.35;border-radius:var(--r-pill);white-space:nowrap}.sdir-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.sdir-status-good{color:var(--success-text);background:#16a34a1f;border:1px solid rgba(22,163,74,.36)}.sdir-status-alert{color:var(--danger-text);background:#dc262621;border:1px solid rgba(220,38,38,.38)}.sdir-status-warn{color:var(--warning-text);background:#d9770626;border:1px solid rgba(217,119,6,.4)}.sdir-status-neutral{color:var(--ink-2);background:#05090f0f;border:1px solid rgba(5,9,15,.2)}.sdir-status-good .sdir-status-dot{background:var(--success)}.sdir-status-alert .sdir-status-dot{background:var(--danger)}.sdir-status-warn .sdir-status-dot{background:var(--warning)}.sdir-status-neutral .sdir-status-dot{background:currentColor;opacity:.55}.sdir-site-name{display:block;font-weight:400;color:var(--ink);line-height:1.3}.sdir-site-desc,.sdir-site-note{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--fs-sm);color:var(--muted);line-height:1.35;margin-top:.1rem}.sdir-site-note{color:var(--warning-text)}.sdir-col-site{min-width:13rem}.sdir-pmac{font-size:var(--fs-base);color:var(--ink-2);font-variant-numeric:tabular-nums}.sdir-dash{color:var(--muted)}.sdir-readings{display:flex;flex-wrap:wrap;gap:.3rem}.sdir-reading{display:inline-flex;align-items:baseline;gap:.3rem;padding:.15rem .45rem .15rem .4rem;background:var(--surface-2);border:1px solid var(--border);border-left-width:2px;border-radius:var(--r-sm);max-width:13rem}.sdir-reading-label{font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-xs);line-height:1.4;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdir-reading-value{font-size:var(--fs-base);color:var(--ink);font-variant-numeric:tabular-nums}.sdir-reading-unit{font-size:var(--fs-xs);color:var(--muted)}.sdir-reading-flow{border-left-color:#2563eb}.sdir-reading-depth{border-left-color:#ea580c}.sdir-reading-velocity{border-left-color:#0d9488}.sdir-reading-rain{border-left-color:#7c3aed}.sdir-action{padding:.25rem .55rem;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-sm);line-height:1.3;color:var(--ink-2);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-2) var(--ease),color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}.sdir-action:hover:not(:disabled){color:var(--accent-text);border-color:var(--accent);background:var(--accent-light)}.sdir-action:disabled{opacity:.55;cursor:default}.sdir-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:var(--space-4)}.sdir-card{display:flex;flex-direction:column;gap:.6rem;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease)}.sdir-card:hover{transform:translateY(var(--hover-lift));box-shadow:var(--hover-shadow)}.sdir-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sdir-card-good{border-top-color:var(--success)}.sdir-card-alert{border-top-color:var(--danger)}.sdir-card-warn{border-top-color:var(--warning)}.sdir-card-neutral{border-top-color:var(--border-strong)}.sdir-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.sdir-card-title h3{margin:0 0 .15rem;font-family:var(--font-display);font-weight:var(--fw-body);font-size:var(--fs-xl);line-height:1.3;color:var(--ink)}.sdir-card-desc,.sdir-card-note{margin:0;font-size:var(--fs-base);line-height:1.45;color:var(--muted)}.sdir-card-note{color:var(--warning-text)}.sdir-card-readings{display:grid;grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));gap:.5rem;margin-top:auto;padding-top:.5rem}.sdir-card-reading{padding:.4rem .5rem;background:var(--surface-2);border:1px solid var(--border);border-left-width:2px;border-radius:var(--r-sm)}.sdir-card-reading-label{display:block;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-2xs);line-height:1.4;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdir-card-reading-value{display:flex;align-items:baseline;gap:.2rem;font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-xl);line-height:1.2;color:var(--ink);font-variant-numeric:tabular-nums}.sdir-card-reading-unit{font-size:var(--fs-xs);font-weight:400;color:var(--muted)}.sdir-card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:.6rem;border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--muted)}@media(max-width:1279px){.sdir-col-readings{display:none}}@media(max-width:899px){.sdir-toolbar-end{margin-left:0;width:100%;justify-content:space-between}.sdir-search{max-width:none}.sdir-col-pmac,.sdir-col-num{display:none}.sdir-cards{grid-template-columns:1fr}}.sdir-nodata-group{margin-top:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--r);background:var(--surface-2)}.sdir-nodata-summary{display:flex;align-items:center;gap:var(--space-2);padding:.7rem .9rem;cursor:pointer;font-size:var(--fs-base);color:var(--ink-2);list-style:none}.sdir-nodata-summary::-webkit-details-marker{display:none}.sdir-nodata-summary:hover{color:var(--ink)}.sdir-nodata-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sdir-nodata-summary:after{content:"▸";margin-left:auto;color:var(--muted);transition:transform var(--dur-2) var(--ease)}.sdir-nodata-group[open] .sdir-nodata-summary:after{transform:rotate(90deg)}.sdir-nodata-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;padding:.1rem .35rem;border-radius:var(--r-pill);background:var(--surface-3);color:var(--ink-2);font-size:var(--fs-2xs);font-weight:var(--fw-label);font-variant-numeric:tabular-nums}.sdir-nodata-hint{font-size:var(--fs-2xs);color:var(--muted)}.sdir-nodata-group[open]>.sites-table-wrapper,.sdir-nodata-group[open]>.sdir-cards{margin:0 .5rem .5rem}@media(max-width:639px){.sdir-nodata-hint{display:none}}.sdir-showing-note{color:var(--muted)}.cmdk-overlay{position:fixed;inset:0;z-index:1000;display:flex;justify-content:center;align-items:flex-start;padding:12vh 1rem 1rem;background:#05090f6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:cmdk-fade var(--dur-2) var(--ease)}@keyframes cmdk-fade{0%{opacity:0}to{opacity:1}}.cmdk{display:flex;flex-direction:column;width:100%;max-width:40rem;max-height:60vh;overflow:hidden;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:cmdk-rise var(--dur-3) var(--ease-out)}@keyframes cmdk-rise{0%{opacity:0;transform:translateY(-8px) scale(.99)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.cmdk-overlay,.cmdk{animation:none}}.cmdk-input-row{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.cmdk-input-icon{display:flex;font-size:var(--fs-xl);color:var(--muted)}.cmdk-input{flex:1;min-width:0;padding:0;font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-xl);line-height:1.4;color:var(--ink);background:none;border:none}.cmdk-input:focus{outline:none}.cmdk-input::placeholder{color:var(--muted);font-weight:400;font-size:var(--fs-lg)}.cmdk-esc,.cmdk-foot kbd{padding:.1rem .35rem;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-xs);line-height:1.5;color:var(--muted);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-sm)}.cmdk-list{overflow-y:auto;padding:.35rem;flex:1;min-height:0}.cmdk-group+.cmdk-group{margin-top:.25rem}.cmdk-group-label{padding:.5rem .65rem .3rem;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-xs);line-height:1;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.cmdk-item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.5rem .65rem;font-family:var(--font-body);font-weight:var(--fw-body);font-size:var(--fs-lg);line-height:1.3;color:var(--ink);text-align:left;background:none;border:none;border-radius:var(--r);cursor:pointer}.cmdk-item.is-active{background:var(--accent);color:var(--on-accent)}.cmdk-item-icon{display:flex;font-size:var(--fs-lg);color:var(--muted);flex-shrink:0}.cmdk-item.is-active .cmdk-item-icon{color:#ffffffd9}.cmdk-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-item-hint{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;flex-shrink:0}.cmdk-item.is-active .cmdk-item-hint{color:#fffc}.cmdk-empty{padding:2rem 1rem;text-align:center;font-size:var(--fs-md);color:var(--muted)}.cmdk-foot{display:flex;gap:1rem;padding:.5rem 1rem;border-top:1px solid var(--border);background:var(--surface-2);font-size:var(--fs-sm);color:var(--muted);flex-shrink:0}.cmdk-foot span{display:inline-flex;align-items:center;gap:.3rem}@media(max-width:639px){.cmdk-overlay{padding-top:6vh}.cmdk{max-height:78vh}.cmdk-foot{display:none}}.cc-wrap{--cc-bg: #0a0e1a;--cc-surface: #0f1723;--cc-surface-2: #141f2e;--cc-surface-3: #1a2640;--cc-border: rgba(255, 255, 255, .07);--cc-border-strong: rgba(255, 255, 255, .12);--cc-text: #d0d9e8;--cc-text-2: #8fa3c0;--cc-text-muted: #526077;--cc-accent: #00b4d8;--cc-accent-dim: rgba(19, 165, 148, .15);--cc-success: var(--success);--cc-success-dim: rgba(34, 197, 94, .12);--cc-warning: var(--warning);--cc-warning-dim: rgba(245, 158, 11, .12);--cc-danger: var(--danger);--cc-danger-dim: rgba(239, 68, 68, .12);--cc-success-text: var(--success-text);--cc-warning-text: var(--warning-text);--cc-danger-text: var(--danger-text);--cc-online: var(--success);--cc-offline: var(--danger);--cc-nodata: #4b5b55;--cc-panel-r: .375rem;background:var(--cc-bg);color:var(--cc-text);min-height:100vh;font-family:var(--font-body);font-size:var(--fs-md)}.cc-header{background:#070b14;border-bottom:1px solid var(--cc-border-strong);padding:0 1.25rem;height:auto;min-height:52px;display:flex;flex-direction:column;gap:0;position:relative;z-index:10}.cc-header-row1{display:flex;align-items:center;gap:1rem;height:52px}.cc-header-title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-label);color:var(--cc-accent);letter-spacing:.005em;white-space:nowrap;flex-shrink:0}.cc-header-title-sub{font-size:var(--fs-2xs);font-weight:500;letter-spacing:.055em;color:var(--cc-text-muted);text-transform:uppercase;display:block;line-height:1;margin-top:2px}.cc-header-sep{width:1px;height:20px;background:var(--cc-border-strong);flex-shrink:0}.cc-kpi-strip{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;flex:1}.cc-kpi-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .55rem;border-radius:var(--r-xs);border:1px solid var(--cc-border);background:var(--cc-surface);font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--cc-text-2);white-space:nowrap;line-height:1;cursor:default;transition:border-color .15s,background .15s}.cc-kpi-chip-label{font-family:var(--font-body);font-size:var(--fs-2xs);font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--cc-text-muted)}.cc-kpi-chip-val{font-family:var(--font-mono);font-size:var(--fs-base);font-weight:var(--fw-label)}.cc-kpi-chip.cc-kpi-good{border-color:#22c55e40;background:#22c55e0f}.cc-kpi-chip.cc-kpi-good .cc-kpi-chip-val{color:var(--cc-success-text)}.cc-kpi-chip.cc-kpi-warn{border-color:#f59e0b4d;background:#f59e0b0f}.cc-kpi-chip.cc-kpi-warn .cc-kpi-chip-val{color:var(--cc-warning-text)}.cc-kpi-chip.cc-kpi-alert{border-color:#ef444459;background:#ef444414}.cc-kpi-chip.cc-kpi-alert .cc-kpi-chip-val{color:var(--cc-danger-text)}.cc-kpi-chip.cc-kpi-info{border-color:#13a59440;background:#13a5940f}.cc-kpi-chip.cc-kpi-info .cc-kpi-chip-val{color:var(--cc-accent)}.cc-header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0;margin-left:auto}.cc-refresh-info{display:flex;align-items:center;gap:.4rem;font-size:var(--fs-sm);color:var(--cc-text-muted);white-space:nowrap}.cc-refresh-dot{width:6px;height:6px;border-radius:50%;background:var(--cc-success);box-shadow:0 0 5px #22c55eb3;animation:cc-pulse 2s ease-in-out infinite;flex-shrink:0}@keyframes cc-pulse{0%,to{opacity:1}50%{opacity:.45}}.cc-body{padding:.875rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:.875rem}.cc-hero-row{display:grid;grid-template-columns:1fr 360px;gap:.875rem;align-items:start}.cc-map-panel{background:var(--cc-surface);border:1px solid var(--cc-border);border-radius:var(--cc-panel-r);overflow:hidden;display:flex;flex-direction:column}.cc-map-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--cc-border);background:#ffffff05;flex-shrink:0}.cc-map-body{height:340px;position:relative}.cc-cluster-badge{border-radius:50%;background:var(--cluster-color, #0d7c72);color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.92);box-shadow:0 1px 6px #0006;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;transition:transform var(--dur-2) var(--ease)}.cc-cluster-icon:hover .cc-cluster-badge{transform:scale(1.08)}.cc-map-body:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:700;box-shadow:inset 0 0 42px #06302c21,inset 0 0 5px #06302c1a}.cc-map-layers{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.cc-layer-toggle{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .5rem;border-radius:var(--r-xs);border:1px solid var(--cc-border);background:transparent;color:var(--cc-text-muted);font-size:var(--fs-sm);font-weight:500;font-family:var(--font-body);cursor:pointer;letter-spacing:.03em;text-transform:uppercase;transition:all .15s;white-space:nowrap}.cc-layer-toggle:hover{border-color:var(--cc-border-strong);color:var(--cc-text-2)}.cc-layer-toggle.active{border-color:var(--cc-accent);background:var(--cc-accent-dim);color:var(--cc-accent)}.cc-layer-toggle.active-online{border-color:#22c55e66;background:#22c55e14;color:var(--cc-success-text)}.cc-layer-toggle.active-alarm{border-color:#ef444466;background:#ef444414;color:var(--cc-danger-text)}.cc-layer-toggle.active-battery{border-color:#f59e0b66;background:#f59e0b14;color:var(--cc-warning-text)}.cc-layer-toggle.active-comms{border-color:#ffa50066;background:#ffa50014;color:orange}.cc-layer-toggle.active-stale{border-color:#96aaa266;background:#96aaa214;color:#9aaaa2}.cc-panel{background:var(--cc-surface);border:1px solid var(--cc-border);border-radius:var(--cc-panel-r);display:flex;flex-direction:column;overflow:hidden}.cc-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid rgba(20,112,106,.14);background:linear-gradient(180deg,#14706a0f,#14706a04);flex-shrink:0;min-height:36px}.cc-panel-title{display:flex;align-items:center;gap:.45rem;font-family:var(--font-label);font-size:var(--fs-sm);font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--cc-text-2)}.cc-panel-title-icon{width:14px;height:14px;flex-shrink:0;color:var(--cc-accent)}.cc-panel-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--fs-2xs);font-weight:500}.cc-panel-badge-alert{background:#ef444433;color:var(--cc-danger-text);border:1px solid rgba(239,68,68,.3)}.cc-panel-badge-warn{background:#f59e0b33;color:var(--cc-warning-text);border:1px solid rgba(245,158,11,.3)}.cc-panel-badge-good{background:#22c55e26;color:var(--cc-success-text);border:1px solid rgba(34,197,94,.25)}.cc-panel-badge-info{background:#13a59426;color:var(--cc-accent);border:1px solid rgba(19,165,148,.25)}.cc-panel-body{flex:1;overflow-y:auto;padding:0}.cc-panel-body::-webkit-scrollbar{width:4px}.cc-panel-body::-webkit-scrollbar-track{background:transparent}.cc-panel-body::-webkit-scrollbar-thumb{background:var(--cc-border-strong);border-radius:var(--r-xs)}.cc-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:1.5rem 1rem;color:var(--cc-text-muted);font-size:var(--fs-sm);text-align:center}.cc-panel-empty-icon{font-size:var(--fs-3xl);opacity:.5}.cc-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:.875rem}.cc-row-4{display:grid;grid-template-columns:repeat(4,1fr);gap:.875rem}.cc-row-2{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem}.cc-led{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cc-led-online{background:var(--cc-success);box-shadow:0 0 4px #22c55e99}.cc-led-offline{background:var(--cc-danger);box-shadow:0 0 4px #ef444499}.cc-led-nodata{background:var(--cc-nodata)}.cc-led-warn{background:var(--cc-warning);box-shadow:0 0 4px #f59e0b99}.cc-led-oos{background:var(--cc-warning)}.cc-alarm-row{display:flex;align-items:flex-start;gap:.5rem;padding:.55rem .75rem;border-bottom:1px solid var(--cc-border);cursor:pointer;transition:background .1s}.cc-alarm-row:hover{background:var(--cc-surface-2)}.cc-alarm-row:last-child{border-bottom:none}.cc-alarm-row-ack{opacity:.45}.cc-alarm-body{flex:1;min-width:0}.cc-alarm-name{font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--cc-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-alarm-meta{display:flex;gap:.5rem;margin-top:.18rem;font-size:var(--fs-sm);color:var(--cc-text-muted);flex-wrap:wrap}.cc-alarm-site{color:var(--cc-accent);font-weight:500}.cc-alarm-ack-badge{font-size:var(--fs-2xs);padding:.1rem .35rem;border-radius:var(--r-xs);background:#22c55e26;color:var(--cc-success-text);border:1px solid rgba(34,197,94,.25);font-weight:var(--fw-label);letter-spacing:.04em;text-transform:uppercase}.cc-alarm-val{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--cc-danger-text);font-weight:var(--fw-label);white-space:nowrap;flex-shrink:0;margin-top:.15rem}.cc-health-score-row{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-bottom:1px solid var(--cc-border)}.cc-health-score-num{font-family:var(--font-mono);font-size:var(--fs-4xl);font-weight:var(--fw-display);line-height:1;letter-spacing:-.01em}.cc-health-score-good{color:var(--cc-success-text)}.cc-health-score-degraded{color:var(--cc-warning-text)}.cc-health-score-critical{color:var(--cc-danger-text)}.cc-health-score-label{font-size:var(--fs-sm);color:var(--cc-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.cc-health-tier-label{font-size:var(--fs-sm);font-weight:var(--fw-label);margin-top:.15rem}.cc-health-tier-label-good{color:var(--cc-success-text)}.cc-health-tier-label-degraded{color:var(--cc-warning-text)}.cc-health-tier-label-critical{color:var(--cc-danger-text)}.cc-health-bar-row{padding:.6rem .75rem;display:flex;flex-direction:column;gap:.35rem;border-bottom:1px solid var(--cc-border)}.cc-health-bar-label-row{display:flex;justify-content:space-between;font-size:var(--fs-sm);color:var(--cc-text-muted)}.cc-health-track{height:6px;background:var(--cc-surface-3);border-radius:var(--r-xs);overflow:hidden}.cc-health-fill{height:100%;border-radius:var(--r-xs);transition:width .6s ease}.cc-health-fill-good{background:var(--cc-success)}.cc-health-fill-degraded{background:var(--cc-warning)}.cc-health-fill-critical{background:var(--cc-danger)}.cc-health-coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.cc-health-coverage-cell{padding:.5rem .75rem;border-bottom:1px solid var(--cc-border);border-right:1px solid var(--cc-border);display:flex;flex-direction:column;gap:.1rem}.cc-health-coverage-cell:nth-child(2n){border-right:none}.cc-health-coverage-cell:nth-last-child(-n+2){border-bottom:none}.cc-coverage-val{font-family:var(--font-mono);font-size:var(--fs-xl);font-weight:var(--fw-display);line-height:1;letter-spacing:-.01em}.cc-coverage-lbl{font-size:var(--fs-2xs);color:var(--cc-text-muted);text-transform:uppercase;letter-spacing:.05em}.cc-val-fresh{color:var(--cc-success-text)}.cc-val-recent{color:var(--cc-accent)}.cc-val-aging{color:var(--cc-warning-text)}.cc-val-stale{color:var(--cc-danger-text)}.cc-battery-summary{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--cc-border)}.cc-battery-cell{padding:.6rem .5rem;text-align:center;border-right:1px solid var(--cc-border);display:flex;flex-direction:column;gap:.15rem}.cc-battery-cell:last-child{border-right:none}.cc-battery-val{font-family:var(--font-mono);font-size:var(--fs-2xl);font-weight:var(--fw-display);line-height:1}.cc-battery-lbl{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--cc-text-muted)}.cc-battery-val-healthy{color:var(--cc-success-text)}.cc-battery-val-warning{color:var(--cc-warning-text)}.cc-battery-val-critical{color:var(--cc-danger-text)}.cc-battery-site-row{display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;border-bottom:1px solid var(--cc-border);cursor:pointer;transition:background .1s}.cc-battery-site-row:hover{background:var(--cc-surface-2)}.cc-battery-site-row:last-child{border-bottom:none}.cc-battery-site-name{flex:1;font-size:var(--fs-sm);color:var(--cc-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-battery-val-inline{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:var(--fw-label)}.cc-battery-bar{width:50px;height:5px;background:var(--cc-surface-3);border-radius:var(--r-xs);overflow:hidden;flex-shrink:0}.cc-battery-bar-fill{height:100%;border-radius:var(--r-xs)}.cc-battery-bar-fill-healthy{background:var(--cc-success)}.cc-battery-bar-fill-warning{background:var(--cc-warning)}.cc-battery-bar-fill-critical{background:var(--cc-danger)}.cc-watched-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--cc-border);cursor:pointer;transition:background .1s}.cc-watched-row:hover{background:var(--cc-surface-2)}.cc-watched-row:last-child{border-bottom:none}.cc-watched-row-noclick{cursor:default}.cc-watched-row-noclick:hover{background:transparent}.cc-watched-label{flex:1;font-size:var(--fs-sm);color:var(--cc-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-watched-source-badge{font-size:var(--fs-2xs);padding:.1rem .4rem;border-radius:var(--r-xs);font-weight:var(--fw-label);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0}.cc-watched-source-detectdata{background:#13a59426;color:var(--cc-accent);border:1px solid rgba(19,165,148,.25)}.cc-watched-source-m2m{background:#f59e0b26;color:var(--cc-warning-text);border:1px solid rgba(245,158,11,.25)}.cc-watched-identifier{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--cc-text-muted);flex-shrink:0}.cc-rainfall-summary{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--cc-border)}.cc-rainfall-cell{padding:.6rem .75rem;border-right:1px solid var(--cc-border);display:flex;flex-direction:column;gap:.1rem}.cc-rainfall-cell:last-child{border-right:none}.cc-rainfall-val{font-family:var(--font-mono);font-size:var(--fs-xl);font-weight:var(--fw-label);color:var(--cc-accent);line-height:1}.cc-rainfall-lbl{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--cc-text-muted)}.cc-rainfall-site-row{display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;border-bottom:1px solid var(--cc-border);cursor:pointer;transition:background .1s}.cc-rainfall-site-row:hover{background:var(--cc-surface-2)}.cc-rainfall-site-row:last-child{border-bottom:none}.cc-rainfall-site-name{flex:1;font-size:var(--fs-sm);color:var(--cc-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-rainfall-mm{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--cc-accent);white-space:nowrap}.cc-search-wrap{position:relative;display:flex;align-items:center}.cc-search-input{background:var(--cc-surface);border:1px solid var(--cc-border-strong);border-radius:var(--r-xs);padding:.3rem .65rem .3rem 2rem;color:var(--cc-text);font-size:var(--fs-base);font-family:var(--font-body);width:200px;transition:border-color .15s,width .2s;outline:none}.cc-search-input::placeholder{color:var(--cc-text-muted)}.cc-search-input:focus{border-color:var(--cc-accent);width:260px}.cc-search-icon{position:absolute;left:.5rem;color:var(--cc-text-muted);pointer-events:none}.cc-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--cc-surface);border:1px solid var(--cc-border-strong);border-radius:var(--r-sm);box-shadow:0 8px 24px #00000080;z-index:200;max-height:280px;overflow-y:auto}.cc-search-result-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;border-bottom:1px solid var(--cc-border);transition:background .1s}.cc-search-result-item:hover{background:var(--cc-surface-2)}.cc-search-result-item:last-child{border-bottom:none}.cc-search-result-name{font-size:var(--fs-base);color:var(--cc-text);font-weight:var(--fw-label);flex:1}.cc-search-result-pmac{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--cc-text-muted)}.cc-alarm-panel-hero{background:var(--cc-surface);border:1px solid var(--cc-border);border-radius:var(--cc-panel-r);display:flex;flex-direction:column;overflow:hidden;height:100%}.cc-alarm-panel-body{flex:1;overflow-y:auto;max-height:377px}.cc-alarm-panel-body::-webkit-scrollbar{width:4px}.cc-alarm-panel-body::-webkit-scrollbar-track{background:transparent}.cc-alarm-panel-body::-webkit-scrollbar-thumb{background:var(--cc-border-strong);border-radius:var(--r-xs)}.cc-loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:60vh;color:var(--cc-text-2)}.cc-spinner{width:28px;height:28px;border:2.5px solid rgba(19,165,148,.15);border-top-color:var(--cc-accent);border-radius:50%;animation:cc-spin .7s linear infinite}@keyframes cc-spin{to{transform:rotate(360deg)}}.cc-loading-title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-label);color:var(--cc-accent);letter-spacing:.04em}.cc-loading-sub{font-size:var(--fs-sm);color:var(--cc-text-muted);margin-top:.2rem}.cc-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1.25rem;border-top:1px solid var(--cc-border);background:#070b14;font-size:var(--fs-sm);color:var(--cc-text-muted);font-family:var(--font-mono);flex-wrap:wrap}.cc-footer-health-good{color:var(--cc-success-text)}.cc-footer-health-degraded{color:var(--cc-warning-text)}.cc-footer-health-critical{color:var(--cc-danger-text)}.cc-footer-brand{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .75rem;margin-left:auto}.cc-footer-brand a{color:var(--accent);text-decoration:none;font-weight:500}.cc-footer-brand a:hover{color:var(--accent-hover);text-decoration:underline}.cc-error-banner{margin:0 1.25rem;padding:.45rem .75rem;border-radius:var(--r-xs);background:#ef444414;border:1px solid rgba(239,68,68,.25);color:var(--cc-danger-text);font-size:var(--fs-sm)}@media(max-width:1279px){.cc-hero-row{grid-template-columns:1fr}.cc-alarm-panel-hero{height:auto}.cc-alarm-panel-body{max-height:260px}.cc-row-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:899px){.cc-row-3,.cc-row-2,.cc-row-4{grid-template-columns:1fr}.cc-kpi-strip{display:none}.cc-header-row1{flex-wrap:wrap;height:auto;padding:.5rem 0}}.cc-wrap .map-tooltip{background:var(--cc-surface-2);color:var(--cc-text);border:1px solid var(--cc-border-strong);font-size:var(--fs-sm)}.cc-wrap .leaflet-popup-content-wrapper{background:var(--cc-surface-2)!important;color:var(--cc-text)!important;border:1px solid var(--cc-border-strong)!important;box-shadow:0 4px 16px #00000080!important}.cc-wrap .leaflet-popup-tip{background:var(--cc-surface-2)!important}.cc-wrap .site-map-wrapper{background:var(--cc-surface)}.cc-wrap{--cc-bg: var(--bg);--cc-surface: var(--surface);--cc-surface-2: var(--surface-2);--cc-surface-3: var(--surface-3);--cc-border: var(--border);--cc-border-strong: var(--border-strong);--cc-text: var(--ink);--cc-text-2: var(--ink-2);--cc-text-muted: var(--muted);--cc-accent: var(--accent);background:var(--bg)}.cc-header{background:var(--surface);border-bottom:1px solid var(--cc-border-strong);padding:.4rem 1rem .45rem;gap:.38rem}.cc-header-row1{height:auto;align-items:center;justify-content:space-between;gap:1rem;min-height:38px}.cc-header-title-block{min-width:0}.cc-header-title{color:#0b6e64;text-shadow:0 1px 0 rgba(255,255,255,.8);letter-spacing:.07em;line-height:1.1;font-size:var(--fs-md)}.cc-header-meta{display:flex;gap:.55rem;margin-top:.2rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--cc-text-muted)}.cc-header-tools{display:flex;align-items:center;gap:.6rem}.cc-refresh-btn{background:#0d7c7214;border:1px solid rgba(13,124,114,.38);border-radius:var(--r-sm);color:#0b6e64;padding:.38rem .64rem;cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-label);letter-spacing:.06em;text-transform:uppercase}.cc-refresh-btn:hover{background:#0d7c7224}.cc-kpi-strip-mission{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:.36rem;width:100%}.cc-kpi-block{display:flex;flex-direction:column;justify-content:center;gap:.1rem;min-height:48px;padding:.34rem .44rem;border:1px solid var(--cc-border);border-radius:var(--r);background:linear-gradient(180deg,#fffffff5,#f4fbf9fa)}.cc-kpi-block-label{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.055em;text-transform:uppercase;color:var(--cc-text-muted)}.cc-kpi-block strong{font-family:var(--font-mono);font-size:var(--fs-lg);color:var(--cc-text);line-height:1}.cc-kpi-subtext{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--cc-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-kpi-block.state-good{border-color:#22c55e57}.cc-kpi-block.state-warn{border-color:#f59e0b70}.cc-kpi-block.state-alert{border-color:#ef444480}.cc-kpi-block.state-info{border-color:#13a59480}.cc-kpi-block.state-neutral{border-color:#53706b38}.cc-kpi-block.state-good strong{color:var(--cc-success-text)}.cc-kpi-block.state-warn strong{color:var(--cc-warning-text)}.cc-kpi-block.state-alert strong{color:var(--cc-danger-text)}.cc-kpi-block.state-info strong{color:var(--cc-accent)}.cc-kpi-block.state-neutral strong{color:var(--cc-text-2)}.app-shell.app-shell-ops{background:var(--surface-3)}.app-main.app-main-ops{width:100%;max-width:none;margin:0;padding:0}.cc-body{padding:.65rem 1rem 1.1rem;gap:.72rem}.cc-body>*{margin-bottom:0}#cc-map-workspace,#cc-alarm-investigation-panel,#cc-telemetry-triage,#cc-operations-modules{scroll-margin-top:70px}.cc-rail-btn.is-active{border-color:#0d7c729e;color:#0b6e64;background:#0d7c7224;box-shadow:inset 0 0 0 1px #0d7c7233}.cc-map-workspace{border:1px solid var(--cc-border-strong);border-radius:var(--r);background:linear-gradient(180deg,#f8fcfff2,#f0f7fff7),repeating-linear-gradient(90deg,transparent 0,transparent 39px,rgba(13,124,114,.06) 40px);padding:.55rem;box-shadow:inset 0 0 0 1px #0d7c721f,0 8px 18px #192d491f}.cc-workspace-banner{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.35rem .45rem .6rem}.cc-workspace-title{font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-label);letter-spacing:.005em;color:#0b6e64}.cc-workspace-sub{margin-top:.18rem;font-size:var(--fs-sm);color:var(--cc-text-muted)}.cc-workspace-metrics{display:flex;gap:.5rem;flex-wrap:wrap}.cc-workspace-metrics span{border:1px solid var(--cc-border);border-radius:var(--r-sm);background:#0d7c7214;padding:.2rem .45rem;color:var(--cc-text-2);font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.05em}.cc-map-workspace .cc-map-panel{border-color:#0d7c724d;background:var(--surface)}.cc-map-workspace .cc-map-body{height:640px}.cc-panel,.cc-alarm-panel-hero{background:linear-gradient(180deg,#fffffff5,#f7fcfafa);border-color:#14706a42}.cc-panel-header,.cc-map-header{background:linear-gradient(180deg,#f0faf7f2,#e5f4f0e6);border-bottom-color:#0d7c7238}.cc-map-layers{justify-content:flex-end}@media(max-width:1599px){.cc-kpi-strip-mission{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1279px){.cc-map-workspace{grid-area:map}.cc-map-workspace .cc-map-body{height:540px}}@media(max-width:1279px){.cc-header-row1{flex-direction:column;align-items:stretch}.cc-header-tools{justify-content:space-between}.cc-kpi-strip-mission{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-map-workspace .cc-map-body{height:460px}}@media(max-width:639px){.cc-map-workspace .cc-map-body{height:400px}}.cc-map-workspace{padding:.48rem}.cc-workspace-banner{padding:.24rem .3rem .48rem}.cc-map-workspace .cc-map-body{height:560px}.cc-status-dot{display:inline-block;width:7px;height:7px;border-radius:var(--r-pill);margin-right:.3rem}.cc-status-online{background:var(--cc-success)}.cc-status-offline{background:var(--cc-danger)}.cc-status-no-data{background:#687a73}.cc-status-label{text-transform:uppercase;font-size:var(--fs-2xs);letter-spacing:.05em;color:var(--cc-text-2)}.cc-health-segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--cc-border);border-bottom:1px solid var(--cc-border)}.cc-health-segment{padding:.5rem .4rem;text-align:center;border-right:1px solid var(--cc-border)}.cc-health-segment:last-child{border-right:none}.cc-health-segment-label{display:block;font-size:var(--fs-2xs);color:var(--cc-text-muted);letter-spacing:.05em;text-transform:uppercase}.cc-health-segment strong{display:block;margin-top:.08rem;font-family:var(--font-mono);font-size:var(--fs-xl);font-weight:var(--fw-display)}.cc-health-seg-online strong{color:var(--cc-success-text)}.cc-health-seg-offline strong{color:var(--cc-danger-text)}.cc-health-seg-nodata strong{color:var(--muted)}.cc-health-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cc-health-summary-cell{padding:.5rem .65rem;border-right:1px solid var(--cc-border);border-bottom:1px solid var(--cc-border);display:flex;flex-direction:column;gap:.1rem}.cc-health-summary-cell:nth-child(2n){border-right:none}.cc-health-summary-cell:nth-last-child(-n+2){border-bottom:none}.cc-health-summary-foot{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.42rem .65rem .5rem;font-size:var(--fs-2xs);color:var(--cc-text-muted);border-top:1px solid var(--cc-border)}.cc-health-foot-tier{font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.06em}.cc-health-foot-tier-good{color:var(--cc-success-text)}.cc-health-foot-tier-degraded{color:var(--cc-warning-text)}.cc-health-foot-tier-critical{color:var(--cc-danger-text)}@media(max-width:1919px){.cc-kpi-strip-mission{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:899px){.cc-kpi-strip-mission{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-map-workspace .cc-map-body{height:460px}}.cc-wrap{--cc-panel-r: .5rem;--cc-shadow-sm: 0 1px 3px rgba(9, 70, 64, .08), 0 1px 2px rgba(9, 70, 64, .04);--cc-shadow: 0 2px 8px rgba(9, 70, 64, .1), 0 1px 3px rgba(9, 70, 64, .06);--cc-shadow-md: 0 4px 16px rgba(9, 70, 64, .12), 0 2px 6px rgba(9, 70, 64, .06)}.cc-panel,.cc-alarm-panel-hero{box-shadow:var(--cc-shadow-sm);border-color:#14706a38}.cc-map-workspace{box-shadow:0 3px 14px #09464021,inset 0 0 0 1px #0d7c721a}.cc-panel-header,.cc-map-header{min-height:38px;padding:.55rem .8rem}.cc-panel-title{font-size:var(--fs-sm);letter-spacing:.065em;gap:.5rem}.cc-panel-title-icon{width:15px;height:15px}.cc-panel-badge{border-radius:var(--r-pill);font-size:var(--fs-sm);height:20px;min-width:20px;padding:0 6px;letter-spacing:.02em}.cc-kpi-block{min-height:52px;padding:.42rem .5rem .42rem .7rem;border-radius:var(--r);position:relative;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.cc-kpi-block:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--r) 0 0 var(--r);background:#14706a33;transition:background .2s ease}.cc-kpi-block.state-good:before{background:var(--cc-success)}.cc-kpi-block.state-warn:before{background:var(--cc-warning)}.cc-kpi-block.state-alert:before{background:var(--cc-danger)}.cc-kpi-block.state-info:before{background:var(--cc-accent)}.cc-kpi-block-label{font-size:var(--fs-2xs);letter-spacing:.07em;font-weight:500}.cc-kpi-block strong{font-size:var(--fs-xl)}.cc-kpi-subtext{font-size:var(--fs-2xs)}.cc-kpi-block.state-alert{background:linear-gradient(180deg,#fffafafa,#fef2f2f5)}.cc-header-title{font-size:var(--fs-lg);letter-spacing:.005em}.cc-header-meta{font-size:var(--fs-2xs);gap:.5rem}.cc-refresh-btn{transition:background .15s ease,border-color .15s ease;border-radius:var(--r-sm);padding:.36rem .68rem}.cc-rail-btn.is-active{background:linear-gradient(180deg,#0d7c722e,#0d7c721c);border-color:#0d7c72a6;color:#0c5f59;font-weight:var(--fw-label);box-shadow:0 1px 5px #0d7c7233,inset 0 1px #ffffff80}.cc-alarm-row{padding:.55rem .8rem .55rem .85rem;border-left:3px solid transparent;transition:background .12s ease,border-left-color .12s ease}.cc-alarm-row:not(.cc-alarm-row-ack){border-left-color:#ef44448c}.cc-alarm-row:not(.cc-alarm-row-ack):hover{border-left-color:var(--cc-danger);background:#ef44440a}.cc-alarm-row-ack{border-left-color:#22c55e4d;opacity:.48}.cc-alarm-row:not(.cc-alarm-row-ack) .cc-led-offline{animation:cc-led-pulse 2s ease-in-out infinite}@keyframes cc-led-pulse{0%,to{box-shadow:0 0 3px #ef444480}50%{box-shadow:0 0 7px #ef4444e6,0 0 12px #ef444459}}.cc-alarm-name{font-size:var(--fs-base)}.cc-alarm-meta{font-size:var(--fs-xs)}.cc-alarm-panel-hero{border-radius:var(--cc-panel-r)}.cc-battery-val{font-size:var(--fs-3xl)}.cc-battery-bar{width:60px;height:6px;border-radius:var(--r-xs)}.cc-battery-site-row{padding:.48rem .8rem;transition:background .12s ease;border-left:3px solid transparent}.cc-battery-site-row:hover{background:#0d7c720a}.cc-watched-row{padding:.52rem .8rem;transition:background .12s ease}.cc-watched-label{font-size:var(--fs-base)}.cc-rainfall-site-row{padding:.48rem .8rem;transition:background .12s ease,border-left-color .12s ease;border-left:3px solid transparent}.cc-rainfall-site-row:hover{border-left-color:var(--cc-accent);background:#0d7c720a}.cc-rainfall-val{font-size:var(--fs-2xl)}.cc-health-score-num{font-size:var(--fs-4xl)}.cc-health-score-row{padding:.8rem}.cc-coverage-val{font-size:var(--fs-2xl)}.cc-coverage-lbl,.cc-health-segment-label{font-size:var(--fs-2xs)}.cc-health-segment strong{font-size:var(--fs-xl)}.cc-status-dot{width:8px;height:8px}.cc-status-label{font-size:var(--fs-2xs);letter-spacing:.06em}.cc-ops-action-alert{background:linear-gradient(180deg,#fee2e2eb,#fecacae0);border-color:#b91c1c85;color:var(--danger-text);font-weight:var(--fw-label)}.cc-workspace-title{font-size:var(--fs-md);font-weight:var(--fw-label)}.cc-workspace-metrics span{font-size:var(--fs-2xs);letter-spacing:.045em;border-radius:var(--r-sm)}.cc-search-input{width:220px;border-radius:var(--r-sm)}.cc-search-input:focus{width:280px}.cc-led{width:8px;height:8px}.cc-led-online{box-shadow:0 0 5px #22c55eb3}.cc-panel-empty{font-size:var(--fs-base);padding:1.75rem 1rem}.cc-panel-body{padding-bottom:0}.cc-footer{font-size:var(--fs-xs);padding:.65rem 1.25rem;letter-spacing:.02em}.cc-comms-lbl,.cc-battery-lbl,.cc-rainfall-lbl,.cc-summary-lbl,.cc-coverage-lbl{font-size:var(--fs-2xs);letter-spacing:.045em}.cc-health-track{height:5px;border-radius:var(--r-pill)}.cc-health-fill{border-radius:var(--r-pill)}@media(min-width:1280px){.cc-command-grid{grid-template-columns:minmax(280px,1fr) minmax(0,2.2fr) minmax(280px,1fr)}}.cc-rail-btn:focus-visible,.cc-workspace-btn:focus-visible,.cc-refresh-btn:focus-visible,.cc-layer-toggle:focus-visible,.cc-quick-action-btn:focus-visible{outline:2px solid rgba(13,124,114,.6);outline-offset:2px}.cc-alarm-row:focus-visible,.cc-incident-item:focus-visible,.cc-battery-site-row:focus-visible,.cc-comms-outage-row:focus-visible,.cc-missing-row:focus-visible,.cc-rainfall-site-row:focus-visible,.cc-watched-row:focus-visible,.cc-anomaly-row:focus-visible{outline:2px solid rgba(13,124,114,.5);outline-offset:-2px}.cc-battery-site-row:has(.cc-led-offline){border-left-color:#ef444473}.cc-battery-site-row:has(.cc-led-warn){border-left-color:#f59e0b66}.cc-battery-site-row:has(.cc-led-online){border-left-color:#22c55e4d}.cc-layer-toggle{border-radius:var(--r-sm);padding:.2rem .52rem;font-size:var(--fs-2xs);transition:all .14s ease}.cc-layer-toggle:hover{box-shadow:0 1px 3px #09464014}.cc-search-results{border-radius:var(--r);box-shadow:0 8px 28px #0946402e,0 2px 8px #09464014;border-color:var(--cc-border-strong)}.cc-search-result-item{padding:.52rem .8rem;transition:background .1s ease}.cc-search-result-name{font-size:var(--fs-base)}.app-shell.app-shell-ops .nav-link{transition:color .14s ease,background .14s ease}.app-shell.app-shell-ops .nav-link:focus-visible{outline:2px solid rgba(255,255,255,.75);outline-offset:1px}.app-shell.app-shell-ops .nav-link.active{font-weight:var(--fw-label)}.cc-kpi-block:hover{box-shadow:0 2px 6px #0946401a}.cc-health-bar-row{padding:.65rem .8rem;gap:.38rem}.cc-health-bar-label-row{font-size:var(--fs-xs)}.cc-comms-cell,.cc-battery-cell{padding:.65rem .5rem}.cc-rainfall-cell{padding:.65rem .8rem}.cc-rainfall-val{line-height:1.1}.cc-body{padding:.6rem .9rem 1rem;gap:.68rem}.cc-alarm-ack-badge{font-size:var(--fs-2xs);border-radius:var(--r-xs);padding:.1rem .38rem}.cc-watched-source-badge{border-radius:var(--r-xs);font-size:var(--fs-2xs)}.cc-wrap{font-family:var(--font-body);font-weight:var(--fw-body);font-synthesis:none}.cc-wrap{--cc-panel-r: .6rem;--cc-shadow-sm: 0 1px 3px rgba(9, 70, 64, .07), 0 1px 2px rgba(9, 70, 64, .04);--cc-shadow: 0 3px 10px rgba(9, 70, 64, .09), 0 1px 4px rgba(9, 70, 64, .05);--cc-shadow-md: 0 6px 22px rgba(9, 70, 64, .11), 0 2px 8px rgba(9, 70, 64, .06);--cc-shadow-lg: 0 12px 40px rgba(9, 70, 64, .14), 0 4px 14px rgba(9, 70, 64, .07)}.cc-header{background:#fafdfff7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(13,124,114,.16);box-shadow:0 1px #fffc,0 2px 12px #09464012;padding:.45rem 1.1rem .5rem}.cc-header-title{font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-label);letter-spacing:.005em;color:var(--accent-hover);text-shadow:none}.cc-header-meta{font-family:var(--font-body);font-size:var(--fs-2xs);color:var(--muted);gap:.5rem;letter-spacing:.04em}.cc-kpi-strip-mission{gap:.32rem;padding:0 0 .1rem}.cc-kpi-block{border-radius:var(--r-md);min-height:54px;padding:.4rem .52rem .4rem .75rem;background:var(--surface);border:1px solid rgba(20,112,106,.16);box-shadow:var(--cc-shadow-sm);transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}.cc-kpi-block:hover{box-shadow:var(--cc-shadow);transform:translateY(-1px);border-color:#14706a42}.cc-kpi-block:before{width:3.5px;border-radius:var(--r) 0 0 var(--r)}.cc-kpi-block-label{font-family:var(--font-body);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}.cc-kpi-block strong{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-label);line-height:1;letter-spacing:-.02em}.cc-kpi-subtext{font-family:var(--font-mono);font-size:var(--fs-2xs);color:#9eb3aa}.cc-kpi-block.state-alert{background:linear-gradient(135deg,#fffafafa,#fff1f1f5);border-color:#dc262647}.cc-kpi-block.state-warn{background:linear-gradient(135deg,#fffdf7fa,#fffbebf5);border-color:#f59e0b47}.cc-kpi-block.state-good{background:var(--surface);border-color:#22c55e33}.cc-refresh-btn{font-family:var(--font-body);font-weight:var(--fw-label);font-size:var(--fs-sm);letter-spacing:.04em;border-radius:var(--r);padding:.38rem .72rem;background:var(--surface);border:1px solid rgba(13,124,114,.32);color:#0b6e64;box-shadow:0 1px 3px #09464012;transition:all .15s ease}.cc-refresh-btn:hover{background:#0d7c7214;border-color:#0d7c7280;box-shadow:0 2px 6px #0d7c7224}.cc-rail-btn.is-active{background:linear-gradient(145deg,#0d7c7229,#0d7c721a);border-color:#0d7c7299;color:var(--accent-hover);font-weight:var(--fw-label);box-shadow:0 1px 5px #0d7c722e,inset 0 1px #fff9}.cc-panel,.cc-alarm-panel-hero{background:var(--surface);border:1px solid rgba(20,112,106,.18);border-radius:var(--cc-panel-r);box-shadow:var(--cc-shadow-sm);transition:box-shadow .2s ease}.cc-panel:hover{box-shadow:var(--cc-shadow)}.cc-panel-header,.cc-map-header{background:linear-gradient(180deg,#f4fbf9e6,#ebf7f4d9);border-bottom:1px solid rgba(13,124,114,.14);min-height:40px;padding:.58rem .85rem}.cc-panel-title{font-family:var(--font-body);font-size:var(--fs-xs);font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);gap:.5rem}.cc-panel-title-icon{color:var(--accent);width:14px;height:14px}.cc-panel-badge{font-family:var(--font-label);font-weight:500;font-size:var(--fs-sm);border-radius:var(--r-pill);height:20px;min-width:20px;padding:0 6px}.cc-map-workspace{border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface-2);box-shadow:var(--cc-shadow-md);padding:.55rem}.cc-workspace-banner{padding:.3rem .45rem .55rem}.cc-workspace-title{font-family:var(--font-display);font-size:var(--fs-base);font-weight:var(--fw-label);letter-spacing:.04em;text-transform:uppercase;color:var(--accent-hover)}.cc-workspace-sub{font-size:var(--fs-sm);color:var(--muted);margin-top:.16rem}.cc-workspace-metrics span{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;background:#0d7c7212;border:1px solid rgba(13,124,114,.18);border-radius:var(--r-sm);padding:.2rem .44rem;color:var(--muted)}.cc-status-dot{width:7px;height:7px}.cc-status-online{box-shadow:0 0 4px #22c55e80}.cc-status-offline{box-shadow:0 0 4px #ef444480}.cc-status-label{font-family:var(--font-body);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.05em;color:var(--muted)}.cc-layer-toggle{font-family:var(--font-body);font-size:var(--fs-2xs);font-weight:500;letter-spacing:.03em;border-radius:var(--r-sm);padding:.22rem .54rem;text-transform:uppercase;transition:all .14s ease}.cc-alarm-name{font-family:var(--font-body);font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--ink)}.cc-alarm-meta{font-family:var(--font-body);font-size:var(--fs-xs);color:var(--muted)}.cc-alarm-site{color:var(--accent);font-weight:500}.cc-comms-val,.cc-battery-val{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:var(--fw-display);letter-spacing:-.03em}.cc-comms-lbl,.cc-battery-lbl,.cc-rainfall-lbl,.cc-summary-lbl,.cc-coverage-lbl{font-family:var(--font-body);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.cc-health-score-num{font-family:var(--font-display);font-size:var(--fs-5xl);font-weight:var(--fw-hero);letter-spacing:-.04em}.cc-coverage-val{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-display);letter-spacing:-.02em}.cc-rainfall-val{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-label);letter-spacing:-.02em}.cc-missing-name,.cc-comms-outage-name,.cc-battery-site-name,.cc-watched-label,.cc-anomaly-name,.cc-rainfall-site-name{font-family:var(--font-body);font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--ink)}.cc-panel-empty{font-family:var(--font-body);font-size:var(--fs-base);color:var(--muted)}.cc-footer{font-family:var(--font-body);font-size:var(--fs-xs);color:var(--muted);background:var(--surface-2);border-top:1px solid rgba(13,124,114,.13);padding:.65rem 1.1rem;letter-spacing:.01em}.cc-search-input{font-family:var(--font-body);font-size:var(--fs-base);border-radius:var(--r);padding:.32rem .7rem .32rem 2.1rem;width:220px;background:var(--surface);border:1px solid rgba(13,124,114,.22);transition:border-color .15s,box-shadow .15s,width .2s}.cc-search-input:focus{width:280px;border-color:#0d7c7299;box-shadow:0 0 0 3px #0d7c721a;background:var(--surface)}.cc-search-results{border-radius:var(--r-md);box-shadow:0 10px 32px #09464029,0 2px 8px #09464014;border:1px solid rgba(13,124,114,.2);background:var(--surface)}.cc-search-result-name{font-family:var(--font-body);font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--ink)}.cc-search-result-pmac{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--muted)}.cc-secondary-grid .cc-panel{box-shadow:var(--cc-shadow-sm);max-height:400px}.cc-secondary-grid .cc-panel .cc-panel-empty{height:100%}@media(min-width:1600px){.cc-header-title{font-size:var(--fs-lg)}.cc-kpi-block strong{font-size:var(--fs-2xl)}}@media(max-width:899px){.cc-header{backdrop-filter:none;-webkit-backdrop-filter:none}}.cc-kpi-block-label,.cc-panel-title,.cc-ops-table thead th,.cc-status-label,.cc-comms-lbl,.cc-battery-lbl,.cc-rainfall-lbl,.cc-summary-lbl,.cc-coverage-lbl,.cc-ops-module-header h3,.cc-workspace-metrics span,.cc-header-meta,.cc-rail-btn,.cc-layer-toggle,.cc-trend-top,.cc-watched-source-badge,.cc-anomaly-type-badge{font-family:var(--font-label);font-weight:400}.cc-command-rail-nav{display:none}.cc-wrap .cc-header{background:var(--brand-gradient);border-bottom:1px solid var(--chrome-border-strong);box-shadow:0 6px 18px #083a3529}.cc-wrap .cc-header-title{color:#fff;text-shadow:none}.cc-wrap .cc-header-meta{color:var(--chrome-ink-faint)}.cc-wrap .cc-refresh-btn{background:var(--chrome-fill);border:1px solid var(--chrome-border-strong);color:#fff}.cc-wrap .cc-refresh-btn:hover{background:var(--chrome-fill-hover)}.cc-wrap .cc-search-input{background:#ffffff24;border:1px solid var(--chrome-border-strong);color:#fff}.cc-wrap .cc-search-input::placeholder{color:#ffffffb8}.cc-wrap .cc-search-icon{color:var(--chrome-ink-faint)}.cc-wrap .cc-kpi-block{background:var(--surface)}.cc-wrap .cc-rail-btn.is-active,.cc-wrap .cc-rail-btn-accent,.cc-wrap .cc-workspace-btn{background:var(--brand-gradient-flat);color:#fff;border-color:transparent;box-shadow:0 2px 8px #083a352e}.cc-wrap .cc-rail-btn.is-active:hover,.cc-wrap .cc-rail-btn-accent:hover,.cc-wrap .cc-workspace-btn:hover{filter:brightness(1.06)}.cc-wrap .cc-panel-header,.cc-wrap .cc-map-header,.cc-wrap .cc-ops-module-header{background:linear-gradient(180deg,#14706a0f,#14706a04);border-bottom-color:#14706a24}.cc-wrap .cc-ops-table thead th{background:linear-gradient(180deg,#14706a12,#14706a05)}.cc-wrap .cc-kpi-block strong,.cc-wrap .cc-kpi-subtext,.cc-wrap .cc-trend-top strong{font-variant-numeric:tabular-nums}.cc-wrap .cc-alarm-row:hover,.cc-wrap .cc-watched-row:hover,.cc-wrap .cc-search-result-item:hover{background:#0d7c720a}.cc-wrap .cc-watched-row-noclick:hover{background:transparent}.cc-wrap{background:var(--surface)}.cc-status-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1.75fr) minmax(0,1fr);gap:.6rem;width:100%;padding:.6rem 0 .7rem}.cc-status-card{background:var(--cc-surface);border:1px solid var(--cc-border);border-radius:var(--r-md);padding:.6rem .8rem;display:flex;flex-direction:column;gap:.45rem;min-width:0;box-shadow:0 1px 2px #091e1b0a}.cc-status-cap{font-family:var(--font-label);font-size:var(--fs-2xs);font-weight:500;letter-spacing:.055em;text-transform:uppercase;color:var(--cc-text-muted);line-height:1;white-space:nowrap}.cc-status-card-body{display:flex;flex:1;min-width:0;min-height:0}.cc-status-alerts .cc-status-card-body{gap:.75rem;align-items:center}.cc-status-metric{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.15rem;min-width:0}.cc-status-metric+.cc-status-metric{border-left:1px solid var(--cc-border);padding-left:.75rem}.cc-status-metric-val{font-size:var(--fs-3xl);line-height:1;font-weight:var(--fw-display);color:var(--cc-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.cc-status-metric-lbl{font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--cc-text-2);white-space:nowrap}.cc-status-metric.is-alert .cc-status-metric-val{color:var(--danger-text)}.cc-status-metric.is-good .cc-status-metric-val{color:var(--success-text)}.cc-status-hero .cc-status-card-body{flex-direction:column;justify-content:center;gap:.3rem}.cc-status-hero-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cc-status-hero-tag{font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.05em;text-transform:uppercase;padding:.12rem .45rem;border-radius:var(--r-pill);white-space:nowrap}.cc-status-hero-val{font-size:var(--fs-4xl);line-height:1;font-weight:var(--fw-display);color:var(--cc-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.cc-status-hero-val span{font-size:var(--fs-xl);color:var(--cc-text-2);margin-left:.12rem}.cc-status-hero-track{height:5px;border-radius:var(--r-xs);background:var(--cc-surface-3);overflow:hidden}.cc-status-hero-track>span{display:block;height:100%;border-radius:var(--r-xs);transition:width .6s cubic-bezier(.22,1,.36,1)}.cc-status-hero-sub{font-size:var(--fs-xs);color:var(--cc-text-2)}.cc-status-hero.is-good .cc-status-hero-track>span{background:var(--cc-success)}.cc-status-hero.is-warn .cc-status-hero-track>span{background:var(--cc-warning)}.cc-status-hero.is-alert .cc-status-hero-track>span{background:var(--cc-danger)}.cc-status-hero.is-good .cc-status-hero-tag{color:var(--success-text);background:var(--cc-success-dim)}.cc-status-hero.is-warn .cc-status-hero-tag{color:var(--warning-text);background:var(--cc-warning-dim)}.cc-status-hero.is-alert .cc-status-hero-tag{color:var(--danger-text);background:var(--cc-danger-dim)}.cc-status-hero.is-alert .cc-status-hero-val{color:var(--danger-text)}.cc-status-cluster .cc-status-card-body{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .8rem;align-content:center}.cc-status-mini{display:flex;align-items:center;gap:.4rem;min-width:0}.cc-status-mini:before{content:"";width:7px;height:7px;border-radius:50%;flex:none;background:var(--cc-text-muted)}.cc-status-mini.is-warn:before{background:var(--cc-warning)}.cc-status-mini.is-good:before{background:var(--cc-success)}.cc-status-mini.is-info:before{background:var(--cc-accent)}.cc-status-mini-val{font-size:var(--fs-xl);font-weight:var(--fw-display);color:var(--cc-text);font-variant-numeric:tabular-nums}.cc-status-mini-lbl{font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--cc-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-status-conn .cc-status-card-body{flex-direction:column;justify-content:center;gap:.45rem}.cc-conn-row{display:flex;align-items:center;gap:.5rem;min-width:0}.cc-conn-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--cc-text-muted)}.cc-conn-row.is-good .cc-conn-dot{background:var(--cc-success);animation:cc-live-pulse 2.4s ease-out infinite}.cc-conn-row.is-warn .cc-conn-dot{background:var(--cc-warning)}.cc-conn-row.is-alert .cc-conn-dot{background:var(--cc-danger)}@keyframes cc-live-pulse{0%{box-shadow:0 0 0 0 var(--cc-success-dim)}70%{box-shadow:0 0 0 5px #22c55e00}to{box-shadow:0 0 #22c55e00}}@media(prefers-reduced-motion:reduce){.cc-conn-row.is-good .cc-conn-dot{animation:none;box-shadow:0 0 0 3px var(--cc-success-dim)}}.cc-conn-txt{display:flex;flex-direction:column;min-width:0;line-height:1.15}.cc-conn-state{font-size:var(--fs-sm);font-weight:var(--fw-label);letter-spacing:.04em;color:var(--cc-text)}.cc-conn-lbl{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--cc-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1279px){.cc-status-strip{grid-template-columns:1fr 1fr}}@media(max-width:639px){.cc-status-strip{grid-template-columns:1fr}}.cc-rail-left>.cc-panel:last-child{flex:1 1 auto;min-height:190px}@media(max-width:1599px){.cc-rail-left>.cc-panel:last-child{flex:0 0 auto}}.cc-triage{background:var(--surface);border:1px solid rgba(20,112,106,.26);border-radius:var(--r-md);overflow:hidden}.cc-triage-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:.7rem .9rem;background:var(--accent-light);border-bottom:1px solid var(--border)}.cc-triage-title{margin:0;font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-2xl);line-height:1.2;color:var(--ink);letter-spacing:-.01em}.cc-triage-sub{margin:.15rem 0 0;font-size:var(--fs-base);color:var(--muted)}.cc-triage-allclear{padding:.25rem .6rem;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-sm);line-height:1.4;color:var(--success-text);background:var(--success-light);border:1px solid rgba(22,163,74,.28);border-radius:var(--r-pill)}.cc-triage-clear .cc-triage-head{border-bottom:none}.cc-triage-filters{display:flex;flex-wrap:wrap;gap:.35rem}.cc-triage-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-sm);line-height:1;color:var(--ink-2);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-pill);cursor:pointer;transition:background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}.cc-triage-chip:hover{border-color:var(--accent);background:var(--surface-2)}.cc-triage-chip-count{padding:.02rem .3rem;font-size:var(--fs-xs);color:var(--muted);background:var(--surface-3);border-radius:var(--r-pill);font-variant-numeric:tabular-nums}.cc-triage-chip.is-active{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.cc-triage-chip.is-active .cc-triage-chip-count{color:var(--on-accent);background:#0000002e}.cc-triage-chip-alert:not(.is-active) .cc-triage-chip-count{color:var(--danger-text);background:var(--danger-light)}.cc-triage-chip-warn:not(.is-active) .cc-triage-chip-count{color:var(--warning-text);background:var(--warning-light)}.cc-triage-list{list-style:none;margin:0;padding:0}.cc-triage-group{padding:.55rem .25rem .3rem;border-top:1px solid var(--border);margin-top:.35rem;font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.cc-triage-row{display:grid;grid-template-columns:minmax(12rem,22rem) minmax(7rem,max-content) minmax(10rem,1fr);align-items:center;gap:var(--space-4);width:100%;padding:.5rem .9rem .5rem .75rem;text-align:left;background:none;border:none;border-left:3px solid transparent;border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--dur-1) var(--ease)}.cc-triage-list li:last-child .cc-triage-row{border-bottom:none}.cc-triage-row:hover:not(:disabled){background:var(--accent-light)}.cc-triage-row:disabled{cursor:default}.cc-triage-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cc-triage-row-alert{border-left-color:var(--danger)}.cc-triage-row-warn{border-left-color:var(--warning)}.cc-triage-row-neutral{border-left-color:var(--border-strong)}.cc-triage-row-main{display:flex;flex-direction:column;min-width:0}.cc-triage-row-name{font-size:var(--fs-lg);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-triage-row-meta{font-size:var(--fs-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-triage-row-reasons{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:flex-start}.cc-triage-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.14rem .5rem .14rem .44rem;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-xs);line-height:1.45;border-radius:var(--r-pill);white-space:nowrap}.cc-triage-tag:before{content:"";width:5px;height:5px;flex-shrink:0;border-radius:50%;background:currentColor}.cc-triage-tag-alert{color:var(--danger-text);background:#dc262621;border:1px solid rgba(220,38,38,.38)}.cc-triage-tag-warn{color:var(--warning-text);background:#d9770626;border:1px solid rgba(217,119,6,.4)}.cc-triage-tag-neutral{color:var(--ink-2);background:#05090f0f;border:1px solid rgba(5,9,15,.2)}.cc-triage-row-age{font-size:var(--fs-sm);color:var(--muted);text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap}.cc-triage-more{display:block;width:100%;padding:.5rem;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-base);line-height:1;color:var(--accent);background:var(--surface-2);border:none;border-top:1px solid var(--border);cursor:pointer}.cc-triage-more:hover{background:var(--accent-light)}.cc-quiet-row{display:flex;align-items:center;gap:.5rem;margin-top:.875rem;padding:.5rem .85rem;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--muted);font-size:var(--fs-xs)}.cc-quiet-check{color:var(--success-text);font-weight:var(--fw-label)}.cc-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:.875rem;align-items:stretch}.cc-detail-grid>*,.cc-detail-grid>*>.cc-panel,.cc-detail-grid>*>.cc-alarm-panel-hero{height:100%}.cc-body>.cc-map-workspace{width:100%}@media(max-width:899px){.cc-triage-row{grid-template-columns:minmax(0,1fr) auto;row-gap:.25rem}.cc-triage-row-age{grid-column:2;text-align:right}.cc-triage-row-reasons{grid-column:2}}.cc-body>.cc-map-workspace .cc-map-body{height:clamp(360px,42vh,460px)}@media(min-width:1600px){.cc-detail-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:1280px)and (max-width:1599px){.cc-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:640px)and (max-width:1279px){.cc-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:639px){.cc-detail-grid{grid-template-columns:1fr}}.cc-status-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-3);align-items:stretch}.cc-tile{display:flex;flex-direction:column;gap:.2rem;min-width:0;padding:.7rem .85rem;background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--border-strong);border-radius:var(--r);box-shadow:var(--shadow-sm)}.cc-tile.is-alert{border-top-color:var(--danger)}.cc-tile.is-warn{border-top-color:var(--warning)}.cc-tile.is-good{border-top-color:var(--success)}.cc-tile.is-info{border-top-color:var(--accent)}.cc-tile.is-neutral{border-top-color:var(--border-strong)}.cc-tile{position:relative;overflow:hidden}.cc-tile:before{content:"";position:absolute;inset:0 0 auto;height:62px;pointer-events:none;background:linear-gradient(180deg,var(--cc-tile-wash, transparent) 0%,transparent 100%)}.cc-tile>*{position:relative}.cc-tile.is-alert{--cc-tile-wash: color-mix(in srgb, var(--danger) 9%, transparent)}.cc-tile.is-warn{--cc-tile-wash: color-mix(in srgb, var(--warning) 9%, transparent)}.cc-tile.is-good{--cc-tile-wash: color-mix(in srgb, var(--success) 7%, transparent)}.cc-tile.is-info{--cc-tile-wash: color-mix(in srgb, var(--accent) 8%, transparent)}.cc-tile-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-tile-value{display:flex;align-items:baseline;gap:.12em;font-size:var(--fs-4xl);font-weight:var(--fw-hero);line-height:1.05;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.cc-tile.is-alert .cc-tile-value{color:var(--danger-text)}.cc-tile.is-warn .cc-tile-value{color:var(--warning-text)}.cc-tile-unit{font-size:var(--fs-xl);font-weight:var(--fw-display);color:var(--muted)}.cc-tile-meter{display:block;height:3px;margin-top:.15rem;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.cc-tile-meter>span{display:block;height:100%;border-radius:var(--r-pill);background:currentColor}.cc-tile.is-alert .cc-tile-meter>span{background:var(--danger)}.cc-tile.is-warn .cc-tile-meter>span{background:var(--warning)}.cc-tile.is-good .cc-tile-meter>span{background:var(--success)}.cc-tile-caption{font-size:var(--fs-2xs);line-height:1.35;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cc-tile-trend{display:grid;grid-template-rows:auto 1.3em;gap:.15rem;margin-top:auto;padding-top:.4rem;font-size:var(--fs-2xs)}.cc-tile-spark{display:block;color:var(--muted);opacity:.9}.cc-tile-spark.is-good{color:var(--success)}.cc-tile-spark.is-bad{color:var(--danger)}.cc-tile-spark.is-flat{color:var(--muted)}.cc-tile-delta{font-size:var(--fs-2xs);font-weight:var(--fw-label);line-height:1.3;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-tile-delta.is-good{color:var(--success-text)}.cc-tile-delta.is-bad{color:var(--danger-text)}.cc-conn-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .6rem;border:1px solid var(--chrome-border, var(--border));border-radius:var(--r-pill);background:var(--chrome-fill, var(--surface));font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.06em;text-transform:uppercase;color:var(--chrome-ink, var(--ink));white-space:nowrap}.cc-conn-chip .cc-conn-dot{width:6px;height:6px;border-radius:var(--r-pill);background:var(--success);flex:none}.cc-conn-chip.is-warn .cc-conn-dot{background:var(--warning)}.cc-conn-chip.is-alert .cc-conn-dot{background:var(--danger)}.cc-conn-chip-time{font-weight:var(--fw-body);text-transform:none;letter-spacing:0;opacity:.75;font-variant-numeric:tabular-nums}@media(max-width:1599px){.cc-status-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:899px){.cc-status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-tile-value{font-size:var(--fs-3xl)}}.cc-triage-row-age{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end;min-width:7.5rem}.cc-triage-age-bar{display:block;width:100%;height:3px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.cc-triage-age-fill{display:block;height:100%;border-radius:var(--r-pill);background:var(--muted)}.cc-triage-age-fill.is-alert{background:var(--danger)}.cc-triage-age-fill.is-warn{background:var(--warning)}.cc-triage-age-fill.is-neutral{background:var(--border-strong)}.cc-triage-age-text{font-size:var(--fs-2xs);color:var(--muted);font-variant-numeric:tabular-nums}@media(max-width:639px){.cc-header-row1{flex-wrap:wrap;gap:var(--space-2)}.cc-header-title-block,.cc-header-tools{flex:1 1 100%;min-width:0}.cc-header-meta{flex-wrap:wrap;row-gap:.15rem}.cc-header-tools{flex-wrap:wrap}.cc-header-tools>*{min-width:0}.cc-header-tools .cc-search-wrap,.cc-header-tools form{flex:1 1 100%}.cc-status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.eng-shell{--eng-primary: #0D7C72;--eng-primary-hover: #095F57;--eng-primary-light: #E7F2F1;--eng-glow: rgba(13, 124, 114, .2);--eng-bg: #FFFFFF;--eng-surface: #FFFFFF;--eng-surface-2: #F1F4F2;--eng-border: #DCE1DD;--eng-border-strong: #C2CAC4;--eng-ink: #16211B;--eng-ink-2: #55635B;--eng-critical: #C85B5B;--eng-critical-text: #A33E3E;--eng-critical-light: rgba(200, 91, 91, .1);--eng-warning: #D39A35;--eng-warning-light: rgba(211, 154, 53, .1);--eng-info: #5A86A8;--eng-info-light: rgba(90, 134, 168, .1);--eng-success: #0D7C72;--eng-success-light: #E7F2F1;--eng-shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--eng-shadow: 0 2px 8px rgba(0,0,0,.07), 0 1px 3px rgba(0,0,0,.05);--eng-shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.04);--eng-r-sm: .25rem;--eng-r: .375rem;--eng-r-md: .5rem;--eng-r-lg: .75rem;--eng-sidebar-w: 280px;--eng-toolbar-h: 48px;--eng-right-w: 300px;--eng-right-w-collapsed: 40px;display:flex;flex-direction:column;height:calc(100vh - 60px);background:var(--eng-bg);overflow:hidden;font-size:var(--fs-md);color:var(--eng-ink)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .eng-shell{--eng-bg: #12181c;--eng-surface: #161d22;--eng-surface-2: #1d262c;--eng-border: rgba(255, 255, 255, .1);--eng-border-strong: rgba(255, 255, 255, .18);--eng-ink: #e9f0ee;--eng-ink-2: #b9c4c1;--eng-primary: #3fb8a8;--eng-primary-hover: #55cbbb;--eng-primary-light: rgba(63, 184, 168, .16);--eng-critical: #ef8b82;--eng-critical-text: #ef8b82;--eng-critical-light: rgba(239, 139, 130, .16);--eng-warning: #e0b45f;--eng-warning-light: rgba(224, 180, 95, .16);--eng-info: #8fb4d4;--eng-info-light: rgba(143, 180, 212, .16);--eng-success: #3fb8a8;--eng-success-light: rgba(63, 184, 168, .16)}}:root[data-theme=dark] .eng-shell{--eng-bg: #12181c;--eng-surface: #161d22;--eng-surface-2: #1d262c;--eng-border: rgba(255, 255, 255, .1);--eng-border-strong: rgba(255, 255, 255, .18);--eng-ink: #e9f0ee;--eng-ink-2: #b9c4c1;--eng-primary: #3fb8a8;--eng-primary-hover: #55cbbb;--eng-primary-light: rgba(63, 184, 168, .16);--eng-critical: #ef8b82;--eng-critical-text: #ef8b82;--eng-critical-light: rgba(239, 139, 130, .16);--eng-warning: #e0b45f;--eng-warning-light: rgba(224, 180, 95, .16);--eng-info: #8fb4d4;--eng-info-light: rgba(143, 180, 212, .16);--eng-success: #3fb8a8;--eng-success-light: rgba(63, 184, 168, .16)}.eng-toolbar{display:flex;align-items:center;gap:.5rem;height:var(--eng-toolbar-h);padding:0 1rem;background:var(--eng-surface);border-bottom:1px solid var(--eng-border);box-shadow:var(--eng-shadow-sm);flex-shrink:0;overflow-x:auto}.eng-toolbar-section{display:flex;align-items:center;gap:.375rem}.eng-toolbar-sep{width:1px;height:20px;background:var(--eng-border);flex-shrink:0;margin:0 .25rem}.eng-toolbar-title{font-weight:var(--fw-label);font-size:var(--fs-base);color:var(--eng-ink);white-space:nowrap;margin-right:.5rem}.eng-toolbar-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-label);letter-spacing:.02em;text-transform:uppercase;background:var(--eng-primary-light);color:var(--eng-primary);border:1px solid var(--eng-primary)}.eng-body{display:flex;flex:1;overflow:hidden}.eng-sidebar{width:var(--eng-sidebar-w);background:var(--eng-surface);border-right:1px solid var(--eng-border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.eng-sidebar-header{padding:.625rem .875rem;border-bottom:1px solid var(--eng-border);display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.06em;color:var(--eng-ink-2)}.eng-sidebar-scroll{flex:1;overflow-y:auto;padding:.5rem 0}.eng-sidebar-section{padding:.375rem 0}.eng-sidebar-section-label{padding:.25rem .875rem;font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.07em;color:var(--eng-ink-2)}.eng-sidebar-item{display:flex;align-items:center;gap:.5rem;padding:.4375rem .875rem;cursor:pointer;border-radius:0;transition:background .12s;font-size:var(--fs-base);color:var(--eng-ink);border:none;background:none;width:100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-sidebar-item:hover{background:var(--eng-primary-light);color:var(--eng-primary)}.eng-sidebar-item.active{background:var(--eng-primary-light);color:var(--eng-primary);font-weight:var(--fw-label);border-right:2px solid var(--eng-primary)}.eng-sidebar-item-dot{width:7px;height:7px;border-radius:50%;background:var(--eng-border-strong);flex-shrink:0}.eng-sidebar-item.active .eng-sidebar-item-dot{background:var(--eng-primary)}.eng-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.eng-tabs{display:flex;align-items:flex-end;gap:0;padding:0 1rem;border-bottom:1px solid var(--eng-border);flex-shrink:0;overflow-x:auto;scrollbar-width:none;background:linear-gradient(90deg,var(--eng-bg) 42%,rgba(245,246,244,0)) left / 3rem 100%,linear-gradient(270deg,var(--eng-bg) 42%,rgba(245,246,244,0)) right / 3rem 100%,radial-gradient(farthest-side at 0 50%,rgba(20,45,40,.16),transparent) left / 1rem 100%,radial-gradient(farthest-side at 100% 50%,rgba(20,45,40,.16),transparent) right / 1rem 100%,var(--eng-bg);background-repeat:no-repeat;background-attachment:local,local,scroll,scroll,scroll}.eng-tabs::-webkit-scrollbar{display:none}.eng-tabs-wrap{position:relative;min-width:0;--eng-tabs-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E")}.eng-tabs-wrap:before,.eng-tabs-wrap:after{content:"";position:absolute;top:50%;transform:translateY(-60%);width:1.1rem;height:1.1rem;pointer-events:none;opacity:0;transition:opacity var(--dur-2, .18s) ease;z-index:2;background:var(--eng-ink-2);-webkit-mask:var(--eng-tabs-chevron) center / .8rem no-repeat;mask:var(--eng-tabs-chevron) center / .8rem no-repeat}.eng-tabs-wrap:before{left:.15rem;rotate:180deg}.eng-tabs-wrap:after{right:.15rem}.eng-tabs-wrap.has-fade-left:before{opacity:.7}.eng-tabs-wrap.has-fade-right:after{opacity:.7}.eng-tabs-wrap.has-fade-left .eng-tabs{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 2.5rem);mask-image:linear-gradient(90deg,transparent 0,#000 2.5rem)}.eng-tabs-wrap.has-fade-right .eng-tabs{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),transparent 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),transparent 100%)}.eng-tabs-wrap.has-fade-left.has-fade-right .eng-tabs{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 2.5rem,#000 calc(100% - 2.5rem),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 2.5rem,#000 calc(100% - 2.5rem),transparent 100%)}.eng-tab{position:relative;display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1rem;font-size:var(--fs-base);font-weight:500;color:var(--eng-ink-2);cursor:pointer;border:none;background:none;white-space:nowrap;transition:color var(--dur-1, .12s) var(--ease, ease),background var(--dur-1, .12s) var(--ease, ease);margin-bottom:-1px;border-radius:var(--eng-r) var(--eng-r) 0 0}.eng-tab:after{content:"";position:absolute;left:.625rem;right:.625rem;bottom:0;height:2px;border-radius:var(--r-xs);background:var(--eng-primary);transform:scaleX(0);transition:transform var(--dur-2, .18s) var(--ease-out, ease)}.eng-tab:hover{color:var(--eng-primary);background:var(--eng-primary-light)}.eng-tab:focus-visible{outline:2px solid var(--eng-primary);outline-offset:-2px}.eng-tab.active{color:var(--eng-primary);font-weight:var(--fw-label)}.eng-tab.active:after{transform:scaleX(1)}.eng-tab-group{display:inline-flex;align-items:flex-end;flex-shrink:0}.eng-tab-group+.eng-tab-group{border-left:1px solid var(--eng-border);margin-left:.5rem;padding-left:.5rem}.eng-tab-group-label{align-self:center;padding:0 .5rem 0 .25rem;font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.06em;text-transform:uppercase;color:var(--eng-ink-2);opacity:.6;white-space:nowrap}.eng-tab-content{flex:1;overflow:auto;padding:1.25rem 1.5rem}.eng-right,.eng-right-dock{width:var(--eng-right-w);background:var(--eng-surface);border-left:1px solid var(--eng-border);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.eng-right-header{padding:.625rem .875rem;border-bottom:1px solid var(--eng-border);font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.06em;color:var(--eng-ink-2);display:flex;align-items:center;justify-content:space-between}.eng-right-scroll{flex:1;overflow-y:auto;padding:.75rem}.eng-btn{display:inline-flex;align-items:center;gap:.35rem;border:none;border-radius:var(--eng-r);padding:.375rem .75rem;font-family:inherit;font-weight:var(--fw-label);font-size:var(--fs-base);line-height:1;cursor:pointer;transition:background var(--dur-2, .18s) var(--ease, ease),box-shadow var(--dur-2, .18s) var(--ease, ease),transform var(--dur-2, .18s) var(--ease-out, ease),opacity var(--dur-1, .12s) var(--ease, ease),border-color var(--dur-1, .12s) var(--ease, ease),color var(--dur-1, .12s) var(--ease, ease);white-space:nowrap}.eng-btn:focus-visible{outline:2px solid var(--eng-primary);outline-offset:2px}.eng-btn:active:not(:disabled){transform:translateY(.5px)}.eng-btn:disabled{opacity:.4;cursor:not-allowed}.eng-btn-primary{background:linear-gradient(180deg,#10897E,var(--eng-primary));color:#fff;font-weight:var(--fw-label);box-shadow:0 1px 2px #095f5747,inset 0 1px #ffffff1f}.eng-btn-primary:hover:not(:disabled){background:var(--eng-primary-hover);box-shadow:0 2px 10px var(--eng-glow),inset 0 1px #ffffff1a;transform:translateY(var(--hover-lift, -1px))}.eng-btn-secondary{background:var(--eng-surface);color:var(--eng-ink);border:1px solid var(--eng-border-strong);box-shadow:var(--eng-shadow-sm)}.eng-btn-secondary:hover:not(:disabled){background:var(--eng-primary-light);border-color:var(--eng-primary);color:var(--eng-primary);transform:translateY(var(--hover-lift, -1px))}.eng-btn-ghost{background:transparent;color:var(--eng-ink-2);border:1px solid transparent}.eng-btn-ghost:hover:not(:disabled){background:var(--eng-primary-light);color:var(--eng-primary)}.eng-btn-danger{background:var(--eng-critical-light);color:var(--eng-critical);border:1px solid var(--eng-critical)}.eng-btn-danger:hover:not(:disabled){background:var(--eng-critical);color:#fff}.eng-btn-sm{padding:.25rem .5rem;font-size:var(--fs-sm)}.eng-layer-toggle{display:flex;align-items:center;gap:.5rem;padding:.3125rem .4375rem;margin:0 -.4375rem;border-radius:var(--eng-r-sm);font-size:var(--fs-base);color:var(--eng-ink);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .14s ease,color .14s ease}.eng-layer-toggle:hover{background:var(--eng-primary-light);color:var(--eng-primary)}.eng-layer-toggle input[type=checkbox]{width:15px;height:15px;accent-color:var(--eng-primary);cursor:pointer;flex-shrink:0;margin:0}.eng-card{background:var(--eng-surface);border:1px solid var(--eng-border);border-radius:var(--eng-r-lg);box-shadow:0 1px 2px #142d280d,0 1px 6px #142d280a;padding:1rem 1.125rem;margin-bottom:.875rem}.eng-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:-.125rem 0 .75rem;padding-bottom:.625rem;border-bottom:1px solid var(--eng-border)}.eng-card-title{font-size:var(--fs-md);font-weight:var(--fw-label);letter-spacing:.005em;color:var(--eng-ink)}.eng-card-subtitle{font-size:var(--fs-sm);color:var(--eng-ink-2);margin-top:.1875rem;font-weight:var(--fw-body)}.eng-status{display:inline-flex;align-items:center;gap:.3rem;padding:.125rem .5rem;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.04em}.eng-status-active{background:var(--eng-success-light);color:var(--eng-primary)}.eng-status-archived{background:var(--eng-border);color:var(--eng-ink-2)}.eng-status-pending{background:var(--eng-warning-light);color:var(--eng-warning)}.eng-status-failed{background:var(--eng-critical-light);color:var(--eng-critical)}.eng-status-queued,.eng-status-running{background:var(--eng-info-light);color:var(--eng-info)}.eng-input{width:100%;padding:.4375rem .625rem;font:inherit;font-size:var(--fs-base);color:var(--eng-ink);background:var(--eng-surface);border:1px solid var(--eng-border-strong);border-radius:var(--eng-r);transition:border-color .15s,box-shadow .15s;outline:none}.eng-input:focus{border-color:var(--eng-primary);box-shadow:0 0 0 3px #0d7c721f}.eng-label{display:block;font-size:var(--fs-xs);font-weight:var(--fw-label);letter-spacing:.045em;text-transform:uppercase;color:var(--eng-ink-2);margin-bottom:.3125rem}.eng-field{margin-bottom:.75rem}.eng-select{width:100%;padding:.4375rem .625rem;font:inherit;font-size:var(--fs-base);color:var(--eng-ink);background:var(--eng-surface);border:1px solid var(--eng-border-strong);border-radius:var(--eng-r);outline:none;cursor:pointer;transition:border-color .15s}.eng-select:focus{border-color:var(--eng-primary);box-shadow:0 0 0 3px #0d7c721f}.eng-combo{position:relative;min-width:0}.eng-combo-menu{position:absolute;z-index:30;top:calc(100% + 2px);left:0;right:0;background:var(--eng-surface);border:1px solid var(--eng-border-strong);border-radius:var(--eng-r);box-shadow:var(--eng-shadow-md);overflow:hidden}.eng-combo-list{max-height:15rem;margin:0;padding:.25rem;overflow-y:auto;list-style:none}.eng-combo-option{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;min-width:0;padding:.3125rem .5rem;border-radius:var(--eng-r-sm);font-size:var(--fs-base);color:var(--eng-ink);cursor:pointer}.eng-combo-option[data-active=true]{background:var(--eng-primary-light)}.eng-combo-option[aria-selected=true] .eng-combo-name{font-weight:var(--fw-label)}.eng-combo-name{min-width:0;overflow-wrap:anywhere}.eng-combo-kind{flex-shrink:0;font-size:var(--fs-xs);color:var(--eng-ink-2);text-transform:capitalize}.eng-combo-empty,.eng-combo-more{padding:.4375rem .625rem;font-size:var(--fs-xs);line-height:1.45;color:var(--eng-ink-2)}.eng-combo-more{border-top:1px solid var(--eng-border);background:var(--eng-surface-2)}.eng-assumption-group{margin-bottom:1rem}.eng-assumption-group-title{font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.07em;color:var(--eng-primary);margin-bottom:.375rem;padding-bottom:.25rem;border-bottom:1px solid var(--eng-primary-light)}.eng-assumption-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.3rem 0;font-size:var(--fs-sm);border-bottom:1px dashed var(--eng-border)}.eng-assumption-row:last-child{border-bottom:none}.eng-assumption-key{color:var(--eng-ink-2);flex:1}.eng-assumption-val{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--eng-ink);font-weight:var(--fw-label);white-space:nowrap;font-variant-numeric:tabular-nums}.eng-loading{display:flex;align-items:center;gap:.5rem;padding:1.5rem;color:var(--eng-ink-2);font-size:var(--fs-base);justify-content:center}.eng-empty{padding:2.75rem 1.5rem;text-align:center;color:var(--eng-ink-2);font-size:var(--fs-base);line-height:1.55}.eng-empty-icon{display:grid;place-items:center;width:3.25rem;height:3.25rem;margin:0 auto .875rem;border-radius:50%;background:var(--eng-primary-light);color:var(--eng-primary);font-size:var(--fs-2xl);box-shadow:inset 0 0 0 1px #0d7c7224}.eng-empty-icon svg{width:22px;height:22px}.eng-error{padding:.75rem 1rem;background:var(--eng-critical-light);border:1px solid var(--eng-critical);border-radius:var(--eng-r);color:var(--eng-critical);font-size:var(--fs-base);margin-bottom:.75rem}.eng-project-item{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background:var(--eng-surface);border:1px solid var(--eng-border);border-radius:var(--eng-r-md);cursor:pointer;transition:border-color .15s,box-shadow .15s;margin-bottom:.5rem}.eng-project-item:hover{border-color:var(--eng-primary);box-shadow:var(--eng-shadow-sm)}.eng-project-item.selected{border-color:var(--eng-primary);background:var(--eng-primary-light);box-shadow:var(--eng-shadow)}.eng-project-meta{flex:1;min-width:0}.eng-project-name{font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--eng-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-project-date{font-size:var(--fs-sm);color:var(--eng-ink-2);margin-top:.125rem}.eng-scenario-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--eng-surface);border:1px solid var(--eng-border);border-radius:var(--eng-r);cursor:pointer;transition:border-color .15s;margin-bottom:.375rem;font-size:var(--fs-base)}.eng-scenario-item:hover{border-color:var(--eng-primary)}.eng-scenario-item.selected{border-color:var(--eng-primary);background:var(--eng-primary-light)}.eng-qa-issue{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;border-left:3px solid var(--eng-border-strong);background:var(--eng-bg);border-radius:0 var(--eng-r) var(--eng-r) 0;margin-bottom:.375rem;font-size:var(--fs-sm)}.eng-qa-issue-critical{border-left-color:var(--eng-critical);background:var(--eng-critical-light)}.eng-qa-issue-warning{border-left-color:var(--eng-warning);background:var(--eng-warning-light)}.eng-qa-issue-info{border-left-color:var(--eng-info);background:var(--eng-info-light)}.eng-qa-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.75rem}.eng-qa-stat{background:var(--eng-bg);border:1px solid var(--eng-border);border-radius:var(--eng-r);padding:.5rem .625rem;text-align:center}.eng-qa-stat-val{font-size:var(--fs-xl);font-weight:var(--fw-label);color:var(--eng-ink);line-height:1;font-variant-numeric:tabular-nums}.eng-qa-stat-label{font-size:var(--fs-2xs);color:var(--eng-ink-2);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.eng-map-wrap{height:100%;min-height:300px;position:relative;border-radius:var(--eng-r-md);overflow:hidden;border:1px solid var(--eng-border)}.eng-map-overlay{position:absolute;top:.75rem;left:.75rem;z-index:1000;background:var(--eng-surface);border:1px solid var(--eng-border);border-radius:var(--eng-r);padding:.5rem .75rem;font-size:var(--fs-sm);color:var(--eng-ink-2);box-shadow:var(--eng-shadow-sm)}.eng-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--eng-border-strong);border-top-color:var(--eng-primary);border-radius:50%;animation:eng-spin .7s linear infinite;flex-shrink:0}@keyframes eng-spin{to{transform:rotate(360deg)}}.eng-spinner-on-primary{border-color:#ffffff73;border-top-color:#fff}.eng-btn-loading:disabled{opacity:.92;cursor:progress}.eng-hm-loading{position:absolute;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:#f5f6f48c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:eng-hm-fade .2s ease-out}@keyframes eng-hm-fade{0%{opacity:0}to{opacity:1}}.eng-hm-loading-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1.75rem 2.25rem;background:var(--eng-surface);border:1px solid var(--eng-border);border-radius:var(--eng-r-lg);box-shadow:var(--eng-shadow-md)}.eng-hm-radar{position:relative;width:64px;height:64px;margin-bottom:.75rem;display:flex;align-items:center;justify-content:center}.eng-hm-radar-core{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--eng-primary);animation:eng-hm-core 1.8s ease-in-out infinite}@keyframes eng-hm-core{0%,to{box-shadow:0 0 0 3px #0d7c7229}50%{box-shadow:0 0 0 6px #0d7c7214}}.eng-hm-radar-ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--eng-primary);opacity:0;animation:eng-hm-ping 1.8s cubic-bezier(0,.2,.8,1) infinite}.eng-hm-radar-ring:nth-child(2){animation-delay:.6s}.eng-hm-radar-ring:nth-child(3){animation-delay:1.2s}@keyframes eng-hm-ping{0%{transform:scale(.2);opacity:.65}80%{opacity:.07}to{transform:scale(1);opacity:0}}.eng-hm-loading-title{font-size:var(--fs-lg);font-weight:var(--fw-label);color:var(--eng-ink)}.eng-hm-loading-sub{font-size:var(--fs-sm);color:var(--eng-ink-2);text-align:center;max-width:240px;line-height:1.45}.eng-hm-progress{position:relative;width:180px;height:3px;margin-top:.875rem;border-radius:var(--r-xs);background:var(--eng-border);overflow:hidden}.eng-hm-progress>span{position:absolute;top:0;left:-40%;height:100%;width:40%;border-radius:var(--r-xs);background:linear-gradient(90deg,transparent,var(--eng-primary),transparent);animation:eng-hm-sweep 1.2s ease-in-out infinite}@keyframes eng-hm-sweep{to{left:100%}}.eng-hm-netloading{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:1100;display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;min-width:252px;max-width:calc(100% - 28px);background:var(--eng-surface);border:1px solid var(--eng-border);border-radius:var(--eng-r-lg);box-shadow:var(--eng-shadow-md);animation:eng-hm-fade .2s ease-out}.eng-hm-radar-sm{width:30px;height:30px;margin:0;flex-shrink:0}.eng-hm-radar-sm .eng-hm-radar-core{width:8px;height:8px}.eng-hm-netloading-body{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.eng-hm-netloading-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.eng-hm-netloading-title{font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--eng-ink)}.eng-hm-netloading-timer{font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--eng-primary);font-variant-numeric:tabular-nums}.eng-hm-netloading-sub{font-size:var(--fs-sm);color:var(--eng-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-hm-netloading-steps{display:flex;gap:3px;margin-top:.125rem}.eng-hm-netloading-steps>span{height:3px;flex:1;border-radius:var(--r-xs);background:var(--eng-border);transition:background-color .3s ease}.eng-hm-netloading-steps>span.is-done{background:var(--eng-primary)}.eng-hm-netloading-steps>span.is-active{background:var(--eng-primary);animation:eng-hm-step-pulse 1s ease-in-out infinite}@keyframes eng-hm-step-pulse{0%,to{opacity:1}50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.eng-hm-loading,.eng-hm-radar-core{animation:none}.eng-hm-radar-ring{animation:none;opacity:.15;transform:scale(.7)}.eng-hm-progress>span{animation:none;left:0;width:100%}.eng-hm-netloading{animation:none}.eng-hm-netloading-steps>span.is-active{animation:none}}.eng-hm-panel{--hm-ink: #f4f7fb;--hm-ink-2: #ccd7e3;--hm-ink-3: #a3b1c2;background:linear-gradient(180deg,#172133f0,#0d1421f0);color:var(--hm-ink);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-md);box-shadow:0 1px #ffffff0f inset,0 8px 24px -6px #0000008c,0 2px 6px #00000059;-webkit-backdrop-filter:blur(9px) saturate(1.15);backdrop-filter:blur(9px) saturate(1.15);letter-spacing:.1px}.eng-hm-panel-title{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.7px;color:var(--hm-ink-3);margin-bottom:7px}.eng-hm-panel .eng-hm-accent{color:#7fd8cd}.eng-hm-panel::-webkit-scrollbar{width:7px}.eng-hm-panel::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:var(--r-sm)}.eng-hm-panel::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.eng-hm-panel::-webkit-scrollbar-track{background:transparent}.eng-hm-row{border-radius:var(--r);transition:background .12s ease}.eng-hm-row:hover{background:#ffffff12}.eng-hm-panel .leaflet-bar a{color:#eef2f7}@media(prefers-reduced-motion:reduce){.eng-hm-row{transition:none}}.eng-modal-backdrop{position:fixed;inset:0;background:#2f3a3473;z-index:200;display:flex;align-items:center;justify-content:center}.eng-modal{background:var(--eng-surface);border:1px solid var(--eng-border);border-radius:var(--eng-r-lg);box-shadow:var(--eng-shadow-md);padding:1.5rem;width:380px;max-width:96vw}.eng-modal-title{font-size:var(--fs-lg);font-weight:var(--fw-label);color:var(--eng-ink);margin-bottom:1rem}.eng-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}@media(max-width:899px){.eng-shell{--eng-sidebar-w: 220px;--eng-right-w: 240px;--eng-right-w-collapsed: 40px}}@media(min-width:1280px){.eng-shell{--eng-sidebar-w: 300px;--eng-right-w: 320px}}@media(max-width:639px){.eng-right{display:none}}.eng-workspace-body{display:flex;flex:1;overflow:hidden;min-height:0}.eng-toolbar-breadcrumb{display:flex;align-items:center;gap:.375rem;overflow:hidden;flex-shrink:0;min-width:0;max-width:340px}.eng-toolbar-brand{font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--eng-primary);white-space:nowrap;letter-spacing:.01em}.eng-toolbar-project,.eng-toolbar-scenario{font-size:var(--fs-sm);color:var(--eng-ink);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-toolbar-actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0;margin-left:auto}.eng-tab-strip{display:flex;align-items:center;gap:0;border-bottom:1px solid var(--eng-border);background:var(--eng-surface);padding:0 1rem;flex-shrink:0}.eng-tab-strip .eng-tab{padding:.625rem .875rem;font-size:var(--fs-base);font-weight:500;color:var(--eng-ink-2);border:none;border-bottom:2px solid transparent;background:none;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap;margin-bottom:-1px}.eng-tab-strip .eng-tab:hover:not(:disabled){color:var(--eng-primary)}.eng-tab-strip .eng-tab.active{color:var(--eng-primary);border-bottom-color:var(--eng-primary);font-weight:var(--fw-label)}.eng-tab-strip .eng-tab:disabled{opacity:.4;cursor:not-allowed}.eng-right-dock{width:var(--eng-right-w);flex-shrink:0;background:var(--eng-surface);border-left:1px solid var(--eng-border);overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:0;transition:width .2s ease;position:relative}.eng-right-dock-collapsed{width:var(--eng-right-w-collapsed);overflow:hidden;padding:0}.eng-right-dock-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--eng-border-strong);border-radius:var(--eng-r-sm);background:var(--eng-surface);color:var(--eng-ink-2);cursor:pointer;flex-shrink:0;transition:background .15s,color .15s;padding:0}.eng-right-dock-toggle:hover{background:var(--eng-primary-light);color:var(--eng-primary);border-color:var(--eng-primary)}.eng-right-dock-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.5rem;border-bottom:1px solid var(--eng-border);margin-bottom:.5rem;gap:.375rem;flex-shrink:0}.eng-right-dock-collapsed-label{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:.75rem 0;height:100%}.eng-right-dock-collapsed-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:var(--eng-ink-2);cursor:pointer;transition:color .15s,background .15s;border-bottom:1px solid var(--eng-border)}.eng-right-dock-collapsed-toggle:hover{background:var(--eng-primary-light);color:var(--eng-primary)}.eng-right-dock-collapsed-text{writing-mode:vertical-rl;text-orientation:mixed;font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.07em;color:var(--eng-ink-2);transform:rotate(180deg);padding:.5rem 0;white-space:nowrap}.eng-right-dock-title{font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.06em;color:var(--eng-ink-2);padding-bottom:.5rem;border-bottom:1px solid var(--eng-border);margin-bottom:.5rem}.eng-sidebar-item.active{background:var(--eng-primary-light);color:var(--eng-primary);font-weight:var(--fw-label);border-left-color:var(--eng-primary)}@media(max-width:639px){.eng-right-dock{display:none}}.eng-toolbar{position:sticky;top:0;z-index:20}.eng-toolbar-actions-bar{flex:1;display:flex;align-items:center;gap:.375rem;overflow-x:auto;padding:0 .5rem}.eng-toolbar-status{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.eng-engineering-dock{position:relative}.eng-dock-scroll{overflow-y:auto;flex:1}.eng-dock-section{border-bottom:1px solid var(--eng-border)}.eng-dock-section-header{width:100%;border:none;background:var(--eng-bg);color:var(--eng-ink);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.07em;font-weight:var(--fw-label);padding:.45rem .7rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.eng-dock-section-body{padding:.25rem 0}.eng-dock-resizer{position:absolute;right:-4px;top:0;width:8px;height:100%;border:none;background:transparent;cursor:col-resize}.eng-dock-resizer:hover{background:#0d7c721a}.eng-empty-inline{padding:.75rem;text-align:left;font-size:var(--fs-sm)}.eng-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.eng-overview-meta{display:grid;gap:.35rem;font-size:var(--fs-sm)}.eng-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.eng-result-item{border:1px solid var(--eng-border);border-radius:var(--eng-r-sm);padding:.45rem .6rem;margin:0 .5rem;background:var(--eng-bg)}.eng-result-item-title{font-size:var(--fs-sm);color:var(--eng-ink)}.eng-result-item-meta{font-size:var(--fs-xs);color:var(--eng-ink-2);margin-top:.15rem}.eng-workstation-main{min-width:0}.eng-workstation-canvas{padding:.8rem 1rem}.eng-inspector-list{display:grid;gap:.35rem;font-size:var(--fs-sm);color:var(--eng-ink);padding:.25rem}.eng-right-resizer{position:absolute;left:-4px;top:0;width:8px;height:100%;border:none;background:transparent;cursor:col-resize}.eng-console{border-top:1px solid var(--eng-border);background:#111827;color:#e5e7eb;display:flex;flex-direction:column;min-height:34px;position:relative}.eng-console-collapsed{overflow:hidden}.eng-console-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .75rem;border-bottom:1px solid rgba(255,255,255,.15);font-size:var(--fs-sm)}.eng-console-header .eng-btn-ghost{color:#e5e7eb}.eng-console-header .eng-btn-ghost:hover:not(:disabled){background:#ffffff24;color:#fff}.eng-console-tabs{display:flex;align-items:center;gap:.25rem;padding:.35rem .75rem 0}.eng-console-tab{border:1px solid rgba(255,255,255,.22);border-radius:var(--r-pill);background:transparent;color:#d1d5db;padding:.18rem .5rem;font-size:var(--fs-xs);cursor:pointer}.eng-console-tab.active{background:#3b82f659;color:#fff}.eng-console-body{flex:1;overflow-y:auto;padding:.35rem .75rem .55rem}.eng-console-line{display:grid;grid-template-columns:68px 44px 1fr;gap:.4rem;font-size:var(--fs-xs);font-family:var(--font-mono);padding:.18rem 0;color:#d1d5db;align-items:baseline}.eng-console-time{color:#6b7280;font-variant-numeric:tabular-nums}.eng-console-level{font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.02em}.eng-console-level-info{color:#60a5fa}.eng-console-level-warning{color:#facc15}.eng-console-level-error{color:#f87171}.eng-console-msg{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-console-warning{color:#facc15}.eng-console-error{color:#f87171}.eng-console-count{display:inline-block;min-width:14px;height:14px;border-radius:var(--r);background:var(--eng-ink-2, var(--muted));color:#fff;font-size:var(--fs-2xs);line-height:14px;text-align:center;margin-left:4px}.eng-console-tab-warn .eng-console-count{background:#facc15;color:#1e293b}.eng-console-resizer{position:absolute;top:-3px;left:0;width:100%;height:6px;border:none;background:transparent;cursor:row-resize}.eng-workspace-panel{padding:.25rem 0}.eng-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;max-width:760px}@media(max-width:639px){.eng-form-grid{grid-template-columns:1fr}}.eng-table-wrap{overflow-x:auto;margin-top:.375rem}.eng-table{width:100%;border-collapse:collapse;font-size:var(--fs-xs)}.eng-table th,.eng-table td{padding:.4375rem .625rem;text-align:left;border-bottom:1px solid var(--eng-border, var(--border))}.eng-table th{font-weight:var(--fw-label);color:var(--eng-ink-2, var(--muted));font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.05em;border-bottom-color:var(--eng-border-strong, var(--border-strong));white-space:nowrap}.eng-table td{font-variant-numeric:tabular-nums}.eng-table tbody tr{transition:background var(--dur-1, .12s) var(--ease, ease)}.eng-table tbody tr:hover{background:var(--eng-primary-light)}.eng-table tbody tr:last-child td{border-bottom:none}.eng-table th.num,.eng-table td.num{text-align:right}.eng-bar-chart{display:flex;align-items:flex-end;gap:3px;height:100px;padding:.25rem 0}.eng-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.eng-bar{width:100%;max-width:28px;background:var(--eng-primary, #0e7490);border-radius:var(--r-xs) var(--r-xs) 0 0;min-height:4px;transition:height .2s}.eng-bar-label{font-size:var(--fs-2xs);color:var(--eng-ink-2, var(--muted));margin-top:2px}.eng-diurnal-chart{display:flex;align-items:flex-end;gap:2px;height:80px}.eng-diurnal-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.eng-diurnal-bar{width:100%;max-width:16px;border-radius:var(--r-xs) var(--r-xs) 0 0;min-height:2px}.eng-diurnal-label{font-size:var(--fs-2xs);color:var(--eng-ink-2, var(--muted));margin-top:1px}.eng-svg-chart{width:100%;height:auto;max-height:200px}.eng-chart-legend{display:flex;gap:1rem;padding:.375rem 0;font-size:var(--fs-2xs);color:var(--eng-ink-2, var(--muted))}.eng-legend-item{display:flex;align-items:center;gap:.25rem}.eng-legend-swatch{display:inline-block;width:12px;height:3px;border-radius:var(--r-xs)}.eng-checkbox-group{display:grid;grid-template-columns:1fr 1fr;gap:.375rem}.eng-checkbox-item{display:flex;align-items:center;gap:.375rem;font-size:var(--fs-xs);cursor:pointer}.eng-checkbox-item input[type=checkbox],.eng-checkbox-item input[type=radio]{flex-shrink:0;width:14px;height:14px;min-width:0;padding:0;margin:0;border-radius:0;accent-color:var(--eng-primary, #0e7490)}.eng-checkbox-item input[type=radio]{border-radius:50%}.eng-checkbox-item:has(input[type=radio]){align-items:flex-start;font-size:var(--fs-sm);line-height:1.6}.eng-checkbox-item:has(input[type=radio]) input[type=radio]{margin-top:.2rem}@media(max-width:1279px){.eng-grid-2{grid-template-columns:1fr}.eng-toolbar-actions-bar{max-width:48vw}.eng-form-grid{grid-template-columns:1fr}}.eng-tool-switch-bar{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:var(--surface);border-bottom:1px solid var(--eng-border);flex-shrink:0}.eng-tool-switch{display:inline-flex;gap:2px;padding:3px;background:var(--surface-3, #f1f3f5);border:1px solid var(--eng-border);border-radius:var(--r-md);box-shadow:inset 0 1px 2px #142d280d}.eng-tool-switch-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.375rem .9rem;font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--eng-ink-2);background:transparent;border:none;border-radius:calc(var(--r-md) - 3px);cursor:pointer;transition:background var(--dur-2, .18s) var(--ease, ease),color var(--dur-2, .18s) var(--ease, ease),box-shadow var(--dur-2, .18s) var(--ease, ease)}.eng-tool-switch-btn:hover{color:var(--eng-ink)}.eng-tool-switch-btn:focus-visible{outline:2px solid var(--eng-primary);outline-offset:-2px}.eng-tool-switch-btn.active{background:var(--eng-surface);color:var(--eng-primary);box-shadow:0 1px 3px #142d2824,inset 0 0 0 1px var(--eng-border)}.eng-tool-switch-icon{font-size:var(--fs-lg);line-height:1}.eng-scrub-shell{background:var(--eng-bg)}.eng-scrub-main{flex:1;min-height:0;overflow-y:auto;padding:1.25rem}.eng-scrub-page{max-width:1080px;margin:0 auto}.eng-scrub-page .eng-svg-chart{max-height:440px}.eng-scrub-config{display:grid;grid-template-columns:1.4fr 1.4fr 1fr 1fr;gap:.75rem;margin-bottom:.75rem}.eng-scrub-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--fs-sm);color:var(--eng-ink-2);cursor:pointer;-webkit-user-select:none;user-select:none}.eng-scrub-toggle input{accent-color:var(--eng-primary)}.eng-scrub-readout{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:.5rem .25rem .25rem;font-size:var(--fs-sm);border-top:1px dashed var(--eng-border);margin-top:.25rem}.eng-scrub-banner{display:flex;gap:.625rem;align-items:flex-start;padding:.75rem .875rem;margin-bottom:.75rem;background:var(--eng-primary-light);border:1px solid var(--eng-primary);border-radius:var(--r-md);font-size:var(--fs-base)}.eng-scrub-banner-icon{color:var(--eng-primary);font-size:var(--fs-xl);line-height:1.1}.eng-scrub-region{padding:.625rem .75rem;border:1px solid var(--eng-border);border-left:3px solid var(--eng-ink-2);border-radius:var(--r);margin-bottom:.5rem}.eng-scrub-sev{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;padding:.1rem .4rem;border-radius:var(--r-xs)}.eng-scrub-reason{font-size:var(--fs-2xs);font-weight:var(--fw-label);padding:.1rem .4rem;border-radius:var(--r-xs);background:var(--eng-bg);border:1px solid var(--eng-border);color:var(--eng-ink)}.eng-scrub-suggest{margin-top:.375rem;padding:.4rem .55rem;background:var(--eng-bg);border-radius:var(--r);font-size:var(--fs-sm)}.eng-scrub-method{padding:.1rem .4rem;border-radius:var(--r-xs);background:var(--eng-primary-light);color:var(--eng-primary);font-weight:var(--fw-label);font-size:var(--fs-2xs);text-transform:uppercase}.eng-scrub-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.eng-scrub-table thead th{position:sticky;top:0;background:var(--eng-bg);text-align:left;padding:.4rem .375rem;border-bottom:1px solid var(--eng-border);font-weight:var(--fw-label)}.eng-scrub-table tbody td{padding:.3rem .375rem;border-bottom:1px solid var(--eng-border)}.eng-scrub-summary-meta{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin-top:.625rem;font-size:var(--fs-sm);color:var(--eng-ink-2)}.eng-scrub-confirm{padding:.75rem;background:var(--eng-warning-light);border:1px solid var(--eng-warning);border-radius:var(--r)}.eng-scrub-completeness{display:flex;align-items:center;gap:.625rem;margin-top:.75rem;font-size:var(--fs-sm);color:var(--eng-ink-2)}.eng-scrub-completeness-label{flex:none}.eng-scrub-completeness-bar{position:relative;flex:1 1 auto;height:8px;min-width:120px;border-radius:var(--r-sm);background:var(--eng-bg);border:1px solid var(--eng-border);overflow:hidden}.eng-scrub-completeness-fill,.eng-scrub-completeness-gain{position:absolute;top:0;bottom:0}.eng-scrub-completeness-fill{left:0;background:var(--eng-primary)}.eng-scrub-completeness-gain{background:repeating-linear-gradient(135deg,#2563eb,#2563eb 3px,#2563eb73 3px 6px)}.eng-scrub-completeness-val{flex:none;font-variant-numeric:tabular-nums}.eng-pattern-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.5rem .625rem;margin-top:.5rem;background:var(--eng-bg);border:1px solid var(--eng-border);border-radius:var(--r);font-size:var(--fs-sm)}.eng-pattern-bar-hint{color:var(--eng-ink-2)}.eng-pattern-chip{display:inline-flex;align-items:baseline;gap:.3rem;padding:.15rem .45rem;border-radius:var(--r-sm);background:var(--eng-surface, #fff);border:1px solid var(--eng-border);font-variant-numeric:tabular-nums}.eng-pattern-chip strong{font-weight:var(--fw-label)}.eng-pattern-grab{cursor:grab}.eng-pattern-grab:active{cursor:grabbing}.eng-pattern-dragging,.eng-pattern-dragging *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.eng-select-sm{padding:.25rem .4rem;font-size:var(--fs-sm);height:auto}.eng-scrub-banner-manual{background:#7c3aed14;border-color:#7c3aed}.eng-scrub-banner-manual .eng-scrub-banner-icon{color:#7c3aed}.eng-corr-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.375rem .5rem;background:var(--eng-bg);border-radius:var(--r-sm);font-size:var(--fs-sm)}.eng-corr-chip{padding:.1rem .4rem;border-radius:var(--r-xs);font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:capitalize}.eng-corr-strong{background:var(--eng-success-light);color:var(--eng-primary)}.eng-corr-moderate{background:var(--eng-warning-light);color:var(--eng-warning)}.eng-corr-weak{background:var(--eng-bg);color:var(--eng-ink-2);border:1px solid var(--eng-border)}@media(max-width:1279px){.eng-scrub-config{grid-template-columns:1fr 1fr}}@media(max-width:639px){.eng-scrub-config{grid-template-columns:1fr}.eng-tool-switch-btn{padding:.4rem .6rem;font-size:var(--fs-sm)}}.eng-workspace{display:grid;gap:.75rem}.eng-form-row{display:flex;flex-wrap:wrap;gap:.625rem;align-items:flex-end}.eng-form-row .eng-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:0;flex:1 1 9rem;min-width:8rem}.eng-form-row .eng-field>span{font-size:var(--fs-xs);font-weight:var(--fw-label);color:var(--eng-ink-2)}.eng-form-row .eng-field input,.eng-form-row .eng-field select{width:100%;padding:.4375rem .625rem;font:inherit;font-size:var(--fs-base);color:var(--eng-ink);background:var(--eng-surface);border:1px solid var(--eng-border-strong);border-radius:var(--eng-r);outline:none;transition:border-color .15s,box-shadow .15s}.eng-form-row .eng-field input:focus,.eng-form-row .eng-field select:focus{border-color:var(--eng-primary);box-shadow:0 0 0 3px #0d7c721f}.eng-form-row .eng-field input:disabled{opacity:.55;cursor:not-allowed}.eng-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.5rem}.eng-stat{background:var(--eng-bg);border:1px solid var(--eng-border);border-radius:var(--eng-r);padding:.5rem .625rem}.eng-stat-label{font-size:var(--fs-2xs);color:var(--eng-ink-2);text-transform:uppercase;letter-spacing:.05em}.eng-stat-value{font-size:var(--fs-xl);font-weight:var(--fw-label);color:var(--eng-ink);line-height:1.2;font-variant-numeric:tabular-nums;margin-top:.15rem}.eng-stat-hint{font-size:var(--fs-2xs);color:var(--eng-ink-2);margin-top:.1rem}.eng-hint{margin-top:.5rem;font-size:var(--fs-sm);line-height:1.5;color:var(--eng-ink-2)}.eng-tooltip{background:var(--eng-surface);border:1px solid var(--eng-border-strong);border-radius:var(--eng-r);padding:.5rem .625rem;box-shadow:0 4px 14px #0000001f;color:var(--eng-ink);font-variant-numeric:tabular-nums}.eng-table td.eng-num,.eng-table th.eng-num{text-align:right;font-variant-numeric:tabular-nums}.eng-row-actions{display:flex;gap:.375rem;flex-wrap:wrap}.eng-hmx-main{padding:0;overflow:hidden}.eng-hmx{display:flex;height:100%;min-height:0;background:var(--eng-bg)}.eng-shell.eng-hmx-shell{height:calc(100vh - 146px);height:calc(100dvh - 146px);min-height:540px}.eng-hmx-side{width:324px;min-width:324px;display:flex;flex-direction:column;min-height:0;background:var(--eng-surface);border-right:1px solid var(--eng-border);box-shadow:var(--eng-shadow-sm);z-index:601}.eng-hmx-side-head{padding:.9375rem 1rem .75rem;border-bottom:1px solid var(--eng-border);background:linear-gradient(180deg,#fbfcfb,var(--eng-surface))}.eng-hmx-title{display:flex;align-items:baseline;gap:.5rem;font-family:var(--font-display, inherit);font-size:var(--fs-xl);font-weight:var(--fw-display);letter-spacing:.01em;color:var(--eng-ink)}.eng-hmx-title-badge{font-family:var(--font-label, inherit);font-size:var(--fs-2xs);font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--eng-primary);border:1px solid currentColor;border-radius:var(--r-pill);padding:1px 7px;position:relative;top:-1px;white-space:nowrap}.eng-hmx-subtitle{margin-top:3px;font-size:var(--fs-sm);letter-spacing:.015em;color:var(--eng-ink-2)}.eng-hmx-side-scroll{flex:1;min-height:0;overflow-y:auto;padding:0 1rem .875rem;scrollbar-width:thin}.eng-hmx-side-foot{padding:.6875rem 1rem .8125rem;border-top:1px solid var(--eng-border);background:var(--eng-surface);box-shadow:0 -6px 16px -8px #142d282e;display:flex;flex-direction:column;gap:.5rem}.eng-hmx-run{width:100%;justify-content:center;font-size:var(--fs-base);padding:.5625rem 1rem;letter-spacing:.02em}.eng-hmx-foot-hint{font-size:var(--fs-2xs);text-align:center;color:var(--eng-ink-2);letter-spacing:.02em}.eng-hmx-sec{border-bottom:1px solid var(--eng-border);padding-bottom:.6875rem}.eng-hmx-sec:last-child{border-bottom:none}.eng-hmx-sec-btn{display:flex;align-items:center;gap:.4375rem;width:100%;padding:.625rem 0 .375rem;background:none;border:none;cursor:pointer;color:var(--eng-ink-2);font-family:var(--font-label, inherit);font-size:var(--fs-xs);font-weight:400;letter-spacing:.09em;text-transform:uppercase}.eng-hmx-sec-btn:hover{color:var(--eng-primary)}.eng-hmx-sec-caret{display:inline-block;width:9px;font-size:var(--fs-2xs);opacity:.55;transition:transform var(--dur-2, .15s) var(--ease, ease)}.eng-hmx-sec.open .eng-hmx-sec-caret{transform:rotate(90deg)}.eng-hmx-sec-right{margin-left:auto;display:flex;align-items:center;gap:.25rem}.eng-hmx-sec-body{display:flex;flex-direction:column;gap:.5625rem;padding-top:.1875rem}.eng-hmx-label{display:block;font-family:var(--font-label, inherit);font-size:var(--fs-2xs);font-weight:400;letter-spacing:.055em;text-transform:uppercase;color:var(--eng-ink-2);margin-bottom:.25rem}.eng-hmx-row2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.eng-hmx-check{display:flex;gap:.4375rem;align-items:center;font-size:var(--fs-sm);color:var(--eng-ink);cursor:pointer;line-height:1.35}.eng-hmx-check input{accent-color:var(--eng-primary);margin:0}.eng-hmx-check.is-off{opacity:.45;cursor:default}.eng-hmx-hint{font-size:var(--fs-2xs);line-height:1.45;color:var(--eng-ink-2)}.eng-hmx-swatch-line{width:15px;height:0;display:inline-block;border-radius:var(--r-xs);flex:0 0 auto}.eng-hmx-method-info{border-left:3px solid var(--eng-primary);background:var(--eng-primary-light);border-radius:0 var(--eng-r) var(--eng-r) 0;padding:.5rem .625rem}.eng-hmx-method-tagline{font-family:var(--font-label, inherit);font-weight:400;font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--eng-primary);margin-bottom:2px}.eng-hmx-method-desc{font-size:var(--fs-sm);line-height:1.5;color:var(--eng-ink);opacity:.85}.eng-hmx-seg{display:flex;background:var(--eng-bg);border:1px solid var(--eng-border);border-radius:var(--eng-r);padding:2px;gap:2px;margin-top:.625rem}.eng-hmx-seg-btn{flex:1;border:none;background:transparent;padding:.3125rem .5rem;font-size:var(--fs-xs);border-radius:calc(var(--eng-r) - 2px);cursor:pointer;color:var(--eng-ink-2);letter-spacing:.02em;transition:background var(--dur-2, .15s) var(--ease, ease),color var(--dur-2, .15s) var(--ease, ease)}.eng-hmx-seg-btn.active{background:var(--eng-primary);color:#fff}.eng-hmx-seg-btn:not(.active):hover{color:var(--eng-ink);background:#0d7c7214}.eng-hmx-sites-tools{display:flex;align-items:center;gap:.375rem}.eng-hmx-mini-btn{border:1px solid var(--eng-border);background:var(--eng-surface);color:var(--eng-ink-2);font-size:var(--fs-2xs);padding:.125rem .5rem;border-radius:var(--r-pill);cursor:pointer;letter-spacing:.03em}.eng-hmx-mini-btn:hover{border-color:var(--eng-primary);color:var(--eng-primary)}.eng-hmx-sites{border:1px solid var(--eng-border);border-radius:var(--eng-r);max-height:168px;overflow-y:auto;padding:3px;background:#fcfcfd}.eng-hmx-site-row{display:flex;gap:.4375rem;align-items:center;padding:.21875rem .375rem;font-size:var(--fs-xs);color:var(--eng-ink);border-radius:var(--eng-r-sm);cursor:pointer}.eng-hmx-site-row:hover{background:var(--eng-primary-light)}.eng-hmx-site-row input{accent-color:var(--eng-primary);margin:0}.eng-hmx-stat{display:flex;justify-content:space-between;gap:.75rem;font-size:var(--fs-xs);line-height:1.6;color:var(--eng-ink)}.eng-hmx-stat>span:first-child{color:var(--eng-ink-2)}.eng-hmx-stat>span:last-child{font-variant-numeric:tabular-nums;text-align:right}.eng-hmx-note{font-size:var(--fs-sm);line-height:1.5;border-left:3px solid var(--eng-primary);padding:.125rem 0 .125rem .5625rem;color:var(--eng-ink)}.eng-hmx-note.warn{border-color:var(--eng-warning)}.eng-hmx-exports{display:flex;flex-wrap:wrap;gap:.375rem}.eng-hmx-catch{width:100%;text-align:left;background:#fcfcfd;border:1px solid var(--eng-border);border-radius:var(--eng-r);padding:.375rem .5rem;cursor:pointer;color:var(--eng-ink);transition:border-color var(--dur-2, .15s) var(--ease, ease),background var(--dur-2, .15s) var(--ease, ease)}.eng-hmx-catch:hover{border-color:var(--eng-primary)}.eng-hmx-catch.sel{border-color:var(--eng-primary);background:var(--eng-primary-light)}.eng-hmx-catch-head{display:flex;align-items:center;gap:.375rem;font-size:var(--fs-xs)}.eng-hmx-catch-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-hmx-catch-score{font-variant-numeric:tabular-nums}.eng-hmx-catch-bar{height:4px;border-radius:var(--r-xs);background:#142d2814;margin:4px 0 3px;overflow:hidden}.eng-hmx-catch-bar>span{display:block;height:100%;border-radius:var(--r-xs)}.eng-hmx-catch-meta{display:flex;flex-wrap:wrap;gap:.125rem .5rem;font-size:var(--fs-2xs);color:var(--eng-ink-2);font-variant-numeric:tabular-nums}.eng-hmx-kpis{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:stretch;padding:0;overflow:hidden;max-width:calc(100% - 380px)}.eng-hmx-kpi{padding:8px 14px 7px;text-align:center;min-width:72px}.eng-hmx-kpi+.eng-hmx-kpi{border-left:1px solid rgba(255,255,255,.09)}.eng-hmx-kpi-v{font-size:var(--fs-xl);font-weight:var(--fw-display);line-height:1.1;color:var(--hm-ink);font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap}.eng-hmx-kpi-v small{font-size:var(--fs-2xs);color:var(--hm-ink-3);margin-left:2px;letter-spacing:.03em}.eng-hmx-kpi-l{margin-top:2px;font-family:var(--font-label, inherit);font-weight:400;font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--hm-ink-2);white-space:nowrap}.eng-hmx-legend{width:248px;max-height:calc(100% - 110px);overflow-y:auto}.eng-hmx-legend-sub{font-size:var(--fs-2xs);color:var(--hm-ink-3);margin:-5px 0 7px;letter-spacing:.03em}.eng-hmx-ramp{position:relative;height:10px;border-radius:var(--r-xs);border:1px solid rgba(255,255,255,.16);margin:2px 0 1px}.eng-hmx-ramp-tick{position:absolute;top:-2px;bottom:-2px;width:1px;background:#ffffffb3}.eng-hmx-ramp-scale{display:flex;justify-content:space-between;font-size:var(--fs-2xs);color:var(--hm-ink-3);margin:2px 0 5px;font-variant-numeric:tabular-nums}.eng-hmx-band{display:flex;align-items:center;gap:6px;line-height:1.7;font-size:var(--fs-sm);color:var(--hm-ink-2)}.eng-hmx-band-swatch{width:12px;height:6px;border-radius:var(--r-xs);flex:0 0 auto}.eng-hmx-band-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-hmx-band-range{color:var(--hm-ink-3);font-size:var(--fs-2xs);margin-left:3px}.eng-hmx-band-n{font-variant-numeric:tabular-nums;min-width:28px;text-align:right;color:var(--hm-ink)}.eng-hmx-band-km{color:var(--hm-ink-3);font-variant-numeric:tabular-nums;font-size:var(--fs-2xs);min-width:46px;text-align:right}.eng-hmx-legend-note{margin-top:5px;font-size:var(--fs-2xs);line-height:1.45;color:var(--hm-ink-3)}.eng-hmx-legend-block{margin-top:7px;padding-top:6px;border-top:1px solid rgba(255,255,255,.12)}.eng-hmx-check-dark{display:flex;gap:6px;align-items:center;font-size:var(--fs-sm);color:var(--hm-ink-2);line-height:1.8;cursor:pointer}.eng-hmx-check-dark input{accent-color:#7fd8cd;margin:0}.eng-hmx-check-dark.is-off{opacity:.4;cursor:default}.eng-hmx-status{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:10px;padding:5px 12px;font-size:var(--fs-sm);color:var(--hm-ink-2);pointer-events:none;max-width:min(74%,900px);white-space:nowrap}.eng-hmx-status b{font-weight:400;color:#fff}.eng-hmx-status-sep{width:1px;height:12px;background:#ffffff2e;flex:0 0 auto}.eng-hmx-status-part{overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.eng-hmx-status-hint{color:var(--hm-ink-3)}.eng-hmx-status-coords{font-variant-numeric:tabular-nums;color:var(--hm-ink-3);min-width:150px;text-align:right}.eng-hmx-north{position:absolute;right:12px;bottom:42px;z-index:1000;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;padding:0}.eng-hmx-welcome{position:absolute;top:50%;left:50%;transform:translate(-50%,-54%);z-index:1000;width:min(420px,calc(100% - 48px));padding:22px 24px 18px}.eng-hmx-welcome-title{font-size:var(--fs-xl);font-weight:var(--fw-display);letter-spacing:.01em;color:var(--hm-ink);margin-bottom:4px}.eng-hmx-welcome-sub{font-size:var(--fs-xs);color:var(--hm-ink-2);line-height:1.55;margin-bottom:10px}.eng-hmx-welcome-step{display:flex;gap:10px;font-size:var(--fs-sm);color:var(--hm-ink-2);line-height:1.5;padding:4px 0}.eng-hmx-welcome-n{width:18px;height:18px;border-radius:50%;border:1px solid #7fd8cd;color:#7fd8cd;font-size:var(--fs-2xs);display:flex;align-items:center;justify-content:center;flex:0 0 auto;margin-top:1px;font-variant-numeric:tabular-nums}.eng-hmx-welcome-foot{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1);font-size:var(--fs-2xs);color:var(--hm-ink-3);line-height:1.5}.eng-hmx-count-chip{font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;color:#7fd8cd;border:1px solid rgba(127,216,205,.45);border-radius:var(--r-pill);padding:0 6px;line-height:1.5}@media(max-width:1279px){.eng-hmx-kpi{min-width:60px;padding:7px 10px 6px}.eng-hmx-kpis{max-width:calc(100% - 320px)}}@media(max-width:1279px){.eng-hmx-status-hint{display:none}.eng-hmx-kpi-v{font-size:var(--fs-lg)}}.eng-toolbar-unified{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.eng-toolbar-tools{display:flex;align-items:center;flex:none}.eng-toolbar-spacer{flex:1 1 auto}.eng-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding-inline:.5rem}.eng-run-menu{position:relative}.eng-run-pop{position:absolute;top:calc(100% + .3rem);right:0;z-index:60;min-width:17rem;padding:.25rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.eng-run-item{display:flex;flex-direction:column;gap:1px;width:100%;padding:.4rem .6rem;border:none;border-radius:var(--r-sm);background:transparent;font:inherit;text-align:left;cursor:pointer}.eng-run-item:hover{background:var(--accent-light)}.eng-run-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.eng-run-item-label{font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--ink)}.eng-run-item-hint{font-size:var(--fs-2xs);color:var(--muted)}.eng-dock-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:.5rem .6rem .5rem .75rem;border-bottom:1px solid var(--eng-border, var(--border));flex:none}.eng-dock-head-title{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.eng-dock-close{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--muted);cursor:pointer}.eng-dock-close:hover{border-color:var(--border-strong);color:var(--ink)}.eng-dock-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.eng-dock-open-btn{display:inline-flex;align-items:center;gap:.35rem;flex:none}.eng-dock-scrim{display:none}.eng-launchpad{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-8) var(--space-6);max-width:70rem;margin:0 auto}.eng-launchpad-head{max-width:60ch}.eng-launchpad-title{position:relative;margin:0 0 .35rem;padding-left:.85rem;font-size:var(--fs-3xl);font-weight:var(--fw-display);letter-spacing:-.015em;line-height:1.2;color:var(--eng-ink)}.eng-launchpad-title:before{content:"";position:absolute;left:0;top:.12em;bottom:.12em;width:4px;border-radius:var(--r-xs);background:linear-gradient(180deg,#14706a,#277f6a)}.eng-launchpad-sub{margin:0;padding-left:.85rem;font-size:var(--fs-lg);line-height:1.5;color:var(--eng-ink-2)}.eng-launchpad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:var(--space-3)}.eng-launchpad-card{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:var(--space-4);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-lg);background:var(--surface);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),transform var(--dur-2) var(--ease)}.eng-launchpad-card:hover{border-color:var(--accent);box-shadow:var(--hover-shadow);transform:translateY(var(--hover-lift))}.eng-launchpad-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.eng-launchpad-card.is-archived{border-left-color:var(--eng-border-strong);opacity:.9}.eng-launchpad-card-name{font-size:var(--fs-xl);font-weight:var(--fw-body);color:var(--ink)}.eng-launchpad-card-site{font-size:var(--fs-sm);color:var(--eng-ink-2)}.eng-launchpad-archived summary{font-size:var(--fs-base);color:var(--eng-ink-2);cursor:pointer;padding:var(--space-2) 0}.eng-launchpad-archived summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.eng-launchpad-archived[open] summary{margin-bottom:var(--space-3)}.eng-launchpad-section{margin-top:var(--space-5)}.eng-launchpad-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-2);margin-bottom:var(--space-3);border-bottom:1px solid var(--border)}.eng-launchpad-section-title{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.08em;color:var(--eng-ink-2)}.eng-launchpad-card-stats{display:flex;flex-wrap:wrap;gap:0 var(--space-3);font-size:var(--fs-2xs);color:var(--eng-ink-2);font-variant-numeric:tabular-nums}.eng-launchpad-card-job{margin-top:.15rem;font-size:var(--fs-2xs);color:var(--eng-ink-2)}.eng-launchpad-card-job.is-bad{color:var(--eng-critical-text)}.eng-launchpad-card-job.is-busy{color:var(--eng-primary)}.eng-launchpad-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:var(--space-4)}.eng-launchpad-tool{position:relative;display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-6) var(--space-4) var(--space-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);font:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),transform var(--dur-2) var(--ease)}.eng-launchpad-tool:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,#14706a,#277f6a);transform:scaleY(0);transform-origin:50% 0;transition:transform var(--dur-2) var(--ease)}.eng-launchpad-tool:hover,.eng-launchpad-tool:focus-visible{border-color:var(--accent);box-shadow:var(--hover-shadow);transform:translateY(var(--hover-lift))}.eng-launchpad-tool:hover:before,.eng-launchpad-tool:focus-visible:before{transform:scaleY(1)}.eng-launchpad-tool:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.eng-launchpad-tool-icon{display:grid;place-items:center;flex:none;width:2.5rem;height:2.5rem;border-radius:var(--r-md);background:var(--accent-light);color:var(--accent-text);box-shadow:inset 0 0 0 1px #0d7c7229;transition:background var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}.eng-launchpad-tool:hover .eng-launchpad-tool-icon{background:var(--accent);color:var(--on-accent)}.eng-launchpad-tool-icon svg{width:18px;height:18px}.eng-launchpad-tool-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.eng-launchpad-tool-name{font-size:var(--fs-md);font-weight:var(--fw-body);color:var(--ink)}.eng-launchpad-tool-desc{font-size:var(--fs-sm);line-height:1.5;color:var(--muted)}.eng-console{background:var(--brand-dark, #095f57);border-top:1px solid rgba(255,255,255,.14)}.eng-console .eng-console-tab.active{background:#ffffff2e;color:#fff}.eng-console .eng-console-tab{color:#ffffffb8}.eng-console .eng-console-tab:hover{color:#fff}@media(max-width:1279px){.eng-dock-scrim{display:block;position:fixed;inset:0;z-index:60;background:#05090f52}.eng-engineering-dock{position:fixed;top:0;left:0;bottom:0;z-index:61;max-width:90vw;box-shadow:var(--shadow-lg)}.eng-engineering-dock .eng-dock-resize{display:none}}.eng-modulebar{display:flex;align-items:stretch;gap:var(--space-2)}.eng-modulebar .eng-workstation-tabs{flex:0 1 auto}.eng-modulebar-more{position:relative;flex:none;display:flex;align-items:stretch}.eng-modulebar-more-btn{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.eng-modulebar-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.05rem;height:1.05rem;padding:0 .25rem;border-radius:var(--r-pill);background:var(--surface-3);color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-label);line-height:1}.eng-modulebar-pop{position:absolute;top:calc(100% + .2rem);right:0;z-index:60;min-width:22rem;padding:.5rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem var(--space-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.eng-modulebar-group{display:flex;flex-direction:column;gap:1px}.eng-modulebar-group-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0 .5rem .15rem}.eng-modulebar-item{display:flex;align-items:center;width:100%;padding:.32rem .5rem;border:none;border-radius:var(--r-sm);background:transparent;font:inherit;font-size:var(--fs-base);color:var(--ink-2);text-align:left;white-space:nowrap;cursor:pointer}.eng-modulebar-item:hover:not(:disabled){background:var(--accent-light);color:var(--accent-text)}.eng-modulebar-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.eng-modulebar-item.is-active{background:var(--accent-light);color:var(--accent-text);font-weight:var(--fw-label)}.eng-modulebar-item:disabled{opacity:.42;cursor:not-allowed}.eng-modulebar-note{grid-column:1 / -1;margin:.2rem 0 0;padding-top:.4rem;border-top:1px solid var(--border);font-size:var(--fs-2xs);color:var(--muted)}@media(max-width:899px){.eng-modulebar-pop{grid-template-columns:minmax(0,1fr);min-width:14rem}}@media(max-width:899px){.eng-toolbar-unified{gap:var(--space-2);padding-inline:var(--space-3);row-gap:var(--space-2)}.eng-toolbar-unified .eng-toolbar-tools{order:10;flex:1 0 100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.eng-toolbar-unified .eng-toolbar-tools::-webkit-scrollbar{display:none}.eng-toolbar-unified .eng-tool-switch{flex-wrap:nowrap}.eng-toolbar-unified .eng-toolbar-brand{font-size:var(--fs-2xs)}.eng-toolbar-unified .eng-toolbar-breadcrumb{order:11;flex:1 0 100%}.eng-modulebar{align-items:center}.eng-modulebar .eng-workstation-tabs{flex:1 1 auto;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.eng-modulebar .eng-workstation-tabs::-webkit-scrollbar{display:none}.eng-modulebar-more{position:sticky;right:0;background:var(--surface);box-shadow:-6px 0 6px -4px #05090f24;padding-left:.2rem}.eng-modulebar-pop{right:0;max-width:calc(100vw - 1.5rem)}}.eng-toolbar-unified{height:auto;min-height:var(--eng-toolbar-h);flex-wrap:wrap;overflow:visible}@media(max-width:899px){.eng-toolbar-unified{padding-block:.4rem}}@media(max-width:1279px){.eng-engineering-dock{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--eng-surface, var(--surface))}.eng-engineering-dock .eng-dock-scroll{flex:1 1 auto;overflow-y:auto}}.eng-tile-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:.625rem}.eng-tile{background:var(--eng-surface);border:1px solid var(--eng-border);border-radius:var(--eng-r-md);padding:.6875rem .8125rem .625rem;min-width:0}.eng-tile-val{font-size:var(--fs-2xl);font-weight:var(--fw-display, 400);color:var(--eng-ink);line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow-wrap:anywhere}.eng-tile-val small{font-size:var(--fs-sm);color:var(--eng-ink-2);font-weight:var(--fw-body);margin-left:2px}.eng-tile.is-accent .eng-tile-val{color:var(--eng-primary)}.eng-tile.is-warn .eng-tile-val{color:var(--eng-warning)}.eng-tile.is-bad .eng-tile-val{color:var(--eng-critical)}.eng-tile-label{margin-top:.25rem;font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.06em;text-transform:uppercase;color:var(--eng-ink-2)}.eng-tile-sub{margin-top:.125rem;font-size:var(--fs-xs);color:var(--eng-ink-2)}.eng-quick-actions{display:flex;flex-wrap:wrap;gap:.5rem}.eng-quick-action{display:inline-flex;align-items:center;gap:.4375rem;padding:.4375rem .8125rem;background:var(--eng-surface);border:1px solid var(--eng-border-strong);border-radius:var(--r-pill);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--eng-ink);cursor:pointer;transition:border-color var(--dur-2, .18s) var(--ease, ease),color var(--dur-2, .18s) var(--ease, ease),background var(--dur-2, .18s) var(--ease, ease),transform var(--dur-2, .18s) var(--ease-out, ease),box-shadow var(--dur-2, .18s) var(--ease, ease)}.eng-quick-action:hover{border-color:var(--eng-primary);color:var(--eng-primary);background:var(--eng-primary-light);transform:translateY(var(--hover-lift, -1px));box-shadow:0 2px 8px #142d281a}.eng-quick-action:focus-visible{outline:2px solid var(--eng-primary);outline-offset:2px}.eng-quick-action-icon{display:inline-flex;color:var(--eng-primary)}.eng-quick-action-icon svg{width:14px;height:14px}.eng-fit-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.125rem .5625rem;border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.05em;text-transform:uppercase}.eng-fit-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.eng-fit-chip.is-good{background:var(--eng-success-light);color:var(--eng-primary)}.eng-fit-chip.is-acceptable{background:var(--eng-warning-light);color:var(--eng-warning)}.eng-fit-chip.is-poor{background:var(--eng-critical-light);color:var(--eng-critical)}.eng-fit-chip.is-unknown{background:var(--surface-3, #f1f3f5);color:var(--eng-ink-2)}.eng-overview-meta>div{display:flex;gap:.5rem;padding:.1875rem 0;line-height:1.5}.eng-overview-meta strong{font-weight:var(--fw-label);color:var(--eng-ink-2);min-width:6.5rem;flex:none}.eng-tab-content,.eng-sidebar-scroll,.eng-dock-scroll,.eng-right-scroll,.eng-console-body,.eng-table-wrap,.eng-hmx-side-scroll{scrollbar-width:thin;scrollbar-color:var(--eng-border-strong) transparent}.eng-tab-content::-webkit-scrollbar,.eng-sidebar-scroll::-webkit-scrollbar,.eng-dock-scroll::-webkit-scrollbar,.eng-right-scroll::-webkit-scrollbar,.eng-console-body::-webkit-scrollbar,.eng-table-wrap::-webkit-scrollbar,.eng-hmx-side-scroll::-webkit-scrollbar{width:8px;height:8px}.eng-tab-content::-webkit-scrollbar-thumb,.eng-sidebar-scroll::-webkit-scrollbar-thumb,.eng-dock-scroll::-webkit-scrollbar-thumb,.eng-right-scroll::-webkit-scrollbar-thumb,.eng-console-body::-webkit-scrollbar-thumb,.eng-table-wrap::-webkit-scrollbar-thumb,.eng-hmx-side-scroll::-webkit-scrollbar-thumb{background:var(--eng-border-strong);border-radius:var(--r-sm);border:2px solid transparent;background-clip:content-box}.eng-modal-backdrop{background:#05141161;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.eng-modal{border-radius:var(--eng-r-lg);box-shadow:var(--eng-shadow-md),0 12px 40px #05141129;border:1px solid var(--eng-border)}.eng-workstation-canvas{padding:1.125rem 1.375rem 1.5rem}.eng-modulebar-waiting{margin-left:auto;padding-left:.75rem;font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.03em;color:var(--eng-warning);white-space:nowrap;flex-shrink:0}.eng-guide{border-left:2px solid var(--eng-primary);padding:.125rem 0 .125rem .875rem;margin:0 0 1rem;max-width:68ch}.eng-guide-title{font-size:var(--fs-md);font-weight:var(--fw-label);color:var(--eng-ink);margin:0 0 .35rem}.eng-guide-lead{font-size:var(--fs-sm);line-height:1.65;color:var(--eng-ink);margin:0}.eng-guide-why,.eng-guide-todo{font-size:var(--fs-sm);line-height:1.65;color:var(--eng-ink-2);margin:.5rem 0 0}.eng-guide-why-label,.eng-guide-todo-label{display:block;font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.05em;color:var(--eng-ink-2);margin-bottom:.1rem}.eng-term-wrap{position:relative;display:inline}.eng-term{appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:help;text-decoration:underline dotted;text-underline-offset:.18em;text-decoration-color:var(--eng-primary);text-decoration-thickness:1px}.eng-term:hover,.eng-term[aria-expanded=true]{color:var(--eng-primary)}.eng-term:focus-visible{outline:2px solid var(--eng-primary);outline-offset:2px;border-radius:var(--r-xs)}.eng-term-pop{position:absolute;z-index:40;top:calc(100% + .4rem);left:0;display:block;width:max-content;max-width:min(21rem,80vw);padding:.625rem .75rem;background:var(--eng-surface);border:1px solid var(--eng-border-strong);border-radius:var(--eng-r-md);box-shadow:var(--eng-shadow-md);text-align:left;white-space:normal;cursor:auto}.eng-term-pop-title{display:block;font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.05em;color:var(--eng-primary);margin-bottom:.25rem}.eng-term-pop-body{display:block;font-size:var(--fs-sm);line-height:1.6;color:var(--eng-ink)}.eng-term-pop-more{display:block;font-size:var(--fs-xs);line-height:1.6;color:var(--eng-ink-2);margin-top:.45rem;padding-top:.45rem;border-top:1px solid var(--eng-border)}.eng-callout{border-radius:var(--eng-r);padding:.625rem .75rem;margin:.625rem 0 0;font-size:var(--fs-sm);line-height:1.6}.eng-callout-info{background:var(--eng-info-light);color:var(--eng-ink)}.eng-callout-warning{background:var(--eng-warning-light);color:var(--eng-ink)}.eng-callout-critical{background:var(--eng-critical-light);color:var(--eng-ink)}.eng-callout-title{font-weight:var(--fw-label);margin-bottom:.2rem}.eng-callout-body p{margin:0 0 .4rem}.eng-callout-body p:last-child{margin-bottom:0}.eng-reading{margin-top:.625rem}.eng-reading-summary{cursor:pointer;font-size:var(--fs-xs);font-weight:var(--fw-label);color:var(--eng-primary)}.eng-reading-list{margin:.5rem 0 0;padding-left:1.05rem;font-size:var(--fs-sm);line-height:1.65;color:var(--eng-ink-2);max-width:68ch}.eng-reading-list li{margin-bottom:.3rem}.eng-reading-list strong{color:var(--eng-ink);font-weight:var(--fw-label)}.eng-checklist{list-style:none;margin:0;padding:0;max-width:68ch}.eng-checklist-item{display:flex;gap:.55rem;padding:.45rem 0;border-top:1px solid var(--eng-border);min-width:0}.eng-checklist-item:first-child{border-top:0;padding-top:0}.eng-checklist-mark{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;margin-top:.1rem;border-radius:50%;font-size:var(--fs-2xs);font-weight:var(--fw-label);line-height:1}.eng-checklist-item.is-ok .eng-checklist-mark{background:var(--eng-success-light);color:var(--eng-primary)}.eng-checklist-item.is-warn .eng-checklist-mark{background:var(--eng-warning-light);color:var(--eng-warning)}.eng-checklist-item.is-blocked .eng-checklist-mark{background:var(--eng-critical-light);color:var(--eng-critical-text)}.eng-checklist-body{min-width:0}.eng-checklist-label{display:block;font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--eng-ink)}.eng-checklist-detail{display:block;font-size:var(--fs-sm);line-height:1.6;color:var(--eng-ink-2);margin-top:.1rem}.eng-figure{margin:0 0 var(--space-4);padding:0;min-width:0}.eng-figure-title{display:block;font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--eng-ink);margin-bottom:.4rem}.eng-figure-body{background:var(--eng-surface);border:1px solid var(--eng-border);border-radius:var(--eng-r-md);padding:.75rem;overflow-x:auto;min-width:0}.eng-figure-caption{display:block;font-size:var(--fs-xs);line-height:1.6;color:var(--eng-ink-2);margin-top:.4rem}.eng-figure-note{font-size:var(--fs-xs);line-height:1.6;color:var(--eng-ink-2);margin:.5rem 0 0}.eng-steprail{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.25rem;margin-bottom:var(--space-3);min-width:0}.eng-steprail-step{display:flex;align-items:flex-start;gap:.4rem;text-align:left;padding:.5rem .6rem;border:1px solid var(--eng-border);border-radius:var(--eng-r);background:var(--eng-surface);color:var(--eng-ink);font:inherit;cursor:pointer;min-width:0;transition:border-color var(--dur-fast, .15s) var(--ease, ease),background var(--dur-fast, .15s) var(--ease, ease)}.eng-steprail-step:hover:not(:disabled){border-color:var(--eng-primary)}.eng-steprail-step:disabled{cursor:default;background:var(--eng-surface-2);color:var(--eng-ink-2)}.eng-steprail-step.is-current{border-color:var(--eng-primary);background:var(--eng-primary-light)}.eng-steprail-mark{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:var(--fw-label);background:var(--eng-surface-2);color:var(--eng-ink-2)}.eng-steprail-step.is-done .eng-steprail-mark{background:var(--eng-success-light);color:var(--eng-primary)}.eng-steprail-step.is-ready .eng-steprail-mark,.eng-steprail-step.is-current .eng-steprail-mark{background:var(--eng-primary);color:var(--on-accent, #fff)}.eng-steprail-text{min-width:0}.eng-steprail-label{display:block;font-size:var(--fs-xs);font-weight:var(--fw-label)}.eng-steprail-hint{display:block;font-size:var(--fs-2xs);line-height:1.45;color:var(--eng-ink-2);margin-top:.1rem}.eng-wb-bar{display:flex;height:26px;border-radius:var(--eng-r-sm);overflow:hidden;background:var(--eng-surface-2)}.eng-wb-seg{display:block;height:100%;min-width:2px}.eng-wb-key{list-style:none;margin:.6rem 0 0;padding:0}.eng-wb-key li{display:flex;align-items:baseline;gap:.5rem;padding:.2rem 0;font-size:var(--fs-xs);color:var(--eng-ink);min-width:0}.eng-wb-swatch{flex-shrink:0;width:11px;height:11px;border-radius:var(--r-xs);border:1px solid transparent;align-self:center}.eng-wb-label{flex:1;min-width:0;color:var(--eng-ink-2)}.eng-wb-value{flex-shrink:0;font-weight:var(--fw-label);white-space:nowrap}.eng-wb-share{display:inline-block;margin-left:.4rem;font-weight:var(--fw-body);color:var(--eng-ink-2)}.eng-bands,.eng-ranked{list-style:none;margin:0;padding:0}.eng-band,.eng-ranked-row{display:grid;align-items:center;gap:.5rem;padding:.25rem 0;min-width:0}.eng-band{grid-template-columns:minmax(0,11rem) minmax(0,1fr) auto}.eng-band-label,.eng-ranked-name{font-size:var(--fs-xs);color:var(--eng-ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eng-band-track,.eng-ranked-track{display:block;height:12px;border-radius:var(--r-xs);background:var(--eng-surface-2);overflow:hidden;min-width:0}.eng-band-fill,.eng-ranked-fill{display:block;height:100%;border-radius:var(--r-xs);min-width:2px;transition:width var(--dur-med, .3s) var(--ease, ease)}.eng-band-value,.eng-ranked-value{font-size:var(--fs-xs);font-weight:var(--fw-label);color:var(--eng-ink);white-space:nowrap;text-align:right}.eng-band-count{display:block;font-size:var(--fs-2xs);font-weight:var(--fw-body);color:var(--eng-ink-2)}.eng-ranked-row{grid-template-columns:minmax(0,13rem) minmax(0,1fr) auto auto auto}.eng-ranked-unit{margin-left:.15rem;font-size:var(--fs-2xs);font-weight:var(--fw-body);color:var(--eng-ink-2)}.eng-ranked-meta{font-size:var(--fs-2xs);color:var(--eng-ink-2);white-space:nowrap}.eng-ranked-action{padding:.15rem .45rem;font-size:var(--fs-2xs)}.eng-map-modes{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem}.eng-resultmap{position:relative;width:100%;border-radius:var(--eng-r-md);overflow:hidden;border:1px solid var(--eng-border)}.eng-resultmap-placeholder{display:flex;align-items:center;justify-content:center;height:100%;background:var(--eng-surface);color:var(--eng-ink-2);font-size:var(--fs-xs)}.eng-resultmap-legend{position:absolute;right:10px;bottom:12px;z-index:500;background:#fffffff0;border:1px solid rgba(0,0,0,.12);border-radius:var(--r-sm);padding:.45rem .6rem;font-size:var(--fs-2xs);line-height:1.7;color:#40484f;box-shadow:0 1px 4px #00000024;max-width:60%}.eng-resultmap-legend-title{font-weight:var(--fw-label);color:#1c2429;margin-bottom:.15rem}.eng-resultmap-legend-row{display:flex;align-items:center;gap:.4rem}.eng-resultmap-legend-line{display:inline-block;flex-shrink:0;width:16px;height:3px;border-radius:var(--r-xs)}.eng-resultmap-legend-dot{display:inline-block;flex-shrink:0;width:10px;height:10px;border-radius:var(--r-pill);background:#c0392b;border:1.5px solid #8e2a20}.eng-storm-patterns{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.4rem;margin-bottom:.5rem}.eng-storm-pattern{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.5rem .6rem;border:1px solid var(--eng-border);border-radius:var(--eng-r);background:var(--eng-surface);color:var(--eng-ink);font:inherit;cursor:pointer;text-align:left;min-width:0}.eng-storm-pattern:hover{border-color:var(--eng-primary)}.eng-storm-pattern.is-active{border-color:var(--eng-primary);background:var(--eng-primary-light)}.eng-storm-pattern-label{font-size:var(--fs-xs);font-weight:var(--fw-label)}@media(max-width:639px){.eng-band{grid-template-columns:minmax(0,1fr) auto}.eng-band-track{grid-column:1 / -1;order:3}.eng-ranked-row{grid-template-columns:minmax(0,1fr) auto auto}.eng-ranked-track{grid-column:1 / -1;order:4}}.page-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;text-align:center;color:var(--muted, var(--muted))}.page-error-state--full-height{height:100%}.page-error-state--min-height{min-height:40vh}.page-error-icon{font-size:var(--fs-4xl)}.page-error-title{font-weight:var(--fw-label);font-size:var(--fs-xl);color:var(--text, var(--ink))}.page-error-body{font-size:var(--fs-md);max-width:440px}.page-error-pre{font-size:var(--fs-sm);background:var(--surface-3);padding:.5rem .75rem;border-radius:var(--r);max-width:560px;overflow-x:auto;text-align:left;color:var(--danger-text, var(--danger-text))}.page-error-retry{margin-top:.25rem;padding:.5rem 1.25rem;background:var(--accent, #0e7490);color:#fff;border:none;border-radius:var(--r);cursor:pointer;font-weight:var(--fw-label)}.page-error-retry--engineering{background:#2f7f5f}.acct-workspace{max-width:1400px;margin:0 auto;padding:0 var(--space-4)}.acct-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.acct-title{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:var(--fw-display);color:var(--ink);margin:0;letter-spacing:-.02em}.acct-subtitle{font-family:var(--font-body);font-size:var(--fs-md);color:var(--muted);margin:.25rem 0 0}.acct-header-meta{display:flex;align-items:center;gap:.5rem;font-size:var(--fs-base);color:var(--muted)}.acct-meta-divider{opacity:.5}.acct-toast{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;border-radius:var(--r-md);margin-bottom:1rem;font-size:var(--fs-base);font-weight:500;animation:acct-slide-in .25s ease-out}.acct-toast-success{background:#16a34a14;border:1px solid rgba(22,163,74,.2);color:var(--success-text)}.acct-toast-error{background:#dc262614;border:1px solid rgba(220,38,38,.2);color:var(--danger-text)}.acct-toast-icon{font-size:var(--fs-xl);font-weight:var(--fw-label)}.acct-toast-message{flex:1}.acct-toast-dismiss{background:none;border:none;font-size:var(--fs-2xl);cursor:pointer;opacity:.6;color:inherit;padding:0 .25rem}.acct-toast-dismiss:hover{opacity:1}@keyframes acct-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.acct-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.acct-panel-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.acct-panel-title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-label);margin:0;color:var(--ink)}.acct-panel-subtitle{font-size:var(--fs-sm);color:var(--muted);margin:.125rem 0 0}.acct-panel-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.acct-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.75rem}.acct-card-compact{padding:var(--space-4)}.acct-card-wide{grid-column:1 / -1}.acct-card-title{font-family:var(--font-label);font-size:var(--fs-md);font-weight:var(--fw-label);margin:0;padding-bottom:.5rem;border-bottom:1px solid var(--border);color:var(--ink)}.acct-search-wrapper{display:flex;align-items:center;gap:.5rem}.acct-search{font-family:var(--font-body);font-size:var(--fs-base);padding:.4rem .75rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--ink);min-width:12rem;transition:border-color .15s}.acct-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #0d7c721a}.acct-search-count{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.acct-table-wrapper{overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--border)}.acct-table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.acct-table thead{background:var(--bg);border-bottom:1px solid var(--border)}.acct-table th{font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:.6rem .75rem;text-align:left;white-space:nowrap}.acct-table td{padding:.55rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.acct-table tbody tr:last-child td{border-bottom:none}.acct-table tbody tr:hover{background:#0d7c7208}.acct-row-selected{background:#0d7c720f!important}.acct-row-disabled{opacity:.65}.acct-th-check{width:2.5rem}.acct-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.acct-th-sortable:hover{color:var(--accent)}.acct-td-primary{font-weight:var(--fw-label);color:var(--ink)}.acct-td-mono{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--muted)}.acct-td-time{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap}.acct-td-detail{display:flex;gap:.25rem;flex-wrap:wrap}.acct-user-link{background:none;border:none;color:var(--accent);font-weight:var(--fw-label);font-size:var(--fs-base);cursor:pointer;padding:.15rem .4rem;border-radius:var(--r-sm);transition:background .15s}.acct-user-link:hover{background:#0d7c7214}.acct-user-link-active{background:#0d7c721f}.acct-select-sm{font-family:var(--font-body);font-size:var(--fs-sm);padding:.2rem .5rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--ink);cursor:pointer}.acct-module-row{display:flex;gap:.25rem;flex-wrap:wrap}.acct-module-badge{display:inline-flex;align-items:center;padding:.1rem .4rem;border-radius:var(--r-xs);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.02em}.acct-module-on{background:#16a34a1a;color:var(--success-text);border:1px solid rgba(22,163,74,.2)}.acct-module-off{background:#64748b14;color:var(--muted);border:1px solid rgba(100,116,139,.15)}.acct-status-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-label)}.acct-status-active{background:#16a34a1a;color:var(--success-text)}.acct-status-disabled{background:#dc262614;color:var(--danger-text)}.acct-status-oos{background:#f59e0b1a;color:var(--warning-text)}.acct-action-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:var(--fw-label);background:#0d7c7214;color:var(--accent)}.acct-detail-chip{display:inline-flex;padding:.1rem .35rem;border-radius:var(--r-xs);font-size:var(--fs-2xs);background:var(--bg);color:var(--muted);border:1px solid var(--border)}.acct-action-row{display:flex;gap:.3rem;flex-wrap:wrap}.acct-bulk-bar{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem;padding:.5rem .75rem;background:#0d7c720d;border:1px solid rgba(13,124,114,.15);border-radius:var(--r-md)}.acct-bulk-count{font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--accent)}.acct-bulk-info{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem;background:#0d7c720d;border:1px solid rgba(13,124,114,.12);border-radius:var(--r-sm)}.acct-input{font-family:var(--font-body);font-size:var(--fs-base);padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--ink);width:100%;transition:border-color .15s}.acct-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #0d7c721a}.acct-field{display:flex;flex-direction:column;gap:.25rem}.acct-label{font-family:var(--font-label);font-size:var(--fs-xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.acct-hint{font-size:var(--fs-sm);color:var(--muted);margin:0}.acct-create-form{display:flex;flex-direction:column;gap:.625rem}.acct-check-item{display:flex;align-items:center;gap:.4rem;font-size:var(--fs-base);cursor:pointer}.acct-module-checks{display:flex;flex-direction:column;gap:.5rem}.acct-site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.3rem .75rem;max-height:320px;overflow-y:auto;padding:.25rem 0}.acct-site-check{display:flex;align-items:center;gap:.35rem;padding:.25rem .5rem;border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-base);transition:background .1s}.acct-site-check:hover{background:#0d7c720a}.acct-site-check-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.acct-save-summary{display:flex;justify-content:space-between;font-size:var(--fs-sm);color:var(--muted);padding:.35rem 0;border-top:1px solid var(--border)}.acct-tab-content{animation:acct-fade-in .2s ease-out}.acct-users-layout{display:grid;grid-template-columns:280px 1fr;gap:1rem;align-items:start}@keyframes acct-fade-in{0%{opacity:0}to{opacity:1}}.acct-scope-notice{display:flex;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.625rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--muted)}.acct-scope-icon{font-size:var(--fs-md)}.acct-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1rem;text-align:center}.acct-empty-icon{font-size:var(--fs-4xl);margin-bottom:.5rem}.acct-empty-title{font-size:var(--fs-md);font-weight:var(--fw-label);color:var(--ink);margin:0}.acct-empty-desc{font-size:var(--fs-base);color:var(--muted);margin:.25rem 0 0}.acct-loading{display:flex;align-items:center;justify-content:center;gap:.625rem;padding:2rem;color:var(--muted);font-size:var(--fs-base)}.acct-spinner{width:1.25rem;height:1.25rem;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:acct-spin .6s linear infinite}@keyframes acct-spin{to{transform:rotate(360deg)}}.acct-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:acct-fade-in .15s}.acct-dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:0 20px 60px #0003;padding:var(--space-6);max-width:400px;width:90%;display:flex;flex-direction:column;gap:.75rem}.acct-dialog-title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-label);margin:0}.acct-dialog-message{font-size:var(--fs-base);color:var(--muted);margin:0;line-height:1.5}.acct-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}@media(max-width:639px){.acct-users-layout,.acct-permissions-grid{grid-template-columns:1fr}.acct-header,.acct-panel-header{flex-direction:column;align-items:flex-start}.acct-site-grid{grid-template-columns:1fr}}@media(max-width:639px){.acct-table th:nth-child(4),.acct-table td:nth-child(4){display:none}}.admin-users-table th{padding:.65rem .4rem}.admin-users-table td{padding:.5rem .4rem}.admin-users-table .admin-inline-select{max-width:120px}.admin-users-table th:first-child,.admin-users-table td:first-child{padding-left:.85rem}.admin-users-table th:last-child,.admin-users-table td:last-child{padding-right:.85rem}.admin-users-table tbody tr.is-suspended td{opacity:.6}.admin-user-name{display:inline-block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.ui-switch{position:relative;display:inline-block;width:34px;height:19px;flex-shrink:0;padding:0;border:none;border-radius:var(--r-pill);background:var(--surface-3);cursor:pointer;vertical-align:middle;transition:background .18s ease}.ui-switch-thumb{position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #0a162847;transition:transform .18s ease}.ui-switch.is-on{background:var(--accent)}.ui-switch.is-on .ui-switch-thumb{transform:translate(15px)}.ui-switch.is-locked{cursor:default;opacity:.55}.ui-switch:not(.is-locked):hover{filter:brightness(.97)}.ui-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-access-cell{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.admin-inline-select{width:auto;max-width:150px;padding:.28rem .4rem;font-size:var(--fs-sm);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);cursor:pointer}.admin-inline-select:hover{border-color:var(--accent)}.admin-inline-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.admin-user-actions{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}.admin-user-actions-btns{display:flex;gap:.35rem;flex-wrap:nowrap}.btn-xs{padding:.24rem .5rem;font-size:var(--fs-sm);line-height:1.1;border-radius:var(--r-sm);white-space:nowrap}.admin-user-actions-btns .btn-warning{background:var(--warning-light);color:var(--warning-text);border:1px solid rgba(217,119,6,.35)}.admin-user-actions-btns .btn-warning:hover{background:var(--warning);color:#fff;border-color:transparent}.admin-user-actions-btns .btn-danger-outline{background:var(--danger-light);color:var(--danger-text);border:1px solid rgba(220,38,38,.35)}.admin-user-actions-btns .btn-danger-outline:hover{background:var(--danger);color:#fff;border-color:transparent}.admin-protected{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--fs-sm);color:var(--muted)}.admin-users-table th:last-child,.admin-users-table td:last-child{position:sticky;right:0;z-index:1;background:var(--surface);box-shadow:inset 1px 0 0 var(--border-strong)}.admin-users-table th:last-child{z-index:3;background:var(--surface-2)}.admin-users-table tbody tr:hover td:last-child{background:var(--accent-light)}.admin-users-table tbody tr.is-suspended td:last-child{background:var(--surface-3)}.sites-table.admin-users-table th{white-space:normal;line-height:1.25;padding-left:.5rem;padding-right:.5rem;vertical-align:bottom}.sites-table.admin-users-table td{padding-left:.5rem;padding-right:.5rem}.admin-users-table th:nth-child(n+4):nth-child(-n+8),.admin-users-table td:nth-child(n+4):nth-child(-n+8){text-align:center}.role-select{appearance:none;padding:.16rem 1.05rem .16rem .5rem;border:1px solid currentColor;border-radius:var(--r-pill);background-color:transparent;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:right .45rem center,right .25rem center;background-size:4px 4px,4px 4px;background-repeat:no-repeat;font:inherit;font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;width:auto;max-width:12rem}.role-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-modules{position:relative;display:inline-block}.admin-modules-chip{padding:.16rem .55rem;border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface);font:inherit;font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.05em;color:var(--ink-2);white-space:nowrap;cursor:pointer}.admin-modules-chip:hover{border-color:var(--accent);color:var(--accent)}.admin-modules-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-modules-chip.is-full{border-color:var(--accent);color:var(--accent-text);background:var(--accent-light)}.admin-modules-chip.is-none{border-color:var(--warning);color:var(--warning-text);background:var(--warning-light)}.admin-modules-scrim{position:fixed;inset:0;z-index:40}.admin-modules-pop{position:absolute;top:calc(100% + .3rem);right:0;z-index:50;width:15rem;padding:.6rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);text-align:left}.admin-modules-pop-head{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.4rem}.admin-modules-row{display:flex;align-items:center;gap:.5rem;padding:.22rem 0;cursor:pointer}.admin-modules-row-label{font-size:var(--fs-base);font-weight:var(--fw-body);color:var(--ink-2)}.admin-modules-note{margin:.4rem 0 0;font-size:var(--fs-2xs);color:var(--muted)}.admin-users-hint{display:block;margin:0 0 .75rem;padding:.5rem .65rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-3);font-size:var(--fs-2xs);line-height:1.5;color:var(--muted)}.admin-users-hint strong{color:var(--ink-2);font-weight:var(--fw-label)}.admin-users-hint svg{vertical-align:-.12em;margin-right:.3rem}.admin-modules-pop.is-wide{width:22rem;max-height:min(28rem,70vh);overflow-y:auto}.admin-modules-chip.is-wide-reach{border-color:var(--warning);color:var(--warning-text);background:var(--warning-light)}.admin-modules-pop-head.is-danger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.85rem;padding-top:.6rem;border-top:1px solid var(--border-strong);color:var(--warning-text)}.admin-modules-live-count{padding:.05rem .4rem;border-radius:var(--r-pill);background:var(--warning-light);font-size:var(--fs-2xs);letter-spacing:0;text-transform:none}.admin-modules-row.is-stacked{display:block;padding:.35rem 0}.admin-modules-row.is-stacked+.admin-modules-row.is-stacked{border-top:1px solid var(--border)}.admin-modules-row-main{display:flex;align-items:center;gap:.5rem}.admin-modules-row-hint{display:block;margin-top:.15rem;padding-left:2.35rem;font-size:var(--fs-2xs);line-height:1.45;color:var(--muted)}.admin-rowmenu{position:relative;display:inline-block}.admin-rowmenu-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--muted);cursor:pointer}.admin-rowmenu-btn:hover{border-color:var(--border-strong);color:var(--ink);background:var(--surface-3)}.admin-rowmenu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.admin-rowmenu-pop{position:absolute;top:calc(100% + .25rem);right:0;z-index:50;min-width:11rem;padding:.25rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.admin-rowmenu-item{display:block;width:100%;padding:.4rem .55rem;border:none;border-radius:var(--r-sm);background:transparent;font:inherit;font-size:var(--fs-base);color:var(--ink-2);text-align:left;white-space:nowrap;cursor:pointer}.admin-rowmenu-item:hover{background:var(--surface-3);color:var(--ink)}.admin-rowmenu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.admin-rowmenu-item.is-danger{color:var(--danger-text)}.admin-rowmenu-item.is-danger:hover{background:var(--danger-light)}.admin-users-table td{vertical-align:middle}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.admin-users-table{min-width:43rem}.admin-users-table th{white-space:normal}.admin-users-table .role-select{max-width:12rem;text-overflow:ellipsis}@media(max-width:1599px){.admin-user-name{max-width:210px}}.admin-users-table .user-status-badge{margin-left:.4rem;vertical-align:middle}.admin-users-table{min-width:40rem}a:focus-visible,button:focus-visible,summary:focus-visible,[role=button]:focus-visible,[role=menuitem]:focus-visible,[role=tab]:focus-visible,[role=link]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}a:focus:not(:focus-visible),button:focus:not(:focus-visible),summary:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible),[role=menuitem]:focus:not(:focus-visible),[role=tab]:focus:not(:focus-visible){outline:none}.app-header :focus-visible,.app-sidebar :focus-visible{outline-color:#fff;outline-offset:2px}@keyframes surface-enter{0%{opacity:0;transform:translateY(10px)}}.cc-panel,.cc-status-card,.kpi-tile,.kpi-tile-v,.scada-site-card,.sd-chart-card,.analysis-panel,.data-controls-card{animation:surface-enter .4s var(--ease-out) backwards}:is(.cc-panel,.cc-status-card,.kpi-tile,.kpi-tile-v,.scada-site-card):nth-child(2){animation-delay:.05s}:is(.cc-panel,.cc-status-card,.kpi-tile,.kpi-tile-v,.scada-site-card):nth-child(3){animation-delay:.1s}:is(.cc-panel,.cc-status-card,.kpi-tile,.kpi-tile-v,.scada-site-card):nth-child(4){animation-delay:.15s}:is(.cc-panel,.cc-status-card,.kpi-tile,.kpi-tile-v,.scada-site-card):nth-child(5){animation-delay:.2s}:is(.cc-panel,.cc-status-card,.kpi-tile,.kpi-tile-v,.scada-site-card):nth-child(6){animation-delay:.25s}:is(.cc-panel,.cc-status-card,.kpi-tile,.kpi-tile-v,.scada-site-card):nth-child(n+7){animation-delay:.3s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.spinner,.scada-refresh-dot{animation-duration:.7s!important;animation-iteration-count:infinite!important}}.tabs-bar-wrap{display:flex;align-items:stretch}.tabs-more{position:relative;flex:none;display:flex;align-items:stretch}.tabs-more-btn{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.tabs-more-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.05rem;height:1.05rem;padding:0 .25rem;border-radius:var(--r-pill);background:var(--surface-3);color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-label);line-height:1}.tab-btn-active .tabs-more-count{background:var(--accent-light);color:var(--accent-text)}.tabs-more-pop{position:absolute;top:calc(100% + .2rem);right:0;z-index:50;min-width:12rem;padding:.25rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.tabs-more-item{display:block;width:100%;padding:.42rem .6rem;border:none;border-radius:var(--r-sm);background:transparent;font:inherit;font-size:var(--fs-base);color:var(--ink-2);text-align:left;white-space:nowrap;cursor:pointer}.tabs-more-item:hover{background:var(--surface-3);color:var(--ink)}.tabs-more-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tabs-more-item.is-active{color:var(--accent-text);font-weight:var(--fw-label);background:var(--accent-light)}.sd-tabs{margin-bottom:.75rem}.skip-link{position:absolute;left:var(--space-3);top:-3rem;z-index:200;padding:.5rem .9rem;border-radius:var(--r);background:var(--accent);color:var(--on-accent);font-size:var(--fs-base);font-weight:var(--fw-label);text-decoration:none;transition:top var(--dur-2) var(--ease)}.skip-link:focus-visible{top:var(--space-3);outline:2px solid #fff;outline-offset:2px}#main-content:focus{outline:none}.dtf{position:relative;display:inline-flex;flex-direction:column;gap:.25rem;min-width:0}.dtf-label{font-size:var(--fs-xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.dtf-control{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);transition:border-color var(--dur-fast, .12s) var(--ease, ease),box-shadow var(--dur-fast, .12s) var(--ease, ease)}.dtf-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.dtf-invalid .dtf-control{border-color:var(--danger)}.dtf-invalid .dtf-control:focus-within{box-shadow:0 0 0 3px var(--danger-light)}.dtf .dtf-input{flex:1 1 auto;min-width:8.5rem;border:none;background:transparent;padding:.42rem .1rem .42rem .6rem;font:inherit;font-size:var(--fs-md);font-variant-numeric:tabular-nums;color:var(--ink);outline:none}.dtf .dtf-input::placeholder{color:var(--muted);opacity:.7}.dtf-trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;flex:none;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:0 var(--r) var(--r) 0}.dtf-trigger:hover:not(:disabled){color:var(--accent-text);background:var(--accent-light)}.dtf-trigger:disabled{cursor:not-allowed;opacity:.5}.dtf-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dtf-error{font-size:var(--fs-sm);color:var(--danger-text)}.dtf-pop{position:absolute;top:calc(100% + .35rem);left:0;z-index:60;width:17rem;padding:.65rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.dtf-pop-head{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.5rem}.dtf-pop-title{font-size:var(--fs-md);font-weight:400;color:var(--ink);font-variant-numeric:tabular-nums}.dtf-nav{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);cursor:pointer}.dtf-nav:hover{border-color:var(--accent);color:var(--accent)}.dtf-nav:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dtf-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.dtf-dayhead{display:flex;align-items:center;justify-content:center;height:1.5rem;font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.dtf-day{display:flex;align-items:center;justify-content:center;height:2rem;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;font:inherit;font-size:var(--fs-base);font-variant-numeric:tabular-nums;color:var(--ink);cursor:pointer}.dtf-day:hover:not(:disabled){background:var(--accent-light);color:var(--accent-text)}.dtf-day:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dtf-day.is-muted{color:var(--muted);opacity:.75}.dtf-day.is-today{border-color:var(--border-strong)}.dtf-day.is-selected{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.dtf-day.is-selected:hover{background:var(--accent-hover);color:#fff}.dtf-day:disabled{opacity:.3;cursor:not-allowed}.dtf-pop-foot{display:flex;align-items:center;gap:.5rem;margin-top:.55rem;padding-top:.55rem;border-top:1px solid var(--border)}.dtf-time-label{font-size:var(--fs-xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.dtf .dtf-time{flex:1 1 auto;min-width:0;padding:.3rem .4rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);font:inherit;font-size:var(--fs-base);font-variant-numeric:tabular-nums;color:var(--ink)}.dtf .dtf-time:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dtf-done{padding:.3rem .7rem;border:none;border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-label);cursor:pointer}.dtf-done:hover{background:var(--accent-hover)}.dtf-done:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:639px){.dtf-pop{width:min(17rem,calc(100vw - 2.5rem))}}.secnav-root{display:grid;grid-template-columns:13.5rem minmax(0,1fr);gap:var(--space-6);align-items:start}.secnav-rail{position:sticky;top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);padding-right:var(--space-3);border-right:1px solid var(--border)}.secnav-group{display:flex;flex-direction:column;gap:1px}.secnav-group-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0 .6rem;margin-bottom:.3rem}.secnav-item{display:flex;align-items:center;width:100%;padding:.4rem .6rem;border:none;border-left:2px solid transparent;border-radius:0 var(--r-sm) var(--r-sm) 0;background:transparent;font:inherit;font-size:var(--fs-base);font-weight:var(--fw-body);color:var(--ink-2);text-align:left;cursor:pointer;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.secnav-item:hover{background:var(--accent-light);color:var(--accent-text)}.secnav-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.secnav-item.is-active{background:var(--accent-light);border-left-color:var(--accent);color:var(--accent-text);font-weight:var(--fw-label)}.secnav-panel{min-width:0}.secnav-panel-head{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.secnav-panel-eyebrow{display:block;font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.15rem}.secnav-panel-title{margin:0;font-size:var(--fs-2xl);font-weight:var(--fw-display);letter-spacing:-.01em;color:var(--ink)}.secnav-panel-hint{margin:.2rem 0 0;font-size:var(--fs-md);font-weight:var(--fw-body);color:var(--muted);max-width:62ch}.secnav-compact{display:none}@media(max-width:899px){.secnav-root{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.secnav-rail{display:none}.secnav-compact{display:flex;align-items:center;gap:var(--space-2)}.secnav-compact-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex:none}.secnav-root .secnav-select{flex:1 1 auto;min-width:0;padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);font:inherit;font-size:var(--fs-lg);color:var(--ink)}.secnav-root .secnav-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}}.bw-page{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-8)}.bw-tone-critical{--bw-tone: var(--danger);--bw-tone-text: var(--danger-text);--bw-tone-soft: var(--danger-light)}.bw-tone-warning{--bw-tone: var(--high-risk);--bw-tone-text: var(--high-risk-text);--bw-tone-soft: var(--high-risk-light)}.bw-tone-watch{--bw-tone: var(--warning);--bw-tone-text: var(--warning-text);--bw-tone-soft: var(--warning-light)}.bw-tone-normal{--bw-tone: var(--success);--bw-tone-text: var(--success-text);--bw-tone-soft: var(--success-light)}.bw-tone-unknown{--bw-tone: var(--muted);--bw-tone-text: var(--muted);--bw-tone-soft: var(--surface-3)}.bw-text-critical{color:var(--danger-text)}.bw-text-warning{color:var(--high-risk-text)}.bw-text-watch{color:var(--warning-text)}.bw-text-normal{color:var(--success-text)}.bw-text-unknown{color:var(--muted)}.bw-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2)}.bw-kpi{display:flex;flex-direction:column;gap:.15rem;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);border-left:3px solid var(--bw-tone, var(--border))}.bw-kpi-wide{grid-column:span 2}.bw-kpi-value{font-size:var(--fs-4xl);font-weight:var(--fw-display);line-height:1.1;color:var(--bw-tone-text, var(--ink));font-variant-numeric:tabular-nums}.bw-kpi-small{font-size:var(--fs-md);font-weight:var(--fw-body)}.bw-kpi-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.bw-tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--border)}.bw-tab{padding:.5rem .9rem;border:none;border-bottom:2px solid transparent;background:none;font:inherit;font-weight:var(--fw-label);color:var(--muted);cursor:pointer}@media(max-width:639px){.bw-tabs{overflow-x:auto;scrollbar-width:none}.bw-tabs::-webkit-scrollbar{display:none}.bw-tab{flex:0 0 auto}}.bw-tab:hover{color:var(--ink)}.bw-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.bw-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bw-split{display:grid;grid-template-columns:minmax(300px,400px) minmax(0,1fr);gap:var(--space-4);align-items:start}@media(max-width:899px){.bw-split{grid-template-columns:1fr}}.bw-split-list,.bw-split-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.bw-split-list{max-height:calc(100vh - 5.5rem);overflow-y:auto;position:sticky;top:4.4rem}.bw-split-detail{padding:var(--space-4)}@media(max-width:899px){.bw-split-list{position:static;max-height:60vh}}.bw-list{list-style:none;margin:0;padding:0}.bw-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);width:100%;padding:.7rem var(--space-4);border:none;border-bottom:1px solid var(--border);border-left:3px solid transparent;background:none;font:inherit;text-align:left;cursor:pointer;transition:background var(--dur-fast, .12s) var(--ease, ease)}.bw-row:hover{background:var(--surface-2)}.bw-row-selected{background:var(--accent-light);border-left-color:var(--accent)}.bw-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bw-row-main{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1 14rem}.bw-row-name{font-weight:400;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bw-row-sub{font-size:var(--fs-sm);color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bw-row-meta{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);min-width:0;margin-left:auto}.bw-row-trend{color:var(--muted);display:inline-flex}.bw-trend-flat{opacity:.55}.bw-chip{display:inline-block;padding:.12rem .45rem;border-radius:var(--r-pill);background:var(--bw-tone-soft, var(--surface-3));color:var(--bw-tone-text, var(--muted));font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.bw-chip-case{background:var(--accent-light);color:var(--accent-text)}.bw-chip-open{background:var(--warning-light);color:var(--warning-text)}.bw-chip-investigating{background:var(--accent-light);color:var(--accent-text)}.bw-chip-closed{background:var(--surface-3);color:var(--muted)}.bw-score{display:flex;align-items:center;gap:.35rem}.bw-score-track{width:44px;height:5px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.bw-score-fill{display:block;height:100%;background:var(--bw-tone, var(--muted))}.bw-score-value{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--muted);min-width:1.6em;text-align:right}.bw-detail{display:flex;flex-direction:column;gap:var(--space-4)}.bw-detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-height:220px;color:var(--muted);text-align:center}.bw-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.bw-detail-title{margin:0;font-size:var(--fs-2xl);font-weight:var(--fw-display);color:var(--ink)}.bw-detail-headline{margin:.2rem 0 0;color:var(--muted);font-size:var(--fs-md)}.bw-detail-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2)}.bw-stat{display:flex;flex-direction:column;gap:.1rem;padding:var(--space-2) var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.bw-stat-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.bw-stat-value{font-size:var(--fs-2xl);font-weight:var(--fw-display);color:var(--ink);font-variant-numeric:tabular-nums}.bw-stat-small{font-size:var(--fs-md);font-weight:var(--fw-body)}.bw-stat-foot{font-size:var(--fs-xs);color:var(--muted)}.bw-section{display:flex;flex-direction:column;gap:var(--space-2)}.bw-section-title{margin:0;font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.bw-findings{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.3rem;font-size:var(--fs-base);color:var(--ink-2)}.bw-attribution{margin:0;font-size:var(--fs-base);color:var(--ink-2)}.bw-sigs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.bw-sig{padding:.5rem .7rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.bw-sig-unread{opacity:.92}.bw-sig-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.bw-sig-label{font-size:var(--fs-base);font-weight:400;color:var(--ink)}.bw-sig-na{margin-left:auto;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.bw-sig-bar{display:block;width:80px;max-width:100%;height:4px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.bw-sig-strength{min-width:0}.bw-sig-bar>span{display:block;height:100%;background:var(--accent)}.bw-sig-detail{margin:.25rem 0 0;font-size:var(--fs-sm);color:var(--muted)}.bw-case{display:flex;flex-direction:column;gap:var(--space-2)}.bw-case-none{margin:0;font-size:var(--fs-base);color:var(--muted)}.bw-case-head{display:flex;align-items:center;gap:var(--space-2)}.bw-case-age{font-size:var(--fs-sm);color:var(--muted)}.bw-case-closed{margin:0;font-size:var(--fs-base);color:var(--ink-2)}.bw-field{display:flex;flex-direction:column;gap:.2rem}.bw-field>span{font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.bw-case-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:.2rem}.bw-case-why{margin:0;font-size:var(--fs-xs);color:var(--muted)}.bw-table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.bw-table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.bw-table th{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--border);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.bw-table td{padding:.55rem .75rem;border-bottom:1px solid var(--border);color:var(--ink-2)}.bw-table tr:last-child td{border-bottom:none}.bw-table-row{cursor:pointer}.bw-table-row:hover{background:var(--surface-2)}.bw-perf{display:flex;flex-direction:column;gap:var(--space-4)}.bw-perf-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2)}.bw-perf-note{margin:0;font-size:var(--fs-base);color:var(--muted);max-width:62ch}.bw-chart{margin:0;display:flex;flex-direction:column;gap:.4rem}.bw-chart-svg{width:100%;height:auto;display:block;overflow:visible}.bw-chart-empty{font-size:var(--fs-base);color:var(--muted);padding:var(--space-4) 0}.bw-chart-grid{stroke:var(--border);stroke-width:1}.bw-chart-axis{fill:var(--muted);font-size:var(--fs-2xs)}.bw-chart-wet{fill:var(--accent);opacity:.07}.bw-chart-dead{fill:var(--muted);opacity:.1}.bw-chart-recent{fill:var(--ink);opacity:.03}.bw-chart-split{stroke:var(--border-strong, var(--border));stroke-width:1;stroke-dasharray:3 3}.bw-chart-rain{fill:var(--accent);opacity:.55}.bw-chart-baseline{stroke:var(--muted);stroke-width:1.25;stroke-dasharray:5 4;opacity:.8}.bw-chart-night{fill:none;stroke:var(--danger);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.bw-chart-peak{fill:none;stroke:var(--ink-2);stroke-width:1;opacity:.4;stroke-linejoin:round}.bw-chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--fs-2xs);color:var(--muted);align-items:center}.bw-legend-item{display:inline-flex;align-items:center;gap:.3rem}.bw-legend-units{margin-left:auto;font-style:italic}.bw-swatch{width:12px;height:3px;border-radius:var(--r-pill);display:inline-block}.bw-swatch-night{background:var(--danger);height:3px}.bw-swatch-peak{background:var(--ink-2);opacity:.4}.bw-swatch-baseline{background:repeating-linear-gradient(90deg,var(--muted) 0 4px,transparent 4px 7px)}.bw-swatch-rain{background:var(--accent);height:8px;width:5px;border-radius:var(--r-xs)}.bw-swatch-wet{background:var(--accent);opacity:.18;height:10px;width:10px;border-radius:var(--r-xs)}.bw-swatch-dead{background:var(--muted);opacity:.22;height:10px;width:10px;border-radius:var(--r-xs)}.bw-fault{padding:var(--space-3);background:var(--bw-tone-soft, var(--surface-2));border:1px solid var(--border);border-left:3px solid var(--bw-tone, var(--accent));border-radius:var(--r-sm)}.bw-fault-benign{--bw-tone: var(--success);--bw-tone-soft: var(--success-light)}.bw-fault-head{display:flex;align-items:center;gap:.4rem;color:var(--bw-tone-text, var(--ink))}.bw-fault-label{font-size:var(--fs-md);font-weight:var(--fw-label);letter-spacing:.01em}.bw-fault-action{margin:.3rem 0 0;font-size:var(--fs-base);color:var(--ink)}.bw-fault-why{margin:.2rem 0 0;font-size:var(--fs-sm);color:var(--muted)}.bw-chip-fault{background:var(--surface-3);color:var(--ink-2);text-transform:none;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bw-dq{padding:var(--space-2) var(--space-3);background:var(--warning-light);border:1px solid var(--border);border-radius:var(--r-sm)}.bw-dq-title{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.04em;text-transform:uppercase;color:var(--warning-text)}.bw-dq ul{margin:.3rem 0 0;padding-left:1.1rem;font-size:var(--fs-sm);color:var(--ink-2)}.bw-perf-stack{display:flex;flex-direction:column;gap:var(--space-6)}.bw-backtest{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.bw-backtest .bw-perf-kpis,.bw-backtest .bw-table-wrap{width:100%}.bw-chip-hit{background:var(--success-light);color:var(--success-text)}.bw-chip-miss{background:var(--danger-light);color:var(--danger-text)}.bw-chip-not_assessable{background:var(--surface-3);color:var(--muted)}.bw-sig-weight{margin-left:auto;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap}.bw-working{display:flex;flex-direction:column;gap:var(--space-4)}.bw-working-block{display:flex;flex-direction:column;gap:var(--space-2)}.bw-working-title{margin:0;font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.bw-working-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.bw-working-table th,.bw-working-table td{padding:.3rem .5rem .3rem 0;text-align:right;vertical-align:top;line-height:1.45}.bw-working-table th:first-child,.bw-working-table td:first-child{text-align:left;width:45%}.bw-working-table thead th{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border)}.bw-working-table tbody td{color:var(--ink-2)}.bw-working-table tbody td:first-child{color:var(--ink)}.bw-working-table tfoot th{padding-top:.45rem;border-top:1px solid var(--border);font-weight:var(--fw-label);color:var(--ink)}.bw-working-muted td{color:var(--muted);font-style:italic}.bw-working-note{margin:0;font-size:var(--fs-xs);font-weight:var(--fw-body);font-style:normal;line-height:1.5;color:var(--muted);text-transform:none;letter-spacing:0}.bw-working-defs{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--space-2) var(--space-4);font-size:var(--fs-sm)}.bw-working-defs dt{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.bw-working-defs dd{margin:.1rem 0 0;color:var(--ink)}.bw-groups{display:flex;flex-direction:column}.bw-group{border-bottom:1px solid var(--border)}.bw-group:last-child{border-bottom:none}.bw-group-head{display:flex;align-items:center;gap:.4rem;padding:.6rem var(--space-4) 0;color:var(--muted)}.bw-group-title{margin:0;font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2)}.bw-group-count{margin-left:auto;min-width:1.35rem;padding:.05rem .35rem;border-radius:var(--r-pill);background:var(--surface-3);color:var(--ink-2);font-size:var(--fs-2xs);font-weight:var(--fw-label);text-align:center;font-variant-numeric:tabular-nums}.bw-group-blurb{margin:.15rem 0 .4rem;padding:0 var(--space-4);font-size:var(--fs-xs);color:var(--muted)}.bw-group-watch .bw-group-head,.bw-group-watch .bw-group-title{color:var(--danger-text)}.bw-group-watch .bw-group-count{background:var(--danger-light);color:var(--danger-text)}.bw-group-clearing .bw-group-head,.bw-group-clearing .bw-group-title,.bw-group-resolved .bw-group-head,.bw-group-resolved .bw-group-title{color:var(--success-text)}.bw-group-clearing .bw-group-count,.bw-group-resolved .bw-group-count{background:var(--success-light);color:var(--success-text)}.bw-row{border-left-color:var(--bw-tone, transparent)}.bw-row-quiet{opacity:.85}.bw-row-quiet:hover{opacity:1}.bw-chip-clearing{background:var(--success-light);color:var(--success-text)}.bw-chip-held{background:var(--surface-3);color:var(--ink-2)}.bw-verdict{display:flex;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-left:4px solid var(--bw-tone, var(--border-strong));border-radius:var(--r-md);background:var(--surface-2)}.bw-verdict-main{flex:1 1 16rem;min-width:0}.bw-verdict-titles{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.bw-verdict .bw-detail-title{margin:0}.bw-verdict .bw-detail-headline{margin:.35rem 0 0;color:var(--ink-2)}.bw-verdict-score{display:flex;flex-direction:column;align-items:flex-end;line-height:1}.bw-verdict-number{font-size:var(--fs-5xl);font-weight:var(--fw-hero);color:var(--bw-tone-text, var(--ink));font-variant-numeric:tabular-nums}.bw-verdict-of{margin-top:.2rem;font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.bw-verdict-open{align-self:center;flex:0 0 auto}.bw-clearing{display:flex;flex-direction:column;gap:.4rem;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2)}.bw-clearing-head{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}.bw-clearing-note{margin:0;font-size:var(--fs-sm);color:var(--muted)}.bw-clearing-active{background:var(--success-light);border-color:var(--border)}.bw-clearing-active .bw-clearing-head{color:var(--success-text)}.bw-clearing-held{background:var(--warning-light)}.bw-clearing-held .bw-clearing-head{color:var(--warning-text)}.bw-clearing-track{height:6px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.bw-clearing-fill{height:100%;background:var(--success);transition:width var(--dur-3, .28s) var(--ease, ease)}.bw-kpi-clearing{--bw-tone: var(--success);--bw-tone-text: var(--success-text)}.bw-sig-split{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:var(--space-4);align-items:start}@media(max-width:1279px){.bw-sig-split{grid-template-columns:1fr}}.bw-how{display:flex;flex-direction:column;gap:var(--space-6)}.bw-how-block{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.bw-how-title{margin:0;font-size:var(--fs-xl);font-weight:var(--fw-display);color:var(--ink)}.bw-how-lead{margin:0;max-width:68ch;font-size:var(--fs-md);line-height:1.6;color:var(--ink-2)}.bwl,.bwp,.bwf{--bwd-line: #334155;--bwd-grid: rgba(0, 0, 0, .16);--bwd-pipe: #1f2937;--bwd-bore: #f8fafc;--bwd-water: #075985;--bwd-water-fill: #0ea5e9;--bwd-water-hi: #38bdf8;--bwd-water-lo: #0369a1;--bwd-silt: #78350f;--bwd-silt-fill: #b45309;--bwd-mark: #b91c1c;--bwd-base: #475569}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .bwl,:root:not([data-theme=light]) .bwp,:root:not([data-theme=light]) .bwf{--bwd-line: #94a3b8;--bwd-grid: rgba(255, 255, 255, .18);--bwd-pipe: #cbd5e1;--bwd-bore: #0b1116;--bwd-water: #7dd3fc;--bwd-water-fill: #0284c7;--bwd-water-hi: #38bdf8;--bwd-water-lo: #075985;--bwd-silt: #fcd34d;--bwd-silt-fill: #a16207;--bwd-mark: #f87171;--bwd-base: #94a3b8}}:root[data-theme=dark] .bwl,:root[data-theme=dark] .bwp,:root[data-theme=dark] .bwf{--bwd-line: #94a3b8;--bwd-grid: rgba(255, 255, 255, .18);--bwd-pipe: #cbd5e1;--bwd-bore: #0b1116;--bwd-water: #7dd3fc;--bwd-water-fill: #0284c7;--bwd-water-hi: #38bdf8;--bwd-water-lo: #075985;--bwd-silt: #fcd34d;--bwd-silt-fill: #a16207;--bwd-mark: #f87171;--bwd-base: #94a3b8}.bwl{margin:0}.bwl-svg{width:100%;height:auto;display:block}.bwl-box{fill:var(--surface);stroke:var(--border-strong);stroke-width:1.25}.bwl-title{fill:var(--ink);font-size:var(--fs-sm);font-weight:var(--fw-label);text-anchor:middle}.bwl-sub{fill:var(--muted);font-size:var(--fs-2xs);text-anchor:middle}.bwl-band{fill:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.08em;text-transform:uppercase}.bwl-foot{fill:var(--muted);font-size:var(--fs-2xs)}.bwl-line{fill:none;stroke:var(--bwd-line);stroke-width:1.5}.bwl-line-dashed{stroke-dasharray:4 3}.bwl-arrowhead{fill:var(--bwd-line)}.bwl-edge-label{fill:var(--muted);font-size:var(--fs-2xs)}.bwl-edge-accent .bwl-line{stroke:var(--success);stroke-width:1.75}.bwl-arrowhead-accent{fill:var(--success)}.bwl-node-active .bwl-box{stroke:var(--bw-tone, var(--accent));stroke-width:2}.bwl-node-active .bwl-title{fill:var(--bw-tone-text, var(--ink))}.bwl-ring{fill:none;stroke:var(--bw-tone, var(--accent));stroke-width:1.25;opacity:.45}.bwl-tone-critical{--bw-tone: var(--danger);--bw-tone-text: var(--danger-text)}.bwl-tone-warning{--bw-tone: var(--high-risk);--bw-tone-text: var(--high-risk-text)}.bwl-tone-watch{--bw-tone: var(--warning);--bw-tone-text: var(--warning-text)}.bwl-tone-normal{--bw-tone: var(--success);--bw-tone-text: var(--success-text)}.bwl-tone-unknown{--bw-tone: var(--muted);--bw-tone-text: var(--ink-2)}.bwp{margin:0}.bwp-svg{width:100%;height:auto;display:block}.bwp-bore{fill:var(--bwd-bore);stroke:none}.bwp-wall{fill:none;stroke:var(--bwd-pipe);stroke-width:2.5}.bwp-water{fill:var(--bwd-water-fill);stroke:var(--bwd-water);stroke-width:1.5}.bwp-water-stop-hi{stop-color:var(--bwd-water-hi)}.bwp-water-stop-lo{stop-color:var(--bwd-water-lo)}.bwp-silt{fill:var(--bwd-silt-fill);stroke:var(--bwd-silt);stroke-width:1}.bwp-baseline{stroke:var(--bwd-base);stroke-width:1.75;stroke-dasharray:5 4}.bwp-leader{stroke:var(--bwd-grid);stroke-width:1}.bwp-mark-label{fill:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.03em;text-transform:uppercase}.bwp-mark-value{fill:var(--ink);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.bwp-mark-now .bwp-mark-value{fill:var(--bwd-mark);font-weight:var(--fw-label)}.bwp-mark-now .bwp-leader{stroke:var(--bwd-mark);stroke-width:1.25}.bwp-mark-soffit .bwp-leader{stroke:var(--bwd-pipe);stroke-width:1.25}.bwp-dim,.bwp-tickmark{stroke:var(--bwd-line);stroke-width:1.25}.bwp-dim-label{fill:var(--ink-2);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums}.bwp-note{fill:var(--ink-2);font-size:var(--fs-xs)}.bwp-note-warn{fill:var(--danger-text);font-weight:var(--fw-label)}.bwp-note-muted{fill:var(--muted)}.bwp-ground{stroke:var(--bwd-line);stroke-width:1.5}.bwp-bar{stroke-width:1.5}.bwp-bar-base{fill:var(--bwd-base);stroke:var(--bwd-base);opacity:.55}.bwp-bar-now{fill:var(--bwd-water-fill);stroke:var(--bwd-water)}.bwf{margin:0;display:flex;flex-direction:column;gap:.4rem}.bwf-svg{width:100%;height:auto;display:block;overflow:visible}.bwf-ring{fill:none;stroke:var(--bwd-grid);stroke-width:1}.bwf-ring-outer{stroke:var(--border-strong)}.bwf-spoke{stroke:var(--bwd-grid);stroke-width:1}.bwf-shape{fill:var(--bw-tone, var(--accent));fill-opacity:.28;stroke:var(--bw-tone, var(--accent));stroke-width:2;stroke-linejoin:round}.bwf-shape-open{fill:none}.bwf-dot{fill:var(--bw-tone, var(--accent))}.bwf-label{fill:var(--ink-2);font-size:var(--fs-2xs);font-weight:var(--fw-label)}.bwf-label-unread{fill:var(--muted);font-weight:var(--fw-body);font-style:italic}.bwf-caption{font-size:var(--fs-2xs);color:var(--muted)}.bw-chart-recession{fill:var(--muted);opacity:.13}.bw-chart-trend{stroke:var(--bwd-mark, var(--danger));stroke-width:2;stroke-dasharray:6 3;opacity:.95}.bw-chart-soffit{stroke:var(--danger);stroke-width:1.5;stroke-dasharray:2 3}.bw-chart-hit{fill:transparent;pointer-events:all;cursor:crosshair}.bw-chart-band-label{fill:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.04em;text-transform:uppercase}.bw-chart-note{fill:var(--muted);font-size:var(--fs-2xs)}.bw-chart-note-strong{fill:var(--danger-text);font-size:var(--fs-2xs);font-weight:var(--fw-label)}.bw-swatch-trend{background:repeating-linear-gradient(90deg,var(--danger) 0 5px,transparent 5px 8px)}.bw-swatch-soffit{background:repeating-linear-gradient(90deg,var(--danger) 0 2px,transparent 2px 5px)}.bw-swatch-recession{background:var(--muted);opacity:.3;height:10px;width:10px;border-radius:var(--r-xs)}.bw-chart{--bwd-mark: #b91c1c}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .bw-chart{--bwd-mark: #f87171}}:root[data-theme=dark] .bw-chart{--bwd-mark: #f87171}.alm-page{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-8)}.alm-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.alm-tone-critical{--alm-tone: var(--danger);--alm-tone-text: var(--danger-text);--alm-tone-soft: var(--danger-light)}.alm-tone-warning{--alm-tone: var(--high-risk);--alm-tone-text: var(--high-risk-text);--alm-tone-soft: var(--high-risk-light)}.alm-tone-normal{--alm-tone: var(--success);--alm-tone-text: var(--success-text);--alm-tone-soft: var(--success-light)}.alm-tone-quiet{--alm-tone: var(--border);--alm-tone-text: var(--muted);--alm-tone-soft: var(--surface-3)}.alm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2);align-items:start}.alm-kpi{display:flex;flex-direction:column;gap:.15rem;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--alm-tone, var(--border));border-radius:var(--r-md)}.alm-kpi-value{font-size:var(--fs-4xl);font-weight:var(--fw-display);line-height:1.1;color:var(--alm-tone-text, var(--ink));font-variant-numeric:tabular-nums}.alm-kpi-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.alm-kpi-note{font-size:var(--fs-xs);color:var(--muted);min-height:1.1em}.alm-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.alm-views{display:flex;gap:var(--space-2);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.alm-views::-webkit-scrollbar{display:none}.alm-view{flex:0 0 auto;padding:.5rem .9rem;border:none;border-bottom:2px solid transparent;background:none;font:inherit;font-weight:var(--fw-label);color:var(--muted);cursor:pointer;white-space:nowrap}.alm-view:hover{color:var(--ink)}.alm-view-active{color:var(--accent);border-bottom-color:var(--accent)}.alm-view:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.alm-site-filter{display:flex;align-items:center;gap:var(--space-2)}.alm-site-filter-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.alm-site-filter select{max-width:18rem}.alm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.alm-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--alm-tone, var(--border));border-radius:var(--r-md)}.alm-row.alm-tone-quiet{background:var(--surface-2)}.alm-row-led{width:8px;height:8px;border-radius:50%;background:var(--alm-tone, var(--muted));flex-shrink:0}.alm-row-main{min-width:0}.alm-row-title{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.alm-row-name{font-size:var(--fs-md);font-weight:var(--fw-label);color:var(--ink)}.alm-row-meta{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;font-size:var(--fs-sm);color:var(--muted);margin-top:.15rem}.alm-row-site{color:var(--accent-text);text-decoration:none;font-weight:var(--fw-label)}.alm-row-site:hover{text-decoration:underline}.alm-row-condition{overflow-wrap:anywhere}.alm-row-value{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;text-align:right;white-space:nowrap}.alm-row-reading{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;color:var(--ink)}.alm-row-when{font-size:var(--fs-xs);color:var(--muted)}.alm-row-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}.alm-row-ack-note,.alm-row-notify{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.alm-chip{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.02em;white-space:nowrap}.alm-chip-critical{background:var(--danger-light);color:var(--danger-text)}.alm-chip-warning{background:var(--high-risk-light);color:var(--high-risk-text)}.alm-chip-quiet{background:var(--surface-3);color:var(--muted)}.alm-notice{padding:var(--space-3) var(--space-4);border-radius:var(--r-md);font-size:var(--fs-base)}.alm-notice-error{background:var(--danger-light);color:var(--danger-text);border:1px solid var(--danger)}.alm-empty{padding:var(--space-6);text-align:center;color:var(--muted)}.alm-foot-note{margin:0;font-size:var(--fs-xs);color:var(--muted)}@media(max-width:639px){.alm-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.alm-row-led{margin-top:.5rem}.alm-row-value,.alm-row-actions{grid-column:2;align-items:flex-start;text-align:left}.alm-row-value{flex-direction:row;align-items:baseline;gap:var(--space-2)}.alm-site-filter{width:100%}.alm-site-filter select{flex:1 1 auto;max-width:none}}.mn{display:block}.mn-inline{display:inline-block}.mn-trigger{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .5rem;background:transparent;border:1px solid transparent;border-radius:var(--r-pill);color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-label);font-family:inherit;cursor:pointer;transition:color var(--dur-2) var(--ease),background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}.mn-trigger:hover,.mn-trigger:focus-visible{color:var(--accent-text);background:var(--accent-light);border-color:var(--accent)}.mn-open>.mn-trigger{color:var(--accent-text);background:var(--accent-light)}.mn-panel{margin-top:var(--space-2);padding:var(--space-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg)}.mn-inline>.mn-panel{position:relative;min-width:min(46rem,90vw);max-height:32rem;overflow-y:auto}.mn-body{display:flex;flex-direction:column;gap:var(--space-4)}.mn-local+.mn-body{margin-top:var(--space-4);padding-top:var(--space-4);border-top:2px solid var(--border)}.mn-local+.mn-body:before{content:"The method in general";font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.mn-question{margin:0;font-size:var(--fs-md);font-weight:var(--fw-label);color:var(--ink)}.mn-summary,.mn-prose{margin:0;font-size:var(--fs-base);line-height:1.6;color:var(--ink-2, var(--muted))}.mn-section{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border)}.mn-section-title{display:flex;align-items:center;gap:.4rem;margin:0;font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.mn-section-limits{padding:var(--space-3);background:var(--warning-light);border:1px solid var(--border);border-radius:var(--r-md)}.mn-section-limits .mn-section-title{color:var(--warning-text)}.mn-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem;font-size:var(--fs-base);line-height:1.55;color:var(--ink-2, var(--muted))}.mn-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.mn-step{display:grid;grid-template-columns:1.4rem 1fr;gap:var(--space-3);align-items:start}.mn-step-n{display:flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:var(--r-pill);background:var(--accent-light);color:var(--accent-text);font-size:var(--fs-2xs);font-weight:var(--fw-label);font-variant-numeric:tabular-nums}.mn-step-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.mn-step-title{font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--ink)}.mn-step-detail{margin:0;font-size:var(--fs-base);line-height:1.55;color:var(--ink-2, var(--muted))}.mn-formula,.mn-source code{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--fs-xs);line-height:1.5}.mn-formula{display:block;padding:.4rem .6rem;background:var(--surface-3, var(--surface));border:1px solid var(--border);border-radius:var(--r-sm);color:var(--ink);white-space:pre-wrap;word-break:break-word}.mn-params{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.mn-params tr+tr th,.mn-params tr+tr td{border-top:1px solid var(--border)}.mn-params th,.mn-params td{padding:.4rem .6rem .4rem 0;text-align:left;vertical-align:top;line-height:1.5}.mn-params th{font-weight:var(--fw-label);color:var(--ink);white-space:nowrap}.mn-param-value{font-variant-numeric:tabular-nums;font-weight:var(--fw-label);color:var(--accent);white-space:nowrap}.mn-param-units{font-weight:var(--fw-body);color:var(--muted)}.mn-param-why{color:var(--ink-2, var(--muted));width:55%}.mn-refs{margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.mn-ref dt{font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--ink)}.mn-ref dd{margin:.1rem 0 0;font-size:var(--fs-sm);line-height:1.5;color:var(--ink-2, var(--muted))}.mn-source{margin:0;padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--muted)}@media(max-width:640px){.mn-inline>.mn-panel{min-width:0}.mn-params,.mn-params tbody,.mn-params tr,.mn-params th,.mn-params td{display:block;width:auto}.mn-params tr{padding:var(--space-2) 0;border-top:1px solid var(--border)}.mn-params tr+tr th,.mn-params tr+tr td{border-top:none}.mn-params th{white-space:normal}}.methods-page{display:flex;flex-direction:column;gap:var(--space-4);max-width:62rem;padding-bottom:var(--space-8)}.methods-intro{margin:0;padding:var(--space-3) var(--space-4);background:var(--accent-light);border-radius:var(--r-md);font-size:var(--fs-base);line-height:1.6;color:var(--ink-2)}.methods-search{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);color:var(--muted)}.methods-search input{flex:1;padding:.5rem 0;background:none;border:none;outline:none;color:var(--ink);font-size:var(--fs-base);font-family:inherit}.methods-group{display:flex;flex-direction:column;gap:var(--space-2)}.methods-group-title{margin:var(--space-4) 0 0;font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.methods-card{display:flex;flex-direction:column;gap:.35rem;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.methods-card-title{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-display);color:var(--ink)}.methods-card-question{margin:0;font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--accent)}.methods-card-summary{margin:0 0 var(--space-2);font-size:var(--fs-base);line-height:1.6;color:var(--ink-2)}.methods-section-title{margin:var(--space-6) 0 0;font-size:var(--fs-lg);font-weight:var(--fw-display);color:var(--ink)}.mstd{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg)}.mstd-head{display:flex;flex-direction:column;gap:var(--space-3)}.mstd-heading{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--fs-lg);font-weight:var(--fw-display);color:var(--ink)}.mstd-summary{margin:0;padding:var(--space-4);background:var(--accent-light);border-left:3px solid var(--accent);border-radius:0 var(--r-md) var(--r-md) 0;font-size:var(--fs-lg);line-height:1.6;color:var(--ink)}.mstd-position{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));align-items:start;gap:var(--space-3);margin:0}.mstd-position-item{padding:var(--space-3) var(--space-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.mstd-position-item dt{margin-bottom:.35rem;font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--ink)}.mstd-position-item dd{margin:0;font-size:var(--fs-base);line-height:1.6;color:var(--ink-2)}.mstd-group{display:flex;flex-direction:column;gap:var(--space-2)}.mstd-group-title{margin:var(--space-3) 0 0;font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.mstd-group-lead{margin:0 0 var(--space-2);font-size:var(--fs-base);line-height:1.6;color:var(--ink-2)}.mstd-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(24rem,1fr));align-items:start;gap:var(--space-3);margin:0;padding:0;list-style:none}.mstd-card{display:flex;flex-direction:column;gap:.35rem;padding:var(--space-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.mstd-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}.mstd-code{margin:0;font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--ink)}.mstd-body{min-width:0;font-size:var(--fs-xs);color:var(--muted)}.mstd-title{margin:0;font-size:var(--fs-sm);line-height:1.5;color:var(--muted);font-style:italic}.mstd-governs{margin:.15rem 0 0;font-size:var(--fs-base);line-height:1.6;color:var(--ink-2)}.mstd-note{display:flex;align-items:flex-start;gap:var(--space-2);margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-sm);line-height:1.55;color:var(--ink-2)}.mstd-note svg{flex-shrink:0;margin-top:.15rem;color:var(--muted)}.mstd-applied{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:var(--space-2) 0 0}.mstd-applied-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.mstd-applied-item{padding:.1rem .45rem;background:var(--accent-light);border-radius:var(--r-pill);font-size:var(--fs-xs);color:var(--accent-text)}.mstd-group-convention .mstd-cards{grid-template-columns:repeat(auto-fit,minmax(28rem,1fr))}@media(max-width:640px){.mstd{padding:var(--space-4)}.mstd-position,.mstd-cards,.mstd-group-convention .mstd-cards{grid-template-columns:1fr}}.mn-standards-link{margin:var(--space-2) 0 0;font-size:var(--fs-xs)}.mn-standards-link a{color:var(--accent-text);text-decoration:underline;text-underline-offset:.15em}.eng-hmx-methods{display:flex;flex-direction:column;gap:.15rem;margin-top:var(--space-2)}.eng-hmx-methods .mn-panel{min-width:0;max-height:22rem;padding:var(--space-3)}.eng-hmx-methods .mn-param-why{width:auto}.eng-hmx-methods .mn-params,.eng-hmx-methods .mn-params tbody,.eng-hmx-methods .mn-params tr,.eng-hmx-methods .mn-params th,.eng-hmx-methods .mn-params td{display:block;width:auto}.eng-hmx-methods .mn-params tr{padding:var(--space-2) 0;border-top:1px solid var(--border)}.eng-hmx-methods .mn-params tr+tr th,.eng-hmx-methods .mn-params tr+tr td{border-top:none}.eng-hmx-methods .mn-params th{white-space:normal}.msite{display:grid;gap:1.25rem}.msite-lede{font-size:var(--fs-base);margin:0 0 .5rem;max-width:68ch}.msite-note{display:flex;align-items:flex-start;gap:.375rem;color:var(--muted)}.msite-note svg{flex-shrink:0;margin-top:.125rem}.msite-subhead{font-size:var(--fs-md);font-weight:var(--fw-label);letter-spacing:.01em;color:var(--muted);margin:1.5rem 0 .75rem}.msite-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.875rem}.msite-field-wide{grid-column:1 / -1}.msite-map{height:340px}.msite-coords{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.875rem;align-items:end;margin-top:.75rem}.msite-coord-hint{grid-column:1 / -1;font-size:var(--fs-sm);color:var(--muted);margin:0}.msite-channels{display:grid;gap:.75rem}.msite-channel-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr)) 6.5rem;gap:.75rem;align-items:end;padding:.875rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.msite-channel-hint{grid-column:1 / -1;font-size:var(--fs-sm);color:var(--muted);margin:0}.msite-row-remove{margin-bottom:.125rem}.msite-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-top:1rem}.msite-list{display:grid;gap:1rem}.msite-card{border:1px solid var(--border);border-radius:var(--r-lg);padding:1rem;background:var(--surface-2)}.msite-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.msite-card-title{font-size:var(--fs-xl);font-weight:var(--fw-body);margin:0 0 .25rem;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.msite-code{font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:var(--r-pill);padding:.125rem .5rem}.msite-card-archived{background:transparent;border-style:dashed}.msite-card-archived .msite-card-title,.msite-card-archived .msite-card-meta{color:var(--muted)}.msite-archived-tag{color:var(--warning);border-color:var(--warning)}.msite-archived-note{font-size:var(--fs-sm);color:var(--muted);margin:.75rem 0 0;max-width:68ch}.msite-card-meta,.msite-card-desc{font-size:var(--fs-sm);color:var(--muted);margin:0}.msite-card-desc{margin-top:.25rem}.msite-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.msite-warn{display:flex;align-items:flex-start;gap:.375rem;font-size:var(--fs-sm);color:var(--warning);margin:.75rem 0 0;max-width:68ch}.msite-warn svg{flex-shrink:0;margin-top:.125rem}.msite-channel-table{width:100%;border-collapse:collapse;margin-top:.875rem;font-size:var(--fs-sm)}.msite-channel-table th{text-align:left;font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:.375rem .5rem;border-bottom:1px solid var(--border)}.msite-channel-table td{padding:.5rem;border-bottom:1px solid var(--border);vertical-align:middle}.msite-channel-table tr:last-child td{border-bottom:none}.msite-num{text-align:right;white-space:nowrap}.msite-channel-table .msite-num .btn+.btn{margin-left:.375rem}.msite-edit{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.msite-danger{margin-left:auto;color:var(--danger)}@media(max-width:899px){.msite-channel-row{grid-template-columns:1fr;align-items:stretch}.msite-danger{margin-left:0}}.pxs,.ops-kpi-pipe{--pxs-wall: #1f2937;--pxs-bore: #f1f5f9;--pxs-water-hi: #38bdf8;--pxs-water-lo: #0369a1;--pxs-waterline: #075985;--pxs-danger: #b91c1c}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .pxs,:root:not([data-theme=light]) .ops-kpi-pipe{--pxs-wall: #cbd5e1;--pxs-bore: #0b1116;--pxs-water-hi: #38bdf8;--pxs-water-lo: #075985;--pxs-waterline: #7dd3fc;--pxs-danger: #f87171}}:root[data-theme=dark] .pxs,:root[data-theme=dark] .ops-kpi-pipe{--pxs-wall: #cbd5e1;--pxs-bore: #0b1116;--pxs-water-hi: #38bdf8;--pxs-water-lo: #075985;--pxs-waterline: #7dd3fc;--pxs-danger: #f87171}.pxs{display:block}.pxs-bore{fill:var(--pxs-bore);stroke:none}.pxs-wall{fill:none;stroke:var(--pxs-wall);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.pxs-water-stop-hi{stop-color:var(--pxs-water-hi)}.pxs-water-stop-lo{stop-color:var(--pxs-water-lo)}.pxs-waterline{stroke:var(--pxs-waterline);stroke-width:1.5}.pxs-surcharged .pxs-waterline{stroke:var(--pxs-danger);stroke-width:2}.ops-kpi-pipe{--kpi-accent: var(--pxs-water-hi)}.ops-kpi-pipe-body{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex:1;min-width:0}.ops-kpi-pipe-text{display:flex;flex-direction:column;gap:.3rem;min-width:0}.ops-kpi-pipe-fig{flex-shrink:0;line-height:0}.ops-kpi-pipe-surcharged .ops-kpi-value{color:var(--danger-text, var(--danger))}:root{--brand: #0d7c72;--brand-dark: #095f57;--brand-mid: #0e8f84;--bg: #ffffff;--bg-alt: #fafafa;--surface: #ffffff;--surface-2: #fcfcfd;--surface-3: #f1f3f5;--header-bg: #ffffff;--header-border: rgba(0,0,0,.08);--ink: #05090f;--ink-2: #26313f;--muted: #3f4a58;--accent: #0d7c72;--accent-hover: #095f57;--accent-light: rgba(13, 124, 114, .1);--accent-glow: rgba(13, 124, 114, .22);--accent-text: #095f57;--on-accent: #ffffff;--success: #16a34a;--success-light: rgba(22, 163, 74, .1);--warning: #d97706;--warning-light: rgba(217, 119, 6, .1);--danger: #dc2626;--danger-light: rgba(220, 38, 38, .1);--success-text: #13703a;--warning-text: #92400e;--danger-text: #b91c1c;--high-risk: #ea580c;--high-risk-light: rgba(234, 88, 12, .1);--high-risk-text: #c2410c;--border: rgba(0, 0, 0, .11);--border-strong: rgba(0, 0, 0, .17);--shadow-sm: 0 1px 2px rgba(5,9,15,.04);--shadow: 0 2px 8px rgba(5,9,15,.06), 0 1px 2px rgba(5,9,15,.04);--shadow-md: 0 4px 16px rgba(5,9,15,.07), 0 2px 5px rgba(5,9,15,.04);--shadow-lg: 0 12px 36px rgba(5,9,15,.1), 0 4px 12px rgba(5,9,15,.05);--r-xs: .125rem;--r-sm: .25rem;--r: .375rem;--r-md: .5rem;--r-lg: .75rem;--r-xl: 1rem;--r-pill: 999px;--fs-2xs: .6875rem;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .875rem;--fs-md: .9375rem;--fs-lg: 1rem;--fs-xl: 1.0625rem;--fs-2xl: 1.25rem;--fs-3xl: 1.5rem;--fs-4xl: 2rem;--fs-5xl: 2.5rem;--fw-hero: 300;--fw-display:400;--fw-body: 400;--fw-label: 500;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-1: .12s;--dur-2: .18s;--dur-3: .28s;--hover-lift: -2px;--hover-shadow: 0 10px 30px rgba(10, 22, 40, .1), 0 3px 10px rgba(10, 22, 40, .06);--font-body: "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;--font-display: "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;--font-mono: "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;--font-label: "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif;--brand-gradient: radial-gradient(135% 120% at 100% 0%, rgba(6, 48, 44, .5) 0%, rgba(6, 48, 44, 0) 56%), linear-gradient(157deg, #0c5f59 0%, #14706a 48%, #277f6a 100%);--brand-gradient-flat: linear-gradient(157deg, #0c5f59 0%, #14706a 48%, #277f6a 100%);--chrome-ink: #ffffff;--chrome-ink-soft: rgba(255, 255, 255, .94);--chrome-ink-faint: rgba(255, 255, 255, .8);--chrome-fill: rgba(255, 255, 255, .1);--chrome-fill-hover: rgba(255, 255, 255, .17);--chrome-active: rgba(255, 255, 255, .2);--chrome-border: rgba(255, 255, 255, .16);--chrome-border-strong: rgba(255, 255, 255, .32);--app-bg: #ffffff}:root[data-theme=light]{color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0e1417;--bg-alt: #121a1e;--surface: #12181c;--surface-2: #161e23;--surface-3: #1d262c;--header-bg: #12181c;--header-border: rgba(255, 255, 255, .1);--ink: #e9f0ee;--ink-2: #c3cfcc;--muted: #8b9a97;--accent: #3fb8a8;--accent-hover: #55cbbb;--accent-light: rgba(63, 184, 168, .14);--accent-glow: rgba(63, 184, 168, .28);--accent-text: #6fcfc2;--on-accent: #08221e;--success: #35c46b;--success-light: rgba(53, 196, 107, .15);--success-text: #5fd489;--warning: #e0a13a;--warning-light: rgba(224, 161, 58, .15);--warning-text: #e8b866;--danger: #ef5f52;--danger-light: rgba(239, 95, 82, .15);--danger-text: #f2837a;--high-risk: #f0813f;--high-risk-light: rgba(240, 129, 63, .15);--high-risk-text: #f39a63;--border: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 36px rgba(0, 0, 0, .55);--hover-shadow: 0 10px 30px rgba(0, 0, 0, .5), 0 3px 10px rgba(0, 0, 0, .4);--brand-gradient: radial-gradient(135% 120% at 100% 0%, rgba(4, 30, 28, .55) 0%, rgba(4, 30, 28, 0) 56%), linear-gradient(157deg, #08403c 0%, #0b524c 48%, #14655a 100%);--brand-gradient-flat: linear-gradient(157deg, #08403c 0%, #0b524c 48%, #14655a 100%);--chrome-ink: #eaf4f2;--chrome-ink-soft: rgba(234, 244, 242, .93);--chrome-ink-faint: rgba(234, 244, 242, .78);--chrome-fill: rgba(255, 255, 255, .07);--chrome-fill-hover: rgba(255, 255, 255, .13);--chrome-active: rgba(255, 255, 255, .17);--chrome-border: rgba(255, 255, 255, .13);--chrome-border-strong: rgba(255, 255, 255, .26);--app-bg: #0e1417}}:root[data-theme=dark]{color-scheme:dark;--bg: #0e1417;--bg-alt: #121a1e;--surface: #12181c;--surface-2: #161e23;--surface-3: #1d262c;--header-bg: #12181c;--header-border: rgba(255, 255, 255, .1);--ink: #e9f0ee;--ink-2: #c3cfcc;--muted: #8b9a97;--accent: #3fb8a8;--accent-hover: #55cbbb;--accent-light: rgba(63, 184, 168, .14);--accent-glow: rgba(63, 184, 168, .28);--accent-text: #6fcfc2;--on-accent: #08221e;--success: #35c46b;--success-light: rgba(53, 196, 107, .15);--success-text: #5fd489;--warning: #e0a13a;--warning-light: rgba(224, 161, 58, .15);--warning-text: #e8b866;--danger: #ef5f52;--danger-light: rgba(239, 95, 82, .15);--danger-text: #f2837a;--high-risk: #f0813f;--high-risk-light: rgba(240, 129, 63, .15);--high-risk-text: #f39a63;--border: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 36px rgba(0, 0, 0, .55);--hover-shadow: 0 10px 30px rgba(0, 0, 0, .5), 0 3px 10px rgba(0, 0, 0, .4);--brand-gradient: radial-gradient(135% 120% at 100% 0%, rgba(4, 30, 28, .55) 0%, rgba(4, 30, 28, 0) 56%), linear-gradient(157deg, #08403c 0%, #0b524c 48%, #14655a 100%);--brand-gradient-flat: linear-gradient(157deg, #08403c 0%, #0b524c 48%, #14655a 100%);--chrome-ink: #eaf4f2;--chrome-ink-soft: rgba(234, 244, 242, .93);--chrome-ink-faint: rgba(234, 244, 242, .78);--chrome-fill: rgba(255, 255, 255, .07);--chrome-fill-hover: rgba(255, 255, 255, .13);--chrome-active: rgba(255, 255, 255, .17);--chrome-border: rgba(255, 255, 255, .13);--chrome-border-strong: rgba(255, 255, 255, .26);--app-bg: #0e1417}*,*:before,*:after{box-sizing:border-box}::selection{background:var(--accent-glow);color:var(--ink)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-xs)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}html{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.22) transparent;font-family:var(--font-body)}body{margin:0;font-family:var(--font-body);font-size:var(--fs-lg);font-weight:400;line-height:1.45;color:var(--ink);background:var(--app-bg);min-height:100vh;font-synthesis:none;font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:1rem;background-color:#0c5f59;background-image:var(--brand-gradient);color:var(--chrome-ink);border-bottom:1px solid var(--chrome-border);padding:0 1.5rem;height:58px;box-shadow:0 1px #ffffff0f inset,0 6px 20px #083a3533}.brand{display:flex;align-items:center;gap:.625rem;text-decoration:none;color:inherit;flex-shrink:0}.brand-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--accent) 0%,var(--brand) 100%);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 1px 4px #0d7c7259}.brand-image{width:32px;height:32px;border-radius:var(--r-md);object-fit:contain;background:var(--surface-2);border:1px solid var(--border-strong);padding:2px}.brand-name{font-family:var(--font-label);font-size:var(--fs-xl);font-weight:400;color:var(--ink);line-height:1;letter-spacing:.02em}.brand-tag{font-size:var(--fs-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);line-height:1;margin-top:3px}.app-main{flex:1;width:min(1440px,100%);margin:0 auto;padding:1.5rem 1.75rem}nav{display:flex;align-items:center;gap:.125rem;height:100%}.mobile-nav-toggle{display:none;border:1px solid var(--border-strong);border-radius:var(--r);padding:.35rem .65rem;background:transparent;color:var(--ink-2);font-family:inherit;font-weight:var(--fw-label);font-size:var(--fs-base);line-height:1;cursor:pointer}.mobile-nav-toggle:hover{border-color:var(--accent);color:var(--accent)}.nav-link{display:inline-flex;align-items:center;gap:.375rem;text-decoration:none;color:var(--ink-2);border-radius:var(--r);padding:.375rem .75rem;font-size:var(--fs-base);font-weight:500;transition:color .15s,background .15s;white-space:nowrap;position:relative}.nav-link:hover{color:var(--ink);background:var(--surface-3)}.nav-link.active{color:var(--accent-text);background:var(--accent-light);font-weight:var(--fw-label)}.nav-link.active svg{opacity:1}.nav-link svg{opacity:.65;flex-shrink:0}.nav-divider{width:1px;height:1.25rem;background:var(--border-strong);margin:0 .375rem;flex-shrink:0}.link-button{text-decoration:none;color:var(--muted);border:none;border-radius:var(--r);padding:.4rem .875rem;font-size:var(--fs-md);font-weight:500;background:transparent;cursor:pointer;font-family:inherit;transition:color .15s,background .15s;white-space:nowrap}.link-button:hover{color:var(--danger);background:var(--danger-light)}h1,h2,h3,h4{margin:0;font-family:var(--font-display);color:var(--ink);line-height:1.25;text-wrap:balance}.page-header{margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid rgba(20,112,106,.16)}.page-header-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.page-header-text{min-width:0}.page-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.page-title{position:relative;padding-left:.85rem;font-size:var(--fs-3xl);font-weight:var(--fw-display);margin-bottom:.3rem;line-height:1.2;letter-spacing:-.015em}.page-title:before{content:"";position:absolute;left:0;top:.12em;bottom:.12em;width:4px;border-radius:var(--r-xs);background:linear-gradient(180deg,#14706a,#277f6a)}.page-desc{color:var(--muted);font-size:var(--fs-lg);margin:0;line-height:1.5}.muted{color:var(--muted);font-size:var(--fs-md);margin:0}:where(input:not([type=checkbox]),select,textarea){border:1px solid var(--border);border-radius:var(--r);padding:.5rem .75rem;font:inherit;font-size:var(--fs-md);color:var(--ink);background:var(--surface-2);outline:none;transition:border-color .15s,box-shadow .15s;width:100%}:where(code,pre,kbd,samp){font-family:var(--font-mono)}:where(button){font-family:inherit}:where(input:not([type=checkbox]),select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}:where(input:not([type=checkbox]),select):hover:not(:focus){border-color:var(--border-strong)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem}.reading-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-6) 1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.75rem;transition:box-shadow var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),transform var(--dur-2) var(--ease-out);border-top:3px solid var(--border-strong)}.reading-card:hover{box-shadow:var(--hover-shadow);border-color:var(--border-strong);border-top-color:var(--accent);transform:translateY(var(--hover-lift))}.reading-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.reading-card h3{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-label);line-height:1.25;letter-spacing:-.01em}.card-meta{display:flex;flex-direction:column;gap:.1rem;font-size:var(--fs-sm);color:var(--muted)}.channel-list{display:flex;flex-direction:column;gap:.3rem}.channel-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);font-size:var(--fs-base);border-left:3px solid var(--border-strong)}.channel-name{font-weight:var(--fw-label);color:var(--ink-2)}.metric{font-weight:var(--fw-label);color:var(--accent);font-variant-numeric:tabular-nums;font-family:var(--font-mono);white-space:nowrap;font-size:var(--fs-lg)}.metric-trend{margin-left:.2rem;color:var(--muted);font-weight:var(--fw-label)}.reading-card-footer{font-size:var(--fs-sm);color:var(--muted);padding-top:.625rem;margin-top:.25rem;border-top:1px solid var(--border)}.reading-card-nodata{opacity:.85}.reading-card-oos{background:#f0f1f4;border-top-color:var(--muted);opacity:.9;overflow:hidden}.reading-card-oos:hover{border-top-color:var(--muted)}.reading-card-oos h3{color:var(--muted)}.oos-card-strip{display:flex;align-items:center;gap:.35rem;background:#d9770621;border-bottom:1px solid rgba(217,119,6,.3);color:var(--warning-text);font-size:var(--fs-xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.055em;padding:.3rem 1.25rem;margin:-1.125rem -1.25rem 0}.no-data-msg{font-size:var(--fs-base);color:var(--muted);font-style:italic;padding:.4rem .65rem}.dashboard-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:.875rem;flex-wrap:wrap;margin-bottom:1rem}.status-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.status-chip{display:inline-flex;align-items:center;border-radius:var(--r-pill);padding:.325rem .75rem;font-size:var(--fs-sm);font-weight:var(--fw-label);letter-spacing:.03em}.status-chip-online{color:var(--success-text);background:var(--success-light);border:1px solid rgba(22,163,74,.25)}.status-chip-stale{color:var(--warning-text);background:var(--warning-light);border:1px solid rgba(217,119,6,.25)}.status-chip-offline{color:var(--danger-text);background:var(--danger-light);border:1px solid rgba(220,38,38,.25)}.status-chip-nodata{color:var(--muted);background:var(--surface-2);border:1px solid var(--border-strong)}.dashboard-filter{min-width:240px;width:min(360px,100%)}.dashboard-toolbar-controls{display:flex;gap:.65rem;flex-wrap:wrap}.dashboard-filter label{display:block;font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--muted);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.empty-state{text-align:center;padding:4rem 2rem;color:var(--muted)}.empty-state-icon{font-size:var(--fs-5xl);margin-bottom:1rem;opacity:.35}.empty-state h3{font-size:var(--fs-xl);font-weight:var(--fw-label);color:var(--ink-2);margin-bottom:.375rem}.empty-state p{margin:0;font-size:var(--fs-md)}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:40vh;color:var(--muted);font-size:var(--fs-md)}.page-loader-mark{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-lg);color:#fff;background:var(--brand-gradient-flat);box-shadow:0 6px 20px #083a3538;animation:loader-breathe 1.6s var(--ease) infinite}@keyframes loader-breathe{0%,to{transform:scale(1);box-shadow:0 6px 20px #083a3538}50%{transform:scale(1.06);box-shadow:0 10px 28px #083a354d}}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{display:flex;flex-direction:column;align-items:center;gap:.875rem;padding:4rem 2rem;color:var(--muted);font-size:var(--fs-md)}.loading-state-compact{padding:2rem 1rem;gap:.5rem}.error-state{display:flex;flex-direction:column;align-items:center;gap:.625rem;padding:3rem 2rem;text-align:center;color:var(--muted);font-size:var(--fs-md)}.error-state-compact{padding:1.5rem 1rem;gap:.375rem}.error-state-icon{font-size:var(--fs-3xl);opacity:.7}.error-state-msg{max-width:400px}.partial-error-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:var(--warning-light);border:1px solid rgba(217,119,6,.25);border-radius:var(--r);font-size:var(--fs-base);color:var(--warning-text)}.partial-error-icon{font-size:var(--fs-md)}.partial-error-msg{flex:1}.no-access-state{min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:var(--muted);text-align:center}.login-shell{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 60px);padding:2rem 1rem;background:var(--bg)}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:2.25rem 2.5rem;width:100%;max-width:400px}.login-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:1.75rem}.login-logo-icon{width:44px;height:44px;background:var(--accent);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:var(--on-accent);flex-shrink:0;box-shadow:var(--shadow)}.login-logo-image{width:44px;height:44px;border-radius:var(--r-md);object-fit:contain;background:var(--surface-3);border:1px solid var(--border-strong);padding:2px}.login-logo-text h2{font-family:var(--font-label);font-size:var(--fs-xl);font-weight:400;letter-spacing:.01em;margin-bottom:.2rem;color:var(--ink)}.login-logo-text p{font-size:var(--fs-sm);color:var(--muted);margin:0}.login-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--ink-2)}.login-submit{width:100%;padding:.65rem;font-size:var(--fs-lg);font-weight:500;letter-spacing:.01em;margin-top:.25rem}.login-inline-check{margin-top:.2rem;font-size:var(--fs-base)}.login-help{margin:0;font-size:var(--fs-sm);color:var(--muted)}.data-controls-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--r-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);margin-bottom:1.25rem}.data-controls-card h3{font-size:var(--fs-md);font-weight:var(--fw-label);color:var(--muted);margin-bottom:1rem;letter-spacing:.01em}.range-presets{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.875rem}.range-presets-label{font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-right:.25rem}.data-controls{display:flex;flex-wrap:wrap;gap:.875rem;align-items:flex-end}.data-controls label{display:flex;flex-direction:column;gap:.375rem;font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--ink-2);flex:1;min-width:160px}.data-controls .btn{align-self:flex-end;flex-shrink:0}.tz-hint{margin:.625rem 0 0;font-size:var(--fs-sm);color:var(--muted)}.controls-preview-graph{margin-top:.875rem;background:linear-gradient(180deg,#f8fcff 0%,var(--surface-3) 100%);border:1px solid var(--border);border-radius:var(--r-md);padding:.625rem .75rem}.controls-preview-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:var(--fs-sm);font-weight:var(--fw-label);letter-spacing:.03em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.35rem}.chart-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-6) 1.75rem;box-shadow:var(--shadow-sm)}.chart-container:hover{border-color:var(--accent);box-shadow:var(--shadow)}.chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}.chart-title{font-size:var(--fs-xl);font-weight:var(--fw-label);margin-bottom:.2rem;letter-spacing:-.01em}.chart-subtitle{font-size:var(--fs-base);color:var(--muted)}.chart-stats{display:flex;gap:1.5rem;flex-shrink:0}.chart-stat{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.chart-stat-label{color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.05em}.chart-stat-value{font-weight:var(--fw-label);font-size:var(--fs-lg);color:var(--ink);font-variant-numeric:tabular-nums}.manage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1.25rem}.manage-grid article{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.875rem;align-content:start}.manage-grid article h3{font-size:var(--fs-lg);font-weight:var(--fw-label);padding-bottom:.75rem;border-bottom:1px solid var(--border);margin-bottom:.125rem}.manage-field{display:flex;flex-direction:column;gap:.375rem}.manage-field-label{font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--ink-2)}.manage-list{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:.375rem;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.manage-row{display:flex;flex-direction:column;gap:.375rem}.manage-row-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .625rem;border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);transition:border-color .15s}.manage-row-item:hover{border-color:var(--border-strong)}.manage-row-item label{display:flex;align-items:center;gap:.5rem;font-size:var(--fs-base);font-weight:500;cursor:pointer;flex:1;min-width:0;color:var(--ink-2)}.manage-row-item label input[type=checkbox]{width:1rem;height:1rem;flex-shrink:0;cursor:pointer;accent-color:var(--accent)}.manage-row-item input[type=text],.manage-row-item input:not([type=checkbox]){max-width:110px;font-size:var(--fs-base);padding:.3rem .5rem;flex-shrink:0}.inline-check{display:flex;align-items:center;gap:.5rem;font-size:var(--fs-md);font-weight:500;cursor:pointer;color:var(--ink-2)}.inline-check input[type=checkbox]{width:1rem;height:1rem;flex-shrink:0;cursor:pointer;accent-color:var(--accent)}.manage-actions{display:flex;flex-direction:column;gap:.5rem}.manage-actions-row{display:flex;gap:.5rem;margin-bottom:.75rem}.status-bar{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:var(--r);font-size:var(--fs-md);font-weight:500;margin-top:1rem;animation:fadein .25s ease}@keyframes fadein{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.status-success{background:var(--success-light);color:var(--success-text);border:1px solid rgba(22,163,74,.3)}.status-error{background:var(--danger-light);color:var(--danger);border:1px solid rgba(220,38,38,.3)}.status-info{background:var(--accent-light);color:var(--accent-text);border:1px solid var(--accent-glow)}.error-text{color:var(--danger);font-size:var(--fs-md);font-weight:500;margin:0}.error{color:var(--danger);font-weight:500;font-size:var(--fs-md)}@media(max-width:639px){.app-header{padding:.75rem 1rem;height:auto;flex-wrap:wrap}.mobile-nav-toggle{display:inline-flex;margin-left:auto}.nav-divider{display:none}.link-button{width:100%;text-align:left;border:1px solid var(--border);background:var(--surface-2)}.app-main{padding:1.25rem 1rem}.data-controls label{min-width:140px}.chart-stats{gap:1rem}.login-card{padding:1.75rem 1.5rem}.dashboard-filter{width:100%;min-width:0}.system-time-badge{order:2;width:100%;align-items:flex-start;margin:0}.manage-actions-row{flex-wrap:wrap}}.app-header-v2{background-color:#0c5f59;background-image:var(--brand-gradient);border-bottom:1px solid var(--chrome-border);box-shadow:0 6px 20px #083a3533}.app-header .brand-name{color:var(--chrome-ink);letter-spacing:.01em}.app-header .brand-tag{color:var(--chrome-ink-faint)}.app-header .brand-icon{background:var(--chrome-fill);box-shadow:inset 0 0 0 1px var(--chrome-border-strong)}.app-header .brand-image{background:var(--surface);border-color:var(--chrome-border-strong)}.app-header-v2 .nav-link{color:var(--chrome-ink-soft)}.app-header-v2 .nav-link:hover{color:var(--chrome-ink);background:var(--chrome-fill-hover)}.app-header-v2 .nav-link.active{color:var(--chrome-ink);background:var(--chrome-active)}.app-header-v2 .link-button{color:var(--chrome-ink-soft)}.app-header-v2 .link-button:hover{color:var(--chrome-ink);background:var(--chrome-fill-hover)}.app-header-v2 .nav-divider{background:var(--chrome-border)}.app-header-v2 .mobile-nav-toggle{border-color:var(--chrome-border-strong);color:var(--chrome-ink);background:var(--chrome-fill)}.v2-header-badge{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.1em;background:var(--chrome-fill);color:var(--chrome-ink);border:1px solid var(--chrome-border-strong);border-radius:var(--r-pill);padding:.2rem .62rem;flex-shrink:0}.system-time-badge{display:inline-flex;align-items:center;gap:.5rem;margin-left:auto;margin-right:.5rem;font-size:var(--fs-sm);color:var(--chrome-ink-soft);background:var(--chrome-fill);border:1px solid var(--chrome-border);border-radius:var(--r-pill);padding:.3rem .72rem;flex-shrink:0}.system-time-badge strong{font-size:var(--fs-sm);letter-spacing:.01em;color:var(--chrome-ink);font-family:var(--font-mono);font-weight:var(--fw-label)}.system-time-badge span:last-child{font-size:var(--fs-xs);color:var(--chrome-ink-faint);font-family:var(--font-mono)}.system-time-label{display:none}.scada-refresh-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 4px #16a34a99;animation:dot-pulse 2.5s ease-in-out infinite;flex-shrink:0}@keyframes dot-pulse{0%,to{opacity:1;box-shadow:0 0 4px #16a34a99}50%{opacity:.6;box-shadow:0 0 2px #16a34a4d}}.nav-section-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:0 .5rem;white-space:nowrap;display:flex;align-items:center}.nav-v2-badge{color:var(--accent-text)!important;background:var(--accent-light)!important;font-weight:var(--fw-label)!important;border:1px solid rgba(13,124,114,.3)}.nav-v2-badge:hover{background:#0d7c722e!important}.nav-classic-link{font-size:var(--fs-base);opacity:.8}.metalog-dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.metalog-manage-btn{align-self:center}.metalog-site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.metalog-site-card{height:100%;display:flex;flex-direction:column}.metalog-site-heading{display:flex;align-items:flex-start;gap:.55rem}.metalog-site-icon{width:1.85rem;height:1.85rem;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;background:var(--accent-light);font-size:var(--fs-lg);flex-shrink:0;margin-top:.05rem}.metalog-view-btn{width:100%;margin-top:auto}.site-map-wrapper{height:100%;width:100%}.map-placeholder{height:100%;display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--muted)}.map-placeholder-inner{text-align:center}.map-placeholder-icon{font-size:var(--fs-5xl);display:block;margin-bottom:.75rem;opacity:.4}.map-placeholder p{margin:0 0 .25rem;font-size:var(--fs-md)}.map-tooltip{display:flex;flex-direction:column;gap:.15rem;font-size:var(--fs-base);min-width:100px}.map-tooltip strong{font-weight:var(--fw-label);color:var(--ink)}.map-tooltip-sub{font-size:var(--fs-sm);color:var(--muted)}.map-tooltip-status{font-size:var(--fs-sm);font-weight:var(--fw-label)}.admin-location-map{height:320px;width:100%;border-radius:var(--r);overflow:hidden;border:1px solid var(--border);background:var(--surface-2)}.sites-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem}.sites-search{flex:1;min-width:200px;max-width:360px}.view-toggle{display:flex;border:1px solid var(--border-strong);border-radius:var(--r);overflow:hidden;flex-shrink:0}.view-toggle-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.4rem .75rem;font-family:inherit;font-weight:var(--fw-label);font-size:var(--fs-base);line-height:1;background:var(--surface);color:var(--muted);border:none;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.view-toggle-btn+.view-toggle-btn{border-left:1px solid var(--border-strong)}.view-toggle-btn.active{background:var(--accent);color:var(--on-accent);font-weight:var(--fw-label)}.view-toggle-btn:hover:not(.active){background:var(--surface-2);color:var(--ink)}.site-card-desc{font-size:var(--fs-base);color:var(--muted);margin:0;padding:0 0 .25rem;line-height:1.4}.sites-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:var(--surface)}.sites-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.sites-table th{text-align:left;padding:.875rem 1rem;font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-2);border-bottom:2px solid var(--border-strong);white-space:nowrap;position:sticky;top:0;z-index:2}.sites-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}.sites-table tr:last-child td{border-bottom:none}.sites-table tbody tr:hover td{background:var(--accent-light);transition:background .1s}.table-site-name{font-weight:var(--fw-label);color:var(--ink)}.table-site-desc{font-size:var(--fs-sm);color:var(--muted);margin-top:.15rem}.table-mono{font-family:var(--font-mono);font-size:var(--fs-base);color:var(--ink-2)}.table-muted{color:var(--muted);font-size:var(--fs-base)}.table-center{text-align:center;color:var(--ink-2);font-weight:var(--fw-label)}.tabs-root{display:flex;flex-direction:column}.tabs-bar-wrap{position:relative;margin-bottom:1.25rem;min-width:0}.tabs-bar-wrap:before,.tabs-bar-wrap:after{content:"";position:absolute;top:50%;transform:translateY(-50%);width:1.25rem;height:1.25rem;pointer-events:none;opacity:0;transition:opacity var(--dur-2) var(--ease);z-index:2;background:var(--muted);-webkit-mask:var(--tabs-chevron) center / .85rem no-repeat;mask:var(--tabs-chevron) center / .85rem no-repeat}.tabs-bar-wrap{--tabs-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E")}.tabs-bar-wrap:before{left:0;rotate:180deg}.tabs-bar-wrap:after{right:0}.tabs-bar-wrap.has-fade-left:before{opacity:.75}.tabs-bar-wrap.has-fade-right:after{opacity:.75}.tabs-bar-wrap.has-fade-left .tabs-bar{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 2.75rem);mask-image:linear-gradient(90deg,transparent 0,#000 2.75rem)}.tabs-bar-wrap.has-fade-right .tabs-bar{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2.75rem),transparent 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 2.75rem),transparent 100%)}.tabs-bar-wrap.has-fade-left.has-fade-right .tabs-bar{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 2.75rem,#000 calc(100% - 2.75rem),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 2.75rem,#000 calc(100% - 2.75rem),transparent 100%)}.tabs-bar{display:flex;gap:0;border-bottom:2px solid var(--border);min-width:0;overflow-x:auto;scrollbar-width:none;scroll-padding-inline:2.75rem}.tabs-bar::-webkit-scrollbar{display:none}.tab-btn{display:inline-flex;align-items:center;padding:.625rem 1.125rem;font-family:inherit;font-weight:var(--fw-label);font-size:var(--fs-md);line-height:1;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;color:var(--muted);transition:color .15s,border-color .15s;white-space:nowrap;flex-shrink:0}.tab-btn:hover{color:var(--ink)}.tab-btn-active{color:var(--accent);border-bottom-color:var(--accent);font-weight:var(--fw-label)}.tab-btn-alarm{color:var(--danger);font-weight:var(--fw-label)}.tab-btn-alarm:after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--danger);margin-left:5px;vertical-align:middle}.tabs-content{flex:1}.analysis-main-tabs .tabs-bar-wrap{margin-bottom:1rem}.analysis-main-tabs .tabs-bar{border-bottom:none;padding:.375rem;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);gap:.5rem}.analysis-main-tabs .tab-btn{border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:0;color:var(--ink-2);background:var(--surface-2);padding:.6rem 1rem;font-weight:var(--fw-label);letter-spacing:.01em}.analysis-main-tabs .tab-btn:hover{border-color:var(--accent);color:var(--accent);background:#0d7c7214}.analysis-main-tabs .tab-btn-active{border-color:var(--accent);color:var(--accent);background:#0d7c7224;box-shadow:inset 0 0 0 1px #0d7c722e}.analysis-panel,.quality-panel{padding:.25rem 0}.analysis-heading{font-size:var(--fs-md);font-weight:var(--fw-label);letter-spacing:.01em;color:var(--muted);margin:0 0 .875rem}.analysis-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.analysis-graph-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.875rem}.analysis-graph-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:.875rem 1rem}.analysis-subheading{margin:0 0 .75rem;font-size:var(--fs-sm);letter-spacing:.01em;color:var(--muted)}.analysis-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem var(--space-6);display:flex;flex-direction:column;gap:.35rem;box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-2) var(--ease),transform var(--dur-2) var(--ease-out)}.analysis-stat-card:hover{box-shadow:var(--hover-shadow);transform:translateY(var(--hover-lift))}.analysis-stat-label{font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.analysis-stat-value{font-size:var(--fs-3xl);font-weight:var(--fw-display);color:var(--ink);font-variant-numeric:tabular-nums;font-family:var(--font-mono);line-height:1;letter-spacing:-.01em}.analysis-stat-unit{font-size:var(--fs-sm);font-weight:500;color:var(--muted)}.analysis-bar-section{display:flex;align-items:flex-end;gap:4px;height:100px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1rem;box-shadow:var(--shadow-sm);overflow-x:auto}.dist-bucket{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:24px}.dist-bar{width:100%;background:var(--accent);border-radius:var(--r-xs) var(--r-xs) 0 0;opacity:.75;min-height:2px;transition:opacity .15s}.dist-bar:hover{opacity:1}.dist-label{font-size:var(--fs-2xs);color:var(--muted);white-space:nowrap;overflow:hidden;max-width:36px;text-overflow:ellipsis}.analysis-table-wrap{margin-top:.75rem;overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.analysis-table{width:100%;border-collapse:collapse;min-width:980px}.analysis-table th{text-align:left;padding:.8125rem .875rem;font-size:var(--fs-sm);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--border-strong);background:var(--surface-2);position:sticky;top:0;z-index:2;font-weight:var(--fw-label)}.analysis-table td{padding:.75rem .875rem;font-size:var(--fs-base);color:var(--ink-2);border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;white-space:nowrap}.analysis-table tr:last-child td{border-bottom:none}.analysis-table tbody tr:hover td{background:var(--accent-light);transition:background .1s}.analysis-channel-pill{display:inline-flex;align-items:center;border-radius:var(--r-pill);background:#0d7c721a;border:1px solid rgba(13,124,114,.2);color:var(--ink);font-weight:var(--fw-label);padding:.22rem .55rem;position:relative}.analysis-channel-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--series-color, var(--accent));margin-right:.35rem}.quality-coverage-row{display:flex;align-items:center;gap:.875rem;margin-bottom:.625rem}.quality-meter-track{flex:1;height:12px;background:var(--border);border-radius:var(--r-pill);overflow:hidden}.quality-meter-fill{height:100%;border-radius:var(--r-pill);transition:width .4s ease}.quality-good{background:var(--success)}.quality-warn{background:var(--warning)}.quality-bad{background:var(--danger)}.quality-pct{font-size:var(--fs-xl);font-weight:var(--fw-label);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;min-width:42px;text-align:right}.quality-note{margin:0;font-size:var(--fs-base)}.admin-section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:1rem}.admin-section-grid>*{min-width:0}.table-wrap{min-width:0;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.data-table th{text-align:left;padding:.55rem .75rem;font-size:var(--fs-xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-2);border-bottom:2px solid var(--border-strong);white-space:nowrap}.data-table td{padding:.55rem .75rem;border-bottom:1px solid var(--border);vertical-align:top}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--surface-2)}.feed-actions-cell{text-align:right}.feed-actions{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end;max-width:15rem;margin-left:auto}.feed-actions-menu-wrap{position:relative}.feed-actions-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:10.5rem;display:flex;flex-direction:column;padding:.25rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);box-shadow:var(--shadow-md)}.feed-actions-menu>button{appearance:none;border:0;background:none;text-align:left;padding:.4rem .6rem;border-radius:calc(var(--r) - 2px);font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer}.feed-actions-menu>button:hover:not(:disabled){background:var(--accent-light);color:var(--accent-text)}.feed-actions-menu>button:disabled{color:var(--muted);cursor:default}.feed-actions-menu>button.is-danger{color:var(--danger-text)}.feed-actions-menu>button.is-danger:hover{background:var(--danger-light);color:var(--danger-text)}.admin-card{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.875rem;transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),transform var(--dur-2) var(--ease-out)}.admin-card:hover{border-color:var(--accent);box-shadow:var(--hover-shadow);transform:translateY(var(--hover-lift))}.admin-card h3{font-size:var(--fs-xl);font-weight:var(--fw-label);padding-bottom:.75rem;border-bottom:1px solid var(--border);margin:0}.group-admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.group-badge-row{display:flex;gap:.35rem;flex-wrap:wrap}.group-badge{display:inline-flex;align-items:center;border-radius:var(--r-pill);padding:.15rem .55rem;font-size:var(--fs-sm);font-weight:var(--fw-label);letter-spacing:.02em}.group-badge-on{background:#16a34a1f;color:var(--success-text);border:1px solid rgba(22,163,74,.25)}.group-badge-off{background:#64748b1a;color:var(--ink-2);border:1px solid rgba(100,116,139,.25)}.group-site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.35rem .75rem}.branding-preview{width:100%;max-height:72px;object-fit:contain;border:1px solid var(--border);border-radius:var(--r);background:var(--surface-3);padding:.25rem}.admin-form{display:flex;flex-direction:column;gap:.75rem}.role-badge{display:inline-flex;align-items:center;font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.05em;padding:.2rem .55rem;border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border);white-space:nowrap}.role-badge-admin{background:var(--accent-light);color:var(--accent-text);border:1px solid rgba(13,124,114,.3)}.role-badge-user{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border)}.role-badge-super_admin,.role-badge-eds_admin{background:var(--accent-light);color:var(--accent-text);border:1px solid rgba(13,124,114,.3)}.role-badge-group_admin{background:transparent;color:var(--accent);border:1px solid rgba(13,124,114,.45)}.role-badge-analyst{background:#3b82f61f;color:#1d4ed8;border:1px solid rgba(59,130,246,.24)}.role-badge-operator{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border)}.role-badge-client_read_only{background:#6b72801a;color:var(--muted);border:1px solid rgba(107,114,128,.3)}.role-badge-client_power_user{background:#9333ea1f;color:#6b21a8;border:1px solid rgba(147,51,234,.24)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .role-badge-analyst{color:#93b4fe}:root:not([data-theme=light]) .role-badge-client_power_user{color:#d3a4f5}}:root[data-theme=dark] .role-badge-analyst{color:#93b4fe}:root[data-theme=dark] .role-badge-client_power_user{color:#d3a4f5}.log-status{font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:var(--r-sm)}.log-status-success{background:var(--success-light);color:var(--success-text)}.log-status-error{background:var(--danger-light);color:var(--danger)}.log-status-running,.log-status-partial{background:var(--warning-light);color:var(--warning-text)}.log-status-skipped{background:var(--surface-2);color:var(--muted)}.log-status-warning{background:var(--warning-light);color:var(--warning-text)}.log-status-info{background:var(--accent-light);color:var(--accent-text)}.log-status-muted{background:var(--surface-2);color:var(--muted)}.log-status-neutral{background:transparent;color:var(--muted);border:1px solid var(--border-strong)}@media(max-width:639px){.kpi-bar{gap:.5rem}.kpi-tile{min-width:100px;padding:.75rem 1rem}.kpi-value{font-size:var(--fs-3xl)}.v2-map-section{height:240px}.metalog-manage-btn{width:100%}.sites-controls{flex-direction:column;align-items:stretch}.sites-search{max-width:100%}.analysis-stats-grid{grid-template-columns:repeat(2,1fr)}.tabs-bar{overflow-x:scroll;scrollbar-width:none}.tabs-bar::-webkit-scrollbar{display:none}.app-header-v2 nav{background:var(--header-bg)}.nav-section-label{display:none}}.source-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.625rem}.source-status-tile{padding:.875rem 1rem;border-radius:var(--r);border:1px solid var(--border);display:flex;flex-direction:column;gap:.375rem;background:var(--surface-2)}.source-status-tile-ok{border-color:#16a34a4d;background:#16a34a0f}.source-status-tile-error{border-color:#dc26264d;background:#dc26260f}.source-status-tile-label{font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--ink-2);display:flex;align-items:center;gap:.5rem}.source-status-tile-stats{font-size:var(--fs-base);color:var(--muted)}.source-status-tile-error-msg{font-size:var(--fs-sm);color:var(--danger);word-break:break-word}@media(max-width:639px){.source-status-grid{grid-template-columns:1fr}.eng-stats-row{gap:1rem}.eng-stat-tile{min-width:120px;border-right:none;border-bottom:1px solid var(--border);padding-bottom:.75rem}.eng-stat-tile:last-child{border-bottom:none}.eng-stat-value{font-size:var(--fs-2xl)}}.sd-page-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.sd-header-left{display:flex;align-items:center;gap:1rem}.sd-header-actions{display:flex;gap:.5rem;flex-shrink:0;align-items:center}.sd-meta-strip{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1.25rem;padding:.5rem .875rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r)}.sd-meta-field{display:flex;align-items:baseline;gap:.45rem;min-width:0}.sd-meta-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap}.sd-meta-value{font-size:var(--fs-sm);color:var(--ink-2);min-width:0}.sd-meta-value-mono{font-weight:var(--fw-label);font-variant-numeric:tabular-nums}.sd-meta-desc{flex-basis:100%;margin:0;font-size:var(--fs-sm);line-height:1.5;color:var(--ink-2)}.sd-channel-picker{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem;margin-bottom:1.25rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.sd-channel-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sd-channel-picker-title{font-size:var(--fs-base);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.sd-channel-picker-grid{display:flex;flex-wrap:wrap;gap:.5rem}.sd-ch-pill{display:inline-flex;align-items:center;border:1px solid var(--border-strong);border-radius:var(--r-pill);padding:.3rem .875rem;font-size:var(--fs-base);cursor:pointer;color:var(--muted);background:transparent;transition:all .15s;font-family:inherit}.sd-ch-pill:hover{border-color:var(--accent);color:var(--ink-2)}.sd-ch-pill-active{background:var(--accent-light);border-color:var(--accent);color:var(--accent-text);font-weight:var(--fw-label)}.sd-chart-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:0 0 var(--r-lg) var(--r-lg);padding:var(--space-6) var(--space-8);box-shadow:var(--shadow-sm);transition:box-shadow .2s}.sd-chart-card:hover{box-shadow:var(--shadow)}.sd-chart-card-dark{background:var(--surface);border-color:var(--border)}.sd-chart-card-dark:hover{border-color:var(--accent)}.sd-legend{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.sd-legend-btn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--series-color, var(--border-strong));border-radius:var(--r-pill);padding:.3rem .75rem;font-size:var(--fs-sm);cursor:pointer;background:transparent;color:var(--ink-2);font-family:inherit;transition:all .15s}.sd-legend-btn:hover{background:color-mix(in srgb,var(--series-color, var(--accent)) 12%,transparent);color:var(--ink)}.sd-legend-btn:not(.sd-legend-btn-off){color:var(--ink);background:color-mix(in srgb,var(--series-color, var(--accent)) 12%,transparent)}.sd-legend-btn-off{opacity:.75;color:var(--muted)}.sd-legend-swatch{display:inline-block;width:12px;height:2px;background:var(--series-color, var(--accent));border-radius:var(--r-xs);flex-shrink:0}.sd-legend-rain-note{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;border-radius:var(--r-pill);font-size:var(--fs-sm);color:var(--muted);background:var(--surface-2);border:1px solid var(--border)}.sd-stats-section{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.sd-stat-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:1rem 1.25rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s}.sd-stat-group:hover{box-shadow:var(--shadow)}.sd-stat-group-label{font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.055em;color:var(--accent);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.sd-stat-group-tiles{display:flex;flex-wrap:wrap;gap:0}.sd-stat-tile-accent{border-left:3px solid var(--accent);background:var(--accent-light);border-radius:var(--r-sm);padding-left:.875rem}.ch-device-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:.75rem;overflow:hidden}.ch-device-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;background:var(--surface-2);border-bottom:1px solid var(--border);border-left:4px solid var(--accent)}.ch-device-name{font-weight:var(--fw-label);font-size:var(--fs-md);color:var(--ink)}.ch-device-count{font-size:var(--fs-sm);color:var(--muted);font-family:var(--font-mono)}.ch-channel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0;padding:.25rem 0}.ch-row{display:flex;align-items:center;gap:.75rem;padding:.625rem 1.25rem;border-bottom:1px solid var(--border);transition:background .12s}.ch-row:last-child{border-bottom:none}.ch-row:hover{background:var(--surface-2)}.ch-row-hidden{opacity:.5}.ch-toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;flex:1;min-width:0}.ch-checkbox{accent-color:var(--accent);width:1rem;height:1rem;flex-shrink:0;cursor:pointer}.ch-param-name{font-size:var(--fs-md);font-weight:500;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-unit-tag{display:inline-flex;flex-shrink:0;font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:var(--r-pill);background:var(--accent-light);color:var(--accent-text);border:1px solid rgba(13,124,114,.3);margin-left:.25rem}.ch-calc-badge{display:inline-flex;flex-shrink:0;font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.05em;padding:.12rem .4rem;border-radius:var(--r-pill);background:#d1fae5;color:#065f46;border:1px solid #a7f3d0;margin-left:.25rem}.ch-display-name-input{flex:1;max-width:240px;font-size:var(--fs-base);border:1px dashed var(--border-strong);background:transparent;color:var(--ink-2);border-radius:var(--r-sm);padding:.3rem .6rem;transition:border .15s,box-shadow .15s;font-family:inherit}.ch-display-name-input:focus{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.ch-count-badge{display:inline-flex;align-items:center;font-size:var(--fs-sm);font-weight:var(--fw-label);padding:.25rem .75rem;border-radius:var(--r-pill)}.ch-count-visible{background:var(--success-light);color:var(--success-text);border:1px solid rgba(22,163,74,.3)}.ch-count-hidden{background:var(--surface-2);color:var(--muted);border:1px solid var(--border-strong)}.scada-led{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.scada-led-online{background:var(--success);box-shadow:0 0 0 3px #16a34a2e,0 0 8px #16a34a80;animation:scada-pulse 2s ease-in-out infinite}.scada-led-offline{background:var(--danger);box-shadow:0 0 0 3px #dc26262e,0 0 8px #dc262666;animation:scada-pulse-alarm 1s ease-in-out infinite}.scada-led-nodata{background:var(--border-strong)}@keyframes scada-pulse{0%,to{box-shadow:0 0 0 2px #16a34a26,0 0 6px #16a34a66}50%{box-shadow:0 0 0 4px #16a34a14,0 0 12px #16a34a99}}@keyframes scada-pulse-alarm{0%,to{box-shadow:0 0 0 2px #dc262626,0 0 6px #dc262666;opacity:1}50%{box-shadow:0 0 0 4px #dc262614,0 0 14px #dc2626b3;opacity:.75}}.scada-panel-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;background:var(--surface-2);border-radius:var(--r-md) var(--r-md) 0 0;margin:-1.5rem -1.75rem 1.25rem;border-bottom:1px solid var(--border)}.scada-panel-title{font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-2);font-family:var(--font-mono);display:flex;align-items:center;gap:.5rem}.scada-panel-title:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent)}.scada-panel-meta{font-size:var(--fs-sm);color:var(--muted);font-family:var(--font-mono)}.scada-chart-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.875rem}.scada-zoom-hint{font-size:var(--fs-sm);color:var(--muted);font-style:italic;flex:1}.v2-map-section{height:380px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-sm);background:var(--surface-2)}.dash-loading-screen{display:flex;align-items:center;justify-content:center;min-height:60vh}.dash-loading-inner{display:flex;align-items:center;gap:1.5rem;animation:fadein .4s ease}.dash-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.dash-hero-left{flex:1;min-width:0}.dash-hero-title-row{display:flex;align-items:center;gap:.875rem;flex-wrap:wrap;margin-bottom:.35rem}.dash-hero-title{font-size:var(--fs-4xl);font-weight:var(--fw-display);color:var(--ink);line-height:1.2;margin:0;letter-spacing:-.02em}.dash-hero-sub{font-size:var(--fs-md);color:var(--muted);margin:0 0 .5rem;line-height:1.55}.dash-hero-sub strong{color:var(--ink-2);font-weight:var(--fw-label)}.dash-hero-meta{display:flex;align-items:center;gap:.5rem;font-size:var(--fs-sm);color:var(--muted);margin-top:.25rem}.dash-hero-meta-sep{color:var(--border-strong)}.dash-hero-actions{flex-shrink:0;align-self:center}.dash-load-error{padding:.625rem 1rem;background:var(--warning-light);border:1px solid var(--warning);border-radius:var(--r);font-size:var(--fs-base);color:var(--warning-text);margin-bottom:1rem}.sys-health-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.28rem .75rem;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.07em;border:1px solid transparent;flex-shrink:0}.sys-health-nominal{background:var(--success-light);color:var(--success-text);border-color:#16a34a40}.sys-health-degraded{background:var(--warning-light);color:var(--warning-text);border-color:#d9770640}.sys-health-critical{background:var(--danger-light);color:var(--danger);border-color:#dc262640;animation:fadein .3s ease}.sys-health-led{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.sys-health-led-nominal{background:var(--success);box-shadow:0 0 5px #16a34a80}.sys-health-led-degraded{background:var(--warning)}.sys-health-led-critical{background:var(--danger);animation:led-alarm-pulse 1.4s ease-in-out infinite}.sys-health-label{line-height:1}.refresh-ring{display:inline-flex;align-items:center;opacity:.8;flex-shrink:0}.dash-overview-grid{display:grid;grid-template-columns:215px 1fr;gap:1.125rem;margin-bottom:1.125rem;align-items:stretch}.dash-kpi-col{display:flex;flex-direction:column;gap:.625rem}.dash-map-col{min-height:300px}.ncb-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.125rem var(--space-6);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem}.ncb-header{display:flex;justify-content:space-between;align-items:center}.ncb-title{font-size:var(--fs-xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.055em;color:var(--muted)}.ncb-pct{font-size:var(--fs-2xl);font-weight:var(--fw-display);font-family:var(--font-mono);font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.01em}.ncb-pct-good{color:var(--success-text)}.ncb-pct-warn{color:var(--warning-text)}.ncb-pct-bad{color:var(--danger)}.ncb-track{height:10px;background:var(--surface-3);border-radius:var(--r-pill);overflow:hidden}.ncb-fill{height:100%;border-radius:var(--r-pill);transition:width .7s ease}.ncb-fill-good{background:var(--success)}.ncb-fill-warn{background:var(--warning)}.ncb-fill-bad{background:var(--danger)}.ncb-breakdown{display:flex;gap:1.25rem;flex-wrap:wrap;align-items:center}.ncb-chip{font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--muted)}.ncb-chip-online{color:var(--success-text)}.ncb-chip-offline{color:var(--danger)}.ncb-chip-oos{color:var(--warning-text)}.ncb-chip-total{margin-left:auto;color:var(--ink-2);font-weight:var(--fw-label)}.dash-compact-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:var(--surface);margin-top:1rem;animation:fadein .25s ease}.dash-compact-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.dash-compact-table th{text-align:left;padding:.875rem 1rem;font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:var(--surface-2);border-bottom:2px solid var(--border-strong);white-space:nowrap;position:sticky;top:0;z-index:2}.dash-compact-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}.dash-compact-table tr:last-child td{border-bottom:none}.dash-compact-row{cursor:pointer;transition:background .1s}.dash-compact-row:hover td{background:var(--accent-light)}.dash-compact-row:focus-visible td{background:var(--accent-light);outline:none}.dash-compact-row-offline td{background:#dc262606}.dash-compact-row-offline:hover td{background:#dc262612}.compact-readings-cell{max-width:340px}.compact-readings-list{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.compact-reading-chip{display:inline-flex;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:.18rem .5rem;font-size:var(--fs-sm);gap:.1rem}.compact-reading-name{color:var(--muted);margin-right:.2rem}.compact-reading-val{color:var(--accent);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.compact-reading-more{font-size:var(--fs-xs);color:var(--muted);padding:.18rem .45rem;background:var(--surface-3);border-radius:var(--r-sm)}.dash-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--muted)}.dash-footer-health{font-weight:var(--fw-label);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em}.dash-footer-health-nominal{color:var(--success-text)}.dash-footer-health-degraded{color:var(--warning-text)}.dash-footer-health-critical{color:var(--danger)}.dash-footer-health-none{color:var(--muted)}.dash-empty-state{padding:5rem 2rem}.nav-link{display:inline-flex;align-items:center;gap:.45rem}@media(max-width:899px){.dash-overview-grid{grid-template-columns:1fr}.dash-kpi-col{flex-direction:row;flex-wrap:wrap}.kpi-tile-v{flex:1;min-width:130px;flex-direction:row;align-items:center;gap:.5rem}.kpi-tile-v-bar{display:none}.kpi-tile-v-value{font-size:var(--fs-3xl)}.dash-map-col{min-height:240px}}@media(max-width:639px){.dash-hero{flex-direction:column;gap:.875rem}.dash-hero-title{font-size:var(--fs-2xl)}.alerts-banner{flex-direction:column;align-items:flex-start;gap:.625rem}.alerts-banner-toggle{align-self:flex-end}.ncb-breakdown{gap:.75rem}.ncb-chip-total{margin-left:0}.compact-readings-cell{display:none}.dash-compact-table th:nth-child(4),.dash-compact-table td:nth-child(4){display:none}.kpi-tile-v{min-width:110px}.kpi-tile-v-value{font-size:var(--fs-2xl)}}.app-main:has(.fs-shell){padding:0;width:100%;max-width:100%}.fs-shell{display:flex;height:calc(100vh - 60px);overflow:hidden;background:var(--bg)}.fs-left-panel{width:300px;min-width:260px;max-width:340px;flex-shrink:0;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);overflow:hidden}.fs-left-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem .75rem;background:var(--surface-2);border-bottom:1px solid var(--border);flex-shrink:0}.fs-left-title{font-family:var(--font-display);font-weight:var(--fw-label);font-size:var(--fs-lg);color:var(--ink);letter-spacing:.01em}.fs-left-count{background:var(--surface-3);color:var(--muted);border:1px solid var(--border-strong);border-radius:var(--r-pill);padding:2px 8px;font-size:var(--fs-sm);font-weight:var(--fw-label)}.fs-search-wrap{position:relative;padding:.625rem .875rem;border-bottom:1px solid var(--border);flex-shrink:0}.fs-search-input{width:100%;padding:.4rem 2rem .4rem 1.75rem;border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface-2);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-base);line-height:1.4;outline:none;transition:border-color .15s,box-shadow .15s}.fs-search-input::placeholder{color:var(--muted);opacity:.7}.fs-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:var(--surface)}.fs-search-icon{position:absolute;left:1.4rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.fs-search-clear{position:absolute;right:1.4rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;font-size:var(--fs-sm);padding:2px 4px}.fs-search-clear:hover{color:var(--danger)}.fs-filter-row{display:flex;gap:.3rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.fs-filter-btn{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);font-family:var(--font-body);font-weight:var(--fw-label);font-size:var(--fs-sm);line-height:1;padding:.25rem .55rem;cursor:pointer;transition:all .15s;white-space:nowrap}.fs-filter-btn:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-light)}.fs-filter-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:var(--fw-label)}.fs-source-row{padding:.4rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.fs-source-select{width:100%;padding:.3rem .5rem;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink-2);font-family:var(--font-body);font-size:var(--fs-base);line-height:1;cursor:pointer}.fs-site-list{flex:1;overflow-y:auto;padding:.3rem 0}.fs-site-empty{padding:1.5rem 1rem;font-size:var(--fs-base);color:var(--muted);text-align:center}.fs-site-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.75rem 1rem;background:none;border:none;border-bottom:1px solid var(--border);border-left:3px solid transparent;cursor:pointer;text-align:left;transition:background var(--dur-1) var(--ease),border-left-color var(--dur-1) var(--ease)}.fs-site-item:hover{background:var(--surface-2);border-left-color:#0d7c7266}.fs-site-item.selected{background:var(--accent-light);border-left-color:var(--accent)}.fs-site-item-body{flex:1;min-width:0}.fs-site-name{display:block;font-size:var(--fs-md);font-weight:var(--fw-label);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-site-meta{display:block;font-size:var(--fs-sm);color:var(--muted);margin-top:2px;font-family:var(--font-mono)}.fs-site-alarm-tag{width:18px;height:18px;background:var(--danger);color:#fff;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-label);display:flex;align-items:center;justify-content:center;flex-shrink:0}.fs-status-dot{width:9px;height:9px;border-radius:var(--r-pill);flex-shrink:0;display:inline-block}.fs-status-dot-online{background:var(--success);box-shadow:0 0 6px #16a34a80}.fs-status-dot-offline{background:var(--danger);box-shadow:0 0 6px #dc262680;animation:fs-dot-blink 1.5s ease-in-out infinite}.fs-status-dot-oos{background:var(--warning);box-shadow:0 0 6px #d9770673}.fs-status-dot-nodata{background:var(--muted)}@keyframes fs-dot-blink{0%,to{opacity:1}50%{opacity:.35}}.fs-status-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-label);border:1px solid transparent}.fs-status-chip-online{background:var(--success-light);border-color:var(--success);color:var(--success-text)}.fs-status-chip-offline{background:var(--danger-light);border-color:var(--danger);color:var(--danger-text)}.fs-status-chip-oos{background:var(--warning-light);border-color:var(--warning);color:var(--warning-text)}.fs-status-chip-no-data{background:var(--surface-2);border-color:var(--border-strong);color:var(--muted)}.fs-right-panel{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.fs-right-empty{align-items:center;justify-content:center}.fs-network-overview{overflow-y:auto;padding:1.5rem 1.75rem 2rem;background:var(--bg);gap:0;display:flex;flex-direction:column}.fs-overview-hero{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1.125rem;border-bottom:1px solid var(--border)}.fs-picker-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.fs-picker-head-main{min-width:0}.fs-picker-title{position:relative;padding-left:.85rem;font-size:var(--fs-3xl);font-weight:var(--fw-display);letter-spacing:-.01em;color:var(--ink);margin:0 0 .2rem}.fs-picker-title:before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:3px;border-radius:var(--r-sm);background:var(--accent)}.fs-picker-sub{margin:0 0 0 .85rem;font-size:var(--fs-md);font-weight:var(--fw-body);color:var(--muted)}.fs-picker-status{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;min-width:0}.fs-picker-status-val{font-size:var(--fs-3xl);font-weight:var(--fw-display);color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.fs-picker-status-cap{font-size:var(--fs-sm);font-weight:400;color:var(--muted);min-width:0}.fs-shell-picking .fs-right-panel{width:100%}.fs-overview-hero-left{flex:1;min-width:0}.fs-overview-hero-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.3rem}.fs-overview-title{position:relative;padding-left:.85rem;font-size:var(--fs-3xl);font-weight:var(--fw-display);color:var(--ink);margin:0;letter-spacing:-.015em}.fs-overview-title:before{content:"";position:absolute;left:0;top:.12em;bottom:.12em;width:4px;border-radius:var(--r-xs);background:linear-gradient(180deg,#14706a,#277f6a)}.fs-overview-subtitle{font-size:var(--fs-md);color:var(--muted);margin:0;line-height:1.55}.fs-overview-subtitle strong{color:var(--ink-2);font-weight:var(--fw-label)}.fs-overview-kpi-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem;margin-bottom:1.25rem}.fs-overview-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem;justify-content:space-between}.fs-overview-toolbar-filters{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;flex:1;min-width:0}.fs-overview-toolbar-actions{display:flex;gap:.5rem;align-items:center;min-width:0}.fs-overview-search-wrap{position:relative;flex:0 1 240px;min-width:0}.fs-overview-toolbar .fs-filter-btn{color:var(--ink-2);border-color:var(--border-strong);background:var(--surface)}.fs-overview-toolbar .fs-filter-btn:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-light)}.fs-overview-toolbar .fs-filter-btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:var(--fw-label)}.fs-overview-search-wrap .fs-search-input{border-color:var(--border-strong);background:var(--surface);color:var(--ink)}.fs-overview-search-wrap .fs-search-input::placeholder{color:var(--muted)}.fs-overview-search-wrap .fs-search-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-glow)}.fs-overview-site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:1rem;animation:fadein .25s ease}.fs-overview-site-grid .scada-site-card{width:100%}@media(max-width:639px){.fs-overview-kpi-row{grid-template-columns:repeat(2,1fr)}.fs-network-overview{padding:1rem}.fs-overview-title{font-size:var(--fs-xl)}.fs-overview-site-grid{grid-template-columns:1fr}}.fs-workspace-header{padding:1rem 1.5rem .875rem;background:var(--surface);border-bottom:1px solid var(--border);border-top:3px solid var(--accent);flex-shrink:0}.fs-workspace-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.fs-workspace-site-name{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-label);color:var(--ink);margin:0;letter-spacing:-.01em}.fs-workspace-pmac{font-size:var(--fs-sm);color:var(--muted);background:var(--surface-2);border:1px solid var(--border-strong);padding:2px 9px;border-radius:var(--r-pill);font-family:var(--font-mono)}.fs-workspace-meta{font-size:var(--fs-sm);color:var(--muted);margin-top:.25rem;display:flex;gap:.4rem}.fs-mini-map{height:200px;flex-shrink:0;border-bottom:1px solid var(--border);position:relative;z-index:1}.fs-map-marker{width:14px;height:14px;border-radius:var(--r-pill);border:2px solid #fff;box-shadow:0 1px 4px #0000004d}.fs-map-marker-online{background:var(--success)}.fs-map-marker-offline{background:var(--danger)}.fs-map-marker-no-data{background:var(--muted)}.fs-map-marker-selected{width:18px;height:18px;border:3px solid var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.fs-workspace-controls{display:flex;align-items:center;gap:.75rem;padding:.55rem 1.25rem;background:var(--surface-2);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}.fs-dt-input{width:100%;box-sizing:border-box;padding:.5rem .625rem;border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-base);line-height:1.2;font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s}.fs-dt-input:hover{border-color:var(--accent)}.fs-dt-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-glow);background:var(--surface)}.fs-dt-input::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;transition:opacity .15s}.fs-dt-input:hover::-webkit-calendar-picker-indicator,.fs-dt-input:focus::-webkit-calendar-picker-indicator{opacity:.85}.fs-tab-bar{display:flex;background:var(--surface);border-bottom:1px solid var(--border);padding:0 .5rem;gap:0;flex-shrink:0;overflow-x:auto}.fs-tab-btn{padding:.6rem .95rem;border:none;background:none;color:var(--muted);font-family:var(--font-display);font-weight:var(--fw-label);font-size:var(--fs-base);line-height:1;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s,background .15s;border-radius:var(--r-sm) var(--r-sm) 0 0;letter-spacing:.01em}.fs-tab-btn:hover{color:var(--ink-2);background:var(--surface-2)}.fs-tab-btn.active{color:var(--accent-text);border-bottom-color:var(--accent);font-weight:var(--fw-label);background:var(--accent-light)}.fs-tab-panels{flex:1;overflow-y:auto;padding:1.5rem 1.75rem;background:var(--bg)}.fs-tab-content{display:flex;flex-direction:column;gap:.875rem}.fs-overview-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.fs-overview-updated{font-size:var(--fs-sm);color:var(--muted)}.fs-kpi-row{display:flex;gap:.625rem;flex-wrap:wrap}.fs-kpi-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:.625rem .875rem;flex:1;min-width:100px;box-shadow:var(--shadow-sm)}.fs-kpi-label{font-size:var(--fs-xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);display:block;margin-bottom:.25rem}.fs-kpi-value{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-display);line-height:1;letter-spacing:-.01em}.fs-kpi-unit{font-size:var(--fs-sm);font-weight:500;color:var(--muted);margin-left:.2rem}.fs-mini-chart-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:.625rem .75rem;box-shadow:var(--shadow-sm)}.fs-mini-chart-label{font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.35rem}.fs-channel-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:auto;box-shadow:var(--shadow-sm)}.fs-insights-list{display:flex;flex-direction:column;gap:.625rem}.fs-insight-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:.75rem 1rem;box-shadow:var(--shadow-sm)}.fs-insight-card-warning{border-left:4px solid var(--warning)}.fs-insight-card-critical{border-left:4px solid var(--danger)}.fs-insight-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem;flex-wrap:wrap}.fs-insight-channel{font-size:var(--fs-md)}.fs-insight-unit{font-size:var(--fs-sm);color:var(--muted)}.fs-insight-msg{margin:0 0 .35rem;font-size:var(--fs-base);color:var(--ink-2)}.fs-insight-meta{font-size:var(--fs-sm);color:var(--muted)}.fs-insight-badge{display:inline-flex;align-items:center;gap:.25rem;padding:2px 8px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.04em}.fs-insight-warning{background:var(--warning-light);color:var(--warning-text)}.fs-insight-critical{background:var(--danger-light);color:var(--danger)}.fs-balance-builder{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:1rem;box-shadow:var(--shadow-sm)}.fs-balance-row{display:flex;gap:.625rem;align-items:center;margin-bottom:.5rem;flex-wrap:wrap}.fs-compare-site-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.fs-compare-site-btn{display:flex;align-items:center;gap:.4rem;padding:.375rem .75rem;border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2);font-family:var(--font-body);font-weight:var(--fw-label);font-size:var(--fs-base);line-height:1;cursor:pointer;transition:all .15s}.fs-compare-site-btn:hover{border-color:var(--accent);color:var(--accent)}.fs-compare-site-btn.selected{background:var(--accent-light);border-color:var(--accent);color:var(--accent-text);font-weight:var(--fw-label)}.fs-compare-site-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:639px){.fs-shell{flex-direction:column;height:auto}.fs-left-panel{width:100%;max-width:100%;height:280px}.fs-mini-map{height:160px}.fs-kpi-tile{min-width:80px}.fs-kpi-value{font-size:var(--fs-xl)}}.rpt-shell{display:flex;flex-direction:column;height:calc(100vh - 60px);overflow-y:auto;background:var(--bg)}.rpt-shell>*{flex-shrink:0}.rpt-shell .page-header{padding:var(--space-4) var(--space-6) var(--space-4);margin-bottom:0}.app-main:has(.rpt-shell){padding:0;width:100%;max-width:100%}.rpt-builder{flex:none;display:flex;flex-direction:column;background:var(--surface);border-bottom:1px solid var(--border)}.rpt-builder-header{padding:.875rem 1rem .625rem;border-bottom:1px solid var(--border);flex-shrink:0}.rpt-builder-title{font-family:var(--font-display);font-weight:var(--fw-label);font-size:var(--fs-lg);color:var(--ink)}.rpt-builder-body{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.rpt-label{display:block;font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.5rem}.rpt-period-echo{font-size:var(--fs-sm);color:var(--muted);margin:.4rem 0 0;font-variant-numeric:tabular-nums}.rpt-type-grid{display:flex;flex-direction:column;gap:.3rem}.rpt-type-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface);color:var(--ink-2);font-family:var(--font-body);font-weight:var(--fw-label);font-size:var(--fs-base);line-height:1;cursor:pointer;text-align:left;transition:all .15s}.rpt-type-btn:hover{border-color:var(--accent);color:var(--accent)}.rpt-type-btn.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent-text);font-weight:var(--fw-label)}.rpt-type-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:15px;height:15px}.rpt-type-label{flex:1}.rpt-site-search{margin-bottom:.4rem;font-size:var(--fs-base)}.rpt-site-noresult{font-size:var(--fs-sm);color:var(--muted);padding:.35rem .1rem}.rpt-multisite-grid{display:flex;flex-wrap:wrap;gap:.4rem;max-height:220px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--r-md);padding:.5rem;background:var(--surface)}.rpt-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.rpt-label-actions{display:inline-flex;align-items:baseline;gap:.35rem;color:var(--muted);font-size:var(--fs-sm)}.rpt-mini-btn{background:none;border:none;padding:0;font-family:var(--font-label);font-size:var(--fs-sm);font-weight:500;color:var(--accent);cursor:pointer}.rpt-mini-btn:hover{text-decoration:underline}.rpt-site-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);margin-left:.15rem}.rpt-site-chip{padding:.25rem .625rem;border:1px solid var(--border-strong);border-radius:var(--r-pill);font-size:var(--fs-sm);cursor:pointer;transition:all .15s;background:var(--surface);color:var(--ink-2);-webkit-user-select:none;user-select:none}.rpt-site-chip.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent-text);font-weight:var(--fw-label)}.rpt-chip-pmac{margin-left:.3rem;color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.rpt-site-chip.active .rpt-chip-pmac{color:var(--accent);opacity:.75}.rpt-preset-row{display:flex;gap:.35rem;flex-wrap:wrap}.rpt-preview{flex:1 0 auto;min-width:0;display:flex;flex-direction:column;overflow:hidden}.rpt-preview-empty{align-items:center;justify-content:center}.rpt-empty{display:flex;align-items:center;gap:2.75rem;max-width:680px;padding:2rem}.rpt-empty-doc{position:relative;flex-shrink:0;width:208px;min-height:272px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:1.15rem 1.15rem 1.25rem;overflow:hidden;transform:rotate(-1.5deg)}.rpt-empty-doc-bar{position:absolute;top:0;left:0;right:0;height:6px;background:var(--brand-gradient-flat)}.rpt-empty-doc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-top:.35rem}.rpt-empty-doc-titles{display:flex;flex-direction:column;gap:.3rem}.rpt-empty-brand{display:block;width:84px;height:9px;border-radius:var(--r-xs);background:var(--accent);opacity:.85}.rpt-empty-sub{display:block;width:54px;height:6px;border-radius:var(--r-xs);background:var(--surface-3)}.rpt-empty-tag{font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.055em;color:var(--accent);border:1px solid var(--accent);border-radius:var(--r-xs);padding:.08rem .24rem}.rpt-empty-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;margin:1rem 0}.rpt-empty-kpis span{height:26px;border-radius:var(--r-sm);background:var(--surface-3)}.rpt-empty-lines{display:flex;flex-direction:column;gap:.5rem}.rpt-empty-lines span{height:6px;border-radius:var(--r-xs);background:var(--surface-3)}.rpt-empty-lines .is-title{height:8px;width:45%;background:var(--accent-light)}.rpt-empty-lines .is-short{width:62%}.rpt-empty-copy{max-width:340px}.rpt-empty-title{font-family:var(--font-display);font-size:var(--fs-2xl);color:var(--ink);margin-bottom:.6rem}.rpt-empty-text{font-size:var(--fs-md);line-height:1.55;color:var(--muted);margin:0 0 1.1rem}.rpt-empty-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.rpt-empty-steps li{display:flex;align-items:center;gap:.6rem;font-size:var(--fs-md);color:var(--ink-2)}.rpt-empty-step-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border-radius:50%;background:var(--accent-light);color:var(--accent-text);font-size:var(--fs-sm);font-weight:var(--fw-label)}@media(max-width:639px){.rpt-empty{flex-direction:column;gap:1.75rem;text-align:center}.rpt-empty-steps li{justify-content:center}}.rpt-export-bar{display:flex;align-items:center;gap:.625rem;padding:.625rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.rpt-export-label{font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-right:.25rem}.rpt-document{flex:1;overflow-y:auto;padding:1.5rem 2rem;background:var(--surface);font-size:var(--fs-md)}.rpt-doc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid var(--accent)}.rpt-doc-header-brand{display:flex;align-items:center}.rpt-doc-logo-img{max-height:52px;max-width:200px;object-fit:contain;display:block}.rpt-doc-brand{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-display);color:var(--accent)}.rpt-doc-subtitle{font-size:var(--fs-sm);color:var(--muted);margin-top:2px}.rpt-doc-type{font-size:var(--fs-md);font-weight:var(--fw-label);color:var(--ink);text-align:right}.rpt-doc-date{font-size:var(--fs-sm);color:var(--muted);text-align:right;margin-top:2px}.rpt-doc-meta-row{display:flex;gap:2rem;flex-wrap:wrap;margin-bottom:1rem;font-size:var(--fs-base);color:var(--ink-2)}.rpt-divider{border:none;border-top:1px solid var(--border);margin:1rem 0}.rpt-section-title{font-family:var(--font-display);font-size:var(--fs-base);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:1.25rem 0 .625rem;padding-bottom:.35rem;border-bottom:1px solid var(--border)}.rpt-kpi-grid{display:flex;gap:.625rem;flex-wrap:wrap;margin-bottom:.75rem}.rpt-kpi-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:.625rem .875rem;min-width:110px}.rpt-kpi-label{font-size:var(--fs-xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);display:block;margin-bottom:.25rem}.rpt-kpi-value{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-display);line-height:1;letter-spacing:-.01em}.rpt-kpi-unit{font-size:var(--fs-xs);color:var(--muted);font-weight:500}.rpt-doc-footer{display:flex;justify-content:space-between;margin-top:2rem;padding-top:.75rem;border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--muted)}@media print{.app-header,.rpt-builder,.rpt-shell .page-header,.rpt-export-bar{display:none!important}.rpt-shell{display:block;height:auto}.rpt-preview{display:block;overflow:visible}.rpt-document{overflow:visible;padding:0;background:var(--surface)}.rpt-doc-header,.rpt-section-title{break-after:avoid}table{break-inside:auto}tr{break-inside:avoid}}@media(max-width:639px){.rpt-shell{flex-direction:column;height:auto}.rpt-builder{width:100%}.rpt-document{padding:1rem}.rpt-kpi-grid{flex-direction:column}}.rpt-doc-industry{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-weight:var(--fw-label);margin-top:4px}.rpt-doc-ref{font-size:var(--fs-sm);color:var(--muted);margin-top:2px;font-family:var(--font-mono)}.rpt-section-block{margin-bottom:1.25rem}.rpt-table-wrap{overflow-x:auto;margin-top:.5rem}.rpt-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);line-height:1.4}.rpt-table th{background:var(--accent);color:var(--on-accent);font-weight:var(--fw-label);text-transform:capitalize;text-align:left;padding:.5rem .625rem;font-size:var(--fs-sm);letter-spacing:.02em;white-space:nowrap}.rpt-table td{padding:.4rem .625rem;border-bottom:1px solid var(--border);color:var(--ink-2);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpt-table tbody tr:nth-child(2n){background:var(--surface-2)}.rpt-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.rpt-table-kv th{width:35%;background:var(--surface-2);color:var(--ink);font-weight:var(--fw-label);text-transform:capitalize;border-bottom:1px solid var(--border)}.rpt-table-kv td{border-bottom:1px solid var(--border)}.rpt-table-note{font-size:var(--fs-sm);color:var(--muted);margin-top:.35rem;font-style:italic}.rpt-flow-totals{display:flex;flex-direction:column;gap:1.5rem}.rpt-flow-site-block{border:1px solid var(--border, var(--border));border-radius:var(--r);padding:1rem 1.2rem;background:var(--surface, #fff)}.rpt-flow-site-name{font-size:var(--fs-lg);font-weight:var(--fw-label);color:var(--ink);margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--border, var(--border))}.rpt-flow-interval-block{margin-top:.75rem}.rpt-flow-interval-label{font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--ink-2, var(--ink-2));text-transform:uppercase;letter-spacing:.03em;margin-bottom:.35rem}.rpt-list{padding-left:1.2rem;margin:.4rem 0 0;font-size:var(--fs-base);color:var(--ink-2)}.rpt-list li{padding:.2rem 0}.rpt-list-more{color:var(--muted);font-style:italic}.rpt-section-empty{color:var(--muted);font-size:var(--fs-base);font-style:italic;margin:.4rem 0 0}.rpt-section-text{font-size:var(--fs-base);color:var(--ink-2);margin:.4rem 0 0}.rpt-exo{display:flex;flex-direction:column;gap:.875rem}.rpt-exo-lede{font-size:var(--fs-base);color:var(--ink-2);margin:0}.rpt-exo-subtitle{font-size:var(--fs-xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:.25rem 0 0}.rpt-exo-table th{text-transform:none}.rpt-exo-table tbody tr.is-report{background:var(--accent-light)}.rpt-exo-table tbody tr.is-report td{color:var(--accent-text);font-weight:var(--fw-label)}.rpt-exo-table td{max-width:none}.rpt-exo-tag{display:inline-block;margin-left:.4rem;padding:1px 6px;border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.04em;text-transform:uppercase}.rpt-exo-kind{display:block;font-size:var(--fs-2xs);color:var(--muted);letter-spacing:.03em}.rpt-exo-compare{display:flex;flex-direction:column;gap:.5rem}.rpt-exo-compare-row{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;font-size:var(--fs-sm)}.rpt-exo-compare-label{font-weight:var(--fw-label);color:var(--ink);min-width:0}.rpt-exo-compare-empty{color:var(--muted);font-style:italic}.rpt-exo-chip{display:inline-flex;align-items:baseline;gap:.3rem;padding:2px 8px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.rpt-exo-delta{font-weight:var(--fw-label);color:var(--ink)}.rpt-exo-delta.is-better{color:var(--success-text)}.rpt-exo-delta.is-worse{color:var(--danger-text)}.rpt-exo-delta.is-neutral{color:var(--ink-2)}.rpt-exo-delta.is-flat{color:var(--muted);font-weight:400}.rpt-diag{display:flex;flex-direction:column;gap:.875rem}.rpt-diag-chips{display:flex;flex-wrap:wrap;gap:.4rem .5rem;margin:.5rem 0}.rpt-diag-chip{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--r-sm);padding:.3rem .625rem}.rpt-diag-chip-label{display:block;font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.rpt-diag-chip-value{font-size:var(--fs-md);color:var(--ink);font-variant-numeric:tabular-nums}.rpt-diag-chip-unit{font-size:var(--fs-2xs);color:var(--muted)}.rpt-diag-risk-row{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-top:.25rem}.rpt-diag-risk-text{font-size:var(--fs-sm);color:var(--ink-2)}.rpt-risk-badge{display:inline-block;padding:1px 8px;border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.05em;text-transform:uppercase}.rpt-risk-badge.is-low{background:var(--success-light);color:var(--success-text)}.rpt-risk-badge.is-moderate{background:var(--warning-light);color:var(--warning-text)}.rpt-risk-badge.is-high{background:var(--danger-light);color:var(--danger-text)}.rpt-diag-geometry{font-size:var(--fs-sm);color:var(--ink-2);margin:.25rem 0 0}.rpt-diag-profile{margin-top:.5rem}.rpt-diag-profile svg{display:block;width:100%;max-width:520px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2)}.rpt-diag-flags{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.25rem;font-size:var(--fs-sm);color:var(--ink-2)}.rpt-diag-flag-when{color:var(--muted);font-variant-numeric:tabular-nums}.rpt-diag-notes{list-style:none;padding:0;margin:.4rem 0 0;display:flex;flex-direction:column;gap:.5rem}.rpt-diag-notes li{border-left:3px solid var(--border);padding-left:.625rem;font-size:var(--fs-sm);color:var(--ink-2)}.rpt-diag-note-title{font-weight:var(--fw-label);color:var(--ink)}.rpt-diag-note-meta{display:block;font-size:var(--fs-2xs);color:var(--muted);margin-top:2px}.rpt-processing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;padding:3.5rem 1.5rem;width:100%}.rpt-processing-title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-display);color:var(--ink)}.rpt-processing-meta{font-size:var(--fs-sm);color:var(--muted)}.rpt-processing-stage{font-size:var(--fs-base);color:var(--ink-2);min-height:1.4em}.rpt-processing-elapsed{font-size:var(--fs-sm);color:var(--muted);font-family:var(--font-mono)}.rpt-progress{position:relative;width:min(340px,80%);height:6px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);overflow:hidden;margin:.35rem 0}.rpt-progress-sweep{position:absolute;inset-block:0;width:36%;border-radius:var(--r-pill);background:var(--accent);animation:rpt-progress-sweep 1.4s var(--ease) infinite}@keyframes rpt-progress-sweep{0%{left:-36%}to{left:100%}}.rpt-export-progress{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--fs-sm);color:var(--muted)}.rpt-export-progress .rpt-progress{width:90px;height:4px;margin:0}@media(prefers-reduced-motion:reduce){.rpt-progress-sweep{animation:none;left:0;width:100%;opacity:.5}}.user-status-badge{display:inline-flex;align-items:center;font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.05em;padding:.2rem .55rem;border-radius:var(--r-pill)}.user-status-active{background:var(--success-light);color:var(--success-text);border:1px solid rgba(22,163,74,.3)}.user-status-suspended{background:var(--danger-light);color:var(--danger);border:1px solid rgba(220,38,38,.3)}.btn-warning{background:var(--warning, var(--warning));color:#fff;border:1px solid transparent}.btn-warning:hover{background:var(--warning)}.btn-success{background:var(--success, var(--success));color:#fff;border:1px solid transparent}.btn-success:hover{background:var(--success-text)}.btn-danger{background:var(--danger, var(--danger));color:#fff;border:1px solid transparent}.btn-danger:hover{background:var(--danger-text)}.btn-danger-outline{background:transparent;color:var(--danger, var(--danger));border:1px solid var(--danger, var(--danger))}.btn-danger-outline:hover{background:var(--danger-light)}.sites-table tbody tr:hover td{background:var(--accent-light)}@media(max-width:899px){.admin-section-grid{grid-template-columns:1fr}}@media(max-width:639px){.sites-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}}.sites-table tbody tr.table-row-oos td{background:#f0f1f4;color:var(--muted);opacity:.8}.sites-table tbody tr.table-row-oos:hover td{background:#e8eaee}.oos-service-note{margin:.4rem 0 0;padding:.4rem .6rem;background:#d9770612;border-left:3px solid rgba(217,119,6,.4);border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:var(--fs-sm);color:var(--ink-2);white-space:pre-wrap;line-height:1.45}.table-oos-label{font-size:var(--fs-xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.06em;color:var(--warning-text);margin-top:.2rem}.table-service-note{margin-top:.25rem;font-size:var(--fs-sm);color:var(--ink-2);font-style:italic;white-space:pre-wrap}.service-note-row td{background:#d977060d;padding:.5rem 1rem .75rem;border-top:none}.service-note-editor{display:flex;flex-direction:column;gap:.4rem}.service-note-label{font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--warning-text)}.service-note-hint{font-weight:400;color:var(--muted)}.service-note-input-row{display:flex;gap:.5rem;align-items:flex-start}.service-note-textarea{flex:1;padding:.45rem .65rem;font-size:var(--fs-base);font-family:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);resize:vertical;line-height:1.5}.service-note-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.app-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.25rem .75rem;padding:.7rem 1.75rem;font-size:var(--fs-sm);color:var(--muted);border-top:1px solid rgba(20,112,106,.16);background:linear-gradient(180deg,#fff,#f3f7f6);letter-spacing:.01em}.app-footer a{color:var(--accent);text-decoration:none;font-weight:500}.app-footer a:hover{color:var(--accent-hover);text-decoration:underline}.app-footer-sep{color:var(--border-strong);-webkit-user-select:none;user-select:none}.app-footer-ops{display:none}.scada-site-card-oos{border-top-color:var(--warning)!important;opacity:1!important}.scada-site-card-oos .scada-site-card-header{background:#d9770612}.scada-card-oos-strip{display:flex;align-items:center;gap:.35rem;background:#d977061c;border-bottom:1px solid rgba(217,119,6,.25);color:var(--warning-text);font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.07em;padding:.3rem 1rem}.scada-card-service-note{margin:0 0 .375rem;padding:.375rem .625rem;background:#d9770612;border-left:3px solid rgba(217,119,6,.4);border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:var(--fs-sm);color:var(--ink-2);white-space:pre-wrap;line-height:1.45}.dash-compact-row-oos td{background:#d977060a}.dash-compact-row-oos:hover td{background:#d9770617!important}.analytics-count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.18rem .55rem;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-label);font-variant-numeric:tabular-nums}.analytics-count-login{background:var(--accent-light);color:var(--accent-text);border:1px solid rgba(13,124,114,.3)}.analytics-count-pv{background:var(--success-light);color:var(--success-text);border:1px solid rgba(22,163,74,.3)}.analytics-ip-chip{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:.1rem .45rem;color:var(--ink-2);white-space:nowrap}.analytics-page-row{display:flex;align-items:center;gap:.4rem;font-size:var(--fs-sm)}.analytics-page-path{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.analytics-page-count{font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--accent);white-space:nowrap;flex-shrink:0}.analytics-ua-cell{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-count-export{background:var(--warning-light);color:var(--warning-text);border:1px solid rgba(217,119,6,.3)}.analytics-count-admin{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border-strong)}.analytics-count-fail{background:var(--danger-light);color:var(--danger);border:1px solid rgba(220,38,38,.3)}.analytics-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.analytics-range{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.6rem}.analytics-field{display:flex;flex-direction:column;gap:.25rem}.analytics-field>span{font-family:var(--font-label);font-weight:500;font-size:var(--fs-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.analytics-range-echo{font-size:var(--fs-sm);color:var(--muted);padding-bottom:.45rem;white-space:nowrap}.analytics-presets,.analytics-exports{display:flex;flex-wrap:wrap;gap:.4rem}.analytics-exports{margin-left:auto}.analytics-alert{margin:.875rem 0 0;padding:.6rem .8rem;border-radius:var(--r-md);font-size:var(--fs-base);line-height:1.45}.analytics-alert-error{background:var(--danger-light);color:var(--danger);border:1px solid rgba(220,38,38,.25)}.analytics-alert-warn{background:var(--warning-light);color:var(--warning-text);border:1px solid rgba(217,119,6,.25)}.analytics-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin-top:1rem}.analytics-kpi{display:flex;flex-direction:column;gap:.15rem;padding:.75rem .9rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.analytics-kpi-value{font-size:var(--fs-3xl);font-weight:var(--fw-display);line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}.analytics-kpi-label{font-family:var(--font-label);font-weight:500;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.analytics-kpi-warn .analytics-kpi-value{color:var(--warning-text)}.analytics-kpi-warn{border-color:#d977064d}.analytics-chip-stack{display:flex;flex-wrap:wrap;gap:.25rem;max-width:15rem}.analytics-net-tag{display:inline-block;padding:.1rem .45rem;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:500;white-space:nowrap;background:var(--accent-light);color:var(--accent-text)}.analytics-net-tag-internal{background:var(--warning-light);color:var(--warning-text)}.analytics-demo-badge{display:inline-block;margin-left:.4rem;padding:.05rem .4rem;border-radius:var(--r-pill);font-family:var(--font-label);font-size:var(--fs-2xs);font-weight:500;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;background:var(--accent-light);color:var(--accent-text);border:1px solid rgba(13,124,114,.3)}.analytics-hint{margin:0 0 .75rem;font-size:var(--fs-sm)}.analytics-num{text-align:right;font-variant-numeric:tabular-nums}.analytics-event-badge,.analytics-nowrap{white-space:nowrap}.analytics-log-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.analytics-log-head h3{margin:0;padding-bottom:0;border-bottom:none}.analytics-log-count{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.analytics-chart{margin-top:1.25rem;padding:.9rem 1rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.analytics-chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.7rem}.analytics-chart-title{font-family:var(--font-label);font-weight:500;font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.analytics-chart-readout{display:flex;align-items:baseline;gap:.4rem;min-height:1.4rem}.analytics-chart-readout-value{font-size:var(--fs-xl);font-weight:var(--fw-display);color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.analytics-chart-readout-label{font-size:var(--fs-sm);color:var(--muted)}.analytics-chart-plot{display:flex;align-items:flex-end;gap:2px;height:5.5rem;border-bottom:1px solid var(--border-strong);padding-bottom:1px}.analytics-chart-slot{flex:1 1 0;max-width:24px;height:100%;display:flex;align-items:flex-end;cursor:default}.analytics-chart-bar{width:100%;background:var(--accent);border-radius:var(--r-xs) var(--r-xs) 0 0;transition:background var(--dur-1) var(--ease)}.analytics-chart-slot:hover .analytics-chart-bar,.analytics-chart-slot.is-hovered .analytics-chart-bar{background:var(--accent-hover)}.analytics-chart-bar.is-empty{background:var(--border-strong)}.analytics-chart-axis{display:flex;justify-content:space-between;margin-top:.4rem;font-size:var(--fs-2xs);color:var(--muted)}.analytics-chart-empty{margin:0;font-size:var(--fs-sm)}.analytics-log-controls{display:flex;flex-direction:column;gap:.6rem;margin:.875rem 0}.analytics-log-search{width:100%;max-width:26rem;padding:.45rem .7rem;font-size:var(--fs-base);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--ink)}.analytics-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.analytics-filter-label{font-family:var(--font-label);font-weight:500;font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:.15rem}.analytics-filter-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--fw-body);cursor:pointer;transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.analytics-filter-chip:hover{border-color:var(--accent);color:var(--accent)}.analytics-filter-chip.is-on{background:var(--accent-light);border-color:var(--accent);color:var(--accent-text);font-weight:var(--fw-label)}.analytics-filter-count{font-size:var(--fs-2xs);color:var(--muted);font-variant-numeric:tabular-nums}.analytics-filter-chip.is-on .analytics-filter-count{color:var(--accent)}.analytics-filter-reset{background:none;border:none;padding:.25rem .3rem;font-size:var(--fs-sm);color:var(--accent);cursor:pointer;text-decoration:underline}.analytics-log-more{display:flex;justify-content:center;padding-top:.875rem}.analytics-sort{display:inline-flex;align-items:center;gap:.25rem;background:none;border:none;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.analytics-sort:hover,.analytics-sort.is-active{color:var(--accent)}.analytics-sort-caret{font-size:var(--fs-2xs);min-width:.5rem}.analytics-account{min-width:10rem}.analytics-person{cursor:pointer}.analytics-person.is-selected td{background:var(--accent-light);box-shadow:inset 2px 0 0 var(--accent)}.analytics-share{display:block;width:4.5rem;height:.35rem;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.analytics-share-fill{display:block;height:100%;border-radius:var(--r-pill);background:var(--accent)}.analytics-open-hint{font-size:var(--fs-sm);color:var(--accent);white-space:nowrap}.analytics-user-link{background:none;border:none;padding:0;font:inherit;font-weight:var(--fw-label);color:var(--accent);cursor:pointer}.analytics-user-link:hover{text-decoration:underline}.analytics-history{grid-column:1 / -1;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.analytics-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.analytics-history-title{margin:0;padding-bottom:0;border-bottom:none;font-size:var(--fs-2xl);font-weight:var(--fw-display);color:var(--accent)}.analytics-history-sub{margin:.2rem 0 0;font-size:var(--fs-sm);color:var(--muted)}.analytics-history-actions{display:flex;gap:.4rem;flex-wrap:wrap}.analytics-history-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.75rem,1fr));gap:.6rem;margin-bottom:1rem}.analytics-history-stat{display:flex;flex-direction:column;gap:.1rem;padding:.6rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.analytics-history-stat-value{font-size:var(--fs-2xl);font-weight:var(--fw-display);line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}.analytics-history-stat-label{font-family:var(--font-label);font-weight:500;font-size:var(--fs-2xs);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.analytics-history-stat-warn{border-color:#d977064d}.analytics-history-stat-warn .analytics-history-stat-value{color:var(--warning-text)}.analytics-history-facts{display:grid;gap:.5rem;padding:.75rem .9rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.analytics-fact{display:flex;gap:.75rem;align-items:baseline;flex-wrap:wrap}.analytics-fact-label{flex:0 0 8rem;font-family:var(--font-label);font-weight:500;font-size:var(--fs-2xs);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.analytics-fact-value{flex:1 1 12rem;font-size:var(--fs-base);color:var(--ink-2)}.analytics-fact-value .analytics-chip-stack,.analytics-session-summary .analytics-chip-stack{max-width:none;align-items:center}.analytics-top-page{display:inline-flex;align-items:center;gap:.35rem;padding:.1rem .5rem;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border-strong);font-size:var(--fs-sm);color:var(--ink-2)}.analytics-history-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:1rem 0 .5rem}.analytics-history-empty,.analytics-history-footnote{margin:.75rem 0 0;font-size:var(--fs-sm);color:var(--muted)}.analytics-timeline{display:flex;flex-direction:column;gap:1rem;margin-top:.75rem}.analytics-timeline-day{display:flex;flex-direction:column;gap:.5rem}.analytics-timeline-daylabel{font-family:var(--font-label);font-weight:500;font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-bottom:.3rem;border-bottom:1px solid var(--border)}.analytics-session{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);overflow:hidden;transition:border-color var(--dur-2) var(--ease)}.analytics-session.is-open{border-color:var(--border-strong)}.analytics-session-head{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem .8rem;background:var(--surface-2);border:none;text-align:left;cursor:pointer;font:inherit}.analytics-session-head:hover{background:var(--accent-light)}.analytics-session-time{font-family:var(--font-mono);font-size:var(--fs-base);color:var(--ink);white-space:nowrap;flex-shrink:0}.analytics-session-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex:1 1 auto;font-size:var(--fs-sm);color:var(--muted)}.analytics-session-count{color:var(--ink-2);font-weight:var(--fw-label);font-variant-numeric:tabular-nums}.analytics-session-dot:before{content:"";display:inline-block;width:3px;height:3px;margin-right:.5rem;border-radius:50%;background:var(--border-strong);vertical-align:middle}.analytics-session-chevron{color:var(--muted);font-size:var(--fs-sm);flex-shrink:0}.analytics-session-summary:not(:empty){display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.5rem .8rem;border-top:1px solid var(--border);font-size:var(--fs-sm)}.analytics-site-chip{display:inline-block;padding:.1rem .5rem;border-radius:var(--r-pill);background:var(--accent-light);color:var(--accent-text);font-size:var(--fs-sm)}.analytics-session-highlights{color:var(--warning-text);font-weight:var(--fw-label)}.analytics-session-items{list-style:none;margin:0;padding:.3rem 0;border-top:1px solid var(--border)}.analytics-session-item{display:flex;align-items:baseline;gap:.65rem;padding:.28rem .8rem;font-size:var(--fs-base)}.analytics-session-item:hover{background:var(--surface-2)}.analytics-session-itemtime{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;flex-shrink:0;min-width:3rem}.analytics-session-itemtext{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis}@media(max-width:639px){.analytics-fact-label{flex-basis:100%}.analytics-session-head{flex-wrap:wrap}}.ops-workspace{display:flex;flex-direction:column;gap:0;min-height:100%}.ops-site-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.ops-site-name{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-display);color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-alarm-banner{background:#dc26260d;border-top:4px solid var(--danger);border-bottom:1px solid rgba(220,38,38,.2);padding:.75rem 1.25rem}.ops-alarm-banner-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;font-weight:var(--fw-label);color:var(--danger-text);font-size:var(--fs-md)}.ops-alarm-banner-items{display:flex;flex-direction:column;gap:.35rem}.ops-alarm-item{display:flex;align-items:center;gap:.75rem;font-size:var(--fs-base);padding:.375rem .625rem;background:#ffffffd9;border:1px solid rgba(220,38,38,.12);border-radius:var(--r);flex-wrap:wrap}.ops-alarm-rule{font-weight:var(--fw-label);color:var(--danger-text);flex:1;min-width:120px}.ops-alarm-thresh{color:var(--danger-text);opacity:.85}.ops-alarm-val{font-weight:var(--fw-label);color:var(--danger-text);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ops-alarm-time{color:var(--muted);font-size:var(--fs-sm);margin-left:auto;font-family:var(--font-mono)}.ops-ack-btn{padding:.25rem .7rem;background:var(--danger);color:#fff;border:none;border-radius:var(--r);font-size:var(--fs-sm);font-weight:var(--fw-label);cursor:pointer;flex-shrink:0;transition:background .15s}.ops-ack-btn:hover:not(:disabled){background:var(--danger-text)}.ops-ack-btn:disabled{opacity:.5;cursor:not-allowed}.ops-ack-all-btn{padding:.3rem .85rem;background:var(--danger-text);color:#fff;border:none;border-radius:var(--r);font-size:var(--fs-base);font-weight:var(--fw-label);cursor:pointer;margin-left:auto;transition:background .15s}.ops-ack-all-btn:hover:not(:disabled){background:var(--danger-text)}.ops-ack-all-btn:disabled{opacity:.5}.ops-kpi-bar{display:flex;gap:0;background:var(--surface);border-bottom:1px solid var(--border)}.ops-kpi-tile{--kpi-accent: var(--accent);flex:1;min-width:0;padding:.875rem .875rem .75rem;border-right:1px solid var(--border);text-align:left;display:flex;flex-direction:column;gap:.3rem;position:relative;transition:background var(--dur-2) var(--ease)}.ops-kpi-tile:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--kpi-accent);opacity:.85}.ops-kpi-tile:hover{background:var(--surface-2)}.ops-kpi-tile:last-child{border-right:none}.ops-kpi-label{display:block;font-size:var(--fs-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.055em;color:var(--ink-2);font-family:var(--font-label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-kpi-readout{display:flex;align-items:baseline;gap:.3rem;min-width:0}.ops-kpi-value{font-family:var(--font-mono);font-size:var(--fs-3xl);font-weight:var(--fw-display);color:var(--ink);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ops-kpi-unit{font-size:var(--fs-sm);font-weight:400;color:var(--ink-2);white-space:nowrap}.ops-kpi-nodata{font-size:var(--fs-sm);line-height:1.35;color:var(--muted)}.ops-kpi-readout{min-height:var(--fs-3xl)}.ops-kpi-trend{display:inline-flex;align-items:baseline;gap:.3rem;font-size:var(--fs-xs);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-2);letter-spacing:.01em;flex-wrap:wrap}.ops-kpi-trend .ops-kpi-trend-arrow,.ops-kpi-trend>:not(.ops-kpi-trend-window){white-space:nowrap}.ops-kpi-trend-arrow{font-size:var(--fs-2xs);line-height:1;color:var(--ink-2)}.ops-kpi-trend-flat,.ops-kpi-trend-flat .ops-kpi-trend-arrow{color:var(--muted)}.ops-kpi-trend-window{color:var(--muted);font-family:var(--font-body);font-size:var(--fs-xs)}.ops-kpi-note{font-size:var(--fs-xs);color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ops-kpi-spark{display:block;margin-top:auto;padding-top:.35rem}.ops-kpi-tile .spark-empty{background:none}.ops-date-bar{display:flex;align-items:center;gap:.5rem;padding:.6rem .875rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm);flex-wrap:wrap}.ops-date-inputs{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.ops-date-inputs input[type=datetime-local]{width:auto;font-size:var(--fs-base);padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink)}.ops-preset-group{display:flex;gap:.25rem}.ops-preset-btn{padding:.28rem .65rem;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r);font-size:var(--fs-base);font-weight:var(--fw-label);cursor:pointer;color:var(--ink-2);transition:background .15s,color .15s,border-color .15s}.ops-preset-btn:hover{background:#0d7c722e;color:var(--accent);border-color:var(--accent)}.ops-preset-btn.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.ops-date-sep{color:var(--muted);font-size:var(--fs-md);margin:0 .15rem}.ops-main-chart{background:var(--surface);border-bottom:1px solid var(--border);padding:1.25rem 1.5rem .75rem}.ops-chart-header{display:flex;align-items:baseline;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.ops-chart-title{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:var(--fw-label);color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em}.ops-chart-meta{font-size:var(--fs-sm);color:var(--muted)}.ops-secondary-section{background:var(--surface);flex:1;min-height:0}.ops-secondary-section .fs-tab-bar{border-radius:0;border-top:none}.ops-tab-content{overflow-y:auto}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--danger);color:#fff;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-label);margin-left:.35rem;line-height:1;animation:tab-badge-pulse 2s ease-in-out infinite}@keyframes tab-badge-pulse{0%,to{opacity:1}50%{opacity:.75}}.ops-rule-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);font-size:var(--fs-base)}.ops-rule-row:last-child{border-bottom:none}.ops-rule-name{flex:1;font-weight:var(--fw-label)}.ops-rule-condition{color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-sm)}.ops-rule-status-on{color:var(--success-text);font-weight:var(--fw-label)}.ops-rule-status-off{color:var(--muted);font-weight:var(--fw-label)}@media(max-width:639px){.ops-kpi-bar{flex-wrap:wrap}.ops-kpi-tile{flex:1 1 50%;border-bottom:1px solid var(--border)}.ops-date-bar{gap:.35rem}}.calib-toggle-label{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--fs-sm);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.calib-markers-legend{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem;font-size:var(--fs-sm);color:var(--muted)}.calib-markers-legend-title{font-weight:var(--fw-label);color:var(--ink-2)}.calib-marker-chip{background:var(--warning-light);color:var(--warning-text);border:1px solid rgba(217,119,6,.25);border-radius:var(--r);padding:.15rem .45rem;font-size:var(--fs-sm)}.secondary-chart-section{margin-top:1.25rem;border-top:1px solid var(--border);padding-top:.75rem}.secondary-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:.75rem}.secondary-chart-title{font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--ink-2)}.analysis-table-wrap{overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--border)}.analysis-table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.analysis-table th{background:var(--surface-2);padding:.45rem .65rem;text-align:left;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap;border-bottom:1px solid var(--border-strong)}.analysis-table td{padding:.4rem .65rem;border-bottom:1px solid var(--border);vertical-align:top}.analysis-table tbody tr:last-child td{border-bottom:none}.analysis-table tbody tr:hover{background:var(--surface-2)}.trade-event-row.trade-event-high td{border-left:3px solid var(--danger)}.trade-event-row.trade-event-medium td{border-left:3px solid var(--warning)}.trade-event-row.trade-event-low td{border-left:3px solid var(--muted)}.tw-severity-badge{font-weight:var(--fw-label);font-size:var(--fs-sm);letter-spacing:.05em}.analysis-subheading{font-size:var(--fs-md);font-weight:var(--fw-label);color:var(--ink-2);margin:.75rem 0 .5rem;letter-spacing:.01em}.calib-table{min-width:500px}.calib-form{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;max-width:640px}.calib-form label{display:flex;flex-direction:column;gap:.25rem;font-size:var(--fs-base);font-weight:500;color:var(--ink-2)}.calib-form input,.calib-form select,.calib-form textarea{font-size:var(--fs-base);padding:.4rem .6rem;border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);outline:none;transition:border-color .15s;font-family:inherit}.calib-form input:focus,.calib-form select:focus,.calib-form textarea:focus{border-color:var(--accent)}.calib-form textarea{resize:vertical;min-height:56px}.calib-form-notes{grid-column:1 / -1}.calib-form .btn{grid-column:1 / -1;justify-self:start;margin-top:.25rem}.ops-kpi-comms .ops-kpi-comms-value{font-size:var(--fs-lg);display:inline-flex;align-items:center;gap:.4rem}.ops-kpi-comms-dot{width:8px;height:8px;border-radius:50%;background:var(--ok, var(--success));flex:none}.ops-kpi-comms-fresh .ops-kpi-comms-dot{background:var(--ok, var(--success))}.ops-kpi-comms-aging .ops-kpi-comms-dot{background:var(--warn, var(--warning))}.ops-kpi-comms-stale .ops-kpi-comms-dot{background:var(--danger, var(--danger))}.ops-kpi-comms-fresh{--kpi-accent: var(--success)}.ops-kpi-comms-aging{--kpi-accent: var(--warning)}.ops-kpi-comms-stale{--kpi-accent: var(--danger)}.ops-kpi-comms-aging .ops-kpi-value{color:var(--warn, var(--warning-text));-webkit-text-fill-color:var(--warn, var(--warning-text))}.ops-kpi-comms-stale .ops-kpi-value{color:var(--danger, var(--danger));-webkit-text-fill-color:var(--danger, var(--danger))}@supports (-webkit-background-clip: text){.ops-kpi-value{background:linear-gradient(180deg,var(--ink) 58%,var(--brand) 155%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}}.ch-picker-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1rem 1.25rem;box-shadow:var(--shadow-sm);margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:.875rem;align-items:flex-start}.ch-picker-group{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.ch-picker-group-label{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-right:.25rem;white-space:nowrap}.ch-picker-axis-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--r-sm);font-size:var(--fs-2xs);font-weight:var(--fw-label);color:#fff;flex-shrink:0}.ch-picker-pill{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--border-strong);border-radius:var(--r-pill);padding:.28rem .75rem;font-family:inherit;font-weight:var(--fw-label);font-size:var(--fs-base);line-height:1;cursor:pointer;background:transparent;color:var(--muted);transition:all .15s;white-space:nowrap}.ch-picker-pill:hover{border-color:var(--pill-color, var(--accent));color:var(--ink-2);background:color-mix(in srgb,var(--pill-color, var(--accent)) 8%,transparent)}.ch-picker-pill-active{background:color-mix(in srgb,var(--pill-color, var(--accent)) 12%,transparent);border-color:var(--pill-color, var(--accent));color:var(--ink);font-weight:var(--fw-label)}.ch-picker-name{font-weight:var(--fw-label)}.ch-picker-unit{font-size:var(--fs-sm);color:var(--muted);font-weight:400}.ch-picker-pill-active .ch-picker-unit{color:inherit;opacity:.75}.dual-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.375rem 1.375rem 1rem;box-shadow:var(--shadow-sm);margin-bottom:.5rem;transition:border-color .2s,box-shadow .2s}.dual-chart-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.dual-chart-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.875rem;padding-bottom:.875rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.dual-chart-title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-label);color:var(--ink);letter-spacing:.01em;margin-bottom:.2rem}.dual-chart-meta{font-size:var(--fs-sm);color:var(--muted)}.dual-chart-toolbar{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.dual-chart-hint{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap}.rain-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:.75rem 1.375rem .5rem;box-shadow:var(--shadow-sm);margin-bottom:.5rem;transition:border-color .2s}.rain-chart-card:hover{border-color:var(--accent)}.rain-chart-label{font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.09em;color:#6366f1;margin-bottom:.35rem;padding-left:.5rem;border-left:3px solid #6366f1}.chart-stats-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:.5rem;margin-top:.5rem;margin-bottom:1.25rem}.chart-stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:.75rem .875rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.5rem;border-left:3px solid var(--border-strong);transition:box-shadow var(--dur-2) var(--ease),transform var(--dur-2) var(--ease)}.chart-stat-tile:hover{box-shadow:var(--hover-shadow);transform:translateY(var(--hover-lift))}.chart-stat-indicator{display:none}.chart-stat-tile-empty{border-left-style:dashed;background:var(--surface-2, var(--surface));box-shadow:none}.chart-stat-tile-empty:hover{box-shadow:none;transform:none}.chart-stat-tile-empty .chart-stat-name,.chart-stat-tile-empty .chart-stat-unit{color:var(--muted)}.chart-stat-empty-note{font-size:var(--fs-sm);font-weight:var(--fw-body);color:var(--muted);font-style:italic;padding:.35rem 0 .15rem}.chart-stat-head{display:flex;align-items:baseline;gap:.375rem;min-width:0}.chart-stat-name{font-size:var(--fs-base);font-weight:400;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.chart-stat-unit{flex:none;font-family:var(--font-label);font-size:var(--fs-sm);font-weight:500;color:var(--muted);background:var(--surface-3);border-radius:var(--r-sm);padding:.05rem .3rem}.chart-stat-latest{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:var(--fw-display);line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--ink)}.chart-stat-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem .5rem;font-size:var(--fs-sm);padding-top:.4rem;border-top:1px solid var(--border)}.cst{min-width:0}.cst-lbl{font-family:var(--font-label);font-size:var(--fs-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);display:block;margin-bottom:.1rem}.cst-val{font-family:var(--font-mono);font-weight:var(--fw-display);color:var(--ink);font-size:var(--fs-md);font-variant-numeric:tabular-nums;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cst-val-primary{font-weight:400}.chart-tooltip{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:.625rem .875rem;box-shadow:var(--shadow-md);font-size:var(--fs-base);min-width:165px;pointer-events:none}.chart-tooltip-time{font-weight:var(--fw-label);font-size:var(--fs-xs);color:var(--ink-2);margin-bottom:.4rem;padding-bottom:.35rem;border-bottom:1px solid var(--border);white-space:nowrap;font-family:var(--font-mono);letter-spacing:.02em}.chart-tooltip-row{display:flex;align-items:center;gap:.45rem;padding:.2rem 0;white-space:nowrap}.chart-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chart-tooltip-name{flex:1;color:var(--ink-2);font-weight:500;font-size:var(--fs-sm)}.chart-tooltip-val{font-family:var(--font-mono);font-weight:var(--fw-label);color:var(--ink);font-variant-numeric:tabular-nums;font-size:var(--fs-md)}@media(max-width:639px){.chart-stats-strip{gap:.375rem}.chart-stat-tile{min-width:150px}.ch-picker-panel{flex-direction:column;gap:.5rem}}.scatter-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.375rem;box-shadow:var(--shadow-sm);margin-top:.875rem;margin-bottom:.5rem;transition:border-color .2s,box-shadow .2s}.scatter-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.scatter-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.scatter-title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-label);color:var(--ink);letter-spacing:.01em;margin:0 0 .3rem}.scatter-desc{font-size:var(--fs-base);color:var(--ink-2);margin:0;max-width:560px;line-height:1.5}.scatter-colour-by{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}.scatter-colour-by-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.scatter-colour-by-value{font-size:var(--fs-md);font-weight:var(--fw-label);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r);padding:.3rem .75rem}.scatter-colorbar{display:flex;align-items:center;gap:.5rem;justify-content:flex-end;margin-top:.5rem;font-size:var(--fs-sm);color:var(--muted)}.scatter-colorbar-label{font-weight:var(--fw-label);color:var(--ink-2);font-size:var(--fs-base)}.scatter-colorbar-gradient{width:100px;height:12px;border-radius:var(--r-sm);background:linear-gradient(to bottom,#1e3a5f,#aed9ea);flex-shrink:0}.scatter-colorbar-ticks{display:flex;flex-direction:column;justify-content:space-between;height:40px;font-size:var(--fs-sm);color:var(--muted)}.ii-panel{padding:.25rem 0}.ii-rain-source-banner{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem .875rem;background:#0369a126;border:1px solid rgba(3,105,161,.3);border-radius:var(--r-md);font-size:var(--fs-base);color:#0369a1}.ii-stats-top{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}.ii-stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1rem 1.25rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.3rem}.ii-stat-label{font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.ii-stat-value{font-size:var(--fs-4xl);font-weight:var(--fw-display);color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:-.01em}.ii-stat-unit{font-size:var(--fs-xl);font-weight:500;color:var(--muted)}.ii-risk-badge{display:inline-flex;align-items:center;padding:.35rem .875rem;border-radius:var(--r-pill);font-size:var(--fs-base);font-weight:var(--fw-label);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.04em}.ii-risk-critical{background:var(--danger);color:#fff}.ii-risk-high{background:var(--high-risk-text);color:#fff}.ii-risk-moderate{background:var(--warning-text);color:#fff}.ii-risk-low{background:var(--success-text);color:#fff}.ii-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1rem 1.25rem .75rem;box-shadow:var(--shadow-sm);margin-bottom:.875rem;transition:border-color .2s}.ii-chart-card:hover{border-color:var(--accent)}.ii-chart-legend{display:flex;gap:1.25rem;margin-bottom:.625rem;justify-content:flex-end;font-size:var(--fs-base);color:var(--ink-2);flex-wrap:wrap}.ii-legend-item{display:flex;align-items:center;gap:.4rem;color:var(--ink-2)}.ii-legend-bar{display:inline-block;width:14px;height:10px;border-radius:var(--r-xs);flex-shrink:0}.ii-legend-line{display:inline-block;width:18px;height:2px;border-radius:var(--r-xs);flex-shrink:0}.ii-accordion{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:.625rem;overflow:hidden;box-shadow:var(--shadow-sm)}.ii-accordion-header{width:100%;display:flex;align-items:center;padding:.875rem 1.25rem;background:var(--surface-2);border:none;font-family:inherit;font-weight:var(--fw-label);font-size:var(--fs-md);line-height:1;color:var(--ink-2);cursor:pointer;text-align:left;transition:background .15s}.ii-accordion-header:hover{background:var(--accent-light);color:var(--accent-hover)}.ii-accordion-body{padding:1rem 1.25rem;background:var(--surface)}.ii-events-table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.ii-events-table th{text-align:left;padding:.5rem .75rem;font-size:var(--fs-xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface-2)}.ii-events-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;color:var(--ink-2)}.ii-events-table tr:last-child td{border-bottom:none}.ii-flag-card{padding:.875rem 0;border-bottom:1px solid var(--border)}.ii-flag-card:last-child{border-bottom:none}.ii-flag-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.375rem}.ii-flag-desc{font-size:var(--fs-md);color:var(--ink-2);margin:0;line-height:1.5}.ii-severity-badge{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;flex-shrink:0}.ii-severity-critical{background:var(--danger-light);color:var(--danger);border:1px solid rgba(220,38,38,.3)}.ii-severity-high{background:var(--high-risk-light);color:var(--high-risk-text);border:1px solid rgba(234,88,12,.3)}.ii-severity-moderate{background:var(--warning-light);color:var(--warning-text);border:1px solid rgba(217,119,6,.3)}.ii-severity-low{background:var(--success-light);color:var(--success-text);border:1px solid rgba(22,163,74,.3)}.ii-flag-meta{display:flex;flex-wrap:wrap;gap:.4rem;font-size:var(--fs-base);font-weight:var(--fw-label);color:var(--ink-2);margin-bottom:.25rem}.ii-flag-detail{display:flex;flex-wrap:wrap;gap:.4rem;font-size:var(--fs-sm);color:var(--muted)}.ii-correlation-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem;box-shadow:var(--shadow-sm);margin-bottom:.875rem;margin-top:.875rem}.ii-section-heading{font-size:var(--fs-xl);font-weight:var(--fw-label);color:var(--ink);margin:0 0 1rem}.ii-corr-stats{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:.875rem}.ii-corr-tile{display:flex;flex-direction:column;gap:.25rem}.ii-corr-label{font-size:var(--fs-sm);color:var(--muted);font-weight:500;display:flex;align-items:center;gap:.3rem}.ii-help{font-size:var(--fs-2xs);color:var(--muted);cursor:help}.ii-corr-value{font-size:var(--fs-3xl);font-weight:var(--fw-display);color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.01em}.ii-corr-label-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--r-pill);font-size:var(--fs-base);font-weight:var(--fw-label);border:1.5px solid;margin-bottom:.75rem}.ii-corr-strong{color:var(--success-text);border-color:#16a34a66;background:var(--success-light)}.ii-corr-moderate{color:var(--warning-text);border-color:#d9770666;background:var(--warning-light)}.ii-corr-weak{color:var(--muted);border-color:var(--border-strong);background:var(--surface-2)}.ii-corr-desc{font-size:var(--fs-base);color:var(--ink-2);margin:0;line-height:1.6}.ii-recommendations{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem;box-shadow:var(--shadow-sm);margin-bottom:.875rem}.ii-rec-text{font-size:var(--fs-md);color:var(--ink-2);line-height:1.6;margin:0 0 .75rem}.ii-rec-text:last-child{margin-bottom:0}@media(max-width:639px){.ii-stats-top{grid-template-columns:repeat(2,1fr)}.ii-corr-stats{gap:1rem}.ii-stat-value{font-size:var(--fs-3xl)}}.site-card-sparkline-wrap{background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;line-height:0}.site-card-sparkline-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:.25rem .875rem;background:var(--bg);border-bottom:1px solid var(--border);line-height:1}.site-card-sparkline-empty{background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.site-card-sparkline-placeholder{height:28px;background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 40%,var(--surface-2) 80%);background-size:250% 100%;animation:sparkline-shimmer 1.8s ease-in-out infinite;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}@keyframes sparkline-shimmer{0%{background-position:200% center}to{background-position:-200% center}}.site-card-sparkline-none{height:28px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);color:var(--muted);font-family:var(--font-label);font-size:var(--fs-2xs);font-weight:500;letter-spacing:.06em;text-transform:uppercase}@media(prefers-reduced-motion:reduce){.site-card-sparkline-placeholder{animation:none}}.pro-ch-auto-badge{background:var(--accent);color:var(--on-accent);border-radius:var(--r-sm);padding:1px 5px;font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.04em}.site-card-metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}.site-card-metric-cell:last-child:nth-child(odd){grid-column:1 / -1}.site-card-metric-cell{display:flex;flex-direction:column;gap:.1rem;padding:.35rem .5rem;background:var(--surface-2);border-radius:var(--r-sm);border-left:2px solid var(--accent);min-width:0}.site-card-metric-cell.param-flow{border-left-color:var(--param-flow)}.site-card-metric-cell.param-depth{border-left-color:var(--param-depth)}.site-card-metric-cell.param-velocity{border-left-color:var(--param-vel)}.site-card-metric-cell.param-rain{border-left-color:var(--param-rain)}.site-card-metric-cell.param-battery{border-left-color:var(--param-other)}.site-metric-label{font-family:var(--font-label);font-size:var(--fs-2xs);font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);display:flex;align-items:flex-start;gap:.3rem;overflow:hidden}.site-metric-label-text{min-width:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25}.site-card-metric-cell .site-metric-value{margin-top:auto}.site-metric-label .compact-param-dot{flex:none;margin-top:.3em}.site-metric-value{font-family:var(--font-mono);font-size:var(--fs-md);font-weight:var(--fw-label);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.2}.site-metric-unit{font-size:var(--fs-sm);font-weight:500;color:var(--muted)}.fs-view-toggle{display:flex;border:1px solid var(--border-strong);border-radius:var(--r);overflow:hidden;flex-shrink:0}.fs-view-toggle-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;background:var(--surface);border:none;color:var(--muted);font-family:var(--font-body);font-weight:var(--fw-label);font-size:var(--fs-base);line-height:1;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.fs-view-toggle-btn+.fs-view-toggle-btn{border-left:1px solid var(--border-strong)}.fs-view-toggle-btn:hover{background:var(--surface-2);color:var(--ink)}.fs-view-toggle-btn.active{background:var(--accent);color:var(--on-accent);font-weight:var(--fw-label)}.fs-sites-map-wrap{flex:1;min-height:440px;position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);margin-top:.5rem}.fs-map-sitelabel{background:#ffffffeb;color:#1f2937;border:1px solid rgba(15,23,42,.18);border-radius:var(--r-pill);padding:1px 8px;font-size:var(--fs-2xs);font-family:var(--font-label);font-weight:var(--fw-label);box-shadow:0 1px 3px #0000002e;white-space:nowrap}.fs-map-sitelabel:before{display:none}.map-tooltip{display:flex;flex-direction:column;gap:.15rem;font-family:var(--font-body);min-width:140px}.map-tooltip strong{font-size:var(--fs-md);font-weight:var(--fw-label);color:#0f172a}.map-tooltip-sub{font-size:var(--fs-sm);color:var(--ink-2)}.leaflet-container{isolation:isolate}body .leaflet-container,body .leaflet-control-zoom-in,body .leaflet-control-zoom-out{font-family:var(--font-body)}.fs-sites-map-wrap .leaflet-container{z-index:1}@media(max-width:639px){.site-card-metrics-grid{grid-template-columns:1fr}.fs-sites-map-wrap{min-height:300px}.fs-view-toggle-btn{padding:.3rem .5rem;font-size:var(--fs-sm)}}.eng-tooltip{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:.625rem .875rem;box-shadow:var(--shadow-md);font-size:var(--fs-base);min-width:175px;pointer-events:none;font-family:var(--font-body)}.eng-tooltip-ts{font-size:var(--fs-xs);font-weight:var(--fw-label);color:var(--ink-2);margin-bottom:.45rem;padding-bottom:.35rem;border-bottom:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap}.eng-tooltip-rows{display:flex;flex-direction:column;gap:.25rem}.eng-tooltip-row{display:flex;align-items:center;gap:.5rem;padding:.1rem 0;white-space:nowrap}.eng-tooltip-swatch{width:9px;height:9px;border-radius:var(--r-xs);flex-shrink:0}.eng-tooltip-param{flex:1;color:var(--ink-2);font-size:var(--fs-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis}.eng-tooltip-val{font-family:var(--font-mono);font-weight:var(--fw-label);color:var(--ink);font-size:var(--fs-md);font-variant-numeric:tabular-nums;text-align:right}.eng-tooltip-unit{font-size:var(--fs-sm);color:var(--muted);font-weight:400;min-width:24px;text-align:left}.ii-chart-section{margin-bottom:1.5rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.ii-chart-header{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:var(--surface-2);border-bottom:1px solid var(--border);flex-wrap:wrap}.ii-chart-title{font-family:var(--font-label);font-size:var(--fs-xs);font-weight:500;letter-spacing:.055em;color:var(--ink-2);text-transform:uppercase}.ii-chart-subtitle{font-size:var(--fs-sm);color:var(--muted);font-family:var(--font-mono);flex:1}.ii-chart-badge{font-size:var(--fs-xs);font-weight:var(--fw-label);font-family:var(--font-mono);color:var(--accent);background:#0d7c7214;border:1px solid rgba(13,124,114,.18);border-radius:var(--r);padding:.1rem .45rem}.dv-scatter-tab{padding:0}.dv-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.875rem 1rem .5rem;flex-wrap:wrap}.dv-header-text{display:flex;flex-direction:column;gap:.2rem}.dv-header-title{font-family:var(--font-label);font-size:var(--fs-sm);font-weight:500;letter-spacing:.07em;color:var(--ink-2);text-transform:uppercase}.dv-header-sub{font-size:var(--fs-sm);color:var(--muted);font-family:var(--font-mono)}.dv-legend-tod{display:flex;flex-direction:column;gap:.3rem;align-items:flex-end}.dv-legend-tod-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.055em;color:var(--muted);text-transform:uppercase}.dv-tod-swatches{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.dv-tod-swatch{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap}.dv-tod-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.dv-zone-stats{display:flex;gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}.dv-zone-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;text-align:center;border-right:1px solid var(--border)}.dv-zone-stat:last-child{border-right:none}.dv-zone-stat-pct{font-family:var(--font-mono);font-size:var(--fs-3xl);font-weight:var(--fw-display);line-height:1;letter-spacing:-.02em;margin-bottom:.2rem}.dv-zone-stat-label{font-size:var(--fs-sm);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.15rem}.dv-zone-stat-sub{font-size:var(--fs-2xs);color:var(--muted);font-family:var(--font-mono)}.dv-zone-sed .dv-zone-stat-pct{color:var(--warning)}.dv-zone-sed .dv-zone-stat-label{color:var(--warning-text)}.dv-zone-sed{background:#fef3c766}.dv-zone-ok .dv-zone-stat-pct{color:var(--success)}.dv-zone-ok .dv-zone-stat-label{color:var(--success-text)}.dv-zone-ok{background:#dcfce766}.dv-zone-ero .dv-zone-stat-pct{color:var(--danger)}.dv-zone-ero .dv-zone-stat-label{color:var(--danger-text)}.dv-zone-ero{background:#fee2e266}.dv-zone-meta .dv-zone-stat-pct{color:var(--accent)}.dv-zone-meta .dv-zone-stat-label{color:var(--ink-2)}.dv-chart-wrap{padding:.5rem .5rem 0;background:var(--surface)}.dv-methodology-note{margin:0;padding:.75rem 1rem;background:var(--surface-2);border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--ink-2);line-height:1.55}@media(max-width:639px){.dv-zone-stats{flex-wrap:wrap}.dv-zone-stat{flex:1 1 50%}.dv-header{flex-direction:column;align-items:flex-start}.dv-legend-tod{align-items:flex-start}.dv-tod-swatches{justify-content:flex-start}}.nav-link,.form-label,.range-presets-label,.chart-stat-label,.status-chip,.dashboard-filter label,.data-controls-card h3,.nav-section-label{font-family:var(--font-label);font-weight:400}.app-header-spacer{flex:1 1 auto}.app-body{display:flex;flex:1 1 auto;align-items:flex-start;min-height:0;width:100%}.app-sidebar{position:sticky;top:58px;align-self:flex-start;max-height:calc(100vh - 58px);min-height:calc(100vh - 58px);width:224px;flex-shrink:0;display:flex;flex-direction:column;gap:0;padding:1rem .75rem .75rem;overflow-y:auto;background-color:#0c5f59;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 120' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' fill-opacity='0.05' d='M0 46c66 26 132 30 210 8s132-46 190-34v100H0z'/%3E%3Cpath fill='%23ffffff' fill-opacity='0.045' d='M0 72c70 22 140 16 220-4s120-28 180-20v72H0z'/%3E%3C/svg%3E"),radial-gradient(120% 36% at 100% 0%,#06302c73,#06302c00 52%),linear-gradient(172deg,#0c5f59,#14706a 56%,#237b67);background-repeat:no-repeat;background-position:bottom center,top right,center;background-size:100% 132px,100% 340px,cover;border-right:1px solid var(--chrome-border);color:var(--chrome-ink);box-shadow:inset -1px 0 #ffffff0a;transition:width .18s ease;z-index:40}.app-sidebar .app-nav{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;width:100%}.nav-group{display:flex;flex-direction:column;gap:.125rem}.app-nav .nav-group+.nav-group{margin-top:.5rem;padding-top:.6rem;border-top:1px solid rgba(255,255,255,.11)}.nav-group-label{font-family:var(--font-label);font-weight:500;font-size:var(--fs-2xs);line-height:1;letter-spacing:.08em;text-transform:uppercase;color:#fffc;margin:0 0 .3rem;padding:0 .75rem}.app-sidebar .nav-link{display:flex;align-items:center;gap:.625rem;width:100%;min-height:34px;padding:.4rem .625rem .4rem .7rem;border-radius:var(--r-md);color:var(--chrome-ink-soft);font-size:var(--fs-base);line-height:1.1;white-space:nowrap;border-left:2px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.app-sidebar .nav-link svg{opacity:1}.app-sidebar .nav-link:hover:not(.active){background:#ffffff24;color:var(--chrome-ink)}.app-sidebar .nav-link.active{background:var(--surface);color:#0a5a54;border-left-color:transparent;font-weight:500;box-shadow:0 1px 3px #04221f47}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .app-sidebar .nav-link.active{background:var(--accent);color:#06100e;box-shadow:0 1px 3px #00000073}}:root[data-theme=dark] .app-sidebar .nav-link.active{background:var(--accent);color:#06100e;box-shadow:0 1px 3px #00000073}.nav-link-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.nav-link-label{flex:1 1 auto;min-width:0}.nav-link-badge{flex:0 0 auto;min-width:1.25rem;padding:.05rem .3rem;border-radius:var(--r-pill);background:var(--nav-badge-bg, rgba(255, 255, 255, .22));color:var(--nav-badge-ink, var(--chrome-ink));font-size:var(--fs-2xs);font-weight:var(--fw-label);line-height:1.45;text-align:center;font-variant-numeric:tabular-nums}.app-sidebar .nav-link.active{--nav-badge-bg: #0a5a54;--nav-badge-ink: var(--surface)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .app-sidebar .nav-link.active{--nav-badge-bg: #06100e;--nav-badge-ink: var(--accent)}}:root[data-theme=dark] .app-sidebar .nav-link.active{--nav-badge-bg: #06100e;--nav-badge-ink: var(--accent)}@media(min-width:900px){.app-sidebar.collapsed .nav-link-badge{position:absolute;top:.3rem;right:.55rem;min-width:0;width:7px;height:7px;padding:0;overflow:hidden;text-indent:100%;white-space:nowrap;background:var(--warning)}.app-sidebar.collapsed .nav-link{position:relative}}.nav-jump{display:flex;align-items:center;gap:.625rem;width:100%;min-height:34px;margin-bottom:.35rem;padding:.4rem .5rem .4rem .7rem;font-family:var(--font-body);font-weight:var(--fw-body);font-size:var(--fs-base);line-height:1.1;text-align:left;color:var(--chrome-ink-faint);background:#00000029;border:1px solid var(--chrome-border);border-radius:var(--r-md);cursor:pointer;transition:background var(--dur-2) var(--ease),color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}.nav-jump:hover{color:var(--chrome-ink);background:#0000003d;border-color:var(--chrome-border-strong)}.nav-jump svg{opacity:.8}.nav-jump:hover svg{opacity:1}.nav-jump-kbd{flex-shrink:0;padding:.1rem .3rem;font-family:var(--font-label);font-weight:var(--fw-label);font-size:var(--fs-2xs);line-height:1.4;color:var(--chrome-ink-faint);background:var(--chrome-fill);border:1px solid var(--chrome-border);border-radius:var(--r-sm)}.nav-group-recents{margin-top:.35rem;padding-top:.6rem;border-top:1px solid var(--chrome-border)}.nav-link-icon-dot:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--chrome-ink-faint)}.app-sidebar .nav-link:hover .nav-link-icon-dot:before,.app-sidebar .nav-link.active .nav-link-icon-dot:before{background:currentColor}.nav-link-label-site{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-foot{margin-top:auto;padding-top:.6rem;border-top:1px solid var(--chrome-border);display:flex;flex-direction:column;gap:.125rem}.app-user{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem .6rem}.app-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:#ffffff29;box-shadow:inset 0 0 0 1px var(--chrome-border-strong);color:#fff;font-size:var(--fs-base);font-weight:var(--fw-label)}.app-user-meta{display:flex;flex-direction:column;min-width:0}.app-user-name{font-size:var(--fs-base);color:var(--chrome-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-user-role{font-family:var(--font-label);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--chrome-ink-faint)}.nav-signout,.sidebar-collapse-btn{display:flex;align-items:center;gap:.625rem;width:100%;min-height:32px;padding:.4rem .625rem .4rem .7rem;border:none;border-radius:var(--r-md);background:transparent;color:var(--chrome-ink-soft);font-family:inherit;font-size:var(--fs-base);cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.nav-signout:hover{background:#dc262652;color:#fff}.sidebar-collapse-btn:hover{background:var(--chrome-fill);color:var(--chrome-ink)}.sidebar-collapse-icon{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;transition:transform .18s ease}.app-body>.app-main{flex:1 1 auto;min-width:0}.app-body>.app-main:not(.app-main-ops){width:auto;max-width:none;margin:0;padding:1.25rem 1.5rem}@media(min-width:900px){.app-sidebar.collapsed{width:60px;padding-left:.5rem;padding-right:.5rem}.app-sidebar.collapsed .nav-group-label,.app-sidebar.collapsed .nav-link-label,.app-sidebar.collapsed .nav-jump-kbd,.app-sidebar.collapsed .app-user-meta{display:none}.app-sidebar.collapsed .nav-link,.app-sidebar.collapsed .nav-jump,.app-sidebar.collapsed .nav-signout,.app-sidebar.collapsed .sidebar-collapse-btn{justify-content:center;gap:0;padding-left:0;padding-right:0}.app-sidebar.collapsed .app-user{justify-content:center;padding-left:0;padding-right:0}.app-sidebar.collapsed .nav-group{align-items:center}.app-sidebar.collapsed .sidebar-collapse-icon{transform:rotate(180deg)}}@media(max-width:899px){.mobile-nav-toggle{display:inline-flex}.app-sidebar{position:fixed;top:0;left:0;height:100vh;height:100dvh;max-height:none;width:264px;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg);z-index:80}.app-sidebar.open{transform:translate(0)}.app-sidebar.collapsed{width:264px}.app-sidebar.collapsed .nav-link-label,.app-sidebar.collapsed .nav-group-label,.app-sidebar.collapsed .app-user-meta{display:revert}.app-nav-scrim{position:fixed;inset:0;background:#0a162873;z-index:75}}.context-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 1rem;padding-bottom:.7rem;border-bottom:1px solid var(--border)}.breadcrumbs{display:flex;align-items:center;gap:.25rem;min-width:0}.breadcrumb-item{display:inline-flex;align-items:center;gap:.25rem}.breadcrumb-link{border:none;background:none;cursor:pointer;padding:0;font-family:var(--font-label);font-weight:400;font-size:var(--fs-base);color:var(--muted)}.breadcrumb-link:hover{color:var(--accent);text-decoration:underline}.breadcrumb-current{font-family:var(--font-label);font-weight:400;font-size:var(--fs-base);color:var(--ink)}.breadcrumb-sep{color:var(--muted);font-size:var(--fs-md);line-height:1}.context-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.context-actions-label{font-family:var(--font-label);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:.1rem}.context-action-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .6rem;border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface);color:var(--ink-2);font-family:var(--font-label);font-weight:400;font-size:var(--fs-sm);cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease}.context-action-btn:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-light)}.context-action-btn svg{width:14px;height:14px}.login-split{display:grid;grid-template-columns:1.12fr .88fr;min-height:100vh;background:var(--surface)}.login-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;color:#eaf6f2;background:radial-gradient(135% 90% at 100% 0%,#0736318c,#07363100 58%),linear-gradient(142deg,#14706a,#1f7e6c 46%,#34946f)}.login-brand-inner{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;padding:clamp(2.25rem,4vw,3.5rem)}.login-brand-head{display:flex;align-items:center;gap:.75rem}.login-brand-logo,.login-brand-logo-img{width:40px;height:40px;border-radius:var(--r-lg);flex-shrink:0}.login-brand-logo{display:flex;align-items:center;justify-content:center;color:#fff;background:#ffffff24;box-shadow:inset 0 0 0 1px #fff3}.login-brand-logo-img{object-fit:contain;background:var(--surface);padding:3px}.login-brand-wordmark{display:flex;flex-direction:column;line-height:1.18}.login-brand-wordmark strong{font-family:var(--font-label);font-size:var(--fs-xl);font-weight:400;color:#fff;letter-spacing:.02em}.login-brand-wordmark span{font-size:var(--fs-2xs);letter-spacing:.2em;text-transform:uppercase;color:#ffffff94}.login-brand-copy{margin-top:auto;padding-top:3rem;max-width:30rem}.login-brand-title{margin:0 0 1.1rem;font-family:var(--font-display);font-size:clamp(2rem,2.9vw,2.9rem);line-height:1.12;font-weight:var(--fw-display);letter-spacing:-.01em;color:#fff}.login-brand-lede{margin:0 0 1.9rem;font-size:var(--fs-xl);line-height:1.55;color:#ffffffd1}.login-feature-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.login-feature-list li{display:flex;align-items:center;gap:.85rem;font-size:var(--fs-md);color:#ffffffe6}.login-feature-icon{width:30px;height:30px;flex-shrink:0;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:#dff3ec;background:#ffffff21;box-shadow:inset 0 0 0 1px #ffffff1f}.login-brand-foot{margin-top:3rem;display:flex;flex-direction:column;gap:.15rem;font-size:var(--fs-sm);color:#ffffff9e}.login-brand-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:230px;z-index:1;color:#ffffff12}.login-panel{display:flex;align-items:center;justify-content:center;padding:2rem;background:radial-gradient(120% 100% at 0% 100%,var(--accent-light) 0%,rgba(255,255,255,0) 55%),var(--bg-alt)}.login-formcard{width:100%;max-width:380px;padding:2.25rem 2rem 2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-md)}.login-formcard{position:relative;overflow:hidden}.login-formcard:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#0c5f59,#14706a 48%,#34946f)}.login-head h2{margin:0 0 .35rem;font-size:var(--fs-3xl);font-weight:var(--fw-display);color:var(--ink)}.login-head p{margin:0 0 1.8rem;font-size:var(--fs-md);color:var(--muted)}.login-secure{margin:1.4rem 0 0;display:flex;align-items:center;gap:.45rem;font-size:var(--fs-sm);color:var(--muted)}.login-help{margin:1.25rem 0 0;padding-top:1.1rem;border-top:1px solid var(--border);font-size:var(--fs-base);color:var(--muted)}.login-secure svg{color:var(--success);flex-shrink:0}@media(max-width:899px){.login-split{grid-template-columns:1fr}.login-brand{min-height:auto}.login-brand-copy{padding-top:1.75rem}.login-feature-list,.login-brand-foot,.login-brand-wave{display:none}}.header-settings{position:relative;display:flex;align-items:center}.header-settings-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--r-md);border:1px solid var(--chrome-border-strong);background:var(--chrome-fill);color:var(--chrome-ink);cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease}.header-settings-btn:hover,.header-settings-btn[aria-expanded=true]{border-color:var(--chrome-ink);color:var(--chrome-ink);background:var(--chrome-fill-hover)}.app-header .scada-refresh-dot{background:#4ade80;box-shadow:0 0 5px #4ade80b3}.header-settings-overlay{position:fixed;inset:0;z-index:60}.header-settings-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:61;min-width:210px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.header-settings-menu-label{padding:.4rem .7rem .5rem;font-size:var(--fs-sm);letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}.header-settings-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .7rem;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink);font-size:var(--fs-md);text-align:left;cursor:pointer}.header-settings-item:hover{background:var(--surface-3);color:var(--accent)}.header-settings-item svg{width:15px;height:15px;flex-shrink:0}.sites-table th,.analysis-table th,.dash-compact-table th,.rpt-table th{background:linear-gradient(180deg,#14706a12,#14706a05);border-bottom-color:#14706a38;color:var(--ink-2)}.sites-table th,.analysis-table th,.dash-compact-table th,.rpt-table th,.ii-events-table th,.acct-table th,.eng-table th{font-family:var(--font-label);font-weight:500}.card-header{background:linear-gradient(180deg,#14706a0f,#14706a04);border-bottom:1px solid rgba(20,112,106,.14)}.dimp{display:grid;gap:1.25rem}.dimp-lede{font-size:var(--fs-md);margin:0}.dimp-hint{font-size:var(--fs-base);color:var(--muted);margin:0}.dimp-target{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.875rem}.dimp-upload-row{display:flex;align-items:center;gap:.875rem;flex-wrap:wrap}.dimp-review-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.dimp-review-head h3{border-bottom:none;padding-bottom:.25rem}.dimp-badge-pending{font-family:var(--font-label);font-weight:500;font-size:var(--fs-sm);letter-spacing:.01em;padding:.3rem .7rem;border-radius:var(--r-pill);background:var(--warning-light);color:var(--warning-text);border:1px solid rgba(217,119,6,.28);white-space:nowrap}.dimp-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.dimp-mode{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"radio label" ".     hint";gap:.15rem .6rem;padding:.75rem .875rem;border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);cursor:pointer;transition:border-color var(--dur-2) var(--ease),background var(--dur-2) var(--ease)}.dimp-mode:hover{border-color:var(--border-strong)}.dimp-mode-on{border-color:var(--accent);background:var(--accent-light)}.dimp-mode input{grid-area:radio;margin-top:.2rem;accent-color:var(--accent)}.dimp-mode-label{grid-area:label;font-size:var(--fs-md);font-weight:500;color:var(--ink-2)}.dimp-mode-hint{grid-area:hint;font-size:var(--fs-sm);color:var(--muted);line-height:1.45}.dimp-window{display:grid;gap:.6rem;padding:.875rem;border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2)}.dimp-window-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.dimp-window-fields p{grid-column:1 / -1}.dimp-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.dimp-tile{display:flex;flex-direction:column;gap:.15rem;padding:.875rem 1rem;border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--r);background:var(--surface-2)}.dimp-tile-danger{border-left-color:var(--danger)}.dimp-tile-accent{border-left-color:var(--accent)}.dimp-tile-value{font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-3xl);line-height:1.1;color:var(--ink)}.dimp-tile-danger .dimp-tile-value{color:var(--danger-text)}.dimp-tile-label{font-family:var(--font-label);font-weight:500;font-size:var(--fs-sm);color:var(--muted)}.dimp-tile-sub{font-size:var(--fs-sm);color:var(--muted)}.dimp-overlap{display:flex;flex-wrap:wrap;gap:1.25rem;font-size:var(--fs-base);color:var(--ink-2)}.dimp-overlap strong{font-weight:500;font-family:var(--font-label)}.dimp-overlap-warn{color:var(--danger-text)}.dimp-warnings{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.dimp-warning{display:flex;align-items:flex-start;gap:.55rem;padding:.6rem .8rem;border-radius:var(--r);font-size:var(--fs-base);line-height:1.5}.dimp-warning svg{width:15px;height:15px;flex-shrink:0;margin-top:.1rem}.dimp-warning-warning{background:var(--warning-light);color:var(--warning-text);border:1px solid rgba(217,119,6,.25)}.dimp-warning-info{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border)}.dimp-chart{width:100%;height:320px}.dimp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.875rem}.dimp-stat-block{padding:.875rem 1rem;border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2)}.dimp-stat-block h4{margin:0 0 .6rem;font-family:var(--font-label);font-weight:500;font-size:var(--fs-base);color:var(--ink-2)}.dimp-stat-block dl{margin:0;display:grid;gap:.3rem}.dimp-stat-block dl>div{display:flex;justify-content:space-between;gap:1rem;font-size:var(--fs-base)}.dimp-stat-block dt{color:var(--muted)}.dimp-stat-block dd{margin:0;color:var(--ink-2);text-align:right}.dimp-stat-note{margin:.6rem 0 0;font-size:var(--fs-sm);color:var(--muted);line-height:1.5}.dimp-filters{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.dimp-filter{font-family:var(--font-label);font-weight:500;font-size:var(--fs-sm);padding:.35rem .75rem;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:border-color var(--dur-2) var(--ease),background var(--dur-2) var(--ease)}.dimp-filter:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.dimp-filter:disabled{opacity:.45;cursor:not-allowed}.dimp-filter-on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.dimp-filter-count{margin-left:auto;font-size:var(--fs-sm);color:var(--muted)}.dimp-chip{display:inline-flex;align-items:center;border-radius:var(--r-pill);padding:.1rem .5rem;font-family:var(--font-label);font-weight:500;font-size:var(--fs-sm);letter-spacing:.01em;text-transform:capitalize}.dimp-chip-new{background:var(--accent-light);color:var(--accent-text)}.dimp-chip-changed{background:var(--warning-light);color:var(--warning-text)}.dimp-chip-dropped{background:var(--danger-light);color:var(--danger-text)}.dimp-chip-plain{background:var(--surface-3);color:var(--muted)}.dimp-chip-pending{background:var(--warning-light);color:var(--warning-text)}.dimp-chip-committed{background:var(--success-light);color:var(--success-text)}.dimp-chip-discarded,.dimp-chip-rolled_back{background:var(--surface-3);color:var(--muted)}.dimp-delta{margin-left:.45rem;font-size:var(--fs-sm);color:var(--muted)}.dimp-pager{display:flex;align-items:center;justify-content:center;gap:.875rem}.dimp-commit-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.dimp-confirm{display:grid;gap:.6rem;padding:1rem;border:1px solid rgba(220,38,38,.3);border-radius:var(--r);background:var(--danger-light)}.dimp-confirm-lede{margin:0;font-size:var(--fs-lg);color:var(--ink);line-height:1.55}.dimp-confirm-warn{display:flex;align-items:center;gap:.45rem;margin:0;font-size:var(--fs-base);color:var(--warning-text)}.dimp-confirm-warn svg{width:15px;height:15px}.dimp-result-actions{display:flex;gap:.5rem;flex-wrap:wrap}.dimp-format{margin:0;padding-left:1.15rem;font-size:var(--fs-base);line-height:1.7;color:var(--ink-2)}.dimp-example{display:block;white-space:pre;overflow-x:auto;font-size:var(--fs-sm);padding:.7rem .9rem;border-radius:var(--r);border:1px solid var(--border);background:var(--surface-2);color:var(--ink-2)}@media(max-width:639px){.dimp-chart{height:240px}.dimp-tile-value{font-size:var(--fs-3xl)}}.rpt-builder-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--border)}.rpt-builder-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr);gap:0;padding:0;overflow:visible}.rpt-step{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;padding:var(--space-4) var(--space-6);border-right:1px solid var(--border)}.rpt-step:last-child{border-right:none}.rpt-step-label{font-size:var(--fs-2xs);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.rpt-step-scope .rpt-multisite-grid{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.35rem;max-height:13rem;min-height:8rem;overflow-y:auto;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2)}.rpt-builder .rpt-field{margin:0}@media(max-width:1279px){.rpt-builder-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rpt-step-scope{order:1;grid-column:1 / -1;border-right:none;border-top:1px solid var(--border)}}@media(max-width:899px){.rpt-builder-body{grid-template-columns:minmax(0,1fr)}.rpt-step{border-right:none;border-bottom:1px solid var(--border)}.rpt-step-scope{order:0;grid-column:auto;border-top:none}.rpt-builder-header,.rpt-step{padding-inline:var(--space-4)}}@media(max-width:639px){.app-header{height:56px;padding:0 var(--space-3);flex-wrap:nowrap;gap:var(--space-2);align-items:center}.app-header .mobile-nav-toggle{order:-1;margin-left:0;flex:none}.app-header .brand{flex:1 1 auto;min-width:0}.app-header .brand-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header .brand-tag,.app-header .v2-header-badge,.app-header .system-time-badge{display:none}.app-header .header-settings{flex:none}}.header-settings-note{padding:.35rem .75rem .5rem;font-size:var(--fs-2xs);color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:.25rem}.header-settings-note strong{color:var(--ink-2);font-weight:var(--fw-label)}.header-theme{padding:0 .75rem .5rem;border-bottom:1px solid var(--border);margin-bottom:.35rem}.header-theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:2px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface-3)}.header-theme-btn{padding:.28rem .3rem;border:none;border-radius:var(--r-sm);background:transparent;font:inherit;font-size:var(--fs-2xs);font-weight:var(--fw-label);color:var(--muted);cursor:pointer;white-space:nowrap}.header-theme-btn:hover{color:var(--ink)}.header-theme-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.header-theme-btn.is-active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}:where(a,button,[role=button],[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.system-time-zone{font-family:var(--font-label);font-size:var(--fs-2xs);font-weight:var(--fw-label);letter-spacing:.09em;color:var(--chrome-ink);padding:.1rem .34rem;border-radius:var(--r-sm);background:#ffffff24}.system-time-place{font-size:var(--fs-xs);color:var(--chrome-ink-faint);white-space:nowrap}@media(max-width:1279px){.system-time-place{display:none}}.au-cross{flex-shrink:0;opacity:.85}.au-map{display:block}.app-footer-origin{display:inline-flex;align-items:center;gap:.4rem;margin-left:.35rem;padding-left:.85rem;border-left:1px solid var(--border);font-family:var(--font-label);font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.app-footer-origin .au-cross{color:var(--accent);opacity:.7}.login-brand-map{position:absolute;z-index:0;right:-8%;bottom:6%;width:78%;height:auto;color:#fff;opacity:.06;pointer-events:none}.login-brand-origin{display:inline-flex;align-items:center;gap:.45rem}.login-brand-origin .au-cross{color:#ffffffbf}@media(max-width:899px){.login-brand-map{display:none}}@media(max-width:899px){:root input:not([type=checkbox]):not([type=radio]):not([type=range]),:root select,:root textarea{font-size:var(--fs-lg)}:root input:not([type=checkbox]):not([type=radio]):not([type=range]),:root select{min-height:40px}:root input[type=checkbox],:root input[type=radio]{width:20px;height:20px}}@media(max-width:899px){.mobile-nav-toggle,.cc-refresh-btn,.cc-triage-more,.context-action-btn,.nav-signout{min-height:44px}.cc-triage-chip,.cc-layer-toggle,.fs-filter-btn,.fs-view-toggle-btn,.sdir-chip,.ask-example,.ask-more-toggle,.mn-trigger,.tab-btn,.tabs-bar button{min-height:40px}.leaflet-touch .leaflet-bar a.leaflet-control-zoom-in,.leaflet-touch .leaflet-bar a.leaflet-control-zoom-out,.leaflet-bar a.leaflet-control-zoom-in,.leaflet-bar a.leaflet-control-zoom-out{width:40px;height:40px;line-height:38px}.breadcrumb-link,.breadcrumb-current{padding-block:.5rem}.bwp-site,.bwp-link{display:inline-block;padding-block:.625rem}}@media(max-width:639px){.fs-overview-toolbar-actions{flex:1 1 100%}.fs-overview-search-wrap{flex:1 1 auto}.table-wrap>.data-table{min-width:34rem}.sd-header-actions{flex-wrap:wrap;flex-shrink:1}}
