*{margin:0;padding:0;box-sizing:border-box}:root{--color-900: #0d1a2d;--color-950: #0a1628;--bg-primary: #0a1628;--bg-secondary: #0d1a2d;--bg-card: rgba(13, 26, 45, .9);--border-color: rgba(0, 212, 255, .3);--text-primary: #ffffff;--text-secondary: #8ba3c7;--accent-cyan: #00d4ff;--accent-blue: #0099cc;--accent-green: #00ff88;--accent-yellow: #ffcc00;--accent-red: #ff4757;--accent-orange: #ff9500}body{font-family:Microsoft YaHei,PingFang SC,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden}#app{width:100%;min-height:100vh}.tech-border{position:relative;border:1px solid var(--border-color);background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tech-border:before,.tech-border:after{content:"";position:absolute;width:10px;height:10px;border:2px solid var(--accent-cyan)}.tech-border:before{top:-2px;left:-2px;border-right:none;border-bottom:none}.tech-border:after{bottom:-2px;right:-2px;border-left:none;border-top:none}.card-title{font-size:14px;font-weight:700;color:var(--text-primary);padding:12px 15px;border-bottom:1px solid var(--color-700);display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,rgba(0,212,255,.1) 0%,transparent 100%)}.card-title:before{content:"";width:4px;height:16px;background:linear-gradient(180deg,var(--accent-cyan),var(--accent-blue));border-radius:2px;box-shadow:0 0 8px #00d4ff80}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--accent-cyan)}50%{box-shadow:0 0 20px var(--accent-cyan)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.pulse{animation:pulse 2s ease-in-out infinite}.blink{animation:blink 1.5s ease-in-out infinite}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent-cyan)}.header[data-v-6869f689]{position:fixed;top:0;left:0;right:0;z-index:50;padding:10px 0;pointer-events:none}.header[data-v-6869f689]>*{pointer-events:auto}.header-bg[data-v-6869f689]{display:none}.header-content[data-v-6869f689]{position:relative;display:flex;align-items:flex-start;justify-content:center}.header-left[data-v-6869f689]{display:none}.header-center[data-v-6869f689]{display:flex;flex-direction:column;align-items:center;pointer-events:none}.header-center[data-v-6869f689]>*{pointer-events:auto}.title-wrapper[data-v-6869f689]{display:flex;align-items:center;gap:15px;margin-bottom:10px;position:relative}.title[data-v-6869f689]{font-size:24px;font-weight:700;background:linear-gradient(180deg,#fff,#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:6px}.title-decoration[data-v-6869f689]{width:80px;height:15px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 20'%3E%3Cpath d='M0 10 L30 10 L40 0 L80 0 L90 10 L120 10' stroke='%2300d4ff' fill='none' stroke-width='2'/%3E%3C/svg%3E") no-repeat center;background-size:contain;opacity:.7}.title-decoration.right[data-v-6869f689]{transform:scaleX(-1)}.stats-row[data-v-6869f689]{display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap;gap:0;background:#0a1628b3;border:1px solid rgba(0,212,255,.35);border-radius:4px;padding:6px 12px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.stat-item[data-v-6869f689]{display:flex;align-items:center;gap:6px;padding:0 10px;flex-shrink:0}.stat-divider[data-v-6869f689]{width:1px;height:30px;background:#00d4ff66}.stat-label[data-v-6869f689]{font-size:11px;color:var(--text-secondary);margin-right:5px}.stat-value[data-v-6869f689]{font-size:16px;font-weight:700;color:#00d4ff}.stat-unit[data-v-6869f689]{font-size:11px;color:var(--text-secondary);margin-left:2px}.header-right[data-v-6869f689]{display:none}.openadr-text[data-v-6869f689]{position:absolute;right:-180px;font-size:11px;font-weight:700;color:#0f8;text-shadow:0 0 8px rgba(0,255,136,.5);letter-spacing:1px;border:1.5px solid #00ff88;border-radius:6px;padding:4px 12px;box-shadow:0 0 8px #00ff8840,inset 0 0 8px #00ff8814;animation:neon-pulse-6869f689 2.5s ease-in-out infinite;white-space:nowrap}@keyframes neon-pulse-6869f689{0%,to{box-shadow:0 0 8px #00ff8840,inset 0 0 8px #00ff8814;text-shadow:0 0 8px rgba(0,255,136,.5);border-color:#0f8}50%{box-shadow:0 0 16px #00ff8873,inset 0 0 12px #00ff8826;text-shadow:0 0 14px rgba(0,255,136,.8);border-color:#00ff88b3}}.stat-slash[data-v-6869f689]{font-size:13px;color:var(--text-secondary);margin:0 2px}.revenue-row[data-v-6869f689]{margin-top:6px}.row-title[data-v-6869f689]{font-size:11px;font-weight:600;color:#fc0;padding:0 10px;flex-shrink:0;letter-spacing:1px}.stat-value.profit[data-v-6869f689]{color:#0f8}.panel-card[data-v-f3477e74]{position:relative;background:#0d1a2de6;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(0,212,255,.3);border-radius:8px;overflow:visible;box-shadow:0 0 20px #0006,inset 0 1px #ffffff08}.panel-card[data-v-f3477e74]:before,.panel-card[data-v-f3477e74]:after{content:"";position:absolute;width:12px;height:12px;border:2px solid rgba(0,212,255,.6)}.panel-card[data-v-f3477e74]:before{top:-1px;left:-1px;border-right:none;border-bottom:none}.panel-card[data-v-f3477e74]:after{bottom:-1px;right:-1px;border-left:none;border-top:none}.card-header[data-v-f3477e74]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid rgba(0,212,255,.2)}.card-title[data-v-f3477e74]{font-size:13px;font-weight:500;color:#fff;letter-spacing:1px}.card-content[data-v-f3477e74]{padding:10px 12px}.solar-power-chart[data-v-48cb57f4]{display:flex;flex-direction:column}.chart[data-v-48cb57f4]{width:100%;height:200px}.load-chart[data-v-d5dfd0b9]{display:flex;flex-direction:column}.chart[data-v-d5dfd0b9]{width:100%;height:200px}.reserve-power-chart[data-v-ab20ef3e]{display:flex;flex-direction:column}.chart[data-v-ab20ef3e]{width:100%;height:200px}.left-panel[data-v-2eb92a86]{display:flex;flex-direction:column;gap:15px}.power-track[data-v-ede318e5]{width:100%;height:100%;min-height:350px;display:flex;flex-direction:column;overflow:visible}.schedule-panel[data-v-ede318e5]{padding:10px 16px;margin:0 8px 6px;background:#00bcd414;border:1px solid rgba(0,188,212,.25);border-radius:8px;flex-shrink:0;overflow:visible}.panel-header[data-v-ede318e5]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.panel-title[data-v-ede318e5]{font-size:13px;font-weight:600;color:#00bcd4}.schedule-panel.readonly .panel-body[data-v-ede318e5]{padding:0}.season-badge[data-v-ede318e5]{font-size:11px;color:#0f172a;background:#00d4ff;border-radius:10px;padding:2px 10px;font-weight:600}.periods-view[data-v-ede318e5]{display:flex;flex-wrap:wrap;gap:8px}.period-chip[data-v-ede318e5]{font-size:12px;padding:3px 10px;border-radius:12px;color:#e2e8f0;border:1px solid transparent}.period-chip.charge[data-v-ede318e5]{background:#3b82f62e;border-color:#3b82f680}.period-chip.discharge[data-v-ede318e5]{background:#f59e0b2e;border-color:#f59e0b80}.period-empty[data-v-ede318e5]{font-size:12px;color:#94a3b8}.panel-info[data-v-ede318e5]{font-size:11px;color:#8ba3c7}.panel-body[data-v-ede318e5]{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.periods-list[data-v-ede318e5]{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}.field-group[data-v-ede318e5]{display:flex;align-items:center;gap:6px}.remove-btn[data-v-ede318e5]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:1px solid rgba(255,107,107,.3);border-radius:3px;color:#ff6b6b;cursor:pointer;opacity:.6;transition:all .2s;padding:0}.remove-btn[data-v-ede318e5]:hover:not(:disabled){opacity:1;background:#ff6b6b26;border-color:#ff6b6b}.remove-btn[data-v-ede318e5]:disabled{opacity:.2;cursor:not-allowed}.period-actions[data-v-ede318e5]{display:flex;gap:8px}.add-btn[data-v-ede318e5]{padding:4px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s;background:transparent}.add-btn.charge-add[data-v-ede318e5]{border:1px dashed rgba(0,212,255,.4);color:#00d4ff}.add-btn.charge-add[data-v-ede318e5]:hover{background:#00d4ff1a;border-color:#00d4ff}.add-btn.discharge-add[data-v-ede318e5]{border:1px dashed rgba(255,107,107,.4);color:#ff6b6b}.add-btn.discharge-add[data-v-ede318e5]:hover{background:#ff6b6b1a;border-color:#ff6b6b}.save-row[data-v-ede318e5]{display:flex;align-items:center;gap:10px}.field-label[data-v-ede318e5]{font-size:12px;font-weight:500;min-width:32px}.charge-label[data-v-ede318e5]{color:#00d4ff}.discharge-label[data-v-ede318e5]{color:#ff6b6b}.field-sep[data-v-ede318e5]{color:#8ba3c7;font-size:12px}.schedule-panel select[data-v-ede318e5]{background:#0000004d;border:1px solid rgba(0,212,255,.3);border-radius:4px;color:#fff;font-size:12px;padding:4px 6px;cursor:pointer;outline:none}.schedule-panel select[data-v-ede318e5]:focus{border-color:#00d4ff}.save-btn[data-v-ede318e5]{padding:5px 16px;background:#00bcd433;border:1px solid rgba(0,188,212,.5);border-radius:4px;color:#00bcd4;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.save-btn[data-v-ede318e5]:hover:not(:disabled){background:#00bcd459;border-color:#00bcd4}.save-btn[data-v-ede318e5]:disabled{opacity:.5;cursor:not-allowed}.save-msg[data-v-ede318e5]{font-size:12px;color:#0f8}.save-msg.error[data-v-ede318e5]{color:#ff6b6b}.loading-text[data-v-ede318e5]{font-size:12px;color:#8ba3c7}.date-nav[data-v-ede318e5]{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 16px}.nav-btn[data-v-ede318e5]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);border-radius:6px;color:#00d4ff;cursor:pointer;transition:all .2s;padding:0}.nav-btn[data-v-ede318e5]:hover:not(:disabled){background:#00d4ff40;border-color:#00d4ff}.nav-btn[data-v-ede318e5]:disabled{opacity:.3;cursor:not-allowed}.date-label[data-v-ede318e5]{font-size:14px;font-weight:600;color:#e0e8f0;min-width:120px;text-align:center}.today-btn[data-v-ede318e5]{margin-left:8px;padding:4px 12px;background:#00ff881a;border:1px solid rgba(0,255,136,.3);border-radius:4px;color:#0f8;font-size:12px;cursor:pointer;transition:all .2s}.today-btn[data-v-ede318e5]:hover{background:#00ff8840;border-color:#0f8}.price-legend[data-v-ede318e5]{display:flex;justify-content:flex-end;gap:15px;padding:5px 20px;font-size:11px;color:#8ba3c7}.price-season[data-v-ede318e5]{font-weight:500;color:#a0b4cc}.price-item[data-v-ede318e5]{display:flex;align-items:center;gap:5px}.price-item .color[data-v-ede318e5]{width:14px;height:14px;border-radius:3px}.price-item .color.off-peak[data-v-ede318e5]{background:#91c08b}.price-item .color.semi-peak[data-v-ede318e5]{background:#ffbf99}.price-item .color.peak[data-v-ede318e5]{background:#fe8f89}.chart[data-v-ede318e5]{flex:1;width:100%;min-height:320px}.floating-modal[data-v-19c56c9e]{position:fixed;background:linear-gradient(135deg,#0d1a2dfa 0% 100%);border:1px solid rgba(0,212,255,.5);overflow:hidden;box-shadow:0 8px 50px #0009,0 0 30px #00d4ff33;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;transform:scale(.02);opacity:0;border-radius:50%;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .4s cubic-bezier(.34,1.56,.64,1),border-radius .4s cubic-bezier(.34,1.56,.64,1)}.floating-modal.is-open[data-v-19c56c9e]{transform:scale(1);opacity:1;border-radius:12px}.modal-header[data-v-19c56c9e]{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:linear-gradient(90deg,rgba(0,212,255,.15),transparent);border-bottom:1px solid rgba(0,212,255,.3);cursor:move;flex-shrink:0;gap:15px}.header-left[data-v-19c56c9e]{display:flex;align-items:center;gap:12px;flex-shrink:0}.status-indicator[data-v-19c56c9e]{width:10px;height:10px;background:#0f8;border-radius:50%;box-shadow:0 0 10px #0f8;animation:pulse-19c56c9e 2s infinite}@keyframes pulse-19c56c9e{0%,to{opacity:1}50%{opacity:.5}}.modal-title[data-v-19c56c9e]{font-size:16px;font-weight:700;color:#fff;margin:0;white-space:nowrap}.modal-subtitle[data-v-19c56c9e]{font-size:12px;color:#8ba3c7;padding-left:12px;border-left:1px solid rgba(0,212,255,.3);white-space:nowrap}.header-tabs[data-v-19c56c9e]{display:flex;gap:4px;flex:1;justify-content:center;position:relative}.tab-indicator[data-v-19c56c9e]{position:absolute;top:50%;transform:translateY(-50%);height:calc(100% - 4px);background:#00d4ff40;border:1px solid rgba(0,212,255,.5);border-radius:6px;pointer-events:none;z-index:0;opacity:0}.tab-indicator.ready[data-v-19c56c9e]{opacity:1}.tab-indicator.animated[data-v-19c56c9e]{transition:left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)}.tab-btn[data-v-19c56c9e]{padding:6px 16px;background:transparent;border:1px solid transparent;border-radius:6px;color:#8ba3c7;font-size:12px;cursor:pointer;white-space:nowrap;position:relative;z-index:1;transition:color .3s ease}.tab-btn[data-v-19c56c9e]:hover,.tab-btn.active[data-v-19c56c9e]{color:#fff}.close-btn[data-v-19c56c9e]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(0,212,255,.3);border-radius:6px;color:#8ba3c7;cursor:pointer;transition:all .3s;flex-shrink:0}.close-btn[data-v-19c56c9e]:hover{border-color:#ff4757;color:#ff4757;background:#ff47571a}.close-btn svg[data-v-19c56c9e]{width:16px;height:16px}.modal-content[data-v-19c56c9e]{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.tab-content[data-v-19c56c9e]{flex:1;padding:15px;overflow-y:auto;min-height:0;display:flex;flex-direction:column;transition:opacity .2s ease-out,transform .2s ease-out}.modal-content.tab-switching .tab-content[data-v-19c56c9e]{opacity:0;transform:translate(15px)}.modal-content:not(.tab-switching) .tab-content[data-v-19c56c9e]{opacity:1;transform:translate(0)}.tab-content[data-v-19c56c9e]>.realtime-power,.tab-content[data-v-19c56c9e]>.system-flow{height:100%;min-height:400px}.tab-content[data-v-19c56c9e]>.power-track{flex:1;display:flex;flex-direction:column;min-height:0}.tab-content[data-v-19c56c9e]>.power-diagram,.tab-content[data-v-19c56c9e]>.flow-diagram{height:100%!important;min-height:350px}.tab-content[data-v-19c56c9e]>.power-track .chart{flex:1;min-height:300px}.stats-grid[data-v-19c56c9e]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:15px;flex-shrink:0;min-height:80px}.stat-card[data-v-19c56c9e]{display:flex;align-items:center;gap:10px;padding:12px;background:#0000004d;border:1px solid rgba(0,212,255,.2);border-radius:8px}.stat-icon[data-v-19c56c9e]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.stat-icon svg[data-v-19c56c9e]{width:20px;height:20px}.stat-icon.power-icon[data-v-19c56c9e]{background:#00d4ff33;color:#00d4ff}.stat-icon.capacity-icon[data-v-19c56c9e]{background:#fc03;color:#fc0}.stat-icon.charge-icon[data-v-19c56c9e]{background:#0f83;color:#0f8}.stat-icon.discharge-icon[data-v-19c56c9e]{background:#ff475733;color:#ff4757}.stat-info[data-v-19c56c9e]{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-label[data-v-19c56c9e]{font-size:11px;color:#8ba3c7}.stat-value[data-v-19c56c9e]{font-size:18px;font-weight:700;color:#fff}.stat-value small[data-v-19c56c9e]{font-size:11px;font-weight:400;color:#8ba3c7}.charts-grid[data-v-19c56c9e]{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:12px;flex:1;min-height:380px}.chart-box[data-v-19c56c9e]{background:#0000004d;border:1px solid rgba(0,212,255,.2);border-radius:8px;overflow:hidden}.chart-box.power-chart[data-v-19c56c9e]{grid-column:1;grid-row:1}.chart-box.soc-chart[data-v-19c56c9e]{grid-column:2;grid-row:1 / 3}.chart-box.daily-chart[data-v-19c56c9e]{grid-column:1;grid-row:2}.chart[data-v-19c56c9e]{width:100%;height:100%}.resize-handle[data-v-19c56c9e]{position:absolute;right:4px;bottom:4px;width:20px;height:20px;cursor:se-resize;color:#00d4ff66;display:flex;align-items:center;justify-content:center;transition:color .2s}.resize-handle[data-v-19c56c9e]:hover{color:#00d4ff}.tab-btn.energy-saving[data-v-19c56c9e]:hover{background:#8bc34a26}.tab-btn.energy-saving.active[data-v-19c56c9e]{color:#8bc34a}.tab-btn.green-energy[data-v-19c56c9e]:hover{background:#4caf5026}.tab-btn.green-energy.active[data-v-19c56c9e]{color:#4caf50}.tab-btn.storage[data-v-19c56c9e]:hover{background:#9c27b026}.tab-btn.storage.active[data-v-19c56c9e]{color:#9c27b0}.tab-btn.charging[data-v-19c56c9e]:hover{background:#00bcd426}.tab-btn.charging.active[data-v-19c56c9e]{color:#00bcd4}.tab-btn.smart[data-v-19c56c9e]:hover{background:#2196f326}.tab-btn.smart.active[data-v-19c56c9e]{color:#2196f3}.tab-btn.track[data-v-19c56c9e]:hover{background:#9c27b026}.tab-btn.track.active[data-v-19c56c9e]{color:#9c27b0}.switch-item[data-v-19c56c9e]{display:flex;flex-direction:column;align-items:center}.toggle-switch[data-v-19c56c9e]{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.switch-track[data-v-19c56c9e]{width:50px;height:26px;background:#f443364d;border:2px solid #f44336;border-radius:13px;position:relative;transition:all .3s ease}.switch-track.on[data-v-19c56c9e]{background:#4caf504d;border-color:#4caf50}.switch-thumb[data-v-19c56c9e]{width:18px;height:18px;background:#f44336;border-radius:50%;position:absolute;top:2px;left:2px;transition:all .3s ease;box-shadow:0 2px 4px #0000004d}.switch-track.on .switch-thumb[data-v-19c56c9e]{left:26px;background:#4caf50}.switch-label[data-v-19c56c9e]{font-size:16px;font-weight:700;color:#f44336;min-width:35px;transition:color .3s ease}.switch-label.on[data-v-19c56c9e]{color:#4caf50}.section-grid[data-v-19c56c9e]{display:grid;grid-template-columns:1fr 1fr;gap:20px;height:100%}.info-section[data-v-19c56c9e]{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px}.info-section.full-width[data-v-19c56c9e]{grid-column:1 / -1}.section-title[data-v-19c56c9e]{font-size:14px;font-weight:700;color:#fff;margin:0 0 15px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}.info-list[data-v-19c56c9e]{list-style:none;padding:0;margin:0}.info-list li[data-v-19c56c9e]{padding:8px 0;color:#b0bec5;font-size:13px;display:flex;align-items:center;gap:8px}.info-list li strong[data-v-19c56c9e]{color:#fff;font-weight:600}.info-list .sub-title[data-v-19c56c9e]{margin-top:10px;color:#8ba3c7;font-size:12px}.info-list .sub-item[data-v-19c56c9e]{padding-left:20px;font-size:12px}.status-dot[data-v-19c56c9e]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.online[data-v-19c56c9e]{background:#4caf50;box-shadow:0 0 6px #4caf50}.status-dot.offline[data-v-19c56c9e]{background:#f44336;box-shadow:0 0 6px #f44336}.dashboard-grid[data-v-19c56c9e]{display:grid;grid-template-columns:1fr 1fr;gap:20px;height:100%}.dashboard-grid.single-column[data-v-19c56c9e]{grid-template-columns:1fr}.dashboard-card[data-v-19c56c9e]{background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.dashboard-card.full-width[data-v-19c56c9e]{grid-column:1 / -1}.card-header[data-v-19c56c9e]{display:flex;align-items:center;gap:10px;padding:15px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.card-header h3[data-v-19c56c9e]{margin:0;font-size:14px;font-weight:600;color:#fff}.card-icon[data-v-19c56c9e]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px}.card-icon svg[data-v-19c56c9e]{width:18px;height:18px}.energy-saving-header[data-v-19c56c9e]{background:#8bc34a26}.energy-saving-header .card-icon[data-v-19c56c9e]{background:#8bc34a4d;color:#8bc34a}.energy-saving-value[data-v-19c56c9e]{color:#8bc34a!important}.green-energy-header[data-v-19c56c9e]{background:#4caf5026}.green-energy-header .card-icon[data-v-19c56c9e]{background:#4caf504d;color:#4caf50}.green-energy-value[data-v-19c56c9e]{color:#4caf50!important}.storage-header[data-v-19c56c9e]{background:#9c27b026}.storage-header .card-icon[data-v-19c56c9e]{background:#9c27b04d;color:#9c27b0}.storage-value[data-v-19c56c9e]{color:#9c27b0!important}.charging-header[data-v-19c56c9e]{background:#00bcd426}.charging-header .card-icon[data-v-19c56c9e]{background:#00bcd44d;color:#00bcd4}.smart-header[data-v-19c56c9e]{background:#2196f326}.smart-header .card-icon[data-v-19c56c9e]{background:#2196f34d;color:#2196f3}.card-body[data-v-19c56c9e]{padding:20px;flex:1}.device-item[data-v-19c56c9e]{display:flex;align-items:center;gap:12px;padding:12px 15px;background:#ffffff08;border-radius:8px;margin-bottom:10px}.device-item[data-v-19c56c9e]:last-child{margin-bottom:0}.status-indicator[data-v-19c56c9e]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-indicator.online[data-v-19c56c9e]{background:#4caf50;box-shadow:0 0 8px #4caf50}.status-indicator.offline[data-v-19c56c9e]{background:#f44336;box-shadow:0 0 8px #f44336}.device-name[data-v-19c56c9e]{flex:1;color:#fff;font-size:13px}.device-status[data-v-19c56c9e]{font-size:12px;padding:4px 10px;border-radius:12px}.device-status.online[data-v-19c56c9e]{background:#4caf5033;color:#4caf50}.device-status.offline[data-v-19c56c9e]{background:#f4433633;color:#f44336}.device-status.in-use[data-v-19c56c9e]{background:#00bcd433;color:#00bcd4}.device-status.standby[data-v-19c56c9e]{background:#ffc10733;color:#ffc107}.status-indicator.in-use[data-v-19c56c9e]{background:#00bcd4;box-shadow:0 0 8px #00bcd4}.status-indicator.standby[data-v-19c56c9e]{background:#ffc107;box-shadow:0 0 8px #ffc107}.battery-indicator[data-v-19c56c9e]{display:flex;align-items:center;gap:6px;margin-left:auto;margin-right:10px}.battery-body[data-v-19c56c9e]{width:32px;height:14px;border:2px solid #8ba3c7;border-radius:3px;padding:1px;position:relative}.battery-level[data-v-19c56c9e]{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:1px;transition:width .3s}.battery-level.low[data-v-19c56c9e]{background:linear-gradient(90deg,#f44336,#ff5722)}.battery-head[data-v-19c56c9e]{width:3px;height:6px;background:#8ba3c7;border-radius:0 2px 2px 0}.battery-text[data-v-19c56c9e]{font-size:11px;color:#8ba3c7;min-width:32px}.metric-grid[data-v-19c56c9e]{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.metric-grid.three-col[data-v-19c56c9e]{grid-template-columns:repeat(3,1fr)}.flow-system[data-v-19c56c9e]{display:flex;align-items:center;justify-content:space-between;background:#ffffff08;border-radius:12px;padding:28px 25px 20px;margin-top:15px;position:relative;overflow:hidden}.flow-title[data-v-19c56c9e]{position:absolute;top:10px;left:0;right:0;text-align:center;font-size:11px;color:#8ba3c7}.flow-inlet[data-v-19c56c9e],.flow-outlet[data-v-19c56c9e]{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:60px}.flow-temp[data-v-19c56c9e]{display:flex;align-items:baseline;gap:2px}.flow-temp .temp-val[data-v-19c56c9e]{font-size:28px;font-weight:700}.flow-temp .temp-unit[data-v-19c56c9e]{font-size:14px;color:#8ba3c7}.cold-system .flow-temp .temp-val[data-v-19c56c9e]{color:#00bcd4}.warm-system .flow-temp .temp-val[data-v-19c56c9e]{color:#ff7043}.flow-label[data-v-19c56c9e]{font-size:11px;color:#8ba3c7;text-transform:uppercase;letter-spacing:1px}.flow-pipe[data-v-19c56c9e]{flex:1;display:flex;align-items:center;height:20px;margin:0 10px}.pipe-line[data-v-19c56c9e]{flex:1;height:4px;border-radius:2px;position:relative;overflow:hidden}.cold-system .pipe-line[data-v-19c56c9e]{background:linear-gradient(90deg,#00bcd44d,#00bcd480)}.warm-system .pipe-line[data-v-19c56c9e]{background:linear-gradient(90deg,#ff70434d,#ff704380)}.flow-dots[data-v-19c56c9e]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center}.flow-dots span[data-v-19c56c9e]{width:8px;height:4px;border-radius:2px;position:absolute;animation:flowMove-19c56c9e 1.5s linear infinite}.cold-system .flow-dots span[data-v-19c56c9e]{background:#00bcd4;box-shadow:0 0 8px #00bcd4}.warm-system .flow-dots span[data-v-19c56c9e]{background:#ff7043;box-shadow:0 0 8px #ff7043}.flow-dots span[data-v-19c56c9e]:nth-child(1){animation-delay:0s}.flow-dots span[data-v-19c56c9e]:nth-child(2){animation-delay:.5s}.flow-dots span[data-v-19c56c9e]:nth-child(3){animation-delay:1s}@keyframes flowMove-19c56c9e{0%{left:-10px;opacity:0}10%{opacity:1}90%{opacity:1}to{left:100%;opacity:0}}.pipe-arrow[data-v-19c56c9e]{font-size:16px;margin:0 5px}.cold-system .pipe-arrow[data-v-19c56c9e]{color:#00bcd4}.warm-system .pipe-arrow[data-v-19c56c9e]{color:#ff7043}.flow-device[data-v-19c56c9e]{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;margin-top:8px}.flow-device svg[data-v-19c56c9e]{width:32px;height:32px;position:relative;z-index:1}.flow-device.cold[data-v-19c56c9e]{background:linear-gradient(135deg,#00bcd44d,#00bcd426);border:2px solid rgba(0,188,212,.6);color:#00bcd4}.flow-device.warm[data-v-19c56c9e]{background:linear-gradient(135deg,#ff70434d,#ff704326);border:2px solid rgba(255,112,67,.6);color:#ff7043}.device-glow[data-v-19c56c9e]{position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);border-radius:12px;animation:devicePulse-19c56c9e 2s ease-in-out infinite}.flow-device.cold .device-glow[data-v-19c56c9e]{box-shadow:0 0 20px #00bcd466}.flow-device.warm .device-glow[data-v-19c56c9e]{box-shadow:0 0 20px #ff704366}@keyframes devicePulse-19c56c9e{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}.small-chiller-status[data-v-19c56c9e]{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding:12px 15px;background:#ffffff08;border-radius:8px}.small-chiller-status .status-label[data-v-19c56c9e]{font-size:12px;color:#8ba3c7}.small-chiller-status .status-value[data-v-19c56c9e]{font-size:13px;font-weight:500;padding:4px 12px;border-radius:12px}.small-chiller-status .status-value.off[data-v-19c56c9e]{background:#9e9e9e33;color:#9e9e9e}.small-chiller-status .status-value.on[data-v-19c56c9e]{background:#4caf5033;color:#4caf50}.energy-saving-layout[data-v-19c56c9e]{display:flex;flex-direction:column;gap:10px;height:100%}.energy-main-row[data-v-19c56c9e]{display:flex;flex:1 1 0;gap:12px;min-height:0}.left-panel[data-v-19c56c9e]{flex:0 0 30%;min-width:280px;max-width:500px;display:flex;flex-direction:column;gap:10px}.left-panel>.dashboard-card.equipment-card[data-v-19c56c9e]{flex:0 0 auto;display:flex;flex-direction:column}.left-panel>.dashboard-card.status-card[data-v-19c56c9e],.left-panel>.dashboard-card.status-card>.card-body[data-v-19c56c9e]{flex:0 0 auto}.equipment-grid[data-v-19c56c9e]{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.equipment-cell[data-v-19c56c9e]{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#0000004d;border:1px solid rgba(100,116,139,.3);border-radius:5px;font-size:14px;color:#64748b;transition:all .3s}.equipment-cell.active[data-v-19c56c9e]{background:#00ff8814;border-color:#00ff884d;color:#b0bec5}.equipment-light[data-v-19c56c9e]{width:7px;height:7px;border-radius:50%;background:#64748b66;flex-shrink:0}.equipment-cell.active .equipment-light[data-v-19c56c9e]{background:#0f8;box-shadow:0 0 6px #0f8}.hsinchu-data-source[data-v-19c56c9e]{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:11px}.hsinchu-source-label[data-v-19c56c9e]{color:#ffffff73}.hsinchu-source-time[data-v-19c56c9e]{color:#8bc34a;font-weight:600}.hsinchu-source-loading[data-v-19c56c9e]{color:#0f8;margin-left:auto;animation:hsinchuPulse-19c56c9e 1s ease-in-out infinite}.hsinchu-source-error[data-v-19c56c9e]{color:#ff6b6b;margin-left:auto}.hsinchu-sort-btn[data-v-19c56c9e]{margin-left:6px;padding:2px 8px;background:#8bc34a26;border:1px solid rgba(139,195,74,.4);border-radius:4px;color:#8bc34a;font-size:10px;cursor:pointer}.hsinchu-sort-btn[data-v-19c56c9e]:hover{background:#8bc34a4d}@keyframes hsinchuPulse-19c56c9e{0%,to{opacity:.3}50%{opacity:1}}.hsinchu-category-title[data-v-19c56c9e]{font-size:12px;font-weight:600;color:#ffc107;margin:8px 0 4px;padding-left:6px;border-left:3px solid #ffc107}.hsinchu-equipment-grid[data-v-19c56c9e]{display:grid;grid-template-columns:1fr;gap:4px;margin-bottom:6px}.hsinchu-equipment-cell[data-v-19c56c9e]{display:flex;align-items:center;gap:8px;padding:4px 8px;background:#00000040;border:1px solid rgba(255,255,255,.08);border-radius:5px;font-size:11px}.hsinchu-equipment-cell.is-manual[data-v-19c56c9e]{background:#ff47571f;border-color:#ff475766}.hsinchu-equipment-cell.is-auto[data-v-19c56c9e]{background:#00ff880f;border-color:#00ff8840}.hsinchu-eq-light[data-v-19c56c9e]{width:8px;height:8px;border-radius:50%;background:#fff3;flex-shrink:0}.hsinchu-equipment-cell.is-manual .hsinchu-eq-light[data-v-19c56c9e]{background:#ff4757;box-shadow:0 0 8px #ff4757;animation:hsinchuRedPulse-19c56c9e 1.5s ease-in-out infinite}.hsinchu-equipment-cell.is-auto .hsinchu-eq-light[data-v-19c56c9e]{background:#0f8;box-shadow:0 0 6px #0f8}@keyframes hsinchuRedPulse-19c56c9e{0%,to{opacity:1}50%{opacity:.5}}.hsinchu-eq-status[data-v-19c56c9e]{font-weight:600;font-size:11px}.hsinchu-equipment-cell.is-manual .hsinchu-eq-status[data-v-19c56c9e]{color:#ff4757}.hsinchu-equipment-cell.is-auto .hsinchu-eq-status[data-v-19c56c9e]{color:#0f8}.hsinchu-eq-name[data-v-19c56c9e]{flex:0 1 auto;min-width:0;color:#b8c8e0;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hsinchu-attr-chips[data-v-19c56c9e]{display:flex;flex-wrap:wrap;gap:4px;flex:1}.hsinchu-attr-chip[data-v-19c56c9e]{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:3px;font-size:10px}.hsinchu-attr-chip .chip-label[data-v-19c56c9e]{color:#8ba3c7}.hsinchu-attr-chip .chip-val[data-v-19c56c9e]{color:#00d4ff;font-weight:600}.hsinchu-attr-chip.is-on[data-v-19c56c9e]{background:#00ff881a;border-color:#00ff884d}.hsinchu-attr-chip.is-on .chip-val[data-v-19c56c9e]{color:#0f8}.hsinchu-attr-chip.is-off .chip-val[data-v-19c56c9e]{color:#6c7a8c}.hsinchu-empty[data-v-19c56c9e]{text-align:center;color:#8ba3c7;padding:20px}.hsinchu-scroll-area[data-v-19c56c9e]{max-height:180px;overflow-y:auto;padding-right:6px}.hsinchu-scroll-area[data-v-19c56c9e]::-webkit-scrollbar{width:6px}.hsinchu-scroll-area[data-v-19c56c9e]::-webkit-scrollbar-track{background:#0003;border-radius:3px}.hsinchu-scroll-area[data-v-19c56c9e]::-webkit-scrollbar-thumb{background:#00d4ff66;border-radius:3px}.hsinchu-scroll-area[data-v-19c56c9e]::-webkit-scrollbar-thumb:hover{background:#00d4ff99}.system-diagram-panel[data-v-19c56c9e]{flex:1;min-width:0;display:flex;flex-direction:column}.system-diagram-panel .card-header[data-v-19c56c9e]{padding:10px 12px}.system-diagram-panel .card-header h3[data-v-19c56c9e]{font-size:14px}.system-diagram-panel .card-body.diagram-body[data-v-19c56c9e]{flex:1;padding:15px;display:flex;min-height:0;overflow:hidden}.system-diagram-panel .svg-diagram-wrapper[data-v-19c56c9e]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.system-diagram-panel .system-svg[data-v-19c56c9e]{width:100%;height:100%;min-height:30px}.diagram-legend-inline[data-v-19c56c9e]{display:flex;gap:15px;margin-left:auto}.diagram-legend-inline .legend-item[data-v-19c56c9e]{display:flex;align-items:center;gap:6px;font-size:13px;color:#b0bec5}.diagram-legend-inline .legend-line[data-v-19c56c9e]{width:20px;height:3px;border-radius:2px}.diagram-legend-inline .legend-line.cooling[data-v-19c56c9e]{background:linear-gradient(90deg,#ff7043,#ffab91);box-shadow:0 0 6px #ff704380}.diagram-legend-inline .legend-line.chilled[data-v-19c56c9e]{background:linear-gradient(90deg,#00bcd4,#4dd0e1);box-shadow:0 0 6px #00bcd480}.benefit-row[data-v-19c56c9e]{flex-shrink:0}.benefit-row .benefit-card[data-v-19c56c9e]{width:100%}.benefit-content[data-v-19c56c9e]{display:flex;gap:16px;align-items:stretch}.benefit-metrics[data-v-19c56c9e]{display:flex;gap:12px;flex:1}.benefit-info[data-v-19c56c9e]{flex:0 0 30%;min-width:280px;max-width:500px;display:flex;flex-direction:column;gap:4px}.dashboard-card.compact[data-v-19c56c9e]{min-height:auto}.dashboard-card.compact .card-header[data-v-19c56c9e]{padding:10px 12px}.dashboard-card.compact .card-header h3[data-v-19c56c9e]{font-size:14px}.dashboard-card.compact .card-body[data-v-19c56c9e]{padding:10px 12px}.device-item.compact[data-v-19c56c9e]{padding:6px 8px;margin-bottom:4px;font-size:12px}.compact-ops[data-v-19c56c9e]{display:flex;flex-direction:column;gap:8px}.op-row[data-v-19c56c9e]{display:flex;gap:8px}.op-cell[data-v-19c56c9e]{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:clamp(4px,1vh,10px) 6px;background:#ffffff08;border-radius:6px}.op-item[data-v-19c56c9e]{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05)}.op-item[data-v-19c56c9e]:last-child{border-bottom:none}.op-label[data-v-19c56c9e]{font-size:clamp(11px,1.2vw,14px);color:#8ba3c7}.op-value[data-v-19c56c9e]{font-size:clamp(13px,1.4vw,16px);font-weight:600;color:#fff}.op-value.status-on[data-v-19c56c9e]{color:#4caf50}.toggle-switch.mini[data-v-19c56c9e]{transform:scale(1)}.benefit-card[data-v-19c56c9e]{flex:1}.benefit-card .card-header[data-v-19c56c9e]{display:flex;align-items:center;gap:8px;padding:8px 12px}.benefit-card .card-header h3[data-v-19c56c9e]{font-size:14px}.download-btn[data-v-19c56c9e]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;color:#8bc34a;background:#8bc34a26;transition:all .2s;cursor:pointer;text-decoration:none;padding:0}.download-btn[data-v-19c56c9e]:hover:not(:disabled){background:#8bc34a59;color:#aed581}.download-btn[data-v-19c56c9e]:disabled{opacity:.6;cursor:wait}.download-spinner[data-v-19c56c9e]{width:14px;height:14px;border:2px solid rgba(139,195,74,.3);border-top-color:#8bc34a;border-radius:50%;animation:spin-19c56c9e .8s linear infinite}.header-contract-info[data-v-19c56c9e]{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:14px;color:#b0bec5}.header-contract-info .divider[data-v-19c56c9e]{color:#ffffff4d}.benefit-body[data-v-19c56c9e]{display:flex;flex-direction:column;gap:6px;padding:25px 14px}.benefit-row .benefit-metrics[data-v-19c56c9e]{display:flex;gap:12px;flex:1}.benefit-metric[data-v-19c56c9e]{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ffffff08;border-radius:6px;transition:all .3s ease}.benefit-metric[data-v-19c56c9e]:hover{background:#ffffff0f}.benefit-icon[data-v-19c56c9e]{width:clamp(28px,3vw,38px);height:clamp(28px,3vw,38px);display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.benefit-icon svg[data-v-19c56c9e]{width:clamp(16px,1.8vw,22px);height:clamp(16px,1.8vw,22px)}.benefit-icon.green[data-v-19c56c9e]{background:#8bc34a33;color:#8bc34a}.benefit-icon.yellow[data-v-19c56c9e]{background:#ffc10733;color:#ffc107}.benefit-icon.blue[data-v-19c56c9e]{background:#2196f333;color:#2196f3}.benefit-icon.purple[data-v-19c56c9e]{background:#9c27b033;color:#ab47bc}.benefit-data[data-v-19c56c9e]{flex:1;min-width:0}.benefit-label[data-v-19c56c9e]{display:block;font-size:clamp(11px,1.2vw,16px);color:#8ba3c7;margin-bottom:4px;white-space:nowrap}.benefit-values[data-v-19c56c9e]{display:flex;flex-direction:column;gap:2px}.benefit-values .current[data-v-19c56c9e]{font-size:clamp(16px,1.8vw,24px);font-weight:700;color:#fff;white-space:nowrap}.benefit-values .cumulative[data-v-19c56c9e]{font-size:clamp(10px,1vw,13px);color:#8ba3c7;white-space:nowrap}.contract-info[data-v-19c56c9e]{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 12px;background:#0003;border-radius:6px;font-size:11px;color:#b0bec5}.contract-info .divider[data-v-19c56c9e]{color:#fff3}.optimization-tips[data-v-19c56c9e]{margin-top:4px;padding:8px 12px;background:#ff980014;border:1px solid rgba(255,152,0,.2);border-radius:6px;flex:0 0 auto;min-width:250px}.tips-header[data-v-19c56c9e]{font-size:clamp(14px,1.4vw,18px);font-weight:600;color:#ff9800;margin-bottom:4px}.tips-list[data-v-19c56c9e]{margin:0;padding-left:16px;font-size:clamp(12px,1.1vw,15px);color:#b0bec5;line-height:1.6}.tips-list li[data-v-19c56c9e]{margin-bottom:1px}.svg-diagram-wrapper[data-v-19c56c9e]{background:#ffffff05;border-radius:8px;padding:8px;display:flex;align-items:center;justify-content:center;flex:1}.system-svg[data-v-19c56c9e]{width:100%;height:100%;min-height:220px}.system-svg .flow-dot[data-v-19c56c9e]{filter:drop-shadow(0 0 3px currentColor)}.system-svg text[data-v-19c56c9e]{font-family:inherit}.pipe-bg[data-v-19c56c9e]{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.pipe-bg-cooling[data-v-19c56c9e]{stroke:#621}.pipe-bg-chilled[data-v-19c56c9e]{stroke:#0a4a52}.line-path[data-v-19c56c9e]{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.line-cooling[data-v-19c56c9e]{stroke:#ff5722;stroke-dasharray:8,12;animation:flow-cooling-19c56c9e 1.2s linear infinite;filter:drop-shadow(0 0 2px #ff5722)}@keyframes flow-cooling-19c56c9e{0%{stroke-dashoffset:40}to{stroke-dashoffset:0}}.line-chilled[data-v-19c56c9e]{stroke:#00bcd4;stroke-dasharray:8,12;animation:flow-chilled-19c56c9e 1.2s linear infinite;filter:drop-shadow(0 0 2px #00bcd4)}@keyframes flow-chilled-19c56c9e{0%{stroke-dashoffset:40}to{stroke-dashoffset:0}}.system-grid[data-v-19c56c9e]{display:none;grid-template-columns:30px 1fr 30px;gap:5px;flex:1;padding:10px;background:#ffffff05;border-radius:10px}.cooling-return-pipe[data-v-19c56c9e]{display:flex;justify-content:center;padding-top:40px}.chilled-return-pipe[data-v-19c56c9e]{display:flex;justify-content:center;padding-top:100px}.pipe-v[data-v-19c56c9e]{width:4px;height:100%;border-radius:2px;position:relative;overflow:hidden}.pipe-v.cooling[data-v-19c56c9e]{background:#ff704366}.pipe-v.chilled[data-v-19c56c9e]{background:#00bcd466}.main-flow-area[data-v-19c56c9e]{display:flex;flex-direction:column;gap:5px}.flow-row[data-v-19c56c9e]{display:flex;align-items:center;gap:8px}.flow-row.pipe-row[data-v-19c56c9e]{height:20px;padding-left:35px}.eq-box[data-v-19c56c9e]{display:flex;flex-direction:column;align-items:center;padding:8px 12px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1);min-width:80px}.eq-box.small[data-v-19c56c9e]{padding:6px 10px;min-width:70px}.eq-icon[data-v-19c56c9e]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;margin-bottom:4px}.eq-icon svg[data-v-19c56c9e]{width:18px;height:18px}.eq-icon.cooling[data-v-19c56c9e]{background:#ff704333;color:#ff7043}.eq-icon.chilled[data-v-19c56c9e]{background:#00bcd433;color:#00bcd4}.eq-label[data-v-19c56c9e]{font-size:10px;color:#b0bec5;white-space:nowrap}.pipe-h[data-v-19c56c9e]{width:50px;height:4px;border-radius:2px;position:relative;overflow:hidden}.pipe-h.cooling[data-v-19c56c9e]{background:#ff704366}.pipe-h.chilled[data-v-19c56c9e]{background:#00bcd466}.pipe-v-short[data-v-19c56c9e]{width:4px;height:100%;border-radius:2px;position:relative;overflow:hidden}.pipe-v-short.cooling[data-v-19c56c9e]{background:#ff704366}.pipe-v-short.chilled[data-v-19c56c9e]{background:#00bcd466}.pipe-corner-in[data-v-19c56c9e]{width:20px;height:20px;border-left:4px solid rgba(255,112,67,.4);border-bottom:4px solid rgba(255,112,67,.4);border-radius:0 0 0 8px}.pipe-corner-out[data-v-19c56c9e]{width:20px;height:20px;border-left:4px solid rgba(255,112,67,.4);border-top:4px solid rgba(255,112,67,.4);border-radius:8px 0 0}.spacer[data-v-19c56c9e]{flex:1}.zone-pumps[data-v-19c56c9e]{display:flex;gap:8px}.flow-dots-h span[data-v-19c56c9e]{position:absolute;width:4px;height:4px;border-radius:50%;top:0}.pipe-h.cooling .flow-dots-h span[data-v-19c56c9e],.pipe-v.cooling .flow-dots-v span[data-v-19c56c9e],.pipe-v-short.cooling .flow-dots-v span[data-v-19c56c9e]{background:#ff7043;box-shadow:0 0 4px #ff7043}.pipe-h.chilled .flow-dots-h span[data-v-19c56c9e],.pipe-v.chilled .flow-dots-v span[data-v-19c56c9e],.pipe-v-short.chilled .flow-dots-v span[data-v-19c56c9e]{background:#00bcd4;box-shadow:0 0 4px #00bcd4}.flow-dots-h.right span[data-v-19c56c9e]{animation:flowRight-19c56c9e 1.2s linear infinite}@keyframes flowRight-19c56c9e{0%{left:-4px;opacity:0}10%{opacity:1}90%{opacity:1}to{left:100%;opacity:0}}.flow-dots-v.down span[data-v-19c56c9e]{animation:flowDown2-19c56c9e 1.2s linear infinite}.flow-dots-v.up span[data-v-19c56c9e]{animation:flowUp2-19c56c9e 1.2s linear infinite}@keyframes flowDown2-19c56c9e{0%{top:-4px;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}@keyframes flowUp2-19c56c9e{0%{top:100%;opacity:0}10%{opacity:1}90%{opacity:1}to{top:-4px;opacity:0}}.temp-display-area[data-v-19c56c9e]{display:flex;gap:15px}.temp-display-area .flow-system[data-v-19c56c9e]{flex:1;padding:12px 15px 10px;margin:0}.temp-display-area .flow-title[data-v-19c56c9e]{font-size:11px}.temp-display-area .flow-device[data-v-19c56c9e]{width:40px;height:40px}.temp-display-area .flow-device svg[data-v-19c56c9e]{width:22px;height:22px}.temp-display-area .flow-temp[data-v-19c56c9e]{padding:4px 8px}.temp-display-area .temp-val[data-v-19c56c9e]{font-size:16px}.diagram-legend .legend-item[data-v-19c56c9e]{display:flex;align-items:center;gap:6px;font-size:10px;color:#b0bec5}.diagram-legend .legend-line[data-v-19c56c9e]{width:20px;height:3px;border-radius:2px}.diagram-legend .legend-line.cooling[data-v-19c56c9e]{background:linear-gradient(90deg,#ff7043,#ffab91);box-shadow:0 0 8px #ff704380}.diagram-legend .legend-line.chilled[data-v-19c56c9e]{background:linear-gradient(90deg,#00bcd4,#4dd0e1);box-shadow:0 0 8px #00bcd480}.diagram-container[data-v-19c56c9e]{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px;background:#ffffff05;border-radius:12px;position:relative;overflow:hidden}.diagram-container.compact[data-v-19c56c9e]{gap:4px;padding:8px}.diagram-row[data-v-19c56c9e]{display:flex;justify-content:center;align-items:center;gap:15px;width:100%}.pipe-horizontal[data-v-19c56c9e]{width:40px;height:4px;border-radius:2px;position:relative;overflow:hidden}.pipe-horizontal.cooling[data-v-19c56c9e]{background:linear-gradient(90deg,#ff70434d,#ff704380)}.pipe-horizontal.chilled[data-v-19c56c9e]{background:linear-gradient(90deg,#00bcd44d,#00bcd480)}.flow-dots-h[data-v-19c56c9e]{position:absolute;top:0;left:0;width:100%;height:100%}.flow-dots-h span[data-v-19c56c9e]{position:absolute;width:4px;height:4px;border-radius:50%;top:0;animation:flowHorizontal-19c56c9e 1.2s linear infinite}.pipe-horizontal.cooling .flow-dots-h span[data-v-19c56c9e]{background:#ff7043;box-shadow:0 0 4px #ff7043}.pipe-horizontal.chilled .flow-dots-h span[data-v-19c56c9e]{background:#00bcd4;box-shadow:0 0 4px #00bcd4}.flow-dots-h span[data-v-19c56c9e]:nth-child(1){animation-delay:0s}.flow-dots-h span[data-v-19c56c9e]:nth-child(2){animation-delay:.4s}.flow-dots-h span[data-v-19c56c9e]:nth-child(3){animation-delay:.8s}@keyframes flowHorizontal-19c56c9e{0%{left:-4px;opacity:0}10%{opacity:1}90%{opacity:1}to{left:100%;opacity:0}}.pipe-vertical-section[data-v-19c56c9e]{display:flex;justify-content:center;height:20px}.pipe-vertical[data-v-19c56c9e]{width:4px;height:100%;border-radius:2px;position:relative;overflow:hidden}.pipe-vertical.cooling[data-v-19c56c9e]{background:linear-gradient(180deg,#ff70434d,#ff704380)}.pipe-vertical.chilled[data-v-19c56c9e]{background:linear-gradient(180deg,#00bcd44d,#00bcd480)}.flow-dots-v[data-v-19c56c9e]{position:absolute;top:0;left:0;width:100%;height:100%}.flow-dots-v span[data-v-19c56c9e]{position:absolute;width:4px;height:4px;border-radius:50%;left:0}.pipe-vertical.cooling .flow-dots-v span[data-v-19c56c9e]{background:#ff7043;box-shadow:0 0 4px #ff7043}.pipe-vertical.chilled .flow-dots-v span[data-v-19c56c9e]{background:#00bcd4;box-shadow:0 0 4px #00bcd4}.flow-dots-v.down span[data-v-19c56c9e]{animation:flowVerticalDown-19c56c9e 1.2s linear infinite}.flow-dots-v span[data-v-19c56c9e]:nth-child(1){animation-delay:0s}.flow-dots-v span[data-v-19c56c9e]:nth-child(2){animation-delay:.4s}.flow-dots-v span[data-v-19c56c9e]:nth-child(3){animation-delay:.8s}@keyframes flowVerticalDown-19c56c9e{0%{top:-4px;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}.equipment-box[data-v-19c56c9e]{display:flex;flex-direction:column;align-items:center;padding:10px 12px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1);position:relative;transition:all .3s}.equipment-box.compact[data-v-19c56c9e]{padding:6px 10px}.equipment-box[data-v-19c56c9e]:hover{background:#ffffff14;transform:translateY(-1px)}.equipment-box .equipment-icon[data-v-19c56c9e]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;margin-bottom:4px}.equipment-box.compact .equipment-icon[data-v-19c56c9e]{width:28px;height:28px;margin-bottom:3px}.equipment-box .equipment-icon svg[data-v-19c56c9e]{width:20px;height:20px}.equipment-box.compact .equipment-icon svg[data-v-19c56c9e]{width:18px;height:18px}.equipment-box .equipment-label[data-v-19c56c9e]{font-size:10px;color:#b0bec5;white-space:nowrap}.equipment-box.compact .equipment-label[data-v-19c56c9e]{font-size:9px}.equipment-box .temp-badge[data-v-19c56c9e]{position:absolute;top:-6px;right:-6px;padding:2px 6px;border-radius:8px;font-size:9px;font-weight:500}.equipment-box .temp-badge.cooling[data-v-19c56c9e]{background:#ff704333;color:#ff7043;border:1px solid rgba(255,112,67,.4)}.equipment-box .temp-badge.chilled[data-v-19c56c9e]{background:#00bcd433;color:#00bcd4;border:1px solid rgba(0,188,212,.4)}.temp-row[data-v-19c56c9e]{display:flex;gap:4px;margin-top:4px}.temp-mini[data-v-19c56c9e]{font-size:8px;padding:1px 4px;border-radius:4px}.temp-mini.cooling[data-v-19c56c9e]{background:#ff704326;color:#ff7043}.temp-mini.chilled[data-v-19c56c9e]{background:#00bcd426;color:#00bcd4}.equipment-box.tower .equipment-icon[data-v-19c56c9e]{background:linear-gradient(135deg,#ff70434d,#ff70431a);color:#ff7043}.equipment-box.chiller .equipment-icon[data-v-19c56c9e]{background:linear-gradient(135deg,#00bcd44d,#00bcd41a);color:#00bcd4}.equipment-box.pump .equipment-icon[data-v-19c56c9e]{background:linear-gradient(135deg,#8ba3c74d,#8ba3c71a);color:#8ba3c7}.equipment-box.cooling-pump .equipment-icon[data-v-19c56c9e]{background:linear-gradient(135deg,#ff70434d,#ff70431a);color:#ff7043}.equipment-box.chilled-pump .equipment-icon[data-v-19c56c9e],.equipment-box.zone-pump .equipment-icon[data-v-19c56c9e]{background:linear-gradient(135deg,#00bcd44d,#00bcd41a);color:#00bcd4}.temp-badge[data-v-19c56c9e]{position:absolute;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:500}.temp-badge.cooling[data-v-19c56c9e]{background:#ff704333;color:#ff7043;border:1px solid rgba(255,112,67,.4)}.temp-badge.chilled[data-v-19c56c9e]{background:#00bcd433;color:#00bcd4;border:1px solid rgba(0,188,212,.4)}.equipment-box.tower .temp-badge[data-v-19c56c9e]{top:-6px;right:-8px}.equipment-box.chiller.compact[data-v-19c56c9e]{min-width:auto}.equipment-box.chiller .temp-badges[data-v-19c56c9e]{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:8px;width:100%}.temp-badge.small[data-v-19c56c9e]{position:static;padding:2px 6px;font-size:9px;display:flex;flex-direction:column;align-items:center}.temp-badge.small .badge-label[data-v-19c56c9e]{font-size:8px;opacity:.8}.temp-badge.small .temp-value[data-v-19c56c9e]{font-weight:600}.pipe-section[data-v-19c56c9e]{display:flex;justify-content:center;align-items:center;position:relative}.pipe-section.vertical[data-v-19c56c9e]{height:30px}.pipe[data-v-19c56c9e]{position:relative;overflow:hidden}.pipe.vertical-pipe[data-v-19c56c9e]{width:6px;height:100%;border-radius:3px}.pipe.cooling[data-v-19c56c9e]{background:linear-gradient(180deg,#ff70434d,#ff704380)}.pipe.chilled[data-v-19c56c9e]{background:linear-gradient(180deg,#00bcd44d,#00bcd480)}.system-diagram .flow-dots[data-v-19c56c9e]{position:absolute;display:flex}.system-diagram .flow-dots.vertical[data-v-19c56c9e]{flex-direction:column;width:100%;height:100%;top:0;left:0}.system-diagram .flow-dots.horizontal[data-v-19c56c9e]{flex-direction:row;width:100%;height:100%;top:0;left:0}.system-diagram .flow-dots span[data-v-19c56c9e]{position:absolute;border-radius:50%}.system-diagram .flow-dots.vertical span[data-v-19c56c9e]{width:4px;height:4px;left:50%;transform:translate(-50%)}.system-diagram .flow-dots.horizontal span[data-v-19c56c9e]{width:4px;height:4px;top:50%;transform:translateY(-50%)}.pipe.cooling .flow-dots span[data-v-19c56c9e]{background:#ff7043;box-shadow:0 0 6px #ff7043}.pipe.chilled .flow-dots span[data-v-19c56c9e]{background:#00bcd4;box-shadow:0 0 6px #00bcd4}.system-diagram .flow-dots.vertical.down span[data-v-19c56c9e]{animation:flowDown-19c56c9e 1.5s linear infinite}.system-diagram .flow-dots.vertical.down span[data-v-19c56c9e]:nth-child(1){animation-delay:0s}.system-diagram .flow-dots.vertical.down span[data-v-19c56c9e]:nth-child(2){animation-delay:.5s}.system-diagram .flow-dots.vertical.down span[data-v-19c56c9e]:nth-child(3){animation-delay:1s}@keyframes flowDown-19c56c9e{0%{top:-5px;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}.system-diagram .flow-dots.vertical.up span[data-v-19c56c9e]{animation:flowUp-19c56c9e 1.5s linear infinite}.system-diagram .flow-dots.vertical.up span[data-v-19c56c9e]:nth-child(1){animation-delay:0s}.system-diagram .flow-dots.vertical.up span[data-v-19c56c9e]:nth-child(2){animation-delay:.5s}.system-diagram .flow-dots.vertical.up span[data-v-19c56c9e]:nth-child(3){animation-delay:1s}@keyframes flowUp-19c56c9e{0%{bottom:-5px;opacity:0;top:auto}10%{opacity:1}90%{opacity:1}to{bottom:100%;opacity:0;top:auto}}.system-diagram .flow-dots.horizontal.left span[data-v-19c56c9e]{animation:flowLeft-19c56c9e 1.5s linear infinite}.system-diagram .flow-dots.horizontal.left span[data-v-19c56c9e]:nth-child(1){animation-delay:0s}.system-diagram .flow-dots.horizontal.left span[data-v-19c56c9e]:nth-child(2){animation-delay:.5s}.system-diagram .flow-dots.horizontal.left span[data-v-19c56c9e]:nth-child(3){animation-delay:1s}@keyframes flowLeft-19c56c9e{0%{right:-5px;opacity:0;left:auto}10%{opacity:1}90%{opacity:1}to{right:100%;opacity:0;left:auto}}.system-diagram .flow-dots.horizontal.right span[data-v-19c56c9e]{animation:flowRight-19c56c9e 1.5s linear infinite}.system-diagram .flow-dots.horizontal.right span[data-v-19c56c9e]:nth-child(1){animation-delay:0s}.system-diagram .flow-dots.horizontal.right span[data-v-19c56c9e]:nth-child(2){animation-delay:.5s}.system-diagram .flow-dots.horizontal.right span[data-v-19c56c9e]:nth-child(3){animation-delay:1s}@keyframes flowRight-19c56c9e{0%{left:-5px;opacity:0}10%{opacity:1}90%{opacity:1}to{left:100%;opacity:0}}.metric-item[data-v-19c56c9e]{background:#ffffff08;border-radius:8px;padding:15px;text-align:center}.metric-item.large[data-v-19c56c9e]{padding:20px}.metric-label[data-v-19c56c9e]{display:block;font-size:11px;color:#8ba3c7;margin-bottom:8px}.metric-value[data-v-19c56c9e]{font-size:22px;font-weight:700;color:#fff}.metric-value small[data-v-19c56c9e]{font-size:12px;font-weight:400;color:#8ba3c7;margin-left:2px}.metric-value.status-on[data-v-19c56c9e]{color:#4caf50}.metric-value.status-off[data-v-19c56c9e]{color:#9e9e9e;font-size:14px}.power-section[data-v-19c56c9e]{background:#ffffff08;border-radius:10px;padding:15px;margin-bottom:15px}.power-section[data-v-19c56c9e]:last-child{margin-bottom:0}.power-header[data-v-19c56c9e]{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:#fff;font-size:13px;font-weight:500}.power-header svg[data-v-19c56c9e]{width:20px;height:20px;color:#4caf50}.power-stats[data-v-19c56c9e]{display:flex;gap:20px}.power-stat[data-v-19c56c9e]{flex:1}.power-stat .label[data-v-19c56c9e]{display:block;font-size:11px;color:#8ba3c7;margin-bottom:5px}.power-stat .value[data-v-19c56c9e]{font-size:20px;font-weight:700;color:#fff}.power-stat .value small[data-v-19c56c9e]{font-size:11px;font-weight:400;color:#8ba3c7}.dod-display[data-v-19c56c9e]{margin-top:15px;padding:15px;background:#ffffff08;border-radius:8px}.dod-label[data-v-19c56c9e]{display:block;font-size:11px;color:#8ba3c7;margin-bottom:8px}.dod-bar[data-v-19c56c9e]{height:24px;background:#9c27b033;border-radius:12px;position:relative;overflow:hidden}.dod-fill[data-v-19c56c9e]{height:100%;background:linear-gradient(90deg,#9c27b0,#ce93d8);border-radius:12px}.dod-text[data-v-19c56c9e]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:700;color:#fff}.storage-gauge[data-v-19c56c9e]{display:flex;justify-content:center;margin-bottom:20px}.gauge-circle[data-v-19c56c9e]{position:relative;width:120px;height:120px}.gauge-circle svg[data-v-19c56c9e]{width:100%;height:100%}.gauge-text[data-v-19c56c9e]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.gauge-value[data-v-19c56c9e]{display:block;font-size:28px;font-weight:700;color:#9c27b0}.gauge-label[data-v-19c56c9e]{display:block;font-size:11px;color:#8ba3c7}.storage-metrics[data-v-19c56c9e]{grid-template-columns:1fr 1fr}.storage-layout[data-v-19c56c9e]{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:15px}.storage-left[data-v-19c56c9e]{display:flex;flex-direction:column;gap:15px}.schedule-card[data-v-19c56c9e]{grid-column:1 / -1}.schedule-body[data-v-19c56c9e]{padding:10px 15px 15px;height:200px}.charger-list[data-v-19c56c9e]{display:flex;flex-direction:column;gap:12px}.charger-item[data-v-19c56c9e]{display:flex;align-items:center;gap:15px;padding:15px;background:#ffffff08;border-radius:10px;border-left:3px solid}.charger-item.fast[data-v-19c56c9e]{border-left-color:#ff5722}.charger-item.slow[data-v-19c56c9e]{border-left-color:#2196f3}.charger-item.mobile[data-v-19c56c9e]{border-left-color:#9c27b0}.charger-icon[data-v-19c56c9e]{font-size:24px}.charger-info[data-v-19c56c9e]{flex:1}.charger-type[data-v-19c56c9e]{display:block;color:#fff;font-size:14px;font-weight:500}.charger-count[data-v-19c56c9e]{font-size:12px;color:#8ba3c7}.charger-spec[data-v-19c56c9e]{font-size:11px;color:#8ba3c7}.charging-stats[data-v-19c56c9e]{display:flex;justify-content:center;gap:40px;margin-bottom:25px}.charging-stat[data-v-19c56c9e]{text-align:center}.stat-circle[data-v-19c56c9e]{width:80px;height:80px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:10px}.stat-circle.fast-charge[data-v-19c56c9e]{background:linear-gradient(135deg,#00bcd44d,#00bcd41a);border:2px solid #00bcd4}.stat-circle.slow-charge[data-v-19c56c9e]{background:linear-gradient(135deg,#2196f34d,#2196f31a);border:2px solid #2196f3}.stat-num[data-v-19c56c9e]{font-size:22px;font-weight:700;color:#fff}.stat-unit[data-v-19c56c9e]{font-size:10px;color:#8ba3c7}.stat-name[data-v-19c56c9e]{font-size:12px;color:#8ba3c7}.mobile-status[data-v-19c56c9e]{background:#ffffff08;border-radius:10px;padding:15px}.mobile-status h4[data-v-19c56c9e]{margin:0 0 15px;font-size:12px;color:#8ba3c7;font-weight:400}.mobile-units[data-v-19c56c9e]{display:flex;gap:10px}.mobile-unit[data-v-19c56c9e]{flex:1;display:flex;align-items:center;gap:10px;padding:10px;background:#0000004d;border-radius:8px}.unit-id[data-v-19c56c9e]{width:28px;height:28px;background:#9c27b04d;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#ce93d8}.unit-status[data-v-19c56c9e]{font-size:11px;padding:3px 8px;border-radius:10px}.unit-status.moving[data-v-19c56c9e]{background:#2196f333;color:#64b5f6}.unit-status.charging[data-v-19c56c9e]{background:#4caf5033;color:#81c784}.unit-status.v2b[data-v-19c56c9e]{background:#ff980033;color:#ffb74d}.smart-top-row[data-v-19c56c9e]{display:flex;gap:16px;margin-bottom:20px}.smart-left-stack[data-v-19c56c9e]{display:flex;flex-direction:column;gap:8px;flex:1}.smart-left-stack.horizontal[data-v-19c56c9e]{flex-direction:row;flex:2;gap:16px}.smart-left-stack.horizontal .smart-item[data-v-19c56c9e]{flex:1}.smart-right-activity[data-v-19c56c9e]{flex:1;background:#ffffff08;border-radius:8px;padding:10px 12px}.activity-title[data-v-19c56c9e]{display:block;font-size:16px;color:#8ba3c7;margin-bottom:10px}.smart-item[data-v-19c56c9e]{background:#ffffff08;border-radius:8px;padding:12px 15px;display:flex;align-items:center;gap:12px}.smart-icon[data-v-19c56c9e]{width:32px;height:32px;background:#2196f333;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#2196f3;flex-shrink:0}.smart-icon svg[data-v-19c56c9e]{width:22px;height:22px}.smart-info[data-v-19c56c9e]{flex:1}.smart-label[data-v-19c56c9e]{display:block;font-size:16px;color:#8ba3c7;margin-bottom:4px}.smart-value[data-v-19c56c9e]{font-size:20px;font-weight:700;color:#fff}.smart-value.highlight[data-v-19c56c9e]{color:#2196f3;font-size:17px}.smart-value small[data-v-19c56c9e]{font-size:13px;font-weight:400;color:#8ba3c7}.activity-grid[data-v-19c56c9e]{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.activity-cell[data-v-19c56c9e]{display:flex;align-items:center;gap:5px;padding:6px 8px;background:#0000004d;border:1px solid rgba(100,116,139,.3);border-radius:5px;transition:all .3s}.activity-cell.active[data-v-19c56c9e]{background:#00ff881a;border-color:#0f86}.activity-light[data-v-19c56c9e]{width:8px;height:8px;border-radius:50%;background:#64748b66;flex-shrink:0}.activity-cell.active .activity-light[data-v-19c56c9e]{background:#0f8;box-shadow:0 0 6px #0f8}.activity-name[data-v-19c56c9e]{font-size:13px;color:#64748b;white-space:nowrap}.activity-cell.active .activity-name[data-v-19c56c9e]{color:#0f8}.service-section[data-v-19c56c9e]{background:#ffffff08;border-radius:10px;padding:12px 20px;margin-bottom:12px}.service-section h4[data-v-19c56c9e]{margin:0 0 10px;font-size:15px;color:#fff;font-weight:500}.service-cards[data-v-19c56c9e]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-card[data-v-19c56c9e]{padding:10px;border-radius:10px;min-height:200px;display:flex;flex-direction:column}.service-card.tariff[data-v-19c56c9e]{background:linear-gradient(135deg,#ff980033,#ff98000d);border:1px solid rgba(255,152,0,.3)}.service-card.full-width[data-v-19c56c9e]{grid-column:1 / -1}.service-card.demand[data-v-19c56c9e]{background:linear-gradient(135deg,#e91e6333,#e91e630d);border:1px solid rgba(233,30,99,.3)}.activity-loading[data-v-19c56c9e]{font-size:13px;color:#5a7a9a;text-align:center;padding:10px 0}.service-label[data-v-19c56c9e]{display:block;font-size:14px;color:#8ba3c7;margin-bottom:10px}.service-content[data-v-19c56c9e]{flex:1;display:flex;flex-direction:column;min-height:0}.revenue-section[data-v-19c56c9e]{background:#ffffff08;border-radius:10px;padding:12px 20px}.revenue-section h4[data-v-19c56c9e]{margin:0 0 8px;font-size:15px;color:#fff;font-weight:500}.revenue-cards[data-v-19c56c9e]{display:grid;grid-template-columns:1fr 1fr;gap:15px}.revenue-card[data-v-19c56c9e]{padding:20px;border-radius:10px;text-align:center}.revenue-card.daily[data-v-19c56c9e]{background:linear-gradient(135deg,#4caf5033,#4caf500d);border:1px solid rgba(76,175,80,.3)}.revenue-card.monthly[data-v-19c56c9e]{background:linear-gradient(135deg,#2196f333,#2196f30d);border:1px solid rgba(33,150,243,.3)}.revenue-label[data-v-19c56c9e]{display:block;font-size:14px;color:#8ba3c7;margin-bottom:10px}.revenue-value[data-v-19c56c9e]{font-size:28px;font-weight:700;color:#fff}.revenue-layout[data-v-19c56c9e]{display:flex;gap:15px}.revenue-chart-box[data-v-19c56c9e]{flex:1.5;background:#0003;border-radius:8px;padding:10px}.revenue-mini-chart[data-v-19c56c9e]{width:100%;height:110px}.revenue-monthly-box[data-v-19c56c9e]{flex:1;background:linear-gradient(135deg,#4caf5033,#4caf500d);border:1px solid rgba(76,175,80,.3);border-radius:8px;padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.monthly-label[data-v-19c56c9e]{font-size:14px;color:#8ba3c7;margin-bottom:10px}.monthly-value[data-v-19c56c9e]{font-size:32px;font-weight:700;color:#4caf50;margin-bottom:8px}.revenue-breakdown-section[data-v-19c56c9e]{margin-top:15px}.revenue-breakdown-section h4[data-v-19c56c9e]{font-size:13px;color:#cfd8e3;margin-bottom:10px;font-weight:500}.monthly-trend[data-v-19c56c9e]{font-size:11px;padding:3px 10px;border-radius:10px}.monthly-trend.up[data-v-19c56c9e]{background:#4caf5033;color:#81c784}.monthly-trend.down[data-v-19c56c9e]{background:#f4433633;color:#e57373}.dropdown-section[data-v-19c56c9e]{margin-bottom:10px;border:1px solid rgba(255,255,255,.1);border-radius:10px;overflow:hidden}.dropdown-section[data-v-19c56c9e]:last-child{margin-bottom:0}.dropdown-header[data-v-19c56c9e]{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;background:#ffffff0d;cursor:pointer;transition:background .2s}.dropdown-header[data-v-19c56c9e]:hover{background:#ffffff14}.dropdown-title[data-v-19c56c9e]{display:flex;align-items:center;gap:12px;color:#fff;font-size:14px;font-weight:500}.dropdown-icon[data-v-19c56c9e]{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center}.dropdown-icon svg[data-v-19c56c9e]{width:16px;height:16px}.dropdown-icon.fast[data-v-19c56c9e]{background:#00bcd433;color:#00bcd4}.dropdown-icon.slow[data-v-19c56c9e]{background:#2196f333;color:#2196f3}.dropdown-icon.mobile[data-v-19c56c9e]{background:#9c27b033;color:#ce93d8}.device-count[data-v-19c56c9e]{font-size:12px;color:#8ba3c7;padding:2px 8px;background:#0000004d;border-radius:10px}.dropdown-arrow[data-v-19c56c9e]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#8ba3c7;transition:transform .3s ease}.dropdown-arrow svg[data-v-19c56c9e]{width:20px;height:20px}.dropdown-arrow.expanded[data-v-19c56c9e]{transform:rotate(180deg)}.dropdown-content[data-v-19c56c9e]{max-height:0;overflow:hidden;transition:max-height .3s ease;background:#0003}.dropdown-content.expanded[data-v-19c56c9e]{max-height:500px}.dropdown-content .device-item[data-v-19c56c9e]{margin:0;border-radius:0;border-bottom:1px solid rgba(255,255,255,.05);padding:10px 15px 10px 55px}.dropdown-content .device-item[data-v-19c56c9e]:last-child{border-bottom:none}.charging-device-list[data-v-19c56c9e]{padding:15px;overflow-y:auto;max-height:100%}.tariff-edit-wrapper[data-v-19c56c9e]{position:relative}.tariff-display[data-v-19c56c9e]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .2s}.tariff-display[data-v-19c56c9e]:hover{background:#2196f31a}.tariff-display:hover .edit-icon[data-v-19c56c9e]{opacity:1}.edit-icon[data-v-19c56c9e]{width:18px;height:18px;color:#2196f3;opacity:.5;transition:opacity .2s}.edit-icon svg[data-v-19c56c9e]{width:100%;height:100%}.tariff-dropdown[data-v-19c56c9e]{position:relative}.tariff-dropdown select[data-v-19c56c9e]{appearance:none;background:#2196f326;border:1px solid rgba(33,150,243,.5);border-radius:6px;padding:8px 35px 8px 12px;color:#2196f3;font-size:14px;font-weight:500;cursor:pointer;outline:none;min-width:140px;transition:all .2s}.tariff-dropdown select[data-v-19c56c9e]:hover{background:#2196f333;border-color:#2196f3}.tariff-dropdown select[data-v-19c56c9e]:focus{background:#2196f340;border-color:#2196f3;box-shadow:0 0 0 3px #2196f333}.tariff-dropdown select option[data-v-19c56c9e]{background:#1a2940;color:#fff;padding:10px}.tariff-dropdown[data-v-19c56c9e]:after{content:"";position:absolute;right:12px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #2196f3;pointer-events:none}.investment-tab[data-v-19c56c9e]{display:flex;flex-direction:column;gap:20px;height:100%}.investment-sub-tabs[data-v-19c56c9e]{display:flex;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.investment-sub-tabs button[data-v-19c56c9e]{padding:4px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:#8ba3c7;font-size:13px;cursor:pointer;transition:all .3s ease}.investment-sub-tabs button[data-v-19c56c9e]:hover{background:#ffc1071a;border-color:#ffc1074d}.investment-sub-tabs button.active[data-v-19c56c9e]{background:#ffc10733;border-color:#ffc107;color:#ffc107}.investment-content[data-v-19c56c9e]{flex:1;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.investment-content.coming-soon[data-v-19c56c9e]{align-items:center;justify-content:center;color:#8ba3c7;font-size:16px}.loading-state[data-v-19c56c9e]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:60px 40px;color:#8ba3c7}.loading-state .loading-spinner[data-v-19c56c9e]{width:40px;height:40px;border:3px solid rgba(255,193,7,.2);border-top-color:#ffc107;border-radius:50%;animation:spin-19c56c9e 1s linear infinite}@keyframes spin-19c56c9e{to{transform:rotate(360deg)}}.empty-state[data-v-19c56c9e]{display:flex;align-items:center;justify-content:center;padding:60px 40px;color:#8ba3c7;font-size:14px}.coming-soon-icon[data-v-19c56c9e]{font-size:48px;margin-bottom:15px}.coming-soon-text[data-v-19c56c9e]{font-size:16px;color:#8ba3c7}.solar-revenue-section[data-v-19c56c9e]{display:flex;flex-direction:column;gap:12px}.summary-cards[data-v-19c56c9e]{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.summary-card[data-v-19c56c9e]{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 10px;text-align:center;transition:all .3s ease}.summary-card[data-v-19c56c9e]:hover{background:#0006;border-color:#ffc1074d}.summary-card.highlight[data-v-19c56c9e]{background:#ffc1071a;border-color:#ffc1074d}.summary-card .card-label[data-v-19c56c9e]{font-size:11px;color:#8ba3c7;margin-bottom:4px}.summary-card .card-value[data-v-19c56c9e]{font-size:20px;font-weight:700;color:#fff}.summary-card.highlight .card-value[data-v-19c56c9e]{color:#ffc107}.summary-card .card-unit[data-v-19c56c9e]{font-size:10px;color:#8ba3c7;margin-top:2px}.daily-details[data-v-19c56c9e]{background:#0003;border-radius:12px;padding:20px}.daily-details .section-title[data-v-19c56c9e]{font-size:14px;font-weight:600;color:#fff;margin:0 0 15px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}.revenue-source-card .source-list[data-v-19c56c9e]{display:flex;flex-direction:column;gap:6px;margin-top:8px}.revenue-source-card .source-item[data-v-19c56c9e]{font-size:13px;color:#00d4ff;padding:4px 8px;background:#00d4ff1a;border-radius:6px}.target-charts-row[data-v-19c56c9e]{display:flex;gap:12px}.target-chart-box[data-v-19c56c9e]{flex:1;background:#0003;border-radius:12px;padding:12px 16px}.target-chart-box .target-chart[data-v-19c56c9e]{height:180px}.target-chart-box .section-title[data-v-19c56c9e]{font-size:14px;font-weight:600;color:#fff;margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}.target-chart[data-v-19c56c9e]{height:200px}.rescue-indicator[data-v-19c56c9e]{display:inline-block;width:8px;height:8px;background:#ff4757;border-radius:50%;margin-left:6px;box-shadow:0 0 8px #ff4757;animation:rescue-pulse-19c56c9e 1.5s ease-in-out infinite;vertical-align:middle}@keyframes rescue-pulse-19c56c9e{0%,to{opacity:1;box-shadow:0 0 8px #ff4757}50%{opacity:.5;box-shadow:0 0 4px #ff4757}}.popup-container[data-v-d9555eb2]{position:fixed;inset:0;z-index:99999;pointer-events:none}.popup-container.dragging[data-v-d9555eb2]{cursor:grabbing}.connection-line[data-v-d9555eb2]{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible}.line-path[data-v-d9555eb2]{stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset .4s ease-out}.popup-container.step1 .line-path[data-v-d9555eb2]{stroke-dashoffset:0}.start-dot[data-v-d9555eb2]{opacity:0;transition:opacity .2s ease-out}.popup-container.step1 .start-dot[data-v-d9555eb2]{opacity:1}.end-dot[data-v-d9555eb2]{opacity:0;transition:opacity .2s ease-out .3s}.popup-container.step1 .end-dot[data-v-d9555eb2]{opacity:1}.plant-popup[data-v-d9555eb2]{position:absolute;z-index:5002;width:300px;pointer-events:auto}.top-line[data-v-d9555eb2]{position:relative;height:8px;background:linear-gradient(90deg,transparent,#00d4ff 20%,#00ff88 50%,#00d4ff 80%,transparent);box-shadow:0 0 10px #00d4ff,0 0 20px #00d4ff80;transform:scaleX(0);transform-origin:center;transition:transform .25s ease-out;cursor:grab;pointer-events:auto}.popup-container.dragging .top-line[data-v-d9555eb2]{cursor:grabbing}.popup-container.step2 .top-line[data-v-d9555eb2]{transform:scaleX(1)}.card-body[data-v-d9555eb2]{background:#0a1628f2;border:1px solid rgba(0,212,255,.4);border-top:none;border-radius:0 0 8px 8px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 0 30px #00d4ff33,0 10px 40px #00000080;overflow:hidden;max-height:0;opacity:0;transition:all .35s cubic-bezier(.4,0,.2,1)}.popup-container.step3 .card-body[data-v-d9555eb2]{max-height:600px;opacity:1}.card-content[data-v-d9555eb2]{padding:18px 20px}.card-content>.close-btn[data-v-d9555eb2],.card-content>.popup-header[data-v-d9555eb2],.card-content>.info-list .info-row[data-v-d9555eb2],.card-content>.activities-section[data-v-d9555eb2],.card-content>.detail-btn[data-v-d9555eb2]{opacity:0;transform:translateY(12px);transition:opacity .3s ease-out,transform .3s ease-out}.popup-container.step4 .card-content>.close-btn[data-v-d9555eb2],.popup-container.step4 .card-content>.popup-header[data-v-d9555eb2],.popup-container.step4 .card-content>.info-list .info-row[data-v-d9555eb2],.popup-container.step4 .card-content>.activities-section[data-v-d9555eb2],.popup-container.step4 .card-content>.detail-btn[data-v-d9555eb2]{opacity:1;transform:translateY(0)}.popup-container.step4 .close-btn[data-v-d9555eb2],.popup-container.step4 .popup-header[data-v-d9555eb2]{transition-delay:0s}.popup-container.step4 .info-list .info-row[data-v-d9555eb2]:nth-child(1){transition-delay:.08s}.popup-container.step4 .info-list .info-row[data-v-d9555eb2]:nth-child(2){transition-delay:.16s}.popup-container.step4 .info-list .info-row[data-v-d9555eb2]:nth-child(3){transition-delay:.24s}.popup-container.step4 .info-list .info-row[data-v-d9555eb2]:nth-child(4){transition-delay:.32s}.popup-container.step4 .info-list .info-row[data-v-d9555eb2]:nth-child(5){transition-delay:.4s}.popup-container.step4 .info-list .info-row[data-v-d9555eb2]:nth-child(6){transition-delay:.48s}.popup-container.step4 .activities-section[data-v-d9555eb2]{transition-delay:.56s}.popup-container.step4 .detail-btn[data-v-d9555eb2]{transition-delay:.64s}.close-btn[data-v-d9555eb2]{position:absolute;top:8px;right:8px;width:36px;height:36px;border:none;background:#8ba3c71a;color:#8ba3c7;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;z-index:10}.close-btn[data-v-d9555eb2]:hover{background:#ff475733;color:#ff4757}.popup-header[data-v-d9555eb2]{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding-right:30px;cursor:grab;-webkit-user-select:none;user-select:none}.popup-container.dragging .popup-header[data-v-d9555eb2]{cursor:grabbing}.location-icon[data-v-d9555eb2]{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.plant-name[data-v-d9555eb2]{font-size:15px;font-weight:600;color:#fff;margin:0;line-height:1.3}.info-list[data-v-d9555eb2]{display:flex;flex-direction:column;gap:12px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid rgba(0,212,255,.2)}.info-row[data-v-d9555eb2]{display:flex;align-items:center;justify-content:space-between}.label[data-v-d9555eb2]{font-size:13px;color:#8ba3c7}.value-group[data-v-d9555eb2]{display:flex;align-items:baseline;gap:4px}.value[data-v-d9555eb2]{font-size:15px;font-weight:600;color:#00d4ff}.unit[data-v-d9555eb2]{font-size:11px;color:#8ba3c7}.status-value[data-v-d9555eb2]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.status-dot[data-v-d9555eb2]{width:10px;height:10px;border-radius:50%}.revenue-icon[data-v-d9555eb2]{font-weight:700;font-size:14px}.activities-section[data-v-d9555eb2]{margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid rgba(0,212,255,.2)}.section-title[data-v-d9555eb2]{font-size:13px;color:#8ba3c7;margin-bottom:12px;font-weight:500}.loading-text[data-v-d9555eb2]{font-size:12px;color:#666;text-align:center;padding:10px}.no-data-text[data-v-d9555eb2]{font-size:12px;color:#ff9500;text-align:center;padding:10px;background:#ff95001a;border:1px dashed rgba(255,149,0,.3);border-radius:6px}.activity-grid[data-v-d9555eb2]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.activity-grid .activity-cell[data-v-d9555eb2]{width:calc(33.333% - 6px)}.activity-cell[data-v-d9555eb2]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 6px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;transition:all .3s ease}.activity-cell.active[data-v-d9555eb2]{background:#00ff881a;border-color:#00ff884d}.indicator-light[data-v-d9555eb2]{width:12px;height:12px;border-radius:50%;transition:all .3s ease}.activity-label[data-v-d9555eb2]{font-size:10px;color:#8ba3c7;text-align:center;line-height:1.2}.activity-cell.active .activity-label[data-v-d9555eb2]{color:#0f8}.detail-btn[data-v-d9555eb2]{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px solid rgba(0,255,136,.4);background:#00ff881a;color:#0f8;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border-radius:6px}.detail-btn[data-v-d9555eb2]:hover{background:#0f83;border-color:#0f8;box-shadow:0 0 15px #00ff884d}.detail-btn.support-btn[data-v-d9555eb2]{border-color:#0096ff66;background:#0096ff1a;color:#4db8ff}.detail-btn.support-btn[data-v-d9555eb2]:hover{background:#0096ff33;border-color:#0096ff;box-shadow:0 0 15px #0096ff4d}.detail-btn.offline-btn[data-v-d9555eb2]{border-color:#96969666;background:#7878781f;color:#9aa0a6;cursor:not-allowed}.detail-btn.offline-btn[data-v-d9555eb2]:hover{background:#7878781f;border-color:#96969666;box-shadow:none}.maplibregl-ctrl-top-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-group,.maplibregl-ctrl{display:none!important}.pulse-overlay-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:1}.pulse-wrapper{position:absolute;top:0;left:0;width:0;height:0;pointer-events:none;will-change:transform}.pulse-ring{position:absolute;width:40px;height:40px;margin-left:-20px;margin-top:-20px;border-radius:50%;background:#0f86;pointer-events:none;animation:pulse-animation 2s ease-out infinite}.pulse-ring.warning{background:#fc06}.pulse-ring.rescue{background:#ff475766}.pulse-ring.support{background:#0096ff66}@keyframes pulse-animation{0%{transform:scale(.8);opacity:.8}to{transform:scale(1.2);opacity:0}}.forecast-panel{position:fixed;width:225px;transform:translate(-50%);pointer-events:auto;font-family:Inter,Noto Sans TC,sans-serif}.panel-top-bar{height:6px;border-radius:10px 10px 0 0;transform:scaleX(0);transform-origin:center;transition:transform .3s ease-out;box-shadow:0 0 10px #00d4ff99}.forecast-panel.panel-step1 .panel-top-bar{transform:scaleX(1)}.forecast-panel .panel-body{background:#0a1628eb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(0,212,255,.35);border-top:none;border-radius:0 0 10px 10px;overflow:hidden;max-height:0;opacity:0;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .3s ease-out}.forecast-panel.panel-step2 .panel-body{max-height:300px;opacity:1}.panel-content{opacity:0;transform:translateY(8px);transition:opacity .3s ease-out,transform .3s ease-out}.forecast-panel.panel-step3 .panel-content{opacity:1;transform:translateY(0)}.forecast-header{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;border-bottom:1px solid rgba(0,212,255,.2);cursor:grab}.forecast-header:active{cursor:grabbing}.forecast-header-left{display:flex;align-items:center;gap:5px}.forecast-title{font-size:16px;font-weight:600;color:#fff;letter-spacing:.5px}.forecast-close{background:transparent;border:none;color:#8ba3c7;font-size:16px;cursor:pointer;padding:2px 6px;border-radius:6px;transition:all .2s;line-height:1;flex-shrink:0}.forecast-close:hover{color:#ff6b9d;background:#ff6b9d1a}.psc-close-card{background:transparent;border:none;color:#8ba3c7;font-size:14px;cursor:pointer;padding:2px 6px;border-radius:6px;transition:all .2s;line-height:1;margin-left:auto;flex-shrink:0}.psc-close-card:hover{color:#ff6b9d;background:#ff6b9d1a}.forecast-body{display:flex;align-items:center;position:relative}.forecast-arrow{flex-shrink:0;width:28px;height:60px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.2);color:#8ba3c7;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;line-height:1}.forecast-arrow:hover{background:#00d4ff33;color:#fff}.forecast-arrow--left{border-radius:8px 0 0 8px;border-right:none}.forecast-arrow--right{border-radius:0 8px 8px 0;border-left:none}.forecast-scroll{display:flex;overflow-x:auto;padding:14px 4px 16px;gap:0;flex:1;-ms-overflow-style:none;scrollbar-width:none}.forecast-scroll::-webkit-scrollbar{display:none}.forecast-item{display:flex;flex-direction:column;align-items:center;min-width:70px;gap:8px}.forecast-item--sunset{opacity:.85}.forecast-time{font-size:12px;color:#8ba3c7;white-space:nowrap}.forecast-icon{display:flex;align-items:center;justify-content:center;width:36px;height:33px}.forecast-temp{font-size:16px;font-weight:600;color:#fff}.forecast-temp--sunset{font-size:12px;font-weight:400;color:#ff8c42}.forecast-panel-enter-active{transition:all .25s ease-out}.forecast-panel-leave-active{transition:all .2s ease-in}.forecast-panel-enter-from{opacity:0;transform:translate(-50%) translateY(-8px) scale(.96)}.forecast-panel-leave-to{opacity:0;transform:translate(-50%) translateY(-4px) scale(.98)}.region-weather-icon{display:flex;align-items:center;width:26px;height:24px}.region-weather-temp{font-size:15px;font-weight:700;color:#fff}.region-weather-detail{color:#7dd3fc;font-size:13px}.region-power-section{padding:5px 10px 7px;display:flex;flex-direction:column;gap:3px}.region-power-row{display:flex;align-items:center;justify-content:space-between}.region-power-label{font-size:14px;color:#8ba3c799}.region-power-value{font-size:14px;font-weight:600;color:#fff;display:flex;align-items:center;gap:4px}.region-status-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.support-station-marker{position:relative;width:40px;height:40px;cursor:pointer}.support-station-marker .pulse-ring{position:absolute;width:40px;height:40px;margin-left:-20px;margin-top:-20px;top:50%;left:50%;border-radius:50%;pointer-events:none;animation:pulse-animation 2s ease-out infinite}.support-station-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;z-index:2;border:2px solid;display:flex;align-items:center;justify-content:center;transition:transform .2s}.support-station-marker:hover .support-station-dot{transform:translate(-50%,-50%) scale(1.15)}.ev-truck{pointer-events:none}.ev-truck-badge{width:40px;height:32px;display:flex;align-items:center;justify-content:center;position:relative}.ev-truck-lightning{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.center-map[data-v-88123e0c]{width:100%;height:100%;position:relative;background:#0a1628;overflow:hidden}.tech-background[data-v-88123e0c]{position:absolute;inset:0;pointer-events:none;z-index:0}.grid-overlay[data-v-88123e0c]{position:absolute;inset:0;background-image:linear-gradient(rgba(0,212,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.05) 1px,transparent 1px);background-size:50px 50px;animation:grid-move-88123e0c 20s linear infinite}@keyframes grid-move-88123e0c{0%{background-position:0 0}to{background-position:50px 50px}}.maptiler-map[data-v-88123e0c]{width:100%;height:100%;z-index:1}.plant-modal-animated[data-v-88123e0c]{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none}.plant-modal-animated[data-v-88123e0c]>*{pointer-events:auto}.plant-info-card[data-v-88123e0c]{position:absolute;width:320px;max-height:520px;overflow-y:auto;background:#0a1628f2;border:1px solid rgba(0,212,255,.4);border-radius:12px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:1001;box-shadow:0 0 30px #00d4ff33,0 10px 40px #00000080}.plant-info-card[data-v-88123e0c]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0f8,#00d4ff)}.plant-info-card[data-v-88123e0c]::-webkit-scrollbar{width:4px}.plant-info-card[data-v-88123e0c]::-webkit-scrollbar-track{background:transparent}.plant-info-card[data-v-88123e0c]::-webkit-scrollbar-thumb{background:#00d4ff4d;border-radius:2px}.info-card-header[data-v-88123e0c]{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid rgba(0,212,255,.2);position:sticky;top:0;background:#0a1628fa;z-index:1}.plant-title[data-v-88123e0c]{display:flex;align-items:center;gap:10px}.plant-title .status-dot[data-v-88123e0c]{width:10px;height:10px;border-radius:50%}.plant-title .status-dot.online[data-v-88123e0c]{background:#0f8;box-shadow:0 0 10px #0f8}.plant-name[data-v-88123e0c]{font-size:16px;font-weight:600;color:#fff;letter-spacing:1px}.close-btn[data-v-88123e0c]{background:transparent;border:none;color:#8ba3c7;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-btn[data-v-88123e0c]:hover{color:#ff6b9d}.info-card-body[data-v-88123e0c]{padding:15px 18px 18px}.info-section[data-v-88123e0c]{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(0,212,255,.15)}.info-section[data-v-88123e0c]:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.section-title[data-v-88123e0c]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#fff;margin-bottom:12px}.section-content[data-v-88123e0c]{padding-left:22px}.data-row[data-v-88123e0c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.data-row[data-v-88123e0c]:last-child{margin-bottom:0}.data-row .label[data-v-88123e0c]{font-size:12px;color:#8ba3c7}.data-row .value[data-v-88123e0c]{font-size:14px;font-weight:600;color:#fff}.data-row .value.cyan[data-v-88123e0c]{color:#00d4ff;text-shadow:0 0 10px rgba(0,212,255,.5)}.data-row .value.green[data-v-88123e0c]{color:#0f8;text-shadow:0 0 10px rgba(0,255,136,.5)}.data-row .value.gold[data-v-88123e0c]{color:#fc0;text-shadow:0 0 10px rgba(255,204,0,.5)}.data-row .value.pink[data-v-88123e0c]{color:#ff6b9d;text-shadow:0 0 10px rgba(255,107,157,.5)}.data-row .value.purple[data-v-88123e0c]{color:#9d6bff;text-shadow:0 0 10px rgba(157,107,255,.5)}.data-row .value.orange[data-v-88123e0c]{color:#ff9500;text-shadow:0 0 10px rgba(255,149,0,.5)}.data-row .value.teal[data-v-88123e0c]{color:#0fc;text-shadow:0 0 10px rgba(0,255,204,.5)}.status-tag[data-v-88123e0c]{font-size:11px;padding:3px 10px;border-radius:12px;font-weight:500}.status-tag.charging[data-v-88123e0c]{background:#00d4ff33;color:#00d4ff}.status-tag.discharging[data-v-88123e0c]{background:#ff6b9d33;color:#ff6b9d}.status-tag.idle[data-v-88123e0c]{background:#8ba3c733;color:#8ba3c7}.status-tag.auto[data-v-88123e0c]{background:#0f83;color:#0f8}.status-tag.manual[data-v-88123e0c]{background:#fc03;color:#fc0}.status-tag.active[data-v-88123e0c]{background:#0f83;color:#0f8}.status-tag.inactive[data-v-88123e0c]{background:#6666664d;color:#888}.soc-bar[data-v-88123e0c]{height:6px;background:#00d4ff33;border-radius:3px;margin:8px 0;overflow:hidden}.soc-bar .soc-fill[data-v-88123e0c]{height:100%;background:linear-gradient(90deg,#00d4ff,#0fc);border-radius:3px;transition:width .5s ease}.info-card-enter-active[data-v-88123e0c],.info-card-leave-active[data-v-88123e0c]{transition:all .3s ease}.info-card-enter-from[data-v-88123e0c],.info-card-leave-to[data-v-88123e0c]{opacity:0;transform:scale(.95) translate(-10px)}.map-legend[data-v-88123e0c]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:row;gap:25px;padding:8px 20px;background:#0a1628e6;border:1px solid rgba(0,212,255,.3);border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000}.legend-item[data-v-88123e0c]{display:flex;align-items:center;gap:8px;font-size:14px;color:#8ba3c7}.legend-dot[data-v-88123e0c]{width:12px;height:12px;border-radius:50%}.legend-dot.online[data-v-88123e0c]{background:#0f8;box-shadow:0 0 8px #0f8}.legend-dot.offline[data-v-88123e0c]{background:#666}.legend-dot.warning[data-v-88123e0c]{background:#fc0;box-shadow:0 0 8px #fc0}.legend-dot.rescue[data-v-88123e0c]{background:#ff4757;box-shadow:0 0 8px #ff4757}.legend-dot.support[data-v-88123e0c]{background:#0096ff;box-shadow:0 0 8px #0096ff}.support-marker-dest[data-v-88123e0c],.support-marker-src[data-v-88123e0c]{pointer-events:none;position:relative;width:0;height:0;display:flex;align-items:center;justify-content:center}.support-card-marker[data-v-88123e0c]{display:flex;align-items:center;gap:8px;background:#0a1628eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(0,180,255,.4);border-radius:8px;padding:6px 12px 6px 8px;box-shadow:0 4px 16px #00000080,0 0 12px #0096ff26;white-space:nowrap;font-family:Inter,Noto Sans TC,sans-serif;position:relative;z-index:2}.support-card-marker.source[data-v-88123e0c]{border-color:#0096ff99;box-shadow:0 4px 20px #00000080,0 0 20px #0096ff40}.support-card-icon[data-v-88123e0c]{width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#00b4d8,#0077b6);flex-shrink:0}.support-card-icon.source[data-v-88123e0c]{background:linear-gradient(135deg,#0096ff,#0050cc)}.support-card-name[data-v-88123e0c]{font-size:13px;font-weight:600;color:#fff;line-height:1.3}.support-card-sub[data-v-88123e0c]{font-size:11px;color:#8ba3c7;line-height:1.3}.support-pulse-ring[data-v-88123e0c]{position:absolute;width:60px;height:60px;top:50%;left:50%;transform:translate(-50%,-50%) scale(.5);border-radius:50%;border:2px solid rgba(0,180,255,.5);animation:support-pulse-88123e0c 2.5s ease-out infinite;z-index:1}.support-pulse-ring.delay[data-v-88123e0c]{animation-delay:1.25s}@keyframes support-pulse-88123e0c{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}.support-dest-dot[data-v-88123e0c]{z-index:2;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,#4db8ff,#0077b6);box-shadow:0 0 8px #0096ff99;border:2px solid rgba(255,255,255,.4)}.support-source-dot[data-v-88123e0c]{z-index:2;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#0096ff,#0050cc);display:flex;align-items:center;justify-content:center;box-shadow:0 0 12px #0096ff99,0 0 24px #0096ff33;border:2px solid rgba(255,255,255,.35)}.support-pulse-ring.source-ring[data-v-88123e0c]{border-color:#0096ff99;width:70px;height:70px}.support-marker-dest.arrived .support-pulse-ring[data-v-88123e0c]{border-color:#00ff8880;animation-name:support-pulse-green-88123e0c}.support-marker-dest.arrived .support-dest-dot[data-v-88123e0c]{background:radial-gradient(circle,#0f8,#0a5);box-shadow:0 0 8px #0f89}@keyframes support-pulse-green-88123e0c{0%{transform:translate(-50%,-50%) scale(.5);opacity:1;border-color:#00ff8880}to{transform:translate(-50%,-50%) scale(2.5);opacity:0;border-color:#00ff8880}}.psc-top-bar[data-v-88123e0c]{position:fixed;top:0;left:0;right:0;height:72px;display:flex;align-items:center;gap:28px;padding:0 32px;background:#0a1628f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,150,255,.3);font-family:Inter,Noto Sans TC,sans-serif;animation:psc-slide-down-88123e0c .4s ease-out}@keyframes psc-slide-down-88123e0c{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.psc-title[data-v-88123e0c]{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:#fff;flex-shrink:0}.psc-bus-status[data-v-88123e0c]{flex:1;display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:#fff}.psc-close[data-v-88123e0c]{background:transparent;border:none;color:#8ba3c7;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s;line-height:1;flex-shrink:0}.psc-close[data-v-88123e0c]:hover{color:#ff6b9d;background:#ff6b9d1a}.psc-station-card[data-v-88123e0c]{position:fixed;width:280px;background:#0a1628f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(0,150,255,.25);border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #00000080,0 0 15px #0096ff14;pointer-events:auto;font-family:Inter,Noto Sans TC,sans-serif;opacity:0;transition:opacity .3s ease}.psc-station-card.psc-card-map[data-v-88123e0c]{transition:opacity .3s ease,left .08s linear,top .08s linear}.psc-station-card.anim-p1[data-v-88123e0c]{opacity:1}.psc-station-header[data-v-88123e0c]{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.psc-station-dot[data-v-88123e0c]{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0}.psc-station-name[data-v-88123e0c]{font-size:15px;font-weight:600;color:#fff}.psc-station-badge[data-v-88123e0c]{margin-left:auto;font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;white-space:nowrap}.psc-station-badge.warn[data-v-88123e0c]{color:#ff6b6b;background:#ff6b6b26;border:1px solid rgba(255,107,107,.3);animation:badge-blink-88123e0c 2s ease-in-out infinite}@keyframes badge-blink-88123e0c{0%,to{opacity:1}50%{opacity:.5}}.psc-station-body[data-v-88123e0c]{max-height:0;overflow:hidden;padding:0 16px;display:flex;flex-direction:column;gap:8px;transition:max-height .4s ease-out,padding .3s ease-out}.psc-station-card.anim-p2 .psc-station-body[data-v-88123e0c]{max-height:300px;padding:10px 16px 14px}.psc-station-row[data-v-88123e0c]{display:flex;justify-content:space-between;align-items:center;opacity:0;transform:translate(-10px);transition:opacity .25s ease,transform .25s ease}.psc-station-card.anim-p3 .psc-station-row[data-v-88123e0c]{opacity:1;transform:translate(0)}.psc-station-card.anim-p3 .psc-station-row[data-v-88123e0c]:nth-child(1){transition-delay:0s}.psc-station-card.anim-p3 .psc-station-row[data-v-88123e0c]:nth-child(2){transition-delay:.06s}.psc-station-card.anim-p3 .psc-station-row[data-v-88123e0c]:nth-child(3){transition-delay:.12s}.psc-station-card.anim-p3 .psc-station-row[data-v-88123e0c]:nth-child(4){transition-delay:.18s}.psc-station-card.anim-p3 .psc-station-row[data-v-88123e0c]:nth-child(5){transition-delay:.24s}.psc-station-label[data-v-88123e0c]{font-size:13px;color:#8ba3c7}.psc-station-value[data-v-88123e0c]{font-size:13px;color:#00d4ff;font-weight:600}.psc-station-value.warn[data-v-88123e0c]{color:#ff6b6b}.psc-bus-divider[data-v-88123e0c]{height:1px;background:#ffffff1a;margin:6px 0 4px}.psc-bus-trigger[data-v-88123e0c]{display:flex;align-items:center;gap:6px;padding:4px 0;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .2s}.psc-bus-trigger[data-v-88123e0c]:hover{opacity:.8}.psc-bus-trigger-text[data-v-88123e0c]{font-size:12px;font-weight:600;color:#00d4ff}.psc-bus-trigger-arrow[data-v-88123e0c]{margin-left:auto;font-size:16px;color:#8ba3c7;transition:transform .25s ease}.psc-bus-trigger-arrow.active[data-v-88123e0c]{transform:rotate(90deg);color:#00d4ff}.psc-bus-panel[data-v-88123e0c]{position:fixed;width:460px;background:#0a1628f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(0,212,255,.3);border-radius:10px;overflow:hidden;box-shadow:0 8px 32px #00000080,0 0 20px #00d4ff14;pointer-events:auto;font-family:Inter,Noto Sans TC,sans-serif;animation:psc-bus-panel-in-88123e0c .3s ease}@keyframes psc-bus-panel-in-88123e0c{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.psc-bus-panel-header[data-v-88123e0c]{display:flex;align-items:center;gap:8px;padding:14px 18px;background:#00d4ff14;border-bottom:1px solid rgba(0,212,255,.15);font-size:16px;font-weight:600;color:#00d4ff}.psc-bus-panel-close[data-v-88123e0c]{margin-left:auto;background:none;border:none;color:#8ba3c7;font-size:16px;cursor:pointer;padding:2px 4px;line-height:1}.psc-bus-panel-close[data-v-88123e0c]:hover{color:#fff}.psc-bus-panel-summary[data-v-88123e0c]{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.psc-bus-stat[data-v-88123e0c]{display:flex;align-items:center;gap:8px;font-size:14px}.psc-bus-dot[data-v-88123e0c]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.psc-bus-stat-label[data-v-88123e0c]{color:#8ba3c7}.psc-bus-stat-value[data-v-88123e0c]{color:#cfd8e3;font-weight:600;margin-left:auto}.psc-bus-panel-list[data-v-88123e0c]{display:flex;flex-direction:column;gap:6px;padding:12px 18px 14px}.psc-bus-item[data-v-88123e0c]{display:flex;align-items:center;gap:12px;padding:7px 10px;border-radius:6px;background:#ffffff08;font-size:14px}.psc-bus-id[data-v-88123e0c]{color:#cfd8e3;font-weight:600;min-width:48px;font-size:14px}.psc-bus-item .psc-bus-status[data-v-88123e0c]{font-size:13px;font-weight:600;min-width:80px}.psc-bus-soc-bar[data-v-88123e0c]{flex:1;height:8px;background:#ffffff14;border-radius:4px;overflow:hidden;min-width:70px}.psc-bus-soc-fill[data-v-88123e0c]{height:100%;border-radius:3px;transition:width .3s ease}.psc-bus-soc-text[data-v-88123e0c]{font-size:13px;font-weight:600;min-width:32px;text-align:right}.revenue-chart[data-v-6d09fa79]{display:flex;flex-direction:column}.chart[data-v-6d09fa79]{width:100%;height:180px}.instant-reserve-chart[data-v-6a1005bd]{display:flex;flex-direction:column}.chart[data-v-6a1005bd]{width:100%;height:280px}.supplement-reserve-chart[data-v-07434933]{display:flex;flex-direction:column}.chart[data-v-07434933]{width:100%;height:200px}.manual-alert[data-v-208ef37f]{height:180px;display:flex;flex-direction:column}.summary[data-v-208ef37f]{display:flex;align-items:baseline;gap:6px;padding:0 2px 6px;flex-shrink:0}.dot[data-v-208ef37f]{width:8px;height:8px;border-radius:50%;align-self:center;flex-shrink:0}.dot.warn[data-v-208ef37f]{background:#ff4757;box-shadow:0 0 8px #ff4757b3}.dot.ok[data-v-208ef37f]{background:#0f8;box-shadow:0 0 8px #0f89}.big[data-v-208ef37f]{font-size:22px;font-weight:700;line-height:1;color:#ff4757}.unit[data-v-208ef37f]{font-size:12px;color:#cfe3ff}.ok-text[data-v-208ef37f]{font-size:14px;color:#0f8;font-weight:600}.loading[data-v-208ef37f]{font-size:12px;color:#8ba3c7}.site-list[data-v-208ef37f]{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.site-row[data-v-208ef37f]{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid rgba(0,212,255,.15);border-radius:6px;background:#00d4ff08;cursor:pointer;transition:background .15s,border-color .15s}.site-row[data-v-208ef37f]:hover{background:#00d4ff1a;border-color:#00d4ff66}.site-row.alert[data-v-208ef37f]{border-color:#ff475759;background:#ff47570f}.site-row.alert[data-v-208ef37f]:hover{background:#ff47571f}.site-name[data-v-208ef37f]{font-size:13px;color:#eaf3ff;font-weight:600;flex-shrink:0}.enter[data-v-208ef37f]{flex-shrink:0;color:#8ba3c7;font-size:18px;line-height:1}.devices[data-v-208ef37f]{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:5px}.chip[data-v-208ef37f]{font-size:11px;color:#ff9aa4;background:#ff475726;border:1px solid rgba(255,71,87,.3);border-radius:4px;padding:1px 6px}.all-auto[data-v-208ef37f]{font-size:11px;color:#0f8}.err[data-v-208ef37f]{font-size:11px;color:#fc0}.right-panel[data-v-ed2d7db7]{display:flex;flex-direction:column;gap:15px}.placeholder-box[data-v-ed2d7db7]{height:180px;display:flex;align-items:center;justify-content:center;border:1px dashed rgba(0,212,255,.3);border-radius:6px;color:#8ba3c7;font-size:12px;letter-spacing:2px}.avg-price[data-v-ed2d7db7]{font-size:11px;color:#8ba3c7}.avg-price .price-value[data-v-ed2d7db7]{color:#fc0;font-weight:700}.reserve-slider[data-v-ed2d7db7]{position:relative;overflow:hidden;touch-action:pan-y}.reserve-tabs[data-v-ed2d7db7]{display:flex;gap:6px}.tab[data-v-ed2d7db7]{padding:3px 12px;font-size:13px;letter-spacing:1px;color:#8ba3c7;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:color .2s,background .2s,border-color .2s}.tab[data-v-ed2d7db7]:hover{color:#fff}.tab.active[data-v-ed2d7db7]{color:#fff;background:#00d4ff26;border-color:#00d4ff80}.slider-track[data-v-ed2d7db7]{display:flex;transition:transform .3s ease}.slide[data-v-ed2d7db7]{flex:0 0 100%;min-width:0}.dashboard[data-v-9caa6c24]{width:100%;min-height:100vh;position:relative;overflow-x:hidden}.map-background[data-v-9caa6c24]{position:fixed;inset:0;z-index:1}.content-overlay[data-v-9caa6c24]{position:relative;z-index:10;display:flex;min-height:100vh;padding:15px;gap:15px;pointer-events:none}.content-overlay[data-v-9caa6c24]>*{pointer-events:auto}.left-area[data-v-9caa6c24]{width:380px;flex-shrink:0;margin-top:95px}.center-area[data-v-9caa6c24]{flex:1;display:flex;flex-direction:column;pointer-events:none;min-width:0}.center-area[data-v-9caa6c24]>*{pointer-events:auto}.right-area[data-v-9caa6c24]{width:420px;flex-shrink:0;margin-top:95px}.top-right-info[data-v-9caa6c24]{position:fixed;top:3px;right:15px;z-index:100;display:flex;flex-direction:row;align-items:center;gap:12px}.company-logo[data-v-9caa6c24]{width:80px;height:auto;opacity:1}.current-time[data-v-9caa6c24]{font-size:14px;font-family:Consolas,Monaco,monospace;color:#00d4ff;background:#0d1a2dcc;padding:6px 12px;border-radius:4px;border:1px solid rgba(0,212,255,.3);text-shadow:0 0 10px rgba(0,212,255,.5)}.admin-link[data-v-9caa6c24]{font-size:14px;color:#00d4ff;background:#0d1a2dcc;padding:6px 12px;border-radius:4px;border:1px solid rgba(0,212,255,.3);text-decoration:none;white-space:nowrap;transition:background .15s,box-shadow .15s}.admin-link[data-v-9caa6c24]:hover{background:#00d4ff26;box-shadow:0 0 10px #00d4ff66}
