@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{--green:#24594d;--mint:#dcebe2;--paper:#f7f8f4;--line:#e5e9e2;--ink:#253b34;--muted:#7b877e;--orange:#bd7850}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;background:white;padding:10px 15px;color:var(--ink)}button:hover{background:#edf3ec}button.primary{background:var(--green);color:white;border-color:var(--green)}a{color:inherit;text-decoration:none}aside{width:245px;background:#fff;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:32px 23px;display:flex;flex-direction:column}.brand{font:800 26px Manrope;display:flex;align-items:center;gap:10px;letter-spacing:-1px}.logo{background:var(--green);color:white;font-size:26px;width:36px;height:38px;border-radius:12px;text-align:center}.branddot{color:#91b69b;font-size:9px;align-self:start;margin-top:8px}.household{display:flex;align-items:center;gap:13px;margin:36px 0;font-size:12px;font-weight:700}.household small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}.avatars{display:inline-flex;background:#e6d7c7;border:3px solid white;border-radius:50%;width:35px;height:35px;align-items:center;justify-content:center;font-size:11px;position:relative;margin-right:14px}.avatars span{position:absolute;left:23px;background:#d7e6dc;border:3px solid white;border-radius:50%;width:35px;height:35px;display:grid;place-items:center}.navlabel{font-size:9px;letter-spacing:1.5px;color:#99a297;margin-bottom:15px}nav{display:grid;gap:7px}nav button{border:0;text-align:left;padding:13px 15px;color:#78847b;background:transparent;display:flex;gap:14px}nav button.active{background:#e9f0e9;color:var(--green);font-weight:700}nav button span{font-size:17px;width:20px}.sidebottom{margin-top:auto}.note{background:#f3f5ee;border-radius:12px;padding:17px;font-size:12px;line-height:1.7}.note p{font-size:11px;color:var(--muted)}.note button{border:0;background:none;padding:0;font-size:11px;font-weight:700;color:var(--green)}.settings{border:0;margin-top:23px;padding-left:0;font-size:12px}.local{display:block;color:var(--muted);font-size:10px;margin-top:14px}main{margin-left:245px}header{height:87px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:10px;letter-spacing:1px;color:var(--muted)}header>div{display:flex;align-items:center;gap:25px}header button{font-size:11px;letter-spacing:0}.breadcrumb{margin-left:18px}.breadcrumb b{font-weight:400;color:var(--ink);margin-left:12px}.content{max-width:1500px;margin:auto;padding:38px 42px 18px}.title{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:var(--muted)}h1{font:600 32px Manrope;letter-spacing:-1.2px;margin:10px 0}p{color:var(--muted);line-height:1.6}.title p{font-size:12px;margin:0}.title button{font-size:12px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:30px 0 22px}#tabs{display:flex;gap:3px;background:#eaece6;padding:4px;border-radius:9px}#tabs button{border:0;background:transparent;font-size:11px;padding:8px 17px}#tabs .selected{background:white;box-shadow:0 1px 5px #243b3310}.monthlabel{border:1px solid var(--line);border-radius:7px;background:white;padding:7px 10px;font-size:12px}input[type=month]{border:0;background:transparent;color:var(--ink);max-width:148px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{border:1px solid var(--line);background:white;border-radius:13px;padding:22px}.stat label{font-size:11px;color:var(--muted);display:flex;justify-content:space-between}.stat strong{display:block;font:600 27px Manrope;margin:16px 0 10px;letter-spacing:-.8px}.stat small{font-size:10px;color:var(--muted)}.stat.hero{background:var(--green);color:white;border-color:var(--green);position:relative;overflow:hidden}.hero:after{content:'◎';position:absolute;right:-5px;bottom:-40px;font-size:145px;opacity:.08}.hero label,.hero small{color:#cfdfd6}.pill{display:inline-block;background:#edf4ed;color:#49755b;font-size:9px;padding:4px 7px;border-radius:5px}.grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px;margin-top:20px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.sectionhead h2{font:700 14px Manrope;margin:0}.sectionhead button{padding:0;border:0;color:var(--muted);font-size:10px;background:none}.legend{display:flex;gap:15px;font-size:10px;color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#659278;margin-right:5px}.dot.light{background:#ddc6ad}.chart{height:170px;width:100%;display:block}.chart text{font-size:9px;fill:#98a298}.chartnote{font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}.bars{display:flex;align-items:end;justify-content:space-around;height:155px;border-bottom:1px solid var(--line);margin:25px 0 10px}.bars>div{height:100%;width:22%;display:flex;gap:5px;align-items:end;position:relative;padding-bottom:23px}.bars i{display:block;width:40%;border-radius:4px 4px 0 0;background:#659278;min-height:2px}.bars i.expense{background:#ddc6ad}.bars small{position:absolute;bottom:0;text-align:center;width:100%;color:var(--muted);font-size:9px}.budgetrow{margin:18px 0}.budgetrow>div{display:flex;justify-content:space-between;font-size:11px}.budgetrow small{color:var(--muted);font-size:10px}.track{height:6px;background:#edf0e9;border-radius:6px;margin-top:10px;overflow:hidden}.track i{display:block;height:100%;background:#7e9d82;border-radius:6px}.track i.warn{background:#c08a63}.subtle{font-size:10px;color:var(--muted);margin:0 0 14px}.bill{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.datebox{background:#f3f4ee;border-radius:8px;min-width:40px;text-align:center;padding:7px;font-size:14px;font-weight:600}.datebox small{display:block;font-size:8px;color:var(--muted);text-transform:uppercase}.bill .grow{flex:1}.bill b{font-size:11px}.bill small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.bill strong{font-size:12px}.bill button{font-size:10px;padding:6px}.wide{margin-top:20px}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:9px;color:var(--muted);letter-spacing:.8px;text-transform:uppercase;font-weight:500;padding:12px 9px;background:#fafbf8}td{padding:14px 9px;border-bottom:1px solid #f0f2ed;font-size:11px}td small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.amount{text-align:right;font-weight:600;white-space:nowrap}.positive{color:#488665}.tag{background:#f2f3ee;border-radius:4px;padding:4px 7px;font-size:9px}.insight{background:#edf2e9;border:1px solid #e0e8d9;padding:15px 20px;border-radius:10px;display:flex;gap:14px;align-items:center;margin-top:20px;font-size:11px;line-height:1.6}.insight span{font-size:20px}.insight b{display:block}.insight p{margin:0;font-size:10px}.accountgrid,.goalgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.accountgrid h3,.goalgrid h3{font:600 16px Manrope}.accountgrid strong,.goalgrid strong{font-size:25px}.negative{color:#b35e45}.empty{padding:35px;text-align:center;color:var(--muted);font-size:12px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px;margin-bottom:15px;font-size:12px}.field input,.field select{border:1px solid #dce3d9;border-radius:7px;padding:11px;width:100%;background:white;color:var(--ink)}dialog{border:1px solid var(--line);border-radius:17px;width:480px;padding:27px;color:var(--ink);box-shadow:0 25px 100px #17291d33}dialog::backdrop{background:#20372d66;backdrop-filter:blur(3px)}.dialoghead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialoghead h2{font:600 21px Manrope;margin:0}.dialoghead button{border:0;font-size:24px;padding:0}.full{width:100%}footer{display:flex;justify-content:space-between;font-size:9px;color:#9aa196;margin-top:29px;padding-top:17px;border-top:1px solid var(--line)}#toast{position:fixed;bottom:24px;left:50%;background:var(--green);color:white;padding:13px 22px;border-radius:9px;display:none;z-index:5}.tools{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.tools input,.tools select{padding:9px;border:1px solid var(--line);border-radius:7px}.settingscard{max-width:700px}.settingscard button{margin:8px 8px 0 0}.plansteps{display:grid;gap:16px}.plansteps h3{font-size:14px}.plansteps p{font-size:12px}.notice{font-size:11px;background:#f3eee2;padding:12px;border-radius:8px;line-height:1.7}.delete{border:0;background:none;color:#a26d5a;font-size:12px;padding:4px}.tablewrap{overflow:auto}@media(min-width:1450px){.content{padding-top:45px}.chart{height:200px}.bars{height:185px}}@media(max-width:1100px){aside{width:205px;padding:25px 17px}main{margin-left:205px}.content{padding:30px 25px}header{padding:0 25px}.stats{gap:10px}.card{padding:17px}.stat strong{font-size:22px}.grid{grid-template-columns:1.3fr 1fr}}@media(max-width:800px){aside{position:static;width:100%;padding:17px;display:block}.brand{font-size:22px}.household,.navlabel,.sidebottom{display:none}nav{display:flex;overflow:auto;margin-top:15px;gap:4px}nav button{white-space:nowrap;padding:9px;font-size:11px}nav button span{display:none}main{margin:0}header{height:60px;padding:0 20px}.content{padding:25px 18px}.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.title{align-items:start}h1{font-size:26px}.title button{font-size:10px;padding:10px}.accountgrid,.goalgrid{grid-template-columns:1fr 1fr}.breadcrumb{display:none}footer{gap:15px;line-height:1.6}.toolbar{gap:8px}#tabs button{padding:8px 9px}.formgrid{grid-template-columns:1fr}.smallavatar{display:none}}@media(max-width:450px){.accountgrid,.goalgrid{grid-template-columns:1fr}.stat strong{font-size:21px}.title{flex-direction:column}.toolbar{flex-wrap:wrap}}

.cloudactions{display:grid;gap:10px;margin:18px 0}.versionrow{display:block;width:100%;text-align:left;margin:8px 0}button:disabled{opacity:.4;cursor:not-allowed}#reset{color:#a3614d}@media(max-width:600px){header>div{gap:6px}header button{padding:8px;font-size:10px}header{padding:0 15px}header>span{font-size:8px;max-width:80px}}
