.layout-container[data-v-656c30b4]{display:flex;flex-direction:column}.header[data-v-656c30b4]{background-color:var(--color-surface);box-shadow:var(--shadow-md);padding:var(--space-2) var(--space-5);justify-content:space-between}.header-left[data-v-656c30b4],.header[data-v-656c30b4]{display:flex;align-items:center}.logo[data-v-656c30b4]{height:var(--header-height);width:auto}.header-center[data-v-656c30b4]{flex:none;display:flex;justify-content:center;padding:0 var(--space-6)}.header-right[data-v-656c30b4]{display:flex;align-items:center;gap:var(--space-4)}.logout-btn[data-v-656c30b4]{padding:var(--space-2);background-color:transparent;color:var(--color-text-secondary);border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;width:40px;height:40px}.logout-btn[data-v-656c30b4]:hover{background-color:var(--color-hover);color:var(--color-danger)}.logout-btn i[data-v-656c30b4]{font-size:var(--font-size-2xl)}.main-content[data-v-656c30b4]{flex:1;padding:var(--space-2)}[data-v-656c30b4] .el-range-editor{--el-border-radius-base:var(--radius-lg);width:280px}[data-v-656c30b4] .el-range-editor:hover{--el-border-color-hover:var(--el-color-primary)}[data-v-656c30b4] .el-range-separator{color:var(--el-text-color-secondary)}[data-v-656c30b4] .el-range-input{font-size:var(--font-size-sm)}[data-v-656c30b4] .el-picker-panel{border-radius:var(--radius-lg)}.settings-btn[data-v-656c30b4]{padding:var(--space-2);background-color:transparent;color:var(--color-text-secondary);border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;width:40px;height:40px}.settings-btn[data-v-656c30b4]:hover{background-color:var(--color-hover);color:var(--color-primary)}.settings-btn i[data-v-656c30b4]{font-size:var(--font-size-2xl)}.dashboard-btn[data-v-656c30b4]{padding:var(--space-2) var(--space-4);background-color:var(--color-primary-hover);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);display:none;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.dashboard-btn[data-v-656c30b4]:hover{background-color:var(--color-primary-active)}.dashboard-btn i[data-v-656c30b4]{font-size:var(--font-size-xl)}.insights-btn[data-v-656c30b4]{padding:var(--space-2) var(--space-4);background-color:var(--color-primary-hover);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.insights-btn[data-v-656c30b4]:hover{background-color:var(--color-primary-active)}.insights-btn i[data-v-656c30b4]{font-size:var(--font-size-xl)}.reports-btn[data-v-656c30b4]{padding:var(--space-2) var(--space-4);background-color:var(--color-primary-hover);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.reports-btn[data-v-656c30b4]:hover{background-color:var(--color-primary-active)}.reports-btn i[data-v-656c30b4]{font-size:var(--font-size-xl)}@media (max-width:768px){.header[data-v-656c30b4]{flex-wrap:wrap;padding:var(--space-2) var(--space-3);gap:var(--space-2)}.header-left[data-v-656c30b4]{order:1}.logo[data-v-656c30b4]{height:36px}.header-center[data-v-656c30b4]{order:3;width:100%;padding:0;justify-content:stretch}.header-right[data-v-656c30b4]{order:2;margin-left:auto;gap:var(--space-1)}.dashboard-btn .btn-label[data-v-656c30b4],.insights-btn .btn-label[data-v-656c30b4],.reports-btn .btn-label[data-v-656c30b4]{display:none}.dashboard-btn[data-v-656c30b4],.insights-btn[data-v-656c30b4],.reports-btn[data-v-656c30b4]{padding:var(--space-2);border-radius:var(--radius-full);width:36px;height:36px;justify-content:center}.logout-btn[data-v-656c30b4],.settings-btn[data-v-656c30b4]{width:36px;height:36px}.logout-btn i[data-v-656c30b4],.settings-btn i[data-v-656c30b4]{font-size:var(--font-size-xl)}[data-v-656c30b4] .el-range-editor{width:100%!important}.main-content[data-v-656c30b4]{padding:var(--space-1)}}body{height:auto!important;min-height:auto!important}.auth-header{text-align:center;padding:2rem 0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px 8px 0 0;margin-bottom:2rem}.auth-logo{max-width:120px;height:auto;margin-bottom:1rem;filter:brightness(0) invert(1)}.auth-title{font-size:1.8rem;font-weight:600;margin:.5rem 0;text-shadow:0 2px 4px rgba(0,0,0,.1)}.auth-subtitle{font-size:1rem;opacity:.9;margin:0;font-weight:300}.auth-footer{text-align:center;padding:1.5rem;background-color:#f8f9fa;border-radius:0 0 8px 8px;margin-top:1rem;border-top:1px solid #e9ecef}.security-notice{color:#28a745;font-weight:500;margin:0 0 1rem 0;font-size:.95rem}.auth-links{font-size:.875rem;color:#6c757d}.auth-link{color:#007bff;text-decoration:none;margin:0 .5rem;transition:color .2s ease}.auth-link:hover{color:#0056b3;text-decoration:underline}:deep(.amplify-authenticator){--amplify-colors-brand-primary-60:#667eea;--amplify-colors-brand-primary-80:#764ba2;--amplify-colors-brand-primary-90:#5a67d8;--amplify-colors-brand-primary-100:#4c51bf}:deep(.amplify-card){box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);border:1px solid #e2e8f0;max-width:400px;margin:2rem auto}:deep(.amplify-button--primary){background:linear-gradient(135deg,#667eea,#764ba2);border:none;font-weight:500;transition:all .2s ease}:deep(.amplify-button--primary:hover){transform:translateY(-1px);box-shadow:0 4px 8px rgba(102,126,234,.3)}:deep(.amplify-field-group__field-wrapper){margin-bottom:1rem}:deep(.amplify-input){border:2px solid #e2e8f0;border-radius:6px;transition:border-color .2s ease}:deep(.amplify-input:focus){border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}:deep(.amplify-authenticator__container){position:relative}:deep(.amplify-authenticator__container:before){content:"";position:absolute;top:-10px;right:-10px;width:20px;height:20px;background:#28a745;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,.1)}:deep(.amplify-authenticator__container:after){content:"✓";position:absolute;top:-7px;right:-7px;width:14px;height:14px;color:#fff;font-size:10px;font-weight:700;text-align:center;line-height:14px}.legal-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;z-index:10000;backdrop-filter:blur(2px)}.legal-modal{background:#fff;border-radius:12px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px rgba(0,0,0,.3);animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.legal-modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;border-radius:12px 12px 0 0;position:relative;text-align:center}.modal-logo{width:60px;height:auto;margin-bottom:1rem;filter:brightness(0) invert(1)}.legal-modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.close-btn:hover{background:hsla(0,0%,100%,.2)}.legal-modal-content{padding:2rem}.legal-section{margin-bottom:2rem}.legal-section h3{color:#2c3e50;margin:0 0 1rem 0;font-size:1.2rem;font-weight:600}.legal-section p{color:#4a5568;line-height:1.6;margin:0 0 .5rem 0}.legal-section ul{color:#4a5568;line-height:1.6;margin:.5rem 0 0 1rem}.legal-section li{margin:.25rem 0}.legal-section a{color:#667eea;text-decoration:none;font-weight:500}.legal-section a:hover{text-decoration:underline}.legal-footer{border-top:1px solid #e2e8f0;padding-top:1.5rem;text-align:center;margin-top:2rem}.legal-footer p{color:#2c3e50;margin:.5rem 0}.license-info{color:#718096!important;font-size:.9rem;font-style:italic}@media (max-width:768px){.legal-modal{width:95%;margin:1rem}.legal-modal-content,.legal-modal-header{padding:1.5rem}}:root{--color-primary:#2196f3;--color-primary-hover:#1976d2;--color-primary-active:#1565c0;--color-danger:#f44;--color-danger-hover:#dc3545;--color-success:#28a745;--color-text-primary:#2c3e50;--color-text-secondary:#666;--color-text-muted:#999;--color-text-dark:#1a1a1a;--color-surface:#fff;--color-background:#f8f9fa;--color-border:#e0e0e0;--color-border-light:#eee;--color-hover:#f0f0f0;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px rgba(0,0,0,.1);--shadow-lg:0 10px 15px rgba(0,0,0,.1);--shadow-card:0 2px 12px 0 rgba(0,0,0,.05);--transition-fast:0.15s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease;--header-height:70px;--sidebar-width:310px;--sidebar-width-collapsed:40px;--card-padding:var(--space-4);--z-dropdown:100;--z-modal:1000;--z-tooltip:10000}@media (max-width:768px){:root{--header-height:44px;--sidebar-width:100%;--sidebar-width-collapsed:100%;--space-5:1rem;--space-6:1.5rem}}.theme-compact{--font-size-xs:0.7rem;--font-size-sm:0.8rem;--font-size-base:0.875rem;--font-size-lg:1rem;--font-size-xl:1.125rem;--font-size-2xl:1.25rem;--font-size-3xl:1.5rem;--space-1:0.125rem;--space-2:0.375rem;--space-3:0.5rem;--space-4:0.75rem;--space-5:1rem;--space-6:1.5rem;--header-height:56px;--sidebar-width:270px;--sidebar-width-collapsed:36px;--card-padding:var(--space-3)}.theme-comfortable{--font-size-sm:0.9375rem;--font-size-base:1.0625rem;--font-size-lg:1.25rem;--font-size-xl:1.375rem;--space-2:0.625rem;--space-3:1rem;--space-4:1.25rem;--space-5:1.75rem;--space-6:2.5rem;--header-height:80px;--sidebar-width:350px;--card-padding:var(--space-5)}*,:after,:before{box-sizing:border-box}body{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-medium{font-weight:var(--font-weight-medium)}@media (max-width:768px){.date-range-popper{max-width:100vw!important;left:0!important;right:0!important}.date-range-popper .el-date-range-picker{width:min(100vw,360px)!important}.date-range-popper .el-picker-panel__sidebar{position:static!important;width:100%!important;display:flex;flex-wrap:wrap;gap:4px;padding:8px;border-right:none;border-bottom:1px solid var(--color-border)}.date-range-popper .el-picker-panel__body-wrapper{flex-direction:column!important}.date-range-popper .el-picker-panel__body{display:flex!important;flex-direction:column!important;min-width:0!important;padding-left:0!important;margin-left:0!important}.date-range-popper .el-date-range-picker__content{width:100%!important;max-width:100%!important;min-width:0!important;padding:8px}.date-range-popper .el-date-range-picker__content.is-right{border-top:1px solid var(--color-border-light)}.date-range-popper .el-date-table td{padding:2px 0}.date-range-popper .el-date-table td .el-date-table-cell{width:28px;height:28px}}.custom-tooltip{background:hsla(0,0%,100%,.96);border:1px solid #ddd;box-shadow:0 2px 4px rgba(0,0,0,.1);border-radius:4px;padding:4px;max-width:1000px}.tooltip-header{font-weight:700;margin-bottom:8px;border-bottom:1px solid #eee;padding-bottom:5px;color:#333}.tooltip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px 8px}.tooltip-item{display:flex;align-items:center;font-size:10px}.tooltip-marker{width:8px;height:8px;border-radius:50%;margin-right:6px;flex-shrink:0}.tooltip-series-name{margin-right:4px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.tooltip-value{font-weight:600;color:#333;margin-left:auto}.meters-selector[data-v-611ae962]{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);width:var(--sidebar-width);border:1px solid var(--color-border-light);transition:width var(--transition-slow);overflow:hidden}.meters-selector.collapsed[data-v-611ae962]{width:var(--sidebar-width-collapsed);border-radius:20px;height:auto;min-height:200px;display:flex}.expand-button[data-v-611ae962]{width:100%;height:100%;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--space-2) var(--space-1);transition:color var(--transition-base);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.vertical-title[data-v-611ae962]{writing-mode:vertical-lr;transform:rotate(180deg);text-transform:uppercase;letter-spacing:1px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);margin:var(--space-2) 0}.selector-header[data-v-611ae962]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);cursor:pointer;border-bottom:1px solid var(--color-border-light)}.meters-selector-title[data-v-611ae962]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);margin:0}.collapse-button[data-v-611ae962]{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--space-2);font-size:var(--font-size-xl);transition:color var(--transition-base)}.collapse-button[data-v-611ae962]:hover{color:var(--color-primary)}.selector-content[data-v-611ae962]{padding:var(--space-4)}.selection-controls[data-v-611ae962]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light)}.action-group[data-v-611ae962]{display:flex;gap:var(--space-2)}.control-button[data-v-611ae962]{padding:var(--space-2) var(--space-3);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:transparent;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base)}.control-button[data-v-611ae962]:hover{background:var(--color-primary);color:#fff}.icon-button[data-v-611ae962]{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:var(--radius-md);padding:var(--space-1);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);height:32px;width:32px;font-size:var(--font-size-lg)}.icon-button[data-v-611ae962]:hover{color:var(--color-primary);border-color:var(--color-primary);background-color:rgba(33,150,243,.05)}.tree-container[data-v-611ae962]{max-height:700px;overflow-y:auto;padding:var(--space-2) 0}.meters-tree[data-v-611ae962]{background:transparent}.meters-tree[data-v-611ae962] .el-tree-node{margin-bottom:var(--space-1)}.meters-tree[data-v-611ae962] .el-tree-node__content{height:36px;padding:var(--space-2) var(--space-2);border-radius:var(--radius-md);transition:background-color var(--transition-base);font-size:var(--font-size-base)}.meters-tree[data-v-611ae962] .el-tree-node__content:hover{background-color:var(--color-background)}.meters-tree[data-v-611ae962] .el-tree-node__expand-icon{color:var(--color-text-secondary);font-size:var(--font-size-lg);padding:0 var(--space-1);width:18px;height:18px}.meters-tree[data-v-611ae962] .el-checkbox{margin-right:var(--space-2)}.meters-tree[data-v-611ae962] .el-checkbox__inner{width:16px;height:16px;border-width:1px}.meters-tree[data-v-611ae962] .el-checkbox__inner:after{border-width:1px}.meters-tree[data-v-611ae962] .el-checkbox__input.is-checked .el-checkbox__inner,.meters-tree[data-v-611ae962] .el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--color-primary);border-color:var(--color-primary)}.meters-tree[data-v-611ae962] .el-checkbox__inner:hover{border-color:var(--color-primary)}.tree-node-label[data-v-611ae962]{display:flex;align-items:center;gap:var(--space-2);flex:1}.tree-icon[data-v-611ae962]{font-size:var(--font-size-lg);width:20px;text-align:center}.meter-icon[data-v-611ae962],.panel-icon[data-v-611ae962]{color:var(--color-primary)}.node-text[data-v-611ae962]{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.tree-container[data-v-611ae962]::-webkit-scrollbar{width:6px}.tree-container[data-v-611ae962]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.tree-container[data-v-611ae962]::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.tree-container[data-v-611ae962]::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.search-container[data-v-611ae962]{position:relative;display:flex;align-items:center;margin-bottom:var(--space-3)}.search-input[data-v-611ae962]{width:100%;padding:var(--space-2) 2rem var(--space-2) 2.2rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background-color:var(--color-background);border:1px solid var(--color-border-light);border-radius:var(--radius-md);transition:all var(--transition-base);outline:none}.search-input[data-v-611ae962]:focus{border-color:var(--color-primary);background-color:var(--color-surface);box-shadow:0 0 0 2px rgba(33,150,243,.1)}.search-input[data-v-611ae962]::-moz-placeholder{color:var(--color-text-secondary);opacity:.7}.search-input[data-v-611ae962]::placeholder{color:var(--color-text-secondary);opacity:.7}.search-icon[data-v-611ae962]{position:absolute;left:var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-lg);pointer-events:none}.clear-search-button[data-v-611ae962]{position:absolute;right:var(--space-3);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--space-1);font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition-base)}.clear-search-button[data-v-611ae962]:hover{color:var(--color-primary);background-color:rgba(33,150,243,.1)}.chart-layout[data-v-ba6244a6]{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-4);width:calc(100% - 2rem)}.chart-header[data-v-ba6244a6]{display:flex;align-items:center;height:32px;padding:0 var(--space-2)}.chart-container[data-v-ba6244a6]{position:relative;flex:1;min-width:0}.loading-overlay[data-v-ba6244a6]{position:absolute;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}.loading-text[data-v-ba6244a6]{margin-top:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.spinner[data-v-ba6244a6]{width:40px;height:40px;border:3px solid var(--color-background);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin-ba6244a6 1s linear infinite}.chart-blur[data-v-ba6244a6]{filter:blur(2px);transition:filter .3s ease}@keyframes spin-ba6244a6{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message[data-v-ba6244a6]{color:var(--color-danger);text-align:center;padding:var(--space-4);margin-bottom:var(--space-4);background:#f8d7da;border-radius:var(--radius-sm)}.switches-container[data-v-ba6244a6]{display:flex;gap:var(--space-4);align-items:center}.modern-switch[data-v-ba6244a6]{display:flex;align-items:center;gap:var(--space-2)}.modern-switch input[data-v-ba6244a6]{display:none}.switch-track[data-v-ba6244a6]{position:relative;display:inline-block;width:36px;height:20px;background-color:var(--color-border);border-radius:34px;transition:background-color .3s;cursor:pointer}.switch-thumb[data-v-ba6244a6]{position:absolute;top:2px;left:2px;width:16px;height:16px;background-color:var(--color-surface);border-radius:50%;transition:transform .3s,background-color .3s;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.switch-thumb i[data-v-ba6244a6]{font-size:var(--font-size-base)}input:checked+.switch-track[data-v-ba6244a6]{background-color:var(--color-primary)}input:checked+.switch-track .switch-thumb[data-v-ba6244a6]{transform:translateX(16px);color:var(--color-primary)}.switch-label[data-v-ba6244a6]{font-size:var(--font-size-sm);color:var(--color-text-secondary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch-track[data-v-ba6244a6]:hover{background-color:#d0d0d0}input:checked+.switch-track[data-v-ba6244a6]:hover{background-color:var(--color-primary-hover)}.invisible[data-v-ba6244a6]{visibility:hidden}.chart-layout[data-v-7141f06e]{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-4);width:calc(100% - 2rem)}.chart-header[data-v-7141f06e]{display:flex;align-items:center;height:32px;padding:0 var(--space-2)}.chart-container[data-v-7141f06e]{position:relative;flex:1;min-width:0}.loading-overlay[data-v-7141f06e]{position:absolute;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}.loading-text[data-v-7141f06e]{margin-top:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.spinner[data-v-7141f06e]{width:40px;height:40px;border:3px solid var(--color-background);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin-7141f06e 1s linear infinite}.chart-blur[data-v-7141f06e]{filter:blur(2px);transition:filter .3s ease}@keyframes spin-7141f06e{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message[data-v-7141f06e]{color:var(--color-danger);text-align:center;padding:var(--space-4);margin-bottom:var(--space-4);background:#f8d7da;border-radius:var(--radius-sm)}.switches-container[data-v-7141f06e]{display:flex;gap:var(--space-4);align-items:center}.modern-switch[data-v-7141f06e]{display:flex;align-items:center;gap:var(--space-2)}.modern-switch input[data-v-7141f06e]{display:none}.switch-track[data-v-7141f06e]{position:relative;display:inline-block;width:36px;height:20px;background-color:var(--color-border);border-radius:34px;transition:background-color .3s;cursor:pointer}.switch-thumb[data-v-7141f06e]{position:absolute;top:2px;left:2px;width:16px;height:16px;background-color:var(--color-surface);border-radius:50%;transition:transform .3s,background-color .3s;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.switch-thumb i[data-v-7141f06e]{font-size:var(--font-size-base)}input:checked+.switch-track[data-v-7141f06e]{background-color:var(--color-primary)}input:checked+.switch-track .switch-thumb[data-v-7141f06e]{transform:translateX(16px);color:var(--color-primary)}.switch-label[data-v-7141f06e]{font-size:var(--font-size-sm);color:var(--color-text-secondary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch-track[data-v-7141f06e]:hover{background-color:#d0d0d0}input:checked+.switch-track[data-v-7141f06e]:hover{background-color:var(--color-primary-hover)}.invisible[data-v-7141f06e]{visibility:hidden}.chart-layout[data-v-231cb6c4]{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-4);width:calc(100% - 2rem)}.chart-header[data-v-231cb6c4]{display:flex;align-items:center;height:32px;padding:0 var(--space-2)}.chart-container[data-v-231cb6c4]{position:relative;flex:1;min-width:0}.loading-overlay[data-v-231cb6c4]{position:absolute;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}.loading-text[data-v-231cb6c4]{margin-top:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.spinner[data-v-231cb6c4]{width:40px;height:40px;border:3px solid var(--color-background);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin-231cb6c4 1s linear infinite}.chart-blur[data-v-231cb6c4]{filter:blur(2px);transition:filter .3s ease}@keyframes spin-231cb6c4{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message[data-v-231cb6c4]{color:var(--color-danger);text-align:center;padding:var(--space-4);margin-bottom:var(--space-4);background:#f8d7da;border-radius:var(--radius-sm)}.switches-container[data-v-231cb6c4]{display:flex;gap:var(--space-4);align-items:center}.modern-switch[data-v-231cb6c4]{display:flex;align-items:center;gap:var(--space-2)}.modern-switch input[data-v-231cb6c4]{display:none}.switch-track[data-v-231cb6c4]{position:relative;display:inline-block;width:36px;height:20px;background-color:var(--color-border);border-radius:34px;transition:background-color .3s;cursor:pointer}.switch-thumb[data-v-231cb6c4]{position:absolute;top:2px;left:2px;width:16px;height:16px;background-color:var(--color-surface);border-radius:50%;transition:transform .3s,background-color .3s;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.switch-thumb i[data-v-231cb6c4]{font-size:var(--font-size-base)}input:checked+.switch-track[data-v-231cb6c4]{background-color:var(--color-primary)}input:checked+.switch-track .switch-thumb[data-v-231cb6c4]{transform:translateX(16px);color:var(--color-primary)}.switch-label[data-v-231cb6c4]{font-size:var(--font-size-sm);color:var(--color-text-secondary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch-track[data-v-231cb6c4]:hover{background-color:#d0d0d0}input:checked+.switch-track[data-v-231cb6c4]:hover{background-color:var(--color-primary-hover)}.invisible[data-v-231cb6c4]{visibility:hidden}.energy-type-selector[data-v-231cb6c4]{display:flex;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-2);background-color:var(--color-background);border-radius:var(--radius-sm)}.energy-type-checkbox[data-v-231cb6c4]{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.energy-type-checkbox input[type=checkbox][data-v-231cb6c4]{cursor:pointer}.chart-layout[data-v-ecad4516]{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-4);width:calc(100% - 2rem)}.chart-header[data-v-ecad4516]{display:flex;align-items:center;height:32px;padding:0 var(--space-2)}.chart-container[data-v-ecad4516]{position:relative;flex:1;min-width:0}.loading-overlay[data-v-ecad4516]{position:absolute;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}.loading-text[data-v-ecad4516]{margin-top:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.spinner[data-v-ecad4516]{width:40px;height:40px;border:3px solid var(--color-background);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin-ecad4516 1s linear infinite}.chart-blur[data-v-ecad4516]{filter:blur(2px);transition:filter .3s ease}@keyframes spin-ecad4516{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message[data-v-ecad4516]{color:var(--color-danger);text-align:center;padding:var(--space-4);margin-bottom:var(--space-4);background:#f8d7da;border-radius:var(--radius-sm)}.switches-container[data-v-ecad4516]{display:flex;gap:var(--space-4);align-items:center}.modern-switch[data-v-ecad4516]{display:flex;align-items:center;gap:var(--space-2)}.modern-switch input[data-v-ecad4516]{display:none}.switch-track[data-v-ecad4516]{position:relative;display:inline-block;width:36px;height:20px;background-color:var(--color-border);border-radius:34px;transition:background-color .3s;cursor:pointer}.switch-thumb[data-v-ecad4516]{position:absolute;top:2px;left:2px;width:16px;height:16px;background-color:var(--color-surface);border-radius:50%;transition:transform .3s,background-color .3s;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.switch-thumb i[data-v-ecad4516]{font-size:var(--font-size-base)}input:checked+.switch-track[data-v-ecad4516]{background-color:var(--color-primary)}input:checked+.switch-track .switch-thumb[data-v-ecad4516]{transform:translateX(16px);color:var(--color-primary)}.switch-label[data-v-ecad4516]{font-size:var(--font-size-sm);color:var(--color-text-secondary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch-track[data-v-ecad4516]:hover{background-color:#d0d0d0}input:checked+.switch-track[data-v-ecad4516]:hover{background-color:var(--color-primary-hover)}.invisible[data-v-ecad4516]{visibility:hidden}.content-row[data-v-1c63eaad]{display:flex;gap:var(--space-5);flex:1;min-height:0}.devices-area[data-v-1c63eaad]{flex:0 0 auto}.right-panel[data-v-1c63eaad]{flex:1;display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.chart-type-selector[data-v-1c63eaad]{position:relative;width:200px}.select-wrapper[data-v-1c63eaad]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.selected-option[data-v-1c63eaad]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--font-size-base);transition:all .2s ease}.selected-option[data-v-1c63eaad]:hover{border-color:var(--color-text-secondary)}.dropdown-arrow[data-v-1c63eaad]{margin-left:auto;transition:transform .2s ease}.dropdown-arrow.rotated[data-v-1c63eaad]{transform:rotate(180deg)}.dropdown-menu[data-v-1c63eaad]{position:absolute;top:100%;left:0;width:100%;margin-top:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:var(--z-dropdown)}.dropdown-option[data-v-1c63eaad]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);transition:background-color .2s ease}.dropdown-option.selected[data-v-1c63eaad],.dropdown-option[data-v-1c63eaad]:hover{background-color:var(--color-hover)}.mdi[data-v-1c63eaad]{font-size:var(--font-size-base)}.chart-area[data-v-1c63eaad]{flex:1;min-width:0;background:var(--color-surface);border-radius:var(--radius-sm)}.energy-usage[data-v-c7919d64]{display:flex;flex-direction:column;gap:var(--space-4);height:100%}.usage-tabs[data-v-c7919d64]{display:flex;gap:var(--space-5);border-bottom:1px solid var(--color-border);padding:0 var(--space-4)}.usage-tab[data-v-c7919d64]{position:relative;padding:var(--space-4) var(--space-2);border:none;background:transparent;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color .3s ease}.usage-tab[data-v-c7919d64]:hover{color:var(--color-text-primary)}.usage-tab.active[data-v-c7919d64]{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.tab-indicator[data-v-c7919d64]{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:transparent;transition:background-color .3s ease}.usage-tab.active .tab-indicator[data-v-c7919d64]{background:var(--color-text-primary)}.usage-content[data-v-c7919d64]{flex:1;display:flex;min-height:0}.chart-container[data-v-34fd58a8]{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-2);box-shadow:var(--shadow-sm);min-width:0}.chart-title[data-v-34fd58a8]{margin:0 0 var(--space-4) 0;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-align:center}.donut-chart-root[data-v-4fd9b872]{display:flex;flex-direction:column;width:100%}.donut-controls[data-v-4fd9b872]{display:flex;justify-content:flex-end;margin-bottom:var(--space-2)}.view-toggle[data-v-4fd9b872]{display:flex;gap:var(--space-1);background:var(--color-background);border-radius:var(--radius-lg);padding:var(--space-1)}.toggle-btn[data-v-4fd9b872]{min-width:50px;padding:var(--space-1) var(--space-2);border:none;background:transparent;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);cursor:pointer;border-radius:var(--radius-md);transition:all .2s ease;white-space:nowrap;display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box}.toggle-btn[data-v-4fd9b872]:hover{color:var(--color-text-primary);background:var(--color-border)}.toggle-btn.active[data-v-4fd9b872]{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.donut-container[data-v-4fd9b872]{display:flex;align-items:center;justify-content:center;padding:var(--space-4) var(--space-2)}.stat-card[data-v-7395d33d]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;align-items:center;gap:var(--space-3);transition:transform var(--transition-base),box-shadow var(--transition-base);min-height:80px}.stat-card[data-v-7395d33d]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon[data-v-7395d33d]{display:flex;align-items:center;justify-content:center;flex-shrink:0}.lightning-icon[data-v-7395d33d]{width:24px;height:24px;color:#10b981}.stat-content[data-v-7395d33d]{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.stat-label[data-v-7395d33d]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);line-height:1.2;text-align:left}.stat-value[data-v-7395d33d]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);line-height:1.2;text-align:right}@media (max-width:768px){.stat-card[data-v-7395d33d]{padding:var(--space-3);min-height:70px}.lightning-icon[data-v-7395d33d]{width:20px;height:20px}.stat-label[data-v-7395d33d]{font-size:var(--font-size-xs)}.stat-value[data-v-7395d33d]{font-size:var(--font-size-base)}}.charts-wrapper[data-v-2eb71035]{position:relative;max-width:100%;overflow-x:hidden}.main-content[data-v-2eb71035]{display:flex;gap:var(--space-6);align-items:flex-start;max-width:100%;box-sizing:border-box}.stats-cards[data-v-2eb71035]{display:flex;flex-direction:column;gap:var(--space-4);min-width:200px;flex-shrink:0;max-width:250px}.charts-section[data-v-2eb71035]{display:flex;flex-direction:column;gap:var(--space-5);flex:1;min-width:0;max-width:100%}.chart-card[data-v-2eb71035]{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-md);display:flex;flex-direction:column;min-width:0;max-width:100%}.chart-header[data-v-2eb71035]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-border);gap:var(--space-4);flex-wrap:wrap}.chart-title[data-v-2eb71035]{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.view-toggle[data-v-2eb71035]{display:flex;gap:var(--space-2);background:var(--color-background);border-radius:var(--radius-lg);padding:var(--space-1)}.toggle-btn[data-v-2eb71035]{padding:var(--space-2) var(--space-4);border:none;background:transparent;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-md);transition:all .2s ease;white-space:nowrap}.toggle-btn[data-v-2eb71035]:hover{color:var(--color-text-primary);background:var(--color-border)}.toggle-btn.active[data-v-2eb71035]{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.chart-wrapper[data-v-2eb71035]{min-height:400px;padding:var(--space-2) 0}.error-message[data-v-2eb71035]{color:var(--color-danger);text-align:center;padding:var(--space-4);margin:var(--space-4) 0;background:#f8d7da;border-radius:var(--radius-lg);border:1px solid #f5c6cb}.loading-overlay[data-v-2eb71035]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:hsla(0,0%,100%,.9);border-radius:var(--radius-xl);z-index:10}.spinner[data-v-2eb71035]{width:40px;height:40px;border:4px solid var(--color-background);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin-2eb71035 1s linear infinite;margin-bottom:var(--space-4)}.loading-text[data-v-2eb71035]{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.no-data[data-v-2eb71035]{text-align:center;padding:var(--space-6);color:var(--color-text-secondary);font-size:var(--font-size-base)}@keyframes spin-2eb71035{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1024px){.main-content[data-v-2eb71035]{flex-direction:column;gap:1rem}.stats-cards[data-v-2eb71035]{min-width:auto;max-width:100%;width:100%}.charts-section[data-v-2eb71035]{width:100%}}@media (max-width:768px){.main-content[data-v-2eb71035]{gap:.75rem}.stats-cards[data-v-2eb71035]{flex-direction:row;overflow-x:auto;padding-bottom:.5rem}.chart-card[data-v-2eb71035]{padding:1rem}.chart-title[data-v-2eb71035]{font-size:var(--font-size-base)}.chart-wrapper[data-v-2eb71035]{min-height:300px}}.charts-wrapper[data-v-fb78606e]{position:relative;max-width:100%;overflow-x:hidden}.main-content[data-v-fb78606e]{display:flex;gap:var(--space-6);align-items:flex-start;max-width:100%;box-sizing:border-box}.stats-cards[data-v-fb78606e]{display:flex;flex-direction:column;gap:var(--space-4);min-width:200px;flex-shrink:0;max-width:250px}.charts-section[data-v-fb78606e]{display:flex;flex-direction:column;gap:var(--space-5);flex:1;min-width:0;max-width:100%}.chart-card[data-v-fb78606e]{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-md);display:flex;flex-direction:column;min-width:0;max-width:100%}.chart-title[data-v-fb78606e]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-4) 0;padding-bottom:var(--space-3);border-bottom:2px solid var(--color-border)}.chart-content[data-v-fb78606e]{min-height:350px;padding:var(--space-2) 0}.loading-overlay[data-v-fb78606e]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:hsla(0,0%,100%,.9);border-radius:var(--radius-xl);z-index:10}.spinner[data-v-fb78606e]{width:40px;height:40px;border:4px solid var(--color-background);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin-fb78606e 1s linear infinite;margin-bottom:var(--space-4)}.loading-text[data-v-fb78606e]{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.no-data[data-v-fb78606e]{text-align:center;padding:var(--space-6);color:var(--color-text-secondary);font-size:var(--font-size-sm)}@keyframes spin-fb78606e{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1024px){.main-content[data-v-fb78606e]{flex-direction:column;gap:var(--space-4)}.stats-cards[data-v-fb78606e]{min-width:auto;max-width:100%;width:100%}.charts-section[data-v-fb78606e]{width:100%}}@media (max-width:768px){.main-content[data-v-fb78606e]{gap:var(--space-2)}.stats-cards[data-v-fb78606e]{flex-direction:row;overflow-x:auto;padding-bottom:var(--space-2)}.chart-card[data-v-fb78606e]{padding:var(--space-4)}.chart-title[data-v-fb78606e]{font-size:var(--font-size-sm)}.chart-content[data-v-fb78606e]{min-height:250px}}.energy-summary-table[data-v-6b33d27a]{font-size:var(--font-size-xs);table-layout:fixed}.energy-summary-table .el-table__header th[data-v-6b33d27a]{background:var(--color-background);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.energy-summary-table .el-table__body td[data-v-6b33d27a]{color:var(--color-text-primary);white-space:nowrap}.energy-summary-table .el-table__body-wrapper[data-v-6b33d27a],.energy-summary-table .el-table__footer-wrapper[data-v-6b33d27a],.energy-summary-table .el-table__header-wrapper[data-v-6b33d27a]{overflow-x:auto}@media (max-width:668px){.energy-summary-table[data-v-6b33d27a]{font-size:.3rem}}.insight-card[data-v-da0f269c]{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fbfdff}.insight-label[data-v-da0f269c]{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.03em}.insight-value[data-v-da0f269c]{margin-top:var(--space-1);color:var(--color-text-dark);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.insight-value.good[data-v-da0f269c]{color:var(--color-success)}.insight-value.bad[data-v-da0f269c]{color:var(--color-danger)}.multi-calendar-overlay[data-v-0e89b322]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.3)}.multi-calendar[data-v-0e89b322]{width:580px;max-height:90vh;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 18px 46px rgba(16,35,58,.18)}.calendar-head[data-v-0e89b322]{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.calendar-head strong[data-v-0e89b322]{font-size:var(--font-size-base)}.calendar-actions[data-v-0e89b322]{display:flex;align-items:center;gap:var(--space-2)}.period-count[data-v-0e89b322]{display:flex;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md);background:var(--color-background)}.count-button[data-v-0e89b322]{width:30px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast)}.count-button.active[data-v-0e89b322]{background:var(--color-primary);color:#fff}.calendar-body[data-v-0e89b322]{display:grid;grid-template-columns:155px 1fr}.presets[data-v-0e89b322]{padding:var(--space-3) 0;border-right:1px solid var(--color-border);background:var(--color-background)}.preset[data-v-0e89b322]{width:100%;border:none;background:transparent;padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer;transition:all var(--transition-fast)}.preset[data-v-0e89b322]:hover{background:var(--color-hover)}.preset.active[data-v-0e89b322]{color:var(--color-primary);background:#eef7ff}.calendar-main[data-v-0e89b322]{padding:var(--space-3)}.period-list[data-v-0e89b322]{display:grid;gap:var(--space-2);margin-bottom:var(--space-3)}.period-item[data-v-0e89b322]{display:grid;grid-template-columns:14px minmax(0,1fr);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.period-item[data-v-0e89b322]:hover{border-color:var(--color-primary-hover)}.period-item.active[data-v-0e89b322]{border-color:var(--color-primary);background:#f1f8ff;box-shadow:inset 3px 0 0 var(--color-primary)}.period-item small[data-v-0e89b322]{display:block;margin-top:2px;color:var(--color-text-muted);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs)}.color-dot[data-v-0e89b322]{width:10px;height:10px;border-radius:3px}.calendar-grid[data-v-0e89b322]{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.month-nav[data-v-0e89b322]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-background)}.month-label[data-v-0e89b322]{color:var(--color-text-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm)}.month-arrow[data-v-0e89b322]{border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.month-arrow[data-v-0e89b322]:hover{background:var(--color-hover);color:var(--color-text-primary)}.days[data-v-0e89b322],.weekdays[data-v-0e89b322]{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.weekdays span[data-v-0e89b322]{padding:var(--space-2) 0;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.day[data-v-0e89b322]{min-height:38px;border:none;border-top:1px solid var(--color-border-light);border-left:1px solid var(--color-border-light);background:var(--color-surface);display:grid;align-content:center;gap:3px;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:outline var(--transition-fast)}.day[data-v-0e89b322]:nth-child(7n+1){border-left:none}.day.blank[data-v-0e89b322]{cursor:default;background:var(--color-background)}.day[data-v-0e89b322]:hover:not(.blank){outline:2px solid #b9dcff;outline-offset:-2px}.day.active-range[data-v-0e89b322]{outline:2px solid var(--color-primary);outline-offset:-2px}.day.has-period-0[data-v-0e89b322]{background:#eaf5ff;color:#0d63b7}.day.has-period-1[data-v-0e89b322]{background:#effcf5;color:#137344}.day.has-period-2[data-v-0e89b322]{background:#f4f1ff;color:#5140b7}.day.has-period-3[data-v-0e89b322]{background:#fff6e8;color:#9a5f00}.marks[data-v-0e89b322]{display:flex;justify-content:center;gap:3px;min-height:5px}.mark[data-v-0e89b322]{width:14px;height:4px;border-radius:var(--radius-full)}.calendar-foot[data-v-0e89b322]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border)}.foot-actions[data-v-0e89b322]{display:flex;gap:var(--space-2)}.btn-secondary[data-v-0e89b322]{height:34px;padding:0 var(--space-3);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-secondary[data-v-0e89b322]:hover{background:#eef7ff}.btn-primary[data-v-0e89b322]{height:34px;padding:0 var(--space-4);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary);color:#fff;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-primary[data-v-0e89b322]:hover{background:var(--color-primary-hover)}.compare-periods-root[data-v-507963fc]{display:flex;flex-direction:column;gap:var(--space-4)}.main-content[data-v-507963fc]{display:flex;gap:var(--space-6);align-items:flex-start;position:relative}.stats-cards[data-v-507963fc]{display:flex;flex-direction:column;gap:var(--space-4);min-width:200px;flex-shrink:0;max-width:250px}.chart-section[data-v-507963fc]{flex:1;min-width:0}.chart-card[data-v-507963fc]{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-md)}.chart-header[data-v-507963fc]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-border);gap:var(--space-4);flex-wrap:wrap}.chart-header-left[data-v-507963fc]{display:flex;flex-direction:column;gap:var(--space-1)}.chart-header-right[data-v-507963fc]{display:flex;align-items:center;gap:var(--space-3)}.chart-title[data-v-507963fc]{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.selected-item-label[data-v-507963fc]{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.view-toggle[data-v-507963fc]{display:flex;gap:var(--space-1);background:var(--color-background);border-radius:var(--radius-lg);padding:var(--space-1)}.toggle-btn[data-v-507963fc]{padding:var(--space-2) var(--space-4);border:none;background:transparent;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap}.toggle-btn[data-v-507963fc]:hover{color:var(--color-text-primary);background:var(--color-border)}.toggle-btn.active[data-v-507963fc]{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.period-button[data-v-507963fc]{height:34px;padding:0 var(--space-3);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.period-button[data-v-507963fc]:hover{background:var(--color-primary);color:#fff}.chart-wrapper[data-v-507963fc]{min-height:400px;padding:var(--space-2) 0}.no-data[data-v-507963fc]{text-align:center;padding:var(--space-6);color:var(--color-text-secondary);font-size:var(--font-size-base)}.legend[data-v-507963fc]{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-3) 0 var(--space-1);padding-left:var(--space-2)}.legend-item[data-v-507963fc]{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.legend-dot[data-v-507963fc]{width:10px;height:10px;border-radius:3px;display:inline-block}.insights[data-v-507963fc]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.tables-row[data-v-507963fc]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.table-container[data-v-507963fc]{min-width:0}.table-container h4[data-v-507963fc]{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.table-wrapper[data-v-507963fc]{width:100%;min-width:0;overflow-x:auto}.energy-summary-table[data-v-507963fc]{font-size:var(--font-size-xs)}.energy-summary-table[data-v-507963fc] .el-table__header th{background:var(--color-background);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.energy-summary-table[data-v-507963fc] .el-table__body td{color:var(--color-text-primary);white-space:nowrap}.energy-summary-table[data-v-507963fc] .el-table__body-wrapper{overflow-x:auto}.change-pill[data-v-507963fc]{display:inline-grid;min-width:64px;place-items:center;border-radius:var(--radius-full);padding:var(--space-1) var(--space-2);font-weight:var(--font-weight-bold);font-size:var(--font-size-xs)}.change-pill.good[data-v-507963fc]{color:var(--color-success);background:#eaf8ef}.change-pill.bad[data-v-507963fc]{color:var(--color-danger);background:#fff0f0}.loading-overlay[data-v-507963fc]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:hsla(0,0%,100%,.9);border-radius:var(--radius-xl);z-index:10}.spinner[data-v-507963fc]{width:40px;height:40px;border:4px solid var(--color-background);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin-507963fc 1s linear infinite;margin-bottom:var(--space-4)}.loading-text[data-v-507963fc]{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}@keyframes spin-507963fc{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1024px){.main-content[data-v-507963fc]{flex-direction:column}.stats-cards[data-v-507963fc]{min-width:auto;max-width:100%;width:100%;flex-direction:row}.insights[data-v-507963fc]{grid-template-columns:repeat(2,1fr)}.tables-row[data-v-507963fc]{grid-template-columns:1fr}}.compare-items-root[data-v-113ac62a]{display:flex;flex-direction:column;gap:var(--space-4)}.main-content[data-v-113ac62a]{display:flex;gap:var(--space-6);align-items:flex-start;position:relative}.stats-cards[data-v-113ac62a]{display:flex;flex-direction:column;gap:var(--space-4);min-width:200px;flex-shrink:0;max-width:250px}.chart-section[data-v-113ac62a]{flex:1;min-width:0}.chart-card[data-v-113ac62a]{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-md)}.chart-header[data-v-113ac62a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-border);gap:var(--space-4);flex-wrap:wrap}.chart-title[data-v-113ac62a]{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.period-button[data-v-113ac62a]{height:34px;padding:0 var(--space-3);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.period-button[data-v-113ac62a]:hover{background:var(--color-primary);color:#fff}.chart-wrapper[data-v-113ac62a]{padding:var(--space-2) 0}.no-data[data-v-113ac62a]{text-align:center;padding:var(--space-6);color:var(--color-text-secondary);font-size:var(--font-size-base)}.legend[data-v-113ac62a]{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-3) 0 var(--space-1);padding-left:var(--space-2)}.legend-item[data-v-113ac62a]{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.legend-dot[data-v-113ac62a]{width:10px;height:10px;border-radius:3px;display:inline-block}.insights[data-v-113ac62a]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.tables-row[data-v-113ac62a]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.table-container[data-v-113ac62a]{min-width:0}.table-container h4[data-v-113ac62a]{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.table-wrapper[data-v-113ac62a]{width:100%;min-width:0;overflow-x:auto}.energy-summary-table[data-v-113ac62a]{font-size:var(--font-size-xs)}.energy-summary-table[data-v-113ac62a] .el-table__header th{background:var(--color-background);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.energy-summary-table[data-v-113ac62a] .el-table__body td{color:var(--color-text-primary);white-space:nowrap}.energy-summary-table[data-v-113ac62a] .el-table__body-wrapper{overflow-x:auto}.rank-badge[data-v-113ac62a]{display:inline-grid;min-width:28px;place-items:center;border-radius:var(--radius-full);padding:var(--space-1) var(--space-2);font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);background:#eaf8ef;color:var(--color-success)}.rank-badge.top[data-v-113ac62a]{background:#fff0f0;color:var(--color-danger)}.loading-overlay[data-v-113ac62a]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:hsla(0,0%,100%,.9);border-radius:var(--radius-xl);z-index:10}.spinner[data-v-113ac62a]{width:40px;height:40px;border:4px solid var(--color-background);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin-113ac62a 1s linear infinite;margin-bottom:var(--space-4)}.loading-text[data-v-113ac62a]{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}@keyframes spin-113ac62a{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1024px){.main-content[data-v-113ac62a]{flex-direction:column}.stats-cards[data-v-113ac62a]{min-width:auto;max-width:100%;width:100%;flex-direction:row}.insights[data-v-113ac62a]{grid-template-columns:repeat(2,1fr)}.tables-row[data-v-113ac62a]{grid-template-columns:1fr}}.energy-balance-root[data-v-37aa345a]{display:flex;flex-direction:column;gap:var(--space-4);height:100%;flex:1;width:100%}.chart-layout[data-v-37aa345a]{display:flex;gap:var(--space-5);max-width:100%;box-sizing:border-box;flex:1;min-height:0}.chart-controls[data-v-37aa345a]{display:flex;flex-direction:column;gap:var(--space-4)}.main-container[data-v-37aa345a]{flex:1;display:flex;flex-direction:column;gap:var(--space-4);min-width:0;max-width:100%;overflow-x:hidden}.error-message[data-v-37aa345a]{color:var(--color-danger);text-align:center;padding:var(--space-4);background:#f8d7da;border-radius:var(--radius-lg);border:1px solid #f5c6cb;font-weight:var(--font-weight-medium)}.tabs-container[data-v-37aa345a]{display:flex;gap:var(--space-2);border-bottom:2px solid var(--color-border);margin-bottom:var(--space-4);flex-shrink:0}.tab[data-v-37aa345a]{padding:var(--space-2) var(--space-4);cursor:pointer;border-bottom:3px solid transparent;transition:all .2s ease;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-background);border-radius:var(--radius-lg) var(--radius-lg) 0 0;min-width:80px;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tab[data-v-37aa345a]:hover{background:var(--color-border);color:var(--color-text-primary)}.tab.active[data-v-37aa345a]{background:var(--color-primary);color:#fff;border-bottom-color:var(--color-primary-active)}.tab.compare-tab[data-v-37aa345a]{min-width:120px}.chart-content[data-v-37aa345a]{flex:1;min-width:0}.tables-row[data-v-37aa345a]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-4);max-width:100%;overflow-x:auto}.table-container[data-v-37aa345a]{min-width:0;max-width:100%}.card-header[data-v-37aa345a]{display:flex;justify-content:space-between;align-items:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);margin-bottom:.75rem;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.export-btn[data-v-37aa345a]{padding:.35rem .6rem;font-size:var(--font-size-xs);border:1px solid #cbd5e1;background:var(--color-surface);color:var(--color-text-primary);border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s ease}.export-btn[data-v-37aa345a]:hover{background:var(--color-background)}.export-btn[data-v-37aa345a]:disabled{opacity:.6;cursor:not-allowed}.table-wrapper[data-v-37aa345a]{width:100%;overflow-x:auto}.energy-summary-table[data-v-37aa345a]{font-size:var(--font-size-xs);table-layout:fixed;width:100%;max-width:100%}.energy-summary-table .el-table__header th[data-v-37aa345a]{background:var(--color-background);color:var(--color-text-primary)}.energy-balance[data-v-11e0c658]{display:flex;flex-direction:column;gap:var(--space-4);height:100%}.usage-tabs[data-v-11e0c658]{display:flex;gap:var(--space-5);border-bottom:1px solid var(--color-border);padding:0 var(--space-4)}.usage-tab[data-v-11e0c658]{position:relative;padding:var(--space-4) var(--space-2);border:none;background:transparent;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color var(--transition-slow)}.usage-tab[data-v-11e0c658]:hover{color:var(--color-text-primary)}.usage-tab.active[data-v-11e0c658]{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.tab-indicator[data-v-11e0c658]{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:transparent;transition:background-color var(--transition-slow)}.usage-tab.active .tab-indicator[data-v-11e0c658]{background:var(--color-text-primary)}.usage-content[data-v-11e0c658]{flex:1;display:flex;min-height:0}.stats-section[data-v-62f54e55]{margin-bottom:var(--space-6)}.cards-container[data-v-62f54e55]{display:flex;gap:var(--space-4);align-items:flex-start}.stats-grid[data-v-62f54e55]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);flex:1}.vertical-expand-container[data-v-62f54e55]{display:flex;align-items:center;justify-content:center;min-width:40px;margin-top:0}.vertical-expand-button[data-v-62f54e55]{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text-secondary);padding:0;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;width:40px;height:40px;box-shadow:var(--shadow-sm)}.vertical-expand-button[data-v-62f54e55]:hover{background:var(--color-border);border-color:#dee2e6;color:var(--color-text-primary);transform:translateX(-1px)}.vertical-expand-button[data-v-62f54e55]:active{transform:translateX(0);background:#dee2e6}.vertical-expand-button.expanded[data-v-62f54e55]{background:#e3f2fd;border-color:#bbdefb;color:var(--color-primary-hover)}.vertical-expand-button.expanded[data-v-62f54e55]:hover{background:#bbdefb;border-color:#90caf9;color:var(--color-primary-active)}.expand-icon-container[data-v-62f54e55]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.expand-icon[data-v-62f54e55]{width:16px;height:16px;transition:all var(--transition-base)}.stat-card[data-v-62f54e55]{transition:transform var(--transition-base);height:140px;display:flex;flex-direction:column}.stat-card[data-v-62f54e55]:hover{transform:translateY(-5px)}.stat-content[data-v-62f54e55]{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:var(--space-3);height:100%;min-height:100px}.stat-value[data-v-62f54e55]{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:center;display:flex;align-items:baseline;justify-content:center;gap:var(--space-2);flex-shrink:0;margin-top:auto}.stat-value .value[data-v-62f54e55]{font-size:var(--font-size-3xl)}.stat-value .unit[data-v-62f54e55]{font-size:var(--font-size-xl);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.stat-label[data-v-62f54e55]{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:center;line-height:1.2;flex-shrink:0;min-height:2.4rem;display:flex;align-items:center;justify-content:center}.card-fade-enter-active[data-v-62f54e55],.card-fade-leave-active[data-v-62f54e55]{transition:all var(--transition-slow) cubic-bezier(.4,0,.2,1)}.card-fade-enter-from[data-v-62f54e55]{opacity:0;transform:scale(.9) translateY(10px)}.card-fade-leave-to[data-v-62f54e55]{opacity:0;transform:scale(.9) translateY(-10px)}.card-fade-enter-to[data-v-62f54e55],.card-fade-leave-from[data-v-62f54e55]{opacity:1;transform:scale(1) translateY(0)}@media (max-width:768px){.cards-container[data-v-62f54e55]{flex-direction:column;gap:var(--space-2)}.stats-grid[data-v-62f54e55]{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.vertical-expand-container[data-v-62f54e55]{align-self:center;margin-top:0}.vertical-expand-button[data-v-62f54e55]{padding:0;width:36px;height:36px}.expand-icon[data-v-62f54e55]{width:14px;height:14px}.stat-content[data-v-62f54e55]{padding:var(--space-2);min-height:80px}.stat-card[data-v-62f54e55]{height:120px}.stat-value .value[data-v-62f54e55]{font-size:var(--font-size-2xl)}.stat-value .unit[data-v-62f54e55]{font-size:var(--font-size-base)}.stat-label[data-v-62f54e55]{font-size:var(--font-size-sm);min-height:2rem}}.sankey-card[data-v-7f7cbac3]{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.card-header[data-v-7f7cbac3]{display:flex;justify-content:space-between;align-items:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg)}.sankey-wrapper[data-v-7f7cbac3]{width:100%}.chart-container[data-v-7f7cbac3]{margin-bottom:var(--space-6)}.chart-instance[data-v-7f7cbac3]{width:100%;height:600px}.error-message[data-v-7f7cbac3]{color:var(--color-danger);text-align:center;padding:var(--space-5)}.no-data[data-v-7f7cbac3]{text-align:center;padding:var(--space-5);color:var(--color-text-secondary)}.profile-container[data-v-9c4050c0]{padding:var(--space-4);margin:0 auto}.dashboard-content[data-v-9c4050c0]{margin-top:var(--space-2)}.main-columns[data-v-9c4050c0]{display:grid;grid-template-columns:6fr 4fr;gap:var(--space-5);margin-bottom:var(--space-5)}.charts-column[data-v-9c4050c0]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.tables-column[data-v-9c4050c0]{display:flex;flex-direction:column;gap:var(--space-5)}.chart-card[data-v-9c4050c0],.table-card[data-v-9c4050c0]{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.card-header[data-v-9c4050c0]{display:flex;justify-content:space-between;align-items:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg)}.chart-container[data-v-9c4050c0]{padding:var(--space-4)}.table-container[data-v-9c4050c0]{padding:var(--space-4);overflow-x:auto}.data-table[data-v-9c4050c0]{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.data-table thead[data-v-9c4050c0]{background:var(--color-background)}.data-table th[data-v-9c4050c0]{padding:var(--space-3);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);border-bottom:2px solid var(--color-border)}.data-table td[data-v-9c4050c0]{padding:var(--space-3);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary)}.data-table tbody tr[data-v-9c4050c0]:hover{background:var(--color-background)}.data-table tbody tr:last-child td[data-v-9c4050c0]{border-bottom:none}.full-width-section[data-v-9c4050c0]{width:100%}.no-data-message[data-v-9c4050c0]{text-align:center;padding:var(--space-6);color:var(--color-text-secondary);font-size:var(--font-size-lg)}@media (max-width:1400px){.charts-column[data-v-9c4050c0]{grid-template-columns:1fr}}@media (max-width:1200px){.main-columns[data-v-9c4050c0]{grid-template-columns:1fr;gap:var(--space-4)}.charts-column[data-v-9c4050c0]{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.profile-container[data-v-9c4050c0]{padding:var(--space-2)}.charts-column[data-v-9c4050c0]{grid-template-columns:1fr}.data-table[data-v-9c4050c0]{font-size:var(--font-size-sm)}.data-table td[data-v-9c4050c0],.data-table th[data-v-9c4050c0]{padding:var(--space-2)}}.chart-container[data-v-644bf175]{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);min-width:0}.chart-title[data-v-644bf175]{margin:0 0 var(--space-4) 0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);text-align:center}.chart-container[data-v-7472492e]{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);min-width:0}.chart-title[data-v-7472492e]{margin:0 0 var(--space-4) 0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);text-align:center}.profile-details-container[data-v-08bebbf8]{padding:var(--space-4);margin:0 auto}.chart-controls[data-v-08bebbf8]{margin-bottom:var(--space-4)}.view-toggle[data-v-08bebbf8]{background:var(--color-background);padding:var(--space-1);border-radius:var(--radius-lg);gap:var(--space-1);width:-moz-fit-content;width:fit-content}.toggle-btn[data-v-08bebbf8]{flex:1;padding:var(--space-2) var(--space-4);border:none;background:transparent;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);color:var(--color-text-muted)}.toggle-btn.active[data-v-08bebbf8]{background:var(--color-surface);color:var(--color-text-dark);box-shadow:var(--shadow-sm)}.toggle-btn[data-v-08bebbf8]:hover:not(.active){background:hsla(0,0%,100%,.5)}.main-layout[data-v-08bebbf8]{display:grid;grid-template-columns:7fr 3fr;gap:var(--space-5);margin-top:var(--space-4)}.charts-grid[data-v-08bebbf8]{display:grid;grid-template-columns:1fr;gap:var(--space-5)}.consumption-charts-row[data-v-08bebbf8]{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-4)}.reactive-charts-row[data-v-08bebbf8]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.chart-card[data-v-08bebbf8]{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4)}.card-header[data-v-08bebbf8]{display:flex;justify-content:space-between;align-items:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--color-text-primary);margin-bottom:var(--space-4)}.card-actions[data-v-08bebbf8]{display:flex;align-items:center;gap:var(--space-2)}.export-btn[data-v-08bebbf8]{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-dark);border-radius:var(--radius-md);cursor:pointer}.export-btn[data-v-08bebbf8]:hover{background:var(--color-background)}.export-btn[data-v-08bebbf8]:disabled{opacity:.6;cursor:not-allowed}.chart-container[data-v-08bebbf8]{padding:var(--space-2) 0}.tables-section[data-v-08bebbf8]{margin-top:0}.table-container[data-v-08bebbf8]{margin-bottom:var(--space-5)}.table-container h3[data-v-08bebbf8]{margin:0 0 var(--space-3) 0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.table-wrapper[data-v-08bebbf8]{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.data-table[data-v-08bebbf8]{width:100%;border-collapse:collapse;font-size:var(--font-size-xs)}.data-table td[data-v-08bebbf8],.data-table th[data-v-08bebbf8]{padding:var(--space-2) var(--space-2);text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top}.data-table th[data-v-08bebbf8]{background:var(--color-background);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);white-space:normal;font-size:var(--font-size-xs);line-height:1.2;word-wrap:break-word;max-width:80px}.data-table td[data-v-08bebbf8]{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.data-table tr:last-child td[data-v-08bebbf8]{border-bottom:none}.data-table tr:hover td[data-v-08bebbf8]{background:var(--color-background)}.data-table td[data-v-08bebbf8]:first-child,.data-table th[data-v-08bebbf8]:first-child{width:60px;min-width:60px;max-width:60px;text-align:left}.data-table td[data-v-08bebbf8]:not(:first-child),.data-table th[data-v-08bebbf8]:not(:first-child){text-align:right}.numeric[data-v-08bebbf8]{text-align:right;font-family:monospace}.error-message[data-v-08bebbf8]{color:var(--color-danger);text-align:center;padding:var(--space-4);margin-bottom:var(--space-4);background:#f8d7da;border-radius:var(--radius-sm)}.loading-overlay[data-v-08bebbf8]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);min-height:200px}.spinner[data-v-08bebbf8]{width:40px;height:40px;border:4px solid var(--color-background);border-top:4px solid var(--color-primary);border-radius:var(--radius-full);animation:spin-08bebbf8 1s linear infinite;margin-bottom:var(--space-4)}.loading-text[data-v-08bebbf8]{color:var(--color-text-secondary)}@keyframes spin-08bebbf8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.consumption-charts-row[data-v-08bebbf8],.main-layout[data-v-08bebbf8],.reactive-charts-row[data-v-08bebbf8]{grid-template-columns:1fr}.data-table td[data-v-08bebbf8],.data-table th[data-v-08bebbf8]{padding:var(--space-2);font-size:var(--font-size-sm)}.table-container h3[data-v-08bebbf8]{font-size:var(--font-size-lg)}}.chart-container[data-v-5bfcda32]{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);min-width:0}.chart-title[data-v-5bfcda32]{margin:0 0 var(--space-4) 0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);text-align:center}.chart-container[data-v-16e73011]{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);min-width:0}.chart-title[data-v-16e73011]{margin:0 0 var(--space-4) 0;color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);text-align:center}.profile-power-container[data-v-44390778]{padding:var(--space-4)}.charts-grid[data-v-44390778]{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.error-message[data-v-44390778]{color:var(--color-danger);text-align:center;padding:var(--space-4);margin-bottom:var(--space-4);background:#f8d7da;border-radius:var(--radius-sm)}.loading-overlay[data-v-44390778]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);min-height:200px}.spinner[data-v-44390778]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin-44390778 1s linear infinite;margin-bottom:1rem}.loading-text[data-v-44390778]{color:var(--color-text-secondary)}@keyframes spin-44390778{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.chart-controls[data-v-44390778]{margin-bottom:var(--space-4)}.view-toggle[data-v-44390778]{display:flex;background:var(--color-background);padding:var(--space-1);border-radius:var(--radius-lg);gap:var(--space-1);width:-moz-fit-content;width:fit-content}.toggle-btn[data-v-44390778]{flex:1;padding:var(--space-2) var(--space-4);border:none;background:transparent;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;color:var(--color-text-secondary)}.toggle-btn.active[data-v-44390778]{background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.toggle-btn[data-v-44390778]:hover:not(.active){background:hsla(0,0%,100%,.5)}.chart-container[data-v-44390778]{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);min-width:0}.chart-title[data-v-44390778]{margin:0 0 var(--space-4) 0;color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);text-align:center}.costs-savings-container[data-v-088fd28b]{padding:var(--space-4);width:100%;box-sizing:border-box;overflow-x:hidden}.no-data[data-v-088fd28b]{text-align:center;padding:var(--space-6);color:var(--color-text-secondary)}.three-column-layout[data-v-088fd28b]{display:grid;grid-template-columns:9% 52% 37%;gap:var(--space-5);width:100%;box-sizing:border-box}.left-column[data-v-088fd28b]{display:flex;flex-direction:column;min-width:0}.cards-stack[data-v-088fd28b]{display:flex;flex-direction:column;gap:var(--space-3)}.stat-card[data-v-088fd28b]{transition:transform .2s;min-height:100px;display:flex;flex-direction:column}.stat-card[data-v-088fd28b]:hover{transform:translateY(-3px);box-shadow:var(--shadow-card)}.stat-content[data-v-088fd28b]{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:0;height:100%;min-height:70px}.stat-label[data-v-088fd28b]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.2;min-height:2rem;align-items:center}.stat-label[data-v-088fd28b],.stat-value[data-v-088fd28b]{color:var(--color-text-primary);text-align:center;flex-shrink:0;display:flex;justify-content:center}.stat-value[data-v-088fd28b]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);align-items:baseline;gap:.3rem;margin-top:auto}.stat-value .value[data-v-088fd28b]{font-size:var(--font-size-xl)}.stat-value .unit[data-v-088fd28b]{font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.middle-column[data-v-088fd28b]{display:flex;flex-direction:column;min-width:0}.chart-wrapper[data-v-088fd28b]{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);min-width:0}.chart-title[data-v-088fd28b]{margin:0 0 var(--space-4) 0;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-align:center}.donut-charts-row[data-v-088fd28b]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-top:var(--space-5)}.donut-chart-card[data-v-088fd28b]{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);min-width:0}.donut-chart-card .chart-title[data-v-088fd28b]{font-size:var(--font-size-base);margin-bottom:var(--space-4)}.right-column[data-v-088fd28b]{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.table-container[data-v-088fd28b]{margin-bottom:var(--space-5)}.table-container h3[data-v-088fd28b]{margin:0 0 .75rem 0;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.table-wrapper[data-v-088fd28b]{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto;overflow-y:hidden}.data-table[data-v-088fd28b]{width:100%;border-collapse:collapse;font-size:var(--font-size-xs)}.data-table td[data-v-088fd28b],.data-table th[data-v-088fd28b]{padding:var(--space-2) var(--space-1);text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top}.data-table th[data-v-088fd28b]{background:var(--color-background);font-weight:var(--font-weight-semibold);white-space:normal;line-height:1.3}.data-table td[data-v-088fd28b],.data-table th[data-v-088fd28b]{color:var(--color-text-primary);font-size:var(--font-size-xs)}.data-table tr:last-child td[data-v-088fd28b]{border-bottom:none}.data-table tbody tr:hover td[data-v-088fd28b]{background:var(--color-background)}.data-table td[data-v-088fd28b]:first-child,.data-table th[data-v-088fd28b]:first-child{min-width:var(--space-6);max-width:var(--space-6);text-align:left;white-space:nowrap;position:sticky;left:0;background:var(--color-surface);z-index:1}.data-table thead th[data-v-088fd28b]:first-child{background:var(--color-background);z-index:2}.data-table tbody tr:hover td[data-v-088fd28b]:first-child{background:#f8fafc}.data-table td[data-v-088fd28b]:not(:first-child),.data-table th[data-v-088fd28b]:not(:first-child){text-align:right;min-width:90px;max-width:110px}.data-table thead th[data-v-088fd28b]:not(:first-child){white-space:normal}.data-table tbody td[data-v-088fd28b]:not(:first-child){white-space:nowrap}.numeric[data-v-088fd28b]{text-align:right;font-family:monospace}.loading-overlay[data-v-088fd28b]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2);min-height:300px}.spinner[data-v-088fd28b]{width:var(--space-6);height:var(--space-6);border:4px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin-088fd28b 1s linear infinite;margin-bottom:var(--space-2)}.loading-text[data-v-088fd28b]{color:var(--color-text-secondary);font-size:var(--font-size-xs)}@keyframes spin-088fd28b{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1400px){.three-column-layout[data-v-088fd28b]{grid-template-columns:12% 55% 33%}}@media (max-width:1200px){.three-column-layout[data-v-088fd28b]{grid-template-columns:15% 50% 35%}}@media (max-width:992px){.three-column-layout[data-v-088fd28b]{grid-template-columns:1fr;gap:var(--space-2)}.right-column[data-v-088fd28b]{display:block}.left-column[data-v-088fd28b]{order:1}.middle-column[data-v-088fd28b]{order:2}.right-column[data-v-088fd28b]{order:3}}@media (max-width:768px){.three-column-layout[data-v-088fd28b]{grid-template-columns:1fr;gap:var(--space-2)}.left-column[data-v-088fd28b],.right-column[data-v-088fd28b]{order:2}.middle-column[data-v-088fd28b]{order:1}.stat-card[data-v-088fd28b]{min-height:var(--space-6)}.stat-content[data-v-088fd28b]{padding:var(--space-2);min-height:var(--space-6)}.stat-value .value[data-v-088fd28b]{font-size:var(--font-size-sm)}.stat-label[data-v-088fd28b],.stat-value .unit[data-v-088fd28b]{font-size:var(--font-size-xs)}.stat-label[data-v-088fd28b]{min-height:var(--space-6)}.data-table td[data-v-088fd28b],.data-table th[data-v-088fd28b]{padding:var(--space-2);font-size:var(--font-size-xs)}.table-container h3[data-v-088fd28b]{font-size:var(--font-size-base)}.donut-charts-row[data-v-088fd28b]{grid-template-columns:1fr;gap:var(--space-4)}.donut-chart-card[data-v-088fd28b]{padding:var(--space-4)}.donut-chart-card .chart-title[data-v-088fd28b]{font-size:var(--font-size-base)}}.profile-container[data-v-30d40174]{padding:var(--space-2);margin:0 auto}.tabs-section[data-v-30d40174]{margin-top:var(--space-6)}.error-message[data-v-30d40174]{color:var(--color-danger);text-align:center;padding:var(--space-4);margin-bottom:var(--space-4);background:#f8d7da;border-radius:var(--radius-sm)}.loading-overlay[data-v-30d40174]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);min-height:200px}.spinner[data-v-30d40174]{width:40px;height:40px;border:4px solid var(--color-background);border-top:4px solid var(--color-primary);border-radius:var(--radius-full);animation:spin-30d40174 1s linear infinite;margin-bottom:var(--space-4)}.loading-text[data-v-30d40174]{color:var(--color-text-secondary)}@keyframes spin-30d40174{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.profile-container[data-v-30d40174]{padding:var(--space-4)}}.totals-section[data-v-2df68f6f]{padding:var(--space-2);background-color:var(--color-background);border-top:1px solid var(--color-border-light);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.totals-grid[data-v-2df68f6f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3)}.total-item[data-v-2df68f6f]{display:flex;flex-direction:column;align-items:center}.total-label[data-v-2df68f6f]{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.total-value[data-v-2df68f6f]{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);display:flex;align-items:baseline;justify-content:center;gap:var(--space-2)}.total-value .value[data-v-2df68f6f]{font-size:var(--font-size-lg)}.total-value .unit[data-v-2df68f6f]{font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.time-range-info[data-v-5a140b6e]{display:inline-flex;align-items:center;margin-left:var(--space-2)}.info-icon[data-v-5a140b6e]{color:#409eff;font-size:18px;font-weight:700;cursor:pointer;transition:color .2s;line-height:.5;-webkit-user-select:none;-moz-user-select:none;user-select:none}.info-icon[data-v-5a140b6e]:hover{color:var(--color-primary)}[data-v-5a140b6e] .time-range-tooltip{max-width:300px;font-size:9px;line-height:1}.tooltip-content h4[data-v-5a140b6e]{margin:0 0 0 0;color:var(--color-text-primary);font-size:10.5px;font-weight:600}.time-section[data-v-5a140b6e]{margin-bottom:9px}.time-section[data-v-5a140b6e]:last-child{margin-bottom:0}.time-section strong[data-v-5a140b6e]{color:var(--color-primary);font-weight:600}.time-section ul[data-v-5a140b6e]{margin:1px 0;padding-left:12px}.time-section li[data-v-5a140b6e]{margin-bottom:1px}.time-section p[data-v-5a140b6e]{margin:2px 0;color:var(--color-text-secondary)}.price-info[data-v-5a140b6e]{background-color:var(--color-background);border-left:2px solid var(--color-primary);padding:var(--space-2) var(--space-1);margin:1px 0;border-radius:3px;font-weight:600;color:var(--color-primary-active);font-size:var(--font-size-xs)}.note[data-v-5a140b6e]{padding-top:var(--space-2);border-top:1px solid var(--color-border-light);font-style:italic;color:var(--color-text-muted)}.level-distribution-bar[data-v-3b809b74]{display:flex;width:100%;height:16px;border-radius:8px;overflow:hidden;background-color:var(--color-bg-tertiary);cursor:pointer}.bar-segment[data-v-3b809b74]{height:100%;transition:width .3s ease}.level-l0[data-v-3b809b74]{background-color:#9e9e9e}.level-l1[data-v-3b809b74]{background-color:#2196f3}.level-l2[data-v-3b809b74]{background-color:#ffc107}.level-l3[data-v-3b809b74]{background-color:#f44}.info-tooltip-wrapper[data-v-fd1e3530]{position:relative;display:flex;align-items:center;cursor:help;color:var(--color-text-muted)}.info-icon[data-v-fd1e3530]:hover{color:var(--color-text-primary)}.tooltip-content[data-v-fd1e3530]{visibility:hidden;opacity:0;position:absolute;left:20%;transform:translateX(-20%);width:300px;background-color:var(--color-text-dark);color:var(--color-surface);text-align:left;border-radius:var(--radius-sm);padding:var(--space-3);z-index:var(--z-tooltip);transition:opacity var(--transition-base);pointer-events:none;box-shadow:var(--shadow-md)}.tooltip-top[data-v-fd1e3530]{bottom:100%;margin-bottom:var(--space-2)}.tooltip-top[data-v-fd1e3530]:after{content:"";position:absolute;top:100%;left:20%;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--color-text-dark) transparent transparent transparent}.tooltip-bottom[data-v-fd1e3530]{top:100%;margin-top:var(--space-2)}.tooltip-bottom[data-v-fd1e3530]:after{content:"";position:absolute;bottom:100%;left:20%;margin-left:-5px;border-width:5px;border-style:solid;border-color:transparent transparent var(--color-text-dark) transparent}.info-tooltip-wrapper:hover .tooltip-content[data-v-fd1e3530]{visibility:visible;opacity:1}[data-v-fd1e3530] .tooltip-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);margin-bottom:var(--space-2);border-bottom:1px solid hsla(0,0%,100%,.2);padding-bottom:4px}[data-v-fd1e3530] .tooltip-list{margin:0;padding-left:16px;font-size:10px;line-height:1.2}[data-v-fd1e3530] .tooltip-list li{margin-bottom:4px}.delta-badge[data-v-89bffb8e]{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:1px 4px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;white-space:nowrap}.delta-badge.positive[data-v-89bffb8e]{color:var(--color-success);background:#e6f4ea}.delta-badge.negative[data-v-89bffb8e]{color:var(--color-danger);background:#fce8e6}.delta-badge.neutral[data-v-89bffb8e]{color:var(--color-text-muted)}.level-cards[data-v-448806d4]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);width:100%}.level-card[data-v-448806d4]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.card-header[data-v-448806d4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.header-left[data-v-448806d4]{display:flex;align-items:center;gap:var(--space-2)}.level-badge[data-v-448806d4]{padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:#fff}.level-range[data-v-448806d4]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.card-body[data-v-448806d4]{display:grid;grid-template-columns:1fr auto auto;gap:var(--space-2) var(--space-3);align-items:center}.label[data-v-448806d4]{color:var(--color-text-muted);font-size:var(--font-size-xs);justify-self:start}.value[data-v-448806d4]{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm);justify-self:end;text-align:right}.delta-col[data-v-448806d4]{display:flex;align-items:center;min-width:40px;justify-content:flex-end}.bg-l0[data-v-448806d4]{background-color:#9e9e9e}.border-l0[data-v-448806d4]{border-top:3px solid #9e9e9e}.bg-l1[data-v-448806d4]{background-color:#2196f3}.border-l1[data-v-448806d4]{border-top:3px solid #2196f3}.bg-l2[data-v-448806d4]{background-color:#ffc107}.border-l2[data-v-448806d4]{border-top:3px solid #ffc107}.bg-l3[data-v-448806d4]{background-color:#f44}.border-l3[data-v-448806d4]{border-top:3px solid #f44}@media (max-width:768px){.level-cards[data-v-448806d4]{grid-template-columns:repeat(2,1fr)}}.device-insights[data-v-5aa18b85]{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.section-title[data-v-5aa18b85]{margin-bottom:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.insights-list[data-v-5aa18b85]{display:flex;flex-direction:column;gap:var(--space-3)}.insight-card[data-v-5aa18b85]{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid transparent}.insight-card.warning[data-v-5aa18b85]{background-color:#fff8e6;border-color:#ffe0b2}.insight-card.info[data-v-5aa18b85]{background-color:#e3f2fd;border-color:#bbdefb}.insight-card.good[data-v-5aa18b85]{background-color:#e8f5e9;border-color:#c8e6c9}.insight-header[data-v-5aa18b85]{display:flex;gap:var(--space-2);margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.insight-body[data-v-5aa18b85]{padding-left:24px}.recommendation[data-v-5aa18b85]{margin:0 0 var(--space-2) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.evidence[data-v-5aa18b85]{font-size:var(--font-size-xs);color:var(--color-text-muted)}.device-details-panel[data-v-285fe7c8]{padding:var(--space-4);background-color:var(--color-background);border-top:1px solid var(--color-border)}.panel-section[data-v-285fe7c8]{margin-bottom:var(--space-4)}.section-title[data-v-285fe7c8]{margin-bottom:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.stats-grid[data-v-285fe7c8]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.stat-card[data-v-285fe7c8]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.stat-card label[data-v-285fe7c8]{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:4px}.value-row[data-v-285fe7c8]{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:4px}.value[data-v-285fe7c8]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.sub-text[data-v-285fe7c8]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.warning[data-v-285fe7c8]{color:var(--color-warning)}@media (max-width:768px){.stats-grid[data-v-285fe7c8]{grid-template-columns:1fr}}.flex-row[data-v-285fe7c8]{display:flex;align-items:center;gap:4px}.device-list-table[data-v-0972d944]{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.time-split-container[data-v-0972d944]{max-width:550px;margin:0 auto}.device-name[data-v-0972d944]{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.change-badge[data-v-0972d944]{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:1px 6px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;white-space:nowrap}.change-badge.positive[data-v-0972d944]{color:var(--color-success);background:#e6f4ea}.change-badge.negative[data-v-0972d944]{color:var(--color-danger);background:#fce8e6}.change-badge.neutral[data-v-0972d944]{color:var(--color-text-muted)}.intensity-label[data-v-0972d944]{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:1px 6px;border-radius:var(--radius-sm);white-space:nowrap}.intensity-label.positive[data-v-0972d944]{color:var(--color-success);background:#e6f4ea}.intensity-label.negative[data-v-0972d944]{color:var(--color-danger);background:#fce8e6}.intensity-label.neutral[data-v-0972d944]{color:var(--color-text-muted)}.intensity-label.warning[data-v-0972d944]{color:var(--color-warning,#e6a700);background:#fff8e1}[data-v-0972d944] .el-table{--el-table-header-bg-color:var(--color-background);--el-table-header-text-color:var(--color-text-secondary);--el-table-text-color:var(--color-text-primary)}[data-v-0972d944] .el-table__expanded-cell{padding:0!important}.loading-state[data-v-07c790c6]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-4);color:var(--color-text-secondary)}.spinner[data-v-07c790c6]{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-07c790c6 1s linear infinite}@keyframes spin-07c790c6{to{transform:rotate(1turn)}}.operating-load-profile[data-v-1e31e806]{padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.report-controls[data-v-1e31e806]{display:flex;gap:var(--space-6);padding:var(--space-2);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center}.control-group[data-v-1e31e806]{display:flex;align-items:center;gap:var(--space-3)}.control-group label[data-v-1e31e806]{font-weight:500;color:var(--color-text-secondary)}.period-select[data-v-1e31e806]{width:200px}.period-info[data-v-1e31e806]{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:right}.generation-progress[data-v-1e31e806]{padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.progress-header[data-v-1e31e806]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.progress-label[data-v-1e31e806]{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.progress-count[data-v-1e31e806]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.empty-state[data-v-1e31e806]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);gap:var(--space-2);color:var(--color-text-secondary)}.empty-state .mdi[data-v-1e31e806]{font-size:48px;opacity:.4}.empty-state p[data-v-1e31e806]{margin:0;font-size:var(--font-size-base)}.empty-hint[data-v-1e31e806]{font-size:var(--font-size-sm)!important;color:var(--color-text-muted)}.tooltip-body[data-v-1e31e806]{font-size:var(--font-size-xs);line-height:1.4}.tooltip-body p[data-v-1e31e806]{margin-bottom:var(--space-2);margin-top:0}.mb-1[data-v-1e31e806]{margin-bottom:4px}.mb-2[data-v-1e31e806]{margin-bottom:8px}.mb-3[data-v-1e31e806]{margin-bottom:12px}.separator[data-v-1e31e806]{height:1px;background-color:hsla(0,0%,100%,.2);width:100%}.section-title[data-v-1e31e806]{font-weight:var(--font-weight-bold);color:var(--color-surface)}.tooltip-body strong[data-v-1e31e806]{font-weight:var(--font-weight-bold);color:#fff}.energy-diagram-wrapper[data-v-08ff685a]{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;min-height:0;min-width:0}.panel-title[data-v-08ff685a]{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:#2c3e50;text-align:left;padding-left:1rem;flex-shrink:0}.diagram-arena[data-v-08ff685a]{flex:1 1 0;width:100%;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;container-type:size}.energy-flow-diagram[data-v-08ff685a]{position:relative;width:calc(100cqh*10/7);max-width:100cqw;height:auto;aspect-ratio:10/7;-webkit-user-select:none;-moz-user-select:none;user-select:none}.flow-svg[data-v-08ff685a]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.flow-path[data-v-08ff685a]{fill:none;stroke-width:8;stroke-linecap:round;stroke-dasharray:20 15;opacity:.9}.active-green[data-v-08ff685a]{stroke:#4caf50}.active-red[data-v-08ff685a]{stroke:#ef5350}.animating[data-v-08ff685a]{animation:flowAnimation-08ff685a linear infinite}@keyframes flowAnimation-08ff685a{0%{stroke-dashoffset:70}to{stroke-dashoffset:0}}.nodes-container[data-v-08ff685a]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none}.node[data-v-08ff685a]{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;width:27%;display:flex;flex-direction:column;align-items:center}.node[data-v-08ff685a]:hover{z-index:20}.node-icon[data-v-08ff685a]{width:100%;height:auto;aspect-ratio:1/1;-o-object-fit:contain;object-fit:contain;transition:all .3s ease;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}.node-icon.active[data-v-08ff685a]{transform:scale(1.05);filter:drop-shadow(0 6px 10px rgba(0,0,0,.15))}.labels-container[data-v-08ff685a]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.path-label[data-v-08ff685a]{position:absolute;transform:translate(-50%,-50%);background:hsla(0,0%,100%,.9);padding:3px 7px;border-radius:8px;font-weight:700;font-size:.75rem;color:#444;box-shadow:0 2px 4px rgba(0,0,0,.08);white-space:nowrap;border:1px solid #f0f0f0}.simple-tooltip[data-v-08ff685a]{position:absolute;top:65%;left:50%;transform:translate(-50%,-50%) scale(.95);background:rgba(0,0,0,.85);color:#fff;padding:4px 8px;border-radius:4px;font-size:.7rem;font-weight:600;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease;z-index:30}.node:hover .simple-tooltip[data-v-08ff685a]{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}@media (max-width:768px){.simple-tooltip[data-v-08ff685a]{font-size:.5rem;padding:2px 4px;border-radius:3px}}.battery-status-badge[data-v-08ff685a]{display:flex;align-items:center;gap:3px;margin-top:-30px;padding:1.5px 5px;border-radius:12px;font-size:.65rem;font-weight:700;color:#2c3e50;box-shadow:0 2px 6px rgba(0,0,0,.08);border:1px solid;transition:all .3s ease;z-index:5;background:#fff;pointer-events:auto}.battery-status-good[data-v-08ff685a]{background:rgba(236,253,245,.95);color:#059669;border-color:#a7f3d0}.battery-status-medium[data-v-08ff685a]{background:rgba(255,251,235,.95);color:#d97706;border-color:#fde68a}.battery-status-low[data-v-08ff685a]{background:hsla(0,86%,97%,.95);color:#dc2626;border-color:#fecaca;animation:pulseLow-08ff685a 1.5s infinite alternate}.battery-status-charging[data-v-08ff685a]{background:rgba(239,246,255,.95);color:#2563eb;border-color:#bfdbfe}.battery-badge-icon[data-v-08ff685a]{flex-shrink:0}.battery-flow-indicator[data-v-08ff685a]{font-size:.65rem;line-height:1}.battery-flow-indicator.charging[data-v-08ff685a]{animation:chargingPulse-08ff685a 1s infinite alternate}@keyframes pulseLow-08ff685a{0%{box-shadow:0 0 0 0 rgba(220,38,38,.4)}to{box-shadow:0 0 0 4px rgba(220,38,38,0)}}@keyframes chargingPulse-08ff685a{0%{opacity:.5;transform:scale(.9)}to{opacity:1;transform:scale(1.1)}}@media (max-width:768px){.battery-status-badge[data-v-08ff685a]{padding:1px 4px;font-size:.5rem;margin-top:-16px;gap:2px}}.live-stats-cards[data-v-936c5cca]{display:flex;flex-direction:column;gap:8px;height:100%;justify-content:center}.stat-card[data-v-936c5cca]{margin:4px;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:transform .2s ease,box-shadow .2s ease;cursor:default}.stat-card[data-v-936c5cca]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.stat-content[data-v-936c5cca]{padding:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.stat-label[data-v-936c5cca]{font-size:.9rem;color:#666;font-weight:600;text-align:center}.stat-value[data-v-936c5cca]{display:flex;align-items:baseline;gap:4px;color:#333}.stat-value .value[data-v-936c5cca]{font-size:1.5rem;font-weight:700}.stat-value .unit[data-v-936c5cca]{font-size:.9rem;color:#888;font-weight:500}.live-power-chart[data-v-9ef76aac]{height:100%;display:flex;flex-direction:column;position:relative}.chart-wrapper[data-v-9ef76aac]{flex:1;min-height:0;transition:opacity .2s ease}.chart-loading-overlay[data-v-9ef76aac]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10;background:hsla(0,0%,100%,.5);border-radius:12px}.spinner-small[data-v-9ef76aac]{width:24px;height:24px;border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;animation:spin-9ef76aac 1s linear infinite}@keyframes spin-9ef76aac{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.panel-title[data-v-9ef76aac]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4);color:var(--color-text-primary);flex-shrink:0;text-align:left;width:100%;padding-left:var(--space-4)}.loading-state[data-v-45e51f11]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) 0;min-height:180px}.spinner[data-v-45e51f11]{width:36px;height:36px;border:3px solid rgba(0,0,0,.05);border-top-color:var(--color-primary,#409eff);border-radius:50%;animation:spin-45e51f11 1s linear infinite;margin-bottom:var(--space-4)}.loading-text[data-v-45e51f11]{color:var(--color-text-secondary,#909399);font-size:var(--font-size-sm,14px)}.sources-content[data-v-45e51f11]{display:flex;flex-direction:column;gap:var(--space-5)}.device-summary[data-v-45e51f11]{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-4);border-bottom:1px solid #f2f2f2}.device-title[data-v-45e51f11]{margin:0;font-size:1.15rem;font-weight:600;color:var(--color-text-primary,#303133)}.device-id-sub[data-v-45e51f11]{font-size:var(--font-size-xs,12px);color:var(--color-text-secondary,#909399);font-family:monospace}.total-kwh-badge[data-v-45e51f11]{display:flex;flex-direction:column;align-items:flex-end;background:#f5f7fa;padding:6px 12px;border-radius:8px;border:1px solid #eef1f6}.total-kwh-badge .value[data-v-45e51f11]{font-size:1.3rem;font-weight:700;color:var(--color-primary,#409eff);line-height:1.2}.total-kwh-badge .unit[data-v-45e51f11]{font-size:10px;font-weight:600;color:#909399;text-transform:uppercase}.attribution-container[data-v-45e51f11]{display:flex;flex-direction:column;gap:10px;margin:10px 0}.attribution-bar[data-v-45e51f11]{display:flex;height:18px;border-radius:9px;overflow:hidden;background:#f0f2f5;box-shadow:inset 0 1px 3px rgba(0,0,0,.06)}.bar-segment[data-v-45e51f11]{height:100%;transition:width .3s ease}.bar-segment.solar[data-v-45e51f11]{background:linear-gradient(90deg,#67c23a,#85e05d)}.bar-segment.battery[data-v-45e51f11]{background:linear-gradient(90deg,#b37feb,#d3adf7)}.bar-segment.grid[data-v-45e51f11]{background:linear-gradient(90deg,#e6a23c,#ffc069)}.bar-labels[data-v-45e51f11]{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:12px}.label-dot[data-v-45e51f11]{display:inline-flex;align-items:center;gap:6px;font-weight:500}.label-dot[data-v-45e51f11]:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%}.label-dot.solar[data-v-45e51f11]:before{background-color:#67c23a}.label-dot.battery[data-v-45e51f11]:before{background-color:#b37feb}.label-dot.grid[data-v-45e51f11]:before{background-color:#e6a23c}.label-dot.solar[data-v-45e51f11]{color:#67c23a}.label-dot.battery[data-v-45e51f11]{color:#b37feb}.label-dot.grid[data-v-45e51f11]{color:#e6a23c}.source-cards-grid[data-v-45e51f11]{display:flex;flex-direction:column;gap:var(--space-3);margin-top:10px}.source-card[data-v-45e51f11]{display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:12px;border:1px solid #f0f0f0;background:#fafafa;transition:all .25s ease}.source-card[data-v-45e51f11]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.04)}.source-card.disabled[data-v-45e51f11]{opacity:.55;filter:grayscale(.5);background:#fdfdfd}.card-header-icon[data-v-45e51f11]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;font-size:1.5rem;transition:all .3s}.solar-card .card-header-icon[data-v-45e51f11]{background:rgba(103,194,58,.1);color:#67c23a}.battery-card .card-header-icon[data-v-45e51f11]{background:rgba(179,127,235,.1);color:#b37feb}.grid-card .card-header-icon[data-v-45e51f11]{background:rgba(230,162,60,.1);color:#e6a23c}.card-info[data-v-45e51f11]{flex-grow:1}.card-title[data-v-45e51f11]{font-size:13px;font-weight:600;color:#8c8c8c;margin-bottom:2px}.card-values[data-v-45e51f11]{display:flex;justify-content:space-between;align-items:baseline}.card-values .kwh[data-v-45e51f11]{font-size:1.1rem;font-weight:700;color:#262626}.card-values .pct[data-v-45e51f11]{font-size:1.1rem;font-weight:700}.solar-card .pct[data-v-45e51f11]{color:#67c23a}.battery-card .pct[data-v-45e51f11]{color:#b37feb}.grid-card .pct[data-v-45e51f11]{color:#e6a23c}.empty-state[data-v-45e51f11]{text-align:center;color:var(--color-text-secondary);padding:var(--space-6) 0;font-style:italic}[data-v-45e51f11] .power-sources-dialog{border-radius:var(--radius-xl,16px);overflow:hidden}[data-v-45e51f11] .power-sources-dialog .el-dialog__header{margin-right:0;border-bottom:1px solid #f0f0f0;padding:16px 20px;background:#fafafa}[data-v-45e51f11] .power-sources-dialog .el-dialog__title{font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#555}[data-v-45e51f11] .power-sources-dialog .el-dialog__body{padding:20px}[data-v-45e51f11] .power-sources-dialog .el-dialog__footer{border-top:1px solid #f0f0f0;padding:12px 20px;background:#fafafa}@keyframes spin-45e51f11{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.device-consumption-table[data-v-2d127030]{width:100%;height:100%;overflow-y:auto;display:flex;flex-direction:column}.panel-title[data-v-2d127030]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4);color:var(--color-text-primary);flex-shrink:0}.device-consumption-table[data-v-2d127030]::-webkit-scrollbar{width:6px}.device-consumption-table[data-v-2d127030]::-webkit-scrollbar-track{background:transparent}.device-consumption-table[data-v-2d127030]::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.1);border-radius:3px}.device-consumption-table[data-v-2d127030]::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.2)}.ai-insights[data-v-9ad8486c]{width:100%;height:100%;padding:16px;display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05);border:1px solid #eaeaea;overflow:hidden;position:relative}.header[data-v-9ad8486c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-shrink:0}.panel-title[data-v-9ad8486c]{font-size:var(--font-size-lg,1.125rem);font-weight:600;color:var(--color-text-primary,#303133);margin:0}.content-container[data-v-9ad8486c]{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.summary-section[data-v-9ad8486c]{background:linear-gradient(90deg,#f8f9fa,#fff);border-left:3px solid #9b59b6;padding:10px 12px;margin-bottom:12px;border-radius:4px;display:flex;gap:10px;align-items:center;flex-shrink:0}.summary-icon[data-v-9ad8486c]{color:#9b59b6;display:flex;align-items:center;justify-content:center}.summary-text[data-v-9ad8486c]{margin:0;font-size:.95rem;font-weight:500;color:#2c3e50;line-height:1.3}.insights-list[data-v-9ad8486c]{list-style:none;padding:0;margin:0;overflow-y:auto;flex-grow:1}.insight-item[data-v-9ad8486c]{display:flex;align-items:flex-start;padding:12px 0;border-bottom:1px solid #f0f0f0;gap:12px;animation:fadeIn-9ad8486c .5s ease-out}.insight-item[data-v-9ad8486c]:last-child{border-bottom:none}.insight-icon[data-v-9ad8486c]{flex-shrink:0;margin-top:2px}.sparkle-icon[data-v-9ad8486c]{color:#9b59b6}.check-icon[data-v-9ad8486c]{color:#67c23a}.insight-content[data-v-9ad8486c]{font-size:.9rem;line-height:1.4;color:#606266}.insight-text[data-v-9ad8486c]{margin:0}.pulse-loader[data-v-9ad8486c]{width:8px;height:8px;border-radius:50%;background-color:#9b59b6;box-shadow:0 0 0 0 rgba(155,89,182,.7);animation:pulse-9ad8486c 1.5s infinite}@keyframes pulse-9ad8486c{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(155,89,182,.7)}70%{transform:scale(1);box-shadow:0 0 0 6px rgba(155,89,182,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(155,89,182,0)}}@keyframes fadeIn-9ad8486c{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.loading-state[data-v-9ad8486c]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-grow:1;text-align:center;color:#909399}.loading-phrase[data-v-9ad8486c]{margin-top:16px;font-size:.9rem;color:#9b59b6;font-style:italic;min-height:1.4em;animation:fadeInText-9ad8486c .5s ease-in-out}.ai-loader[data-v-9ad8486c]{display:flex;align-items:center;justify-content:center;height:24px;gap:4px}.bar[data-v-9ad8486c]{width:4px;background-color:#9b59b6;border-radius:2px;animation:wave-9ad8486c 1s ease-in-out infinite}.bar[data-v-9ad8486c]:first-child{animation-delay:0s;height:12px}.bar[data-v-9ad8486c]:nth-child(2){animation-delay:.1s;height:16px}.bar[data-v-9ad8486c]:nth-child(3){animation-delay:.2s;height:12px}@keyframes wave-9ad8486c{0%,to{transform:scaleY(1);opacity:.6}50%{transform:scaleY(1.5);opacity:1}}@keyframes fadeInText-9ad8486c{0%{opacity:.4}to{opacity:1}}.empty-state[data-v-9ad8486c],.error-state[data-v-9ad8486c]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-grow:1;color:#909399;font-size:.9rem;text-align:center;padding:20px}.error-text[data-v-9ad8486c]{margin-bottom:8px;color:#f56c6c}.retry-btn[data-v-9ad8486c]{background:none;border:1px solid #dcdfe6;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:.8rem;color:#606266;transition:all .2s}.retry-btn[data-v-9ad8486c]:hover{border-color:#c0c4cc;color:#409eff}.overview-page[data-v-18b86d76]{padding:var(--space-2);min-height:400px}.devices-section[data-v-18b86d76],.live-section[data-v-18b86d76]{transition:all .5s cubic-bezier(.4,0,.2,1);max-height:1000px;opacity:1;margin-bottom:var(--space-4)}.hidden-section[data-v-18b86d76]{max-height:0;opacity:0;margin-bottom:0;pointer-events:none}.live-grid[data-v-18b86d76]{display:grid;grid-template-columns:1.2fr 4.4fr 4.4fr;gap:var(--space-4);align-items:stretch;height:420px;transition:all .5s cubic-bezier(.4,0,.2,1)}.live-grid.expand-diagram[data-v-18b86d76]{grid-template-columns:0fr 1fr 0fr;gap:0;height:calc(100vh - 300px);min-height:600px}.live-grid.expand-chart[data-v-18b86d76]{grid-template-columns:0fr 0fr 1fr;gap:0;height:calc(100vh - 300px);min-height:600px}.live-grid.expand-chart .flow-diagram-container[data-v-18b86d76],.live-grid.expand-chart .live-stats-container[data-v-18b86d76],.live-grid.expand-diagram .live-chart-container[data-v-18b86d76],.live-grid.expand-diagram .live-stats-container[data-v-18b86d76]{opacity:0;pointer-events:none;padding:0;margin:0;overflow:hidden}.live-grid.expand-chart .live-chart-container[data-v-18b86d76],.live-grid.expand-diagram .flow-diagram-container[data-v-18b86d76]{z-index:10}.flow-diagram-container[data-v-18b86d76],.live-chart-container[data-v-18b86d76],.live-stats-container[data-v-18b86d76]{transition:all .5s ease;min-width:0}.device-table-container[data-v-18b86d76],.empty-container[data-v-18b86d76]{height:100%;transition:all .5s ease;min-width:0;position:relative}.content-wrapper[data-v-18b86d76]{height:100%;width:100%;overflow:hidden}.flow-diagram-container[data-v-18b86d76],.live-chart-container[data-v-18b86d76],.live-stats-container[data-v-18b86d76]{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05);border:1px solid #eaeaea;position:relative;padding:4px;height:100%}.device-table-container[data-v-18b86d76]{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05);border:1px solid #eaeaea;position:relative;padding:16px;display:flex;flex-direction:column}.expand-btn[data-v-18b86d76]{position:absolute;top:10px;right:10px;z-index:20;background:hsla(0,0%,100%,.8);border:1px solid rgba(0,0,0,.1);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#666;opacity:0;transition:all .2s ease}.device-table-container:hover .expand-btn[data-v-18b86d76],.flow-diagram-container:hover .expand-btn[data-v-18b86d76],.live-chart-container:hover .expand-btn[data-v-18b86d76]{opacity:1}.expand-btn[data-v-18b86d76]:hover{background:#fff;color:#333;box-shadow:0 2px 4px rgba(0,0,0,.1)}@media (max-width:1400px){.live-grid[data-v-18b86d76]{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;height:auto}.live-stats-container[data-v-18b86d76]{grid-column:1/2}.flow-diagram-container[data-v-18b86d76]{grid-column:2/3;height:350px}.live-chart-container[data-v-18b86d76]{grid-column:1/-1;height:350px}}@media (max-width:768px){.overview-page[data-v-18b86d76]{padding:var(--space-2)}.devices-section[data-v-18b86d76]:not(.hidden-section),.live-section[data-v-18b86d76]:not(.hidden-section){max-height:none;overflow:visible}.section-title[data-v-18b86d76]{font-size:var(--font-size-lg)}.device-grid[data-v-18b86d76],.live-grid[data-v-18b86d76]{grid-template-columns:1fr;grid-template-rows:auto;height:auto}.device-table-container[data-v-18b86d76],.empty-container[data-v-18b86d76],.flow-diagram-container[data-v-18b86d76],.live-chart-container[data-v-18b86d76],.live-stats-container[data-v-18b86d76]{grid-column:1/-1;height:300px}.live-stats-container[data-v-18b86d76]{height:auto}.expand-btn[data-v-18b86d76]{display:none}}.device-grid[data-v-18b86d76]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:stretch;min-height:350px;transition:all .5s cubic-bezier(.4,0,.2,1)}.device-grid.expand-devices[data-v-18b86d76]{grid-template-columns:1fr 0fr;gap:0}.device-grid.expand-devices .empty-container[data-v-18b86d76]{opacity:0;pointer-events:none;padding:0;margin:0;overflow:hidden}.device-grid.expand-devices .device-table-container[data-v-18b86d76]{width:100%;z-index:10}.loading-overlay[data-v-18b86d76]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);min-height:200px}.spinner[data-v-18b86d76]{width:40px;height:40px;border:4px solid var(--color-background);border-top:4px solid var(--color-primary);border-radius:var(--radius-full);animation:spin-18b86d76 1s linear infinite;margin-bottom:var(--space-4)}.loading-text[data-v-18b86d76]{color:var(--color-text-secondary)}@keyframes spin-18b86d76{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message[data-v-18b86d76]{color:var(--color-danger);text-align:center;padding:var(--space-4);margin-bottom:var(--space-4);background:#f8d7da;border-radius:var(--radius-sm)}.external-data-container[data-v-79429150]{padding:var(--space-4) 0}.chart-wrapper[data-v-79429150]{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);min-width:0}.loading-overlay[data-v-79429150]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);min-height:200px}.spinner[data-v-79429150]{width:40px;height:40px;border:4px solid var(--color-background);border-top:4px solid var(--color-primary);border-radius:var(--radius-full);animation:spin-79429150 1s linear infinite;margin-bottom:var(--space-4)}.loading-text[data-v-79429150]{color:var(--color-text-secondary)}@keyframes spin-79429150{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message[data-v-79429150]{color:var(--color-danger);text-align:center;padding:var(--space-4);margin-bottom:var(--space-4);background:#f8d7da;border-radius:var(--radius-sm)}.no-data[data-v-79429150]{text-align:center;padding:var(--space-6);color:var(--color-text-secondary);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.chart-tabs[data-v-64764a48]{width:100%;margin:0 auto}.tabs[data-v-64764a48]{display:flex;gap:var(--space-5);margin-bottom:var(--space-3);justify-content:flex-start;border-bottom:1px solid var(--color-border);padding:0 var(--space-4)}.tab-button[data-v-64764a48]{padding:var(--space-3) var(--space-2);border:none;background:transparent;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);position:relative;transition:color var(--transition-slow)}.tab-button[data-v-64764a48]:hover{color:var(--color-text-primary)}.tab-button.active[data-v-64764a48]{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.tab-indicator[data-v-64764a48]{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:transparent;transition:background-color var(--transition-slow)}.tab-button.active .tab-indicator[data-v-64764a48]{background:var(--color-text-primary)}.tab-content[data-v-64764a48]{padding:0 var(--space-4)}@media (max-width:768px){.tabs[data-v-64764a48]{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:var(--space-2);padding:0 var(--space-2)}.tabs[data-v-64764a48]::-webkit-scrollbar{display:none}.tab-button[data-v-64764a48]{white-space:nowrap;flex-shrink:0;font-size:var(--font-size-xs);padding:var(--space-2) var(--space-2)}.tab-content[data-v-64764a48]{padding:0 var(--space-2)}}.insights-list[data-v-5c0f0f3a]{width:100%;min-height:400px;display:flex;flex-direction:column}.error-state[data-v-5c0f0f3a],.loading-state[data-v-5c0f0f3a]{text-align:center;padding:var(--space-6);color:var(--color-text-secondary)}.error-state[data-v-5c0f0f3a]{color:var(--color-danger)}.empty-state[data-v-5c0f0f3a]{text-align:center;padding:var(--space-6);color:var(--color-text-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.empty-icon[data-v-5c0f0f3a]{font-size:48px;margin-bottom:var(--space-4)}.empty-state h3[data-v-5c0f0f3a]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);color:var(--color-text-primary)}.empty-state p[data-v-5c0f0f3a]{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.empty-state .hint[data-v-5c0f0f3a]{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-3)}.insights-content[data-v-5c0f0f3a]{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.insight-card[data-v-5c0f0f3a]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);transition:all .2s}.insight-card[data-v-5c0f0f3a]:hover{box-shadow:var(--shadow-sm)}.insight-header[data-v-5c0f0f3a]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.insight-title[data-v-5c0f0f3a]{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--color-text-primary)}.meter-id[data-v-5c0f0f3a]{font-weight:var(--font-weight-medium);color:var(--color-text-primary);display:inline-block;margin-bottom:3px}.severity-badge[data-v-5c0f0f3a]{font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--radius-full);text-transform:uppercase;font-weight:700}.severity-badge.high[data-v-5c0f0f3a]{background-color:#fee2e2;color:var(--color-danger)}.severity-badge.medium[data-v-5c0f0f3a]{background-color:#fef3c7;color:#d97706}.severity-badge.info[data-v-5c0f0f3a],.severity-badge.low[data-v-5c0f0f3a]{background-color:#e0f2fe;color:var(--color-primary)}.insight-description[data-v-5c0f0f3a]{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-3);line-height:1.5}.insight-meta[data-v-5c0f0f3a]{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-2)}.insight-date[data-v-5c0f0f3a]{font-size:var(--font-size-xs);color:var(--color-text-muted)}.resolve-btn[data-v-5c0f0f3a]{background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:background-color .2s}.resolve-btn[data-v-5c0f0f3a]:hover:not(:disabled){background-color:var(--color-primary-hover)}.resolve-btn[data-v-5c0f0f3a]:disabled{background-color:#ccc;cursor:not-allowed}.meter-panel-selector[data-v-66b9bc03]{position:relative}.chips-container[data-v-66b9bc03]{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:6px;border:1px solid #d1d5e5;background:#fff;min-height:36px;align-items:center}.chip[data-v-66b9bc03]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:#eef2ff;font-size:11px;color:#374151}.chip-icon[data-v-66b9bc03]{font-size:10px}.chip button[data-v-66b9bc03]{border:none;background:transparent;font-size:12px;cursor:pointer;color:#6b7280;padding:0;line-height:1}.chip button[data-v-66b9bc03]:hover{color:#e5534b}.add-button[data-v-66b9bc03]{border:1px dashed #cbd2e6;border-radius:999px;padding:3px 10px;font-size:11px;color:#4b5563;background:#f9fafc;cursor:pointer}.add-button[data-v-66b9bc03]:hover{background:#eef2ff;border-color:#1571e6;color:#1571e6}.backdrop[data-v-66b9bc03]{position:fixed;inset:0;z-index:99}.dropdown[data-v-66b9bc03]{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #e1e5f0;border-radius:8px;box-shadow:0 4px 16px rgba(15,23,42,.15);z-index:100;max-height:300px;display:flex;flex-direction:column}.dropdown-header[data-v-66b9bc03]{padding:8px;border-bottom:1px solid #edf0f7}.search-input[data-v-66b9bc03]{width:100%;padding:6px 8px;border:1px solid #d1d5e5;border-radius:4px;font-size:13px;outline:none}.search-input[data-v-66b9bc03]:focus{border-color:#1571e6}.dropdown-content[data-v-66b9bc03]{flex:1;overflow-y:auto;padding:4px 0}.section[data-v-66b9bc03]{padding:4px 0}.section-title[data-v-66b9bc03]{padding:4px 12px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.option-item[data-v-66b9bc03]{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;font-size:13px}.option-item[data-v-66b9bc03]:hover{background:#f4f6fb}.option-item input[type=checkbox][data-v-66b9bc03]{margin:0}.option-icon[data-v-66b9bc03]{font-size:12px}.option-name[data-v-66b9bc03]{flex:1;color:#333}.empty-state[data-v-66b9bc03],.loading-state[data-v-66b9bc03]{padding:16px;text-align:center;font-size:13px;color:#6b7280}.dropdown-footer[data-v-66b9bc03]{padding:8px;border-top:1px solid #edf0f7;text-align:right}.btn[data-v-66b9bc03]{border-radius:6px;padding:6px 12px;font-size:12px;border:1px solid transparent;cursor:pointer;font-family:inherit}.btn-secondary[data-v-66b9bc03]{background:#fff;border-color:#d1d5e5;color:#4b5563}.btn-secondary[data-v-66b9bc03]:hover{background:#f9fafc}.btn-sm[data-v-66b9bc03]{padding:4px 10px;font-size:11px}.modal-backdrop[data-v-5bdce206]{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,hsla(0,0%,100%,.04),transparent 55%),rgba(15,23,42,.75);padding:16px;z-index:1000}.modal-card[data-v-5bdce206]{background:#fff;border-radius:12px;width:760px;max-width:100%;max-height:90vh;box-shadow:0 24px 60px rgba(15,23,42,.6);display:flex;flex-direction:column;border:1px solid #e1e5f0}.modal-header[data-v-5bdce206]{padding:14px 18px 8px;border-bottom:1px solid #edf0f7;display:flex;align-items:center;justify-content:space-between}.modal-title[data-v-5bdce206]{font-size:17px;font-weight:600;color:#111827}.modal-close[data-v-5bdce206]{border:none;background:transparent;font-size:20px;cursor:pointer;color:#6b7280;padding:4px 8px;line-height:1}.modal-close[data-v-5bdce206]:hover{color:#111}.modal-body[data-v-5bdce206]{padding:10px 18px 14px;overflow-y:auto;flex:1}.body-layout[data-v-5bdce206]{display:flex;gap:14px}.body-main[data-v-5bdce206]{flex:1.7}.body-side[data-v-5bdce206]{flex:1;display:flex;flex-direction:column;gap:10px}.form-grid[data-v-5bdce206]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.form-group[data-v-5bdce206]{display:flex;flex-direction:column;gap:4px;font-size:13px}.form-group.full-width[data-v-5bdce206]{grid-column:1/-1}label[data-v-5bdce206]{font-weight:500;color:#111827;display:flex;align-items:center;gap:4px;font-size:13px}.required[data-v-5bdce206]{color:#e5534b}input[type=number][data-v-5bdce206],input[type=text][data-v-5bdce206],select[data-v-5bdce206],textarea[data-v-5bdce206]{font-family:inherit;font-size:13px;border-radius:6px;border:1px solid #d1d5e5;padding:7px 8px;outline:none;background:#fff}input[type=number][data-v-5bdce206]:focus,input[type=text][data-v-5bdce206]:focus,select[data-v-5bdce206]:focus,textarea[data-v-5bdce206]:focus{border-color:#1571e6;box-shadow:0 0 0 1px rgba(21,113,230,.15)}.input-error[data-v-5bdce206]{border-color:#e5534b!important}.error-text[data-v-5bdce206]{font-size:11px;color:#e5534b}textarea[data-v-5bdce206]{resize:vertical;min-height:50px}.inline-inputs[data-v-5bdce206]{display:flex;gap:6px;align-items:center}.inline-inputs .inline-small[data-v-5bdce206],.inline-inputs input[type=number][data-v-5bdce206]{flex:0 0 100px;max-width:100px}.unit-label[data-v-5bdce206]{font-size:13px;color:#666}.chips-input[data-v-5bdce206]{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:6px;border:1px solid #d1d5e5;background:#fff;min-height:36px}.chips-input input[data-v-5bdce206]{border:none;outline:none;min-width:150px;flex:1;padding:3px 4px;font-size:13px}.chip[data-v-5bdce206]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:#eef2ff;font-size:11px;color:#374151}.chip button[data-v-5bdce206]{border:none;background:transparent;font-size:12px;cursor:pointer;color:#6b7280;padding:0;line-height:1}.chip button[data-v-5bdce206]:hover{color:#e5534b}.severity-options[data-v-5bdce206]{display:flex;gap:8px;flex-wrap:wrap}.severity-pill[data-v-5bdce206]{border-radius:999px;padding:4px 9px;font-size:11px;font-weight:500;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:4px;background:#f4f5fb;color:#4b5563}.severity-pill input[data-v-5bdce206]{margin-right:2px}.severity-pill.selected[data-v-5bdce206]{outline:2px solid #1571e6;outline-offset:1px}.sev-critical[data-v-5bdce206]{background:#ffe5e3;border-color:#f3b1aa;color:#b91c1c}.sev-warning[data-v-5bdce206]{background:#fff3d9;border-color:#facc6b;color:#92400e}.sev-info[data-v-5bdce206]{background:#e5f4ff;border-color:#93c5fd;color:#1d4ed8}.toggle-row[data-v-5bdce206]{display:flex;align-items:center;gap:6px;font-size:13px}.toggle-row label[data-v-5bdce206]{font-weight:400}.side-card[data-v-5bdce206]{border-radius:8px;border:1px solid #e1e5f0;background:#f9fafc;padding:8px 9px;font-size:12px}.side-title[data-v-5bdce206]{font-size:12px;font-weight:600;color:#111827;margin-bottom:4px}.side-card small[data-v-5bdce206]{font-size:11px;color:#6b7280;line-height:1.5}.preview-box[data-v-5bdce206]{border-radius:6px;border:1px solid #dce2f3;background:#f7f9ff;padding:6px 8px;white-space:pre-line;font-size:11px;font-family:monospace;line-height:1.5;min-height:80px}.preview-placeholder[data-v-5bdce206]{color:#9ca3af;font-style:italic}.modal-footer[data-v-5bdce206]{padding:8px 18px 12px;border-top:1px solid #edf0f7;display:flex;justify-content:flex-end;gap:8px}.btn[data-v-5bdce206]{border-radius:6px;padding:7px 16px;font-size:13px;border:1px solid transparent;cursor:pointer;font-family:inherit}.btn[data-v-5bdce206]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-5bdce206]{background:#fff;border-color:#d1d5e5;color:#4b5563}.btn-secondary[data-v-5bdce206]:hover:not(:disabled){background:#f9fafc}.btn-primary[data-v-5bdce206]{background:#1571e6;border-color:#1571e6;color:#fff}.btn-primary[data-v-5bdce206]:hover:not(:disabled){background:#1260c7}@media (max-width:780px){.modal-card[data-v-5bdce206]{width:100%;max-height:100vh}.body-layout[data-v-5bdce206]{flex-direction:column}.body-side[data-v-5bdce206]{order:-1}.form-grid[data-v-5bdce206]{grid-template-columns:1fr}.form-group.full-width[data-v-5bdce206]{grid-column:1/-1}}.insights-rules[data-v-1b4d8db2]{width:100%}.rules-header[data-v-1b4d8db2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.rules-title[data-v-1b4d8db2]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;color:var(--color-text-dark)}.rules-subtitle[data-v-1b4d8db2]{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:var(--space-1) 0 0}.btn[data-v-1b4d8db2]{border-radius:var(--radius-md);border:none;padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);font-family:inherit}.btn-primary[data-v-1b4d8db2]{background:var(--color-primary);color:#fff}.btn-primary[data-v-1b4d8db2]:hover{background:var(--color-primary-hover)}.btn-secondary[data-v-1b4d8db2]{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.btn-danger[data-v-1b4d8db2]{background:var(--color-danger);color:#fff}.btn-danger[data-v-1b4d8db2]:hover{background:var(--color-danger-hover)}.btn-danger[data-v-1b4d8db2]:disabled{opacity:.6;cursor:not-allowed}.empty-state[data-v-1b4d8db2],.error-state[data-v-1b4d8db2],.loading-state[data-v-1b4d8db2]{text-align:center;padding:var(--space-6);color:var(--color-text-secondary)}.empty-icon[data-v-1b4d8db2]{font-size:48px;margin-bottom:var(--space-4)}.empty-state h3[data-v-1b4d8db2]{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);color:var(--color-text-primary)}.empty-state p[data-v-1b4d8db2]{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.rules-table-wrapper[data-v-1b4d8db2]{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden}.rules-table[data-v-1b4d8db2]{width:100%;border-collapse:collapse;font-size:var(--font-size-xs)}.rules-table td[data-v-1b4d8db2],.rules-table th[data-v-1b4d8db2]{padding:var(--space-3) var(--space-2);text-align:left}.rules-table thead[data-v-1b4d8db2]{background:var(--color-background)}.rules-table th[data-v-1b4d8db2]{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.rules-table tbody tr[data-v-1b4d8db2]:nth-child(2n){background:var(--color-background)}.rules-table tbody tr[data-v-1b4d8db2]:nth-child(odd){background:var(--color-surface)}.rules-table td[data-v-1b4d8db2]{border-bottom:1px solid var(--color-border-light);vertical-align:middle}.tag[data-v-1b4d8db2]{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:11px;background:#eef2fb;color:#415287}.severity-pill[data-v-1b4d8db2]{padding:3px var(--space-2);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-semibold);display:inline-flex;align-items:center;gap:var(--space-1)}.sev-critical[data-v-1b4d8db2]{background:#ffe5e3;color:#c63b36}.sev-warning[data-v-1b4d8db2]{background:#fff3d9;color:#c57a15}.sev-info[data-v-1b4d8db2]{background:#e5f4ff;color:#306fb4}.dot[data-v-1b4d8db2]{width:8px;height:8px;border-radius:var(--radius-full);display:inline-block}.dot-red[data-v-1b4d8db2]{background:#e5534b}.dot-yellow[data-v-1b4d8db2]{background:#ffb443}.dot-blue[data-v-1b4d8db2]{background:#4e8ad9}.description-cell[data-v-1b4d8db2]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary)}.action-buttons[data-v-1b4d8db2]{display:flex;gap:var(--space-1)}.btn-icon[data-v-1b4d8db2]{width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;cursor:pointer;font-size:var(--font-size-sm);display:inline-flex;align-items:center;justify-content:center}.btn-icon[data-v-1b4d8db2]:hover{background:var(--color-background);border-color:var(--color-border)}.modal-overlay[data-v-1b4d8db2]{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.confirm-dialog[data-v-1b4d8db2]{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-5);max-width:400px;width:90%;box-shadow:var(--shadow-lg)}.confirm-dialog h3[data-v-1b4d8db2]{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2)}.confirm-dialog p[data-v-1b4d8db2]{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-5)}.confirm-actions[data-v-1b4d8db2]{display:flex;gap:var(--space-2);justify-content:flex-end}.chart-tabs[data-v-365efdd4]{width:100%;margin:0 auto}.tabs[data-v-365efdd4]{display:flex;gap:var(--space-6);margin-bottom:var(--space-4);justify-content:flex-start;border-bottom:1px solid var(--color-border);padding:0 var(--space-4)}.tab-button[data-v-365efdd4]{padding:var(--space-4) var(--space-2);border:none;background:transparent;cursor:pointer;font-size:var(--font-size-base);color:var(--color-text-secondary);position:relative;transition:color var(--transition-slow)}.tab-button[data-v-365efdd4]:hover{color:var(--color-text-primary)}.tab-button.active[data-v-365efdd4]{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.tab-indicator[data-v-365efdd4]{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:transparent;transition:background-color var(--transition-slow)}.tab-button.active .tab-indicator[data-v-365efdd4]{background:var(--color-text-primary)}.tab-content[data-v-365efdd4]{padding:0 var(--space-4)}.error-state[data-v-3977c0e7]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-4);color:var(--color-text-secondary)}.error-state i[data-v-3977c0e7]{font-size:48px;color:var(--color-danger)}.error-state p[data-v-3977c0e7]{color:var(--color-danger)}.reports-page[data-v-1f16c216]{padding:var(--space-2);height:calc(100vh - 120px);display:flex;flex-direction:column;gap:var(--space-2);overflow:hidden}.report-controls[data-v-1f16c216]{display:flex;gap:var(--space-6);padding:var(--space-2);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center}.control-group[data-v-1f16c216]{display:flex;align-items:center;gap:var(--space-3)}.control-group label[data-v-1f16c216]{font-weight:500;color:var(--color-text-secondary)}.period-select[data-v-1f16c216]{width:200px}.report-container[data-v-1f16c216]{flex:1;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;position:relative;min-height:0}.empty-state[data-v-1f16c216]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-4);color:var(--color-text-secondary)}.report-content[data-v-1f16c216]{width:100%;height:100%;overflow:auto;padding:var(--space-4)}.general-settings[data-v-ab1fe0f0]{padding:var(--space-4);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-6)}.settings-section[data-v-ab1fe0f0]{padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border-light)}.settings-section[data-v-ab1fe0f0]:last-child{border-bottom:none}.settings-section h3[data-v-ab1fe0f0]{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-dark);margin:0 0 var(--space-4) 0}.user-info[data-v-ab1fe0f0]{display:flex;align-items:center;gap:var(--space-3)}.user-icon[data-v-ab1fe0f0]{font-size:var(--font-size-3xl);color:var(--color-text-secondary)}.user-name[data-v-ab1fe0f0]{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.section-header-flex[data-v-ab1fe0f0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.section-header-flex h3[data-v-ab1fe0f0]{margin-bottom:0}.add-rate-btn[data-v-ab1fe0f0]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-base)}.add-rate-btn[data-v-ab1fe0f0]:hover{background:var(--color-primary-hover)}.active-rate-card[data-v-ab1fe0f0]{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}.rate-status-container[data-v-ab1fe0f0]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.rate-status[data-v-ab1fe0f0]{display:flex;align-items:center;gap:var(--space-3)}.rate-actions[data-v-ab1fe0f0]{display:flex;gap:var(--space-2)}.delete-rate-btn[data-v-ab1fe0f0],.edit-rate-btn[data-v-ab1fe0f0]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.edit-rate-btn[data-v-ab1fe0f0]{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary)}.edit-rate-btn[data-v-ab1fe0f0]:hover{background:var(--color-primary);color:#fff}.delete-rate-btn[data-v-ab1fe0f0]{background:var(--color-surface);color:var(--color-danger);border:1px solid var(--color-danger)}.delete-rate-btn[data-v-ab1fe0f0]:hover{background:var(--color-danger);color:#fff}.status-badge.active[data-v-ab1fe0f0]{background:#d4edda;color:#28a745;padding:var(--space-1) var(--space-3);border-radius:999px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px}.validity[data-v-ab1fe0f0]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.rate-grid[data-v-ab1fe0f0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.rate-item[data-v-ab1fe0f0]{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);background:var(--color-background);border-radius:var(--radius-md)}.rate-label[data-v-ab1fe0f0]{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.rate-value[data-v-ab1fe0f0]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.no-rate-card[data-v-ab1fe0f0]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:#f8f9fa;border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-style:italic}.status-badge.inactive[data-v-ab1fe0f0]{background:#f8f9fa;color:#6c757d;padding:var(--space-1) var(--space-3);border-radius:999px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--color-border)}.rates-list[data-v-ab1fe0f0]{display:flex;flex-direction:column;gap:var(--space-4)}.new-rate-form[data-v-ab1fe0f0]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-top:var(--space-4);box-shadow:var(--shadow-md)}.new-rate-form h4[data-v-ab1fe0f0]{margin-top:0;margin-bottom:var(--space-5);font-size:var(--font-size-lg);color:var(--color-text-primary)}.sub-heading[data-v-ab1fe0f0]{margin:var(--space-5) 0 var(--space-3) 0;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.form-row[data-v-ab1fe0f0]{display:flex;gap:var(--space-5);margin-bottom:var(--space-4)}.form-group[data-v-ab1fe0f0]{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.form-group label[data-v-ab1fe0f0]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-group input[data-v-ab1fe0f0]{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:border-color var(--transition-base)}.form-group input[data-v-ab1fe0f0]:focus{outline:none;border-color:var(--color-primary)}.input-with-unit[data-v-ab1fe0f0]{position:relative;display:flex;align-items:center}.input-with-unit input[data-v-ab1fe0f0]{width:100%;padding-right:var(--space-6)}.input-with-unit .unit[data-v-ab1fe0f0]{position:absolute;right:var(--space-3);color:var(--color-text-secondary)}.form-error-message[data-v-ab1fe0f0]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);margin-top:var(--space-4);background:#fff3cd;color:#856404;border-radius:var(--radius-md);font-size:var(--font-size-sm)}.input-with-currency[data-v-ab1fe0f0]{position:relative;display:flex;align-items:center}.input-with-currency input[data-v-ab1fe0f0]{width:100%;padding:var(--space-3);padding-right:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:border-color var(--transition-base)}.input-with-currency input[data-v-ab1fe0f0]:focus{outline:none;border-color:var(--color-primary)}.currency[data-v-ab1fe0f0]{position:absolute;right:var(--space-3);color:var(--color-text-secondary)}.maintenance-grid[data-v-ab1fe0f0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-4)}.maintenance-item[data-v-ab1fe0f0]{border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);transition:transform var(--transition-base);border:1px solid var(--color-border-light)}.maintenance-item[data-v-ab1fe0f0]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.device-name[data-v-ab1fe0f0]{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;word-break:break-word}.error-message[data-v-ab1fe0f0],.loading-message[data-v-ab1fe0f0]{text-align:center;padding:var(--space-4);color:var(--color-text-secondary)}.error-message[data-v-ab1fe0f0]{color:var(--color-danger)}.form-actions[data-v-ab1fe0f0]{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-5);margin-top:var(--space-5);border-top:1px solid var(--color-border-light)}.cancel-button[data-v-ab1fe0f0]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-base)}.cancel-button[data-v-ab1fe0f0]:hover{background:var(--color-background)}.save-button[data-v-ab1fe0f0]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:none;background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-base)}.save-button[data-v-ab1fe0f0]:hover:not(:disabled){background:var(--color-primary-hover)}.save-button[data-v-ab1fe0f0]:disabled{opacity:.6;cursor:not-allowed}.mdi-spin[data-v-ab1fe0f0]{animation:spin-ab1fe0f0 1s linear infinite}@keyframes spin-ab1fe0f0{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.general-settings[data-v-ab1fe0f0]{padding:var(--space-2)}.form-row[data-v-ab1fe0f0]{flex-direction:column;gap:var(--space-4)}.maintenance-grid[data-v-ab1fe0f0]{grid-template-columns:1fr}}.settings-table-container[data-v-a5c0c0c2]{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden}[data-v-a5c0c0c2] .el-table th.el-table__cell{background-color:#f8f9fa;color:#606266;font-weight:var(--font-weight-semibold);text-transform:uppercase;font-size:var(--font-size-xs)}[data-v-a5c0c0c2] .el-table .el-button--small{padding:var(--space-1)}.settings-modal[data-v-d7f9c5e6] .el-dialog__header{margin-right:0;border-bottom:1px solid #f0f0f0;padding:var(--space-2)}.settings-modal[data-v-d7f9c5e6] .el-dialog__body{padding:var(--space-2)}.settings-modal[data-v-d7f9c5e6] .el-dialog__footer{border-top:1px solid #f0f0f0;padding:var(--space-2)}.section-header[data-v-47f21d4c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.section-header h4[data-v-47f21d4c]{margin:0;color:var(--color-text-primary);font-size:var(--font-size-base)}.header-actions[data-v-47f21d4c]{display:flex;align-items:center;gap:var(--space-3)}.results-container[data-v-47f21d4c]{margin-top:var(--space-2)}.loading-state[data-v-19acee9a]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px}.progress-text[data-v-19acee9a]{margin-top:20px;color:#606266;font-size:1.1rem}.error-state[data-v-19acee9a]{text-align:center;padding:20px}.insights-dashboard[data-v-19acee9a]{padding:10px}.summary-cards[data-v-19acee9a]{display:flex;justify-content:space-between;gap:15px;margin-bottom:20px}.summary-card[data-v-19acee9a]{flex:1;background:#fff;border:1px solid #ebeef5;border-radius:8px;padding:15px;text-align:center;box-shadow:0 2px 4px rgba(0,0,0,.02)}.card-label[data-v-19acee9a]{color:#909399;font-size:.85rem;margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.card-value[data-v-19acee9a]{font-size:1.5rem;font-weight:600;color:#303133}.text-success[data-v-19acee9a]{color:#67c23a}.text-warning[data-v-19acee9a]{color:#e6a23c}.text-danger[data-v-19acee9a]{color:#f56c6c}.warning[data-v-19acee9a]{color:#e6a23c}.danger[data-v-19acee9a]{color:#f56c6c}.dashboard-grid[data-v-19acee9a]{display:flex;gap:20px;height:450px}.grid-section[data-v-19acee9a]{background:#fff;border-radius:4px;display:flex;flex-direction:column}.grid-section h4[data-v-19acee9a]{margin:0 0 10px 0;color:#606266;font-size:1rem}.main-table[data-v-19acee9a]{flex:2}.side-stats[data-v-19acee9a]{flex:1;border-left:1px solid #ebeef5;padding-left:20px;overflow-y:auto}.field-item[data-v-19acee9a]{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f2f5;font-size:.9rem}.field-name[data-v-19acee9a]{color:#606266;font-family:monospace}.field-count[data-v-19acee9a]{font-weight:600;color:#f56c6c}.text-muted[data-v-19acee9a]{color:#909399;font-style:italic;font-size:.85rem}.meters-settings-v2[data-v-003d06de]{padding:var(--space-5)}.page-header[data-v-003d06de]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.page-header h3[data-v-003d06de]{margin:0 0 var(--space-1) 0;font-size:var(--font-size-xl);color:var(--color-text-dark)}.stats[data-v-003d06de]{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.meter-info[data-v-003d06de]{display:flex;flex-direction:column}.meter-name[data-v-003d06de]{font-weight:var(--font-weight-semibold);color:var(--color-text-dark)}.meter-id[data-v-003d06de]{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:monospace}.groups-tags-container[data-v-003d06de]{display:flex;flex-wrap:wrap;gap:4px}.group-tag[data-v-003d06de]{margin:1px 0}.text-muted[data-v-003d06de]{color:var(--color-text-muted);font-style:italic;font-size:var(--font-size-sm)}.port-value[data-v-003d06de]{font-weight:var(--font-weight-medium);color:var(--color-text-dark)}.color-display[data-v-003d06de]{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.color-circle[data-v-003d06de]{width:16px;height:16px;border-radius:var(--radius-full);border:2px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-border)}.color-name[data-v-003d06de]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.meter-form[data-v-003d06de]{padding:0 var(--space-3)}.form-row[data-v-003d06de]{display:flex;gap:var(--space-5);margin-bottom:var(--space-3)}.half-width[data-v-003d06de]{flex:1}.color-picker-container[data-v-003d06de]{display:flex;align-items:center;gap:var(--space-3)}.color-value[data-v-003d06de]{font-family:monospace;color:var(--color-text-secondary)}.section-divider[data-v-003d06de]{height:1px;background-color:var(--color-border-light);margin:var(--space-4) 0}.groups-settings-v2[data-v-9f02c99e]{padding:var(--space-5)}.page-header[data-v-9f02c99e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.page-header h3[data-v-9f02c99e]{margin:0 0 var(--space-1) 0;font-size:var(--font-size-xl);color:var(--color-text-dark)}.stats[data-v-9f02c99e]{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.color-display[data-v-9f02c99e],.stat-item[data-v-9f02c99e]{display:flex;align-items:center;gap:var(--space-2)}.color-display[data-v-9f02c99e]{justify-content:center}.color-circle[data-v-9f02c99e]{width:16px;height:16px;border-radius:var(--radius-full);border:2px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-border)}.chart-tabs[data-v-41cd81e2],.settings-page[data-v-41cd81e2]{width:100%;margin:0 auto}.tabs[data-v-41cd81e2]{display:flex;gap:var(--space-6);margin-bottom:var(--space-4);justify-content:flex-start;border-bottom:1px solid var(--color-border);padding:0 var(--space-4)}.tab-button[data-v-41cd81e2]{padding:var(--space-4) var(--space-2);border:none;background:transparent;cursor:pointer;font-size:var(--font-size-base);color:var(--color-text-secondary);position:relative;transition:color var(--transition-slow)}.tab-button[data-v-41cd81e2]:hover{color:var(--color-text-primary)}.tab-button.active[data-v-41cd81e2]{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.tab-indicator[data-v-41cd81e2]{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:transparent;transition:background-color var(--transition-slow)}.tab-button.active .tab-indicator[data-v-41cd81e2]{background:var(--color-text-primary)}.tab-content[data-v-41cd81e2]{padding:0 var(--space-4)}.tab-content[data-v-41cd81e2]>*{display:block}