.rank[data-v-0bbb7d16]{padding:0 32px 32px 72px;background:#fff;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:all .3s ease;min-height:620px}.rank[data-v-0bbb7d16]:hover{box-shadow:0 2px 8px rgba(0,0,0,.09)}.rank .title[data-v-0bbb7d16]{font-size:1.05rem;font-weight:700;color:rgba(0,0,0,.85);margin:16px 0;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.rank .list-container[data-v-0bbb7d16]{position:relative;overflow:hidden;border-radius:4px}.rank .no-data[data-v-0bbb7d16]{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;height:200px}.rank .list[data-v-0bbb7d16]{margin:0;padding:0;list-style:none}.rank .list .list-item[data-v-0bbb7d16]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin:12px 0;padding:8px 12px;border-radius:4px;transition:all .3s ease;animation:slideDown-0bbb7d16 .5s ease forwards;opacity:0;transform:translateY(-20px)}.rank .list .list-item[data-v-0bbb7d16]:hover{background-color:#f5f5f5}.rank .list .list-item .rank-number[data-v-0bbb7d16]{-ms-flex-negative:0;flex-shrink:0;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;font-size:12px;font-weight:600;margin-right:16px;background-color:#535c68;color:#fff;transition:all .3s ease}.rank .list .list-item .rank-number.active0[data-v-0bbb7d16]{background-color:#eb4d4b;transform:scale(1.1)}.rank .list .list-item .rank-number.active1[data-v-0bbb7d16]{background-color:#f0932b;transform:scale(1.05)}.rank .list .list-item .rank-number.active2[data-v-0bbb7d16]{background-color:coral}.rank .list .list-item .rank-number.active3[data-v-0bbb7d16]{background-color:#eccc68}.rank .list .list-item .rank-number.active4[data-v-0bbb7d16]{background-color:#f6e58d}.rank .list .list-item .name[data-v-0bbb7d16]{-ms-flex:1;flex:1;color:rgba(0,0,0,.85);font-size:14px;margin-right:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank .list .list-item .value[data-v-0bbb7d16]{-ms-flex-negative:0;flex-shrink:0;color:#1890ff;font-size:14px;font-weight:500}@keyframes slideDown-0bbb7d16{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.list-enter-active[data-v-0bbb7d16],.list-leave-active[data-v-0bbb7d16]{transition:all .5s ease}.list-enter[data-v-0bbb7d16],.list-leave-to[data-v-0bbb7d16]{opacity:0;transform:translateY(-20px)}.mobile .rank[data-v-0bbb7d16]{padding:0 32px 32px 32px}.chart-container[data-v-3a1f3508]{position:relative;width:100%;height:100%;padding:10px;background:#fff;min-height:300px;box-sizing:border-box}.ant-spin-container[data-v-3a1f3508],.ant-spin-nested-loading[data-v-3a1f3508]{height:100%}.dict-name-display[data-v-1b551613]{display:inline-block;width:100%;background-color:hsla(0,0%,100%,0);border:none;padding:0;margin:0;display:-ms-flexbox;display:flex}.name-text[data-v-1b551613]{display:inline-block;width:100%;word-break:break-all;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent;border:none;outline:none}.dict-name-display[data-v-1b551613]:empty:before{content:attr(data-placeholder);background-color:#fff;font-style:italic}.dashboard-container[data-v-8a065bda]{margin-top:10px;font-family:Inter,system-ui,sans-serif;min-height:100vh}.excel-download-btn[data-v-8a065bda]{background:#217346!important;border-color:#217346!important;color:#fff!important;transition:all .3s ease}.excel-download-btn[data-v-8a065bda]:hover{background:#1a5c37!important;border-color:#1a5c37!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 2px 8px rgba(33,115,70,.3)}.excel-download-btn[data-v-8a065bda]:active{background:#144d2c!important;border-color:#144d2c!important;transform:translateY(0)}.excel-download-btn[data-v-8a065bda]:focus{background:#217346!important;border-color:#217346!important;color:#fff!important}.excel-download-btn .anticon[data-v-8a065bda]{color:#fff!important}.metrics-grid[data-v-8a065bda]{display:-ms-grid;display:grid;-ms-grid-columns:(minmax(280px,1fr))[auto-fit];grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:24px}.metric-card[data-v-8a065bda]{background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);padding:20px;transition:all .3s ease}.metric-card[data-v-8a065bda]:hover{box-shadow:0 8px 30px rgba(0,0,0,.12);transform:translateY(-2px)}.metric-header[data-v-8a065bda]{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:start;align-items:flex-start;margin-bottom:16px}.metric-info[data-v-8a065bda]{-ms-flex:1;flex:1}.metric-label[data-v-8a065bda]{color:#6b7280;font-size:14px;margin-bottom:4px}.metric-value[data-v-8a065bda]{font-size:24px;font-weight:700;color:#1f2937;margin:0}.metric-icon[data-v-8a065bda]{width:40px;height:40px;border-radius:50%;background:rgba(22,93,255,.1);color:#165dff;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;transition:all .3s ease}.metric-card:hover .metric-icon[data-v-8a065bda]{background:#165dff;color:#fff}.metric-trend[data-v-8a065bda]{gap:8px}.metric-trend[data-v-8a065bda],.trend-indicator[data-v-8a065bda]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.trend-indicator[data-v-8a065bda]{gap:4px;font-size:14px;font-weight:500}.trend-indicator.up[data-v-8a065bda]{color:#dc2626}.trend-indicator.down[data-v-8a065bda]{color:#16a34a}.trend-indicator .anticon[data-v-8a065bda]{font-size:12px}.trend-label[data-v-8a065bda]{font-size:12px;color:#9ca3af}.charts-section[data-v-8a065bda]{display:-ms-grid;display:grid;-ms-grid-columns:1.8fr 1fr 1fr;grid-template-columns:1.8fr 1fr 1fr;gap:24px;margin-bottom:24px}.chart-card[data-v-8a065bda],.rank-card[data-v-8a065bda]{background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);padding:20px;transition:all .3s ease}.chart-card[data-v-8a065bda]:hover,.rank-card[data-v-8a065bda]:hover{box-shadow:0 8px 30px rgba(0,0,0,.12)}.chart-header[data-v-8a065bda]{-ms-flex-pack:justify;justify-content:space-between;margin-bottom:20px}.chart-header[data-v-8a065bda],.filter-controls[data-v-8a065bda]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.filter-controls[data-v-8a065bda]{gap:10px}.filter-controls .ant-date-picker[data-v-8a065bda],.filter-controls .ant-select[data-v-8a065bda]{margin-right:10px}.chart-title[data-v-8a065bda]{font-size:18px;font-weight:600;color:#1f2937;margin:0;width:fit-content;text-wrap:nowrap;margin-right:10px}.chart-legend[data-v-8a065bda]{display:-ms-flexbox;display:flex;gap:16px}.legend-item[data-v-8a065bda]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:6px}.legend-dot[data-v-8a065bda]{width:8px;height:8px;border-radius:50%}.legend-dot.current[data-v-8a065bda]{background:#165dff}.legend-dot.compare[data-v-8a065bda]{background:#d1d5db}.legend-text[data-v-8a065bda]{font-size:12px;color:#6b7280}.chart-container[data-v-8a065bda]{height:auto;min-height:320px}.project-rank-table[data-v-8a065bda]{overflow-x:auto;height:400px;overflow-y:auto}.project-rank-table table[data-v-8a065bda]{width:100%;border-collapse:collapse}.project-rank-table th[data-v-8a065bda]{padding:8px 12px;text-align:left;font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #f3f4f6;white-space:nowrap}.project-rank-table td[data-v-8a065bda]:first-child,.project-rank-table th[data-v-8a065bda]:first-child{min-width:150px;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-rank-table td[data-v-8a065bda]{padding:8px 12px;border-bottom:1px solid #f3f4f6;transition:background-color .2s ease;font-size:12px;white-space:nowrap}.project-rank-table tr:hover td[data-v-8a065bda]{background:#f9fafb}.project-rank-table .amount[data-v-8a065bda],.project-rank-table .comparison[data-v-8a065bda]{font-weight:500;color:#1f2937}.project-rank-table .comparison.positive[data-v-8a065bda]{color:#16a34a}.project-rank-table .comparison.negative[data-v-8a065bda]{color:#dc2626}.rank-title[data-v-8a065bda]{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 20px 0}.rank-list[data-v-8a065bda]{max-height:none;overflow-y:visible;height:400px;overflow-y:auto}.rank-list[data-v-8a065bda]::-webkit-scrollbar{display:none}.rank-item[data-v-8a065bda]{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;padding:8px;border-radius:8px;transition:background-color .2s ease;margin-bottom:10px}.rank-item[data-v-8a065bda]:hover{background:#ebebeb}.rank-info[data-v-8a065bda]{gap:12px}.rank-info[data-v-8a065bda],.rank-number[data-v-8a065bda]{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.rank-number[data-v-8a065bda]{width:24px;height:24px;border-radius:50%;color:#fff;font-size:12px;-ms-flex-pack:center;justify-content:center;font-weight:700}.rank-number.rank-1[data-v-8a065bda]{background:#dc2626}.rank-number.rank-2[data-v-8a065bda]{background:#ef4444}.rank-number.rank-3[data-v-8a065bda]{background:#f97316}.rank-number.rank-4[data-v-8a065bda]{background:#f59e0b}.rank-number.rank-5[data-v-8a065bda]{background:#eab308}.rank-number.rank-6[data-v-8a065bda]{background:#fbbf24}.rank-number.rank-7[data-v-8a065bda]{background:#f59e0b}.rank-number.rank-8[data-v-8a065bda]{background:#d97706}.rank-number.rank-9[data-v-8a065bda]{background:#b45309}.rank-number.rank-10[data-v-8a065bda]{background:#92400e}.rank-number.rank-other[data-v-8a065bda]{background:#d1d5db}.rank-name[data-v-8a065bda]{color:#374151;font-weight:500;transition:color .2s ease;font-weight:700}.rank-value[data-v-8a065bda]{font-weight:500;color:#1f2937;font-weight:700}.business-rank-section[data-v-8a065bda]{background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);padding:20px;transition:all .3s ease}.business-rank-section[data-v-8a065bda]:hover{box-shadow:0 8px 30px rgba(0,0,0,.12)}.business-rank-title[data-v-8a065bda]{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 20px 0}.business-rank-table[data-v-8a065bda]{overflow-x:auto;height:400px;overflow-y:auto}table[data-v-8a065bda]{width:100%;border-collapse:collapse}th[data-v-8a065bda]{text-align:left;font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}td[data-v-8a065bda],th[data-v-8a065bda]{padding:12px 16px;border-bottom:1px solid #f3f4f6}td[data-v-8a065bda]{transition:background-color .2s ease}tr:hover td[data-v-8a065bda]{background:#f9fafb}.amount[data-v-8a065bda]{font-weight:500;color:#1f2937}.detail-button[data-v-8a065bda]{color:#165dff;background:none;border:none;font-size:14px;cursor:pointer;transition:color .2s ease}.detail-button[data-v-8a065bda]:hover{color:rgba(22,93,255,.8)}@media (max-width:1024px){.charts-section[data-v-8a065bda]{-ms-grid-columns:1fr;grid-template-columns:1fr}}@media (max-width:768px){.dashboard-container[data-v-8a065bda]{padding:16px}.metrics-grid[data-v-8a065bda]{-ms-grid-columns:1fr;grid-template-columns:1fr}.metric-card[data-v-8a065bda]{padding:16px}.metric-value[data-v-8a065bda]{font-size:20px}.chart-container[data-v-8a065bda]{height:auto;min-height:250px}.rank-list[data-v-8a065bda]{max-height:none}}.loading-overlay[data-v-8a065bda]{position:absolute;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.9);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;z-index:10;border-radius:12px;backdrop-filter:blur(2px)}.loading-overlay p[data-v-8a065bda]{margin-top:12px;color:#6b7280;font-size:14px}.business-rank-section[data-v-8a065bda],.chart-card[data-v-8a065bda],.metric-card[data-v-8a065bda],.rank-card[data-v-8a065bda]{position:relative}@keyframes fadeIn-8a065bda{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.business-rank-section[data-v-8a065bda],.chart-card[data-v-8a065bda],.metric-card[data-v-8a065bda],.rank-card[data-v-8a065bda]{animation:fadeIn-8a065bda .5s ease-out}.consumption-chart-container[data-v-8a065bda]{background:#f9fafb;border-radius:8px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:all .3s ease}.consumption-chart-container[data-v-8a065bda]:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}.chart-loading-container[data-v-8a065bda]{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-height:500px;width:100%;background:linear-gradient(135deg,#f6f8fb,#fff);border-radius:8px;position:relative;overflow:hidden}.chart-loading-container[data-v-8a065bda]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(22,93,255,.05) 50%,transparent);animation:shimmer-8a065bda 2s infinite}.chart-loading-container.project-loading[data-v-8a065bda]{min-height:400px}.chart-loading-container.project-loading[data-v-8a065bda]:before{background:linear-gradient(90deg,transparent,rgba(20,184,166,.05) 50%,transparent)}.loading-text[data-v-8a065bda]{margin-top:20px;font-size:16px;color:#6b7280;font-weight:500;animation:pulse-8a065bda 1.5s ease-in-out infinite;z-index:1}.loading-progress[data-v-8a065bda]{width:200px;height:4px;background:#e5e7eb;border-radius:2px;margin-top:16px;overflow:hidden;position:relative;z-index:1}.progress-bar[data-v-8a065bda]{height:100%;background:linear-gradient(90deg,#165dff,#14b8a6);border-radius:2px;animation:progress-8a065bda 1.5s ease-in-out infinite}@keyframes shimmer-8a065bda{0%{left:-100%}to{left:100%}}@keyframes pulse-8a065bda{0%,to{opacity:1}50%{opacity:.5}}@keyframes progress-8a065bda{0%{width:0;margin-left:0}50%{width:70%;margin-left:15%}to{width:0;margin-left:100%}}.ant-modal-body[data-v-8a065bda]{max-height:80vh!important;overflow-y:auto!important}.ant-modal-content[data-v-8a065bda]{max-height:90vh!important;overflow:hidden!important}.ant-table-wrapper[data-v-8a065bda]{max-height:500px!important;overflow-y:auto!important}.ant-table-tbody[data-v-8a065bda]{max-height:400px!important;overflow-y:auto!important}.modal-content-wrapper[data-v-8a065bda]{min-height:600px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.consumption-chart-container[data-v-8a065bda]{-ms-flex-negative:0;flex-shrink:0;position:relative}.ant-table-container[data-v-8a065bda]{-ms-flex-negative:0;flex-shrink:0;min-height:500px}.chart-loading-overlay[data-v-8a065bda]{position:absolute;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.9);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;z-index:10;border-radius:8px}