:root{--surface-bg:#f4f6f9;--surface-card:#fff;--surface-subtle:#f6f8fb;--border-strong:#cbd2de;--text-strong:#162033;--text-secondary:#4f5a70;--text-subtle:#7c869a;--state-success:#1f7a55;--state-success-bg:#e6f4ee;--state-warning:#a86a12;--state-warning-bg:#fbf1e1;--state-danger:#b0443c;--state-danger-bg:#fbeae8;--chart-1:#22335a;--chart-2:#5c7bb0;--chart-3:#9db3d6;--chart-4:#3e9c7a;--chart-5:#c98a2b;--chart-6:#8e6ba8;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--font-min:11px;--navy-950:#111a2e;--navy:#384974;--navy-900:#182641;--navy-800:#223150;--navy-700:#2b3c62;--navy-500:#52658f;--blue-300:#aebbd3;--blue-100:#e9edf5;--paper:#f2f4f7;--white:#fff;--ink:#1c2942;--muted:#6d7890;--border:#e1e5ed;--success:#2d795e;--danger:#b45656;--radius:14px}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);font-family:var(--font-manrope), Arial, sans-serif;background:linear-gradient(180deg, var(--surface-subtle) 0%, var(--paper) 100%);-webkit-font-smoothing:antialiased;margin:0}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #52658f4d}button:active{transform:translateY(1px)}.login-shell{background:var(--blue-100);place-items:center;min-height:100dvh;padding:0;display:grid}.login-card{background:var(--white);width:100%;min-height:100dvh;display:grid;overflow:hidden}.login-form-side{flex-direction:column;min-width:0;padding:28px 22px 24px;display:flex}.brand-logo{object-fit:contain;object-position:left center;width:112px;height:64px}.login-copy{margin:52px 0 30px}.eyebrow{color:var(--navy-500);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1}.login-copy h1{max-width:630px;color:var(--navy-900);letter-spacing:-.045em;margin:16px 0 12px;font-size:clamp(32px,8.7vw,50px);line-height:1.02}.login-copy p{max-width:560px;color:var(--muted);margin:0;font-size:14px;line-height:1.7}.login-form-side form{gap:9px;display:grid}.login-form-side label{color:var(--navy-800);font-size:13px;font-weight:700}.label-row{justify-content:space-between;align-items:center;gap:12px;margin-top:9px;display:flex}.text-button{color:var(--navy);cursor:pointer;background:0 0;border:0;padding:2px;font-size:11px;font-weight:700}.input-wrap{background:var(--surface-subtle);border:1px solid #d7dce7;border-radius:11px;align-items:center;height:53px;transition:border-color .2s,box-shadow .2s;display:flex}.input-wrap:focus-within{border-color:var(--navy-500);box-shadow:0 0 0 4px #38497414}.input-wrap input{width:100%;min-width:0;height:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:0 16px;font-size:14px}.input-wrap input::placeholder{color:#a0a9ba}.input-wrap.has-action input{padding-right:5px}.input-wrap.has-action button{width:48px;height:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.primary-button{background:var(--navy-700);color:#fff;cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:10px;height:54px;margin-top:12px;padding:0 20px;font-size:14px;font-weight:800;transition:background .2s,transform .2s;display:flex;box-shadow:0 12px 24px #2b3c6229}.primary-button svg:last-child{margin-left:auto}.primary-button:hover{background:var(--navy-800)}.primary-button:disabled{cursor:wait;opacity:.78}.form-error{color:#934343;background:#fff0f0;border-radius:8px;margin:3px 0 0;padding:10px 12px;font-size:11px;line-height:1.4}.form-success{color:#2d6d56;background:#eaf4ef;border-radius:8px;margin:3px 0 0;padding:10px 12px;font-size:11px;line-height:1.4}.security-note{color:#8a95aa;align-items:center;gap:6px;margin:auto 0 0;padding-top:36px;font-size:11px;display:flex}.login-visual-side{display:none;position:relative}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{background:var(--paper);min-height:100dvh;display:flex}.sidebar{z-index:50;background:var(--navy-900);width:min(300px,88vw);color:var(--white);flex-direction:column;padding:20px 14px 16px;transition:transform .25s;display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-102%);box-shadow:30px 0 80px #0810202e}.sidebar.open{transform:translate(0)}.mobile-scrim{z-index:45;opacity:0;visibility:hidden;background:#0a122280;border:0;transition:opacity .2s;position:fixed;inset:0}.mobile-scrim.visible{opacity:1;visibility:visible}.sidebar-top{justify-content:space-between;align-items:center;height:54px;padding:0 8px;display:flex}.sidebar .brand-logo{width:92px;height:52px}.icon-button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.close-menu{color:#fff;background:#ffffff14;border-color:#ffffff1f}.user-card div{gap:3px;min-width:0;display:grid}.user-card b{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.user-card small{color:#9ba8bf;font-size:11px}.sidebar nav{scrollbar-width:thin;scrollbar-color:#ffffff24 transparent;flex:1;overflow-y:auto}.sidebar nav::-webkit-scrollbar{width:4px}.sidebar nav::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:4px}.nav-caption{color:#71809a;letter-spacing:.12em;text-transform:uppercase;margin:0 10px 5px;font-size:11px;font-weight:800}.sidebar nav button,.sidebar-footer>button{color:#aab5c9;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;width:100%;min-height:42px;padding:0 10px;font-size:12px;font-weight:650;transition:background .15s,color .15s;display:flex;position:relative}.sidebar nav button:hover,.sidebar-footer>button:hover{color:var(--white);background:#ffffff0f}.sidebar nav button.active{color:var(--white);background:#ffffff1b}.sidebar nav button.active:before{content:"";background:#afbdd7;border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;left:0}.sidebar nav .admin-caption{border-top:1px solid #ffffff14;margin-top:12px;padding-top:10px}.sidebar-footer{border-top:1px solid #ffffff14;padding-top:10px}.user-card{align-items:center;gap:9px;padding:8px 10px 12px;display:flex}.avatar{background:var(--navy-500);border-radius:9px;flex:none;place-items:center;width:32px;height:32px;font-size:11px;font-weight:800;display:grid}.main-shell{width:100%;min-width:0;height:100dvh;overflow:hidden}.topbar{z-index:30;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:12px;height:70px;padding:0 16px;display:flex;position:sticky;top:0}.topbar-title{align-items:center;gap:11px;min-width:0;display:flex}.topbar-title>div{min-width:0}.topbar-title span{color:var(--muted);font-size:11px;display:none}.topbar-title h2{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;font-weight:800;overflow:hidden}.topbar-actions{align-items:center;gap:7px;display:flex}.search-box,.period-button,.export-button{border:1px solid var(--border);background:#fff;border-radius:9px;align-items:center;height:38px}.search-box{width:190px;color:var(--muted);gap:7px;padding:0 11px;display:none}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.period-button,.export-button{color:var(--navy-700);cursor:pointer;gap:7px;padding:0 11px;font-size:12px;font-weight:700;display:none}.export-button{color:#fff;background:var(--navy);border-color:var(--navy)}.date-filter{border:1px solid var(--border);min-width:126px;height:38px;color:var(--navy-700);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:12px;font-weight:750;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.date-filter:hover{border-color:#c5cddd;box-shadow:0 6px 18px #1f2d4a0f}.date-filter input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.date-filter.loading:after{content:"";border:2px solid #d7ddea;border-top-color:var(--navy);border-radius:50%;width:10px;height:10px;animation:.7s linear infinite spin}.topbar-date-wrapper{align-items:center;gap:6px;display:inline-flex}.date-clear-button{border:1px solid var(--border);background:var(--white);height:38px;color:var(--navy-700);cursor:pointer;border-radius:9px;padding:0 10px;font-size:11px;font-weight:750;transition:border-color .2s,background .2s}.date-clear-button:hover{background:var(--surface-subtle);border-color:#c5cddd}.bell{width:38px;height:38px;position:relative}.bell i{background:#c87468;border:1px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:8px}.dashboard-content{width:100%;max-width:1450px;height:calc(100dvh - 70px);margin:0 auto;padding:18px 15px 84px;overflow:hidden}.section-heading{flex-direction:column;gap:12px;margin-bottom:22px;display:flex}.section-heading h1{color:var(--navy-900);letter-spacing:-.04em;margin:0 0 7px;font-size:clamp(24px,7vw,32px);line-height:1.1}.section-heading p{max-width:680px;color:var(--muted);text-wrap:pretty;margin:0;font-size:13px;line-height:1.65}.source-note{width:fit-content;color:var(--muted);white-space:nowrap;background:#ffffffbd;border:1px solid #3849741f;border-radius:9px;align-items:center;gap:6px;padding:8px 11px;font-size:12px;display:flex;box-shadow:0 8px 24px #1f2d4a0a}.source-note b{color:var(--navy-500);font-weight:650;display:none}.status-dot{background:#2d9c73;border-radius:50%;flex:none;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 3px #e4f2ec}.admin-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-refresh-button{min-height:34px;color:var(--navy-700);cursor:pointer;background:#fff;border:1px solid #3849742e;border-radius:8px;align-items:center;gap:6px;padding:0 11px;font-size:11px;font-weight:800;transition:border-color .2s,background .2s,color .2s;display:inline-flex}.admin-refresh-button:hover{border-color:var(--navy-500);color:var(--navy-900);background:#f1f4f9}.admin-refresh-button:disabled{cursor:wait;opacity:.62}.executive-brief{background:linear-gradient(115deg, var(--navy-900) 0%, #223454 62%, #30446d 100%);color:#fff;border:1px solid #3849741f;border-radius:16px;gap:13px;margin:-2px 0 16px;padding:16px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 40px #1826411f}.executive-brief:after{display:none}.brief-mark{z-index:1;color:#b5c2d8;align-items:center;gap:7px;display:flex;position:relative}.brief-mark span{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:850}.brief-copy{z-index:1;max-width:760px;position:relative}.brief-copy strong{letter-spacing:-.025em;text-wrap:balance;font-size:16px;line-height:1.25;display:block}.brief-copy p{color:#b9c4d7;text-wrap:pretty;margin:6px 0 0;font-size:12px;line-height:1.6}.brief-tags{z-index:1;flex-wrap:wrap;gap:6px;display:flex;position:relative}.brief-tags span{color:#d8dfeb;background:#ffffff14;border:1px solid #ffffff29;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700}.metric-grid{grid-template-columns:1fr;gap:8px;margin-bottom:12px;display:grid}.metric-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{border-radius:var(--radius);background:#ffffffe6;border:1px solid #3849741a;min-height:108px;padding:13px 14px;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden;box-shadow:0 12px 32px #1f2d4a0e}.metric-card:hover{border-color:#38497433;transform:translateY(-2px);box-shadow:0 18px 42px #1f2d4a16}.metric-card:after{display:none}.metric-top{color:var(--muted);justify-content:space-between;align-items:center;gap:6px;font-size:12px;font-weight:650;display:flex}.metric-top>span{overflow-wrap:break-word;min-width:0}.metric-top button{color:#a6afc0;cursor:pointer;background:0 0;border:0;flex:none;padding:2px}.metric-value{align-items:baseline;gap:7px;margin-top:10px;display:flex}.metric-value strong{color:var(--navy-900);letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:clamp(20px,2.5vw,30px)}.metric-value span{color:var(--muted);font-size:12px;font-weight:650}.metric-change{z-index:1;width:fit-content;color:var(--success);background:#e8f3ee;border-radius:6px;align-items:center;gap:3px;margin-top:8px;padding:4px 7px;font-size:11px;font-weight:750;display:flex;position:relative}.metric-change.down{color:var(--danger);background:#f7eaea}.metric-change.down svg{transform:rotate(90deg)}.dashboard-grid{grid-template-columns:1fr;gap:12px;display:grid}.chart-card{border-radius:var(--radius);background:#ffffffeb;border:1px solid #3849741a;min-width:0;margin-bottom:12px;padding:17px;transition:border-color .2s,box-shadow .2s;box-shadow:0 12px 34px #1f2d4a0d}.chart-card:hover{border-color:#3849742e;box-shadow:0 17px 42px #1f2d4a12}.dashboard-grid .chart-card{margin-bottom:0}.chart-card>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 12px;min-height:45px;margin-bottom:15px;display:flex}.chart-card>header>div:first-child{flex:220px;min-width:0}.chart-card h3{min-width:0;color:var(--navy-900);letter-spacing:-.02em;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:15px;font-weight:800;display:inline-flex}.chart-card header p{color:var(--muted);margin:5px 0 0;font-size:12px}.info-tip{display:inline-flex;position:relative}.info-tip button{color:#a6afc0;cursor:pointer;background:0 0;border:0;padding:1px;display:inline-flex}.info-tip button:hover,.info-tip button[aria-expanded=true]{color:var(--navy-500)}.info-tip-panel{z-index:20;border:1px solid var(--border);width:min(260px,100vw - 48px);max-width:80vw;color:var(--white);letter-spacing:normal;background:#182641fa;border-radius:10px;padding:11px 12px;font-size:11px;font-weight:500;line-height:1.5;position:absolute;top:calc(100% + 9px);left:0;box-shadow:0 14px 34px #14203738}.metric-sublabel{color:#a6afc0;margin-top:2px;font-size:11px;font-weight:600;display:block}.chart-body{min-width:0}.map-layout{grid-template-columns:1fr;align-items:stretch;gap:18px;min-width:0;display:grid}.map-wrap{background:linear-gradient(145deg, var(--surface-subtle), var(--blue-100));border-radius:11px;place-items:center;min-height:290px;display:grid;position:relative;overflow:hidden}.map-wrap:before{content:"";opacity:.35;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-size:32px 32px;position:absolute;inset:0}.map-wrap svg{filter:drop-shadow(0 12px 12px #2231501f);width:100%;max-width:360px;height:300px;position:relative}.ibge-load-map .sin-subsystem{cursor:pointer;outline:none}.ibge-load-map .sin-subsystem path{fill:color-mix(in srgb, var(--region-color) 48%, white);stroke:#ffffffe6;stroke-width:.35px;vector-effect:non-scaling-stroke;transition:fill .2s,opacity .2s,stroke .2s,filter .2s}.ibge-load-map .sin-subsystem:hover path,.ibge-load-map .sin-subsystem:focus path{fill:color-mix(in srgb, var(--region-color) 72%, white);outline:none}.ibge-load-map.has-selection .sin-subsystem:not(.selected) path{opacity:.62}.ibge-load-map .sin-subsystem.selected path{fill:var(--navy);stroke:var(--white);stroke-width:.8px;opacity:1;filter:drop-shadow(0 1px 1px #18264157)}.hydro-basin-layer{pointer-events:none}.hydro-basin-layer path{fill:#ffffff1a;stroke:#ffffffd1;stroke-width:.9px;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.drainage-network{pointer-events:none}.drainage-network path{fill:none;stroke:#1d6385;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round;opacity:.9;vector-effect:non-scaling-stroke}.subsystem-map-labels{pointer-events:none}.subsystem-map-labels rect{fill:#ffffffe8;stroke:#38497452;stroke-width:.8px}.subsystem-map-labels text{fill:var(--navy-900);text-anchor:middle;font-size:11px;font-weight:850}.subsystem-map-labels text.share{fill:var(--navy-500);font-size:4.5px;font-weight:700}.subsystem-map-labels g.active rect{fill:var(--white);stroke:var(--navy-900);stroke-width:1.8px;filter:drop-shadow(0 3px 5px #18264147)}.subsystem-map-labels g.active text{fill:var(--navy-900)}.subsystem-map-labels g.active text.share{fill:var(--navy-500)}.reservoir-map-markers circle{fill:#fff;stroke:var(--navy-800);stroke-width:2px;vector-effect:non-scaling-stroke}.reservoir-map-markers text{fill:var(--navy-900);paint-order:stroke;stroke:#fffffff0;stroke-width:2.4px;stroke-linejoin:round;font-size:5px;font-weight:850}.reservoir-map-markers g{opacity:.48;transition:opacity .18s}.reservoir-map-markers g.active{opacity:1}.map-region-badge{color:var(--navy-800);background:#ffffffe6;border-radius:6px;padding:5px 8px;font-size:11px;font-weight:800;position:absolute;top:10px;left:10px;box-shadow:0 4px 12px #22315014}.map-loading,.map-error{color:var(--muted);text-align:center;align-content:center;gap:10px;font-size:11px}.map-error{color:var(--danger);padding:20px}.map-side-content{min-width:0}.map-scale{color:var(--muted);letter-spacing:.08em;font-size:11px;font-weight:700;position:absolute;bottom:10px;left:12px}.map-legend{gap:6px;display:grid}.map-legend button{background:var(--surface-subtle);text-align:left;cursor:pointer;border:1px solid #0000;border-radius:10px;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:52px;padding:9px 10px;display:grid}.map-legend button.active{border-color:var(--navy-500);background:#edf1f7;box-shadow:inset 0 0 0 1px #3849741f,0 5px 14px #1f2d4a12}.map-legend button.active b:after{content:" • selecionado";color:var(--navy-500);font-size:11px;font-weight:800}.map-legend button>span{border-radius:4px;width:7px;height:28px}.map-legend button div{gap:3px;display:grid}.map-legend button b,.map-legend button strong{min-width:0;font-size:11px}.map-legend button strong{white-space:nowrap}.map-legend button small{color:var(--muted);font-size:11px}.donut-layout{align-items:center;min-height:245px;display:flex}.donut-legend{flex:1;gap:12px;display:grid}.donut-legend>div{grid-template-columns:7px 1fr;align-items:center;gap:7px;display:grid}.donut-legend>div>span{border-radius:5px;width:7px;height:25px}.donut-legend p{color:var(--muted);gap:3px;margin:0;font-size:11px;display:grid}.donut-legend b{color:var(--ink);font-size:11px}.variation-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.variation-grid>div{background:var(--surface-subtle);border-radius:10px;align-content:space-between;min-height:103px;padding:14px;display:grid}.variation-grid span{color:var(--muted);font-size:11px}.variation-grid small{width:fit-content;color:var(--success);background:#e5f2ec;border-radius:5px;padding:4px 6px;font-size:11px;font-weight:800}.variation-grid small.down,.ear-list b.down{color:var(--danger);background:#f7e9e9}.projection-key{color:var(--muted);font-size:11px}.flag-row{gap:2px;margin-top:10px;display:grid}.flag-row-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.flag-timeline{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;padding:24px 4px 8px;display:grid;position:relative}.flag-row:last-child .flag-timeline{padding-bottom:98px}.price-history-filter.flag-history-filter{margin:12px 0 0;padding:7px 10px}.price-history-filter.flag-history-filter button,.price-history-filter.flag-history-filter>span{min-height:28px}.flag-timeline:before{content:"";background:#dce1ea;height:1px;position:absolute;top:33px;left:10px;right:10px}.flag-timeline>div{min-width:62px;color:var(--muted);text-align:center;justify-items:center;gap:6px;display:grid;position:relative}.flag-timeline>div:focus-visible{outline-offset:4px;border-radius:8px}.flag-timeline .forecast{background:#fff;border:1px dashed #c8d0df;border-radius:9px;margin-top:-7px;padding:7px 3px}.flag{z-index:1;background:#4fa274;border:3px solid #fff;border-radius:50%;width:17px;height:17px;box-shadow:0 0 0 1px #d5dbe5}.flag.amarela{background:#d4a73c}.flag.vermelha-1{background:#c56a5a}.flag.vermelha-2{background:#a9434a}.flag-timeline small{max-width:60px;font-size:11px}.flag-market-note{background:var(--blue-100);width:fit-content;color:var(--navy-700);border-radius:8px;align-items:center;gap:7px;margin:0 0 2px;padding:8px 10px;font-size:11px;line-height:1.4;display:flex}.flag-market-note svg{flex:none}.flag-tariff-tooltip{z-index:12;border:1px solid var(--border);width:230px;color:var(--white);text-align:left;opacity:0;pointer-events:none;background:#182641fa;border-radius:10px;gap:4px;padding:11px 12px;font-size:11px;line-height:1.45;transition:opacity .16s,transform .16s;display:grid;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%,-5px);box-shadow:0 14px 34px #14203738}.flag-tariff-tooltip:after{content:"";background:var(--navy-900);width:10px;height:10px;position:absolute;top:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.flag-tariff-tooltip b{color:#c7d2e5;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.flag-tariff-tooltip small{color:#aebbd0;max-width:none;font-size:11px}.flag-timeline>div:hover .flag-tariff-tooltip,.flag-timeline>div:focus-visible .flag-tariff-tooltip{opacity:1;transform:translate(-50%)}.flag-timeline>div:first-child .flag-tariff-tooltip{left:0;transform:translateY(-5px)}.flag-timeline>div:first-child:hover .flag-tariff-tooltip,.flag-timeline>div:first-child:focus-visible .flag-tariff-tooltip{transform:translate(0)}.flag-timeline>div:last-child .flag-tariff-tooltip{left:auto;right:0;transform:translateY(-5px)}.flag-timeline>div:last-child:hover .flag-tariff-tooltip,.flag-timeline>div:last-child:focus-visible .flag-tariff-tooltip{transform:translate(0)}.basin-strip{grid-template-columns:1fr;gap:8px;margin-bottom:12px;display:grid}.basin-strip>div{border:1px solid var(--border);background:#fff;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:5px 9px;min-height:86px;padding:13px 15px;display:grid}.basin-strip svg{color:var(--navy-500)}.basin-strip span{color:var(--muted);font-size:11px}.basin-strip strong{color:var(--navy-900);grid-area:1/3/3;font-size:22px}.basin-strip small{color:#9aa4b7;grid-column:2;font-size:11px}.reservoir-detail{gap:7px;display:grid}.detail-title{color:var(--muted);justify-content:space-between;margin-bottom:3px;font-size:11px;display:flex}.detail-title span{background:var(--navy);color:#fff;border-radius:5px;padding:5px 7px;font-weight:800}.detail-title b{align-self:center}.reservoir-detail button{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:10px;grid-template-columns:1fr auto;gap:8px;padding:11px;display:grid}.reservoir-detail button>div:first-child{gap:3px;display:grid}.reservoir-detail strong{font-size:11px}.reservoir-detail small{color:var(--muted);font-size:11px}.storage-numbers{text-align:right;gap:10px;display:flex}.storage-numbers span{color:var(--muted);font-size:11px;display:grid}.storage-numbers b{color:var(--ink);font-size:11px}.mini-track{background:#ebeff5;border-radius:3px;grid-column:1/-1;height:3px;overflow:hidden}.mini-track i{background:var(--navy-500);height:100%;display:block}.source-callout{color:var(--navy-500);background:#eef3fa;border:1px solid #dbe2ef;border-radius:11px;align-items:flex-start;gap:10px;margin:12px 0;padding:13px 15px;display:flex}.source-callout svg{flex:none}.source-callout p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.source-callout b{color:var(--navy-800)}.weather-grid{grid-template-columns:1fr;gap:12px;display:grid}.weather-official-card{margin-bottom:12px}.weather-seasonal-grid{grid-template-columns:1fr;gap:12px;display:grid}.ecmwf-opencharts-map{gap:10px;min-width:0;display:grid}.ecmwf-map-toolbar{background:var(--surface-subtle);border-radius:9px;justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:0 10px;display:flex}.ecmwf-map-toolbar>span{min-width:0;color:var(--navy-700);align-items:center;gap:7px;font-size:11px;font-weight:800;display:flex}.ecmwf-map-toolbar>div{align-items:center;gap:6px;display:flex}.ecmwf-map-toolbar a,.ecmwf-map-toolbar button{min-height:30px;color:var(--navy-700);cursor:pointer;background:#fff;border:1px solid #38497426;border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.ecmwf-map-toolbar a:hover,.ecmwf-map-toolbar button:hover{border-color:var(--navy-500);background:var(--blue-100)}.ecmwf-map-image{background:var(--surface-subtle);cursor:zoom-in;border:1px solid #e1e6ee;border-radius:12px;width:100%;max-height:680px;padding:0;overflow:hidden}.ecmwf-map-image img{object-fit:contain;width:100%;height:100%;max-height:680px;display:block}.ecmwf-map-meta{color:var(--muted);justify-content:space-between;align-items:flex-start;gap:12px;padding:0 2px;font-size:11px;line-height:1.45;display:flex}.ecmwf-map-meta span{color:var(--navy-700);font-weight:700}.ecmwf-map-meta small{text-align:right;flex:none;font-size:11px}.ecmwf-map-state{background:var(--surface-subtle);min-height:440px;color:var(--muted);text-align:center;border-radius:12px;align-content:center;place-items:center;gap:12px;display:grid}.ecmwf-map-state p{margin:0;font-size:12px}.ecmwf-map-state.error{color:var(--danger)}.ecmwf-map-state.error button{min-height:36px;color:var(--navy-700);cursor:pointer;background:#fff;border:1px solid #d7deea;border-radius:8px;align-items:center;gap:6px;padding:0 11px;font-size:11px;font-weight:800;display:inline-flex}.ecmwf-map-modal{z-index:110;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1527d1;place-items:center;padding:clamp(12px,3vw,42px);display:grid;position:fixed;inset:0}.ecmwf-map-modal>div{background:#fff;border:1px solid #ffffff29;border-radius:18px;width:min(1500px,96vw);max-height:94vh;padding:10px;position:relative;overflow:auto;box-shadow:0 30px 90px #040a166b}.ecmwf-map-modal img{object-fit:contain;border-radius:11px;width:100%;max-height:calc(94vh - 72px);display:block}.ecmwf-map-modal footer{color:var(--muted);justify-content:space-between;gap:12px;padding:10px 6px 2px;font-size:11px;display:flex}.ecmwf-map-modal footer a{color:var(--navy);font-weight:800;text-decoration:none}.ecmwf-map-close{z-index:2;float:right;width:40px;height:40px;color:var(--navy-900);cursor:pointer;background:#fffffff0;border:1px solid #38497429;border-radius:10px;place-items:center;margin:5px;display:grid;position:sticky;top:8px;box-shadow:0 8px 24px #18264124}.ecmwf-fallback{gap:12px;display:grid}.ecmwf-fallback-notice{background:var(--surface-subtle);color:var(--navy-700);border:1px solid #d9e1ed;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.ecmwf-fallback-notice>svg{color:#b7791f}.ecmwf-fallback-notice>div{gap:2px;min-width:0;display:grid}.ecmwf-fallback-notice strong{font-size:11px}.ecmwf-fallback-notice span{color:var(--muted);font-size:11px;line-height:1.4}.ecmwf-fallback-notice button{min-height:32px;color:var(--navy-700);cursor:pointer;background:#fff;border:1px solid #38497429;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.ecmwf-fallback-notice.is-stale{background:#fffaf0;border-color:#eadab8}.weather-map{background:#f0f3f7;border-radius:11px;place-items:center;min-height:310px;display:grid;position:relative;overflow:hidden}.weather-map:before{content:"";background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.45;background-size:26px 26px;position:absolute;inset:0}.weather-map svg{width:100%;height:270px;position:relative}.weather-map .country{fill:#d9e1ea}.weather-map .country-outline{fill:none;stroke:#fff;stroke-width:3px}.weather-map .weather-cells{fill:#5f83b8;opacity:.78}.weather-map.mixed .weather-cells{fill:#8aa5be}.weather-map.dry .weather-cells{fill:#d0aa70}.weather-map text{fill:#fffffff2;text-anchor:middle;font-size:11px;font-weight:800}.weather-scale{color:#657188;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex;position:absolute;bottom:11px;left:12px;right:12px}.weather-scale i{background:linear-gradient(90deg,#d2a661,#d8dde1,#527bad);border-radius:4px;flex:1;height:5px}.live-weather-map{gap:10px;min-width:0;display:grid}.weather-model-bar{background:var(--surface-subtle);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;min-height:32px;padding:0 9px;display:flex}.weather-model-bar>span{min-width:0;color:var(--navy-700);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex;overflow:hidden}.weather-model-bar button{width:27px;height:27px;color:var(--navy-500);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;display:grid}.weather-model-bar button:hover{background:var(--border)}.weather-model-bar button:disabled{opacity:.5}.geo-map-stage{background:linear-gradient(145deg, var(--surface-subtle), #edf2f7);border:1px solid #e4e8ef;border-radius:11px;place-items:center;min-height:345px;display:grid;position:relative;overflow:hidden}.geo-map-stage:before{content:"";opacity:.42;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-size:28px 28px;position:absolute;inset:0}.geo-map-stage>svg{z-index:1;filter:drop-shadow(0 11px 16px #22315014);width:100%;height:auto;max-height:355px;position:relative}.geo-map-stage:not(.is-expanded)>svg{cursor:zoom-in}.weather-map-backdrop{z-index:90;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:zoom-out;background:#0d182cad;border:0;width:100%;height:100%;position:fixed;inset:0}.geo-map-stage.is-expanded{z-index:100;border-color:#ffffff47;border-radius:18px;min-height:0;position:fixed;inset:clamp(14px,4vh,42px) clamp(14px,4vw,72px);box-shadow:0 24px 80px #08122359}.geo-map-stage.is-expanded>svg{width:min(92vw,760px);height:min(88vh,760px);max-height:none}.weather-map-expand{z-index:4;min-height:30px;color:var(--navy-800);cursor:pointer;background:#ffffffeb;border:1px solid #38497429;border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;top:10px;right:10px;box-shadow:0 5px 14px #1f2d4a14}.weather-map-expand:hover{border-color:var(--navy-500);background:#fff}.weather-heat-layer{opacity:.96}.ibge-state-map path{fill:#ffffff09;stroke:#2a3a556b;stroke-width:.8px;vector-effect:non-scaling-stroke;cursor:pointer;outline:none;transition:fill .16s,stroke .16s,stroke-width .16s}.ibge-state-map path:hover,.ibge-state-map path:focus{fill:#fff3;stroke:#334969;stroke-width:1.35px}.ibge-state-map path.selected{fill:#ffffff26;stroke:#243958;stroke-width:1.65px}.ibge-state-outline path{fill:none;stroke:#202f46b8;stroke-width:.82px;vector-effect:non-scaling-stroke;pointer-events:none}.weather-state-labels{pointer-events:none}.weather-state-labels text{fill:#203553;stroke:#ffffffe0;stroke-width:2.2px;paint-order:stroke fill;text-anchor:middle;dominant-baseline:middle;letter-spacing:-.2px;font-size:6px;font-weight:850}.weather-uf-badge{z-index:3;color:var(--navy-700);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border:1px solid #ffffffbf;border-radius:6px;padding:5px 7px;font-size:11px;font-weight:800;position:absolute;top:9px;left:9px}.precipitation-point{cursor:pointer;outline:none}.precipitation-point circle{transition:r .18s,opacity .18s,stroke-width .18s}.precipitation-point:hover circle:last-child,.precipitation-point:focus circle:last-child{r:5px;stroke-width:2px}.weather-point-card{z-index:3;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#182641e8;border:1px solid #ffffffb3;border-radius:9px;align-items:center;gap:7px;width:min(220px,100% - 20px);min-height:46px;padding:8px 10px;display:flex;position:absolute;top:50px;right:10px;box-shadow:0 8px 22px #1826412e}.weather-point-card svg{color:#b9c6dd;flex:none}.weather-point-card div{flex:1;justify-content:space-between;align-items:center;gap:7px;min-width:0;display:flex}.weather-point-card span{color:#c6d0e0;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.weather-point-card strong{flex:none;font-size:11px}.weather-map-legend{gap:5px;display:grid}.weather-map-legend>div{color:var(--muted);grid-template-columns:auto 1fr auto;align-items:center;gap:6px;font-size:11px;display:grid}.weather-map-legend i{background:linear-gradient(90deg,#d8b46e,#c8cfdb 24%,#9eb6d2 42%,#6f91bc 62%,#456c9e 82%,#284c7a);border-radius:5px;height:6px}.weather-map-legend small{color:var(--navy-500);text-align:center;font-size:11px;font-weight:800}.weather-map-footer{border-top:1px solid var(--border);gap:4px;padding-top:8px;display:grid}.weather-map-footer span{color:var(--navy-800);text-transform:capitalize;font-size:11px;font-weight:800}.weather-map-footer small{color:var(--muted);font-size:6px;line-height:1.45}.weather-map-state{background:var(--surface-subtle);min-height:430px;color:var(--muted);border-radius:11px;align-content:center;place-items:center;gap:12px;display:grid}.weather-map-state p{margin:0;font-size:11px}.weather-map-state.error{color:var(--danger);text-align:center;padding:20px}.weather-map-state.error button{min-height:34px;color:var(--navy-700);cursor:pointer;background:#fff;border:1px solid #d8dee9;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:800;display:flex}.map-skeleton{background:linear-gradient(100deg, var(--border) 25%, #edf1f6 42%, var(--border) 59%);background-size:300% 100%;border-radius:45% 50% 55% 43%;width:150px;height:230px;animation:1.5s infinite mapPulse}@keyframes mapPulse{0%{background-position:100% 0}to{background-position:0 0}}.distribution-bars{gap:24px;padding:12px 3px;display:grid}.distribution-bars>div>div:first-child{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;display:flex}.distribution-bars b{color:var(--ink)}.bar-track{background:#edf0f5;border-radius:8px;height:8px;overflow:hidden}.bar-track i{border-radius:inherit;height:100%;display:block}.movement-panel{align-content:center;gap:9px;min-height:210px;display:grid}.movement-panel>div{background:var(--surface-subtle);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:0 13px;display:flex}.movement-panel span{color:var(--muted);font-size:11px}.movement-panel b{color:var(--success);font-variant-numeric:tabular-nums;background:#e6f2ec;border-radius:6px;padding:6px 8px;font-size:11px}.movement-panel b.down{color:var(--danger);background:#f7eaea}.history-chart-wrap{min-width:0}.history-key{color:#a3adbd;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin:-3px 4px 8px;font-size:11px;display:flex}.history-max-key{color:#7f899a}.history-mlt-key{color:#6f7d93;align-items:center;gap:5px;display:inline-flex}.history-mlt-key:before{content:"";border-top:2px dashed var(--white);filter:drop-shadow(0 0 1px #182641cc);width:18px}.price-range-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.price-range-grid>div{background:var(--surface-subtle);border-radius:11px;align-content:center;gap:4px;min-height:112px;padding:13px;display:grid}.price-range-grid b{color:var(--navy-500);font-size:11px}.price-range-grid strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:19px}.price-range-grid span{color:var(--muted);font-size:11px}.price-range-grid small{color:#9aa5b8;font-size:11px}.gauge-chart{justify-items:center;padding:9px 0 2px;display:grid}.gauge-arc{place-items:end center;width:198px;height:99px;display:grid;position:relative;overflow:hidden}.gauge-arc:before{content:"";background:conic-gradient(from 270deg at 50% 100%, var(--navy) 0 var(--gauge), var(--border) var(--gauge) 50%, transparent 50%);border-radius:198px 198px 0 0;position:absolute;inset:0}.gauge-arc:after{content:"";background:#fff;border-radius:140px 140px 0 0;height:68px;position:absolute;bottom:-1px;left:31px;right:31px}.gauge-arc div{z-index:2;justify-items:center;padding-bottom:2px;display:grid;position:relative}.gauge-arc strong{letter-spacing:-.04em;font-size:27px}.gauge-arc span{color:var(--muted);font-size:11px}.gauge-scale{width:205px;color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.gauge-scale b{color:var(--navy)}.gauge-chart p{color:var(--muted);margin:16px 0 0;font-size:11px}.insight-panel{background:var(--navy-900);color:#fff;border-radius:11px;align-content:center;gap:8px;min-height:200px;padding:20px;display:grid}.insight-panel svg{color:#a9b8d5}.insight-panel strong{font-size:20px}.insight-panel p{color:#bbc5d7;margin:0;font-size:11px;line-height:1.6}.insight-panel span{color:#8493ac;margin-top:5px;font-size:11px}.ear-list{gap:9px;display:grid}.ear-list div{background:var(--surface-subtle);border-radius:8px;justify-content:space-between;align-items:center;min-height:42px;padding:0 11px;font-size:11px;display:flex}.ear-list b{color:var(--success);background:#e5f2ec;border-radius:5px;padding:5px 7px}.pld-summary{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.pld-summary>div{border:1px solid var(--border);background:#fff;border-radius:12px;align-content:center;gap:4px;min-height:110px;padding:14px;display:grid;position:relative;overflow:hidden}.pld-summary span{color:var(--muted);font-size:11px}.pld-summary strong{letter-spacing:-.03em;font-size:17px}.pld-summary small{color:var(--muted);font-size:11px}.pld-summary i{border-radius:0 3px 3px 0;width:3px;position:absolute;top:12px;bottom:12px;left:0}.pld-summary .average-pld{background:var(--navy-900);border-color:var(--navy-900);color:#fff;grid-column:1/-1}.pld-summary .average-pld span,.pld-summary .average-pld small{color:#aeb9ce}.pld-summary .average-pld strong{font-size:25px}.pld-closing-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pld-closing-summary>div{min-height:96px}.pld-current-strip{background:linear-gradient(135deg, var(--navy-900) 0%, #1e2e4d 100%);color:#fff;border:1px solid #ffffff14;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:2px 0 16px;padding:16px 18px;display:flex;box-shadow:0 16px 36px #1826412e}.pld-current-strip>div{gap:4px;margin-right:auto;display:grid}.pld-current-strip>div span{color:#aeb9ce;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.pld-current-strip>div strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:20px}.pld-current-strip>span{color:#cdd5e4;font-size:11px;font-weight:650}.pld-current-strip>span b{color:var(--white)}.security-architecture{background:linear-gradient(135deg, var(--navy-900) 0%, #1e2e4d 100%);color:#fff;border:1px solid #ffffff14;border-radius:16px;gap:12px;margin-bottom:16px;padding:18px;display:grid;box-shadow:0 16px 36px #1826411f}.security-architecture>div{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:12px;align-items:center;gap:13px;min-width:0;padding:13px 15px;display:flex}.security-architecture svg{color:#b9c7de;flex:none}.security-architecture span{gap:3px;min-width:0;display:grid}.security-architecture small{color:#b5c4dc;font-size:11.5px;line-height:1.5}.access-layout{align-items:stretch;gap:16px;display:grid}.access-layout>.chart-card{margin-bottom:0}.access-layout>.chart-card:first-child{flex-direction:column;display:flex}.access-form{grid-template-columns:1fr;gap:13px;display:grid}.access-form label{color:var(--navy-900);gap:6px;font-size:12px;font-weight:750;display:grid}.access-form input,.access-form select{border:1px solid var(--border-strong);background:var(--surface-subtle);width:100%;height:44px;color:var(--ink);border-radius:10px;outline:0;padding:0 13px;font-size:13px;transition:border-color .2s,box-shadow .2s}.access-form input:focus,.access-form select:focus{border-color:var(--navy-500);background:var(--white);box-shadow:0 0 0 4px #38497414}.access-form .primary-button{border-radius:10px;justify-content:center;justify-self:center;width:min(100%,360px);min-height:48px;margin:4px auto 0;font-size:13px;font-weight:800}.access-form .primary-button svg:last-child{margin-left:0}.access-form .full{grid-column:1/-1}.activation-link-panel{background:#edf3fa;border:1px solid #c7d5e8;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:14px 16px;display:grid}.activation-link-panel label{min-width:0;color:var(--navy-900);gap:6px;font-size:12px;font-weight:800;display:grid}.activation-link-panel input{width:100%;height:40px;color:var(--navy-700);background:#fff;border:1px solid #ccd6e5;border-radius:9px;padding:0 12px;font-family:monospace;font-size:12px}.activation-link-panel button{background:var(--navy-700);color:#fff;cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-size:12px;font-weight:800;transition:background .15s;display:inline-flex}.activation-link-panel button:hover{background:var(--navy-900)}.activation-link-panel small{color:var(--muted);grid-column:1/-1;font-size:11px;line-height:1.5}@media (max-width:560px){.activation-link-panel{grid-template-columns:1fr}.activation-link-panel small{grid-column:1}}.access-list{align-content:start;gap:9px;min-height:260px;display:grid}.access-list article{background:var(--white);border:1px solid #3849741a;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:13px 16px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 4px 14px #1f2d4a08}.access-list article.is-editing{background:var(--surface-subtle);grid-template-columns:auto minmax(0,1fr);align-items:start}.access-list article>div{gap:4px;min-width:0;display:grid}.access-list small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.access-list .access-last-seen{color:#8290a5;font-size:11px}.access-list .avatar{background:var(--navy-700);width:38px;height:38px;color:var(--white);border-radius:10px;font-size:12px;font-weight:800}.access-edit-fields{gap:6px;min-width:0;display:grid}.access-edit-fields label{color:var(--navy-500);font-size:11.5px;font-weight:800}.access-edit-fields input,.access-edit-fields select{width:100%;height:36px;color:var(--ink);background:#fff;border:1px solid #d3dbe9;border-radius:8px;outline:0;padding:0 10px;font-size:12px}.access-edit-fields input:focus,.access-edit-fields select:focus{border-color:var(--navy-500);box-shadow:0 0 0 3px #38497414}.access-edit-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role-badge{background:var(--blue-100);color:var(--navy-700);text-transform:uppercase;letter-spacing:.05em;border:1px solid #38497424;border-radius:7px;padding:5px 9px;font-size:11px;font-weight:800}.role-badge.admin{color:#1e7a50;background:#e7f5ef;border-color:#1e7a5033}.role-badge.invited{color:#b47214;background:#fef7ec;border-color:#b4721433}.role-badge.disabled{color:#c04545;background:#fdf0f0;border-color:#c0454533}.access-list article>.access-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.access-list article.is-editing>.access-actions{flex-wrap:wrap;grid-column:2;justify-content:flex-start}.access-actions button{border:1px solid var(--border-strong);min-height:32px;color:var(--navy-700);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:5px;padding:0 11px;font-size:11.5px;font-weight:750;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.access-actions button:hover{border-color:var(--navy-500);background:var(--surface-subtle);color:var(--navy-900)}.access-actions button:disabled{opacity:.45;cursor:not-allowed}.access-actions button.action-save{border-color:var(--navy-700);background:var(--navy-700);color:#fff}.access-loading{min-height:260px;color:var(--muted);align-content:center;place-items:center;gap:10px;display:grid}.access-loading .map-skeleton{border-radius:50%;width:54px;height:54px}.access-loading small{font-size:12px}.mobile-tabbar{z-index:35;height:68px;padding:6px max(8px, env(safe-area-inset-left));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-tabbar button{color:#8a95aa;background:0 0;border:0;border-radius:8px;align-content:center;place-items:center;gap:3px;font-size:11px;font-weight:700;display:grid}.mobile-tabbar button.active{color:var(--navy);background:var(--surface-subtle)}.toast{z-index:80;background:var(--navy-900);color:#fff;border-radius:11px;justify-content:center;align-items:center;gap:9px;min-height:52px;padding:12px 16px;font-size:13px;font-weight:700;animation:.2s ease-out toastIn;display:flex;position:fixed;bottom:80px;left:14px;right:14px;box-shadow:0 18px 40px #18264140}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}}.summary-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.summary-kpi{background:#fffffff0;border:1px solid #3849741f;border-radius:16px;min-width:0;min-height:154px;padding:20px 22px;transition:transform .22s,box-shadow .22s;box-shadow:0 14px 34px #1f2d4a0f}.summary-kpi:hover{transform:translateY(-2px);box-shadow:0 20px 42px #1f2d4a1a}.summary-kpi-head{color:var(--muted);align-items:center;gap:9px;font-size:13px;font-weight:750;display:flex}.summary-kpi-icon{width:34px;height:34px;color:var(--navy);background:var(--blue-100);border-radius:10px;place-items:center;display:grid}.summary-kpi.green .summary-kpi-icon{color:#2f8067;background:#e6f3ed}.summary-kpi.lilac .summary-kpi-icon{color:#8069a4;background:#f0ebf7}.summary-kpi-value{align-items:baseline;gap:8px;margin-top:19px;display:flex}.summary-kpi-value strong{color:var(--navy-900);letter-spacing:-.055em;font-variant-numeric:tabular-nums;font-size:clamp(30px,3vw,42px);line-height:1}.summary-kpi-value small{color:var(--muted);font-size:12px;font-weight:700}.summary-kpi p{color:var(--muted);margin:12px 0 0;font-size:11px;line-height:1.45}.summary-chart-card{min-height:610px;margin-bottom:0}.section-title-line{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.section-title-line h1{margin-bottom:0!important}.section-status{color:#8b6a1c;letter-spacing:.03em;white-space:nowrap;background:#fff8df;border:1px solid #d7c99f;border-radius:7px;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:850;display:inline-flex}@media (min-width:600px){.login-form-side{padding:38px 50px 30px}.metric-grid.three{grid-template-columns:repeat(3,1fr)}.metric-grid.four{grid-template-columns:repeat(2,1fr)}.basin-strip{grid-template-columns:repeat(3,1fr)}.weather-grid{grid-template-columns:repeat(2,1fr)}.weather-seasonal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-note b{display:inline}.map-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.pld-summary{grid-template-columns:repeat(4,1fr)}.pld-summary .average-pld{grid-column:1/-1}.price-range-grid{grid-template-columns:repeat(5,1fr)}.security-architecture{grid-template-columns:repeat(3,1fr)}.access-form{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.login-shell{padding:18px}.login-card{border-radius:28px;grid-template-columns:46% 54%;max-width:1540px;height:min(920px,100dvh - 36px);min-height:calc(100dvh - 36px);box-shadow:0 24px 70px #1f2d4a1a}.login-form-side{padding:38px clamp(52px,5vw,88px)}.login-copy{margin:auto 0 32px}.login-copy h1{font-size:clamp(38px,3.4vw,56px)}.login-copy p{font-size:15px}.login-form-side form{margin-bottom:auto}.security-note{margin-top:25px}.login-visual-side{background:var(--navy-900);display:block;position:relative;overflow:hidden}.login-visual-side>img{object-fit:cover}.visual-overlay{background:linear-gradient(#13213a47,#13213a7a 55%,#0e192fb8);position:absolute;inset:0}.visual-badge{color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#121f38d6;border:1px solid #ffffff2e;border-radius:16px;padding:24px 28px 28px;position:absolute;bottom:clamp(40px,6vh,72px);left:clamp(36px,4vw,66px);right:clamp(36px,4vw,66px)}.visual-badge span{color:#aebbd2;letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.visual-badge strong{letter-spacing:-.03em;max-width:620px;margin-top:17px;font-size:clamp(19px,2vw,29px);line-height:1.35;display:block}.sidebar{width:236px;box-shadow:none;transform:none}.mobile-scrim,.close-menu,.menu-button,.mobile-tabbar{display:none}.main-shell{padding-left:236px}.topbar{padding:0 26px}.topbar-title span{display:block}.search-box,.period-button,.export-button{display:flex}.dashboard-content{padding:30px 26px 42px}.executive-brief{grid-template-columns:120px minmax(0,1fr) auto;align-items:center;padding:18px 20px}.brief-copy strong{font-size:17px}.brief-tags{justify-content:flex-end;max-width:280px}.section-heading{flex-direction:row;justify-content:space-between;align-items:center}.metric-grid.four{grid-template-columns:repeat(4,1fr)}.toast{width:auto;min-width:350px;bottom:24px;left:auto;right:26px}.pld-summary{grid-template-columns:1.35fr repeat(4,1fr)}.pld-summary.pld-closing-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.pld-summary .average-pld{grid-column:auto}}@media (min-width:1250px){.sidebar{width:252px;padding-inline:16px}.main-shell{padding-left:252px}.topbar{height:74px;padding:0 34px}.dashboard-content{padding:34px 34px 46px}.metric-card{min-height:152px;padding:20px}.chart-card{padding:20px}.chart-card h3{font-size:14px}.map-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.dashboard-grid.split-wide{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.dashboard-grid.split-even{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid.thirds{grid-template-columns:repeat(3,minmax(0,1fr))}.span-two{grid-column:span 2}.weather-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.weather-seasonal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.access-layout{grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr);grid-template-areas:"invite users";align-items:stretch}.access-layout>.chart-card:first-child{grid-area:invite;position:static}.access-layout>.chart-card:last-child{grid-area:users}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.user-card b{font-size:13px}.user-card small{font-size:11px}.avatar{font-size:12px}.nav-caption{font-size:11px}.sidebar nav button,.sidebar-footer>button{min-height:42px;font-size:12px}.topbar-title span{font-size:11px}.topbar-title h2{font-size:17px}.search-box input{font-size:13px}.period-button,.export-button,.date-filter{font-size:12px}.section-heading h1{font-size:clamp(28px,7vw,38px)}.section-heading p{font-size:14px}.source-note,.brief-mark span{font-size:11px}.brief-copy strong{font-size:19px}.brief-copy p{font-size:12px}.brief-tags span{font-size:11px}.metric-top{font-size:12px}.metric-value strong{font-size:32px}.metric-value span,.metric-change{font-size:11px}.chart-card h3{font-size:16px}.chart-card header p{font-size:12px;line-height:1.5}.map-region-badge,.map-scale,.map-loading,.map-error{font-size:11px}.map-legend button b,.map-legend button strong{font-size:12px}.map-legend button small,.map-legend button.active b:after{font-size:11px}.subsystem-map-labels text{font-size:8.25px}.subsystem-map-labels text.share{font-size:5.25px}.reservoir-map-markers text{font-size:6px}.donut-legend p,.projection-key{font-size:11px}.donut-legend b{font-size:13px}.variation-grid span,.variation-grid small{font-size:11px}.variation-grid strong{font-size:16px}.flag-timeline b,.flag-timeline small,.basin-strip span,.detail-title,.source-callout p,.basin-strip small,.reservoir-detail small,.storage-numbers span{font-size:11px}.reservoir-detail strong,.storage-numbers b{font-size:12px}.weather-model-bar>span,.weather-map-footer span,.weather-uf-badge,.weather-point-card span,.weather-map-legend>div,.weather-map-legend small{font-size:11px}.weather-point-card strong{font-size:12px}.weather-map-footer small,.weather-map-state p,.weather-map-state.error button,.distribution-bars>div>div:first-child,.movement-panel span,.gauge-chart p{font-size:11px}.movement-panel b,.price-range-grid b{font-size:12px}.history-key,.price-range-grid span,.price-range-grid small,.gauge-arc span,.gauge-scale,.insight-panel p,.ear-list div,.insight-panel span,.pld-summary span,.pld-summary small,.pld-current-strip>span,.pld-current-strip>div span{font-size:11px}.pld-current-strip>div strong{font-size:25px}.security-architecture b{font-size:13px}.security-architecture small{font-size:11px}.access-form label{font-size:12px}.access-form input,.access-form select{height:46px;font-size:14px}.access-list b{font-size:13px}.access-list small,.role-badge,.access-actions button{font-size:11px}.role-badge.invited{color:var(--navy-500);background:#eef1f7}.access-loading small,.mobile-tabbar button{font-size:11px}.toast{font-size:12px}.auth-flow-shell{background:var(--blue-100);place-items:center;min-height:100dvh;padding:0;display:grid}.auth-flow-card{background:#fff;width:100%;min-height:100dvh;display:grid;overflow:hidden}.auth-flow-content{flex-direction:column;min-width:0;padding:28px 22px 24px;display:flex}.auth-flow-copy{margin:52px 0 28px}.auth-flow-copy h1{max-width:620px;color:var(--navy-900);letter-spacing:-.045em;text-wrap:balance;margin:16px 0 12px;font-size:clamp(32px,8vw,48px);line-height:1.04}.auth-flow-copy p{max-width:560px;color:var(--muted);text-wrap:pretty;margin:0;font-size:15px;line-height:1.7}.auth-flow-form{gap:10px;display:grid}.auth-flow-form>label{color:var(--navy-800);margin-top:5px;font-size:14px;font-weight:700}.auth-input-with-icon{color:var(--navy-500);padding-left:15px}.auth-input-with-icon input{padding-left:11px}.auth-flow-form .primary-button{width:100%}.auth-account-email{background:var(--blue-100);color:var(--muted);border-radius:9px;margin:0 0 4px;padding:11px 13px;font-size:13px}.auth-account-email strong{color:var(--navy-800)}.password-hint{color:var(--muted);margin:-2px 0 2px;font-size:11px;line-height:1.5}.auth-form-note{color:var(--muted);text-align:center;margin:0;font-size:11px;line-height:1.55}.auth-back-link{width:fit-content;color:var(--navy-500);align-items:center;gap:7px;margin-top:22px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.auth-back-link:hover{color:var(--navy-900)}.auth-success-panel,.auth-error-panel{border-radius:12px;align-items:flex-start;gap:12px;padding:16px;display:flex}.auth-loading-panel{background:var(--surface-subtle);min-height:108px;color:var(--navy-500);text-align:center;border:1px solid #e0e6f0;border-radius:12px;place-items:center;gap:8px;padding:18px;display:grid}.auth-loading-panel p{margin:0;font-size:13px;font-weight:700}.auth-success-panel{color:#2d6d56;background:#eaf4ef}.auth-success-stack{gap:14px;display:grid}.auth-success-copy{align-items:flex-start;gap:12px;display:flex}.auth-secondary-button{color:#2d6d56;width:100%;min-height:44px;font:inherit;cursor:pointer;background:#ffffffb8;border:1px solid #2d6d563d;border-radius:9px;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.auth-secondary-button:disabled{cursor:wait;opacity:.62}.auth-error-panel{color:#934343;background:#fff0f0;display:grid}.auth-success-panel svg{flex:none}.auth-success-panel strong,.auth-error-panel strong{font-size:15px;display:block}.auth-success-panel p,.auth-error-panel p{margin:4px 0 0;font-size:13px;line-height:1.55}.auth-error-panel a{width:fit-content;color:inherit;font-size:13px;font-weight:800}.confirmation-note{color:var(--muted);text-align:center;margin:2px 0 0;font-size:11px;line-height:1.55}.auth-flow-visual{display:none}@media (min-width:600px){.auth-flow-content{padding:38px 50px 30px}}@media (min-width:900px){.auth-flow-shell{padding:18px}.auth-flow-card{border-radius:28px;grid-template-columns:52% 48%;max-width:1440px;height:min(880px,100dvh - 36px);min-height:calc(100dvh - 36px);box-shadow:0 24px 70px #1f2d4a1a}.auth-flow-content{padding:38px clamp(52px,5vw,88px)}.auth-flow-copy{margin:auto 0 30px}.auth-flow-form,.auth-success-panel,.auth-error-panel{max-width:560px}.auth-flow-content .security-note{margin-top:auto}.auth-flow-visual{background:var(--navy-900);display:block;position:relative;overflow:hidden}.auth-flow-visual>img{object-fit:cover}.auth-flow-visual-copy{z-index:2;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#121f38d6;border:1px solid #ffffff2e;border-radius:16px;padding:24px;position:absolute;bottom:44px;left:42px;right:42px}.auth-flow-visual-copy span{color:#aebbd2;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.auth-flow-visual-copy strong{letter-spacing:-.03em;max-width:500px;margin-top:13px;font-size:24px;line-height:1.35;display:block}}html{scroll-behavior:smooth}.print-report-header{display:none}.analysis-mode{max-width:none;padding:0}.section-viewport,.admin-view{width:100%;min-width:0;height:100%;position:relative}.analysis-mode .dashboard-section{overscroll-behavior:contain;scrollbar-gutter:stable;width:100%;min-width:0;height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;padding:clamp(12px,1.6vw,20px) clamp(18px,3vw,46px) clamp(20px,2.2vw,28px);animation:.18s cubic-bezier(.16,1,.3,1) sectionEnter;position:relative;overflow:hidden auto}.admin-view .dashboard-section{width:100%;height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;padding:24px;overflow:hidden auto}@keyframes sectionEnter{0%{opacity:0}to{opacity:1}}.section-breadcrumb{color:var(--navy-500);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:750;display:flex}.section-breadcrumb span{opacity:.72}.section-breadcrumb b{color:var(--navy-700);font-weight:800}.sidebar.collapsed nav button[data-tooltip]{position:relative}.sidebar.collapsed nav button[data-tooltip]:hover:after,.sidebar.collapsed nav button[data-tooltip]:focus-visible:after{content:attr(data-tooltip);background:var(--navy-900);color:var(--white);white-space:nowrap;pointer-events:none;z-index:100;border:1px solid #ffffff29;border-radius:8px;padding:6px 12px;font-size:11px;font-weight:750;animation:.12s ease-out flyoutFadeIn;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%);box-shadow:0 10px 25px #0a122259}.sidebar.collapsed nav button[data-tooltip]:hover:before,.sidebar.collapsed nav button[data-tooltip]:focus-visible:before{content:"";border:4px solid #0000;border-right-color:var(--navy-900);pointer-events:none;z-index:100;position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%)}@keyframes flyoutFadeIn{0%{opacity:0;transform:translateY(-50%)translate(-4px)}to{opacity:1;transform:translateY(-50%)translate(0)}}.is-loading-data .dashboard-chapter-content{transition:opacity .2s}.data-syncing-pill{z-index:40;background:var(--navy-900);color:var(--white);border:1px solid #ffffff2e;border-radius:20px;align-items:center;gap:8px;padding:7px 16px;font-size:12px;font-weight:750;animation:.2s cubic-bezier(.16,1,.3,1) pillSlideDown;display:flex;position:fixed;top:84px;right:20px;box-shadow:0 10px 28px #18264138}@keyframes pillSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:599px){.data-syncing-pill{display:none}}.reservoir-quick-pills{z-index:5;background:#ffffffd1;border-top:1px solid #3849741a;flex-direction:column;gap:6px;width:100%;padding:10px 14px 8px;display:flex;position:relative}.quick-pills-label{color:var(--navy-500);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.quick-pills-scroll{scrollbar-width:thin;align-items:center;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.quick-pill{background:var(--white);min-height:32px;color:var(--navy-800);cursor:pointer;border:1px solid #38497429;border-radius:8px;flex:none;align-items:center;gap:7px;padding:5px 11px;font-size:11.5px;font-weight:750;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 6px #1f2d4a08}.quick-pill:hover{background:var(--blue-100);border-color:var(--navy);color:var(--navy-900)}.quick-pill.active{background:var(--navy);border-color:var(--navy);color:var(--white);box-shadow:0 0 0 2px var(--white), 0 0 0 4px var(--navy-500)}.quick-pill small{opacity:.88;font-variant-numeric:tabular-nums;font-size:11px;font-weight:800}.quick-pill.active small{color:#c0cde3}.dashboard-chapter-content{width:100%}.generation-dashboard-grid{grid-template-columns:1fr}.hydro-history-grid{margin-top:12px}.admin-mode{max-width:1450px}.export-button{justify-content:center;width:38px;padding:0;display:flex}.export-button span{display:none}.export-button:disabled{cursor:wait;opacity:.72}@media (min-width:600px){.dashboard-content{padding:22px 22px 26px}.analysis-mode{padding:0}.export-button{width:auto;padding:0 12px}.export-button span{display:inline}}@media (min-width:1100px){.admin-view .dashboard-section{padding:30px 34px}}@media (min-width:1250px){.dashboard-content{height:calc(100dvh - 74px)}.analysis-mode .section-heading{margin-bottom:16px}.analysis-mode .executive-brief{margin-bottom:13px}.analysis-mode .chart-card{padding:16px 18px}.analysis-mode .chart-card>header{min-height:38px;margin-bottom:10px}.analysis-mode .metric-card{min-height:132px;padding:17px 18px}.analysis-mode .metric-value{margin-top:11px}.analysis-mode .metric-change{margin-top:8px}.analysis-mode .dashboard-grid{gap:10px}.analysis-mode .metric-grid{gap:10px;margin-bottom:10px}.analysis-mode .donut-layout{min-height:190px}.analysis-mode .variation-grid>div{min-height:82px;padding:11px 13px}.analysis-mode .flag-timeline{gap:7px;padding-top:18px}.analysis-mode .flag-timeline:before{top:27px}.analysis-mode .distribution-bars{gap:16px;padding-block:7px}.analysis-mode .movement-panel{min-height:188px}.analysis-mode .price-range-grid>div{min-height:88px}.analysis-mode [data-section=weather] .source-callout{margin-block:7px;padding-block:10px}.analysis-mode [data-section=ena] .hydro-history-grid{margin-top:8px}.analysis-mode [data-section=price] .metric-card{min-height:104px;padding-block:13px}.analysis-mode [data-section=price] .price-range-grid>div{min-height:70px;padding-block:9px}.analysis-mode [data-section=price] .chart-card>header{min-height:34px;margin-bottom:7px}.generation-dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1.85fr)}.generation-weekly{grid-column:1/2}.generation-flags{grid-column:2/3}}@media (min-width:1250px) and (max-height:920px){.analysis-mode .dashboard-section{padding-top:12px;padding-bottom:18px}.analysis-mode .section-heading{margin-bottom:12px}.analysis-mode .section-heading h1{font-size:32px}.analysis-mode .section-heading p{font-size:12px}.analysis-mode .executive-brief{min-height:74px;padding-block:13px}.analysis-mode .brief-copy strong{font-size:17px}.analysis-mode .brief-copy p{margin-top:3px;font-size:11px}.analysis-mode .metric-card{min-height:118px}.analysis-mode .chart-card{padding-block:14px}}@media (min-width:1250px) and (max-height:880px){.topbar{height:68px}.dashboard-content{height:calc(100dvh - 68px)}.analysis-mode .dashboard-section{padding-top:10px;padding-bottom:16px}.analysis-mode .section-heading{margin-bottom:9px}.analysis-mode .executive-brief{min-height:68px;margin-bottom:9px;padding-block:10px}.analysis-mode [data-section=weather] .geo-map-stage{min-height:285px}.analysis-mode [data-section=weather] .geo-map-stage>svg{max-height:285px}.analysis-mode [data-section=weather] .live-weather-map{gap:8px}.analysis-mode [data-section=weather] .weather-map-footer{gap:3px;padding-top:6px}.analysis-mode [data-section=weather] .source-callout{margin-block:5px;padding-block:8px}}@media (min-width:1250px) and (max-height:820px){.sidebar{padding-block:12px 10px}.sidebar-top{height:46px}.sidebar nav button,.sidebar-footer>button{min-height:39px;font-size:12px}.nav-caption{margin-bottom:5px}.sidebar nav .admin-caption{margin-top:9px;padding-top:9px}.sidebar-footer{padding-top:7px}.user-card{padding-block:6px 8px}.topbar{height:64px}.dashboard-content{height:calc(100dvh - 64px)}.analysis-mode .dashboard-section{padding:10px 34px 12px}.analysis-mode .section-heading{margin-bottom:8px}.analysis-mode .section-heading h1{font-size:28px}.analysis-mode .section-heading p{margin-top:2px;font-size:11px;line-height:1.4}.analysis-mode .source-note{padding:5px 8px;font-size:11px}.analysis-mode .executive-brief{grid-template-columns:108px minmax(0,1fr) auto;gap:10px;min-height:62px;margin-bottom:8px;padding:9px 14px}.analysis-mode .brief-copy strong{font-size:16px}.analysis-mode .brief-copy p{margin-top:2px;font-size:11px;line-height:1.4}.analysis-mode .brief-tags{gap:4px;max-width:250px}.analysis-mode .brief-tags span{padding:4px 6px;font-size:11px}.analysis-mode .metric-grid{gap:8px;margin-bottom:8px}.analysis-mode .metric-card{min-height:92px;padding:11px 15px}.analysis-mode .metric-top{font-size:11px}.analysis-mode .metric-value{margin-top:6px}.analysis-mode .metric-value strong{font-size:27px}.analysis-mode .metric-change{margin-top:5px;padding:4px 6px;font-size:11px}.analysis-mode .dashboard-grid{gap:8px}.analysis-mode .chart-card{margin-bottom:8px;padding:10px 14px}.analysis-mode .dashboard-grid .chart-card{margin-bottom:0}.analysis-mode .chart-card>header{min-height:30px;margin-bottom:6px}.analysis-mode .chart-card h3{font-size:14px}.analysis-mode .chart-card header p{margin-top:3px;font-size:11px;line-height:1.35}.analysis-mode [data-section=load] .map-wrap,.analysis-mode [data-section=reservoirs] .map-wrap{min-height:235px}.analysis-mode [data-section=load] .map-wrap svg,.analysis-mode [data-section=reservoirs] .map-wrap svg{height:235px}.analysis-mode [data-section=load] .dashboard-grid .chart-card:last-child .recharts-responsive-container{height:270px!important}.analysis-mode .map-legend{gap:4px}.analysis-mode .map-legend button{min-height:43px;padding-block:6px}.analysis-mode .basin-strip{gap:6px;margin-bottom:8px}.analysis-mode .basin-strip>div{min-height:66px;padding-block:9px}.analysis-mode [data-section=reservoirs] .source-callout,.analysis-mode [data-section=weather] .source-callout,.analysis-mode [data-section=pld] .source-callout{margin-block:5px;padding:8px 11px}.analysis-mode .donut-layout{min-height:218px}.analysis-mode .donut-layout .recharts-responsive-container{height:218px!important}.analysis-mode .donut-legend{gap:7px}.analysis-mode .donut-legend>div>span{height:20px}.analysis-mode .variation-grid{gap:6px}.analysis-mode .variation-grid>div{min-height:62px;padding:8px 11px}.analysis-mode .generation-weekly .recharts-responsive-container{height:235px!important}.analysis-mode .flag-timeline{padding-top:12px}.analysis-mode .flag-timeline:before{top:21px}.analysis-mode [data-section=weather] .weather-grid{gap:8px}.analysis-mode [data-section=weather] .geo-map-stage{min-height:248px}.analysis-mode [data-section=weather] .geo-map-stage>svg{max-height:248px}.analysis-mode [data-section=weather] .live-weather-map{gap:6px}.analysis-mode [data-section=weather] .weather-model-bar{min-height:28px}.analysis-mode [data-section=weather] .weather-map-footer{gap:2px;padding-top:5px}.analysis-mode [data-section=weather] .weather-map-footer span{font-size:11px}.analysis-mode [data-section=weather] .weather-map-footer small{font-size:11px;line-height:1.25}.analysis-mode [data-section=weather] .weather-point-card{min-height:38px;padding-block:6px}.analysis-mode [data-section=ena] .distribution-bars,.analysis-mode [data-section=ear] .distribution-bars{gap:10px;padding-block:3px}.analysis-mode [data-section=ena] .movement-panel,.analysis-mode [data-section=ear] .movement-panel{gap:6px;min-height:145px}.analysis-mode [data-section=ena] .movement-panel>div,.analysis-mode [data-section=ear] .movement-panel>div{min-height:39px}.analysis-mode [data-section=ena] .gauge-chart,.analysis-mode [data-section=ear] .gauge-chart{padding-top:3px}.analysis-mode [data-section=ena] .gauge-arc,.analysis-mode [data-section=ear] .gauge-arc{width:164px;height:82px}.analysis-mode [data-section=ena] .gauge-arc:after,.analysis-mode [data-section=ear] .gauge-arc:after{height:56px;left:27px;right:27px}.analysis-mode [data-section=ena] .gauge-scale,.analysis-mode [data-section=ear] .gauge-scale{width:172px}.analysis-mode [data-section=ena] .gauge-chart p,.analysis-mode [data-section=ear] .gauge-chart p{margin-top:7px}.analysis-mode [data-section=ena] .recharts-responsive-container,.analysis-mode [data-section=ear] .history-chart-wrap .recharts-responsive-container{height:235px!important}.analysis-mode [data-section=ena] .hydro-history-grid{margin-top:6px}.analysis-mode [data-section=price] .metric-card{min-height:88px;padding-block:9px}.analysis-mode [data-section=price] .price-range-grid>div{min-height:58px;padding:7px 10px}.analysis-mode [data-section=price] .dashboard-grid .recharts-responsive-container{height:205px!important}.analysis-mode [data-section=pld] .pld-summary{gap:6px;margin-bottom:7px}.analysis-mode [data-section=pld] .pld-summary>div{min-height:78px;padding:9px 11px}.analysis-mode [data-section=pld] .pld-summary .average-pld strong{font-size:21px}.analysis-mode [data-section=pld] .pld-current-strip{margin-bottom:7px;padding:8px 11px}.analysis-mode [data-section=pld] .recharts-responsive-container{height:270px!important}}@media (max-width:899px){.analysis-mode .dashboard-section{padding:14px 15px 86px}.summary-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summary-kpi{min-height:138px;padding:16px}.summary-kpi-value{margin-top:14px}.summary-kpi-value strong{font-size:30px}.summary-chart-card{min-height:560px}.summary-chart-card .chart-body{min-height:470px}}@media (max-width:560px){.summary-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.summary-kpi{min-height:124px}.summary-kpi-value strong{font-size:28px}.summary-chart-card{min-height:520px;padding-inline:13px}.summary-chart-card .chart-body{min-height:430px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dashboard-section{animation:none}}.analysis-mode [data-section=weather] .geo-map-stage.is-expanded{min-height:0}.analysis-mode [data-section=weather] .geo-map-stage.is-expanded>svg{max-height:none}:root{--muted:#5f6c84;--border:#dce2ec}body{font-size:16px}.login-copy p{font-size:15px}.login-form-side label{font-size:14px}.text-button{font-size:13px}.input-wrap input{font-size:15px}.form-error,.form-success,.security-note{font-size:12px;line-height:1.55}.dashboard-content{max-width:1680px}.analysis-mode .dashboard-section{scrollbar-gutter:auto;padding:clamp(22px,2.4vw,38px) clamp(20px,3vw,48px) 52px}.analysis-mode .section-heading{gap:16px;margin-bottom:22px}.analysis-mode .section-heading h1{text-wrap:balance;font-size:clamp(32px,3vw,44px);line-height:1.06}.analysis-mode .section-heading p{margin-top:5px;font-size:15px;line-height:1.6}.analysis-mode .source-note{white-space:normal;padding:9px 12px;font-size:12px}.analysis-mode .source-note b{display:inline}.analysis-mode .executive-brief{gap:18px;min-height:96px;margin-bottom:20px;padding:18px 22px}.analysis-mode .brief-mark span{font-size:11px}.analysis-mode .brief-copy strong{font-size:20px;line-height:1.3}.analysis-mode .brief-copy p{margin-top:5px;font-size:13px;line-height:1.55}.analysis-mode .brief-tags{gap:7px}.analysis-mode .brief-tags span{padding:6px 8px;font-size:11px}.analysis-mode .metric-grid{gap:16px;margin-bottom:18px}.analysis-mode .metric-card{min-height:150px;padding:20px 22px}.analysis-mode .metric-value{margin-top:14px}.analysis-mode .metric-value span,.analysis-mode .metric-change{font-size:12px}.analysis-mode .metric-change{margin-top:10px;padding:6px 8px}.analysis-mode .dashboard-grid{gap:18px}.analysis-mode .chart-card{margin-bottom:18px;padding:22px 24px 24px}.analysis-mode .dashboard-grid .chart-card{margin-bottom:0}.analysis-mode .chart-card>header{min-height:48px;margin-bottom:16px}.analysis-mode .chart-card h3{font-size:18px;line-height:1.3}.analysis-mode .chart-card header p{margin-top:5px;font-size:13px;line-height:1.5}.analysis-mode .chart-body{min-width:0}.recharts-text{font-family:var(--font-manrope), Arial, sans-serif}.recharts-legend-item-text{font-size:13px;color:var(--muted)!important}.recharts-tooltip-label{color:var(--navy-900);font-weight:800;margin-bottom:5px!important}.analysis-mode .map-layout{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);align-items:center;gap:26px}.analysis-mode .map-wrap{background:var(--surface-subtle);min-height:430px}.analysis-mode .map-wrap:before,.analysis-mode .geo-map-stage:before{opacity:.2}.analysis-mode .map-wrap svg{width:100%;max-width:520px;height:420px}.analysis-mode .map-side-content{align-content:center;align-self:stretch;display:grid}.analysis-mode .map-region-badge{padding:7px 10px;font-size:11px}.analysis-mode .map-scale{font-size:11px}.analysis-mode .map-legend{gap:9px}.analysis-mode .map-legend button{gap:12px;min-height:64px;padding:11px 13px}.analysis-mode .map-legend button>span{width:8px;height:34px}.analysis-mode .map-legend button b,.analysis-mode .map-legend button strong{font-size:13px}.analysis-mode .map-legend button small,.analysis-mode .map-legend button.active b:after,.analysis-mode .subsystem-map-labels text{font-size:11px}.analysis-mode .subsystem-map-labels text.share{font-size:5.8px}.analysis-mode .reservoir-map-markers text{font-size:6.5px}.analysis-mode .reservoir-detail{gap:10px}.analysis-mode .detail-title{font-size:12px}.analysis-mode .reservoir-detail button{min-height:64px;padding:12px 13px}.analysis-mode .reservoir-detail strong,.analysis-mode .storage-numbers b{font-size:13px}.analysis-mode .reservoir-detail small,.analysis-mode .storage-numbers span{font-size:11px}.analysis-mode .donut-layout{min-height:300px}.analysis-mode .donut-layout .recharts-responsive-container{height:300px!important}.analysis-mode .donut-legend{gap:14px}.analysis-mode .donut-legend p{font-size:12px}.analysis-mode .donut-legend b{font-size:14px}.analysis-mode .variation-grid{gap:10px}.analysis-mode .variation-grid>div{min-height:108px;padding:15px 16px}.analysis-mode .variation-grid span,.analysis-mode .variation-grid small{font-size:12px}.analysis-mode .variation-grid strong{font-size:17px}.analysis-mode .generation-weekly .recharts-responsive-container{height:340px!important}.analysis-mode .generation-flags .chart-body{align-content:center;min-height:340px;display:grid}.analysis-mode .flag-timeline{gap:10px;padding-top:26px}.analysis-mode .flag-timeline:before{top:35px}.analysis-mode .flag-timeline b{font-size:12px}.analysis-mode .flag-timeline small{max-width:78px;font-size:11px;line-height:1.35}.analysis-mode .basin-strip{gap:12px;margin-bottom:18px}.analysis-mode .basin-strip>div{min-height:98px;padding:16px 18px}.analysis-mode .basin-strip span{font-size:12px}.analysis-mode .basin-strip small{font-size:11px}.analysis-mode .basin-strip strong{font-size:26px}.analysis-mode .weather-grid{grid-template-columns:1fr;gap:18px}.analysis-mode [data-section=weather] .chart-card{padding:20px}.analysis-mode [data-section=weather] .geo-map-stage{min-height:520px}.analysis-mode [data-section=weather] .geo-map-stage>svg{width:min(100%,510px);max-height:510px}.analysis-mode [data-section=weather] .geo-map-stage.is-expanded>svg{width:min(90vw,760px);height:min(86vh,760px);max-height:none}.analysis-mode [data-section=weather] .live-weather-map{gap:11px}.analysis-mode [data-section=weather] .weather-model-bar{min-height:42px;padding-inline:12px}.analysis-mode [data-section=weather] .weather-model-bar>span{font-size:12px}.analysis-mode [data-section=weather] .weather-map-expand{min-height:36px;padding-inline:11px;font-size:11px}.analysis-mode [data-section=weather] .weather-uf-badge{padding:6px 8px;font-size:11px}.analysis-mode [data-section=weather] .weather-point-card{width:min(270px,100% - 20px);min-height:54px;padding:10px 12px;top:56px}.analysis-mode [data-section=weather] .weather-point-card span{font-size:11px}.analysis-mode [data-section=weather] .weather-point-card strong{font-size:14px}.analysis-mode [data-section=weather] .weather-map-legend{gap:7px}.analysis-mode [data-section=weather] .weather-map-legend>div,.analysis-mode [data-section=weather] .weather-map-legend small{font-size:11px}.analysis-mode [data-section=weather] .weather-map-legend i{height:9px}.analysis-mode [data-section=weather] .weather-map-footer{gap:5px;padding-top:10px}.analysis-mode [data-section=weather] .weather-map-footer span{font-size:12px}.analysis-mode [data-section=weather] .weather-map-footer small{font-size:11px;line-height:1.45}.analysis-mode [data-section=weather] .source-callout{margin-block:16px;padding:13px 15px}.analysis-mode .source-callout p{font-size:12px;line-height:1.55}.analysis-mode .distribution-bars{gap:22px;padding-block:14px}.analysis-mode .distribution-bars>div>div:first-child{font-size:12px}.analysis-mode .bar-track{height:10px}.analysis-mode .movement-panel{gap:11px;min-height:235px}.analysis-mode .movement-panel>div{min-height:62px;padding-inline:16px}.analysis-mode .movement-panel span,.analysis-mode .movement-panel b{font-size:12px}.analysis-mode .gauge-chart{padding-top:14px}.analysis-mode .gauge-arc{width:230px;height:115px}.analysis-mode .gauge-arc:after{height:79px;left:37px;right:37px}.analysis-mode .gauge-arc strong{font-size:32px}.analysis-mode .gauge-arc span,.analysis-mode .gauge-scale,.analysis-mode .gauge-chart p{font-size:12px}.analysis-mode .gauge-scale{width:238px}.analysis-mode .history-key{margin-bottom:12px;font-size:12px}.analysis-mode [data-section=ena] .recharts-responsive-container,.analysis-mode [data-section=ear] .history-chart-wrap .recharts-responsive-container{height:340px!important}.analysis-mode .price-range-grid{gap:10px}.analysis-mode .price-range-grid>div{min-height:104px;padding:14px}.analysis-mode .price-range-grid b{font-size:12px}.analysis-mode .price-range-grid strong{font-size:22px}.analysis-mode .price-range-grid span,.analysis-mode .price-range-grid small{font-size:11px}.analysis-mode [data-section=price] .dashboard-grid .recharts-responsive-container{height:330px!important}.analysis-mode .pld-summary{gap:10px;margin-bottom:16px}.analysis-mode .pld-summary>div{min-height:116px;padding:15px 16px}.analysis-mode .pld-summary span,.analysis-mode .pld-summary small,.analysis-mode .pld-current-strip>span{font-size:11px}.analysis-mode .pld-summary strong{font-size:19px}.analysis-mode .pld-summary .average-pld strong{font-size:28px}.analysis-mode .pld-current-strip{margin-bottom:16px;padding:13px 16px}.analysis-mode .pld-current-strip>div span{font-size:11px}.analysis-mode .pld-current-strip>div strong{font-size:14px}.analysis-mode [data-section=pld] .recharts-responsive-container{height:390px!important}.search-box,.period-button,.export-button,.date-filter,.bell{height:42px}.icon-button{min-width:42px;min-height:42px}.search-box{width:230px}.search-box input,.period-button,.export-button,.date-filter{font-size:13px}@media (min-width:600px){.analysis-mode .weather-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px){.analysis-mode [data-section=load] .dashboard-grid.split-wide{grid-template-columns:1fr}.analysis-mode .generation-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-mode .generation-weekly,.analysis-mode .generation-flags{grid-column:auto}}@media (min-width:1250px){.analysis-mode .weather-grid,.analysis-mode .weather-seasonal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-mode .weather-seasonal-grid>.chart-card:last-child:nth-child(odd){grid-column:1/-1}.analysis-mode .weather-seasonal-grid>.chart-card:last-child:nth-child(odd) .live-weather-map{width:min(100%,780px);margin-inline:auto}.analysis-mode [data-section=load] .dashboard-grid .chart-card:last-child .recharts-responsive-container{height:380px!important}}@media (max-width:899px){.analysis-mode .dashboard-section{padding:20px 16px 96px}.analysis-mode .section-heading h1{font-size:clamp(30px,8vw,38px)}.analysis-mode .section-heading p{font-size:14px}.analysis-mode .executive-brief,.analysis-mode .chart-card{padding:18px}.analysis-mode .map-layout{grid-template-columns:1fr;gap:18px}.analysis-mode .map-wrap{min-height:360px}.analysis-mode .map-wrap svg{height:350px}.analysis-mode [data-section=weather] .geo-map-stage{min-height:380px}.analysis-mode [data-section=weather] .geo-map-stage>svg{max-height:390px}}@media (max-width:599px){.analysis-mode .weather-grid{grid-template-columns:1fr}.analysis-mode .metric-card{min-height:138px}.analysis-mode .chart-card h3{font-size:17px}.analysis-mode .map-wrap{min-height:330px}.analysis-mode .map-wrap svg{height:320px}.analysis-mode [data-section=weather] .geo-map-stage{min-height:350px}.analysis-mode [data-section=weather] .geo-map-stage>svg{max-height:360px}.ecmwf-fallback-notice{grid-template-columns:auto minmax(0,1fr)}.ecmwf-fallback-notice button{grid-column:1/-1;justify-content:center}.analysis-mode .donut-layout{flex-direction:column;align-items:stretch}.analysis-mode .donut-layout .recharts-responsive-container{width:100%!important}.analysis-mode .donut-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}.series-filter-row{flex-wrap:wrap;gap:10px;margin:0 0 18px;display:flex}.series-filter-row button{background:var(--white);color:#9aa3b3;min-height:34px;font:inherit;cursor:pointer;border:1px solid #d4dae5;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:800;transition:color .18s,background .18s,border-color .18s,transform .18s;display:inline-flex}.series-filter-row button:hover{color:var(--navy-700);border-color:#9aa8c0;transform:translateY(-1px)}.series-filter-row button.active{border-color:var(--navy);background:var(--navy);color:var(--white);box-shadow:0 7px 18px #38497433}.series-filter-row i{border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 2px #ffffff73}.summary-chart-card .chart-body{min-height:574px}.reservoir-map-card .chart-body{min-height:590px}.reservoir-basin-layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);align-items:stretch;gap:24px;min-width:0;display:grid}.reservoir-basin-stage{background:var(--surface-subtle);cursor:default;border:1px solid #e0e5ed;border-radius:14px;min-height:590px;position:relative;overflow:hidden}.reservoir-basin-stage:before{content:"";opacity:.26;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-size:34px 34px;position:absolute;inset:0}.reservoir-basin-stage svg{filter:drop-shadow(0 12px 18px #1f2d4a1f);width:100%;height:590px;display:block;position:relative}.hydro-sin-base path{stroke:#eef3f8;stroke-width:1px;opacity:1;vector-effect:non-scaling-stroke}.hydro-basin-polygons g,.hydro-subbasin-polygons g,.hydro-reservoir-points g{cursor:pointer;outline:none}.hydro-basin-polygons path{fill:#6374916b;stroke:#f3f7fb;stroke-width:1.2px;vector-effect:non-scaling-stroke;transition:fill .2s,stroke .2s,filter .2s}.hydro-basin-polygons g:hover path{fill:#4d5e7b94}.hydro-basin-polygons g.active path{fill:#5a5a5a;stroke:#000;stroke-width:2px;filter:url(#active-basin-shadow)}.hydro-basin-polygons text,.hydro-subbasin-polygons text{pointer-events:none;fill:var(--white);stroke:#111827d1;stroke-width:2.2px;paint-order:stroke;text-anchor:middle;letter-spacing:.02em;font-size:11px;font-weight:900}.hydro-subbasin-polygons path{fill:#ffffff14;stroke:#ffffffe6;stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.hydro-subbasin-polygons g:hover path,.hydro-subbasin-polygons g.active path{fill:#444;stroke:#000;stroke-width:2px;stroke-dasharray:none;filter:url(#active-basin-shadow)}.hydro-reservoir-points circle{fill:var(--white);stroke:#111;stroke-width:2.5px;vector-effect:non-scaling-stroke;transition:r .18s,fill .18s}.hydro-reservoir-points g:hover circle,.hydro-reservoir-points g.active circle{r:7px;fill:var(--blue-100)}.hydro-reservoir-points.overview text{display:none}.hydro-reservoir-points text{pointer-events:none;fill:#111827;stroke:var(--white);stroke-width:3px;paint-order:stroke;stroke-linejoin:round;text-shadow:1px 1px 2px var(--white);font-size:11px;font-weight:900}.hydro-map-caption{color:var(--navy-500);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border-radius:7px;padding:7px 9px;font-size:11px;font-weight:800;position:absolute;bottom:12px;left:14px}.hydro-map-state{min-height:500px;color:var(--muted);background:#f3f6f9;border-radius:14px;align-content:center;place-items:center;gap:10px;display:grid}.hydro-map-state.error{color:var(--danger)}.basin-panel{background:var(--surface-subtle);border:1px solid #3849741f;border-radius:14px;flex-direction:column;min-width:0;min-height:590px;padding:24px;display:flex}.basin-panel-eyebrow{color:var(--navy-500);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;font-weight:850;display:inline-flex}.basin-panel h3{color:var(--navy-900);letter-spacing:-.04em;margin:12px 0 4px;font-size:clamp(24px,2vw,32px);line-height:1.1}.basin-panel>p{color:var(--muted);margin:0 0 22px;font-size:12px;line-height:1.5}.basin-back{border:1px solid var(--border-strong);background:var(--white);width:fit-content;min-height:34px;color:var(--navy-700);cursor:pointer;border-radius:8px;align-items:center;gap:6px;margin-bottom:22px;padding:0 10px;font-size:11px;font-weight:800;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.basin-back:hover{background:var(--blue-100);color:var(--navy-900);border-color:#b9c4d5}.basin-back:focus-visible{outline-offset:2px;outline:3px solid #afbdd780}.basin-overview-list,.basin-reservoir-list{gap:9px;display:grid}.basin-overview-list button,.basin-reservoir-list button{background:var(--white);min-width:0;min-height:74px;color:var(--ink);text-align:left;cursor:pointer;border:1px solid #dce2eb;border-radius:10px;align-items:center;gap:10px;padding:12px 13px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.basin-overview-list button{grid-template-columns:minmax(0,1fr) auto}.basin-reservoir-list button{grid-template-columns:minmax(0,1fr) auto auto}.basin-overview-list button:hover,.basin-reservoir-list button:hover{border-color:#aebad0;transform:translateY(-1px);box-shadow:0 10px 22px #1f2d4a12}.basin-overview-list span,.basin-reservoir-list span{gap:4px;min-width:0;display:grid}.basin-overview-list strong,.basin-reservoir-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.basin-overview-list b,.basin-reservoir-list b{color:var(--navy-800);font-variant-numeric:tabular-nums;font-size:15px}.basin-overview-list small,.basin-reservoir-list small{color:var(--muted);font-size:11px}.basin-summary-metrics{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px;display:grid}.basin-summary-metrics span{min-height:72px;color:var(--muted);background:#e9eef5;border-radius:10px;align-content:center;gap:4px;padding:12px;font-size:11px;display:grid}.basin-summary-metrics b{color:var(--navy-900);font-size:20px}.reservoir-focus{background:var(--navy-900);color:var(--white)}.reservoir-focus .basin-back{color:var(--white);background:#ffffff14;border-color:#ffffff38}.reservoir-focus .basin-back:hover{color:var(--white);background:#ffffff26;border-color:#ffffff57}.reservoir-focus .basin-panel-eyebrow,.reservoir-focus>p,.reservoir-focus .basin-panel-note{color:#afbdd2}.reservoir-focus h3{color:var(--white)}.reservoir-focus-metrics{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 22px;display:grid}.reservoir-focus-metrics>div{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;align-content:center;gap:7px;min-height:146px;padding:16px;display:grid}.reservoir-focus-metrics svg{color:#bdc9dc}.reservoir-focus-metrics span,.reservoir-focus-metrics small{color:#aebbd0;font-size:11px}.reservoir-focus-metrics strong{letter-spacing:-.04em;font-size:27px}.reservoir-progress{background:#ffffff1f;border-radius:8px;height:8px;overflow:hidden}.reservoir-progress i{border-radius:inherit;background:var(--white);height:100%;display:block}.basin-panel-note{margin-top:auto;padding-top:18px;font-size:11px;line-height:1.5}.hydro-scope-filter,.pld-scope-filter{background:#ffffffdb;border:1px solid #3849741f;border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;margin:-8px 0 18px;padding:7px;display:flex}.hydro-scope-filter>span,.pld-scope-filter>span{color:var(--muted);margin:0 5px;font-size:11px;font-weight:800}.hydro-scope-filter button,.pld-scope-filter button{min-height:34px;color:var(--navy-500);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:0 12px;font-size:11px;font-weight:800}.hydro-scope-filter button:hover,.pld-scope-filter button:hover{background:var(--blue-100)}.hydro-scope-filter button.active,.pld-scope-filter button.active{border-color:var(--navy);background:var(--navy);color:var(--white);box-shadow:0 6px 15px #3849742b}.distribution-bars.focused{align-content:center;min-height:235px}.hydro-history-grid{grid-template-columns:1fr;gap:0;display:grid}.history-cloud-key:before{content:"";background:#aab2c02e;border-radius:2px;width:14px;height:8px;margin-right:5px;display:inline-block}.hydro-history-tooltip{min-width:165px;color:var(--navy-900);background:#fffffff5;border:1px solid #dde2ec;border-radius:11px;gap:7px;padding:11px 12px;display:grid;box-shadow:0 12px 32px #2231501f}.hydro-history-tooltip>b{border-bottom:1px solid var(--blue-100);padding-bottom:4px;font-size:12px}.hydro-history-tooltip span{color:var(--muted);grid-template-columns:7px 1fr auto;align-items:center;gap:7px;font-size:11px;display:grid}.hydro-history-tooltip i{border-radius:50%;width:7px;height:7px}.hydro-history-tooltip strong{color:var(--navy-800);font-variant-numeric:tabular-nums}.gauge-arc div b{color:var(--navy-700);font-variant-numeric:tabular-nums;margin-top:3px;font-size:11px}.analysis-mode [data-section=ena] .gauge-arc strong,.analysis-mode [data-section=ear] .gauge-arc strong{font-size:clamp(21px,1.45vw,27px);line-height:1}.price-comparison-key{color:var(--muted);flex-wrap:wrap;gap:10px 18px;margin:0 0 8px;font-size:11px;font-weight:800;display:flex}.price-comparison-key span{align-items:center;gap:7px;display:inline-flex}.price-comparison-key span:before{content:"";background:#242b38;border-radius:3px;width:18px;height:4px}.price-comparison-key .average:before{background:#7185ad}.price-comparison-key .range:before{background:#e1e4e9;border:1px solid #cbd1dc;height:10px}.price-error-bar line{stroke:#5c6575;stroke-width:1.5px;vector-effect:non-scaling-stroke}.price-history-filter{border:1px solid var(--border);background:var(--surface-subtle);border-radius:11px;flex-wrap:wrap;align-items:end;gap:9px;margin:18px 0 14px;padding:10px 12px;display:flex}.price-history-filter label{color:var(--muted);gap:4px;font-size:11px;font-weight:800;display:grid}.price-history-filter input{border:1px solid var(--border-strong);background:var(--white);min-height:34px;color:var(--navy-900);font:inherit;font-variant-numeric:tabular-nums;border-radius:8px;padding:0 9px;font-size:11px}.price-history-filter button{border:1px solid var(--border-strong);background:var(--white);min-height:34px;color:var(--navy-700);cursor:pointer;border-radius:8px;padding:0 12px;font-size:11px;font-weight:800}.price-history-filter button:hover:not(:disabled){border-color:var(--navy-500);background:var(--blue-100)}.price-history-filter button:disabled{opacity:.45;cursor:default}.price-history-filter button.active,.price-history-filter button.active:hover:not(:disabled){border-color:var(--navy-900);background:var(--navy-900);color:var(--white)}.pld-closing-title{color:var(--navy-900);letter-spacing:-.01em;margin:4px 0 10px;font-size:13px;font-weight:800}.price-history-filter>span{min-height:34px;color:var(--muted);align-items:center;margin-left:auto;font-size:11px;font-weight:750;display:inline-flex}.pld-closing-summary.focused{grid-template-columns:minmax(260px,1fr)}.pld-closing-summary.focused>div{min-height:108px}@media (max-width:1050px){.reservoir-basin-layout{grid-template-columns:1fr}.reservoir-basin-stage,.basin-panel{min-height:520px}.reservoir-basin-stage svg{height:520px}.basin-panel{min-height:0}}@media (max-width:599px){.series-filter-row{gap:7px}.series-filter-row button{min-height:32px;padding-inline:10px;font-size:11px}.reservoir-map-card{padding-inline:12px!important}.reservoir-basin-stage,.reservoir-basin-stage svg{height:430px;min-height:430px}.basin-panel{padding:18px}.basin-reservoir-list button{grid-template-columns:minmax(0,1fr) auto}.basin-reservoir-list button span:last-child{display:none}.hydro-scope-filter,.pld-scope-filter{align-items:stretch}.hydro-scope-filter>span,.pld-scope-filter>span{width:100%;padding:4px 2px}.hydro-scope-filter button,.pld-scope-filter button{flex:auto}}.dashboard-content,.admin-mode{max-width:none}.dashboard-chapter-content,.chart-card,.chart-body,.history-chart-wrap,.hydro-history-grid,.recharts-responsive-container{min-width:0;max-width:100%}.recharts-wrapper,.recharts-surface{min-width:0}.hydro-history-grid>.chart-card{overflow:clip}.analysis-mode .dashboard-section,.admin-view .dashboard-section{padding-inline:clamp(18px,2.25vw,54px)}.analysis-mode .section-heading h1{font-size:clamp(30px,2.05vw,44px)}.analysis-mode .section-heading p{font-size:clamp(13px,.78vw,16px)}.analysis-mode .chart-card h3{font-size:clamp(16px,.92vw,20px)}.analysis-mode .chart-card header p{font-size:clamp(11px,.68vw,14px);line-height:1.5}.analysis-mode .metric-top{font-size:clamp(11px,.68vw,14px)}.analysis-mode .metric-value strong{font-size:clamp(30px,2vw,42px)}.analysis-mode .metric-value span{font-size:clamp(10px,.62vw,13px)}.analysis-mode .metric-change{font-size:clamp(10px,.61vw,12px)}.analysis-mode [data-section=ena] .recharts-responsive-container,.analysis-mode [data-section=ear] .history-chart-wrap .recharts-responsive-container{width:100%!important;height:clamp(350px,39vh,500px)!important}.analysis-mode [data-section=ena] .hydro-history-grid,.analysis-mode [data-section=ear] .hydro-history-grid{width:100%;overflow:hidden}.analysis-mode [data-section=load] .dashboard-grid .chart-card:last-child .recharts-responsive-container,.analysis-mode [data-section=generation] .generation-weekly .recharts-responsive-container,.analysis-mode [data-section=price] .dashboard-grid .recharts-responsive-container,.analysis-mode [data-section=pld] .recharts-responsive-container{height:clamp(330px,39vh,490px)!important}.summary-chart-card .recharts-responsive-container{height:clamp(460px,52vh,650px)!important}.summary-chart-card,.summary-chart-card .chart-body{min-height:0}.sidebar-top{justify-content:center;position:relative}.sidebar .brand-logo{object-position:center;width:108px}.close-menu{position:absolute;right:0}.sidebar-collapse-button{display:none}.security-architecture{background:var(--white);color:var(--navy-900);border:1px solid #3849741a;border-radius:16px;margin-bottom:18px;padding:18px 20px;box-shadow:0 12px 30px #1f2d4a0d}.security-architecture>div{background:var(--surface-subtle);border:1px solid #e5eaf2;border-radius:12px;min-height:72px;padding:14px 18px}.security-architecture svg{color:var(--navy-700)}.security-architecture b{color:var(--navy-900);font-size:13.5px;font-weight:750}.security-architecture small{color:var(--muted);font-size:12px}.access-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.access-overview>div{background:var(--white);border:1px solid #3849741a;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:5px 12px;min-height:104px;padding:18px 22px;display:grid;box-shadow:0 10px 28px #1f2d4a0a}.access-overview span{color:var(--navy-700);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800}.access-overview strong{color:var(--navy-900);font-variant-numeric:tabular-nums;grid-area:1/2/3;align-self:center;font-size:34px;line-height:1}.access-overview small{color:var(--muted);font-size:11.5px}.admin-feedback{border-radius:10px;margin:0 0 16px;padding:13px 16px;font-size:12.5px}.access-layout{grid-template-columns:minmax(360px,.72fr) minmax(640px,1.28fr);gap:18px}.access-layout>.chart-card{border-radius:16px;padding:24px}.access-layout>.chart-card:first-child .access-form{width:100%;margin:0}.access-form{gap:14px}.access-form label{color:var(--navy-900);font-size:12px;font-weight:750}.access-form input,.access-form select{border-radius:10px;height:46px;font-size:13px}.access-form .primary-button{border-radius:10px;width:100%;max-width:none;min-height:48px;margin-top:6px;font-size:13.5px}.access-toolbar{align-items:center;gap:10px;margin:-2px 0 14px;display:flex}.access-toolbar label{background:var(--surface-subtle);min-width:0;height:42px;color:var(--muted);border:1px solid #d9dfe9;border-radius:10px;flex:1;align-items:center;gap:9px;padding:0 14px;display:flex}.access-toolbar input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:12.5px}.access-toolbar>span{color:var(--navy-700);flex:none;font-size:11.5px;font-weight:750}.access-list article{background:var(--white);border:1px solid #e1e7f0;border-radius:12px;min-height:72px;padding:14px 18px;transition:border-color .18s,box-shadow .18s,transform .18s;box-shadow:0 4px 12px #1f2d4a08}.access-list article:hover{border-color:#cbd7e6;transform:translateY(-1px);box-shadow:0 8px 22px #1f2d4a0f}.access-list article.is-editing{background:var(--surface-subtle)}.access-list article.is-deleting{background:snow;border-color:#e7c6c6}.access-list b{color:var(--navy-900);font-size:13.5px;font-weight:800}.access-list small{color:var(--muted);font-size:12px}.access-list .avatar{border-radius:10px;width:40px;height:40px;font-size:12px;font-weight:800}.role-badge{letter-spacing:.05em;border-radius:7px;padding:5px 10px;font-size:11px;font-weight:800}.access-actions{flex-wrap:wrap;gap:8px}.access-actions button{border-radius:8px;min-height:34px;padding:0 12px;font-size:11.5px;font-weight:750}.access-actions button.action-delete{color:#a34747;border-color:#ebd0d0}.access-actions button.action-delete:hover{background:#fff4f4;border-color:#dbaaaa}.delete-confirmation{color:#9c4545;border-top:1px solid #eed6d6;border-radius:10px;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;min-width:0;padding:14px;gap:12px!important;display:grid!important}.delete-confirmation>div{gap:3px;display:grid}.delete-confirmation b{font-size:12.5px;font-weight:800}.delete-confirmation small{color:#8c6060;white-space:normal;font-size:11px}.delete-confirmation button{background:var(--white);color:#7f5656;cursor:pointer;border:1px solid #dbcaca;border-radius:8px;min-height:34px;padding:0 12px;font-size:11.5px;font-weight:800}.delete-confirmation .confirm-delete{color:var(--white);background:#a94a4a;border-color:#a94a4a;justify-content:center;align-items:center;gap:6px;display:inline-flex}.access-empty{min-height:230px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.access-empty b{color:var(--navy-900);font-size:14px}.access-empty small{font-size:12px}@media (min-width:900px){.app-shell{--sidebar-expanded:clamp(236px, 13.25vw, 272px);--sidebar-width:var(--sidebar-expanded)}.app-shell.sidebar-collapsed{--sidebar-width:82px}.sidebar{width:var(--sidebar-width);padding-inline:14px;transition:width .24s,transform .25s}.main-shell{padding-left:var(--sidebar-width);transition:padding-left .24s}.sidebar-collapse-button{z-index:4;color:#c0cde3;cursor:pointer;width:30px;height:30px;box-shadow:none;background:#ffffff12;border:1px solid #ffffff24;border-radius:8px;place-items:center;padding:0;transition:background .18s,border-color .18s,color .18s;display:grid;position:absolute;top:16px;right:12px}.sidebar-collapse-button:hover{color:var(--white);background:#ffffff26;border-color:#ffffff40}.sidebar.collapsed .sidebar-top{align-items:center;height:96px;padding-top:38px}.sidebar.collapsed .sidebar-collapse-button{top:4px;right:50%;transform:translate(50%)}.sidebar.collapsed .brand-logo{width:52px}.sidebar.collapsed .nav-caption,.sidebar.collapsed nav button span,.sidebar.collapsed .sidebar-footer>button span,.sidebar.collapsed .user-card>div{display:none}.sidebar.collapsed nav button,.sidebar.collapsed .sidebar-footer>button{justify-content:center;padding:0}.sidebar.collapsed nav button.active:before{left:-14px}.sidebar.collapsed .sidebar-footer{margin-top:auto}.sidebar.collapsed .user-card{justify-content:center;padding-inline:0}.sidebar.collapsed nav button,.sidebar.collapsed .sidebar-footer>button{min-height:42px}.sidebar.collapsed nav{padding-top:10px;overflow:visible}}@media (min-width:1700px){.analysis-mode .dashboard-section{padding-block:24px 34px}.analysis-mode [data-section=load] .dashboard-grid.split-wide{grid-template-columns:minmax(600px,.9fr) minmax(700px,1.1fr);gap:18px}.analysis-mode .weather-seasonal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.analysis-mode .weather-seasonal-grid>.chart-card:last-child:nth-child(odd){grid-column:auto}.analysis-mode .weather-seasonal-grid>.chart-card:last-child:nth-child(odd) .live-weather-map{width:100%}.analysis-mode .generation-dashboard-grid{gap:18px}.analysis-mode .metric-grid{gap:16px;margin-bottom:16px}.analysis-mode .chart-card{padding:22px 24px}.analysis-mode .chart-card>header{min-height:44px;margin-bottom:14px}.analysis-mode [data-section=weather] .geo-map-stage{min-height:590px}.analysis-mode [data-section=weather] .geo-map-stage>svg{max-height:580px}.reservoir-basin-layout{grid-template-columns:minmax(760px,1.55fr) minmax(370px,.45fr)}.reservoir-basin-stage,.basin-panel{min-height:680px}.reservoir-basin-stage svg{height:680px}}@media (max-width:1180px){.access-layout{grid-template-columns:1fr}}@media (max-width:700px){.access-overview{grid-template-columns:1fr}.access-overview>div{min-height:82px}.access-list article,.access-list article.is-editing{grid-template-columns:auto minmax(0,1fr)}.access-list article>.access-actions,.access-list article.is-editing>.access-actions{grid-column:1/-1;justify-content:flex-start}.delete-confirmation{grid-template-columns:auto minmax(0,1fr)}.delete-confirmation button{grid-column:auto}.delete-confirmation button:first-of-type{grid-column:1/2}.delete-confirmation .confirm-delete{grid-column:2/3}}@media (max-width:599px){.analysis-mode .dashboard-section,.admin-view .dashboard-section{padding-inline:14px}.analysis-mode [data-section=ena] .recharts-responsive-container,.analysis-mode [data-section=ear] .history-chart-wrap .recharts-responsive-container{height:330px!important}.access-toolbar{flex-direction:column;align-items:stretch}.access-toolbar>span{align-self:flex-end}}.skip-link{z-index:200;background:var(--navy-900);color:var(--white);border-radius:9px;padding:10px 14px;font-size:12px;font-weight:800;text-decoration:none;transition:transform .18s;position:fixed;top:10px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.favorite-nav-group{border-bottom:1px solid #ffffff14;margin-bottom:17px;padding-bottom:13px}.favorite-marker{color:#d4def0;margin-left:auto}.sidebar.collapsed .favorite-marker{display:none}.topbar-popover,.search-box{position:relative}.search-box kbd{border:1px solid var(--border);background:var(--surface-subtle);color:#8994a8;border-radius:5px;flex:none;padding:3px 5px;font-family:inherit;font-size:11px;line-height:1}.search-box.is-open{border-color:#aebad0;box-shadow:0 0 0 3px #38497412}.search-results,.popover-panel{z-index:80;border:1px solid var(--border);background:#fffffffa;border-radius:12px;min-width:280px;animation:.16s ease-out popoverIn;position:absolute;top:calc(100% + 9px);right:0;overflow:hidden;box-shadow:0 22px 60px #1421392e}.search-results{width:min(360px,80vw);padding:6px;left:0;right:auto}.search-results button,.export-menu button{width:100%;min-height:48px;color:var(--navy-700);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;display:flex}.search-results button:hover,.search-results button[aria-selected=true],.export-menu button:hover{background:var(--surface-subtle)}.search-results button span,.export-menu button span{flex:1;gap:2px;min-width:0;display:grid}.search-results b,.export-menu b{color:var(--navy-900);font-size:11px}.search-results small,.export-menu small{color:var(--muted);font-size:11px}.search-results p{color:var(--muted);text-align:center;margin:0;padding:16px;font-size:11px}.export-menu{width:310px;padding:6px}.export-menu svg{color:var(--navy-500)}.favorite-button.active{background:var(--blue-100);color:var(--navy);border-color:#c5d0e2}.data-status-button{position:relative}.data-status-button i{border:1px solid var(--white);background:#3b9b75;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px;box-shadow:0 0 0 2px #e3f1eb}.data-status-button.is-loading i{background:#c28f31;border:0;animation:1s ease-in-out infinite statusPulse;box-shadow:0 0 0 2px #f7edd8}.data-status-button.has-error i{background:#bd5b5b;box-shadow:0 0 0 2px #f7e4e4}.data-status-panel{width:min(390px,88vw);padding:16px}.data-status-panel header{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;display:grid}.data-status-panel header>div{gap:3px;min-width:0;display:grid}.data-status-panel header b{color:var(--navy-900);font-size:12px}.data-status-panel header small{color:var(--muted);font-size:11px;line-height:1.45}.data-health{width:10px;height:10px;box-shadow:0 0 0 4px var(--blue-100);background:#8f99a9;border-radius:50%;margin-top:3px}.data-health.live{background:#3b9b75;box-shadow:0 0 0 4px #e6f3ed}.data-health.loading{background:#c28f31;box-shadow:0 0 0 4px #f7edd8}.data-health.error{background:#bd5b5b;box-shadow:0 0 0 4px #f7e4e4}.data-status-panel dl{border:1px solid #e6eaf0;border-radius:9px;gap:0;margin:15px 0 11px;display:grid;overflow:hidden}.data-status-panel dl div{background:var(--surface-subtle);grid-template-columns:105px minmax(0,1fr);align-items:center;gap:12px;min-height:36px;padding:8px 10px;display:grid}.data-status-panel dl div+div{border-top:1px solid #e8ecf2}.data-status-panel dt{color:var(--muted);font-size:11px;font-weight:800}.data-status-panel dd{overflow-wrap:anywhere;color:var(--navy-800);text-align:right;margin:0;font-size:11px;font-weight:700}.status-explainer{color:var(--muted);font-size:11px;line-height:1.5;display:block}.data-refresh-progress{z-index:42;top:70px;left:var(--sidebar-width,0);background:#38497414;height:3px;position:fixed;right:0;overflow:hidden}.data-refresh-progress:after{content:"";background:var(--navy-500);width:34%;height:100%;animation:1.2s ease-in-out infinite dataProgress;display:block}@keyframes popoverIn{0%{opacity:0;transform:translateY(-5px)scale(.985)}}@keyframes statusPulse{50%{opacity:.4}}@keyframes dataProgress{0%{transform:translate(-110%)}to{transform:translate(310%)}}.chart-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;min-width:0;max-width:100%;display:flex}.chart-card-actions .pld-scope-filter{margin:0;padding:4px}.chart-data-scroll thead th{z-index:2;background:var(--blue-100);color:var(--navy-800);font-size:11px;position:sticky;top:0}.chart-data-scroll tbody tr:nth-child(2n){background:var(--surface-subtle)}.section-pager{border-top:1px solid #3849741f;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:24px;padding-top:18px;display:grid}.section-pager>button{border:1px solid var(--border);min-height:60px;color:var(--navy-500);cursor:pointer;text-align:left;background:#ffffffd6;border-radius:11px;align-items:center;gap:10px;padding:10px 14px;display:flex}.section-pager>button.next{text-align:right;justify-content:flex-end}.section-pager>button:hover{background:var(--white);border-color:#bdc7d8}.section-pager button span{gap:3px;display:grid}.section-pager small{color:var(--muted);font-size:11px}.section-pager b{color:var(--navy-900);font-size:11px}.drawer-layer{z-index:150;grid-template-columns:minmax(0,1fr) min(430px,92vw);display:grid;position:fixed;inset:0}.drawer-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:default;background:#0b15277a;border:0}.glossary-drawer{background:var(--white);min-width:0;padding:24px;animation:.22s ease-out drawerIn;overflow-y:auto;box-shadow:-24px 0 70px #0b152738}.glossary-drawer header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.glossary-drawer header span{color:var(--navy-500);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:850}.glossary-drawer h2{color:var(--navy-900);letter-spacing:-.04em;margin:5px 0 0;font-size:28px}.glossary-drawer header button{border:1px solid var(--border);background:var(--white);cursor:pointer;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.glossary-search{border:1px solid var(--border);background:var(--surface-subtle);height:44px;color:var(--muted);border-radius:10px;align-items:center;gap:8px;margin:22px 0 16px;padding:0 12px;display:flex}.glossary-search:focus-within{border-color:var(--navy-500);box-shadow:0 0 0 3px #38497414}.glossary-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.glossary-list{gap:9px;display:grid}.glossary-list article{background:#fbfcfd;border:1px solid #e2e6ed;border-radius:11px;padding:14px}.glossary-list b{color:var(--navy-900);font-size:13px}.glossary-list p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.55}.glossary-empty{color:var(--muted);text-align:center}.glossary-drawer footer{color:var(--muted);border-top:1px solid #e5e9ef;margin-top:18px;padding-top:15px;font-size:11px;line-height:1.5}@keyframes drawerIn{0%{opacity:0;transform:translate(35px)}}.feedback-form{margin-top:22px}.feedback-form fieldset{border:0;gap:6px;margin:0;padding:0;display:grid}.feedback-types{gap:8px;display:grid}.feedback-types button{border:1px solid var(--border-strong);background:var(--surface-subtle);color:var(--ink);text-align:left;font:inherit;cursor:pointer;border-radius:10px;gap:2px;padding:11px 13px;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.feedback-types button b{color:var(--navy-900);font-size:13px}.feedback-types button small{color:var(--muted);font-size:11.5px;font-weight:400}.feedback-types button:hover{border-color:var(--navy-500)}.feedback-form textarea{border:1px solid var(--border-strong);background:var(--surface-subtle);width:100%;min-height:130px;color:var(--ink);font:inherit;resize:vertical;border-radius:10px;outline:0;padding:11px 13px;font-size:13px;font-weight:400;line-height:1.5}.feedback-form textarea:focus{border-color:var(--navy-500);background:var(--white);box-shadow:0 0 0 4px #38497414}.feedback-context{color:var(--muted);font-size:11.5px;line-height:1.5}.feedback-sent{color:var(--state-success);text-align:center;background:#f1f8f3;border:1px solid #cfe3d6;border-radius:12px;justify-items:center;gap:8px;margin-top:32px;padding:24px;display:grid}.feedback-sent b{color:var(--navy-900);font-size:15px}.feedback-sent p{color:var(--muted);margin:0 0 8px;font-size:12.5px;line-height:1.5}.route-loading-shell{background:var(--paper);grid-template-columns:220px minmax(0,1fr);gap:20px;min-height:100dvh;padding:22px;display:grid}.route-loading-sidebar,.route-loading-line,.route-loading-kpis span,.route-loading-chart{background:linear-gradient(90deg,var(--border) 25%,var(--paper) 50%,var(--border) 75%);background-size:200% 100%;border-radius:14px;animation:1.5s linear infinite skeletonShift}.route-loading-sidebar{background-color:var(--navy-900);opacity:.88;min-height:calc(100dvh - 44px)}.route-loading-content{grid-template-rows:50px 24px 128px minmax(350px,1fr);align-content:start;gap:18px;display:grid}.route-loading-line.title{width:min(420px,70%)}.route-loading-line.subtitle{width:min(620px,85%)}.route-loading-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.route-loading-chart{min-height:460px}@keyframes skeletonShift{to{background-position:-200% 0}}@media (max-width:899px){.data-refresh-progress{top:70px;left:0}.section-pager{margin-bottom:8px}.route-loading-shell{grid-template-columns:1fr}.route-loading-sidebar{display:none}.route-loading-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:599px){.favorite-button,.glossary-button{display:none}.topbar{padding-inline:10px}.topbar-actions{gap:5px}.date-filter{min-width:108px;padding-inline:8px}.section-pager{grid-template-columns:1fr}.section-pager>span{display:none}.section-pager>button.next{grid-row:auto}.price-history-filter label{flex:calc(50% - 5px)}.price-history-filter input{width:100%}.price-history-filter button{flex:100%}.price-history-filter>span{justify-content:center;width:100%}.drawer-layer{grid-template-columns:1fr}.drawer-backdrop{display:none}.glossary-drawer{width:100%}.mobile-tabbar{height:calc(68px + env(safe-area-inset-bottom));padding-bottom:max(6px, env(safe-area-inset-bottom))}.route-loading-kpis{grid-template-columns:1fr}}.quote-main{border-radius:var(--radius);background:#fffffff2;border:1px solid #3849741a;gap:18px;margin-bottom:12px;padding:22px;display:grid;box-shadow:0 12px 34px #1f2d4a0f}.quote-main header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px 24px;display:flex}.quote-main header>div{gap:8px;display:grid}.quote-tag{background:var(--blue-100);color:var(--navy-500);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-self:start;padding:4px 9px;font-size:11px;font-weight:800}.quote-main h3{color:var(--navy-900);letter-spacing:-.025em;margin:0;font-size:22px}.quote-main header p{max-width:560px;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.buy-energy-button{z-index:40;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));min-height:52px;color:var(--white);cursor:pointer;background:#23885f;border:0;border-radius:999px;align-items:center;gap:9px;padding:0 22px;font-size:15px;font-weight:800;transition:background .18s,transform .18s,box-shadow .18s;display:inline-flex;position:fixed;box-shadow:0 14px 30px #23885f59}.buy-energy-button:hover{background:#1c7451;transform:translateY(-2px);box-shadow:0 18px 34px #23885f66}@media (min-width:900px){.buy-energy-button{bottom:28px;right:28px}}@media print{.buy-energy-button{display:none!important}}.quote-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.quote-table caption{color:var(--muted);text-align:left;padding-bottom:10px;font-size:11px;font-weight:700}.quote-table th,.quote-table td{border-top:1px solid var(--border);text-align:left;padding:12px 4px}.quote-table thead th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;border-top:0;font-size:11px;font-weight:800}.quote-table thead th:last-child,.quote-table td{text-align:right}.quote-table tbody th{color:var(--navy-800);font-weight:800}.quote-table tbody th small{background:var(--surface-subtle);color:var(--muted);border-radius:6px;margin-left:10px;padding:2px 6px;font-size:11px;font-weight:800}.quote-table td{color:var(--ink);font-weight:800}.quote-empty{color:var(--muted);margin:0;font-size:13px}.dev-dialog-layer{z-index:160;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dev-dialog-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:default;background:#0b15277a;border:0;position:absolute;inset:0}.dev-dialog{background:var(--white);text-align:center;width:min(380px,100%);color:var(--navy);border-radius:16px;justify-items:center;gap:10px;padding:30px 26px 24px;display:grid;position:relative;box-shadow:0 24px 70px #0b152740}.dev-dialog h2{color:var(--navy-900);letter-spacing:-.02em;margin:4px 0 0;font-size:20px}.dev-dialog p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.dev-dialog-close{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.dev-dialog-close:hover{background:var(--surface-subtle)}.dev-dialog-ok{background:var(--navy);min-height:40px;color:var(--white);cursor:pointer;border:0;border-radius:10px;margin-top:8px;padding:0 22px;font-size:13px;font-weight:800}@media print{@page{size:A4 landscape;margin:11mm 12mm 13mm}html,body{scroll-behavior:auto;background:var(--white)!important}body{color:var(--navy-900);-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:10pt}.sidebar,.topbar,.mobile-tabbar,.toast,.mobile-scrim,.admin-dashboard-section,.section-pager,.drawer-layer,.data-refresh-progress,.skip-link{display:none!important}.app-shell,.main-shell{background:var(--white);min-height:0;display:block}.main-shell{width:100%;height:auto;overflow:visible;padding:0!important}.dashboard-content{width:100%;max-width:none;margin:0;padding:0}.print-report-header{border-bottom:2px solid #384974;justify-content:space-between;align-items:center;gap:16mm;min-height:28mm;margin-bottom:8mm;padding-bottom:7mm;display:flex}.print-report-header .brand-logo{width:34mm;height:auto}.print-report-header>div{text-align:right;justify-items:end;gap:1.2mm;margin-left:auto;display:grid}.print-report-header span{color:#52658f;letter-spacing:.12em;text-transform:uppercase;font-size:8pt;font-weight:800}.print-report-header strong{color:var(--navy-900);letter-spacing:-.03em;font-size:18pt}.print-report-header small{color:#6d7890;font-size:8pt}.dashboard-section{break-before:page;page-break-before:always;height:auto;min-height:0;overflow:visible;box-shadow:none!important;border:0!important;margin:0!important;padding:0 0 6mm!important}.dashboard-section:after{display:none}.dashboard-chapter-content{width:100%}.dashboard-section:first-child{break-before:auto;page-break-before:auto}.section-heading{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:5mm}.section-heading h1{margin-bottom:1.5mm;font-size:22pt}.section-heading p{font-size:9.5pt}.source-note{background:var(--white);box-shadow:none;font-size:7.5pt}.source-note b{display:inline}.executive-brief{box-shadow:none;break-inside:avoid-page;page-break-inside:avoid;border-radius:4mm;grid-template-columns:28mm minmax(0,1fr) auto;align-items:center;margin-bottom:5mm;padding:4mm 5mm}.brief-copy strong{font-size:12pt}.brief-copy p{font-size:8pt}.brief-tags{justify-content:flex-end;max-width:68mm}.metric-grid{gap:3mm;margin-bottom:4mm;grid-template-columns:repeat(4,minmax(0,1fr))!important}.metric-card{min-height:31mm;box-shadow:none;break-inside:avoid-page;border-radius:3mm;padding:4mm}.metric-value strong{font-size:21pt}.dashboard-grid.split-wide{grid-template-columns:.9fr 1.1fr}.dashboard-grid.split-even{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid.thirds{grid-template-columns:repeat(3,minmax(0,1fr))}.span-two{grid-column:span 2}.chart-card{box-shadow:none;break-inside:avoid-page;page-break-inside:avoid;border-radius:3mm;margin-bottom:4mm;padding:4mm}.chart-card h3{font-size:11pt}.chart-card header p{font-size:8pt}.chart-card:hover,.metric-card:hover{box-shadow:none;transform:none}.map-layout{grid-template-columns:1.1fr .9fr}.weather-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-grid .chart-card{break-inside:avoid-page}.basin-strip{break-inside:avoid-page;grid-template-columns:repeat(3,1fr)}.price-range-grid{grid-template-columns:repeat(5,1fr)}.pld-summary{grid-template-columns:1.35fr repeat(4,1fr)}.pld-summary .average-pld{grid-column:auto}.source-callout,.pld-current-strip,.security-architecture{break-inside:avoid-page;page-break-inside:avoid}button,input,select{-webkit-print-color-adjust:exact;print-color-adjust:exact}}[data-section=quote] .section-pager{padding-bottom:76px}@media (min-width:900px){[data-section=quote] .section-pager{padding-bottom:64px}}.metric-value strong,.pld-summary strong,.quote-table td,.price-history-filter>span{font-variant-numeric:tabular-nums}.source-note.is-pending .status-dot{background:var(--text-subtle);box-shadow:none}.section-skeleton{gap:14px;display:grid}.skeleton-metrics{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.skeleton-card,.skeleton-chart{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);gap:14px;padding:20px;display:grid}.skeleton-line,.skeleton-block,.skeleton-chart-area{background:linear-gradient(90deg, var(--border) 0%, var(--blue-100) 50%, var(--border) 100%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite skeletonShimmer;display:block}.skeleton-line{width:70%;height:12px}.skeleton-line-short{width:40%}.skeleton-line-wide{width:min(420px,90%);margin-top:4px}.skeleton-block{width:55%;height:34px}.skeleton-chart-area{width:100%;height:clamp(220px,38vh,420px)}@keyframes skeletonShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton-line,.skeleton-block,.skeleton-chart-area{animation:none}}.data-unavailable{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);text-align:center;max-width:520px;color:var(--text-secondary);justify-items:center;gap:10px;margin:24px auto;padding:32px 28px;display:grid}.data-unavailable svg{color:var(--state-danger)}.data-unavailable h2{color:var(--text-strong);letter-spacing:-.01em;margin:4px 0 0;font-size:18px}.data-unavailable p{margin:0;font-size:13px;line-height:1.6}.data-unavailable button{border-radius:var(--radius-md);background:var(--navy-900);min-height:38px;color:var(--white);cursor:pointer;border:0;align-items:center;gap:8px;margin-top:8px;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex}.data-unavailable button:hover{background:var(--navy-700)}.metric-top{justify-content:flex-start;gap:8px}.metric-top .metric-label{min-width:0;color:var(--text-secondary);flex:auto;font-weight:650}.metric-icon{border-radius:var(--radius-sm);background:var(--blue-100);width:28px;height:28px;color:var(--navy);flex:none;place-items:center;display:inline-grid}.metric-card .metric-change{background:var(--surface-subtle);color:var(--text-secondary);gap:5px;padding:4px 8px}.metric-card .metric-change svg{transform:none}.metric-card.tone-success .metric-change{background:var(--state-success-bg);color:var(--state-success)}.metric-card.tone-warning .metric-change{background:var(--state-warning-bg);color:var(--state-warning)}.metric-card.tone-danger .metric-change{background:var(--state-danger-bg);color:var(--state-danger)}.metric-source{color:var(--text-subtle);margin:10px 0 0;font-size:12px;line-height:1.4}.method-note{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-card);margin-top:12px}.method-note summary{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;list-style:none;display:flex}.method-note summary::-webkit-details-marker{display:none}.method-note[open] summary{border-bottom:1px solid var(--border)}.method-note p{color:var(--text-secondary);margin:0;padding:12px 14px;font-size:13px;line-height:1.6}.metric-grid.five{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:900px){.metric-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1250px){.metric-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}}.summary-main{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (min-width:1250px){.summary-main{grid-template-columns:minmax(0,1fr) 340px;align-items:start}}.summary-main .chart-card{margin-bottom:0}.period-segment{border-radius:var(--radius-md);background:var(--surface-bg);gap:2px;padding:4px;display:inline-flex}.period-segment button{border-radius:var(--radius-sm);min-height:30px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 11px;font-size:12px;font-weight:700;transition:background .15s,color .15s}.period-segment button:hover{color:var(--text-strong)}.period-segment button.active{background:var(--surface-card);color:var(--text-strong);box-shadow:0 1px 2px #1620331f}.insight-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);padding:20px;box-shadow:0 12px 32px #1f2d4a0e}.insight-panel header{color:var(--navy);align-items:center;gap:8px;display:flex}.insight-panel h3{color:var(--text-strong);margin:0;font-size:15px}.insight-panel ul{margin:14px 0 0;padding:0;list-style:none;display:grid}.insight-panel li{border-top:1px solid var(--border);border-left:3px solid var(--border);padding:14px 0 14px 14px}.insight-panel li.success{border-left-color:var(--state-success)}.insight-panel li.warning{border-left-color:var(--state-warning)}.insight-panel li b{color:var(--text-strong);font-size:14px;display:block}.insight-panel li p{color:var(--text-secondary);margin:4px 0 0;font-size:13px;line-height:1.55}.weather-facts .metric-value strong{font-size:clamp(20px,2vw,24px)}.main-side-grid{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:12px;display:grid}@media (min-width:1250px){.main-side-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:stretch}}.main-side-grid>.chart-card{margin-bottom:0}.share-bars{gap:18px;display:grid}.share-row{gap:6px;display:grid}.share-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.share-head b{color:var(--text-strong);font-size:14px;font-weight:750}.share-head span{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:13px}.share-track{background:var(--surface-bg);border-radius:4px;height:8px;overflow:hidden}.share-track i{border-radius:4px;height:100%;display:block}.share-row small{color:var(--text-subtle);font-size:12px}.about-note{margin-bottom:12px}.donut-layout.stacked{flex-direction:column;align-items:stretch;gap:12px}.donut-layout.stacked .donut-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;display:grid}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;color:var(--text-secondary);padding:12px 12px 12px 0}.data-table thead th{color:var(--text-subtle);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding-bottom:8px;font-size:11px;font-weight:800}.data-table tbody th{color:var(--text-strong);font-size:14px;font-weight:750}.data-table .num{text-align:right;padding-right:0}.data-table tbody tr:last-child th,.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--surface-subtle)}.chip{border-radius:var(--radius-sm);background:var(--surface-bg);color:var(--text-secondary);white-space:nowrap;align-items:center;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.chip.success{background:var(--state-success-bg);color:var(--state-success)}.chip.warning{background:var(--state-warning-bg);color:var(--state-warning)}.chip.danger{background:var(--state-danger-bg);color:var(--state-danger)}.chip.brand{background:var(--blue-100);color:var(--navy)}.level-cell{align-items:center;gap:10px;min-width:160px;display:flex}.level-cell .share-track{flex:auto}.level-cell b{color:var(--text-strong);text-align:right;min-width:52px;font-size:13px}.share-track i.tone-success{background:var(--state-success)}.share-track i.tone-warning{background:var(--chart-5)}.share-track i.tone-danger{background:var(--state-danger)}.insight-list{margin:0;padding:0;list-style:none;display:grid}.insight-list li{border-top:1px solid var(--border);border-left:3px solid var(--border);padding:14px 0 14px 14px}.insight-list li:first-child{border-top:0}.insight-list li.success{border-left-color:var(--state-success)}.insight-list li.warning{border-left-color:var(--state-warning)}.insight-list li b{color:var(--text-strong);font-size:14px;display:block}.insight-list li p{color:var(--text-secondary);margin:4px 0 0;font-size:13px;line-height:1.55}.filter-bar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);flex-wrap:wrap;align-items:center;gap:12px 24px;margin-bottom:12px;padding:12px 16px;display:flex}.filter-bar .pld-scope-filter{box-shadow:none;background:0 0;border:0;margin:0;padding:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.quote-data-table .price-cell{color:var(--text-strong);font-size:15px;font-weight:800}.quote-data-table b.up{color:var(--state-warning)}.quote-data-table b.down{color:var(--state-success)}.muted{color:var(--text-subtle);font-size:12px}.sparkline{display:block}.table-footnote{color:var(--text-subtle);align-items:flex-start;gap:8px;margin:4px 0 0;font-size:12px;line-height:1.5;display:flex}.table-footnote svg{flex:none;margin-top:2px}.cta-panel{border-radius:var(--radius-lg);background:var(--navy-900);color:var(--white);flex-direction:column;gap:12px;padding:24px;display:flex}.cta-panel header{color:var(--blue-100);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.cta-panel h3{letter-spacing:-.02em;margin:0;font-size:20px}.cta-panel p{color:var(--blue-100);margin:0;font-size:13px;line-height:1.6}.cta-box{border-radius:var(--radius-md);background:var(--navy-800);gap:8px;margin-top:auto;padding:16px;display:grid}.cta-box b{font-size:14px}.cta-box span{color:var(--blue-100);font-size:13px;line-height:1.5}.cta-button{border-radius:var(--radius-md);background:var(--state-success);min-height:42px;color:var(--white);font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:800;transition:filter .15s,transform .15s;display:inline-flex}.cta-button:hover{filter:brightness(1.08)}.cta-button:active{transform:scale(.98)}.range-list{gap:20px;display:grid}.range-row{gap:8px;display:grid}.range-head{color:var(--text-strong);justify-content:space-between;align-items:baseline;font-size:14px;display:flex}.range-head span{font-variant-numeric:tabular-nums;font-weight:800}.range-track{background:var(--blue-100);border-radius:4px;height:8px;margin:4px 6px;position:relative}.range-track i{position:absolute;top:50%;transform:translate(-50%,-50%)}.range-average{background:var(--text-subtle);width:2px;height:16px}.range-dot{border:2px solid var(--surface-card);width:14px;height:14px;box-shadow:0 0 0 1px var(--border-strong);border-radius:50%}.range-dot.high{background:var(--state-warning)}.range-dot.low{background:var(--state-success)}.range-foot{color:var(--text-subtle);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:12px;display:flex}.access-list{gap:0}.access-list article{border:0;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;padding:14px 4px;transform:none}.access-list article:hover{border-color:var(--border);box-shadow:none;background:var(--surface-subtle);transform:none}.access-list article:last-of-type{border-bottom:0}.access-list article.is-editing{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);margin:6px 0;padding:16px}.access-list .avatar{border-radius:var(--radius-md);background:var(--blue-100);color:var(--navy)}.access-actions{flex-wrap:wrap;justify-content:flex-end}.access-toolbar{flex-wrap:wrap;gap:12px}@media (min-width:1250px){.search-box{width:340px}}.search-box kbd{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-subtle);font:inherit;white-space:nowrap;padding:2px 6px;font-size:11px;font-weight:700}@media (min-width:1100px){.access-layout{grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);grid-template-areas:"users invite"}}:root{--navy-600:#33497a;--navy-800-brand:#22335a;--navy-50:#f3f6fb;--navy-100:#e8edf6;--shadow-card:0 8px 24px -4px #1726400d, 0 1px 2px #1726400f}.sidebar{background:var(--navy-950);gap:4px;width:min(280px,88vw);padding:24px 16px}.sidebar-top{justify-content:space-between;height:auto;padding:0 12px 20px}.sidebar-brand{color:var(--white);flex-direction:column;line-height:1;display:flex}.sidebar-brand b{letter-spacing:-.01em;font-size:18px;font-weight:700;line-height:24px}.sidebar-brand span{color:var(--navy-100);font-size:12px;font-weight:500;line-height:16px}.sidebar nav{padding-top:0}.nav-group+.nav-group{margin-top:0}.nav-caption{color:var(--navy-100);opacity:.55;letter-spacing:.06em;text-transform:uppercase;margin:0;padding:14px 12px 4px;font-size:11px;font-weight:700;line-height:16px}.sidebar nav button,.sidebar-admin{border-radius:var(--radius-md);width:100%;height:40px;min-height:40px;color:var(--navy-100);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:8px 12px;font-size:13px;font-weight:400;line-height:20px;display:flex}.sidebar nav button:hover,.sidebar-admin:hover{color:var(--white);background:#ffffff0f}.sidebar nav button.active,.sidebar-admin.active{background:var(--navy-800-brand);color:var(--white);font-size:14px;font-weight:600}.sidebar nav button.active:before,.sidebar nav .admin-caption{display:none}.sidebar-admin{flex:none;margin-top:auto}.sidebar-feedback+.sidebar-admin{margin-top:0}.sidebar-footer{border-top:1px solid var(--navy-800-brand);margin-top:0;padding-top:0;position:relative}.sidebar-footer .user-card{text-align:left;cursor:pointer;border-radius:var(--radius-md);background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:12px 12px 4px;display:flex}.sidebar-footer .user-card:hover .avatar{background:#3d5690}.sidebar-footer .avatar{border-radius:var(--radius-md);background:var(--navy-600);width:32px;height:32px;color:var(--white);font-size:12px;font-weight:600}.sidebar-footer .user-card b{color:var(--white);font-size:14px;font-weight:600;line-height:22px}.sidebar-footer .user-card small{color:var(--navy-100);font-size:12px;font-weight:500;line-height:16px}.user-card>div{gap:0}.user-menu{border:1px solid var(--navy-800-brand);border-radius:var(--radius-md);z-index:5;background:#16213a;gap:2px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;right:0;box-shadow:0 16px 40px #00000059}.user-menu button{border-radius:var(--radius-sm);min-height:38px;color:var(--navy-100);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-size:13px;display:flex}.user-menu button:hover{color:var(--white);background:#ffffff14}.user-menu-status{border-bottom:1px solid var(--navy-800-brand);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;margin-bottom:4px;padding:8px 10px 10px;display:grid}.user-menu-status b{color:var(--white);font-size:12px;font-weight:600}.user-menu-status small{color:var(--navy-100);opacity:.75;margin-top:2px;font-size:11px;line-height:1.4;display:block}.user-menu-status .data-health{margin-top:4px}@media (min-width:900px){.app-shell,.app-shell.sidebar-collapsed{--sidebar-width:248px}.sidebar{width:248px}.main-shell{padding-left:248px;transition:none}}.topbar{background:var(--surface-card);-webkit-backdrop-filter:none;backdrop-filter:none;justify-content:flex-start;gap:12px;height:auto;min-height:64px;padding:12px 16px}.topbar-spacer{flex:1 1 0;min-width:0}.topbar .search-box{border-radius:var(--radius-md);background:var(--surface-bg);width:360px;max-width:100%;height:40px;color:var(--text-subtle);border:0;gap:8px;padding:0 8px 0 12px}.topbar .search-box.is-open{box-shadow:0 0 0 3px #3849741f}.topbar .search-box input{font-size:13px;line-height:20px}.topbar .search-box input::placeholder{color:var(--text-subtle)}.topbar .search-box kbd{padding:2px 6px;font-size:12px;font-weight:600;line-height:16px}.topbar .date-filter{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);min-width:0;height:36px;color:var(--text-strong);gap:8px;padding:0 12px;font-size:12px;font-weight:600}.topbar .date-filter:hover{box-shadow:none;background:var(--surface-subtle)}.topbar .export-button{border-radius:var(--radius-md);background:var(--navy-900);width:auto;height:36px;color:var(--white);border:0;gap:8px;padding:0 16px;font-size:12px;font-weight:600;display:inline-flex}.topbar .export-button span{display:inline}@media (max-width:899px){.topbar .search-box{display:none}.topbar .export-button{justify-content:center;width:36px;padding:0}.topbar .export-button span{display:none}}@media (min-width:900px){.topbar{padding:12px 32px}.topbar .search-box{display:flex}.topbar .menu-button{display:none}}.analysis-mode .dashboard-section{padding:32px}@media (max-width:899px){.analysis-mode .dashboard-section{padding:20px 16px 96px}}.dashboard-chapter-content{flex-direction:column;display:flex}.dashboard-chapter-content>*{min-width:0}.dashboard-chapter-content>.about-note{order:90;margin:16px 0 0}.dashboard-chapter-content>.section-pager{order:95}.analysis-mode .section-heading{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:24px;display:flex}@media (min-width:900px){.analysis-mode .section-heading{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px}}.section-heading-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.analysis-mode .section-breadcrumb{color:var(--text-subtle);letter-spacing:0;text-transform:none;margin:0;font-size:12px;font-weight:600;line-height:16px;display:block}.analysis-mode .section-heading h1{color:var(--text-strong);letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:26px;font-weight:700;line-height:32px}.analysis-mode .section-heading .section-description{max-width:720px;color:var(--text-secondary);margin:0;font-size:14px;line-height:22px}.analysis-mode .source-note{background:var(--state-success-bg);box-shadow:none;color:var(--state-success);white-space:normal;border:0;border-radius:999px;flex:none;gap:8px;padding:4px 12px;font-size:12px;font-weight:600;line-height:16px}.analysis-mode .source-note .status-dot{background:var(--state-success);width:8px;height:8px;box-shadow:none}.analysis-mode .source-note.is-pending{background:var(--surface-bg);color:var(--text-subtle)}.analysis-mode .source-note.is-pending .status-dot{background:var(--text-subtle)}.favorite-toggle{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-subtle);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.favorite-toggle:hover{background:var(--surface-bg);color:var(--text-strong)}.favorite-toggle.active{color:var(--chart-5)}.method-note.about-note summary{color:var(--text-subtle);font-size:12px;font-weight:600}.analysis-mode .chart-card,.analysis-mode .metric-card,.analysis-mode .insight-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-card);padding:24px}.analysis-mode .metric-card{flex-direction:column;gap:12px;min-height:0;display:flex}.analysis-mode .metric-top{gap:8px;font-size:12px}.analysis-mode .metric-top .metric-label{color:var(--text-secondary);font-size:12px;font-weight:600;line-height:16px}.analysis-mode .metric-icon{background:var(--navy-50);border-radius:var(--radius-sm);width:28px;height:28px}.analysis-mode .metric-value{align-items:baseline;gap:8px;margin:0;display:flex}.analysis-mode .metric-value strong{letter-spacing:-.02em;color:var(--text-strong);font-size:34px;font-weight:800;line-height:40px}.analysis-mode .metric-value span{color:var(--text-subtle);font-size:13px;font-weight:400;line-height:20px}.analysis-mode .metric-card .metric-change{border-radius:var(--radius-sm);width:fit-content;margin:0;padding:3px 8px;font-size:12px;font-weight:600;line-height:16px}.analysis-mode .metric-source{color:var(--text-subtle);margin:0;font-size:12px;font-weight:500;line-height:16px}.analysis-mode .chart-card h3{color:var(--text-strong);letter-spacing:-.005em;font-size:15px;font-weight:600;line-height:20px}.analysis-mode .chart-card header p{color:var(--text-secondary);margin-top:4px;font-size:13px;line-height:20px}.recharts-legend-item-text{font-size:12px;font-weight:600;color:var(--text-strong)!important}.chart-card:not(.legacy-chart) .recharts-default-tooltip{background:var(--navy-950)!important}.chart-card:not(.legacy-chart) .recharts-tooltip-label{font-weight:700;color:var(--white)!important;margin-bottom:4px!important}.chart-card:not(.legacy-chart) .recharts-tooltip-item{font-weight:500;color:var(--navy-100)!important}.hydro-history-tooltip{border-radius:var(--radius-md);background:var(--navy-950);color:var(--navy-100);border:0;box-shadow:0 12px 32px #111a2e47}.hydro-history-tooltip>b{color:var(--white);border-bottom-color:#ffffff24;font-size:12px;font-weight:700}.hydro-history-tooltip span{color:var(--navy-100);font-size:12px}.hydro-history-tooltip strong{color:var(--white)}.hydro-history-tooltip i{border-radius:2px}.chart-card:not(.legacy-chart) .series-filter-row{align-items:center;gap:6px 16px;margin:0 0 12px}.chart-card:not(.legacy-chart) .series-filter-row button{min-height:0;box-shadow:none;color:var(--text-subtle);opacity:.55;background:0 0;border:0;border-radius:0;gap:6px;padding:0;font-size:12px;font-weight:600}.chart-card:not(.legacy-chart) .series-filter-row button:hover{color:var(--text-strong);opacity:1;border-color:#0000;transform:none}.chart-card:not(.legacy-chart) .series-filter-row button.active{color:var(--text-strong);box-shadow:none;opacity:1;background:0 0;border-color:#0000}.chart-card:not(.legacy-chart) .series-filter-row i{width:10px;height:10px;box-shadow:none;border-radius:3px}.series-filter-row small{color:var(--text-subtle);font-size:12px;font-weight:500}.chart-footnote{color:var(--text-subtle);align-items:center;gap:6px;margin:12px 0 0;font-size:12px;font-weight:500;line-height:16px;display:flex}.recharts-cartesian-axis-tick-value{font-weight:500}@media (min-width:1250px){.summary-main.is-single{grid-template-columns:minmax(0,1fr)}}.cta-panel{gap:14px}.cta-panel h3{font-size:22px;line-height:28px}.cta-points{gap:10px;margin:4px 0 0;padding:0;list-style:none;display:grid}.cta-points li{color:var(--navy-100);align-items:center;gap:10px;font-size:13px;line-height:20px;display:flex}.cta-points svg{color:#7fd3b0;background:#3e9c7a2e;border-radius:50%;flex:none;width:22px;height:22px;padding:3px}.cta-panel .cta-button{border-radius:var(--radius-md);min-height:48px;color:var(--white);background:#1fa855;margin-top:auto;padding:0 18px;font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 8px 20px #1fa85547}.cta-panel .cta-button:hover{filter:none;background:#1b964b}.cta-panel .cta-button:focus-visible{outline-offset:2px;outline:3px solid #7fd3b099}.cta-contact{color:var(--navy-100);opacity:.75;text-align:center;font-size:12px}.history-key b{color:var(--text-subtle)}.history-key strong{color:var(--chart-1)}.history-previous-key{color:var(--chart-2)}.history-mlt-key{color:var(--chart-5)}.history-mlt-key:before{border-top-color:var(--chart-5);filter:none}.mlt-reference-line{filter:none}.history-cloud-key:before{background:#9db3d659}.filter-bar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-card);flex-wrap:wrap;align-items:flex-end;gap:12px 0;margin:0 0 16px;padding:12px 16px;display:flex}.seg-filter{gap:6px;min-width:0;padding:0 20px;display:grid}.seg-filter:first-child{padding-left:0}.seg-filter+.seg-filter{border-left:1px solid var(--border)}.seg-label{color:var(--text-subtle);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700;line-height:16px}.seg-track{border-radius:var(--radius-md);background:var(--surface-bg);flex-wrap:wrap;gap:2px;width:fit-content;max-width:100%;padding:3px;display:inline-flex}.seg-track button{min-height:30px;color:var(--text-secondary);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:13px;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.seg-track button:hover{color:var(--text-strong);background:#fff9}.seg-track button.active{background:var(--surface-card);color:var(--text-strong);box-shadow:0 1px 2px #1620331a,0 1px 1px #1620330f,inset 0 0 0 1px #1620330a}.seg-track button:focus-visible{outline:2px solid var(--chart-2);outline-offset:1px}.seg-track button:active{transform:none}@media (max-width:899px){.filter-bar{flex-direction:column;align-items:stretch;gap:12px;padding:12px}.seg-filter{padding:0}.seg-filter+.seg-filter{border-left:0;border-top:1px solid var(--border);padding-top:12px}.seg-track{width:100%}.seg-track button{flex:auto}}.sidebar{position:fixed}.sidebar-brand{align-items:center;min-height:52px;display:flex}.sidebar-logo{width:132px;height:auto}.sidebar-mark{width:26px;height:auto}.sidebar-collapse-toggle{display:none}@media (min-width:900px){.sidebar-collapse-toggle{z-index:6;border:1px solid var(--border-strong);background:var(--surface-card);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:background .15s,color .15s;display:grid;position:absolute;top:38px;right:-12px;box-shadow:0 2px 6px #111a2e2e}.sidebar-collapse-toggle:hover{background:var(--navy-50);color:var(--text-strong)}.sidebar,.main-shell{transition:width .2s,padding-left .2s}.app-shell.sidebar-collapsed .sidebar{width:80px;padding-inline:12px}.app-shell.sidebar-collapsed .main-shell{padding-left:80px}.sidebar.collapsed .sidebar-top{justify-content:center;height:auto;padding:0 0 20px}.sidebar.collapsed .brand-logo,.sidebar.collapsed .sidebar-logo{display:none}.sidebar.collapsed nav{padding-top:0;overflow-x:hidden}.sidebar.collapsed .nav-caption{color:#0000;opacity:1;background:#ffffff1f;height:1px;margin:10px 8px;padding:0;overflow:hidden}.sidebar.collapsed nav button,.sidebar.collapsed .sidebar-admin{justify-content:center;padding:0}.sidebar.collapsed nav button span,.sidebar.collapsed .sidebar-admin span,.sidebar.collapsed .favorite-marker,.sidebar.collapsed .user-card>div{display:none}.sidebar.collapsed .sidebar-footer .user-card{justify-content:center;padding:12px 0 4px}.sidebar.collapsed .user-menu{width:260px;right:auto}.sidebar.collapsed .favorite-nav-group{border-bottom:0;margin-bottom:0;padding-bottom:0}}.pld-chart-stack{gap:16px;margin-bottom:16px;display:grid}.pld-chart-stack>.chart-card{margin-bottom:0}.pld-daily-card .recharts-responsive-container{min-height:380px}@media (max-width:599px){.analysis-mode .metric-card{gap:10px;padding:16px}.analysis-mode .metric-value{flex-wrap:wrap;gap:0 6px}.analysis-mode .metric-value strong{font-size:28px;line-height:34px}.analysis-mode .metric-value span{font-size:12px;line-height:16px}.analysis-mode .metric-card .metric-change{white-space:normal}}.sidebar-mark{width:22px}.sidebar-brand{min-height:40px;padding-left:2px}.month-picker-trigger{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);height:36px;color:var(--text-strong);font:inherit;white-space:nowrap;cursor:pointer;align-items:center;gap:8px;padding:0 12px;font-size:12px;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex;position:relative}.month-picker-trigger svg{color:var(--text-secondary);flex:none}.month-picker-trigger b{font-weight:600}.month-picker-label{color:var(--text-secondary);font-weight:500}.month-picker-trigger:hover{background:var(--surface-subtle)}.month-picker-trigger.is-open{border-color:var(--chart-2);box-shadow:0 0 0 3px #5c7bb029}.month-picker-trigger.loading:after{content:"";border:2px solid var(--border);border-top-color:var(--navy);border-radius:50%;width:10px;height:10px;animation:.7s linear infinite spin}.month-picker-trigger:active{transform:none}.month-picker-panel{z-index:120;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);animation:.14s ease-out pickerIn;display:flex;position:fixed;overflow:hidden;box-shadow:0 20px 48px -12px #111a2e47,0 2px 6px #111a2e14}.month-picker-panel.range{width:min(460px,100vw - 24px)}.month-picker-panel.single{width:min(300px,100vw - 24px)}@keyframes pickerIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.month-picker-presets{border-right:1px solid var(--border);background:var(--surface-subtle);flex-direction:column;flex:0 0 160px;gap:2px;padding:14px 10px;display:flex}.month-picker-presets>span{color:var(--text-subtle);letter-spacing:.06em;text-transform:uppercase;padding:0 8px 8px;font-size:11px;font-weight:700}.month-picker-presets button{border-radius:var(--radius-sm);min-height:34px;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:13px;font-weight:500}.month-picker-presets button:hover{background:var(--surface-card);color:var(--text-strong)}.month-picker-presets button.active{background:var(--surface-card);color:var(--text-strong);font-weight:700;box-shadow:0 1px 2px #16203314}.month-picker-calendar{flex-direction:column;flex:auto;gap:10px;min-width:0;padding:14px;display:flex}.month-picker-calendar header{justify-content:space-between;align-items:center;display:flex}.month-picker-calendar header b{color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.month-picker-calendar header button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-card);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;place-items:center;display:grid}.month-picker-calendar header button:hover:not(:disabled){background:var(--surface-subtle);color:var(--text-strong)}.month-picker-calendar header button:disabled{opacity:.35;cursor:default}.month-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.month-picker-grid button{border-radius:var(--radius-sm);height:38px;color:var(--text-strong);font:inherit;text-transform:capitalize;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:600;transition:background .12s,color .12s}.month-picker-grid button:hover:not(:disabled){background:var(--navy-50)}.month-picker-grid button.in-range{background:var(--navy-50);color:var(--chart-1);border-radius:0}.month-picker-grid button.selected{background:var(--chart-1);color:var(--white)}.month-picker-grid button:disabled{color:var(--border-strong);cursor:default}.month-picker-grid button:active{transform:none}.month-picker-calendar footer{justify-content:center;min-height:20px;display:flex}.month-picker-calendar footer small{color:var(--text-subtle);text-align:center;font-size:12px}.month-picker-reset{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-card);height:32px;color:var(--text-strong);font:inherit;cursor:pointer;padding:0 12px;font-size:12px;font-weight:600}.month-picker-reset:hover{background:var(--surface-subtle)}@media (max-width:599px){.month-picker-panel.range{flex-direction:column}.month-picker-presets{border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap;flex:none}.month-picker-presets>span{width:100%;padding-bottom:4px}.month-picker-presets button{text-align:center;background:var(--surface-card);flex:auto}.topbar .month-picker-label{display:none}}.month-picker-grid button.selected,.month-picker-grid button.selected:hover:not(:disabled){background:var(--chart-1);color:var(--white)}.month-picker-scrim{display:none}@media (max-width:599px){.month-picker-scrim{z-index:119;background:#111a2e66;border:0;display:block;position:fixed;inset:0}.month-picker-panel,.month-picker-panel.range,.month-picker-panel.single{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:85dvh;padding-bottom:env(safe-area-inset-bottom);animation:.2s ease-out pickerSheet;bottom:0;right:0;overflow-y:auto;top:auto!important;left:0!important}@keyframes pickerSheet{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.month-picker-grid button{height:44px}}.sidebar-top{justify-content:center;padding-inline:0;position:relative}.sidebar-brand{justify-content:center;width:100%;min-height:34px;padding:0}.sidebar-logo{width:72px}.sidebar .close-menu{position:absolute;top:0;right:0}.ecmwf-map-image{background:#fff}.ecmwf-legend{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.ecmwf-legend-title{color:var(--text-secondary);font-size:12px;font-weight:700}.ecmwf-legend-scale{flex:360px;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;min-width:0;display:grid}.ecmwf-legend-scale span{gap:4px;display:grid}.ecmwf-legend-scale i{height:10px;display:block}.ecmwf-legend-scale span:first-child i{border-radius:3px 0 0 3px}.ecmwf-legend-scale span:last-child i{border-radius:0 3px 3px 0}.ecmwf-legend-scale small{color:var(--text-subtle);font-variant-numeric:tabular-nums;font-size:11px}.ecmwf-map-modal .ecmwf-legend{padding:10px 6px 0}.range-list{gap:26px}.range-head{align-items:center}.range-head b{font-size:14px}.range-delta{font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.range-delta.high{background:var(--state-warning-bg);color:var(--state-warning)}.range-delta.low{background:var(--state-success-bg);color:var(--state-success)}.range-row .range-track{height:8px;margin:34px 8px 6px}.range-fill{opacity:.35;border-radius:4px;position:absolute;top:0;bottom:0}.range-fill.high{background:var(--chart-5)}.range-fill.low{background:var(--state-success)}.range-row .range-average{background:var(--text-subtle);border-radius:1px;width:2px;height:18px}.range-row .range-dot{z-index:2;border:3px solid var(--surface-card);width:16px;height:16px;box-shadow:0 1px 4px #111a2e40}.range-bubble{z-index:3;color:var(--white);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:7px;padding:3px 9px;font-size:12.5px;font-weight:800;line-height:18px;transition:left .3s;position:absolute;bottom:calc(100% + 10px);transform:translate(-50%);box-shadow:0 4px 10px #111a2e2e}.range-bubble:after{content:"";border:5px solid #0000;border-top-color:inherit;position:absolute;top:100%;left:50%;transform:translate(-50%)}.range-bubble.high{background:var(--state-warning);border-color:var(--state-warning)}.range-bubble.low{background:var(--state-success);border-color:var(--state-success)}.range-bubble.edge-start{transform:translate(-14px)}.range-bubble.edge-start:after{left:14px}.range-bubble.edge-end{transform:translate(calc(14px - 100%))}.range-bubble.edge-end:after{left:calc(100% - 14px)}.range-row .range-foot{padding:0 2px}.access-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;max-height:min(620px,62vh);margin-right:-6px;padding-right:6px;overflow-y:auto}.access-list::-webkit-scrollbar{width:6px}.access-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px}.access-list{padding-bottom:14px;-webkit-mask-image:linear-gradient(#000 calc(100% - 18px),#0000);mask-image:linear-gradient(#000 calc(100% - 18px),#0000)}@media (max-width:899px){.access-list{max-height:70vh}}.feedback-drawer{flex-direction:column;gap:0;display:flex}.feedback-drawer .feedback-header{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;padding-bottom:18px;display:grid}.feedback-badge{background:var(--navy-50);width:44px;height:44px;color:var(--chart-1);border-radius:12px;place-items:center;display:grid}.feedback-header h2{margin:2px 0 0;font-size:22px}.feedback-header p{color:var(--text-secondary);margin:4px 0 0;font-size:13px;line-height:1.5}.feedback-form{gap:16px;margin-top:18px;display:grid}.feedback-form fieldset{border:0;margin:0;padding:0}.feedback-form legend{color:var(--text-strong);margin-bottom:10px;font-size:13px;font-weight:700}.feedback-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.feedback-types button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-card);text-align:left;cursor:pointer;align-content:start;gap:4px;min-height:112px;padding:12px;transition:border-color .15s,box-shadow .15s,background .15s;display:grid;position:relative}.feedback-types button:hover{border-color:var(--border-strong);background:var(--surface-subtle)}.feedback-types button.active{border-color:var(--chart-1);background:var(--navy-50);box-shadow:0 0 0 3px #22335a1f}.feedback-types button.active:after{content:"";background:var(--chart-1);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;right:10px}.feedback-types button b{color:var(--text-strong);font-size:13px;line-height:1.3}.feedback-types button small{color:var(--text-subtle);font-size:11.5px;font-weight:400;line-height:1.4}.feedback-type-icon{border-radius:9px;place-items:center;width:32px;height:32px;margin-bottom:4px;display:grid}.type-data_error .feedback-type-icon{background:var(--state-warning-bg);color:var(--state-warning)}.type-bug .feedback-type-icon{background:var(--state-danger-bg);color:var(--state-danger)}.type-suggestion .feedback-type-icon{background:var(--state-success-bg);color:var(--state-success)}.type-feedback .feedback-type-icon{background:var(--navy-50);color:var(--chart-2)}.feedback-field{gap:8px;display:grid}.feedback-field>span{color:var(--text-strong);justify-content:space-between;align-items:baseline;font-size:13px;font-weight:700;display:flex}.feedback-field>span small{color:var(--text-subtle);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.feedback-form textarea{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);width:100%;min-height:140px;color:var(--text-strong);font:inherit;resize:vertical;outline:0;padding:12px 14px;font-size:14px;line-height:1.55}.feedback-form textarea:focus{border-color:var(--chart-2);box-shadow:0 0 0 3px #5c7bb029}.feedback-context{color:var(--text-secondary);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.feedback-context span{background:var(--surface-bg);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.feedback-context svg{color:var(--text-subtle)}.feedback-submit{border-radius:var(--radius-md);background:var(--navy-900);min-height:46px;box-shadow:none;margin-top:0}.feedback-submit:hover{background:var(--chart-1)}.feedback-submit svg:last-child{margin-left:0}.feedback-unavailable{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-subtle);text-align:center;color:var(--state-warning);justify-items:center;gap:8px;margin-top:24px;padding:28px 22px;display:grid}.feedback-unavailable b{color:var(--text-strong);font-size:15px}.feedback-unavailable p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.55}.feedback-drawer .feedback-sent{margin-top:24px}@media (max-width:420px){.feedback-types{grid-template-columns:1fr}.feedback-types button{min-height:0}}.daily-price-card{margin-top:12px}.daily-price-state{text-align:center;min-height:300px;color:var(--text-subtle);align-content:center;place-items:center;gap:8px;display:grid}.daily-price-state .skeleton-chart-area{width:100%;height:300px}.daily-price-state.empty{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-subtle);padding:24px}.daily-price-state b{color:var(--text-strong);font-size:14px}.daily-price-state p{max-width:460px;margin:0;font-size:13px;line-height:1.55}.hydro-history-tooltip strong small{color:var(--navy-100);opacity:.8;font-weight:500}.quote-data-table th:last-child,.quote-data-table td:last-child{padding-left:24px}.range-row .range-foot{min-height:18px;color:var(--text-subtle);margin:0 8px;padding:0;font-size:11.5px;position:relative}.range-row .range-foot small{white-space:nowrap;font-size:11.5px}.range-row .range-foot b{color:var(--text-secondary);font-weight:700}.range-row .range-foot .range-min{position:absolute;left:0}.range-row .range-foot .range-max{position:absolute;right:0}.range-row .range-foot .range-mean{color:var(--text-secondary);position:absolute;top:0;transform:translate(-50%)}.range-row .range-foot .range-mean b{color:var(--text-strong)}.access-duration{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px 10px;display:grid}.access-form .access-duration{grid-column:1/-1}.access-duration>label:first-child{grid-column:1}.access-duration-days input{width:92px}.access-duration small{color:var(--text-subtle);grid-column:1/-1;align-items:center;gap:6px;font-size:12px;display:inline-flex}.access-duration small.is-invalid{color:var(--state-danger)}.access-edit-fields .access-duration{grid-column:1/-1}.chip.temporary{background:var(--navy-50);color:var(--chart-1);gap:4px}.access-list .access-expiry{background:var(--navy-50);width:fit-content;color:var(--chart-1);border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.access-list .access-expiry.is-expired{background:var(--state-danger-bg);color:var(--state-danger)}.access-list .access-lead{background:var(--state-success-bg);width:fit-content;color:var(--state-success);border-radius:999px;align-items:center;gap:5px;margin-top:2px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.quote-data-table{table-layout:auto}.quote-data-table th:first-child,.quote-data-table td:first-child,.quote-data-table th:nth-child(2),.quote-data-table td:nth-child(2){white-space:nowrap;width:1%;padding-right:28px}.quote-data-table th:nth-child(3),.quote-data-table td:nth-child(3){white-space:nowrap;width:1%;padding-right:8px}.quote-data-table th:nth-child(4),.quote-data-table td:nth-child(4){white-space:nowrap;width:1%;padding-left:24px;padding-right:8px}.quote-data-table .range-cell{color:var(--text-secondary);font-variant-numeric:tabular-nums}.quote-data-table td:last-child{min-width:120px}.quote-data-table .sparkline{width:100%}.lead-page{background:var(--surface-bg);min-height:100dvh;color:var(--text-strong);flex-direction:column;display:flex}.lead-page main{flex:1}.lead-header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#ffffffeb;justify-content:space-between;align-items:center;height:64px;padding:0 16px;display:flex;position:sticky;top:0}.lead-logo{object-fit:contain;object-position:left center;width:96px;height:48px;display:block}.lead-login-link{border:1px solid var(--border-strong);border-radius:var(--radius-md);min-height:40px;color:var(--navy-800);background:var(--white);align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.lead-login-link:hover{border-color:var(--navy-500)}.lead-hero{gap:28px;max-width:1200px;margin:0 auto;padding:32px 16px 40px;display:grid}.lead-hero-copy{min-width:0}.lead-hero-copy h1{color:var(--navy-900);letter-spacing:-.04em;margin:14px 0;font-size:clamp(30px,8vw,48px);line-height:1.05}.lead-hero-copy>p{max-width:560px;color:var(--text-secondary);margin:0;font-size:15px;line-height:1.65}.lead-checks{gap:12px;margin:22px 0 0;padding:0;list-style:none;display:grid}.lead-checks li{color:var(--text-strong);align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.lead-checks svg{color:var(--state-success);flex:none}.lead-hero-visual{border-radius:var(--radius-lg);height:220px;margin-top:28px;display:none;position:relative;overflow:hidden}.lead-hero-visual img{object-fit:cover}.lead-form{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);align-content:start;gap:8px;min-width:0;padding:22px 18px;display:grid;box-shadow:0 18px 40px #111a2e14}.lead-form-head{margin-bottom:8px}.lead-form-head h2{color:var(--navy-900);letter-spacing:-.02em;margin:0 0 6px;font-size:21px}.lead-form-head p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.lead-form label{color:var(--text-strong);font-size:13px;font-weight:700}.lead-form>label:not(:first-of-type):not(.lead-consent),.lead-form-row label{margin-top:6px;margin-bottom:8px;display:block}.lead-form .input-wrap{height:48px}.lead-form-row{gap:8px;display:grid}.lead-form-row>div{min-width:0}.lead-hint{color:var(--text-subtle);margin-top:5px;font-size:12px;display:block}.lead-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.lead-form .lead-consent{color:var(--text-secondary);cursor:pointer;align-items:flex-start;gap:10px;margin-top:10px;font-size:12px;font-weight:500;line-height:1.5;display:flex}.lead-consent input{width:18px;height:18px;accent-color:var(--navy-700);flex:none;margin:1px 0 0}.lead-form .primary-button{margin-top:8px}.lead-security{color:var(--text-subtle);text-align:center;justify-content:center;align-items:center;gap:6px;margin:6px 0 0;font-size:12px;display:flex}.lead-section{max-width:1200px;margin:0 auto;padding:40px 16px}.lead-section h2{color:var(--navy-900);letter-spacing:-.03em;margin:12px 0 22px;font-size:clamp(24px,6vw,34px);line-height:1.12}.lead-offer-grid{gap:16px;display:grid}.lead-offer-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);padding:22px 18px}.lead-offer-card.dark{border-color:var(--navy-950);background:var(--navy-950);color:var(--white)}.lead-offer-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding-bottom:16px;display:flex}.lead-offer-card.dark .lead-offer-head{border-color:#ffffff1f}.lead-offer-head>svg{box-sizing:content-box;border-radius:var(--radius-md);background:var(--blue-100);color:var(--navy-700);flex:none;padding:8px}.lead-offer-card.dark .lead-offer-head>svg{color:var(--white);background:#ffffff1a}.lead-offer-head h3{margin:0 0 4px;font-size:18px}.lead-offer-head p{color:var(--text-secondary);margin:0;font-size:13px}.lead-offer-card.dark .lead-offer-head p{color:var(--blue-300)}.lead-offer-card ul{gap:16px;margin:16px 0 0;padding:0;list-style:none;display:grid}.lead-offer-card li{gap:12px;display:flex}.lead-offer-card li>svg{color:var(--navy-500);flex:none;margin-top:1px}.lead-offer-card.dark li>svg{color:var(--blue-300)}.lead-offer-card li b{margin-bottom:3px;font-size:14px;display:block}.lead-offer-card li span{color:var(--text-secondary);font-size:13px;line-height:1.5}.lead-offer-card.dark li span{color:var(--blue-300)}.lead-steps{gap:14px;margin:0;padding:0;list-style:none;display:grid}.lead-steps li{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);gap:14px;padding:18px;display:flex}.lead-steps li>b,.lead-next-steps li>b{background:var(--navy-700);width:32px;height:32px;color:var(--white);border-radius:50%;flex:none;place-items:center;font-size:14px;display:grid}.lead-steps h3{color:var(--navy-900);margin:4px 0;font-size:16px}.lead-steps p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.lead-cta{margin-top:24px;text-decoration:none}.lead-footer{border-top:1px solid var(--border);background:var(--white);color:var(--text-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:22px 16px;font-size:12px;display:flex}.lead-footer a{color:var(--state-success);align-items:center;gap:6px;font-weight:800;text-decoration:none;display:inline-flex}.lead-confirmation{place-items:start center;padding:32px 16px 48px;display:grid}.lead-confirmation-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);width:100%;max-width:620px;padding:28px 20px;box-shadow:0 18px 40px #111a2e14}.lead-confirmation-icon{background:var(--state-success-bg);width:56px;height:56px;color:var(--state-success);border-radius:16px;place-items:center;margin-bottom:18px;display:grid}.lead-confirmation-card h1{color:var(--navy-900);letter-spacing:-.03em;margin:12px 0;font-size:clamp(24px,6vw,32px);line-height:1.15}.lead-confirmation-card>p{color:var(--text-secondary);overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.6}.lead-confirmation-card>p b{color:var(--text-strong)}.lead-next-steps{gap:14px;margin:22px 0 0;padding:0;list-style:none;display:grid}.lead-next-steps li{color:var(--text-secondary);align-items:flex-start;gap:12px;font-size:14px;line-height:1.5;display:flex}.lead-next-steps li>b{width:28px;height:28px;font-size:13px}.lead-next-steps strong{color:var(--text-strong)}.lead-confirmation-actions{gap:10px;margin-top:26px;display:grid}.lead-confirmation-actions .cta-button{min-height:50px;text-decoration:none}.lead-secondary-button{border:1px solid var(--border-strong);border-radius:var(--radius-md);min-height:50px;color:var(--navy-800);background:var(--white);justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.lead-secondary-button:hover{border-color:var(--navy-500)}.lead-confirmation-card .lead-security{margin-top:18px}@media (min-width:600px){.lead-header{padding:0 32px}.lead-hero,.lead-section{padding-left:32px;padding-right:32px}.lead-form{padding:28px}.lead-form-row{grid-template-columns:1fr 1fr;gap:14px}.lead-offer-card{padding:26px}.lead-confirmation-card{padding:36px}.lead-confirmation-actions{grid-template-columns:1fr 1fr}.lead-cta{display:inline-flex}}@media (min-width:900px){.lead-hero{grid-template-columns:minmax(0,1fr) minmax(0,480px);align-items:start;gap:56px;padding-top:56px;padding-bottom:56px}.lead-hero-visual{display:block}.lead-offer-grid{grid-template-columns:1fr 1fr}.lead-steps{grid-template-columns:repeat(3,1fr)}.lead-footer{padding:24px 32px}}
