.photovoltaic-page[data-v-d5a4c8cc]{min-height:calc(100vh - 84px);padding:14px;background:linear-gradient(180deg,#edf3fb,#f6f8fb 56%,#eef4fb);color:#3f4248}.page-layout[data-v-d5a4c8cc]{max-width:1920px;margin:0 auto}.main-col[data-v-d5a4c8cc],.side-col[data-v-d5a4c8cc]{display:flex;flex-direction:column;gap:14px}.station-title[data-v-d5a4c8cc]{display:flex;align-items:center;gap:10px;height:38px;padding-left:10px;font-size:18px;font-weight:600;color:#383c42}.station-title .station-id[data-v-d5a4c8cc]{font-size:13px;font-weight:500;color:#a0a5ad}.online-dot[data-v-d5a4c8cc]{width:11px;height:11px;display:inline-block;border-radius:50%;background:#278a18;box-shadow:0 0 0 3px rgba(39,138,24,.08)}.online-dot.offline[data-v-d5a4c8cc]{background:#b8bec8;box-shadow:0 0 0 3px rgba(184,190,200,.12)}.online-dot.small[data-v-d5a4c8cc]{width:8px;height:8px;margin-right:5px}.glass-card[data-v-d5a4c8cc]{border:1px solid rgba(220,227,236,.92);border-radius:4px;background:hsla(0,0%,100%,.94);box-shadow:0 2px 10px rgba(29,45,72,.1)}.glass-card[data-v-d5a4c8cc] .el-card__body{padding:0}.topology-card[data-v-d5a4c8cc]{height:520px;padding:0 16px 12px;position:relative}.topology-card .report-time[data-v-d5a4c8cc]{height:48px;display:flex;align-items:center;gap:8px;color:#777f8a;font-size:13px}.topology-card .report-time strong[data-v-d5a4c8cc]{color:#4b4f55}.topology-card .report-time .load-bucket-time[data-v-d5a4c8cc]{margin-left:10px}.topology-wrap[data-v-d5a4c8cc]{height:calc(100% - 48px)}.topology-toggle[data-v-d5a4c8cc]{position:absolute;right:22px;top:50%;z-index:3;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;color:#fff;background:rgba(168,174,181,.72);box-shadow:0 2px 8px rgba(105,112,124,.16);cursor:pointer;transform:translateY(-50%);transition:all .18s ease}.topology-toggle i[data-v-d5a4c8cc]{font-size:22px;font-weight:700}.topology-toggle[data-v-d5a4c8cc]:hover{background:#ff9f32;transform:translateY(-50%) scale(1.06)}.topology-toggle.is-table[data-v-d5a4c8cc]{left:28px;right:auto}.topology-table[data-v-d5a4c8cc]{padding:18px 52px 28px 52px;height:calc(100% - 48px);box-sizing:border-box}.topology-table[data-v-d5a4c8cc] .el-table{color:#5f646b;font-size:15px}.topology-table[data-v-d5a4c8cc] .el-table th{height:56px;background:#f4f6fa;color:#2f343b;font-size:16px;font-weight:700}.topology-table[data-v-d5a4c8cc] .el-table td{height:58px;background:#fff}.topology-table[data-v-d5a4c8cc] .el-table .el-table__row:nth-child(2n) td{background:#f6f8fb}.flow-svg[data-v-d5a4c8cc]{width:100%;height:100%;display:block}.circle-node.is-idle[data-v-d5a4c8cc],.node-bg.is-idle[data-v-d5a4c8cc],.node-copy.is-idle[data-v-d5a4c8cc]{opacity:.35}.node-bg[data-v-d5a4c8cc]{stroke:none}.pv-bg[data-v-d5a4c8cc]{fill:url(#pvBg)}.grid-bg[data-v-d5a4c8cc]{fill:url(#gridBg)}.load-bg[data-v-d5a4c8cc]{fill:url(#loadBg)}.flow-line[data-v-d5a4c8cc]{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.flow-line.is-idle[data-v-d5a4c8cc]{opacity:.2}.pv-line[data-v-d5a4c8cc],.pv-pulse[data-v-d5a4c8cc]{stroke:#f4c400}.grid-line[data-v-d5a4c8cc],.grid-pulse[data-v-d5a4c8cc]{stroke:#ff7b7b}.load-line[data-v-d5a4c8cc],.load-pulse[data-v-d5a4c8cc]{stroke:#ff9d2e}.motion-arrow[data-v-d5a4c8cc]{filter:url(#softShadow);opacity:.95}.motion-arrow path[data-v-d5a4c8cc]{stroke:none}.pv-arrow path[data-v-d5a4c8cc]{fill:#f4c400}.grid-arrow path[data-v-d5a4c8cc]{fill:#ff7b7b}.load-arrow path[data-v-d5a4c8cc]{fill:#ff9d2e}.circle-node .ring-track[data-v-d5a4c8cc]{fill:#fff;stroke-width:2.4}.circle-node .ring-progress[data-v-d5a4c8cc]{fill:none;stroke-width:3.4;stroke-linecap:round}.pv-node .ring-track[data-v-d5a4c8cc]{stroke:#f5dd72}.pv-node .ring-progress[data-v-d5a4c8cc]{stroke:#f4c400}.grid-node .ring-progress[data-v-d5a4c8cc],.grid-node .ring-track[data-v-d5a4c8cc]{stroke:#ff7b7b}.inverter-node .ring-track[data-v-d5a4c8cc],.load-node .ring-progress[data-v-d5a4c8cc],.load-node .ring-track[data-v-d5a4c8cc]{stroke:#ff9d2e}.topology-icon[data-v-d5a4c8cc]{width:56px;height:52px;display:flex;align-items:center;justify-content:center;color:#6d6f73;font-size:30px}.node-title[data-v-d5a4c8cc]{font-size:16px;font-weight:600;fill:#404349}.node-sub[data-v-d5a4c8cc]{font-size:13px;fill:#717883}.node-value[data-v-d5a4c8cc],.power-text[data-v-d5a4c8cc]{font-size:12px;font-weight:700;fill:#5d6168}.runtime-card[data-v-d5a4c8cc]{min-height:760px;overflow:hidden}.runtime-card[data-v-d5a4c8cc] .el-card__header{height:50px;padding:0;border-bottom:1px solid #eef0f4}.runtime-body[data-v-d5a4c8cc]{min-height:680px;position:relative}.runtime-title[data-v-d5a4c8cc]{width:120px;height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff4e8,#ffe8cf);color:#ff7f12;font-size:16px;font-weight:700;letter-spacing:.5px}.runtime-toolbar[data-v-d5a4c8cc]{height:64px;padding:0 18px;display:flex;justify-content:flex-end;align-items:center;gap:8px;border-bottom:1px solid #eef1f5;position:relative;background:linear-gradient(180deg,#fbfcfe,#fff)}.runtime-toolbar .toolbar-btn[data-v-d5a4c8cc]{border-radius:8px;border-color:#dce3ed;color:#5f6672;background:#fff}.runtime-toolbar .toolbar-btn[data-v-d5a4c8cc]:focus,.runtime-toolbar .toolbar-btn[data-v-d5a4c8cc]:hover{color:#ff8a16;border-color:#ffc98a;background:#fffaf4}.runtime-toolbar .toolbar-btn.is-disabled[data-v-d5a4c8cc],.runtime-toolbar .toolbar-btn.is-disabled[data-v-d5a4c8cc]:hover{color:#c0c4cc;border-color:#e4e7ed;background:#f5f7fa}.date-switch[data-v-d5a4c8cc]{display:inline-flex;align-items:center;gap:8px}.date-switch .el-button[data-v-d5a4c8cc]{width:40px;padding-left:0;padding-right:0;border-radius:8px}.runtime-picker[data-v-d5a4c8cc]{width:160px}.runtime-picker[data-v-d5a4c8cc] .el-input__inner{height:34px;line-height:34px;border-radius:8px;text-align:center;font-weight:600;color:#60656d;padding-left:8px;padding-right:8px}.runtime-tabs[data-v-d5a4c8cc]{background:#fff}.runtime-tabs[data-v-d5a4c8cc] .el-tabs__header{margin:0}.runtime-tabs[data-v-d5a4c8cc] .el-tabs__nav-wrap:after{display:none}.runtime-tabs[data-v-d5a4c8cc] .el-tabs__item{height:34px;line-height:34px;margin-left:8px;padding:0 18px!important;border:1px solid #dce3ed;border-radius:8px;color:#555d68;transition:all .2s ease}.runtime-tabs[data-v-d5a4c8cc] .el-tabs__item.is-active{color:#fff;background:#ff8a16;border-color:#ff8a16;box-shadow:none}.runtime-tabs[data-v-d5a4c8cc] .el-tabs__active-bar{display:none}.param-select[data-v-d5a4c8cc]{width:108px}[data-v-d5a4c8cc] .day-param-dialog{border-radius:8px;overflow:hidden;box-shadow:0 8px 24px rgba(31,45,61,.12)}[data-v-d5a4c8cc] .day-param-dialog .el-dialog__header{padding:16px 20px 0;border-bottom:none}[data-v-d5a4c8cc] .day-param-dialog .el-dialog__headerbtn{top:14px;right:16px}[data-v-d5a4c8cc] .day-param-dialog .el-dialog__body{padding:10px 20px 0}[data-v-d5a4c8cc] .day-param-dialog .el-dialog__footer{padding:10px 20px 14px;border-top:1px solid #ebeef5;background:#fafbfc}[data-v-d5a4c8cc] .day-param-dialog .day-param-confirm{background:#ff8a16;border-color:#ff8a16}[data-v-d5a4c8cc] .day-param-dialog .day-param-confirm:focus,[data-v-d5a4c8cc] .day-param-dialog .day-param-confirm:hover{background:#ff961f;border-color:#ff961f}.day-param-dialog-head[data-v-d5a4c8cc]{display:flex;flex-direction:column;gap:4px}.day-param-dialog-head strong[data-v-d5a4c8cc]{color:#2f3440;font-size:17px;font-weight:700;line-height:1.3}.day-param-dialog-head span[data-v-d5a4c8cc]{color:#8a919c;font-size:13px;font-weight:400}.day-param-dialog-footer[data-v-d5a4c8cc]{display:flex;align-items:center;justify-content:space-between;width:100%}.day-param-dialog-actions[data-v-d5a4c8cc]{display:inline-flex;gap:8px}.day-param-group[data-v-d5a4c8cc]{margin-bottom:0}.day-param-group-title[data-v-d5a4c8cc]{margin-bottom:8px;color:#909399;font-size:12px;font-weight:500;letter-spacing:.2px;text-transform:none}.day-param-options[data-v-d5a4c8cc]{display:flex;flex-direction:column;gap:8px}.day-param-option[data-v-d5a4c8cc]{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border:1px solid #e4e7ed;border-radius:4px;background:#fff;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.day-param-option[data-v-d5a4c8cc]:hover{border-color:#d3d7de;background:#f7f8fa}.day-param-option.is-checked[data-v-d5a4c8cc]{border-color:#c0c4cc;background:linear-gradient(180deg,#f9fafb,#f0f2f5);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.9)}.day-param-option i[data-v-d5a4c8cc]{margin-left:auto;color:#c0c4cc;font-size:14px}.day-param-option.is-checked i[data-v-d5a4c8cc]{color:#606266}.day-param-option-input[data-v-d5a4c8cc]{position:absolute;opacity:0;pointer-events:none}.day-param-option-dot[data-v-d5a4c8cc]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.day-param-option-text[data-v-d5a4c8cc]{display:flex;flex-direction:column;gap:2px}.day-param-option-text strong[data-v-d5a4c8cc]{color:#30343a;font-size:14px;font-weight:600}.day-param-option-text em[data-v-d5a4c8cc]{color:#9aa1ac;font-size:12px;font-style:normal}.runtime-summary[data-v-d5a4c8cc]{padding:18px 18px 0}.donut-panel[data-v-d5a4c8cc],.stat-panel[data-v-d5a4c8cc]{height:156px;border:1px solid #e8edf3;border-radius:12px;background:linear-gradient(180deg,#fbfcfe,#f5f7fb);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.85)}.donut-panel[data-v-d5a4c8cc]{display:flex;align-items:center;justify-content:center;gap:12px}.donut-chart[data-v-d5a4c8cc]{width:144px;height:144px}.donut-legend[data-v-d5a4c8cc]{min-width:150px}.donut-legend p[data-v-d5a4c8cc]{margin:10px 0;color:#666b73;font-size:14px}.donut-legend p strong[data-v-d5a4c8cc]{display:block;margin-top:4px;color:#5f636a;font-size:16px}.legend-dot[data-v-d5a4c8cc]{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%}.legend-dot.pv[data-v-d5a4c8cc]{background:#ff9f32}.legend-dot.grid[data-v-d5a4c8cc]{background:#f56c6c}.stat-panel[data-v-d5a4c8cc]{display:flex;justify-content:center;align-items:center;gap:92px}.stat-panel div[data-v-d5a4c8cc]{min-width:140px}.stat-panel span[data-v-d5a4c8cc]{display:block;margin-bottom:8px;color:#666b73;font-size:15px}.stat-panel strong[data-v-d5a4c8cc]{color:#30343a;font-size:20px;font-weight:500}.income-row[data-v-d5a4c8cc]{height:64px;margin:14px 18px 0;display:flex;justify-content:center;align-items:center;gap:48px;color:#60656d;font-size:14px;border:1px solid #e8edf3;border-radius:12px;background:#fff}.income-row strong[data-v-d5a4c8cc]{color:#3f444b;font-weight:600}.trend-chart[data-v-d5a4c8cc]{height:490px;width:100%;box-sizing:border-box;padding:0 14px 10px}.side-card[data-v-d5a4c8cc]{padding:18px 20px}.side-title[data-v-d5a4c8cc]{margin-bottom:18px;color:#333941;font-size:16px;font-weight:700}.side-title.with-more[data-v-d5a4c8cc]{display:flex;justify-content:space-between;align-items:center}.side-title.with-more span[data-v-d5a4c8cc]:last-child{color:#707780;font-size:13px;font-weight:400}.weather-card[data-v-d5a4c8cc]{min-height:246px}.weather-grid[data-v-d5a4c8cc]{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 14px}.weather-item[data-v-d5a4c8cc]{display:flex;align-items:center;gap:10px}.weather-item .weather-icon[data-v-d5a4c8cc]{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f7f8fa;color:#72767c;font-size:20px}.weather-item span[data-v-d5a4c8cc]{display:block;color:#8a9098;font-size:13px}.weather-item strong[data-v-d5a4c8cc]{color:#3f444b;font-size:13px}.update-time[data-v-d5a4c8cc]{margin-top:18px;color:#a2a8b1;font-size:13px}.station-card[data-v-d5a4c8cc]{min-height:430px}.station-image-wrap[data-v-d5a4c8cc]{position:relative;height:205px;overflow:hidden;border-radius:10px;background:#eef1f5;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}.station-image-wrap img[data-v-d5a4c8cc]{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover;transform:scale(1.01)}.station-image-wrap[data-v-d5a4c8cc]:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.28));pointer-events:none}.station-image-wrap .station-image-badge[data-v-d5a4c8cc]{position:absolute;right:10px;bottom:8px;z-index:1;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.42);color:#fff;font-size:12px;line-height:1.6}.station-info[data-v-d5a4c8cc]{margin-top:10px}.station-info p[data-v-d5a4c8cc]{margin:10px 0 4px;color:#858b94;font-size:13px}.station-info strong[data-v-d5a4c8cc]{color:#464b52;font-size:14px;font-weight:500}.station-info .orange-text[data-v-d5a4c8cc]{color:#ff7f12}.emission-card[data-v-d5a4c8cc]{min-height:182px}.emission-grid[data-v-d5a4c8cc]{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 24px}.emission-item[data-v-d5a4c8cc]{display:flex;align-items:center;gap:12px}.emission-item i[data-v-d5a4c8cc]{color:#6e7278;font-size:30px}.emission-item span[data-v-d5a4c8cc]{display:block;color:#8a9098;font-size:13px}.emission-item strong[data-v-d5a4c8cc]{color:#444951;font-size:14px}.basic-card[data-v-d5a4c8cc]{min-height:420px}.basic-list[data-v-d5a4c8cc]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.basic-item[data-v-d5a4c8cc]{min-width:0}.basic-item span[data-v-d5a4c8cc]{display:block;margin-bottom:5px;color:#8a9098;font-size:13px}.basic-item strong[data-v-d5a4c8cc]{display:block;min-height:18px;color:#3f444b;font-size:14px;font-weight:600;line-height:1.35;word-break:break-all}[data-v-d5a4c8cc] .pv-tooltip{min-width:210px;box-sizing:border-box}[data-v-d5a4c8cc] .pv-tooltip .pv-tooltip-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:2px;line-height:1.6}[data-v-d5a4c8cc] .pv-tooltip .pv-tooltip-row{line-height:2;white-space:nowrap}@media(max-width:1500px){.topology-card[data-v-d5a4c8cc]{height:470px}.runtime-card[data-v-d5a4c8cc]{min-height:700px}.trend-chart[data-v-d5a4c8cc]{height:450px}.stat-panel[data-v-d5a4c8cc]{gap:56px}}@media(max-width:1200px){.side-col[data-v-d5a4c8cc]{margin-top:14px}}@media(max-width:768px){.photovoltaic-page[data-v-d5a4c8cc]{padding:10px}.station-title[data-v-d5a4c8cc]{flex-wrap:wrap;height:auto;min-height:38px}.topology-card[data-v-d5a4c8cc]{height:390px;padding:0 8px 8px}.runtime-toolbar[data-v-d5a4c8cc]{height:auto;padding:12px;flex-wrap:wrap;justify-content:flex-start}.donut-panel[data-v-d5a4c8cc],.stat-panel[data-v-d5a4c8cc]{height:auto;min-height:140px;margin-bottom:10px}.stat-panel[data-v-d5a4c8cc]{gap:24px}.income-row[data-v-d5a4c8cc]{flex-wrap:wrap;gap:12px}.trend-chart[data-v-d5a4c8cc]{height:420px}}.photovoltaic-date-picker .el-picker-panel{min-width:auto}