@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&display=swap);.sidebar-container[data-v-712aba8a]{width:200px;background-color:#4a446b;color:#fff;display:flex;flex-direction:column;min-height:100%;height:auto;overflow-y:visible;flex-shrink:0;border-right:1px solid hsla(0,0%,100%,.05);transition:width .3s ease,background-color .3s ease,border-color .3s ease}.sidebar-container.collapsed[data-v-712aba8a]{width:64px}.sidebar-container.is-dark[data-v-712aba8a]{background-color:#1a1a1a!important;border-right:1px solid #333!important}.brand-area[data-v-712aba8a]{height:64px;display:flex;align-items:center;justify-content:center;padding:0 16px;border-bottom:1px solid hsla(0,0%,100%,.05);background:rgba(0,0,0,.1);cursor:pointer;position:relative}.brand-logo-wrap[data-v-712aba8a]{display:flex;align-items:center;justify-content:center;width:100%;margin-left:-16px;margin-top:-3px}.brand-logo-expanded[data-v-712aba8a]{height:54px;width:auto;display:block;filter:brightness(1.1) drop-shadow(0 0 .2px rgba(255,255,255,.7))}.sidebar-container.collapsed .brand-logo-wrap[data-v-712aba8a]{display:none}.collapse-toggle[data-v-712aba8a]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#aeb9e1;cursor:pointer;padding:6px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center;z-index:2}.sidebar-container.collapsed .collapse-toggle[data-v-712aba8a]{position:static;transform:none;margin:0 auto;font-size:16px;color:#fff}.collapse-toggle[data-v-712aba8a]:hover{background:hsla(0,0%,100%,.1);color:#fff}.sidebar-container.collapsed .brand-area[data-v-712aba8a]{justify-content:center;padding:0}.sidebar-container.is-dark .brand-area[data-v-712aba8a]{border-bottom:1px solid #333;background:hsla(0,0%,100%,.02)}.sidebar-container.collapsed .brand-logo-wrap[data-v-712aba8a]{gap:0}.sidebar-nav[data-v-712aba8a]{padding:16px 0}.nav-item[data-v-712aba8a]{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;cursor:pointer;color:#aeb9e1;transition:all .2s;font-size:14px;font-weight:500;white-space:nowrap;position:relative;overflow:hidden}.sidebar-container.collapsed .nav-item[data-v-712aba8a]{overflow:visible;padding:14px 0;justify-content:center}.nav-item[data-v-712aba8a]:hover{color:#fff;background:hsla(0,0%,100%,.05)}.nav-item.active[data-v-712aba8a]{color:#fff;background:rgba(118,99,200,.1);border-right:3px solid #7663c8}.sidebar-container.is-dark .nav-item[data-v-712aba8a]{color:#9ca3af}.sidebar-container.is-dark .nav-item[data-v-712aba8a]:hover{color:#fff;background:hsla(0,0%,100%,.05)}.sidebar-container.is-dark .nav-item.active[data-v-712aba8a]{color:#fff;background:rgba(118,99,200,.3);border-right:3px solid #7663c8}.nav-label[data-v-712aba8a]{display:flex;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis}.nav-text[data-v-712aba8a]{transition:opacity .2s}.icon-placeholder[data-v-712aba8a]{width:20px;text-align:center;opacity:.8;flex-shrink:0}.arrow-icon[data-v-712aba8a]{font-size:12px;transition:transform .3s;margin-left:4px;flex-shrink:0}.nav-item.open .arrow-icon[data-v-712aba8a]{transform:rotate(180deg)}.sub-nav[data-v-712aba8a]{overflow:hidden;transition:max-height .3s ease-in-out;background:rgba(0,0,0,.2)}.sidebar-container.is-dark .sub-nav[data-v-712aba8a]{background:rgba(0,0,0,.3)}.sub-link[data-v-712aba8a]{display:block;padding:10px 12px 10px 28px;color:#8b95b5;text-decoration:none;font-size:13px;transition:color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sub-link[data-v-712aba8a]:hover{color:#fff}.sub-link.active-link[data-v-712aba8a]{color:#c7b9ff;font-weight:600}.sidebar-container.is-dark .sub-link[data-v-712aba8a]{color:#6b7280}.sidebar-container.is-dark .sub-link[data-v-712aba8a]:hover{color:#fff}.sidebar-container.is-dark .sub-link.active-link[data-v-712aba8a]{color:#a78bfa}.section-title[data-v-712aba8a]{padding:8px 12px 8px 28px;font-size:11px;color:#666;text-transform:uppercase;font-weight:700;margin-top:4px}.flyout-menu[data-v-712aba8a]{position:absolute;left:100%;top:0;background:#fff;min-width:220px;border-radius:0 8px 8px 0;box-shadow:4px 4px 16px rgba(0,0,0,.15);padding:0;opacity:0;visibility:hidden;transform:translateX(-10px);transition:all .2s cubic-bezier(.25,.8,.25,1);z-index:9999;border:1px solid rgba(0,0,0,.05);pointer-events:none}.nav-item:hover .flyout-menu[data-v-712aba8a]{opacity:1;visibility:visible;transform:translateX(0);pointer-events:auto}.flyout-header[data-v-712aba8a]{background:var(--accent-primary,#7663c8);color:#fff;padding:12px 16px;font-weight:700;font-size:14px;border-radius:0 8px 0 0;cursor:pointer}.flyout-header.single-item[data-v-712aba8a]{border-radius:0 8px 8px 0}.flyout-body[data-v-712aba8a]{padding:8px 0;max-height:400px;overflow-y:auto;background:#fff;border-radius:0 0 8px 8px}.flyout-section[data-v-712aba8a]{display:flex;flex-direction:column}.flyout-section+.flyout-section[data-v-712aba8a]{margin-top:8px;border-top:1px solid rgba(0,0,0,.05);padding-top:8px}.flyout-section-title[data-v-712aba8a]{padding:4px 16px;font-size:11px;color:#999;font-weight:700;text-transform:uppercase;margin-bottom:2px}.flyout-link[data-v-712aba8a]{display:block;padding:8px 24px;color:#555;text-decoration:none;font-size:13px;transition:background .2s,color .2s}.flyout-link[data-v-712aba8a]:hover{background:rgba(118,99,200,.05);color:var(--accent-primary,#7663c8)}.flyout-link.active-flyout-link[data-v-712aba8a]{color:var(--accent-primary,#7663c8);font-weight:700;background:rgba(118,99,200,.1)}.sidebar-container.is-dark .flyout-menu[data-v-712aba8a]{background:#1f2937;border-color:hsla(0,0%,100%,.1);box-shadow:4px 4px 16px rgba(0,0,0,.4)}.sidebar-container.is-dark .flyout-header[data-v-712aba8a]{background:#374151;color:#fff}.sidebar-container.is-dark .flyout-body[data-v-712aba8a]{background:#1f2937}.sidebar-container.is-dark .flyout-section+.flyout-section[data-v-712aba8a]{border-top-color:hsla(0,0%,100%,.1)}.sidebar-container.is-dark .flyout-link[data-v-712aba8a]{color:#9ca3af}.sidebar-container.is-dark .flyout-link[data-v-712aba8a]:hover{background:hsla(0,0%,100%,.05);color:#fff}.sidebar-container.is-dark .flyout-link.active-flyout-link[data-v-712aba8a]{background:rgba(118,99,200,.3);color:#fff}.sidebar-footer[data-v-712aba8a]{margin-top:auto;padding:20px;border-top:1px solid hsla(0,0%,100%,.1);display:flex;flex-direction:column;gap:16px;background:transparent}.sidebar-container.is-dark .sidebar-footer[data-v-712aba8a]{border-top-color:hsla(0,0%,100%,.1);background:transparent}.footer-row[data-v-712aba8a]{display:flex;align-items:center}.theme-switch-bar[data-v-712aba8a]{display:flex;background:rgba(0,0,0,.2);border-radius:8px;padding:4px;width:100%}.theme-btn[data-v-712aba8a]{flex:1;border:none;background:transparent;color:#aeb9e1;padding:6px 0;border-radius:6px;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}.theme-btn.active[data-v-712aba8a]{background:#fff;color:#4a446b;font-weight:700;box-shadow:0 2px 4px rgba(0,0,0,.1)}.theme-btn[data-v-712aba8a]:not(.active):hover{color:#fff}.icon-row[data-v-712aba8a]{justify-content:space-around;padding:4px 0}.footer-icon-btn[data-v-712aba8a]{background:transparent;border:none;color:#aeb9e1;font-size:16px;cursor:pointer;padding:8px;border-radius:8px;position:relative;transition:all .2s}.footer-icon-btn[data-v-712aba8a]:hover{background:hsla(0,0%,100%,.1);color:#fff}.badge-dot[data-v-712aba8a]{position:absolute;top:6px;right:8px;width:6px;height:6px;background:#ff4d4d;border-radius:50%;border:1px solid #4a446b}.user-row[data-v-712aba8a]{margin-top:4px}.user-info-box[data-v-712aba8a]{width:100%;padding:10px;background:hsla(0,0%,100%,.05);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:6px;color:#fff;font-size:13px;transition:background .2s}.user-info-box[data-v-712aba8a]:hover{background:hsla(0,0%,100%,.1)}.greeting[data-v-712aba8a]{color:#aeb9e1;font-weight:400}.username[data-v-712aba8a]{font-weight:700;color:#fff}.top-header-wrapper{display:flex;flex-direction:column;padding:24px 40px 16px 24px;background:transparent}.header-content-row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.header-left-group{display:flex;align-items:center;gap:12px}.page-title{margin:0;font-size:24px;font-weight:700;color:var(--text-primary);line-height:1.2}.meta-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(118,99,200,.1);color:#7663c8;font-weight:600;font-size:12px}.meta-dot{width:6px;height:6px;border-radius:50%;background:#7663c8}.header-right-group{display:flex;align-items:center;gap:16px;padding-bottom:4px;flex-wrap:wrap;justify-content:flex-end}.breadcrumb-row{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#888}.crumb-divider{color:#ccc;font-size:11px}.breadcrumb-row strong{color:#444;font-weight:600}.weather-widget{display:inline-flex;align-items:center;gap:10px;padding:4px 10px;background:#fff;border:1px solid #eff0f6;border-radius:30px;box-shadow:0 2px 6px rgba(0,0,0,.03);min-height:28px}.weather-item{display:flex;align-items:center;gap:4px;font-size:12px;color:#555;font-weight:600}.weather-icon-image{width:18px;height:18px}.weather-icon{font-size:14px}.weather-icon.sun{color:#f2994a}.weather-icon.humidity{color:#5f6cff}.weather-divider{width:1px;height:12px;background:#e0e0e0}.auth-actions{display:inline-flex;align-items:center;gap:10px}.auth-user{font-size:13px;font-weight:700;color:var(--text-primary)}.logout-button{height:32px;padding:0 12px;border:1px solid #d7ddea;border-radius:999px;background:#fff;color:#344054;font-size:12px;font-weight:700;cursor:pointer}body.dark-mode .weather-widget{background:rgba(30,41,59,.6);border:1px solid hsla(0,0%,100%,.08);box-shadow:0 4px 12px rgba(0,0,0,.3)}body.dark-mode .weather-item{color:#cbd5e1}body.dark-mode .weather-divider{background:hsla(0,0%,100%,.1)}body.dark-mode .breadcrumb-row{color:#94a3b8}body.dark-mode .crumb-divider{color:hsla(0,0%,100%,.2)}body.dark-mode .auth-user,body.dark-mode .breadcrumb-row strong{color:#e2e8f0}body.dark-mode .logout-button{background:rgba(30,41,59,.6);border-color:hsla(0,0%,100%,.12);color:#e2e8f0}.view-stack-floating[data-v-410ccfd4]{position:fixed;right:20px;bottom:20px;z-index:1200;display:flex;align-items:flex-end}.view-stack-fab[data-v-410ccfd4]{border:0;border-radius:999px;background:#1d4ed8;color:#fff;font-size:13px;font-weight:700;padding:10px 14px;cursor:pointer;box-shadow:0 10px 24px rgba(29,78,216,.32)}.view-stack-count[data-v-410ccfd4]{margin-left:8px;border-radius:999px;background:hsla(0,0%,100%,.18);padding:2px 8px;font-size:11px}.view-stack-popup[data-v-410ccfd4]{position:absolute;right:0;bottom:calc(100% + 10px);width:min(380px,calc(100vw - 32px));max-height:min(50vh,420px);overflow:auto;border:1px solid rgba(15,23,42,.12);border-radius:12px;background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.18);padding:10px}.view-stack-popup-header[data-v-410ccfd4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:#334155;font-size:13px}.view-stack-actions[data-v-410ccfd4]{display:inline-flex;align-items:center;gap:6px}.view-stack-clear[data-v-410ccfd4]{border:1px solid rgba(220,38,38,.3);border-radius:8px;background:#fff5f5;color:#b91c1c;font-size:12px;padding:4px 8px;cursor:pointer}.view-stack-close[data-v-410ccfd4]{border:1px solid rgba(15,23,42,.16);border-radius:8px;background:#fff;color:#334155;font-size:12px;padding:4px 8px;cursor:pointer}.view-stack-list[data-v-410ccfd4]{display:flex;flex-wrap:wrap;gap:8px}.view-stack-chip[data-v-410ccfd4]{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(15,23,42,.12);background:#fff;border-radius:999px;padding:2px 6px 2px 10px}.view-stack-chip-link[data-v-410ccfd4]{border:0;background:transparent;color:#334155;font-size:12px;line-height:1;cursor:pointer;padding:4px 0}.view-stack-chip-remove[data-v-410ccfd4]{border:0;border-radius:999px;background:rgba(15,23,42,.08);color:#475569;font-size:11px;font-weight:700;cursor:pointer;width:18px;height:18px;line-height:18px;padding:0}.view-stack-chip.active[data-v-410ccfd4]{border-color:#2563eb}.view-stack-chip.active .view-stack-chip-link[data-v-410ccfd4]{color:#1d4ed8;font-weight:700}.view-stack-empty[data-v-410ccfd4]{font-size:12px;color:#94a3b8}.new-layout-container[data-v-301a790a]{display:flex;width:100vw;min-height:100%;height:100vh;overflow:hidden;position:relative;background:var(--bg-base)}.main-content-area[data-v-301a790a]{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;background:transparent}.page-content-wrapper[data-v-301a790a]{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;height:100%;background:var(--app-page-bg,var(--bg-base))}.global-nav,.global-nav-spacer{display:none!important}.page-content-wrapper[data-v-301a790a]>*{padding-top:0!important;padding-bottom:20px}.page-content-wrapper[data-v-301a790a]>*>:first-child{margin-top:0!important}[data-v-301a790a] .canvas,[data-v-301a790a] .supply-page{min-height:100%!important;height:auto!important;overflow:visible!important;width:100%}:root{--bg-base:#f3f4ff;--bg-haze-1:#ecebff;--bg-haze-2:#e6e3ff;--bg-edge:#dcd7ff;--surface-1:hsla(0,0%,100%,.6);--surface-2:hsla(0,0%,100%,.82);--surface-3:hsla(0,0%,100%,.96);--stroke-1:rgba(118,99,200,.2);--stroke-2:rgba(0,0,0,.08);--divider:rgba(15,16,24,.12);--shadow-1:0 14px 32px rgba(46,35,90,.12);--shadow-2:0 22px 50px rgba(46,35,90,.14);--blur-card:blur(14px);--accent-primary:#7663c8;--accent-secondary:#9786e4;--accent-highlight:#d5ceff;--text-primary:rgba(15,16,24,.92);--text-secondary:rgba(15,16,24,.62);--text-tertiary:rgba(15,16,24,.4);--status-up:#2cb67d;--status-down:#ff4d8d;--series-grid:#6d5bff;--series-solar:#8f82f5;--series-ess:#2cb67d;--series-fuel:#f2c94c}body.dark-mode{--bg-base:#0f1117;--bg-haze-1:#141a24;--bg-haze-2:#18202e;--bg-edge:#1d2536;--surface-1:rgba(22,27,38,.7);--surface-2:rgba(20,25,36,.84);--surface-3:rgba(18,22,32,.94);--stroke-1:hsla(0,0%,100%,.12);--stroke-2:hsla(0,0%,100%,.16);--divider:hsla(0,0%,100%,.12);--shadow-1:0 18px 40px rgba(0,0,0,.45);--shadow-2:0 28px 60px rgba(0,0,0,.5);--text-primary:rgba(238,242,255,.92);--text-secondary:rgba(200,208,224,.72);--text-tertiary:rgba(200,208,224,.48)}*{box-sizing:border-box}body{margin:0;font-family:Pretendard,Nanum Gothic,Malgun Gothic,Segoe UI,sans-serif;background:linear-gradient(180deg,var(--bg-base),var(--bg-haze-2) 45%,var(--bg-edge) 100%);color:var(--text-primary)}.canvas,body{min-height:100%}.canvas{width:100%;display:flex;flex-direction:column}.csv-export-button{border:1px solid var(--stroke-1);border-radius:999px;background:rgba(118,99,200,.08);color:var(--text-secondary);font-size:12px;font-weight:600;line-height:1;height:24px;padding:0 10px;cursor:pointer;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}.csv-export-button:hover{color:var(--text-primary)}.section-title:before{display:none!important}