@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{--paper:#f6f3ed;--card:#fffcf7;--wine:#642138;--ink:#30272a;--muted:#73686c;--line:#e6ded7;--pink:#ede0e2;--green:#496756;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ac778a;outline-offset:3px}header{height:103px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:auto;padding:0 6%}.brand{font-family:Georgia,serif;font-size:31px;letter-spacing:-1.2px;text-decoration:none;color:var(--wine)}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:1px;margin-top:6px}.prototype{font-size:13px;border:1px solid #cbb8bb;border-radius:30px;padding:8px 13px;color:var(--wine)}main{max-width:1320px;margin:auto;padding:44px 4% 0}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:12px!important;font-weight:700;letter-spacing:1.9px;line-height:1.5;margin:0 0 13px;color:var(--muted)}h1{font:400 clamp(28px,3vw,42px)/1.15 Georgia,serif;letter-spacing:-1px;margin:0}h2{font:400 25px/1.2 Georgia,serif;letter-spacing:-.5px;margin:0 0 24px}h3{font-size:15px;margin:0 0 16px}.subtle{border:none;background:none;font-size:14px;color:var(--wine);text-decoration:underline;text-underline-offset:4px;padding:12px 0}.demo-note{display:flex;align-items:center;gap:10px;margin:24px 0 26px;color:var(--muted)}.demo-note p{font-size:13px;margin:0;line-height:1.5}.demo-dot{height:6px;width:6px;border-radius:50%;background:#b0988b;flex-shrink:0}.dashboard{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:20px;align-items:stretch}.card{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:27px;min-width:0}.balance-card{background:var(--wine);color:#fff5eb;border-radius:15px;min-width:0;padding:28px;display:flex;flex-direction:column;box-shadow:0 12px 25px -20px #512532}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}.pill{font-size:12px;border:1px solid #996777;padding:6px 9px;border-radius:20px;white-space:nowrap}.hero-number{font-family:'Manrope',sans-serif;letter-spacing:-2.5px;font-size:clamp(34px,4vw,58px);font-weight:500;line-height:1.2;margin-top:43px;overflow-wrap:anywhere}.balance-card>p{font-size:14px;color:#e0bec8;margin:14px 0 26px;line-height:1.6}.weekly{margin-top:auto;padding-top:26px;border-top:1px solid #8a5264;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px}.weekly strong{font-size:21px;font-weight:500}.balance-footer{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#e0bec8;margin-top:36px;gap:10px}.balance-footer>span:last-child{font-size:28px}label{display:block;font-size:14px;font-weight:500;margin:16px 0 7px;line-height:1.4}label span{float:right;font-weight:400;color:var(--muted)}input,select{width:100%;min-width:0;border:1px solid #d9cec7;background:#fffdf9;color:var(--ink);border-radius:7px;padding:11px 12px;min-height:44px;font-size:16px}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button{appearance:none}.help{font-size:13px;line-height:1.55;color:var(--muted);margin:9px 0 0}.mini-total{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px;font-size:13px}.mini-total strong{color:var(--wine);font-size:15px}.goal-values{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.goal-values strong{font-size:29px;letter-spacing:-1px;font-weight:500}.goal-values span{font-size:13px;color:var(--muted)}progress{appearance:none;border:0;width:100%;height:7px;border-radius:20px;overflow:hidden;background:#e5e4d9;margin:17px 0 6px}progress::-webkit-progress-bar{background:#e5e4d9}progress::-webkit-progress-value{background:var(--green);border-radius:20px}progress::-moz-progress-bar{background:var(--green)}.goal-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.goal-inputs label{font-size:13px}.goal-inputs input{font-size:15px}.ledger{grid-column:span 2}.section-top{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.section-top h2{margin-bottom:0}.light-pill{font-size:12px;padding:7px 10px;background:#f2eee7;border-radius:20px;white-space:nowrap;color:var(--muted)}.ledger-help{margin:16px 0 24px;max-width:580px}.ledger-labels,.transaction{display:grid;grid-template-columns:minmax(100px,1fr) 118px 122px 32px;gap:12px;align-items:center}.ledger-labels{font-size:12px;color:var(--muted);padding:0 0 10px;border-bottom:1px solid var(--line)}.transaction{padding:13px 0;border-bottom:1px solid var(--line)}.transaction .name{font-size:15px;overflow-wrap:anywhere}.transaction .kind{font-size:12px;color:var(--muted);display:block;margin-top:3px}.transaction input,.transaction select{padding:9px 8px;font-size:14px}.transaction .remove{width:32px;height:40px;border:0;color:var(--muted);font-size:21px;background:none;border-radius:5px}.transaction .remove:hover{background:var(--pink);color:var(--wine)}#add-form{margin-top:25px;background:#f7f3ed;border:1px solid var(--line);padding:18px;border-radius:10px}.add-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}.add-grid label{margin:0;font-size:13px}.add-grid input,.add-grid select{margin-top:6px;font-size:14px}.primary{border:0;background:var(--wine);color:white;border-radius:7px;padding:13px 18px;grid-column:span 2;font-size:14px;font-weight:500}.primary:hover{background:#4e1629}.insights{display:flex;flex-direction:column;gap:20px}.breakdown h2{margin-bottom:20px}dl{margin:0}dl div{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:11px 0}dd{margin:0;font-weight:500;white-space:nowrap}dt{color:var(--muted)}dl .total{border-top:1px solid var(--line);margin-top:9px;padding-top:18px}.total dt,.total dd{color:var(--wine);font-weight:600}.analysis-teaser{padding:27px;background:var(--pink);border:1px solid #dfcbd0;border-radius:15px;flex:1}.analysis-icon{font-size:30px;color:var(--wine);margin-bottom:19px}.analysis-teaser .eyebrow{color:var(--wine);font-size:12px!important}.analysis-teaser h2{font-size:29px;margin:12px 0 16px}.analysis-teaser>p{font-size:14px;line-height:1.6;color:#6b535b}.analysis-teaser button{width:100%;display:flex;justify-content:space-between;gap:10px;padding:13px 0;border:0;border-bottom:1px solid #ba8f9b;background:none;color:var(--wine);font-size:14px;font-weight:600;text-align:left}.analysis-teaser .small{font-size:12px;margin-bottom:0}.analysis-panel{grid-column:1/-1;scroll-margin-top:20px}#analysis-content{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:28px 0}.finding{border-left:2px solid #c7a1ad;padding-left:18px}.finding strong{color:var(--wine);font-size:18px;font-weight:500}.finding p{font-size:15px;line-height:1.65;margin:10px 0}.footnote{text-align:center;font:italic 20px Georgia,serif;color:#897d79;margin:45px 0}footer{display:flex;justify-content:space-between;gap:16px;max-width:1215px;margin:auto;padding:24px 3%;border-top:1px solid var(--line);color:var(--muted);font-size:12px}footer span:first-child{font:18px Georgia,serif;color:var(--wine)}.error{font-size:13px;color:#a01e38;margin:7px 0 0}.error:empty{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.empty{padding:25px 0;color:var(--muted);font-size:14px}
@media(min-width:1500px){main{padding-left:30px;padding-right:30px}}@media(max-width:1100px){.dashboard{grid-template-columns:1fr 1fr}.savings{grid-column:2;grid-row:1 / span 2}.setup{grid-column:1}.balance-card{min-height:320px}.ledger{grid-column:span 2}.insights{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}.hero-number{font-size:52px}.balance-footer{margin-top:20px}}
@media(max-width:650px){header{padding:0 20px;height:88px}.brand{font-size:25px}.brand span{font-size:12px;letter-spacing:.7px}.prototype{font-size:12px;padding:6px 9px}main{padding:29px 16px 0}.intro{align-items:flex-start;flex-direction:column;gap:8px}.intro h1{font-size:31px;max-width:320px}.eyebrow{font-size:12px!important;letter-spacing:1.5px}.intro .subtle{font-size:13px;padding:7px 0}.demo-note{margin:17px 0 22px;align-items:flex-start}.demo-dot{margin-top:7px}.dashboard{display:flex;flex-direction:column;gap:16px}.card,.balance-card,.analysis-teaser{padding:24px}.balance-card{min-height:300px}.hero-number{font-size:52px;margin-top:30px}.weekly{padding-top:22px}.balance-footer{margin-top:25px}.setup{order:0}.savings{order:0}.insights{display:flex;gap:16px}.ledger-labels{display:none}.transaction{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;gap:8px;padding:15px 0}.transaction>div:first-child{grid-column:1/3}.transaction .remove{grid-column:3;grid-row:1/3}.transaction input{grid-column:1;grid-row:2}.transaction select{grid-column:2;grid-row:2}.transaction .kind{display:inline;margin-left:7px}.light-pill{display:none}.add-grid{gap:13px 10px}#add-form{padding:15px;margin-left:-8px;margin-right:-8px}#analysis-content{grid-template-columns:1fr;gap:20px}.section-top{gap:10px}.section-top h2{font-size:24px}.goal-inputs input{font-size:16px}.transaction input,.transaction select,.add-grid input,.add-grid select{font-size:16px}footer{margin:0 16px;padding:23px 0}.footnote{font-size:18px}h2{font-size:26px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s}html{scroll-behavior:smooth}}

@media(max-width:400px){header{gap:10px}.prototype{max-width:98px;text-align:center}.brand{font-size:23px}.brand span{font-size:12px;letter-spacing:0}}

fieldset{border:0;padding:0;margin:0;min-width:0}fieldset:disabled{opacity:.55}.account-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 24px;margin:24px 0 0}.account-bar strong{color:var(--wine);font-size:16px}.account-bar p{font-size:14px;line-height:1.5;margin:6px 0 0}.account-bar a{display:inline-block;color:var(--wine);margin-top:8px;font-size:14px}.save-actions,.mode-actions{display:flex;align-items:center;gap:20px}.account-bar .primary{white-space:nowrap}button:disabled{opacity:.5;cursor:default}.data-note{margin:12px 0 24px;font-size:14px}.help,.demo-note p,.goal-inputs label,.add-grid label,.mini-total{font-size:14px}.finding p{font-size:16px}.card-top,.pill,.light-pill{font-size:14px}@media(max-width:650px){.account-bar{align-items:stretch;flex-direction:column;padding:20px}.save-actions{flex-wrap:wrap}.save-actions .primary{width:100%}.mode-actions{gap:24px}.hero-number{font-size:clamp(32px,10vw,52px)}}

.what-if{grid-column:3;grid-row:2;align-self:start}.what-if h2{margin-bottom:12px}.scenario-results{margin-top:22px;border-top:1px solid var(--line)}.scenario-results>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:17px;font-size:14px}.scenario-results span{color:var(--muted)}.scenario-results strong{color:var(--wine);font-size:20px;font-weight:500;overflow-wrap:anywhere;text-align:right}.scenario-results .negative{color:#a01e38}.what-if #what-if-note{margin-top:20px}.ledger{grid-row:2 / span 2}.insights{grid-column:3;grid-row:3}.savings{align-self:start}
@media(min-width:651px) and (max-width:1100px){.balance-card{grid-column:1;grid-row:1}.savings{grid-column:2;grid-row:1}.setup{grid-column:1;grid-row:2}.what-if{grid-column:2;grid-row:2;align-self:stretch}.ledger{grid-column:1/-1;grid-row:3}.insights{grid-column:1/-1;grid-row:4}}
@media(max-width:650px){.what-if{align-self:stretch}.scenario-results strong{font-size:22px}}

.box-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:24px}.box-heading h2{margin-bottom:0}.undo{border:1px solid #d9cec7;border-radius:7px;color:var(--wine);background:transparent;min-height:44px;padding:9px 12px;font-size:14px;flex-shrink:0}.undo:not(:disabled):hover{background:var(--pink)}.what-if .box-heading{margin-bottom:12px}.mode-actions{flex-wrap:wrap}.balance-footer>span:only-child{font-size:14px}.balance-footer>span:first-child{font-size:14px;line-height:1.5}@media(max-width:650px){.box-heading{gap:12px}.box-heading h2{font-size:25px}.mode-actions{gap:6px 22px}}

.ledger{grid-row:2}.monthly-analysis{grid-column:1 / span 2;grid-row:3;align-self:start;background:#f5ecec;border-color:#dfcbd0}.monthly-analysis h2{font-size:32px;color:var(--wine)}.locked-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid #cbb8bb;border-radius:25px;padding:8px 12px;font-size:14px;color:var(--wine);white-space:nowrap}.monthly-intro{font-size:16px;line-height:1.65;max-width:540px;margin:22px 0 28px}.monthly-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.benefit-number{display:block;font-size:14px;color:var(--wine);margin-bottom:12px}.monthly-benefits h3{font-size:16px;line-height:1.4;margin:0 0 9px}.monthly-benefits p{font-size:16px;line-height:1.6;color:#65545b;margin:0}.monthly-example{border-top:1px solid #dfcbd0;border-bottom:1px solid #dfcbd0;padding:23px 0;margin:28px 0 22px}.monthly-example>p:not(.eyebrow){font:400 24px/1.4 Georgia,serif;color:var(--wine);margin:0 0 12px}.monthly-example>span{font-size:14px;color:#65545b;line-height:1.5}.monthly-locked strong{font-size:16px;color:var(--wine)}.monthly-locked p{font-size:14px;line-height:1.6;color:#65545b;margin:8px 0 0;max-width:520px}
@media(min-width:651px) and (max-width:1100px){.ledger{grid-row:3}.monthly-analysis{grid-column:1/-1;grid-row:4}.insights{grid-row:5}}
@media(max-width:650px){.monthly-benefits{grid-template-columns:1fr;gap:22px}.monthly-benefits>div{border-left:2px solid #c7a1ad;padding-left:16px}.benefit-number{margin-bottom:7px}.monthly-analysis h2{font-size:28px}.monthly-example>p:not(.eyebrow){font-size:23px}}

.savings-chart{margin:0 0 30px;padding:22px;background:var(--card);border:1px solid #dfcbd0;border-radius:12px}.chart-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.chart-heading h3{font-size:16px;margin:0}.chart-heading>span{font-size:13px;color:var(--muted)}.chart-plot{display:flex;justify-content:space-around;align-items:flex-end;gap:14px;padding:22px 8px 0;position:relative}.chart-column{display:flex;flex:1;max-width:110px;flex-direction:column;align-items:center}.bar-amount{font-size:14px;font-weight:600;color:var(--wine);margin-bottom:9px;white-space:nowrap}.chart-bar{width:100%;max-width:76px;border-radius:6px 6px 0 0}.bar-jan{height:72px;background:#b8919e}.bar-feb{height:108px;background:#91536a}.bar-mar{height:150px;background:var(--wine)}.bar-month{font-size:14px;padding-top:12px;width:100%;text-align:center;border-top:1px solid #cbb8bb}.savings-chart figcaption{font-size:14px;line-height:1.5;color:var(--muted);margin-top:20px}.trial-preview{display:flex;align-items:flex-start;gap:24px}.trial-duration{display:flex;flex-direction:column;text-align:center;color:var(--wine);font:400 54px/1 Georgia,serif;min-width:100px;border-right:1px solid #dfcbd0;padding-right:24px}.trial-duration>span{font:500 14px/1.5 'DM Sans',sans-serif;margin-top:8px;white-space:nowrap}.monthly-locked .trial-status{font-size:13px;margin-top:12px}@media(max-width:650px){.savings-chart{padding:18px 14px}.chart-plot{gap:10px;padding-left:0;padding-right:0}.trial-preview{gap:16px}.trial-duration{min-width:78px;padding-right:16px;font-size:46px}.trial-duration>span{white-space:normal}.chart-bar{max-width:60px}}

.left-insights{grid-column:1 / span 2;grid-row:3;display:flex;flex-direction:column;gap:20px;min-width:0}.expense-distribution h2{margin-bottom:0}.expense-distribution>.help{margin-top:18px}.expense-distribution>select{max-width:370px}.free-badge{font-size:13px;border:1px solid var(--line);border-radius:20px;padding:8px 10px;white-space:nowrap;color:var(--green)}.distribution-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px;align-items:center;margin-top:24px}#expense-chart{width:100%;max-width:280px;justify-self:center;overflow:visible}.donut-caption{font-size:14px;fill:var(--muted)}.donut-total{font-size:19px;font-weight:600;fill:var(--wine)}.expense-legend{list-style:none;padding:0;margin:0;max-height:360px;overflow-y:auto}.expense-legend li{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.expense-legend svg{width:12px;height:12px}.expense-legend li>div{overflow-wrap:anywhere}.expense-legend small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:4px}.legend-value{text-align:right}.legend-value strong{font-size:14px;font-weight:500}.expense-legend li:last-child{border:0}@media(min-width:651px) and (max-width:1100px){.left-insights{grid-column:1/-1;grid-row:4}}@media(max-width:650px){.left-insights{gap:16px}.distribution-content{grid-template-columns:1fr;gap:14px}#expense-chart{max-width:250px}.expense-legend{max-height:none}.expense-distribution .section-top{flex-wrap:wrap}}

.month-toolbar{display:flex;align-items:center;gap:20px;margin:0 0 24px;flex-wrap:wrap}.month-toolbar label{margin-top:0}.month-toolbar select{min-width:210px}.month-toolbar .help{flex:1;min-width:180px}.entry-meta{grid-column:1/-1;display:flex;align-items:center;gap:16px}.entry-meta select{max-width:190px}.check-label{display:flex;align-items:center;gap:9px;font-size:14px;margin:0}.check-label input{width:18px;min-height:18px;height:18px;flex-shrink:0;accent-color:var(--wine)}.add-grid .check-label{align-self:center;margin-top:20px}.entry-meta .check-label{margin:0}.pricing{margin-top:48px;border-top:1px solid var(--line);padding-top:38px}.pricing>h2{font-size:36px;margin-bottom:14px}.pricing-intro{font-size:16px;line-height:1.6;margin-bottom:26px}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.price-card{border:1px solid var(--line);border-radius:15px;background:var(--card);padding:26px;display:flex;flex-direction:column;min-width:0}.price-card h3{font:400 25px/1.25 Georgia,serif}.price{font:400 42px/1.2 Georgia,serif;color:var(--wine);margin:12px 0}.price>span{font:400 16px 'DM Sans',sans-serif;margin-left:5px}.billing-note{font-size:14px;color:var(--muted);line-height:1.5;min-height:42px}.price-card ul{padding-left:20px;font-size:16px;line-height:1.65;margin:18px 0 26px;flex:1}.price-card li{margin-bottom:9px}.plus-card{border-color:#ac778a;background:#f5ecec}.price-action,.price-coming{display:block;text-align:center;border:1px solid #cbb8bb;border-radius:8px;padding:13px;font-size:14px;color:var(--wine);text-decoration:none;margin:0}.price-action{background:var(--wine);color:white}.trial-terms{max-width:820px;margin-top:26px}.trial-terms h3{font-size:18px}.trial-terms p{font-size:14px;line-height:1.65;color:var(--muted)}@media(max-width:800px){.pricing-grid{grid-template-columns:1fr}.billing-note{min-height:0}}@media(max-width:650px){.entry-meta{grid-column:1/-1;flex-wrap:wrap}.entry-meta select{grid-column:auto;grid-row:auto}.transaction .entry-meta{grid-column:1/-1;grid-row:3}.transaction .entry-meta select{grid-column:auto;grid-row:auto}.month-toolbar{gap:14px}.month-toolbar .help{flex-basis:100%}.pricing>h2{font-size:30px}}

.savings .goal-values{margin-top:22px}.goal-plus-note{border-top:1px solid var(--line);margin:20px 0 0;padding-top:15px;font-size:14px;line-height:1.6;color:var(--wine)}.savings .box-heading h2{overflow-wrap:anywhere}#goal-type-help{min-height:22px}
/* Independent columns prevent ledger height from pushing sidebar cards apart. */
.dashboard{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(0,1fr);gap:20px;align-items:start}.budget-main,.budget-side{display:flex;flex-direction:column;gap:20px;min-width:0}.budget-overview{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:stretch}.budget-overview>.balance-card,.budget-overview>.setup{grid-column:auto;grid-row:auto}.budget-main>.ledger,.budget-main>.left-insights,.budget-side>.card,.budget-side>.analysis-teaser{grid-column:auto;grid-row:auto;align-self:stretch}.budget-side>.analysis-teaser{flex:0 0 auto}.budget-overview .balance-card{min-height:0}.budget-help{margin:12px 0 24px;color:var(--muted);font-size:14px}.budget-help summary{cursor:pointer;width:fit-content;line-height:1.5;min-height:32px;padding:5px 0;text-decoration:underline;text-underline-offset:4px}.budget-help .data-note{margin:10px 0 0;max-width:880px}.budget-help summary:focus-visible{outline:3px solid #ac778a;outline-offset:3px}.hero-number,.weekly strong,.goal-values,.scenario-results strong,dd,.legend-value,input[type=number]{font-variant-numeric:tabular-nums}input[type=number]{text-align:right}.card,.balance-card,.analysis-teaser{scroll-margin-top:20px}.analysis-panel{grid-column:1/-1}
@media(min-width:801px) and (max-width:1100px){.dashboard{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.budget-overview{grid-template-columns:1fr}.budget-overview .balance-card{min-height:300px}.budget-main .ledger-labels,.budget-main .transaction{grid-template-columns:minmax(80px,1fr) 90px 100px 28px;gap:8px}.budget-side .box-heading{flex-wrap:wrap;gap:8px}.budget-side .box-heading h2{flex-basis:100%}.budget-side .card,.budget-side .analysis-teaser{padding:22px}.budget-main .distribution-content{grid-template-columns:1fr}}
@media(max-width:800px){.dashboard{display:flex;flex-direction:column;gap:16px}.budget-main,.budget-side,.budget-overview{display:contents}.dashboard .balance-card{order:0;width:100%;min-height:280px}.dashboard .setup{order:1}.dashboard .savings{order:2}.dashboard .ledger{order:3}.dashboard .what-if{order:4}.dashboard .breakdown{order:5}.dashboard .left-insights{order:6}.dashboard .analysis-teaser{order:7}.dashboard .analysis-panel{order:8}.dashboard .card,.dashboard .left-insights,.dashboard .analysis-teaser{width:100%}.budget-side>.analysis-teaser{flex:none}.budget-help{margin-bottom:18px}}

.transaction input.entry-name{width:100%;font-size:15px;padding:9px 8px;text-align:left;border-color:transparent;background:transparent;min-height:44px;border-radius:6px}.transaction input.entry-name:hover{border-color:#d9cec7}.transaction input.entry-name:focus{border-color:var(--wine);background:#fffdf9}.transaction input.entry-name+.kind{margin-left:8px}@media(max-width:650px){.transaction input.entry-name{font-size:16px}.transaction input.entry-name+.kind{display:block;margin-top:2px}}
/* Monthly reset extends the existing cream and burgundy working surface. */
.reset-workspace{margin-top:24px;scroll-margin-top:24px}.reset-workspace p{line-height:1.6}.bank-guide{background:#f6eee7;padding:18px;margin:22px 0;border-radius:10px}.bank-guide summary,.transaction-review summary{cursor:pointer;font-weight:700;font-size:1rem}.bank-guide li{margin:10px 0;line-height:1.6}.import-controls{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:16px}.import-controls input{width:100%;min-width:0}.import-controls label{min-width:0}.import-summary{font-weight:700;border-bottom:1px solid #d9c9c2;padding:12px 0}.actual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.actual-grid>div{padding:16px;background:#f6eee7;border-radius:10px}.actual-grid span{display:block;font-size:.875rem}.actual-grid strong{display:block;font-size:1.3rem;margin-top:10px}.import-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0}.reset-columns{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;margin:30px 0}.comparison-scroll{overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse;font-size:.875rem}.comparison-table th,.comparison-table td{padding:12px 8px;border-bottom:1px solid #dfd0c9;text-align:right}.comparison-table th:first-child{text-align:left}.import-chat-panel{background:#f6eee7;border-radius:14px;padding:22px;min-width:0}#import-chat-log{max-height:330px;overflow:auto;overflow-wrap:anywhere}.chat-assistant,.chat-user{padding:12px;border-radius:10px;background:white;font-size:.9375rem}.chat-user{background:#642138;color:white;margin-left:24px}.import-chat-panel form{display:grid;gap:10px}.bank-row{display:grid;grid-template-columns:1.1fr 2fr 1fr;gap:12px;align-items:center;padding:18px 0;border-bottom:1px solid #dfd0c9}.bank-row strong{font-size:.875rem;overflow-wrap:anywhere}.bank-row small{font-size:.875rem}.bank-row select{min-width:0;width:100%}.bank-row>small:last-child{grid-column:1/-1}.transaction-review{margin-top:24px}#import-rows{max-height:650px;overflow:auto;padding-right:8px}#import-status{font-weight:600}#confirm-answer{margin-top:12px}input[type=file]{font-size:.875rem}#monthly-reset .check-label{font-size:.875rem;line-height:1.5}
@media(max-width:800px){.import-controls,.reset-columns{grid-template-columns:1fr}.actual-grid{grid-template-columns:1fr 1fr}.bank-row{grid-template-columns:1fr 1fr}.bank-row strong{grid-column:1/-1}.actual-grid strong{font-size:1.05rem}.reset-workspace{padding:20px}.import-chat-panel{padding:16px}}
.account-import-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:16px 0}.account-import-card{display:grid;gap:8px;border:1px solid #dfd0c9;border-radius:10px;padding:16px}.account-import-card span,.account-import-card small{font-size:.875rem}.actual-distribution{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-block:1px solid #dfd0c9;margin:28px 0;padding:24px 0;align-items:center}#actual-chart{width:260px;max-width:100%;display:block;margin:auto}#actual-chart[hidden]{display:none}.chart-center-label{font:14px sans-serif;fill:#625456}.chart-center-value{font:700 17px sans-serif;fill:#642138}.actual-chart-legend{padding:0;list-style:none}.chart-category{display:grid;grid-template-columns:14px 1fr;gap:8px;text-align:left;width:100%;background:transparent;color:#34292c;border:0;border-bottom:1px solid #dfd0c9;padding:14px 0;font-size:.9375rem}.chart-category svg{width:12px;height:12px;margin-top:4px}.chart-category strong{grid-column:2;font-size:.875rem}.chart-category:hover{background:#f6eee7}#import-review{scroll-margin-top:20px}@media(max-width:650px){.actual-distribution{grid-template-columns:1fr}.account-import-cards{grid-template-columns:1fr 1fr}}@media(max-width:420px){.account-import-cards{grid-template-columns:1fr}}

/* Floating assistant, shared by general questions and transaction clarification. */
.reset-columns{grid-template-columns:minmax(0,1fr)}
.chat-launcher{position:fixed;right:24px;bottom:24px;z-index:50;border-radius:30px;padding:16px 22px;box-shadow:0 6px 24px #32122230}
#money-chat-popup{position:fixed;inset:auto 24px 88px auto;margin:0;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 120px);overflow-y:auto;border:1px solid #d9c9c2;box-shadow:0 16px 60px #32122240;color:#32292b;box-sizing:border-box}
#money-chat-popup::backdrop{background:#20101825}
.chat-window-actions{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}
#money-chat-popup h3{font-size:1.5rem;margin:8px 0 12px}
#money-chat-popup #import-chat-log{max-height:34dvh;min-height:100px}
#money-chat-popup input[type=checkbox]{width:auto;display:inline;margin-right:6px}
#money-chat-popup label.help{display:block;font-size:.875rem;line-height:1.5;margin:12px 0}
body{padding-bottom:90px}
@media(max-width:600px){.chat-launcher{right:16px;bottom:16px}#money-chat-popup{right:16px;bottom:80px;max-height:calc(100dvh - 100px)}}

.chat-launcher.primary{display:flex;align-items:center;gap:10px;background:transparent;border:0;box-shadow:none;padding:0;color:#642138}
.pig-launcher-icon{display:grid;place-items:center;width:64px;height:64px;font-size:40px;background:#fbe3e8;border:2px solid #fff;border-radius:50%;box-shadow:0 5px 20px #64213825;transition:transform .2s}
.chat-launcher:hover .pig-launcher-icon{transform:rotate(-8deg) scale(1.06)}
.pig-help-bubble{background:#fffaf6;border:1px solid #e4c9ce;padding:12px 16px;border-radius:18px 18px 4px 18px;box-shadow:0 4px 18px #64213812;font-size:15px;font-weight:600}
#import-chat-log .chat-assistant{display:flex;align-items:flex-start;gap:10px;background:#fffaf7;line-height:1.6}
.pig-avatar{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;background:#fbe3e8;border-radius:50%;font-size:25px}
.chat-message-text{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}
.typing-dots{display:flex;align-items:center;gap:5px;height:34px;padding:0 5px}
.typing-dots i{width:7px;height:7px;background:#8d455b;border-radius:50%;animation:pig-dot 1.2s infinite ease-in-out}
.typing-dots i:nth-child(2){animation-delay:.16s}.typing-dots i:nth-child(3){animation-delay:.32s}
.pig-thinking .pig-avatar{animation:pig-hello .3s ease-out}
.is-typing:after{content:'▍';color:#8d455b;animation:pig-cursor .7s infinite}
@keyframes pig-dot{0%,70%,100%{transform:translateY(0);opacity:.35}35%{transform:translateY(-5px);opacity:1}}
@keyframes pig-hello{from{transform:scale(.6)}to{transform:scale(1)}}
@keyframes pig-cursor{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.typing-dots i,.pig-thinking .pig-avatar,.is-typing:after{animation:none}.pig-launcher-icon{transition:none}}

/* Tint the native pig artwork to the site's muted burgundy palette. */
.pig-launcher-icon,.pig-avatar,.pig-heading-icon{filter:grayscale(1) sepia(.65) saturate(1.8) hue-rotate(290deg);}
