.tn-wrap[data-v-120adaba]{display:inline-flex;align-items:center;flex-shrink:0;position:relative}.tn-wrap.drag-over-inside>.tn-cat[data-v-120adaba],.tn-wrap.drag-over-inside>.tn-dev[data-v-120adaba]{outline:2px dashed #1890ff;outline-offset:3px;background:#e6f4ff!important}.tn-wrap.is-dragging>.tn-cat[data-v-120adaba],.tn-wrap.is-dragging>.tn-dev[data-v-120adaba],.tn-wrap.is-dragging>.tn-root[data-v-120adaba]{opacity:.45}.tn-wrap>.tn-cat.insert-before[data-v-120adaba],.tn-wrap>.tn-dev.insert-before[data-v-120adaba]{box-shadow:0 -3px 0 0 #1890ff}.tn-wrap>.tn-cat.insert-after[data-v-120adaba],.tn-wrap>.tn-dev.insert-after[data-v-120adaba]{box-shadow:0 3px 0 0 #1890ff}.tn-root[data-v-120adaba]{background:linear-gradient(135deg,#e53935,#b71c1c);color:#fff;border-radius:10px;padding:14px 20px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:grab;box-shadow:0 4px 14px rgba(229,57,53,.35);-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;transition:transform .2s,box-shadow .2s;min-width:96px}.tn-root[data-v-120adaba]:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(229,57,53,.4)}.tn-root[data-v-120adaba]:active{cursor:grabbing}.tn-root-active[data-v-120adaba]{outline:3px solid hsla(0,0%,100%,.5);outline-offset:2px}.root-icon[data-v-120adaba]{font-size:20px;opacity:.9}.root-name[data-v-120adaba]{font-size:14px;font-weight:700;white-space:nowrap}.root-energy[data-v-120adaba]{font-size:10px;opacity:.8;white-space:nowrap;background:rgba(0,0,0,.15);padding:1px 8px;border-radius:10px}.tn-virt-root[data-v-120adaba]{width:1px;height:1px;opacity:0;flex-shrink:0}.tn-cat[data-v-120adaba]{background:#fff;border:1px solid #ebeef5;border-radius:8px;padding:10px 14px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .18s;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;position:relative;box-shadow:0 1px 3px rgba(0,0,0,.05)}.tn-cat[data-v-120adaba]:hover{background:#fcfdfe;border-color:#c0c4cc;box-shadow:0 2px 8px rgba(0,0,0,.08);transform:translateY(-1px)}.tn-cat.tn-active[data-v-120adaba]{background:#f0f9ff;border-color:#409eff;box-shadow:0 2px 12px rgba(64,158,255,.2)}.cat-icon-wrap[data-v-120adaba]{width:28px;height:28px;border-radius:6px;background:#fffbf0;border:1px solid #faecd8;display:flex;align-items:center;justify-content:center;color:#e6a23c;font-size:13px;flex-shrink:0}.tn-cat.tn-active .cat-icon-wrap[data-v-120adaba]{background:#f0f5ff;border-color:#409eff;color:#409eff}.cat-body[data-v-120adaba]{display:flex;flex-direction:column;gap:2px}.cat-name[data-v-120adaba]{font-size:13px;font-weight:600;color:#303133;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.tn-cat.tn-active .cat-name[data-v-120adaba]{color:#409eff}.cat-energy[data-v-120adaba]{font-size:10px;color:#909399}.tn-dev[data-v-120adaba]{background:#fff;border:1px solid #ebeef5;border-radius:8px;padding:8px 10px;display:inline-flex;align-items:center;gap:8px;min-width:172px;cursor:pointer;transition:all .18s;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;position:relative;box-shadow:0 1px 3px rgba(0,0,0,.05)}.tn-dev[data-v-120adaba]:hover{background:#fcfdfe;border-color:#c0c4cc;box-shadow:0 2px 8px rgba(0,0,0,.08);transform:translateY(-1px)}.tn-dev.tn-active[data-v-120adaba]{background:#f0f9ff;border-color:#409eff;box-shadow:0 2px 12px rgba(64,158,255,.2)}.tn-dev-dual[data-v-120adaba]{min-width:192px;flex-direction:column;align-items:flex-start}.dev-icon[data-v-120adaba]{width:30px;height:30px;flex-shrink:0;border-radius:6px;background:#f5f7fa;border:1px solid #dcdfe6;overflow:hidden;display:flex;align-items:center;justify-content:center}.dev-icon.small[data-v-120adaba]{width:24px;height:24px;border-radius:5px}.dev-icon.backup-icon[data-v-120adaba]{background:#f0f9eb;border-color:#e1f3d8}.meter-img[data-v-120adaba]{width:20px;height:20px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.dev-icon.small .meter-img[data-v-120adaba]{width:15px;height:15px}.dev-info[data-v-120adaba]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dev-name[data-v-120adaba]{font-size:12px;font-weight:600;color:#303133;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:98px}.dev-name.small[data-v-120adaba]{font-size:11px;max-width:86px}.dev-serial[data-v-120adaba]{font-size:10px;color:#909399;white-space:nowrap}.dev-power[data-v-120adaba]{font-size:10px;color:#409eff;font-weight:500}.dual-badge[data-v-120adaba]{font-size:10px;color:#7a9ab8;background:#f4f7fb;border:1px solid #c0d0e0;padding:1px 7px;border-radius:4px;display:inline-flex;align-items:center;gap:3px;font-weight:500;align-self:flex-start;margin-bottom:4px}.dual-meters[data-v-120adaba]{display:flex;flex-direction:column;gap:5px;width:100%}.dual-meter-row[data-v-120adaba]{display:flex;align-items:center;gap:6px;padding-bottom:4px;border-bottom:1px dashed #f0f0f0}.dual-meter-row[data-v-120adaba]:last-child{padding-bottom:0;border-bottom:none}.tn-conn[data-v-120adaba]{display:inline-flex;align-items:center;flex-shrink:0}.h-seg[data-v-120adaba]{width:32px;height:2px;background:#dcdfe6;flex-shrink:0;align-self:center;transition:background .2s}.h-seg.loss-green[data-v-120adaba]{background:#67c23a}.h-seg.loss-red[data-v-120adaba]{background:#f56c6c}.root-gap[data-v-120adaba]{width:12px}.col-btn[data-v-120adaba]{position:relative;width:28px;height:28px;border-radius:50%;border:1.5px solid #dcdfe6;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px;color:#909399;transition:all .18s;flex-shrink:0;z-index:2;box-shadow:0 1px 4px rgba(0,0,0,.08)}.col-btn[data-v-120adaba]:hover{border-color:#409eff;color:#409eff;background:#ecf5ff;transform:scale(1.12)}.col-btn.loss-red[data-v-120adaba]{border-color:#f56c6c;color:#f56c6c}.col-btn.loss-green[data-v-120adaba]{border-color:#67c23a;color:#67c23a}.loss-tag[data-v-120adaba]{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);font-size:13px;font-weight:700;white-space:nowrap;pointer-events:none;z-index:10;background:#fff;padding:3px 10px;border-radius:6px;line-height:1.5;box-shadow:0 2px 8px rgba(0,0,0,.14);border:1.5px solid;opacity:1;min-width:60px;text-align:center}.loss-tag.green[data-v-120adaba]{color:#52c41a;border-color:#b7eb8f;background:#f6ffed}.loss-tag.red[data-v-120adaba]{color:#f5222d;border-color:#ffccc7;background:#fff1f0}.tn-children-wrap[data-v-120adaba]{display:flex;flex-direction:column;position:relative;flex-shrink:0}.child-row[data-v-120adaba]{display:inline-flex;align-items:center;flex-shrink:0;padding:18px 0;position:relative}.child-row[data-v-120adaba]:before{content:"";position:absolute;left:0;width:2px;background:#dcdfe6;z-index:0;top:0;height:100%}.child-row[data-v-120adaba]:first-child:before{top:50%;height:50%}.child-row[data-v-120adaba]:last-child:before{top:0;height:50%}.child-row[data-v-120adaba]:first-child:last-child:before{display:none}.child-row[data-v-120adaba]:first-child{padding-top:0}.child-row[data-v-120adaba]:last-child{padding-bottom:0}.child-h-seg[data-v-120adaba]{width:32px;height:2px;background:#dcdfe6;flex-shrink:0;align-self:center;transition:background .2s}.child-h-seg.loss-green[data-v-120adaba]{background:#67c23a}.child-h-seg.loss-red[data-v-120adaba]{background:#f56c6c}.tn-collapsed[data-v-120adaba]{display:inline-flex;align-items:center;flex-shrink:0}.collapsed-badge[data-v-120adaba]{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:10px;background:#f0f2f5;border:1px solid #e0e3e8;font-size:11px;color:#888;cursor:pointer;transition:all .15s}.collapsed-badge[data-v-120adaba]:hover{background:#e6f4ff;border-color:#91caff;color:#1890ff}.badge-more[data-v-120adaba]{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:10px;background:#f0f2f5;border:1px dashed #d0d3d9;font-size:11px;color:#888;cursor:pointer;transition:all .15s}.badge-more[data-v-120adaba]:hover{background:#e6f4ff;border-color:#91caff;color:#1890ff}.page-wrap[data-v-2d2a9238]{display:flex;height:100vh;overflow:hidden;font-family:PingFang SC,Microsoft YaHei,sans-serif;background:#f0f2f5}.tree-panel[data-v-2d2a9238]{flex:1;min-width:0;display:flex;flex-direction:column;background:#fff;border-right:1px solid #e8eaed;overflow:hidden}.tree-toolbar[data-v-2d2a9238]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #e8eaed;flex-shrink:0;gap:12px;flex-wrap:wrap}.toolbar-left[data-v-2d2a9238]{display:flex;align-items:center;gap:10px;flex:1;min-width:0;flex-wrap:wrap}.toolbar-date-group[data-v-2d2a9238]{display:flex;align-items:center;gap:7px;flex-shrink:0}.toolbar-right[data-v-2d2a9238]{display:flex;gap:8px;flex-shrink:0}.toolbar-left[data-v-2d2a9238] .el-input__inner{border-radius:18px;background:#f5f7fa;border-color:transparent;transition:all .2s}.toolbar-left[data-v-2d2a9238] .el-input__inner:focus{background:#fff;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.1)}.tree-canvas[data-v-2d2a9238]{flex:1;overflow:hidden;padding:40px 50px;background:#f7f8fa;background-image:radial-gradient(circle,#d6dae4 1px,transparent 0);background-size:20px 20px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tree-inner[data-v-2d2a9238]{display:inline-flex;align-items:center;min-width:-moz-max-content;min-width:max-content;min-height:-moz-max-content;min-height:max-content}.zoom-indicator[data-v-2d2a9238]{position:absolute;bottom:16px;right:16px;display:flex;align-items:center;gap:2px;background:hsla(0,0%,100%,.92);border:1px solid #e0e3e8;border-radius:20px;padding:4px 10px;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.08);backdrop-filter:blur(4px)}.zoom-btn[data-v-2d2a9238]{border:none;background:none;cursor:pointer;font-size:14px;color:#666;padding:2px 5px;border-radius:4px;line-height:1;transition:all .15s}.zoom-btn[data-v-2d2a9238]:hover{background:#f0f0f0;color:#1890ff}.zoom-btn[data-v-2d2a9238]:disabled{color:#ccc;cursor:not-allowed}.zoom-btn[data-v-2d2a9238]:disabled:hover{background:none;color:#ccc}.reset-btn[data-v-2d2a9238]{font-size:12px}.zi-sep[data-v-2d2a9238]{width:1px;height:14px;background:#e0e3e8;margin:0 4px}.zoom-val[data-v-2d2a9238]{min-width:38px;text-align:center;font-size:11px;font-weight:500;color:#555}@keyframes shimmer-2d2a9238{0%{background-position:-400px 0}to{background-position:400px 0}}.tree-skeleton[data-v-2d2a9238]{display:inline-flex;align-items:center}.skel-node[data-v-2d2a9238],.skel-root[data-v-2d2a9238]{background:linear-gradient(90deg,#ebebeb 25%,#e0e0e0 50%,#ebebeb 75%);background-size:400px 100%;animation:shimmer-2d2a9238 1.4s infinite;border-radius:8px}.skel-root[data-v-2d2a9238]{width:80px;height:52px}.skel-hline[data-v-2d2a9238]{width:36px;height:2px;background:#e0e0e0}.skel-children[data-v-2d2a9238]{display:flex;flex-direction:column;gap:14px}.skel-node[data-v-2d2a9238]{width:160px;height:60px}.tree-empty[data-v-2d2a9238]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 40px;color:#bbb}.tree-empty i[data-v-2d2a9238]{font-size:52px;color:#d9d9d9}.tree-empty p[data-v-2d2a9238]{font-size:14px;margin:0}.detail-panel[data-v-2d2a9238]{width:400px;min-width:400px;display:flex;flex-direction:column;background:#f5f7fa;border-left:1px solid #e8eaed;overflow:hidden}.panel-slide-enter-active[data-v-2d2a9238]{transition:all .28s cubic-bezier(.34,1.5,.64,1)}.panel-slide-leave-active[data-v-2d2a9238]{transition:all .18s ease}.panel-slide-enter[data-v-2d2a9238]{opacity:0;transform:translateX(32px)}.panel-slide-leave-to[data-v-2d2a9238]{opacity:0;transform:translateX(24px)}.detail-head[data-v-2d2a9238]{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 16px 12px;background:#fff;border-bottom:1px solid #e8eaed;flex-shrink:0;gap:10px}.head-left[data-v-2d2a9238]{flex:1;min-width:0}.node-type-tag[data-v-2d2a9238]{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;margin-bottom:5px}.tag-root[data-v-2d2a9238]{background:#fff1f0;color:#cf1322}.tag-cat[data-v-2d2a9238]{background:#fff7e6;color:#d46b08}.tag-dev[data-v-2d2a9238]{background:#e6f4ff;color:#0958d9}.tag-dual[data-v-2d2a9238]{background:#f6ffed;color:#389e0d}.head-title[data-v-2d2a9238]{font-size:15px;font-weight:700;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.head-date-range[data-v-2d2a9238]{font-size:11px;color:#aaa;margin-top:4px;display:flex;align-items:center;gap:3px}.close-btn[data-v-2d2a9238]{flex-shrink:0;width:26px;height:26px;border:none;background:#f5f5f5;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#999;font-size:13px;transition:all .15s;margin-top:2px}.close-btn[data-v-2d2a9238]:hover{background:#ffe8e8;color:#ff4d4f}.detail-body[data-v-2d2a9238]{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.detail-body[data-v-2d2a9238]::-webkit-scrollbar{width:4px}.detail-body[data-v-2d2a9238]::-webkit-scrollbar-thumb{background:#ddd;border-radius:2px}.energy-hero-card[data-v-2d2a9238]{position:relative;overflow:hidden;background:linear-gradient(135deg,#1677ff,#0050b3);border-radius:12px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 16px rgba(22,119,255,.3);flex-shrink:0}.ehc-bg-decoration[data-v-2d2a9238]{position:absolute;right:-20px;top:-20px;width:120px;height:120px;border-radius:50%;background:hsla(0,0%,100%,.06);pointer-events:none}.ehc-left[data-v-2d2a9238]{display:flex;align-items:center;gap:12px}.ehc-icon[data-v-2d2a9238]{width:44px;height:44px;border-radius:10px;background:hsla(0,0%,100%,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.ehc-meter-img[data-v-2d2a9238]{width:32px;height:32px;-o-object-fit:contain;object-fit:contain}.ehc-label[data-v-2d2a9238]{font-size:13px;color:hsla(0,0%,100%,.8);font-weight:500}.ehc-date[data-v-2d2a9238]{font-size:11px;color:hsla(0,0%,100%,.55);margin-top:3px}.ehc-right[data-v-2d2a9238]{text-align:right;flex-shrink:0}.ehc-value[data-v-2d2a9238]{font-size:28px;font-weight:700;color:#fff;line-height:1.1;letter-spacing:-.5px}.ehc-unit[data-v-2d2a9238]{font-size:12px;color:hsla(0,0%,100%,.65);margin-top:4px}.section-card[data-v-2d2a9238]{background:#fff;border-radius:10px;border:1px solid #ebeef5;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.05);flex-shrink:0}.sc-header[data-v-2d2a9238]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 9px;border-bottom:1px solid #f5f5f5;background:#fafafa}.sc-title[data-v-2d2a9238]{font-size:12px;font-weight:600;color:#555;display:flex;align-items:center;gap:5px}.sc-title i[data-v-2d2a9238]{color:#1890ff}.sc-count[data-v-2d2a9238]{font-size:11px;color:#aaa;background:#f0f0f0;padding:1px 7px;border-radius:8px}.sc-body[data-v-2d2a9238]{padding:0}.child-energy-row[data-v-2d2a9238]{display:flex;align-items:center;padding:10px 14px;gap:8px;cursor:pointer;transition:background .13s}.child-energy-row[data-v-2d2a9238]:hover{background:#f5f9ff}.cer-border[data-v-2d2a9238]{border-top:1px solid #f5f5f5}.cer-rank[data-v-2d2a9238]{width:20px;height:20px;border-radius:5px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rank-1[data-v-2d2a9238]{background:#fff7e0;color:#d48806}.rank-2[data-v-2d2a9238]{background:#f0f0f0;color:#666}.rank-3[data-v-2d2a9238]{background:#fff2e8;color:#d4380d}.rank-n[data-v-2d2a9238]{background:#f5f5f5;color:#bbb;font-weight:500}.cer-icon[data-v-2d2a9238]{width:28px;height:28px;border-radius:6px;background:#f5f7fa;border:1px solid #dcdfe6;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.cer-meter-img[data-v-2d2a9238]{width:18px;height:18px;-o-object-fit:contain;object-fit:contain}.cer-folder-icon[data-v-2d2a9238]{font-size:14px;color:#e6a23c}.cer-info[data-v-2d2a9238]{flex:1;min-width:0}.cer-dual-row[data-v-2d2a9238]{display:flex;align-items:center;gap:5px;line-height:1.6}.cer-dual-label[data-v-2d2a9238]{font-size:10px;font-weight:600;padding:0 4px;border-radius:3px;flex-shrink:0}.cer-dual-label.primary[data-v-2d2a9238]{background:#f0f5ff;color:#4a7fcb;border:1px solid #d0dff5}.cer-dual-label.backup[data-v-2d2a9238]{background:#f4fbf6;color:#4a9a6a;border:1px solid #c0dfcc}.cer-dual-detail[data-v-2d2a9238]{display:flex;flex-direction:column;min-width:0}.cer-dual-name[data-v-2d2a9238]{font-size:12px;font-weight:600;color:#303133;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cer-dual-val-row[data-v-2d2a9238]{display:flex;align-items:baseline;gap:2px;justify-content:flex-end;line-height:1.6}.cer-name[data-v-2d2a9238]{font-size:12px;font-weight:600;color:#303133;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cer-serial[data-v-2d2a9238]{font-size:10px;color:#aaa;margin-top:1px}.cer-dual-tags[data-v-2d2a9238]{display:flex;gap:4px;margin-top:3px;flex-wrap:wrap}.cer-dual-tag[data-v-2d2a9238]{font-size:10px;padding:1px 5px;border-radius:3px;font-weight:500;white-space:nowrap}.cer-dual-tag.primary[data-v-2d2a9238]{background:#f0f5ff;color:#4a7fcb;border:1px solid #d0dff5}.cer-dual-tag.backup[data-v-2d2a9238]{background:#f4fbf6;color:#4a9a6a;border:1px solid #c0dfcc}.cer-right[data-v-2d2a9238]{flex-shrink:0;text-align:right;min-width:80px}.cer-value[data-v-2d2a9238]{font-size:13px;font-weight:700;color:#303133;white-space:nowrap}.cer-unit[data-v-2d2a9238]{font-size:11px;font-weight:400;color:#aaa;margin-left:2px}.cer-na[data-v-2d2a9238]{color:#ccc;font-weight:400}.cer-ratio-wrap[data-v-2d2a9238]{display:flex;align-items:center;gap:5px;margin-top:4px;justify-content:flex-end}.cer-ratio-bar[data-v-2d2a9238]{width:52px;height:4px;background:#f0f0f0;border-radius:2px;overflow:hidden}.cer-ratio-fill[data-v-2d2a9238]{height:100%;border-radius:2px;transition:width .4s ease}.bar-1[data-v-2d2a9238]{background:linear-gradient(90deg,#faad14,#fa8c16)}.bar-2[data-v-2d2a9238]{background:linear-gradient(90deg,#36cfc9,#1890ff)}.bar-3[data-v-2d2a9238]{background:linear-gradient(90deg,#73d13d,#52c41a)}.bar-n[data-v-2d2a9238]{background:#d9d9d9}.cer-ratio-text[data-v-2d2a9238]{font-size:10px;color:#aaa;white-space:nowrap;min-width:30px;text-align:right}.cer-arr[data-v-2d2a9238]{color:#ccc;font-size:11px;flex-shrink:0;margin-left:2px}.empty-children-tip[data-v-2d2a9238]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px;color:#ccc;font-size:13px;background:#fff;border-radius:10px;border:1px dashed #e8eaed}.empty-children-tip i[data-v-2d2a9238]{font-size:32px}.chart-card[data-v-2d2a9238]{background:#fff;border-radius:10px;border:1px solid #ebeef5;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.05);flex-shrink:0}.chart-card-header[data-v-2d2a9238]{justify-content:space-between;padding:11px 14px 0;flex-wrap:wrap}.cch-left[data-v-2d2a9238],.chart-card-header[data-v-2d2a9238]{display:flex;align-items:center;gap:6px}.cch-icon[data-v-2d2a9238]{color:#1890ff;font-size:14px}.cch-title[data-v-2d2a9238]{font-size:12px;font-weight:600;color:#555}.cch-unit[data-v-2d2a9238]{font-size:11px;color:#bbb}.chart-scroll-wrap[data-v-2d2a9238]{width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#d0d7e3 transparent}.chart-scroll-wrap[data-v-2d2a9238]::-webkit-scrollbar{height:5px}.chart-scroll-wrap[data-v-2d2a9238]::-webkit-scrollbar-track{background:transparent}.chart-scroll-wrap[data-v-2d2a9238]::-webkit-scrollbar-thumb{background:#d0d7e3;border-radius:3px}.chart-scroll-wrap[data-v-2d2a9238]::-webkit-scrollbar-thumb:hover{background:#b0bac8}.chart-canvas[data-v-2d2a9238]{height:280px;min-width:100%;display:block;padding-bottom:2px;box-sizing:border-box}.chart-empty[data-v-2d2a9238]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:32px;color:#ccc;font-size:12px}.chart-empty i[data-v-2d2a9238]{font-size:28px}.stats-row[data-v-2d2a9238]{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;flex-shrink:0}.stat-item[data-v-2d2a9238]{background:#fff;border-radius:8px;border:1px solid #ebeef5;padding:12px 14px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.si-label[data-v-2d2a9238]{font-size:11px;color:#999;margin-bottom:5px}.si-val[data-v-2d2a9238]{font-size:18px;font-weight:700;color:#303133;line-height:1}.si-unit[data-v-2d2a9238]{font-size:11px;font-weight:400;color:#aaa;margin-left:2px}.si-val.green[data-v-2d2a9238]{color:#52c41a}.si-val.red[data-v-2d2a9238]{color:#f5222d}.legend-row[data-v-2d2a9238]{display:flex;flex-wrap:wrap;gap:8px}.legend-item[data-v-2d2a9238]{display:flex;align-items:center;gap:4px;font-size:11px;color:#888}.ldot[data-v-2d2a9238]{display:inline-block;width:8px;height:8px;border-radius:2px;flex-shrink:0}.section-lbl[data-v-2d2a9238]{font-size:11px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.4px;display:flex;align-items:center;gap:5px;padding:0 2px}.upstream-lbl[data-v-2d2a9238]{color:#cf1322}.downstream-lbl[data-v-2d2a9238]{color:#389e0d}.flow-card[data-v-2d2a9238]{background:#fff;border-radius:10px;border:1px solid #ebeef5;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05)}.flow-connector[data-v-2d2a9238]{display:flex;flex-direction:column;align-items:center;gap:3px;margin:2px 0}.fc-line[data-v-2d2a9238]{width:1px;height:18px;border-left:1px solid}.flow-connector.gray .fc-line[data-v-2d2a9238]{border-color:#dcdfe6}.flow-connector.green .fc-line[data-v-2d2a9238]{border-color:#b7eb8f}.flow-connector.red .fc-line[data-v-2d2a9238]{border-color:#ffccc7}.fc-loss-badge[data-v-2d2a9238]{font-size:11px;font-weight:500;padding:2px 10px;border-radius:12px;display:flex;align-items:center;gap:4px;white-space:nowrap;border:1px solid}.fc-loss-badge.green[data-v-2d2a9238]{color:#389e0d;background:#f6ffed;border-color:#b7eb8f}.fc-loss-badge.red[data-v-2d2a9238]{color:#cf1322;background:#fff1f0;border-color:#ffccc7}.fc-loss-badge b[data-v-2d2a9238]{font-weight:700}.fc-arrow[data-v-2d2a9238]{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent}.flow-connector.gray .fc-arrow[data-v-2d2a9238]{border-top:6px solid #dcdfe6}.flow-connector.green .fc-arrow[data-v-2d2a9238]{border-top:7px solid #52c41a}.flow-connector.red .fc-arrow[data-v-2d2a9238]{border-top:7px solid #ff4d4f}.flow-item[data-v-2d2a9238],.list-item[data-v-2d2a9238]{display:flex;align-items:center;padding:10px 14px;gap:10px;cursor:pointer;transition:background .14s}.flow-item[data-v-2d2a9238]:hover,.list-item[data-v-2d2a9238]:hover{background:#f5f9ff}.flow-item--border[data-v-2d2a9238]{border-top:1px solid #f5f5f5}.dual-parent-hd[data-v-2d2a9238]{padding:6px 14px;background:#fafafa;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;cursor:default}.dual-parent-hd[data-v-2d2a9238]:hover{background:#fafafa}.dual-child-header[data-v-2d2a9238]{padding:5px 14px 4px;background:#fafafa;border-top:1px solid #f0f0f0;cursor:pointer}.dual-child-tag[data-v-2d2a9238]{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#8c8c8c;font-weight:500;letter-spacing:.3px}.dual-child-tag i[data-v-2d2a9238]{font-size:10px;color:#bbb}.item-icon[data-v-2d2a9238]{width:32px;height:32px;border-radius:6px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.dev-icon-wrap[data-v-2d2a9238],.item-icon[data-v-2d2a9238]{background:#f5f7fa;border:1px solid #dcdfe6}.backup-icon[data-v-2d2a9238]{background:#f0f9eb;border:1px solid #e1f3d8}.cat-icon-wrap[data-v-2d2a9238]{background:#fffbf0;border:1px solid #faecd8;color:#e6a23c;font-size:13px}.meter-img[data-v-2d2a9238]{width:20px;height:20px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.08))}.item-info[data-v-2d2a9238]{flex:1;min-width:0}.item-name[data-v-2d2a9238]{font-size:13px;font-weight:600;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-name.big[data-v-2d2a9238]{font-size:14px}.item-serial[data-v-2d2a9238]{font-size:11px;color:#aaa;margin-top:2px}.view-link[data-v-2d2a9238]{color:#1890ff;cursor:pointer;margin-left:5px;font-size:11px}.view-link[data-v-2d2a9238]:hover{text-decoration:underline}.item-right[data-v-2d2a9238]{flex-shrink:0;text-align:right;min-width:76px;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.item-val[data-v-2d2a9238]{font-size:13px;font-weight:700;color:#333;white-space:nowrap}.item-val .u[data-v-2d2a9238]{font-size:11px;font-weight:400;color:#aaa;margin-left:2px}.item-ratio[data-v-2d2a9238]{font-size:11px;color:#aaa}.item-arr[data-v-2d2a9238]{color:#ccc;font-size:11px;flex-shrink:0}.current-card[data-v-2d2a9238]{background:#f0f9ff;border:1px solid #1890ff;border-radius:10px;padding:12px 14px;box-shadow:0 2px 12px rgba(24,144,255,.15)}.current-card-tag[data-v-2d2a9238]{font-size:10px;font-weight:600;color:#606266;background:#f0f2f5;padding:2px 8px;border-radius:6px;display:inline-block;margin-bottom:10px;letter-spacing:.5px;text-transform:uppercase;border:1px solid #dcdfe6}.current-row[data-v-2d2a9238]{display:flex;align-items:center;gap:10px}.cur-metrics[data-v-2d2a9238]{flex-shrink:0;text-align:right;min-width:72px;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.cur-val[data-v-2d2a9238]{display:flex;align-items:baseline;gap:2px}.cur-num[data-v-2d2a9238]{font-size:16px;font-weight:700;color:#1677ff;white-space:nowrap}.cur-unit[data-v-2d2a9238]{font-size:11px;color:#aaa}.cur-total[data-v-2d2a9238]{font-size:10px;color:#bbb;white-space:nowrap}.cur-power[data-v-2d2a9238]{font-size:10px;color:#52c41a;white-space:nowrap;display:flex;align-items:center;gap:2px}.cur-power .el-icon-lightning[data-v-2d2a9238]{font-size:10px}.dual-tag[data-v-2d2a9238]{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#606266;font-weight:500;background:#f4f4f5;border:1px solid #dcdfe6;padding:2px 9px;border-radius:6px;margin-bottom:10px}.dual-sep[data-v-2d2a9238]{display:flex;align-items:center;gap:8px;font-size:11px;color:#909399;margin:8px 0}.dual-sep[data-v-2d2a9238]:after,.dual-sep[data-v-2d2a9238]:before{content:"";flex:1;height:1px;background:#ebeef5}.source-label[data-v-2d2a9238]{font-size:10px;font-weight:500;padding:1px 6px;border-radius:4px;display:inline-block;margin-bottom:3px;letter-spacing:.2px}.source-label.primary[data-v-2d2a9238]{background:#f0f5ff;color:#4a7fcb;border:1px solid #d0dff5}.source-label.backup[data-v-2d2a9238]{background:#f4fbf6;color:#4a9a6a;border:1px solid #c0dfcc}.ctx-menu[data-v-2d2a9238]{position:fixed;z-index:9999;background:#fff;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.12),0 1px 4px rgba(0,0,0,.06);padding:4px 0;min-width:158px;margin:0;list-style:none;border:1px solid rgba(0,0,0,.06)}.ctx-item[data-v-2d2a9238]{padding:0 14px;height:36px;line-height:36px;font-size:13px;cursor:pointer;color:#333;display:flex;align-items:center;gap:8px;transition:background .12s}.ctx-item i[data-v-2d2a9238]{font-size:13px;color:#bbb}.ctx-item[data-v-2d2a9238]:hover{background:#f5f7fa;color:#1890ff}.ctx-item:hover i[data-v-2d2a9238]{color:#1890ff}.ctx-item.danger[data-v-2d2a9238]{color:#ff4d4f}.ctx-item.danger i[data-v-2d2a9238]{color:#ffccc7}.ctx-item.danger[data-v-2d2a9238]:hover{background:#fff1f0}.ctx-divider[data-v-2d2a9238]{height:1px!important;padding:0!important;background:#f0f0f0;pointer-events:none;margin:3px 0;cursor:default}.ctx-fade-enter-active[data-v-2d2a9238]{transition:opacity .15s,transform .15s}.ctx-fade-leave-active[data-v-2d2a9238]{transition:opacity .1s}.ctx-fade-enter[data-v-2d2a9238]{opacity:0;transform:scale(.95) translateY(-4px)}.ctx-fade-leave-to[data-v-2d2a9238]{opacity:0}.sdot[data-v-2d2a9238]{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;vertical-align:middle}.sdot.online[data-v-2d2a9238]{background:#52c41a}.sdot.offline[data-v-2d2a9238]{background:#f5a623}.dlg-footer[data-v-2d2a9238]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:0 4px}.dlg-footer-btns[data-v-2d2a9238]{display:flex;gap:8px;flex-shrink:0}@media (max-width:900px){.dlg-footer[data-v-2d2a9238]{flex-direction:column;align-items:flex-end}}.dual-selected-tip[data-v-2d2a9238]{margin-top:10px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:#606266;background:#f4f6fb;border:1px solid #dce3f0;border-radius:6px;padding:7px 12px}.dual-selected-tip .el-icon-info[data-v-2d2a9238]{color:#1890ff}.dual-selected-tag[data-v-2d2a9238]{display:inline-flex;align-items:center;padding:1px 8px;border-radius:4px;font-weight:600;font-size:11px;white-space:nowrap}.dual-selected-tag.primary[data-v-2d2a9238]{background:#f0f5ff;color:#4a7fcb;border:1px solid #d0dff5}.dual-selected-tag.backup[data-v-2d2a9238]{background:#f4fbf6;color:#4a9a6a;border:1px solid #c0dfcc}.drag-tip[data-v-2d2a9238]{position:fixed;top:14px;left:50%;transform:translateX(-50%);background:rgba(24,144,255,.9);color:#fff;padding:7px 18px;border-radius:20px;font-size:13px;z-index:9999;pointer-events:none;box-shadow:0 4px 14px rgba(24,144,255,.3);display:flex;align-items:center;gap:7px}.drag-tip b[data-v-2d2a9238]{font-weight:700}.drag-tip-fade-enter-active[data-v-2d2a9238]{transition:all .2s cubic-bezier(.34,1.5,.64,1)}.drag-tip-fade-leave-active[data-v-2d2a9238]{transition:all .15s}.drag-tip-fade-enter[data-v-2d2a9238],.drag-tip-fade-leave-to[data-v-2d2a9238]{opacity:0;transform:translateX(-50%) translateY(-8px)}.tree-fade-enter-active[data-v-2d2a9238]{transition:opacity .3s,transform .3s}.tree-fade-leave-active[data-v-2d2a9238]{transition:opacity .2s}.tree-fade-enter[data-v-2d2a9238]{opacity:0;transform:scale(.98)}.tree-fade-leave-to[data-v-2d2a9238]{opacity:0}