@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(./manrope-latin-400-normal-PaqtzbVb.woff2) format("woff2"),url(./manrope-latin-400-normal-8tf8FM3T.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(./manrope-latin-500-normal-BYYD-dBL.woff2) format("woff2"),url(./manrope-latin-500-normal-DMZssgOp.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(./manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(./manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(./manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(./manrope-latin-700-normal-DGRFkw-m.woff) format("woff")}:root{font-family:Manrope,system-ui,sans-serif;color:#2e332e;background:#f6f2e9;font-synthesis:none;font-weight:400;--rice: #f6f2e9;--surface: #fffcf6;--sage: #435a42;--muted: #62665c;--border: #e1dfd3}.connection-modal{width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:inherit;overflow-y:auto}.connection-modal::backdrop{background:#1e281e73}.chart-tooltip{padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:12px}.connection-modal form,.connection-modal label{display:grid;gap:8px}.connection-modal form{gap:18px}.connection-modal input{width:100%;min-height:44px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.connection-modal summary,.connection-modal button{min-height:44px}.connection-modal summary{cursor:pointer;display:flex;align-items:center}.connection-modal details label+label{margin-top:12px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:var(--sage);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--sage);outline-offset:3px}h1,h2,p{margin:0}h1{font-size:24px;font-weight:600;letter-spacing:-.7px}h2{font-size:16px;font-weight:600;letter-spacing:-.3px}p{line-height:1.6}.muted{font-size:13px;color:var(--muted)}.primary,.secondary,.icon-button{min-height:36px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;font-size:13px;font-weight:600;border:1px solid transparent;white-space:nowrap}.primary{background:var(--sage);color:var(--surface)}.primary:hover{background:#344b33}.secondary,.icon-button{background:transparent;border-color:#bec4b3;color:var(--sage)}.secondary:hover,.icon-button:hover{background:#e9ecdf}.icon-button{min-width:36px;padding:7px}.text-button{min-height:36px;display:inline-flex;align-items:center;gap:6px;color:var(--sage);border:0;background:none;padding:6px 0;font-size:13px;font-weight:600}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--sage);background:#e9eee0;border-radius:30px;padding:5px 9px;text-transform:capitalize;white-space:nowrap}.dot{width:5px;height:5px;background:#68845a;border-radius:50%}.badge.warning{color:#805320;background:#f3e8cf}.warning .dot{background:#9a702e}.mascot{width:38px;height:38px;flex-shrink:0}.mascot.large{width:100px;height:100px}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px}.sidebar{position:fixed;inset:0 auto 0 0;width:208px;border-right:1px solid var(--border);background:#f2eee4;padding:22px 16px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:9px;color:#2e332e;font-size:21px;font-weight:700;letter-spacing:-.8px}.sidebar nav{display:grid;gap:5px;margin-top:30px}.sidebar nav a{min-height:44px;display:flex;align-items:center;gap:12px;padding:9px 13px;font-size:14px;color:var(--muted);border-radius:9px}.sidebar nav a.active{background:#e1e6d7;color:var(--sage);font-weight:600}.sidebar-account{margin-top:auto;padding-top:16px;border-top:1px solid var(--border);display:flex;align-items:center;gap:9px}.avatar{display:grid;place-items:center;background:#e1d9c8;border-radius:50%;width:32px;height:32px;font-size:13px}.sidebar-account strong{display:block;font-size:12px}.sidebar-account small{font-size:11px;color:var(--muted);display:block;margin-top:3px}.sidebar-account>a{margin-left:auto;min-height:36px;min-width:36px;display:grid;place-items:center}.workspace{margin-left:208px}.workspace main{max-width:1440px;margin:auto;padding:20px 24px;outline:none}.page-header{display:flex;justify-content:space-between;align-items:center;min-height:36px;margin-bottom:14px}.page-footer{margin-top:20px;padding-top:12px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.energy-toolbar,.segmented{display:inline-flex;gap:3px;border:1px solid var(--border);border-radius:9px;padding:3px;background:#ebe8de}.segmented button{min-height:32px;padding:6px 15px;border:0;border-radius:6px;background:none;color:var(--muted);font-size:13px}.segmented button.selected{background:var(--surface);color:var(--sage);font-weight:600;box-shadow:0 1px 3px #2e332e0b}.date-controls{display:flex;align-items:center;gap:6px}.date-picker{position:relative;z-index:8}.date-picker-trigger{height:36px;min-width:128px;display:inline-flex;justify-content:center;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:#3f493d;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.date-picker-trigger svg{color:var(--sage);flex-shrink:0}.date-picker-trigger:hover,.date-picker-trigger[aria-expanded=true]{border-color:#9ba58d;background:#f7f7ef}.calendar-popover{position:absolute;right:0;top:calc(100% + 7px);width:286px;padding:12px;background:var(--surface);border:1px solid #d7d5c9;border-radius:13px;box-shadow:0 12px 30px #2e332e1e;z-index:30;color:#2e332e}.calendar-heading{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:4px;margin-bottom:8px}.calendar-arrow{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--sage)}.calendar-arrow:hover:not(:disabled){background:#eef0e7}.calendar-arrow:disabled{opacity:.35}.calendar-title{height:36px;border:0;border-radius:8px;background:transparent;color:#33392f;font-size:13px;font-weight:700}.calendar-title:hover{background:#f0f0e7}.calendar-title span{color:var(--muted);font-weight:500;margin-left:3px}.weekday-grid,.day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.weekday-grid{color:var(--muted);font-size:10px;font-weight:700;padding:5px 0}.weekday-grid span{height:24px;display:grid;place-items:center}.day-grid button{height:32px;width:32px;justify-self:center;border:0;border-radius:50%;background:transparent;color:#3d4339;font-size:12px;font-variant-numeric:tabular-nums}.day-grid button:hover:not(:disabled){background:#e9ecdf}.day-grid button.outside{color:#9a9b91}.day-grid button.selected,.month-grid button.selected,.year-grid button.selected{background:var(--sage);color:var(--surface);font-weight:700}.day-grid button.today:not(.selected){box-shadow:inset 0 0 0 1px #87947b;color:var(--sage);font-weight:700}.day-grid button:disabled{opacity:.3}.calendar-footer{border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:8px 2px 0;margin-top:5px;font-size:11px;color:var(--muted)}.calendar-footer button{min-height:32px;border:0;border-radius:7px;background:transparent;color:var(--sage);padding:4px 10px;font-size:12px;font-weight:700}.calendar-footer button:hover{background:#eef0e7}.month-grid,.year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:8px 2px}.month-grid button,.year-grid button{min-height:42px;border:0;border-radius:8px;background:transparent;color:#3d4339;font-size:12px}.month-grid button:hover:not(.selected),.year-grid button:hover:not(.selected){background:#e9ecdf}.year-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--border);border-radius:12px;background:var(--surface);margin-bottom:12px}.metric{padding:12px 16px;min-width:0}.metric+.metric{border-left:1px solid var(--border)}.metric>span{display:block;font-size:13px;color:var(--muted)}.metric strong{display:block;font-size:25px;line-height:1.45;font-weight:600;letter-spacing:-.8px;font-variant-numeric:tabular-nums;white-space:nowrap}.metric small{display:block;font-size:12px;color:var(--muted)}.chart-card{padding:12px 16px}.chart-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px}.chart-heading h2{font-size:15px;display:flex;align-items:center;gap:12px}.chart-heading h2>span{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0}.legend{display:flex;align-items:center;gap:18px;font-size:12px;color:var(--muted);margin:7px 0}.legend>span{display:flex;align-items:center;gap:6px}.legend i{width:7px;height:7px;border-radius:50%}.consumption-dot{background:#617857}.solar-dot{background:#a47c30}.legend .sun-line{width:17px;height:0;border-radius:0;border-top:2px dashed #7a8565}.chart,.chart-placeholder{width:100%;height:280px;min-width:0}.chart-placeholder{display:grid;place-items:center;color:var(--muted);font-size:14px}.chart-foot{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--border);padding-top:8px;margin-top:5px;font-size:11px;color:var(--muted)}.sun-strip{display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--border);padding:0 0 9px;margin-bottom:12px;min-height:68px}.sun-copy{flex-shrink:0}.sun-copy strong{display:block;font-size:13px;font-weight:600}.sun-copy strong>span{font-size:11px;color:#805c22;background:#f5ecd7;padding:3px 6px;border-radius:5px;margin-left:5px}.sun-copy small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.sun-track{flex:1;max-width:650px;margin-left:auto;min-width:0}.sun-track svg{display:block;width:100%;height:43px;color:#8f7e55}.sun-times{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.secondary-energy{display:flex;justify-content:space-between;padding:10px 2px;font-size:12px;color:var(--muted)}.secondary-energy strong{font-weight:600;color:#2e332e;margin-left:5px}.data-table{padding:4px 12px;font-size:13px}.data-table summary,.provider-details summary{cursor:pointer;min-height:36px;display:list-item;align-content:center;color:var(--sage);font-size:12px}.table-scroll{overflow-x:auto;padding:10px 0}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}caption{text-align:left;margin-bottom:12px;color:var(--muted)}th,td{padding:10px;border-bottom:1px solid var(--border);white-space:nowrap}th{font-weight:600}.connection-list{display:grid;gap:12px;margin-bottom:12px}.connection-card{display:grid;grid-template-columns:42px minmax(160px,1fr) auto auto;column-gap:14px;align-items:center;padding:16px}.provider-icon{display:inline-grid;place-items:center;background:#e7ecde;color:var(--sage);width:42px;height:42px;border-radius:10px;flex-shrink:0}.provider-icon.sun-tone{background:#f3e9d0;color:#856123}.provider-info h2{font-size:17px;margin-bottom:3px}.connection-actions{display:flex;align-items:center;gap:8px;margin-left:8px}.provider-details{grid-column:2/-1;margin-top:7px;border-top:1px solid var(--border);padding-top:3px}.provider-details>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}.provider-details .muted{font-size:12px}.demo-settings,.account-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;margin-bottom:12px}.demo-settings label{font-size:14px;font-weight:600}.demo-settings small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:4px}.demo-settings select{max-width:100%;border:1px solid #b7beab;border-radius:8px;padding:8px 10px;background:var(--surface);font-size:13px;min-height:36px}.account-card h2{margin-bottom:4px}.empty{text-align:center;padding:35px 16px}.empty .mascot{margin-bottom:16px}.empty h2{font-size:22px;margin-bottom:12px}.empty p{margin-bottom:15px}.toast{position:fixed;bottom:20px;right:20px;z-index:50;max-width:460px;display:flex;align-items:center;gap:10px;background:var(--sage);color:var(--surface);padding:10px 14px;border-radius:12px;box-shadow:0 8px 30px #2e332e20;font-size:13px}.toast.error{background:#863f36}.toast>svg{flex-shrink:0}.toast button{min-height:36px;min-width:36px;display:grid;place-items:center;border:0;background:none;color:inherit}.skip-link{position:fixed;top:-100px;left:16px;background:var(--sage);color:#fff;padding:12px;z-index:100}.skip-link:focus{top:10px}.login-page{min-height:100vh;padding:32px 7vw;display:flex;flex-direction:column;background:radial-gradient(ellipse at 74% 48%,#e8e9d8 0,transparent 50%),var(--rice)}.login-brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:700;letter-spacing:-.7px}.login-brand .badge{margin-left:auto;letter-spacing:0}.login-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:center;margin:auto 0;padding:44px 0}.login-copy .eyebrow{font-size:11px;letter-spacing:1.7px;color:var(--muted);margin-bottom:22px}.login-copy h1{font-size:clamp(44px,5.3vw,74px);font-weight:500;letter-spacing:-3px;line-height:1.18;margin-bottom:24px}.login-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.9}.login-features{display:grid;gap:18px;margin-top:32px}.login-features>span{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--sage)}.login-card{text-align:center;max-width:420px;background:var(--surface);padding:30px;border:1px solid var(--border);border-radius:22px}.mascot-scene{height:160px;display:grid;place-items:center;position:relative}.mascot-scene .mascot{position:relative;z-index:1;width:120px;height:120px;transform:rotate(-6deg)}.scene-sun{position:absolute;width:105px;height:105px;background:#efe1bd;border-radius:50%;top:0;right:35px}.scene-ground{position:absolute;width:200px;height:25px;background:#e6e9db;border-radius:50%;bottom:10px}.login-card h2{font-size:23px;margin:15px 0 10px}.google-button{display:flex;justify-content:space-between;width:100%;margin-top:24px;min-height:44px}.google-g{font-family:system-ui,sans-serif;font-size:20px;font-weight:600}.login-footer{font-size:12px;color:var(--muted)}@media(max-width:1100px){.sidebar{width:185px;padding:20px 12px}.brand{font-size:19px}.brand .mascot{width:32px;height:32px}.workspace{margin-left:185px}.workspace main{padding:18px}.metric{padding:10px 12px}.metric strong{font-size:22px}.connection-card{grid-template-columns:40px minmax(130px,1fr) auto}.connection-actions{grid-column:2/-1;margin:10px 0 0}.provider-details{grid-column:2/-1}.sun-strip{gap:14px}.sun-copy small{max-width:220px}.sun-track{min-width:220px}.chart-heading h2>span{display:none}}@media(max-width:760px){.calendar-popover{left:50%;right:auto;transform:translate(-50%)}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;width:auto;height:68px;padding:0 8px;border-right:0;border-top:1px solid var(--border);background:var(--surface);z-index:20}.sidebar .brand,.sidebar-account{display:none}.sidebar nav{margin:0;height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:0}.sidebar nav a{flex-direction:column;justify-content:center;gap:4px;font-size:11px;padding:5px;border-radius:0}.sidebar nav a.active{background:transparent}.sidebar nav a.active svg{background:#e1e6d7;box-sizing:content-box;padding:4px;margin:-4px;border-radius:6px}.workspace{margin-left:0;padding-bottom:68px}.workspace main{padding:12px}.page-header{margin-bottom:10px;min-height:32px}h1{font-size:23px}.badge{font-size:11px}.energy-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:10px}.segmented button{padding:6px 14px}.date-controls{margin-left:auto;gap:4px}.date-picker-trigger{max-width:155px;min-width:116px;font-size:11px;padding:6px 7px}.date-controls .secondary{padding:7px 9px;font-size:12px}.metrics{grid-template-columns:1fr 1fr;margin-bottom:10px}.metric{padding:9px 12px}.metric:nth-child(3){border-left:0}.metric:nth-child(n+3){border-top:1px solid var(--border)}.metric>span{font-size:12px}.metric strong{font-size:23px;line-height:1.35}.metric small{display:none}.chart-card{padding:10px}.sun-strip{display:block;padding:0 0 8px;margin-bottom:10px;min-height:0}.sun-copy{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.sun-copy strong{font-size:12px;white-space:nowrap}.sun-copy strong>span{font-size:10px;padding:2px 4px;margin-left:3px}.sun-copy small{font-size:10px;line-height:1.5;margin:0;text-align:right;max-width:175px}.sun-track{min-width:0;max-width:none}.sun-track svg{height:36px}.sun-times{font-size:10px}.chart-heading{gap:6px;margin-bottom:5px}.chart-heading h2{font-size:13px}.chart-heading .badge{font-size:10px;padding:4px 6px}.legend{font-size:11px;gap:15px;margin:6px 0}.chart,.chart-placeholder{height:245px}.chart-foot{font-size:10px;flex-direction:column;gap:3px;line-height:1.5}.secondary-energy{font-size:11px;line-height:1.6}.data-table{font-size:12px}.page-footer{font-size:11px;margin-top:14px}.connection-list{gap:10px}.connection-card{grid-template-columns:36px minmax(0,1fr) auto;gap:10px;padding:12px}.provider-icon{width:36px;height:36px;border-radius:9px}.provider-info h2{font-size:16px}.provider-info .muted{font-size:12px}.connection-actions{grid-column:1/-1;margin:0;gap:8px}.connection-actions button{flex:1}.provider-details{grid-column:1/-1;margin:0}.provider-details>div{align-items:flex-start;flex-direction:column;gap:5px}.demo-settings{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.demo-settings select{width:100%}.account-card{padding:12px;align-items:flex-start}.account-card .muted{font-size:12px}.account-card .secondary{flex-shrink:0}.empty{padding:30px 10px}.toast{bottom:80px;left:12px;right:12px;max-width:none;font-size:12px;padding:8px 10px}.login-page{padding:22px}.login-brand{font-size:19px}.login-brand .badge{font-size:10px}.login-layout{grid-template-columns:1fr;gap:28px;padding:32px 0}.login-copy h1{font-size:46px;letter-spacing:-2px}.login-copy .eyebrow{font-size:10px;margin-bottom:16px}.login-copy>p:not(.eyebrow){font-size:13px}.login-features{display:none}.login-card{max-width:none;padding:22px}.mascot-scene{height:125px}.mascot-scene .mascot{width:100px;height:100px}.scene-sun{width:85px;height:85px;right:calc(50% - 90px)}.scene-ground{bottom:0}.login-card h2{font-size:22px}.login-footer{font-size:11px}}@media(pointer:coarse){.primary,.secondary,.icon-button,.text-button,.segmented button,.date-picker-trigger,.toast button{min-height:44px}.icon-button,.toast button{min-width:44px}.sidebar-account>a{min-width:44px;min-height:44px}.calendar-popover{width:min(336px,calc(100vw - 24px));padding:10px;left:50%;right:auto;transform:translate(-50%)}.day-grid button{width:44px;height:44px;min-width:44px}.calendar-arrow,.calendar-title{min-height:44px;height:44px}.month-grid button,.year-grid button,.calendar-footer button{min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
