:root{color-scheme:light dark;font-family:Inter,system-ui,-apple-system,sans-serif;--pmcs-bg:#080a0f;--pmcs-bg-elevated:#0e1118;--pmcs-bg-panel:#0b0f16;--pmcs-text:#f5f6f7;--pmcs-text-muted:hsla(0,0%,100%,.55);--pmcs-accent:#00d4aa;--pmcs-accent-bright:#5eead4;--pmcs-accent-dim:rgba(0,212,170,.12);--pmcs-accent-border:rgba(0,212,170,.28);--pmcs-accent-glow:rgba(0,212,170,.35);--pmcs-panel-border:rgba(0,212,170,.1);--pmcs-divider:hsla(0,0%,100%,.06);--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);display:flex;flex-direction:column}.global-header{justify-content:space-between;gap:16px;padding:0 24px;height:48px;background:var(--pmcs-bg-elevated);border-bottom:1px solid var(--pmcs-panel-border);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-size:14px;font-weight:700;letter-spacing:2px;color:#f5f6f7}.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:6px;padding:4px 12px;border-radius:999px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);font-size:11px;color:hsla(0,0%,100%,.55);white-space:nowrap}.system-status-dot{width:7px;height:7px;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:.02em}.system-status-divider{opacity:.35}.system-status-sync strong{color:hsla(0,0%,100%,.85);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:10px;background:rgba(99,179,237,.15);color:#63b3ed;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.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(99,179,237,.18);color:#63b3ed;border:1px solid rgba(99,179,237,.35);border-radius:4px;font-weight:700;letter-spacing:.06em}.device-capacity-badge,.device-model-badge{display:inline-block;padding:2px 8px;font-size:12px;opacity:1}.device-capacity-badge{background:rgba(154,230,180,.15);color:#9ae6b4;border:1px solid rgba(154,230,180,.3);border-radius:4px;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:100%;overflow:hidden}.new-dashboard{display:grid;grid-template-rows:auto auto auto 1fr;height:100%;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-default .kpi-value{color:#f5f6f7}.live-clock{font-size:13px;opacity:.5;flex-shrink:0;letter-spacing:.5px}.dash-body{position:relative;display:grid;grid-template-columns:280px 1fr 320px;overflow:hidden}.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:10px 12px;border-radius:10px;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;text-align:left;transition:background .15s,border-color .15s;width:100%}.site-card:hover{background:hsla(0,0%,100%,.04)}.site-card.selected{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.3)}.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)}.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;align-items:center;justify-content:center;overflow:hidden;padding:24px 16px;position:relative;isolation:isolate}.dash-map-mobile-header{display:none}.korea-map-loading{width:100%;height:100%;max-width:1400px;max-height:1440px}.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;display:flex;flex-direction:column;gap:12px;padding:16px}.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;display:flex;gap:6px}.detail-site-name,.test-badge{font-weight:700;align-items:center}.test-badge{display:inline-flex;padding:1px 6px;border-radius:4px;background:rgba(255,180,0,.18);color:#f5a623;font-size:9px;letter-spacing:.06em;border:1px solid rgba(245,166,35,.4);vertical-align:middle;flex-shrink:0;margin-left:10px}.detail-site-addr{font-size:11px;opacity:.45}.detail-site-actions{display:flex;flex-direction:column;align-items: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:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;letter-spacing:.02em;padding:4px 10px;border-radius:4px;color:#93c5fd;background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.28);white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.detail-site-open:hover{color:#bfdbfe;background:rgba(59,130,246,.2);border-color:rgba(59,130,246,.45)}.detail-status-badge{font-size:11px;font-weight:700;letter-spacing:.5px;padding:3px 9px;border-radius:4px;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:hsla(0,0%,100%,.028);border:1px solid hsla(0,0%,100%,.08);border-top:2px solid hsla(0,0%,100%,.1);border-radius:10px;padding:16px 16px 12px;display:flex;flex-direction:column;gap:10px}.chart-title{font-size:13px;font-weight:700;letter-spacing:.2px;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}.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}.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;width:100%;height:100%;max-width:1080px;max-height:1440px;margin:auto;display:flex;align-items:stretch;z-index:1}.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(4,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}.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-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}.inst-card .lte-signal--compact{flex-shrink:0}.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:block;text-align:center;font-size:12px;font-weight:600;color:#3b82f6;padding:10px;border-radius:8px;border:1px solid rgba(59,130,246,.2);transition:background .15s}.summary-more-link:hover{background:rgba(59,130,246,.08)}.device-detail-page{padding:24px 32px;margin-inline:clamp(24px,8vw,160px);min-width:0}.device-detail-header{background:hsla(0,0%,100%,.025);border:1px solid var(--pmcs-panel-border);border-radius:10px;padding:16px 20px;margin-bottom:0}.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;gap:12px}.device-detail-title-row h1{font-size:22px;font-weight:700}.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-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}.pf-gauge{flex-direction:column;min-width:180px;flex:1 1;max-width:280px}.pf-gauge,.pf-gauge-labels{display:flex;align-items:center}.pf-gauge-labels{flex-direction:column;gap:4px;margin-top:-32px}.pf-gauge-title{font-size:13px;font-weight:700;opacity:.6}.pf-gauge-values{display:flex;align-items:center;gap:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pf-gauge-before{font-size:14px;color:#64748b;font-weight:600}.pf-gauge-arrow{font-size:12px;opacity:.35}.pf-gauge-after{font-size:18px;font-weight:700}.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-snapshot-bar-wrap{display:flex;align-items:center;gap:12px;margin:14px 0 10px}.cap-snapshot-bar{flex:1 1;height:18px;border-radius:9px;overflow:hidden;background:hsla(0,0%,100%,.06);display:flex}.cap-seg-bar{height:100%;transition:width .4s ease}.cap-seg-bar.cap-reactive{background:#10b981}.cap-seg-bar.cap-idle{background:#3b82f6}.cap-seg-bar.cap-margin{background:#334155}.cap-snapshot-pct{font-size:12px;font-weight:600;color:#10b981;white-space:nowrap;min-width:68px;text-align:right}.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;align-items:center;gap:10px}.site-header-title h1{font-size:22px;font-weight:700;margin:0}.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-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px}.site-inst-card{display:flex;flex-direction:column;gap:10px;padding: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-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:320px}.scada-panel{border-color:var(--pmcs-panel-border)!important;box-shadow:0 0 24px rgba(0,212,170,.04)}.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:flex;flex-direction:column;gap:0}.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:16px;border-radius:10px;background:hsla(0,0%,100%,.02);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:flex;flex-direction:column;align-items:center;gap:2px;min-width:44px;padding:6px 8px;border-radius:6px;border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.03)}.module-slot-grid--compact .module-slot{min-width:38px;padding:4px 6px}.module-slot-id{font-size:10px;font-weight:700;opacity:.45}.module-slot-state{font-size:10px;font-weight:600}.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}.device-tab-btn.active{color:var(--pmcs-accent-bright);border-bottom-color:var(--pmcs-accent)}.site-inst-top{display:flex;align-items:center;gap:10px}.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;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.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:6px 24px;border-bottom:1px solid hsla(0,0%,100%,.04);min-height:34px;overflow:hidden}.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-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;border-top:1px dashed hsla(0,0%,100%,.06)}.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-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--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.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-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-footer{position:absolute;left:16px;right:16px;bottom:14px;z-index:11;height:28px;border-radius:6px;background:linear-gradient(180deg,transparent,rgba(8,14,10,.55));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)}.lte-monitor-wave{width:100%;height:100%;opacity:.55}.lte-monitor-wave-path{fill:none;stroke:rgba(52,199,89,.6);stroke-width:1.5;stroke-linecap:round;animation:lte-monitor-wave-drift 5s linear infinite}@keyframes lte-monitor-wave-drift{0%{transform:translateX(0)}to{transform:translateX(-40px)}}.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}}@media (max-width:768px){.global-header{padding:0 14px;height:44px;gap:10px}.global-logo-text{font-size:12px;letter-spacing:1px}.live-clock{font-size:11px}.global-content{overflow-y:auto;overflow-x:hidden;min-height:0}.new-dashboard{height:auto;min-height:calc(100dvh - 44px);overflow:visible;grid-template-rows:auto auto auto 1fr}.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}.detail-site-actions{flex-direction:row;align-items:center;width:100%;justify-content:space-between;padding-left:20px}.detail-site-open{min-height:32px;padding:6px 12px;font-size:12px}.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}.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}.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;background:var(--pmcs-accent-dim);border:1px solid var(--pmcs-accent-border);font-size:13px;font-weight:600;margin-top:4px}.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:14px 16px}.device-detail-title-row h1{font-size:17px}.device-charts-grid{grid-template-columns:1fr}.pf-gauge-row{flex-direction:column;align-items:center}.chart-card-wide{grid-column:1}.device-module-power-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@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:10px 12px}.device-detail-title-row h1{font-size:15px}.device-detail-title-row{flex-wrap:wrap;gap:6px}.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)}.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:48px;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-bar-tabs::-webkit-scrollbar{display:none}.device-tab-btn{display:flex;align-items:center;gap:8px;padding:14px 16px;font-size:13px;font-weight:500;color:hsla(0,0%,100%,.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:hsla(0,0%,100%,.78);background:hsla(0,0%,100%,.03)}.device-tab-btn.active{color:#7dd3fc;border-bottom-color:#38bdf8}.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}.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:44px}.device-tab-bar{padding:0 12px 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:160px}.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}.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(0,212,170,.35)}.scada-chart-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.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}.thd-bar-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;list-style:none;padding:8px 0 0;margin:0;font-size:12px;color:hsla(0,0%,100%,.65)}.thd-bar-legend li{display:flex;align-items:center;gap:6px}.thd-bar-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.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}.history-pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-pf-grid .chart-card-wide{grid-column:1/-1}.tabular-nums{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:900px){.history-pf-grid{grid-template-columns:1fr}.digital-phase-header,.digital-phase-row{grid-template-columns:90px repeat(3,1fr);gap:4px}}@media (min-width:1920px){.device-detail-page,.site-page{margin-inline:auto;max-width:1680px;width:100%;padding-inline:40px}.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){.device-detail-page,.site-page{max-width:2200px;padding-inline:56px}.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-help{margin:12px 0 10px;padding:14px 16px;border-radius:8px;border:1px solid rgba(120,170,220,.28);background:rgba(40,80,120,.22)}.device-settings-help-title{margin:0 0 8px;font-size:13px;font-weight:600;color:rgba(190,220,255,.95)}.device-settings-help-list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:6px;font-size:12.5px;line-height:1.55;color:rgba(220,230,245,.78)}.device-settings-help-list strong{color:hsla(0,0%,100%,.92);font-weight:600}.device-settings-sync{margin:0 0 16px;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-settings-sync-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto;grid-gap:16px 20px;gap:16px 20px;align-items:center}.device-settings-sync-kicker{margin:0 0 4px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(125,211,252,.75)}.device-settings-sync-title{margin:0 0 4px;font-size:17px;font-weight:700;letter-spacing:-.02em;color:#f0f9ff;line-height:1.2}.device-settings-sync-desc{margin:0;font-size:12.5px;line-height:1.45;color:rgba(226,232,240,.72);max-width:28rem}.device-settings-sync-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-gap:10px;gap:10px}.device-settings-sync-fact{display:flex;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.22)}.device-settings-sync-fact--time{border-color:rgba(250,204,21,.28);background:rgba(60,45,10,.28)}.device-settings-sync-fact-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:hsla(0,0%,100%,.45)}.device-settings-sync-fact-value{font-size:15px;font-weight:700;color:#e0f2fe;line-height:1.25;letter-spacing:-.01em}.device-settings-sync-fact-relative{color:#fef08a}.device-settings-sync-fact-muted{color:hsla(0,0%,100%,.4);font-weight:600}.device-settings-sync-fact-abs{font-family:JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:11px;color:hsla(0,0%,100%,.42);letter-spacing:.01em}.device-settings-sync-btn{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-width:168px;padding:12px 18px;border-radius:10px;border:1px solid rgba(56,189,248,.55);background:linear-gradient(180deg,rgba(14,116,174,.95),rgba(7,89,133,.98));color:#f0f9ff;cursor:pointer;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.12),0 8px 20px rgba(3,40,70,.35);transition:transform .12s ease,filter .12s ease,opacity .12s ease}.device-settings-sync-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.device-settings-sync-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.device-settings-sync-btn-main{font-size:14px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.device-settings-sync-btn-sub{font-size:11px;font-weight:500;color:rgba(224,242,254,.78);white-space:nowrap}.device-settings-sync-banner{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:10px 12px;border-radius:8px;border:1px solid hsla(0,0%,100%,.12);background:rgba(0,0,0,.2)}.device-settings-sync-banner--pending{border-color:rgba(56,189,248,.35)}.device-settings-sync-banner--ok{border-color:rgba(74,222,128,.35)}.device-settings-sync-banner--err{border-color:hsla(0,91%,71%,.4)}.device-settings-sync-banner-title{margin:0;font-size:13px;font-weight:650;color:hsla(0,0%,100%,.92)}.device-settings-sync-banner-detail{margin:2px 0 0;font-size:12px;line-height:1.4;color:rgba(226,232,240,.7)}.device-settings-sync-spinner{width:14px;height:14px;margin-top:2px;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:16px}.device-settings-panel>.chart-title{margin:0 0 14px}.device-settings-status{display:flex;align-items:flex-start;gap:12px;margin:0 0 14px;padding:12px 14px;border-radius:10px;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:22px;height:22px;margin-top:1px;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:22px;height:22px}.device-settings-status-spinner{display:block;width:18px;height:18px;margin:2px;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:column;gap:4px;min-width:0;flex:1 1}.device-settings-status-title{margin:0;font-size:13.5px;font-weight:650;color:hsla(0,0%,100%,.92);line-height:1.3}.device-settings-status-detail{margin:0;font-size:12px;color:hsla(0,0%,100%,.55);line-height:1.45}.device-settings-status-cmd{align-self:flex-start;margin-top:4px;padding:3px 8px;border-radius:6px;border:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.28);font-family:JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:11px;color:rgba(186,230,253,.85);letter-spacing:.02em;word-break:break-all}.device-settings-empty{margin:8px 0 12px;font-size:13px;line-height:1.5;color:hsla(0,0%,100%,.55)}.device-settings-mod-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}.device-settings-mod-tab{padding:6px 14px;border-radius:6px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.04);color:hsla(0,0%,100%,.7);font-size:13px;cursor:pointer}.device-settings-mod-tab.active{border-color:rgba(56,189,248,.45);background:rgba(56,189,248,.12);color:#7dd3fc}.device-settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:12px 14px;gap:12px 14px}.device-settings-field{display:flex;flex-direction:column;gap:6px;min-width:0}.device-settings-field-label{font-size:11px;letter-spacing:.02em;color:hsla(0,0%,100%,.5)}.device-settings-input{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:6px;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}.device-settings-segment{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;min-width:0;border-radius:6px;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:12px;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(56,189,248,.2);color:#e0f2fe}.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:64px;padding:7px 12px;border-radius:6px;border:1px solid hsla(0,0%,100%,.14);background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.65);font-size:12px;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;flex-wrap:wrap;gap:10px;margin-top:18px}.device-settings-reload,.device-settings-save{padding:9px 16px;border-radius:6px;border:1px solid hsla(0,0%,100%,.14);font-size:13px;cursor:pointer}.device-settings-save{background:rgba(56,189,248,.18);border-color:rgba(56,189,248,.4);color:#7dd3fc;font-weight:600}.device-settings-reload:disabled,.device-settings-save:disabled{opacity:.5;cursor:not-allowed}.device-settings-reload{background:hsla(0,0%,100%,.05);color:hsla(0,0%,100%,.75)}@media (max-width:900px){.device-settings-sync-inner{grid-template-columns:1fr}.device-settings-sync-facts{grid-template-columns:1fr 1fr}.device-settings-sync-btn{width:100%;align-items:center;text-align:center}}@media (max-width:700px){.device-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-settings-sync-facts{grid-template-columns:1fr}}.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}