@font-face{font-family:Bricolage Grotesque;src:url(/assets/fonts/bricolage.woff2) format("woff2");font-weight:200 800;font-display:swap}@font-face{font-family:Figtree;src:url(/assets/fonts/figtree.woff2) format("woff2");font-weight:300 900;font-display:swap}:root{color-scheme:light;--navy: #0f3d52;--navy-deep: #0a2d3e;--ink: #12303f;--muted: #526c7a;--paper: #ffffff;--tint: #f2f8fa;--line: #dbe7ec;--blue: #1679a8;--green: #259a7e;--amber: #f0a030;--yellow: #fbd21e;--red: #b3412e;--on-dark: #e6f1f5;--on-dark-muted: #a9c4d0;--display: "Bricolage Grotesque", "Avenir Next", "Segoe UI", system-ui, sans-serif;--body: "Figtree", "Avenir Next", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--body);-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}main{flex:1}img{display:block;max-width:100%;height:auto}a{color:var(--blue)}h1,h2,h3,h4{font-family:var(--display);margin:0;letter-spacing:-.015em;color:var(--navy);text-wrap:balance}h2{font-size:clamp(1.7rem,1.2rem + 2vw,2.6rem);line-height:1.1;font-weight:700}h3{font-size:1.08rem;line-height:1.3;font-weight:650}h4{font-size:1rem;font-weight:650}p{margin:0}:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:4px}.wrap{width:min(1200px,100% - 32px);margin-inline:auto}.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;z-index:50;background:#fff;padding:8px 14px;border-radius:8px}.muted{color:var(--muted)}.eyebrow{font-weight:700;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;color:#14729b;margin-bottom:12px}.eyebrow--light{color:#8fd3ea}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;font:650 .98rem var(--body);text-decoration:none;cursor:pointer;border:2px solid var(--navy);background:var(--navy);color:#fff;transition:transform .15s,background .15s;white-space:nowrap}.btn:hover{transform:translateY(-1px);background:var(--navy-deep)}.btn:disabled{opacity:.6;cursor:wait;transform:none}.btn--small{min-height:38px;padding:0 16px;font-size:.9rem}.btn--block{width:100%;margin-top:8px}.btn--amber{background:var(--amber);border-color:var(--amber);color:var(--navy-deep)}.btn--amber:hover{background:#f7b24d}.btn--ghost{background:transparent;border-color:#6e98aa;color:#fff}.btn--ghost:hover{background:#ffffff1a}.btn--line{background:transparent;color:var(--navy);border-color:var(--line)}.btn--line:hover{background:var(--tint)}.btn--danger{background:var(--red);border-color:var(--red)}.btn--danger:hover{background:#8f3122}.link-button{background:none;border:0;padding:0;font:inherit;font-size:.9rem;font-weight:600;color:var(--blue);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link-button--danger{color:var(--red)}.nav{position:sticky;top:0;z-index:30;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.nav__inner{display:flex;align-items:center;gap:16px;height:62px}.nav__brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 1.3rem var(--display);color:var(--navy)}.nav__brand small{font:600 .8rem var(--body);color:var(--muted);letter-spacing:.04em;margin-left:2px}.nav__home{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 14px;border:1px solid var(--line);border-radius:999px;font-size:.88rem;font-weight:600;color:var(--navy);text-decoration:none;white-space:nowrap}.nav__home:hover{background:var(--tint)}.short{display:none}.nav__link{white-space:nowrap}.nav__actions{margin-left:auto;display:flex;align-items:center;gap:14px}.nav__link{color:var(--navy);font-weight:600;text-decoration:none;font-size:.95rem}.nav__user{color:var(--muted);font-size:.9rem;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero{background:radial-gradient(1000px 600px at 85% -10%,#1b5c78 0%,transparent 70%),var(--navy);color:var(--on-dark);overflow:hidden}.hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:center;padding-block:clamp(48px,8vw,100px)}h1{font-size:clamp(2.4rem,1.5rem + 4vw,4.4rem);line-height:1.02;font-weight:700;color:#fff}h1 em{font-style:normal;color:var(--yellow)}.hero__lead{margin-top:22px;font-size:1.15rem;line-height:1.5;max-width:34em}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero__status{margin-top:26px;font-size:.92rem;color:var(--on-dark-muted);display:flex;align-items:center;gap:8px}.dot{width:8px;height:8px;border-radius:50%;background:#5fd3a8;box-shadow:0 0 0 4px #5fd3a833}.bricks{display:grid;gap:14px}.brick{display:grid;grid-template-columns:40% 1fr;gap:16px;align-items:center;padding:20px 30px;border-radius:999px;border:5px solid var(--navy-deep);box-shadow:inset 0 3px #ffffff73,0 12px 0 -4px #0a2d3e73;color:var(--navy-deep)}.brick--blue{background:linear-gradient(90deg,#7fd0e4 0 40%,#58b7d6 40% 100%)}.brick--green{background:linear-gradient(90deg,#c6dc7c 0 40%,#74c79f 40% 100%)}.brick--amber{background:linear-gradient(90deg,#fdd631 0 40%,#f8bb4c 40% 100%)}.brick__tag{font:750 1.05rem var(--display)}.brick__text{font-size:.95rem;font-weight:550;line-height:1.3}.section{padding-block:clamp(56px,8vw,96px)}.section--tint{background:var(--tint)}.features{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.feature{border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff}.feature__icon{width:34px;height:34px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px}.feature p{margin-top:6px;color:var(--muted);font-size:.95rem}.steps{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.steps li{background:#fff;border-radius:16px;padding:24px;border:1px solid var(--line)}.steps__n{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--amber);color:var(--navy-deep);font:750 1rem var(--display);margin-bottom:12px}.steps p{margin-top:6px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}.prose p+p{margin-top:14px}.prose p{font-size:1.05rem}.cta{background:var(--navy);padding-block:56px}.cta__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.cta h2{color:#fff}.footer{border-top:1px solid var(--line);padding-block:28px;font-size:.88rem;color:var(--muted)}.footer__inner{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center}.footer__links{display:flex;gap:18px;margin-left:auto}.footer__links a{color:var(--muted)}.auth{display:grid;place-items:center;padding:56px 16px;background:var(--tint);min-height:70vh}.auth__card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 16px 40px #0f3d5214}.auth__card>p{margin-top:10px}.auth__title{font-size:1.7rem;color:var(--navy);margin-bottom:8px}.auth__note{color:var(--muted);margin-bottom:8px}.auth__switch{margin-top:18px;font-size:.92rem;color:var(--muted);text-align:center}.field{display:grid;gap:6px;margin-top:16px;font-weight:600;font-size:.92rem;color:var(--navy)}.field__opt,.field__hint{font-weight:400;color:var(--muted);font-size:.82rem}.field input,.field select,.select select{font:inherit;font-weight:400;color:var(--ink);border:1px solid #c3d5dd;border-radius:10px;padding:10px 12px;background:#fff;min-height:44px;width:100%}.field input:focus,.field select:focus,.select select:focus{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}.rules{list-style:none;padding:0;margin:2px 0 0;display:grid;gap:2px;font-weight:400;font-size:.84rem;color:var(--muted)}.rules span[aria-hidden]{display:inline-block;width:1.1em}.rules__ok{color:#17795f}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.check{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-size:.9rem;color:var(--ink)}.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--navy)}.alert{margin-top:14px;padding:10px 14px;border-radius:10px;background:#fbeae6;color:#7a2a1c;font-size:.92rem}.alert--ok{background:#e3f4ee;color:#17604e}.alert--info{background:var(--tint);color:var(--navy)}.legal{max-width:760px;padding-block:56px}.legal h1{color:var(--navy);font-size:2.2rem}.legal__meta{color:var(--muted);margin-top:6px}.legal h2{font-size:1.2rem;margin-top:28px;margin-bottom:6px}.loading,.empty{padding:48px 0;color:var(--muted);text-align:center}.portal-error{padding-block:48px;display:grid;gap:16px;justify-items:start}.toolbar{background:var(--tint);border-bottom:1px solid var(--line);position:sticky;top:62px;z-index:20}.toolbar__inner{display:flex;flex-wrap:wrap;align-items:end;gap:12px 20px;padding-top:14px}.toolbar__status{margin-left:auto;font-size:.88rem;color:var(--muted);padding-bottom:10px}.select{display:grid;gap:4px;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.select select{min-width:230px;font-size:.95rem;text-transform:none;letter-spacing:0;font-weight:600;color:var(--navy)}.select--inline{display:flex;align-items:center;gap:8px}.select--inline select{min-width:0;width:auto;min-height:36px;padding:6px 10px}.tabs{display:flex;gap:4px;overflow-x:auto;margin-top:12px;scrollbar-width:thin}.tab{border:0;background:none;font:600 .95rem var(--body);color:var(--muted);padding:10px 14px;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap}.tab:hover{color:var(--navy)}.tab--active{color:var(--navy);border-bottom-color:var(--amber)}.portal__body{padding-block:28px 56px}.stack{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.stack>.kpis,.stack>.intro,.stack>.insights,.stack>.explain,.stack>.card--wide,.stack>p{grid-column:1 / -1}.intro{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}.intro__period{color:var(--muted);font-weight:500}.badge{font-size:.85rem;background:#fff5e3;color:#7a4b07;padding:4px 10px;border-radius:999px}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:12px}.kpis--3{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.kpi{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff}.kpi__label{font-size:.82rem;color:var(--muted);font-weight:600}.kpi__value{font:700 1.45rem/1.2 var(--display);color:var(--navy);margin-top:4px;font-variant-numeric:tabular-nums}.kpi__delta{font-size:.8rem;color:var(--muted);margin-top:4px}.kpi__delta--good{color:#17795f}.kpi__delta--bad{color:var(--red)}.insights{background:var(--tint);border-radius:18px;padding:20px}.insights h3{margin-bottom:14px}.insights ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.insight{background:#fff;border-radius:12px;padding:14px 16px;border-left:4px solid var(--blue)}.insight--renewables{border-left-color:var(--amber)}.insight--negative{border-left-color:var(--green)}.insight--batteries{border-left-color:#8a5cb8}.insight__topic{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.insight h4{margin-top:2px}.insight p:last-child{margin-top:4px;font-size:.94rem}.card{border:1px solid var(--line);border-radius:16px;padding:18px 18px 14px;background:#fff;min-width:0}.card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;flex-wrap:wrap}.card__sub{color:var(--muted);font-size:.86rem;margin-top:2px}.card__note{color:var(--muted);font-size:.82rem;margin-top:10px}.controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:10px}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--tint)}.segmented button{border:0;background:none;border-radius:999px;padding:6px 12px;font:600 .82rem var(--body);color:var(--muted);cursor:pointer}.segmented button.on{background:#fff;color:var(--navy);box-shadow:0 1px 3px #0f3d5226}.table-wrap{overflow-x:auto;max-height:520px;overflow-y:auto}.table{width:100%;border-collapse:collapse;font-size:.88rem}.table th,.table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.table th{position:sticky;top:0;background:#fff;color:var(--muted);font-weight:650;font-size:.8rem}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table--click tbody tr{cursor:pointer}.table--click tbody tr:hover{background:var(--tint)}.table tr.is-selected{background:#fff5e3}.th-button{border:0;background:none;font:inherit;color:inherit;cursor:pointer;padding:0}.heatmap__grid{display:grid;grid-template-columns:34px repeat(24,minmax(0,1fr));gap:2px;font-size:.72rem;color:var(--muted)}.heatmap__cell{height:20px;border-radius:3px}.heatmap__month{align-self:center}.heatmap__hour{text-align:left}.heatmap__legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;font-size:.8rem;color:var(--muted)}.swatch{width:16px;height:12px;border-radius:3px;display:inline-block}.explain{color:var(--muted);font-size:.92rem}.explain strong{color:var(--navy)}.account{margin-top:40px;border-top:1px solid var(--line);padding-top:16px;font-size:.9rem;color:var(--muted)}.account summary{cursor:pointer;font-weight:650;color:var(--navy)}.account>p{margin-top:10px}.account__actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:10px}.builder{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}.builder__inputs{position:sticky;top:190px;max-height:calc(100vh - 210px);overflow-y:auto;border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--tint)}.builder__inputs fieldset{border:0;padding:0;margin:0 0 18px}.builder__inputs legend{font:700 .95rem var(--display);color:var(--navy);margin-bottom:4px}.builder__results{grid-template-columns:repeat(2,minmax(0,1fr))}.builder__results>.card:last-of-type{grid-column:auto}.field--compact{margin-top:10px;gap:4px;font-size:.84rem}.field--compact input,.field--compact select{min-height:38px;padding:7px 10px}.field__unit{font-weight:400;color:var(--muted)}.check--compact{margin-top:12px;font-size:.86rem}@media(max-width:960px){.hero__grid,.split{grid-template-columns:1fr}.bricks{display:none}.steps{grid-template-columns:1fr}.stack,.builder__results{grid-template-columns:minmax(0,1fr)}.builder{grid-template-columns:1fr}.builder__inputs{position:static;max-height:none}.toolbar{position:static}.toolbar__status{margin-left:0}}@media(max-width:560px){.nav__user,.nav__brand small,.nav__brand span{display:none}.nav__inner,.nav__actions{gap:10px}.nav__home{padding:0 10px;font-size:.82rem}.long{display:none}.short{display:inline}.nav__link{font-size:.88rem}.select select{min-width:0}.toolbar__inner>.select{flex:1 1 140px}.heatmap__grid{grid-template-columns:28px repeat(24,minmax(0,1fr));gap:1px}.heatmap__cell{height:14px}.footer__links{margin-left:0}.auth__card{padding:24px 20px}}
