.layout-1080{background:#060c1c;flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.top-bar{z-index:100;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#0a1220 0%,#0d1726 58%,#0b1422 100%);border-top:3px solid #c199389e;border-bottom:1px solid #94aecc21;justify-content:space-between;align-items:center;height:58px;min-height:58px;padding:0 22px;display:flex;box-shadow:0 3px 16px #030a1438}.top-bar-left{align-self:stretch;align-items:center;gap:21px;min-width:0;display:flex}.top-bar-brand{color:#f4f7fb;letter-spacing:.35px;white-space:nowrap;flex:none;align-items:center;gap:9px;font-size:15px;font-weight:740;line-height:1;display:inline-flex}.top-bar-brand>span:last-child{align-items:baseline;gap:5px;display:inline-flex}.top-bar-brand small{color:#8ca1b8;letter-spacing:.85px;font-size:10px;font-weight:650}.top-brand-mark{background:linear-gradient(145deg,#e6c871,#b5882a);border:1px solid #daba66a8;border-radius:6px;place-items:center;width:25px;height:25px;display:grid;position:relative;box-shadow:0 3px 10px #be912f2e}.top-brand-mark:before{content:"";border:2px solid #233244;border-radius:50%;width:9px;height:9px}.top-brand-mark i,.top-brand-mark b{background:#233244;border-radius:9px;width:2px;height:4px;position:absolute}.top-brand-mark i{top:3px}.top-brand-mark b{bottom:3px}.top-bar-nav{border-left:1px solid #a2bbd724;align-self:stretch;gap:2px;padding-left:17px;display:flex}.top-nav-item{color:#93a4b7;white-space:nowrap;align-items:center;gap:7px;height:100%;padding:0 12px;font-size:12px;text-decoration:none;transition:color .18s,background .18s;display:inline-flex;position:relative}.top-nav-icon{opacity:.76;flex:0 0 15px;width:15px;height:15px}.top-nav-item:hover{color:#dce8f4;background:#81a0c212}.top-nav-item:hover .top-nav-icon{opacity:1}.top-nav-item.active{color:#eaf4ff;background:#407eb821;font-weight:700}.top-nav-item.active:after{content:"";background:#67ace9;border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:0;left:12px;right:12px;box-shadow:0 0 9px #67ace9b3}.top-nav-item.active .top-nav-icon{color:#89c5fb;opacity:1}.top-nav-badge{color:#fff;text-align:center;background:#d94b58;border-radius:99px;min-width:16px;padding:1px 5px;font-size:9px;font-weight:800;line-height:1.35;box-shadow:0 0 0 2px #0d1726}.top-bar-right{justify-content:flex-end;align-items:center;gap:14px;min-width:0;font-size:12px;display:flex}.top-bar-status{color:#8eb69c;white-space:nowrap;align-items:center;gap:6px;font-size:10px;font-weight:650;display:inline-flex}.top-bar-status i{background:#47b978;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #47b9781a}.top-bar-status.attention{color:#d7a661}.top-bar-status.attention i{background:#e2a74e;box-shadow:0 0 0 4px #e2a74e1a}.top-bar-clock{color:#7e91a8;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.top-bar-divider{background:#a8bfd729;width:1px;height:20px}.top-bar-user{color:#a4b5c7;cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:7px;padding:0;display:inline-flex}.top-bar-user>i{color:#d9e8f6;background:#1b2b3d;border:1px solid #9ebcd852;border-radius:50%;place-items:center;width:23px;height:23px;font-size:10px;font-style:normal;font-weight:800;display:grid}.top-bar-user>span{color:#bbc9d6;font-size:11px}.top-bar-user>b{color:#7f93aa;border-left:1px solid #a8bfd724;padding-left:7px;font-size:10px;font-weight:650}.top-bar-user:hover>i{background:#223c55;border-color:#76b2e6c2}.top-bar-user:hover>span{color:#eff6fc}.top-bar-user:hover>b{color:#b9ccdf}.top-bar-light{background:linear-gradient(90deg,#fff 0%,#f8fbfe 55%,#f4f8fc 100%);border-top-color:#c8a24c;border-bottom-color:#dbe6ef;box-shadow:0 2px 12px #2e4e6c14}.top-bar-light .top-bar-brand{color:#25425e}.top-bar-light .top-bar-brand small{color:#748ba1}.top-bar-light .top-brand-mark{background:linear-gradient(145deg,#f3e1a8,#d3aa48);border-color:#dcc578;box-shadow:0 3px 10px #ae832221}.top-bar-light .top-brand-mark:before,.top-bar-light .top-brand-mark i,.top-bar-light .top-brand-mark b{background-color:#3b5369;border-color:#3b5369}.top-bar-light .top-bar-nav{border-left-color:#dce7ef}.top-bar-light .top-nav-item{color:#657b90}.top-bar-light .top-nav-item:hover{color:#315e84;background:#eef5fb}.top-bar-light .top-nav-item.active{color:#27648e;background:#eaf4fc}.top-bar-light .top-nav-item.active:after{background:#3f8dc1;box-shadow:0 0 8px #3f8dc159}.top-bar-light .top-nav-item.active .top-nav-icon{color:#3a83b7}.top-bar-light .top-nav-badge{box-shadow:0 0 0 2px #f8fbfe}.top-bar-light .top-bar-status{color:#468460}.top-bar-light .top-bar-status.attention{color:#b78230}.top-bar-light .top-bar-clock{color:#7c90a4}.top-bar-light .top-bar-divider{background:#d9e4ed}.top-bar-light .top-bar-user>i{color:#456b8b;background:#edf4fa;border-color:#c8d9e7}.top-bar-light .top-bar-user>span{color:#5b7288}.top-bar-light .top-bar-user>b{color:#7890a5;border-left-color:#d8e4ed}.top-bar-light .top-bar-user:hover>i{background:#e3f0fa;border-color:#8fb8d8}.top-bar-light .top-bar-user:hover>span{color:#305f86}.top-bar-light .top-bar-user:hover>b{color:#4c728f}.top-bar-shenlong{background:linear-gradient(135deg,#0d1b2a 0%,#0f1f35 50%,#0a1628 100%);border-bottom:1px solid #3b82f626}.top-bar-brand-shenlong{align-items:center;gap:12px;display:flex;font-weight:400!important}.shenlong-brand-logo{object-fit:contain;background:#ffffff0d;border-radius:8px;width:36px;height:36px;padding:2px;box-shadow:0 0 12px #3b82f626}.shenlong-brand-text{flex-direction:column;line-height:1.2;display:flex}.shenlong-brand-title{color:#f1f5f9;letter-spacing:1px;font-size:16px;font-weight:700}.shenlong-brand-subtitle{color:#94a3b880;letter-spacing:2px;text-transform:uppercase;font-size:10px;font-weight:400}.top-bar-shenlong .top-nav-item.active{background:#3d7ab924}.main-shenlong{background:#050d1a}.footer-bar{text-align:center;color:#fff3;background:#0000004d;border-top:1px solid #ffffff0a;flex-shrink:0;padding:10px 20px;font-size:12px}.footer-bar a{color:#ffffff4d;text-decoration:none}.footer-bar a:hover{color:#ffffff80;text-decoration:underline}.footer-bar .footer-sep{color:#ffffff1a;margin:0 8px}.main-1080{flex:1;position:relative;overflow:hidden auto}.big-screen.ds-1080 .bs-header{min-height:unset;margin-bottom:0;padding:4px 0 2px}.big-screen.ds-1080 .bs-header .bs-title{font-size:18px}.big-screen.ds-1080 .bs-kpi-row{gap:10px;margin-bottom:0}.big-screen.ds-1080 .bs-kpi{padding:10px 14px}.big-screen.ds-1080 .bs-kpi-icon-wrap{width:38px;height:38px}.big-screen.ds-1080 .bs-kpi-icon{font-size:18px}.big-screen.ds-1080 .bs-kpi-val{font-size:24px}.big-screen.ds-1080 .bs-charts-row-main{gap:10px;min-height:0;margin-bottom:0}.big-screen.ds-1080 .bs-charts-row-main .bs-panel-body{padding:6px 10px 2px}.big-screen.ds-1080 .bs-charts-row-sub{flex:1;gap:10px;min-height:0}.big-screen.ds-1080 .bs-charts-row-sub .bs-panel-body{padding:6px 10px 4px}.big-screen.ds-1080 .bs-station-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.big-screen.ds-1080 .bs-scard{padding:8px 12px}.main-1080>.page,.main-1080>.big-screen:not(.ds-1080):not(.ds-quad){height:100%;padding:20px 28px 32px;overflow-y:auto}:root{--primary:#2563eb;--primary-light:#3b82f6;--primary-dark:#1d4ed8;--sidebar-bg:#161b2e;--sidebar-hover:#ffffff0f;--sidebar-active:#2563eb;--sidebar-text:#8890a8;--bg:#f0f2f5;--card-bg:#fff;--text:#1a2236;--text-muted:#6b7280;--border:#e5e7eb;--radius:12px;--radius-sm:8px;--shadow-sm:0 1px 2px #0000000a;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000012, 0 2px 4px #0000000a;--shadow-lg:0 10px 30px #00000014, 0 3px 8px #0000000d;--online:#10b981;--offline:#9ca3af;--alarm:#ef4444;--warn:#f59e0b;--jinlang:#2563eb;--huawei:#dc2626;--aiswei:#7c3aed}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6}.layout{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);width:232px;min-width:232px;color:var(--sidebar-text);z-index:100;flex-direction:column;transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid #ffffff0f;align-items:center;gap:10px;padding:26px 22px 20px;display:flex}.brand-icon{background:linear-gradient(135deg,#2563eb 0%,#3b82f6 100%);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:26px;display:flex}.brand-text{color:#fff;letter-spacing:.5px;font-size:17px;font-weight:700}.sidebar-nav{flex:1;padding:16px 14px}.nav-item{color:var(--sidebar-text);border-radius:8px;align-items:center;gap:12px;margin-bottom:4px;padding:11px 14px;font-size:14px;text-decoration:none;transition:all .18s;display:flex;position:relative}.nav-item:hover{background:var(--sidebar-hover);color:#d1d5db}.nav-item.active{background:var(--sidebar-active);color:#fff;font-weight:600;box-shadow:0 2px 8px #2563eb59}.nav-icon{text-align:center;width:22px;font-size:18px}.nav-badge{background:var(--alarm);color:#fff;text-align:center;border-radius:10px;min-width:20px;margin-left:auto;padding:2px 7px;font-size:10px;font-weight:700}.sidebar-footer{border-top:1px solid #ffffff0f;padding:16px 14px}.btn-logout{width:100%;color:var(--sidebar-text);cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:8px;padding:9px;font-size:13px;transition:all .15s}.btn-logout:hover{color:#e5e7eb;background:#ffffff0f}.main-content{flex:1;min-height:100vh;margin-left:232px;padding:28px 32px 40px}.main-content:has(.dashboard-page){background:#060c1c;padding:0}.page{max-width:1440px}.page-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.page-title{color:var(--text);font-size:22px;font-weight:700}.page-subtitle{color:var(--text-muted);margin-top:2px;font-size:13px}.last-update{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.last-update .dot{background:var(--online);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}@media (width<=1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.kpi-grid{grid-template-columns:1fr}}.kpi-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);align-items:flex-start;gap:16px;padding:20px 22px;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-card:after{content:"";opacity:.06;pointer-events:none;border-radius:0 0 0 80px;width:80px;height:80px;position:absolute;top:0;right:0}.kpi-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.kpi-body{flex:1;min-width:0}.kpi-value{color:var(--text);letter-spacing:-.5px;font-size:28px;font-weight:800;line-height:1.15}.kpi-value small{color:var(--text-muted);margin-left:4px;font-size:13px;font-weight:500}.kpi-label{color:var(--text-muted);margin-top:4px;font-size:13px}.charts-row{grid-template-columns:1.4fr 1fr;gap:16px;margin-bottom:24px;display:grid}@media (width<=1000px){.charts-row{grid-template-columns:1fr}}.chart-box{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 24px}.chart-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.chart-header h2{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.chart-header h2 .icon{font-size:17px}.chart-header .hint{color:var(--text-muted);font-size:12px}.chart-empty{height:240px;color:var(--text-muted);justify-content:center;align-items:center;font-size:14px;display:flex}.station-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;margin-bottom:24px;display:grid}.station-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;border:1px solid #0000;flex-direction:column;gap:12px;padding:18px 20px 14px;transition:all .2s;display:flex}.station-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light);transform:translateY(-2px)}.station-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.station-card-name{flex:1;font-size:15px;font-weight:600;line-height:1.35}.station-card-status{white-space:nowrap;border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:flex}.station-card-status.online{color:#059669;background:#ecfdf5}.station-card-status.offline{color:#6b7280;background:#f9fafb}.station-card-status.alarm{color:#dc2626;background:#fef2f2}.station-card-stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.station-mini-stat{text-align:center;overflow:hidden}.station-mini-val{color:var(--text);font-size:22px;font-weight:700;line-height:1.2}.station-mini-val small{color:var(--text-muted);font-size:11px;font-weight:500}.station-mini-label{color:var(--text-muted);white-space:nowrap;margin-top:2px;font-size:11px}.station-card-subrow{color:var(--text-muted);border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;padding:8px 0;font-size:11px;display:flex}.station-card-bar{background:var(--border);border-radius:2px;height:3px;overflow:hidden}.station-card-bar-fill{border-radius:2px;height:100%;transition:width .6s}.station-card-footer{color:var(--text-muted);white-space:nowrap;justify-content:space-between;align-items:center;gap:4px;font-size:12px;display:flex}.section{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;padding:24px}.section-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.section-header h2{align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.table-wrapper{margin:-2px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table thead{border-bottom:2px solid var(--border)}.data-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap;padding:0 14px 12px;font-size:12px;font-weight:600}.data-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:13px 14px}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:#f8fafc}.status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.status-dot.online{background:var(--online)}.status-dot.offline{background:var(--offline)}.status-dot.alarm{background:var(--alarm)}.platform-tag{letter-spacing:.3px;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.platform-tag.jinlang{color:#2563eb;background:#eff6ff}.platform-tag.huawei{color:#dc2626;background:#fef2f2}.platform-tag.aiswei{color:#7c3aed;background:#f5f3ff}.platform-tag.goodwe{color:#8b5cf6;background:#f5f0ff}.platform-tag.csisolar{color:#06b6d4;background:#ecfeff}.platform-tag.maitian{color:#d97706;background:#fffbeb}.platform-tag.kstar{color:#059669;background:#ecfdf5}.severity-badge{color:#fff;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.detail-top{align-items:center;gap:14px;margin-bottom:20px;display:flex}.back-btn{background:var(--card-bg);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 16px;font-size:13px;transition:all .15s;display:flex}.back-btn:hover{color:var(--primary);border-color:var(--primary)}.detail-stats{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px;display:grid}@media (width<=600px){.detail-stats{grid-template-columns:1fr}}.stat-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;padding:20px}.stat-label{color:var(--text-muted);margin-bottom:6px;font-size:13px;display:block}.stat-number{color:var(--text);font-size:28px;font-weight:700}.stat-number small{color:var(--text-muted);font-size:14px;font-weight:400}.device-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:16px;display:grid}.device-card{border:1px solid var(--border);background:#f9fafb;border-radius:10px;padding:16px;transition:box-shadow .15s}.device-card:hover{box-shadow:var(--shadow)}.device-card.online{border-left:3px solid var(--online)}.device-card.offline{border-left:3px solid var(--offline);opacity:.75}.device-card-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;display:flex}.device-card-body{grid-template-columns:1fr 1fr;gap:10px;display:grid}.device-metric{font-size:13px}.metric-label{color:var(--text-muted);font-size:12px;display:block}.metric-value{margin-top:2px;font-weight:600;display:block}.station-grid-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.station-grid-header h2{font-size:16px;font-weight:600}.station-count{color:var(--text-muted);font-size:13px}.platform-cards{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.platform-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);flex:1;min-width:180px;display:flex;overflow:hidden}.platform-card-bar{flex-shrink:0;width:4px}.platform-card-body{flex:1;padding:14px 16px}.platform-card-name{margin-bottom:5px;font-size:14px;font-weight:600}.platform-card-stats{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.platform-card-stats .sep{color:#cbd5e1}.status-summary{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:20px;padding:14px 22px;font-size:13px;display:flex}.summary-item{align-items:center;gap:7px;font-weight:500;display:flex}.summary-item strong{margin-left:2px;font-size:15px}.summary-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.alarm-timeline{flex-direction:column;gap:8px;display:flex}.alarm-item{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-sm);border-left:4px solid var(--border);align-items:flex-start;gap:14px;padding:14px 18px;display:flex}.alarm-item.critical{border-left-color:var(--alarm)}.alarm-item.warning{border-left-color:var(--warn)}.alarm-item.info{border-left-color:var(--primary)}.alarm-icon{flex-shrink:0;font-size:20px}.alarm-body{flex:1}.alarm-body .title{font-size:14px;font-weight:600}.alarm-body .desc{color:var(--text-muted);font-size:13px}.alarm-meta{color:var(--text-muted);white-space:nowrap;font-size:12px}.btn-clear{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .15s}.btn-clear:hover{background:#fee2e2;box-shadow:0 2px 8px #dc262626}.btn-danger{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600;transition:all .15s}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{z-index:999;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:#fff;border-radius:12px;min-width:380px;max-width:440px;padding:28px 32px;box-shadow:0 20px 60px #0003}.modal-box h3{color:var(--text);margin-bottom:10px;font-size:18px;font-weight:700}.modal-box p{color:#4b5563;font-size:14px;line-height:1.5}.modal-hint{color:#9ca3af!important;margin-top:4px!important;font-size:12px!important}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.empty-state{text-align:center;padding:52px 20px}.empty-icon{margin-bottom:14px;font-size:48px}.empty-state p{color:var(--text-muted);margin-bottom:4px;font-size:15px}.empty-hint{color:#9ca3af!important;font-size:13px!important}.login-page{background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 50%,#162240 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:16px;width:420px;max-width:92vw;padding:42px 40px;box-shadow:0 25px 70px #00000059}.login-icon{background:linear-gradient(135deg,#2563eb,#3b82f6);border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 12px;font-size:46px;display:flex}.login-header h1{margin:8px 0;font-size:22px}.form-group input,.form-group select{border:1.5px solid var(--border);background:#fafbfc;border-radius:10px;width:100%;padding:11px 14px;font-size:14px;transition:all .18s}.form-group input:focus,.form-group select:focus{border-color:var(--primary);background:#fff;outline:none;box-shadow:0 0 0 3px #2563eb1a}.form-error{color:#dc2626;background:#fef2f2;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:11px 22px;font-size:15px;font-weight:600;transition:all .18s}.btn-primary:hover{background:var(--primary-dark);box-shadow:0 4px 12px #2563eb4d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.btn-sm{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;padding:6px 14px;font-size:12px;transition:all .15s}.btn-sm:hover{background:#f3f4f6}.btn-sm:disabled{opacity:.5}@media (width<=900px){.cred-form-grid{grid-template-columns:1fr 1fr}}@media (width<=500px){.cred-form-grid{grid-template-columns:1fr}}.form-field{flex-direction:column;gap:4px;display:flex}.form-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.form-field input,.form-field select{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;padding:10px 13px;font-size:14px;transition:border-color .15s}.form-field input:focus,.form-field select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.btn-add-cred{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:11px 30px;font-size:15px;font-weight:600;transition:all .15s;display:inline-block}.btn-add-cred:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 2px 8px #2563eb4d}.btn-add-cred:disabled{opacity:.5;cursor:not-allowed;transform:none}.form-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.test-result{margin-left:8px;font-size:12px}.test-result.ok{color:#16a34a}.test-result.fail{color:#dc2626}.collector-controls{align-items:center;gap:16px;margin-bottom:12px;font-size:14px;display:flex}details{margin-top:12px}details summary{cursor:pointer;color:var(--text-muted);margin-bottom:8px;font-size:14px}.page-loading{height:240px;color:var(--text-muted);justify-content:center;align-items:center;font-size:16px;display:flex}.loading-screen{min-height:100vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:18px;display:flex}.dashboard-page{margin:0;padding:0}.big-screen{color:#cbd5e1;background:linear-gradient(160deg,#060c1c 0%,#0a1628 30%,#0d1b33 60%,#0b1322 100%);min-height:100vh;padding:0 32px 32px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;overflow-x:hidden}.bs-header{border-bottom:1px solid #2563eb33;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px 0 12px;display:flex;position:relative}.bs-header:after{content:"";background:linear-gradient(90deg,#3b82f6,#0000);width:260px;height:2px;position:absolute;bottom:-1px;left:0}.bs-header:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 20% 60%,#3b82f614,#0000 70%);width:340px;height:120px;animation:4s ease-in-out infinite header-aura;position:absolute;top:-40px;left:-40px}.bs-header-left{flex:1}.bs-logo{align-items:center;gap:14px;display:flex}.bs-logo-icon{background:radial-gradient(circle at 40% 40%,#3b82f64d,#0000 70%);border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;font-size:36px;display:flex}.bs-title{background:linear-gradient(90deg,#e2e8f0,#94a3b8);-webkit-text-fill-color:transparent;letter-spacing:2px;-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:700}.bs-subtitle{color:#94a3b880;letter-spacing:2px;text-transform:uppercase;font-size:10px}.bs-header-center{color:#ffffff8c;font-variant-numeric:tabular-nums;letter-spacing:2px;white-space:nowrap;font-family:SF Mono,Menlo,Consolas,monospace;font-size:18px;font-weight:300}.bs-header-right{text-align:right;flex:1}.bs-status-row{color:#ffffff59;justify-content:flex-end;align-items:center;gap:8px;font-size:12px;display:flex}.bs-status-row strong{color:#e2e8f0;font-weight:600}.bs-status-sep{color:#ffffff1a}.bs-status-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.bs-status-dot.online{background:#10b981;animation:2s infinite bs-pulse;box-shadow:0 0 8px #10b98180}@keyframes bs-pulse{0%,to{opacity:1;box-shadow:0 0 6px #10b98180}50%{opacity:.5;box-shadow:0 0 12px #10b981cc}}.bs-kpi-row{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px;display:grid}@media (width<=1400px){.bs-kpi-row{grid-template-columns:repeat(5,1fr)}}@media (width<=1100px){.bs-kpi-row{grid-template-columns:repeat(3,1fr)}}@media (width<=700px){.bs-kpi-row{grid-template-columns:repeat(2,1fr)}}.bs-kpi{cursor:default;background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:14px;padding:18px 20px;transition:all .25s;display:flex;position:relative;overflow:hidden}.bs-kpi:hover{background:#ffffff0d;border-color:#ffffff1f}.bs-kpi:before{content:"";background:var(--accent);border-radius:3px 0 0 3px;width:3px;height:100%;position:absolute;top:0;left:0}.bs-kpi:after{content:"";background:var(--accent);opacity:.04;border-radius:50%;width:80px;height:80px;position:absolute;bottom:-20px;right:-20px}.bs-kpi-icon-wrap{background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.bs-kpi-info{z-index:1;flex:1;min-width:0;position:relative}.bs-kpi-val{color:#f1f5f9;letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;line-height:1.15}.bs-kpi-val small{color:#ffffff4d;margin-left:3px;font-size:11px;font-weight:400}.bs-kpi-label{color:#ffffff4d;letter-spacing:.5px;margin-top:3px;font-size:11px}.bs-charts-row-main{grid-template-columns:1.5fr 1fr;gap:14px;margin-bottom:14px;display:grid}@media (width<=1200px){.bs-charts-row-main{grid-template-columns:1fr}}.bs-charts-row-sub{gap:14px;display:flex}@media (width<=1100px){.bs-charts-row-sub{flex-direction:column}}.bs-panel{background:#ffffff06;border:1px solid #ffffff0d;border-radius:10px;overflow:hidden}.bs-panel-header{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:14px 18px 10px;display:flex}.bs-panel-header h2{color:#ffffff8c;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.bs-panel-badge{color:#60a5fa;letter-spacing:.5px;background:#2563eb26;border-radius:20px;padding:2px 10px;font-size:10px;font-weight:600}.bs-panel-badge.accent{color:#34d399;background:#10b9811f}.bs-panel-body{padding:14px 18px 18px}.bs-empty{color:#fff3;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:200px;font-size:14px;display:flex}.bs-empty-icon{font-size:42px}.bs-empty p{color:#fff3}.bs-platform-stats{flex-direction:column;gap:6px;padding:0 18px 14px;display:flex}.bs-platform-item{color:#ffffff80;align-items:center;gap:10px;font-size:12px;display:flex}.bs-platform-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.bs-platform-name{flex:1}.bs-platform-val{color:#ffffffb3;font-variant-numeric:tabular-nums;font-weight:600}.bs-station-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;max-height:380px;display:grid;overflow-y:auto}.bs-station-grid::-webkit-scrollbar{width:4px}.bs-station-grid::-webkit-scrollbar-track{background:0 0}.bs-station-grid::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:2px}.bs-scard{cursor:pointer;background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;flex-direction:column;gap:10px;padding:14px 16px;transition:all .2s;display:flex}.bs-scard:hover{background:#ffffff0f;border-color:#3b82f64d;transform:translateY(-1px)}.bs-scard-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.bs-scard-name{color:#fffc;flex:1;font-size:13px;font-weight:600;line-height:1.3}.bs-scard-status{white-space:nowrap;border-radius:12px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.bs-scard-status.ok{color:#34d399;background:#10b9811f}.bs-scard-status.warn{color:#f87171;background:#ef44441a}.bs-scard-values{grid-template-columns:1fr 1fr;gap:8px;display:grid}.bs-scard-val{color:#ffffffb3;text-align:center;font-variant-numeric:tabular-nums;font-size:18px;font-weight:700;line-height:1.15}.bs-scard-val.primary{color:#60a5fa}.bs-scard-val small{color:#ffffff40;margin-left:2px;font-size:10px;font-weight:400}.bs-scard-bar{background:#ffffff0f;border-radius:2px;height:3px;overflow:hidden}.bs-scard-fill{border-radius:2px;height:100%;transition:width .8s}.bs-scard-foot{color:#ffffff40;justify-content:space-between;font-size:11px;display:flex}.ds-loading{color:#ffffff4d;background:linear-gradient(160deg,#060c1c,#0a1628,#0d1b33,#0b1322);flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;font-size:15px;display:flex}.ds-spinner{border:2px solid #ffffff0f;border-top-color:#3b82f6;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite ds-spin}@keyframes ds-spin{to{transform:rotate(360deg)}}.bs-header-search{flex:0 320px;margin:0 16px;position:relative}.bs-search-input{color:#e2e8f0;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;outline:none;width:100%;padding:8px 32px 8px 14px;font-size:13px;transition:border-color .2s,background .2s}.bs-search-input::placeholder{color:#fff3}.bs-search-input:focus{background:#ffffff14;border-color:#2563eb80}.bs-search-clear{color:#ffffff4d;cursor:pointer;border-radius:50%;padding:4px;font-size:12px;line-height:1;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.bs-search-clear:hover{color:#ffffffb3;background:#ffffff14}.sd-back-btn{color:#ffffff8c;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:4px;margin-right:16px;padding:6px 14px;font-size:12px;transition:all .2s;display:inline-flex}.sd-back-btn:hover{color:#ffffffd9;background:#ffffff1a}.sd-platform-badge{color:#fff;text-shadow:0 1px 2px #0003;border-radius:10px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.sd-device-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.sd-device-card{background:#ffffff06;border:1px solid #ffffff0f;border-radius:10px;flex-direction:column;gap:10px;padding:14px 16px 12px;transition:all .2s;display:flex}.sd-device-card:hover{background:#ffffff0a;border-color:#ffffff1a;transform:translateY(-1px)}.sd-device-head{align-items:center;gap:8px;display:flex}.sd-device-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 6px}.sd-device-dot.ok{color:#10b981;background:#10b981}.sd-device-dot.warn{color:#f59e0b;background:#f59e0b}.sd-device-name{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:600;overflow:hidden}.sd-device-sn{color:#ffffff26;flex-shrink:0;font-family:monospace;font-size:10px}.sd-device-values{gap:16px;display:flex}.sd-device-main-val{color:#e2e8f0;font-size:24px;font-weight:700}.sd-device-main-val small{color:#ffffff4d;margin-left:2px;font-size:12px;font-weight:400}.sd-device-sub-val{color:#ffffff80;align-self:flex-end;font-size:14px}.sd-device-sub-val small{color:#fff3;margin-left:2px;font-size:10px}.sd-device-bar{background:#ffffff0d;border-radius:2px;height:3px;overflow:hidden}.sd-device-fill{border-radius:2px;height:100%;transition:width .6s}.sd-device-meta{color:#fff3;justify-content:space-between;font-size:11px;display:flex}.sd-device-card-hw{grid-column:span 2;max-width:600px}.sd-device-detail-grid{grid-template-columns:repeat(3,1fr);gap:4px 12px;display:grid}.sd-period-bar{flex-wrap:wrap;align-items:center;gap:16px;padding:12px 0 8px;display:flex}.sd-period-tabs{background:#ffffff08;border-radius:10px;gap:4px;padding:3px;display:flex}.sd-period-tab{color:#ffffff59;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 18px;font-size:13px;font-weight:600;transition:all .2s}.sd-period-tab:hover{color:#ffffffa6}.sd-period-tab.active{color:#e2e8f0;background:#2563eb40;box-shadow:0 1px 4px #2563eb33}.sd-date-nav{align-items:center;gap:6px;margin-left:auto;display:flex}.sd-nav-btn{color:#ffffff73;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;transition:all .2s;display:flex}.sd-nav-btn:hover:not(:disabled){color:#e2e8f0;background:#ffffff14}.sd-nav-btn:disabled{opacity:.2;cursor:default}.sd-nav-label{color:#e2e8f0;text-align:center;font-variant-numeric:tabular-nums;min-width:100px;font-size:14px;font-weight:600}.sd-nav-today{color:#fff9;cursor:pointer;background:#2563eb14;border:1px solid #2563eb40;border-radius:6px;margin-left:4px;padding:4px 12px;font-size:12px;transition:all .2s}.sd-nav-today:hover{color:#e2e8f0;background:#2563eb26}.sd-period-fetching{color:#ffffff40;font-size:11px;animation:1.5s infinite pulse-text}.sd-period-summary{flex-wrap:wrap;gap:24px;margin-bottom:12px;padding:10px 0;display:flex}.sd-summary-item{flex-direction:column;gap:2px;display:flex}.sd-summary-label{color:#ffffff40;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.sd-summary-val{color:#e2e8f0;font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}@keyframes pulse-ring{0%{transform:scale(1);box-shadow:0 0 #10b981e6}50%{box-shadow:0 0 0 8px #10b98126}to{transform:scale(.85);box-shadow:0 0 0 14px #10b98100}}@keyframes pulse-ring-alarm{0%{transform:scale(1);box-shadow:0 0 #ef4444e6}50%{box-shadow:0 0 0 8px #ef444433}to{transform:scale(.85);box-shadow:0 0 0 14px #ef444400}}@keyframes header-aura{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}@keyframes kpi-glow-scan{0%,to{border-color:#ffffff0f;box-shadow:0 0 #2563eb00}30%{border-color:#2563eb80;box-shadow:0 0 25px #2563eb2e}60%{border-color:#2563eb33;box-shadow:0 0 10px #2563eb0d}}@keyframes scan-bar{0%{opacity:0;left:-100%}8%{opacity:1}92%{opacity:1}to{opacity:0;left:120%}}@keyframes card-halo{0%,to{opacity:.2}50%{opacity:.8}}@keyframes data-refresh{0%{background-color:#3b82f600}50%{background-color:#3b82f605}to{background-color:#3b82f600}}@keyframes card-enter{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes energy-flow{0%{background-position:0%}to{background-position:200%}}.bs-live-badge{background:#10b9811f;border:1px solid #10b98159;border-radius:14px;align-items:center;gap:6px;padding:3px 12px;display:inline-flex}.bs-live-dot{background:#10b981;border-radius:50%;width:8px;height:8px;animation:1.8s infinite pulse-ring;position:relative}.bs-live-dot:after{content:"";opacity:.8;background:#fff;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%}.bs-live-text{color:#34d399;letter-spacing:1.5px;text-shadow:0 0 8px #34d3994d;font-size:11px;font-weight:700}.bs-kpi{transition:transform .2s,border-color .6s,box-shadow .6s;position:relative;overflow:hidden}.bs-kpi:hover{border-color:#2563eb66;transform:translateY(-3px)scale(1.02);box-shadow:0 8px 30px #2563eb1f}.bs-kpi:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(105deg,#0000 0% 40%,#ffffff0f 45%,#ffffff1f 50%,#ffffff0f 55%,#0000 60% 100%);width:80%;height:100%;animation:4.5s ease-in-out infinite scan-bar;position:absolute;top:0;left:-100%}.bs-kpi:first-child{animation:3.5s ease-in-out infinite kpi-glow-scan}.bs-kpi:nth-child(2){animation:3.5s ease-in-out .7s infinite kpi-glow-scan}.bs-kpi:nth-child(3){animation:3.5s ease-in-out 1.4s infinite kpi-glow-scan}.bs-kpi:nth-child(4){animation:3.5s ease-in-out 2.1s infinite kpi-glow-scan}.bs-kpi:nth-child(5){animation:3.5s ease-in-out 2.8s infinite kpi-glow-scan}.bs-kpi:after{content:"";background:linear-gradient(90deg, var(--accent,#3b82f6), #fff3, var(--accent,#3b82f6));pointer-events:none;z-index:1;opacity:.4;background-size:200% 100%;height:2px;animation:3s linear infinite energy-flow;position:absolute;bottom:0;left:0;right:0}.bs-scard.has-power{background:linear-gradient(135deg,#3b82f60f,#ffffff08);border-color:#3b82f633}.bs-station-grid .bs-scard{animation:.5s ease-out both card-enter}.bs-station-grid .bs-scard:first-child{animation-delay:50ms}.bs-station-grid .bs-scard:nth-child(2){animation-delay:.1s}.bs-station-grid .bs-scard:nth-child(3){animation-delay:.15s}.bs-station-grid .bs-scard:nth-child(4){animation-delay:.2s}.bs-station-grid .bs-scard:nth-child(5){animation-delay:.25s}.bs-station-grid .bs-scard:nth-child(6){animation-delay:.3s}.bs-station-grid .bs-scard:nth-child(7){animation-delay:.35s}.bs-station-grid .bs-scard:nth-child(8){animation-delay:.4s}.bs-station-grid .bs-scard:nth-child(9){animation-delay:.45s}.bs-station-grid .bs-scard:nth-child(10){animation-delay:.5s}.bs-station-grid .bs-scard:nth-child(11){animation-delay:.55s}.bs-station-grid .bs-scard:nth-child(12){animation-delay:.6s}.station-card{transition:transform .2s,box-shadow .2s,border-color .3s}.station-card:hover{border-color:#3b82f633;transform:translateY(-3px);box-shadow:0 10px 30px #0000004d}.status-dot.online{animation:2s infinite pulse-ring}.status-dot.alarm{animation:1.5s infinite pulse-ring-alarm}.ds-1080.data-refreshing{animation:.8s ease-out data-refresh}.main-1080 .sd-page,.main-1080>.page{height:100%;padding:20px 28px 32px;overflow-y:auto}.bs-scard-fill,.sd-device-fill,.station-card-bar-fill{transition:width .8s cubic-bezier(.4,0,.2,1)}@keyframes value-flash{0%{color:#fbbf24;text-shadow:0 0 12px #fbbf2480}to{color:#f1f5f9;text-shadow:none}}.bs-kpi-val.flash{animation:.6s ease-out value-flash}.main-1080 .settings-page{height:100%;padding:20px 28px 32px;overflow-y:auto}.login-page{background:linear-gradient(160deg,#060c1c 0%,#0a1628 30%,#0d1b33 60%,#0b1322 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";pointer-events:none;background:radial-gradient(at 20%,#2563eb0f 0%,#0000 50%),radial-gradient(at 80% 20%,#10b9810a 0%,#0000 50%),radial-gradient(at 50% 80%,#8b5cf60a 0%,#0000 50%);position:absolute;inset:0}.login-page:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.login-card{z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff0f;border-radius:16px;width:420px;padding:48px 40px;position:relative;box-shadow:0 20px 60px #0006}.login-header{text-align:center;margin-bottom:36px}.login-icon{filter:drop-shadow(0 0 20px #fbbf244d);margin-bottom:16px;font-size:48px;display:block}.login-header h1{color:#e2e8f0;letter-spacing:1px;margin-bottom:8px;font-size:22px;font-weight:700}.login-header p{color:#94a3b880;font-size:13px}.form-group{margin-bottom:20px}.form-group label{color:#ffffff73;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-group input{color:#e2e8f0;background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;outline:none;width:100%;padding:10px 14px;font-size:14px;transition:border-color .2s,background .2s}.form-group input:focus{background:#ffffff12;border-color:#2563eb66}.form-group input::placeholder{color:#ffffff26}.form-error{color:#f87171;background:#ef444414;border:1px solid #ef444433;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.btn-primary:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-primary:disabled{opacity:.5;cursor:default;transform:none}.btn-block{width:100%;padding:12px;font-size:15px}.cred-form-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:16px;display:grid}.form-field label{color:#ffffff59;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.form-field input,.form-field select{color:#e2e8f0;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-size:13px}.form-field input:focus,.form-field select:focus{background:#ffffff12;border-color:#2563eb4d}.form-field select{cursor:pointer}.form-field select option{color:#e2e8f0;background:#0f172a}.btn-add-cred{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:8px;padding:9px 20px;font-size:13px;font-weight:600;transition:all .2s}.btn-add-cred:hover{background:linear-gradient(135deg,#3b82f6,#2563eb)}.btn-add-cred:disabled{opacity:.4;cursor:default}.auth-page{--auth-ink:#18334b;--auth-muted:#718599;min-height:100vh;color:var(--auth-ink);background:radial-gradient(circle at 11% 18%,#58a6b41a,#0000 25%),radial-gradient(circle at 84% 80%,#d4b15b17,#0000 25%),#f3f7f8;grid-template-rows:68px minmax(0,1fr) 52px;display:grid;overflow:hidden}.auth-topbar{background:#ffffffdb;border-top:3px solid #c5a04d;border-bottom:1px solid #dce6eb;justify-content:space-between;align-items:center;padding:0 clamp(26px,5vw,80px);display:flex}.auth-brand{align-items:center;gap:10px;display:inline-flex}.auth-brand>span:last-child{align-items:baseline;gap:6px;display:inline-flex}.auth-brand strong{letter-spacing:.4px;color:#203f59;font-size:17px;font-weight:780}.auth-brand small{color:#7890a2;letter-spacing:1px;font-size:11px;font-weight:680}.auth-brand-symbol{background:linear-gradient(145deg,#f1d57f,#c59231);border:1px solid #d5ba70;border-radius:8px;place-items:center;width:29px;height:29px;display:grid;position:relative;box-shadow:0 5px 12px #ab791929}.auth-brand-symbol:before{content:"";border:2px solid #2b4b64;border-radius:50%;width:10px;height:10px}.auth-brand-symbol i,.auth-brand-symbol b,.auth-brand-symbol em{background:#2b4b64;border-radius:2px;width:2px;height:4px;position:absolute}.auth-brand-symbol i{top:4px}.auth-brand-symbol b{bottom:4px}.auth-brand-symbol em{right:4px;transform:rotate(90deg)}.auth-topbar-status{color:#5b7b69;align-items:center;gap:7px;font-size:12px;font-weight:650;display:inline-flex}.auth-topbar-status i{background:#4ba56f;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #4ba56f1c}.auth-shell{z-index:0;background:#fff;border:1px solid #d9e4e8;border-radius:22px;grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);width:min(1136px,100vw - 64px);min-height:592px;margin:auto;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 60px #314d631f}.auth-intro{color:#eef7f7;background:radial-gradient(circle at 68% 38%,#6db9ba2b,#0000 25%),linear-gradient(145deg,#12394e 0%,#164a60 47%,#1b5b66 100%);padding:clamp(44px,5vw,72px) clamp(44px,6vw,80px) 36px;position:relative;overflow:hidden}.auth-intro:before{content:"";aspect-ratio:1;border:1px solid #c6ddd626;border-radius:50%;width:70%;position:absolute;bottom:-22%;right:-10%;box-shadow:0 0 0 58px #c6ddd609,0 0 0 116px #c6ddd606}.auth-eyebrow{z-index:1;color:#a9d3cf;letter-spacing:1.55px;font-size:10px;font-weight:750;position:relative}.auth-intro h1{z-index:1;color:#f5fbfa;letter-spacing:-.8px;margin:20px 0 17px;font-size:clamp(30px,3vw,42px);font-weight:690;line-height:1.27;position:relative}.auth-intro>p{z-index:1;color:#e0f4f1b8;max-width:430px;margin:0;font-size:14px;line-height:1.85;position:relative}.auth-visual{z-index:1;height:248px;margin-top:24px;position:relative}.auth-visual-glow{filter:blur(2px);background:radial-gradient(circle,#e7c25b52,#e7c25b00 68%);border-radius:50%;width:160px;height:160px;position:absolute;top:23px;left:22%}.auth-visual-sun{border:2px solid #f4d675;border-radius:50%;width:43px;height:43px;position:absolute;top:46px;left:42%;box-shadow:0 0 25px #f1cb61b8}.auth-visual-sun span{background:#f2cf67;border-radius:50%;position:absolute;inset:8px}.auth-visual-grid{transform-origin:bottom;opacity:.75;background-image:linear-gradient(#a0d3ce40 1px,#0000 1px),linear-gradient(90deg,#a0d3ce40 1px,#0000 1px);background-size:25px 25px;border:1px solid #a0d3ce54;border-radius:10px 10px 2px 2px;height:93px;position:absolute;bottom:14px;left:4%;right:1%;transform:perspective(300px)rotateX(58deg)}.auth-visual-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a2f3c7a;border:1px solid #ccebe533;border-radius:10px;min-width:145px;padding:13px 15px;position:absolute;box-shadow:0 12px 24px #041f292e}.auth-visual-card span{color:#d7efeca1;font-size:10px;display:block}.auth-visual-card strong{color:#f6fbf7;font-variant-numeric:tabular-nums;margin:5px 0 4px;font-size:20px;display:inline-block}.auth-visual-card strong small{color:#b8d6d1;font-size:10px}.auth-visual-card i{color:#a9d58c;font-size:10px;font-style:normal;display:block}.auth-visual-card-primary{top:78px;right:5%}.auth-visual-card-secondary{top:127px;left:5%}.auth-visual-line{border-top:1px dashed #ddedaea6;border-radius:50%;height:45px;position:absolute;top:106px;left:25%;right:18%;transform:rotate(-13deg)}.auth-capabilities{border-top:1px solid #cce9e129;gap:clamp(15px,2.5vw,31px);padding-top:18px;display:flex;position:absolute;bottom:31px;left:clamp(44px,6vw,80px);right:clamp(44px,6vw,80px)}.auth-capabilities span{color:#e0f4f1a8;white-space:nowrap;align-items:center;gap:7px;font-size:10px;display:inline-flex}.auth-capabilities b{color:#ddc06a;font-variant-numeric:tabular-nums;font-size:10px}.auth-panel{background:linear-gradient(135deg,#fff 0%,#fbfcfc 100%);flex-direction:column;justify-content:center;padding:clamp(46px,5.5vw,76px) clamp(40px,6vw,78px);display:flex}.auth-panel-heading>span{color:#b58b34;letter-spacing:1.4px;font-size:11px;font-weight:750}.auth-panel-heading h2{color:#24435b;letter-spacing:-.4px;margin:12px 0 8px;font-size:29px}.auth-panel-heading p{color:#8999a7;margin:0;font-size:13px}.auth-form{margin-top:36px}.auth-field{margin-bottom:21px;display:block}.auth-field>span{color:#526b7f;margin-bottom:8px;font-size:12px;font-weight:720;display:block}.auth-field>div{background:#fff;border:1px solid #d8e2e6;border-radius:8px;align-items:center;height:46px;transition:border-color .18s,box-shadow .18s,background .18s;display:flex}.auth-field>div:focus-within{background:#fcfefe;border-color:#70aab2;box-shadow:0 0 0 3px #4e979f1a}.auth-field svg{fill:none;stroke:#8ba0af;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px;margin:0 11px 0 14px}.auth-field input{color:#29455c;width:100%;min-width:0;height:100%;font:inherit;background:0 0;border:0;outline:0;padding:0 14px 0 0;font-size:14px}.auth-field input::placeholder{color:#b2c0c9}.auth-error{color:#b64f4d;background:#fff7f7;border:1px solid #f1cecd;border-radius:7px;margin-bottom:18px;padding:10px 12px;font-size:12px}.auth-submit{color:#fff;letter-spacing:.15px;cursor:pointer;background:linear-gradient(120deg,#236b7e,#348890);border:0;border-radius:8px;justify-content:center;align-items:center;gap:12px;width:100%;height:48px;font-size:14px;font-weight:740;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:0 8px 15px #26717d30}.auth-submit:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 11px 20px #26717d3b}.auth-submit b{font-size:19px;font-weight:400}.auth-submit:disabled{cursor:default;opacity:.66;box-shadow:none;transform:none}.auth-security-note{color:#9aabb6;align-items:center;gap:7px;margin:19px 0 0;font-size:11px;display:flex}.auth-security-note i{border:2px solid #7fa4a0;border-radius:50%;width:7px;height:7px}.auth-footer{color:#91a0ab;justify-content:space-between;align-items:center;padding:0 clamp(26px,5vw,80px);font-size:11px;display:flex}@media (width<=820px){.auth-page{grid-template-rows:62px minmax(0,1fr) 44px}.auth-topbar{padding:0 22px}.auth-topbar-status{display:none}.auth-shell{width:min(460px,100vw - 32px);min-height:0;margin:auto;display:block;overflow:visible}.auth-intro{display:none}.auth-panel{border-radius:21px;min-height:500px;padding:46px 32px}.auth-footer{padding:0 22px;font-size:10px}.auth-footer span:last-child{display:none}}@media (height<=700px) and (width>=821px){.auth-page{grid-template-rows:56px minmax(0,1fr) 36px}.auth-shell{min-height:500px;transform:scale(.88)}.auth-intro{padding-top:38px}.auth-visual{height:205px}.auth-capabilities{bottom:20px}.auth-panel{padding-top:38px;padding-bottom:38px}.auth-form{margin-top:24px}}.layout-1080,.main-1080{background:#f3f7f8}.main-1080.main-shenlong{background:#edf2f6}.footer-bar a:hover{color:#376e91}body:has(.ds-screen){background:#eef4f5}body:has(.ds-screen) #root{background:#eef4f5}.ds-center{min-height:0}@media (width<=1100px){.ds-main{grid-template-columns:1fr;overflow-y:auto}.ds-screen{height:auto;min-height:100vh;overflow:visible}.ds-left,.ds-right{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ds-footer{position:sticky;bottom:0}}body:has(.mv-root){background:#f3f7f8}body:has(.mv-root) #root{background:#f3f7f8}.mv-hero-num{color:#2c7f70;text-shadow:none}.collector-controls{color:#ffffff80;align-items:center;gap:16px;margin-bottom:12px;font-size:13px;display:flex}.log-entry{color:#ffffff40;border-bottom:1px solid #ffffff08;padding:4px 8px;font-family:SF Mono,Menlo,monospace;font-size:12px}.btn-sm{color:#ffffff80;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:6px;padding:5px 12px;font-size:12px;transition:all .2s}.btn-sm:hover{color:#e2e8f0;background:#ffffff1a}.form-msg{border-radius:6px;margin-bottom:12px;padding:8px 14px;font-size:13px}.text-muted{color:#ffffff40;font-size:13px}code{color:#fff6;background:#ffffff0a;border-radius:4px;padding:2px 6px;font-family:SF Mono,Menlo,monospace;font-size:12px}.main-1080>.page{color:#e2e8f0;background:#060c1c}.main-1080 .section{background:#ffffff06;border:1px solid #ffffff0d;border-radius:12px;margin-bottom:20px;padding:20px 24px}.main-1080 .section h2{color:#e2e8f0;margin-bottom:14px;font-size:15px;font-weight:600}.main-1080 .page-title{color:#e2e8f0;margin-bottom:20px;font-size:22px;font-weight:700}.main-1080 input[type=text]{color:#e2e8f0;background:#ffffff0f;border-color:#ffffff14}.main-1080 .data-table{border-collapse:collapse;width:100%;font-size:13px}.main-1080 .data-table th{text-align:left;color:#ffffff40;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #ffffff0d;padding:10px 14px;font-size:11px;font-weight:600}.main-1080 .data-table td{color:#ffffff8c;border-bottom:1px solid #ffffff08;padding:10px 14px}.main-1080 .data-table tr:hover td{background:#ffffff05}.clickable-row{cursor:pointer}.main-1080 .table-wrapper{overflow-x:auto}.main-1080 .page-loading{color:#ffffff4d;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:60vh;font-size:16px;display:flex}.main-1080 .empty-state{color:#fff3;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.main-1080 .empty-state .empty-icon{margin-bottom:12px;font-size:48px}.main-1080 .empty-state p{color:#ffffff4d;margin-bottom:4px;font-size:15px}.main-1080 .empty-hint{color:#ffffff26;font-size:12px}.main-1080>.page,.main-1080>.big-screen:not(.ds-1080):not(.ds-quad){width:100%;max-width:none!important}.main-1080{color:#e2e8f0}.main-1080 .page-title,.main-1080 .page-subtitle,.main-1080 h1,.main-1080 h2,.main-1080 h3{color:#e2e8f0!important}.main-1080 .text-muted{color:#ffffff59!important}.main-1080 td,.main-1080 th{color:#ffffff8c!important}.main-1080 .section,.main-1080 .kpi-card,.main-1080 .chart-box{color:#e2e8f0!important;background:#ffffff06!important;border:1px solid #ffffff0d!important}.main-1080{--text:#e2e8f0!important;--text-muted:#fff6!important;--bg:#060c1c!important;--card-bg:#ffffff06!important;--border:#ffffff0f!important;--shadow:0 1px 3px #0000004d!important;--shadow-md:0 4px 12px #0006!important;--shadow-lg:0 10px 30px #00000080!important}.stv-wrap{background:#0b1120b3;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;flex:0 0 340px;min-width:0;display:flex;overflow:hidden}.stv-head{color:#8890a8;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #ffffff0f;flex:0 0 32px;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:600;display:flex}.stv-head-dot{background:#22c55e;border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px #22c55e}.stv-head-n{color:#94a3b8;background:#ffffff14;border-radius:10px;margin-left:auto;padding:1px 8px;font-size:10px}.stv-view{flex:1;position:relative;overflow:hidden}.stv-track{animation:linear infinite stv-scroll}.stv-item{cursor:pointer;border-bottom:1px solid #ffffff05;align-items:center;gap:6px;padding:4px 10px;transition:background .15s;display:flex}.stv-item:hover{background:#ffffff0d}.stv-dot{background:#475569;border-radius:50%;flex:0 0 5px;height:5px}.stv-dot.on{background:#22c55e;box-shadow:0 0 5px #22c55e}.stv-name{color:#cbd5e1;flex:1;font-size:11px}.stv-addr{color:#64748b;text-align:left;white-space:nowrap;text-overflow:ellipsis;min-width:80px;font-size:10px;overflow:hidden}.stv-pwr{font-variant-numeric:tabular-nums;color:#94a3b8;text-align:right;min-width:52px;font-size:12px;font-weight:700}.stv-pwr.on{color:#fbbf24}.stv-tdy{color:#64748b;text-align:right;font-variant-numeric:tabular-nums;min-width:44px;font-size:10px}.stv-hot .stv-name{color:#e2e8f0}.stv-hot .stv-pwr{text-shadow:0 0 6px #fbbf2466}.stv-hot .stv-addr{color:#94a3b8}.stv-empty{color:#475569;padding:12px;font-size:11px}@keyframes stv-scroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.big-screen.ds-quad{box-sizing:border-box;background:#060c1c;grid-template-rows:calc(50vh - 56px) calc(50vh - 8px);grid-template-columns:1fr 1fr;gap:16px;height:100%;padding:12px;display:grid;position:relative;overflow:hidden}.dq-tl{grid-area:1/1}.dq-bl{grid-area:2/1}.dq-tr{grid-area:1/2/span 2}.big-screen.ds-quad:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(#0000 0%,#2563eb0f 10%,#2563eb1f 50%,#2563eb0f 90%,#0000 100%) 50%/1px 100% no-repeat;position:absolute;inset:0}.dq-cell{z-index:1;background:#ffffff06;border:1px solid #ffffff0d;border-radius:10px;flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.dq-cell-hd{border-bottom:1px solid #ffffff0a;flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:38px;padding:8px 14px;display:flex}.dq-cell-hd h2{color:#ffffff73;white-space:nowrap;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:600;display:flex}.dq-hd-left{flex-wrap:nowrap;align-items:center;gap:12px;min-width:0;display:flex}.dq-hd-right{flex:0 200px;min-width:0;position:relative}.dq-hd-stat{color:#ffffff59;white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:flex}.dq-hd-stat.alarm{color:#f87171}.dq-hd-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dq-hd-dot.ok{background:#10b981;box-shadow:0 0 5px #10b98166}.dq-hd-dot.alarm{background:#ef4444;animation:1.5s infinite pulse-ring-alarm;box-shadow:0 0 5px #ef444480}.dq-hd-badge{color:#60a5fa;white-space:nowrap;background:#2563eb1f;border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:600}.dq-hd-badge.accent{color:#34d399;background:#10b9811a}.dq-search{color:#e2e8f0;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;outline:none;width:100%;padding:6px 28px 6px 10px;font-size:12px;transition:border-color .2s}.dq-search::placeholder{color:#ffffff2e}.dq-search:focus{background:#ffffff14;border-color:#2563eb66}.dq-search-clear{color:#ffffff40;cursor:pointer;z-index:2;border-radius:3px;padding:2px 5px;font-size:11px;line-height:1;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.dq-search-clear:hover{color:#ffffffb3;background:#ffffff14}.dq-cell-body{flex:1;min-height:0;padding:10px 14px 14px;overflow:hidden auto}.dq-cell-body::-webkit-scrollbar{width:3px}.dq-cell-body::-webkit-scrollbar-track{background:0 0}.dq-cell-body::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:2px}.dq-tl .dq-cell-body{flex-direction:column;display:flex}.dq-kpi-row{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:8px;display:grid}.dq-kpi-row-full{grid-template-columns:1fr;gap:10px;margin-bottom:8px;display:grid}.dq-kpi-row-full .bs-kpi{padding:10px 14px}.dq-kpi-row-full .bs-kpi-val{font-size:22px}.dq-kpi-row-full .bs-kpi-icon-wrap{width:32px;height:32px}.dq-kpi-row .bs-kpi{padding:12px 14px}.dq-kpi-row .bs-kpi-val{font-size:20px}.dq-kpi-row .bs-kpi-icon-wrap{width:36px;height:36px}.dq-kpi-row .bs-kpi-icon{font-size:16px}.dq-rank{flex:1;min-height:0;overflow-y:auto}.dq-rank::-webkit-scrollbar{width:3px}.dq-rank::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:2px}.dq-rank-header{color:#64748b;z-index:1;background:#0a0e1a;border-bottom:1px solid #ffffff14;align-items:center;gap:8px;padding:5px 6px;font-size:10px;font-weight:600;display:flex;position:sticky;top:0}.dq-rank-header .dq-rank-pwr,.dq-rank-header .dq-rank-kwh{text-align:right}.dq-rank-wthr{text-align:center;flex-shrink:0;width:28px;font-size:15px;line-height:1}.dq-rank-header .dq-rank-wthr{color:#64748b;font-size:10px;font-weight:600}.dq-rank-row{cursor:pointer;border-bottom:1px solid #ffffff08;align-items:center;gap:8px;padding:5px 6px;font-size:11px;transition:background .15s;display:flex}.dq-rank-row:hover{background:#ffffff0a}.dq-rank-num{text-align:center;color:#fff3;flex-shrink:0;width:24px;font-size:12px;font-weight:600}.dq-rank-row:nth-child(-n+3) .dq-rank-num{color:#f59e0b}.dq-rank-name{color:#ffffffa6;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dq-rank-pwr{color:#64748b;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;width:52px}.dq-rank-status{text-align:center;flex-shrink:0;width:46px;font-size:10px}.dq-rank-status.on{color:#22c55e}.dq-rank-status.off{color:#475569}.dq-rank-kwh{color:#60a5fa;font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;width:78px;font-weight:700}.dq-body-ticker{flex-direction:column;height:100%;display:flex;overflow:hidden}.dq-body-ticker .stv-wrap{flex:1;min-height:0}.dq-body-ticker .stv-head,.dq-body-ticker .stv-name,.dq-body-ticker .stv-pwr{font-size:12px}.dq-body-ticker .stv-tdy,.dq-body-ticker .stv-addr{font-size:11px}.dq-platform-row{gap:8px;margin-top:4px;display:flex}.dq-platform-card{background:#ffffff06;border:1px solid #ffffff0d;border-radius:8px;flex:1 1 0;min-width:0;transition:background .2s;display:flex;overflow:hidden}.dq-platform-card:hover{background:#ffffff0a}.dq-pc-bar{background:var(--pc,#3b82f6);border-radius:3px 0 0 3px;flex-shrink:0;width:3px}.dq-pc-body{flex:1;min-width:0;padding:8px 10px}.dq-pc-name{color:#ffffffa6;white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:12px;font-weight:600;overflow:hidden}.dq-pc-stats{color:#ffffff4d;white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:flex}.dq-pc-stats strong{color:#fff9;font-weight:700}.dq-pc-sep{color:#ffffff1a}.dq-pc-pct{color:#ffffff40;font-size:10px}.dq-pc-bar-track{background:#ffffff0f;border-radius:2px;height:4px;margin:4px 0;overflow:hidden}.dq-pc-bar-fill{border-radius:2px;height:100%;transition:width 1s}.dq-body-grid{overflow-y:auto;padding:8px 10px 10px!important}.dq-station-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;display:grid}.dq-scard{cursor:pointer;background:#ffffff06;border:1px solid #ffffff0d;border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;transition:background .15s,border-color .2s;display:flex;position:relative;overflow:hidden}.dq-scard:hover{background:#ffffff0a;border-color:#ffffff1a}.dq-scard.active{border-color:#3b82f633}.dq-scard.active:before{content:"";background:var(--accent,#3b82f6);height:2px;position:absolute;top:0;left:0;right:0}.dq-scard-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.dq-scard-name{color:#fff9;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;font-weight:600;overflow:hidden}.dq-scard.active .dq-scard-name{color:#ffffffd9}.dq-scard-led{background:#475569;border-radius:50%;flex-shrink:0;width:6px;height:6px}.dq-scard-led.on{background:#22c55e;box-shadow:0 0 5px #22c55e80}.dq-scard-body{gap:8px;min-width:0;display:flex}.dq-scard-row{align-items:center;gap:3px;min-width:0;display:flex}.dq-scard-label{color:#475569;flex-shrink:0;font-size:9px}.dq-scard-val{color:#ffffff73;font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.dq-scard-pwr.on{color:#fbbf24}.dq-scard-tdy{color:#60a5fa}.dq-hd-right-info{align-items:center;gap:6px;display:flex}.big-screen.ds-1080{flex-direction:column;gap:6px;height:100%;padding:8px 16px;display:flex;overflow-y:auto}.main-1080:has(.ds-quad){overflow:hidden}.dq-q3-split3{flex-direction:row;flex:1;gap:8px;min-height:0;display:flex;overflow:hidden;padding:6px 8px 4px!important}.dq-q3-weather{background:#ffffff05;border:1px solid #ffffff0a;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:140px;min-width:140px;padding:6px 4px;display:flex;position:relative}.dq-whd{align-items:center;gap:4px;display:flex}.dq-wloc{color:#ffffffb3;font-size:13px;font-weight:700}.dq-wicon{font-size:28px;line-height:1}.dq-wtemp{color:#f0f4ff;letter-spacing:-1px;font-size:32px;font-weight:300;line-height:1}.dq-wtemp small{color:#fff6;font-size:16px;font-weight:400}.dq-wtext{color:#ffffff80;margin-bottom:4px;font-size:12px}.dq-wsolar{align-items:baseline;gap:4px;margin-top:2px;font-size:12px;display:flex}.dq-wsolar-icon{font-size:12px}.dq-wsolar-val{color:#f59e0b;font-size:14px;font-weight:700}.dq-wsolar-val small{color:#fff6;font-size:10px;font-weight:400}.dq-wsolar-lv{color:#f59e0b99;background:#f59e0b1a;border-radius:4px;padding:0 5px;font-size:9px}.dq-wsolar-bar-track{background:#ffffff0f;border-radius:2px;width:80%;height:3px;margin:2px 0 4px;overflow:hidden}.dq-wsolar-bar-fill{background:linear-gradient(90deg,#f59e0b,#eab308);border-radius:2px;height:100%;transition:width 2s}.dq-wextra{color:#ffffff59;flex-wrap:wrap;justify-content:center;gap:6px;font-size:9px;display:flex}.dq-wextra span{white-space:nowrap}.dq-q3-split{flex-direction:column;gap:4px;display:flex;overflow:hidden;padding:6px 8px 4px!important}.dq-q3-rank{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.dq-rank-body{flex:1;min-height:0;overflow-y:auto}.dq-rank-body::-webkit-scrollbar{width:3px}.dq-rank-body::-webkit-scrollbar-thumb{background:#ffffff0a;border-radius:2px}.dq-rank-body .dq-rank-header{z-index:1;background:#0a0e1a;position:sticky;top:0}.dq-q3-alarms{border-top:1px solid #ffffff0a;flex-shrink:0;margin-top:2px;padding-top:4px}.dq-q3-alarms-hd{color:#ffffff73;align-items:center;gap:6px;padding:2px 0;font-size:10px;font-weight:700;display:flex}.dq-q3-alarms-hd .dq-hd-badge{padding:1px 5px;font-size:8px}.dq-q3-alarms-body{max-height:60px;overflow-y:auto}.dq-q3-alarms-body::-webkit-scrollbar{width:2px}.dq-q3-alarms-body::-webkit-scrollbar-thumb{background:#ffffff0a}.dq-alarm-item.mini{border-bottom:none;border-left:none;align-items:center;gap:4px;padding:2px 0;font-size:9px;display:flex}.dq-alarm-item.mini .dq-alarm-sev{font-size:9px}.dq-alarm-item.mini .dq-alarm-station{color:#ffffff73;flex-shrink:0;font-weight:500}.dq-alarm-item.mini .dq-alarm-msg{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-top:0;overflow:hidden}.dq-rank-num.top{text-shadow:0 0 6px #f59e0b4d;color:#f59e0b!important}.dq-alarm-empty{color:#475569;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;display:flex}.dq-alarm-empty-icon{font-size:28px}.dq-alarm-empty p{margin:0;font-size:12px}.dq-alarm-item{border-bottom:1px solid #ffffff0a;border-left:2px solid #0000;align-items:flex-start;gap:8px;padding:7px 8px;font-size:11px;transition:background .15s;display:flex}.dq-alarm-item:hover{background:#ffffff08}.dq-alarm-item.critical{border-left-color:#ef4444}.dq-alarm-item.warning{border-left-color:#f59e0b}.dq-alarm-sev{flex-shrink:0;margin-top:1px;font-size:14px}.dq-alarm-info{flex:1;min-width:0}.dq-alarm-station{color:#ffffffa6;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.dq-alarm-msg{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.dq-alarm-time{color:#475569;margin-top:2px;font-size:10px}.alarm-badge{background:#ef4444!important}.dq-tl-alarms{background:#ef44440a;border:1px solid #ef444414;border-radius:6px;flex-direction:column;flex-shrink:0;gap:6px;margin-top:6px;padding:8px 14px;display:flex}.dq-tl-alarms-hd{color:#ffffff8c;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.dq-tl-alarms-hd .alarm-badge{padding:1px 7px;font-size:10px}.dq-tl-alarms-body{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.dq-tl-alarm-item{white-space:nowrap;background:#ffffff08;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:flex}.dq-tl-alarm-item .dq-alarm-sev{margin-top:0;font-size:16px}.dq-tl-alarm-item .dq-alarm-station{color:#ffffffa6;font-size:13px;font-weight:600}.dq-tl-alarm-item .dq-alarm-msg{color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:160px;margin-top:0;font-size:12px;overflow:hidden}.dq-tl-alarms-none{color:#22c55e;font-size:14px;font-weight:600}.datav-screen{background:linear-gradient(135deg,#eef2f7 0%,#f8fafc 50%,#e8ecf2 100%);flex-direction:column;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;display:flex;position:relative;overflow:hidden}.datav-screen:after{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#2563eb0a 1px,#0000 1px),linear-gradient(90deg,#2563eb0a 1px,#0000 1px);background-size:80px 80px;position:absolute;inset:0}.dv-header{z-index:10;background:linear-gradient(#fffffffa 0%,#f8fafcf2 100%);border-bottom:1px solid #2563eb33;flex:0 0 68px;align-items:center;padding:0 28px;display:flex;position:relative}.dv-h-bottom-line{background:linear-gradient(90deg,#0000,#2563eb4d 20%,#2563eb99 50%,#2563eb4d 80%,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}.dv-h-left{flex:0 0 300px;align-items:center;gap:12px;display:flex}.dv-h-deco-l{opacity:.6;background:linear-gradient(135deg,#3b82f6,#3b82f620 60%);border-radius:4px;width:28px;height:28px;transform:rotate(45deg)}.dv-back-btn{color:#fff6;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-right:8px;padding:0;font-size:18px;font-weight:400;line-height:1;transition:all .25s;display:flex;box-shadow:0 2px 8px #0000000a}.dv-back-btn:hover{color:#fffc;background:#ffffff14;border:none;transform:scale(1.15)}.dv-h-title{color:#1e293b;letter-spacing:4px;white-space:nowrap;background:linear-gradient(90deg,#1e40af,#2563eb,#7c3aed);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 4px #00000014);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:900;line-height:1.2;animation:4s ease-in-out infinite title-shine}@keyframes title-shine{0%,to{filter:drop-shadow(0 0 18px #3b82f666)}50%{filter:drop-shadow(0 0 30px #60a5fab3)}}.dv-h-center{flex:1;justify-content:center;display:flex}.dv-summary-strip{background:#f1f5f9e6;border:1px solid #2563eb14;border-radius:10px;align-items:center;gap:0;padding:6px 24px;display:flex}.dv-summary-item{flex-direction:column;align-items:center;gap:2px;padding:0 16px;display:flex}.dv-s-label{color:#64748b;letter-spacing:1px;text-transform:uppercase;font-size:12px}.dv-s-val{color:#1e293b;font-variant-numeric:tabular-nums;font-size:26px;font-weight:800}.dv-s-val small{color:#94a3b8;margin-left:4px;font-size:13px;font-weight:400}.dv-s-val.accent-green{color:#34d399}.dv-s-val.accent-yellow{color:#fbbf24}.dv-s-val.accent-blue{color:#60a5fa}.dv-s-val.accent-purple{color:#a78bfa}.dv-s-sep{background:#cbd5e180;flex-shrink:0;width:1px;height:28px}.dv-h-right{flex:0 0 220px;justify-content:flex-end;align-items:center;gap:12px;display:flex}.dv-h-clock{color:#64748b;font-variant-numeric:tabular-nums;letter-spacing:1px;font-family:SF Mono,Menlo,monospace;font-size:16px}.dv-h-deco-r{opacity:.6;background:linear-gradient(225deg,#3b82f6,#3b82f620 60%);border-radius:4px;width:28px;height:28px;transform:rotate(45deg)}.dv-body{z-index:5;flex:1;gap:16px;min-height:0;padding:14px 20px 0;display:flex;position:relative}.dv-left{flex-direction:column;flex:0 0 320px;gap:10px;display:flex;overflow-y:auto}.dv-left::-webkit-scrollbar{width:3px}.dv-left::-webkit-scrollbar-thumb{background:#cbd5e180;border-radius:2px}.dv-kpi-card{background:#ffffffe6;border:1px solid #cbd5e180;border-radius:8px;padding:12px 14px 10px;transition:all .25s;position:relative;overflow:hidden}.dv-kpi-card:hover{border-color:var(--pc);background:#3b82f60a;box-shadow:0 0 20px #3b82f614}.dv-kpi-card:before{content:"";background:var(--pc);border-radius:2px 0 0 2px;width:2px;position:absolute;top:0;bottom:0;left:0}.dv-kpi-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.dv-kpi-pf{align-items:center;gap:6px;font-size:15px;font-weight:700;display:flex}.dv-kpi-dot{border-radius:50%;width:8px;height:8px}.dv-kpi-status{font-size:11px}.dv-kpi-online{color:#475569;background:#64748b14;border-radius:10px;padding:2px 8px}.dv-kpi-online.on{color:#34d399;background:#10b9811a}.dv-kpi-vals{gap:20px;margin-bottom:8px;display:flex}.dv-kpi-v{flex-direction:column;flex:1;gap:2px;display:flex}.dv-kpi-num{color:#1e293b;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.dv-kpi-num small{color:#64748b;margin-left:3px;font-size:12px;font-weight:400}.dv-kpi-label{color:#64748b;letter-spacing:.5px;font-size:12px}.dv-kpi-bar{background:#3b82f60d;border-radius:1px;height:2px;overflow:hidden}.dv-kpi-fill{border-radius:1px;height:100%;transition:width 1s}.dv-center{background:#ffffffb3;border:1px solid #2563eb1a;border-radius:10px;flex:1;min-width:0;position:relative;overflow:hidden}.dv-center:before,.dv-center:after{content:"";z-index:10;pointer-events:none;border-style:solid;border-color:#3b82f626;width:16px;height:16px;position:absolute}.dv-center:before{border-width:1px 0 0 1px;top:8px;left:8px}.dv-center:after{border-width:1px 1px 0 0;top:8px;right:8px}.dv-map-loading{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;font-size:16px;display:flex}.dv-right{flex-direction:column;flex:0 0 340px;gap:12px;display:flex}.dv-r-panel{background:#ffffffe6;border:1px solid #cbd5e180;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.dv-r-bottom{flex:1;min-height:0}.dv-r-hd{color:#334155;border-bottom:1px solid #cbd5e180;flex:0 0 34px;align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:600;display:flex}.dv-r-hd-icon{font-size:16px}.dv-r-count{color:#64748b;background:#3b82f60a;border-radius:8px;margin-left:auto;padding:1px 8px;font-size:12px}.dv-r-body{flex:1;min-height:0;padding:8px 10px 10px;overflow-y:auto}.dv-r-body::-webkit-scrollbar{width:3px}.dv-r-body::-webkit-scrollbar-thumb{background:#cbd5e180;border-radius:2px}.dv-rank-row{border-bottom:1px solid #e2e8f099;align-items:center;gap:8px;padding:5px 6px;font-size:13px;transition:background .15s;display:flex}.dv-rank-row:hover{background:#f1f5f9e6}.dv-rank-idx{text-align:center;color:#475569;flex-shrink:0;width:22px;font-size:13px;font-weight:700}.dv-rank-idx.top-1{color:#fbbf24}.dv-rank-idx.top-2{color:#94a3b8}.dv-rank-idx.top-3{color:#d97706}.dv-rank-name{color:#334155;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dv-rank-pwr{text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;width:62px;font-weight:600}.dv-rank-pwr small{margin-left:2px;font-size:11px;font-weight:400}.dv-rank-etoday{text-align:right;color:#2563eb;font-variant-numeric:tabular-nums;flex-shrink:0;width:64px}.dv-rank-etoday small{margin-left:2px;font-size:11px}.dv-r-stats-grid{flex-direction:column;gap:6px;display:flex}.dv-r-stat-item{background:#ffffffd9;border-left:3px solid;border-radius:0 6px 6px 0;align-items:center;gap:10px;padding:8px 10px;display:flex}.dv-r-stat-name{flex-shrink:0;width:50px;font-size:13px;font-weight:600}.dv-r-stat-count{color:#64748b;flex:1;font-size:13px}.dv-r-stat-cap{color:#334155;font-variant-numeric:tabular-nums;font-size:13px}.dv-footer{z-index:10;background:#f8fafcf2;border-top:1px solid #2563eb26;flex:0 0 44px;align-items:center;padding:0 20px;display:flex;position:relative;overflow:hidden}.dv-footer-ticker{width:100%;overflow:hidden}.dv-footer-track{gap:0;width:max-content;animation:120s linear infinite dv-footer-scroll;display:flex}.dv-footer-track:hover{animation-play-state:paused}.dv-footer-item{white-space:nowrap;border-right:1px solid #e2e8f080;flex-shrink:0;align-items:center;gap:10px;padding:2px 18px;display:flex}.dv-fi-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dv-fi-name{color:#334155;font-size:13px;font-weight:500}.dv-fi-addr{color:#94a3b8;font-size:12px}.dv-fi-pwr{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.dv-fi-tdy{color:#60a5fa;font-variant-numeric:tabular-nums;font-size:12px}@keyframes dv-footer-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.dv-corner{pointer-events:none;z-index:20;border-style:solid;border-color:#3b82f626;width:24px;height:24px;position:fixed}.dv-corner-tl{border-width:1px 0 0 1px;top:78px;left:24px}.dv-corner-tr{border-width:1px 1px 0 0;top:78px;right:24px}.dv-corner-bl{border-width:0 0 1px 1px;bottom:54px;left:24px}.dv-corner-br{border-width:0 1px 1px 0;bottom:54px;right:24px}.datav-loading{color:#64748b;background:#f0f2f5;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;font-size:15px;display:flex}.datav-spinner{border:2px solid #94a3b833;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite dv-spin}@keyframes dv-spin{to{transform:rotate(360deg)}}.ops-dashboard{--ops-panel:#0b1930d1;--ops-line:#94a3b821;--ops-muted:#7f90aa;--ops-text:#e8f0fb;min-height:100%;color:var(--ops-text);isolation:isolate;background:radial-gradient(circle at 48% -24%,#2563eb38,#0000 42%),radial-gradient(circle at 100% 24%,#0ea5e91a,#0000 30%),#071120;padding:18px 20px 22px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;position:relative}.ops-dashboard:before{content:"";z-index:-1;pointer-events:none;opacity:.42;background-image:linear-gradient(#94a3b806 1px,#0000 1px),linear-gradient(90deg,#94a3b806 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}.ops-dashboard.data-refreshing .ops-live-dot{animation:.8s ease-in-out infinite ops-live-pulse}.ops-dashboard-head{justify-content:space-between;align-items:flex-end;gap:18px;margin:0 0 16px;display:flex}.ops-eyebrow,.ops-subtitle,.ops-panel-kicker,.ops-kpi-label,.ops-kpi-note,.ops-health-summary p,.ops-weather-strip small,.ops-node-meta,.ops-alert-item small,.ops-all-clear span{color:var(--ops-muted);margin:0}.ops-eyebrow{letter-spacing:1.3px;text-transform:uppercase;color:#79c8ff;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.ops-live-dot,.ops-status-chip i,.ops-dot{background:#22c55e;border-radius:50%;flex:none;width:7px;height:7px;display:inline-block;box-shadow:0 0 10px #22c55ed1}.ops-dashboard h1{letter-spacing:.3px;color:#f5f9ff;margin:5px 0 3px;font-size:clamp(22px,2vw,30px);line-height:1.15}.ops-subtitle{font-size:12px}.ops-head-status{align-items:center;gap:8px;padding-bottom:3px;display:flex}.ops-status-chip,.ops-chip{color:#bcd8ee;white-space:nowrap;background:#1e3a5f4d;border:1px solid #38bdf829;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:600;display:inline-flex}.ops-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.ops-kpi-card,.ops-panel{border:1px solid var(--ops-line);background:linear-gradient(135deg, #112443e3, var(--ops-panel));box-shadow:inset 0 1px #ffffff06,0 18px 42px #00000021}.ops-kpi-card{border-radius:14px;min-height:130px;padding:17px 17px 13px;position:relative;overflow:hidden}.ops-kpi-card:after{content:"";border:1px solid #7dd3fc1f;border-radius:50%;width:104px;height:104px;position:absolute;top:-50px;right:-36px;box-shadow:0 0 0 17px #7dd3fc06,0 0 0 34px #7dd3fc05}.ops-kpi-card strong{color:#f8fbff;letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:9px 0 8px;font-size:clamp(24px,2.2vw,34px);line-height:1;display:block}.ops-kpi-card strong small,.ops-health-summary strong small,.ops-platform-row strong small,.ops-station-node strong small,.ops-rank-list strong small{color:#89a2c1;letter-spacing:0;margin-left:4px;font-size:11px;font-weight:600}.ops-kpi-label{color:#a9bad0;font-size:12px;font-weight:600;display:block}.ops-kpi-note{font-size:11px;display:block}.ops-kpi-meter{background:#94a3b81f;border-radius:99px;height:3px;position:absolute;bottom:15px;left:16px;right:16px;overflow:hidden}.ops-kpi-meter i{border-radius:inherit;background:linear-gradient(90deg,#10b981,#6ee7b7);height:100%;transition:width .35s;display:block}.ops-main-grid{grid-template-columns:minmax(236px,.86fr) minmax(390px,1.42fr) minmax(246px,.88fr);gap:12px;margin-bottom:12px;display:grid}.ops-panel{border-radius:14px;min-width:0;overflow:hidden}.ops-panel-head{border-bottom:1px solid #94a3b814;justify-content:space-between;align-items:flex-start;gap:10px;padding:15px 16px 12px;display:flex}.ops-panel-kicker{color:#6380a6;letter-spacing:1.35px;margin-bottom:3px;font-size:9px;font-weight:700;display:block}.ops-panel h2{color:#ecf5ff;margin:0;font-size:15px;font-weight:650;line-height:1.15}.ops-chip{color:#98b7d4;background:#94a3b812;border-color:#94a3b81c;padding:4px 7px;font-size:10px}.ops-muted{color:var(--ops-muted);padding:22px 16px;font-size:12px}.ops-health-panel{flex-direction:column;display:flex}.ops-health-summary{align-items:center;gap:13px;padding:15px 16px;display:flex}.ops-ring{background:conic-gradient(#38d996 var(--progress), #94a3b81f 0);border-radius:50%;flex:0 0 72px;place-items:center;width:72px;height:72px;display:grid;position:relative}.ops-ring:before{content:"";border-radius:inherit;background:#102440;position:absolute;inset:6px}.ops-ring span{z-index:1;color:#eafaf2;font-size:17px;font-weight:750}.ops-ring small{color:#7ddfb0;margin-left:1px;font-size:9px}.ops-health-summary strong{color:#eff7ff;font-variant-numeric:tabular-nums;font-size:20px}.ops-health-summary p{margin-top:5px;font-size:10px}.ops-platform-list{padding:0 16px}.ops-platform-row{grid-template-columns:minmax(72px,.8fr) minmax(40px,1fr) auto;align-items:center;gap:8px;min-height:29px;display:grid}.ops-platform-name{color:#b8cbe1;white-space:nowrap;align-items:center;min-width:0;font-size:11px;font-weight:600;display:flex;overflow:hidden}.ops-platform-name>span{border-radius:50%;width:6px;height:6px;margin-right:6px;box-shadow:0 0 7px}.ops-platform-name em{color:#607694;margin-left:5px;font-size:9px;font-style:normal;font-weight:500;overflow:hidden}.ops-platform-track{background:#94a3b81f;border-radius:99px;height:4px;overflow:hidden}.ops-platform-track i{border-radius:inherit;min-width:2px;height:100%;display:block}.ops-platform-row strong{color:#dbeafe;font-variant-numeric:tabular-nums;text-align:right;font-size:11px}.ops-platform-row strong small{font-size:8px}.ops-weather-strip{background:#02081729;border-top:1px solid #94a3b814;align-items:center;gap:8px;margin-top:auto;padding:12px 16px;display:flex}.ops-weather-icon{font-size:21px}.ops-weather-strip>div{flex:1;min-width:0}.ops-weather-strip strong,.ops-weather-strip small{white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.ops-weather-strip small{margin-top:2px;font-size:9px}.ops-radiation{color:#90a8c4;text-align:right;white-space:nowrap;font-size:9px}.ops-radiation em{color:#f9c765;background:#f59e0b21;border-radius:4px;margin-left:3px;padding:2px 4px;font-size:8px;font-style:normal;display:inline-block}.ops-stations-panel{background:radial-gradient(circle,#1e40af26,#0000 52%),linear-gradient(135deg,#112443ed,#081428e0);flex-direction:column;min-height:316px;display:flex}.ops-station-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:13px 16px;display:grid}.ops-station-node{min-width:0;color:inherit;cursor:pointer;text-align:left;background:#020a1b4d;border:1px solid #94a3b81c;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:5px 7px;padding:9px 10px;transition:transform .16s,border-color .16s,background .16s;display:grid}.ops-station-node:hover{background:#1e40af1f;border-color:#60a5fa6b;transform:translateY(-1px)}.ops-node-index{color:#58718f;font-variant-numeric:tabular-nums;font-size:9px}.ops-station-node>i{background:#52627a;border-radius:50%;width:6px;height:6px}.ops-station-node.active>i{background:#30d99a;box-shadow:0 0 8px #30d99acc}.ops-node-name{color:#c4d5e7;white-space:nowrap;text-overflow:ellipsis;grid-column:1/span 2;font-size:11px;font-weight:600;overflow:hidden}.ops-station-node strong{color:#a6bdd4;font-variant-numeric:tabular-nums;text-align:right;grid-area:1/3/span 2;font-size:14px}.ops-station-node.active strong{color:#77edb7}.ops-station-node strong small{color:#69819b;margin:2px 0 0;font-size:8px;display:block}.ops-node-meta{font-variant-numeric:tabular-nums;border-top:1px solid #94a3b80f;grid-column:1/-1;padding-top:3px;font-size:9px}.ops-stations-footer{color:#7891ad;border-top:1px solid #94a3b814;align-items:center;gap:11px;margin-top:auto;padding:11px 16px;font-size:10px;display:flex}.ops-stations-footer>span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.ops-stations-footer>span:last-child{color:#5b6f87;margin-left:auto}.ops-dot{width:5px;height:5px;box-shadow:none;background:#52627a}.ops-dot.on{background:#30d99a;box-shadow:0 0 7px #30d99abf}.ops-alert-panel{flex-direction:column;display:flex}.ops-alert-list{flex-direction:column;flex:1;gap:7px;padding:12px 13px;display:flex}.ops-alert-item{width:100%;color:inherit;cursor:pointer;text-align:left;background:#020a1b38;border:1px solid #94a3b814;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:8px;transition:border-color .16s,background .16s;display:grid}.ops-alert-severity{color:#b2c2d4;background:#64748b26;border-radius:4px;padding:4px 5px;font-size:9px;font-weight:700}.ops-alert-item>span:last-child{min-width:0}.ops-alert-item strong,.ops-alert-item small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.ops-alert-item strong{color:#dceafa;font-size:10px}.ops-alert-item small{margin-top:3px;font-size:9px}.ops-all-clear{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;min-height:150px;display:flex}.ops-all-clear i{color:#6ee7b7;border:1px solid #34d39957;border-radius:50%;place-items:center;width:31px;height:31px;font-size:16px;font-style:normal;display:grid}.ops-all-clear strong{color:#d1fae5;font-size:13px}.ops-all-clear span{font-size:10px}.ops-panel-link{color:#88b9e5;cursor:pointer;text-align:left;background:0 0;border:0;border-top:1px solid #94a3b814;justify-content:space-between;align-items:center;padding:11px 14px;font-size:11px;display:flex}.ops-panel-link span{font-size:16px;line-height:8px}.ops-bottom-grid{grid-template-columns:minmax(0,1.78fr) minmax(280px,.8fr);gap:12px;display:grid}.ops-trend-panel,.ops-rank-panel{min-height:250px}.ops-chart-legend{color:#8ca6c2;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:inline-flex}.ops-chart-legend i{background:#38d996;width:15px;height:2px;box-shadow:0 0 7px #38d996cc}.ops-chart-wrap{height:194px;padding:6px 13px 0}.ops-trend-chart{width:100%;height:100%;display:block;overflow:visible}.ops-chart-grid{stroke:#94a3b81f;stroke-width:1px;stroke-dasharray:2 5}.ops-chart-line{fill:none;stroke:#42e3a4;stroke-width:2.4px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.ops-chart-tick{stroke:#94a3b852;stroke-width:1px}.ops-chart-label,.ops-chart-axis{fill:#6e86a2;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;font-size:18px}.ops-chart-axis{font-size:15px}.ops-chart-empty{color:#7187a1;place-items:center;height:194px;font-size:12px;display:grid}.ops-rank-list{margin:0;padding:7px 15px 9px;list-style:none}.ops-rank-list li{border-bottom:1px solid #94a3b812;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:35px;display:grid}.ops-rank-list li:last-child{border-bottom:0}.ops-rank-no{color:#90a4ba;background:#64748b26;border-radius:5px;place-items:center;width:19px;height:19px;font-size:10px;font-weight:700;display:grid}.ops-rank-list button{color:#c8d8e9;cursor:pointer;min-width:0;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;font-size:11px;overflow:hidden}.ops-rank-list strong{color:#71e6af;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.ops-rank-list strong small{font-size:8px}@keyframes ops-live-pulse{50%{opacity:.45;transform:scale(.72)}}@media (width<=1180px){.ops-main-grid{grid-template-columns:minmax(260px,.8fr) minmax(390px,1.2fr)}.ops-alert-panel{grid-column:1/-1}.ops-alert-list{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ops-alert-item{min-width:0}.ops-alert-list .ops-all-clear{grid-column:1/-1}}@media (width<=820px){.ops-dashboard{padding:15px 13px 20px}.ops-dashboard-head{flex-direction:column;align-items:flex-start;margin-bottom:13px}.ops-head-status{flex-wrap:wrap;padding:0}.ops-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-main-grid,.ops-bottom-grid{grid-template-columns:1fr}.ops-alert-panel{grid-column:auto}.ops-alert-list{grid-template-columns:1fr}.ops-stations-panel{min-height:unset}}@media (width<=520px){.ops-kpis{grid-template-columns:1fr}.ops-kpi-card{min-height:108px}.ops-station-grid{grid-template-columns:1fr}.ops-stations-footer{flex-wrap:wrap}.ops-stations-footer>span:last-child{width:100%;margin-left:0}.ops-weather-strip{align-items:flex-start}.ops-radiation{display:none}}.big-screen.ds-quad:before{animation:4s ease-in-out infinite divider-pulse}@keyframes divider-pulse{0%,to{opacity:.6}50%{opacity:1}}.dq-cell{transition:border-color .8s,box-shadow .8s}.dq-cell:first-child{animation:6s ease-in-out infinite cell-glow}.dq-cell:nth-child(2){animation:6s ease-in-out 1.5s infinite cell-glow}.dq-cell:nth-child(3){animation:6s ease-in-out 3s infinite cell-glow}@keyframes cell-glow{0%,to{box-shadow:none;border-color:#94a3b81a}25%{border-color:#3b82f633;box-shadow:0 0 20px #3b82f60f}50%{box-shadow:none;border-color:#94a3b814}75%{border-color:#2563eb1f;box-shadow:0 0 12px #2563eb0a}}.dq-cell:after{content:"";z-index:5;pointer-events:none;border:0 solid #3b82f626;border-width:1px 0 0 1px;width:10px;height:10px;position:absolute;top:6px;left:6px}.dq-tl:after{border-width:1px 0 0 1px;top:6px;left:6px}.dq-tr:after{border-width:1px 1px 0 0;top:6px;left:auto;right:6px}.dq-bl:after{border-width:0 0 1px 1px;top:auto;bottom:6px;left:6px}.bs-kpi-val{transition:color .4s}.bs-kpi-val.changed{animation:.6s ease-out value-flash}body:has(.datav-screen){background:#f0f2f5;width:100vw;height:100vh;margin:0;padding:0;overflow:hidden}body:has(.datav-screen) #root{width:100vw;height:100vh;overflow:hidden}.datav-screen{width:100vw;height:100vh}.ds-screen{color:#e0eeff;background:#000205;flex-direction:column;width:100vw;height:100vh;font-family:PingFang SC,Microsoft YaHei,Helvetica Neue,sans-serif;display:flex;position:relative;overflow:hidden}.ds-grid-bg{pointer-events:none;z-index:0;background-image:linear-gradient(#00b4ff0f 1px,#0000 1px),linear-gradient(90deg,#00b4ff0f 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.ds-header{z-index:10;background:linear-gradient(#00b4ff40 0%,#003c780a 70%,#0000 100%);border-bottom:1px solid #00b4ff59;justify-content:space-between;align-items:center;height:78px;min-height:78px;padding:0 32px;display:flex}.ds-header-left{align-items:center;gap:18px;display:flex}.ds-header-text h1{color:#fff;letter-spacing:3px;text-shadow:0 0 50px #00dcff99;margin:0;font-size:28px;font-weight:700}.ds-header-text p{color:#3b6a9e;letter-spacing:4px;margin:2px 0 0;font-size:9px}.ds-header-right{align-items:center;gap:32px;display:flex}.ds-header-time{color:#3a6a95;font-variant-numeric:tabular-nums;letter-spacing:2px;font-size:14px}.ds-header-power{color:#3a6a95;font-size:12px}.ds-header-power b{color:#0ff;margin:0 6px;font-size:15px}.ds-main{z-index:1;flex:1;gap:10px;min-height:0;padding:12px 16px;display:flex;position:relative;overflow:hidden}.ds-left-col{flex-direction:column;flex:2;gap:8px;min-width:0;max-width:24%;display:flex;overflow-y:auto}.ds-left-col .ds-kpi-grid{flex:none;grid-template-columns:1fr 1fr;gap:6px;display:grid}.ds-left-col .ds-kpi-grid .ds-panel{padding:10px 12px}.ds-left-col .ds-kpi-grid .ds-panel-title{margin-bottom:2px}.ds-left-col .ds-kpi-grid .ds-panel-title .ds-panel-icon{font-size:14px}.ds-left-col .ds-kpi-grid .ds-panel-title .ds-panel-label{font-size:11px}.ds-left-col .ds-kpi-grid .ds-big-num{margin:0;font-size:22px}.ds-left-col .ds-kpi-grid .ds-sub-row{margin-top:2px;font-size:10px}.ds-left-col .ds-kpi-grid .ds-sub-info{font-size:10px}.ds-left-col .ds-kpi-grid .ds-status-row{gap:4px}.ds-left-col .ds-kpi-grid .ds-status-item{padding:4px 6px}.ds-left-col .ds-kpi-grid .ds-status-num{font-size:20px}.ds-left-col .ds-kpi-grid .ds-status-label{font-size:10px}.ds-left-col .ds-kpi-grid .ds-eco-grid{gap:4px}.ds-left-col .ds-kpi-grid .ds-eco-item{padding:4px}.ds-left-col .ds-kpi-grid .ds-eco-num{font-size:18px}.ds-left-col .ds-kpi-grid .ds-eco-unit{font-size:9px}.ds-center-col{flex-direction:column;flex:6;gap:6px;min-width:0;display:flex;position:relative}.ds-right-col{flex-direction:column;flex:2;gap:8px;min-width:0;max-width:24%;display:flex;overflow-y:auto}.ds-panel{-webkit-backdrop-filter:blur(12px);background:#010512f5;border:1px solid #00a0dc40;border-radius:4px;padding:14px 16px 16px;position:relative}.ds-panel:before{content:"";background:linear-gradient(90deg,#0000,#00dcff,#0000);height:1px;position:absolute;top:-1px;left:20px;right:20px}.ds-panel:after{content:"";background:linear-gradient(90deg,#0000,#00b4ff80,#0000);height:1px;position:absolute;bottom:-1px;left:20px;right:20px}.ds-panel-title{border-bottom:1px solid #00b4ff1f;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;display:flex}.ds-panel-icon{font-size:14px}.ds-panel-label{color:#c8e4ff;letter-spacing:1px;font-size:13px;font-weight:600}.ds-big-num{color:#fff;text-shadow:0 0 50px #00dcff99;margin-bottom:10px;font-size:36px;font-weight:800;line-height:1.1}.ds-big-num.accent{color:#0ff;text-shadow:0 0 80px #0ffc}.ds-sub-row{color:#406890;gap:20px;font-size:12px;display:flex}.ds-sub-row b{color:#c8e4ff;margin:0 2px}.ds-sub-info{color:#407090;margin-top:4px;font-size:11px}.ds-status-row{gap:8px;display:flex}.ds-status-item{text-align:center;border-radius:4px;flex:1;padding:8px 0}.ds-status-item.online{background:#00ff6414;border:1px solid #00ff6480}.ds-status-item.offline{background:#5064780f;border:1px solid #5064782e}.ds-status-item.alarm{background:#ff3c3c14;border:1px solid #ff3c3c80}.ds-status-num{font-size:24px;font-weight:700;line-height:1.2}.ds-status-label{color:#7aa0c0;margin-top:2px;font-size:10px}.ds-eco-grid{flex-direction:column;gap:6px;display:flex}.ds-eco-item{border-bottom:1px solid #00a0dc0d;justify-content:space-between;align-items:baseline;padding:6px 0;display:flex}.ds-eco-item:last-child{border-bottom:none}.ds-eco-num{color:#0ff;text-shadow:0 0 20px #00ffff4d;font-size:18px;font-weight:700}.ds-eco-unit{color:#407090;font-size:11px}.ds-map-total-revenue{z-index:20;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;top:12px;left:16px}.ds-total-rev-label{color:#facc15;letter-spacing:3px;opacity:.9;font-size:14px}.ds-total-rev-frame{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b3;border:2px solid #facc1599;border-radius:5px;padding:8px 12px;box-shadow:0 0 30px #facc154d,inset 0 0 15px #facc1514}.ds-digit-row{align-items:center;gap:3px;display:flex}.ds-digit-box{color:#facc15;text-shadow:0 0 12px #facc15b3;background:#facc151a;border:1.5px solid #facc1573;border-radius:4px;justify-content:center;align-items:center;min-width:26px;height:42px;padding:0 4px;font-family:DIN Alternate,Courier New,monospace;font-size:32px;font-weight:900;line-height:1;display:inline-flex}.ds-digit-box.punct{color:#facc1599;background:0 0;border-color:#facc1533;min-width:14px;padding:0 2px;font-size:24px}.ds-digit-unit{color:#facc15d9;margin-left:8px;font-size:15px;font-weight:700}.ds-total-rev-sub{color:#facc1599;font-size:11px}.ds-map-wrap{background:#00030ce6;border:1px solid #00b4f033;border-radius:4px;flex:1;min-height:0;position:relative;box-shadow:inset 0 0 40px #0064c81f}.ds-particle-canvas{z-index:8;pointer-events:none;position:absolute;inset:0}.ds-map-loading{color:#3b6a9e;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;inset:0}.ds-center-legend{justify-content:center;gap:14px;display:flex}.ds-legend-dot{color:#b8d4e8;align-items:center;gap:4px;font-size:10px;display:flex}.ds-legend-dot i{border-radius:2px;width:8px;height:8px;display:inline-block;box-shadow:0 0 8px}.ds-center-bottom{background:#040e24d9;border:1px solid #00b4f04d;border-radius:4px;padding:10px 16px 12px}.ds-center-bottom .ds-panel-title{margin-bottom:8px;padding-bottom:6px}.ds-top-row{flex-direction:column;gap:3px;display:flex}.ds-top-item{background:#00a0dc08;border:1px solid #00a0dc0a;border-radius:3px;flex:none;align-items:center;gap:6px;padding:3px 8px;font-size:11px;display:flex}.ds-top-item.top1{background:#ffd7001a;border-color:#ffd70080}.ds-top-item.top2{background:#c0c0c014;border-color:#c0c0c059}.ds-top-item.top3{background:#cd7f3214;border-color:#cd7f3259}.ds-top-rank{color:#3a6088;background:#00a0dc14;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:flex}.ds-top-rank.top1{color:gold;background:#ffd7004d;box-shadow:0 0 12px #ffd7004d}.ds-top-rank.top2{color:silver;background:#c0c0c040;box-shadow:0 0 8px #c0c0c026}.ds-top-rank.top3{color:#cd7f32;background:#cd7f3240;box-shadow:0 0 8px #cd7f3226}.ds-alarm-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ds-alarm-empty{color:#3c3;letter-spacing:1px;text-shadow:0 0 15px #33cc334d;flex:1;justify-content:center;align-items:center;font-size:11px;display:flex}.ds-alarm-list{flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.ds-alarm-item{cursor:pointer;border-left:2px solid #0000;border-radius:3px;align-items:flex-start;gap:6px;padding:5px 6px;transition:all .2s;display:flex}.ds-alarm-item.critical{background:#ef44440a;border-left-color:#ef444499}.ds-alarm-item.critical .ds-alarm-sev{color:#ef4444;text-shadow:0 0 10px #ef444499;animation:1.5s infinite ds-pulse}.ds-alarm-item.warning{background:#f59e0b08;border-left-color:#f59e0b80}.ds-alarm-item.warning .ds-alarm-sev{color:#f59e0b}.ds-alarm-sev{flex-shrink:0;font-size:8px;line-height:1.6}.ds-alarm-body{flex:1;min-width:0}.ds-alarm-station{color:#c8dcec;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.ds-alarm-msg{color:#608098;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9px;line-height:1.3;display:-webkit-box;overflow:hidden}.ds-alarm-more{color:#305070;text-align:center;padding-top:2px;font-size:10px}@keyframes ds-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes ds-bell-shake{0%,to{transform:rotate(0)}10%,30%{transform:rotate(12deg)}20%,40%{transform:rotate(-12deg)}50%{transform:rotate(0)}60%,80%{transform:rotate(8deg)}70%,90%{transform:rotate(-8deg)}}.ds-bell-active{animation:.6s ease-in-out ds-bell-shake;display:inline-block}.ds-alarm-panel.has-alarm .ds-panel-icon{filter:drop-shadow(0 0 6px #ff3c3c99);animation:1s ease-in-out infinite ds-bell-shake}.ds-ratio-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ds-ratio-list{flex-direction:column;flex:1;gap:8px;display:flex;overflow-y:auto}.ds-ratio-item{flex-direction:column;gap:3px;display:flex}.ds-ratio-head{justify-content:space-between;align-items:center;display:flex}.ds-ratio-label{color:#c8d8e0;align-items:center;gap:5px;font-size:10px;display:flex}.ds-ratio-label i{border-radius:2px;width:7px;height:7px;display:inline-block;box-shadow:0 0 10px}.ds-ratio-val{color:#5098b8;font-family:SF Mono,monospace;font-size:9px}.ds-ratio-track{background:#0078b414;border-radius:3px;height:5px;overflow:hidden}.ds-ratio-bar{border-radius:3px;height:100%;transition:width 1.2s cubic-bezier(.4,0,.2,1);position:relative}.ds-ratio-bar:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff40 50%,#0000 100%);animation:2s infinite ds-ratio-scan;position:absolute;inset:0}@keyframes ds-ratio-scan{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ds-top-name{color:#b8d8f0;word-break:break-all;flex:1;line-height:1.3;overflow:hidden}.ds-top-val{color:#0ff;font-variant-numeric:tabular-nums;text-shadow:0 0 10px #00ffff4d;flex-shrink:0;font-weight:600}.ds-weather-panel{flex-direction:column;flex:1;min-height:0;display:flex}.ds-weather-carousel{flex:1;justify-content:center;align-items:center;display:flex;position:relative}.ds-weather-card{align-items:center;gap:16px;animation:.6s ease-out ds-weather-fadein;display:flex}.ds-weather-icon{filter:drop-shadow(0 0 30px #00dcff66);font-size:56px;line-height:1}.ds-weather-info{flex-direction:column;gap:2px;display:flex}.ds-weather-city{color:#e0f0ff;letter-spacing:2px;font-size:18px;font-weight:700}.ds-weather-temp{color:#fff;text-shadow:0 0 40px #00dcff80;font-size:32px;font-weight:800;line-height:1.1}.ds-weather-desc{color:#7ab0d0;font-size:13px}.ds-weather-solar{color:#facc15;font-size:11px}.ds-weather-dots{justify-content:center;gap:6px;padding:6px 0 2px;display:flex}.ds-weather-dot{cursor:pointer;background:#0064a033;border-radius:50%;width:6px;height:6px;transition:all .3s}.ds-weather-dot.active{background:#00d4ff;border-radius:3px;width:18px;box-shadow:0 0 12px #00d4ffb3}@keyframes ds-weather-fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ds-footer{z-index:10;background:#000208f2;border-top:1px solid #00b4f033;height:42px;min-height:42px;display:flex;overflow:hidden}.ds-marquee{flex:1;position:relative;overflow:hidden}.ds-marquee-track{align-items:center;gap:0;height:100%;animation:25s linear infinite ds-marquee-scroll;display:flex}.ds-marquee-track:hover{animation-play-state:paused}@keyframes ds-marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ds-marquee-item{color:#d8e8f0;white-space:nowrap;border-right:1px solid #00b4f014;flex-shrink:0;padding:0 16px;font-size:13px}.ds-back{color:#4a7a9a;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;margin-right:8px;padding:5px 14px;font-family:inherit;font-size:14px;transition:all .25s}.ds-back:hover{color:#8cd4f0;background:#00a0dc1a;border-color:#00a0dc33}@media (width<=1400px){.ds-big-num{font-size:28px}}@media (width<=1100px){.ds-main{flex-direction:column}.ds-left-col,.ds-right-col{flex-direction:row;flex:none;gap:8px;width:100%}.ds-left-col .ds-panel,.ds-right-col .ds-panel{flex:1}}body:has(.ds-screen){background:#020610;width:100vw;height:100vh;margin:0;padding:0;overflow:hidden}body:has(.ds-screen) #root{width:100vw;height:100vh;overflow:hidden}.so-chart-panel{flex-direction:column;flex:1;min-height:0;display:flex}.so-chart-panel .ds-panel-title{flex-shrink:0}.so-rev-frame{margin-bottom:2px}.ds-screen{width:100vw;height:100vh}.so-station-list{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.so-sl-table{flex-direction:column;flex:1;min-height:0;margin-top:4px;display:flex}.so-sl-header{color:#ffffff59;border-bottom:1px solid #ffffff0f;flex-shrink:0;grid-template-columns:32px 1fr 30px 56px 70px 76px 76px 76px 70px;gap:4px;padding:6px 10px;font-size:11px;display:grid}.so-sl-body{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;flex:1;overflow-y:auto}.so-sl-body::-webkit-scrollbar{width:3px}.so-sl-body::-webkit-scrollbar-track{background:0 0}.so-sl-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.so-sl-row{color:#ffffffbf;cursor:pointer;border-radius:4px;grid-template-columns:32px 1fr 30px 56px 70px 76px 76px 76px 70px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;transition:background .15s;display:grid}.so-sl-c0{color:#ffffff4d;text-align:center;font-size:11px}.so-sl-c6{text-align:center;font-size:14px}.so-sl-c1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.so-sl-c2{text-align:center;font-size:11px}.so-sl-c3,.so-sl-c4,.so-sl-c5,.so-sl-c7,.so-sl-c8{text-align:right;font-variant-numeric:tabular-nums}.so-back-btn{color:#ffffff59;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;transition:all .2s;display:flex}.so-back-btn:hover{color:#ffffffbf;background:#ffffff0f;transform:scale(1.15)}body:has(.mv-root){background:#000;margin:0;padding:0}body:has(.mv-root) #root{background:#000;min-height:100dvh}.mv-root{color:#fff;max-width:480px;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);background:#000;flex-direction:column;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;display:flex}.mv-hd{z-index:10;background:#000;justify-content:space-between;align-items:center;padding:48px 24px 16px;display:flex;position:sticky;top:0}.mv-brand{color:#fff;letter-spacing:2px;font-size:32px;font-weight:700}.mv-time{color:#666;font-variant-numeric:tabular-nums;font-size:15px}.mv-body{-webkit-overflow-scrolling:touch;flex:1;padding:0 24px 24px;overflow-y:auto}.mv-hero{text-align:center;padding:8px 0 28px}.mv-hero-num{color:#fff;letter-spacing:-4px;font-size:88px;font-weight:700;line-height:1}.mv-hero-unit{color:#888;margin-top:2px;font-size:22px;font-weight:300}.mv-hero-sub{color:#555;margin-top:12px;font-size:14px}.mv-2col{gap:12px;margin-bottom:20px;display:flex}.mv-badge{text-align:center;background:#111;border-radius:16px;flex:1;padding:18px 16px}.mv-badge-num{font-size:28px;font-weight:700;line-height:1.2}.mv-badge-sub{color:#555;margin-top:6px;font-size:13px}.mv-badge-sub small{color:#444;font-size:12px}.mv-summary{text-align:center;color:#444;padding:8px 0 20px;font-size:13px}.mv-alert{color:#f87171;cursor:pointer;background:#ef44441f;border-radius:14px;justify-content:space-between;align-items:center;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.mv-row{cursor:pointer;-webkit-tap-highlight-color:transparent;border-bottom:1px solid #1a1a1a;align-items:center;gap:12px;padding:14px 0;display:flex}.mv-row:active{background:#ffffff05}.mv-row-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.mv-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mv-row-text{flex-direction:column;min-width:0;display:flex}.mv-row-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.mv-row-sub{color:#555;margin-top:2px;font-size:12px}.mv-row-pwr{color:#333;flex-shrink:0;font-size:15px;font-weight:600}.mv-tab{padding:10px 0 calc(10px + env(safe-area-inset-bottom));z-index:10;background:#000;border-top:1px solid #1a1a1a;justify-content:space-around;align-items:center;display:flex;position:sticky;bottom:0}.mv-tab-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:4px 20px;font-family:inherit;display:flex}.mv-tab-icon{filter:grayscale();opacity:.35;font-size:24px;line-height:1}.mv-tab-label{color:#555;font-size:10px;font-weight:500}.mv-tab-btn.on .mv-tab-icon{filter:grayscale(0);opacity:1}.mv-tab-btn.on .mv-tab-label{color:#fff;font-weight:600}.mv-icp{text-align:center;padding:8px 0 16px;font-size:10px}.mv-icp a{color:#333;text-decoration:none}.mv-stcard{cursor:pointer;-webkit-tap-highlight-color:transparent;border-bottom:1px solid #1a1a1a;padding:12px 0}.mv-stcard:active{background:#ffffff05}.mv-stcard-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;padding-bottom:6px;font-size:14px;font-weight:500;display:flex;overflow:hidden}.mv-stcard-vals{font-variant-numeric:tabular-nums;gap:28px;font-size:13px;font-weight:600;display:flex}body:has(.showcase-screen){background:#edf4fb;width:100vw;height:100vh;overflow:hidden}body:has(.showcase-screen) #root{width:100vw;height:100vh;overflow:hidden}.showcase-screen{--showcase-ink:#1f3551;--showcase-muted:#71869f;--showcase-line:#dbe6f2;width:100vw;height:100vh;color:var(--showcase-ink);background:radial-gradient(circle at 54% -20%,#60a5fa33,#0000 37%),linear-gradient(145deg,#f8fbff 0%,#eef5fc 48%,#e7f0fa 100%);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;display:flex;position:relative;overflow:hidden}.showcase-screen:before{content:"";pointer-events:none;opacity:.52;background-image:linear-gradient(#698bb50f 1px,#0000 1px),linear-gradient(90deg,#698bb50f 1px,#0000 1px);background-size:46px 46px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}.showcase-header,.showcase-main,.showcase-footer{z-index:1;position:relative}.showcase-header{background:#ffffffbd;border-bottom:1px solid #98b2d075;justify-content:space-between;align-items:center;height:78px;min-height:78px;padding:0 28px;display:flex;box-shadow:0 3px 18px #3156840f}.showcase-brand,.showcase-header-meta,.showcase-live,.showcase-weather,.showcase-health-summary,.showcase-health-metrics,.showcase-map-summary,.showcase-platform-legend,.showcase-platform>div:first-child,.showcase-platform>div:first-child>span{align-items:center;display:flex}.showcase-brand{gap:11px}.showcase-back{color:#4d6988;cursor:pointer;background:#fff;border:1px solid #d4e1ef;border-radius:9px;place-items:center;width:34px;height:34px;padding:0;font-size:20px;transition:all .16s;display:grid}.showcase-back:hover{color:#1262b8;border-color:#77a6dd;transform:translate(-1px);box-shadow:0 4px 12px #2e6aaf26}.showcase-sun{color:#fff;background:linear-gradient(135deg,#ffd75c,#f59e0b);border-radius:11px;place-items:center;width:36px;height:36px;font-size:22px;display:grid;box-shadow:0 6px 14px #f59e0b38}.showcase-brand p,.showcase-brand h1{margin:0}.showcase-brand p{color:#7590af;letter-spacing:1.7px;font-size:9px;font-weight:750}.showcase-brand h1{color:#183452;letter-spacing:1px;margin-top:2px;font-size:20px;line-height:1.1}.showcase-header-meta{color:#6c829c;font-variant-numeric:tabular-nums;gap:15px;font-size:12px}.showcase-live{color:#17714c;gap:6px;font-size:11px;font-weight:700}.showcase-live i{background:#22c55e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #22c55e1f}.showcase-main{flex-direction:column;flex:1;gap:12px;min-height:0;padding:13px 20px 12px;display:flex}.showcase-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.showcase-kpi,.showcase-panel{background:#ffffffdb;border:1px solid #bccfe5d1;box-shadow:0 8px 28px #32568213,inset 0 1px #ffffffe0}.showcase-kpi{border-radius:13px;min-height:108px;padding:15px 17px 13px;position:relative;overflow:hidden}.showcase-kpi:after{content:"";border:1px solid #6790c11f;border-radius:50%;width:112px;height:112px;position:absolute;top:-48px;right:-35px;box-shadow:0 0 0 17px #6790c109,0 0 0 34px #6790c105}.showcase-kpi>span{color:#6d829d;font-size:12px;font-weight:650;display:block}.showcase-kpi>strong{color:#173655;font-variant-numeric:tabular-nums;letter-spacing:-.8px;margin:7px 0;font-size:clamp(23px,2vw,31px);line-height:1;display:block}.showcase-kpi>strong em{color:#8396aa;letter-spacing:0;margin-left:4px;font-size:12px;font-style:normal;font-weight:650}.showcase-kpi>small{color:#8ba0b7;font-size:10px;display:block}.showcase-kpi.power{border-color:#16a34a47}.showcase-kpi.power>strong{color:#168049}.showcase-kpi.energy{border-color:#2575d942}.showcase-kpi.energy>strong{color:#1e6dca}.showcase-kpi.station{border-color:#7c3aed3b}.showcase-kpi.station>strong{color:#7043bf}.showcase-kpi.alarm.warning{border-color:#ef44444d}.showcase-kpi.alarm.warning>strong{color:#d63e50}.showcase-kpi>i{background:linear-gradient(90deg,#22b66a,#8be2ae);border-radius:99px;height:3px;position:absolute;bottom:13px;left:15px;right:15px}.showcase-grid{flex:1;grid-template-columns:minmax(245px,.9fr) minmax(440px,1.62fr) minmax(245px,.9fr);gap:12px;min-height:0;display:grid}.showcase-column{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex}.showcase-panel{border-radius:13px;min-width:0;overflow:hidden}.showcase-panel-head{border-bottom:1px solid #e6eef7;justify-content:space-between;align-items:flex-start;gap:8px;padding:13px 15px 11px;display:flex}.showcase-panel-head>div>span{color:#8095ad;letter-spacing:1.35px;margin-bottom:2px;font-size:8px;font-weight:750;display:block}.showcase-panel-head h2{color:#26425f;margin:0;font-size:14px;font-weight:750;line-height:1.15}.showcase-badge{color:#6e88a4;white-space:nowrap;background:#edf3fa;border-radius:99px;align-items:center;padding:4px 7px;font-size:10px;font-weight:700;display:inline-flex}.showcase-badge.good{color:#19814c;background:#22c55e1a}.showcase-badge.urgent{color:#cf4051;background:#ef44441a}.showcase-map-tip,.showcase-legend{color:#8aa0b7;white-space:nowrap;font-size:9px}.showcase-legend{align-items:center;gap:4px;display:inline-flex}.showcase-legend i{background:#1d74d9;width:14px;height:2px}.showcase-health-panel{flex:0 0 202px}.showcase-health-summary{gap:13px;padding:14px 15px 11px}.showcase-rate-ring{background:conic-gradient(#2dbf79 var(--rate), #e2ebf4 0);border-radius:50%;flex:0 0 67px;place-items:center;width:67px;height:67px;display:grid;position:relative}.showcase-rate-ring:before{content:"";border-radius:inherit;background:#fff;position:absolute;inset:6px}.showcase-rate-ring strong{color:#237e51;font-size:16px;position:relative}.showcase-rate-ring small{color:#6c9d84;margin-left:1px;font-size:9px}.showcase-health-summary>div:last-child>strong{color:#2b4764;font-variant-numeric:tabular-nums;font-size:21px}.showcase-health-summary>div:last-child>strong small{color:#90a2b5;font-size:11px}.showcase-health-summary p{color:#8499af;margin:4px 0 0;font-size:10px}.showcase-health-metrics{border-top:1px solid #e9f0f7;justify-content:space-between;gap:6px;margin:0 15px;padding:9px 0}.showcase-health-metrics span{color:#8a9eb3;text-align:center;min-width:0;font-size:9px}.showcase-health-metrics strong{color:#3b5876;font-variant-numeric:tabular-nums;margin-top:3px;font-size:14px;display:block}.showcase-health-metrics strong.danger{color:#d84a59}.showcase-trend-panel{flex-direction:column;flex:1;min-height:0;display:flex}.showcase-trend-panel>div:last-child{flex:1;min-height:0}.showcase-empty{color:#91a4b9;text-align:center;flex:1;place-items:center;min-height:100px;padding:14px;font-size:11px;display:grid}.showcase-map-panel{flex-direction:column;min-height:0;display:flex;position:relative}.showcase-map-summary{color:#7e94ac;border-bottom:1px solid #edf2f8;gap:10px;padding:9px 15px;font-size:10px}.showcase-map-summary span{border-right:1px solid #e2ebf4;padding-right:10px}.showcase-map-summary span:last-child{border-right:0;padding-right:0}.showcase-map-summary b{color:#326ba3;font-variant-numeric:tabular-nums;margin-right:3px;font-size:13px}.showcase-map-summary span.needs-location b{color:#c77820}.showcase-map{background:radial-gradient(circle,#fff 0%,#f6faff 68%,#edf5fc 100%);flex:1;min-height:0;padding:2px 8px;position:relative}.showcase-map-no-points{color:#7c91a9;text-align:center;pointer-events:none;background:#ffffffe0;border:1px solid #d8e5f2;border-radius:10px;gap:5px;width:min(250px,100% - 32px);padding:12px 16px;font-size:10px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #395a7e1a}.showcase-map-no-points strong{color:#385a7b;font-size:12px}.showcase-map-cluster-card{z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #d6e4f2;border-radius:10px;width:min(255px,100% - 24px);position:absolute;top:12px;right:12px;overflow:hidden;box-shadow:0 12px 32px #25487029}.showcase-map-cluster-head{border-bottom:1px solid #e8eff7;justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 11px 8px;display:flex}.showcase-map-cluster-head span{color:#8095ad;letter-spacing:1.25px;margin-bottom:2px;font-size:7px;font-weight:800;display:block}.showcase-map-cluster-head strong{color:#355674;font-size:12px}.showcase-map-cluster-head strong em{color:#8aa0b7;margin-left:3px;font-size:10px;font-style:normal;font-weight:650}.showcase-map-cluster-head button{color:#7189a2;cursor:pointer;background:#edf3fa;border:0;border-radius:6px;place-items:center;width:22px;height:22px;padding:0;font-size:17px;line-height:1;display:grid}.showcase-map-cluster-head button:hover{color:#356d9e;background:#e1edf8}.showcase-map-cluster-list{max-height:154px;padding:5px;overflow-y:auto}.showcase-map-cluster-list button{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px;display:grid}.showcase-map-cluster-list button:hover{background:#f0f7ff}.showcase-map-cluster-list i{border-radius:50%;width:7px;height:7px}.showcase-map-cluster-list span{min-width:0}.showcase-map-cluster-list strong,.showcase-map-cluster-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.showcase-map-cluster-list strong{color:#385a78;font-size:10px}.showcase-map-cluster-list small{color:#8a9db1;margin-top:2px;font-size:8px}.showcase-map-cluster-list em{color:#2d7e51;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px;font-style:normal}.main-1080>.station-ops-page{color:#253d59;background:linear-gradient(145deg,#f6f9fd,#edf4fb);min-height:100%}.station-ops-page{max-width:1500px;margin:0 auto}.main-1080 .station-ops-page h1{color:#203d5c!important}.main-1080 .station-ops-page h2{color:#2a4968!important}.main-1080 .station-ops-page th{color:#8196ad!important}.main-1080 .station-ops-page td{color:#536e89!important}.station-ops-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.station-ops-header>div>span,.station-ops-card-head>div>span{color:#7d94af;letter-spacing:1.55px;margin-bottom:3px;font-size:9px;font-weight:800;display:block}.station-ops-header h1{color:#203d5c;letter-spacing:.2px;margin:0;font-size:26px;line-height:1.2}.station-ops-header p{color:#7d91a8;margin:5px 0 0;font-size:13px}.station-ops-map-link{color:#437bb1;white-space:nowrap;background:#ffffffd6;border:1px solid #cbddf0;border-radius:9px;align-items:center;gap:7px;padding:10px 12px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 4px 14px #385d8812}.station-ops-map-link:hover{color:#1f68af;background:#fff;border-color:#83afe1}.station-ops-map-link i{color:#d49128;font-size:17px;font-style:normal}.station-ops-map-link b{font-size:15px}.station-ops-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.station-ops-metric{background:#ffffffe6;border:1px solid #d9e6f3;border-radius:12px;align-items:center;gap:12px;min-height:112px;padding:15px;display:flex;box-shadow:0 7px 24px #32547c11}.station-ops-metric-icon{border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:22px;font-weight:800;display:grid}.station-ops-metric>div:last-child{min-width:0}.station-ops-metric span{color:#7890aa;font-size:11px;font-weight:700;display:block}.station-ops-metric strong{color:#284767;font-variant-numeric:tabular-nums;margin:2px 0 3px;font-size:25px;line-height:1.15;display:block}.station-ops-metric strong em{color:#8ca0b4;margin-left:4px;font-size:11px;font-style:normal;font-weight:700}.station-ops-metric small{color:#8ba0b5;text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.station-ops-metric.blue .station-ops-metric-icon{color:#2770cf;background:#e8f1ff}.station-ops-metric.green .station-ops-metric-icon{color:#1f9b5a;background:#e6f8ee}.station-ops-metric.violet .station-ops-metric-icon{color:#7550bf;background:#f0ebff}.station-ops-metric.amber{border-color:#efd7aa}.station-ops-metric.amber .station-ops-metric-icon{color:#c8871e;background:#fff5df}.station-ops-metric.amber strong{color:#bf7b18}.station-ops-toolbar{background:#ffffffc2;border:1px solid #d7e4f1;border-radius:11px;align-items:center;gap:8px;margin-bottom:14px;padding:10px;display:flex;box-shadow:0 4px 16px #35577e0a}.station-ops-search{color:#7790aa;background:#fff;border:1px solid #d6e3f0;border-radius:7px;align-items:center;gap:7px;min-width:235px;padding:0 10px;display:flex}.station-ops-search span{font-size:17px}.station-ops-search input{outline:0;width:100%;height:34px;font-size:12px;color:#365370!important;background:0 0!important;border:0!important}.station-ops-toolbar select{color:#607a96;background:#fff;border:1px solid #d6e3f0;border-radius:7px;outline:0;height:34px;padding:0 28px 0 9px;font-size:12px}.station-ops-view-toggle{background:#eaf1f8;border-radius:7px;gap:2px;margin-left:auto;padding:3px;display:inline-flex}.station-ops-view-toggle button{color:#778da5;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:4px 9px;font-size:11px}.station-ops-view-toggle button.active{color:#316da8;background:#fff;box-shadow:0 1px 4px #40638924}.station-ops-workspace{grid-template-columns:minmax(0,1fr) 290px;gap:14px;display:grid}.station-ops-list-card,.station-ops-location-card{background:#ffffffe8;border:1px solid #d7e4f0;border-radius:12px;overflow:hidden;box-shadow:0 8px 26px #34567c0f}.station-ops-card-head{border-bottom:1px solid #e6eef6;justify-content:space-between;align-items:flex-start;gap:8px;padding:14px 15px 12px;display:flex}.station-ops-card-head h2{color:#2a4968;margin:0;font-size:15px;line-height:1.2}.station-ops-card-head p,.station-ops-card-head>a{color:#8499af;margin:6px 0 0;font-size:10px;text-decoration:none}.station-ops-card-head>a{color:#4a81b7;font-weight:700}.station-ops-table-wrap{overflow-x:auto}.station-ops-table{border-collapse:collapse;width:100%;font-size:12px}.station-ops-table th{color:#8196ad;letter-spacing:.55px;text-align:left;white-space:nowrap;border-bottom:1px solid #e4edf5;padding:10px 14px;font-size:10px;font-weight:800}.station-ops-table td{color:#536e89;white-space:nowrap;border-bottom:1px solid #edf2f7;padding:12px 14px}.station-ops-table tbody tr{cursor:pointer;transition:background .15s}.station-ops-table tbody tr:hover{background:#f5f9fd}.station-ops-table tbody tr:hover td{background:0 0!important}.station-ops-table td>a{color:#407db5;font-size:11px;font-weight:750;text-decoration:none}.station-ops-table td>a b{margin-left:3px;font-size:14px}.station-ops-name{align-items:center;gap:8px;min-width:185px;display:flex}.station-ops-name>i{border-radius:50%;width:7px;height:7px}.station-ops-name div{min-width:0}.station-ops-name strong,.station-ops-name small{text-overflow:ellipsis;white-space:nowrap;max-width:190px;display:block;overflow:hidden}.station-ops-name strong{color:#385775;font-size:12px}.station-ops-name small{color:#92a5b8;margin-top:2px;font-size:10px}.station-ops-state{border-radius:99px;align-items:center;gap:5px;padding:3px 7px;font-size:10px;font-weight:750;display:inline-flex}.station-ops-state i{background:currentColor;border-radius:50%;width:6px;height:6px}.station-ops-state.generating{color:#1c9656;background:#e8f8ef}.station-ops-state.standby{color:#567b9f;background:#eef4fb}.station-ops-state.offline{color:#8493a3;background:#f3f5f7}.station-ops-power{color:#237c54;font-variant-numeric:tabular-nums}.station-ops-location{border-radius:5px;padding:3px 7px;font-size:10px;font-weight:750;display:inline-flex}.station-ops-location.located{color:#288651;background:#eaf7ef}.station-ops-location.unlocated{color:#bd7e19;background:#fff4df}.station-ops-cards{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:10px;padding:12px;display:grid}.station-ops-station-card{color:inherit;background:#fff;border:1px solid #e0eaf3;border-radius:9px;padding:12px;text-decoration:none;transition:all .15s;display:block}.station-ops-station-card:hover{border-color:#a6c5e5;transform:translateY(-1px);box-shadow:0 6px 16px #36618d1a}.station-ops-station-card>div{justify-content:space-between;gap:5px;display:flex}.station-ops-station-card>strong{color:#365674;text-overflow:ellipsis;white-space:nowrap;margin-top:10px;font-size:13px;display:block;overflow:hidden}.station-ops-station-card>small{color:#8da0b2;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;display:block;overflow:hidden}.station-ops-station-card section{border-top:1px solid #edf2f7;border-bottom:1px solid #edf2f7;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0;padding:10px 0;display:grid}.station-ops-station-card section span{color:#8398ad;font-size:9px}.station-ops-station-card section b{color:#3f607d;margin-top:2px;font-size:11px;display:block}.station-ops-station-card footer{color:#718aa4;align-items:center;gap:5px;font-size:10px;display:flex}.station-ops-station-card footer i{border-radius:50%;width:7px;height:7px}.station-ops-station-card footer em{color:#5487b6;margin-left:auto;font-size:10px;font-style:normal}.station-ops-location-card{align-self:start}.station-ops-coverage{border-bottom:1px solid #e9f0f7;align-items:center;gap:12px;padding:15px;display:flex}.station-ops-coverage>div{background:conic-gradient(#368bca var(--coverage), #e5edf5 0);border-radius:50%;flex:0 0 73px;place-items:center;width:73px;height:73px;display:grid;position:relative}.station-ops-coverage>div:before{content:"";border-radius:inherit;background:#fff;position:absolute;inset:6px}.station-ops-coverage>div strong{color:#2b618e;font-size:17px;position:relative}.station-ops-coverage>div small{color:#7595b2;margin-left:1px;font-size:9px}.station-ops-coverage section strong{color:#375876;font-variant-numeric:tabular-nums;font-size:20px;display:block}.station-ops-coverage section strong small{color:#91a4b7;font-size:11px}.station-ops-coverage section span{color:#8297ad;margin-top:2px;font-size:10px;display:block}.station-ops-area-list{border-bottom:1px solid #e9f0f7;padding:12px 15px}.station-ops-area-list>p{color:#8297ad;margin:0 0 7px;font-size:10px;font-weight:750}.station-ops-area-list>div{color:#5d7894;justify-content:space-between;padding:5px 0;font-size:11px;display:flex}.station-ops-area-list>div strong{color:#3a6185;font-size:10px}.station-ops-area-list>small{color:#96a7b8;font-size:10px}.station-ops-pending{padding:12px 15px}.station-ops-pending>div{color:#bd7e19;justify-content:space-between;margin-bottom:6px;font-size:11px;font-weight:750;display:flex}.station-ops-pending>div strong{font-size:12px}.station-ops-pending>a{color:#62809b;align-items:center;gap:6px;padding:6px 0;font-size:10px;text-decoration:none;display:flex}.station-ops-pending>a:hover{color:#2d6fa9}.station-ops-pending>a i{background:#e0a445;border-radius:50%;width:6px;height:6px}.station-ops-pending>a span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.station-ops-pending>a b{margin-left:auto;font-size:13px}.station-ops-pending>p{color:#6e9e83;font-size:10px}.station-ops-empty,.station-ops-notice{color:#8fa3b6;text-align:center;padding:42px 16px;font-size:12px}.station-ops-notice{color:#b5751d;background:#fff8e8;padding:12px}.station-ops-loading{color:#7890aa;place-items:center;font-size:13px;display:grid}@media (width<=1120px){.station-ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.station-ops-workspace{grid-template-columns:1fr}.station-ops-location-card{grid-template-columns:1fr 1fr 1fr;display:grid}.station-ops-location-card .station-ops-card-head{grid-column:1/-1}.station-ops-coverage,.station-ops-area-list,.station-ops-pending{border-bottom:0}.station-ops-area-list{border-left:1px solid #e9f0f7;border-right:1px solid #e9f0f7}}@media (width<=720px){.station-ops-header{flex-direction:column;align-items:flex-start}.station-ops-metrics{grid-template-columns:1fr}.station-ops-toolbar{flex-wrap:wrap;align-items:stretch}.station-ops-search{width:100%}.station-ops-toolbar select{flex:1;min-width:135px}.station-ops-view-toggle{margin-left:0}.station-ops-location-card{display:block}.station-ops-area-list{border:1px solid #e9f0f7;border-left:0;border-right:0}.station-ops-table th:nth-child(4),.station-ops-table td:nth-child(4),.station-ops-table th:nth-child(5),.station-ops-table td:nth-child(5){display:none}}.main-1080>.alarm-ops-page{color:#253d59;background:linear-gradient(145deg,#f6f9fd,#edf4fb);min-height:100%}.alarm-ops-page{max-width:1500px;margin:0 auto}.main-1080 .alarm-ops-page h1{color:#203d5c!important}.main-1080 .alarm-ops-page h2{color:#2a4968!important}.alarm-ops-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.alarm-ops-header>div>span,.alarm-ops-card-head>div>span{color:#7d94af;letter-spacing:1.55px;margin-bottom:3px;font-size:9px;font-weight:800;display:block}.alarm-ops-header h1{letter-spacing:.2px;margin:0;font-size:26px;line-height:1.2}.alarm-ops-header p{color:#7d91a8;margin:5px 0 0;font-size:13px}.alarm-ops-clear{color:#457da9;cursor:pointer;white-space:nowrap;background:#ffffffd6;border:1px solid #d7e4f0;border-radius:9px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:750;display:inline-flex;box-shadow:0 4px 14px #385d8812}.alarm-ops-clear:hover{color:#286ca8;background:#fff;border-color:#8eb4da}.alarm-ops-clear b{font-size:15px}.alarm-ops-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.alarm-ops-metric{background:#ffffffe6;border:1px solid #d9e6f3;border-radius:12px;align-items:center;gap:12px;min-height:112px;padding:15px;display:flex;box-shadow:0 7px 24px #32547c11}.alarm-ops-metric>i{border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:20px;font-style:normal;font-weight:850;display:grid}.alarm-ops-metric>div{min-width:0}.alarm-ops-metric span,.alarm-ops-metric small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.alarm-ops-metric span{color:#7890aa;font-size:11px;font-weight:700}.alarm-ops-metric strong{color:#284767;font-variant-numeric:tabular-nums;margin:2px 0 3px;font-size:25px;line-height:1.15;display:block}.alarm-ops-metric small{color:#8ba0b5;font-size:10px}.alarm-ops-metric.blue>i{color:#2770cf;background:#e8f1ff}.alarm-ops-metric.red{border-color:#f0d3d8}.alarm-ops-metric.red>i{color:#ce4658;background:#fff0f2}.alarm-ops-metric.red strong{color:#bf4052}.alarm-ops-metric.amber{border-color:#efd7aa}.alarm-ops-metric.amber>i{color:#c8871e;background:#fff5df}.alarm-ops-metric.amber strong{color:#bf7b18}.alarm-ops-metric.violet>i{color:#7550bf;background:#f0ebff}.alarm-ops-toolbar{background:#ffffffc2;border:1px solid #d7e4f1;border-radius:11px;align-items:center;gap:8px;margin-bottom:14px;padding:10px;display:flex;box-shadow:0 4px 16px #35577e0a}.alarm-ops-search{color:#7790aa;background:#fff;border:1px solid #d6e3f0;border-radius:7px;align-items:center;gap:7px;min-width:255px;padding:0 10px;display:flex}.alarm-ops-search span{font-size:17px}.alarm-ops-search input{outline:0;width:100%;height:34px;font-size:12px;color:#365370!important;background:0 0!important;border:0!important}.alarm-ops-toolbar select{color:#607a96;background:#fff;border:1px solid #d6e3f0;border-radius:7px;outline:0;height:34px;padding:0 28px 0 9px;font-size:12px}.alarm-ops-range{background:#eaf1f8;border-radius:7px;gap:2px;margin-left:auto;padding:3px;display:inline-flex}.alarm-ops-range button{color:#778da5;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:4px 8px;font-size:10px}.alarm-ops-range button.active{color:#316da8;background:#fff;box-shadow:0 1px 4px #40638924}.alarm-ops-workspace{grid-template-columns:minmax(0,1fr) 290px;gap:14px;display:grid}.alarm-ops-list-card,.alarm-ops-side-card{background:#ffffffe8;border:1px solid #d7e4f0;border-radius:12px;overflow:hidden;box-shadow:0 8px 26px #34567c0f}.alarm-ops-card-head{border-bottom:1px solid #e6eef6;justify-content:space-between;align-items:flex-start;gap:8px;padding:14px 15px 12px;display:flex}.alarm-ops-card-head h2{margin:0;font-size:15px;line-height:1.2}.alarm-ops-card-head p{color:#8499af;margin:6px 0 0;font-size:10px}.alarm-ops-list{min-height:385px}.alarm-ops-row{border-bottom:1px solid #edf2f7;grid-template-columns:auto minmax(180px,1fr) minmax(125px,.5fr) 100px;align-items:center;gap:12px;padding:12px 14px;transition:background .15s;display:grid}.alarm-ops-row:last-child{border-bottom:0}.alarm-ops-row:hover{background:#f7fafe}.alarm-ops-level{color:#748a9f;background:#edf3f8;border-radius:8px;place-items:center;width:28px;height:28px;font-size:15px;font-style:normal;font-weight:850;display:grid}.alarm-ops-row.warning .alarm-ops-level{color:#bf7e16;background:#fff4df}.alarm-ops-row.critical .alarm-ops-level{color:#d34a5b;background:#fff0f1}.alarm-ops-row section{min-width:0}.alarm-ops-row-title{align-items:center;gap:6px;min-width:0;display:flex}.alarm-ops-row-title>span{color:#72879d;background:#edf3f8;border-radius:4px;flex:none;padding:2px 5px;font-size:9px;font-weight:750}.alarm-ops-row.warning .alarm-ops-row-title>span{color:#bd7e1a;background:#fff5e3}.alarm-ops-row.critical .alarm-ops-row-title>span{color:#c54b5c;background:#fff0f1}.alarm-ops-row-title strong{color:#405f7b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.alarm-ops-row p{color:#91a3b6;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:10px;overflow:hidden}.alarm-ops-row p em{color:#c4d0db;padding:0 5px;font-style:normal}.alarm-ops-station{min-width:0}.alarm-ops-station>span,.alarm-ops-row time span{color:#93a5b6;margin-bottom:3px;font-size:9px;display:block}.alarm-ops-station a,.alarm-ops-station strong{color:#4a7faf;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:750;text-decoration:none;display:block;overflow:hidden}.alarm-ops-station a:hover{color:#286ea9}.alarm-ops-station b{margin-left:2px;font-size:13px}.alarm-ops-row time{text-align:right}.alarm-ops-row time strong{color:#68829b;white-space:nowrap;font-size:10px;font-weight:750;display:block}.alarm-ops-row time span{white-space:nowrap;margin:3px 0 0}.alarm-ops-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:385px;padding:28px;display:flex}.alarm-ops-empty>i{color:#239354;background:#f0fbf4;border:1px solid #9bdcba;border-radius:50%;place-items:center;width:42px;height:42px;margin-bottom:10px;font-size:21px;font-style:normal;display:grid}.alarm-ops-empty strong{color:#397355;font-size:14px}.alarm-ops-empty span{color:#8ea3b4;max-width:310px;margin-top:5px;font-size:11px;line-height:1.65}.alarm-ops-empty button{color:#527ca2;cursor:pointer;background:#fff;border:1px solid #d5e4f1;border-radius:6px;margin-top:13px;padding:6px 9px;font-size:10px;font-weight:700}.alarm-ops-empty button:hover{color:#2870ad;border-color:#9bbfe0}.alarm-ops-notice{color:#b5751d;text-align:center;background:#fff8e8;padding:11px 14px;font-size:11px}.alarm-ops-priority-list{border-bottom:1px solid #e9f0f7;padding:8px 10px}.alarm-ops-priority-list button{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 6px;display:grid}.alarm-ops-priority-list button:hover{background:#f4f8fc}.alarm-ops-priority-list i{color:#71889f;background:#edf3f8;border-radius:7px;place-items:center;width:23px;height:23px;font-size:12px;font-style:normal;font-weight:850;display:grid}.alarm-ops-priority-list button.warning i{color:#bd7e17;background:#fff4df}.alarm-ops-priority-list button.critical i{color:#cf4759;background:#fff0f1}.alarm-ops-priority-list span{min-width:0}.alarm-ops-priority-list strong,.alarm-ops-priority-list small{display:block}.alarm-ops-priority-list strong{color:#4c6983;font-size:11px}.alarm-ops-priority-list small{color:#91a3b4;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9px;overflow:hidden}.alarm-ops-priority-list b{color:#52728f;font-variant-numeric:tabular-nums;font-size:15px}.alarm-ops-priority-list button.critical b{color:#c54658}.alarm-ops-priority-list button.warning b{color:#be7d19}.alarm-ops-process{border-bottom:1px solid #e9f0f7;padding:12px 15px}.alarm-ops-process>span{color:#8196ad;margin-bottom:7px;font-size:10px;font-weight:750;display:block}.alarm-ops-process>div{align-items:flex-start;gap:8px;padding:6px 0;display:flex}.alarm-ops-process i{color:#477aa8;background:#eaf2fa;border-radius:50%;flex:0 0 18px;place-items:center;width:18px;height:18px;font-size:9px;font-style:normal;font-weight:850;display:grid}.alarm-ops-process p{margin:0}.alarm-ops-process strong,.alarm-ops-process small{display:block}.alarm-ops-process strong{color:#54718a;font-size:10px}.alarm-ops-process small{color:#95a6b7;margin-top:1px;font-size:9px}.alarm-ops-footnote{color:#8ca0b2;gap:6px;padding:12px 15px;font-size:9px;line-height:1.55;display:flex}.alarm-ops-footnote i{color:#6e98bf;font-size:12px;font-style:normal}.alarm-ops-loading{color:#7e95ac;place-items:center;min-height:100%;font-size:13px;display:grid}.alarm-ops-modal-overlay{z-index:999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#152a406b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.alarm-ops-modal{background:#fff;border:1px solid #d8e5f1;border-radius:13px;grid-template-columns:auto minmax(0,1fr);gap:12px;width:min(440px,100%);padding:20px;display:grid;box-shadow:0 22px 60px #203c5938}.alarm-ops-modal>i{color:#248d53;background:#eaf7ef;border-radius:11px;place-items:center;width:33px;height:33px;font-size:17px;font-style:normal;display:grid}.alarm-ops-modal span{color:#8095ad;letter-spacing:1.2px;font-size:8px;font-weight:800;display:block}.alarm-ops-modal h2{color:#2c4b68;margin:3px 0 5px;font-size:17px}.alarm-ops-modal p{color:#748ba2;margin:0;font-size:12px;line-height:1.6}.alarm-ops-modal p strong{color:#3c678c}.alarm-ops-modal footer{grid-column:1/-1;justify-content:flex-end;gap:7px;padding-top:4px;display:flex}.alarm-ops-modal button{color:#71879d;cursor:pointer;background:#fff;border:1px solid #d4e1ed;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:700}.alarm-ops-modal button.confirm{color:#fff;background:#397fb8;border-color:#397fb8}.alarm-ops-modal button:disabled{opacity:.55;cursor:default}@media (width<=1120px){.alarm-ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.alarm-ops-workspace{grid-template-columns:1fr}.alarm-ops-side-card{grid-template-columns:1fr 1fr 1fr;display:grid}.alarm-ops-side-card .alarm-ops-card-head{grid-column:1/-1}.alarm-ops-priority-list,.alarm-ops-process{border-bottom:0}.alarm-ops-process{border-left:1px solid #e9f0f7;border-right:1px solid #e9f0f7}}@media (width<=720px){.alarm-ops-header{flex-direction:column;align-items:flex-start}.alarm-ops-metrics{grid-template-columns:1fr}.alarm-ops-toolbar{flex-wrap:wrap;align-items:stretch}.alarm-ops-search{width:100%}.alarm-ops-toolbar select{flex:1;min-width:135px}.alarm-ops-range{margin-left:0}.alarm-ops-range button{flex:1}.alarm-ops-row{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.alarm-ops-station{grid-column:2}.alarm-ops-row time{grid-area:1/3/span 2}.alarm-ops-side-card{display:block}.alarm-ops-process{border:1px solid #e9f0f7;border-left:0;border-right:0}}.main-1080>.station-detail-ops-page{box-sizing:border-box;color:#29445f;background:linear-gradient(145deg,#f6f9fd,#edf4fb);min-height:100%}.station-detail-ops-page{width:100%;max-width:none;margin:0}.main-1080 .station-detail-ops-page h1{color:#213e5c!important}.main-1080 .station-detail-ops-page h2{color:#2b4a67!important}.station-detail-hero{padding:1px 0 17px}.station-detail-breadcrumb{color:#91a2b4;align-items:center;gap:8px;margin-bottom:14px;font-size:11px;display:flex}.station-detail-breadcrumb a{color:#5e83a8;text-decoration:none}.station-detail-breadcrumb a:hover{color:#2a70ad}.station-detail-breadcrumb em{color:#7f97af;font-style:normal}.station-detail-hero-main{justify-content:space-between;align-items:flex-end;gap:15px;display:flex}.station-detail-title-line{align-items:center;gap:10px;display:flex}.station-detail-title-line h1{letter-spacing:.1px;margin:0;font-size:25px;line-height:1.2}.station-detail-status{border-radius:99px;align-items:center;gap:5px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.station-detail-status i{background:currentColor;border-radius:50%;width:6px;height:6px}.station-detail-status.generating{color:#219359;background:#e8f8ef}.station-detail-status.standby{color:#607e9c;background:#eff4fa}.station-detail-status.offline{color:#8492a1;background:#f3f5f7}.station-detail-hero-main p{color:#7e94aa;flex-wrap:wrap;align-items:center;gap:8px;margin:7px 0 0;font-size:11px;display:flex}.station-detail-hero-main p>i{border-radius:50%;width:7px;height:7px}.station-detail-hero-main p>span{border-left:1px solid #d8e4ef;padding-left:8px}.station-detail-map-link{color:#5281ad;white-space:nowrap;background:#fff;border:1px solid #ccdeef;border-radius:8px;gap:7px;padding:9px 11px;font-size:11px;font-weight:750;text-decoration:none;display:inline-flex}.station-detail-map-link:hover{color:#286da9;border-color:#8bb3df}.station-detail-map-link b{font-size:14px}.station-detail-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:13px;display:grid}.station-detail-metric{background:#ffffffe6;border:1px solid #d9e6f2;border-radius:11px;align-items:center;gap:10px;min-height:94px;padding:13px;display:flex;box-shadow:0 7px 21px #33567d0e}.station-detail-metric>i{border-radius:11px;flex:0 0 35px;place-items:center;width:35px;height:35px;font-size:18px;font-style:normal;font-weight:850;display:grid}.station-detail-metric div{min-width:0}.station-detail-metric span{color:#7e94aa;font-size:10px;font-weight:700;display:block}.station-detail-metric strong{color:#2d506f;text-overflow:ellipsis;white-space:nowrap;margin:2px 0;font-size:21px;line-height:1.15;display:block;overflow:hidden}.station-detail-metric small{color:#90a3b6;text-overflow:ellipsis;white-space:nowrap;font-size:9px;display:block;overflow:hidden}.station-detail-metric.blue>i{color:#2875d2;background:#e8f1ff}.station-detail-metric.green>i{color:#209358;background:#e8f8ef}.station-detail-metric.violet>i{color:#7350bd;background:#f0ebff}.station-detail-metric.amber>i{color:#c6821e;background:#fff4df}.station-detail-grid{grid-template-columns:minmax(0,1.65fr) minmax(270px,.75fr);gap:13px;margin-bottom:13px;display:grid}.station-detail-console{grid-template-columns:minmax(0,1.65fr) minmax(270px,.75fr);gap:13px;min-height:0;display:grid}.station-detail-primary-stack{grid-template-rows:minmax(0,1.7fr) minmax(116px,.7fr);gap:13px;min-height:0;display:grid}.station-detail-output-panel,.station-detail-health-panel,.station-detail-location-panel,.station-detail-device-panel,.station-detail-alarm-panel{background:#ffffffeb;border:1px solid #d8e5f1;border-radius:12px;overflow:hidden;box-shadow:0 8px 25px #35567c0e}.station-detail-panel-head{border-bottom:1px solid #e7eef6;justify-content:space-between;align-items:flex-start;gap:8px;padding:13px 14px 11px;display:flex}.station-detail-panel-head>div>span{color:#8297ad;letter-spacing:1.3px;margin-bottom:2px;font-size:8px;font-weight:800;display:block}.station-detail-panel-head h2{margin:0;font-size:14px;line-height:1.2}.station-detail-panel-head>span,.station-detail-panel-head>a{color:#8196ac;margin-top:4px;font-size:10px;text-decoration:none}.station-detail-panel-head>a{color:#4b82b6;font-weight:700}.station-detail-periods{background:#eaf1f8;border-radius:7px;gap:2px;padding:3px;display:inline-flex}.station-detail-periods button{color:#778ca3;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:4px 7px;font-size:10px}.station-detail-periods button.active{color:#2d70ad;background:#fff;box-shadow:0 1px 4px #3c5e8524}.station-detail-chart-meta{color:#8ca0b4;justify-content:space-between;align-items:center;padding:9px 14px 0;font-size:10px;display:flex}.station-detail-chart-meta>div{align-items:center;gap:8px;display:inline-flex}.station-detail-chart-meta button{color:#66839f;cursor:pointer;background:#fff;border:1px solid #dae6f1;border-radius:5px;place-items:center;width:19px;height:19px;padding:0;display:grid}.station-detail-chart-meta strong{color:#587591;font-size:10px}.station-detail-chart{height:250px}.station-detail-chart-empty{color:#8da1b5;place-items:center;height:100%;font-size:11px;display:grid}.station-detail-side-stack{grid-template-rows:1fr 1fr;gap:13px;min-height:0;display:grid}.station-detail-console-side{grid-template-rows:repeat(3,minmax(0,1fr))}.station-detail-health-body{align-items:center;gap:13px;padding:13px 14px 8px;display:flex}.station-detail-health-ring{background:conic-gradient(#2ca96a var(--health), #e6edf5 0);border-radius:50%;flex:0 0 66px;place-items:center;width:66px;height:66px;display:grid;position:relative}.station-detail-health-ring:before{content:"";border-radius:inherit;background:#fff;position:absolute;inset:6px}.station-detail-health-ring strong{color:#287a51;font-size:16px;position:relative}.station-detail-health-ring small{color:#6aa17f;margin-left:1px;font-size:9px}.station-detail-health-body>div:last-child>strong{color:#395975;font-size:20px}.station-detail-health-body>div:last-child>strong small{color:#91a3b5;font-size:11px}.station-detail-health-body p{color:#8a9daf;margin:3px 0 0;font-size:10px}.station-detail-health-stats{border-top:1px solid #eaf0f7;justify-content:space-between;gap:4px;padding:8px 14px;display:flex}.station-detail-health-stats span{color:#8d9fb1;text-align:center;font-size:9px}.station-detail-health-stats strong{color:#486884;margin-top:1px;font-size:13px;display:block}.station-detail-health-stats strong.attention{color:#c47d21}.station-detail-location-panel.unlocated{border-color:#ead6ad}.station-detail-location-panel .station-detail-panel-head>.located{color:#298a54}.station-detail-location-panel .station-detail-panel-head>.unlocated{color:#bb7c1d}.station-detail-location-body{gap:11px;padding:12px 14px;display:flex}.station-detail-mini-map{background:linear-gradient(135deg,#edf6ff 25%,#fafcff 25% 50%,#edf6ff 50% 75%,#fafcff 75%) 0 0/18px 18px;border:1px solid #d9e7f3;border-radius:7px;flex:0 0 78px;place-items:center;width:78px;height:74px;display:grid;position:relative;overflow:hidden}.station-detail-mini-map:before,.station-detail-mini-map:after{content:"";background:#7199c226;position:absolute}.station-detail-mini-map:before{width:1px;height:100%}.station-detail-mini-map:after{width:100%;height:1px}.station-detail-mini-map i{z-index:1;color:#2876c4;font-size:24px;font-style:normal}.station-detail-mini-map span{border:1px solid #2876c433;border-radius:50%;width:26px;height:26px;position:absolute}.station-detail-location-body>div:last-child{min-width:0}.station-detail-location-body strong,.station-detail-location-body small,.station-detail-location-body a{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.station-detail-location-body strong{color:#45627e;font-size:11px}.station-detail-location-body small{color:#8d9fb1;margin-top:3px;font-size:9px}.station-detail-location-body a{color:#4b80b5;margin-top:7px;font-size:10px;font-weight:700;text-decoration:none}.station-detail-lower-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:13px;display:grid}.station-detail-device-list{max-height:215px;overflow-y:auto}.station-detail-device-list>div{border-bottom:1px solid #edf2f7;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 14px;display:grid}.station-detail-device-list>div:last-child{border-bottom:0}.station-detail-device-list>div>i{background:#cbd6e0;border-radius:50%;width:7px;height:7px}.station-detail-device-list>div>i.online{background:#2aa35f;box-shadow:0 0 0 3px #2aa35f1a}.station-detail-device-list section{min-width:0}.station-detail-device-list strong,.station-detail-device-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.station-detail-device-list strong{color:#45627e;font-size:11px}.station-detail-device-list small{color:#94a6b7;margin-top:2px;font-size:9px}.station-detail-device-list>div>span{color:#7b8f9f;background:#f0f4f7;border-radius:5px;padding:3px 6px;font-size:9px}.station-detail-device-list>div>em{color:#2c7d54;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;font-style:normal}.station-detail-device-list>p{color:#91a4b6;text-align:center;padding:30px;font-size:11px}.station-detail-alarm-list{min-height:163px}.station-detail-alarm-list>div:not(.station-detail-alarm-empty){border-bottom:1px solid #edf2f7;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 14px;display:grid}.station-detail-alarm-list>div:last-child{border-bottom:0}.station-detail-alarm-list>div>i{color:#748a9f;background:#edf3f8;border-radius:6px;place-items:center;width:20px;height:20px;font-size:12px;font-style:normal;display:grid}.station-detail-alarm-list>div.warning>i{color:#bf7e16;background:#fff4df}.station-detail-alarm-list>div.critical>i{color:#d34a5b;background:#fff0f1}.station-detail-alarm-list section{min-width:0}.station-detail-alarm-list strong,.station-detail-alarm-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.station-detail-alarm-list strong{color:#4a657f;font-size:11px}.station-detail-alarm-list small{color:#93a6b8;margin-top:2px;font-size:9px}.station-detail-alarm-list>div>span{color:#8ca0b2;font-size:9px}.station-detail-alarm-empty{flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:163px;display:flex}.station-detail-alarm-empty i{color:#249454;border:1px solid #9bdcba;border-radius:50%;place-items:center;width:26px;height:26px;font-size:14px;font-style:normal;display:grid}.station-detail-alarm-empty strong{color:#31784f;font-size:12px}.station-detail-alarm-empty span{color:#8da1b3;font-size:10px}.station-detail-loading{color:#7e95ac;place-items:center;min-height:100%;font-size:13px;display:grid}.station-detail-loading a{color:#467eb5}@media (width<=1100px){.station-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.station-detail-grid,.station-detail-lower-grid{grid-template-columns:1fr}.station-detail-side-stack{grid-template-rows:auto;grid-template-columns:1fr 1fr}.station-detail-health-panel,.station-detail-location-panel{min-height:190px}}.station-detail-output-panel{min-height:365px}@media (width<=680px){.station-detail-hero-main{flex-direction:column;align-items:flex-start}.station-detail-metrics,.station-detail-side-stack{grid-template-columns:1fr}.station-detail-panel-head{flex-direction:column;align-items:flex-start}.station-detail-periods{align-self:stretch}.station-detail-periods button{flex:1}.station-detail-device-list>div{grid-template-columns:auto minmax(0,1fr) auto}.station-detail-device-list>div>span{display:none}.station-detail-title-line{flex-direction:column;align-items:flex-start;gap:5px}}@media (width>=1101px) and (height>=640px){.main-1080:has(.station-detail-ops-page){min-height:0;overflow:hidden}.station-detail-ops-page{grid-template-rows:auto auto minmax(0,1fr);gap:10px;height:100%;padding:10px 16px 12px;display:grid;overflow:hidden}.station-detail-hero{padding:0}.station-detail-breadcrumb{margin-bottom:6px}.station-detail-title-line h1{font-size:22px}.station-detail-hero-main p{margin-top:4px}.station-detail-metrics{gap:10px;margin:0}.station-detail-metric{min-height:76px;padding:10px 12px}.station-detail-metric>i{border-radius:10px;flex-basis:34px;width:34px;height:34px;font-size:17px}.station-detail-metric strong{font-size:19px}.station-detail-console{height:100%}.station-detail-console .station-detail-output-panel,.station-detail-console .station-detail-device-panel,.station-detail-console .station-detail-health-panel,.station-detail-console .station-detail-location-panel,.station-detail-console .station-detail-alarm-panel{flex-direction:column;min-height:0;display:flex}.station-detail-console .station-detail-output-panel{min-height:0}.station-detail-console .station-detail-chart{flex:1;height:auto;min-height:0}.station-detail-console .station-detail-device-list,.station-detail-console .station-detail-alarm-list{flex:1;min-height:0;max-height:none;overflow-y:auto}.station-detail-console .station-detail-panel-head{padding:9px 12px 8px}.station-detail-console .station-detail-chart-meta{padding:7px 12px 0}.station-detail-console .station-detail-health-body{padding:8px 12px 5px}.station-detail-console .station-detail-health-ring{flex-basis:52px;width:52px;height:52px}.station-detail-console .station-detail-location-body{padding:8px 12px}.station-detail-console .station-detail-mini-map{flex-basis:62px;width:62px;height:58px}.station-detail-console .station-detail-alarm-empty{flex:1;min-height:0}.station-detail-console .station-detail-alarm-list>div:not(.station-detail-alarm-empty){padding:7px 11px}.station-detail-console .station-detail-device-list>div{padding:7px 12px}}@media (width<=1100px),(height<=639px){.station-detail-console{grid-template-columns:1fr}.station-detail-primary-stack{grid-template-rows:auto auto}.station-detail-console-side{grid-template-rows:auto auto;grid-template-columns:1fr 1fr}.station-detail-console-side .station-detail-alarm-panel{grid-column:1/-1}.station-detail-chart{height:250px}}@media (width>=1101px) and (height>=640px){:is(.main-1080:has(.station-ops-page),.main-1080:has(.alarm-ops-page)){min-height:0;overflow:hidden}.station-ops-page,.alarm-ops-page{box-sizing:border-box;flex-direction:column;gap:10px;width:100%;max-width:none;height:100%;min-height:0;padding:10px 16px 12px;display:flex;overflow:hidden}.station-ops-header,.alarm-ops-header,.station-ops-metrics,.alarm-ops-metrics,.station-ops-toolbar,.alarm-ops-toolbar{flex:none;margin:0}.station-ops-header,.alarm-ops-header{min-height:47px}.station-ops-metrics,.alarm-ops-metrics{gap:10px}.station-ops-metric,.alarm-ops-metric{min-height:84px;padding:11px 12px}.station-ops-metric-icon,.alarm-ops-metric>i{border-radius:10px;flex-basis:35px;width:35px;height:35px;font-size:18px}.station-ops-metric strong,.alarm-ops-metric strong{font-size:21px}.station-ops-toolbar,.alarm-ops-toolbar{box-sizing:border-box;min-height:54px}.station-ops-workspace,.alarm-ops-workspace{flex:1;min-height:0}.station-ops-list-card,.alarm-ops-list-card{flex-direction:column;min-height:0;display:flex}.station-ops-table-wrap,.station-ops-cards,.alarm-ops-list{flex:1;min-height:0;overflow-y:auto}.station-ops-cards{align-content:start}.alarm-ops-list{min-height:0}.alarm-ops-empty{flex:1;min-height:0}}.main-1080>.settings-ops-page{color:#29445f;background:linear-gradient(145deg,#f6f9fd,#edf4fb);min-height:100%}.settings-ops-page{max-width:1500px;margin:0 auto}.main-1080 .settings-ops-page h1{color:#203d5c!important}.main-1080 .settings-ops-page h2{color:#2b4a67!important}.settings-ops-header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;display:flex}.settings-ops-header>div>span,.settings-ops-panel-head>div>span{color:#7d94af;letter-spacing:1.55px;margin-bottom:3px;font-size:9px;font-weight:800;display:block}.settings-ops-header h1{margin:0;font-size:26px;line-height:1.2}.settings-ops-header p{color:#7d91a8;margin:5px 0 0;font-size:13px}.settings-ops-primary{color:#fff;cursor:pointer;background:#2877d2;border:1px solid #2877d2;border-radius:9px;align-items:center;gap:7px;padding:10px 14px;font-size:12px;font-weight:750;display:inline-flex;box-shadow:0 7px 16px #2877d22e}.settings-ops-primary:hover{background:#1d69bd}.settings-ops-primary b{font-size:19px;font-weight:400;line-height:0}.settings-ops-message{border:1px solid;border-radius:9px;align-items:center;gap:7px;margin-bottom:12px;padding:9px 12px;font-size:11px;display:flex}.settings-ops-message>span{border-radius:50%;flex:0 0 17px;place-items:center;width:17px;height:17px;font-size:11px;font-weight:800;display:grid}.settings-ops-message button{color:currentColor;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-size:17px}.settings-ops-message.success{color:#287e51;background:#f1fbf5;border-color:#bde6cd}.settings-ops-message.success>span{background:#dff5e7}.settings-ops-message.danger{color:#bd4959;background:#fff5f6;border-color:#efd0d5}.settings-ops-message.danger>span{background:#ffe6e9}.settings-ops-top-grid{grid-template-columns:minmax(0,1.85fr) minmax(310px,.7fr);gap:14px;margin-bottom:14px;display:grid}.settings-ops-bottom-grid{grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr);gap:14px;display:grid}.settings-ops-platform-panel,.settings-ops-collector-panel,.settings-ops-activity-panel,.settings-ops-guide-panel{background:#ffffffeb;border:1px solid #d8e5f1;border-radius:12px;overflow:hidden;box-shadow:0 8px 25px #35567c0e}.settings-ops-panel-head{border-bottom:1px solid #e7eef6;justify-content:space-between;align-items:flex-start;gap:8px;padding:14px 15px 12px;display:flex}.settings-ops-panel-head h2{margin:0;font-size:15px;line-height:1.2}.settings-ops-panel-head>p{color:#8196ac;align-items:center;gap:7px;margin:5px 0 0;font-size:10px;display:flex}.settings-ops-panel-head>p>i{background:#b5c3d0;border-radius:50%;width:6px;height:6px}.settings-ops-panel-head>p>i.success{background:#24a05a}.settings-ops-panel-head>p>i.warning{background:#d69a30}.settings-ops-panel-head>p>i.failure{background:#dc5867}.settings-ops-platform-grid{grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:10px;padding:13px 15px 15px;display:grid}.settings-platform-card{background:linear-gradient(155deg,#fff,#fbfdff);border:1px solid #dbe7f2;border-radius:9px;min-width:0;padding:12px}.settings-platform-card.attention{border-color:#ead4aa}.settings-platform-card-top{align-items:center;gap:10px;display:flex}.settings-platform-card-top>i{color:#fff;text-align:center;border-radius:10px;flex:0 0 37px;place-items:center;width:37px;height:37px;font-size:8px;font-style:normal;font-weight:850;display:grid;overflow:hidden;box-shadow:0 5px 11px #36587821}.settings-platform-card-top>div{min-width:0}.settings-platform-card-top strong,.settings-platform-card-top span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.settings-platform-card-top strong{color:#3c5a77;font-size:12px}.settings-platform-card-top span{color:#288957;align-items:center;gap:5px;margin-top:3px;font-size:10px;font-weight:700;display:inline-flex}.settings-platform-card-top span b{background:currentColor;border-radius:50%;width:6px;height:6px}.settings-platform-card-top span.attention{color:#be7c1b}.settings-platform-line{background:#e6eef6;height:1px;margin:11px 0 9px}.settings-platform-card footer{color:#879caf;align-items:center;gap:7px;min-width:0;font-size:9px;display:flex}.settings-platform-card footer span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-platform-card footer button{color:#3d7db8;cursor:pointer;white-space:nowrap;background:0 0;border:0;margin-left:auto;padding:0;font-size:10px;font-weight:750}.settings-platform-card footer button:disabled{color:#91a5b8;cursor:default}.settings-ops-no-platform{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:162px;padding:16px;display:flex}.settings-ops-no-platform>i{color:#5e84a7;background:#f0f6fb;border:1px solid #d6e4f1;border-radius:11px;place-items:center;width:34px;height:34px;margin-bottom:7px;font-size:17px;font-style:normal;display:grid}.settings-ops-no-platform strong{color:#527089;font-size:12px}.settings-ops-no-platform span{color:#91a4b6;max-width:340px;margin-top:4px;font-size:10px;line-height:1.55}.settings-ops-no-platform button{color:#3b78b3;cursor:pointer;background:#fff;border:1px solid #cbddec;border-radius:6px;margin-top:9px;padding:6px 9px;font-size:10px;font-weight:750}.settings-ops-collector-panel{flex-direction:column;display:flex}.settings-ops-collector-body{align-items:center;gap:15px;padding:15px;display:flex}.settings-ops-health-ring{background:conic-gradient(#2ca96a var(--health),#e4edf5 0);border-radius:50%;flex:0 0 84px;place-items:center;width:84px;height:84px;display:grid;position:relative}.settings-ops-health-ring:before{content:"";border-radius:inherit;background:#fff;position:absolute;inset:7px}.settings-ops-health-ring strong{z-index:1;color:#278252;font-variant-numeric:tabular-nums;font-size:21px}.settings-ops-health-ring strong small{color:#69a47f;margin-left:1px;font-size:10px}.settings-ops-health-ring span{z-index:1;color:#82a095;margin-top:-17px;font-size:9px}.settings-ops-health-ring.warning{background:conic-gradient(#d5972b var(--health),#e4edf5 0)}.settings-ops-health-ring.warning strong{color:#b77a1b}.settings-ops-collector-facts{gap:10px;min-width:0;display:grid}.settings-ops-collector-facts>span{grid-template-columns:auto minmax(0,1fr);column-gap:7px;display:grid}.settings-ops-collector-facts i{color:#5b85ab;grid-row:1/span 2;font-size:16px;font-style:normal}.settings-ops-collector-facts small{color:#90a2b4;font-size:9px}.settings-ops-collector-facts strong{color:#4a6781;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.settings-ops-collector-panel footer{justify-content:flex-end;margin-top:auto;padding:0 15px 14px;display:flex}.settings-ops-collector-panel footer>span{color:#91a3b4;align-self:center;font-size:10px}.settings-ops-collector-panel footer button{color:#3279b3;cursor:pointer;background:#fff;border:1px solid #3982bc;border-radius:7px;padding:8px 12px;font-size:11px;font-weight:750}.settings-ops-collector-panel footer button:hover{background:#f3f9ff;border-color:#2874b2}.settings-ops-collector-panel footer button:disabled{opacity:.55;cursor:default}.settings-ops-activity-panel{min-height:264px}.settings-ops-log-list>div{border-bottom:1px solid #edf2f7;grid-template-columns:142px 144px minmax(120px,1fr) 70px 128px;align-items:center;gap:8px;padding:10px 15px;display:grid}.settings-ops-log-list>div:last-child{border-bottom:0}.settings-ops-log-list time{color:#7891a9;font-variant-numeric:tabular-nums;font-size:10px}.settings-log-platform{color:#58738c;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:10px;font-weight:700;display:inline-flex;overflow:hidden}.settings-log-platform i{color:#fff;border-radius:5px;flex:0 0 20px;place-items:center;width:20px;height:20px;font-size:7px;font-style:normal;font-weight:850;display:grid;overflow:hidden}.settings-ops-log-list strong{color:#526f89;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:650;overflow:hidden}.settings-ops-log-list em{color:#2b9858;align-items:center;gap:4px;font-size:10px;font-style:normal;display:inline-flex}.settings-ops-log-list em b{background:currentColor;border-radius:50%;width:6px;height:6px}.settings-ops-log-list em.warn{color:#c7861d}.settings-ops-log-list em.error{color:#d14d5d}.settings-ops-log-list small{color:#90a3b5;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.settings-ops-log-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:190px;display:flex}.settings-ops-log-empty i{color:#7294b0;background:#f3f8fc;border:1px solid #d9e6f1;border-radius:9px;place-items:center;width:30px;height:30px;margin-bottom:7px;font-size:15px;font-style:normal;display:grid}.settings-ops-log-empty strong{color:#55728c;font-size:12px}.settings-ops-log-empty span{color:#94a6b7;margin-top:3px;font-size:10px}.settings-ops-guide-list{padding:11px 15px}.settings-ops-guide-list article{align-items:flex-start;gap:9px;padding:7px 0;display:flex}.settings-ops-guide-list article>i{color:#2878d1;background:#edf5ff;border-radius:8px;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:17px;font-style:normal;display:grid}.settings-ops-guide-list strong,.settings-ops-guide-list span{display:block}.settings-ops-guide-list strong{color:#526f89;font-size:11px}.settings-ops-guide-list span{color:#90a3b5;margin-top:3px;font-size:9px;line-height:1.4}.settings-ops-drawer-overlay{z-index:999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#182c4152;justify-content:flex-end;display:flex;position:fixed;inset:0}.settings-ops-drawer{box-sizing:border-box;background:#f9fcff;border-left:1px solid #d8e5f1;flex-direction:column;width:min(430px,100%);height:100%;padding:24px;display:flex;box-shadow:-18px 0 44px #203c592e}.settings-ops-drawer>header{border-bottom:1px solid #deebf5;justify-content:space-between;gap:14px;padding-bottom:19px;display:flex}.settings-ops-drawer header span{color:#7b93ad;letter-spacing:1.5px;font-size:9px;font-weight:800;display:block}.settings-ops-drawer h2{color:#2b4a68;margin:5px 0;font-size:21px}.settings-ops-drawer header p{color:#8399af;max-width:300px;margin:0;font-size:11px;line-height:1.55}.settings-ops-drawer>header>button{color:#6f87a0;cursor:pointer;background:#fff;border:1px solid #d6e4ef;border-radius:7px;flex:0 0 28px;place-items:center;width:28px;height:28px;padding:0;font-size:19px;display:grid}.settings-ops-drawer form{gap:14px;padding-top:19px;display:grid}.settings-ops-drawer label>span{color:#607a95;margin-bottom:6px;font-size:11px;font-weight:750;display:block}.settings-ops-drawer label>span em{color:#9aacbc;margin-left:4px;font-size:9px;font-style:normal;font-weight:500}.settings-ops-drawer input,.settings-ops-drawer select{box-sizing:border-box;color:#45627e;background:#fff;border:1px solid #d4e2ee;border-radius:7px;outline:0;width:100%;height:39px;padding:0 10px;font-size:12px}.settings-ops-drawer input:focus,.settings-ops-drawer select:focus{border-color:#6ba5da;box-shadow:0 0 0 3px #3b82d31a}.settings-ops-drawer form footer{justify-content:flex-end;gap:8px;padding-top:7px;display:flex}.settings-ops-drawer form footer button{color:#71879d;cursor:pointer;background:#fff;border:1px solid #d0dfeb;border-radius:7px;padding:8px 12px;font-size:11px;font-weight:750}.settings-ops-drawer form footer button.confirm{color:#fff;background:#2877d2;border-color:#2877d2}.settings-ops-drawer form footer button:disabled{opacity:.55;cursor:default}@media (width>=1101px) and (height>=640px){.main-1080:has(.settings-ops-page){min-height:0;overflow:hidden}.settings-ops-page{box-sizing:border-box;flex-direction:column;gap:10px;width:100%;max-width:none;height:100%;min-height:0;padding:10px 16px 12px;display:flex;overflow:hidden}.settings-ops-header,.settings-ops-top-grid,.settings-ops-bottom-grid{flex:none;margin:0}.settings-ops-header{min-height:47px}.settings-ops-top-grid{min-height:200px}.settings-ops-bottom-grid{flex:1;min-height:0}.settings-ops-activity-panel,.settings-ops-guide-panel{min-height:0}.settings-ops-log-list{max-height:100%;overflow-y:auto}.settings-ops-platform-grid{align-content:start}.settings-ops-platform-panel,.settings-ops-collector-panel{min-height:0}}@media (width<=1100px){.settings-ops-top-grid,.settings-ops-bottom-grid{grid-template-columns:1fr}.settings-ops-collector-panel{min-height:230px}.settings-ops-guide-panel{min-height:200px}}@media (width<=720px){.settings-ops-header{flex-direction:column;align-items:flex-start}.settings-ops-platform-grid{grid-template-columns:1fr}.settings-ops-log-list>div{grid-template-columns:1fr auto;gap:4px 8px}.settings-ops-log-list time,.settings-log-platform,.settings-ops-log-list strong{grid-column:1}.settings-ops-log-list em{grid-area:1/2}.settings-ops-log-list small{display:none}.settings-ops-collector-body{padding:13px}.settings-ops-drawer{padding:20px}.settings-ops-primary{justify-content:center;width:100%}}.main-1080>.self-owned-page{color:#2b4661;background:linear-gradient(145deg,#f6f9fd 0%,#edf4fb 100%);min-height:100%}.self-owned-page{max-width:1500px;margin:0 auto}.main-1080 .self-owned-page h1{color:#203d5c!important}.main-1080 .self-owned-page h2{color:#294966!important}.self-owned-header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;display:flex}.self-owned-header>div:first-child>span,.self-owned-card-head>div>span{color:#7d95ae;letter-spacing:1.6px;margin-bottom:3px;font-size:9px;font-weight:800;display:block}.self-owned-header h1{margin:0;font-size:26px;line-height:1.18}.self-owned-header p{color:#7b91a7;margin:5px 0 0;font-size:13px}.self-owned-header-actions{flex:none;align-items:center;gap:12px;display:flex}.self-owned-live{color:#7890a6;align-items:center;gap:6px;font-size:10px;display:inline-flex}.self-owned-live i{background:#2ba25d;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #2ba25d1c}.self-owned-header-actions>a{color:#3977ad;background:#ffffffdb;border:1px solid #cbddeb;border-radius:8px;align-items:center;gap:6px;padding:9px 12px;font-size:11px;font-weight:750;text-decoration:none;display:inline-flex}.self-owned-header-actions>a:hover{color:#236ba9;background:#f8fcff;border-color:#8fb8dc}.self-owned-header-actions>a b{font-size:15px;font-weight:400;line-height:0}.self-owned-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.self-owned-metric{box-sizing:border-box;background:#ffffffeb;border:1px solid #d8e5f1;border-radius:11px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:90px;padding:13px;display:grid;box-shadow:0 8px 24px #35567c0e}.self-owned-metric>i{border-radius:10px;place-items:center;width:38px;height:38px;font-size:20px;font-style:normal;font-weight:750;display:grid}.self-owned-metric>div{min-width:0}.self-owned-metric span,.self-owned-metric strong,.self-owned-metric small{display:block}.self-owned-metric span{color:#8197ad;font-size:10px;font-weight:700}.self-owned-metric strong{color:#355572;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:21px;line-height:1.05;overflow:hidden}.self-owned-metric strong em{color:#8196a9;margin-left:3px;font-size:10px;font-style:normal;font-weight:650}.self-owned-metric small{color:#90a3b4;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:9px;overflow:hidden}.self-owned-metric.green>i{color:#209358;background:#e6f7ed}.self-owned-metric.blue>i{color:#2c78c6;background:#e9f3ff}.self-owned-metric.amber>i{color:#c58315;background:#fff5de}.self-owned-metric.violet>i{color:#7658c9;background:#f1edff}.self-owned-workspace{grid-template-columns:minmax(0,1.62fr) minmax(310px,.68fr);gap:14px;min-height:0;display:grid}.self-owned-main-column,.self-owned-side-column{flex-direction:column;gap:14px;min-width:0;min-height:0;display:flex}.self-owned-card{background:#ffffffed;border:1px solid #d8e5f1;border-radius:12px;overflow:hidden;box-shadow:0 8px 25px #35567c0e}.self-owned-card-head{border-bottom:1px solid #e8eff6;justify-content:space-between;align-items:flex-start;gap:12px;padding:13px 15px 11px;display:flex}.self-owned-card-head h2{margin:0;font-size:15px;line-height:1.2}.self-owned-card-head>p,.self-owned-card-head>a{color:#8095a9;white-space:nowrap;margin:4px 0 0;font-size:10px;text-decoration:none}.self-owned-card-head>a{color:#3b7bb8;font-weight:750}.self-owned-card-head>a:hover{color:#1c68ad}.self-owned-trend-card{flex:0 0 342px}.self-owned-trend-total{text-align:right;border-left:1px solid #e5edf4;min-width:104px;padding:2px 0 0 11px}.self-owned-trend-total span,.self-owned-trend-total strong{display:block}.self-owned-trend-total span{color:#94a5b5;font-size:9px}.self-owned-trend-total strong{color:#287d54;font-variant-numeric:tabular-nums;margin-top:3px;font-size:16px}.self-owned-chart-empty{color:#8ea2b5;place-items:center;height:266px;font-size:11px;display:grid}.self-owned-stations-card{flex-direction:column;flex:1;min-height:0;display:flex}.self-owned-card-head>p strong{color:#2d9258}.self-owned-station-list{flex:1;min-height:0;overflow-y:auto}.self-owned-station-row{color:inherit;border-bottom:1px solid #edf2f7;grid-template-columns:minmax(165px,1.2fr) minmax(94px,.58fr) 86px 110px 108px 16px;align-items:center;gap:10px;padding:10px 15px;text-decoration:none;transition:background .16s;display:grid}.self-owned-station-row:last-child{border-bottom:0}.self-owned-station-row:hover{background:#f6faff}.self-owned-station-row>div{min-width:0}.self-owned-station-row>div:not(:first-child)>span,.self-owned-station-row>div:not(:first-child)>strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.self-owned-station-row>div:not(:first-child)>span{color:#91a2b2;font-size:9px}.self-owned-station-row>div:not(:first-child)>strong{color:#4b6782;font-variant-numeric:tabular-nums;margin-top:3px;font-size:11px}.self-owned-station-row>b{color:#88a8c4;font-size:16px;font-weight:400}.self-owned-station-id{min-width:0;padding-left:14px;position:relative}.self-owned-station-id>i{background:#aab8c4;border-radius:50%;width:7px;height:7px;position:absolute;top:4px;left:0}.self-owned-station-id>i.generating{background:#2ca35d;box-shadow:0 0 0 4px #2ca35d1c}.self-owned-station-id>i.standby{background:#5396d1;box-shadow:0 0 0 4px #5396d11a}.self-owned-station-id>span,.self-owned-station-id>small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.self-owned-station-id>span{color:#3d5c77;font-size:12px;font-weight:750}.self-owned-station-id>small{color:#98a8b7;margin-top:3px;font-size:9px}.self-owned-station-weather{color:#748da3;align-items:center;gap:5px;font-size:15px;display:flex}.self-owned-station-weather>span{color:#8298ac;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.self-owned-station-row strong.generating{color:#268b53!important}.self-owned-station-row strong.standby{color:#377ebc!important}.self-owned-station-row strong.offline{color:#8696a5!important}.self-owned-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:210px;padding:20px;display:flex}.self-owned-empty>i{color:#6990af;background:#f2f7fb;border:1px solid #d7e5f0;border-radius:10px;place-items:center;width:34px;height:34px;margin-bottom:7px;font-size:17px;font-style:normal;display:grid}.self-owned-empty strong{color:#54738d;font-size:12px}.self-owned-empty span{color:#93a5b6;max-width:330px;margin-top:4px;font-size:10px;line-height:1.5}.self-owned-empty a{color:#357ab8;margin-top:10px;font-size:10px;font-weight:750;text-decoration:none}.self-owned-health-card{flex:0 0 210px}.self-owned-health-body{align-items:center;gap:18px;padding:14px 15px 10px;display:flex}.self-owned-health-ring{background:conic-gradient(#2ba05b var(--health),#e7eff5 0);border-radius:50%;flex:0 0 102px;place-items:center;width:102px;height:102px;display:grid;position:relative}.self-owned-health-ring:before{content:"";border-radius:inherit;background:#fff;position:absolute;inset:8px}.self-owned-health-ring strong,.self-owned-health-ring span{z-index:1}.self-owned-health-ring strong{color:#268d53;font-variant-numeric:tabular-nums;font-size:24px}.self-owned-health-ring strong small{color:#67a77e;margin-left:1px;font-size:10px}.self-owned-health-ring span{color:#829b8c;margin-top:-20px;font-size:9px}.self-owned-device-status{flex:1;gap:8px;display:grid}.self-owned-device-status>div{color:#7890a3;grid-template-columns:7px 1fr auto;align-items:center;gap:6px;font-size:10px;display:grid}.self-owned-device-status i{background:currentColor;border-radius:50%;width:6px;height:6px}.self-owned-device-status strong{color:#536f87;font-variant-numeric:tabular-nums;font-size:13px}.self-owned-device-status .online{color:#2a9b59}.self-owned-device-status .offline{color:#8498aa}.self-owned-device-status .alarm{color:#d65b68}.self-owned-health-card footer{color:#91a2b2;padding:0 15px 13px;font-size:9px}.self-owned-revenue-card{flex:0 0 174px}.self-owned-revenue-total{padding:13px 15px 11px}.self-owned-revenue-total span,.self-owned-revenue-total strong,.self-owned-revenue-total small{display:block}.self-owned-revenue-total span{color:#8d9faf;font-size:9px}.self-owned-revenue-total strong{color:#3c6585;font-variant-numeric:tabular-nums;margin-top:4px;font-size:23px}.self-owned-revenue-total small{color:#9aabb9;margin-top:3px;font-size:9px}.self-owned-revenue-breakdown{border-top:1px solid #edf2f6;grid-template-columns:1fr 1fr;margin:0 15px 13px;display:grid}.self-owned-revenue-breakdown>div{padding-top:8px}.self-owned-revenue-breakdown>div+div{border-left:1px solid #edf2f6;padding-left:12px}.self-owned-revenue-breakdown span,.self-owned-revenue-breakdown strong{display:block}.self-owned-revenue-breakdown span{color:#99a9b7;font-size:9px}.self-owned-revenue-breakdown strong{color:#5a748c;font-variant-numeric:tabular-nums;margin-top:3px;font-size:11px}.self-owned-platform-card{flex:0 0 212px}.self-owned-platform-list{gap:10px;padding:12px 15px 13px;display:grid}.self-owned-platform-row>div{justify-content:space-between;gap:10px;display:flex}.self-owned-platform-row>div>span{color:#526e88;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:10px;font-weight:750;display:inline-flex;overflow:hidden}.self-owned-platform-row>div>span i{border-radius:50%;flex:none;width:7px;height:7px}.self-owned-platform-row>div>strong{color:#557189;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px}.self-owned-platform-row p{background:#e7eef5;border-radius:99px;height:4px;margin:6px 0 4px;overflow:hidden}.self-owned-platform-row p i{border-radius:inherit;min-width:2px;height:100%;display:block}.self-owned-platform-row small{color:#94a6b7;font-size:9px;display:block}.self-owned-platform-empty{color:#92a4b5;text-align:center;place-items:center;min-height:110px;padding:0 15px;font-size:10px;display:grid}.self-owned-alert-card{flex:1;min-height:133px}.self-owned-alert-list{padding:3px 10px 8px}.self-owned-alert-list>a{color:inherit;border-bottom:1px solid #eff3f7;grid-template-columns:22px minmax(0,1fr) 13px;align-items:center;gap:8px;padding:7px 5px;text-decoration:none;display:grid}.self-owned-alert-list>a:last-child{border-bottom:0}.self-owned-alert-list>a:hover{background:#f7fbff}.self-owned-alert-list>a>i{color:#728aa0;background:#edf3f8;border-radius:6px;place-items:center;width:20px;height:20px;font-size:11px;font-style:normal;font-weight:850;display:grid}.self-owned-alert-list>a>i.critical{color:#d34255;background:#fff0f2}.self-owned-alert-list>a>i.warning{color:#bd7b14;background:#fff6e4}.self-owned-alert-list span{min-width:0}.self-owned-alert-list strong,.self-owned-alert-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.self-owned-alert-list strong{color:#526e87;font-size:10px}.self-owned-alert-list small{color:#98a8b7;margin-top:2px;font-size:9px}.self-owned-alert-list>a>b{color:#8caac5;font-size:14px;font-weight:400}.self-owned-alert-empty{align-items:center;gap:9px;padding:17px 15px;display:flex}.self-owned-alert-empty>i{color:#269454;border:1px solid #b8e3c8;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:14px;font-style:normal;display:grid}.self-owned-alert-empty strong,.self-owned-alert-empty small{display:block}.self-owned-alert-empty strong{color:#4a785d;font-size:11px}.self-owned-alert-empty small{color:#91a5b2;margin-top:2px;font-size:9px}.self-owned-impact{background:linear-gradient(135deg,#f0fbf4,#f8fcf9);border:1px solid #cee5d8;border-radius:11px;align-items:center;gap:10px;padding:12px 14px;display:flex}.self-owned-impact>i{color:#249257;background:#dff4e7;border-radius:9px;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:17px;font-style:normal;display:grid}.self-owned-impact span,.self-owned-impact strong,.self-owned-impact small{display:block}.self-owned-impact span{color:#729884;font-size:9px}.self-owned-impact strong{color:#39805a;margin-top:2px;font-size:10px}.self-owned-impact small{color:#89a897;margin-top:3px;font-size:9px}.self-owned-loading{color:#7891a8;place-items:center;min-height:420px;font-size:12px;display:grid}@media (width>=1101px) and (height>=640px){.main-1080:has(.self-owned-page){min-height:0;overflow:hidden}.self-owned-page{box-sizing:border-box;flex-direction:column;width:100%;max-width:none;height:100%;min-height:0;padding:10px 16px 12px;display:flex;overflow:hidden}.self-owned-header,.self-owned-metrics{flex:none}.self-owned-header{min-height:47px;margin-bottom:10px}.self-owned-metrics{margin-bottom:10px}.self-owned-workspace{flex:1;min-height:0}.self-owned-stations-card{min-height:0}.self-owned-side-column{padding-right:2px;overflow-y:auto}.self-owned-side-column::-webkit-scrollbar{width:3px}.self-owned-side-column::-webkit-scrollbar-thumb{background:#d1dfeb;border-radius:3px}}@media (width<=1100px){.self-owned-page{padding:18px}.self-owned-workspace{grid-template-columns:1fr}.self-owned-side-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.self-owned-health-card,.self-owned-revenue-card,.self-owned-platform-card,.self-owned-alert-card{min-height:190px}.self-owned-impact{min-height:58px}.self-owned-stations-card{min-height:280px}.self-owned-station-list{overflow:visible}}@media (width<=720px){.self-owned-page{padding:15px}.self-owned-header{flex-direction:column;align-items:flex-start}.self-owned-header-actions{justify-content:space-between;width:100%}.self-owned-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.self-owned-metric{grid-template-columns:31px minmax(0,1fr);min-height:78px;padding:10px}.self-owned-metric>i{width:31px;height:31px;font-size:16px}.self-owned-metric strong{font-size:17px}.self-owned-side-column{grid-template-columns:1fr}.self-owned-station-row{grid-template-columns:minmax(0,1fr) auto 14px;gap:8px}.self-owned-station-weather,.self-owned-station-row>div:nth-child(3),.self-owned-station-row>div:nth-child(4){display:none}.self-owned-station-row>div:nth-child(5){text-align:right}.self-owned-station-row>div:nth-child(5)>span{display:none}.self-owned-trend-card{flex-basis:318px}.self-owned-health-card,.self-owned-revenue-card,.self-owned-platform-card,.self-owned-alert-card{min-height:0}.self-owned-live{display:none}}.showcase-platform-legend{border-top:1px solid #edf2f8;flex-wrap:wrap;justify-content:center;gap:10px;min-height:31px;padding:8px 12px}.showcase-platform-legend span{color:#7289a2;align-items:center;gap:4px;font-size:9px;display:inline-flex}.showcase-platform-legend i{border-radius:50%;width:7px;height:7px}.showcase-alert-panel{flex-direction:column;flex:1;min-height:0;display:flex}.showcase-alerts{flex-direction:column;flex:1;gap:7px;min-height:0;padding:11px 12px;display:flex}.showcase-alert{width:100%;color:inherit;cursor:pointer;text-align:left;background:#fbfdff;border:1px solid #e4ebf3;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:7px;transition:all .16s;display:grid}.showcase-alert:hover{background:#f5faff;border-color:#afc8e6;transform:translateY(-1px)}.showcase-alert>span{color:#71849a;background:#eef3f8;border-radius:4px;padding:4px 5px;font-size:9px;font-weight:750}.showcase-alert.critical>span{color:#d93d50;background:#fff0f2}.showcase-alert.warning>span{color:#bd7b07;background:#fff6df}.showcase-alert div{min-width:0}.showcase-alert strong,.showcase-alert small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.showcase-alert strong{color:#334f6d;font-size:10px}.showcase-alert small{color:#8b9eb2;margin-top:3px;font-size:9px}.showcase-clear{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.showcase-clear i{color:#259557;border:1px solid #9ddfbc;border-radius:50%;place-items:center;width:29px;height:29px;font-size:15px;font-style:normal;display:grid}.showcase-clear strong{color:#28734d;font-size:13px}.showcase-clear span{color:#8a9caf;font-size:10px}.showcase-link{color:#4381bc;cursor:pointer;background:#f9fcff;border:0;border-top:1px solid #e6eef6;justify-content:space-between;align-items:center;padding:10px 13px;font-size:10px;display:flex}.showcase-link:hover{color:#1767b7;background:#f0f7ff}.showcase-link span{font-size:15px}.showcase-weather-panel{flex:0 0 118px}.showcase-weather{gap:9px;padding:13px 15px}.showcase-weather>span{font-size:28px}.showcase-weather>div{flex:1;min-width:0}.showcase-weather strong,.showcase-weather small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.showcase-weather strong{color:#34516e;font-size:11px}.showcase-weather small{color:#8a9db0;margin-top:3px;font-size:9px}.showcase-weather em{color:#8a9db0;text-align:right;white-space:nowrap;border-left:1px solid #e6edf5;padding-left:9px;font-size:8px;font-style:normal;line-height:1.45}.showcase-weather em b{color:#bd7b07;font-size:12px}.showcase-platform-panel{flex:0 0 144px}.showcase-platforms{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:11px;padding:11px 15px 12px;display:grid}.showcase-platform{min-width:0}.showcase-platform>div:first-child{justify-content:space-between;gap:7px}.showcase-platform>div:first-child>span{color:#48647f;white-space:nowrap;gap:5px;min-width:0;font-size:10px;font-weight:700;overflow:hidden}.showcase-platform>div:first-child i{border-radius:50%;flex:none;width:7px;height:7px}.showcase-platform>div:first-child small,.showcase-platform>small{color:#91a2b5;white-space:nowrap;font-size:8px}.showcase-platform>strong{color:#355878;font-variant-numeric:tabular-nums;margin:5px 0;font-size:14px;display:block}.showcase-platform-line{background:#e6eef6;border-radius:99px;height:4px;overflow:hidden}.showcase-platform-line i{border-radius:inherit;min-width:2px;height:100%;display:block}.showcase-platform>small{text-overflow:ellipsis;margin-top:5px;display:block;overflow:hidden}.showcase-footer{color:#93a4b6;background:#f8fbffd1;border-top:1px solid #c1d3e6b8;justify-content:space-between;align-items:center;height:29px;min-height:29px;padding:0 25px;font-size:9px;display:flex}@media (width<=1320px){.showcase-grid{grid-template-columns:minmax(220px,.88fr) minmax(370px,1.42fr) minmax(220px,.88fr)}.showcase-platform-panel{flex-basis:156px}.showcase-platforms{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1060px){.showcase-screen{height:auto;min-height:100vh;overflow:visible}body:has(.showcase-screen){height:auto;overflow:auto}body:has(.showcase-screen) #root{height:auto;overflow:auto}.showcase-main{min-height:calc(100vh - 107px)}.showcase-grid{grid-template-columns:1fr 1fr}.showcase-map-panel{grid-area:1/1/auto/-1;min-height:480px}.showcase-column{min-height:390px}}@media (width<=680px){.showcase-header{align-items:flex-start;height:auto;min-height:68px;padding:13px}.showcase-header-meta{display:none}.showcase-main{padding:11px}.showcase-kpis,.showcase-grid{grid-template-columns:1fr}.showcase-map-panel{grid-area:auto;min-height:380px}.showcase-platform-panel{flex-basis:auto}.showcase-platforms{grid-template-columns:repeat(2,minmax(0,1fr))}.showcase-footer{padding:0 12px}.showcase-footer span:nth-child(2){display:none}}.layout-1080,.main-1080{background:#f3f7f8}.footer-bar{color:#8da0ae;background:#f9fbfc;border-top-color:#dce7eb}.footer-bar a{color:#738b9e}.footer-bar .footer-sep{color:#c4d1d9}.ops-dashboard{--ops-panel:#fff;--ops-line:#dbe6e9;--ops-muted:#7890a0;--ops-text:#29465b;background:radial-gradient(circle at 51% -34%,#60a6a724,#0000 43%),radial-gradient(circle at 100% 25%,#d0b36317,#0000 28%),#f3f7f8}.ops-dashboard:before{opacity:.72;background-image:linear-gradient(#688e970e 1px,#0000 1px),linear-gradient(90deg,#688e970e 1px,#0000 1px)}.ops-eyebrow{color:#3a8088}.ops-live-dot,.ops-status-chip i{background:#39a66c;box-shadow:0 0 0 4px #39a66c1a}.ops-dashboard h1{color:#24465b}.ops-status-chip,.ops-chip{color:#587487;background:#fff;border-color:#d3e2e5;box-shadow:0 3px 9px #2d506009}.ops-status-chip.alert,.ops-chip.danger{color:#bb5b63;background:#fff8f8;border-color:#f1d0d2}.ops-status-chip.alert i{background:#d96570;box-shadow:0 0 0 4px #d965701a}.ops-kpi-card,.ops-panel{border-color:var(--ops-line);background:linear-gradient(135deg,#fff,#fbfdfd);box-shadow:0 8px 24px #36586611}.ops-kpi-card:after{border-color:#3b868f29;box-shadow:0 0 0 17px #3b868f09,0 0 0 34px #3b868f05}.ops-kpi-card strong{color:#28485c}.ops-kpi-card strong small,.ops-health-summary strong small,.ops-platform-row strong small,.ops-station-node strong small,.ops-rank-list strong small{color:#91a5b1}.ops-kpi-label{color:#638093}.ops-kpi-power{border-color:#bde4cc}.ops-kpi-energy{border-color:#c7dfeb}.ops-kpi-stations{border-color:#d9d0ef}.ops-kpi-alarm{border-color:#dce5e9}.ops-kpi-alarm.is-alert{border-color:#f0c7cc}.ops-kpi-alarm.is-alert strong{color:#c55762}.ops-kpi-meter{background:#e7eef0}.ops-kpi-meter i{background:linear-gradient(90deg,#29915b,#77c69a)}.ops-panel-head{border-bottom-color:#e5eef0}.ops-panel-kicker{color:#7f98a4}.ops-panel h2{color:#2d4c5f}.ops-chip{color:#678296;background:#f5f9fa}.ops-chip.active{color:#247a4c;background:#effaf3;border-color:#bfe4cd}.ops-muted{color:#8398a6}.ops-ring{background:conic-gradient(#38a36c var(--progress),#e6eef0 0)}.ops-ring:before{background:#fff}.ops-ring span{color:#2d7350}.ops-ring small{color:#62a17b}.ops-health-summary strong{color:#2a4a5e}.ops-platform-name{color:#526f82}.ops-platform-name>span{box-shadow:none}.ops-platform-name em{color:#93a5af}.ops-platform-track{background:#e6eef0}.ops-platform-row strong{color:#406077}.ops-weather-strip{background:#f8fbfb;border-top-color:#e6eef0}.ops-weather-strip strong{color:#456177}.ops-radiation{color:#758d9e}.ops-radiation em{color:#af7a25;background:#fff5df}.ops-stations-panel{background:radial-gradient(circle at 50% 45%,#40929717,#0000 54%),linear-gradient(135deg,#fff,#f8fbfb)}.ops-station-node{background:#fbfdfd;border-color:#dce7ea}.ops-station-node:hover{background:#f2faf9;border-color:#9fc5cc}.ops-station-node.active{background:linear-gradient(135deg,#effaf2,#fbfdfb);border-color:#b8e0c7}.ops-node-index{color:#96a8b3}.ops-station-node>i,.ops-dot{background:#a8b8c0}.ops-station-node.active>i,.ops-dot.on{background:#32a367;box-shadow:0 0 0 4px #32a3671c}.ops-node-name{color:#49677b}.ops-station-node strong{color:#4b6e83}.ops-station-node.active strong,.ops-rank-list strong{color:#258351}.ops-node-meta{border-top-color:#e8eff1}.ops-stations-footer{color:#7892a1;border-top-color:#e6eef0}.ops-stations-footer>span:last-child{color:#93a4ad}.ops-alert-item{background:#fff;border-color:#e0e9ec}.ops-alert-item:hover{background:#fff8f8;border-color:#e6b7bd}.ops-alert-severity{color:#71889a;background:#eef3f5}.ops-alert-item.critical .ops-alert-severity{color:#ca5260;background:#fff0f1}.ops-alert-item.warning .ops-alert-severity{color:#b77b15;background:#fff6e3}.ops-alert-item strong{color:#4a677b}.ops-all-clear i{color:#249154;border-color:#a9dfbb}.ops-all-clear strong{color:#347153}.ops-panel-link{color:#3c7ca0;border-top-color:#e5eef0}.ops-panel-link:hover{color:#236c85;background:#f2f9fb}.ops-chart-legend{color:#7691a0}.ops-chart-legend i{box-shadow:none;background:#31916c}.ops-chart-grid{stroke:#e1eaec}.ops-chart-line{stroke:#31916c}.ops-chart-tick{stroke:#c4d2d7}.ops-chart-label,.ops-chart-axis{fill:#8498a4}.ops-chart-empty{color:#8c9fa9}.ops-rank-list li{border-bottom-color:#e8eff1}.ops-rank-no{color:#7891a0;background:#eef3f5}.ops-rank-list li:first-child .ops-rank-no{color:#b9801c;background:#fff4d9}.ops-rank-list li:nth-child(2) .ops-rank-no{color:#718797;background:#edf2f4}.ops-rank-list li:nth-child(3) .ops-rank-no{color:#a06d4e;background:#fbefe8}.ops-rank-list button{color:#527084}.ops-rank-list button:hover{color:#286e83}body:has(.ds-screen){background:#eef4f5}body:has(.ds-screen) #root{background:#eef4f5}.ds-screen{color:#3b586d;background:radial-gradient(circle at 52% 8%,#4c9d9f1c,#0000 30%),#eef4f5}.ds-grid-bg{background-image:linear-gradient(#5b8f9412 1px,#0000 1px),linear-gradient(90deg,#5b8f9412 1px,#0000 1px)}.ds-header{background:#ffffffe6;border-top:3px solid #c5a04d;border-bottom-color:#d8e5e7;height:70px;min-height:70px;padding:0 28px;box-shadow:0 3px 12px #2e4e5b14}.ds-header-icon{filter:none;font-size:34px}.ds-header-text h1{color:#294a5f;letter-spacing:1px;text-shadow:none;font-size:23px}.ds-header-text p{color:#8098a5}.ds-header-time,.ds-header-power{color:#748d9e}.ds-header-power b{color:#2c7f70}.ds-main{order:2;grid-template-columns:minmax(230px,.8fr) minmax(420px,1.42fr) minmax(230px,.8fr);gap:12px;padding:13px 18px;display:grid}.ds-left,.ds-center,.ds-right{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex}.ds-panel{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffffff0;border:1px solid #d8e5e7;border-radius:11px;box-shadow:0 7px 20px #3557620e}.ds-panel:before,.ds-panel:after{display:none}.ds-panel-title{border-bottom-color:#e7eef0}.ds-panel-label{color:#48677a}.ds-big-num{color:#294a5f;text-shadow:none}.ds-big-num.accent,.ds-eco-num,.ds-top-val{color:#2e8570;text-shadow:none}.ds-sub-row,.ds-sub-info,.ds-eco-unit{color:#8198a5}.ds-sub-row b{color:#48677a}.ds-status-item.online{background:#effaf3;border-color:#bde4cb}.ds-status-item.offline{background:#f7fafb;border-color:#dce5e9}.ds-status-item.alarm{background:#fff5f6;border-color:#f0cbd0}.ds-status-item.online .ds-status-num{color:#259155;text-shadow:none}.ds-status-item.offline .ds-status-num{color:#71899b}.ds-status-item.alarm .ds-status-num{color:#ce5562;text-shadow:none}.ds-status-label{color:#8096a3}.ds-eco-item{border-bottom-color:#edf2f3}.ds-total-rev-frame{background:#fffaf0;border-color:#dac071;box-shadow:inset 0 0 15px #cda0380f}.ds-digit-box{color:#af7a1a;text-shadow:none;background:#fff8e7;border-color:#e2cc91}.ds-digit-box.punct{color:#c29440;border-color:#eee1bd}.ds-digit-unit{color:#a57827}.ds-ratio-label{color:#526f82}.ds-ratio-label i{box-shadow:none}.ds-ratio-val{color:#8198a6}.ds-ratio-track{background:#e5edef}.ds-alarm-empty{color:#288e56;text-shadow:none}.ds-alarm-item:hover{background:#f4fafb;border-left-color:#80b8bb}.ds-alarm-item:hover .ds-alarm-station{color:#396a7f}.ds-alarm-item:hover .ds-alarm-msg{color:#718a9a}.ds-alarm-station{color:#4e6d80}.ds-alarm-msg{color:#8398a5}.ds-alarm-more{color:#8da0ac}.ds-footer{background:#ffffffeb;border-top-color:#d8e5e7;order:3}.ds-marquee-item{color:#617d8e;border-right-color:#e2ebed}.so-sl-header{color:#8198a5;border-bottom-color:#e3ebed}.so-sl-body{scrollbar-color:#cbdadd transparent}.so-sl-body::-webkit-scrollbar-thumb{background:#cbdadd}.so-sl-row{color:#506e81}.so-sl-row:hover{background:#f4fafb}.so-sl-c0{color:#8ea2ac}.so-back-btn{color:#7892a3}.so-back-btn:hover{color:#356e80;background:#edf6f7}body:has(.mv-root){background:#f3f7f8}body:has(.mv-root) #root{background:#f3f7f8}.mv-root{color:#365267;background:#f3f7f8;max-width:560px;box-shadow:0 0 0 1px #e0eaed}.mv-hd{padding:calc(20px + env(safe-area-inset-top)) 22px 15px;background:#fffffff2;border-top:3px solid #c5a04d;border-bottom:1px solid #dce7ea}.mv-brand{color:#28485e;font-size:28px}.mv-time{color:#8297a5}.mv-body{padding:0 20px 22px}.mv-hero{padding-top:20px}.mv-hero-num{color:#2c7f70}.mv-hero-unit{color:#78909f}.mv-hero-sub,.mv-summary{color:#7d94a2}.mv-badge,.mv-chart-card{background:#fff;border:1px solid #dce6e9;box-shadow:0 7px 18px #3253620e}.mv-badge{border-radius:12px}.mv-badge.blue .mv-badge-num{color:#387ab6}.mv-badge.green .mv-badge-num{color:#28905b}.mv-badge-sub,.mv-badge-sub small{color:#8197a5}.mv-alert{color:#be5863;background:#fff5f6;border:1px solid #f0cbd0}.mv-row{border-bottom-color:#e3ebed}.mv-row:active,.mv-stcard:active{background:#f0f7f8}.mv-row-name,.mv-stcard-name{color:#49677a}.mv-row-sub{color:#92a3ad}.mv-row-pwr{color:#91a1aa}.mv-row-pwr.on{color:#b8801a}.mv-tab{background:#fffffff5;border-top-color:#dce7ea}.mv-tab-label{color:#8ca0ad}.mv-tab-btn.on .mv-tab-label{color:#2e7f79}.mv-icp a{color:#93a4ad}.mv-stcard{border-bottom-color:#e3ebed}.mv-stcard-vals{color:#496c81}@media (width<=1100px){.ds-main{grid-template-columns:1fr;overflow-y:auto}.ds-screen{height:auto;min-height:100vh;overflow:visible}.ds-left,.ds-right{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ds-footer{position:sticky;bottom:0}}.ui-icon{flex:none;width:1em;height:1em;display:block}.ds-header-icon{color:#c49a42;place-items:center;display:grid}.ds-header-icon .ui-icon{width:34px;height:34px}.ds-panel-icon{color:#4f8590;place-items:center;display:grid}.ds-panel-icon .ui-icon{width:15px;height:15px}.ds-data-state{color:#8196a4;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:7px;min-height:130px;padding:18px;display:flex}.ds-data-state .ui-icon{color:#81aab1;width:26px;height:26px}.ds-data-state strong{color:#4e7082;font-size:12px;font-weight:750}.ds-data-state span{color:#91a4ae;font-size:10px}.ds-data-state-compact{min-height:72px;padding:10px}.ds-data-state-compact .ui-icon{width:20px;height:20px}.ds-alarm-empty{justify-content:center;align-items:center;gap:7px;display:flex}.ds-alarm-empty .ui-icon{width:18px;height:18px}.ops-data-state{color:#8b9eaa;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:104px;padding:15px;display:flex}.ops-data-state .ui-icon{color:#87a8ad;width:24px;height:24px}.ops-data-state strong{color:#547284;font-size:12px;font-weight:750}.ops-data-state span{color:#91a2ac;font-size:10px}.ops-data-state-compact{min-height:68px;padding:10px}.ops-data-state-compact .ui-icon{width:19px;height:19px}.ops-data-state.is-spinning .ui-icon,.is-spinning{animation:1.1s linear infinite ui-icon-spin}.ops-chart-empty{height:194px}.ops-all-clear i{place-items:center;display:grid}.ops-all-clear i .ui-icon{width:15px;height:15px}.ops-rank-list>.ops-data-state{list-style:none}.self-owned-metric>i,.self-owned-empty>i,.self-owned-impact>i{place-items:center;display:grid}.self-owned-metric>i .ui-icon{width:20px;height:20px}.self-owned-empty>i .ui-icon,.self-owned-impact>i .ui-icon{width:17px;height:17px}.self-owned-data-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:18px;display:flex}.self-owned-data-state .ui-icon{color:#85a5b5;width:26px;height:26px}.self-owned-data-state strong{color:#57748b;font-size:12px}.self-owned-data-state span{color:#94a6b4;font-size:10px}.showcase-sun{color:#c79b3c;place-items:center;display:grid}.showcase-sun .ui-icon{width:25px;height:25px}.showcase-clear i{place-items:center;display:grid}.showcase-clear i .ui-icon{width:15px;height:15px}.mv-tab-icon{place-items:center;display:grid}.mv-tab-icon .ui-icon{width:21px;height:21px}.mv-alert-title{align-items:center;gap:6px;display:inline-flex}.mv-alert-title .ui-icon{width:15px;height:15px}.ops-station-node:focus-visible,.ops-alert-item:focus-visible,.ops-panel-link:focus-visible,.showcase-alert:focus-visible,.showcase-link:focus-visible,.self-owned-station-row:focus-visible,.self-owned-header-actions>a:focus-visible{outline-offset:2px;outline:3px solid #388c9c47}.main-1080 .ops-dashboard h1{color:#24465b!important}.main-1080 .ops-dashboard h2{color:#2d4c5f!important}@media (width<=1000px){.top-bar{height:54px;min-height:54px;padding:0 12px}.top-bar-left{flex:1;gap:9px;min-width:0}.top-bar-brand{font-size:14px}.top-bar-brand small{display:none}.top-bar-nav{flex:1;justify-content:space-between;gap:0;min-width:0;padding-left:8px}.top-nav-item{flex:1;justify-content:center;padding:0 5px}.top-nav-item>span:not(.top-nav-badge){display:none}.top-nav-badge{min-width:12px;padding:0 3px;font-size:8px;position:absolute;top:8px;right:4px}.top-nav-item.active:after{left:5px;right:5px}.top-bar-right{flex:none;gap:0}.top-bar-status,.top-bar-clock,.top-bar-divider,.top-bar-user>span,.top-bar-user>b{display:none}.top-bar-user{padding-left:5px}}@media (width<=520px){.top-bar{padding:0 8px}.top-bar-brand>span:last-child{display:none}.top-brand-mark{width:23px;height:23px}.top-bar-left{gap:6px}.top-bar-nav{padding-left:6px}.top-nav-item{padding:0 3px}}.station-ops-metric-icon .ui-icon,.alarm-ops-metric>i .ui-icon,.station-detail-metric>i .ui-icon{width:19px;height:19px}.station-ops-map-link>i,.station-ops-area-list>div>span{align-items:center;gap:5px;display:inline-flex}.station-ops-map-link>i .ui-icon,.station-ops-area-list>div>span .ui-icon{width:13px;height:13px}.station-ops-search>span,.alarm-ops-search>span{place-items:center;display:grid}.station-ops-search>span .ui-icon,.alarm-ops-search>span .ui-icon{width:15px;height:15px}.station-detail-address{align-items:center;gap:4px;display:inline-flex!important}.station-detail-address .ui-icon{width:13px;height:13px}.station-detail-mini-map>i{place-items:center;display:grid}.station-detail-mini-map>i .ui-icon{width:20px;height:20px}.station-detail-alarm-empty>i{place-items:center;display:grid}.station-detail-alarm-empty>i .ui-icon{width:14px;height:14px}.settings-ops-guide-list article>i{place-items:center;display:grid}.settings-ops-guide-list article>i .ui-icon{width:16px;height:16px}.ops-weather-icon,.showcase-weather>span{place-items:center;display:grid}.ops-weather-icon .ui-icon{color:#b88220;width:21px;height:21px}.showcase-weather>span .ui-icon{color:#b88220;width:24px;height:24px}.self-owned-station-weather .ui-icon{color:#b88220;width:15px;height:15px}@keyframes ui-icon-spin{to{transform:rotate(360deg)}}body:has(.mobile-ops){background:#e9f0f2;min-height:100dvh}body:has(.mobile-ops) #root{background:#e9f0f2;min-height:100dvh}.mobile-ops{box-sizing:border-box;color:#36566a;background:radial-gradient(circle at 82% 3%,#c5a04d1c,#0000 26%),radial-gradient(circle at 14% 12%,#308f841a,#0000 31%),#f4f8f8;width:100%;max-width:480px;min-height:100dvh;margin:0 auto;padding-bottom:80px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}.mops-header{z-index:10;padding:calc(13px + env(safe-area-inset-top)) 18px 13px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fafcfce8;border-top:3px solid #c7a04c;border-bottom:1px solid #d0dfe2e6;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mops-brand{align-items:center;gap:9px;min-width:0;display:flex}.mops-brand-mark{color:#35566b;background:linear-gradient(145deg,#f5e2aa,#d2ab4c);border:1px solid #dfc77c;border-radius:9px;flex:0 0 29px;place-items:center;width:29px;height:29px;display:grid;box-shadow:0 4px 12px #b2852729}.mops-brand-mark .ui-icon{width:17px;height:17px}.mops-brand div{min-width:0}.mops-brand strong,.mops-brand small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mops-brand strong{color:#294b60;letter-spacing:.2px;font-size:15px;font-weight:800}.mops-brand small{color:#8aa0aa;letter-spacing:1px;margin-top:2px;font-size:9px;font-weight:750}.mops-header-meta{color:#879ba6;flex-direction:column;align-items:flex-end;gap:3px;font-size:9px;display:flex}.mops-header-meta>span{color:#4c8670;align-items:center;gap:5px;font-weight:700;display:inline-flex}.mops-header-meta>span i{background:#34a169;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #34a1691f}.mops-header-meta>span.refreshing i{animation:.9s ease-in-out infinite mops-pulse}.mops-header-meta time{font-variant-numeric:tabular-nums}.mops-content{padding:19px 14px 24px}.mops-welcome,.mops-page-head{margin:0 3px 15px}.mops-welcome>span,.mops-page-head>span{color:#579185;letter-spacing:1.45px;font-size:9px;font-weight:800;display:block}.mops-welcome h1,.mops-page-head h1{color:#294a5f;letter-spacing:.2px;margin:4px 0 3px;font-size:25px;line-height:1.2}.mops-welcome p,.mops-page-head p{color:#8198a3;margin:0;font-size:11px;line-height:1.55}.mops-hero-card{color:#f9fffd;background:linear-gradient(135deg,#2d8479,#3d9c8d 58%,#75b8a1);border:1px solid #3c8e8547;border-radius:17px;padding:17px;overflow:hidden;box-shadow:0 14px 28px #236f672e}.mops-hero-top{color:#f6fffbc7;justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.mops-hero-top>span:last-child{white-space:nowrap;background:#11534c2e;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:5px;padding:5px 7px;font-size:9px;display:inline-flex}.mops-hero-top i{background:#d7f5d9;border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 3px #d7f5d91a}.mops-hero-value{align-items:baseline;gap:7px;margin:10px 0 12px;display:flex}.mops-hero-value strong{letter-spacing:-1.5px;font-variant-numeric:tabular-nums;font-size:46px;font-weight:760;line-height:.95}.mops-hero-value span{color:#f6fffbcc;font-size:14px;font-weight:700}.mops-hero-foot{color:#f6fffbb8;grid-template-columns:auto auto minmax(60px,1fr);align-items:center;gap:7px;font-size:10px;display:grid}.mops-hero-foot b{color:#fff;font-size:11px}.mops-hero-foot>i{background:#e7fff838;border-radius:99px;height:4px;display:block;overflow:hidden}.mops-hero-foot>i>em{border-radius:inherit;background:#f3d582;min-width:3px;height:100%;display:block}.mops-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:11px 0;display:grid}.mops-summary-grid article{background:#ffffffeb;border:1px solid #dbe7e8;border-radius:13px;gap:9px;min-width:0;padding:12px 10px;display:flex;box-shadow:0 7px 17px #35545f0b}.mops-card-icon{border-radius:9px;flex:0 0 29px;place-items:center;width:29px;height:29px;display:grid}.mops-card-icon .ui-icon{width:16px;height:16px}.mops-card-icon.energy{color:#327cb4;background:#eaf4fd}.mops-card-icon.revenue{color:#ad7d22;background:#fff6df}.mops-summary-grid div{min-width:0}.mops-summary-grid small,.mops-summary-grid strong,.mops-summary-grid em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mops-summary-grid small{color:#8299a4;font-size:9px}.mops-summary-grid strong{color:#31536a;font-variant-numeric:tabular-nums;margin-top:3px;font-size:14px}.mops-summary-grid em{color:#99aab2;margin-top:3px;font-size:8px;font-style:normal}.mops-panel{background:#ffffffed;border:1px solid #dbe7e8;border-radius:14px;margin-top:11px;overflow:hidden;box-shadow:0 8px 20px #35545f0d}.mops-panel>header{border-bottom:1px solid #e8eff0;justify-content:space-between;align-items:center;gap:10px;padding:13px 13px 11px;display:flex}.mops-panel>header>div>span{color:#849ba4;letter-spacing:1.3px;margin-bottom:3px;font-size:8px;font-weight:800;display:block}.mops-panel h2{color:#35566b;margin:0;font-size:14px;line-height:1.15}.mops-panel>header>em{color:#8a9fa7;white-space:nowrap;align-items:center;gap:4px;font-size:9px;font-style:normal;display:inline-flex}.mops-panel>header>em .ui-icon{width:11px;height:11px}.mops-panel>header>button{color:#397c88;cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:2px;padding:0;font-size:10px;font-weight:750;display:inline-flex}.mops-panel>header>button .ui-icon{width:13px;height:13px}.mops-trend-panel{min-height:243px}.mops-empty{color:#91a4aa;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:125px;padding:13px;display:flex}.mops-empty .ui-icon{color:#7fa7a9;width:23px;height:23px;margin-bottom:2px}.mops-empty strong{color:#5c7a87;font-size:11px}.mops-empty span{color:#98a9af;max-width:220px;font-size:9px;line-height:1.5}.mops-attention-panel{min-height:114px}.mops-alarm,.mops-all-clear{align-items:center;gap:10px;min-height:64px;padding:12px 13px;display:flex}.mops-alarm{width:100%;color:inherit;cursor:pointer;text-align:left;background:#fff9f9;border:0}.mops-alarm>span,.mops-all-clear>span{border-radius:9px;flex:0 0 28px;place-items:center;width:28px;height:28px;display:grid}.mops-alarm>span{color:#c6646c;background:#fff0f1}.mops-all-clear>span{color:#29945a;background:#f3fcf6;border:1px solid #a9dfbb;border-radius:50%}.mops-alarm .ui-icon,.mops-all-clear .ui-icon{width:15px;height:15px}.mops-alarm div,.mops-all-clear div{min-width:0}.mops-alarm strong,.mops-alarm small,.mops-all-clear strong,.mops-all-clear small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mops-alarm strong{color:#6d525c;font-size:11px}.mops-alarm small,.mops-all-clear small{color:#9c9ea5;margin-top:3px;font-size:9px}.mops-alarm em{color:#bf626a;white-space:nowrap;margin-left:auto;font-size:10px;font-style:normal}.mops-all-clear strong{color:#367251;font-size:11px}.mops-station-row{width:100%;min-height:61px;color:inherit;cursor:pointer;font:inherit;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf2f3;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:9px 13px;transition:background .16s;display:grid}.mops-station-row:last-child{border-bottom:0}.mops-station-row:active{background:#f2f8f8}.mops-station-dot{background:#a6b6bd;border-radius:50%;width:7px;height:7px}.mops-station-dot.generating{background:#31a260;box-shadow:0 0 0 4px #31a2601c}.mops-station-dot.standby{background:#5e9eca}.mops-station-copy{min-width:0}.mops-station-copy strong,.mops-station-copy small,.mops-station-output strong,.mops-station-output small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mops-station-copy strong{color:#45657a;font-size:11px;font-weight:750}.mops-station-copy small{color:#97a8ae;margin-top:3px;font-size:9px}.mops-station-output{text-align:right;min-width:78px}.mops-station-output strong{color:#318161;font-variant-numeric:tabular-nums;font-size:11px}.mops-station-output small{color:#99a9af;margin-top:3px;font-size:8px}.mops-station-row>.ui-icon{color:#9ab0b8;width:15px;height:15px}.mops-page-head{margin-bottom:14px}.mops-search{box-sizing:border-box;color:#8aa0a8;background:#fff;border:1px solid #d7e4e6;border-radius:12px;align-items:center;gap:8px;height:42px;padding:0 12px;display:flex;box-shadow:0 5px 15px #35545f09}.mops-search .ui-icon{width:16px;height:16px}.mops-search input{color:#466378;min-width:0;font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:12px}.mops-search input::placeholder{color:#a6b4ba}.mops-filter{gap:7px;margin:10px 0 11px;display:flex}.mops-filter button{color:#839aa4;cursor:pointer;font:inherit;background:#fff;border:1px solid #dce7e8;border-radius:8px;align-items:center;gap:5px;padding:7px 9px;font-size:10px;display:inline-flex}.mops-filter button.active{color:#2e8173;background:#eef9f5;border-color:#b9dfd4;font-weight:750}.mops-filter b{font-size:9px}.mops-list-panel{margin-top:0}.mops-list-panel>header>em{color:#77909c;background:#f2f6f7;border-radius:99px;padding:4px 6px}.mops-asset-hero{background:linear-gradient(135deg,#3d778f,#3d9c8d 62%,#77b89e)}.mops-asset-facts{background:#134d4e21;border-top:1px solid #ffffff29;grid-template-columns:repeat(3,minmax(0,1fr));margin:14px -17px -17px;display:grid}.mops-asset-facts span{border-right:1px solid #ffffff21;min-width:0;padding:10px 9px}.mops-asset-facts span:last-child{border-right:0}.mops-asset-facts small,.mops-asset-facts b{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mops-asset-facts small{color:#f5fffcb0;font-size:8px}.mops-asset-facts b{color:#fff;font-variant-numeric:tabular-nums;margin-top:4px;font-size:10px}.mops-tabbar{z-index:20;box-sizing:border-box;width:min(100%,480px);min-height:64px;padding:7px 16px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fcfdfdf2;border-top:1px solid #dce8e9;margin:auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #314d590f}.mops-tabbar button{color:#91a3aa;cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:9px;display:flex}.mops-tabbar button .ui-icon{width:19px;height:19px}.mops-tabbar button.active{color:#2e8276;font-weight:750}.mops-tabbar button.active .ui-icon{filter:drop-shadow(0 3px 4px #2e827626)}@keyframes mops-pulse{50%{opacity:.45;transform:scale(.72)}}@media (width>=600px){.mobile-ops{box-shadow:0 0 0 1px #d6e3e5,0 20px 48px #2a485424}.mops-tabbar{border-left:1px solid #dce8e9;border-right:1px solid #dce8e9}}
