@charset "UTF-8";:root .nrg-theme{--nrg-bg:var(--bg);--nrg-card:var(--card);--nrg-text:var(--text);--nrg-muted:color-mix(in srgb,var(--text),#0000 45%);--nrg-soft:color-mix(in srgb,var(--card),var(--bg) 50%);--nrg-border:var(--border);--nrg-shadow:var(--shadow);--nrg-green:#16a34a;--nrg-green-700:#15803d;--nrg-blue:#3b82f6;--nrg-amber:#f59e0b;--nrg-rose:#ef4444;--nrg-cyan:#22d3ee;--nrg-chip-bg:color-mix(in srgb,var(--nrg-card),var(--bg) 35%);--nrg-chip-border:var(--nrg-border);--nrg-bezel:color-mix(in srgb,var(--text),#0000 70%);--nrg-track:color-mix(in srgb,var(--text),#0000 85%)}[data-theme=dark] .nrg-theme{--nrg-chip-bg:color-mix(in srgb,var(--nrg-card),#000 20%)}.nrg-theme{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--nrg-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;min-height:100svh}#root,body,html{block-size:100%;margin:0;overflow-x:hidden;overflow-y:auto;padding:0}canvas,img,svg,video{block-size:auto;max-inline-size:100%}.dashboard{background:#0000;border-radius:10px;display:flex;flex-direction:column;inline-size:100%;margin:0 auto;overflow-x:clip;padding:clamp(12px,2vw,28px)}@media (max-width:380px){.dashboard{padding:10px}}.tab-wrapper{align-items:stretch;background:color-mix(in srgb,var(--nrg-green) 8%,#0000);border:1px solid color-mix(in srgb,var(--nrg-green) 30%,var(--nrg-border));border-radius:16px;box-shadow:var(--nrg-shadow);display:flex;gap:0;inline-size:100%;justify-content:space-between;margin:0 0 20px;padding:clamp(10px,1.4vw,16px) clamp(12px,2vw,22px)}.tab-section{align-items:center;background-color:initial;border-radius:12px;color:var(--nrg-text);cursor:pointer;display:flex;flex:1 1;font-size:clamp(16px,1.3vw,18px);font-weight:900;gap:10px;justify-content:center;padding:clamp(10px,1.3vw,16px);position:relative;transition:all .2s ease;white-space:nowrap}.tab-section:not(:last-child):after{background-color:color-mix(in srgb,var(--nrg-green) 35%,var(--nrg-border));content:"";height:56%;position:absolute;right:0;top:22%;width:1px}.tab-section.active{background:color-mix(in srgb,var(--nrg-green) 10%,var(--nrg-card));border:1px solid color-mix(in srgb,var(--nrg-green) 35%,var(--nrg-border));box-shadow:0 6px 18px color-mix(in srgb,var(--nrg-green) 25%,#0000);color:var(--nrg-green-700)}.controller-row{grid-gap:clamp(14px,1.4vw,22px);display:grid;gap:clamp(14px,1.4vw,22px);grid-template-columns:1fr 1fr;margin-bottom:16px}@media (max-width:1100px){.controller-row{grid-template-columns:1fr}}.controller-card{background:var(--nrg-card);border:1px solid var(--nrg-border);border-radius:12px;box-shadow:var(--nrg-shadow);padding:14px 16px;position:relative}.controller-card__header{border-bottom:1px dashed var(--nrg-border);justify-content:space-between;margin-bottom:8px;padding:6px 0 8px}.controller-card__header,.controller-card__title{align-items:center;display:flex;gap:10px}.controller-card__title h3{font-size:18px;line-height:1.15;margin:0}.controller-card__icon{color:var(--nrg-green);font-size:20px}.status-chip{font-weight:800;padding:6px 10px}.status-chip.running{background:var(--nrg-green)}.status-chip.stopped{background:var(--nrg-rose)}.set-mode-block{border-top:1px dashed var(--nrg-border);margin-top:8px;padding-top:8px}.controller-button-group{display:flex;gap:10px;margin-bottom:14px;margin-top:12px}.start-controller-button,.stop-controller-button{border:1px solid #0000;border-radius:10px;box-shadow:0 8px 18px #02061714;cursor:pointer;flex:1 1;font-size:14px;font-weight:900;min-width:120px;padding:10px 16px;transition:transform .05s ease,filter .15s ease}.start-controller-button{background:linear-gradient(180deg,var(--nrg-green),#18b357);color:#fff}.stop-controller-button{background:linear-gradient(180deg,#ef4444,#e11d48);color:#fff}.start-controller-button:hover,.stop-controller-button:hover{filter:brightness(.96)}.start-controller-button.is-running{background:linear-gradient(180deg,#86efac,#bbf7d0);border:1px solid #86efac;color:#065f46}.mode-select-wrapper{align-items:center;display:flex;gap:8px;margin-top:6px}.mode-select-wrapper button,.mode-select-wrapper select{border-radius:10px;font-size:14px;height:36px;padding:0 12px}.mode-select-wrapper select{background:var(--nrg-card);border:1px solid var(--nrg-border);color:var(--nrg-text);flex:1 1;min-width:140px}.mode-select-wrapper button{background:linear-gradient(180deg,var(--nrg-blue),#2563eb);border:none;color:#fff;cursor:pointer;font-weight:900;min-width:110px}.system-status-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}@media (max-width:900px){.system-status-grid{grid-template-columns:1fr}}.system-status-grid .status-card{background:var(--nrg-soft);border:1px solid var(--nrg-border);border-radius:12px;padding:12px 16px}.card-label{color:var(--nrg-muted);display:block;font-size:12px;font-weight:800;margin-bottom:4px}.card-value{align-items:center;color:var(--nrg-text);display:flex;font-size:16px;font-weight:900}.controller-log-buttons{display:flex;gap:10px;justify-content:center;margin-top:10px}.controller-log-buttons button{background:linear-gradient(180deg,var(--nrg-green),#2e915a);border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1 140px;font-weight:900;padding:10px 18px;transition:filter .15s ease}.controller-log-buttons button:hover{filter:brightness(.95)}.mode-flow{background:var(--nrg-card);border:1px solid var(--nrg-border);border-radius:12px;box-shadow:var(--nrg-shadow);margin-bottom:16px;padding:14px}.mode-flow__header{align-items:center;border-bottom:1px dashed var(--nrg-border);display:flex;justify-content:space-between;padding:2px 4px 10px}.mode-flow__header h3{font-weight:900;margin:0}.mode-flow__current{background:var(--nrg-chip-bg);border:1px solid var(--nrg-chip-border);border-radius:999px;font-size:11px;font-weight:800;padding:6px 10px}.mode-flow__current--green{background:var(--nrg-green);border:1px solid var(--nrg-green);box-shadow:0 6px 16px color-mix(in srgb,var(--nrg-green) 35%,#0000);color:#fff}.mode-flow__rail-wrap{margin-top:14px;overflow-x:auto;padding:18px 4px 2px;position:relative}.mode-flow__rail{border-radius:999px;border-top:4px dashed var(--nrg-border);height:0;left:4px;position:absolute;right:4px;top:38px;z-index:0}.mode-flow__steps{grid-gap:0;display:grid;gap:0;grid-auto-flow:column;grid-template-columns:repeat(5,minmax(120px,1fr));list-style:none;margin:0;padding:0;position:relative;z-index:2}.mode-flow__step{display:grid;justify-items:center;position:relative}.mode-flow__dot{background:var(--nrg-card);border:2px solid var(--nrg-border);border-radius:999px;color:var(--nrg-text);display:grid;font-size:20px;height:44px;place-items:center;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,background .15s ease;width:44px}.mode-flow__label{color:var(--nrg-text);font-weight:800;margin-top:8px;white-space:nowrap}.mode-flow__step--active .mode-flow__dot{background:color-mix(in srgb,var(--nrg-green) 18%,var(--nrg-card));background:color-mix(in srgb,var(--accent,var(--nrg-green)) 18%,var(--nrg-card));border-color:var(--accent,var(--nrg-green));box-shadow:0 6px 18px color-mix(in srgb,var(--nrg-green) 35%,#0000);box-shadow:0 6px 18px color-mix(in srgb,var(--accent,var(--nrg-green)) 35%,#0000);transform:scale(1.06)}.mode-flow__step--active .mode-flow__dot,.mode-flow__step--active .mode-flow__label{color:var(--nrg-green);color:var(--accent,var(--nrg-green))}.mode-flow__step:hover .mode-flow__dot{box-shadow:0 8px 20px color-mix(in srgb,var(--nrg-green) 25%,#0000);box-shadow:0 8px 20px color-mix(in srgb,var(--accent,var(--nrg-green)) 25%,#0000);transform:translateY(-2px)}@media (max-width:720px){.mode-flow__steps{grid-template-columns:repeat(5,minmax(100px,1fr))}}@media (max-width:520px){.mode-flow__steps{grid-template-columns:repeat(5,minmax(90px,1fr))}}.energy-panels{grid-gap:clamp(14px,1.4vw,24px);display:grid;gap:clamp(14px,1.4vw,24px);grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:1000px){.energy-panels{grid-template-columns:1fr}}.energy-status-panel{grid-column:1/-1}.panel{background:var(--nrg-card);border:1px solid var(--nrg-border);border-radius:12px;box-shadow:var(--nrg-shadow);overflow:hidden;position:relative}.panel:before{background:linear-gradient(90deg,var(--nrg-green),#22c55e);content:"";height:3px;left:0;position:absolute;top:0;width:100%}.panel-header{background:var(--nrg-soft);border-bottom:1px solid var(--nrg-border);justify-content:space-between;padding:1rem 1.25rem}.panel-header,.panel-header h3{align-items:center;display:flex}.panel-header h3{color:var(--nrg-text);font-size:clamp(17px,1.2vw,19px);font-weight:900;gap:.5rem;margin:0}.panel-content{padding:1.25rem}.refresh-button{align-items:center;background:var(--nrg-card);border:1px solid var(--nrg-border);border-radius:10px;color:var(--nrg-text);cursor:pointer;display:inline-flex;font-weight:800;gap:8px;height:36px;padding:0 14px}.status-cards{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0 18px}@media (max-width:1200px){.status-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.status-cards{grid-template-columns:1fr}}.status-card{background:var(--nrg-card);border:1px solid var(--nrg-border);border-radius:14px;box-shadow:var(--nrg-shadow);overflow:hidden;padding:16px;position:relative}.status-card:before{background:linear-gradient(90deg,var(--nrg-green),#22c55e);content:"";height:3px;inset:0 auto auto 0;opacity:.75;position:absolute;width:100%}.status-card__top{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.status-card__title{color:var(--nrg-muted);font-size:13px;font-weight:800}.status-card__icon{background:var(--nrg-soft);block-size:38px;border:1px solid var(--nrg-border);border-radius:10px;color:var(--nrg-text);inline-size:38px}.status-card__main{align-items:baseline;display:flex;gap:8px}.status-card__value{color:var(--nrg-text);font-size:34px;font-weight:900;line-height:1}.status-card__unit{color:var(--nrg-muted);font-size:16px;font-weight:800}.status-card__delta{margin-top:8px}.stat-delta{background:var(--nrg-soft);border:1px solid var(--nrg-border);border-radius:999px;font-size:11px;font-weight:800;padding:4px 8px}.stat-delta--up{background:#16a34a1a;border-color:#16a34a33;color:#16a34a}.stat-delta--down{background:#ef44441a;border-color:#ef444433;color:#ef4444}.stat-delta--muted{color:var(--nrg-muted)}.status-card--soc{box-shadow:inset 0 0 0 1px #16a34a33}.status-card--bess{box-shadow:inset 0 0 0 1px #3b82f633}.status-card--solar{box-shadow:inset 0 0 0 1px #f59e0b33}.status-card--queued{box-shadow:inset 0 0 0 1px #ef444433}.status-card--soc .status-card__icon{color:#16a34a}.status-card--bess .status-card__icon{color:#3b82f6}.status-card--solar .status-card__icon{color:#f59e0b}.status-card--queued .status-card__icon{color:#ef4444}.chart-card{background:var(--nrg-card);border:1px solid var(--nrg-border);border-radius:12px;box-shadow:var(--nrg-shadow);padding:12px;position:relative}.chart-header-row{align-items:flex-start;border-bottom:1px dashed var(--nrg-border);display:flex;gap:12px;justify-content:space-between;padding:4px 4px 10px}.energy-title-block .energy-title{color:var(--nrg-text);font-size:clamp(16px,1.2vw,18px);font-weight:900;margin:0}.energy-subtitle-row{align-items:center;display:flex;gap:10px;margin-top:4px}.energy-subtitle{color:var(--nrg-muted);font-size:12px;font-weight:800}.showing-chip{background:color-mix(in srgb,var(--nrg-green) 10%,var(--nrg-card));border:1px solid color-mix(in srgb,var(--nrg-green) 40%,var(--nrg-border));border-radius:999px;color:color-mix(in srgb,var(--nrg-green) 70%,var(--nrg-text));font-size:12px;font-weight:900;padding:6px 10px}.energy-metric-toggle{display:flex;flex-wrap:wrap;gap:8px}.toggle-btn{-webkit-appearance:none;appearance:none;background:var(--nrg-soft);border:1px solid var(--nrg-border);border-radius:10px;color:var(--nrg-text);cursor:pointer;font-size:12px;font-weight:800;padding:8px 12px;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .05s ease}.toggle-btn:hover{transform:translateY(-1px)}.toggle-btn.active{background:color-mix(in srgb,var(--nrg-green) 18%,var(--nrg-card));border-color:color-mix(in srgb,var(--nrg-green) 55%,var(--nrg-border));box-shadow:0 6px 16px color-mix(in srgb,var(--nrg-green) 30%,#0000);color:var(--nrg-green-700)}.page-header{margin:0 0 14px;width:100%}.title-row{justify-content:space-between;margin-bottom:10px}.title-left,.title-row{align-items:center;display:flex}.title-left{gap:12px}.page-title{color:var(--nrg-text);font-size:clamp(18px,1.6vw,24px);font-weight:900;margin:0}.page-subtitle{color:var(--nrg-muted);font-size:13px;margin:2px 0 0}.overview-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1100px){.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.overview-grid{grid-template-columns:1fr}}.kpi-card{background:var(--nrg-card);border:1px solid var(--nrg-border);border-radius:12px;box-shadow:0 1px 4px #0206170f;padding:14px}.kpi-label{color:var(--nrg-muted);font-size:12px;font-weight:800}.kpi-main{align-items:center;display:flex;gap:10px;margin-top:8px}.kpi-value{font-size:20px;line-height:1}.kpi-value,.kpi-value-small{color:var(--nrg-text);font-weight:900}.kpi-value-small{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay.active{background:#0000008c;display:grid;inset:0;place-items:center;pointer-events:auto;position:fixed;z-index:2147483647}.modal-overlay.active.dimmed{background:#0000008c}[data-theme=dark] .modal-overlay.active,[data-theme=dark] .modal-overlay.active.dimmed{background:#030712b3}.logs-modal{background-color:#fff!important;border:1px solid var(--nrg-border);border-radius:12px;box-shadow:0 10px 28px #00000038;color:#111827!important;max-height:84vh;overflow:auto;padding:18px 20px;position:relative;width:min(980px,94vw);z-index:2147483648}[data-theme=dark] .logs-modal{background-color:#020617!important;color:#e5e7eb!important}.logs-modal h3{background-color:inherit;border-bottom:1px solid var(--nrg-border);font-weight:900;margin:0 0 10px;padding-block:6px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.logs-modal pre{background-color:#fff!important;border:1px solid var(--nrg-border);border-radius:10px;color:#111827!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.4;max-height:64vh;max-width:100%;padding:12px}[data-theme=dark] .logs-modal pre{background-color:#020617!important;border-color:#1f2937;color:#e5e7eb!important}.logs-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.logs-modal .logs-close{background:#f3f4f6!important;block-size:36px;border:none;border-radius:8px;box-shadow:0 1px 2px #0003;color:#111827!important;cursor:pointer;font-size:22px;inline-size:36px;line-height:1;position:absolute;right:12px;top:10px}.logs-modal .logs-close:hover{filter:brightness(.97)}[data-theme=dark] .logs-modal .logs-close{background:#111827!important;color:#fff!important}.logs-modal .log-button{background:#f3f4f6!important;border:1px solid var(--nrg-border);border-radius:10px;box-shadow:0 1px 2px #0000001a;color:#111827!important;cursor:pointer;font-weight:800;padding:10px 18px}.logs-modal .log-button:hover{filter:brightness(.97)}[data-theme=dark] .logs-modal .log-button{background:#2563eb!important;border-color:#0000;color:#fff!important}.battery-widget{align-items:center;display:flex;height:230px;justify-content:center}.battery-container{background:var(--nrg-card);border:4px solid var(--nrg-bezel);border-radius:12px;height:190px;overflow:hidden;position:relative;width:96px}.battery-container:before{background:var(--nrg-bezel);border-radius:4px 4px 0 0;content:"";height:10px;left:50%;position:absolute;top:-10px;transform:translateX(-50%);width:28px}.battery-fill{background:var(--nrg-green);bottom:0;left:0;position:absolute;transition:height .5s ease,background-color .5s ease;width:100%}.battery-labels{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;pointer-events:none;position:absolute}.battery-percentage,.battery-text{color:#fff;text-shadow:0 1px 2px #00000080}.battery-percentage{font-size:1.75rem;font-weight:900}.battery-text{font-size:.95rem;font-weight:800}.home-hero-shell{grid-gap:20px;display:grid;gap:20px}.energy-flow-card,.home-overview-card{background:linear-gradient(180deg,color-mix(in srgb,var(--nrg-card) 96%,#f4fff8),var(--nrg-card));border:1px solid color-mix(in srgb,var(--nrg-green) 22%,var(--nrg-border));border-radius:24px;box-shadow:0 18px 42px color-mix(in srgb,var(--nrg-green) 8%,#0206172e);margin-bottom:22px;padding:clamp(20px,2vw,28px)}.home-overview-card{overflow:hidden;position:relative}.home-overview-card:before{background:radial-gradient(circle at top left,#16a34a1f,#0000 68%);content:"";inset:0 auto 0 0;pointer-events:none;position:absolute;width:min(48%,560px)}.energy-flow-footer,.energy-flow-header,.home-overview-intro,.home-overview-row,.overview-grid--product{pointer-events:none;position:relative;z-index:3}.home-hero-badge{align-items:center;background:color-mix(in srgb,var(--nrg-green) 12%,var(--nrg-card));border:1px solid color-mix(in srgb,var(--nrg-green) 28%,var(--nrg-border));border-radius:999px;color:var(--nrg-green-700);display:inline-flex;font-size:11px;font-weight:900;letter-spacing:.08em;min-height:42px;padding:0 18px;text-transform:uppercase}.home-overview-brandline{grid-gap:18px;align-items:center;display:grid;gap:18px;grid-template-columns:78px minmax(0,1fr);margin-top:20px}.home-brand-logo{background:#fff;border:1px solid color-mix(in srgb,var(--nrg-green) 16%,var(--nrg-border));border-radius:18px;box-shadow:0 10px 26px #02061714;height:72px;object-fit:contain;padding:10px;width:72px}.home-overview-headline .page-title{font-size:clamp(40px,5vw,64px);letter-spacing:-.04em;line-height:.96;margin:0}.home-overview-headline .page-subtitle{color:color-mix(in srgb,var(--nrg-text),#0000 36%);font-size:clamp(17px,1.6vw,19px);line-height:1.55;margin:16px 0 0;max-width:760px}.overview-grid--product{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1.1fr repeat(3,minmax(0,1fr));margin-top:26px}.overview-grid--product .kpi-card{background:color-mix(in srgb,var(--nrg-card) 92%,#f8fffb);border-radius:16px;box-shadow:0 10px 28px #0206170f;min-height:118px;padding:20px}.overview-grid--product .kpi-main{align-items:center;gap:12px}.overview-grid--product .kpi-icon{color:var(--nrg-green);flex-shrink:0;font-size:22px}.overview-grid--product .kpi-value{font-size:clamp(24px,2.2vw,30px)}.overview-grid--product .kpi-value-small{font-size:clamp(18px,1.8vw,22px);line-height:1.25;overflow:visible;text-overflow:clip;white-space:normal}.energy-flow-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.energy-flow-header h3{font-size:clamp(28px,2.4vw,36px);line-height:1.05;margin:0}.energy-flow-subtitle{color:var(--nrg-muted);font-size:15px;margin:8px 0 0}.energy-flow-badge{align-items:center;background:color-mix(in srgb,var(--nrg-green) 12%,var(--nrg-card));border:1px solid color-mix(in srgb,var(--nrg-green) 26%,var(--nrg-border));border-radius:999px;color:var(--nrg-green-700);display:inline-flex;font-weight:800;justify-content:center;min-height:40px;padding:0 18px;white-space:nowrap}.energy-flow-diagram{background:linear-gradient(180deg,#ffffffdb,#f9fdfaeb),linear-gradient(90deg,#0f172a0a 1px,#0000 0),linear-gradient(180deg,#0f172a0a 1px,#0000 0);background-size:auto,48px 48px,48px 48px;border:1px solid color-mix(in srgb,var(--nrg-green) 18%,var(--nrg-border));border-radius:28px;min-height:560px;overflow:hidden;position:relative}.energy-flow-diagram:after,.energy-flow-diagram:before{border-radius:50%;content:"";filter:blur(36px);height:280px;inset:auto;opacity:.45;pointer-events:none;position:absolute;width:280px}.energy-flow-diagram:before{background:#3b82f621;bottom:-9%;left:8%}.energy-flow-diagram:after{background:#ef44441a;bottom:-12%}.energy-flow-layout{grid-gap:18px;align-items:center;display:grid;gap:18px;grid-template-columns:220px minmax(260px,1fr) 220px;min-height:560px;padding:18px 20px;position:relative}.energy-flow-column{grid-gap:22px;display:grid;gap:22px}.energy-flow-column--center{align-items:center}.energy-topology-node{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;box-shadow:0 18px 40px #0206171a;min-height:142px;position:relative}.energy-topology-node--battery{align-items:center;background:linear-gradient(135deg,#ebfff2b8,#ffffffc7);display:flex}.energy-topology-node--idle{background:linear-gradient(135deg,#f0f7f4eb,#fffffff0)}.energy-topology-node--charging{box-shadow:0 24px 50px #16a34a1f}.energy-topology-node--discharging{box-shadow:0 24px 50px #3b82f624}.energy-topology-node.is-muted{opacity:.96}.energy-flow-column--left .energy-topology-node--pv,.energy-flow-column--right .energy-topology-node--load{margin-top:8px}.energy-flow-column--left .energy-topology-node--grid,.energy-flow-column--right .energy-topology-node--fuel{margin-top:0}.energy-topology-node__icon{align-items:center;border-radius:16px;box-shadow:0 14px 30px #0206171f;color:#fff;display:inline-flex;font-size:22px;height:48px;justify-content:center;width:48px}.energy-topology-node--pv .energy-topology-node__icon{background:linear-gradient(135deg,#f59e0b,#f97316)}.energy-topology-node--grid .energy-topology-node__icon{background:linear-gradient(135deg,#60a5fa,#2563eb)}.energy-topology-node--battery .energy-topology-node__icon{background:linear-gradient(135deg,#06b6d4,#0891b2)}.energy-topology-node--load .energy-topology-node__icon{background:linear-gradient(135deg,#10b981,#059669)}.energy-topology-node--fuel .energy-topology-node__icon{background:linear-gradient(135deg,#f87171,#ef4444)}.energy-topology-node__meta{grid-gap:8px;display:grid;gap:8px;margin-top:14px}.energy-topology-node__meta span{color:color-mix(in srgb,var(--nrg-text),#0000 44%);letter-spacing:.12em;text-transform:uppercase}.energy-topology-node__meta strong{color:var(--nrg-text);display:block;font-size:clamp(20px,1.7vw,34px);line-height:1.08}.energy-topology-node__meta small{color:color-mix(in srgb,var(--nrg-text),#0000 42%);line-height:1.55}.energy-topology-node--battery .energy-topology-node__meta strong{font-size:clamp(24px,2.2vw,38px)}.energy-flow-svg{height:100%;width:100%}.energy-svg-path{stroke-width:4}.energy-svg-path--base{stroke:#94a3b81f;stroke-dasharray:10 16}.energy-svg-path.active{stroke:currentColor;stroke-dasharray:28 14;animation:energyDash 2.8s linear infinite;color:#22c55e94;filter:drop-shadow(0 0 2px rgba(34,197,94,.06))}.energy-svg-path.active.tone-green{color:#22c55ead}.energy-svg-path.active.tone-blue{color:#3b82f694}.energy-svg-path.active.tone-rose{color:#f472b680}.energy-svg-path.active.tone-cyan{color:#22d3ee8f;color:#22d3ee80}.energy-svg-path.active.tone-blue{color:#3b82f680}.energy-svg-path.active.tone-rose{color:#f472b66b}.energy-svg-badge rect{fill:#ffffffeb;stroke:#22c55e24}@keyframes energyDash{0%{stroke-dashoffset:0}to{stroke-dashoffset:-88}}.energy-flow-footer{align-items:flex-start;border-top:1px dashed color-mix(in srgb,var(--nrg-green) 20%,var(--nrg-border));display:flex;gap:16px;justify-content:space-between;margin-top:18px;padding-top:18px}.energy-flow-footer>div{grid-gap:6px;display:grid;gap:6px}.energy-flow-footer span{color:var(--nrg-muted);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.energy-flow-footer strong{align-items:center;display:inline-flex;font-size:16px;gap:10px}@media (max-width:1280px){.home-overview-headline .page-title{font-size:clamp(34px,4.4vw,54px)}.overview-grid--product{grid-template-columns:repeat(2,minmax(0,1fr))}.energy-flow-layout{grid-template-columns:210px minmax(260px,1fr) 210px;padding:24px}.energy-topology-node--battery{min-height:236px}}@media (max-width:1024px){.home-overview-brandline{grid-template-columns:64px minmax(0,1fr)}.home-brand-logo{border-radius:16px;height:60px;width:60px}.energy-flow-diagram{min-height:auto}.energy-flow-layout{grid-template-areas:"pv load" "grid fuel" "battery battery";grid-template-columns:repeat(2,minmax(0,1fr));min-height:auto;padding:24px}.energy-flow-column--left{grid-area:pv}.energy-flow-column--right{grid-area:load}.energy-flow-column--center{grid-area:battery}.energy-flow-svg{display:none}}@media (max-width:720px){.energy-flow-card,.home-overview-card{border-radius:22px;padding:18px}.home-hero-badge{justify-content:center;width:100%}.home-overview-brandline{gap:14px;grid-template-columns:1fr}.home-brand-logo{height:56px;width:56px}.home-overview-headline .page-title{font-size:clamp(30px,10vw,48px)}.home-overview-headline .page-subtitle{font-size:16px}.overview-grid--product{grid-template-columns:1fr}.overview-grid--product .kpi-card{min-height:104px;padding:18px}.energy-flow-footer,.energy-flow-header{flex-direction:column}.energy-flow-layout{gap:18px;grid-template-areas:"pv" "load" "battery" "grid" "fuel";grid-template-columns:1fr;padding:18px}.energy-topology-node,.energy-topology-node--battery{min-height:auto}.energy-topology-node--battery .energy-topology-node__meta strong,.energy-topology-node__meta strong{font-size:clamp(28px,8vw,42px)}}.energy-flow-column--center .energy-topology-node--battery{margin:0 auto;max-width:540px}.energy-topology-node__meta span{font-size:11px}.energy-flow-diagram{background-size:auto,56px 56px,56px 56px}.energy-topology-node{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media (max-width:1280px){.energy-flow-column--center .energy-topology-node--battery{max-width:480px}}.energy-flow-card,.home-overview-card{border-radius:22px;padding:clamp(16px,1.4vw,22px)}.home-overview-card:before{width:min(38%,420px)}.home-hero-badge{font-size:10px;min-height:34px;padding:0 14px}.home-overview-brandline{gap:14px;grid-template-columns:58px minmax(0,1fr);margin-top:14px}.home-brand-logo{border-radius:14px;height:54px;padding:8px;width:54px}.home-overview-headline .page-title{font-size:clamp(34px,4vw,56px)}.home-overview-headline .page-subtitle{font-size:clamp(15px,1.1vw,18px);margin-top:12px;max-width:700px}.overview-grid--product{gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:20px}.overview-grid--product .kpi-card{border-radius:14px;min-height:96px;padding:16px 18px}.overview-grid--product .kpi-main{gap:10px}.overview-grid--product .kpi-icon{font-size:18px}.overview-grid--product .kpi-value{font-size:clamp(20px,1.8vw,28px)}.overview-grid--product .kpi-value-small{font-size:clamp(16px,1.35vw,20px)}.energy-flow-header{margin-bottom:14px}.energy-flow-header h3{font-size:clamp(24px,2vw,32px)}.energy-flow-subtitle{margin-top:6px}.energy-flow-badge{min-height:36px;padding:0 16px}.energy-flow-diagram{background-size:auto,40px 40px,40px 40px;border-radius:24px;min-height:470px}.energy-flow-diagram:after,.energy-flow-diagram:before{filter:blur(28px);height:220px;opacity:.34;width:220px}.energy-flow-diagram:before{bottom:-11%;left:9%}.energy-flow-diagram:after{bottom:-13%;right:9%}.energy-flow-layout.compact-3d-layout{gap:16px;grid-template-columns:180px minmax(320px,1fr) 180px;min-height:470px;padding:16px 20px}.energy-flow-column.compact-nodes{gap:18px}.energy-topology-node{background:#ffffffd6;border-radius:24px;min-height:128px;padding:14px 14px 16px}.energy-topology-node--battery{border-radius:28px;margin:0 auto;max-width:520px;min-height:170px;padding:18px 20px}.energy-topology-node__icon{border-radius:14px;font-size:18px;height:40px;width:40px}.energy-topology-node__meta{gap:6px;margin-top:12px}.energy-topology-node__meta strong{font-size:clamp(18px,1.6vw,32px)}.energy-topology-node__meta small{font-size:13px}.energy-topology-node--battery .energy-topology-node__meta strong{font-size:clamp(24px,2.6vw,34px)}.energy-topology-node--battery .energy-topology-node__meta small{font-size:14px}.energy-flow-svg{z-index:3}.energy-flow-layout{z-index:2}.energy-svg-path{stroke-width:4.5}.energy-svg-path--base{stroke:#94a3b817;stroke-dasharray:7 14}.energy-svg-path.active{stroke-width:6;stroke-dasharray:18 12;filter:drop-shadow(0 0 3px rgba(34,197,94,.08))}.energy-svg-path.active.tone-green{color:#22c55e99}.energy-svg-path.active.tone-cyan{color:#22d3ee94}.energy-svg-path.active.tone-blue{color:#60a5fa8f}.energy-svg-path.active.tone-rose{color:#f8717185}.energy-svg-badge rect{stroke:#22c55e2e}.energy-svg-badge text{font-size:11px}.energy-flow-footer{margin-top:14px;padding-top:14px}@media (max-width:1280px){.overview-grid--product{grid-template-columns:repeat(2,minmax(0,1fr))}.energy-flow-layout.compact-3d-layout{grid-template-columns:165px minmax(300px,1fr) 165px}.energy-topology-node--battery{max-width:470px}}@media (max-width:1024px){.energy-flow-svg{display:none}.energy-flow-layout.compact-3d-layout{grid-template-areas:"pv load" "grid fuel" "battery battery";grid-template-columns:repeat(2,minmax(0,1fr));min-height:auto}}@media (max-width:720px){.home-overview-brandline{gap:12px}.home-overview-brandline,.overview-grid--product{grid-template-columns:1fr}.energy-flow-layout.compact-3d-layout{gap:14px;grid-template-areas:"pv" "load" "battery" "grid" "fuel";grid-template-columns:1fr;padding:16px}.energy-topology-node--battery{max-width:none;min-height:auto}}@media (max-width:1200px){.energy-flow-layout{gap:22px;grid-template-columns:190px minmax(220px,1fr) 190px}}@media (max-width:980px){.energy-flow-card{margin-bottom:18px}}.energy-flow-card{margin-bottom:28px}.energy-flow-diagram--hub{background:radial-gradient(circle at 18% 74%,#3b82f61a,#0000 22%),radial-gradient(circle at 82% 76%,#ef6b6b14,#0000 22%),linear-gradient(180deg,#ffffffb8,#f5fbf7d1);border-radius:26px;min-height:560px;padding:26px 24px 22px}.energy-flow-layout--hub{grid-gap:56px;align-items:center;display:grid;gap:56px;grid-template-columns:232px minmax(320px,468px) 232px;justify-content:space-between;min-height:500px;padding:6px 8px;position:relative;z-index:2}.energy-flow-column--stack{grid-gap:22px;display:grid;gap:22px}.energy-flow-column--center{display:flex;justify-content:center}.energy-flow-column--right{display:flex;justify-content:flex-end}.energy-topology-node{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe0;border:1px solid color-mix(in srgb,var(--nrg-green) 24%,var(--nrg-border));border-radius:28px;box-shadow:0 18px 40px #0f172a14;min-height:122px;padding:26px 24px;width:232px}.energy-topology-node__icon{border-radius:18px;font-size:26px;height:56px;margin-bottom:18px;width:56px}.energy-topology-node__meta span{font-size:13px;font-weight:900;letter-spacing:.18em}.energy-topology-node__meta strong{font-size:28px;line-height:1.05;margin-top:10px}.energy-topology-node__meta small{font-size:14px;line-height:1.45;margin-top:10px}.energy-topology-node--battery{background:linear-gradient(180deg,#f1f9f4fa,#e9f5edf5);border-radius:32px;box-shadow:0 24px 56px #16a34a1f;min-height:182px;padding:32px 36px;width:min(100%,468px)}.energy-topology-node--battery .energy-topology-node__icon{border-radius:20px;height:62px;width:62px}.energy-topology-node--battery .energy-topology-node__meta strong{font-size:clamp(38px,3vw,56px)}.energy-topology-node--battery .energy-topology-node__meta small{font-size:15px}.energy-flow-svg{inset:0;overflow:visible;pointer-events:none;position:absolute;z-index:1}.energy-svg-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.energy-svg-path--inactive{stroke:#94a3b838;stroke-width:4;stroke-dasharray:10 16}.energy-svg-path--active{stroke-width:7;filter:drop-shadow(0 4px 10px rgba(15,23,42,.08))}.energy-svg-path--active.tone-green{stroke:#55c77f}.energy-svg-path--active.tone-blue{stroke:#3280ea}.energy-svg-path--active.tone-rose{stroke:#ef6b6b}.energy-svg-badge rect{fill:#fffffff5;stroke:#86efaccc;stroke-width:1.5;filter:drop-shadow(0 4px 10px rgba(15,23,42,.1))}.energy-svg-badge text{fill:var(--nrg-text);font-size:13px;font-weight:900}.energy-flow-legend{background:#ffffffc7;border:1px solid var(--nrg-border);border-radius:18px;display:flex;flex-wrap:wrap;gap:26px;justify-content:center;margin:16px auto 4px;max-width:100%;padding:14px 24px;width:-webkit-fit-content;width:fit-content}.energy-flow-legend__item{align-items:center;color:var(--nrg-text);display:inline-flex;font-size:13px;font-weight:700;gap:10px}.legend-line{border-radius:999px;border-top:4px solid #0000;height:0;position:relative;width:34px}.legend-line:after{border-bottom:6px solid #0000;border-left:9px solid;border-top:6px solid #0000;content:"";position:absolute;right:-1px;top:-6px}.legend-line--green{border-color:#55c77f;color:#55c77f}.legend-line--blue{border-color:#3280ea;color:#3280ea}.legend-line--rose{border-color:#ef6b6b;color:#ef6b6b}.legend-line--to-load{border-color:#4fc070;color:#4fc070}.legend-line--inactive{border-color:#9ca3af;border-top-style:dashed;color:#9ca3af}.energy-flow-footer{margin-top:16px;padding-top:16px}@media (max-width:1280px){.energy-flow-layout--hub{gap:44px;grid-template-columns:216px minmax(280px,420px) 216px}.energy-topology-node{width:216px}.energy-topology-node--battery{width:min(100%,420px)}}@media (max-width:980px){.energy-flow-diagram--hub{min-height:auto;padding:20px}.energy-flow-svg{display:none}.energy-flow-layout--hub{gap:16px;grid-template-columns:1fr;justify-content:stretch;min-height:auto}.energy-flow-column--center,.energy-flow-column--left,.energy-flow-column--right{display:grid;justify-content:stretch}.energy-topology-node,.energy-topology-node--battery{max-width:none;width:100%}}.energy-flow-card{margin-bottom:28px!important;padding:18px 22px 16px!important}.energy-flow-header{margin-bottom:14px!important}.energy-flow-header h3{font-size:26px!important;line-height:1.1!important}.energy-flow-diagram--hub{background:radial-gradient(circle at 17% 72%,#3b82f614,#0000 20%),radial-gradient(circle at 82% 72%,#ef44440f,#0000 20%),linear-gradient(180deg,#ffffffeb,#f8fdfaf5)!important;min-height:360px!important;padding:18px 20px!important}.energy-flow-layout--hub{grid-gap:34px!important;display:grid!important;gap:34px!important;grid-template-columns:250px minmax(330px,390px) 250px!important;min-height:324px!important}.energy-flow-column--stack{gap:14px!important}.energy-flow-column--right{justify-content:end!important}.energy-topology-node{grid-gap:14px!important;align-items:center!important;-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important;background:#fffffff0!important;border-radius:18px!important;box-shadow:0 14px 30px #0f172a0f!important;display:grid!important;gap:14px!important;grid-template-columns:52px minmax(0,1fr)!important;min-height:82px!important;padding:14px 16px!important}.energy-topology-node__icon{font-size:20px!important;height:44px!important;margin:0!important;width:44px!important}.energy-topology-node__meta{gap:4px!important;margin:0!important;min-width:0!important}.energy-topology-node__meta span{font-size:10px!important}.energy-topology-node__meta strong{font-size:22px!important;line-height:1.1!important;margin:0!important}.energy-topology-node__meta small{font-size:12px!important;line-height:1.35!important;margin:0!important}.energy-topology-node--battery{background:linear-gradient(135deg,#effcf4f5,#fffffff0)!important;border-radius:24px!important;box-shadow:0 20px 42px #16a34a1a!important;gap:18px!important;grid-template-columns:62px minmax(0,1fr)!important;min-height:128px!important;padding:22px 24px!important;width:min(100%,390px)!important}.energy-topology-node--battery .energy-topology-node__icon{font-size:22px!important;height:52px!important;width:52px!important}.energy-topology-node--battery .energy-topology-node__meta strong{font-size:clamp(28px,2.2vw,36px)!important}.energy-topology-node--battery .energy-topology-node__meta small{font-size:13px!important}.energy-flow-layout--hub{position:relative!important}.energy-svg-path--inactive{stroke:#94a3b833!important;stroke-width:3!important;stroke-dasharray:9 13!important}.energy-svg-path--active{stroke-width:4.5!important;filter:drop-shadow(0 5px 8px rgba(15,23,42,.08))!important}.energy-svg-path--active.tone-green{stroke:#4fc878!important}.energy-svg-badge rect{fill:#fffffffa!important;stroke:#4ade80b3!important;height:24px!important;width:68px!important}.energy-svg-badge text{font-size:10px!important}.energy-flow-legend{border-radius:14px!important;gap:22px!important;margin-top:12px!important;padding:10px 18px!important}.energy-flow-legend__item{font-size:12px!important}.legend-line{border-top-width:3px!important;width:28px!important}.energy-flow-footer{margin-top:14px!important;padding-top:14px!important}.dark .energy-flow-diagram--hub,[data-theme=dark] .energy-flow-diagram--hub{background:radial-gradient(circle at 17% 72%,#3b82f629,#0000 20%),radial-gradient(circle at 82% 72%,#ef44441f,#0000 20%),linear-gradient(180deg,#0b1f17fa,#081813fa)!important}.dark .energy-topology-node,[data-theme=dark] .energy-topology-node{background:#0e221bf5!important;border-color:#4ade804d!important}.dark .energy-topology-node--battery,[data-theme=dark] .energy-topology-node--battery{background:linear-gradient(135deg,#0e2c1ffa,#0b1f18fa)!important}.dark .energy-topology-node__meta small,.dark .energy-topology-node__meta span,.dark .energy-topology-node__meta strong,[data-theme=dark] .energy-topology-node__meta small,[data-theme=dark] .energy-topology-node__meta span,[data-theme=dark] .energy-topology-node__meta strong{color:#f1fff6!important}.dark .energy-svg-badge rect,[data-theme=dark] .energy-svg-badge rect{fill:#0c2018fa!important;stroke:#4ade80bf!important}.dark .energy-svg-badge text,[data-theme=dark] .energy-svg-badge text{fill:#f1fff6!important}@media (max-width:1280px){.energy-flow-layout--hub{gap:28px!important;grid-template-columns:230px minmax(300px,360px) 230px!important}.energy-topology-node{width:230px!important}.energy-topology-node--battery{width:min(100%,360px)!important}}@media (max-width:980px){.energy-flow-diagram--hub{min-height:auto!important;padding:16px!important}.energy-flow-svg{display:none!important}.energy-flow-layout--hub{gap:12px!important;grid-template-columns:1fr!important;min-height:auto!important}.energy-topology-node,.energy-topology-node--battery{max-width:none!important;width:100%!important}}.energy-flow-card{margin-bottom:26px!important}.energy-flow-header{margin-bottom:12px!important}.energy-flow-header h3{font-size:24px!important;line-height:1.08!important}.energy-flow-subtitle{font-size:13px!important}.energy-flow-diagram--hub{border-radius:22px!important;min-height:315px!important;overflow:hidden!important;padding:18px!important}.energy-flow-layout--hub{gap:42px!important;grid-template-columns:250px minmax(330px,380px) 250px!important;min-height:278px!important}.energy-flow-column--stack{gap:13px!important}.energy-topology-node{border-radius:17px!important;grid-template-columns:50px minmax(0,1fr)!important;min-height:74px!important;padding:12px 14px!important;width:250px!important}.energy-topology-node__icon{border-radius:14px!important;font-size:18px!important;height:42px!important;width:42px!important}.energy-topology-node__meta span{font-size:9.5px!important}.energy-topology-node__meta strong{font-size:20px!important}.energy-topology-node__meta small{font-size:11px!important}.energy-topology-node--battery{border-radius:23px!important;gap:16px!important;grid-template-columns:56px minmax(0,1fr)!important;min-height:120px!important;padding:20px 22px!important;width:min(100%,380px)!important}.energy-topology-node--battery .energy-topology-node__icon{border-radius:16px!important;height:50px!important;width:50px!important}.energy-topology-node--battery .energy-topology-node__meta strong{font-size:clamp(25px,2vw,32px)!important;line-height:1.05!important}.energy-topology-node--battery .energy-topology-node__meta small{font-size:12px!important}.energy-flow-svg{height:100%!important;inset:0!important;pointer-events:none!important;width:100%!important}.energy-svg-path{fill:none!important;stroke-linecap:round!important;stroke-linejoin:round!important}.energy-svg-path--inactive{stroke:#94a3b838!important;stroke-width:2.4!important;stroke-dasharray:8 14!important}.energy-svg-path--active{stroke-width:4!important;filter:drop-shadow(0 4px 8px rgba(15,23,42,.08))!important}.energy-svg-badge rect{x:-32px!important;y:-11px!important;rx:11px!important;stroke:#4ade80b8!important;stroke-width:1.2!important;height:22px!important;width:64px!important}.energy-svg-badge text{font-size:9.5px!important}.energy-flow-legend{gap:18px!important;margin-top:10px!important;max-width:620px!important;padding:8px 15px!important}.energy-flow-legend__item{font-size:11px!important}.legend-line{border-top-width:2.4px!important;width:24px!important}.energy-flow-footer{margin-top:12px!important;padding-top:12px!important}@media (max-width:1280px){.energy-flow-layout--hub{gap:30px!important;grid-template-columns:230px minmax(300px,350px) 230px!important}.energy-topology-node{width:230px!important}.energy-topology-node--battery{width:min(100%,350px)!important}}@media (max-width:980px){.energy-flow-diagram--hub{min-height:auto!important;padding:14px!important}.energy-flow-svg{display:none!important}.energy-flow-layout--hub{gap:12px!important;grid-template-columns:1fr!important;min-height:auto!important}.energy-topology-node,.energy-topology-node--battery{min-height:auto!important;width:100%!important}.energy-flow-legend{justify-content:flex-start!important;max-width:100%!important;overflow-x:auto!important}}.home-hero-shell{gap:10px!important}.home-overview-card{border-radius:20px!important;margin-bottom:8px!important;padding:14px 18px 16px!important}.home-overview-intro{max-width:880px!important}.home-hero-badge{font-size:9px!important;min-height:28px!important;padding:0 12px!important}.home-overview-brandline{align-items:center!important;gap:12px!important;grid-template-columns:46px minmax(0,1fr)!important;margin-top:10px!important}.home-brand-logo{border-radius:12px!important;height:42px!important;padding:6px!important;width:42px!important}.home-overview-headline .page-title{font-size:clamp(30px,3.1vw,44px)!important;letter-spacing:-.045em!important;line-height:.98!important}.home-overview-headline .page-subtitle{font-size:clamp(13px,.95vw,15px)!important;line-height:1.45!important;margin-top:8px!important;max-width:720px!important}.overview-grid--product{gap:10px!important;margin-top:14px!important}.overview-grid--product .kpi-card{border-radius:12px!important;min-height:72px!important;padding:12px 14px!important}.overview-grid--product .kpi-main{gap:8px!important;margin-top:5px!important}.overview-grid--product .kpi-icon{font-size:15px!important}.overview-grid--product .kpi-value{font-size:clamp(18px,1.5vw,24px)!important}.overview-grid--product .kpi-value-small{font-size:clamp(14px,1.2vw,18px)!important}.energy-flow-card{border-radius:20px!important;margin-bottom:18px!important;margin-top:0!important;padding:14px 18px!important}.energy-flow-header{align-items:center!important;margin-bottom:8px!important}.energy-flow-header h3{font-size:22px!important}.energy-flow-subtitle{font-size:12px!important;margin-top:3px!important}.energy-flow-badge{font-size:12px!important;min-height:30px!important;padding:0 14px!important}@media (max-width:720px){.home-hero-shell{gap:8px!important}.energy-flow-card,.home-overview-card{padding:14px!important}.home-overview-brandline{gap:10px!important;grid-template-columns:40px minmax(0,1fr)!important}.home-brand-logo{height:38px!important;width:38px!important}.home-overview-headline .page-title{font-size:clamp(28px,9vw,38px)!important}.home-overview-headline .page-subtitle{font-size:13px!important}.overview-grid--product{margin-top:12px!important}.overview-grid--product .kpi-card{min-height:66px!important}.energy-flow-header{align-items:flex-start!important}}.controller-command-center{grid-gap:clamp(14px,1.4vw,22px);display:grid;gap:clamp(14px,1.4vw,22px);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);margin:18px 0 16px}.controller-command-center .controller-card,.energy-status-panel.panel,.mode-flow{background:radial-gradient(circle at 15% 0,color-mix(in srgb,var(--nrg-green) 8%,#0000),#0000 34%),linear-gradient(180deg,color-mix(in srgb,var(--nrg-card) 96%,#fff),var(--nrg-card));border:1px solid color-mix(in srgb,var(--nrg-green) 22%,var(--nrg-border));border-radius:22px;box-shadow:0 18px 46px #0f172a14}.controller-command-center .controller-card{overflow:hidden;padding:clamp(16px,1.6vw,22px)}.controller-card__header--premium{align-items:flex-start;border-bottom:1px solid color-mix(in srgb,var(--nrg-green) 18%,var(--nrg-border));margin:0 0 16px;padding:0 0 14px}.controller-card__header--premium .controller-card__title{align-items:flex-start;gap:12px}.controller-card__header--premium h3{font-size:clamp(20px,1.35vw,24px);letter-spacing:-.02em;margin:0}.controller-card__header--premium p{color:var(--nrg-muted);font-size:13px;line-height:1.45;margin:4px 0 0}.controller-card__icon-wrap{background:linear-gradient(135deg,var(--nrg-green),#0f9f63);border-radius:14px;box-shadow:0 10px 22px color-mix(in srgb,var(--nrg-green) 28%,#0000);color:#fff;display:grid;flex:0 0 auto;height:42px;place-items:center;width:42px}.status-chip{box-shadow:0 8px 20px #0f172a14;letter-spacing:.04em;padding:8px 12px}.controller-action-strip{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.controller-action{align-items:center;background:var(--nrg-card);border:1px solid var(--nrg-border);border-radius:18px;box-shadow:0 12px 26px #0f172a0f;color:var(--nrg-text);cursor:pointer;display:flex;gap:12px;min-height:78px;padding:14px;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,filter .18s ease}.controller-action:hover:not(:disabled){box-shadow:0 18px 34px #0f172a1c;transform:translateY(-2px)}.controller-action:disabled{cursor:not-allowed;opacity:.62}.controller-action__icon{border-radius:14px;color:#fff;display:grid;flex:0 0 auto;height:42px;place-items:center;width:42px}.controller-action--start{border-color:color-mix(in srgb,var(--nrg-green) 34%,var(--nrg-border))}.controller-action--start .controller-action__icon{background:linear-gradient(135deg,#16a34a,#22c55e)}.controller-action--stop{border-color:color-mix(in srgb,#ef4444 34%,var(--nrg-border))}.controller-action--stop .controller-action__icon{background:linear-gradient(135deg,#ef4444,#dc2626)}.controller-action small,.controller-action strong{display:block}.controller-action strong{font-size:15px;font-weight:950}.controller-action small{color:var(--nrg-muted);font-size:12px;margin-top:3px}.mode-command-card{grid-gap:14px;align-items:center;background:color-mix(in srgb,var(--nrg-green) 5%,var(--nrg-card));border:1px solid color-mix(in srgb,var(--nrg-green) 18%,var(--nrg-border));border-radius:18px;display:grid;gap:14px;grid-template-columns:minmax(180px,.72fr) minmax(280px,1fr);margin-top:14px;padding:14px}.mode-command-card .section-subtitle{color:var(--nrg-text);display:block;font-size:13px;font-weight:950;margin:0 0 3px}.mode-command-card p{color:var(--nrg-muted);font-size:12px;line-height:1.35;margin:0}.mode-select-wrapper--premium{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(160px,1fr) auto;margin-top:0}.mode-select-wrapper--premium button,.mode-select-wrapper--premium select{border-radius:14px;min-height:44px}.mode-select-wrapper--premium select{background:var(--nrg-card);border:1px solid color-mix(in srgb,var(--nrg-green) 20%,var(--nrg-border));box-shadow:inset 0 1px 0 #ffffff59;padding:0 14px}.mode-select-wrapper--premium button{background:linear-gradient(135deg,var(--nrg-green),#0f9f63);box-shadow:0 12px 22px color-mix(in srgb,var(--nrg-green) 24%,#0000);min-width:132px}.viewer-welcome-card{align-items:center;background:color-mix(in srgb,var(--nrg-green) 7%,var(--nrg-card));border:1px solid color-mix(in srgb,var(--nrg-green) 22%,var(--nrg-border));border-radius:18px;display:flex;gap:12px;padding:16px}.viewer-welcome-card>svg{color:var(--nrg-green);font-size:24px}.viewer-welcome-card h4{font-size:16px;margin:0 0 3px}.viewer-welcome-card p{color:var(--nrg-muted);margin:0}.system-health-summary{align-items:center;background:color-mix(in srgb,var(--nrg-green) 6%,var(--nrg-card));border:1px solid color-mix(in srgb,var(--nrg-green) 20%,var(--nrg-border));border-radius:18px;display:flex;gap:14px;padding:16px}.health-orb{border-radius:18px;color:#fff;display:grid;flex:0 0 auto;font-size:24px;height:56px;place-items:center;width:56px}.health-orb--running{background:linear-gradient(135deg,#16a34a,#22c55e)}.health-orb--stopped{background:linear-gradient(135deg,#ef4444,#dc2626)}.system-health-summary small,.system-health-summary strong{display:block}.system-health-summary strong{color:var(--nrg-text);font-size:24px;font-weight:950}.system-health-summary small{color:var(--nrg-muted);margin-top:2px}.system-status-grid--premium{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.system-status-grid--premium .status-card{background:var(--nrg-card);border-color:color-mix(in srgb,var(--nrg-green) 16%,var(--nrg-border));border-radius:16px;box-shadow:none;min-height:78px}.system-status-grid--premium .card-value{font-size:14px;gap:7px;line-height:1.25}.controller-log-buttons--premium{justify-content:flex-start;margin-top:12px!important}.controller-log-buttons--premium button{align-items:center;background:var(--nrg-card);border:1px solid color-mix(in srgb,var(--nrg-green) 24%,var(--nrg-border));border-radius:14px;box-shadow:none;color:var(--nrg-text);display:inline-flex;flex:1 1;gap:8px;justify-content:center;min-height:42px}.controller-log-buttons--premium button:hover{background:color-mix(in srgb,var(--nrg-green) 8%,var(--nrg-card))}.mode-flow{margin:0 0 18px;padding:clamp(16px,1.5vw,22px)}.mode-flow__header{border-bottom-color:color-mix(in srgb,var(--nrg-green) 18%,var(--nrg-border));padding:0 0 12px}.mode-flow__header h3{font-size:clamp(20px,1.3vw,24px);letter-spacing:-.02em}.mode-flow__current--green{letter-spacing:.04em;padding:8px 14px;text-transform:uppercase}.mode-flow__rail-wrap{padding:16px 4px 4px}.mode-flow__rail{border-top:3px solid color-mix(in srgb,var(--nrg-green) 16%,var(--nrg-border));top:37px}.mode-flow__dot{border:1px solid color-mix(in srgb,var(--nrg-green) 22%,var(--nrg-border));box-shadow:0 8px 18px #0f172a0f;height:46px;width:46px}.mode-flow__step--active .mode-flow__dot{background:linear-gradient(135deg,var(--nrg-green),color-mix(in srgb,var(--nrg-green) 70%,#111));background:linear-gradient(135deg,var(--accent,var(--nrg-green)),color-mix(in srgb,var(--accent,var(--nrg-green)) 70%,#111));color:#fff}.mode-flow__label{font-size:12px}.energy-panels{margin-top:2px}.energy-status-panel.panel{overflow:hidden}.energy-status-panel .panel-header{background:radial-gradient(circle at 8% 0,color-mix(in srgb,var(--nrg-green) 10%,#0000),#0000 38%),color-mix(in srgb,var(--nrg-green) 4%,var(--nrg-card));padding:16px 18px}.energy-status-panel .panel-header h3{font-size:clamp(20px,1.35vw,24px)}.energy-status-panel .panel-content{padding:16px 18px 18px!important}.status-cards{gap:14px;margin:0 0 16px}.status-card{border-color:color-mix(in srgb,var(--nrg-green) 16%,var(--nrg-border));border-radius:18px;box-shadow:0 12px 30px #0f172a0f;padding:15px}.status-card__title{font-size:12px;letter-spacing:.04em;text-transform:uppercase}.status-card__icon{background:color-mix(in srgb,var(--nrg-green) 10%,var(--nrg-card));border-radius:12px;color:var(--nrg-green);display:grid;height:36px;place-items:center;width:36px}.status-card__value{font-size:clamp(26px,2vw,36px);letter-spacing:-.04em}.chart-card{border-radius:20px;box-shadow:0 14px 34px #0f172a0f}.chart-card,.energy-metric-toggle{border:1px solid color-mix(in srgb,var(--nrg-green) 16%,var(--nrg-border))}.energy-metric-toggle{background:color-mix(in srgb,var(--nrg-green) 5%,var(--nrg-card));border-radius:16px;padding:5px}.energy-metric-toggle .toggle-btn{border-radius:12px}@media (max-width:1180px){.controller-command-center{grid-template-columns:1fr}}@media (max-width:760px){.controller-action-strip,.mode-command-card,.mode-select-wrapper--premium,.system-status-grid--premium{grid-template-columns:1fr}.controller-card__header--premium{align-items:stretch;flex-direction:column}.controller-card__header--premium .status-chip{width:-webkit-fit-content;width:fit-content}.controller-log-buttons--premium,.mode-flow__header{flex-direction:column}.mode-flow__header{align-items:flex-start;gap:10px}.mode-flow__rail-wrap{margin-inline:-4px}.energy-status-panel .panel-header{align-items:stretch;flex-direction:column;gap:12px}.refresh-button{justify-content:center;width:100%}}@media (max-width:520px){.controller-command-center .controller-card,.energy-status-panel .panel-content,.mode-flow{padding:14px!important}.controller-action{min-height:70px}.system-health-summary{align-items:flex-start}.health-orb{border-radius:14px;height:46px;width:46px}.health-orb,.system-health-summary strong{font-size:20px}}.dark .controller-command-center .controller-card,.dark .energy-status-panel.panel,.dark .mode-flow,[data-theme=dark] .controller-command-center .controller-card,[data-theme=dark] .energy-status-panel.panel,[data-theme=dark] .mode-flow{background:radial-gradient(circle at 15% 0,#22c55e1f,#0000 34%),linear-gradient(180deg,#0f172af5,#020617f2);border-color:#86efac3d;box-shadow:0 18px 46px #0000005c}.dark .controller-action,.dark .mode-command-card,.dark .system-health-summary,.dark .system-status-grid--premium .status-card,[data-theme=dark] .controller-action,[data-theme=dark] .mode-command-card,[data-theme=dark] .system-health-summary,[data-theme=dark] .system-status-grid--premium .status-card{background:#0f172ac2;border-color:#86efac2e}.energy-flow-card{margin-bottom:24px!important;padding:16px 20px 14px!important}.energy-flow-diagram--hub{background:radial-gradient(circle at 18% 72%,#3b82f612,#0000 21%),radial-gradient(circle at 82% 72%,rgba(239,68,68,.055),#0000 21%),linear-gradient(180deg,#fffffff2,#f8fdfafa)!important;border-radius:21px!important;min-height:300px!important;padding:16px 18px!important}.energy-flow-layout--hub{align-items:center!important;gap:38px!important;grid-template-columns:240px minmax(315px,370px) 240px!important;justify-content:space-between!important;min-height:268px!important;padding:0!important}.energy-flow-column--stack{gap:12px!important}.energy-topology-node{border-radius:16px!important;box-shadow:0 10px 24px rgba(15,23,42,.055)!important;gap:12px!important;grid-template-columns:48px minmax(0,1fr)!important;min-height:70px!important;padding:11px 14px!important;width:240px!important}.energy-topology-node__icon{border-radius:13px!important;font-size:17px!important;height:40px!important;width:40px!important}.energy-topology-node__meta span{font-size:9px!important;letter-spacing:.18em!important}.energy-topology-node__meta strong{font-size:19px!important;line-height:1.08!important}.energy-topology-node__meta small{font-size:10.5px!important;line-height:1.25!important}.energy-topology-node--battery{border-radius:22px!important;gap:15px!important;grid-template-columns:52px minmax(0,1fr)!important;min-height:112px!important;padding:18px 20px!important;width:min(100%,370px)!important}.energy-topology-node--battery .energy-topology-node__icon{border-radius:15px!important;font-size:20px!important;height:48px!important;width:48px!important}.energy-topology-node--battery .energy-topology-node__meta strong{font-size:clamp(24px,1.85vw,31px)!important;line-height:1.03!important}.energy-topology-node--battery .energy-topology-node__meta small{font-size:11.5px!important}.energy-flow-svg{z-index:3!important}.energy-flow-layout--hub{z-index:4!important}.energy-svg-path--inactive{stroke:#94a3b82e!important;stroke-width:2!important;stroke-dasharray:8 15!important}.energy-svg-path--active{stroke-width:3.4!important;stroke-dasharray:none!important;filter:drop-shadow(0 3px 6px rgba(15,23,42,.06))!important}.energy-svg-path--active.tone-green{stroke:#50c878!important}.energy-svg-path--active.tone-blue{stroke:#2f80ed!important}.energy-svg-path--active.tone-rose{stroke:#ef6b6b!important}.energy-svg-badge rect{fill:#fffffffc!important;stroke:#50c878b3!important;stroke-width:1.1!important}.energy-svg-badge text{fill:#0b1f17!important;font-size:9px!important;font-weight:900!important}.energy-flow-legend{gap:16px!important;margin-top:9px!important;max-width:590px!important;padding:7px 14px!important}.energy-flow-legend__item{font-size:10.5px!important}.legend-line{border-top-width:2.2px!important;width:22px!important}.energy-flow-footer{margin-top:11px!important;padding-top:11px!important}.energy-flow-footer strong{font-size:14px!important}.dark .energy-flow-diagram--hub,[data-theme=dark] .energy-flow-diagram--hub{background:radial-gradient(circle at 18% 72%,#3b82f629,#0000 22%),radial-gradient(circle at 82% 72%,#ef44441f,#0000 22%),linear-gradient(180deg,#0b1f17fa,#081813fa)!important}.dark .energy-svg-badge rect,[data-theme=dark] .energy-svg-badge rect{fill:#0a1c16fa!important}.dark .energy-svg-badge text,[data-theme=dark] .energy-svg-badge text{fill:#f7fff9!important}@media (max-width:1280px){.energy-flow-layout--hub{gap:26px!important;grid-template-columns:220px minmax(280px,340px) 220px!important}.energy-topology-node{width:220px!important}.energy-topology-node--battery{width:min(100%,340px)!important}}@media (max-width:980px){.energy-flow-diagram--hub{min-height:auto!important;padding:14px!important}.energy-flow-svg{display:none!important}.energy-flow-layout--hub{gap:12px!important;grid-template-columns:1fr!important;min-height:auto!important}.energy-topology-node,.energy-topology-node--battery{max-width:none!important;min-height:auto!important;width:100%!important}.chart-card,.controller-command-center,.dashboard,.energy-flow-card,.energy-status-panel,.home-hero-shell,.home-overview-card,.mode-flow{max-width:100%;min-width:0;overflow-x:hidden;width:100%}.energy-flow-card,.home-overview-card{border-radius:20px;padding:16px}.home-overview-brandline{align-items:start}.home-overview-headline .page-title{font-size:clamp(26px,7vw,42px)!important;line-height:1.02}.home-overview-headline .page-subtitle{font-size:14px!important;line-height:1.45;max-width:100%}.overview-grid,.overview-grid--product{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card,.overview-grid--product .kpi-card{min-width:0}.energy-flow-header{align-items:flex-start;gap:10px}.energy-flow-header h3{font-size:clamp(22px,6vw,30px)!important}.energy-flow-diagram,.energy-flow-diagram--hub,.energy-flow-diagram--reference{border-radius:20px!important;min-height:auto!important;overflow:hidden;padding:14px!important}.energy-flow-layout,.energy-flow-layout--hub,.energy-flow-layout--reference,.energy-flow-layout.compact-3d-layout{grid-gap:10px!important;display:grid;gap:10px!important;grid-template-areas:"pv load" "grid fuel" "battery battery"!important;grid-template-columns:1fr 1fr!important;max-width:100%;min-height:auto!important;padding:0!important;width:100%}.energy-flow-column,.energy-flow-column--center,.energy-flow-column--left,.energy-flow-column--right,.energy-flow-column--stack,.energy-flow-side{gap:10px!important;min-width:0;width:100%}.energy-flow-source-card,.energy-node-card,.energy-topology-node{align-items:center;border-radius:16px!important;display:flex;gap:10px;max-width:100%;min-height:78px!important;padding:11px 12px!important;width:100%}.energy-battery-hub,.energy-topology-node--battery{border-radius:18px!important;max-width:100%!important;min-height:96px!important;padding:14px!important}.energy-node-icon,.energy-topology-node__icon{border-radius:12px!important;font-size:15px!important;height:34px!important;min-width:34px;width:34px!important}.energy-topology-node__meta{margin-top:0!important;min-width:0}.energy-node-label,.energy-topology-node__meta span{font-size:10px!important}.energy-node-value,.energy-topology-node--battery .energy-topology-node__meta strong,.energy-topology-node__meta strong{font-size:clamp(16px,4.8vw,24px)!important;line-height:1.05;overflow-wrap:anywhere}.energy-node-subtitle,.energy-topology-node__meta small{font-size:11px!important;line-height:1.3}.energy-flow-lines,.energy-flow-svg,.energy-svg-layer{display:none!important}.energy-flow-footer{flex-direction:column;gap:10px}.controller-command-center,.controller-row,.energy-panels,.status-cards,.system-status-grid,.system-status-grid--premium{grid-template-columns:1fr!important}.controller-card,.energy-status-panel .panel-content,.mode-flow{border-radius:18px}.controller-action-strip,.controller-button-group,.controller-log-buttons,.controller-log-buttons--premium{display:grid!important;grid-template-columns:1fr}.mode-flow__rail-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:8px}.mode-flow__steps{min-width:560px}.chart-container,.energy-status-panel canvas{max-width:100%!important}}@media (max-width:560px){.dashboard{padding:8px!important}.controller-card,.energy-flow-card,.energy-status-panel .panel-content,.home-overview-card,.mode-flow{border-radius:17px!important;padding:13px!important}.home-brand-logo{height:46px!important;width:46px!important}.energy-flow-badge,.home-hero-badge{font-size:9px;max-width:100%;min-height:30px;width:-webkit-fit-content;width:fit-content}.overview-grid,.overview-grid--product{grid-template-columns:1fr!important}.kpi-card,.overview-grid--product .kpi-card{min-height:auto!important;padding:12px!important}.energy-flow-layout,.energy-flow-layout--hub,.energy-flow-layout--reference,.energy-flow-layout.compact-3d-layout{grid-template-areas:"pv" "grid" "battery" "load" "fuel"!important;grid-template-columns:1fr!important}.energy-flow-source-card,.energy-node-card,.energy-topology-node{min-height:68px!important}.controller-card__header,.controller-card__header--premium,.energy-status-panel .panel-header,.mode-flow__header{align-items:stretch!important;flex-direction:column!important;gap:10px}.mode-flow__current,.status-chip{width:-webkit-fit-content;width:fit-content}}.energy-setpoints-chart-wrap{height:390px;min-height:390px;position:relative;width:100%}.energy-mobile-routes{display:none}@media (max-width:980px){.energy-mobile-routes{grid-gap:8px;display:grid;gap:8px;margin:12px 0 2px}.energy-mobile-route{grid-gap:8px;align-items:center;background:color-mix(in srgb,#fff 82%,#ecfdf3);background:color-mix(in srgb,var(--card,#fff) 82%,var(--brand-ghost,#ecfdf3));border:1px solid color-mix(in srgb,#16a34a 22%,#dbe4df);border:1px solid color-mix(in srgb,var(--brand,#16a34a) 22%,var(--border,#dbe4df));border-radius:999px;box-shadow:0 8px 20px #0f764114;display:grid;gap:8px;grid-template-columns:minmax(60px,.8fr) minmax(110px,1.6fr) minmax(70px,.9fr);min-height:38px;overflow:hidden;padding:7px 9px}.energy-mobile-route__from,.energy-mobile-route__to{color:#0f172a;color:var(--text,#0f172a);font-size:11px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.energy-mobile-route__to{text-align:right}.energy-mobile-route__line{background:currentColor;border-radius:999px;color:#22c55e;height:2px;opacity:.95;position:relative}.energy-mobile-route__line:after{border-radius:1px;border-right:2px solid;border-top:2px solid;content:"";height:9px;position:absolute;right:-1px;top:50%;transform:translateY(-50%) rotate(45deg);width:9px}.energy-mobile-route__value{background:#fff;background:var(--card,#fff);border:1px solid color-mix(in srgb,currentcolor 45%,#dbe4df);border:1px solid color-mix(in srgb,currentcolor 45%,var(--border,#dbe4df));border-radius:999px;box-shadow:0 4px 12px #0206171a;color:#0f172a;color:var(--text,#0f172a);font-size:10px;font-weight:950;left:50%;padding:2px 8px;position:absolute;top:50%;transform:translate(-50%,-50%);white-space:nowrap}.energy-mobile-route.tone-blue .energy-mobile-route__line{color:#3b82f6}.energy-mobile-route.tone-rose .energy-mobile-route__line{color:#ef6b6b}.energy-mobile-route.tone-green .energy-mobile-route__line{color:#22c55e}.dark .energy-mobile-route,[data-theme=dark] .energy-mobile-route{background:#0f172aeb;border-color:#94a3b847}.dark .energy-mobile-route__from,.dark .energy-mobile-route__to,[data-theme=dark] .energy-mobile-route__from,[data-theme=dark] .energy-mobile-route__to{color:#f8fafc}.dark .energy-mobile-route__value,[data-theme=dark] .energy-mobile-route__value{background:#0f172a;border-color:#94a3b866;color:#f8fafc}.energy-setpoints-chart-wrap{height:clamp(430px,72vh,620px)!important;min-height:430px!important}.chart-card:has(.energy-setpoints-chart-wrap){overflow:visible!important}}@media (max-width:560px){.energy-mobile-routes{gap:7px}.energy-mobile-route{gap:6px;grid-template-columns:58px minmax(96px,1fr) 60px;padding:7px 8px}.energy-mobile-route__from,.energy-mobile-route__to{font-size:10px}.energy-mobile-route__value{font-size:9px;padding:2px 6px}.energy-setpoints-chart-wrap{height:500px!important;min-height:500px!important}}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;-webkit-clip-path:circle(0);clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}:root .dashboard-page{--db-bg:var(--bg,#f4faf6);--db-card:var(--card,#fff);--db-text:var(--text,#0f2419);--db-muted:color-mix(in srgb,var(--text,#0f2419),#0000 42%);--db-border:var(--border,#d7eadc);--db-shadow:var(--shadow,0 18px 45px #0f231814);--db-brand:var(--brand,#16a34a);--db-brand-weak:var(--brand-weak,#16a34a1f);--db-axis:#425466;--db-soft:color-mix(in srgb,var(--db-brand) 7%,var(--db-card));--db-soft-2:color-mix(in srgb,var(--db-bg),var(--db-card) 78%);--db-radius-lg:24px;--db-radius-md:18px;--db-radius-sm:14px}[data-theme=dark] .dashboard-page{--db-axis:#d9e7df;--db-muted:color-mix(in srgb,var(--text,#f8fafc),#0000 34%);--db-soft:color-mix(in srgb,var(--db-brand) 10%,var(--db-card));--db-soft-2:color-mix(in srgb,var(--db-bg),var(--db-card) 68%)}.dashboard-page{background:radial-gradient(circle at 12% 0,color-mix(in srgb,var(--db-brand) 10%,#0000),#0000 28rem),linear-gradient(180deg,color-mix(in srgb,var(--db-bg),var(--db-card) 12%),var(--db-bg));color:var(--db-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;min-height:100vh}.dashboard-content{box-sizing:border-box;margin:0 auto;max-width:1760px;padding:clamp(14px,2vw,28px);width:100%}.nrg-card{background:linear-gradient(180deg,color-mix(in srgb,var(--db-card),#fff 3%),var(--db-card));border:1px solid color-mix(in srgb,var(--db-brand) 22%,var(--db-border));border-radius:var(--db-radius-lg);box-shadow:var(--db-shadow);color:var(--db-text);position:relative}[data-theme=dark] .nrg-card{background:linear-gradient(180deg,color-mix(in srgb,var(--db-card),#fff 4%),var(--db-card))}.nrg-card:before{background:linear-gradient(90deg,var(--db-brand),color-mix(in srgb,var(--db-brand),#67e8f9 34%));border-radius:999px;box-shadow:0 8px 22px color-mix(in srgb,var(--db-brand) 26%,#0000);content:"";height:3px;inset:-1px auto auto 22px;position:absolute;width:min(260px,42%)}.dashboard-hero{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-bottom:clamp(16px,2vw,24px);overflow:hidden;padding:clamp(18px,2vw,28px)}.dashboard-hero:after{background:radial-gradient(circle,color-mix(in srgb,var(--db-brand) 14%,#0000),#0000 68%);border-radius:50%;content:"";height:360px;pointer-events:none;position:absolute;right:-150px;top:-160px;width:360px}.dashboard-hero-main{max-width:980px;position:relative;z-index:1}.dashboard-eyebrow{align-items:center;background:color-mix(in srgb,var(--db-brand) 10%,var(--db-card));border:1px solid color-mix(in srgb,var(--db-brand) 38%,var(--db-border));border-radius:999px;color:color-mix(in srgb,var(--db-brand) 76%,var(--db-text));display:inline-flex;font-size:12px;font-weight:900;letter-spacing:.08em;line-height:1;padding:7px 12px;text-transform:uppercase}.dashboard-main-title{color:var(--db-text);font-size:clamp(30px,4vw,54px);font-weight:950;letter-spacing:-.05em;line-height:.96;margin:12px 0 6px}.dashboard-subtitle{color:var(--db-muted);font-size:clamp(14px,1.4vw,17px);font-weight:600;line-height:1.55;margin:0;max-width:940px}.dashboard-hero-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.dashboard-hero-meta span{align-items:center;background:color-mix(in srgb,var(--db-card),var(--db-bg) 32%);border:1px solid color-mix(in srgb,var(--db-border),var(--db-brand) 12%);border-radius:999px;color:var(--db-text);display:inline-flex;font-size:12px;font-weight:800;gap:5px;padding:7px 11px}.green-dot{color:var(--db-brand);text-shadow:0 0 14px color-mix(in srgb,var(--db-brand) 55%,#0000)}.dashboard-hero-actions{align-items:center;display:flex;gap:10px;position:relative;z-index:1}.chip-btn,.energy-range-button,.generate-trend-button,.refresh-btn{align-items:center;background:var(--db-card);border:1px solid color-mix(in srgb,var(--db-brand) 24%,var(--db-border));border-radius:14px;box-shadow:0 10px 24px #0f231812;color:var(--db-text);cursor:pointer;display:inline-flex;font-weight:900;gap:8px;justify-content:center;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.refresh-btn{min-height:44px;padding:0 16px;white-space:nowrap}.primary-refresh{background:linear-gradient(135deg,var(--db-brand),color-mix(in srgb,var(--db-brand),#0891b2 20%));border-color:#0000;color:#fff}.chip-btn:hover,.energy-range-button:hover,.generate-trend-button:hover,.refresh-btn:hover{box-shadow:0 14px 30px #0f23181f;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.62;transform:none!important}.energy-stats-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(7,minmax(160px,1fr));margin-bottom:clamp(16px,2vw,24px)}.dashboard-kpi-card{background:radial-gradient(circle at 85% 10%,color-mix(in srgb,var(--db-brand) 16%,#0000),#0000 70px),linear-gradient(180deg,var(--db-card),color-mix(in srgb,var(--db-card),var(--db-bg) 18%));background:radial-gradient(circle at 85% 10%,color-mix(in srgb,var(--kpi-color,var(--db-brand)) 16%,#0000),#0000 70px),linear-gradient(180deg,var(--db-card),color-mix(in srgb,var(--db-card),var(--db-bg) 18%));border:1px solid color-mix(in srgb,var(--kpi-color,var(--db-brand)) 24%,var(--db-border));border-radius:var(--db-radius-md);box-shadow:0 14px 34px #0f231812;display:flex;gap:12px;justify-content:space-between;min-height:126px;overflow:hidden;padding:16px;position:relative}.dashboard-kpi-card:after{background:linear-gradient(90deg,var(--db-brand),#0000);background:linear-gradient(90deg,var(--kpi-color,var(--db-brand)),#0000);bottom:0;content:"";height:3px;left:16px;opacity:.75;position:absolute;right:16px}.dashboard-kpi-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.dashboard-kpi-label{color:var(--db-muted);font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.dashboard-kpi-value{color:var(--db-text);font-size:clamp(20px,1.7vw,30px);font-weight:950;letter-spacing:-.04em;line-height:1.05;word-break:break-word}.dashboard-kpi-description{color:var(--db-muted);font-size:12px;font-weight:700;line-height:1.35}.dashboard-kpi-icon-wrap{background:color-mix(in srgb,var(--db-brand) 14%,var(--db-card));background:color-mix(in srgb,var(--kpi-color,var(--db-brand)) 14%,var(--db-card));border-radius:14px;color:var(--db-brand);color:var(--kpi-color,var(--db-brand));display:grid;flex:0 0 42px;height:42px;place-items:center;width:42px}.dashboard-kpi-icon{font-size:20px}.dashboard-soc-track{background:color-mix(in srgb,var(--db-text) 9%,#0000);border-radius:999px;height:7px;margin-top:6px;overflow:hidden}.dashboard-soc-track span{background:linear-gradient(90deg,#16a34a,#22c55e);border-radius:inherit;display:block;height:100%}.kpi-bess-soc{--kpi-color:#16a34a}.kpi-bess-power{--kpi-color:#0ea5e9}.kpi-grid-power{--kpi-color:#2563eb}.kpi-load-power{--kpi-color:#059669}.kpi-solar-power{--kpi-color:#f59e0b}.kpi-alt-fuel{--kpi-color:#ef4444}.kpi-nat-gas{--kpi-color:#14b8a6}.energy-stat-card{background:var(--db-card);border:1px solid var(--db-border);border-radius:var(--db-radius-md);box-shadow:var(--db-shadow)}.energy-trend-section{margin:0 0 clamp(16px,2vw,24px);padding:clamp(16px,2vw,24px)}.energy-trend-header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px}.energy-trend-title,.metric-title{color:var(--db-text)!important;font-size:clamp(20px,2vw,28px);font-weight:950;letter-spacing:-.035em;margin:0}.energy-trend-subtitle{color:var(--db-muted)!important;font-size:14px;font-weight:650;line-height:1.45;margin:4px 0 0}.trend-toolbar{grid-gap:12px;align-items:stretch;display:grid;gap:12px;grid-template-columns:minmax(260px,1fr) minmax(280px,auto);margin:14px 0}.toolbar-item{align-items:center;box-sizing:border-box;display:flex;min-height:48px}.trend-date-wrapper{background:linear-gradient(135deg,color-mix(in srgb,var(--db-brand) 9%,var(--db-card)),var(--db-card));border:1px solid color-mix(in srgb,var(--db-brand) 22%,var(--db-border));border-radius:16px;box-shadow:0 10px 26px #0f23180f;color:var(--db-text);gap:10px;padding:0 14px}.trend-date-wrapper .icon{color:var(--db-brand);font-size:17px}.trend-date-picker{background:#0000;border:0;color:var(--db-text);flex:1 1;font-weight:850;min-height:46px;outline:0;width:100%}.trend-generate-wrapper{gap:10px}.generate-trend-button{background:var(--db-card);min-height:48px;padding:0 14px}.generate-trend-button:first-child{background:color-mix(in srgb,var(--db-brand) 10%,var(--db-card));color:color-mix(in srgb,var(--db-brand) 72%,var(--db-text))}.react-datepicker,.react-datepicker__header{background:var(--db-card)!important;border-color:var(--db-border)!important;color:var(--db-text)!important}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month,.react-datepicker__day,.react-datepicker__day-name{color:var(--db-text)!important}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected{background:color-mix(in srgb,var(--db-brand) 20%,var(--db-card))!important;color:var(--db-text)!important}.react-datepicker__triangle{display:none}.view-toggle-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:10px 0 16px}.view-toggle{align-items:center;background:color-mix(in srgb,var(--db-brand) 7%,var(--db-card));border:1px solid color-mix(in srgb,var(--db-brand) 24%,var(--db-border));border-radius:999px;color:var(--db-text);display:inline-flex;font-weight:900;gap:10px;padding:10px 12px}.view-toggle input{accent-color:var(--db-brand);cursor:pointer;height:18px;width:18px}.combined-select{align-items:center;display:flex;flex:1 1;gap:8px;min-width:min(520px,100%)}.combined-select>div:first-child{flex:1 1}.combined-select-actions{display:inline-flex;flex-wrap:wrap;gap:8px}.chip-btn{background:var(--db-card);height:38px;padding:0 12px}.react-select__control{border-radius:14px!important}.react-select__menu{z-index:9999!important}.trend-chart-container{display:flex;flex-direction:column;min-height:260px;position:relative}.trend-chart-loading{align-items:center;color:var(--db-muted);display:flex;font-size:1rem;font-weight:850;gap:10px;justify-content:center;min-height:240px}.mini-charts-grid.two-per-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.combined-chart-card,.mini-chart-card{display:flex;flex-direction:column;overflow:hidden;padding:14px 14px 12px}.combined-chart-card:before,.mini-chart-card:before{height:2px;left:14px;width:120px}.mini-chart-title{color:var(--db-text);font-size:15px;font-weight:950;letter-spacing:-.01em;margin-bottom:8px}.mini-chart-body{height:250px;position:relative}.mini-chart-body canvas{height:250px!important;max-height:250px!important}.combined-chart-card .mini-chart-body{height:500px}.combined-chart-card .mini-chart-body canvas{height:500px!important;max-height:500px!important}.trend-custom-legend{color:var(--db-text);display:flex;flex-wrap:wrap;font-size:12px;font-weight:850;gap:8px 12px;justify-content:center;margin-top:10px}.legend-item{background:color-mix(in srgb,var(--db-card),var(--db-bg) 28%);border:1px solid var(--db-border);gap:6px;padding:5px 8px}.legend-color{border-radius:999px;display:inline-block;height:4px;width:16px}.metrics-container{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr;margin:0 0 24px}.metric-card{border-radius:var(--db-radius-lg);padding:clamp(16px,2vw,24px)}.metric-title-with-options{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.metric-title{align-items:center;display:flex;gap:10px}.metric-icon{color:var(--db-brand);font-size:22px}.energy-range-options{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.energy-range-button{background:var(--db-card);color:var(--db-text);min-height:38px;padding:0 12px}.energy-range-button.active{background:color-mix(in srgb,var(--db-brand) 15%,var(--db-card));border-color:color-mix(in srgb,var(--db-brand) 45%,var(--db-border));color:color-mix(in srgb,var(--db-brand) 74%,var(--db-text))}.balance-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.balance-card{background:radial-gradient(circle at 80% 5%,color-mix(in srgb,var(--db-brand) 14%,#0000),#0000 75px),var(--db-card);background:radial-gradient(circle at 80% 5%,color-mix(in srgb,var(--balance-color,var(--db-brand)) 14%,#0000),#0000 75px),var(--db-card);border:1px solid color-mix(in srgb,var(--balance-color,var(--db-brand)) 28%,var(--db-border));border-radius:var(--db-radius-md);box-shadow:0 12px 26px #0f23180f;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:132px;padding:16px;position:relative}.balance-label{align-items:center;color:var(--db-muted);display:flex;font-size:12px;font-weight:950;gap:9px;letter-spacing:.07em;margin:0;text-transform:uppercase}.balance-icon{color:var(--db-brand);color:var(--balance-color,var(--db-brand));font-size:18px}.balance-value{color:var(--db-text);font-size:clamp(20px,2vw,28px);font-weight:950;letter-spacing:-.04em}.balance-change{font-size:13px;font-weight:900}.generated{--balance-color:#f59e0b}.consumed{--balance-color:#16a34a}.imported{--balance-color:#0ea5e9}.exported{--balance-color:#ef4444}.stored{--balance-color:#8b5cf6}.positive{color:#16a34a}.negative{color:#ef4444}.fa-spin{animation:fa-spin 1s linear infinite}@keyframes fa-spin{to{transform:rotate(1turn)}}[data-theme=dark] .dashboard-page{background:radial-gradient(circle at 12% 0,color-mix(in srgb,var(--db-brand) 14%,#0000),#0000 30rem),linear-gradient(180deg,var(--db-bg),color-mix(in srgb,var(--db-bg),#000 10%))}[data-theme=dark] .balance-card,[data-theme=dark] .dashboard-kpi-card,[data-theme=dark] .legend-item,[data-theme=dark] .trend-date-wrapper{box-shadow:0 16px 36px #00000038}[data-theme=dark] .primary-refresh{color:#fff}[data-theme=dark] .react-select__multi-value__label{color:#d1fae5!important}@media (max-width:1500px){.energy-stats-grid{grid-template-columns:repeat(4,minmax(180px,1fr))}.balance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1100px){.dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-hero-actions,.primary-refresh{width:100%}.energy-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-charts-grid.two-per-row,.trend-toolbar{grid-template-columns:1fr}.trend-generate-wrapper{width:100%}.generate-trend-button{flex:1 1}}@media (max-width:760px){.dashboard-content{padding:12px}.dashboard-hero,.energy-trend-section,.metric-card{border-radius:20px;padding:16px}.dashboard-main-title{font-size:34px}.dashboard-hero-meta{align-items:stretch}.dashboard-hero-meta span{justify-content:center;width:100%}.energy-stats-grid{gap:10px;grid-template-columns:1fr}.dashboard-kpi-card{min-height:108px;padding:14px}.trend-toolbar{gap:10px}.combined-select,.trend-generate-wrapper{flex-direction:column}.combined-select{align-items:stretch;min-width:100%}.combined-select-actions{display:grid;grid-template-columns:repeat(3,1fr)}.chip-btn{font-size:12px;padding:0 8px}.combined-chart-card .mini-chart-body{height:360px}.combined-chart-card .mini-chart-body canvas{height:360px!important;max-height:360px!important}.mini-chart-body{height:230px}.mini-chart-body canvas{height:230px!important;max-height:230px!important}.metric-title-with-options{align-items:stretch}.energy-range-options{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.energy-range-button{width:100%}.balance-grid{grid-template-columns:1fr}}@media (max-width:420px){.dashboard-main-title{font-size:30px}.dashboard-subtitle{font-size:13px}.dashboard-kpi-value{font-size:22px}.dashboard-kpi-icon-wrap{flex-basis:38px;height:38px;width:38px}.trend-custom-legend{justify-content:flex-start}}:root .forecast-dashboard{--fc-bg:var(--bg,#f4faf6);--fc-card:var(--card,#fff);--fc-text:var(--text,#102117);--fc-muted:var(--muted,#66756c);--fc-border:color-mix(in srgb,var(--brand,#16a34a) 24%,var(--border,#d9e7de));--fc-grid:var(--grid,#dce7df);--fc-shadow:0 18px 42px #0f2e1c17;--fc-brand:var(--brand,#16a34a);--fc-brand-dark:#087a35;--fc-soft:color-mix(in srgb,var(--brand,#16a34a) 9%,var(--card,#fff));--fc-chip:color-mix(in srgb,var(--brand,#16a34a) 14%,var(--card,#fff))}.forecast-dashboard{background:radial-gradient(circle at 8% 8%,color-mix(in srgb,var(--fc-brand) 12%,#0000),#0000 26%),radial-gradient(circle at 92% 0,color-mix(in srgb,var(--fc-brand) 7%,#0000),#0000 28%),var(--fc-bg);box-sizing:border-box;color:var(--fc-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;max-width:100%;min-height:100vh;padding:clamp(14px,1.5vw,24px);width:100%}.forecast-hero{grid-gap:18px;align-items:stretch;background:linear-gradient(135deg,color-mix(in srgb,var(--fc-brand) 11%,#0000),#0000 38%),linear-gradient(180deg,color-mix(in srgb,var(--fc-card) 96%,#0000),var(--fc-card));border:1px solid var(--fc-border);border-radius:28px;box-shadow:var(--fc-shadow);display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(280px,360px);margin-bottom:16px;padding:clamp(18px,2vw,28px)}.forecast-hero__content{display:flex;flex-direction:column;justify-content:center;min-width:0}.forecast-eyebrow{align-items:center;background:var(--fc-chip);border:1px solid color-mix(in srgb,var(--fc-brand) 36%,var(--fc-border));border-radius:999px;color:var(--fc-brand-dark);display:inline-flex;font-size:12px;font-weight:900;gap:8px;letter-spacing:.08em;padding:8px 14px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.forecast-hero h1{color:var(--fc-text);font-size:clamp(30px,4vw,54px);font-weight:950;letter-spacing:-.055em;line-height:.96;margin:14px 0 6px}.forecast-hero p{color:var(--fc-muted);font-size:clamp(14px,1.1vw,17px);font-weight:600;line-height:1.6;margin:0;max-width:780px}.forecast-freshness{align-items:center;color:var(--fc-muted);display:inline-flex;font-size:13px;font-weight:800;gap:8px;margin-top:14px}.status-dot{background:var(--fc-brand);border-radius:999px;box-shadow:0 0 0 7px color-mix(in srgb,var(--fc-brand) 16%,#0000);display:inline-block;height:11px;width:11px}.forecast-actions-panel{background:color-mix(in srgb,var(--fc-card) 88%,var(--fc-bg));border:1px solid var(--fc-border);border-radius:22px;box-shadow:0 12px 30px #0f2e1c12;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:16px}.forecast-actions-panel label{color:var(--fc-muted);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.custom-dropdown select,.forecast-actions-panel select,.small-select{background:var(--fc-card);border:1px solid var(--fc-border);border-radius:13px;color:var(--fc-text);font-size:14px;font-weight:800;min-height:42px;outline:none;padding:9px 12px;width:100%}.dashboard-controls,.forecast-action-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.custom-download,.secondary-action{align-items:center;border-radius:13px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:900;gap:8px;justify-content:center;min-height:42px;padding:10px 14px;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.custom-download{background:linear-gradient(180deg,var(--fc-brand),color-mix(in srgb,var(--fc-brand) 78%,#062c17));border:1px solid color-mix(in srgb,var(--fc-brand) 45%,var(--fc-border));box-shadow:0 12px 24px color-mix(in srgb,var(--fc-brand) 26%,#0000);color:#fff}.secondary-action{background:var(--fc-card);border:1px solid var(--fc-border);color:var(--fc-text)}.custom-download:hover,.secondary-action:hover{filter:brightness(1.02);transform:translateY(-1px)}.secondary-action:disabled{cursor:not-allowed;opacity:.65}.spin{animation:fc-spin 1s linear infinite}@keyframes fc-spin{to{transform:rotate(1turn)}}.forecast-error-banner{align-items:flex-start;background:color-mix(in srgb,#f59e0b 10%,var(--fc-card));border:1px solid color-mix(in srgb,#f59e0b 42%,var(--fc-border));border-radius:18px;color:var(--fc-text);display:flex;gap:12px;margin:0 0 16px;padding:14px 16px}.forecast-error-banner svg{color:#d97706;flex:0 0 auto;margin-top:3px}.forecast-error-banner strong{display:block;font-weight:950}.forecast-error-banner span{color:var(--fc-muted);display:block;font-weight:700;margin-top:2px}.forecast-kpi-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.forecast-kpi-card{align-items:center;background:var(--fc-card);border:1px solid var(--fc-border);border-radius:20px;box-shadow:0 12px 26px #0f2e1c0f;display:flex;gap:13px;min-width:0;padding:16px}.forecast-kpi-card>svg{background:color-mix(in srgb,var(--fc-brand) 11%,var(--fc-card));border:1px solid color-mix(in srgb,var(--fc-brand) 30%,var(--fc-border));border-radius:14px;color:var(--fc-brand);flex:0 0 auto;height:38px;padding:10px;width:38px}.forecast-kpi-card span{color:var(--fc-muted);display:block;font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.forecast-kpi-card strong{color:var(--fc-text);display:block;font-size:clamp(20px,1.7vw,28px);font-weight:950;line-height:1.1;margin-top:4px}.dashboard-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px;width:100%}.dashboard-row.full-width{display:block}.dashboard-row.full-width>*{margin-bottom:16px}.forecast-card,.weather-section{background:linear-gradient(180deg,color-mix(in srgb,var(--fc-card) 96%,#0000),var(--fc-card)),radial-gradient(circle at 12% 0,color-mix(in srgb,var(--fc-brand) 8%,#0000),#0000 32%);border:1px solid var(--fc-border);border-radius:24px;box-shadow:var(--fc-shadow);color:var(--fc-text);min-width:0;overflow:hidden;padding:clamp(16px,1.3vw,22px);position:relative}.forecast-card:before,.weather-section:before{background:linear-gradient(90deg,var(--fc-brand),color-mix(in srgb,var(--fc-brand) 30%,#0000));content:"";height:4px;left:0;opacity:.85;position:absolute;right:0;top:0}.forecast-header,.weather-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:12px}.forecast-header p,.timestamp,.weather-subtitle{color:var(--fc-muted);font-size:14px;font-weight:650;margin:4px 0 0}.chart-title,.weather-title{color:var(--fc-text);font-size:clamp(18px,1.5vw,24px);font-weight:950;letter-spacing:-.03em;margin:0}.weather-title-block{max-width:680px}.chart-tabs,.weather-metric-toggle{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.chart-tabs span,.toggle-btn{background:color-mix(in srgb,var(--fc-card) 82%,var(--fc-bg));border:1px solid var(--fc-border);border-radius:999px;color:var(--fc-muted);cursor:pointer;font-size:13px;font-weight:900;padding:8px 13px;transition:.16s ease;white-space:nowrap}.chart-tabs span.active,.chart-tabs span:hover,.toggle-btn.active,.toggle-btn:hover{background:color-mix(in srgb,var(--fc-brand) 14%,var(--fc-card));border-color:color-mix(in srgb,var(--fc-brand) 38%,var(--fc-border));color:var(--fc-brand-dark)}.forecast-card canvas,.weather-section canvas{height:310px!important;max-height:310px;width:100%!important}.weather-section canvas{height:330px!important;max-height:330px}.custom-legend,.weather-legend .custom-legend{align-items:center;color:var(--fc-text);display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:center;margin-top:12px}.legend-item{align-items:center;background:color-mix(in srgb,var(--fc-card) 86%,var(--fc-bg));border:1px solid color-mix(in srgb,var(--fc-border) 75%,#0000);border-radius:999px;display:inline-flex;font-size:12px;font-weight:850;gap:7px;padding:5px 9px}.legend-dot{display:inline-block;height:10px;width:10px}.forecast-metrics,.weather-metrics{grid-gap:10px;border-top:1px dashed var(--fc-border);display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:14px;padding-top:14px}.forecast-metrics>div,.metric-card{background:color-mix(in srgb,var(--fc-card) 85%,var(--fc-bg));border:1px solid color-mix(in srgb,var(--fc-border) 78%,#0000);border-radius:16px;min-width:0;padding:12px;text-align:left}.forecast-metrics strong,.metric-card .label{color:var(--fc-muted);display:block;font-size:12px;font-weight:900;letter-spacing:.06em;margin:0 0 5px;text-transform:uppercase}.forecast-metrics span,.metric-card .value{color:var(--fc-text);font-size:18px;font-weight:950;margin:0}.forecast-metrics small{color:var(--fc-muted);font-weight:750}.green-strong{color:var(--fc-brand-dark)!important}.dark-strong{color:var(--fc-text)!important}.metric-card .value.blue{color:#2563eb}.metric-card .value.red{color:#ef4444}.metric-card .value.green{color:var(--fc-brand)}.metric-card .value.purple{color:#7c3aed}.metric-card .value.orange{color:#f97316}.weather-metric-toggle{max-width:100%;overflow-x:auto;padding:4px 0}.weather-legend{margin:8px 0 0;width:100%}.alert-card{align-items:flex-start;background:color-mix(in srgb,var(--fc-card) 86%,var(--fc-bg));border:1px solid var(--fc-border);border-left:6px solid var(--fc-brand);border-radius:18px;box-shadow:0 10px 24px #0f2e1c0f;color:var(--fc-text);display:flex;gap:14px;margin-top:12px;padding:16px}.alert-card.yellow{border-left-color:#facc15}.alert-card.blue{border-left-color:#3b82f6}.alert-card.green{border-left-color:#16a34a}.icon{font-size:22px;margin-top:4px}.alert-card strong{color:var(--fc-text);font-size:16px;font-weight:950}.alert-card p{color:var(--fc-muted);font-weight:650;line-height:1.5;margin:5px 0}.alert-time{color:var(--fc-muted);display:block;font-size:13px;font-weight:800;margin-top:6px}.dark .forecast-dashboard,[data-theme=dark] .forecast-dashboard{--fc-bg:var(--bg,#07130d);--fc-card:var(--card,#0f2117);--fc-text:#f3fff7;--fc-muted:#bdd0c4;--fc-border:#61d58b42;--fc-grid:#ffffff21;--fc-shadow:0 18px 42px #00000057;--fc-soft:#14532d38;--fc-chip:#16a34a2e;--fc-brand-dark:#86efac;--db-axis:#f3fff7}.dark .forecast-actions-panel,.dark .forecast-card,.dark .forecast-hero,.dark .forecast-kpi-card,.dark .weather-section,[data-theme=dark] .forecast-actions-panel,[data-theme=dark] .forecast-card,[data-theme=dark] .forecast-hero,[data-theme=dark] .forecast-kpi-card,[data-theme=dark] .weather-section{background:linear-gradient(180deg,#0f2117f5,#0a1910fa),radial-gradient(circle at 0 0,#22c55e1f,#0000 34%)}.dark .forecast-actions-panel select,.dark .small-select,[data-theme=dark] .forecast-actions-panel select,[data-theme=dark] .small-select{background:#102519;color:#f3fff7}.dark .chart-tabs span.active,.dark .toggle-btn.active,[data-theme=dark] .chart-tabs span.active,[data-theme=dark] .toggle-btn.active{color:#bbf7d0}.dark .green-strong,[data-theme=dark] .green-strong{color:#86efac!important}@media (max-width:1200px){.forecast-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-row{grid-template-columns:1fr}}@media (max-width:820px){.forecast-dashboard{padding:12px}.forecast-hero{border-radius:22px;grid-template-columns:1fr}.forecast-actions-panel{padding:14px}.forecast-action-buttons{display:grid;grid-template-columns:1fr 1fr}.forecast-kpi-grid{gap:10px;grid-template-columns:1fr}.forecast-card,.weather-section{border-radius:20px;padding:14px}.forecast-card canvas,.weather-section canvas{height:260px!important;max-height:260px}.forecast-header,.weather-header{display:block}.chart-tabs,.weather-metric-toggle{margin-top:10px}.forecast-metrics,.weather-metrics{grid-template-columns:1fr 1fr}}@media (max-width:560px){.forecast-dashboard{padding:10px}.forecast-hero{padding:16px}.forecast-hero h1{font-size:32px}.forecast-action-buttons{grid-template-columns:1fr}.forecast-kpi-card{padding:13px}.forecast-metrics,.weather-metrics{grid-template-columns:1fr}.forecast-card canvas,.weather-section canvas{height:230px!important;max-height:230px}.alert-card{padding:13px}}.forecast-kpi-grid--five{grid-template-columns:repeat(5,minmax(0,1fr))}.forecast-kpi-grid--five .forecast-kpi-card{min-height:96px;padding:14px}.forecast-kpi-grid--five .forecast-kpi-card strong{white-space:nowrap}.forecast-kpi-card--gas>svg{background:color-mix(in srgb,#14b8a6 12%,var(--fc-card));border-color:color-mix(in srgb,#14b8a6 34%,var(--fc-border));color:#0f766e}@media (max-width:1440px){.forecast-kpi-grid--five{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:980px){.forecast-kpi-grid--five{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.forecast-kpi-grid--five{grid-template-columns:1fr}.forecast-kpi-grid--five .forecast-kpi-card{min-height:auto}}.premium-chart-card{background:radial-gradient(circle at 18% 8%,color-mix(in srgb,var(--fc-brand) 12%,#0000),#0000 34%),linear-gradient(180deg,color-mix(in srgb,var(--fc-card) 98%,#0000),var(--fc-card));border-radius:26px}.premium-chart-card:after{background:linear-gradient(90deg,color-mix(in srgb,var(--fc-brand) 3%,#0000),#0000 36%,color-mix(in srgb,#f59e0b 2%,#0000));border-radius:22px;content:"";inset:52px 18px 98px;opacity:.22;pointer-events:none;position:absolute;z-index:0}.premium-chart-card>*{position:relative;z-index:1}.premium-chart-card .forecast-header,.premium-chart-card .weather-header{border-bottom:1px solid color-mix(in srgb,var(--fc-border) 68%,#0000);padding-bottom:10px}.premium-chart-card .chart-title,.premium-chart-card .weather-title{align-items:center;display:inline-flex;gap:10px}.premium-chart-card .chart-title:before,.premium-chart-card .weather-title:before{background:var(--fc-brand);border-radius:999px;box-shadow:0 0 0 7px color-mix(in srgb,var(--fc-brand) 14%,#0000);content:"";height:10px;width:10px}.forecast-card canvas,.weather-section canvas{border-radius:18px;filter:drop-shadow(0 12px 24px rgba(15,46,28,.05));margin-top:8px}.custom-legend{background:color-mix(in srgb,var(--fc-card) 90%,var(--fc-bg));border:1px solid color-mix(in srgb,var(--fc-border) 78%,#0000);border-radius:999px;box-shadow:0 10px 24px rgba(15,46,28,.055);margin-left:auto;margin-right:auto;max-width:100%;padding:7px 10px;width:-webkit-fit-content;width:fit-content}.legend-item{background:#0000;border:0;padding:4px 6px}.legend-dot{border-radius:999px;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 10%,#0000);height:4px;width:18px}.forecast-metrics,.weather-metrics{background:color-mix(in srgb,var(--fc-card) 72%,var(--fc-bg));border:1px solid color-mix(in srgb,var(--fc-border) 65%,#0000);border-radius:20px;padding:10px}.forecast-metrics>div,.metric-card{border-radius:15px;box-shadow:inset 0 1px 0 #ffffff52}.chart-tabs span,.small-select,.toggle-btn{box-shadow:0 8px 18px rgba(15,46,28,.045)}.dark .premium-chart-card,[data-theme=dark] .premium-chart-card{background:radial-gradient(circle at 16% 4%,#22c55e26,#0000 32%),linear-gradient(180deg,#0f2117fa,#06130cfa)}.dark .premium-chart-card:after,[data-theme=dark] .premium-chart-card:after{background:linear-gradient(90deg,#22c55e14,#0000 38%,#3b82f60a);opacity:.28}.dark .custom-legend,.dark .forecast-metrics,.dark .weather-metrics,[data-theme=dark] .custom-legend,[data-theme=dark] .forecast-metrics,[data-theme=dark] .weather-metrics{background:#05120bbd;border-color:#86efac2e}@media (max-width:820px){.premium-chart-card:after{inset:66px 10px 104px}.custom-legend{border-radius:18px;justify-content:flex-start}}.premium-chart-card{overflow:visible}.premium-chart-card canvas{isolation:isolate}.forecast-card canvas,.weather-section canvas{height:360px!important;max-height:360px}.weather-section canvas{height:390px!important;max-height:390px}.premium-chart-card .custom-legend{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);gap:8px 16px;padding:8px 13px}.premium-chart-card .legend-item{font-size:12px;letter-spacing:.01em}.premium-chart-card .legend-dot{border-radius:999px;box-shadow:0 0 14px color-mix(in srgb,currentColor 45%,#0000);height:4px;width:26px}.dark .premium-chart-card canvas,[data-theme=dark] .premium-chart-card canvas{filter:drop-shadow(0 18px 34px rgba(0,0,0,.35))}.dark .premium-chart-card .custom-legend,[data-theme=dark] .premium-chart-card .custom-legend{background:#00000094;border-color:#ffffff24;color:#f8fbff}.dark .premium-chart-card .legend-label,[data-theme=dark] .premium-chart-card .legend-label{color:#f8fbff}@media (max-width:820px){.forecast-card canvas,.weather-section canvas{height:300px!important;max-height:300px}}@media (max-width:560px){.forecast-card canvas,.weather-section canvas{height:260px!important;max-height:260px}.premium-chart-card .custom-legend{justify-content:flex-start;overflow-x:auto;white-space:nowrap;width:100%}}.premium-chart-card:after{animation:none!important;transition:none!important}.forecast-card canvas,.weather-section canvas{background:#0000!important}.premium-chart-card .custom-legend{margin-top:10px}.premium-chart-card .legend-item{color:var(--fc-text)}.dark .premium-chart-card:after,[data-theme=dark] .premium-chart-card:after{opacity:.18}.CircularProgressbar{vertical-align:middle;width:100%}.CircularProgressbar .CircularProgressbar-path{stroke:#3e98c7;stroke-linecap:round;transition:stroke-dashoffset .5s ease 0s}.CircularProgressbar .CircularProgressbar-trail{stroke:#d6d6d6;stroke-linecap:round}.CircularProgressbar .CircularProgressbar-text{fill:#3e98c7;dominant-baseline:middle;text-anchor:middle;font-size:20px}.CircularProgressbar .CircularProgressbar-background{fill:#d6d6d6}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-background{fill:#3e98c7}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-text{fill:#fff}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-path{stroke:#fff}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-trail{stroke:#0000}:root .savings-dashboard{--sd-bg:var(--bg,#f4fbf6);--sd-card:var(--card,#fff);--sd-text:var(--text,#0d1f16);--sd-muted:var(--muted,#6b7f74);--sd-border:var(--border,#cfe8d8);--sd-grid:var(--grid,#16a34a29);--sd-brand:var(--brand,#16a34a);--sd-brand-dark:#087f3e;--sd-soft:color-mix(in srgb,var(--sd-brand) 9%,var(--sd-card));--sd-card-soft:color-mix(in srgb,var(--sd-card),var(--sd-bg) 34%);--sd-shadow:var(--shadow,0 16px 40px #07351c1a);--tooltip-bg:var(--tooltip-bg,var(--sd-card));--tooltip-text:var(--tooltip-text,var(--sd-text));--tooltip-border:var(--tooltip-border,var(--sd-border))}.savings-dashboard{background:radial-gradient(circle at top left,color-mix(in srgb,var(--sd-brand) 12%,#0000) 0,#0000 360px),linear-gradient(180deg,color-mix(in srgb,var(--sd-bg),#fff 6%),var(--sd-bg));color:var(--sd-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;min-height:100%;padding:22px}.savings-dashboard .nrg-card{background:linear-gradient(180deg,color-mix(in srgb,var(--sd-card),#fff 5%),var(--sd-card));border:1px solid var(--sd-border);border-radius:22px;box-shadow:var(--sd-shadow);color:var(--sd-text)}.savings-dashboard .dashboard-header{grid-gap:18px;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--sd-brand) 11%,var(--sd-card)) 0,var(--sd-card) 52%,color-mix(in srgb,var(--sd-brand) 5%,var(--sd-card)) 100%);border:1px solid var(--sd-border);border-radius:24px;box-shadow:var(--sd-shadow);display:grid;gap:18px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:18px;padding:22px}.savings-dashboard .header-left .title-row{align-items:center;display:flex;gap:14px}.savings-dashboard .title-badge{background:linear-gradient(145deg,var(--sd-brand),var(--sd-brand-dark));border-radius:16px;box-shadow:0 14px 26px color-mix(in srgb,var(--sd-brand) 34%,#0000);color:#fff;display:grid;flex:0 0 auto;font-size:20px;height:48px;place-items:center;width:48px}.savings-dashboard .page-title{color:var(--sd-text);font-size:clamp(26px,3vw,40px);font-weight:950;letter-spacing:-.04em;line-height:1.02;margin:0}.savings-dashboard .page-subtitle{color:var(--sd-muted);font-size:14px;font-weight:600;margin:6px 0 0}.savings-header-right{display:flex;justify-content:flex-end;min-width:0}.savings-range-segment{align-items:center;background:color-mix(in srgb,var(--sd-card),var(--sd-brand) 6%);border:1px solid color-mix(in srgb,var(--sd-brand) 24%,var(--sd-border));border-radius:18px;display:flex;flex-wrap:wrap;gap:7px;max-width:100%;padding:7px}.savings-seg-btn{background:#0000;border:0;border-radius:13px;color:color-mix(in srgb,var(--sd-text),var(--sd-muted) 20%);cursor:pointer;font-size:12px;font-weight:900;padding:10px 13px;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;white-space:nowrap}.savings-seg-btn:hover{background:color-mix(in srgb,var(--sd-brand) 10%,#0000);transform:translateY(-1px)}.savings-seg-btn.is-active{background:linear-gradient(145deg,var(--sd-brand),var(--sd-brand-dark));box-shadow:0 10px 20px color-mix(in srgb,var(--sd-brand) 26%,#0000);color:#fff}.savings-dashboard .kpi-section{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.savings-dashboard .kpi-card{min-height:230px;overflow:hidden;padding:18px;position:relative}.savings-dashboard .kpi-card:after{background:color-mix(in srgb,var(--sd-brand) 10%,#0000);border-radius:999px;content:"";height:180px;inset:auto -30px -48px auto;pointer-events:none;position:absolute;width:180px}.savings-dashboard .kpi-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:16px;position:relative;z-index:1}.savings-dashboard .kpi-header h3{align-items:center;color:var(--sd-text);display:flex;font-size:16px;font-weight:950;gap:10px;letter-spacing:-.015em;margin:0}.savings-dashboard .kpi-icon{color:var(--sd-brand)}.savings-dashboard .kpi-icon.efficiency{color:#f59e0b}.savings-dashboard .kpi-icon.battery{color:var(--sd-brand)}.savings-dashboard .kpi-icon.dollar{color:#0ea5e9}.savings-dashboard .activity-badge,.savings-dashboard .mini-badge,.savings-dashboard .reduction-badge{align-items:center;background:color-mix(in srgb,var(--sd-brand) 9%,var(--sd-card));border:1px solid color-mix(in srgb,var(--sd-brand) 22%,var(--sd-border));border-radius:999px;color:color-mix(in srgb,var(--sd-brand) 72%,var(--sd-text));display:inline-flex;font-size:11px;font-weight:900;gap:6px;padding:7px 10px;white-space:nowrap}.savings-dashboard .financial-wrap,.savings-dashboard .kpi-body,.savings-dashboard .throughput-grid{position:relative;z-index:1}.savings-dashboard .kpi-body{grid-gap:18px;align-items:center;display:grid;gap:18px;grid-template-columns:124px 1fr}.savings-dashboard .progress-container{height:124px;width:124px}.savings-dashboard .kpi-meta{grid-gap:12px;display:grid;gap:12px}.savings-dashboard .cycle-box,.savings-dashboard .financial-item,.savings-dashboard .meta-row,.savings-dashboard .summary-item{background:var(--sd-card-soft);border:1px solid color-mix(in srgb,var(--sd-border),#0000 10%);border-radius:16px;padding:13px}.savings-dashboard .meta-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.savings-dashboard .meta-row.big{grid-gap:4px;display:grid;gap:4px}.savings-dashboard .cycle-label,.savings-dashboard .financial-label,.savings-dashboard .meta-label,.savings-dashboard .metric-label,.savings-dashboard .summary-label{color:var(--sd-muted);font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.savings-dashboard .cycle-value,.savings-dashboard .financial-value,.savings-dashboard .meta-value,.savings-dashboard .metric-value,.savings-dashboard .summary-value{color:var(--sd-text);font-size:22px;font-weight:950;letter-spacing:-.04em}.savings-dashboard .cycle-value.xl,.savings-dashboard .meta-value.big,.savings-dashboard .metric-value.xl{font-size:28px}.savings-dashboard .kpi-status{border-radius:999px;color:#fff;font-size:12px;font-weight:950;padding:6px 10px}.savings-dashboard .kpi-status.excellent{background:#16a34a}.savings-dashboard .kpi-status.good{background:#22c55e}.savings-dashboard .kpi-status.fair{background:#f59e0b}.savings-dashboard .kpi-status.poor{background:#ef4444}.savings-dashboard .throughput-grid{grid-gap:14px;align-items:stretch;display:grid;gap:14px;grid-template-columns:1.2fr .8fr}.savings-dashboard .throughput-left{grid-gap:12px;display:grid;gap:12px}.savings-dashboard .metric-item.tight{align-items:center;background:var(--sd-card-soft);border:1px solid var(--sd-border);border-radius:17px;display:flex;gap:12px;min-height:72px;padding:14px}.savings-dashboard .metric-indicator{border-radius:999px;height:48px;width:12px}.savings-dashboard .metric-indicator.charged{background:linear-gradient(180deg,#16a34a,#86efac)}.savings-dashboard .metric-indicator.discharged{background:linear-gradient(180deg,#ef4444,#fca5a5)}.savings-dashboard .metric-details{grid-gap:3px;display:grid;gap:3px}.savings-dashboard .cycle-box{align-content:center;display:grid;justify-items:center;min-height:100%;text-align:center}.savings-dashboard .financial-wrap{grid-gap:14px;display:grid;gap:14px}.savings-dashboard .profit-display.big{background:radial-gradient(circle at top right,color-mix(in srgb,#0ea5e9 14%,#0000),#0000 55%),linear-gradient(135deg,color-mix(in srgb,var(--sd-brand) 10%,var(--sd-card)),var(--sd-card-soft));border:1px solid var(--sd-border);border-radius:18px;padding:18px}.savings-dashboard .profit-value.big{color:var(--sd-text);display:block;font-size:clamp(32px,4vw,48px);font-weight:950;letter-spacing:-.06em;line-height:.95}.savings-dashboard .profit-label{color:var(--sd-muted);display:block;font-size:12px;font-weight:900;letter-spacing:.08em;margin-top:8px;text-transform:uppercase}.savings-dashboard .financial-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.savings-dashboard .financial-item{grid-gap:5px;display:grid;gap:5px}.savings-dashboard .analytics-section{grid-gap:16px;align-items:stretch;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.savings-dashboard .chart-card{min-height:330px;padding:18px}.savings-dashboard .chart-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.savings-dashboard .chart-header h3,.savings-dashboard .metric-summary-card h3{color:var(--sd-text);font-size:17px;font-weight:950;letter-spacing:-.02em;margin:0}.savings-dashboard .chart-container{height:250px;min-height:250px;position:relative}.savings-dashboard .additional-metrics{grid-column:1/-1}.savings-dashboard .metric-summary-card{padding:18px}.savings-dashboard .summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.savings-dashboard .summary-item{grid-gap:7px;display:grid;gap:7px}.savings-dashboard .summary-value{font-size:26px}.savings-dashboard .skeleton-block,.savings-dashboard .skeleton-circle{animation:sd-shimmer 1.2s ease-in-out infinite;background:linear-gradient(90deg,color-mix(in srgb,var(--sd-card),var(--sd-bg) 35%) 25%,color-mix(in srgb,var(--sd-brand) 12%,var(--sd-card)) 45%,color-mix(in srgb,var(--sd-card),var(--sd-bg) 35%) 65%);background-size:220% 100%;border-radius:18px;height:100%;width:100%}.savings-dashboard .skeleton-circle{border-radius:999px}@keyframes sd-shimmer{to{background-position:-220% 0}}.savings-dashboard .error-state{display:grid;min-height:55vh;place-items:center}.savings-dashboard .error-card{background:var(--sd-card);border:1px solid color-mix(in srgb,#ef4444 30%,var(--sd-border));border-radius:24px;box-shadow:var(--sd-shadow);max-width:520px;padding:28px;text-align:center}.savings-dashboard .error-icon{font-size:34px}.savings-dashboard .error-card h3{color:var(--sd-text);margin:10px 0 6px}.savings-dashboard .error-card p{color:var(--sd-muted)}.savings-dashboard .retry-button{background:var(--sd-brand);border:0;border-radius:13px;color:#fff;cursor:pointer;font-weight:900;margin-top:12px;padding:11px 16px}.dark .savings-dashboard,[data-theme=dark] .savings-dashboard{--sd-soft:color-mix(in srgb,var(--sd-brand) 13%,var(--sd-card));--sd-card-soft:color-mix(in srgb,var(--sd-card),#fff 5%)}.dark .savings-dashboard .dashboard-header,.dark .savings-dashboard .nrg-card,[data-theme=dark] .savings-dashboard .dashboard-header,[data-theme=dark] .savings-dashboard .nrg-card{background:linear-gradient(180deg,color-mix(in srgb,var(--sd-card),#fff 4%),var(--sd-card))}@media (max-width:1280px){.kpi-section{grid-template-columns:1fr}.kpi-card{min-height:auto}.analytics-section{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.savings-dashboard{padding:14px}.savings-dashboard .dashboard-header{grid-template-columns:1fr;padding:18px}.savings-header-right{justify-content:flex-start}.savings-range-segment{width:100%}.savings-seg-btn{flex-basis:calc(50% - 8px);flex-grow:1;flex-shrink:1}.analytics-section{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.savings-dashboard{padding:10px}.savings-dashboard .dashboard-header{border-radius:20px;padding:16px}.savings-dashboard .title-badge{border-radius:14px;height:42px;width:42px}.kpi-body{justify-items:center}.financial-grid,.kpi-body,.summary-grid,.throughput-grid{grid-template-columns:1fr}.chart-header{flex-direction:column}.chart-card{min-height:300px;padding:15px}.chart-container{height:230px;min-height:230px}.savings-seg-btn{flex-basis:100%}}@media (max-width:980px){.savings-dashboard{max-width:100%;overflow-x:hidden;padding:12px;width:100%}.savings-dashboard .dashboard-header{border-radius:20px;gap:14px;grid-template-columns:1fr!important;padding:16px}.savings-dashboard .header-left .title-row{align-items:flex-start;gap:12px}.savings-dashboard .page-title{font-size:clamp(24px,8vw,36px);line-height:1.05}.savings-dashboard .page-subtitle{font-size:13px;line-height:1.45}.savings-header-right,.savings-range-segment{width:100%}.savings-range-segment{grid-gap:7px;display:grid;gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.savings-seg-btn{font-size:11px;padding:10px 8px;width:100%}.savings-dashboard .analytics-section,.savings-dashboard .kpi-section,.savings-dashboard .summary-grid{gap:12px;grid-template-columns:1fr!important}.savings-dashboard .chart-card,.savings-dashboard .kpi-card,.savings-dashboard .metric-summary-card{border-radius:18px;min-height:auto!important;overflow:hidden;padding:14px}.savings-dashboard .financial-grid,.savings-dashboard .kpi-body,.savings-dashboard .summary-grid,.savings-dashboard .throughput-grid{grid-template-columns:1fr!important}.savings-dashboard .kpi-body{gap:12px;justify-items:stretch}.savings-dashboard .progress-container{height:112px;justify-self:center;width:112px}.savings-dashboard .cycle-value,.savings-dashboard .financial-value,.savings-dashboard .meta-value,.savings-dashboard .metric-value,.savings-dashboard .summary-value{font-size:clamp(18px,6vw,24px);overflow-wrap:anywhere}.savings-dashboard .cycle-value.xl,.savings-dashboard .meta-value.big,.savings-dashboard .metric-value.xl{font-size:clamp(24px,8vw,34px)}.savings-dashboard .chart-header{align-items:stretch;flex-direction:column;gap:10px}.savings-dashboard .chart-container{height:220px;min-height:220px;width:100%}}@media (max-width:520px){.savings-dashboard{padding:8px}.savings-dashboard .chart-card,.savings-dashboard .dashboard-header,.savings-dashboard .kpi-card,.savings-dashboard .metric-summary-card{border-radius:16px;padding:12px}.savings-dashboard .title-badge{height:40px;min-width:40px;width:40px}.savings-range-segment{grid-template-columns:1fr}.savings-dashboard .meta-row{align-items:flex-start;flex-direction:column}.savings-dashboard .chart-container{height:200px;min-height:200px}}:root .config-dashboard{--cfg-bg:var(--bg,#f4fbf6);--cfg-card:var(--card,#fff);--cfg-text:var(--text,#0d1f16);--cfg-muted:var(--muted,#6b7f74);--cfg-border:var(--border,#cfe8d8);--cfg-brand:var(--brand,#16a34a);--cfg-brand-dark:#087f3e;--cfg-shadow:var(--shadow,0 16px 40px #07351c1a);--cfg-soft:color-mix(in srgb,var(--cfg-brand) 8%,var(--cfg-card));--cfg-input:color-mix(in srgb,var(--cfg-card),var(--cfg-bg) 32%)}.config-fit{background:radial-gradient(circle at top left,color-mix(in srgb,var(--cfg-brand) 12%,#0000) 0,#0000 360px),linear-gradient(180deg,color-mix(in srgb,var(--cfg-bg),#fff 6%),var(--cfg-bg));margin:0;min-height:calc(100vh - 64px);min-height:calc(100vh - var(--header-h, 64px));overflow:auto;padding:22px;position:relative;width:100%}.config-dashboard{box-sizing:border-box;color:var(--cfg-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;margin:0;max-width:100%;width:100%}.config-fit .config-dashboard{margin:0!important;padding:0!important}.config-header{grid-gap:18px;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--cfg-brand) 11%,var(--cfg-card)) 0,var(--cfg-card) 55%,color-mix(in srgb,var(--cfg-brand) 5%,var(--cfg-card)) 100%);border:1px solid var(--cfg-border);border-radius:24px;box-shadow:var(--cfg-shadow);display:grid;gap:18px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:18px;padding:22px}.config-title-row{align-items:center;display:flex;gap:14px;min-width:0}.config-title-badge{background:linear-gradient(145deg,var(--cfg-brand),var(--cfg-brand-dark));border-radius:16px;box-shadow:0 14px 26px color-mix(in srgb,var(--cfg-brand) 34%,#0000);color:#fff;display:grid;flex:0 0 auto;font-size:20px;height:48px;place-items:center;width:48px}.config-page-title{color:var(--cfg-text);font-size:clamp(26px,3vw,40px);font-weight:950;letter-spacing:-.04em;line-height:1.02;margin:0}.config-page-subtitle{color:var(--cfg-muted);font-size:14px;font-weight:600;margin:6px 0 0}.config-toggle-segment{align-items:center;background:color-mix(in srgb,var(--cfg-card),var(--cfg-brand) 6%);border:1px solid color-mix(in srgb,var(--cfg-brand) 24%,var(--cfg-border));border-radius:18px;display:inline-flex;gap:7px;padding:7px}.seg-btn{background:#0000;border:0;border-radius:13px;color:color-mix(in srgb,var(--cfg-text),var(--cfg-muted) 20%);cursor:pointer;font-size:12px;font-weight:950;padding:10px 14px}.seg-btn.is-active{background:linear-gradient(145deg,var(--cfg-brand),var(--cfg-brand-dark));box-shadow:0 10px 20px color-mix(in srgb,var(--cfg-brand) 26%,#0000);color:#fff}.config-overview-strip{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.config-overview-card{align-items:center;background:linear-gradient(180deg,color-mix(in srgb,var(--cfg-card),#fff 5%),var(--cfg-card));border:1px solid var(--cfg-border);border-radius:20px;box-shadow:var(--cfg-shadow);display:flex;gap:14px;padding:16px}.config-overview-icon{background:linear-gradient(145deg,var(--cfg-brand),var(--cfg-brand-dark));border-radius:14px;box-shadow:0 10px 18px color-mix(in srgb,var(--cfg-brand) 26%,#0000);color:#fff;display:grid;height:42px;place-items:center;width:42px}.config-overview-card span{color:var(--cfg-muted);display:block;font-size:11px;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.config-overview-card strong{color:var(--cfg-text);display:block;font-size:18px;font-weight:950;margin-top:3px}.stack-sections{grid-gap:16px;display:grid;gap:16px}.nrg-card,.section-card{background:linear-gradient(180deg,color-mix(in srgb,var(--cfg-card),#fff 5%),var(--cfg-card));border:1px solid var(--cfg-border);border-radius:22px;box-shadow:var(--cfg-shadow);color:var(--cfg-text);overflow:hidden;padding:18px}.section-card__header{align-items:flex-start;border-bottom:1px solid color-mix(in srgb,var(--cfg-border),#0000 20%);display:flex;gap:14px;justify-content:space-between;margin-bottom:16px;padding-bottom:14px}.section-card__header h3{color:var(--cfg-text);font-size:20px;font-weight:950;letter-spacing:-.025em;margin:0}.section-card__header p{color:var(--cfg-muted);font-size:13px;font-weight:600;line-height:1.45;margin:5px 0 0}.section-card__actions{align-items:center;display:flex;flex-wrap:wrap;gap:9px}.ghost-btn,.icon-btn,.log-button,.primary-btn{align-items:center;border-radius:13px;cursor:pointer;display:inline-flex;font-weight:950;gap:8px;justify-content:center;min-height:40px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.icon-btn{background:color-mix(in srgb,var(--cfg-brand) 8%,var(--cfg-card));border:1px solid color-mix(in srgb,var(--cfg-brand) 22%,var(--cfg-border));box-shadow:0 8px 18px color-mix(in srgb,var(--cfg-text) 7%,#0000);color:color-mix(in srgb,var(--cfg-brand) 70%,var(--cfg-text));padding:0;width:42px}.primary-btn{background:linear-gradient(145deg,var(--cfg-brand),var(--cfg-brand-dark));border:0;box-shadow:0 12px 24px color-mix(in srgb,var(--cfg-brand) 26%,#0000);color:#fff;padding:10px 15px}.ghost-btn{background:var(--cfg-card);border:1px solid var(--cfg-border);color:var(--cfg-text);padding:10px 15px}.ghost-btn:hover,.icon-btn:hover,.log-button:hover,.primary-btn:hover{transform:translateY(-1px)}.field-grid{--tile-min:280px;grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(var(--tile-min),1fr))}.field-card{grid-gap:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--cfg-card),var(--cfg-brand) 3%),var(--cfg-input));border:1px solid color-mix(in srgb,var(--cfg-border),#0000 10%);border-radius:17px;display:grid;gap:8px;min-height:88px;padding:14px;position:relative;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.field-card:hover{border-color:color-mix(in srgb,var(--cfg-brand) 45%,var(--cfg-border));box-shadow:0 12px 24px color-mix(in srgb,var(--cfg-brand) 10%,#0000);transform:translateY(-1px)}.field-label{color:var(--cfg-muted);font-size:11px;font-weight:950;letter-spacing:.07em;line-height:1.35;text-transform:uppercase}.kv-text{color:var(--cfg-text);font-size:16px;font-weight:900;word-break:break-word}.field-control input,.field-control select{background:var(--cfg-card);border:1px solid var(--cfg-border);border-radius:13px;color:var(--cfg-text);font-size:14px;font-weight:750;min-height:40px;outline:none;padding:9px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.field-control input:focus,.field-control select:focus{border-color:color-mix(in srgb,var(--cfg-brand) 70%,var(--cfg-border));box-shadow:0 0 0 4px color-mix(in srgb,var(--cfg-brand) 16%,#0000)}.field-control input::-webkit-file-upload-button{background:var(--cfg-input);border:1px solid var(--cfg-border);border-radius:10px;color:var(--cfg-text);cursor:pointer;margin-right:10px;padding:7px 10px}.field-control input::file-selector-button{background:var(--cfg-input);border:1px solid var(--cfg-border);border-radius:10px;color:var(--cfg-text);cursor:pointer;margin-right:10px;padding:7px 10px}.empty-config-state{background:var(--cfg-input);border:1px dashed var(--cfg-border);border-radius:17px;color:var(--cfg-muted);display:grid;font-weight:800;grid-column:1/-1;min-height:110px;padding:22px;place-items:center}.status-chip{border-radius:999px;color:#fff;font-size:12px;font-weight:900;margin-left:auto;padding:7px 11px}.status-chip.running{background:#16a34a}.status-chip.stopped{background:#ef4444}.sub-section-header{color:var(--cfg-text);font-size:16px;font-weight:950;margin:18px 0 12px}.modal-overlay{align-items:center;background:#020617ad;display:flex;height:100vh;inset:0;justify-content:center;padding:16px;position:fixed;width:100vw;z-index:999}.logs-modal{background:var(--cfg-card);border:1px solid var(--cfg-border);border-radius:20px;box-shadow:0 24px 60px #00000059;color:var(--cfg-text);max-height:82vh;overflow-y:auto;padding:20px;width:min(1100px,96vw)}.logs-modal h3{margin:0 0 12px}.logs-modal pre{background:var(--cfg-input);border:1px solid var(--cfg-border);border-radius:14px;color:var(--cfg-text);max-height:56vh;overflow:auto;padding:14px;white-space:pre-wrap;word-break:break-word}.log-button{background:var(--cfg-brand);border:0;color:#fff;padding:9px 15px}.dark .config-dashboard,[data-theme=dark] .config-dashboard{--cfg-input:color-mix(in srgb,var(--cfg-card),#fff 5%)}.dark .config-header,.dark .config-overview-card,.dark .nrg-card,.dark .section-card,[data-theme=dark] .config-header,[data-theme=dark] .config-overview-card,[data-theme=dark] .nrg-card,[data-theme=dark] .section-card{background:linear-gradient(180deg,color-mix(in srgb,var(--cfg-card),#fff 4%),var(--cfg-card))}@media (max-width:1100px){.config-overview-strip{grid-template-columns:1fr}}@media (max-width:900px){.config-fit{padding:14px}.config-header{grid-template-columns:1fr;padding:18px}.config-toggle-segment{justify-content:stretch;width:100%}.seg-btn{flex:1 1}.field-grid{--tile-min:230px}}@media (max-width:640px){.config-fit{padding:10px}.config-header{border-radius:20px;padding:16px}.config-title-row{align-items:flex-start}.config-title-badge{border-radius:14px;height:42px;width:42px}.field-grid{--tile-min:100%}.section-card{border-radius:20px;padding:15px}.section-card__header{align-items:stretch;flex-direction:column}.section-card__actions{width:100%}.ghost-btn,.primary-btn{flex:1 1}}.manual-dispatch-page{color:var(--text);display:flex;flex-direction:column;gap:18px;width:100%}.manual-control-card,.manual-dispatch-hero,.manual-live-card,.manual-schedule-card,.manual-summary-card{background:linear-gradient(145deg,color-mix(in srgb,var(--card),var(--bg) 8%),color-mix(in srgb,var(--card),var(--brand) 3%));border:1px solid color-mix(in srgb,var(--border),var(--brand) 18%);border-radius:22px;box-shadow:var(--shadow)}.manual-dispatch-hero{align-items:flex-start;display:flex;gap:18px;justify-content:space-between;overflow:hidden;padding:24px;position:relative}.manual-dispatch-hero:after{background:radial-gradient(circle,color-mix(in srgb,var(--brand) 22%,#0000),#0000 70%);content:"";height:260px;inset:auto -80px -120px auto;pointer-events:none;position:absolute;width:360px}.manual-eyebrow{align-items:center;background:color-mix(in srgb,var(--brand) 12%,var(--card));border:1px solid color-mix(in srgb,var(--brand) 28%,var(--border));border-radius:999px;color:var(--brand);display:inline-flex;font-size:12px;font-weight:900;gap:8px;letter-spacing:.08em;padding:7px 12px;text-transform:uppercase}.manual-dispatch-hero h1{font-size:clamp(30px,4vw,48px);letter-spacing:-.05em;line-height:1;margin:14px 0 8px}.manual-card-header p,.manual-dispatch-hero p,.manual-help-card p,.manual-live-grid small,.manual-summary-card small{color:var(--muted)}.manual-dispatch-hero p{font-size:16px;line-height:1.6;margin:0;max-width:720px}.manual-hero-actions,.manual-live-actions,.manual-tabs,.manual-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.manual-btn,.manual-tabs button,.manual-toolbar button{align-items:center;background:var(--card);border:1px solid color-mix(in srgb,var(--border),var(--brand) 18%);border-radius:14px;color:var(--text);cursor:pointer;display:inline-flex;font-weight:900;gap:8px;justify-content:center;padding:11px 14px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.manual-btn:hover,.manual-tabs button:hover,.manual-toolbar button:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--border));box-shadow:0 12px 24px color-mix(in srgb,var(--brand) 14%,#0000);transform:translateY(-1px)}.manual-btn.primary,.manual-tabs button.active{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 70%,#064e3b));border-color:#0000;color:#fff}.manual-btn.danger{background:linear-gradient(135deg,#ef4444,#b91c1c);border-color:#0000;color:#fff}.manual-btn:disabled{cursor:not-allowed;opacity:.65}.manual-status-banner{align-items:center;background:color-mix(in srgb,var(--brand) 12%,var(--card));border:1px solid color-mix(in srgb,var(--brand) 28%,var(--border));border-radius:16px;color:color-mix(in srgb,var(--brand) 70%,var(--text));display:flex;font-weight:800;gap:10px;padding:12px 14px}.manual-summary-strip{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.manual-summary-card{padding:16px}.manual-field-label,.manual-summary-card span:first-child{color:var(--muted);display:block;font-size:12px;font-weight:900;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.manual-summary-card strong{align-items:center;display:flex;font-size:18px;gap:8px}.manual-summary-card strong span{border-radius:50%;height:12px;width:12px}.manual-dispatch-layout{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:minmax(320px,430px) minmax(0,1fr)}.manual-control-card,.manual-live-card,.manual-schedule-card{padding:18px}.manual-card-header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px}.manual-card-header h2{font-size:22px;letter-spacing:-.03em;margin:0 0 6px}.manual-card-header p{line-height:1.5;margin:0}.manual-class-row input,.manual-input,.manual-live-grid input,.manual-live-grid select{background:color-mix(in srgb,var(--card),var(--bg) 18%);border:1px solid var(--border);border-radius:12px;color:var(--text);font-weight:800;outline:none;padding:11px 12px;width:100%}.manual-class-row input:focus,.manual-input:focus,.manual-live-grid input:focus,.manual-live-grid select:focus{border-color:color-mix(in srgb,var(--brand) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,#0000)}.manual-class-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.manual-class-row{grid-gap:10px;align-items:center;background:color-mix(in srgb,var(--card),var(--bg) 10%);border:1px solid var(--border);border-radius:16px;cursor:pointer;display:grid;gap:10px;grid-template-columns:42px minmax(0,1fr) 96px 28px;padding:10px}.manual-class-row.active{background:color-mix(in srgb,var(--brand) 10%,var(--card));border-color:color-mix(in srgb,var(--brand) 55%,var(--border))}.manual-class-chip{border:0;border-radius:14px;box-shadow:0 10px 22px color-mix(in srgb,var(--text) 14%,#0000);color:#fff;font-weight:950;height:38px;width:38px}.manual-class-meta small,.manual-class-meta strong{display:block}.manual-class-meta small{color:var(--muted);font-size:12px}.manual-help-card{background:color-mix(in srgb,var(--brand) 9%,var(--card));border:1px dashed color-mix(in srgb,var(--brand) 32%,var(--border));border-radius:16px;display:flex;gap:12px;margin-top:16px;padding:14px}.manual-help-card svg{color:var(--brand);margin-top:3px}.manual-help-card p,.manual-help-card strong{margin:0}.manual-toolbar{margin-bottom:14px}.manual-grid-shell{background:color-mix(in srgb,var(--bg),var(--card) 28%);border:1px solid color-mix(in srgb,var(--border),var(--brand) 12%);border-radius:16px;overflow:auto;padding:14px}.manual-schedule-table{min-width:920px;-webkit-user-select:none;user-select:none}.manual-schedule-header-row,.manual-schedule-row{grid-gap:3px;align-items:center;display:grid;gap:3px;grid-template-columns:52px repeat(24,1fr)}.manual-schedule-header-row{margin-bottom:6px}.manual-hour-cell,.manual-month-cell{color:var(--muted);font-size:11px;font-weight:900;text-align:center}.manual-month-cell{align-items:center;display:flex;height:24px;justify-content:center}.manual-grid-cell{background:var(--cell-color);border:0;border-radius:6px;box-shadow:inset 0 -8px 14px #0000001f;color:#fff;cursor:crosshair;font-size:11px;font-weight:950;height:24px;min-width:28px}.manual-grid-cell.charge{filter:saturate(1.05)}.manual-grid-cell.idle{opacity:.82}.manual-live-grid{grid-gap:14px;align-items:end;display:grid;gap:14px;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(180px,.8fr) auto}.manual-live-grid label span,.manual-live-preview span{color:var(--muted);display:block;font-size:12px;font-weight:900;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.manual-live-grid small{display:block;font-size:12px;margin-top:7px}.manual-live-preview{background:color-mix(in srgb,var(--brand) 7%,var(--card));border:1px solid var(--border);border-radius:16px;padding:13px 14px}.manual-live-preview strong{display:block;font-size:24px;line-height:1.05}.manual-live-badge{align-items:center;background:color-mix(in srgb,#f59e0b 14%,var(--card));border:1px solid color-mix(in srgb,#f59e0b 35%,var(--border));border-radius:999px;color:#b45309;display:inline-flex;font-weight:900;gap:8px;padding:8px 11px;white-space:nowrap}[data-theme=dark] .manual-live-badge,body.dark .manual-live-badge{color:#fcd34d}@media (max-width:1180px){.manual-dispatch-layout,.manual-live-grid,.manual-summary-strip{grid-template-columns:1fr}.manual-live-actions{justify-content:flex-start}}@media (max-width:720px){.manual-dispatch-page{gap:12px}.manual-control-card,.manual-dispatch-hero,.manual-live-card,.manual-schedule-card{border-radius:18px;padding:14px}.manual-card-header,.manual-dispatch-hero{flex-direction:column}.manual-dispatch-hero h1{font-size:30px}.manual-btn,.manual-hero-actions,.manual-live-actions,.manual-toolbar,.manual-toolbar button{width:100%}.manual-class-row{grid-template-columns:40px minmax(0,1fr)}.manual-class-row input,.manual-class-row>span:last-child{grid-column:2}.manual-live-badge{white-space:normal}}:root{--brand-green:#16a34a;--brand-green-700:#0f7a36;--brand-mint:#eaf7f0;--ink-900:#0f172a;--ink-700:#334155;--ink-500:#64748b;--ink-300:#cbd5e1;--surface:#fff}*,:after,:before{box-sizing:border-box}.login-page{align-items:center;background:radial-gradient(1200px 800px at 10% 10%,#f4fbf7 0,#fff 55%),radial-gradient(1200px 800px at 90% 90%,#f0fff7 0,#fff 50%);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.bg-grid{background-image:linear-gradient(90deg,#16a34a0f 1px,#0000 0),linear-gradient(180deg,#16a34a0f 1px,#0000 0);background-size:24px 24px;inset:0}.bg-blob,.bg-grid{pointer-events:none;position:absolute}.bg-blob{animation:float 14s ease-in-out infinite;filter:blur(50px);opacity:.35;transform:translateZ(0)}.bg-blob-1{background:radial-gradient(circle at 30% 30%,#34d399,#16a34a);background:radial-gradient(circle at 30% 30%,#34d399,var(--brand-green));border-radius:50%;height:420px;left:-100px;top:-120px;width:420px}.bg-blob-2{background:radial-gradient(circle at 60% 40%,#86efac,#22c55e);border-radius:45%;bottom:-140px;height:520px;right:-120px;width:520px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.login-container{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffb3;border:1px solid #16a34a1f;border-radius:18px;box-shadow:0 20px 40px #02061714,0 2px 8px #0206170a;display:flex;min-height:560px;overflow:hidden;width:min(1100px,92vw)}.login-left{align-items:flex-start;background:linear-gradient(135deg,#16a34a,#0f7a36);background:linear-gradient(135deg,var(--brand-green) 0,var(--brand-green-700) 100%);color:#fff;display:flex;flex:1 1;flex-direction:column;gap:16px;justify-content:center;padding:36px 40px;position:relative}.brand-pill{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff29;border:1px solid #ffffff47;border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff0f;display:flex;gap:10px;margin-bottom:1px;padding:10px 14px}.login-left .brand-pill .app-icon{border-radius:12px;height:84px;width:84px}.login-left .headline{margin-bottom:1px}.login-left .headline,.tagline{display:block;-webkit-hyphens:none;hyphens:none;white-space:nowrap;word-break:keep-all}.tagline{font-size:14px;line-height:1.6;margin-bottom:10px;margin-top:0;max-width:36ch;opacity:.95}.feature-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0 0 32px;padding:0}.feature-list li{align-items:center;background:#ffffff1f;border:1px solid #ffffff29;border-radius:10px;display:flex;font-weight:600;gap:10px;padding:10px 12px}.feature-list svg{font-size:18px}.company-logo{filter:drop-shadow(0 4px 10px rgba(0,0,0,.2));margin-top:auto;opacity:.95;width:74px}.copyright{font-size:12px;margin-top:6px;opacity:.85}.login-right{align-items:center;background:linear-gradient(180deg,#fff,#f8fffb);display:flex;flex:1.15 1;justify-content:center;padding:28px}.login-box{border-radius:16px;padding:26px 24px;width:min(420px,92%)}.glass{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffa6;border:1px solid #16a34a24;box-shadow:0 14px 34px #02061714,inset 0 1px 0 #ffffffb3}.box-header{align-items:flex-start;display:flex;flex-direction:column;gap:2px;margin-bottom:14px;position:relative}.brand-dot{background:linear-gradient(90deg,#16a34a,#22c55e);background:linear-gradient(90deg,var(--brand-green),#22c55e);border-radius:999px;height:6px;margin-bottom:6px;width:40px}.login-box h2{color:#0f172a;color:var(--ink-900);font-size:22px;margin:0}.subtle{color:#64748b;color:var(--ink-500);font-size:13px;margin:0}.auth-form{grid-row-gap:8px;display:grid;grid-auto-rows:-webkit-max-content;grid-auto-rows:max-content;row-gap:8px;width:100%}.input-label{color:#334155;color:var(--ink-700);display:block;font-size:12px;font-weight:600;letter-spacing:.2px;margin:10px 2px 4px;text-align:left}.login-box input{background:#fff;border:1px solid #cbd5e1;border:1px solid var(--ink-300);border-radius:10px;display:block;font-size:14px;padding:12px;transition:box-shadow .2s,border-color .2s,transform .02s;width:100%!important}.login-box input:focus{border-color:#16a34a;border-color:var(--brand-green);box-shadow:0 0 0 3px #16a34a26;outline:none}.password-container{display:block;position:relative;width:100%}.password-container input{padding-right:44px}.toggle-password{color:#64748b;color:var(--ink-500);cursor:pointer;font-size:18px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.toggle-password:hover{color:#334155;color:var(--ink-700)}.login-button{background:linear-gradient(90deg,#16a34a,#22c55e);background:linear-gradient(90deg,var(--brand-green),#22c55e);border:none;border-radius:12px;box-shadow:0 8px 20px #16a34a3d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:16px;padding:12px;transition:transform .04s ease,box-shadow .2s ease;width:100%}.login-button:hover{box-shadow:0 10px 28px #16a34a4d}login-button:active{transform:translateY(1px)}.extra-links{display:flex;justify-content:flex-end;margin-top:10px}.back-to-login a,.forgot-password{color:#16a34a;color:var(--brand-green);font-size:14px;font-weight:600;text-decoration:none}.back-to-login a:hover,.forgot-password:hover{text-decoration:underline}.error{background:#fee2e2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c;font-size:13px;margin:4px 0 10px;padding:8px 10px}@media (max-width:900px){.login-container{flex-direction:column;min-height:auto}.login-left{align-items:center;padding-left:24px;padding-right:24px;text-align:center}.tagline{max-width:48ch}.login-right{padding:18px 16px 28px}.login-page{min-height:100svh;overflow-x:hidden;overflow-y:auto;padding:14px}.login-container{border-radius:22px;max-width:100%;overflow:visible;width:min(100%,520px)}.login-left{min-width:0;overflow:visible;padding:24px 18px 20px;width:100%}.login-left .brand-pill .app-icon{height:58px;width:58px}.login-left .headline{font-size:clamp(1.42rem,6.3vw,2.15rem);-webkit-hyphens:none;hyphens:none;letter-spacing:-.03em;line-height:1.08;margin:0;max-width:100%;overflow:visible!important;overflow-wrap:normal;word-break:normal}.login-left .headline,.tagline{text-align:center;text-overflow:clip!important;white-space:normal!important;width:100%}.tagline{font-size:clamp(.9rem,3.7vw,1rem);line-height:1.45;margin:0 auto 10px;max-width:34rem;overflow:visible!important}.feature-list{margin-bottom:18px;max-width:360px;width:100%}.feature-list li{justify-content:center;text-align:center}}@media (max-width:420px){.login-page{padding:10px}.login-left{gap:12px;padding:20px 14px 18px}.login-left .headline{font-size:clamp(1.25rem,7vw,1.75rem)}.login-right{padding:12px}.login-box{padding:20px 16px;width:100%}}:root .profile-popup{--pp-bg:var(--card);--pp-text:var(--text);--pp-muted:var(--muted,#64748b);--pp-border:var(--border,#e5e7eb);--pp-brand:var(--brand,#16a34a);--pp-shadow:var(--shadow,0 8px 24px #0000002e);--pp-soft:color-mix(in srgb,var(--pp-bg),var(--bg) 35%)}.profile-popup{background-color:var(--pp-bg);border:1px solid var(--pp-border);border-radius:12px;box-shadow:var(--pp-shadow);color:var(--pp-text);padding:14px 16px;position:absolute;right:20px;top:70px;width:260px;z-index:999}.profile-title{color:var(--pp-text);font-size:18px;font-weight:900;letter-spacing:.2px;margin:0 0 10px}.profile-row{align-items:center;background:var(--pp-soft);border:1px solid var(--pp-border);border-radius:10px;display:flex;gap:10px;justify-content:space-between;margin-bottom:8px;padding:8px 10px}.profile-label{color:var(--pp-muted);font-size:12px;font-weight:800}.profile-value{color:var(--pp-text);font-size:14px;font-weight:800;text-align:right;word-break:break-word}.profile-chip{background:color-mix(in srgb,var(--pp-brand) 16%,var(--pp-bg));border:1px solid color-mix(in srgb,var(--pp-brand) 35%,var(--pp-border));border-radius:999px;color:color-mix(in srgb,var(--pp-brand) 75%,#000);font-size:12px;font-weight:800;padding:3px 10px}.profile-btn{border:0;border-radius:10px;cursor:pointer;font-weight:900;margin-top:6px;padding:10px 12px;transition:filter .15s ease;width:100%}.profile-btn:hover{filter:brightness(1.05)}.close-btn{background:var(--pp-bg);border:1px solid var(--pp-border);color:var(--pp-text)}.profile-popup:after{background:var(--pp-bg);border-left:1px solid var(--pp-border);border-top:1px solid var(--pp-border);content:"";height:14px;position:absolute;right:24px;top:-8px;transform:rotate(45deg);width:14px}@media (max-width:560px){.profile-card,.profile-menu,.profile-popup{left:auto!important;max-width:calc(100vw - 20px)!important;right:10px!important}}:root{--bg:#f4f8f4;--bg-elevated:#eef7f0;--text:#122018;--muted:#5f6f64;--card:#fffffff2;--card-strong:#fff;--border:#dbe8dc;--border-strong:#c5d8c8;--shadow:0 18px 40px #12201814;--shadow-soft:0 10px 24px #1220180d;--brand:#159447;--brand-strong:#117338;--brand-weak:#15944724;--brand-ghost:#15944714;--danger:#d64545;--danger-strong:#b92d2d;--header-height:84px;--sidebar-width:284px;--sidebar-collapsed:116px;--radius-xl:24px;--radius-lg:18px;--radius-md:14px}[data-theme=dark]{--bg:#08110d;--bg-elevated:#0d1711;--text:#ecf8ee;--muted:#9eb5a3;--card:#0e1a12f0;--card-strong:#101c14;--border:#1f3426;--border-strong:#2a4732;--shadow:0 20px 48px #00000061;--shadow-soft:0 10px 26px #00000042;--brand:#22c55e;--brand-strong:#16a34a;--brand-weak:#22c55e2e;--brand-ghost:#22c55e1c;--danger:#ef6666;--danger-strong:#dc3f3f}body,html{background:radial-gradient(circle at top left,#1594470f,#0000 24%),radial-gradient(circle at bottom right,#1594470d,#0000 26%),#f4f8f4;background:radial-gradient(circle at top left,#1594470f,#0000 24%),radial-gradient(circle at bottom right,#1594470d,#0000 26%),var(--bg);box-sizing:border-box;color:#122018;color:var(--text);margin:0;min-height:100%;overflow-x:hidden;padding:0;width:100%}*,:after,:before{box-sizing:inherit}body{font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}#root,.app-shell{min-height:100vh}.app-shell{color:#122018;color:var(--text)}.header{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;border-bottom:1px solid #dbe8dc;border-bottom:1px solid var(--border);box-shadow:0 10px 24px #1220180d;box-shadow:var(--shadow-soft);display:flex;gap:18px;height:84px;height:var(--header-height);justify-content:space-between;left:0;padding:14px 24px;position:fixed;right:0;top:0;z-index:1100}[data-theme=dark] .header{background:#0a130dd1}.header-left,.header-right{align-items:center;display:flex;min-width:0}.header-left{flex:1 1 auto;gap:14px}.brand-lockup{align-items:center;display:flex;gap:14px;min-width:0}.brand-mark-wrap{background:linear-gradient(180deg,#15944724,#1594470d);border:1px solid #dbe8dc;border:1px solid var(--border);border-radius:16px;box-shadow:inset 0 1px 0 #fff9;display:grid;flex-shrink:0;height:52px;place-items:center;width:52px}.app-icon{height:34px;object-fit:contain;width:34px}.header-text{min-width:0}.brand-eyebrow{color:#159447;color:var(--brand);display:inline-block;font-size:11px;font-weight:800;letter-spacing:.16em;margin-bottom:4px;text-transform:uppercase}.header-text h1{color:#122018;color:var(--text);font-size:1.22rem;line-height:1.1;margin:0}.header-text p{color:#5f6f64;color:var(--muted);font-size:.84rem;margin:4px 0 0;max-width:min(50vw,680px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right{flex:0 0 auto;gap:12px}.collapse-button,.mobile-menu-button,.profile-trigger,.theme-toggle{background:#fffffff2;background:var(--card);border:1px solid #dbe8dc;border:1px solid var(--border);border-radius:14px;color:#122018;color:var(--text);cursor:pointer;transition:border-color .2s ease,transform .08s ease,box-shadow .2s ease,background .2s ease}.collapse-button,.mobile-menu-button,.profile-trigger{display:none;justify-content:center;width:52px}.collapse-button,.mobile-menu-button,.profile-trigger,.theme-toggle{align-items:center;box-shadow:0 10px 24px #1220180d;box-shadow:var(--shadow-soft);height:52px}.theme-toggle{display:inline-flex;font-weight:700;gap:8px;padding:0 14px}.collapse-button:hover,.header-location-select:hover,.mobile-menu-button:hover,.profile-trigger:hover,.theme-toggle:hover{border-color:#159447;border-color:var(--brand);box-shadow:0 0 0 4px #15944724;box-shadow:0 0 0 4px var(--brand-weak)}.collapse-button:active,.mobile-menu-button:active,.profile-trigger:active,.theme-toggle:active{transform:translateY(1px)}.profile-trigger{display:inline-flex}.collapse-button .icon,.mobile-menu-button svg{font-size:1.6rem}.theme-toggle-text{font-size:14px}.header-location{min-width:220px}.header-location-select-wrap{position:relative;width:min(320px,28vw)}.header-location-floating{color:#5f6f64;color:var(--muted);font-size:10px;font-weight:800;left:38px;letter-spacing:.04em;pointer-events:none;position:absolute;text-transform:uppercase;top:7px;z-index:2}.header-location-icon{color:#159447;color:var(--brand);font-size:14px;left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-20%)}.header-location-select{-webkit-appearance:none;appearance:none;background:#fffffff2;background:var(--card);border:1px solid #dbe8dc;border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 24px #1220180d;box-shadow:var(--shadow-soft);color:#122018;color:var(--text);font-weight:800;height:52px;outline:none;padding:22px 40px 10px 38px;width:100%}.header-location-select-wrap:after{color:#5f6f64;color:var(--muted);content:"▾";pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-20%)}.company-logo-link{align-items:center;display:inline-flex}.company-logo{height:54px;object-fit:contain;width:auto}.main-container{display:flex;min-height:100vh;padding-top:84px;padding-top:var(--header-height)}.sidebar{background:linear-gradient(180deg,#fff,#fffffff2);background:linear-gradient(180deg,var(--card-strong),var(--card));border-right:1px solid #dbe8dc;border-right:1px solid var(--border);bottom:0;box-shadow:0 10px 24px #1220180d;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:16px;left:0;overflow-y:auto;padding:18px 16px 20px;position:fixed;top:84px;top:var(--header-height);transition:width .22s ease,transform .22s ease;width:284px;width:var(--sidebar-width);z-index:1000}.sidebar.collapsed{width:116px;width:var(--sidebar-collapsed)}.sidebar-top{display:flex;justify-content:center;padding:4px 0 10px}.collapse-button{display:inline-flex}.sidebar-section-label{color:#5f6f64;color:var(--muted);font-size:13px;font-weight:900;letter-spacing:.08em;padding:0 10px;text-transform:uppercase}.nav-link{display:block;margin-bottom:10px}.nav-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:16px;color:#122018;color:var(--text);display:flex;gap:16px;min-height:62px;padding:0 16px;transition:background .18s ease,border-color .18s ease,transform .08s ease,box-shadow .18s ease,color .18s ease}.nav-item .icon{color:#159447;color:var(--brand);flex-shrink:0;font-size:1.52rem}.link-text{font-size:1.12rem;font-weight:900;white-space:nowrap}.exit-button:hover,.nav-link.active .nav-item,.nav-link:hover .nav-item{background:linear-gradient(180deg,#15944714,#1594470a);background:linear-gradient(180deg,var(--brand-ghost),#1594470a);border-color:color-mix(in srgb,#159447 35%,#dbe8dc);border-color:color-mix(in srgb,var(--brand) 35%,var(--border));box-shadow:0 10px 24px #1220180d;box-shadow:var(--shadow-soft)}.exit-button:hover,.nav-link:hover .nav-item{transform:translateY(-1px)}.nav-link.active .nav-item,.nav-link.active .nav-item .icon{color:#117338;color:var(--brand-strong)}.sidebar.collapsed .nav-item{justify-content:center;min-height:66px;padding-inline:0}.sidebar.collapsed .sidebar-section-label{font-size:11px;padding-inline:0;text-align:center}.sidebar.collapsed .link-text{display:none}.sidebar-footer{grid-gap:12px;display:grid;gap:12px;margin-top:auto}.sidebar-site-summary{background:linear-gradient(180deg,#1594471f,#1594470a);border:1px solid color-mix(in srgb,#159447 24%,#dbe8dc);border:1px solid color-mix(in srgb,var(--brand) 24%,var(--border));border-radius:18px;box-shadow:0 10px 24px #1220180d;box-shadow:var(--shadow-soft);padding:16px}.sidebar-site-label{color:#5f6f64;color:var(--muted);display:block;font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.sidebar-site-summary strong{color:#122018;color:var(--text);display:block;font-size:1.02rem;line-height:1.35;word-break:break-word}.sidebar-site-summary.compact{display:grid;justify-items:center;padding:12px 10px;text-align:center}.sidebar-site-summary.compact .sidebar-site-label{font-size:10px;margin-bottom:4px}.sidebar-site-summary.compact strong{display:block;font-size:.78rem;line-height:1.2;overflow-wrap:anywhere;width:100%}.exit-button{background:#d6454514;border:1px solid #d6454538;justify-content:flex-start;width:100%}.exit-button,.exit-button .icon{color:#b92d2d;color:var(--danger-strong)}.sidebar.collapsed .exit-button{justify-content:center;padding-inline:0}.sidebar.collapsed .exit-button .link-text{display:none}.content{background:#0000;flex:1 1;margin-left:284px;margin-left:var(--sidebar-width);min-height:calc(100vh - 84px);min-height:calc(100vh - var(--header-height));min-width:0;padding:24px;transition:margin-left .22s ease}.sidebar.collapsed~.content{margin-left:116px;margin-left:var(--sidebar-collapsed)}.content>*{max-width:100%}.mobile-overlay{background:#08110d6b;inset:84px 0 0 0;inset:var(--header-height) 0 0 0;opacity:0;pointer-events:none;position:fixed;transition:opacity .2s ease;visibility:hidden;z-index:950}.mobile-overlay.show{opacity:1;pointer-events:auto;visibility:visible}@media (max-width:1200px){.header-location-select-wrap{width:min(270px,26vw)}}@media (max-width:980px){:root{--header-height:76px}.header{padding:12px 16px}.mobile-menu-button{display:inline-flex}.collapse-button,.company-logo-link,.header-text p,.theme-toggle-text{display:none}.header-right{gap:8px}.header-location{min-width:0}.header-location-select-wrap{width:min(220px,42vw)}.sidebar{transform:translateX(-102%);width:min(292px,82vw)}.sidebar.mobile-open{transform:translateX(0)}.sidebar.collapsed{width:min(292px,82vw)}.sidebar-site-summary.compact .sidebar-site-label,.sidebar-site-summary.compact strong,.sidebar.collapsed .link-text{display:block}.sidebar.collapsed .sidebar-section-label{font-size:13px;padding:0 10px;text-align:left}.sidebar.collapsed .nav-item{justify-content:flex-start;padding-inline:14px}.content,.sidebar.collapsed~.content{margin-left:0;padding:18px 14px 20px}}@media (max-width:640px){.header{gap:10px}.header-text h1{font-size:1rem}.brand-eyebrow{font-size:10px}.brand-mark-wrap{border-radius:14px;height:46px;width:46px}.header-location-select-wrap{width:min(170px,48vw)}.header-location-select{font-size:14px;height:46px;padding-bottom:8px;padding-top:18px}.mobile-menu-button,.profile-trigger,.theme-toggle{border-radius:12px;height:40px;min-width:40px}.theme-toggle{padding:0 10px}.content{padding:14px 10px 18px}}@media (max-width:980px){#root,.app-shell,.content,.main-container,body,html{max-width:100%;overflow-x:hidden;width:100%}.header{min-height:84px;min-height:var(--header-height)}.sidebar{color:#122018;color:var(--text);max-width:86vw}.sidebar.mobile-open{box-shadow:24px 0 50px #00000038}.sidebar .nav-item,.sidebar.collapsed .nav-item{border-radius:14px;min-height:54px;padding-inline:14px}.sidebar .nav-item .icon{font-size:1.25rem}.sidebar .link-text{display:inline!important;font-size:1rem}.sidebar-site-summary.compact{justify-items:start;text-align:left}.mobile-overlay{z-index:990}}@media (max-width:720px){:root{--header-height:118px}.header{grid-gap:8px;align-content:center;display:grid;gap:8px;grid-template-columns:1fr;padding:10px 12px}.header-left,.header-right{width:100%}.header-left{grid-gap:10px;display:grid;gap:10px;grid-template-columns:40px minmax(0,1fr)}.brand-lockup{gap:10px;min-width:0}.brand-mark-wrap{border-radius:12px;height:40px;width:40px}.app-icon{height:28px;width:28px}.brand-eyebrow,.header-text p{display:none}.header-text h1{font-size:.98rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 40px 40px}.header-location{min-width:0;width:100%}.header-location-select-wrap{width:100%}.header-location-select{border-radius:13px;font-size:12px;height:42px;min-width:0;padding:17px 32px 7px 34px}.header-location-floating{font-size:8.5px;left:34px;top:5px}.header-location-icon{font-size:12px;left:12px}.mobile-menu-button,.profile-trigger,.theme-toggle{height:40px;justify-content:center;min-width:40px;padding:0;width:40px}.theme-toggle-text{display:none!important}.content,.sidebar.collapsed~.content{min-height:calc(100svh - 84px);min-height:calc(100svh - var(--header-height));padding:12px 10px 20px}.mobile-overlay{inset:84px 0 0 0;inset:var(--header-height) 0 0 0}.sidebar{padding:14px 12px 16px;top:84px;top:var(--header-height);width:min(292px,88vw)}}@media (max-width:420px){:root{--header-height:112px}.header{padding-inline:10px}.header-left{grid-template-columns:38px minmax(0,1fr)}.brand-mark-wrap{height:38px;width:38px}.header-text h1{font-size:.9rem;letter-spacing:-.02em}.header-right{gap:7px;grid-template-columns:minmax(0,1fr) 38px 38px}.mobile-menu-button,.profile-trigger,.theme-toggle{height:38px;min-width:38px;width:38px}.header-location-select{font-size:11.5px}}.sidebar .link-text,.sidebar .sidebar-section-label,.sidebar .sidebar-site-label,.sidebar .sidebar-site-summary strong{color:#122018!important;color:var(--text)!important;opacity:1!important;visibility:visible!important}.sidebar .nav-link .nav-item{color:#122018!important;color:var(--text)!important}.sidebar .nav-link.active .link-text,.sidebar .nav-link.active .nav-item{color:#117338!important;color:var(--brand-strong)!important}.dark .sidebar,.dark .sidebar .link-text,.dark .sidebar .sidebar-section-label,.dark .sidebar .sidebar-site-label,.dark .sidebar .sidebar-site-summary strong,[data-theme=dark] .sidebar,[data-theme=dark] .sidebar .link-text,[data-theme=dark] .sidebar .sidebar-section-label,[data-theme=dark] .sidebar .sidebar-site-label,[data-theme=dark] .sidebar .sidebar-site-summary strong{color:#f8fafc!important}.dark .sidebar .nav-link.active .link-text,.dark .sidebar .nav-link.active .nav-item,[data-theme=dark] .sidebar .nav-link.active .link-text,[data-theme=dark] .sidebar .nav-link.active .nav-item{color:#7ee39d!important}@media (max-width:980px){.sidebar,.sidebar.collapsed{background:#fff!important;background:var(--card-strong)!important}.sidebar .link-text,.sidebar.collapsed .link-text{align-items:center;color:#122018!important;color:var(--text)!important;display:inline-flex!important;font-weight:850;min-width:0}.dark .sidebar .link-text,[data-theme=dark] .sidebar .link-text{color:#fff!important;text-shadow:0 1px 0 #00000038}}
/*# sourceMappingURL=main.bb2f0b7d.css.map*/