@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#193f36;background:#f6f8f5;font-synthesis:none;--green:#123e35;--lime:#d4f57c;--muted:#61716b;--line:#dce4dd}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,a,input,select{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #6c8c25}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3,.number{font-family:Manrope,sans-serif}h1{font-size:clamp(2rem,5vw,3.2rem);letter-spacing:-.055em;line-height:1.15;font-weight:800}h2{font-size:1.5rem;letter-spacing:-.04em}p{line-height:1.6}.muted{color:var(--muted)}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:700;text-transform:uppercase}.brand{display:flex;align-items:center;gap:10px;font-size:1.4rem;font-weight:800;font-family:Manrope,sans-serif;letter-spacing:-.06em}.brand img{width:36px;height:36px}.shell{max-width:1150px;margin:auto;padding:28px 40px 100px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:42px}.pill{padding:8px 12px;border:1px solid var(--line);border-radius:30px;font-size:.8rem;display:inline-flex;align-items:center;gap:7px;background:white}.login-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center;min-height:70vh}.login-intro{padding:38px 0}.login-intro h1{font-size:clamp(3rem,6vw,4.8rem);max-width:540px}.login-intro h1 span{display:block;color:#608527}.login-intro p{max-width:390px}.goal-note{margin-top:38px;border-top:1px solid var(--line);padding-top:20px;display:flex;gap:25px}.goal-note strong{display:block;font-size:1.5rem}.goal-note span{font-size:.85rem;color:var(--muted)}.login-card{background:white;border:1px solid var(--line);padding:36px;border-radius:28px;box-shadow:0 20px 80px #123e3508}.login-card .monogram{width:56px;margin-bottom:28px}.login-card h2{font-size:1.8rem}.primary,.secondary,.google{width:100%;padding:15px 20px;border-radius:14px;border:1px solid transparent;min-height:50px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px}.primary{background:var(--green);color:white}.primary:hover{background:#20574b}.secondary,.google{border-color:var(--line);background:white}.secondary:hover{background:#f1f5ee}.google{margin-top:24px}.google-mark{font:bold 21px Arial;color:#4285f4}.small{font-size:.85rem;line-height:1.55}.setup-note{padding:14px;background:#f6f8f5;border-radius:12px;margin:16px 0 24px}.text-button{border:0;background:none;padding:12px 2px;min-height:44px;color:#466c36;font-weight:700;text-decoration:underline;text-underline-offset:4px}.demo-banner{background:#edf4de;color:#455b28;padding:11px 16px;font-size:.85rem;text-align:center;border-bottom:1px solid #d4dfc1}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.section-heading h1{margin-bottom:10px}.section-heading p{margin:0}.steps{font-size:.85rem;color:var(--muted);white-space:nowrap}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.plan{border:1px solid var(--line);border-radius:22px;background:white;text-align:left;padding:26px;transition:transform .2s,border-color .2s;position:relative}.plan:hover{transform:translateY(-4px)}.plan[aria-pressed=true]{border:2px solid var(--green);padding:25px;background:#f2f7ea}.plan-icon{display:grid;place-items:center;width:48px;height:48px;background:#ecf2e5;border-radius:15px;margin-bottom:30px;font-size:1.5rem}.plan h2{margin-bottom:6px}.plan p{font-size:.9rem;min-height:64px}.plan dl{margin:24px 0 0;border-top:1px solid var(--line);padding-top:16px}.plan dl div{display:flex;justify-content:space-between;gap:8px;margin-top:10px;font-size:.85rem}.plan dt{color:var(--muted)}.plan dd{margin:0;font-weight:700}.selection-dot{position:absolute;right:22px;top:24px;width:22px;height:22px;border-radius:50%;border:1px solid #adbbb0}.plan[aria-pressed=true] .selection-dot{background:var(--green);border:5px solid var(--lime)}.setup-footer{margin-top:26px;display:flex;gap:30px;align-items:center;justify-content:space-between}.setup-footer p{max-width:600px;font-size:.85rem;margin:0}.setup-footer .primary{max-width:260px}.form-card{background:white;border:1px solid var(--line);border-radius:24px;padding:30px;max-width:620px;margin:24px auto}.form-card label{display:block;font-weight:700;font-size:.9rem;margin-bottom:8px}.form-card input,.form-card select{padding:14px;border:1px solid #b9c9bd;border-radius:12px;background:white;width:100%;margin-bottom:22px;min-height:50px}.place-options{display:grid;gap:10px;margin-bottom:25px}.place{border:1px solid var(--line);border-radius:14px;background:white;padding:16px;text-align:left;display:flex;align-items:center;gap:15px}.place[aria-pressed=true]{border:2px solid var(--green);padding:15px;background:#f5f9ed}.place strong,.place small{display:block}.place small{margin-top:4px;color:var(--muted);font-size:.8rem}.summary-strip{display:flex;justify-content:space-between;padding:15px;background:#f3f6ee;border-radius:12px;margin:0 0 24px;font-size:.85rem}.dashboard{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}.balance{background:var(--green);color:white;border-radius:26px;padding:30px;min-height:295px;position:relative}.balance .eyebrow{color:#bed3c4}.balance .number{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;letter-spacing:-.04em;margin:20px 0 10px}.balance-sub{color:#c6dbd0;font-size:.9rem}.progress-row{display:flex;justify-content:space-between;margin-top:28px;font-size:.85rem}.track{height:8px;border-radius:10px;background:#3d6056;overflow:hidden;margin:12px 0 16px}.track div{height:100%;background:var(--lime);border-radius:10px;transition:width .4s}.balance-bottom{display:flex;justify-content:space-between;gap:10px;color:#c6dbd0;font-size:.8rem}.next-card{background:#e9f1df;border:1px solid #d9e4ca;border-radius:26px;padding:30px;display:flex;flex-direction:column;justify-content:space-between}.next-card .number{font-size:2.2rem;font-weight:800;letter-spacing:-.045em;margin:12px 0}.next-card p{font-size:.9rem;margin-bottom:18px}.detail-row{display:flex;gap:20px;align-items:center;margin:22px 0 36px;padding:18px 0;border-bottom:1px solid var(--line)}.detail-row .icon-box{width:44px;height:44px;border-radius:14px;background:white;display:grid;place-items:center;border:1px solid var(--line)}.detail-row p{margin:0;font-size:.85rem}.detail-row strong{display:block;font-size:.9rem;margin-bottom:4px}.detail-row .end{margin-left:auto;font-size:.8rem;color:var(--muted)}.tabbar{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:22px}.tabbar button{background:none;border:0;padding:14px 20px;font-weight:700;color:var(--muted);border-bottom:3px solid transparent}.tabbar button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green)}.plan-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.plan-header h2{margin:0}.plan-header select{padding:10px;border:1px solid var(--line);border-radius:10px;background:white;font-size:.85rem}.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.tile{background:white;border:1px solid var(--line);border-radius:14px;padding:16px 8px;min-height:85px;display:flex;flex-direction:column;align-items:center;gap:8px}.tile span{font-size:.75rem;color:var(--muted)}.tile strong{font-size:1rem}.tile.done{background:#e9f2df;border-color:#c4d8b1}.tile.done span{color:#476830}.tile.selected{background:var(--green);color:white;border-color:var(--green)}.tile.selected span{color:#d4e2d7}.batch{position:sticky;bottom:20px;background:white;border:1px solid var(--line);box-shadow:0 10px 40px #123e351a;border-radius:18px;padding:16px 20px;display:flex;align-items:center;gap:20px;margin-top:24px}.batch p{margin:0;font-size:.9rem;flex:1}.batch .primary{width:auto}.history-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:18px 0;gap:12px}.history-row p{margin:5px 0 0;font-size:.8rem;color:var(--muted)}.history-row button{font-size:.8rem}.empty{padding:42px 20px;text-align:center;border:1px dashed #bac9be;border-radius:20px;color:var(--muted)}.footer{margin-top:32px;font-size:.75rem;color:var(--muted);text-align:center}.celebrate{background:#d4f57c;padding:18px 22px;border-radius:16px;margin-bottom:22px}.celebrate p{margin:4px 0 0;font-size:.9rem}dialog{border:1px solid var(--line);border-radius:24px;padding:28px;max-width:420px;width:calc(100% - 32px);color:var(--green)}dialog::backdrop{background:#102e28a8;backdrop-filter:blur(3px)}.dialog-actions{display:flex;gap:12px;margin-top:25px}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#123e35;color:white;border-radius:14px;padding:14px 20px;box-shadow:0 8px 25px #0002;max-width:calc(100% - 32px);z-index:20}#notice:empty{display:none}
@media(max-width:760px){.shell{padding:22px 20px 70px}.topbar{margin-bottom:28px}.brand{font-size:1.3rem}.topbar .pill{font-size:.7rem}.login-layout{display:flex;flex-direction:column;gap:20px;min-height:unset}.login-intro{padding:15px 0 0;align-self:stretch}.login-intro h1{font-size:3rem;margin-bottom:20px}.login-intro p{margin-bottom:0}.goal-note{display:none}.login-card{padding:25px;width:100%;border-radius:22px}.login-card .monogram{display:none}.login-card h2{font-size:1.5rem}.section-heading{display:block}.steps{display:block;margin-top:14px}.plans{grid-template-columns:1fr;gap:12px;margin-top:22px}.plan,.plan[aria-pressed=true]{padding:20px}.plan[aria-pressed=true]{padding:19px}.plan-icon{float:left;margin:0 16px 20px 0;width:42px;height:42px}.plan h2{font-size:1.2rem;padding-right:20px}.plan p{min-height:0;margin:8px 0 15px;font-size:.85rem;clear:both}.plan dl{margin:10px 0 0;padding-top:6px}.plan dl div{margin-top:8px}.setup-footer{flex-direction:column;gap:20px}.setup-footer .primary{max-width:none}.form-card{padding:22px}.dashboard{grid-template-columns:1fr;gap:16px}.balance{padding:25px;min-height:270px}.next-card{padding:23px}.next-card .number{font-size:2rem}.detail-row{margin:15px 0 24px;gap:12px}.detail-row .end{max-width:90px;text-align:right}.tiles{grid-template-columns:repeat(3,1fr);gap:9px}.tile{padding:15px 5px}.tile strong{font-size:.95rem}.plan-header h2{font-size:1.2rem}.tabbar button{padding:14px 15px}.batch{bottom:12px;padding:12px;gap:10px;flex-wrap:wrap}.batch .primary{width:100%}.demo-banner{font-size:.75rem}.topbar .text-button{font-size:.8rem}.login-card .small{font-size:.8rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
