:root{color:#252b29;font-synthesis:none;text-rendering:optimizelegibility;font-optical-sizing:auto;--ink:#252b29;--muted:#7b8580;--line:#e9ece7;--green:#3f875b;--green2:#2f6f48;--pale:#e7f4ea;--gold:#fff1cd;--red:#b63831;--safe:#2d8a50;--attention:#986c00;--white:#fff;--shadow:0 8px 28px #22362b0e;background:#f6f7f4;font-family:DM Sans,system-ui,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{font-family:Manrope,DM Sans,sans-serif}h1{letter-spacing:-.04em;margin:4px 0 0;font-size:clamp(1.45rem,2vw,2rem)}h2{letter-spacing:-.025em;margin:0 0 7px;font-size:1.18rem}h3{margin:0 0 8px;font-size:1rem}.muted{color:var(--muted);line-height:1.55}.tiny{color:var(--muted);font-size:.75rem;line-height:1.5}.eyebrow{letter-spacing:.13em;color:#849087;text-transform:uppercase;margin:0 0 8px;font-size:.67rem;font-weight:700}.brand-mark{background:var(--green);color:#fff;letter-spacing:-.1em;border-radius:18px;place-items:center;width:64px;height:54px;font:800 1.16rem Manrope;display:grid}.brand-mark span{color:#e2cda3;margin:0 1px;font-size:.85em}.brand-mark.small{border-radius:13px;width:40px;height:40px;font-size:.9rem}.auth-shell{background:radial-gradient(at 15% 8%,#eef3ec 0,#0000 32%),#f6f7f4;justify-content:center;align-items:center;min-height:100vh;padding:34px 18px 65px;display:flex;position:relative}.auth-card{background:var(--white);width:min(100%,440px);box-shadow:var(--shadow);border:1px solid #ebeee9;border-radius:24px;padding:38px}.auth-card .brand-mark{margin-bottom:25px}.auth-card h1{margin-bottom:8px}.auth-card>.muted{margin-bottom:23px}.auth-tabs,.segmented{background:#f1f3f0;border-radius:12px;gap:3px;padding:4px;display:flex}.auth-tabs{margin-bottom:22px}.auth-tabs button,.segmented button{color:#768079;background:0 0;border:0;border-radius:9px;flex:1;padding:9px 13px;font-size:.86rem;font-weight:600}.auth-tabs button.selected,.segmented button.chosen{color:var(--ink);background:#fff;box-shadow:0 1px 4px #0000000f}.stack{flex-direction:column;gap:15px;display:flex}.stack label,.modal label,.goal-form label,.settings-form label{color:#59645e;flex-direction:column;gap:7px;font-size:.83rem;font-weight:600;display:flex}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #e2e7e2;border-radius:10px;outline:none;padding:11px 12px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#8aa492;box-shadow:0 0 0 3px #426a561a}input::placeholder,textarea::placeholder{color:#a7afaa}textarea{resize:vertical}.button{border:1px solid #0000;border-radius:11px;padding:10px 15px;font-size:.84rem;font-weight:700;transition:transform .12s,background .15s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--green);color:#fff}.button.soft{color:#49564e;background:#f1f3f0;border-color:#edf0ec}.button.small{padding:8px 11px;font-size:.78rem}.button.full{width:100%;padding:12px}.auth-footer{color:#9aa39d;font-size:.76rem;position:absolute;bottom:22px}.auth-footer span{color:#d2b87e;padding:0 5px}.notice{border-radius:10px;padding:11px 13px;font-size:.82rem;line-height:1.45}.notice.error{color:#903c32;background:#fbefed}.notice.success{color:#37604b;background:#ebf4ed}.notice.warning{color:#825b22;background:#fbf5e9}.notice.info{color:#52605a;background:#f2f5f1}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--line);z-index:5;background:#fff;flex-direction:column;width:238px;padding:24px 16px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand-lockup{align-items:center;gap:11px;padding:0 8px 30px;display:flex}.brand-lockup strong{font-size:.88rem;display:block}.brand-lockup small,.profile small{color:var(--muted);margin-top:3px;font-size:.72rem;display:block}.sidebar nav{flex-direction:column;gap:5px;display:flex}.nav-item{text-align:left;color:#717b75;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:11px 12px;font-size:.85rem;font-weight:600;display:flex}.nav-item:hover{background:#f7f8f6}.nav-icon{color:#809085;flex:none;place-items:center;width:20px;height:20px;transition:color .15s;display:grid}.nav-icon svg{width:18px;height:18px;display:block}.nav-item.active .nav-icon{color:var(--green2)}.nav-count{color:#785d29;background:#f0e8d8;border-radius:20px;margin-left:auto;padding:3px 7px;font-size:.7rem}.sidebar-bottom{margin-top:auto}.profile{align-items:center;gap:10px;padding:12px 8px;display:flex}.profile strong{font-size:.82rem}.avatar{width:34px;height:34px;color:var(--green2);background:#e9efe9;border-radius:50%;flex:none;place-items:center;font:700 .82rem Manrope;display:grid}.quiet-button{color:#717c75;background:0 0;border:0;padding:8px;font-size:.78rem}.quiet-button:hover{color:var(--red)}.privacy-note{border-top:1px solid var(--line);color:#9ba49e;margin-top:11px;padding:12px 7px 0;font-size:.68rem;line-height:1.5;display:block}.main-area{max-width:1600px;margin-left:238px;padding:30px clamp(22px,4vw,60px) 18px}.topbar{justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.topbar .eyebrow{text-transform:none;letter-spacing:.015em;margin-bottom:4px;font-size:.78rem}.topbar-actions{align-items:center;gap:11px;display:flex}.mobile-avatar{display:none}.welcome-row{justify-content:space-between;align-items:center;margin:0 0 16px;display:flex}.welcome-row h2{margin-bottom:4px;font-size:1.07rem}.welcome-row p{color:var(--muted);margin:0;font-size:.82rem}.welcome-row .button span{margin-right:4px;font-size:1.05rem}.hero-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:14px;margin-bottom:14px;display:grid}.card{box-shadow:var(--shadow);background:#fff;border:1px solid #e9ede8;border-radius:17px;min-width:0;padding:20px}.limit-card{color:#fff;background:linear-gradient(145deg,#4b9868,#347a50);border:0;min-height:230px;padding:23px 25px}.card-label{color:inherit;opacity:.82;letter-spacing:.12em;justify-content:space-between;align-items:center;font-size:.66rem;font-weight:700;display:flex}.dot-live{background:#b8d4a7;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #b8d4a721}.limit-value{letter-spacing:-.065em;margin:18px 0 3px;font:800 clamp(2.2rem,4vw,3.4rem) Manrope}.limit-value small{letter-spacing:0;opacity:.7;margin-left:7px;font:500 .9rem DM Sans}.limit-card p{color:#ffffffb8;max-width:480px;margin:0 0 21px;font-size:.77rem}.limit-meter{background:#ffffff30;border-radius:10px;height:6px;overflow:hidden}.limit-meter span{background:#dfc896;border-radius:10px;height:100%;display:block}.limit-foot{color:#ffffffb8;justify-content:space-between;margin-top:8px;font-size:.69rem;display:flex}.balance-card{padding:21px 23px}.balance-card .card-label{color:#87918a;margin-bottom:12px}.balance-rows>div{color:#77817b;justify-content:space-between;align-items:center;padding:7px 0;font-size:.77rem;display:flex}.balance-rows strong{color:#37413a;font-size:.82rem}.balance-rows .balance-total{border-top:1px solid var(--line);color:var(--ink);margin-top:4px;padding-top:11px;font-weight:700}.balance-total strong{color:var(--green2);font-size:.98rem}.text-link{color:var(--green);background:0 0;border:0;padding:0;font-size:.77rem;font-weight:700}.text-link:hover{text-decoration:underline}.balance-card .text-link{margin-top:10px}.dashboard-grid,.bottom-grid{grid-template-columns:1.12fr .88fr;gap:14px;margin-bottom:14px;display:grid}.bottom-grid{grid-template-columns:1fr 1fr}.section-title{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.section-title h2{margin:0 0 4px;font-size:.98rem}.section-title p{color:var(--muted);margin:0;font-size:.75rem}.section-title>.text-link{white-space:nowrap;margin-top:3px}.list{flex-direction:column;display:flex}.list-row{border-top:1px solid #f0f2ef;align-items:center;gap:11px;padding:11px 0;display:flex}.date-pill{border:1px solid var(--line);color:#69746e;text-align:center;border-radius:9px;min-width:56px;padding:7px 8px;font-size:.7rem}.row-copy{flex:1;min-width:0}.row-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.81rem;display:block;overflow:hidden}.row-copy small,.table-sub{color:#98a19b;margin-top:3px;font-size:.7rem;display:block}.amount{white-space:nowrap;font-size:.82rem}.empty-state{text-align:center;color:#9aa39d;padding:23px 10px}.empty-state p{margin:7px 0 0;font-size:.79rem}.empty-mark{color:#bcc5be;font-size:1.4rem}.goal-mini-list{flex-direction:column;gap:17px;display:flex}.goal-mini-head{justify-content:space-between;margin-bottom:7px;font-size:.78rem;display:flex}.goal-mini-head span{color:var(--green);font-weight:700}.progress-track{background:#edf1ec;border-radius:8px;height:6px;overflow:hidden}.progress-track span{background:#6f947b;border-radius:8px;height:100%;display:block}.goal-mini>small{color:#97a19a;margin-top:6px;font-size:.68rem;display:block}.quick-stats{grid-template-columns:1fr 1fr;gap:9px;margin:16px 0;display:grid}.quick-stats div{background:#f7f8f6;border-radius:11px;padding:12px}.quick-stats span,.report-metrics span{color:#8a948d;margin-bottom:7px;font-size:.68rem;display:block}.quick-stats strong{font-size:.96rem}.gentle-note{background:#faf8f3;border-color:#f0ecdf;gap:13px;display:flex}.note-icon{color:#806943;background:#eee7d6;border-radius:50%;flex:none;place-items:center;width:27px;height:27px;font:700 .85rem Georgia;display:grid}.gentle-note strong{font-size:.86rem}.gentle-note p,.settings-side p{color:#7b8580;margin:7px 0 0;font-size:.77rem;line-height:1.55}.toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.toolbar-actions{gap:8px;display:flex}.toolbar-actions .button{white-space:nowrap}.table-wrap{margin-top:14px;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:660px}th{color:#9aa39d;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--line);padding:10px;font-size:.66rem;font-weight:700}td{color:#5c665f;border-bottom:1px solid #f0f2ef;padding:12px 10px;font-size:.78rem}td strong{color:var(--ink);font-size:.79rem}td.positive{color:var(--green);font-weight:700}.row-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.tiny-action{color:#63736a;background:0 0;border:0;padding:4px;font-size:.68rem;font-weight:600}.tiny-action:hover{text-decoration:underline}.danger-text{color:#a45b50}.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.goal-card{padding:20px}.goal-card-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.status-chip{border-radius:18px;padding:5px 9px;font-size:.67rem;font-weight:700}.status-chip.active{color:#4d7959;background:#edf4ed}.status-chip.paused{color:#7b847e;background:#f3f3f0}.goal-owner{color:#9aa39d;text-align:right;font-size:.68rem}.goal-card h3{margin-bottom:6px;font-size:1.08rem}.goal-detail{color:#828b85;min-height:21px;font-size:.78rem;line-height:1.5}.goal-finance{color:#8b958e;justify-content:space-between;align-items:center;margin:15px 0 9px;font-size:.73rem;display:flex}.goal-finance strong{color:#313a34;font-size:1rem}.progress-track.large{height:8px}.goal-progress-copy{justify-content:space-between;margin-top:7px;font-size:.72rem;display:flex}.goal-progress-copy span{color:var(--green);font-weight:700}.goal-result{color:#748078;border-top:1px solid #f0f2ef;margin-top:14px;padding-top:12px;font-size:.75rem}.goal-result b{color:#425f4b}.goal-actions{margin-top:15px}.contribute-form,.invite-form{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.contribute-form input:first-child{max-width:118px}.contribute-form input:nth-child(2){flex:1;min-width:110px}.contribute-form input,.invite-form input{padding:8px 9px;font-size:.74rem}.invite-form{border-top:1px solid #f0f2ef;align-items:center;padding-top:10px}.invite-form input{flex:1;min-width:120px}.invite-form .text-link{font-size:.7rem}.goal-form{max-width:730px}.goal-form h3{margin-bottom:16px}.goal-form>.field-help{margin-bottom:12px}.goal-form label{margin-bottom:14px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-help{color:#929b95;margin-top:-7px;font-size:.71rem;line-height:1.45;display:block}.check-row{align-items:center;flex-direction:row!important;gap:8px!important;display:flex!important}.check-row input{width:auto}.invite-card{background:#fffefa;border-color:#e8e5d9}.invite-row,.admin-row{border-top:1px solid #efeee8;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.invite-row>div:first-child strong{font-size:.82rem;display:block}.invite-row small{color:#909a93;font-size:.71rem}.modal-backdrop{z-index:20;background:#1d262061;place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:#fff;border-radius:20px;flex-direction:column;gap:13px;width:min(100%,540px);max-height:min(92vh,900px);padding:24px;display:flex;overflow:auto;box-shadow:0 20px 70px #121e1533}.modal-head{justify-content:space-between;align-items:flex-start;display:flex}.modal-head h2{font-size:1.28rem}.close-button{color:#66736a;background:#f3f5f2;border:0;border-radius:50%;width:31px;height:31px;font-size:1.3rem}.modal>.muted{margin:-6px 0 0;font-size:.8rem}.modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.report-switch{justify-content:space-between;align-items:center;gap:14px;display:flex}.report-switch h2{font-size:1.3rem}.report-switch .segmented{min-width:240px}.report-metrics{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:19px;display:grid}.report-metrics div{background:#f7f8f6;border-radius:12px;padding:14px}.report-metrics strong{font-size:1rem}.report-disclaimer{color:#98a19b;margin:13px 0 0;font-size:.69rem;line-height:1.5}.suggestion-list{margin:0;padding:0;list-style:none}.suggestion-list li{border-top:1px solid #f0f2ef;gap:12px;padding:12px 0;display:flex}.suggestion-list li span{color:#829184;font:700 .72rem Manrope}.suggestion-list li p{color:#616b64;margin:0;font-size:.8rem;line-height:1.5}.settings-layout{grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:14px;display:grid}.settings-layout h2{margin-bottom:8px}.settings-form{max-width:580px;margin-top:20px}.settings-form small{color:#959e98;font-size:.7rem;font-weight:400;line-height:1.4}.settings-side{box-shadow:none;background:#f9faf8}.settings-side h3{margin-top:13px;font-size:.86rem}.settings-side hr{border:0;border-top:1px solid var(--line);margin:18px 0}.admin-list{margin-top:10px}.admin-row .row-copy{margin-right:auto}.main-footer{color:#9aa39d;justify-content:space-between;gap:10px;padding:22px 3px;font-size:.68rem;display:flex}.toast{z-index:30;color:#fff;box-shadow:var(--shadow);background:#263b2f;border-radius:12px;max-width:min(90vw,420px);padding:12px 17px;font-size:.82rem;position:fixed;bottom:24px;right:24px}.loading-page{color:#7b8580;place-content:center;justify-items:center;gap:15px;min-height:100vh;display:grid}.loading-page p{font-size:.83rem}.loading-page .brand-mark{margin:0}.positive{color:var(--green)}@media (max-width:1050px){.sidebar{width:205px}.main-area{margin-left:205px;padding:26px 24px 16px}.hero-grid,.dashboard-grid{grid-template-columns:1fr 1fr}.goal-grid{grid-template-columns:1fr}}@media (max-width:760px){.sidebar{border:0;border-top:1px solid var(--line);width:auto;height:66px;padding:5px 6px calc(5px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;display:block;position:fixed;inset:auto 0 0}.brand-lockup,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;justify-content:space-around;gap:2px;height:100%;display:flex}.nav-item{border-radius:9px;flex-direction:column;flex:1;justify-content:center;gap:2px;min-width:0;padding:5px 2px;font-size:.59rem}.nav-icon{height:20px}.nav-count{margin:-30px 0 0 25px;padding:2px 5px;position:absolute}.main-area{margin:0;padding:20px 15px 86px}.topbar{margin-bottom:17px}.topbar h1{font-size:1.36rem}.topbar .eyebrow{font-size:.71rem}.topbar-actions .button{padding:8px 10px;font-size:.72rem}.mobile-avatar{width:31px;height:31px;display:grid}.welcome-row{align-items:flex-start;gap:12px}.welcome-row p{max-width:215px;font-size:.75rem}.welcome-row .button{white-space:nowrap;padding:9px 11px;font-size:.72rem}.hero-grid,.dashboard-grid,.bottom-grid,.settings-layout{grid-template-columns:1fr}.limit-card{min-height:210px}.card{border-radius:15px;padding:16px}.limit-card{padding:20px}.dashboard-grid,.bottom-grid{gap:11px;margin-bottom:11px}.section-title h2{font-size:.93rem}.toolbar{flex-direction:column;align-items:flex-start}.toolbar-actions{width:100%}.toolbar-actions .button{flex:1}.table-wrap{margin-left:-5px;margin-right:-5px}.goal-grid{grid-template-columns:1fr}.report-switch{flex-direction:column;align-items:flex-start}.report-switch .segmented{width:100%;min-width:0}.report-metrics{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr 1fr;gap:9px}.modal{border-radius:17px;padding:19px}.modal-backdrop{align-items:end;padding:8px}.modal{max-height:94vh}.main-footer{flex-direction:column;padding:18px 0;font-size:.64rem}.quick-stats strong{font-size:.88rem}.auth-card{border-radius:19px;padding:26px 22px}.auth-card .brand-mark{margin-bottom:21px}}@media (max-width:390px){.main-area{padding-left:11px;padding-right:11px}.form-grid{grid-template-columns:1fr}.welcome-row{flex-direction:column}.welcome-row .button{align-self:flex-start}.nav-item{font-size:.55rem}.report-metrics{gap:7px}.report-metrics div{padding:11px}.contribute-form input:nth-child(2){min-width:75px}}.report-period-controls{align-items:center;gap:9px;display:flex}.report-period-controls input[type=month]{width:160px;padding:8px 9px;font-size:.76rem}.report-metrics div{min-width:0}.reserve-quick-form{grid-template-columns:130px 160px minmax(160px,1fr) auto;align-items:center;gap:8px;margin:14px 0;display:grid}.reserve-quick-form input{min-width:0}.settings-layout hr{border:0;border-top:1px solid var(--line);margin:22px 0}@media (max-width:1050px){.report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.report-period-controls{flex-direction:column;align-items:stretch;width:100%}.report-period-controls .segmented{width:100%;min-width:0}.report-period-controls input[type=month]{width:100%;max-width:none}.report-switch{flex-direction:column;align-items:stretch}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.reserve-quick-form{grid-template-columns:1fr 1fr}.reserve-quick-form input:nth-child(3),.reserve-quick-form button{grid-column:1/-1}.reserve-quick-form button{width:100%}}.report-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.balance-quick-form{grid-template-columns:130px 160px minmax(160px,1fr) auto;align-items:center;gap:8px;margin:14px 0;display:grid}.balance-quick-form input{min-width:0}@media (max-width:1050px){.report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.balance-quick-form{grid-template-columns:1fr 1fr}.balance-quick-form input:nth-child(3),.balance-quick-form button{grid-column:1/-1}.balance-quick-form button{width:100%}}.cash-status-card{transition:background .18s,border-color .18s}.cash-status-card.negative{background:#fff5f4;border-color:#edc5c1}.cash-status-card.attention{background:#fffaf0;border-color:#f1dfac}.cash-status-card.safe{background:#f3faf4;border-color:#d7eadb}.cash-status-card.negative .card-label,.cash-status-card.negative .balance-total strong{color:var(--red)}.cash-status-card.attention .card-label{color:var(--attention)}.cash-status-card.safe .card-label{color:var(--safe)}.cash-alert{margin:-2px 0 14px}.reserve-overview h2{margin:6px 0;font:800 clamp(1.6rem,3vw,2.2rem) Manrope}.reserve-overview .section-title{align-items:center}.reserve-goal-line{color:var(--muted);justify-content:space-between;gap:12px;margin:17px 0 8px;font-size:.78rem;display:flex}.reserve-goal-line strong{color:var(--ink)}.cash-chart-card{padding:18px 20px}.cash-chart{width:100%}.cash-chart-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.cash-chart-head strong,.cash-chart-head small{display:block}.cash-chart-head strong{font-size:.9rem}.cash-chart-head small{color:var(--muted);margin-top:4px;font-size:.7rem}.cash-chart svg{width:100%;height:155px;display:block;overflow:visible}.chart-zero{stroke:#b9c2bb;stroke-width:1.5px;stroke-dasharray:5 5}.chart-line{fill:none;stroke:var(--green);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cash-chart.negative .chart-line{stroke:var(--red)}.cash-chart.attention .chart-line{stroke:#c69312}.chart-end{fill:var(--green);stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.cash-chart.negative .chart-end{fill:var(--red)}.cash-chart.attention .chart-end{fill:#c69312}.cash-chart-scale{color:var(--muted);justify-content:space-between;font-size:.65rem;display:flex}.cash-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:.66rem;font-weight:700;display:inline-flex}.cash-badge.negative{color:#a52b24;background:#fde7e5}.cash-badge.attention{color:#755500;background:#fff1c7}.cash-badge.safe{color:#236d3d;background:#e6f5e9}.cash-row.negative{background:#fff8f7}.cash-row.attention{background:#fffdf6}.cash-row.safe{background:#f8fcf8}.cash-value,.cash-text{font-weight:700}.cash-text.negative{color:var(--red)}.cash-text.attention{color:#8a6500}.cash-text.safe{color:var(--safe)}.planner-card .section-title{margin-bottom:12px}.plan-controls{background:#f7faf7;border-radius:13px;grid-template-columns:minmax(240px,1fr) minmax(170px,.65fr) auto;align-items:end;gap:12px;padding:12px;display:grid}.plan-controls .check-row{align-self:center;margin:0}.plan-percent{font-size:.72rem;font-weight:700}.plan-percent input{margin-top:6px;display:block}.plan-percent span{color:var(--muted);margin-top:4px;font-weight:400;display:block}.planner-table-wrap{max-height:560px;margin-top:12px;overflow:auto}.planner-table{min-width:730px}.planner-table th{z-index:1;background:#f8faf8;position:sticky;top:0}.planner-table td{font-size:.75rem}.planner-table .cash-value{font-size:.8rem}.planner-card>.notice{margin-top:11px}.fixed-bills-summary{background:linear-gradient(135deg,#f0faf2,#fff);border-color:#d8ebdc;justify-content:space-between;align-items:center;gap:20px;display:flex}.fixed-bills-summary h2{margin:7px 0;font:800 clamp(1.6rem,3vw,2.2rem) Manrope}.fixed-bills-summary h2 small{color:var(--muted);font:500 .8rem DM Sans}.fixed-bills-summary p:not(.eyebrow){color:var(--muted);max-width:620px;margin:5px 0 0;font-size:.77rem}.fixed-bills-summary label{min-width:175px}.fixed-bill-list{gap:9px;display:grid}.fixed-bill-row{border:1px solid var(--line);border-radius:13px;grid-template-columns:minmax(150px,1fr) minmax(125px,.55fr) minmax(155px,.7fr) minmax(165px,.75fr) auto;align-items:end;gap:10px;padding:12px;transition:border-color .18s,transform .18s;display:grid}.fixed-bill-row:hover{border-color:#b4d8bd;transform:translateY(-1px)}.fixed-bill-name{align-self:center;min-width:0}.fixed-bill-name strong,.fixed-bill-name small{display:block}.fixed-bill-name strong{font-size:.8rem}.fixed-bill-name small{color:var(--muted);margin-top:4px;font-size:.65rem}.fixed-bill-row label{font-size:.67rem}.fixed-bill-row input{margin-top:5px}.fixed-bill-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fixed-bill-note{margin-top:14px}.goal-owner-actions{gap:7px;margin-top:7px;display:flex}.button.danger{color:#9f2e27;background:#fdebea;border:1px solid #f0d0cd}.button.danger:hover{background:#f9dedb}.withdrawal-form{border-top:1px solid var(--line);padding-top:13px}.notice.error{color:#9f2e27;background:#fff0ef;border-color:#efcac7}.notice.warning{color:#725500;background:#fff8df;border-color:#f0dfa7}.notice.success{color:#276b40;background:#edf8f0;border-color:#d4ead9}.notice.info{color:#35694a;background:#eef7f1;border-color:#d6eadc}@media (max-width:980px){.plan-controls{grid-template-columns:1fr 1fr}.plan-controls .check-row{grid-column:1/-1}.fixed-bill-row{grid-template-columns:minmax(140px,1fr) minmax(125px,.7fr) minmax(145px,.8fr)}.fixed-bill-actions{grid-column:1/-1;justify-content:flex-end}}@media (max-width:760px){.reserve-overview .section-title{flex-direction:column;align-items:flex-start}.cash-chart-head{flex-direction:column}.cash-badge{white-space:normal}.plan-controls{grid-template-columns:1fr}.plan-controls .check-row{grid-column:auto}.plan-controls .button{width:100%}.fixed-bills-summary{flex-direction:column;align-items:stretch}.fixed-bills-summary label{min-width:0}.fixed-bill-row{grid-template-columns:1fr 1fr;align-items:end}.fixed-bill-name{grid-column:1/-1}.fixed-bill-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.fixed-bill-actions .button{white-space:normal;width:100%}.goal-owner-actions{flex-wrap:wrap}.goal-owner-actions .button{flex:1}.planner-table-wrap{margin-left:-5px;margin-right:-5px}.cash-chart svg{height:130px}}@media (max-width:420px){.fixed-bill-row{grid-template-columns:1fr}.fixed-bill-name,.fixed-bill-actions{grid-column:auto}.fixed-bill-actions{grid-template-columns:1fr}.fixed-bill-actions .button{width:100%}.cash-chart-card{padding:15px}.report-metrics{grid-template-columns:1fr 1fr}}.reserve-purpose{color:#68756c;margin:11px 0 0;font-size:.78rem;line-height:1.45}.reserve-purpose strong{color:#46584b}.shared-reserve-note{margin-top:13px}.shared-reserve-note strong{margin-bottom:3px;display:block}.banks-page{gap:16px}.banks-heading{align-items:center;margin-bottom:0}.banks-heading h2{font-size:1.15rem}.bank-form-card .stack{gap:13px}.bank-account-grid{grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:12px;display:grid}.bank-account-card{text-align:left;min-width:0;color:var(--ink);box-shadow:var(--shadow);background:#fff;border:1px solid #e8ede8;border-radius:16px;flex-direction:column;align-items:stretch;padding:16px 17px;transition:border-color .15s,transform .15s,background .15s;display:flex}.bank-account-card:hover{border-color:#b8cdbd;transform:translateY(-1px)}.bank-account-card.selected{background:linear-gradient(155deg,#fbfefb,#f4faf5);border-color:#7fa88a;box-shadow:0 0 0 2px #3f875b14}.bank-card-top{align-items:center;gap:9px;margin-bottom:17px;display:flex}.bank-glyph,.bank-empty-icon{width:34px;height:34px;color:var(--green2);background:#eaf4ec;border-radius:11px;flex:none;place-items:center;display:grid}.bank-glyph svg,.bank-empty-icon svg{width:20px;height:20px}.bank-card-name{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:700;overflow:hidden}.bank-chevron{color:#9aa79d;margin-left:auto;font-size:1.35rem}.bank-balance-label{color:#8c978f;font-size:.68rem}.bank-current-balance{letter-spacing:-.04em;margin:4px 0 5px;font:700 1.35rem Manrope,sans-serif}.bank-purpose{color:#68766c;text-overflow:ellipsis;white-space:nowrap;min-height:18px;font-size:.7rem;overflow:hidden}.bank-card-foot{color:#839087;border-top:1px solid #edf1ec;justify-content:space-between;gap:7px;margin-top:14px;padding-top:10px;font-size:.65rem;display:flex}.bank-detail-heading{align-items:center}.bank-detail-heading h2{font-size:1.2rem}.bank-edit-form{background:#fafbf9;border:1px solid #edf0ec;border-radius:12px;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin:0 0 16px;padding:14px;display:grid}.bank-edit-form label,.bank-movement-form label,.bank-form-card label{color:#59645e;flex-direction:column;gap:6px;font-size:.78rem;font-weight:600;display:flex}.bank-edit-form .row-actions{justify-content:flex-start}.bank-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:18px;display:grid}.bank-summary-strip>div{background:#f7f9f6;border-radius:11px;padding:12px}.bank-summary-strip span{color:#89938c;margin-bottom:6px;font-size:.66rem;display:block}.bank-summary-strip strong{font-size:.9rem}.bank-movement-panel{border-top:1px solid var(--line);padding-top:17px}.bank-movement-panel .section-title{margin-bottom:10px}.bank-mode-tabs{max-width:420px;margin-bottom:12px}.bank-movement-form{grid-template-columns:1fr 1fr 1.3fr auto;align-items:end;gap:9px;display:grid}.bank-movement-form .button{white-space:nowrap}.bank-adjustment-help{margin:8px 0 0}.bank-error{margin-top:12px}.bank-history-title{border-top:1px solid var(--line);margin:21px 0 0;padding-top:17px}.bank-table-wrap{margin-top:5px}.bank-table{min-width:740px}.bank-table td{vertical-align:middle}.bank-table td:nth-child(2){max-width:230px}.bank-outflow{color:#a45b50;font-weight:700}.bank-history-empty{color:#929b95;text-align:center;border-top:1px solid #f0f2ef;padding:18px 10px;font-size:.78rem}.bank-privacy-note{margin:12px 0 0}.bank-empty{text-align:center;padding:34px 20px}.bank-empty .bank-empty-icon{border-radius:16px;width:50px;height:50px;margin:0 auto 13px}.bank-empty h3{margin-bottom:7px}.bank-empty p{color:#7b8580;max-width:480px;margin:0 auto 16px;font-size:.8rem;line-height:1.5}.personal-reserve-plan{flex-direction:column;gap:4px;margin:12px 0 9px;display:flex}.personal-reserve-plan strong{color:#416b4b}.personal-reserve-plan span{font-size:.74rem}.household-reserve-caption{color:#828d85;margin:6px 0 0;font-size:.71rem}.reserve-overview .section-title>div>h2{margin-bottom:5px}.bank-form-card small{font-size:.69rem}@media (max-width:1000px){.bank-movement-form{grid-template-columns:1fr 1fr}.bank-movement-form .button{min-height:42px}.bank-edit-form{grid-template-columns:1fr 1fr}.bank-edit-form .row-actions{grid-column:1/-1}}@media (max-width:760px){.banks-heading{flex-direction:column;align-items:flex-start}.banks-heading>.button{width:100%}.bank-account-grid{grid-template-columns:1fr 1fr;gap:8px}.bank-account-card{padding:13px 12px}.bank-card-top{margin-bottom:12px}.bank-card-foot{flex-direction:column;gap:4px}.bank-summary-strip{grid-template-columns:1fr 1fr}.bank-summary-strip>div:first-child{grid-column:1/-1}.bank-movement-form,.bank-edit-form{grid-template-columns:1fr}.bank-edit-form .row-actions{grid-column:auto}.bank-mode-tabs{max-width:none}.bank-mode-tabs button{padding:8px 5px;font-size:.7rem}.bank-detail-heading{align-items:flex-start}.bank-detail-heading>.button{flex:none}.bank-current-balance{font-size:1.1rem}.bank-purpose{font-size:.64rem}.bank-balance-label{font-size:.62rem}.bank-card-name{font-size:.77rem}.bank-glyph{width:29px;height:29px}.bank-glyph svg{width:18px;height:18px}.bank-account-card.selected{box-shadow:0 0 0 1px #3f875b14}}.reserve-intro{color:var(--muted);max-width:34rem;margin:0;font-size:.78rem;line-height:1.45}.reserve-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 8px;display:grid}.reserve-summary-item{border:1px solid var(--line);background:#fafbf9;border-radius:13px;flex-direction:column;gap:5px;min-width:0;padding:14px;display:flex}.reserve-summary-item span{color:var(--muted);font-size:.72rem;font-weight:700}.reserve-summary-item strong{letter-spacing:-.045em;color:var(--ink);overflow-wrap:anywhere;font:800 clamp(1.35rem,3.2vw,1.8rem) Manrope,sans-serif}.reserve-summary-item small{color:var(--muted);font-size:.67rem;line-height:1.4}.reserve-summary-item.planned{background:#edf8f0;border-color:#d5eadb}.reserve-summary-item.planned strong{color:var(--green2)}@media (max-width:760px){.sidebar{height:calc(66px + env(safe-area-inset-bottom));padding:5px 8px calc(5px + env(safe-area-inset-bottom))}.sidebar nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-direction:row;justify-content:center;gap:3px;height:100%;display:flex;overflow:auto hidden}.sidebar nav::-webkit-scrollbar{display:none}.nav-item{white-space:normal;overflow-wrap:anywhere;text-align:center;flex:1 0 68px;min-width:68px;max-width:100px;min-height:48px;line-height:1.12}.nav-item>span:not(.nav-icon){max-width:100%}.nav-count{margin:-31px 0 0 25px;padding:2px 5px;position:absolute}.main-area{min-width:0;padding:20px 15px calc(96px + env(safe-area-inset-bottom))}.dashboard-grid,.bottom-grid,.hero-grid{grid-template-columns:minmax(0,1fr)}.card{overflow-wrap:anywhere;min-width:0}.reserve-overview .section-title{flex-direction:row;align-items:flex-start;gap:8px}.reserve-overview .section-title>div{min-width:0}.reserve-overview .section-title>.text-link{white-space:normal;text-align:right;flex:none;max-width:118px;line-height:1.3}.reserve-summary-grid{gap:8px}.reserve-summary-item{padding:12px 10px}.reserve-summary-item strong{font-size:clamp(1.12rem,5vw,1.55rem)}.reserve-summary-item small{font-size:.64rem}.reserve-goal-line{flex-wrap:wrap;align-items:baseline}.reserve-overview .goal-progress-copy{grid-template-columns:1fr;gap:4px;line-height:1.35;display:grid}.reserve-overview .goal-progress-copy span{text-align:left;overflow-wrap:anywhere}.reserve-overview>.field-help{margin-top:12px}}@media (max-width:390px){.main-area{padding-left:11px;padding-right:11px}.sidebar{padding-left:4px;padding-right:4px}.nav-item{flex-basis:64px;min-width:64px;font-size:.56rem}.reserve-summary-grid{grid-template-columns:1fr}.reserve-summary-item{padding:12px}.reserve-summary-item strong{font-size:1.45rem}.reserve-overview .section-title{flex-direction:column}.reserve-overview .section-title>.text-link{text-align:left;max-width:none}}:root{--ink:#23312a;--muted:#738078;--line:#e5ebe5;--green:#4b9867;--green2:#347b50;--pale:#eaf6ed;--white:#fff;--shadow:0 5px 20px #1f3b280b}body{color:var(--ink);background:#f5f8f5;overflow-x:hidden}.main-area{width:calc(100% - 238px);max-width:1540px;padding-top:32px;padding-bottom:32px}.card{border-color:#e7ece7;border-radius:18px;padding:21px;box-shadow:0 3px 16px #223e2a09}.card h2,.card h3{color:#27352d}.topbar{margin-bottom:27px}.topbar h1{color:#203229}.topbar .eyebrow{color:#75857a}.welcome-row{margin-bottom:18px}.welcome-row h2{color:#304138;font-size:1.12rem}.hero-grid,.dashboard-grid,.bottom-grid{gap:16px;margin-bottom:16px}.limit-card{background:linear-gradient(135deg,#58a875 0%,#408b5e 100%);box-shadow:0 9px 24px #3f875b21}.balance-card{background:#fff}.balance-rows>div{border-bottom:1px solid #f3f5f2;padding:9px 0}.balance-rows>div:last-child{border-bottom:0}.quick-stats{gap:11px}.quick-stats div,.report-metrics div{background:#f7faf7;border:1px solid #eef2ed;border-radius:13px;padding:14px}.section-title{margin-bottom:17px}.section-title h2{letter-spacing:-.02em;color:#2b3a31}.list-row{padding:13px 0}.table-wrap{border-radius:12px}th{color:#77857b;background:#fafcf9}tbody tr:hover{background:#f8fbf8}input,select,textarea{border-color:#dfe7df;border-radius:11px}.button{border-radius:12px}.button.primary{background:#4b9867}.button.primary:hover{background:#347b50}.nav-item.active{color:#347b50;background:#eaf6ed}.progress-track{background:#eaf0ea}.progress-track span{background:#56a16d}.reserve-summary-item.actual{background:#fbfcfb}.reserve-goal-note{margin-top:9px}.income-edit-action{color:#347b50;white-space:nowrap;border:1px solid #e4eee5;border-radius:8px;padding:6px 9px}.income-edit-action:hover{background:#eef7ef;text-decoration:none}@media (max-width:1050px){.main-area{width:calc(100% - 205px);padding-left:23px;padding-right:23px}.hero-grid{gap:12px}.card{padding:18px}}@media (max-width:760px){.main-area{width:100%;padding:20px 15px calc(96px + env(safe-area-inset-bottom));margin-left:0}.card{border-radius:16px;padding:17px;box-shadow:0 2px 12px #223e2a09}.topbar{margin-bottom:18px}.welcome-row{margin-bottom:14px}.hero-grid,.dashboard-grid,.bottom-grid{gap:12px;margin-bottom:12px}.limit-card{min-height:0;padding:19px}.limit-value{margin:14px 0 4px}.section-title{margin-bottom:13px}.table-wrap{max-width:100%}.report-metrics div,.quick-stats div{padding:12px}.modal{border-radius:20px 20px 14px 14px}.income-edit-action{padding:6px 8px}}@media (max-width:390px){.main-area{padding-left:11px;padding-right:11px}.card{border-radius:15px;padding:14px}.welcome-row .button{max-width:100%}.quick-stats{gap:7px}.quick-stats div{padding:10px}.quick-stats strong{font-size:.83rem}}.activity-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}.activity-header h2{margin:2px 0}.activity-filters{background:#f7faf7;border:1px solid #e8eee9;border-radius:16px;justify-content:space-between;align-items:flex-end;gap:14px;margin:8px 0 14px;padding:14px;display:flex}.activity-range-tabs{flex-wrap:wrap;gap:5px;display:flex}.activity-range-tabs button{white-space:nowrap}.activity-date-control{min-width:190px}.activity-custom-dates{gap:10px;display:flex}.activity-custom-dates label,.activity-date-control{color:#5f6e64;font-size:.78rem;font-weight:700}.activity-custom-dates input,.activity-date-control input{min-width:150px;margin-top:5px;display:block}.activity-period-summary{background:#fff;border:1px solid #e8eee9;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;margin:0 0 15px;padding:15px 17px;display:flex}.activity-period-summary>div:last-child{text-align:right;gap:3px;display:grid}.activity-period-summary span,.activity-period-summary small{color:#79857d;font-size:.76rem}.activity-period-summary strong{color:#254c38;font-size:1.2rem}.activity-table-wrap{margin-top:10px}.activity-table-wrap table{min-width:720px}.activity-table-wrap .row-actions{flex-wrap:wrap;gap:7px}.bank-total-card{background:linear-gradient(120deg,#edf8ef,#e3f3e8);border:1px solid #d9ebdd;border-radius:20px;align-items:center;gap:16px;padding:22px 24px;display:flex}.bank-total-icon{color:#3b8055;background:#fff;border-radius:15px;flex:none;place-items:center;width:48px;height:48px;display:grid}.bank-total-icon svg{width:26px;height:26px}.bank-total-card>div:last-child{gap:3px;display:grid}.bank-total-card span{color:#5d7062;font-size:.83rem}.bank-total-card strong{color:#23633d;font-size:1.75rem;line-height:1.15}.bank-total-card small{color:#79877d;font-size:.72rem}.bank-type-chip{color:#3a7048;background:#eef6f0;border-radius:999px;align-self:flex-start;margin:1px 0 7px;padding:4px 8px;font-size:.67rem;font-weight:750}.bank-card-target{color:#3c7550;margin-top:4px;font-size:.72rem;font-weight:700}.bank-card-target.muted-target{color:#858e88;font-weight:500}.bank-target-summary{background:#f9fbf9;border:1px solid #e3ebe5;border-radius:16px;margin:14px 0;padding:16px 18px}.bank-target-summary-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.bank-target-summary-heading>div{gap:4px;display:grid}.bank-target-summary-heading small{color:#77847b;font-size:.73rem}.bank-target-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px;display:grid}.bank-target-values>div{background:#fff;border-radius:12px;gap:4px;padding:11px 12px;display:grid}.bank-target-values span{color:#7a867e;font-size:.7rem}.bank-target-values strong{color:#344a3b;overflow-wrap:anywhere;font-size:1rem}.bank-target-values .target-gap strong{color:#b13f40}.bank-target-values .target-ok strong{color:#2f7c4a}.bank-target-help{margin:-2px 0 2px}.bank-edit-form{align-items:end}.bank-account-card{min-width:0}.bank-current-balance{overflow-wrap:anywhere}@media (max-width:760px){.activity-header{flex-direction:column;align-items:stretch}.activity-header .toolbar-actions{grid-template-columns:1fr 1fr;display:grid}.activity-filters{flex-direction:column;align-items:stretch}.activity-range-tabs{grid-template-columns:repeat(5,minmax(0,1fr));width:100%;display:grid}.activity-range-tabs button{min-width:0;padding:8px 4px;font-size:.69rem}.activity-date-control{width:100%;min-width:0}.activity-date-control input{width:100%}.activity-custom-dates{grid-template-columns:1fr 1fr;display:grid}.activity-custom-dates input{width:100%;min-width:0}.activity-period-summary{flex-direction:column;align-items:stretch}.activity-period-summary>.segmented{width:100%}.activity-period-summary>div:last-child{text-align:left}.bank-total-card{padding:17px}.bank-total-card strong{font-size:1.55rem}.bank-target-values{grid-template-columns:1fr 1fr}.bank-target-values>div:last-child{grid-column:1/-1}.bank-target-summary{padding:13px}.bank-edit-form{grid-template-columns:1fr}.bank-edit-form label,.bank-edit-form .row-actions{grid-column:1/-1}.bank-account-grid{grid-template-columns:1fr}.bank-detail-heading{flex-direction:column;align-items:flex-start}.bank-detail-heading>.button{width:100%}}@media (max-width:390px){.activity-range-tabs button{padding:7px 2px;font-size:.63rem}.activity-header .toolbar-actions,.bank-target-values{grid-template-columns:1fr}.bank-target-values>div:last-child{grid-column:auto}}@media (max-width:760px){.sidebar nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;justify-content:center;gap:3px;overflow:auto hidden}.sidebar nav::-webkit-scrollbar{display:none}.nav-item{text-align:center;white-space:normal;flex:1 0 64px;min-width:56px;max-width:112px;line-height:1.15}.nav-item>span:last-of-type{overflow-wrap:anywhere;max-width:100%;display:block}.nav-icon{flex:none}.nav-item.active{margin:0 1px}}.household-fixed-summary-card{margin-bottom:16px}.household-fixed-summary-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px;display:grid}.household-fixed-profile{border:1px solid var(--line,#e3ebe6);background:var(--surface-soft,#f4f8f5);border-radius:13px;flex-direction:column;gap:5px;min-width:0;padding:13px 15px;display:flex}.household-fixed-profile span{color:var(--muted,#61756a);font-size:.76rem;font-weight:650}.household-fixed-profile strong{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink,#19342b);font-size:clamp(.95rem,2.6vw,1.22rem)}.household-fixed-total{background:#eaf6ef;border-color:#cfe7d8}.household-fixed-total strong{color:#24784d}@media (max-width:520px){.household-fixed-summary-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.household-fixed-profile{padding:11px 12px}.household-fixed-profile span{font-size:.72rem}.household-fixed-profile strong{font-size:clamp(.87rem,3.4vw,1.04rem)}.household-fixed-total{grid-column:1/-1}}
