.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:#0b1120;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;height:48px;min-height:48px;padding:0 20px;display:flex}.top-bar-left{align-items:center;gap:32px;display:flex}.top-bar-brand{color:#fff;letter-spacing:.5px;font-size:16px;font-weight:700}.top-bar-nav{gap:4px;display:flex}.top-nav-item{color:#8890a8;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;text-decoration:none;transition:all .15s;display:flex}.top-nav-item:hover{color:#d1d5db;background:#ffffff0f}.top-nav-item.active{color:#fff;background:#2563eb;font-weight:600}.top-nav-badge{color:#fff;background:#ef4444;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.4}.top-bar-right{align-items:center;gap:12px;font-size:13px;display:flex}.top-bar-clock{color:#94a3b8;font-variant-numeric:tabular-nums}.top-bar-divider{color:#ffffff1a}.top-bar-logout{color:#8890a8;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:6px;padding:4px 12px;font-size:12px}.top-bar-logout:hover{color:#e5e7eb;background:#ffffff0f}.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:linear-gradient(135deg,#1d4ed8,#2563eb)}.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}.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)}}.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-icon{filter:drop-shadow(0 0 8px #00b4ff66);font-size:42px}.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-item.online .ds-status-num{color:#0f8;text-shadow:0 0 30px #00ff64b3}.ds-status-item.offline .ds-status-num{color:#809098}.ds-status-item.alarm .ds-status-num{color:#f44;text-shadow:0 0 30px #ff3c3cb3}.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:hover{background:#00a0dc14;border-left-color:#00d4ff66}.ds-alarm-item:hover .ds-alarm-station{color:#8cd4f0}.ds-alarm-item:hover .ds-alarm-msg{color:#7a9ab8}.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-row:hover{background:#ffffff0a}.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.blue .mv-badge-num{color:#60a5fa}.mv-badge.green .mv-badge-num{color:#34d399}.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-row-pwr.on{color:#fbbf24}.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}
