:root{color-scheme:dark;font-family:Inter,Segoe UI,Malgun Gothic,system-ui,sans-serif;--pmcs-bg:#07090e;--pmcs-bg-elevated:#0b0e14;--pmcs-bg-panel:#0a0e15;--pmcs-text:#e8edf2;--pmcs-text-muted:rgba(226,232,240,.55);--pmcs-accent:#2dd4bf;--pmcs-accent-bright:#5eead4;--pmcs-accent-dim:rgba(45,212,191,.1);--pmcs-accent-border:rgba(45,212,191,.28);--pmcs-accent-glow:rgba(45,212,191,.22);--pmcs-panel-border:rgba(148,163,184,.14);--pmcs-divider:rgba(148,163,184,.1);--pmcs-font-mono:ui-monospace,"SF Mono","Cascadia Mono","Consolas",monospace;--pmcs-radius:3px;--pmcs-hmi-inset:#080b11;--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1440px;--bp-2xl:1920px;--bp-3xl:2560px;background:var(--pmcs-bg);color:var(--pmcs-text)}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:var(--pmcs-bg);color:var(--pmcs-text);display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}.global-header{justify-content:space-between;gap:16px;padding:0 20px;height:44px;background:#05070b;border-bottom:1px solid rgba(148,163,184,.12);box-shadow:inset 0 -1px 0 rgba(45,212,191,.22);z-index:100}.global-header,.global-logo{display:flex;align-items:center;flex-shrink:0}.global-logo{gap:10px;text-decoration:none;color:inherit}.global-logo img{display:block}.global-logo-text{font-family:var(--font-logo),"IBM Plex Sans",system-ui,sans-serif;font-size:18px;font-weight:600;letter-spacing:-.02em;color:#eef1f4;white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none}.global-header-right{display:flex;align-items:center;gap:16px}.global-header-center{flex:1 1;display:flex;justify-content:center;min-width:0}.system-status-bar{display:inline-flex;align-items:center;gap:8px;padding:3px 10px;border-radius:var(--pmcs-radius);background:rgba(0,0,0,.35);border:1px solid rgba(148,163,184,.16);font-size:12px;letter-spacing:.01em;color:rgba(226,232,240,.7);white-space:nowrap}.system-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.system-status-dot--connected{background:#34c759;box-shadow:0 0 6px rgba(52,199,89,.6);animation:live-dot-pulse 1.4s ease-in-out infinite}.system-status-dot--connecting{background:#f59e0b;animation:live-dot-pulse .8s ease-in-out infinite}.system-status-dot--disconnected{background:#ef4444}.system-status-label{font-weight:600;letter-spacing:.08em}.system-status-divider{opacity:.35;font-weight:400}.system-status-sync strong{color:var(--pmcs-accent-bright);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.header-profile-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.6);transition:background .15s,color .15s;flex-shrink:0}.header-profile-btn:hover{background:hsla(0,0%,100%,.12);color:hsla(0,0%,100%,.9)}.header-profile-btn svg{width:16px;height:16px}.header-user-info{display:flex;align-items:center;gap:6px;font-size:12px;color:hsla(0,0%,100%,.55)}.header-user-role{padding:2px 7px;border-radius:2px;background:rgba(45,212,191,.1);color:#5eead4;font-size:11px;font-weight:600;letter-spacing:.02em}.header-username{font-weight:500;color:hsla(0,0%,100%,.7)}.logout-wrapper{position:relative}.logout-popover{position:absolute;top:calc(100% + 10px);right:0;background:#1a1f2e;border:1px solid hsla(0,0%,100%,.1);border-radius:10px;padding:14px 16px;width:180px;box-shadow:0 8px 24px rgba(0,0,0,.5);z-index:200;animation:popover-in .12s ease}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.logout-popover-msg{font-size:13px;color:hsla(0,0%,100%,.75);margin-bottom:12px;text-align:center}.logout-popover-actions{display:flex;gap:8px}.logout-popover-cancel,.logout-popover-confirm{flex:1 1;padding:6px 0;border-radius:6px;border:none;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .15s}.logout-popover-cancel{background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.6)}.logout-popover-cancel:hover{opacity:.75}.logout-popover-confirm{background:#e53e3e;color:#fff}.logout-popover-confirm:hover{opacity:.85}a{color:inherit;text-decoration:none}main{gap:24px;padding:24px 32px}.dashboard,main{display:flex;flex-direction:column}.dashboard{gap:20px}.dashboard-map{align-items:start;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);grid-gap:20px;gap:20px}.map-panel{padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.map-canvas{position:relative;aspect-ratio:3/4;height:min(85vh,760px);width:auto;background-image:url(/map-korea.png);background-repeat:no-repeat;background-position:50%;background-size:contain}.map-marker{--size:40px;--c:#34c759;position:absolute;width:var(--size);height:var(--size);border-radius:50%;transform:translate(-50%,-50%);cursor:pointer;background-color:rgba(var(--rgb),.2)}.map-marker:before{inset:18%;background-color:rgba(var(--rgb),.4)}.map-marker:after,.map-marker:before{content:"";position:absolute;border-radius:50%}.map-marker:after{inset:34%;background-color:rgb(var(--rgb))}.map-marker:hover{transform:translate(-50%,-50%) scale(1.6)}.map-marker.running{--rgb:52,199,89}.map-marker.standby,.map-marker.start{--rgb:255,204,0}.map-marker.fault{--rgb:255,56,60}.map-marker.offline{--rgb:4,0,255}.region-panel{max-height:calc(100vh - 64px);overflow-y:auto}.region-panel-header{display:flex;flex-direction:column;gap:6px}.region-panel-subtitle{opacity:.7;margin-bottom:16px}.region-card-list{display:flex;flex-direction:column;gap:12px}.region-accordion-list{display:flex;flex-direction:column;gap:10px}.region-accordion{background:rgba(19,23,33,.9);border-radius:14px;border:1px solid hsla(0,0%,100%,.06);padding:8px 12px}.region-accordion-summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600}.region-accordion-summary::-webkit-details-marker{display:none}.region-accordion-counts{font-size:12px;opacity:.7;margin-left:auto}.region-accordion-content{display:flex;flex-direction:column;gap:10px;padding:12px 4px 4px 12px}.region-device-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.region-device-card{background:rgba(10,14,24,.7);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:12px;border:1px solid hsla(0,0%,100%,.06);text-decoration:none;color:inherit}.region-device-top{display:flex;flex-direction:column;justify-content:space-between;gap:10px;font-size:14px;opacity:.8}.region-device-menu{font-weight:700;opacity:.5}.region-device-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.region-device-capacity{font-size:28px;font-weight:700}.region-device-status{padding:6px 12px;border-radius:2px;font-size:15px;font-weight:500;letter-spacing:.4px}.region-device-status.running{color:#00c241;background:rgba(90,255,121,.2);border:.5px solid #5aff7333}.region-device-status.standby,.region-device-status.start{color:#5c4b00;background:hsla(63,68%,75%,.9)}.region-device-status.fault{color:#6b1111;background:hsla(0,75%,79%,.9)}.region-device-status.offline{color:#2b2f36;background:rgba(203,213,245,.6)}.region-card{background:rgba(19,23,33,.9);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit;border:1px solid hsla(0,0%,100%,.06)}.region-card-top{display:flex;align-items:center;gap:10px}.region-card-dot{width:12px;height:12px;border-radius:50%}.region-card-counts{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:13px;opacity:.8}.panel{background:hsla(0,0%,100%,.025);border:1px solid hsla(0,0%,100%,.06);border-radius:10px;padding:20px}.location-panel{display:flex;flex-direction:column;gap:16px}.location-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.location-meta{display:flex;flex-direction:column;gap:6px}.location-title{display:flex;align-items:center;gap:12px}.location-dot{width:18px;height:18px;border-radius:50%}.location-subtitle{opacity:.7;margin-top:4px}.location-badges{display:flex;gap:8px;flex-wrap:wrap}.summary-cards{display:grid;grid-template-columns:repeat(4,minmax(96px,1fr));grid-gap:12px;gap:12px}.summary-card{background:#f1f1f1;color:#111827;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;min-width:96px}.summary-card span{font-size:14px;font-weight:600}.summary-card strong{font-size:28px}.summary-card-ok{background:#9be7a6}.summary-card-check{background:#e7eb95}.summary-card-fault{background:#f2a2a2}.location-divider{height:1px;background:hsla(0,0%,100%,.2);margin-top:16px}.device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.device-card{background:#f1f3f5;color:#111827;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease;max-width:260px;width:100%;min-height:220px}.device-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,0,0,.2)}.device-card-header{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px}.device-dot{width:20px;height:20px;border-radius:50%}.device-id{letter-spacing:.4px}.device-name{font-size:18px;font-weight:600}.device-divider{height:1px;background:rgba(0,0,0,.15)}.device-metrics{display:flex;flex-direction:column;gap:8px;font-size:16px}.device-metric{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.device-metric span{color:#4b5563;font-weight:600}.device-metric strong{font-weight:700}.detail-header,.region-header{display:flex;flex-direction:column;gap:6px}.detail-back{display:inline-flex;align-items:center;gap:8px;font-weight:600;opacity:.7;margin-bottom:6px}.detail-back:hover{opacity:1}.device-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:10px}.breadcrumb-item{font-size:13px;color:hsla(0,0%,100%,.45);text-decoration:none;transition:color .15s}a.breadcrumb-item:hover{color:hsla(0,0%,100%,.85)}.breadcrumb-current{color:hsla(0,0%,100%,.75)}.breadcrumb-sep{font-size:13px;color:hsla(0,0%,100%,.2);-webkit-user-select:none;-moz-user-select:none;user-select:none}.detail-subtitle{font-size:13px;opacity:.6;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.device-model-badge{background:rgba(45,212,191,.08);color:#5eead4;border:1px solid rgba(45,212,191,.28);border-radius:2px;letter-spacing:.04em}.device-capacity-badge,.device-model-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:700;opacity:1}.device-capacity-badge{background:rgba(154,230,180,.1);color:#9ae6b4;border:1px solid rgba(154,230,180,.28);border-radius:2px;font-weight:600}.detail-content{display:flex;justify-content:center}.detail-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:16px;flex-wrap:wrap}.detail-voltage{font-size:13px;color:hsla(0,0%,100%,.7);display:flex;flex-direction:column;gap:4px}.detail-voltage strong{font-size:14px;color:#f5f6f7}.module-status{margin-top:16px;display:flex;flex-direction:column;gap:8px}.module-status-title{font-size:13px;font-weight:600;opacity:.7}.module-status-list{display:flex;flex-wrap:wrap;gap:8px}.module-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.2px;background:hsla(0,0%,100%,.08)}.module-chip-running{color:#2ecc71;border:1px solid rgba(46,204,113,.35)}.module-chip-standby{color:#f1c40f;border:1px solid rgba(241,196,15,.35)}.module-chip-start{color:#3498db;border:1px solid rgba(52,152,219,.35)}.module-chip-fault{color:#e74c3c;border:1px solid rgba(231,76,60,.35)}.module-chip-offline{color:#9aa4b2;border:1px solid rgba(154,164,178,.35)}.module-chip-unknown{color:#cbd5f5;border:1px solid rgba(203,213,245,.35)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px}.badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;padding:4px 10px;border-radius:999px;background:#222836}.detail-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:32px;gap:32px;margin-top:12px}.detail-metrics-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px}.detail-metrics-table thead th{font-weight:700;padding:6px 4px 10px;border-bottom:1px solid hsla(0,0%,100%,.25)}.detail-metrics-table tbody td{padding:8px 4px;border-bottom:1px solid hsla(0,0%,100%,.18)}.detail-metrics-label{text-align:left;font-weight:600;width:50%}.detail-metrics-value{text-align:center;font-weight:600}.metrics-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;border:1px solid transparent;background:hsla(0,0%,100%,.06)}.metrics-chip-grid{color:#2ecc71;border-color:rgba(46,204,113,.45)}.metrics-chip-load{color:#e74c3c;border-color:rgba(231,76,60,.45)}@media (max-width:520px){.dashboard-map{align-items:start;grid-template-columns:1fr}.metrics-chip{font-size:12px}.detail-metrics{grid-template-columns:1fr;gap:16px}.detail-metrics-table{font-size:14px}.detail-metrics-table tbody td,.detail-metrics-table thead th{padding:6px 2px}.detail-metrics-label{width:46%}.summary-cards{grid-template-columns:repeat(2,minmax(96px,1fr))}.summary-card{padding:12px}.summary-card strong{font-size:24px}}main.dashboard-full{padding:0;gap:0;height:calc(100dvh - 44px);max-height:calc(100dvh - 44px);overflow:hidden}.new-dashboard{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:var(--pmcs-bg)}.dash-kpi-strip{gap:8px;padding:8px 24px;justify-content:center;border-bottom:1px solid hsla(0,0%,100%,.04)}.dash-kpi-strip,.kpi-badge{display:flex;align-items:center}.kpi-badge{gap:6px;padding:5px 14px;border-radius:999px;border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.04)}.kpi-value{font-size:16px;font-weight:700}.kpi-label{font-size:12px;opacity:.6}.kpi-running .kpi-value{color:#34c759}.kpi-standby .kpi-value{color:#f59e0b}.kpi-fault .kpi-value{color:#ef4444}.kpi-offline .kpi-value{color:#6b7280}.kpi-comm_lost .kpi-value{color:#9ca3af}.kpi-default .kpi-value{color:#f5f6f7}.live-clock{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:13px;letter-spacing:.02em;color:var(--pmcs-accent-bright);opacity:.9;flex-shrink:0}.dash-body{position:relative;display:grid;grid-template-columns:320px minmax(0,1fr) 320px;grid-template-rows:minmax(0,1fr);flex:1 1;min-height:0;height:0;overflow:hidden}.dash-body>*{min-height:0;max-height:100%}.dash-sidebar{display:flex;flex-direction:column;border-right:1px solid hsla(0,0%,100%,.05);overflow:hidden}.sidebar-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:16px 16px 8px;flex-shrink:0}.sidebar-title{font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;opacity:.4;padding:0;flex-shrink:0}.sidebar-title-count{font-size:11px;font-weight:600;color:var(--pmcs-accent-bright);opacity:.85;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sidebar-list{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:0 8px}.sidebar-list::-webkit-scrollbar{width:4px}.sidebar-list::-webkit-scrollbar-track{background:transparent}.sidebar-list::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.1);border-radius:2px}.site-card{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--pmcs-radius);border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;text-align:left;transition:background .12s,border-color .12s;width:100%}.site-card:hover{background:hsla(0,0%,100%,.04)}.site-card.selected{background:rgba(45,212,191,.08);border-color:rgba(45,212,191,.28)}.site-card-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.site-card-dot.running{background:#34c759}.site-card-dot.standby,.site-card-dot.start{background:#f59e0b}.site-card-dot.fault{background:#ef4444}.site-card-dot.offline{background:#4b5563}.site-card-info{flex:1 1;display:flex;flex-direction:column;gap:2px;min-width:0}.site-card-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-card-region{font-size:11px;opacity:.45}.site-card-badge{font-size:10px;font-weight:700;letter-spacing:.5px;padding:2px 8px;border-radius:4px;flex-shrink:0}.site-card-badge.running{color:#34c759;background:rgba(52,199,89,.12)}.site-card-badge.standby,.site-card-badge.start{color:#f59e0b;background:rgba(245,158,11,.12)}.site-card-badge.fault{color:#ef4444;background:rgba(239,68,68,.12)}.site-card-badge.offline{color:#6b7280;background:hsla(220,9%,46%,.12)}.comm-lost-badge{font-size:10px;font-weight:700;letter-spacing:.3px;padding:2px 8px;border-radius:4px;flex-shrink:0;color:#d1d5db;background:hsla(220,9%,46%,.16);border:1px dashed rgba(156,163,175,.45);white-space:nowrap}.sidebar-footer{padding:12px 16px;border-top:1px solid hsla(0,0%,100%,.05);flex-shrink:0}.sidebar-link{font-size:12px;opacity:.4;transition:opacity .15s}.sidebar-link:hover{opacity:.8}.region-group{border-bottom:1px solid hsla(0,0%,100%,.04)}.region-group summary{list-style:none}.region-group summary::-webkit-details-marker{display:none}.region-group-summary{display:flex;align-items:center;gap:8px;padding:10px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .12s}.region-group-summary:hover{background:hsla(0,0%,100%,.03)}.region-group-name{font-size:14px;font-weight:700;color:hsla(0,0%,100%,.85);letter-spacing:.02em}.region-group-count{font-size:11px;color:hsla(0,0%,100%,.35);margin-left:auto}.region-chevron{font-size:11px;opacity:.3;transition:transform .15s}.region-group[open]>.region-group-summary .region-chevron{transform:rotate(0deg)}.region-group:not([open])>.region-group-summary .region-chevron{transform:rotate(-90deg)}.region-group-content{padding:0 0 4px}.site-group summary{list-style:none}.site-group summary::-webkit-details-marker{display:none}.site-group-summary{display:flex;align-items:center;gap:8px;padding:7px 16px 7px 28px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .12s}.site-group-summary:hover{background:hsla(0,0%,100%,.03)}.site-group-summary.selected{background:var(--pmcs-accent-dim);box-shadow:inset 3px 0 0 var(--pmcs-accent)}.site-group-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.site-group-dot.running{background:#34c759}.site-group-dot.standby,.site-group-dot.start{background:#f59e0b}.site-group-dot.fault{background:#ef4444}.site-group-dot.offline{background:#4b5563}.site-group-info{flex:1 1;display:flex;flex-direction:column;gap:1px;min-width:0}.site-group-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-group-client{font-size:10px;color:hsla(0,0%,100%,.35)}.site-group-installations{padding:2px 0 6px}.inst-card{display:flex;align-items:center;gap:8px;width:100%;padding:6px 16px 6px 44px;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left;transition:background .12s;border:none;border-left:2px solid transparent}.inst-card:hover{background:hsla(0,0%,100%,.03)}.inst-card.selected{background:rgba(59,130,246,.08);border-left-color:#3b82f6}.inst-card-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.inst-card-dot.running{background:#34c759}.inst-card-dot.standby,.inst-card-dot.start{background:#f59e0b}.inst-card-dot.fault{background:#ef4444}.inst-card-dot.offline{background:#4b5563}.inst-card-info{flex:1 1;display:flex;align-items:baseline;gap:6px;min-width:0}.inst-card-label{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-map-panel{display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;overflow:hidden;padding:8px 4px;position:relative;isolation:isolate;min-height:0;height:100%}.dash-map-mobile-header{display:none}.korea-map-loading{flex:1 1;min-height:0;width:100%}.map-marker-new{position:absolute;width:28px;height:28px;border-radius:50%;transform:translate(-50%,-50%);cursor:pointer;border:none;background:transparent;padding:0}.map-marker-new:after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(var(--m-rgb),.15);border:2px solid rgba(var(--m-rgb),.55);box-shadow:inset 0 0 0 5px rgb(var(--m-rgb));transition:transform .2s ease}.map-marker-new:before{content:attr(data-label);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);opacity:0;background:#1c2133;color:#f5f6f7;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap;pointer-events:none;transition:opacity .15s,transform .15s;border:1px solid hsla(0,0%,100%,.1);z-index:20}.map-marker-new:hover:before{opacity:1;transform:translateX(-50%) translateY(0)}.map-marker-new:hover:after{transform:scale(1.25)}.map-marker-new.selected:after{transform:scale(1.45);border-width:2.5px}.map-marker-new.running{--m-rgb:52,199,89}.map-marker-new.standby,.map-marker-new.start{--m-rgb:245,158,11}.map-marker-new.fault{--m-rgb:239,68,68}.map-marker-new.offline{--m-rgb:107,114,128}@keyframes pulse-running{0%{box-shadow:inset 0 0 0 5px #34c759,0 0 0 0 rgba(52,199,89,.5)}70%{box-shadow:inset 0 0 0 5px #34c759,0 0 0 12px rgba(52,199,89,0)}to{box-shadow:inset 0 0 0 5px #34c759,0 0 0 0 rgba(52,199,89,0)}}@keyframes pulse-fault{0%{box-shadow:inset 0 0 0 5px #ef4444,0 0 0 0 rgba(239,68,68,.5)}70%{box-shadow:inset 0 0 0 5px #ef4444,0 0 0 12px rgba(239,68,68,0)}to{box-shadow:inset 0 0 0 5px #ef4444,0 0 0 0 rgba(239,68,68,0)}}.map-marker-new.running:after{animation:pulse-running 2.2s ease-out infinite}.map-marker-new.fault:after{animation:pulse-fault 1.6s ease-out infinite}.dash-detail{border-left:1px solid var(--pmcs-panel-border);box-shadow:inset 1px 0 0 rgba(0,212,170,.04);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:16px;height:100%;max-height:100%}.dash-detail::-webkit-scrollbar{width:4px}.dash-detail::-webkit-scrollbar-track{background:transparent}.dash-detail::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.1);border-radius:2px}.dash-detail-empty{align-items:center;justify-content:center;opacity:.35;font-size:13px}.detail-site-top{display:flex;align-items:flex-start;gap:10px}.detail-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:4px}.detail-status-dot.running{background:#34c759}.detail-status-dot.standby,.detail-status-dot.start{background:#f59e0b}.detail-status-dot.fault{background:#ef4444}.detail-status-dot.offline{background:#4b5563}.detail-site-info{flex:1 1;display:flex;flex-direction:column;gap:3px}.detail-site-name{font-size:15px;font-weight:700;display:flex;align-items:center;gap:6px}.detail-site-addr{font-size:11px;opacity:.45}.detail-site-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;flex-shrink:0}.detail-site-name-link{color:inherit;text-decoration:none}.detail-site-name-link:hover{color:#60a5fa}.detail-site-open{display:flex;align-items:center;justify-content:center;width:100%;padding:9px 14px;border-radius:8px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--pmcs-accent-bright);background:var(--pmcs-accent-dim);border:1px solid var(--pmcs-accent-border);white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.detail-site-open:hover{color:#fff;background:rgba(0,212,170,.22);border-color:var(--pmcs-accent);text-decoration:none}.detail-status-badge{font-size:11px;font-weight:700;letter-spacing:.02em;padding:3px 8px;border-radius:2px;flex-shrink:0}.detail-status-badge.running{color:#34c759;background:rgba(52,199,89,.12)}.detail-status-badge.standby,.detail-status-badge.start{color:#f59e0b;background:rgba(245,158,11,.12)}.detail-status-badge.fault{color:#ef4444;background:rgba(239,68,68,.12)}.detail-status-badge.offline{color:#6b7280;background:hsla(220,9%,46%,.12)}.detail-lastseen{font-size:12px;opacity:.4;margin-top:-6px}.chart-card{background:var(--pmcs-hmi-inset);border-top:1px solid var(--pmcs-panel-border);border:1px solid var(--pmcs-panel-border);border-top:1px solid rgba(45,212,191,.32);border-radius:var(--pmcs-radius);padding:12px 14px 10px;display:flex;flex-direction:column;gap:8px}.chart-title{font-size:13px;font-weight:700;letter-spacing:.02em;color:#e2e8f0;display:flex;align-items:center;gap:8px}.chart-title-sub{font-size:11px;font-weight:400;letter-spacing:0;color:hsla(0,0%,100%,.4)}.chart-title-mock{font-size:10px;font-weight:500;opacity:.85}.analytics-section{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:8px 0 2px;margin-top:8px}.analytics-section:first-child{margin-top:0;padding-top:0}.analytics-section-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.analytics-section-label{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;opacity:.45;white-space:nowrap}.analytics-section-line{flex:1 1;height:1px;background:hsla(0,0%,100%,.07)}.analytics-subtab-bar{display:flex;gap:6px;margin-bottom:16px;padding:4px;background:hsla(0,0%,100%,.04);border-radius:10px;border:1px solid hsla(0,0%,100%,.06)}.analytics-subtab{flex:1 1;padding:9px 0;border:none;border-radius:8px;background:transparent;color:hsla(0,0%,100%,.45);font-size:13px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:all .2s ease;position:relative}.analytics-subtab:hover{color:hsla(0,0%,100%,.7);background:hsla(0,0%,100%,.04)}.analytics-subtab.active{color:#fff;background:hsla(0,0%,100%,.08);box-shadow:0 1px 4px rgba(0,0,0,.2)}.analytics-subtab.active:after{content:"";position:absolute;bottom:0;left:25%;width:50%;height:2px;border-radius:2px;background:var(--tab-accent,#3b82f6)}.pf-grid{flex-direction:column}.pf-grid,.pf-row{display:flex;gap:8px}.pf-row{align-items:center}.pf-label{font-size:11px;opacity:.55;width:90px;flex-shrink:0}.pf-track{flex:1 1;height:6px;background:hsla(0,0%,100%,.08);border-radius:3px;overflow:hidden}.pf-fill{height:100%;border-radius:3px;background:#374151;transition:width .4s ease}.pf-fill.highlight{background:linear-gradient(90deg,#3b82f6,#10b981)}.pf-value{font-size:11px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;width:32px;text-align:right;opacity:.8}.module-dot-grid{display:flex;flex-wrap:wrap;gap:6px}.module-dot-new{width:20px;height:20px;border-radius:4px}.module-dot-new.running{background:rgba(52,199,89,.2);border:1.5px solid #34c759}.module-dot-new.standby{background:rgba(245,158,11,.2);border:1.5px solid #f59e0b}.module-dot-new.fault{background:rgba(239,68,68,.2);border:1.5px solid #ef4444}.module-dot-new.offline{background:rgba(75,85,99,.2);border:1.5px solid #4b5563}@keyframes marker-pulse{0%{r:0;opacity:.6}to{r:12;opacity:0}}.marker-pulse-ring{animation:marker-pulse 1.8s ease-out infinite;transform-origin:center;pointer-events:none}.site-selection-connector{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:12;overflow:visible}.site-selection-connector-line{fill:none;stroke:rgba(96,165,250,.72);stroke-width:1.5;stroke-dasharray:7 5;stroke-linecap:round;animation:selection-connector-dash .8s linear infinite}@keyframes selection-connector-dash{to{stroke-dashoffset:-12}}@keyframes marker-lte-ping{0%{transform:scale(.5);opacity:.4}to{transform:scale(2.4);opacity:0}}.marker-lte-ping{animation:marker-lte-ping 3.6s ease-out infinite}.marker-lte-ping,.marker-selection-halo{transform-box:fill-box;transform-origin:center;pointer-events:none}.marker-selection-halo--outer{animation:marker-selection-halo-outer 1.4s ease-in-out infinite}.marker-selection-halo--inner{animation:marker-selection-halo-inner 1.4s ease-in-out infinite;animation-delay:.35s}@keyframes marker-selection-halo-outer{0%,to{opacity:1;transform:scale(.9)}50%{opacity:.35;transform:scale(1.3)}}@keyframes marker-selection-halo-inner{0%,to{opacity:.85;transform:scale(1)}50%{opacity:.25;transform:scale(1.18)}}.site-group-selected-tag{display:none;flex-shrink:0;font-size:9px;font-weight:800;letter-spacing:.06em;color:#0b0d12;background:var(--pmcs-accent);padding:2px 7px;border-radius:999px;box-shadow:0 0 10px var(--pmcs-accent-glow)}.korea-map-wrapper{position:relative;flex:1 1;min-height:0;width:100%;height:100%;margin:0;display:flex;align-items:stretch;z-index:1}.korea-map-wrapper svg{width:100%;height:100%;display:block}.korea-map-wrapper--moving .marker-lte-ping,.korea-map-wrapper--moving .marker-pulse-ring,.korea-map-wrapper--moving .marker-selection-halo{animation:none!important}.map-zoom-controls{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:4px;z-index:10}.zoom-btn{width:28px;height:28px;border-radius:6px;border:1px solid hsla(0,0%,100%,.1);background:rgba(14,17,24,.9);color:hsla(0,0%,100%,.65);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.zoom-btn:hover{background:rgba(59,130,246,.25);color:#f5f6f7;border-color:rgba(59,130,246,.4)}.zoom-btn-reset{font-size:13px}.map-zoom-hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:10px;color:hsla(0,0%,100%,.3);white-space:nowrap;pointer-events:none;z-index:10;letter-spacing:.3px}.map-zoom-hint.active{color:rgba(59,130,246,.65)}.map-tooltip{position:fixed;background:#1c2133;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;padding:8px 12px;pointer-events:none;z-index:1000;max-width:220px;box-shadow:0 8px 24px rgba(0,0,0,.45)}.tooltip-title{font-size:12px;font-weight:700;color:#f5f6f7;margin:0}.tooltip-sub{font-size:11px;color:hsla(0,0%,100%,.48);margin:2px 0 0}.summary-stats-row{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:6px;gap:6px}.summary-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:8px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.06)}.summary-stat-value{font-size:18px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.summary-stat-label{font-size:10px;opacity:.45;letter-spacing:.3px}.summary-stat-ok .summary-stat-value{color:#34c759}.summary-stat-warn .summary-stat-value{color:#f59e0b}.summary-stat-fault .summary-stat-value{color:#ef4444}.summary-stat-comm .summary-stat-value{color:#9ca3af}.mod-health-row{display:flex;align-items:center;gap:8px;padding:0 2px}.mod-health-label{font-size:10px;opacity:.45;flex-shrink:0;width:56px}.mod-health-track{flex:1 1;height:5px;background:hsla(0,0%,100%,.08);border-radius:3px;overflow:hidden}.mod-health-fill{height:100%;border-radius:3px;transition:width .4s ease}.mod-health-fill.good{background:#34c759}.mod-health-fill.warn{background:#f59e0b}.mod-health-fill.bad{background:#ef4444}.mod-health-pct{font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.55;flex-shrink:0}.summary-inst-grid{display:flex;flex-direction:column;gap:6px}.summary-inst-card{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:8px;background:hsla(0,0%,100%,.025);border:1px solid hsla(0,0%,100%,.06);text-decoration:none;color:inherit;transition:background .15s,border-color .15s}.summary-inst-card:hover{background:rgba(59,130,246,.06);border-color:rgba(59,130,246,.2)}.summary-inst-card.selected{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.45);box-shadow:inset 3px 0 0 #3b82f6}.summary-inst-header{display:flex;align-items:center;gap:8px}.summary-inst-label{flex:1 1;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-inst-lte{display:flex;flex-direction:column;gap:4px;padding:6px 0 2px;border-top:1px solid hsla(0,0%,100%,.05)}.summary-inst-lte-title{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.4}.lte-signal{display:inline-flex;align-items:center;gap:6px;min-width:0}.lte-signal--detail{flex-wrap:wrap;align-items:flex-start;gap:4px 8px}.lte-signal-bars{display:inline-flex;align-items:flex-end;gap:2px;height:11px;flex-shrink:0}.lte-signal-bar{width:3px;border-radius:1px;background:hsla(0,0%,100%,.12)}.lte-signal-bar:first-child{height:4px}.lte-signal-bar:nth-child(2){height:6px}.lte-signal-bar:nth-child(3){height:8px}.lte-signal-bar:nth-child(4){height:11px}.lte-signal--excellent .lte-signal-bar--on{background:#34c759}.lte-signal--fair .lte-signal-bar--on{background:#f59e0b}.lte-signal--poor .lte-signal-bar--on{background:#f97316}.lte-signal--critical .lte-signal-bar--on{background:#ef4444}.lte-signal--none .lte-signal-bar--on{background:#6b7280}.lte-signal-label{font-size:10px;font-weight:600;white-space:nowrap;flex-shrink:0}.lte-signal--excellent .lte-signal-label{color:#5ee986}.lte-signal--fair .lte-signal-label{color:#fcd34d}.lte-signal--poor .lte-signal-label{color:#fb923c}.lte-signal--critical .lte-signal-label{color:#f87171}.lte-signal--none .lte-signal-label{color:#9ca3af}.lte-signal-meta{flex-basis:100%;font-size:10px;color:hsla(0,0%,100%,.42);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lte-signal--compact .lte-signal-label{font-size:9px}.lte-signal--compact .lte-signal-bars{height:9px}.lte-signal--compact .lte-signal-bar:first-child{height:3px}.lte-signal--compact .lte-signal-bar:nth-child(2){height:5px}.lte-signal--compact .lte-signal-bar:nth-child(3){height:7px}.lte-signal--compact .lte-signal-bar:nth-child(4){height:9px}.summary-inst-metrics{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:4px 12px;gap:4px 12px}.summary-inst-metric{display:flex;justify-content:space-between;align-items:baseline;font-size:11px}.summary-inst-metric span{opacity:.4}.summary-inst-metric strong{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.summary-more-link{display:none}.device-detail-page{padding:8px 16px 10px;margin-inline:clamp(16px,2vw,28px);min-width:0;width:auto;max-width:none;height:calc(100dvh - 44px);max-height:calc(100dvh - 44px);overflow:hidden;gap:8px}@media (min-width:1025px){body:has(.device-detail-page),html:has(.device-detail-page){height:100dvh;max-height:100dvh;overflow:hidden}.global-content:has(.device-detail-page){overflow:hidden;min-height:0}}.device-detail-page>.page-fault-banner{flex-shrink:0;margin-bottom:0;padding:6px 12px;font-size:12px}.device-detail-header{background:var(--pmcs-hmi-inset);border:1px solid var(--pmcs-panel-border);border-radius:var(--pmcs-radius);padding:6px 12px;margin-bottom:0;flex-shrink:0;box-shadow:none}.device-detail-header--compact .device-detail-header-inner{align-items:center}.device-detail-header--compact .device-detail-header-main{gap:2px}.device-detail-header--compact .device-detail-title-row h1{font-size:18px}.device-detail-header--compact .device-detail-aside{flex-direction:row;align-items:center;gap:10px}.device-detail-header--compact .device-detail-lte{flex-direction:row;align-items:center;gap:8px;padding:4px 10px;min-width:0}.device-detail-header--compact .device-detail-received{font-size:11px}.device-detail-id{white-space:nowrap;font-size:12px;color:rgba(148,163,184,.75);font-weight:500;letter-spacing:0}.device-detail-header--crumb{padding:4px 10px}.device-detail-header--crumb .device-detail-header-inner{align-items:center;gap:12px}.device-detail-tabs{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);grid-gap:14px;gap:14px}.device-detail-side{gap:10px}.device-detail-side,.device-detail-workspace{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.device-side-identity{flex-shrink:0;padding:10px 12px;border-radius:var(--pmcs-radius);background:var(--pmcs-hmi-inset);border-top:1px solid var(--pmcs-panel-border);border:1px solid var(--pmcs-panel-border);border-top:1px solid rgba(45,212,191,.32)}.device-side-identity-head{display:flex;flex-direction:column;gap:4px;min-width:0}.device-side-identity-title{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;min-width:0}.device-side-identity-title .detail-status-dot{margin-top:4px}.device-side-identity-title h1{margin:0;flex:1 1;min-width:0;font-size:15px;font-weight:700;line-height:1.25;color:#e2e8f0;overflow-wrap:anywhere}.device-side-identity-title .detail-status-badge{padding:2px 6px;font-size:10px}.device-side-identity-id,.device-side-identity-spec{margin:0;padding-left:16px;font-size:11px;line-height:1.35;color:rgba(148,163,184,.78);word-break:break-all}.device-side-identity-spec{color:rgba(226,232,240,.72)}.device-side-identity-link{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(148,163,184,.12)}.device-side-identity-link-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.device-side-identity-lte-label{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(148,163,184,.55);line-height:1}.device-side-identity-link-row .lte-signal{flex:1 1;min-width:0}.device-side-identity-link-row .comm-lost-badge{margin-left:auto}.device-side-identity-seen{margin:0;padding-left:0;font-size:10px;line-height:1.35;color:rgba(148,163,184,.62)}.device-detail-side .watch-summary-head .device-settings-sync-btn{margin-left:auto}.device-detail-tab-body{flex:1 1;min-height:0;overflow:auto}.device-detail-tab-body--fit{overflow:hidden;display:flex;flex-direction:column}.ops-benefit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:stretch;padding:0;border:none;background:none;flex-shrink:0}.ops-stat{position:relative;display:flex;flex-direction:row;align-items:flex-start;gap:12px;min-height:104px;padding:12px 14px 12px 16px;border-radius:var(--pmcs-radius);min-width:0;background:linear-gradient(165deg,var(--ops-fill-hi,rgba(148,163,184,.1)) 0,var(--ops-fill,rgba(148,163,184,.05)) 52%,var(--pmcs-hmi-inset) 100%);border:1px solid var(--ops-border,var(--pmcs-panel-border));box-shadow:inset 3px 0 0 var(--ops-tone,rgba(148,163,184,.4))}.ops-stat-icon{flex-shrink:0;width:36px;height:36px;border-radius:var(--pmcs-radius);display:flex;align-items:center;justify-content:center;background:var(--ops-icon-fill,hsla(0,0%,100%,.04))}.ops-stat-icon svg{width:28px;height:28px}.ops-stat-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px}.ops-stat-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ops-stat-kicker{font-size:13px;font-weight:700;letter-spacing:.02em}.ops-stat-num{display:flex;align-items:baseline;gap:8px;min-width:0}.ops-stat-value{font-size:28px;font-weight:800;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.05}.ops-stat-unit{font-size:13px;font-weight:600;white-space:nowrap;opacity:.8}.ops-stat-hint{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.7}.ops-stat-compare,.ops-stat-num+.ops-stat-hint{margin-top:2px;padding-top:4px;border-top:1px solid rgba(148,163,184,.1)}.ops-stat-compare{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;min-width:0;font-size:13px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.25}.ops-stat-compare-pair{display:inline-flex;align-items:baseline;min-width:0}.ops-stat-compare-tag{font-size:11px;font-weight:700;letter-spacing:.02em;margin-right:5px;opacity:.5}.ops-stat-compare-before{opacity:.58}.ops-stat-compare-arrow{opacity:.38;font-weight:500}.ops-stat-compare-after{opacity:.95}.ops-stat--energy .ops-stat-compare-after{color:#7dd3fc}.ops-stat--carbon .ops-stat-compare-after{color:#86efac}.ops-stat--cost .ops-stat-compare-after{color:#fcd34d}.ops-stat--quality .ops-stat-compare-after{color:#c4b5fd}.ops-stat--energy{--ops-tone:#38bdf8;--ops-fill-hi:rgba(56,189,248,.24);--ops-fill:rgba(56,189,248,.1);--ops-border:rgba(56,189,248,.34);--ops-icon-fill:rgba(56,189,248,.22)}.ops-stat--energy .ops-stat-icon,.ops-stat--energy .ops-stat-kicker,.ops-stat--energy .ops-stat-unit{color:#7dd3fc}.ops-stat--energy .ops-stat-value{color:#e0f2fe}.ops-stat--energy .ops-stat-hint{color:rgba(186,230,253,.62)}.ops-stat--energy .ops-info-btn{border-color:rgba(125,211,252,.35);background:rgba(56,189,248,.1);color:#7dd3fc}.ops-stat--energy .ops-info-btn.is-open,.ops-stat--energy .ops-info-btn:hover{background:rgba(56,189,248,.22);border-color:rgba(125,211,252,.6)}.ops-stat--energy .ops-info-pop-title{color:#7dd3fc}.ops-stat--carbon{--ops-tone:#4ade80;--ops-fill-hi:rgba(74,222,128,.22);--ops-fill:rgba(74,222,128,.09);--ops-border:rgba(74,222,128,.32);--ops-icon-fill:rgba(74,222,128,.2)}.ops-stat--carbon .ops-stat-icon,.ops-stat--carbon .ops-stat-kicker,.ops-stat--carbon .ops-stat-unit{color:#86efac}.ops-stat--carbon .ops-stat-value{color:#ecfdf5}.ops-stat--carbon .ops-stat-hint{color:rgba(187,247,208,.65)}.ops-stat--carbon .ops-info-btn{border-color:rgba(134,239,172,.35);background:rgba(74,222,128,.1);color:#86efac}.ops-stat--carbon .ops-info-btn.is-open,.ops-stat--carbon .ops-info-btn:hover{background:rgba(74,222,128,.22);border-color:rgba(134,239,172,.6)}.ops-stat--carbon .ops-info-pop-title{color:#86efac}.ops-stat--cost{--ops-tone:#fbbf24;--ops-fill-hi:rgba(251,191,36,.22);--ops-fill:rgba(251,191,36,.09);--ops-border:rgba(251,191,36,.34);--ops-icon-fill:rgba(251,191,36,.2)}.ops-stat--cost .ops-stat-icon,.ops-stat--cost .ops-stat-kicker,.ops-stat--cost .ops-stat-unit{color:#fde68a}.ops-stat--cost .ops-stat-value{color:#fffbeb}.ops-stat--cost .ops-stat-hint{color:hsla(53,98%,77%,.62)}.ops-stat--cost .ops-info-btn{border-color:rgba(253,224,71,.35);background:rgba(251,191,36,.1);color:#fde68a}.ops-stat--cost .ops-info-btn.is-open,.ops-stat--cost .ops-info-btn:hover{background:rgba(251,191,36,.22);border-color:rgba(253,224,71,.6)}.ops-stat--cost .ops-info-pop-title{color:#fde68a}.ops-stat--quality{--ops-tone:#a78bfa;--ops-fill-hi:rgba(167,139,250,.24);--ops-fill:rgba(167,139,250,.1);--ops-border:rgba(167,139,250,.34);--ops-icon-fill:rgba(167,139,250,.22)}.ops-stat--quality .ops-stat-icon,.ops-stat--quality .ops-stat-kicker,.ops-stat--quality .ops-stat-unit{color:#c4b5fd}.ops-stat--quality .ops-stat-value{color:#f5f3ff}.ops-stat--quality .ops-stat-hint{color:rgba(221,214,254,.65)}.ops-stat--quality .ops-info-btn{border-color:rgba(196,181,253,.35);background:rgba(167,139,250,.1);color:#c4b5fd}.ops-stat--quality .ops-info-btn.is-open,.ops-stat--quality .ops-info-btn:hover{background:rgba(167,139,250,.22);border-color:rgba(196,181,253,.6)}.ops-stat--quality .ops-info-pop-title{color:#c4b5fd}.ops-info{position:relative;flex-shrink:0}.ops-info-btn{width:18px;height:18px;border-radius:2px;border:1px solid rgba(94,233,212,.35);background:rgba(45,212,191,.08);color:#5eead4;font-size:10px;font-weight:700;font-style:normal;font-family:inherit;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.ops-info-btn.is-open,.ops-info-btn:hover{background:rgba(0,212,170,.28);border-color:rgba(94,233,212,.7)}.ops-info-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:30;padding:12px 14px 10px;border-radius:var(--pmcs-radius);border:1px solid rgba(45,212,191,.28);background:#0a1014;box-shadow:0 16px 40px rgba(0,0,0,.55)}.ops-stat:nth-child(-n+2) .ops-info-pop{right:auto;left:0}.ops-stat:nth-child(n+3) .ops-info-pop{left:auto;right:0}.ops-info-pop-title{margin:0 0 8px;font-size:12px;font-weight:700;color:#5eead4}.ops-info-pop-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:12px;line-height:1.45;color:hsla(0,0%,100%,.78)}.ops-info-pop-note{margin:8px 0 0;font-size:11px;line-height:1.4;color:hsla(0,0%,100%,.42)}.ops-info-pop-sources{margin-top:10px;padding-top:8px;border-top:1px solid hsla(0,0%,100%,.08)}.ops-info-pop-sources-label{margin:0 0 4px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:hsla(0,0%,100%,.45)}.ops-info-pop-sources ul{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:4px}.ops-info-pop-sources li{font-size:10px;line-height:1.4;color:hsla(0,0%,100%,.55)}.ops-info-pop{width:min(420px,78vw)}.device-detail-header-inner{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px 24px}.device-detail-header-main{display:flex;flex-direction:column;gap:6px;flex:1 1 280px;min-width:0}.device-detail-aside{flex:0 0 auto;gap:12px;align-self:flex-start}.device-detail-aside,.device-detail-lte{display:flex;flex-direction:column;align-items:flex-end}.device-detail-lte{gap:6px;padding:10px 14px;border-radius:8px;background:rgba(8,14,10,.55);border:1px solid rgba(52,199,89,.16);min-width:180px}.device-detail-lte-title{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(94,233,134,.55);align-self:flex-start}.device-detail-lte .lte-signal--detail{align-items:flex-end}.device-detail-lte-hint{margin:0;font-size:10px;line-height:1.4;color:hsla(0,0%,100%,.38);text-align:right;max-width:220px}.device-detail-received{flex:0 0 auto;text-align:right;font-size:12px;color:hsla(0,0%,100%,.55);line-height:1.45}.device-detail-received p{margin:0}.device-detail-nav{margin-bottom:4px}.device-detail-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;width:100%}.device-spec-pair{display:inline-flex;align-items:stretch;flex-shrink:0}.device-spec-pair .device-model-badge{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.device-spec-pair .device-capacity-badge{border-top-left-radius:0;border-bottom-left-radius:0}.device-detail-meta-row{display:flex;align-items:center;gap:10px;min-height:20px;padding-left:22px}.device-detail-title-row h1{font-size:18px;font-weight:600;letter-spacing:-.01em}.device-detail-body{margin-top:20px}.device-module-power-panel>.chart-title{margin:0 0 14px}.device-module-power-panel .device-settings-status{margin-bottom:14px}.device-module-power-panel .device-module-power-hint{margin:0 0 12px;font-size:13px;line-height:1.5;color:hsla(0,0%,100%,.45)}.device-module-power-panel .device-module-power-hint code{font-size:12px;padding:1px 6px;border-radius:4px;background:hsla(0,0%,100%,.06)}.device-module-power-msg-wrap{margin:0 0 12px}.device-module-power-msg{margin:0;font-size:13px}.device-module-power-msg+.device-module-power-msg{margin-top:4px}.device-module-power-msg-ok{color:#6ee7b7}.device-module-power-msg-err{color:#fca5a5}.device-module-power-msg-hint{color:#94a3b8;font-size:12px}.device-monitor-refresh-wrap{margin:12px 0 16px}.device-monitor-refresh{padding:16px 18px;border-radius:12px;border:1px solid rgba(56,189,248,.28);background:linear-gradient(135deg,rgba(12,74,110,.45),rgba(20,40,60,.72) 48%,rgba(40,55,30,.35)),rgba(10,22,36,.88);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06)}.device-monitor-refresh-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px}.device-monitor-refresh-kicker{margin:0 0 4px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(125,211,252,.75)}.device-monitor-refresh-title{margin:0 0 4px;font-size:17px;font-weight:700;letter-spacing:-.02em;color:#f0f9ff;line-height:1.2}.device-monitor-refresh-desc{margin:0;font-size:12.5px;line-height:1.45;color:rgba(226,232,240,.72);max-width:36rem}.device-monitor-refresh .device-settings-status{margin:12px 0 0}.device-monitor-refresh .device-settings-sync-btn{flex:0 0 auto}@media (max-width:700px){.device-monitor-refresh .device-settings-sync-btn{width:100%;align-items:center;text-align:center}}.device-refresh-row{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid hsla(0,0%,100%,.08)}.device-refresh-row--flush{margin-bottom:8px;padding-bottom:0;border-bottom:none}.device-refresh-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 18px;border-radius:6px;border:1px solid rgba(99,179,237,.5);background:rgba(99,179,237,.12);color:#63b3ed;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;white-space:nowrap}.device-refresh-btn:hover:not(:disabled){background:rgba(99,179,237,.24);border-color:#63b3ed}.device-refresh-btn:disabled{opacity:.45;cursor:not-allowed}.device-refresh-hint{font-size:12px;color:hsla(0,0%,100%,.38)}.device-module-power-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:stretch}.device-module-power-cell{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px 8px;border-radius:8px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.06);min-width:0}.device-module-power-cell--no-module{opacity:.5}.device-module-power-cell--no-module .module-power-switch--telemetry-off .module-power-switch-seg-off,.device-module-power-cell--no-module .module-power-switch--telemetry-on .module-power-switch-seg-on{background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.35)}.device-module-power-label{font-size:12px;font-weight:700;letter-spacing:.04em;color:hsla(0,0%,100%,.65);text-align:center}.device-module-power-cap{display:block;text-align:center;font-size:11px;font-weight:600;color:hsla(0,0%,100%,.55);line-height:1.2}.device-module-power-cell .device-module-power-chip.module-chip{justify-content:center;width:100%;box-sizing:border-box;font-size:10px;padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-power-switch{display:flex;width:100%;border-radius:999px;overflow:hidden;border:1px solid hsla(0,0%,100%,.12)}.module-power-switch-seg{flex:1 1;min-width:0;padding:8px 4px;font-size:11px;font-weight:800;letter-spacing:.04em;border:none;cursor:pointer;background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.42);transition:background .15s,color .15s}.module-power-switch-seg:disabled{opacity:.45;cursor:not-allowed}.module-power-switch-seg-off:hover:not(:disabled){background:rgba(239,68,68,.18);color:#fca5a5}.module-power-switch-seg-on:hover:not(:disabled){background:rgba(16,185,129,.2);color:#6ee7b7}.module-power-switch--telemetry-off .module-power-switch-seg-off{background:rgba(239,68,68,.22);color:#f87171}.module-power-switch--telemetry-on .module-power-switch-seg-on{background:rgba(16,185,129,.28);color:#34d399}.module-power-confirm-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(4,10,18,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.module-power-confirm{width:min(420px,100%);padding:20px 22px;border-radius:12px;border:1px solid hsla(0,0%,100%,.14);background:linear-gradient(165deg,rgba(28,40,56,.98),rgba(14,22,34,.98));box-shadow:0 18px 48px rgba(0,0,0,.45)}.module-power-confirm--off{border-color:hsla(0,91%,71%,.35)}.module-power-confirm--on{border-color:rgba(52,211,153,.35)}.module-power-confirm-kicker{margin:0 0 6px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:hsla(0,0%,100%,.45)}.module-power-confirm-title{margin:0 0 8px;font-size:17px;font-weight:700;letter-spacing:-.02em;color:#f8fafc;line-height:1.3}.module-power-confirm-desc{margin:0 0 18px;font-size:13px;line-height:1.5;color:rgba(226,232,240,.72)}.module-power-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.module-power-confirm-cancel,.module-power-confirm-submit{padding:9px 16px;border-radius:8px;font-size:13px;font-weight:650;cursor:pointer;border:1px solid transparent}.module-power-confirm-cancel{background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.12);color:hsla(0,0%,100%,.75)}.module-power-confirm-cancel:hover{background:hsla(0,0%,100%,.1)}.module-power-confirm-submit--off{background:rgba(185,28,28,.85);border-color:hsla(0,91%,71%,.45);color:#fee2e2}.module-power-confirm-submit--off:hover{filter:brightness(1.08)}.module-power-confirm-submit--on{background:rgba(4,120,87,.9);border-color:rgba(52,211,153,.45);color:#d1fae5}.module-power-confirm-submit--on:hover{filter:brightness(1.08)}.device-charts-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.chart-card-lg{min-height:300px}.chart-card-wide{grid-column:1/-1}.pf-gauge-row{display:flex;gap:32px;justify-content:center;flex-wrap:wrap}.chart-title-mock{font-weight:400;font-size:11px;text-transform:none;letter-spacing:0;color:#f59e0b;opacity:.8}.capacity-legend-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding:0 4px}.cap-badge{font-size:11px;padding:3px 8px;border-radius:4px;opacity:.75}.cap-reactive{background:rgba(16,185,129,.15);color:#10b981;border:1px solid rgba(16,185,129,.3)}.cap-idle{background:rgba(59,130,246,.15);color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.cap-margin{background:rgba(71,85,105,.25);color:#94a3b8;border:1px solid rgba(71,85,105,.4)}.cap-tank{display:flex;flex-direction:column;gap:8px;min-width:0;padding:6px 0 2px}.cap-tank-track{position:relative;height:32px;border-radius:10px;background:rgba(148,163,184,.22);border:1px solid rgba(203,213,225,.45);box-shadow:inset 0 1px 4px rgba(0,0,0,.28);overflow:hidden;min-width:0}.cap-tank-recommend-zone{right:0;background:rgba(251,191,36,.12)}.cap-tank-recommend-mark,.cap-tank-recommend-zone{position:absolute;top:0;bottom:0;pointer-events:none}.cap-tank-recommend-mark{width:2px;margin-left:-1px;background:#fbbf24;z-index:3}.cap-tank-fill{position:absolute;inset:3px auto 3px 3px;border-radius:7px;z-index:1;transition:width .45s ease}.cap-tank-fill--head{background:#22c55e}.cap-tank-fill--short{background:#f87171}.cap-tank-fill--neutral{background:#64748b}.cap-tank-axis{position:relative;display:flex;justify-content:space-between;font-size:11px;font-weight:650;color:#cbd5e1;min-height:16px}.cap-tank-axis-rec{position:absolute;transform:translateX(-50%);color:#fbbf24;white-space:nowrap}.cap-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px 16px;gap:8px 16px;padding-top:4px}.cap-readout-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding-left:10px;border-left:3px solid rgba(148,163,184,.28)}.cap-readout-item--head,.cap-readout-item--op.cap-readout-item--head{border-left-color:#22c55e}.cap-readout-item--op.cap-readout-item--short,.cap-readout-item--short{border-left-color:#f87171}.cap-readout-item--op.cap-readout-item--neutral{border-left-color:#64748b}.cap-readout-item--total{border-left-color:#94a3b8}.cap-readout-label{font-size:11px;font-weight:650;color:rgba(148,163,184,.72);white-space:nowrap}.cap-readout-val{font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#e2e8f0;white-space:nowrap}.cap-readout-hint{font-size:11px;font-weight:650;color:#5eead4;white-space:nowrap}.cap-readout-hint--muted{color:rgba(148,163,184,.62)}.cap-readout-hint--warn{color:#fbbf24}.cap-snapshot-stats{display:flex;flex-wrap:wrap;gap:12px 24px;padding:6px 0 2px}.cap-stat{display:flex;align-items:center;gap:7px;font-size:12px}.cap-stat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cap-stat-label{opacity:.55}.cap-stat-val{font-weight:600;color:#f5f6f7}@keyframes skel-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skel{background:linear-gradient(90deg,hsla(0,0%,100%,.04) 25%,hsla(0,0%,100%,.08) 50%,hsla(0,0%,100%,.04) 75%);background-size:200% 100%;animation:skel-shimmer 1.6s ease-in-out infinite;border-radius:4px}.skel-text{display:inline-block;height:14px;min-width:40px}.skel-circle{width:8px;height:8px;border-radius:50%;flex-shrink:0}.skel-box{display:block;width:100%;min-height:40px}.site-page{padding:24px 32px;margin-inline:clamp(24px,8vw,160px);display:flex;flex-direction:column;gap:20px}.site-nav{display:flex;align-items:center;gap:8px;font-size:14px}.site-nav-link{color:var(--pmcs-accent-bright);font-weight:600;transition:opacity .15s}.site-nav-link:hover{opacity:.7}.site-nav-sep{opacity:.25}.site-nav-current{opacity:.55;font-weight:500}.site-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:80px 0;opacity:.45}.site-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:20px 24px;background:hsla(0,0%,100%,.025);border:1px solid var(--pmcs-panel-border);border-radius:12px}.site-header-left{display:flex;flex-direction:column;gap:6px;min-width:0}.site-header-title{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.site-header-identity{display:flex;align-items:flex-start;gap:10px;min-width:0;width:100%}.site-header-title h1{font-size:22px;font-weight:700;margin:0;min-width:0;line-height:1.25;overflow-wrap:anywhere}.site-header-flags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-left:20px}.site-header-meta{font-size:13px;opacity:.5;margin:0}.site-stats-row{display:flex;gap:8px;flex-wrap:wrap}.site-stat{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 16px;border-radius:8px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.06);min-width:64px}.site-stat-val{font-size:20px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.site-stat-lbl{font-size:11px;opacity:.45;letter-spacing:.3px}.site-stat-ok .site-stat-val{color:#34c759}.site-stat-warn .site-stat-val{color:#f59e0b}.site-stat-err .site-stat-val{color:#ef4444}.site-stat-comm .site-stat-val{color:#9ca3af}.site-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}.site-inst-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:12px;background:hsla(0,0%,100%,.025);border:1px solid hsla(0,0%,100%,.06);text-decoration:none;color:inherit;transition:background .15s,border-color .15s,transform .15s}.site-inst-card:hover{background:var(--pmcs-accent-dim);border-color:var(--pmcs-accent-border);transform:translateY(-2px)}.site-inst-card--fault{border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.05)}.site-inst-card--fault .site-inst-label{color:#fca5a5}.site-inst-card--fault .site-inst-dot{animation:fault-dot-pulse 1.2s ease-in-out infinite}.site-inst-card--offline{border-color:hsla(220,9%,46%,.25);opacity:.85}.site-inst-card--comm-lost{border-color:rgba(156,163,175,.4)}.site-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.site-toolbar{display:flex;align-items:center;gap:8px}.site-toolbar .sidebar-filters{padding:0;width:100%;max-width:440px}.scada-panel{border-color:var(--pmcs-panel-border)!important;box-shadow:none}.page-breadcrumb .breadcrumb-item,.page-breadcrumb .site-nav-link{color:var(--pmcs-accent-bright)}.page-live-refresh{flex-shrink:0}.page-fault-banner{margin-bottom:12px;padding:10px 16px;border-radius:8px;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#fca5a5;font-size:13px;animation:kpi-fault-urgent 1.2s ease-in-out infinite}.page-kpi-strip{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0 16px;margin-bottom:4px;border-bottom:1px solid var(--pmcs-divider)}.device-kpi-strip{margin-inline:0}.page-kpi-cell{display:flex;flex-direction:column;gap:2px;padding:8px 14px;min-width:88px;border-radius:8px;background:hsla(0,0%,100%,.03);border:1px solid var(--pmcs-panel-border)}.page-kpi-label{font-size:10px;font-weight:600;letter-spacing:.04em;color:hsla(0,0%,100%,.4);text-transform:uppercase}.page-kpi-cell .metric-value{font-size:16px;text-align:left}.device-monitor-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.95fr);grid-template-rows:minmax(0,1fr);grid-gap:10px;gap:10px;flex:1 1;min-height:0;height:100%;overflow:hidden}.device-monitor-layout--charts-only{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.device-monitor-layout--thermal{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1.2fr) minmax(0,.9fr)}.device-monitor-layout .device-detail-body{margin-top:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.device-monitor-charts .device-charts-grid--compact,.device-monitor-charts .device-charts-grid--section,.device-monitor-metrics .scada-metrics-panel{flex:1 1;min-height:0}.device-monitor-board{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.device-monitor-subtabs{flex-shrink:0;margin-bottom:8px}.monitor-view-nav{display:flex;align-items:center;gap:10px;flex-shrink:0;margin:0 0 10px;min-height:32px}.monitor-view-chips{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:0;min-width:0;height:32px;padding:2px;background:rgba(0,0,0,.35);border:1px solid rgba(148,163,184,.14);border-radius:var(--pmcs-radius)}.monitor-view-chip{display:inline-flex;align-items:center;justify-content:center;height:100%;padding:0 12px;border-radius:2px;border:none;background:transparent;color:rgba(226,232,240,.5);font-size:12px;font-weight:600;letter-spacing:0;line-height:1;cursor:pointer;white-space:nowrap}.monitor-view-chip:hover{color:rgba(226,232,240,.85);background:hsla(0,0%,100%,.04)}.monitor-view-chip.active{color:#5eead4;background:rgba(45,212,191,.14);box-shadow:inset 0 0 0 1px rgba(45,212,191,.32)}.module-slot-grid.module-slot-grid--nav{margin:0 0 0 auto;padding:0;border:none;display:flex;align-items:center;gap:8px;min-width:0}.module-slot-grid--nav .module-slot-grid-title{margin:0;flex-shrink:0}.module-slot-grid--nav .module-slot-grid-cells{flex-wrap:wrap;justify-content:flex-end}.module-slot-grid--nav .module-slot{min-width:0;padding:3px 8px;gap:0}.module-slot-grid--nav .module-slot-cap,.module-slot-grid--nav .module-slot-id,.module-slot-grid--nav .module-slot-state{font-size:11px}.device-compare-panel,.device-monitor-data{flex:1 1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.device-compare-panel{gap:10px;padding:10px 12px 12px;border-radius:var(--pmcs-radius);background:var(--pmcs-hmi-inset);border:1px solid var(--pmcs-panel-border)}.hmi-compare-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;flex-shrink:0;min-width:0}.hmi-compare-ch{font-family:var(--pmcs-font-mono);font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--pmcs-accent-bright);opacity:.7}.hmi-compare-title{font-size:13px;font-weight:700;color:rgba(226,232,240,.78)}.hmi-compare-flow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.08em;color:rgba(226,232,240,.4)}.hmi-compare-flow span{color:var(--pmcs-accent-bright);opacity:.7}.hmi-compare-stack{flex:1 1;min-height:0;display:grid;grid-template-rows:minmax(0,1.15fr) minmax(0,1fr);grid-gap:10px;gap:10px}.hmi-compare-block{min-height:0;display:flex;flex-direction:column;gap:6px}.hmi-compare-block-label{flex-shrink:0;font-size:11px;font-weight:800;letter-spacing:.08em;color:rgba(148,163,184,.55)}.hmi-compare-bays{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);grid-gap:10px;gap:10px}.hmi-compare-bay{min-width:0;min-height:0;display:flex;flex-direction:column;padding:10px 12px 12px;border-radius:var(--pmcs-radius);background:#070a10;border:1px solid rgba(148,163,184,.14);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.03);overflow:auto}.hmi-compare-bay--load{border-top:2px solid #f59e0b}.hmi-compare-bay--grid{border-top:2px solid #2dd4bf}.hmi-compare-bay-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.hmi-compare-kicker{font-size:10px;font-weight:800;letter-spacing:.12em}.hmi-compare-bay--load .hmi-compare-kicker{color:#fbbf24}.hmi-compare-bay--grid .hmi-compare-kicker{color:#5eead4}.hmi-compare-bay-head h3{margin:0;font-size:14px;font-weight:700;color:rgba(226,232,240,.88)}.hmi-compare-cols,.hmi-compare-row{display:grid;grid-template-columns:minmax(72px,.9fr) repeat(3,minmax(0,1fr));align-items:baseline;grid-gap:8px;gap:8px}.hmi-compare-cols{padding:0 0 6px;border-bottom:1px solid rgba(148,163,184,.14);font-size:10px;font-weight:700;letter-spacing:.08em;color:rgba(148,163,184,.45)}.hmi-compare-cols span:not(:first-child){text-align:right}.hmi-compare-row{padding:7px 0;border-bottom:1px solid rgba(148,163,184,.08)}.hmi-compare-row .metric-value{font-size:18px;font-weight:700;text-align:right}.hmi-compare-metric{display:inline-flex;align-items:baseline;justify-content:flex-end;justify-self:end;gap:3px;min-width:0;width:100%}.hmi-compare-metric.is-pct{gap:1px}.hmi-compare-metric-unit{font-size:11px;font-weight:700;color:rgba(148,163,184,.55);letter-spacing:.02em}.hmi-compare-tag{display:inline-flex;align-items:baseline;gap:6px;font-size:12px;font-weight:700;color:rgba(226,232,240,.55)}.hmi-compare-unit{font-size:10px;font-weight:600;color:rgba(148,163,184,.42)}.hmi-compare-name{font-size:11px;font-weight:650;color:rgba(148,163,184,.5)}.hmi-compare-rule{height:1px;margin:4px 0;background:rgba(148,163,184,.12)}.hmi-compare-sum{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;margin-top:2px}.hmi-compare-sum-kicker{grid-column:1/-1;font-size:10px;font-weight:800;letter-spacing:.08em;color:rgba(148,163,184,.5)}.hmi-compare-sum-cell{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0;padding:6px 8px;border-radius:var(--pmcs-radius);background:hsla(0,0%,100%,.03);border:1px solid rgba(148,163,184,.1)}.hmi-compare-sum-cell .hmi-compare-metric{width:auto}.hmi-compare-sum-cell .metric-value{font-size:18px;font-weight:700}.hmi-compare-spine{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;padding:8px 6px;border-radius:var(--pmcs-radius);background:rgba(0,0,0,.28);border:1px dashed rgba(148,163,184,.18)}.hmi-delta-head{text-align:center;font-size:11px;font-weight:800;letter-spacing:.14em;color:rgba(148,163,184,.45)}.hmi-delta-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:2px}.hmi-delta-label{font-size:10px;font-weight:700;color:rgba(148,163,184,.5)}.hmi-delta-value{font-family:var(--pmcs-font-mono);font-size:12px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:rgba(226,232,240,.72);text-align:center}.hmi-delta-unit{margin-left:2px;font-size:9px;font-weight:600;color:rgba(148,163,184,.45)}.hmi-delta-cell.is-better .hmi-delta-value{color:#5eead4}.hmi-delta-cell--empty .hmi-delta-value{color:rgba(148,163,184,.35)}.hmi-compare-bus{flex-shrink:0;margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:4px 8px 4px 12px;border-radius:var(--pmcs-radius);background:#070a10;border:1px solid rgba(148,163,184,.14)}.hmi-compare-bus-label{font-size:11px;font-weight:800;letter-spacing:.06em;color:rgba(148,163,184,.55);white-space:nowrap}.hmi-compare-bus-phases{display:flex;align-items:stretch;gap:6px}.hmi-compare-bus-phase{display:inline-flex;align-items:baseline;gap:6px;padding:4px 10px;border-radius:2px;background:hsla(0,0%,100%,.03)}.hmi-compare-bus-phase-tag{font-size:10px;font-weight:800;letter-spacing:.08em;color:rgba(148,163,184,.5)}.hmi-compare-bus .metric-value{font-size:18px;font-weight:800}.hmi-compare-bus-unit{font-size:11px;font-weight:700;font-feature-settings:normal;font-variant:normal;text-transform:none;letter-spacing:.02em;color:rgba(148,163,184,.45)}.hmi-power-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;flex:1 1;min-height:0}.hmi-power-cell{display:flex;flex-direction:column;justify-content:space-between;gap:6px;min-width:0;padding:10px 12px;border-radius:var(--pmcs-radius);background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.06);border-left-width:3px}.hmi-power-cell--s{border-left-color:#60a5fa}.hmi-power-cell--p{border-left-color:#34d399}.hmi-power-cell--q{border-left-color:#fbbf24}.hmi-power-cell--h{border-left-color:#c084fc}.hmi-power-cell-tag{display:flex;align-items:baseline;gap:6px;font-size:13px;font-weight:800;color:rgba(226,232,240,.82)}.hmi-power-cell--s .hmi-power-cell-tag{color:#93c5fd}.hmi-power-cell--p .hmi-power-cell-tag{color:#6ee7b7}.hmi-power-cell--q .hmi-power-cell-tag{color:#fcd34d}.hmi-power-cell--h .hmi-power-cell-tag{color:#d8b4fe}.hmi-power-cell-name{font-size:11px;font-weight:650;color:rgba(148,163,184,.55)}.hmi-power-cell-val{display:flex;align-items:baseline;gap:6px;min-width:0}.hmi-power-cell-val .metric-value{font-size:22px;font-weight:800;letter-spacing:-.03em}.hmi-power-cell-unit{font-size:12px;font-weight:700;color:rgba(148,163,184,.5)}@media (max-width:1100px){.hmi-compare-stack{height:auto}.hmi-compare-bus{margin-left:0;width:100%}.hmi-compare-bus-phases{flex-wrap:wrap;flex:1 1}.hmi-compare-bays{grid-template-columns:1fr;grid-template-rows:auto auto auto}.hmi-compare-spine{flex-direction:row;flex-wrap:wrap;justify-content:space-around}}.hmi-rail{display:flex;align-items:center;gap:10px;flex-shrink:0;min-width:0;margin:0 0 8px}.hmi-rail-id{flex-shrink:0;font-family:var(--pmcs-font-mono);font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--pmcs-accent-bright);opacity:.7}.hmi-rail-label{flex-shrink:0;font-size:13px;font-weight:700;letter-spacing:.02em;color:rgba(226,232,240,.72)}.hmi-rail-line{flex:1 1;min-width:16px;height:1px;background:linear-gradient(90deg,rgba(45,212,191,.35),rgba(148,163,184,.08))}.hmi-rail-note{flex-shrink:1;min-width:0;font-size:12px;letter-spacing:0;color:rgba(148,163,184,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-monitor-overview{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.device-monitor-overview-legend{flex-shrink:0;margin:0 0 8px;font-size:12px;color:hsla(0,0%,100%,.45)}.device-monitor-overview .ops-benefit{flex-shrink:0;margin-bottom:10px}.watch-summary{flex:1 1;min-height:0;display:flex;flex-direction:column;margin-bottom:0;padding:10px 12px 8px;border-radius:var(--pmcs-radius);background:var(--pmcs-hmi-inset);border-top:1px solid var(--pmcs-panel-border);border:1px solid var(--pmcs-panel-border);border-top:1px solid rgba(45,212,191,.32)}.watch-summary-head{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;margin-bottom:8px}.watch-summary-title{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.watch-summary-meta{margin:0;font-size:12px;color:rgba(148,163,184,.72)}.watch-summary-counts{display:flex;align-items:center;gap:6px;min-width:0}.watch-summary-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.watch-summary-action{padding:3px 8px;border:1px solid rgba(148,163,184,.28);border-radius:6px;background:rgba(8,11,17,.4);font-size:11px;font-weight:600;color:rgba(203,213,225,.88);cursor:pointer;white-space:nowrap}.watch-summary-action:hover{border-color:rgba(148,163,184,.45);color:rgba(226,232,240,.96);background:rgba(148,163,184,.12)}.watch-chip{font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 7px;border-radius:999px;border:1px solid transparent}.watch-chip--danger{color:#fecaca;background:hsla(0,91%,71%,.12);border-color:hsla(0,91%,71%,.35)}.watch-chip--warn{color:#fde68a;background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.35)}.watch-chip--ok{color:var(--pmcs-accent-bright);background:var(--pmcs-accent-dim);border-color:var(--pmcs-accent-border)}.watch-summary-empty{margin:0;padding:4px 0 2px;font-size:13px;color:rgba(226,232,240,.55)}.watch-summary-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;flex:1 1;min-height:0;overflow:auto}.watch-summary-item{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border-radius:var(--pmcs-radius);background:rgba(8,11,17,.7);border-left:3px solid rgba(148,163,184,.35)}.watch-summary-copy{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.watch-summary-title{font-size:13px;font-weight:650;line-height:1.35;color:rgba(226,232,240,.92)}.watch-summary-scope{font-size:10px;font-weight:700;letter-spacing:.04em;color:rgba(148,163,184,.7)}.watch-summary-when{margin-top:1px;font-size:11px;color:rgba(148,163,184,.62)}.watch-summary-dismiss{flex-shrink:0;padding:2px 6px;border:1px solid rgba(148,163,184,.22);border-radius:6px;background:transparent;font-size:11px;font-weight:600;color:rgba(148,163,184,.72);cursor:pointer}.watch-summary-dismiss:hover{border-color:hsla(0,91%,71%,.4);color:#fecaca;background:hsla(0,91%,71%,.08)}.watch-summary-item--warn{border-left-color:#f59e0b}.watch-summary-item--danger{border-left-color:#f87171}.watch-summary-level{flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.04em;color:rgba(226,232,240,.55);padding-top:1px}.watch-summary-item--warn .watch-summary-level{color:#fbbf24}.watch-summary-item--danger .watch-summary-level{color:#f87171}.watch-summary-msg{font-size:12px;line-height:1.4;color:rgba(148,163,184,.82)}@media (max-width:768px){.watch-summary-head{flex-direction:column;align-items:stretch}}.device-monitor-overview .ops-stat{min-height:128px;padding:14px 16px 12px;gap:14px}.device-monitor-overview .ops-stat-icon{width:40px;height:40px;border-radius:var(--pmcs-radius)}.device-monitor-overview .ops-stat-icon svg{width:22px;height:22px}.device-monitor-overview .ops-stat-value{font-size:32px}.device-monitor-overview .ops-stat-kicker{font-size:13px}.device-monitor-overview .ops-stat-hint{font-size:12px}.device-monitor-overview .ops-stat-compare{font-size:13px}.monitor-gauge-grid{flex:1 1;min-height:240px;height:auto;max-height:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px;align-items:stretch;counter-reset:hmi-ch}.monitor-gauge-grid>.ring-gauge{height:100%;min-height:0}.ring-gauge{position:relative;display:flex;flex-direction:column;min-height:0;height:auto;padding:8px 8px 6px;border-radius:var(--pmcs-radius);background:var(--pmcs-hmi-inset);border-top:1px solid var(--pmcs-panel-border);border:1px solid var(--pmcs-panel-border);border-top:1px solid rgba(45,212,191,.32);overflow:hidden}.ring-gauge--dpf,.ring-gauge--pf{border-top-color:rgba(56,189,248,.45)}.ring-gauge--thd{border-top-color:rgba(251,191,36,.5)}.ring-gauge--unbalance{border-top-color:rgba(167,139,250,.5)}.ring-gauge-title{flex-shrink:0;text-align:center;font-size:13px;font-weight:700;letter-spacing:.04em;color:rgba(226,232,240,.78)}.ring-gauge-title:before{counter-increment:hmi-ch;content:counter(hmi-ch,decimal-leading-zero) "  ";font-family:var(--pmcs-font-mono);font-size:9px;letter-spacing:.08em;color:var(--pmcs-accent-bright);opacity:.55}.ring-gauge-plot{position:relative;flex:1 1;min-height:0}.device-monitor-overview .ring-gauge{height:100%;max-height:none;min-height:0;padding:4px 6px 2px;overflow:hidden;isolation:isolate}.device-monitor-overview .ring-gauge-title{font-size:12px}.device-monitor-overview .ring-gauge-plot{min-height:0}.device-monitor-overview .ring-gauge-values{padding-top:6px;padding-bottom:4px;gap:8px}.device-monitor-overview .ring-gauge-before{font-size:16px}.device-monitor-overview .ring-gauge-arrow{font-size:15px}.device-monitor-overview .ring-gauge-after{font-size:22px}.pf-needle-gauge{border-top-color:rgba(167,232,216,.18)}.pf-needle-head{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.pf-needle-qty{display:inline-flex;align-items:center;gap:4px}.pf-tab-gauges{flex:1 1;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.pf-gauge-col{min-width:0;min-height:0;display:flex;flex-direction:column;gap:6px}.pf-gauge-col .pf-needle-gauge{flex:1 1 auto;min-height:0}.monitor-pf-row .pf-needle-plot,.monitor-pf-row .thd-arc-plot,.pf-gauge-col .pf-needle-plot{flex:1 1;min-height:0;aspect-ratio:auto;display:flex;align-items:center;justify-content:center}.monitor-pf-row .pf-needle-plot svg,.monitor-pf-row .thd-arc-plot svg,.pf-gauge-col .pf-needle-plot svg{width:100%;height:100%;max-width:100%;max-height:100%}.pf-qty-mix{flex:0 0 auto;display:flex;flex-direction:column;gap:5px;padding:8px 10px 9px;border-radius:var(--pmcs-radius);background:rgba(8,12,18,.45);border:1px solid var(--pmcs-panel-border)}.pf-qty-mix--empty{align-items:center;justify-content:center;min-height:64px;color:hsla(0,0%,100%,.35);font-size:12px}.pf-qty-mix-head{display:flex;align-items:center;gap:8px}.pf-qty-mix-formula{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.pf-qty-mix-eq{font-size:11px;font-weight:700;color:rgba(226,232,240,.45)}.pf-qty-mix-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px}.pf-qty-mix-label{font-size:12px;font-weight:700;color:rgba(226,232,240,.55)}.pf-qty-mix-track{display:flex;height:22px;overflow:hidden;border-radius:2px;background:hsla(0,0%,100%,.06)}.pf-qty-mix-seg{display:flex;align-items:center;justify-content:center;min-width:0;font-size:11px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pf-qty-mix-seg--q{background:#38bdf8;color:#082f49}.pf-qty-mix-seg--q-dim{background:rgba(56,189,248,.4);color:#bae6fd}.pf-qty-mix-seg--h{background:#a78bfa;color:#1e1b4b}.pf-qty-mix-seg--h-dim{background:rgba(167,139,250,.4);color:#ddd6fe}.pf-qty-mix-share{font-size:12px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:rgba(226,232,240,.62);white-space:nowrap;text-align:right}.pf-qty-mix-unit{margin-left:4px;font-size:10px;font-weight:650;color:rgba(226,232,240,.42)}.pf-needle-plot,.thd-arc-plot{flex:0 0 auto;width:100%;line-height:0;overflow:visible}.thd-arc-plot{aspect-ratio:240/136}.pf-needle-plot{aspect-ratio:240/168}.pf-needle-plot svg,.thd-arc-plot svg{display:block;width:100%;height:auto;max-width:100%;overflow:visible}.monitor-gauge-grid .pf-needle-plot,.monitor-gauge-grid .thd-arc-plot{flex:1 1 auto;min-height:0;aspect-ratio:auto}.monitor-gauge-grid .pf-needle-plot svg,.monitor-gauge-grid .thd-arc-plot svg{height:100%;max-height:100%}.pf-needle-gauge--empty{align-items:center;justify-content:center}.thd-arc-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 14px;flex-shrink:0}.thd-arc-leg{display:inline-flex;align-items:flex-end;gap:6px;font-size:11px;font-weight:700;color:rgba(226,232,240,.62)}.thd-arc-leg-swatch{display:inline-block;flex-shrink:0;box-sizing:border-box}.thd-arc-leg-swatch--in{width:14px;height:7px;border-radius:14px 14px 0 0;background:#94a3b8}.thd-arc-leg-swatch--out{width:20px;height:10px;border-radius:20px 20px 0 0;border:3px solid #e2e8f0;border-bottom:none;background:transparent}.pf-needle-legend{display:flex;justify-content:center;gap:14px;margin-top:auto;margin-bottom:2px;flex-shrink:0}.pf-needle-gauge .ring-gauge-values{margin-top:0;padding-top:2px}.pf-needle-leg{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:rgba(226,232,240,.62)}.pf-needle-leg:before{content:"";width:16px;height:0;border-top:2px solid #cbd5e1}.pf-needle-leg--before:before{border-top-style:dashed}.pf-needle-leg--after{color:#2dd4bf}.pf-needle-leg--after:before{border-top:3px solid #2dd4bf}.pf-power-legend{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;margin:4px 0 0;padding:0;font-size:12px;font-weight:700;color:rgba(226,232,240,.62)}.pf-power-legend li{gap:5px}.pf-power-legend li,.pf-qty-formula{display:inline-flex;align-items:center}.pf-qty-formula{gap:4px}.pf-qty-pill{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:2px;font-size:11px;font-weight:800;letter-spacing:.04em}.pf-qty-pill--q{color:#7dd3fc;background:rgba(56,189,248,.16);border:1px solid rgba(56,189,248,.45)}.pf-qty-pill--h{color:#c4b5fd;background:rgba(167,139,250,.16);border:1px solid rgba(167,139,250,.45)}.pf-qty-plus{font-size:12px;font-weight:800;color:hsla(0,0%,100%,.4)}.device-monitor-overview-cap{flex:0 0 auto;margin-top:6px}.device-monitor-overview-cap .chart-card{padding:8px 12px 6px;gap:4px}.device-monitor-overview-cap .cap-tank{gap:4px;padding:0}.device-monitor-overview-cap .cap-tank-track{height:24px}.device-monitor-overview-cap .cap-tank-axis{font-size:10px}.device-monitor-overview-cap .cap-readout{gap:4px 12px;padding-top:2px}.device-monitor-overview-cap .cap-readout-val{font-size:14px}.ring-gauge-values{flex-shrink:0;display:flex;align-items:baseline;justify-content:center;gap:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:auto;padding-top:6px;padding-bottom:2px}.ring-gauge-before{font-size:16px;font-weight:650;color:#94a3b8}.ring-gauge-arrow{font-size:14px;color:hsla(0,0%,100%,.28)}.ring-gauge-after{font-size:20px;font-weight:800}.ring-gauge--empty{align-items:center;justify-content:center;gap:8px}.ring-gauge-muted{margin:0;font-size:12px;color:hsla(0,0%,100%,.35)}.thd-arc-caption{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;padding-top:4px}.thd-arc-gauge .thd-arc-legend{margin-top:0;margin-bottom:0}.thd-arc-gauge .ring-gauge-values{margin-top:0;padding-top:2px;padding-bottom:2px}.monitor-pf-row{flex:1 1;min-height:0;height:100%;display:flex;gap:12px;align-items:stretch}.monitor-pf-row .ring-gauge{flex:1 1;min-width:0}.device-charts-grid--section{display:grid;grid-gap:8px;gap:8px;height:100%;min-height:0}.device-charts-grid--section .chart-card-lg,.device-charts-grid--section .chart-card-wide{min-height:0}.device-charts-grid--pf{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:minmax(0,1fr)}.device-charts-grid--thd{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-template-rows:minmax(0,1fr)}.device-charts-grid--thd .chart-card{overflow:hidden;min-height:0}.device-charts-grid--thd .monitor-pf-row{gap:8px}.device-charts-grid--thd .thd-arc-gauge{overflow:hidden}.device-charts-grid--thd .thd-arc-plot{flex:1 1;min-height:0}.device-charts-grid--thd .chart-card-plot .recharts-surface,.device-charts-grid--thd .chart-card-plot .recharts-wrapper{overflow:visible}.device-charts-grid--unbalance{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.device-charts-grid--unbalance>:first-child{grid-column:1/-1}.device-charts-grid--thermal{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}.device-charts-grid--thermal .chart-card-lg{min-height:0}.device-charts-grid--section .chart-card{overflow:hidden}.device-charts-grid--unbalance .digital-phase-panel{flex:1 1;min-height:0;overflow:auto}.unb-limit-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px 24px;gap:16px 24px;padding:4px 2px 2px}.unb-limit{display:flex;flex-direction:column;gap:8px;min-width:0}.unb-limit-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.unb-limit-label{font-size:13px;font-weight:700;color:rgba(226,232,240,.78)}.unb-limit-readout{display:inline-flex;align-items:baseline;gap:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.unb-limit-before{font-size:13px;font-weight:650;color:rgba(148,163,184,.85)}.unb-limit-arrow{font-size:12px;color:hsla(0,0%,100%,.28)}.unb-limit-after{font-size:18px;font-weight:800;letter-spacing:-.03em}.unb-limit--ok .unb-limit-after{color:#5eead4}.unb-limit--warn .unb-limit-after{color:#fcd34d}.unb-limit--danger .unb-limit-after{color:#fca5a5}.unb-limit-track{position:relative;height:16px;border-radius:2px;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.08);overflow:hidden}.unb-limit-fill{position:absolute;left:0;border-radius:1px}.unb-limit-fill--before{top:2px;bottom:2px;background:repeating-linear-gradient(-55deg,rgba(148,163,184,.45),rgba(148,163,184,.45) 3px,rgba(148,163,184,.18) 0,rgba(148,163,184,.18) 6px)}.unb-limit-fill--after{top:4px;bottom:4px}.unb-limit--ok .unb-limit-fill--after{background:#14b8a6}.unb-limit--warn .unb-limit-fill--after{background:#eab308}.unb-limit--danger .unb-limit-fill--after{background:#f87171}.unb-limit-tick{position:absolute;top:0;bottom:0;width:1px;background:hsla(0,0%,100%,.38);transform:translateX(-.5px);pointer-events:none}.unb-limit-scale{position:relative;display:flex;justify-content:space-between;min-height:16px;font-size:10px;font-weight:650;color:rgba(226,232,240,.42)}.unb-limit-scale-mark{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}.unb-limit--empty{justify-content:center;min-height:72px}.unb-limit-muted{margin:0;font-size:12px;color:hsla(0,0%,100%,.35)}.unb-leg{display:inline-block;width:16px;height:0;flex-shrink:0}.unb-leg--before{border-top:3px solid #f59e0b}.unb-leg--after{border-top:3px solid #00d4aa}.unb-limit-notes{list-style:none;margin:10px 0 0;padding:8px 0 0;border-top:1px solid rgba(148,163,184,.12);display:flex;flex-direction:column;gap:8px}.unb-limit-notes li{display:grid;grid-template-columns:88px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start;font-size:12px;line-height:1.45;color:rgba(226,232,240,.68)}.unb-limit-notes strong{font-weight:700;color:rgba(226,232,240,.88)}.unb-limit-notes-tag{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:1px 7px;border-radius:2px;font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.unb-limit-notes-tag--motor{color:#fde68a;background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.4)}.unb-limit-notes-tag--grid{color:#fda4af;background:hsla(0,91%,71%,.1);border:1px solid hsla(0,91%,71%,.4)}.unb-limit-notes-tag--danger{color:#fca5a5;background:hsla(0,91%,71%,.16);border:1px solid hsla(0,91%,71%,.5)}@media (max-width:1024px){.unb-limit-notes li{grid-template-columns:1fr;gap:4px}}.device-charts-grid--compact{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:minmax(0,1.05fr) minmax(0,1fr);grid-gap:8px;gap:8px;height:100%;min-height:0}.device-charts-grid--compact>:first-child{grid-column:1;grid-row:1}.device-charts-grid--compact>:nth-child(2){grid-column:2;grid-row:2}.device-charts-grid--compact>:nth-child(3){grid-column:1;grid-row:2}.device-charts-grid--compact>:nth-child(4){grid-column:2;grid-row:1}.device-charts-grid--compact .chart-card{min-height:0;height:100%;padding:8px 10px 6px;gap:4px}.device-charts-grid--compact .chart-card-lg{min-height:0}.device-charts-grid--compact .chart-title{font-size:12px}.chart-card-fill{height:100%;min-height:0}.chart-card-plot{flex:1 1;min-height:0;width:100%;position:relative}.chart-card-plot .recharts-responsive-container,.ring-gauge-plot .recharts-responsive-container{position:absolute!important;inset:0}.chart-card .recharts-wrapper,.chart-card-plot .recharts-wrapper{overflow:visible}.device-charts-grid--compact .pf-gauge-row{gap:8px;height:100%;align-items:stretch}.device-health-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px;margin-top:10px}.device-health-cell{display:flex;flex-direction:column;gap:1px;padding:6px 8px;border-radius:6px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.06)}.device-health-label{font-size:10px;color:hsla(0,0%,100%,.4)}.device-health-value{font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.device-health-cell--ok .device-health-value{color:#86efac}.device-health-cell--warn .device-health-value{color:#fcd34d}.device-health-cell--danger .device-health-value{color:#fca5a5}.device-monitor-refresh--compact{display:flex;align-items:center;gap:8px;padding:0;border:none;background:none;box-shadow:none;min-width:0;flex-shrink:0}.device-settings-sync-btn--compact{padding:6px 10px;font-size:12px;white-space:nowrap}.device-refresh-inline{font-size:11px;color:hsla(0,0%,100%,.5);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-refresh-inline--ok{color:#6ee7b7}.device-refresh-inline--err{color:#fca5a5}.device-refresh-inline--pending{color:#7dd3fc}.device-detail-page .device-remote-chrome{position:relative;top:auto;flex-shrink:0;box-shadow:none;background:transparent}.device-detail-page .device-tab-bar{min-height:44px;padding:4px 4px 12px 0;flex-wrap:nowrap}.device-detail-page .device-tab-btn{padding:8px 12px;margin-bottom:0}.device-detail-page .device-detail-tab-body{padding-top:12px}.device-monitor-metrics .thermal-summary{flex:1 1;min-height:0;overflow:hidden;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto minmax(0,1fr);grid-gap:8px;gap:8px;padding:8px 10px 10px;border-radius:var(--pmcs-radius);background:var(--pmcs-hmi-inset);border:1px solid var(--pmcs-panel-border)}.thermal-summary-head{grid-column:1/-1;display:flex;align-items:center;flex-shrink:0;min-width:0}.thermal-summary-title{font-size:13px;font-weight:700;color:rgba(226,232,240,.78)}.thermal-summary-window{margin-left:auto;font-size:12px;font-weight:650;color:rgba(148,163,184,.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.thermal-stat{flex:1 1;min-height:0;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:8px;padding:10px 12px 11px;border-radius:var(--pmcs-radius);background:#070a10;border:1px solid rgba(148,163,184,.14);border-top:2px solid rgba(45,212,191,.45)}.thermal-stat--warn{border-top-color:#f59e0b}.thermal-stat--danger{border-top-color:#f87171}.thermal-stat-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.thermal-stat-head h3{margin:0;font-size:14px;font-weight:700;color:rgba(226,232,240,.88)}.thermal-stat-status{font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 8px;border-radius:999px;flex-shrink:0}.thermal-stat-status--ok{color:#86efac;background:rgba(134,239,172,.1)}.thermal-stat-status--warn{color:#fbbf24;background:rgba(251,191,36,.12)}.thermal-stat-status--danger{color:#fca5a5;background:hsla(0,91%,71%,.14)}.thermal-stat-block{min-width:0}.thermal-stat-block-label{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.06em;color:rgba(148,163,184,.62)}.thermal-stat-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.thermal-metric{display:flex;flex-direction:column;gap:4px;min-width:0;padding:8px 10px;border-radius:6px;background:hsla(0,0%,100%,.035);border:1px solid rgba(148,163,184,.08)}.thermal-metric-label{font-size:12px;font-weight:650;color:rgba(148,163,184,.68)}.thermal-metric-value{font-family:var(--pmcs-font-mono);font-size:clamp(18px,2.2vh,22px);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:#e2e8f0;line-height:1.05}.thermal-metric-unit{margin-left:3px;font-size:13px;font-weight:700;letter-spacing:0;color:rgba(148,163,184,.7)}.thermal-stat--warn .thermal-metric--peak .thermal-metric-value{color:#fbbf24}.thermal-stat--danger .thermal-metric--peak .thermal-metric-value{color:#f87171}.thermal-stat-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;min-width:0;font-size:12px;font-weight:650;color:rgba(148,163,184,.55)}.thermal-stat-foot span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-monitor-metrics .scada-metrics-grid{gap:10px}.device-monitor-metrics .detail-metrics-table{font-size:13px}.device-monitor-metrics .detail-metrics-table tbody td{padding:4px}.scada-section-title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pmcs-accent-bright);margin-bottom:12px;opacity:.75}.scada-metrics-panel{padding:14px;border-radius:var(--pmcs-radius);background:var(--pmcs-hmi-inset);border:1px solid var(--pmcs-panel-border)}.scada-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px;gap:16px}.scada-metrics-footer{margin-top:14px;padding-top:12px;border-top:1px solid var(--pmcs-divider)}.module-slot-grid{margin-top:10px;padding-top:10px;border-top:1px dashed var(--pmcs-divider)}.module-slot-grid-title{display:block;font-size:10px;font-weight:600;letter-spacing:.06em;color:hsla(0,0%,100%,.4);margin-bottom:6px}.module-slot-grid-cells{display:flex;flex-wrap:wrap;gap:6px}.module-slot{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:0;min-width:0;padding:5px 8px;border-radius:6px;border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.03);white-space:nowrap;line-height:1}.module-slot-grid--compact .module-slot{padding:4px 7px}.module-slot-cap,.module-slot-id,.module-slot-state{display:inline-flex;align-items:center;height:14px;font-size:11px;font-weight:700;line-height:1}.module-slot-id{opacity:.72}.module-slot-cap,.module-slot-state{margin-left:6px;padding-left:6px;border-left:1px solid color-mix(in srgb,currentColor 28%,transparent)}.module-slot-cap{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:1}.module-slot-state{opacity:.95}.module-slot--running{border-color:rgba(52,199,89,.35);background:rgba(52,199,89,.1);color:#86efac}.module-slot--fault{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.1);color:#fca5a5}.module-slot--offline{border-color:hsla(220,9%,46%,.35);color:#9ca3af}.module-slot--standby,.module-slot--start{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.08);color:#fcd34d}button.module-slot{font:inherit;color:inherit;cursor:pointer}.device-settings-panel-head .module-slot-grid--settings{margin:0;padding:0;border:none;flex:1 1;min-width:0;display:flex;align-items:center;gap:8px}.device-settings-panel-head .module-slot-grid--settings .module-slot-grid-title{margin:0;flex-shrink:0}.module-slot-grid--settings .module-slot:not(.module-slot--selected){opacity:.42;filter:saturate(.45)}.module-slot-grid--settings .module-slot--selected{opacity:1;box-shadow:0 0 0 2px #0b0d12,0 0 0 4px #5eead4}.site-inst-top{display:flex;flex-direction:column;align-items:stretch;gap:5px}.site-inst-row{display:flex;align-items:center;gap:6px;min-width:0}.site-inst-row--name{align-items:flex-start;gap:8px}.site-inst-row--name .site-inst-dot{margin-top:5px}.site-inst-row--name .lte-signal{flex-shrink:0;margin-left:auto;align-self:center}.site-inst-row--status{flex-wrap:wrap;padding-left:18px}.site-inst-row--spec{padding-left:18px;font-size:12px;font-weight:600;letter-spacing:.02em;color:hsla(0,0%,100%,.55)}.site-inst-readout{display:flex;flex-direction:column;gap:3px;padding-top:8px;border-top:1px solid hsla(0,0%,100%,.06)}.site-inst-readout-head,.site-inst-readout-row{display:grid;grid-template-columns:32px repeat(3,minmax(0,1fr));align-items:baseline;grid-column-gap:6px;column-gap:6px}.site-inst-readout-head{font-size:9px;font-weight:700;letter-spacing:.06em;color:hsla(0,0%,100%,.32)}.site-inst-readout-head span:not(:first-child){text-align:right}.site-inst-readout-lbl{font-size:10px;font-weight:700;letter-spacing:.04em;color:hsla(0,0%,100%,.42)}.site-inst-readout-row .metric-value{text-align:right;font-size:13px}.site-inst-readout-row--single{grid-template-columns:32px 1fr}.site-inst-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.site-inst-dot.running{background:#34c759}.site-inst-dot.standby,.site-inst-dot.start{background:#f59e0b}.site-inst-dot.fault{background:#ef4444}.site-inst-dot.offline{background:#4b5563}.site-inst-label{flex:1 1;min-width:0;font-size:15px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.site-inst-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:-2px}.site-inst-cap{font-size:11px;opacity:.35}.site-inst-divider{height:1px;background:hsla(0,0%,100%,.06)}.site-inst-table{display:flex;flex-direction:column;gap:5px}.sit-row{display:grid;grid-template-columns:90px repeat(3,1fr);align-items:baseline;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sit-row-pf{grid-template-columns:90px 1fr 1fr 1fr}.sit-label{opacity:.45;font-size:11px;white-space:nowrap}.sit-row span:not(.sit-label){text-align:right;font-weight:600;color:#e2e8f0}.site-inst-mods{display:flex;align-items:center;gap:8px;margin-top:2px}.site-inst-mods-label{font-size:12px;opacity:.45;flex-shrink:0;width:58px}.site-inst-mods-bar{flex:1 1;height:4px;background:hsla(0,0%,100%,.08);border-radius:2px;overflow:hidden}.site-inst-mods-fill{height:100%;border-radius:2px;background:#34c759;transition:width .4s ease}.live-indicator{display:flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:999px;background:var(--pmcs-accent-dim);border:1px solid var(--pmcs-accent-border);-webkit-user-select:none;-moz-user-select:none;user-select:none}.live-dot{width:7px;height:7px;border-radius:50%;background:#34c759;box-shadow:0 0 6px #34c759;animation:live-dot-pulse 1.4s ease-in-out infinite;flex-shrink:0}@keyframes live-dot-pulse{0%,to{opacity:1;box-shadow:0 0 6px #34c759}50%{opacity:.4;box-shadow:0 0 2px #34c759}}.live-label{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--pmcs-accent-bright)}.live-ring{flex-shrink:0}.live-ring-track{fill:none;stroke:rgba(52,199,89,.15);stroke-width:2}.live-ring-fill{fill:none;stroke:#34c759;stroke-width:2;stroke-linecap:round;transform-origin:center;transition:stroke-dasharray .9s linear}.live-countdown{font-size:10px;color:rgba(52,199,89,.7);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:20px}.kpi-divider{width:1px;height:28px;background:hsla(0,0%,100%,.08);flex-shrink:0}.kpi-urgent{animation:kpi-fault-urgent 1.2s ease-in-out infinite}@keyframes kpi-fault-urgent{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,0)}50%{box-shadow:0 0 0 5px rgba(239,68,68,.25)}}.alarm-ticker{display:flex;align-items:center;gap:10px;padding:4px 20px;border-bottom:1px solid rgba(148,163,184,.1);min-height:30px;overflow:hidden;font-size:12px}.alarm-ticker--clear{background:rgba(52,199,89,.04)}.alarm-ticker--active{background:rgba(239,68,68,.06);border-bottom-color:rgba(239,68,68,.15)}.alarm-ticker-icon{font-size:12px;font-weight:700;flex-shrink:0}.alarm-ticker-icon--ok{color:#34c759}.alarm-ticker-clear-text{font-size:12px;color:rgba(52,199,89,.85);letter-spacing:.02em}.alarm-ticker-badge{flex-shrink:0;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.4);color:#fca5a5;font-size:11px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.alarm-ticker-viewport{flex:1 1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.alarm-ticker-track{display:flex;gap:48px;width:max-content;animation:alarm-ticker-scroll linear infinite}@keyframes alarm-ticker-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.alarm-ticker-item{font-size:12px;white-space:nowrap;color:hsla(0,0%,100%,.75)}.alarm-ticker-item strong{color:#fecaca;font-weight:600}.alarm-ticker-item--offline strong{color:hsla(0,0%,100%,.65)}.alarm-ticker-item--comm_lost strong{color:#d1d5db}.alarm-ticker-sep{margin:0 6px;opacity:.35}.sidebar-head{flex-shrink:0;padding-bottom:4px}.sidebar-filters{display:flex;gap:4px;padding:0 12px 8px}.sidebar-filter-chip{flex:1 1;padding:4px 0;border-radius:6px;border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.03);color:hsla(0,0%,100%,.5);font-size:11px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.sidebar-filter-chip:hover{background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.75)}.sidebar-filter-chip.active{background:var(--pmcs-accent-dim);border-color:var(--pmcs-accent-border);color:var(--pmcs-accent-bright)}.sidebar-search-wrap{position:relative;padding:0 12px 8px}.sidebar-search{width:100%;height:32px;padding:0 28px 0 10px;border-radius:8px;border:1px solid var(--pmcs-panel-border);background:hsla(0,0%,100%,.04);color:var(--pmcs-text);font-size:12px;outline:none;transition:border-color .12s,box-shadow .12s}.sidebar-search::placeholder{color:hsla(0,0%,100%,.3)}.sidebar-search:focus{border-color:var(--pmcs-accent-border);box-shadow:0 0 0 2px var(--pmcs-accent-dim)}.sidebar-search-clear{position:absolute;right:18px;top:50%;transform:translateY(calc(-50% - 4px));width:20px;height:20px;border:none;border-radius:4px;background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.5);font-size:14px;line-height:1;cursor:pointer}.event-log-panel{border-bottom:1px solid var(--pmcs-divider);background:rgba(0,0,0,.15)}.event-log-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:5px 24px;border:none;background:transparent;color:var(--pmcs-text-muted);font-size:11px;font-weight:600;letter-spacing:.04em;cursor:pointer;text-align:left}.event-log-count,.event-log-toggle:hover{color:var(--pmcs-accent-bright);background:var(--pmcs-accent-dim)}.event-log-count{padding:1px 7px;border-radius:4px;border:1px solid var(--pmcs-accent-border);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.event-log-chevron{margin-left:auto;opacity:.45;font-size:10px}.event-log-list{list-style:none;max-height:120px;overflow-y:auto;padding:0 16px 8px;display:flex;flex-direction:column;gap:4px}.event-log-item{display:grid;grid-template-columns:72px 48px 1fr;grid-gap:10px;gap:10px;align-items:baseline;padding:6px 10px;border-radius:6px;font-size:11px;background:hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.04)}.event-log-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:hsla(0,0%,100%,.35);font-family:JetBrains Mono,Consolas,monospace}.event-log-kind{font-weight:700;font-size:10px;letter-spacing:.02em}.event-log-kind--degraded{color:#f87171}.event-log-kind--recovered{color:var(--pmcs-accent-bright)}.event-log-kind--changed{color:#fbbf24}.event-log-text{color:hsla(0,0%,100%,.7);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-log-item--degraded{border-color:rgba(239,68,68,.15)}.event-log-item--recovered{border-color:var(--pmcs-accent-border)}.site-inst-trends{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding-top:6px}.site-inst-card .site-inst-trends{margin-top:2px;padding-top:6px;border-top:1px solid hsla(0,0%,100%,.06)}.site-inst-card .summary-inst-sparkline{margin-top:0;padding-top:2px;border-top:none}.sidebar-filter-chip--fault.active{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35);color:#fca5a5}.sidebar-filter-chip--offline.active{background:hsla(220,9%,46%,.15);border-color:hsla(220,9%,46%,.35);color:#d1d5db}.sidebar-filter-chip--comm-lost.active{background:hsla(220,9%,46%,.18);border-color:rgba(156,163,175,.45);color:#d1d5db}.sidebar-empty{padding:24px 16px;font-size:12px;color:hsla(0,0%,100%,.35);text-align:center}.inst-card--fault .inst-card-label,.site-group--fault>.site-group-summary .site-group-name{color:#fca5a5}.inst-card--offline .inst-card-label,.site-group--offline>.site-group-summary .site-group-name{color:hsla(0,0%,100%,.45)}.inst-card--comm-lost{box-shadow:inset 3px 0 0 #9ca3af}.summary-inst-card--comm-lost{border-color:rgba(156,163,175,.4)}.inst-card--fault .inst-card-dot,.site-group--fault>.site-group-summary .site-group-dot{animation:fault-dot-pulse 1.2s ease-in-out infinite}@keyframes fault-dot-pulse{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,.5)}50%{box-shadow:0 0 0 4px rgba(239,68,68,0)}}.metric-value{font-family:JetBrains Mono,IBM Plex Mono,Consolas,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:inherit;font-weight:600;text-align:right;color:#e2e8f0}.sit-row .metric-value{display:block}.metric-normal{color:#e2e8f0}.metric-warn{color:#fbbf24}.metric-danger{color:#f87171;text-shadow:0 0 8px hsla(0,91%,71%,.35)}.kpi-strip-spacer{flex:1 1;min-width:8px}.control-room-toolbar{display:flex;align-items:center;gap:4px;flex-shrink:0}.cr-btn{padding:4px 10px;border-radius:6px;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.04);color:hsla(0,0%,100%,.55);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.cr-btn:hover{background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.85)}.cr-btn.active{background:rgba(0,212,170,.12);border-color:rgba(0,212,170,.35);color:#5eead4}.cr-btn--primary.active{background:rgba(0,212,170,.18);box-shadow:0 0 12px rgba(0,212,170,.15)}.cr-divider{width:1px;height:20px;background:hsla(0,0%,100%,.08);margin:0 2px}body.pmcs-control-room .global-header{opacity:.35;transition:opacity .2s}body.pmcs-control-room .global-header:hover{opacity:1}.dashboard-layout-map .dash-detail,.dashboard-layout-map .dash-sidebar{display:none}.dashboard-layout-map .dash-body{grid-template-columns:1fr}.dashboard-layout-map .dash-map-panel{padding:12px}.dashboard-layout-alarm .dash-body{grid-template-columns:minmax(280px,360px) 1fr}.dash-alarm-column{border-right:1px solid hsla(0,0%,100%,.05);overflow:hidden}.alarm-panel,.dash-alarm-column{display:flex;flex-direction:column;min-height:0}.alarm-panel{height:100%}.alarm-panel--empty{align-items:center;justify-content:center;padding:32px 16px;color:hsla(0,0%,100%,.35);font-size:13px}.alarm-panel-head{justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid hsla(0,0%,100%,.06);flex-shrink:0}.alarm-panel-head,.alarm-panel-title{display:flex;align-items:center;gap:8px}.alarm-panel-title{font-size:13px;font-weight:700;letter-spacing:.04em}.alarm-panel-unacked{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;background:rgba(239,68,68,.2);color:#fca5a5}.alarm-panel-actions{display:flex;gap:6px}.alarm-ack-btn,.alarm-action-btn,.alarm-ticker-ack-btn,.alarm-ticker-sound-btn{padding:4px 10px;border-radius:6px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.05);color:hsla(0,0%,100%,.7);font-size:11px;font-weight:600;cursor:pointer;flex-shrink:0}.alarm-ticker-sound-btn{padding:2px 8px;font-size:14px;line-height:1.2}.alarm-ack-btn{border-color:rgba(239,68,68,.35);color:#fca5a5}.alarm-ack-btn:hover{background:rgba(239,68,68,.15)}.alarm-acked-label{font-size:10px;color:hsla(0,0%,100%,.3);flex-shrink:0}.alarm-panel-list{list-style:none;overflow-y:auto;flex:1 1;padding:8px;display:flex;flex-direction:column;gap:6px}.alarm-panel-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid hsla(0,0%,100%,.06);background:hsla(0,0%,100%,.03)}.alarm-panel-item--fault{border-color:rgba(239,68,68,.2);background:rgba(239,68,68,.06)}.alarm-panel-item--offline{border-color:hsla(220,9%,46%,.25)}.alarm-panel-item--comm_lost{border-color:rgba(156,163,175,.35);background:hsla(220,9%,46%,.08)}.alarm-panel-item.acked{opacity:.45}.alarm-panel-item.selected{box-shadow:inset 0 0 0 1px rgba(0,212,170,.35)}.alarm-panel-item-select{flex:1 1;min-width:0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0}.alarm-panel-item-main{min-width:0;font-size:12px}.alarm-panel-status{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700}.alarm-panel-item--fault .alarm-panel-status{background:rgba(239,68,68,.2);color:#fca5a5}.alarm-panel-item--offline .alarm-panel-status{background:hsla(220,9%,46%,.2);color:#d1d5db}.alarm-panel-item--comm_lost .alarm-panel-status{background:hsla(220,9%,46%,.25);color:#d1d5db}.alarm-panel-detail{margin-top:4px;font-size:11px;color:hsla(0,0%,100%,.45)}.alarm-panel-sep{margin:0 4px;opacity:.35}.alarm-ticker-unacked{font-size:10px;font-weight:700;color:#fca5a5;flex-shrink:0}.alarm-ticker-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.alarm-ticker--clear{justify-content:center;position:relative}.alarm-ticker--clear .alarm-ticker-sound-btn{position:absolute;right:16px}.summary-inst-sparkline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;padding-top:6px;border-top:1px dashed hsla(0,0%,100%,.06)}.mini-sparkline{display:block;flex-shrink:0}.mini-sparkline--empty,.mini-sparkline--loading{width:120px;height:28px;display:flex;align-items:center;justify-content:flex-end}.mini-sparkline--loading{background:linear-gradient(90deg,hsla(0,0%,100%,.03) 25%,hsla(0,0%,100%,.08) 50%,hsla(0,0%,100%,.03) 75%);background-size:200% 100%;animation:sparkline-shimmer 1.2s ease infinite;border-radius:4px}@keyframes sparkline-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.mini-sparkline-placeholder{font-size:12px;opacity:.3}.lte-monitor-overlay{position:absolute;inset:0;pointer-events:none;z-index:5;overflow:hidden}.lte-monitor-grid{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(52,199,89,.05) 1px,transparent 0),linear-gradient(90deg,rgba(52,199,89,.05) 1px,transparent 0);background-size:56px 56px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent)}.lte-monitor-scanline{position:absolute;left:0;right:0;height:1.5px;background:linear-gradient(90deg,transparent,rgba(52,199,89,0) 20%,rgba(94,233,134,.35) 50%,rgba(52,199,89,0) 80%,transparent);box-shadow:0 0 10px 2px rgba(52,199,89,.12);animation:lte-monitor-scan 7s linear infinite}@keyframes lte-monitor-scan{0%{top:-2px;opacity:0}6%{opacity:.85}94%{opacity:.85}to{top:100%;opacity:0}}.lte-monitor-badge{position:absolute;top:14px;left:14px;z-index:12;display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:8px;background:rgba(8,14,10,.78);border:1px solid rgba(52,199,89,.22);box-shadow:0 4px 16px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lte-monitor-bars{display:flex;align-items:flex-end;gap:2px;height:12px;flex-shrink:0}.lte-monitor-bar-seg{width:3px;border-radius:1px;background:rgba(52,199,89,.85)}.lte-monitor-bar-seg-1{height:4px;opacity:.55}.lte-monitor-bar-seg-2{height:6px;opacity:.7}.lte-monitor-bar-seg-3{height:9px;opacity:.85}.lte-monitor-bar-seg-4{height:12px}.lte-monitor-badge-label{font-size:11px;font-weight:700;letter-spacing:.05em;color:#5ee986;white-space:nowrap}.lte-monitor-badge-sub{font-size:9px;font-weight:500;letter-spacing:.03em;color:rgba(94,233,134,.5);white-space:nowrap;padding-left:6px;border-left:1px solid rgba(52,199,89,.18)}.lte-monitor-dot{width:6px;height:6px;border-radius:50%;background:#34c759;flex-shrink:0}.lte-monitor-dot--live{animation:live-dot-pulse 2s ease-in-out infinite;box-shadow:0 0 6px rgba(52,199,89,.5)}@media (max-width:1024px){.dash-body{grid-template-columns:240px 1fr}.dash-body>:last-child{display:none}.device-monitor-overview{grid-template-columns:1fr;grid-template-rows:none}.global-content:has(.device-detail-page){flex:1 0 auto;min-height:auto;overflow:visible}.device-detail-page{height:auto;max-height:none;overflow-x:hidden;overflow-y:visible;max-width:100%;width:auto;margin-inline:12px;box-sizing:border-box}.device-detail-tabs{display:flex;flex-direction:column;grid-template-columns:none;grid-template-rows:none;height:auto;min-height:0;flex:none}.device-compare-panel,.device-detail-side,.device-detail-tab-body,.device-detail-tab-body--fit,.device-detail-workspace,.device-monitor-board,.device-monitor-data,.device-monitor-layout,.device-monitor-layout .device-detail-body,.device-monitor-metrics .thermal-summary,.device-monitor-overview{height:auto;max-height:none;min-height:0;flex:none;overflow:visible}}@media (max-width:1280px){.device-detail-tabs{grid-template-columns:minmax(176px,208px) minmax(0,1fr);gap:8px}.device-detail-side{gap:6px;min-width:0}.device-side-identity{padding:7px 8px 6px;min-width:0}.device-side-identity-title{gap:4px}.device-side-identity-title h1{font-size:12px;line-height:1.3}.device-side-identity-id,.device-side-identity-seen,.device-side-identity-spec{padding-left:14px;font-size:10px;line-height:1.3;overflow-wrap:anywhere}.device-side-identity-link{margin-top:6px;padding-top:6px}.watch-summary{padding:7px 8px 6px;min-width:0}.watch-summary-head{margin-bottom:6px;gap:4px}.watch-chip,.watch-summary-meta{font-size:10px}.watch-chip{padding:1px 5px}.watch-summary-empty{font-size:11px;line-height:1.35}.watch-summary-list{gap:3px}.watch-summary-item{align-items:flex-start;gap:5px;padding:4px 5px;min-width:0}.watch-summary-level{font-size:10px}.watch-summary-title{font-size:11px}.watch-summary-scope,.watch-summary-when{font-size:9px}.watch-summary-msg{min-width:0;font-size:10px;line-height:1.35;overflow-wrap:anywhere}.watch-summary-action,.watch-summary-dismiss{font-size:10px}.device-detail-page .device-tab-bar{min-height:32px;padding:0 0 4px;gap:8px}.device-detail-page .device-tab-btn{padding:4px 10px;font-size:12px;gap:6px}.device-detail-page .device-tab-icon,.device-detail-page .device-tab-icon svg{width:14px;height:14px}.device-detail-page .device-detail-tab-body{padding-top:6px}.monitor-view-nav{margin-bottom:6px;gap:6px;min-width:0}.monitor-view-chips{height:28px}.monitor-view-chip{padding:0 8px;font-size:11px}.module-slot-grid--nav .module-slot-cap,.module-slot-grid--nav .module-slot-id,.module-slot-grid--nav .module-slot-state{font-size:10px;height:13px}.ops-benefit{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.ops-stat{min-height:0;min-width:0;padding:7px 8px;gap:6px}.ops-stat-icon{width:22px;height:22px}.ops-stat-icon svg{width:14px;height:14px}.ops-stat-body,.ops-stat-num{min-width:0}.ops-stat-value{font-size:18px}.ops-stat-unit{font-size:11px}.device-monitor-overview .ops-benefit{margin-bottom:6px}.device-monitor-overview .ops-stat{min-height:0;padding:7px 8px;gap:6px}.device-monitor-overview .ops-stat-icon{width:22px;height:22px}.device-monitor-overview .ops-stat-icon svg{width:14px;height:14px}.device-monitor-overview .ops-stat-value{font-size:18px}.device-monitor-overview .ops-stat-kicker{font-size:11px}.device-monitor-overview .ops-stat-hint{font-size:10px}.device-monitor-overview .ops-stat-compare{flex-wrap:wrap;gap:2px 6px;margin-top:1px;padding-top:3px;font-size:10px;line-height:1.25;white-space:normal;overflow:visible}.device-monitor-overview .ops-stat-compare-tag{font-size:9px;margin-right:3px}.device-monitor-overview .hmi-rail{margin-bottom:4px;gap:8px}.device-monitor-overview .hmi-rail-label{font-size:12px}.device-monitor-overview .monitor-gauge-grid{flex:1 1;min-height:210px;height:auto;max-height:none;gap:6px}.device-monitor-overview .ring-gauge,.monitor-gauge-grid>.ring-gauge{min-width:0;min-height:0;padding:4px 4px 2px}.device-monitor-overview .ring-gauge-title{font-size:13px;line-height:1.2}.device-monitor-overview .ring-gauge-title:before{font-size:9px}.device-monitor-overview .pf-needle-head{gap:2px}.device-monitor-overview .pf-qty-pill{min-width:16px;height:14px;padding:0 4px;font-size:9px}.device-monitor-overview .pf-needle-legend{gap:6px;margin-top:0;margin-bottom:0;flex-shrink:0}.device-monitor-overview .pf-needle-leg,.device-monitor-overview .thd-arc-leg{font-size:8px;gap:3px;line-height:1.2}.device-monitor-overview .pf-needle-leg:before{width:10px}.device-monitor-overview .thd-arc-caption{padding-top:0;flex-shrink:0}.device-monitor-overview .thd-arc-legend{gap:2px 6px;flex-shrink:0}.device-monitor-overview .thd-arc-leg-swatch--in{width:9px;height:5px}.device-monitor-overview .thd-arc-leg-swatch--out{width:12px;height:6px;border-width:2px}.device-monitor-overview .ring-gauge-values{padding-top:2px;padding-bottom:0;gap:4px;flex-shrink:0}.device-monitor-overview .ring-gauge-before{font-size:12px}.device-monitor-overview .ring-gauge-arrow{font-size:11px}.device-monitor-overview .ring-gauge-after{font-size:16px}.device-monitor-overview-cap .cap-tank-track{height:22px}.device-monitor-overview-cap .cap-readout{gap:4px 10px}.device-monitor-overview-cap .cap-readout-val{font-size:13px}.device-monitor-overview-cap .cap-readout-hint,.device-monitor-overview-cap .cap-readout-label{font-size:10px}.device-monitor-layout--charts-only{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.device-monitor-layout--thermal{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1.2fr) minmax(0,.9fr)}.device-charts-grid--pf,.device-charts-grid--unbalance{grid-template-columns:1fr 1fr}.device-charts-grid--thermal{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}.device-monitor-metrics .thermal-summary{padding:8px;gap:6px;overflow:auto}.thermal-summary-title{font-size:12px}.thermal-summary-window{font-size:10px}.thermal-stat{padding:8px;gap:6px;overflow:auto}.thermal-stat-head h3{font-size:12px}.thermal-stat-status{font-size:10px;padding:1px 6px}.thermal-stat-block-label{margin-bottom:4px;font-size:10px}.thermal-metric{padding:6px 7px;gap:2px}.thermal-metric-label{font-size:10px}.thermal-metric-value{font-size:16px}.thermal-metric-unit{font-size:11px}.thermal-stat-foot{font-size:10px;flex-wrap:wrap;white-space:normal}.thermal-stat-foot span{white-space:normal;overflow:visible;text-overflow:unset}.device-compare-panel{gap:6px;padding:8px}.hmi-compare-head{gap:8px}.hmi-compare-title{font-size:12px}.hmi-compare-bus{gap:6px 8px;padding:2px 6px 2px 8px}.hmi-compare-bus-label{font-size:10px}.hmi-compare-bus .metric-value{font-size:14px}.hmi-compare-bus-unit{font-size:10px}.hmi-compare-stack{gap:6px}.hmi-compare-block{gap:4px}.hmi-compare-block-label{font-size:10px}.hmi-compare-bays{gap:6px;grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr)}.hmi-compare-bay{padding:6px 8px}.hmi-compare-bay-head{gap:6px;margin-bottom:4px}.hmi-compare-bay-head h3{font-size:12px}.hmi-compare-kicker{font-size:9px}.hmi-compare-cols{padding-bottom:3px;font-size:9px}.hmi-compare-row{padding:3px 0}.hmi-compare-row .metric-value{font-size:14px}.hmi-compare-sum{gap:4px}.hmi-compare-sum-kicker{font-size:9px}.hmi-compare-sum-cell{padding:4px 6px;gap:6px}.hmi-compare-sum-cell .metric-value{font-size:14px}.hmi-compare-metric-unit{font-size:9px}.hmi-compare-tag{font-size:11px;gap:4px}.hmi-compare-name{font-size:10px}.hmi-compare-rule{margin:2px 0}.hmi-compare-spine{gap:4px;padding:4px}.hmi-delta-head{font-size:10px}.hmi-delta-cell{padding:3px 1px}.hmi-delta-label{font-size:9px}.hmi-delta-value{font-size:11px}.hmi-power-grid{gap:6px}.hmi-power-cell{padding:6px 8px;gap:2px}.hmi-power-cell-tag{font-size:11px}.hmi-power-cell-name{font-size:10px}.hmi-power-cell-val .metric-value{font-size:16px}.hmi-power-cell-unit{font-size:10px}}@media (max-height:960px) and (min-width:901px){.device-monitor-overview .ops-benefit{margin-bottom:6px}.device-monitor-overview .ops-stat{min-height:0;padding:8px 10px;gap:8px}.device-monitor-overview .ops-stat-value{font-size:22px}.device-monitor-overview .monitor-gauge-grid{flex:1 1;min-height:220px}.device-monitor-overview .ring-gauge,.monitor-gauge-grid>.ring-gauge{min-height:0}.device-monitor-overview-cap{margin-top:6px}.device-monitor-overview-cap .chart-card{padding:6px 12px 4px;gap:4px}.device-monitor-overview-cap .cap-tank-track{height:22px}.device-monitor-overview-cap .cap-readout-val{font-size:13px}.device-monitor-overview-cap .cap-readout-hint,.device-monitor-overview-cap .cap-readout-label{font-size:10px}}@media (max-height:740px) and (min-width:901px){.device-monitor-overview .hmi-rail{margin-bottom:4px}.device-monitor-overview .ops-benefit{margin-bottom:6px}.device-monitor-overview .ops-stat{min-height:0;padding:6px 8px;gap:6px}.device-monitor-overview .monitor-gauge-grid{flex:1 1;min-height:200px}.device-monitor-overview .ring-gauge,.monitor-gauge-grid>.ring-gauge{min-height:0}.device-monitor-overview-cap .chart-card{padding:6px 10px 4px}.device-monitor-overview-cap .cap-tank-track{height:20px}}@media (min-height:1000px) and (min-width:901px){.device-monitor-overview .monitor-gauge-grid{max-height:360px}}@media (max-width:1024px){.ops-benefit{grid-template-columns:repeat(2,minmax(0,1fr))}.device-charts-grid--compact,.device-monitor-layout,.device-monitor-layout--charts-only,.device-monitor-layout--thermal{grid-template-columns:1fr;grid-template-rows:none}.device-charts-grid--compact{height:auto}.device-charts-grid--compact>:first-child,.device-charts-grid--compact>:nth-child(2),.device-charts-grid--compact>:nth-child(3),.device-charts-grid--compact>:nth-child(4){grid-column:auto;grid-row:auto}.device-detail-page .chart-card-plot,.device-detail-page .ring-gauge-plot{flex:none;height:160px;min-height:160px}.device-detail-tab-body--fit{display:block;overflow:visible}}@media (max-width:900px){.device-detail-page{height:auto;max-height:none;overflow-x:hidden;overflow-y:visible;margin-inline:0;padding:8px 12px calc(20px + env(safe-area-inset-bottom, 0px));gap:10px}.ops-benefit{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-info-pop{left:auto;right:0}.device-detail-header--crumb .device-detail-header-inner{flex-wrap:wrap;gap:8px}.device-breadcrumb{flex:1 1 100%;flex-wrap:wrap;min-width:0;margin-bottom:0}.device-detail-page .device-tab-bar{flex-wrap:wrap;min-height:0;padding:0 0 8px;gap:8px}.device-tab-bar-tabs{width:100%}.device-tab-bar-actions{width:100%;margin-left:0;flex-wrap:wrap}.monitor-view-nav{flex-wrap:wrap;align-items:stretch;height:auto;min-height:0;gap:8px}.monitor-view-chips{flex-wrap:wrap;width:100%;height:auto;row-gap:4px}.monitor-view-chip{height:30px;padding:0 10px;font-size:11px}.module-slot-grid.module-slot-grid--nav{margin:0;width:100%;flex-wrap:wrap}.module-slot-grid--nav .module-slot-grid-cells{flex-wrap:wrap}.device-detail-tab-body--fit{overflow:visible;height:auto;display:block}.device-monitor-layout,.device-monitor-layout--thermal{overflow:visible}.device-charts-grid--compact,.device-monitor-layout,.device-monitor-layout--thermal{height:auto;grid-template-columns:1fr;grid-template-rows:none}.device-charts-grid--compact>:first-child,.device-charts-grid--compact>:nth-child(2),.device-charts-grid--compact>:nth-child(3),.device-charts-grid--compact>:nth-child(4){grid-column:auto;grid-row:auto}.chart-card-fill,.device-charts-grid--compact .chart-card,.device-charts-grid--compact .chart-card-lg,.monitor-gauge-grid{height:auto;min-height:0}.monitor-gauge-grid{flex:none;max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}.device-monitor-overview .ring-gauge{min-height:200px;height:100%}.device-detail-page .pf-needle-gauge,.device-detail-page .thd-arc-gauge{min-height:0;height:auto}.device-detail-page .chart-card-plot,.device-detail-page .ring-gauge-plot{flex:none;height:150px;min-height:150px}.device-monitor-overview .ops-stat{min-height:0;padding:10px 12px;gap:10px}.device-monitor-overview .ops-stat-value{font-size:24px}.device-compare-panel,.device-monitor-board,.device-monitor-data,.device-monitor-overview{overflow:visible;height:auto;grid-template-columns:1fr;grid-template-rows:none}.device-monitor-overview-cap .chart-card{height:auto}.watch-summary{flex:none}.watch-summary-list{max-height:none}.hmi-compare-flow{margin-left:0;width:100%}.hmi-compare-row .metric-value{font-size:14px}.pf-gauge-row,.pf-tab-gauges{display:flex;flex-direction:column;height:auto;min-height:0}.pf-gauge-col .pf-needle-gauge{flex:none;height:auto;min-height:0}.device-charts-grid--pf,.device-charts-grid--section,.device-charts-grid--thd,.device-charts-grid--thermal,.device-charts-grid--unbalance{height:auto;grid-template-columns:1fr;grid-template-rows:none}.device-monitor-metrics .thermal-summary{grid-template-columns:1fr;height:auto}.unb-limit-row{grid-template-columns:1fr}.chart-card-wide{grid-column:auto}.digital-phase-header,.digital-phase-row{grid-template-columns:64px repeat(3,minmax(0,1fr));gap:4px}.analytics-subtab-bar{flex-wrap:wrap}.analytics-subtab{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 6px);font-size:12px}}@media (max-width:768px){.global-header{padding:0 14px;height:44px;gap:10px}.global-logo-text{font-size:14px;letter-spacing:.2px}.live-clock{font-size:11px}.global-content{overflow-y:auto;overflow-x:hidden;min-height:0}main.dashboard-full{height:auto;max-height:none;overflow:visible}.new-dashboard{height:auto;min-height:calc(100dvh - 44px);overflow:visible}.dash-body{height:auto;flex:none}.dash-body,.dash-body>*{max-height:none}.dash-map-panel{position:relative;max-height:none}.dash-detail{height:auto}.global-header-center{display:none}.alarm-ticker{padding:6px 12px}.alarm-ticker-clear-text{font-size:11px}.control-room-toolbar,.kpi-strip-spacer{display:none}.dashboard-layout-alarm .dash-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.dash-alarm-column{max-height:240px;border-right:none;border-bottom:1px solid hsla(0,0%,100%,.05)}.dash-kpi-strip{padding:6px 12px;gap:6px;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.dash-kpi-strip::-webkit-scrollbar{display:none}.kpi-badge{padding:4px 10px;flex-shrink:0}.kpi-value{font-size:13px}.kpi-label{font-size:10px}.kpi-divider{display:none}.live-indicator{flex-shrink:0}.live-label{font-size:9px}.live-countdown{font-size:9px;min-width:16px}.dash-body{grid-template-columns:1fr;grid-template-rows:auto auto auto;overflow:visible;gap:0}.dash-body>:last-child{display:flex;border-left:none;border-top:1px solid hsla(0,0%,100%,.08)}.dash-sidebar{border-right:none;border-bottom:1px solid hsla(0,0%,100%,.08);max-height:min(42vh,340px);overflow:hidden}.sidebar-head{padding-bottom:6px;background:rgba(0,0,0,.12);border-bottom:1px solid hsla(0,0%,100%,.05)}.sidebar-title-row{padding:12px 14px 6px}.sidebar-title{font-size:11px;opacity:.55}.sidebar-title-count{font-size:11px}.sidebar-search-wrap{padding:0 14px 10px}.sidebar-search{height:40px;font-size:14px;padding:0 36px 0 12px}.sidebar-search-clear{right:22px;width:28px;height:28px;font-size:16px}.sidebar-filters{gap:6px;padding:0 14px 10px}.sidebar-filter-chip{min-height:36px;padding:8px 0;font-size:12px;border-radius:8px}.sidebar-list{max-height:none;padding:4px 6px 8px;gap:2px;-webkit-overflow-scrolling:touch}.region-group-summary{min-height:44px;padding:10px 14px}.region-group-name{font-size:13px}.site-group-summary{min-height:44px;padding:10px 14px 10px 24px;gap:10px}.site-group-name{font-size:13px}.site-group-client{font-size:11px;opacity:.5}.inst-card{min-height:42px;padding:8px 14px 8px 36px}.site-card-badge{font-size:10px;padding:3px 7px}.site-group-summary.selected .site-group-dot{width:12px;height:12px;box-shadow:0 0 0 3px var(--pmcs-accent),0 0 0 6px var(--pmcs-accent-glow),0 0 12px var(--pmcs-accent)}.site-group-summary.selected{background:rgba(0,212,170,.14);box-shadow:inset 4px 0 0 var(--pmcs-accent),0 0 0 1px var(--pmcs-accent-border)}.site-group-summary.selected .site-group-name{color:var(--pmcs-accent-bright)}.site-group-summary.selected .site-card-badge{opacity:.85}.site-group-selected-tag{display:inline-flex;align-items:center}.dash-map-panel{flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0;height:auto;min-height:0;background:rgba(0,0,0,.1)}.dash-map-mobile-header{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid hsla(0,0%,100%,.06);background:rgba(0,0,0,.18);flex-shrink:0;min-height:40px}.dash-map-mobile-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:hsla(0,0%,100%,.38);flex-shrink:0}.dash-map-mobile-site{font-size:14px;font-weight:700;color:var(--pmcs-accent-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.dash-map-panel .korea-map-wrapper{height:clamp(260px,38vh,360px);max-height:none;flex:1 1;min-height:260px}.map-zoom-controls{top:8px;right:8px}.zoom-btn{width:36px;height:36px;font-size:18px;border-radius:8px}.map-zoom-hint{display:none}.dash-detail{border-left:none;border-top:1px solid hsla(0,0%,100%,.08);max-height:none;overflow:visible;padding:16px 14px calc(24px + env(safe-area-inset-bottom, 0px));gap:14px}.dash-detail-empty{min-height:120px;font-size:14px;opacity:.5;text-align:center;padding:24px 16px}.detail-site-top{flex-wrap:wrap;gap:8px 10px;order:0}.detail-site-actions{flex-direction:row;align-items:center;width:auto;justify-content:flex-end;padding-left:0}.detail-site-open{display:none}.detail-site-name{font-size:17px;line-height:1.3}.detail-site-addr{font-size:12px;opacity:.55;line-height:1.4}.summary-stats-row{gap:8px;order:1}.summary-stat{padding:10px 6px}.summary-stat-value{font-size:20px}.summary-stat-label{font-size:11px;opacity:.55}.summary-inst-grid{grid-template-columns:1fr;gap:10px;order:3}.summary-inst-card{padding:14px;gap:10px;border-radius:10px}.summary-inst-label{font-size:14px}.site-inst-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px}.sit-row{font-size:12px;gap:6px;min-width:300px;grid-template-columns:84px repeat(3,1fr)}.sit-label{font-size:11px;opacity:.55}.summary-more-link{display:flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:10px;color:var(--pmcs-accent-bright);background:var(--pmcs-accent-dim);border:1px solid var(--pmcs-accent-border);font-size:13px;font-weight:600;margin-top:0;order:2;flex-shrink:0}.event-log-toggle{min-height:40px;padding:8px 14px;font-size:12px}.event-log-list{max-height:160px;padding:0 14px 10px}.event-log-item{grid-template-columns:64px 44px 1fr;gap:8px;padding:8px 10px;font-size:12px}.alarm-ticker-item{font-size:12px}.site-page{padding:14px 16px;gap:14px}.site-header{flex-direction:column;gap:14px;padding:16px}.site-header-title h1{font-size:18px}.site-stats-row{gap:6px}.site-stat{padding:8px 12px;min-width:52px}.site-stat-val{font-size:17px}.site-card-grid{grid-template-columns:1fr;gap:10px}.sit-row{font-size:11px;gap:4px}.device-detail-page{padding:8px 12px calc(20px + env(safe-area-inset-bottom, 0px));margin-inline:0}.device-detail-title-row h1{font-size:17px}.device-charts-grid{grid-template-columns:1fr}.pf-gauge-row{flex-direction:column;align-items:stretch}.pf-tab-gauges{grid-template-columns:1fr}.chart-card-wide{grid-column:1}.device-module-power-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hmi-compare-head,.hmi-rail{flex-wrap:wrap}.hmi-rail-note{white-space:normal}}@media (max-width:480px){.global-logo-text{display:none}.global-header{padding:0 12px}.dash-map-panel .korea-map-wrapper{height:clamp(220px,34vh,300px);min-height:220px}.dash-sidebar{max-height:min(38vh,300px)}.site-page{padding:10px 12px}.site-header{padding:14px}.site-header-title h1{font-size:16px}.site-stat{padding:6px 10px;min-width:46px}.site-stat-val{font-size:15px}.device-detail-page{padding:8px 10px calc(16px + env(safe-area-inset-bottom, 0px))}.device-detail-title-row h1{font-size:15px}.device-detail-title-row{flex-wrap:wrap;gap:6px}.monitor-gauge-grid,.ops-benefit{grid-template-columns:1fr}.device-monitor-overview .ring-gauge{min-height:200px;height:100%}.device-detail-page .pf-needle-gauge,.pf-gauge-col .pf-needle-gauge{min-height:0;height:auto}.hmi-compare-cols,.hmi-compare-row{grid-template-columns:minmax(48px,.8fr) repeat(3,minmax(0,1fr));gap:4px}.hmi-compare-row .metric-value{font-size:12px}.hmi-compare-metric-unit{font-size:10px}.device-module-power-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-badge{padding:3px 8px}.kpi-value{font-size:12px}}.history-section-header{margin-bottom:12px}.history-section-title{font-size:15px;font-weight:600;color:hsla(0,0%,100%,.85);letter-spacing:.02em}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:120px;color:hsla(0,0%,100%,.45);font-size:14px}.history-empty-sub{font-size:12px;color:hsla(0,0%,100%,.25)}.history-data-date-line{margin:12px;text-align:center;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em;color:hsla(0,0%,100%,.4)}.monitor-view-nav .history-data-date-line{margin:0 0 0 auto;text-align:right;flex-shrink:0;white-space:nowrap}.device-history-body{flex:1 1;min-height:0;overflow:auto}.auth-layout{background:#0b0d12;flex-direction:column}.auth-layout,.login-page{min-height:100vh;display:flex}.login-page{position:relative;flex:1 1;align-items:center;justify-content:center;padding:24px;overflow:hidden;background:var(--pmcs-bg)}.login-page-grid{position:absolute;inset:0;opacity:.35;background-image:linear-gradient(var(--pmcs-accent-dim) 1px,transparent 1px),linear-gradient(90deg,var(--pmcs-accent-dim) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%)}.login-page-scanline{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(0,212,170,.03) 48%,transparent 52%);background-size:100% 8px;animation:login-scan 6s linear infinite;opacity:.5}@keyframes login-scan{0%{background-position:0 0}to{background-position:0 100vh}}.login-card{position:relative;z-index:1;width:100%;max-width:420px;background:rgba(14,17,24,.92);border:1px solid var(--pmcs-accent-border);border-radius:16px;padding:36px 32px 32px;display:flex;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 0 0 1px rgba(0,212,170,.06),0 0 40px rgba(0,212,170,.08),0 24px 48px rgba(0,0,0,.55);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-status-strip{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:10px;font-weight:600;letter-spacing:.12em;color:hsla(0,0%,100%,.35);text-transform:uppercase}.login-status-dot{width:6px;height:6px;border-radius:50%}.login-status-dot--live{background:var(--pmcs-accent);box-shadow:0 0 8px var(--pmcs-accent-glow);animation:live-dot-pulse 1.4s ease-in-out infinite}.login-status-sep{opacity:.35}.login-system-badge{align-self:flex-start;margin-bottom:12px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--pmcs-accent-bright);background:var(--pmcs-accent-dim);border:1px solid var(--pmcs-accent-border)}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:8px}.login-logo-text{font-size:16px;font-weight:700;letter-spacing:2px;color:#f5f6f7}.login-title{font-size:22px;font-weight:700;color:#f5f6f7;margin-bottom:6px;align-self:flex-start}.login-subtitle{font-size:13px;color:hsla(0,0%,100%,.4);margin-bottom:28px;align-self:flex-start}.login-form{width:100%;gap:16px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:6px}.login-label{font-size:12px;font-weight:600;color:hsla(0,0%,100%,.55);letter-spacing:.4px}.login-input{width:100%;height:44px;padding:0 14px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.09);border-radius:10px;color:#f5f6f7;font-size:14px;outline:none;transition:border-color .15s,background .15s;font-family:inherit}.login-input::placeholder{color:hsla(0,0%,100%,.2)}.login-input:focus{border-color:var(--pmcs-accent-border);background:var(--pmcs-accent-dim);box-shadow:0 0 0 2px rgba(0,212,170,.08)}.login-input:disabled{opacity:.55;cursor:not-allowed}.login-error{font-size:13px;color:#f87171;padding:10px 12px;background:hsla(0,91%,71%,.08);border:1px solid hsla(0,91%,71%,.2);border-radius:8px}.login-btn{width:100%;height:46px;margin-top:4px;background:linear-gradient(135deg,#00b894 0,var(--pmcs-accent) 100%);border:1px solid var(--pmcs-accent-border);border-radius:10px;color:#042018;font-size:14px;font-weight:700;cursor:pointer;transition:filter .15s,opacity .15s,box-shadow .15s;display:flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;box-shadow:0 0 20px rgba(0,212,170,.2)}.login-btn:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 0 28px rgba(0,212,170,.35)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-spinner{width:18px;height:18px;border:2px solid rgba(4,32,24,.25);border-top-color:#042018;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.login-footer{margin-top:28px;font-size:12px;color:hsla(0,0%,100%,.2)}.device-remote-chrome{position:-webkit-sticky;position:sticky;top:44px;z-index:10;background:#0b0d12;border-bottom:1px solid hsla(0,0%,100%,.08);box-shadow:0 8px 24px rgba(0,0,0,.25)}.device-tab-bar{display:flex;align-items:stretch;justify-content:space-between;gap:12px 20px;padding:0 24px 0 20px;min-height:48px;flex-wrap:wrap}.device-tab-bar-tabs{display:flex;align-items:stretch;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}.device-tab-sep{width:1px;align-self:center;height:16px;margin:0 8px;background:hsla(0,0%,100%,.16);flex-shrink:0}.device-tab-bar-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.device-tab-bar-actions .remote-session-status{margin:0}.device-tab-bar-tabs::-webkit-scrollbar{display:none}.device-tab-btn{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;letter-spacing:.01em;color:rgba(226,232,240,.42);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s,background .15s;margin-bottom:-1px;white-space:nowrap}.device-tab-btn:hover{color:rgba(226,232,240,.82);background:hsla(0,0%,100%,.03)}.device-tab-btn.active{color:var(--pmcs-accent-bright);border-bottom-color:var(--pmcs-accent)}.device-tab-icon{display:flex;align-items:center;justify-content:center;opacity:.85}.device-tab-icon,.device-tab-icon svg{width:16px;height:16px}.remote-session-status{display:flex;align-items:center;gap:14px;margin:8px 0;padding:8px 12px 8px 10px;border-radius:10px;border:1px solid rgba(125,180,230,.28);background:linear-gradient(105deg,rgba(30,70,110,.45),rgba(18,28,42,.9) 55%,rgba(14,20,30,.95));flex:0 1 auto;max-width:100%;animation:remote-session-in .28s ease}.remote-session-status--signaled{border-color:rgba(250,204,21,.35);background:linear-gradient(105deg,rgba(90,70,20,.4),rgba(28,26,18,.92))}.remote-session-status--linked{border-color:rgba(74,222,128,.38);background:linear-gradient(105deg,rgba(20,80,50,.42),rgba(14,28,22,.95))}@keyframes remote-session-in{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}.remote-session-status-main{display:flex;align-items:center;gap:10px;min-width:0}.remote-session-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%}.remote-session-dot--pulse{background:#38bdf8;box-shadow:0 0 0 0 rgba(56,189,248,.55);animation:remote-session-pulse 1.6s ease-out infinite}.remote-session-status--signaled .remote-session-dot--pulse{background:#facc15;box-shadow:0 0 0 0 rgba(250,204,21,.5)}.remote-session-dot--ok{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:rgba(74,222,128,.18);color:#4ade80}.remote-session-dot--ok svg{width:11px;height:11px}@keyframes remote-session-pulse{0%{box-shadow:0 0 0 0 rgba(56,189,248,.5)}70%{box-shadow:0 0 0 8px rgba(56,189,248,0)}to{box-shadow:0 0 0 0 rgba(56,189,248,0)}}.remote-session-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.remote-session-label{font-size:12.5px;font-weight:650;letter-spacing:-.01em;color:#e0f2fe;line-height:1.25;white-space:nowrap}.remote-session-status--signaled .remote-session-label{color:#fef08a}.remote-session-status--linked .remote-session-label{color:#bbf7d0}.remote-session-hint{font-size:11px;color:rgba(226,232,240,.48);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.remote-session-timer{display:flex;flex-direction:column;align-items:flex-end;gap:0;padding-left:12px;border-left:1px solid hsla(0,0%,100%,.1);flex-shrink:0}.remote-session-timer-label{font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(148,163,184,.75);line-height:1.2}.remote-session-timer-value{font-family:JetBrains Mono,SF Mono,Fira Code,ui-monospace,monospace;font-size:20px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#f8fafc;line-height:1.15}.remote-session-status--signaled .remote-session-timer-value{color:#fde047}.remote-session-status--linked .remote-session-timer-value{color:#86efac;font-size:16px}.remote-session-status--closed{border-color:rgba(148,163,184,.22);background:rgba(15,23,42,.7)}.remote-session-status--closed .remote-session-label{color:rgba(226,232,240,.72)}.remote-session-dot--off{background:rgba(148,163,184,.45)}.remote-session-open-btn{flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:650;white-space:nowrap;color:#e0f2fe;background:rgba(56,189,248,.16);border:1px solid rgba(56,189,248,.45);border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}.remote-session-open-btn:hover:not(:disabled){background:rgba(56,189,248,.26);border-color:rgba(56,189,248,.7)}.remote-session-open-btn:disabled{opacity:.55;cursor:wait}.remote-session-error{font-size:11px;color:#fca5a5;white-space:nowrap}.history-section-sub{font-size:12px;font-weight:400;color:hsla(0,0%,100%,.4);letter-spacing:0}@media (max-width:768px){.device-remote-chrome{top:0}.device-tab-bar{padding:0 0 6px;gap:8px}.device-tab-btn{padding:10px 12px;font-size:12px}.remote-session-status{width:100%;margin:0 0 6px;justify-content:space-between}.remote-session-hint{max-width:none}.remote-session-timer-value{font-size:18px}}.app-nav{position:fixed;top:0;left:0;height:100vh;width:64px;background:#0c0f18;border-right:1px solid hsla(0,0%,100%,.06);z-index:200;display:flex;flex-direction:column;overflow:hidden;transition:width .25s cubic-bezier(.4,0,.2,1)}.app-nav:hover{width:220px}.app-nav-logo{gap:12px;padding:0 18px;height:60px;text-decoration:none;border-bottom:1px solid hsla(0,0%,100%,.05);overflow:hidden}.app-nav-logo,.app-nav-logo-icon{display:flex;align-items:center;flex-shrink:0}.app-nav-logo-icon{justify-content:center;width:28px}.app-nav-logo-text{font-size:13px;font-weight:700;letter-spacing:.5px;color:#f5f6f7;white-space:nowrap;opacity:0;transition:opacity .2s ease .05s}.app-nav:hover .app-nav-logo-text{opacity:1}.app-nav-section{display:flex;flex-direction:column;gap:2px;padding:12px 8px}.app-nav-account{margin-top:auto;border-top:1px solid hsla(0,0%,100%,.05)}.app-nav-section-title{font-size:10px;font-weight:600;letter-spacing:1.2px;color:hsla(0,0%,100%,.35);padding:4px 10px 6px;white-space:nowrap;opacity:0;transition:opacity .2s ease .05s}.app-nav:hover .app-nav-section-title{opacity:1}.app-nav-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;text-decoration:none;color:hsla(0,0%,100%,.5);transition:background .15s,color .15s;white-space:nowrap;overflow:hidden}.app-nav-item:hover{background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.85)}.app-nav-item.active{background:rgba(59,130,246,.15);color:#60a5fa}.app-nav-item.active .app-nav-icon svg{stroke:#60a5fa}.app-nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-nav-icon,.app-nav-icon svg{width:20px;height:20px}.app-nav-label{font-size:13px;font-weight:500;opacity:0;transition:opacity .2s ease .05s}.app-nav:hover .app-nav-label{opacity:1}.app-nav-footer{display:flex;align-items:center;gap:10px;padding:12px 10px 16px;border-top:1px solid hsla(0,0%,100%,.05);overflow:hidden}.app-nav-footer-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:hsla(0,0%,100%,.3)}.app-nav-footer-icon svg{width:16px;height:16px}.app-nav-footer-clock{opacity:0;transition:opacity .2s ease .05s;white-space:nowrap}.app-nav:hover .app-nav-footer-clock{opacity:1}.app-nav .live-clock{font-size:11px;color:hsla(0,0%,100%,.4);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.3px}@media (max-width:768px){.app-nav{flex-direction:row;position:fixed;top:0;left:0;right:0;border-right:none;border-bottom:1px solid hsla(0,0%,100%,.06);overflow:hidden;align-items:center}.app-nav,.app-nav:hover{width:100%;height:52px}.app-nav-logo{border-bottom:none;height:52px;padding:0 12px;flex-shrink:0}.app-nav-logo-text{opacity:1;font-size:12px}.app-nav-account,.app-nav-footer,.app-nav-section{display:none}}.global-header-left{display:flex;align-items:center;gap:20px;min-width:0}.global-header-admin-link{font-size:12px;font-weight:600;color:#a5b4fc;text-decoration:none;padding:6px 10px;border-radius:6px;border:1px solid rgba(165,180,252,.35);white-space:nowrap}.global-header-admin-link:hover{background:rgba(165,180,252,.1);color:#c7d2fe}.admin-iccid-page{padding:24px 32px 48px}.admin-iccid-header{margin-bottom:22px}.admin-iccid-title{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}.admin-iccid-sub{font-size:13px;color:hsla(0,0%,100%,.45)}.admin-iccid-panel .admin-iccid-hint{font-size:13px;line-height:1.55;color:hsla(0,0%,100%,.55);margin-bottom:16px;max-width:820px}.admin-iccid-flash{font-size:13px;margin-bottom:12px;padding:8px 12px;border-radius:6px}.admin-iccid-flash.ok{background:rgba(34,197,94,.12);color:#86efac;border:1px solid rgba(34,197,94,.25)}.admin-iccid-flash.err{background:hsla(0,91%,71%,.1);color:#fca5a5;border:1px solid hsla(0,91%,71%,.25)}.admin-iccid-empty{font-size:14px;color:hsla(0,0%,100%,.45)}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:min(420px,55vh);padding:48px 16px}.admin-loading-spinner{width:28px;height:28px;border-radius:50%;border:2px solid rgba(165,180,252,.22);border-top-color:#a5b4fc;animation:spin .7s linear infinite}.admin-loading-label{font-size:13px;font-weight:500;color:hsla(0,0%,100%,.45);letter-spacing:.01em}.admin-iccid-table-wrap{overflow-x:auto;border:1px solid hsla(0,0%,100%,.08);border-radius:10px;background:hsla(0,0%,100%,.02)}.admin-iccid-table{width:100%;border-collapse:collapse;font-size:13px}.admin-iccid-table td,.admin-iccid-table th{text-align:left;padding:12px 14px;border-bottom:1px solid hsla(0,0%,100%,.06);vertical-align:middle}.admin-iccid-table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:hsla(0,0%,100%,.4);background:rgba(0,0,0,.2)}.admin-iccid-table tbody tr:last-child td{border-bottom:none}.admin-iccid-site{font-weight:600;color:#f5f6f7}.admin-iccid-meta{font-size:11px;color:hsla(0,0%,100%,.35);margin-top:2px}.admin-iccid-code{font-size:11px;color:#93c5fd;background:rgba(59,130,246,.1);padding:3px 6px;border-radius:4px}.admin-iccid-input{width:100%;min-width:200px;max-width:280px;padding:8px 10px;font-size:13px;font-family:ui-monospace,monospace;border-radius:6px;border:1px solid hsla(0,0%,100%,.12);background:rgba(0,0,0,.35);color:#f5f6f7}.admin-iccid-input:focus{outline:none;border-color:rgba(165,180,252,.5)}.admin-iccid-save{padding:8px 14px;font-size:12px;font-weight:600;border-radius:6px;border:none;cursor:pointer;background:linear-gradient(180deg,#6366f1,#4f46e5);color:#fff}.admin-iccid-save:disabled{opacity:.55;cursor:not-allowed}.admin-iccid-save--ok{background:linear-gradient(180deg,#22c55e,#16a34a)}.admin-iccid-save--err{background:linear-gradient(180deg,#ef4444,#dc2626)}.admin-sites-inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-sites-inline-status{font-size:12px;font-weight:600;white-space:nowrap}.admin-sites-inline-status.ok{color:#86efac}.admin-sites-inline-status.err{color:#fca5a5}.admin-sites-add-inst-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.admin-sites-flash{position:-webkit-sticky;position:sticky;top:8px;z-index:20;box-shadow:0 8px 24px rgba(0,0,0,.35)}.admin-sites-wrap{display:flex;flex-direction:column;gap:14px}.admin-sites-top{display:flex;justify-content:flex-end}.admin-sites-add-btn{padding:9px 16px;font-size:13px;font-weight:600;border-radius:7px;border:1px solid rgba(99,102,241,.5);background:rgba(99,102,241,.12);color:#a5b4fc;cursor:pointer;transition:background .15s}.admin-sites-add-btn:hover{background:rgba(99,102,241,.22)}.admin-sites-form-card{background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.1);border-radius:10px;padding:20px 22px}.admin-sites-form-title{font-size:14px;font-weight:600;margin-bottom:14px;color:#e5e7eb}.admin-sites-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 16px;gap:12px 16px}.admin-sites-form-label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsla(0,0%,100%,.4)}.admin-sites-form-hint{font-size:10px;font-weight:400;text-transform:none;letter-spacing:0;color:hsla(0,0%,100%,.28)}.admin-sites-input{padding:8px 10px;font-size:13px;border-radius:6px;border:1px solid hsla(0,0%,100%,.12);background:rgba(0,0,0,.35);color:#f5f6f7;font-family:inherit}.admin-sites-input:focus{outline:none;border-color:rgba(165,180,252,.5)}.admin-sites-input option{background:#1a1a2e;color:#f5f6f7}.admin-sites-form-actions{margin-top:16px;display:flex;gap:10px}.admin-sites-list{display:flex;flex-direction:column;gap:10px}.admin-sites-card{border:1px solid hsla(0,0%,100%,.08);border-radius:10px;background:hsla(0,0%,100%,.02);overflow:hidden}.admin-sites-card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .12s}.admin-sites-card-header:hover{background:hsla(0,0%,100%,.03)}.admin-sites-card-header-left{display:flex;align-items:center;gap:12px}.admin-sites-chevron{font-size:10px;color:hsla(0,0%,100%,.4);width:14px}.admin-sites-name{font-size:14px;font-weight:600;color:#f5f6f7;display:block}.admin-sites-meta{font-size:11px;color:hsla(0,0%,100%,.35);margin-top:2px;display:block}.admin-sites-card-header-right{display:flex;align-items:center;gap:10px}.admin-sites-del-btn{padding:6px 11px;font-size:11px;font-weight:600;border-radius:5px;border:1px solid hsla(0,91%,71%,.3);background:hsla(0,91%,71%,.08);color:#fca5a5;cursor:pointer;transition:background .12s}.admin-sites-del-btn:hover:not(:disabled){background:hsla(0,91%,71%,.16)}.admin-sites-del-btn:disabled{opacity:.5;cursor:not-allowed}.admin-sites-edit-btn{padding:6px 11px;font-size:11px;font-weight:600;border-radius:5px;border:1px solid rgba(96,165,250,.35);background:rgba(59,130,246,.08);color:#93c5fd;cursor:pointer;transition:background .12s}.admin-sites-edit-btn:hover{background:rgba(59,130,246,.16)}.admin-sites-edit-card{margin:14px 0 16px;padding:14px 16px;border-radius:8px;border:1px solid rgba(59,130,246,.2);background:rgba(59,130,246,.04)}.admin-sites-input:disabled{opacity:.55;cursor:not-allowed}.admin-sites-inst-body{padding:0 18px 16px;border-top:1px solid hsla(0,0%,100%,.06)}.admin-sites-no-inst{font-size:13px;color:hsla(0,0%,100%,.35);padding:12px 0 8px}.admin-sites-inst-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.admin-sites-add-inst-btn{margin-top:12px;padding:7px 13px;font-size:12px;font-weight:600;border-radius:6px;border:1px dashed rgba(99,102,241,.4);background:transparent;color:#a5b4fc;cursor:pointer;transition:background .12s}.admin-sites-add-inst-btn:hover{background:rgba(99,102,241,.08)}.admin-sites-cancel-btn{padding:8px 12px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid hsla(0,0%,100%,.12);background:transparent;color:hsla(0,0%,100%,.5);cursor:pointer}.global-content{flex-direction:column}.admin-shell,.global-content{display:flex;flex:1 1;min-height:0}.admin-shell{height:100%}.admin-nav{width:220px;min-width:220px;background:rgba(10,12,20,.95);border-right:1px solid hsla(0,0%,100%,.07);display:flex;flex-direction:column;padding:20px 0 24px;gap:0}.admin-nav-header{display:flex;align-items:center;gap:8px;padding:0 18px 20px;border-bottom:1px solid hsla(0,0%,100%,.07);margin-bottom:8px}.admin-nav-badge{font-size:9px;font-weight:700;letter-spacing:.08em;padding:2px 6px;border-radius:4px;background:rgba(99,102,241,.25);color:#a5b4fc;border:1px solid rgba(99,102,241,.3)}.admin-nav-title{font-size:12px;font-weight:600;color:hsla(0,0%,100%,.55);letter-spacing:.03em}.admin-nav-list{display:flex;flex-direction:column;gap:2px;padding:0 10px}.admin-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:500;color:hsla(0,0%,100%,.5);text-decoration:none;transition:background .12s,color .12s}.admin-nav-item:hover{background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.85)}.admin-nav-item.active{background:rgba(99,102,241,.15);color:#c7d2fe;border:1px solid rgba(99,102,241,.25)}.admin-nav-icon{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center}.admin-nav-icon svg{width:100%;height:100%}.admin-nav-label{white-space:nowrap}.admin-shell-content{flex:1 1;overflow-y:auto;min-width:0}.admin-nav-mobile-bar{display:none}.admin-nav-menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:10px;background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.85);cursor:pointer;flex-shrink:0}.admin-nav-menu-btn svg{width:22px;height:22px}.admin-nav-mobile-title{font-size:14px;font-weight:600;color:hsla(0,0%,100%,.75);letter-spacing:.02em}.admin-nav-backdrop{display:none}.admin-nav-close-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;padding:0;border:none;border-radius:8px;background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.7);cursor:pointer;flex-shrink:0}.admin-nav-close-btn svg{width:18px;height:18px}@media (max-width:768px){body.admin-nav-drawer-open,html.admin-nav-drawer-open{overflow:hidden}.admin-shell{flex-direction:column;position:relative}.admin-nav-mobile-bar{display:flex;align-items:center;gap:12px;position:-webkit-sticky;position:sticky;top:0;z-index:120;flex-shrink:0;padding:8px 14px;margin:0;background:#0b0d12;border-bottom:1px solid hsla(0,0%,100%,.07)}.admin-nav-backdrop{display:block;position:fixed;inset:0;z-index:130;border:none;padding:0;margin:0;background:rgba(0,0,0,.55);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.admin-nav-backdrop.is-visible{opacity:1;visibility:visible;pointer-events:auto}.admin-nav{position:fixed;top:0;left:0;bottom:0;width:min(288px,88vw);min-width:0;max-width:100%;z-index:140;padding:16px 0 24px;margin:0;border-right:1px solid hsla(0,0%,100%,.1);box-shadow:8px 0 32px rgba(0,0,0,.45);transform:translateX(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1);overflow-y:auto;-webkit-overflow-scrolling:touch}.admin-nav.admin-nav--open{transform:translateX(0)}.admin-nav-header{padding-right:10px}.admin-nav-close-btn{display:flex}.admin-shell-content{flex:1 1;min-height:0;width:100%}.admin-shell-content>main.admin-iccid-page{padding:14px 14px 28px;gap:16px}.admin-shell-content>.admin-manual-frame-wrap{padding:14px 14px 24px;box-sizing:border-box}.admin-iccid-title{font-size:18px}.admin-iccid-table-wrap{margin-left:-4px;margin-right:-4px;padding-left:4px;padding-right:4px;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-iccid-table{min-width:520px}.admin-sites-form-grid{grid-template-columns:1fr}.admin-sites-form-card{padding:16px 14px}.admin-sites-card-header{padding:12px 14px;flex-wrap:wrap;gap:8px}.admin-sites-top{justify-content:stretch}.admin-sites-add-btn{width:100%;text-align:center}.user-pw-form{flex-direction:column;align-items:stretch}.user-actions{flex-wrap:wrap;justify-content:flex-start}.admin-manual-frame-wrap{height:min(70dvh,560px);min-height:320px}}.admin-users-wrap{display:flex;flex-direction:column;gap:16px}.admin-registry-wrap{display:flex;flex-direction:column;gap:24px}.admin-registry-section{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:12px;border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.02)}.admin-registry-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-registry-title{margin:0;font-size:15px;font-weight:700}.admin-registry-sub{margin:4px 0 0;font-size:12px;color:hsla(0,0%,100%,.45);line-height:1.45}.admin-registry-form-card{margin-top:0}.admin-registry-table td,.admin-registry-table th{font-size:13px}.admin-registry-desc-cell{max-width:280px;color:hsla(0,0%,100%,.55);font-size:12px}.admin-registry-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.admin-registry-warning{margin:0;padding:10px 14px;border-radius:8px;font-size:12px;line-height:1.5;color:#fde68a;background:rgba(234,179,8,.12);border:1px solid rgba(234,179,8,.28)}.admin-registry-warning code{font-size:11px;color:#fef3c7}.user-role-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;letter-spacing:.04em}.user-role-admin{background:rgba(239,68,68,.15);color:#fca5a5;border:1px solid rgba(239,68,68,.25)}.user-role-client{background:rgba(234,179,8,.12);color:#fde68a;border:1px solid rgba(234,179,8,.22)}.user-role-site{background:rgba(34,197,94,.12);color:#86efac;border:1px solid rgba(34,197,94,.22)}.user-status-active{font-size:12px;font-weight:600;color:#86efac}.user-status-inactive{font-size:12px;font-weight:600;color:hsla(0,0%,100%,.25)}.user-row-inactive td{opacity:.45}.user-scope{font-size:13px;color:hsla(0,0%,100%,.6);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:nowrap}.user-action-btn{padding:5px 10px;font-size:11px;font-weight:600;border-radius:5px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.05);color:hsla(0,0%,100%,.55);cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.user-action-btn:hover:not(:disabled){background:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.85)}.user-action-btn.warn{border-color:rgba(251,191,36,.25);color:#fde68a;background:rgba(251,191,36,.06)}.user-action-btn.warn:hover:not(:disabled){background:rgba(251,191,36,.12)}.user-action-btn.ok{border-color:rgba(34,197,94,.25);color:#86efac;background:rgba(34,197,94,.06)}.user-action-btn.ok:hover:not(:disabled){background:rgba(34,197,94,.12)}.user-action-btn:disabled{opacity:.4;cursor:not-allowed}.user-pw-row td{padding:0!important;background:rgba(99,102,241,.05)}.user-pw-form{display:flex;align-items:center;gap:8px;padding:10px 16px}.user-pw-label{font-size:12px;color:hsla(0,0%,100%,.5);white-space:nowrap}.user-created-banner{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.25);border-radius:10px;padding:16px 20px;display:flex;flex-direction:column;gap:8px}.user-created-banner-title{font-size:14px;font-weight:700;color:#86efac}.user-created-banner-body{font-size:12px;color:hsla(0,0%,100%,.55)}.user-created-creds{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-created-label{font-size:12px;color:hsla(0,0%,100%,.45)}.admin-manual-frame-wrap{flex:1 1;display:flex;flex-direction:column;height:calc(100vh - 56px)}.admin-manual-iframe{flex:1 1;width:100%;height:100%;border:none;display:block}.device-tab-btn-fault{color:#fca5a5!important}.device-tab-btn-fault.active{color:#f87171!important;border-bottom-color:#ef4444!important}.fault-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;font-size:11px;font-weight:700;background:rgba(239,68,68,.2);color:#fca5a5;border:1px solid rgba(239,68,68,.35);border-radius:9px}.fault-history-card{display:flex;flex-direction:column;gap:16px}.fault-history-header{display:flex;flex-direction:column;gap:10px}.fault-history-title-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px;justify-content:space-between}.fault-history-title-row .chart-title{min-width:0;flex:1 1 auto}.fault-latest-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;padding:5px 10px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);border-radius:6px;font-size:12px;color:#fca5a5;min-width:0;max-width:100%;flex:0 1 auto;box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word}.fault-badge-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ef4444;flex-shrink:0}.fault-latest-badge strong{color:#f87171}.fault-latest-badge-clear{background:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.12);color:hsla(0,0%,100%,.55)}.fault-status-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;border:1px solid transparent}.fault-status-active{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.3);color:#fca5a5}.fault-status-acknowledged{background:rgba(99,102,241,.12);border-color:rgba(99,102,241,.3);color:#a5b4fc}.fault-status-history,.fault-status-resolved{background:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.12);color:hsla(0,0%,100%,.55)}.fault-row-active td{background:rgba(239,68,68,.04)}.fault-ack-btn{padding:4px 12px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid rgba(239,68,68,.35);background:rgba(239,68,68,.1);color:#fca5a5;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s}.fault-ack-btn:hover:not(:disabled){background:rgba(239,68,68,.18);color:#fecaca}.fault-ack-btn:disabled{opacity:.45;cursor:not-allowed}.fault-refresh-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fault-refresh-btn{padding:7px 14px;font-size:13px;font-weight:600;border-radius:7px;border:1px solid rgba(99,102,241,.35);background:rgba(99,102,241,.1);color:#a5b4fc;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.fault-refresh-btn:hover:not(:disabled){background:rgba(99,102,241,.18);color:#c7d2fe}.fault-refresh-btn:disabled{opacity:.45;cursor:not-allowed}.fault-refresh-msg{font-size:12px}.fault-refresh-msg-ok{color:#86efac}.fault-refresh-msg-err{color:#fca5a5}.fault-empty{font-size:13px;color:hsla(0,0%,100%,.35);padding:12px 0}.fault-table-wrap{overflow-x:auto;border:1px solid hsla(0,0%,100%,.07);border-radius:8px}.fault-table{width:100%;border-collapse:collapse;font-size:13px}.fault-table td,.fault-table th{text-align:left;padding:10px 14px;border-bottom:1px solid hsla(0,0%,100%,.05);vertical-align:middle}.fault-table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:hsla(0,0%,100%,.35);background:rgba(0,0,0,.15)}.fault-table tbody tr:last-child td{border-bottom:none}.fault-table tbody tr:hover td{background:hsla(0,0%,100%,.02)}.fault-time{display:flex;flex-direction:column;gap:2px;white-space:nowrap}.fault-time-abs{color:hsla(0,0%,100%,.75)}.fault-time-rel{font-size:11px;color:hsla(0,0%,100%,.35)}.fault-module-badge{display:inline-block;padding:2px 8px;font-size:12px;font-weight:700;border-radius:5px;background:rgba(239,68,68,.12);color:#fca5a5;border:1px solid rgba(239,68,68,.25);white-space:nowrap}.fault-desc{color:hsla(0,0%,100%,.8);font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}@media (max-width:600px){.fault-history-title-row{flex-direction:column;align-items:stretch}.fault-history-title-row .chart-title{flex:none}.fault-latest-badge{width:100%;align-self:stretch}}.scada-chart-card{border-top-color:rgba(45,212,191,.32)}.scada-chart-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.scada-chart-card-titles{flex:1 1;min-width:0}.scada-chart-badge{flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--pmcs-accent,#00d4aa);background:rgba(0,212,170,.1);border:1px solid rgba(0,212,170,.22);border-radius:4px;padding:2px 8px}.scada-chart-badge,.scada-chart-tooltip{font-family:JetBrains Mono,Consolas,monospace}.scada-chart-tooltip{background:#0b0f16;border:1px solid rgba(0,212,170,.22);border-radius:8px;padding:8px 10px;font-size:11px;box-shadow:0 8px 24px rgba(0,0,0,.45)}.scada-chart-tooltip-time{color:#5eead4;font-weight:600;margin:0 0 6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.scada-chart-tooltip-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.scada-chart-tooltip-list li{display:flex;justify-content:space-between;gap:12px}.scada-chart-tooltip-val{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.scada-chart-card-legend{flex-shrink:0;margin-left:auto}.thd-bar-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;list-style:none;padding:0;margin:0;flex-shrink:0;font-size:12px;font-weight:700;color:rgba(226,232,240,.72)}.thd-bar-legend li{display:flex;align-items:center;gap:6px}.thd-bar-legend-mark{display:inline-block;width:8px;height:12px;border-radius:2px 2px 0 0;flex-shrink:0}.thd-bar-legend-mark--before{background:#94a3b8}.thd-bar-legend-mark--after{background:#2dd4bf}.history-area-chart{display:flex;flex-direction:column;min-width:0}.history-chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;list-style:none;margin:6px 0 0;padding:0;flex-shrink:0;font-size:12px;font-weight:650;color:rgba(226,232,240,.68)}.history-chart-legend li{display:inline-flex;align-items:center;gap:6px}.history-chart-legend-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.history-chart-legend-swatch.is-dashed{box-shadow:inset 0 0 0 1.5px rgba(15,23,42,.55)}.history-chart-legend-swatch.is-line{width:16px;height:3px;border-radius:1px}.history-chart-legend-swatch.is-line.is-dashed{background-image:repeating-linear-gradient(90deg,currentColor 0 6px,transparent 6px 10px);background-color:transparent!important;box-shadow:none;border-top:2px dashed rgba(226,232,240,.7);height:0;width:18px}.digital-phase-panel{display:flex;flex-direction:column;gap:6px;font-family:JetBrains Mono,Consolas,monospace}.digital-phase-header,.digital-phase-row{display:grid;grid-template-columns:120px repeat(3,1fr);grid-gap:8px;gap:8px;align-items:center}.digital-phase-header{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:hsla(0,0%,100%,.35);padding-bottom:4px;border-bottom:1px solid rgba(0,212,170,.12)}.digital-phase-header>span:not(:first-child){text-align:right}.digital-phase-label{font-size:11px;color:hsla(0,0%,100%,.55)}.digital-phase-row .metric-value{font-size:14px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.device-charts-grid--compact .digital-phase-header,.device-charts-grid--compact .digital-phase-row{grid-template-columns:88px repeat(3,1fr);gap:4px}.device-charts-grid--compact .digital-phase-row .metric-value{font-size:12px}.device-charts-grid--compact .digital-phase-panel{gap:3px}.device-charts-grid--compact .device-detail-chart-empty{min-height:72px!important;height:100%}.tabular-nums{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:900px){.digital-phase-header,.digital-phase-row{grid-template-columns:90px repeat(3,1fr);gap:4px}}@media (min-width:1920px){.site-page{margin-inline:auto;max-width:1680px;width:100%;padding-inline:40px}.device-detail-page{margin-inline:24px;max-width:none;width:auto;padding-inline:16px}.dash-body{grid-template-columns:340px 1fr 380px}.kpi-value{font-size:18px}.kpi-label{font-size:13px}.live-clock,.sidebar-title{font-size:15px}}@media (min-width:2560px){.site-page{max-width:2200px;padding-inline:56px}.device-detail-page{margin-inline:28px;width:auto;padding-inline:16px}.dash-body{grid-template-columns:420px 1fr 460px}.dash-kpi-strip{padding:12px 32px;gap:12px}.kpi-value{font-size:22px}.kpi-label{font-size:15px}.kpi-badge{padding:8px 18px}.live-clock{font-size:17px}.sidebar-title{font-size:16px}.site-card{padding:14px}}.device-settings-console{display:flex;flex-direction:column;gap:10px;height:100%;min-height:0}.device-settings-help{margin:0;flex-shrink:0;border-radius:var(--pmcs-radius);border-left:1px solid var(--pmcs-panel-border);border:1px solid var(--pmcs-panel-border);border-left:2px solid rgba(45,212,191,.5);background:var(--pmcs-hmi-inset)}.device-settings-help>summary{display:flex;align-items:center;gap:10px;padding:7px 10px;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.device-settings-help>summary::-webkit-details-marker{display:none}.device-settings-help-kicker{flex:0 0 auto;font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--pmcs-accent)}.device-settings-help-summary{flex:1 1;min-width:0;font-size:12px;font-weight:600;color:rgba(226,232,240,.82);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-settings-help-chevron{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;color:rgba(226,232,240,.88);transition:transform .15s ease}.device-settings-help-chevron svg{display:block;width:18px;height:18px}.device-settings-help[open] .device-settings-help-chevron{transform:rotate(180deg)}.device-settings-help-list{margin:0;padding:0 12px 8px 28px;display:flex;flex-direction:column;gap:4px;font-size:11.5px;line-height:1.45;color:rgba(220,230,245,.72)}.device-settings-help-list strong{color:hsla(0,0%,100%,.92);font-weight:600}.device-settings-sync{margin:0;flex-shrink:0;padding:0;border-radius:var(--pmcs-radius);border-top:1px solid var(--pmcs-panel-border);border:1px solid var(--pmcs-panel-border);border-top:1px solid rgba(45,212,191,.32);background:var(--pmcs-hmi-inset);box-shadow:none}.device-settings-sync-inner{display:flex;align-items:center;gap:16px 20px;min-height:44px;padding:6px 10px 6px 12px}.device-settings-sync-id{display:flex;align-items:baseline;gap:8px;flex-shrink:0}.device-settings-sync-kicker{margin:0;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pmcs-accent)}.device-settings-sync-title{margin:0;font-size:13px;font-weight:700;letter-spacing:.01em;color:#e8edf2;line-height:1.2;white-space:nowrap}.device-settings-sync-telemetry{display:flex;align-items:center;gap:14px;margin:0;min-width:0;flex:1 1}.device-settings-sync-tel{display:flex;align-items:baseline;gap:6px;min-width:0}.device-settings-sync-tel dt{font-size:9px;font-weight:700;letter-spacing:.12em;color:rgba(148,163,184,.7)}.device-settings-sync-tel dd{display:flex;align-items:baseline;gap:10px;margin:0;font-size:13px;font-weight:700;color:#e2e8f0;white-space:nowrap}.device-settings-sync-tel time{display:inline-flex;align-items:baseline;gap:10px}.device-settings-sync-clock{font-family:var(--pmcs-font-mono);font-size:18px;font-weight:700;letter-spacing:.04em;color:#fde68a;line-height:1}.device-settings-sync-date{font-family:var(--pmcs-font-mono);font-size:12px;font-weight:600;color:rgba(226,232,240,.72)}.device-settings-sync-rel{padding:2px 7px;border-radius:var(--pmcs-radius);border:1px solid rgba(250,204,21,.28);background:rgba(250,204,21,.1);font-size:12px;font-weight:700;color:#fde68a}.device-settings-sync-muted{font-family:var(--pmcs-font-mono);font-size:12px;font-weight:500;color:rgba(148,163,184,.78)}.device-settings-sync-ops{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;margin-left:auto}.device-settings-sync-hint{margin:0;font-size:11px;color:rgba(148,163,184,.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.device-settings-sync-rail{display:flex;align-items:center;gap:6px;min-width:0;margin:0;max-width:320px}.device-settings-sync-rail-title{font-size:12px;font-weight:650;color:hsla(0,0%,100%,.88);white-space:nowrap}.device-settings-sync-rail-detail{font-size:11px;color:rgba(226,232,240,.58);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-settings-sync-rail--ok .device-settings-sync-rail-title{color:#86efac}.device-settings-sync-rail--err .device-settings-sync-rail-title{color:#fca5a5}.device-settings-sync-rail--pending .device-settings-sync-rail-title{color:#7dd3fc}.device-settings-sync-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:72px;height:28px;padding:0 12px;border-radius:var(--pmcs-radius);border:1px solid rgba(45,212,191,.45);background:rgba(45,212,191,.12);color:var(--pmcs-accent-bright);font-size:12px;font-weight:700;letter-spacing:.02em;white-space:nowrap;cursor:pointer;box-shadow:none}.device-settings-sync-btn:hover:not(:disabled){filter:brightness(1.12);background:rgba(45,212,191,.18);transform:none}.device-settings-sync-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.device-settings-sync-spinner{width:12px;height:12px;border-radius:50%;border:2px solid rgba(125,211,252,.25);border-top-color:#7dd3fc;animation:device-settings-spin .7s linear infinite;flex:0 0 auto}.device-settings-layout{display:flex;flex-direction:column;gap:8px;flex:1 1;min-height:0}.device-settings-layout>.device-settings-section:first-child{flex:0 0 auto}.device-settings-section{min-height:0}.device-settings-section:last-child{flex:1 1;display:flex;flex-direction:column;min-height:0}.device-settings-console .chart-card{padding:10px 12px 12px}.device-settings-console .device-settings-panel{flex:1 1;min-height:0;overflow:auto}.device-module-power-head,.device-settings-panel-head{display:flex;align-items:center;gap:10px;min-height:28px;margin:0 0 8px}.device-module-power-head .chart-title,.device-settings-panel-head .chart-title,.device-settings-panel>.chart-title{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(226,232,240,.72);flex-shrink:0}.device-module-power-head .device-settings-status{flex:1 1;min-width:0;margin:0}.device-settings-status{display:flex;align-items:center;gap:8px;margin:0 0 8px;padding:4px 8px;border-radius:var(--pmcs-radius);border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.03)}.device-settings-status--pending{border-color:rgba(56,189,248,.35);background:rgba(14,60,100,.28)}.device-settings-status--ok{border-color:rgba(74,222,128,.35);background:rgba(20,70,45,.28)}.device-settings-status--err{border-color:hsla(0,91%,71%,.4);background:rgba(90,25,25,.28)}.device-settings-status--info{border-color:rgba(148,163,184,.3);background:rgba(40,48,60,.35)}.device-settings-status-icon{flex-shrink:0;width:14px;height:14px;margin:0;color:#7dd3fc}.device-settings-status--ok .device-settings-status-icon{color:#86efac}.device-settings-status--err .device-settings-status-icon{color:#fca5a5}.device-settings-status--info .device-settings-status-icon{color:#94a3b8}.device-settings-status-icon svg{width:14px;height:14px}.device-settings-status-spinner{display:block;width:12px;height:12px;margin:1px;border-radius:50%;border:2px solid rgba(125,211,252,.25);border-top-color:#38bdf8;animation:device-settings-spin .75s linear infinite}@keyframes device-settings-spin{to{transform:rotate(1turn)}}.device-settings-status-body{display:flex;flex-direction:row;align-items:baseline;gap:8px;min-width:0;flex:1 1}.device-settings-status-title{margin:0;font-size:12px;font-weight:650;color:hsla(0,0%,100%,.92);line-height:1.3;white-space:nowrap}.device-settings-status-detail{margin:0;font-size:11px;color:hsla(0,0%,100%,.5);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-settings-status-cmd{display:none}.device-settings-empty{margin:4px 0 0;font-size:12px;line-height:1.45;color:hsla(0,0%,100%,.55)}.device-settings-mod-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0;flex:1 1;min-width:0}.device-settings-mod-tab{padding:3px 10px;border-radius:var(--pmcs-radius);border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.04);color:hsla(0,0%,100%,.7);font-size:11px;font-weight:650;cursor:pointer}.device-settings-mod-tab.active{border-color:rgba(45,212,191,.45);background:rgba(45,212,191,.12);color:var(--pmcs-accent-bright)}.device-settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-gap:14px 16px;gap:14px 16px}.device-settings-field{display:flex;flex-direction:column;gap:6px;min-width:0;overflow:visible}.device-settings-field-label{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:rgba(148,163,184,.72)}.device-settings-field-hint{display:none}.device-settings-field--wide{grid-column:span 2}.device-settings-input{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:var(--pmcs-radius);border:1px solid hsla(0,0%,100%,.12);background:rgba(0,0,0,.25);color:hsla(0,0%,100%,.9);font-size:13px}.device-settings-input:disabled{opacity:.5;cursor:not-allowed}.device-settings-dropdown{position:relative;min-width:0}.device-settings-dropdown-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;box-sizing:border-box;padding:8px 10px;border-radius:var(--pmcs-radius);border:1px solid rgba(148,163,184,.28);background:#152232;color:#f3f6fa;font-size:12.5px;line-height:1.3;cursor:pointer;text-align:left}.device-settings-dropdown-btn.open{border-color:rgba(45,212,191,.45)}.device-settings-dropdown-btn:disabled{opacity:.5;cursor:not-allowed}.device-settings-dropdown-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-settings-dropdown-caret{flex:0 0 auto;color:rgba(226,232,240,.7);font-size:10px}.device-settings-dropdown-menu{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;border-radius:var(--pmcs-radius);border:1px solid rgba(148,163,184,.28);background:#1b2b3d;box-shadow:0 12px 28px rgba(0,0,0,.5);max-height:220px;overflow-y:auto}.device-settings-dropdown-menu li{margin:0;padding:0}.device-settings-dropdown-item{width:100%;display:block;text-align:left;padding:6px 8px;border:none;border-radius:2px;background:transparent;color:#f8fafc;font-size:12.5px;line-height:1.3;cursor:pointer}.device-settings-dropdown-item:hover{background:rgba(45,212,191,.16);color:#f0fdfa}.device-settings-dropdown-item.active{background:rgba(45,212,191,.28);color:#f0fdfa}.device-settings-segment{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;min-width:0;border-radius:var(--pmcs-radius);border:1px solid hsla(0,0%,100%,.12);background:rgba(0,0,0,.25);overflow:hidden}.device-settings-segment-btn{margin:0;padding:8px 10px;border:none;border-right:1px solid hsla(0,0%,100%,.1);background:transparent;color:hsla(0,0%,100%,.55);font-size:11px;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap}.device-settings-segment-btn:last-child{border-right:none}.device-settings-segment-btn.active{background:rgba(45,212,191,.18);color:#ccfbf1}.device-settings-segment-btn:hover:not(:disabled):not(.active){background:hsla(0,0%,100%,.05);color:hsla(0,0%,100%,.8)}.device-settings-segment-btn:disabled{opacity:.5;cursor:not-allowed}.device-settings-switch{align-self:flex-start;min-width:52px;padding:5px 10px;border-radius:var(--pmcs-radius);border:1px solid hsla(0,0%,100%,.14);background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.65);font-size:11px;font-weight:600;cursor:pointer}.device-settings-switch.on{border-color:rgba(34,197,94,.45);background:rgba(34,197,94,.15);color:#86efac}.device-settings-actions{display:flex;justify-content:flex-start;margin-top:16px}.device-settings-save{min-width:148px;height:36px;padding:0 18px;border-radius:var(--pmcs-radius);border:1px solid rgba(45,212,191,.55);background:rgba(45,212,191,.22);color:#f0fdfa;font-size:13px;font-weight:700;letter-spacing:.02em;cursor:pointer}.device-settings-save:hover:not(:disabled){background:rgba(45,212,191,.32)}.device-settings-save:disabled{opacity:.5;cursor:not-allowed}.device-settings-console .device-module-power-panel>.chart-title{margin:0}.device-settings-console .device-module-power-grid{gap:6px}.device-settings-console .device-module-power-cell{gap:5px;padding:6px 6px 7px;border-radius:var(--pmcs-radius)}.device-settings-console .device-module-power-label{font-size:11px}.device-settings-console .device-module-power-cell .device-module-power-chip.module-chip{font-size:9px;padding:2px 4px}@media (max-width:900px){.device-settings-sync-inner{flex-wrap:wrap}.device-settings-sync-hint,.device-settings-sync-rail-detail{display:none}.device-settings-field--wide{grid-column:auto}}@media (max-width:700px){.device-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-settings-field--wide{grid-column:span 2}.device-settings-sync-telemetry{flex-basis:100%}}.fault-refresh-hint{margin:8px 0 0;font-size:12px;color:hsla(0,0%,100%,.45);line-height:1.45}.fault-refresh-hint strong{color:hsla(0,0%,100%,.7);font-weight:600}@font-face{font-family:__IBM_Plex_Sans_0d165f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_0d165f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Sans_0d165f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_0d165f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Sans_0d165f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__IBM_Plex_Sans_0d165f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Sans_0d165f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_0d165f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Sans_0d165f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_0d165f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Sans_0d165f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__IBM_Plex_Sans_0d165f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Sans_Fallback_0d165f;src:local("Arial");ascent-override:101.44%;descent-override:27.22%;line-gap-override:0.00%;size-adjust:101.04%}.__className_0d165f{font-family:__IBM_Plex_Sans_0d165f,__IBM_Plex_Sans_Fallback_0d165f;font-style:normal}.__variable_0d165f{--font-logo:"__IBM_Plex_Sans_0d165f","__IBM_Plex_Sans_Fallback_0d165f"}