@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#19261f;background:#f5f0e7;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}.expense-page{max-width:1100px;min-height:100vh;margin:auto;padding:clamp(2rem,6vw,5rem)}.expense-heading{max-width:720px}.expense-session-controls{justify-content:flex-end;margin-bottom:1.5rem;display:flex}.clear-session{color:#8b3f2f;background:0 0;border:0;border-bottom:1px solid;padding:.25rem 0;font-weight:700}.csv-privacy{color:#49352d;background:#f5f0e7;border-left:4px solid #b05c38;gap:.4rem;padding:1rem;display:grid}.expense-heading.review-heading{justify-content:space-between;align-items:end;gap:2rem;max-width:none;display:flex}.monthly-total{color:#fffaf1;background:#18372b;border-radius:14px;flex:none;gap:.35rem;padding:1.2rem 1.4rem;display:grid}.monthly-total span,.normalized-amount span{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.monthly-total strong{font-size:1.65rem}.expense-heading h1{margin:.6rem 0 1rem;font-size:clamp(2.6rem,6vw,5.2rem)}.expense-heading>p:last-child,.import-panel{color:#66736c;line-height:1.6}.mode-tabs{border-bottom:1px solid #18372b33;gap:.4rem;margin:2.5rem 0 1.25rem;display:flex}.mode-tabs button{color:#66736c;background:0 0;border:0;border-bottom:3px solid #0000;padding:.8rem 1rem;font-weight:700}.mode-tabs button.active{color:#18372b;border-color:#b05c38}.import-panel{background:#fffaf1;border:1px solid #18372b22;border-radius:14px;gap:1rem;margin-bottom:1.5rem;padding:1.25rem;display:grid}.secondary,.file-button{color:#18372b;cursor:pointer;background:0 0;border:1px solid #18372b55;border-radius:999px;justify-self:start;padding:.75rem 1rem;font-weight:700}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.review-list{gap:1rem;display:grid}.review-title{justify-content:space-between;align-items:baseline;display:flex}.review-title h2{font-size:2rem}.expense-card{background:#fffaf1;border:1px solid #18372b22;border-radius:14px;grid-template-columns:1.3fr .8fr 1fr 1fr auto;align-items:start;gap:1rem;padding:1.25rem;display:grid}.expense-card>strong{grid-column:1/-1}.expense-card.saved-expense{grid-template-columns:1.3fr .8fr 1fr 1fr auto auto}.normalized-amount{align-self:center;gap:.4rem;min-width:90px;display:grid}.empty-state{color:#66736c;text-align:center;border:1px dashed #18372b44;border-radius:14px;padding:2rem}.field select{color:#18372b;background:#fffaf1;border:1px solid #18372b44;border-radius:10px;width:100%;padding:.9rem 1rem}.remove{color:#a13b2c;background:0 0;border:0;align-self:center}.entry-actions{justify-content:space-between;align-items:center;display:flex}.entry-actions .primary{margin:0}.continue-button{justify-self:end;margin-top:0}.importance-guide{grid-template-columns:repeat(4,1fr);gap:.75rem;margin:2rem 0;display:grid}.importance-guide div{background:#fffaf1;border-left:3px solid #b05c38;gap:.4rem;padding:1rem;display:grid}.importance-guide span,.score-note{color:#66736c;font-size:.82rem;line-height:1.45}.plan-page{gap:2rem;display:grid}.plan-header{justify-content:space-between;align-items:end;gap:2rem;display:flex}.plan-header h1{margin:.6rem 0 1rem;font-size:clamp(2.6rem,6vw,5rem)}.plan-header p,.section-intro{color:#66736c;line-height:1.55}.target-status{white-space:nowrap;border-radius:999px;padding:.65rem 1rem;font-weight:700}.target-status.target_reached{color:#24613e;background:#dcebdd}.target-status.target_not_reached{color:#8a3e28;background:#f4dfd4}.plan-metrics{color:#fffdf7;background:#18372b;border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));display:grid;overflow:hidden}.plan-metrics div{border-right:1px solid #fff2;gap:.5rem;padding:1.35rem;display:grid}.plan-metrics span{color:#aebfb5;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.plan-metrics strong{font-size:1.2rem}.plan-metrics small{color:#c9d5ce;font-size:.72rem;line-height:1.35}.plan-section{gap:1rem;display:grid}.recommendation-card,.simple-plan-card{background:#fffaf1;border:1px solid #18372b22;border-radius:14px;padding:1.4rem}.recommendation-heading,.recommendation-facts,.simple-plan-card{justify-content:space-between;gap:1rem;display:flex}.recommendation-heading h3{margin:.4rem 0 0;font:600 1.45rem Playfair Display}.action-type{color:#b05c38;letter-spacing:.12em;font-size:.72rem;font-weight:700}.savings{color:#24613e;font-size:1.25rem}.recommendation-status{color:#24613e;text-transform:capitalize;background:#eef3ec;border-radius:999px;width:fit-content;margin:.75rem 0 0;padding:.3rem .55rem;font-size:.75rem;font-weight:700}.recommendation-status.failed,.recommendation-status.skipped{color:#8c452c;background:#f6e9e2}.recommendation-facts{color:#66736c;justify-content:flex-start;margin:1rem 0}.rationale{background:#fff4e6;border-left:3px solid #e69a5d;padding:1rem;line-height:1.55}.action-details{border-top:1px solid #18372b22;margin-top:1rem;padding-top:1rem}.action-details summary{color:#18372b;cursor:pointer;font-weight:700}.detail-content{gap:1.1rem;padding-top:1rem;line-height:1.55;display:grid}.detail-content h4{margin:0 0 .55rem}.detail-content ol{margin:0;padding-left:1.25rem}.detail-content li+li{margin-top:.4rem}.detail-content a{color:#24613e;justify-self:start;font-weight:700}.negotiation-template blockquote{background:#eef3ec;border-radius:10px;margin:0;padding:1rem}.manual-note{color:#66736c;font-size:.85rem}.simple-plan-card span{color:#66736c}.review-needed{border-left:4px solid #b05c38}.override-controls{border-top:1px solid #18372b22;flex-wrap:wrap;align-items:end;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.override-controls label{color:#66736c;gap:.35rem;font-size:.8rem;font-weight:700;display:grid}.override-controls select{color:#18372b;background:#fffaf1;border:1px solid #18372b55;border-radius:10px;min-width:150px;padding:.7rem}@media (max-width:800px){.plan-header{flex-direction:column;align-items:flex-start}.plan-metrics{grid-template-columns:1fr 1fr}.recommendation-heading,.simple-plan-card{flex-direction:column}}.importance-list{gap:1rem;display:grid}.importance-card{background:#fffaf1;border:1px solid #18372b22;border-radius:14px;padding:1.25rem}.importance-card legend{justify-content:space-between;width:100%;padding:0 .4rem;display:flex}.importance-choices{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.importance-choices .choice span{min-height:120px}.importance-choices input:disabled+span{opacity:.45;cursor:not-allowed}.protected-note{color:#24613e;margin-bottom:1rem;font-weight:700}.score-note{margin-top:.8rem;display:block}@media (max-width:800px){.expense-card,.expense-card.saved-expense{grid-template-columns:1fr}.expense-heading.review-heading{flex-direction:column;align-items:stretch}.expense-card>strong{grid-column:auto}.mode-tabs{overflow-x:auto}.importance-guide,.importance-choices{grid-template-columns:1fr}}button{cursor:pointer}h1,h2,p{margin:0}h1,h2{letter-spacing:-.025em;font-family:Playfair Display,serif;line-height:1.04}.eyebrow{color:#b05c38;letter-spacing:.18em;text-transform:uppercase;font-size:.76rem;font-weight:700}.landing{color:#fffdf7;background:#18372b;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);min-height:100vh;display:grid}.hero{background:radial-gradient(circle at 15% 10%,#315b48 0,#0000 35%);flex-direction:column;justify-content:center;align-items:flex-start;min-height:100vh;padding:clamp(2rem,8vw,8rem);display:flex}.hero h1{max-width:760px;margin:1rem 0 1.5rem;font-size:clamp(3rem,7.5vw,7rem)}.lede{color:#d9e3dc;max-width:590px;font-size:clamp(1rem,2vw,1.25rem);line-height:1.65}.primary{color:#18372b;background:#e69a5d;border:0;border-radius:999px;margin-top:2rem;padding:.95rem 1.4rem;font-weight:700;box-shadow:0 10px 30px #0d221a55}.primary:hover{background:#f3ad72;transform:translateY(-1px)}.primary:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,.field select:focus-visible,.override-controls select:focus-visible,.action-details summary:focus-visible,.wordmark:focus-visible{outline-offset:3px;outline:3px solid #e69a5d}.primary:disabled,.secondary:disabled{cursor:not-allowed;opacity:.58}.state-page{color:#18372b;text-align:center;background:#f5f0e7;place-content:center;gap:1rem;min-height:100vh;padding:2rem;display:grid}.state-page h1{font-size:clamp(2.4rem,7vw,4.5rem)}.state-page p{color:#66736c;max-width:34rem;line-height:1.6}.state-page .primary{justify-self:center}.loading-indicator{border:4px solid #18372b33;border-top-color:#b05c38;border-radius:50%;justify-self:center;width:2.5rem;height:2.5rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.privacy{color:#aebfb5;margin-top:.9rem;font-size:.8rem}.promise{color:#18372b;background:#e69a5d;align-content:center;gap:.35rem;padding:3rem;display:grid}.promise-number{letter-spacing:.15em;opacity:.6;margin-top:2rem;font-size:.75rem;font-weight:700}.promise p{border-bottom:1px solid #18372b44;padding-bottom:1.25rem;font:600 1.35rem Playfair Display}.goal-page{background:#f5f0e7;min-height:100vh}.topbar{color:#647069;border-bottom:1px solid #19372b22;justify-content:space-between;align-items:center;padding:1.25rem clamp(1.25rem,5vw,5rem);font-size:.82rem;display:flex}.session-controls{align-items:center;gap:1.25rem;display:flex}.wordmark{color:#18372b;background:0 0;border:0;padding:.2rem;font:700 1.5rem Playfair Display}.goal-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(2rem,7vw,7rem);max-width:1250px;margin:auto;padding:clamp(2rem,6vw,5.5rem) clamp(1.25rem,5vw,5rem);display:grid}.goal-form{gap:2rem;display:grid}.goal-form h1{color:#18372b;max-width:650px;margin:.55rem 0 .8rem;font-size:clamp(2.5rem,5vw,4.8rem)}.intro{color:#66736c}fieldset{border:0;margin:0;padding:0}legend,.field>span{color:#18372b;margin-bottom:.7rem;font-weight:700;display:block}.choice-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.choice{display:block;position:relative}.choice input{opacity:0;width:1px;height:1px;position:absolute}.choice span{background:#fffaf1;border:1px solid #18372b33;border-radius:12px;gap:.3rem;min-height:95px;padding:1rem;display:grid}.choice small,.field small{color:#6b756f;font-weight:400}.choice input:checked+span{background:#fff4e6;border:2px solid #b05c38;box-shadow:inset 0 0 0 2px #fff}.choice input:focus-visible+span{outline-offset:2px;outline:3px solid #e69a5d}.field{display:block}.field>input,.field textarea,.money-input{color:#18372b;background:#fffaf1;border:1px solid #18372b44;border-radius:10px;width:100%}.field>input,.field textarea{padding:.9rem 1rem}.field textarea{resize:vertical}.money-input{align-items:center;padding-left:1rem;font-weight:700;display:flex}.money-input input{background:0 0;border:0;outline:0;width:100%;padding:.9rem .75rem}.field>small{margin-top:.45rem;display:block}.error{margin-top:.5rem;font-size:.82rem;color:#a13b2c!important}.success{color:#24613e;font-weight:700}.goal-form>.primary{justify-self:start;margin-top:0;padding-inline:2rem}.summary{color:#fffdf7;background:#18372b;border-radius:18px;align-self:start;padding:clamp(1.5rem,4vw,3rem);position:sticky;top:2rem;box-shadow:0 25px 60px #18372b22}.summary h2{margin:.8rem 0 2.2rem;font-size:clamp(2rem,4vw,3.4rem)}.summary-stat{border-top:1px solid #fff2;justify-content:space-between;gap:1rem;padding:1rem 0;display:flex}.summary-stat span{color:#aebfb5}.summary blockquote{color:#d9e3dc;border-left:3px solid #e69a5d;margin:2rem 0 0;padding-left:1rem;font-style:italic;line-height:1.5}@media (max-width:760px){.landing,.goal-layout{grid-template-columns:1fr}.hero{min-height:72vh;padding:2rem 1.25rem 3rem}.promise{padding:1rem 1.25rem 2.5rem}.goal-layout{padding-top:2.5rem}.choice-grid{grid-template-columns:1fr}.summary{position:static}}@media (prefers-reduced-motion:no-preference){button{transition:all .18s}}@media (prefers-reduced-motion:reduce){.loading-indicator{border-top-color:#18372b33;animation:none}}@media (max-width:480px){.expense-page{padding:1.25rem}.entry-actions,.session-controls,.review-title{flex-direction:column;align-items:stretch}.entry-actions .primary,.entry-actions .secondary,.continue-button{width:100%}}
