@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{color:#202c2c;font-synthesis:none;--ink:#202c2c;--muted:#78817e;--line:#dfe2d9;--paper:#fffdf7;--green:#1c6b58;--mint:#dbece1;--orange:#ee7b3a;--blue:#2d83a4;background:#f4f1e8;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 90% 0,#e4eee3 0,#0000 27rem),#f4f1e8;min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0}.app-shell{max-width:1440px;margin:auto;padding:0 5vw 56px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:84px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;font-family:Space Grotesk;font-size:18px;font-weight:700;text-decoration:none;display:flex}.brand em{color:var(--green);font-style:normal}.brand-mark{background:var(--green);color:#eaf3e9;border-radius:10px;place-items:center;width:31px;height:31px;font-size:19px;display:grid}.top-actions{align-items:center;gap:18px;display:flex}.sync-state{color:var(--muted);font-size:12px}.status-dot{background:#43a078;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.icon-button{background:0 0;font-size:26px;position:relative}.notification-dot{background:var(--orange);border:2px solid #f4f1e8;border-radius:50%;width:6px;height:6px;position:absolute;top:2px;right:2px}.avatar{width:35px;height:35px;color:var(--green);background:#d3e2d8;border-radius:50%;font-size:11px;font-weight:700}.welcome-row{justify-content:space-between;align-items:end;padding:47px 0 33px;display:flex}.eyebrow,.section-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 9px;font-size:10px;font-weight:700;display:block}.welcome-row h1{margin:0;font:600 clamp(28px,4vw,44px)/1.05 Space Grotesk}.accent{color:var(--orange)}.subtle{color:var(--muted);margin:11px 0 0;font-size:14px;line-height:1.6}.outline-button,.select-button{background:0 0;border:1px solid #becbc0;border-radius:7px;padding:11px 15px;font-size:13px}.outline-button span{vertical-align:-2px;margin-right:5px;font-size:19px}.notice{border-radius:7px;margin-bottom:20px;padding:12px 42px 12px 15px;font-size:13px;position:relative}.notice button{background:0 0;font-size:18px;position:absolute;right:13px}.notice.success{color:#21644e;background:#dbede2}.notice.error{color:#9f4f2a;background:#fae4db}.account-strip{border-top:1px solid var(--line);padding:22px 0 28px}.account-heading{align-items:center;gap:10px;display:flex}.account-count{color:#a0aaa4;font-size:11px}.account-tabs{gap:10px;padding-top:15px;display:flex;overflow-x:auto}.account-tab{text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;min-width:205px;padding:10px;display:flex}.account-tab.active{background:var(--paper);border-color:var(--line);box-shadow:0 3px 12px #30452b0b}.account-icon{width:31px;height:31px;color:var(--green);background:#e3ece1;border-radius:8px;place-items:center;display:grid}.account-tab strong,.account-tab small{display:block}.account-tab strong{font-size:13px}.account-tab small{color:var(--muted);margin-top:3px;font-size:11px}.tab-check{color:var(--green);margin-left:auto;font-weight:700}.hero-grid{grid-template-columns:1.25fr 1fr;gap:17px;display:grid}.balance-card{background:var(--green);color:#f6f4e9;border-radius:10px;flex-direction:column;justify-content:space-between;min-height:218px;padding:29px 31px 24px;display:flex}.light-label{color:#a8c7b8}.card-top{justify-content:space-between;display:flex}.balance{margin:0;font:600 40px Space Grotesk}.balance-caption{color:#b5d0bf;margin:8px 0;font-size:12px}.balance-caption strong{color:#eff5e7}.bolt{color:#a9d0be;font-size:37px}.balance-line{color:#a8c7b8;border-top:1px solid #ffffff29;justify-content:space-between;align-items:center;padding-top:18px;font-size:11px;display:flex}.balance-line strong{color:#edf3e8;margin-top:4px;font-size:12px;display:block}.balance-line button,.text-button{color:#f7b183;background:0 0;font-size:12px}.balance-line button span,.text-button span{margin-left:5px;font-size:16px}.pace-card,.panel,.metric-card{background:var(--paper);border:1px solid var(--line);border-radius:10px}.pace-card{min-height:218px;padding:29px 30px}.card-heading,.panel-header{justify-content:space-between;align-items:start;gap:10px;display:flex}.card-heading h2,.panel h2{margin:0;font:600 21px Space Grotesk}.status-pill,.target-badge{white-space:nowrap;border-radius:30px;padding:7px 9px;font-size:10px}.status-pill.over{color:#a94e29;background:#f9ddd0}.status-pill.under{color:#277052;background:#e0f0e4}.status-pill.on-target{color:#687a31;background:#eaf0da}.pace-track,.progress-line{background:#edf0e8;border-radius:20px;height:10px;margin:38px 0 11px;overflow:hidden}.pace-track span,.progress-line span{background:var(--orange);border-radius:inherit;height:100%;display:block}.pace-stats,.progress-meta{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.metrics-grid{grid-template-columns:repeat(3,1fr);gap:17px;margin-top:17px;display:grid}.metric-card{align-items:center;gap:15px;padding:21px 20px;display:flex}.metric-icon{border-radius:50%;place-items:center;width:38px;height:38px;font-size:17px;display:grid}.metric-icon.over,.mini-icon.orange{color:var(--orange);background:#fbe1d3}.metric-icon.blue,.mini-icon.cyan{color:var(--blue);background:#dceef0}.metric-icon.green{color:var(--green);background:#dceee0}.metric-card strong,.metric-card small{display:block}.metric-card strong{margin:3px 0;font:600 22px Space Grotesk}.metric-card small{color:var(--muted);font-size:11px}.red-text{color:var(--orange)!important}.content-grid,.lower-grid{grid-template-columns:1.18fr .82fr;gap:17px;margin-top:17px;display:grid}.panel{padding:27px 29px}.select-button{color:var(--muted);padding:8px 10px;font-size:11px}.select-button span{margin-left:8px}.chart-area{height:197px;margin-top:27px;display:flex}.y-axis{color:#9ba39d;flex-direction:column;justify-content:space-between;width:46px;font-size:10px;display:flex}.bars{border-bottom:1px solid var(--line);background:repeating-linear-gradient(#0000 0 48px,#eceee8 49px);flex:1;align-items:end;gap:11px;display:flex}.bar-column{flex-direction:column;flex:1;justify-content:end;align-items:center;gap:9px;height:100%;display:flex}.bar{background:#cfe1d4;border-radius:5px 5px 0 0;width:100%;max-width:29px;transition:height .3s;position:relative}.bar.today{background:var(--orange)}.bar span{color:var(--orange);font-size:10px;position:absolute;top:-20px}.bar-column small{color:#9ba39d;font-size:10px}.chart-footer{color:var(--muted);align-items:center;gap:17px;margin-top:19px;font-size:10px;display:flex}.legend{background:#cfe1d4;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.today-legend{background:var(--orange)}.chart-footer strong{color:var(--ink);margin-left:auto;font-size:12px}.chart-footer strong small{color:var(--muted);font-size:10px;font-weight:400}.target-badge{color:var(--muted);background:#edf1e8}.target-ring{background:radial-gradient(var(--paper) 58%,transparent 59%),conic-gradient(var(--orange) 0 68%,#f4e3d8 68% 100%);border-radius:50%;place-items:center;width:137px;height:137px;margin:25px auto 24px;display:grid}.target-ring div{text-align:center}.target-ring strong{font:600 20px Space Grotesk;display:block}.target-ring span{color:var(--muted);font-size:10px}.target-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 0;font-size:12px;display:flex}.target-row div{align-items:center;gap:9px;display:flex}.target-row span span,.target-row small{display:block}.target-row small{color:var(--muted);margin-top:3px;font-size:10px}.mini-icon{border-radius:7px;place-items:center;width:27px;height:27px;display:grid}.target-row>strong{font-size:12px}.helper-text{color:#9aa39d;margin:17px 0 0;font-size:10px;line-height:1.5}.lower-grid{grid-template-columns:.8fr 1.2fr}.savings-number{margin:33px 0 22px}.savings-number strong{font:600 33px Space Grotesk}.savings-number span{color:var(--muted);margin-left:8px;font-size:12px}.progress-line{height:8px;margin:0 0 11px}.progress-line span{background:var(--green)}.recharge-row{border-top:1px solid var(--line);align-items:center;gap:11px;padding:14px 0;display:flex}.recharge-icon{width:29px;height:29px;color:var(--green);background:#dceee0;border-radius:7px;place-items:center;display:grid}.recharge-row strong,.recharge-row small{display:block}.recharge-row strong{font-size:13px}.recharge-row small{color:var(--muted);margin-top:3px;font-size:10px}.confirmed{color:var(--green);margin-left:auto;font-size:10px}.modal-backdrop{z-index:2;background:#1b332c99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border-radius:10px;width:100%;max-width:420px;padding:30px;position:relative;box-shadow:0 16px 50px #1b332c33}.modal h2{margin:0;font:600 24px Space Grotesk}.modal label{margin-top:19px;font-size:12px;font-weight:700;display:block}.modal input{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;margin-top:7px;padding:12px}.modal-close{color:var(--muted);background:0 0;font-size:22px;position:absolute;top:14px;right:17px}.primary-button{background:var(--green);color:#fff;border-radius:6px;width:100%;margin-top:23px;padding:13px;font-weight:700}@media (width<=760px){.app-shell{padding:0 20px 35px}.topbar{height:68px}.sync-state{display:none}.welcome-row{align-items:start;gap:20px;padding:33px 0 25px}.welcome-row .subtle{font-size:12px}.outline-button{white-space:nowrap;padding:9px 10px}.hero-grid,.content-grid,.lower-grid{grid-template-columns:1fr}.metrics-grid{gap:9px}.metric-card{gap:9px;padding:15px 10px}.metric-icon{width:30px;height:30px;font-size:13px}.metric-card strong{font-size:16px}.metric-card small{font-size:9px}.metric-card .section-label{font-size:8px}.balance-card,.pace-card{min-height:200px;padding:23px 20px}.balance{font-size:34px}.panel{padding:22px 19px}.chart-area{height:170px}.bars{gap:5px}.lower-grid{margin-top:17px}.account-tabs{margin-right:-20px}.account-tab{min-width:190px}.top-actions{gap:10px}}
