:root{--green:#183f37;--muted:#75817d;--line:#e2e8e3;--cream:#f5f6f1;--lime:#d6e9ab;--red:#b14a3d}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:#243c34;font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,label.import{cursor:pointer}button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 14px;color:var(--green)}button:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #87ab53;outline-offset:2px}aside{position:fixed;inset:0 auto 0 0;width:246px;background:var(--green);color:#fff;padding:35px 23px;display:flex;flex-direction:column}.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:12px;font-size:23px;font-weight:650;letter-spacing:2px}.brandmark{background:var(--lime);color:var(--green);border-radius:12px;width:44px;height:47px;padding:8px 10px;letter-spacing:-5px}.brandmark span{font-size:21px}.brand-sub{display:block;font-size:8px;letter-spacing:1.6px;margin-top:5px;color:#b8ccc3}.nav-label{font-size:9px;letter-spacing:1.8px;color:#96b0a4;margin:56px 12px 15px}nav{display:grid;gap:7px}nav button{border:0;background:transparent;color:#bad0c4;text-align:left;display:flex;gap:15px;align-items:center;font-size:19px}nav button span{font-size:13px}nav button.active{color:#fff;background:#31554a}.side-bottom{margin-top:auto}.household{display:flex;align-items:center;gap:12px;border-top:1px solid #436458;padding-top:22px;font-weight:600}.household span{font-size:12px}.household small{display:block;font-size:10px;color:#adc4b8;margin-top:5px;font-weight:400}.side-bottom p{font-size:11px;line-height:1.8;color:#adc4b8;margin:25px 0}.backup{display:block;background:transparent;border:0;padding:8px 0;color:#c6d7cb;font-size:11px}main{margin-left:246px;padding:40px 42px;max-width:1680px}header{display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow{letter-spacing:2px;font-size:9px;font-weight:700;color:#7d8b80}h1{font-size:31px;font-weight:550;letter-spacing:-1.1px;margin:9px 0}header p{color:var(--muted);margin:0;font-size:13px}.header-actions{display:flex;align-items:center;gap:12px}input,select{padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--green);min-width:0}.primary{background:var(--green);color:white;border-color:var(--green)}.storage-note{font-size:10px;color:#5c7967;margin:26px 0}.storage-note span{float:right;color:#879187}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.card{background:white;border:1px solid var(--line);padding:22px;border-radius:12px}.card.featured{background:var(--green);color:#fff}.card .label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.featured .label{color:#c1d0c0}.number{font-size:29px;font-weight:550;letter-spacing:-1px;margin:12px 0 8px}.card small{font-size:10px;color:var(--muted)}.featured small{color:#c1d0c0}.number.bad,.bad{color:var(--red)}.featured .bad{color:#ffc1ae}.layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:21px 23px;border-bottom:1px solid var(--line)}h2{font-size:16px;font-weight:600;margin:0}.panel-head p{font-size:11px;color:var(--muted);margin:6px 0 0}.small-btn{padding:7px 9px;font-size:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{text-transform:uppercase;letter-spacing:1px;font-size:9px;font-weight:500;color:#7d8b80;background:#fafbf8;padding:13px 22px}td{padding:17px 22px;border-top:1px solid #edf0eb;font-size:12px}td.num,th.num{text-align:right;white-space:nowrap}.group{font-weight:600}.pill{display:inline-block;font-size:9px;padding:4px 7px;border-radius:5px;background:#eef3e9;color:#617543}.row-actions button{border:0;background:transparent;padding:4px;font-size:11px}.progress{height:5px;background:#edf0e9;border-radius:8px;overflow:hidden;margin-top:9px}.progress i{display:block;height:100%;background:#90ac69}.progress i.over{background:#ca7d67}.budget-name small{display:block;color:#8b958e;font-size:9px;margin-top:5px}.amount-edit{background:transparent;border:0;padding:0;text-align:right;font-size:12px}.rail{padding:24px}.rail h3{font-size:13px;margin:0 0 15px}.rail p{font-size:12px;color:var(--muted);line-height:1.7}.ring{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;margin:24px auto;background:conic-gradient(var(--green) var(--pct),#e9eee4 0)}.ring-inner{width:108px;height:108px;border-radius:50%;background:white;display:grid;align-content:center;text-align:center}.ring-inner b{font-size:24px}.ring-inner small{color:var(--muted);font-size:9px;margin-top:5px}.legend{display:flex;justify-content:space-between;margin:12px 0;font-size:11px}.callout{padding:20px;background:#edf2e5;border-radius:10px}.callout h3{margin:0 0 8px;font-size:13px}.callout p{font-size:12px;color:#657558;line-height:1.7;margin:0}.empty{padding:38px 24px;text-align:center;color:var(--muted);font-size:13px;line-height:1.8}.empty b{display:block;color:var(--green);font-size:16px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:17px 22px}.toolbar input{flex:1}.goal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.goal-card h3{margin:0 0 8px}.goal-card p{font-size:12px;color:var(--muted)}.goal-card .number{font-size:25px}.goal-actions{display:flex;gap:10px;margin-top:18px}.explanation{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 20px}.insight-row{margin:20px 0}.insight-row>div:first-child{display:flex;justify-content:space-between;font-size:12px}.insight-row .progress{height:8px}footer{color:#9aa399;font-size:10px;display:flex;justify-content:space-between;margin-top:32px}dialog{border:0;border-radius:15px;padding:26px;width:460px;max-width:95vw;box-shadow:0 25px 100px #0003;color:var(--green)}dialog::backdrop{background:#122c2766;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.modal-head button{border:0;font-size:22px;padding:0 5px}#fields{display:grid;gap:16px}#fields label{font-size:12px;display:grid;gap:7px}#fields p{font-size:12px;color:var(--muted);line-height:1.6;margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}#toast{position:fixed;bottom:25px;left:50%;background:var(--green);color:#fff;padding:13px 22px;border-radius:8px;box-shadow:0 3px 15px #0002;display:none;z-index:5}@media(min-width:1500px){main{padding-left:60px;padding-right:60px}}@media(max-width:1100px){aside{width:205px;padding:28px 17px}main{margin-left:205px;padding:30px 24px}.layout{grid-template-columns:1fr}.aside-rail{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cards{gap:10px}.card{padding:16px}.number{font-size:24px}header{align-items:flex-start}.header-actions{flex-direction:column;align-items:stretch}.storage-note span{float:none;display:block;margin-top:7px}}@media(max-width:700px){aside{position:static;width:auto;padding:18px}.brand{font-size:18px}.brandmark{height:38px;width:36px;font-size:20px;padding:6px}.brandmark span{font-size:17px}.nav-label,.side-bottom{display:none}nav{display:flex;margin-top:17px;gap:3px}nav button{padding:9px 7px;gap:5px;font-size:15px;flex:1;justify-content:center}nav button span{font-size:10px}main{margin-left:0;padding:24px 16px}h1{font-size:25px}header{gap:10px}.header-actions{gap:8px}.header-actions button{font-size:10px;padding:11px}.header-actions input{font-size:11px;padding:9px}.cards{grid-template-columns:repeat(2,1fr)}.card{min-height:125px}.aside-rail,.goal-grid{display:block}.panel-head{padding:18px 15px}td,th{padding:14px 12px}td{font-size:11px}.panel-head h2{font-size:14px}footer span{display:none}.number{font-size:25px}.storage-note{line-height:1.7}.goal-card{margin-bottom:15px}}
.plan-explainer{padding:14px 23px}.plan-explainer p{font-size:12px;line-height:1.7;color:var(--muted);margin:5px 0 10px}.payoff-date{font-size:26px;white-space:nowrap}.schedule>summary{padding:18px 23px;cursor:pointer;color:var(--green);font-size:12px}.schedule[open]>summary{border-bottom:1px solid var(--line)}.schedule .table-wrap{max-height:390px;overflow:auto}.schedule th{position:sticky;top:0}.warning{background:#fff0df}.warning h3{color:#8c5525}.warning p{color:#876344}#debt-fields{display:grid;gap:16px}#debt-fields[hidden]{display:none}@media(max-width:700px){nav{flex-wrap:wrap}nav button{flex:1 0 29%}.payoff-date{font-size:24px}.plan-explainer{padding:12px 15px}}
.category-toggle{border:0;background:none;padding:0;display:flex;gap:8px;align-items:center;text-align:left;font-size:12px;width:100%}.category-toggle>span{color:#8d9f90;font-size:19px;line-height:16px;width:9px}.category-toggle small{font-weight:400;font-size:9px;color:#72896b;background:#edf2e7;padding:2px 5px;border-radius:4px;margin:0}.subcategory-row{background:#f8faf5}.subcategory-row td{border-top:1px solid #edf0eb;padding-top:12px;padding-bottom:12px}.subcategory-row td:first-child{padding-left:40px}.sub-label{font-size:11px;color:#687c6d}.subcategory-row .small-btn{background:transparent}.breakdown-hint{display:block;color:#8b958e;font-size:10px;margin-top:8px}.transaction-sub{display:block;font-size:10px;color:var(--muted);margin-top:7px}#transaction-category-fields{display:grid;gap:16px}#transaction-category-fields[hidden]{display:none}@media(max-width:700px){.subcategory-row td:first-child{padding-left:26px}.category-toggle{font-size:11px;gap:5px}}
.shared-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.shared-start{margin-bottom:22px}#shared-notice:not(:empty){margin-bottom:22px}.storage-note b{font-weight:500}[inert]{opacity:.5;pointer-events:none}button:disabled{opacity:.5;cursor:wait}

.paid-check{width:20px;height:20px;min-width:20px;accent-color:var(--green);cursor:pointer;padding:0;vertical-align:middle}.budget-name{min-width:170px}

#saving-schedule{display:grid;gap:16px}#saving-schedule[hidden]{display:none}.contribution-note{background:#f3f6ee;border-radius:8px;padding:14px;margin-top:16px;font-size:12px}.contribution-note p{line-height:1.6;margin:8px 0 0}.goal-actions{flex-wrap:wrap}
.business-head{padding:0 0 20px;border:0}.business-goals{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.business-goals .number{margin-top:16px}.goal-target{font-size:14px;color:var(--muted);font-weight:400}.business-explanation{padding:0 22px 18px;margin:0}.business-alert{background:#fff0df;color:#92521d}#business-expense-category[hidden]{display:none}@media(max-width:700px){.business-goals{grid-template-columns:1fr}.business-head{align-items:flex-start}.business-explanation{padding:0 15px 15px}}

.business-goals{grid-template-columns:1fr}

.business-client-scroll{max-height:340px;overflow:auto;overscroll-behavior:contain}.business-client-scroll th{position:sticky;top:0;z-index:1;background:#f5f7f2}.business-client-count{font-size:11px;color:var(--muted);margin:0;padding:0 22px 14px}.business-client-toolbar input{min-width:160px}.business-client-scroll:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
#business-expense-category,#business-expense-dates{display:grid;gap:16px}#business-expense-category[hidden],#business-expense-dates[hidden],#business-payment-date[hidden]{display:none}.business-auto-type{background:#edf2e5;padding:10px 12px;border-radius:7px}

.business-credit-cards{padding:0 22px;gap:12px}.business-credit-cards .card{border:1px solid var(--line)}@media(max-width:700px){.business-credit-cards{padding:0 15px}}

.budget-due{display:block;color:var(--muted);font-size:10px;margin-top:6px;white-space:nowrap}

/* Kingdom stewardship — midnight, parchment, and gold. */
:root{--green:#172c45;--muted:#73776f;--line:#e4ddcf;--cream:#f6f2e9;--lime:#dfc386;--red:#ad493a;--gold:#a98436;--gold-soft:#f2e7ce;--ink:#22334a}
body{background:radial-gradient(ellipse at 88% 0,#eee4cc66,transparent 55%),var(--cream);color:var(--ink)}
aside{background:linear-gradient(165deg,#1c3450,#102239);border-right:1px solid #d4b36c66}
.brand{font-family:Georgia,'Times New Roman',serif;letter-spacing:2.5px;font-weight:500}.brandmark{padding:5px 9px;display:grid;place-items:center;background:transparent;color:#dfc386;border:1px solid #b7965166;border-radius:10px;flex-shrink:0}.brandmark svg{width:30px;height:34px}.brand-sub{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#ddc797;font-size:7px;letter-spacing:1.25px}.nav-label{color:#cbb78a;font-size:8px}nav button{color:#c1cad6}nav button.active{background:#ffffff0d;color:#f1d79c;box-shadow:inset 3px 0 #d8b76f;border-radius:6px}nav button:hover{background:#ffffff09}.household{border-top-color:#c5a65a33}.household small,.side-bottom p{color:#b7c1d0}.sidebar-scripture{display:block;color:#d8bc81;letter-spacing:1px;font-size:9px;margin-top:9px}.backup{color:#c5ceda}
h1{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:400;letter-spacing:-.6px}.eyebrow{color:#94743c;letter-spacing:1.7px}.primary{background:#172c45;border-color:#263f5c;box-shadow:0 2px 4px #172c4510}.primary:hover{background:#23405f}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:#b28c40}input,select{background:#fffefb}h2,h3{color:var(--ink)}
.kingdom-banner{display:flex;align-items:center;gap:17px;border:1px solid #d7c18f;background:linear-gradient(115deg,#fffdf8,#f1e7d0);border-radius:12px;margin-top:25px;padding:20px 24px;box-shadow:0 3px 12px #5e491a04}.kingdom-seal{width:47px;height:56px;color:#947233;flex-shrink:0}.kingdom-seal svg{width:100%;height:100%}.kingdom-overline{color:#8e6a29;font-size:9px;font-weight:700;letter-spacing:2px;margin-bottom:7px}.kingdom-banner blockquote{font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.5;color:#27384c;margin:0}.kingdom-banner cite{font-style:normal;display:block;margin-top:6px;color:#7c715a;font-size:10px}.kingdom-motto{margin-left:auto;flex-shrink:0;border-left:1px solid #d6c18e;padding-left:22px;color:#8a6c32;font-size:10px;line-height:1.9;letter-spacing:.3px}.storage-note{color:#667485;margin:20px 0}.storage-note span{color:#7b7e7c}
.card,.panel{background:#fffefb;border-color:#e4ddcf;box-shadow:0 3px 12px #4d432805}.card.featured{background:linear-gradient(125deg,#203c5b,#14283f);border-color:#94784166;position:relative}.card.featured .label,.featured small{color:#d1c5a8}.featured .number{color:#f5e6be}.number{font-variant-numeric:tabular-nums}.panel-head{border-bottom-color:var(--line)}th,.business-client-scroll th{background:#f8f4eb;color:#80745f}td,.subcategory-row td{border-top-color:#eee7da}.subcategory-row{background:#faf7f0}.sub-label{color:#667287}.category-toggle>span{color:#a58a50}.category-toggle small{color:#8a7037;background:#f3ead5}.pill{background:#f1e7ce;color:#765b29}.progress{background:#eee8dc}.progress i{background:#b08d49}.progress i.over{background:#be725e}.ring{background:conic-gradient(#b6954f var(--pct),#eee7d7 0)}.ring-inner{background:#fffefb}.callout,.business-auto-type,.contribution-note{background:#f0e7d1;border:1px solid #e5d7b7}.callout h3{color:#604d2b}.callout p{color:#7d6b4b}.warning{background:#fff0df;border-color:#e9c89e}.business-alert{background:#fbe4da;color:#9a442c}.paid-check{accent-color:#927139}dialog{background:#fffdf8;border:1px solid #d4bb85}dialog::backdrop{background:#12223977}footer{color:#8d826b;font-size:10px;line-height:1.7;gap:16px}footer span{color:#8a908e}
@media(max-width:1100px){.kingdom-motto{display:none}.kingdom-banner blockquote{font-size:17px}.brand-sub{font-size:6px;letter-spacing:.9px}}
@media(max-width:700px){h1{font-size:28px}.brand-sub{font-size:7px;letter-spacing:1px}.brandmark{padding:3px 6px}.brandmark svg{height:30px;width:25px}.kingdom-banner{padding:16px;gap:12px;margin-top:22px}.kingdom-seal{width:32px;height:43px}.kingdom-overline{font-size:7px;letter-spacing:1.5px}.kingdom-banner blockquote{font-size:15px}.kingdom-banner cite{font-size:9px}.featured .number{font-size:24px}footer{font-size:9px}.business-head h2{font-family:Georgia,'Times New Roman',serif;font-size:20px}}
.paid-input{width:110px;max-width:100%;padding:7px 8px;text-align:right;font-variant-numeric:tabular-nums;border-color:#bca36e;background:#fffdf7}.income-received-total{display:block;color:var(--muted);font-size:10px;margin-top:5px}@media(max-width:700px){.paid-input{width:92px}}
.home-head{padding:0 0 19px;border:0;background:transparent}.home-grid,.home-trip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.home-grid>.panel{min-width:0}.home-body{padding:20px 24px}.home-total{border-top:1px solid var(--line);margin-top:18px;padding-top:10px}.home-total .legend{font-size:13px}.home-actions{display:flex;gap:8px;flex-wrap:wrap}.home-selected{background:#f3ead5}.home-goal-picker{border:1px solid var(--line);border-radius:8px;padding:13px;display:grid;gap:9px}.home-goal-picker>b{font-size:12px}.home-goal-picker label{display:flex!important;align-items:center;gap:8px;font-size:12px}.home-goal-picker input{min-width:auto}.home-goal-picker p,.home-body p{font-size:11px;color:var(--muted);line-height:1.6}.home-goal-picker input:disabled{opacity:.5}.home-costs{max-width:700px}.vacation-card .progress{height:8px;margin:15px 0}.home-body .explanation{margin:15px 0 0}dialog{max-height:88vh;overflow-y:auto}#home-custom-down[hidden]{display:none}@media(max-width:850px){.home-grid,.home-trip-grid{grid-template-columns:1fr}}@media(max-width:700px){.home-head{align-items:flex-start;padding:0 0 16px}.home-body{padding:16px}.home-head .primary{font-size:10px;padding:9px}.home-actions{justify-content:flex-end}}
aside{overflow-y:auto}@media(max-width:700px){nav{overflow-x:auto;scrollbar-width:thin;padding-bottom:5px}nav button{flex:0 0 auto;min-width:110px}}
#car-financing{display:grid;gap:16px}#car-financing[hidden]{display:none}
.savings-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 0 18px;margin-bottom:4px;scrollbar-width:thin}.savings-tabs button{white-space:nowrap;border-color:#d8c9a7;background:#fffdf8;color:#5c6570;font-size:12px;padding:10px 14px}.savings-tabs button.active{background:#203c5b;color:#f5e6be;border-color:#b6954f;font-weight:650}@media(max-width:700px){.savings-tabs{gap:6px}.savings-tabs button{font-size:11px;padding:9px 11px}}

.debt-methods{display:flex;gap:8px;padding:12px 23px;flex-wrap:wrap}.debt-methods button{background:var(--surface,#fff);border:1px solid var(--line);border-radius:999px;padding:8px 13px;color:var(--green);cursor:pointer}.debt-methods button.active{background:var(--green);color:#fff}.debt-paid{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;cursor:pointer}.debt-paid input{accent-color:var(--green)}

.debt-extra-input{width:100px;max-width:100%;font:inherit;text-align:right;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}.debt-extra-input:focus{outline:2px solid var(--green);outline-offset:2px}.debt-extra-input:disabled{opacity:.5}.snowball-path{margin-bottom:20px}.snowball-list{display:grid;gap:8px;padding:0 23px 16px}.snowball-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:12px}.snowball-list span{color:var(--muted)}@media(max-width:700px){.snowball-list>div{flex-direction:column}}

/* Readable type throughout the dashboard. Tables can scroll on narrow screens. */
body{font-size:16px;line-height:1.5}
button,input,select{font-size:15px}
header p,.empty,.goal-target,.home-total .legend{font-size:15px}
.brand-sub,.nav-label,.eyebrow,.kingdom-overline{font-size:11px}
.household span,.household small,.side-bottom p,.backup,.sidebar-scripture{font-size:13px}
.storage-note,.card .label,.card small,.panel-head p,.business-client-count,.budget-name small,.budget-due,.transaction-sub,.income-received-total,.breakdown-hint,.category-toggle small,.kingdom-banner cite,.kingdom-motto,footer{font-size:12px}
h2,.empty b{font-size:18px}
.small-btn,.row-actions button,.pill,.schedule>summary{font-size:13px}
th{font-size:11px}
td,.category-toggle,.amount-edit,.sub-label,.paid-input,.debt-extra-input,.debt-paid,.snowball-list>div{font-size:14px}
.rail h3,.callout h3{font-size:15px}
.rail p,.callout p,.goal-card p,.explanation,.plan-explainer p,.contribution-note,.insight-row>div:first-child,.legend,.home-goal-picker>b,.home-goal-picker label,.home-goal-picker p,.home-body p{font-size:14px}
#fields label,#fields p{font-size:14px}
.ring-inner small{font-size:11px}
.savings-tabs button,.debt-methods button{font-size:14px}
.kingdom-banner blockquote{font-size:20px}
@media(max-width:700px){
  body{font-size:16px}
  header p,.panel-head p{font-size:13px}
  .header-actions button,.header-actions input,.home-head .primary{font-size:14px}
  .brand-sub,.kingdom-overline{font-size:10px}
  .kingdom-banner blockquote{font-size:17px}
  .kingdom-banner cite,footer{font-size:11px}
  .panel-head h2{font-size:17px}
  td,.category-toggle,.amount-edit,.sub-label,.paid-input,.debt-extra-input{font-size:14px}
  .savings-tabs button{font-size:14px}
  .number{font-size:26px}
  .featured .number{font-size:25px}
}

/* Larger income, budget, business, savings, and debt rows. */
.table-wrap th{font-size:13px;letter-spacing:.7px;padding:16px 20px}
.table-wrap td{font-size:17px;line-height:1.45;padding:20px;vertical-align:middle}
.table-wrap td b,.table-wrap td strong{font-weight:650}
.table-wrap .category-toggle,.table-wrap .amount-edit,.table-wrap .sub-label{font-size:17px}
.table-wrap .row-actions button,.table-wrap .small-btn,.table-wrap .pill{font-size:15px}
.table-wrap .budget-due,.table-wrap .transaction-sub,.table-wrap .income-received-total,.table-wrap .breakdown-hint{font-size:13px}
.table-wrap .paid-input,.table-wrap .debt-extra-input{font-size:16px;min-height:42px}
.table-wrap .paid-check,.table-wrap .debt-paid input{width:24px;height:24px;min-width:24px}
.table-wrap .debt-paid{font-size:16px}
.table-wrap .subcategory-row td{padding-top:16px;padding-bottom:16px}
.panel-head h2{font-size:20px}
.panel-head p{font-size:14px;line-height:1.5}
@media(max-width:700px){
  .table-wrap th{font-size:12px;padding:14px}
  .table-wrap td{font-size:16px;padding:17px 14px}
  .table-wrap .category-toggle,.table-wrap .amount-edit,.table-wrap .sub-label{font-size:16px}
  .table-wrap .row-actions button,.table-wrap .small-btn{font-size:15px}
  .panel-head h2{font-size:18px}
  .panel-head p{font-size:14px}
}

.debt-table-wrap th,.debt-table-wrap td{padding-left:12px;padding-right:12px}
.debt-table-wrap .debt-extra-input{width:100px}
.debt-table-wrap .debt-paid span{font-size:14px}
@media(max-width:700px){.debt-table-wrap th,.debt-table-wrap td{padding-left:10px;padding-right:10px}}

footer{flex-wrap:wrap}.scripture-credit{flex:0 0 100%;font-size:11px;color:#8a908e}
@media(max-width:700px){.scripture-credit{font-size:10px}}

/* Keep income names, received checks, and amounts together. */
.income-plan{max-width:1000px}
.income-table{table-layout:fixed;width:100%}
.income-table th:nth-child(1){width:29%}
.income-table th:nth-child(2){width:17%}
.income-table th:nth-child(3){width:34%}
.income-table th:nth-child(4){width:20%}
.income-heading-short{display:none}
.income-received-check{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.income-received-check span{display:none}
@media(max-width:700px){
  .income-plan .panel-head{flex-wrap:wrap}
  .income-table-wrap{overflow:visible}
  .income-table,.income-table tbody{display:block;width:100%}
  .income-table thead{display:none}
  .income-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 15px;border-top:1px solid var(--line)}
  .income-table td{border:0;padding:0;font-size:16px;min-width:0}
  .income-table td:first-child{grid-column:1;grid-row:1;overflow-wrap:anywhere}
  .income-table td:nth-child(2){grid-column:1;grid-row:2}
  .income-table td:nth-child(3){grid-column:2;grid-row:1;text-align:right;font-size:16px}
  .income-table td:nth-child(4){grid-column:2;grid-row:2;text-align:right;white-space:nowrap}
  .income-table td:empty{display:none}
  .income-table .row-actions button{font-size:14px;padding:2px 5px}
  .income-received-check span{display:inline;font-size:13px;color:var(--muted)}
  .income-table .paid-check{width:22px;height:22px;min-width:22px}
}

/* The monthly plan reads as compact cards on phones, with no sideways table scroll. */
@media(max-width:700px){
  .budget-table-wrap{overflow-x:hidden}
  .budget-table,.budget-table tbody{display:block;width:100%}
  .budget-table thead{display:none}
  .budget-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;row-gap:10px;padding:14px 15px;border-top:1px solid var(--line);min-width:0}
  .budget-table tr.subcategory-row{padding-left:25px;background:#faf7f0}
  .budget-table td,.budget-table .subcategory-row td{display:block;min-width:0;border:0;padding:0;text-align:left;white-space:normal}
  .budget-table td:first-child,.budget-table .subcategory-row td:first-child{grid-column:1;grid-row:1;padding-left:0;overflow-wrap:anywhere}
  .budget-table td:nth-child(6){grid-column:2;grid-row:1;justify-self:end}
  .budget-table td:nth-child(3){grid-column:1;grid-row:2}
  .budget-table td:nth-child(5){grid-column:2;grid-row:2}
  .budget-table td:nth-child(4){grid-column:1;grid-row:3}
  .budget-table td:nth-child(2){grid-column:2;grid-row:3}
  .budget-table td:nth-child(2):empty,.budget-table td:nth-child(6):empty{display:none}
  .budget-table td:nth-child(3)::before,.budget-table td:nth-child(4)::before,.budget-table td:nth-child(5)::before,.budget-table td:nth-child(2):not(:empty)::before{display:block;margin-bottom:3px;color:var(--muted);font-size:12px;line-height:1.25;font-weight:500}
  .budget-table td:nth-child(3)::before{content:'Allocated'}
  .budget-table td:nth-child(4)::before{content:'Paid so far'}
  .budget-table td:nth-child(5)::before{content:'Remaining'}
  .budget-table td:nth-child(2):not(:empty)::before{content:'Paid in full'}
  .budget-table .budget-name{min-width:0}
  .budget-table .category-toggle{width:auto;max-width:100%;font-size:17px;line-height:1.3;gap:7px}
  .budget-table .category-toggle b{overflow-wrap:anywhere}
  .budget-table .category-toggle small{flex:none}
  .budget-table .progress{margin-top:8px}
  .budget-table .amount-edit{font-size:16px;text-align:left;white-space:normal}
  .budget-table .paid-input{width:100%;max-width:150px;min-height:42px;text-align:left;font-size:16px}
  .budget-table .row-actions button{font-size:18px;min-width:32px;min-height:32px}
  .budget-table .sub-label{font-size:16px;overflow-wrap:anywhere}
  .budget-table .budget-due{display:block;margin-top:4px}
  .budget-table .subcategory-add{display:block;padding-top:10px;padding-bottom:10px}
  .budget-table .subcategory-add td{display:block;width:100%}
  .budget-table .subcategory-add .small-btn{text-align:left;white-space:normal}
}

/* Debt and business tables become readable records at phone widths. */
@media(max-width:700px){
  .table-wrap:has(> .mobile-records){overflow-x:hidden}
  .business-client-scroll:has(> .mobile-records){max-height:520px;overflow-y:auto}
  .mobile-records,.mobile-records tbody{display:block;width:100%}
  .mobile-records thead{display:none}
  .mobile-records tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:16px 15px;border-top:1px solid var(--line)}
  .mobile-records td{display:block;min-width:0;border:0;padding:0;text-align:left;white-space:normal;overflow-wrap:anywhere;font-size:16px}
  .mobile-records td:first-child{grid-column:1 / -1;font-size:17px}
  .mobile-records td:first-child b{font-size:18px}
  .mobile-records td.row-actions{grid-column:1 / -1;display:flex;gap:6px;flex-wrap:wrap;padding-top:5px}
  .mobile-records .row-actions button{min-height:34px;padding:6px 8px;font-size:14px;border:1px solid var(--line);border-radius:7px}
  .mobile-records td:not(:first-child):not(.row-actions)::before{display:block;margin-bottom:3px;color:var(--muted);font-size:12px;line-height:1.3;font-weight:500}
  .mobile-records .debt-extra-input{width:100%;max-width:150px;text-align:left}
  .mobile-records .pill{white-space:normal}
  .business-head,.business-client-toolbar,.business-credit-cards+.table-wrap{min-width:0}
  .business-client-toolbar input{min-width:0;width:100%}
  .business-head,.panel-head:has([data-business]){flex-wrap:wrap}
  .debt-records td:nth-child(2){grid-column:1 / -1}
  .debt-records td:nth-child(3)::before{content:'Balance'}
  .debt-records td:nth-child(4)::before{content:'Interest rate'}
  .debt-records td:nth-child(5)::before{content:'Regular / month'}
  .debt-records td:nth-child(6)::before{content:'Extra / month'}
  .debt-records td:nth-child(7)::before{content:'Total / month'}
  .debt-records td:nth-child(8)::before{content:'Est. paid off'}
  .debt-roadmap td:nth-child(2)::before{content:'Payment'}
  .debt-roadmap td:nth-child(3)::before{content:'Interest'}
  .debt-roadmap td:nth-child(4)::before{content:'Debt remaining'}
  .business-scorecard td:nth-child(2)::before{content:'Monthly amount'}
  .business-scorecard td:nth-child(3)::before{content:'% of MRR'}
  .business-scorecard td:nth-child(4)::before{content:'Target %'}
  .business-scorecard td:nth-child(5)::before{content:'Target amount'}
  .business-scorecard td:nth-child(6){grid-column:1 / -1}
  .business-scorecard td:nth-child(6)::before{content:'Compared with target'}
  .business-cash td:nth-child(2)::before{content:'Type / category'}
  .business-cash td:nth-child(3)::before{content:'Amount'}
  .business-clients td:nth-child(2)::before{content:'Monthly revenue'}
  .business-clients td:nth-child(3)::before{content:'First month'}
  .business-clients td:nth-child(4)::before{content:'Last active month'}
  .business-clients td:nth-child(5)::before{content:'Status'}
  .business-recurring td:nth-child(2)::before{content:'Auto type'}
  .business-recurring td:nth-child(3)::before{content:'Monthly cost'}
  .business-recurring td:nth-child(4)::before{content:'First month'}
  .business-recurring td:nth-child(5)::before{content:'Last month'}
  .business-recurring td:nth-child(6)::before{content:'Status'}
  .business-credit td:nth-child(2)::before{content:'Current balance'}
  .business-credit td:nth-child(3)::before{content:'Interest rate'}
  .business-credit td:nth-child(4)::before{content:'Interest added this month'}
  .business-credit td:nth-child(5)::before{content:'Regular / month'}
  .business-credit td:nth-child(6)::before{content:'Extra / month'}
  .business-credit td:nth-child(7)::before{content:'Paid this month'}
  .business-credit td:nth-child(8)::before{content:'Due day'}
  .business-credit td:nth-child(9)::before{content:'Monthly plan'}
  .business-payments td:nth-child(2)::before,.business-interest td:nth-child(2)::before{content:'Card'}
  .business-payments td:nth-child(3)::before{content:'Payment'}
  .business-interest td:nth-child(3)::before{content:'Interest added'}
}
.family-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:-12px 0 20px;padding:12px 16px;background:#f0e7d1;border:1px solid #e5d7b7;border-radius:10px}.family-bar span{color:var(--muted);font-size:13px}.family-bar button{margin-left:auto}.family-setup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:18px 0}.family-setup label{display:grid;gap:6px;font-size:13px}.family-setup input{width:100%}@media(max-width:700px){.family-setup{grid-template-columns:1fr}.family-bar button{margin-left:0}}
.family-settings-body{padding:18px 22px;display:grid;gap:16px}.family-settings-body label{display:grid;gap:6px;min-width:0}.family-settings-body input{width:100%;max-width:540px}.family-settings-body p{font-size:13px;color:var(--muted)}.family-member{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:9px 0;overflow-wrap:anywhere}.family-member span{min-width:0}
.complimentary-badge{background:#e9dcc0;color:#273a4d;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.complimentary-body{padding:20px 22px}.complimentary-body form{display:grid;grid-template-columns:minmax(220px,2fr) minmax(160px,1fr);gap:12px;align-items:end}.complimentary-body label{display:grid;gap:6px;font-size:13px;font-weight:700}.complimentary-body input,.complimentary-body select{width:100%;min-height:42px}.complimentary-body form label:nth-child(3){grid-column:1/-1}.complimentary-body form button{justify-self:start}.complimentary-help{font-size:13px;color:#445365;line-height:1.5}.complimentary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:12px 0}.complimentary-row small{display:block;color:#52606b;overflow-wrap:anywhere;margin-top:4px}
@media(max-width:700px){.complimentary-body form{grid-template-columns:1fr}.complimentary-body form label:nth-child(3){grid-column:auto}.complimentary-body form button{width:100%}.complimentary-row{align-items:flex-start;flex-direction:column}}
.family-signout{display:inline-flex;align-items:center;text-decoration:none;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green);padding:7px 9px;font-size:13px}
.subscription-required{max-width:720px;margin:28px auto;padding:clamp(24px,5vw,42px);border:1px solid #d8caa9;border-radius:20px;background:#fffdf8;box-shadow:0 12px 36px #172c4512;color:#172c45}.subscription-required-label{font-size:11px;font-weight:800;letter-spacing:.14em;color:#97733a}.subscription-required h2{font-family:Georgia,serif;font-size:clamp(25px,4vw,36px);margin:12px 0}.subscription-required p{font-size:15px;line-height:1.6;color:#566577}.subscription-required [data-subscription-detail]{font-weight:650;color:#233d58}.subscription-required-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0}.subscription-required-actions button{min-height:44px}.subscription-required small{color:#697685;line-height:1.5}
.allocation-target-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.allocation-target-fields label{min-width:0}.allocation-target-fields input{width:100%}@media(max-width:520px){.allocation-target-fields{grid-template-columns:1fr}}
#account-gate[hidden]{display:none}
#account-gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:auto;padding:24px;background:#f5f1e8;color:#172c45}
.account-card{width:min(100%,460px);padding:clamp(24px,5vw,44px);border:1px solid #d9d2c3;border-radius:24px;background:#fff;box-shadow:0 16px 50px #172c4520}
.account-card h1{font-size:clamp(1.8rem,5vw,2.4rem);margin:16px 0 4px}
.account-card p{color:#596879;margin:0 0 24px}
.account-mark{font-size:.85rem;font-weight:800;letter-spacing:.13em;color:#a37b35}
.account-card label{display:block;margin:14px 0;font-weight:700}
.account-card input{display:block;width:100%;font:inherit;padding:13px;margin-top:7px;border:1px solid #b5b9b5;border-radius:10px}
.account-card form button{width:100%;min-height:48px;margin:12px 0}
.account-card [role=status]{min-height:1.5em;color:#7e4c23}
.account-links{display:flex;justify-content:space-between;gap:12px;margin-top:10px}
.account-links button{border:0;background:transparent;color:#274a69;text-decoration:underline;cursor:pointer;font:inherit}
.legal-links{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.legal-links a{color:#274a69;text-decoration:underline;text-underline-offset:2px}
main footer .legal-links{flex:0 0 100%;margin-top:8px}
.account-card .account-policy-note{font-size:12px;line-height:1.5;margin:0 0 12px;color:#596879}
.account-legal-links{border-top:1px solid #e6e0d5;padding-top:16px;margin-top:16px;font-size:12px}
.brandmark{padding:0}.brandmark svg{display:block;width:27px;height:30px}
@media(max-width:700px){.brandmark{padding:0}.brandmark svg{width:22px;height:25px}}
.account-mark{display:flex;align-items:center;gap:12px}
.account-brandmark{width:44px;height:47px;display:grid;place-items:center;flex:none;border:1px solid #b79651;border-radius:12px;background:#172c45;color:#dfc386}
.account-brandmark svg{display:block;width:27px;height:30px}

.billing-choice{border:1px solid #ded5c4;border-radius:12px;padding:15px;display:grid;gap:9px;margin:14px 0}.billing-choice legend{font-weight:700;padding:0 5px}.billing-choice label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;cursor:pointer}.billing-choice input{accent-color:#203d5c}.billing-choice strong{color:#7a5b29}.billing-choice small{color:#68727d;line-height:1.5}.getting-started{margin-bottom:18px}.getting-started h2{margin-top:0}.getting-started p{max-width:760px;line-height:1.6}.getting-started a{display:inline-flex;text-decoration:none}

.journey{background:#172d48;color:#fff;border-radius:18px;padding:28px 30px 20px;margin-bottom:24px;box-shadow:0 14px 32px #142b4220}
.journey-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:30px;align-items:center}
.journey-eyebrow,.journey-next>span{color:#d8bc83;font-size:10px;font-weight:700;letter-spacing:.17em}
.journey h2{font:normal clamp(22px,2.4vw,31px)/1.2 Georgia,serif;margin:10px 0 6px;color:#fff}
.journey-date{display:block;font:normal clamp(25px,3.4vw,42px)/1.2 Georgia,serif;color:#efdaaf;margin:14px 0}
.journey p{color:#d0d9df;font-size:13px;line-height:1.6;margin:8px 0}
.journey-next{background:#ffffff12;border:1px solid #ffffff2b;border-radius:12px;padding:19px}
.journey-next h3{font-size:17px;margin:9px 0;color:#fff}
.journey-next .primary{background:#efdaaf;color:#172d48;border-color:#efdaaf;font-weight:700;margin-top:10px}
.journey-footer{border-top:1px solid #ffffff33;margin-top:23px;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.journey-steps{display:flex;gap:8px;flex-wrap:wrap}
.journey-steps button,.journey-invite{background:transparent;border:1px solid #ffffff4d;color:#fff;font-size:12px;padding:8px 10px}
.journey-steps button.complete{border-color:#d8bc83;color:#efdaaf}
.journey-invite{border:0;text-decoration:underline;text-underline-offset:3px}
.journey-allocations{display:flex;gap:16px;flex-wrap:wrap;align-items:center;color:#fff;font-size:12px;margin-top:18px}
.journey-allocations span{background:#ffffff18;border-radius:5px;padding:7px 9px}
.journey-allocations small{color:#b8c5d0;font-size:11px}
.debt-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.journey-quick-actions{display:flex;flex-wrap:wrap;gap:8px}.journey-quick-actions button:first-child{background:transparent;color:#efdaaf;border:1px solid #efdaaf}.insight-debt{padding:24px;margin-bottom:18px;background:#f6f0e3;display:flex;justify-content:space-between;align-items:center;gap:20px}.insight-debt h2{font:normal clamp(23px,3vw,34px)/1.15 Georgia,serif;color:#17314b;margin:8px 0}.insight-debt p{color:#3d4c58;line-height:1.55;margin:0;max-width:65ch}.insight-debt button{flex:none}
@media(max-width:700px){.journey-quick-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.journey-quick-actions button{width:100%;padding:11px 8px}.insight-debt{align-items:stretch;flex-direction:column;padding:18px}.insight-debt button{width:100%;min-height:44px}}
@media(max-width:700px){.journey{padding:22px 18px}.journey-main{grid-template-columns:1fr;gap:18px}.journey-date{font-size:29px}.journey-next{padding:16px}.journey-footer{align-items:flex-start}.journey-invite{padding-left:0}.journey-allocations{gap:8px}}
.journey-milestones{display:flex;gap:12px;align-items:stretch;margin-top:18px;flex-wrap:wrap}.journey-milestones>div{display:grid;gap:5px;flex:1 1 170px;background:#ffffff12;border:1px solid #ffffff28;border-radius:10px;padding:12px}.journey-milestones small{font-size:10px;letter-spacing:.12em;color:#e3c990}.journey-milestones b{font-size:16px}.journey-milestones span{font-size:12px;color:#d0d9df}.journey-milestones button,.journey-quick button{background:#efdaaf;color:#172d48;font-weight:700;border-color:#efdaaf}.journey-quick{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:16px}.journey-quick span{font-size:12px;color:#d0d9df}.journey-quick b{font-size:18px;color:#fff;margin-left:7px}.family-activity{margin-top:20px}.family-activity ul{list-style:none;margin:0;padding:0 20px 16px}.family-activity li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px}.family-activity li:last-child{border:0}.family-activity small,.activity-sync{color:var(--muted);font-size:11px}.activity-empty{padding:0 20px 16px;color:var(--muted)}.mobile-budget-toggle{display:none}
@media(max-width:700px){.journey-quick{align-items:stretch;flex-direction:column}.journey-quick button{width:100%;padding:13px}.budget-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-summary .card:first-child{display:none}.budget-summary .card:nth-child(3){display:none}.budget-summary .card{min-width:0}.mobile-budget-toggle{display:block;width:100%;margin:0 0 14px;padding:12px}.budget-details:not(.open){display:none}.family-activity li{align-items:flex-start;flex-direction:column}}
.debt-advanced{padding:16px 20px}.debt-advanced summary{font-weight:700;cursor:pointer;color:#203c5b;padding:5px}.debt-advanced .panel-head{padding-left:0;padding-right:0}.debt-advanced .plan-explainer{padding-bottom:0}
.mobile-manual-toggle,.mobile-record-line{display:none}
.nav-more{margin-top:12px;border-top:1px solid #ffffff32;padding-top:12px}.nav-more summary{cursor:pointer;color:#d8c6a2;font-size:12px;padding:9px 12px}.nav-more button{display:block;width:100%;text-align:left;background:transparent;border:0;color:#d8e1e3;font-size:13px;padding:10px 12px}.nav-more button.active{background:#31554a;color:#fff}.income-table .row-actions{white-space:normal;min-width:155px}.income-table .row-actions button{margin:2px}.callout+.callout{margin-top:12px}
@media(max-width:700px){aside{padding:12px 16px}.brand{min-height:39px}.nav-label{display:none}nav{margin-top:12px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:6px}nav button{flex:0 0 auto;min-width:106px}.nav-more{margin-top:4px;border:0;padding:0}.nav-more summary{padding:6px 2px}.nav-more button{max-width:190px}.kingdom-banner{padding:13px!important;margin-bottom:14px!important}.kingdom-banner blockquote{font-size:13px!important;line-height:1.4!important}.kingdom-motto{display:none}.journey{padding:17px 15px;margin-bottom:15px}.journey-main{gap:12px}.journey-milestones{gap:6px;margin-top:10px}.journey-milestones>div{flex:1 1 135px;padding:8px}.journey-footer{margin-top:12px;padding-top:12px}.header-actions{flex-direction:row;flex-wrap:wrap}.header-actions button{min-height:42px}.goal-actions{flex-wrap:wrap}.income-table .row-actions{min-width:150px}}
@media(max-width:700px){
  .budget-table tr{row-gap:8px;padding:14px 15px}
  .budget-table tr.budget-empty{align-items:center;padding-top:12px;padding-bottom:12px;row-gap:0}
  .budget-table tr.budget-empty td:nth-child(2),.budget-table tr.budget-empty td:nth-child(3),.budget-table tr.budget-empty td:nth-child(4),.budget-table tr.budget-empty td:nth-child(5){display:none}
  .budget-table tr.budget-empty .row-actions{grid-column:2;grid-row:1}
  .budget-table td:nth-child(2),.budget-table td:nth-child(4){display:none}
  .budget-table tr.manual-open td:nth-child(2):not(:empty),.budget-table tr.manual-open td:nth-child(4){display:block}
  .budget-table .manual-open td:nth-child(4){grid-column:1;grid-row:3}
  .budget-table .manual-open td:nth-child(2){grid-column:2;grid-row:3}
  .budget-table .budget-name{align-self:start}
  .budget-table .row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:normal}
  .budget-table .row-actions button{font-size:13px;min-height:36px;min-width:36px;padding:6px 8px}
  .budget-table .row-actions .mobile-record-line{display:inline-flex;background:#203c5b;color:#fff;border-color:#203c5b;font-weight:650;text-align:center;line-height:1.15}
  .budget-table .mobile-manual-toggle{display:block;background:none;border:0;color:#6a5736;text-decoration:underline;text-underline-offset:2px;font-size:12px;padding:6px 0 0;text-align:left}
  .budget-table .subcategory-row .mobile-manual-toggle{font-size:11px}
  .budget-table .budget-empty .category-toggle{font-size:16px}
  .budget-table .budget-empty .row-actions button{font-size:12px}
  .budget-table .budget-empty .progress{display:none}
}

.row-actions .delete-action{color:var(--red);min-height:44px;min-width:60px}

.account-password-field{position:relative}
.account-password-field input{width:100%;padding-right:78px}
.account-card form .password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:auto;min-width:62px;min-height:44px;margin:0;padding:8px 10px;background:transparent;color:var(--green,#174d3c);border:0;font-weight:700;cursor:pointer}
.account-card form .password-toggle:focus-visible{outline:2px solid currentColor;outline-offset:-2px;border-radius:8px}

.billing-plan-card{padding:20px!important;border:1px solid #dce4da!important;border-radius:18px!important;background:#f8faf6!important;text-align:center}
.billing-plan-card .billing-selector{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 0 20px;font-size:14px;color:#778179}
.billing-plan-card .is-active{color:#184735;font-weight:800}
.billing-switch{position:relative;flex:0 0 58px;width:58px!important;min-width:58px;height:34px;min-height:34px!important;margin:0!important;border:0!important;border-radius:30px!important;background:#c6d2ca!important;padding:4px!important;cursor:pointer;touch-action:manipulation}
.billing-switch span{display:block;width:26px;height:26px;background:white;border-radius:50%;box-shadow:0 2px 5px #0002;transition:transform .2s}
.billing-switch[aria-checked=true]{background:#215943!important}.billing-switch[aria-checked=true] span{transform:translateX(24px)}.billing-switch:focus-visible{outline:3px solid #b39350;outline-offset:4px}
.billing-saving{background:#e5eddf;color:#285438;border-radius:20px;padding:5px 9px;font-size:11px;white-space:nowrap}
.billing-price{display:flex;gap:8px;align-items:baseline;justify-content:center}.billing-price b{font:42px Georgia,serif;color:#173c30}.billing-price span{font-size:13px;color:#657367}.billing-plan-card p{margin:8px 0!important;font-size:13px}.billing-plan-card small{display:block;margin-top:10px;font-size:12px;line-height:1.5;color:#657367}
@media(prefers-reduced-motion:reduce){.billing-switch span{transition:none}}

.issued-plan-label{display:block;font-weight:650;margin:14px 0}.issued-plan-label select{display:block;width:100%;max-width:100%;min-height:48px;margin-top:8px;padding:12px;border:1px solid #ccd5cc;border-radius:10px;background:#fff;color:#173c30;font:inherit}.complimentary-manager [data-plan-detail]{margin-top:12px}

.journey-extra label{display:block;font-size:13px;margin:14px 0 7px}.journey-extra input{width:100%;box-sizing:border-box;min-height:48px;border:1px solid #d8c69e;border-radius:10px;padding:12px 14px;font:inherit;background:#fff;color:#17304b}.journey-extra-result{display:grid;gap:6px;margin:16px 0}.journey-extra-result strong{font:28px Georgia,serif;color:#ffdf9d}.journey-extra-result small,.journey-extra-help{display:block;font-size:12px;line-height:1.5}.journey-extra-help{margin-top:12px;color:#e1e8ef}.journey-extra button:disabled{opacity:.5;cursor:not-allowed}.journey-milestones{grid-template-columns:1fr 1fr!important}@media(max-width:600px){.journey-milestones{grid-template-columns:1fr!important}}

.snowball-dropdown{overflow:hidden}.snowball-dropdown>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;cursor:pointer;list-style:none;font-size:18px;font-weight:700;color:#203d51}.snowball-dropdown>summary::-webkit-details-marker{display:none}.snowball-dropdown>summary small{display:block;font-size:12px;font-weight:400;color:#687780;margin-top:5px}.snowball-chevron{font-size:25px;transition:transform .18s}.snowball-dropdown[open] .snowball-chevron{transform:rotate(180deg)}.snowball-dropdown .snowball-list{max-height:320px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 20px 12px}.snowball-dropdown .snowball-list>div{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:12px}.snowball-dropdown .snowball-list span{white-space:normal}.snowball-dropdown>.explanation{padding:0 24px;margin:0 0 18px}.snowball-dropdown summary:focus-visible,.snowball-dropdown .snowball-list:focus-visible{outline:2px solid #a48442;outline-offset:-3px}@media(max-width:600px){.snowball-dropdown .snowball-list{max-height:280px;padding:0 12px 12px}.snowball-dropdown>summary{padding:18px}.snowball-dropdown .snowball-list>div{display:grid}}

.customers-body{padding:22px}.customers-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:20px}.customers-totals>div{padding:16px;background:#f2f5ef;border-radius:12px}.customers-totals b{display:block;font-size:26px;color:#224c3b}.customers-totals span{font-size:12px}.customers-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.customers-filters label{flex:1;min-width:180px}.customers-filters input,.customers-filters select{display:block;width:100%;min-height:44px;margin-top:7px;padding:10px;border:1px solid #ccd5cc;border-radius:8px;background:white}.customers-table{max-height:440px;overflow:auto;margin:16px 0}.customers-table table{width:100%;border-collapse:collapse}.customers-table td,.customers-table th{text-align:left;padding:12px;border-bottom:1px solid #e0e5df}.customers-table th{position:sticky;top:0;background:#f5f7f2}.customers-table small{display:block;font-size:11px;color:#65736c;margin-top:5px}.customers-body>small{color:#65736c;line-height:1.6}

.page-refresh{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.page-refresh span{font-size:20px}

/* Dashboard review draft: monthly clarity before long-term projections. */
.family-overview{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:24px;padding:24px;margin:0 0 22px;border:1px solid var(--line);border-radius:16px;background:#fff;color:#17304b}.family-overview h2{font-size:clamp(20px,3vw,28px);line-height:1.3;margin:10px 0}.family-overview p{font-size:13px;line-height:1.6;color:#586775;margin:8px 0}.overview-next{border-left:1px solid var(--line);padding-left:24px}.overview-next button{min-height:44px;margin-top:8px}.journey-extra>summary{cursor:pointer;font-weight:700;min-height:44px;display:list-item;list-style-position:inside;line-height:1.5;padding:10px 0}.journey-extra:not([open])>summary{margin:0}.journey-extra[open]>summary{margin-bottom:12px}.family-overview button:focus-visible,.journey-extra>summary:focus-visible{outline:3px solid #a48442;outline-offset:4px}@media(max-width:700px){.family-overview{grid-template-columns:1fr;padding:20px;gap:16px}.overview-next{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.overview-next button{width:100%}}

/* Keep everyday navigation and record actions comfortable on touch screens. */
aside nav button,aside .nav-more>summary{min-height:44px}aside nav button[aria-current=page]{font-weight:700}.modal-actions button{min-height:44px}.modal-head #close{min-width:44px;min-height:44px}

.payoff-explanation-body{padding:20px 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.payoff-explanation-body h3{font-size:14px;margin:0 0 8px}.payoff-explanation-body p{line-height:1.6;margin:8px 0}.payoff-explanation-body small{display:block;color:#586775;line-height:1.6}.payoff-explanation-body>.callout,.payoff-explanation-body>details{grid-column:1/-1}.payoff-explanation-body summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:700}.payoff-explanation-body summary:focus-visible{outline:3px solid #a48442;outline-offset:3px}@media(max-width:700px){.payoff-explanation-body{grid-template-columns:1fr;padding:18px}}

.journey-extra select,.journey-extra input[type=month]{display:block;width:100%;min-height:44px;margin:8px 0 12px;padding:10px;border:1px solid #c7cfc6;border-radius:8px;background:#fff;color:#17304b;font:inherit}.saved-scenarios{padding:16px;margin:16px 0;border:1px solid #9aaab0;border-radius:12px}.saved-scenarios summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:700}.saved-scenarios p{font-size:13px;line-height:1.6}.saved-scenarios>div{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid #9aaab055}.saved-scenarios button{min-height:44px}.saved-scenarios summary:focus-visible{outline:3px solid #a48442;outline-offset:3px}@media(max-width:600px){.saved-scenarios>div{flex-wrap:wrap}}

.family-checkin-body{padding:8px 24px 20px}.family-checkin-body details{border-bottom:1px solid var(--line);padding:8px 0 16px}.family-checkin-body details:last-child{border:0}.family-checkin-body summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:700;font-size:16px}.family-checkin-body p{font-size:14px;line-height:1.65;max-width:75ch}.family-checkin-body small{display:block;color:#586775;line-height:1.6}.family-checkin-body button{min-height:44px}.family-checkin-body summary:focus-visible{outline:3px solid #a48442;outline-offset:3px}@media(max-width:600px){.family-checkin-body{padding:8px 18px 18px}.family-checkin-body button{width:100%}}

/* Income actions should read as controls, not plain table text. */
.income-table .income-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}.income-table .income-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:10px 14px;border:1px solid #aebbb7;border-radius:9px;background:#fff;color:#173b35;font-size:13px;font-weight:650;line-height:1.3;white-space:nowrap;cursor:pointer}.income-table .income-actions .income-record{background:#183f37;border-color:#183f37;color:#fff;box-shadow:0 2px 4px #17304b14}.income-table .income-actions .income-remove{color:#98392e;border-color:#d6aaa4;background:#fff7f5}.income-table .income-actions button:hover:not(:disabled){box-shadow:0 2px 7px #17304b22;filter:brightness(.96)}.income-table .income-actions button:focus-visible{outline:3px solid #a48442;outline-offset:3px}.income-table .income-actions button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}@media(max-width:700px){.income-table td:nth-child(4){white-space:normal}.income-table .income-actions{gap:8px}.income-table .income-actions button{font-size:13px;padding:10px 12px}}

/* Consistent table actions across household and business tools. */
#content .row-actions{white-space:normal}#content .row-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;margin:3px;padding:10px 12px;border:1px solid #aebbb7;border-radius:9px;background:#fff;color:#173b35;font-size:13px;font-weight:650;line-height:1.3;cursor:pointer;vertical-align:middle}#content .row-actions button[data-action^="delete-"],#content .row-actions button[data-business^="delete-"]{color:#98392e;border-color:#d6aaa4;background:#fff7f5}#content .row-actions button[data-action="record-line"],#content .row-actions button[data-action="record-income"],#content .row-actions button[data-business="card-payment-new"]{background:#183f37;border-color:#183f37;color:#fff}#content .row-actions button:hover:not(:disabled){box-shadow:0 2px 7px #17304b22;filter:brightness(.96)}#content .row-actions button:focus-visible{outline:3px solid #a48442;outline-offset:3px}#content .row-actions button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}

/* Phone income cards: names and actions must not compete for one narrow column. */
@media(max-width:700px){
 .income-table tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
 .income-table td:first-child{grid-column:1/-1;grid-row:1;overflow-wrap:break-word}
 .income-table td:nth-child(2){grid-column:1;grid-row:2}
 .income-table td:nth-child(3){grid-column:2;grid-row:2}
 .income-table td:nth-child(4){grid-column:1/-1;grid-row:3;min-width:0;text-align:left}
 .income-table td:nth-child(2)::before{content:'Received';display:block;font-size:11px;color:#586775;margin-bottom:5px}
 .income-table td:nth-child(3)::before{content:'Planned';display:block;font-size:11px;color:#586775;margin-bottom:5px}
 .income-table .income-actions{justify-content:flex-start}
 .income-table tr:last-child td:first-child{grid-column:1;grid-row:1}
 .income-table tr:last-child td:nth-child(3){grid-column:2;grid-row:1}
 .income-table tr:last-child td:nth-child(3)::before{content:none}
}

.stewardship-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:20px 24px}.stewardship-totals h3{font-size:16px;margin:0 0 12px}.stewardship-totals p{line-height:1.6;margin:7px 0}.stewardship-summary>.explanation{padding:0 24px 20px;margin:0}.stewardship-summary .panel-head{flex-wrap:wrap}.stewardship-summary button,.goal-filters button,.goal-actions button{min-height:44px}.goal-filters{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.goal-filters button[aria-pressed=true]{background:#183f37;border-color:#183f37;color:#fff}.goal-actions button{border:1px solid #aebbb7;background:#fff}.goal-actions button[data-action=contribution]{background:#183f37;border-color:#183f37;color:#fff}.goal-actions button[data-action=delete-goal]{color:#98392e;border-color:#d6aaa4;background:#fff7f5}@media(max-width:600px){.stewardship-totals{grid-template-columns:1fr;padding:18px}.stewardship-summary>.explanation{padding:0 18px 18px}.goal-filters button{flex:1 1 120px}}

.planned-bills{margin:20px 0}.planned-bills summary{cursor:pointer;padding:20px;font-weight:700;min-height:44px}.planned-bills summary small{display:block;font-weight:400;margin-top:6px}.planned-bills-body{padding:0 20px 20px}.planned-bills-list{max-height:340px;overflow-y:auto;margin:16px 0}.planned-bill{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line,#ddd)}.planned-bill small{display:block;margin-top:5px}.planned-bill button{min-height:44px}.planned-bill strong,.planned-bill small{overflow-wrap:anywhere}@media(max-width:600px){.planned-bill{grid-template-columns:minmax(0,1fr) auto;gap:12px}.planned-bill button{grid-column:1/-1;width:100%}.planned-bills-body{padding:0 14px 14px}}
.checkin-review-actions{display:flex;flex-wrap:wrap;gap:10px}.checkin-review-actions button{min-height:44px}@media(max-width:600px){.checkin-review-actions button{width:100%}}
.payoff-timeline{margin-bottom:20px}
.recording-receipt{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border:1px solid #8cb9a7;border-left:5px solid #28634c;border-radius:14px;background:#f0f8f3;margin-bottom:20px;color:#193e30}.recording-receipt p{margin:6px 0;overflow-wrap:anywhere}.recording-receipt small{line-height:1.6}.receipt-actions{display:flex;gap:8px;flex-shrink:0}.receipt-actions button{min-height:44px}.correction-help{max-width:340px;text-align:left;white-space:normal;margin-top:10px}.correction-help summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600;text-decoration:underline;text-underline-offset:3px}.correction-help p{font-size:13px;line-height:1.6;color:var(--muted)}tr[id^="transaction-"]:focus{outline:3px solid #28634c;outline-offset:-3px}@media(max-width:600px){.recording-receipt{display:block;padding:16px}.receipt-actions{margin-top:14px;flex-wrap:wrap}.receipt-actions button{flex:1}.correction-help{max-width:100%}}
.strategy-comparison{margin-bottom:20px}.strategy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px}.strategy-card{border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0}.strategy-card.selected{border:2px solid #28634c;background:#f0f8f3}.strategy-card h3{margin:0 0 10px}.strategy-card p{line-height:1.6;color:var(--muted)}.strategy-card dl{margin:0}.strategy-card dl>div{padding:12px 0;border-top:1px solid var(--line)}.strategy-card dt{font-size:12px;color:var(--muted)}.strategy-card dd{margin:5px 0 0;font-size:17px;font-weight:700;overflow-wrap:anywhere}.strategy-comparison>.explanation{padding:0 20px 20px;margin:0}@media(max-width:800px){.strategy-grid{grid-template-columns:1fr}.strategy-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.strategy-comparison .panel-head{flex-wrap:wrap}}
.weekly-checkin{padding:22px 0;border-bottom:1px solid var(--line)}.weekly-checkin h3{font-size:22px;margin:8px 0}.weekly-checkin-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.weekly-checkin-totals>div{padding:16px;border-radius:12px;background:#f0f5f3}.weekly-checkin-totals small,.weekly-checkin-totals strong{display:block}.weekly-checkin-totals strong{font-size:23px;margin-top:8px;overflow-wrap:anywhere}.weekly-checkin ul{padding:0;list-style:none}.weekly-checkin li small{display:block;color:var(--muted);margin-top:6px}.weekly-checkin ul li{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.weekly-checkin ul li span{min-width:0;overflow-wrap:anywhere}.weekly-conversation{padding:16px 18px;border-left:3px solid #a48442;background:#fbf8f1;margin:18px 0 8px}.weekly-conversation h4{margin:0 0 12px}.weekly-conversation ol{padding-left:22px;line-height:1.8}@media(max-width:600px){.weekly-checkin-totals{grid-template-columns:1fr}.weekly-checkin-totals>div{display:flex;align-items:center;justify-content:space-between;gap:15px}.weekly-checkin-totals strong{font-size:20px;margin:0}}
.debt-milestones{margin-bottom:20px}.milestone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:20px}.milestone-grid>div{padding:18px;border:1px solid var(--line);border-radius:12px;background:#f6f8f5}.milestone-grid h3{margin-top:0}.milestone-amount{display:block;font-size:26px;color:#28634c;overflow-wrap:anywhere}.milestone-grid p,.milestone-next-step p{line-height:1.7}.milestone-next-step{padding:0 20px 20px}.milestone-next-step small{display:block;line-height:1.6;color:var(--muted);margin-top:14px}.freed-payment-list{padding:0 20px 20px}.freed-payment-list summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:700}.freed-payment-list ul{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.freed-payment-list li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}@media(max-width:700px){.milestone-grid{grid-template-columns:1fr}.freed-payment-list li{flex-direction:column;gap:6px}.debt-milestones .eyebrow{line-height:1.6}}
/* Keep review actions comfortable to tap on touch screens. */
.strategy-comparison button,.debt-milestones button{min-height:44px;min-width:44px}.strategy-comparison button:focus-visible,.debt-milestones button:focus-visible,.receipt-actions button:focus-visible{outline:3px solid #28634c;outline-offset:3px}
.income-record-context{padding:16px;border:1px solid var(--line);border-radius:12px;background:#f4f7f4;margin-bottom:18px}.income-record-context dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.income-record-context dt{font-size:12px;color:var(--muted)}.income-record-context dd{margin:6px 0 0;font-weight:700;overflow-wrap:anywhere}.income-record-context summary{cursor:pointer;padding:12px 0;min-height:44px;font-weight:700}.income-record-context ul{list-style:none;padding:0;max-height:230px;overflow:auto}.income-record-context li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.income-record-context li span{min-width:0;overflow-wrap:anywhere}.income-record-context small{display:block;margin-top:5px;line-height:1.6}.income-record-context button{min-width:44px;min-height:44px}.income-mark-note{border-left:3px solid #a48442;padding-left:12px;line-height:1.6}@media(max-width:420px){.income-record-context dl{grid-template-columns:1fr}.income-record-context dl>div{display:flex;justify-content:space-between;gap:12px}.income-record-context dd{margin:0}}
.simulator-baseline{margin-top:18px;padding:14px;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:rgba(0,0,0,.12)}.simulator-baseline small,.simulator-baseline strong,.simulator-baseline span{display:block;line-height:1.6}.simulator-baseline strong{font-size:21px;margin:5px 0}.journey-extra-result>[data-extra-summary]{margin-top:12px;line-height:1.7}.journey-extra input,.journey-extra select,.journey-extra>button{min-height:44px}
#fields button{min-height:44px;min-width:44px}.debt-section-summary{padding:20px;cursor:pointer;font-size:18px;font-weight:700;min-height:44px;line-height:1.5}.debt-section-summary small{display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:6px}.debt-section-summary:focus-visible{outline:3px solid #28634c;outline-offset:-3px}

/* Product quality baseline: clear hierarchy, deliberate motion and usable controls. */
:root{--kb-ink:#17304b;--kb-muted:#536577;--kb-paper:#fffefb;--kb-shadow:0 8px 24px #17304b08}
body{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3{text-wrap:balance}.panel-head h2{font-size:19px;line-height:1.35}.panel-head p{font-size:13px;line-height:1.65;color:var(--kb-muted);max-width:70ch}.card{box-shadow:var(--kb-shadow)}.card .number,.strategy-card dd,.milestone-amount,.weekly-checkin-totals strong{font-variant-numeric:tabular-nums}.card .label{font-size:11px;letter-spacing:.08em}.card small{font-size:12px;line-height:1.6}.small-btn{font-size:13px;min-height:44px;line-height:1.4}button,input,select{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}button:disabled{cursor:not-allowed}
.spending-drilldown{display:block;width:100%;text-align:left;padding:14px 12px;margin-top:10px;border:1px solid var(--line);background:#fffefb;border-radius:10px;min-height:64px}.spending-drilldown:hover{border-color:#9daea4;background:#f4f7f2}.spending-drilldown>div:first-child{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.spending-drilldown b{font-variant-numeric:tabular-nums}.toolbar select{min-height:44px;max-width:100%}
#modal{padding:0;max-height:90dvh;max-height:min(90dvh,900px);overflow:hidden}#form{display:flex;flex-direction:column;max-height:inherit;min-height:0}.modal-head{padding:20px 22px;margin:0;border-bottom:1px solid var(--line);flex-shrink:0}.modal-head h2{font-size:20px;line-height:1.4;overflow-wrap:anywhere}#fields{padding:20px 22px;overflow-y:auto;overscroll-behavior:contain;min-height:0}#fields input,#fields select{font-size:16px;min-height:44px}#fields label{font-size:13px;font-weight:600}.modal-actions{padding:16px 22px;margin:0;border-top:1px solid var(--line);background:#fffdf8;flex-shrink:0}.modal-actions .primary{min-width:130px}
@media(max-width:700px){aside nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;overflow:visible;padding:0}aside nav button{grid-column:span 2;min-width:0;min-height:60px;flex:none;flex-direction:column;gap:4px;padding:9px 5px;font-size:18px;white-space:normal;text-align:center}aside nav button:nth-child(4),aside nav button:nth-child(5),aside nav button:nth-child(6){grid-column:span 2}aside nav button span{font-size:12px;line-height:1.3}aside nav button.active{box-shadow:inset 0 -3px #d8b76f}.panel-head{flex-wrap:wrap}.panel-head h2{font-size:18px}.toolbar input,.toolbar select{width:100%}.modal-head,#fields{padding:16px}.modal-actions{padding:14px 16px}.modal-actions button{flex:1}#modal{max-height:92dvh}.card .number{font-size:clamp(22px,6vw,29px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:700px){main>header{flex-direction:column;align-items:stretch;gap:16px}main>header>div:first-child{min-width:0}main>header h1{font-size:28px;line-height:1.2;margin:8px 0}main>header .header-actions{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}main>header .header-actions #month{width:100%;min-height:44px;font-size:14px}main>header .header-actions #add{grid-column:1/-1;width:100%;font-size:14px}main>header .header-actions .page-refresh{font-size:13px}}
@media(max-width:360px){main>header .header-actions .page-refresh{font-size:0;width:44px;padding:8px}main>header .header-actions .page-refresh span{font-size:20px}}
.payment-history-gap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;margin:20px 0;background:#fff7e7;border:1px solid #d8c08b;border-radius:12px}.payment-history-gap h3{margin:0 0 8px;font-size:17px}.payment-history-gap p{margin:0;line-height:1.6;max-width:75ch}.payment-history-gap button{flex-shrink:0;min-height:44px}.budget-table .paid-input,.budget-table .paid-check,.budget-table .manual-paid-notice{display:none}.budget-table .manual-open .paid-input,.budget-table .manual-open .manual-paid-notice{display:block}.budget-table .manual-open .paid-check{display:inline-block}.budget-table .manual-open .paid-value{display:none}.budget-table .mobile-manual-toggle{display:block;background:transparent;border:0;padding:8px 0;text-align:left;font-size:11px;min-height:44px;color:#725b31;text-decoration:underline;text-underline-offset:3px}.budget-table .mobile-record-line{display:inline-flex;align-items:center;justify-content:center;background:#183f37;color:#fff;min-height:44px}.manual-paid-notice{font-size:11px;max-width:180px;line-height:1.5;white-space:normal;margin-top:8px;color:#725b31}.paid-value{font-variant-numeric:tabular-nums}.history-confirm{display:flex!important;align-items:flex-start;gap:10px!important;font-weight:500!important;line-height:1.6}.history-confirm input{min-height:22px!important;min-width:22px;flex-shrink:0;margin:2px 0}@media(max-width:700px){.payment-history-gap{display:block;padding:16px}.payment-history-gap button{width:100%;margin-top:14px}}
/* Income and allocation are primary workspaces, never a shared collapsed area. */
.budget-section-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 22px;padding:0;overflow:visible}.budget-section-nav button{display:block;min-width:0;min-height:80px;padding:17px 20px;text-align:left;background:#fffefb;color:#17304b;border:1px solid #c8b786;border-radius:12px;box-shadow:0 4px 14px #17304b06}.budget-section-nav button:hover{background:#f8f2e6;border-color:#a98d4e}.budget-section-nav span{display:block;font-size:17px;font-weight:700;line-height:1.4}.budget-section-nav small{display:block;font-size:12px;color:#536577;line-height:1.6;margin-top:7px}.budget-workspace .income-plan{max-width:none}.budget-workspace .panel-head .eyebrow{margin-bottom:7px}.budget-workspace .panel-head h2{font-size:22px}.budget-workspace .income-plan,.budget-workspace #monthly-plan{scroll-margin-top:20px}.budget-workspace{display:block}.budget-section-nav button:focus-visible{outline:3px solid #28634c;outline-offset:3px}@media(max-width:700px){.budget-section-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:4px}.budget-section-nav button{padding:14px 12px;min-height:100px}.budget-section-nav span{font-size:15px}.budget-section-nav small{font-size:12px}.budget-workspace .panel-head h2{font-size:21px}}
/* Distinct review cards keep essential budget tools discoverable and independent. */
.budget-review-card{margin:0 0 20px;border:1px solid #cbb989;border-top:3px solid #b49658;border-radius:16px;background:#fffefb;box-shadow:0 7px 24px #17304b08;overflow:hidden}.budget-review-card>summary{display:block;list-style:none;cursor:pointer;padding:23px 24px;color:#17304b}.budget-review-card>summary::-webkit-details-marker{display:none}.budget-review-card>summary:hover{background:#faf7ef}.budget-review-heading{display:flex;gap:14px;align-items:center}.budget-review-heading>div{flex:1;min-width:0}.budget-review-icon{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:12px;background:#f1e7d0;color:#735c2c;font-size:14px;font-weight:700}.budget-review-title{display:block;font-size:24px;font-weight:700;line-height:1.3}.budget-review-subtitle{display:block;margin-top:5px;font-size:13px;color:#536577;line-height:1.6}.budget-review-chevron{font-size:27px;transition:transform .18s ease;color:#8c733b}.budget-review-card[open]>summary .budget-review-chevron{transform:rotate(180deg)}.budget-review-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.budget-review-totals>div+div{border-left:1px solid #e7dfce;padding-left:20px}.budget-review-totals small{display:block;font-size:12px;color:#536577}.budget-review-totals strong{display:block;font-size:27px;margin-top:7px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.budget-review-cue{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:15px;border-top:1px solid #e7dfce}.budget-review-cue>span{color:#183f37;font-weight:700;font-size:14px}.budget-review-cue small{color:#65736f;font-size:12px}.budget-review-card .review-when-open{display:none}.budget-review-card[open] .review-when-open{display:inline}.budget-review-card[open] .review-when-closed{display:none}.budget-review-card[open]>summary{border-bottom:1px solid #e7dfce}.budget-review-body>.income-plan{margin:0;border:0;border-radius:0;box-shadow:none}.budget-review-body>.layout{padding:18px;margin:0}.budget-review-card>summary:focus-visible{outline:3px solid #28634c;outline-offset:-4px}@media(max-width:700px){.budget-review-card>summary{padding:19px 17px}.budget-review-title{font-size:22px}.budget-review-icon{width:36px;height:36px}.budget-review-heading{gap:10px;align-items:flex-start}.budget-review-totals strong{font-size:24px}.budget-review-totals{gap:12px}.budget-review-totals>div+div{padding-left:13px}.budget-review-cue{align-items:flex-start;flex-direction:column;gap:6px}.budget-review-body>.layout{padding:12px}.budget-review-subtitle{font-size:13px}}

.budget-review-icon svg{display:block;width:24px;height:24px}
/* Business workspace: recorded cash first, recurring planning on demand. */
.business-workspace{display:grid;gap:22px}.business-hero{border-radius:24px;padding:30px;background:linear-gradient(125deg,#172c45,#24415b);color:#fff;display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between;box-shadow:0 12px 32px #172c4512}.business-hero h2{color:#fff;font-size:clamp(25px,3vw,36px);margin:8px 0}.business-hero p{color:#d5dfe5;margin:0;line-height:1.6}.business-hero .eyebrow{color:#ebd9ad}.business-hero .small-btn{color:#f2dfb4;border-color:#bfa978;background:transparent;min-height:44px}.business-hero .primary{background:#efdbab;color:#172c45;min-height:44px}.business-actuals{flex-basis:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:23px 0 0;border-top:1px solid #ffffff30}.business-actuals span{display:block;color:#d5dfe5;font-size:14px;margin-bottom:10px}.business-actuals strong{display:block;font-size:clamp(23px,3vw,34px);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.business-actuals>div+div{border-left:1px solid #ffffff30;padding-left:24px}.business-negative{color:#ffd2bf}.business-hero .business-hero-note{font-size:13px;max-width:900px}.business-section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.business-section-heading h2{margin:0 0 6px}.business-section-heading p{margin:0;color:#5d6873;line-height:1.5}.business-plan-cards{margin:0}.business-review{margin:0;border-top:3px solid #b49a5e;overflow:hidden}.business-review>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:22px;min-height:100px}.business-review>summary::-webkit-details-marker{display:none}.business-review>summary strong{display:block;font-size:21px;color:#172c45}.business-review>summary small{display:block;font-size:14px;color:#5d6873;margin-top:6px;line-height:1.5}.business-section-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;background:#f1e7cf;color:#79602d;border-radius:14px;font-size:25px}.business-review-total{margin-left:auto;font-weight:700;color:#203e36;font-variant-numeric:tabular-nums;white-space:nowrap}.business-chevron{color:#8a7443;font-size:24px;transition:transform .18s}.business-review[open]>.business-chevron,.business-review[open]>summary .business-chevron{transform:rotate(180deg)}.business-review-body{border-top:1px solid #e5dfd1;padding:20px}.business-review-body>.panel{border:0;box-shadow:none;margin:0}.business-review-body .business-goals{margin:20px 0}.business-workspace .row-actions button{min-height:44px;padding:9px 12px;border:1px solid #c8cdc9;border-radius:9px;background:#fff;font-weight:600;color:#21463b;margin:3px}.business-workspace .row-actions button[data-business^="delete"]{color:#974538;border-color:#dec8c0;background:#fff9f6}.business-workspace .row-actions button[data-business="card-payment"]{background:#21463b;color:white;border-color:#21463b}.business-filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:4px 22px 10px}.business-filter button{min-height:44px}.business-filter button[aria-pressed="true"]{background:#21463b;color:white;border-color:#21463b}.business-filter span{margin-left:auto;color:#607069;font-size:13px}.business-ledger-note{font-size:13px;line-height:1.5;color:#607069;padding:0 22px}.business-review>summary:hover{background:#faf7ef}.business-review>summary:focus-visible{outline:3px solid #947a42;outline-offset:-4px}.business-ledger{scroll-margin-top:20px}.business-workspace .business-client-scroll{max-height:420px}.business-workspace .business-client-toolbar input{min-height:44px;font-size:16px}.business-workspace .business-goals .number{overflow-wrap:anywhere}
@media(max-width:700px){.business-workspace{gap:16px}.business-hero{padding:22px 18px;border-radius:20px}.business-hero .shared-actions{width:100%;display:grid;grid-template-columns:1fr}.business-actuals{gap:16px;grid-template-columns:1fr 1fr}.business-actuals>div+div{padding-left:0;border:0}.business-actuals>div:last-child{grid-column:1/-1;border-top:1px solid #ffffff30;padding-top:16px}.business-section-heading{align-items:flex-start}.business-section-heading .pill{white-space:nowrap}.business-review>summary{padding:18px 14px;display:grid;grid-template-columns:40px minmax(0,1fr) 20px;gap:12px}.business-section-icon{width:40px;height:40px}.business-review>summary strong{font-size:19px}.business-review-total{grid-column:2;margin:0;white-space:normal;font-size:16px}.business-chevron{grid-column:3;grid-row:1/3}.business-review-body{padding:12px 4px}.business-filter{padding:4px 14px 10px}.business-ledger-note{padding:0 14px}.business-workspace .panel-head{gap:14px}.business-workspace .shared-actions{flex-wrap:wrap}.business-workspace .panel-head .shared-actions button{min-height:44px}.business-plan-cards .number{font-size:24px}.business-workspace .row-actions{white-space:normal}.business-category-table td:nth-child(2)::before{content:'Group'}.business-category-table td:nth-child(3)::before{content:'Recorded expenses'}.business-category-table td:last-child{display:flex;flex-wrap:wrap;gap:4px}.business-plan-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.business-plan-cards .card{min-width:0}.business-review-body .business-credit-cards{grid-template-columns:1fr 1fr}}
/* Saving and investing: confirmed balances and projections stay distinct. */
.savings-workspace{display:grid;gap:24px}.savings-tabs.savings-destinations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:transparent;padding:0;border:0;overflow:visible;margin:0}.savings-destinations button{display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:12px;min-height:84px;padding:16px;background:#fffdf8;border:1px solid #ddd5c2;border-radius:16px;white-space:normal;color:#172c45;transition:background .18s,border-color .18s}.savings-destinations button.active{background:#203f37;color:#fff;border-color:#203f37;box-shadow:0 5px 16px #203f3714}.savings-destinations strong{display:block;font-size:15px}.savings-destinations small{display:block;margin-top:5px;font-size:12px;color:#61716d;line-height:1.4}.savings-destinations .active small{color:#deebe5}.saving-nav-icon{display:grid;place-items:center;flex-shrink:0}.saving-section-content{min-width:0}.saving-hero{padding:30px;border-radius:24px;background:linear-gradient(125deg,#172c45,#25445a);color:#fff;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;margin-bottom:22px;box-shadow:0 12px 30px #172c4512}.saving-hero .eyebrow{color:#ead7aa}.saving-hero h2{color:#fff;font-size:clamp(25px,3vw,35px);max-width:620px;line-height:1.2;margin:12px 0}.saving-hero p{color:#d3dfe4;line-height:1.6;margin:0;max-width:720px}.saving-hero .primary{background:#efdbab;color:#172c45;min-height:46px}.saving-overview{display:grid;grid-template-columns:1fr 1fr;width:100%;border-top:1px solid #ffffff30;padding-top:22px;gap:24px}.saving-overview>div+div{border-left:1px solid #ffffff30;padding-left:24px}.saving-overview span,.saving-overview small{display:block;color:#d3dfe4;font-size:14px}.saving-overview strong{display:block;font-size:clamp(27px,3vw,38px);margin:10px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.saving-hero .saving-hero-note{font-size:13px}.saving-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.saving-goals-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:26px 0 18px}.saving-goals-heading h2{margin:0 0 7px}.saving-goals-heading p{color:#61706c;line-height:1.5;margin:0}.saving-goals-heading .pill{white-space:nowrap}.savings-workspace .goal-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.savings-workspace .goal-filters button{min-height:44px;border-radius:12px;padding:10px 16px;font-weight:650}.saving-goal{border-top:3px solid #ad965e;padding:24px;min-width:0}.saving-goal-heading{display:flex;align-items:flex-start;gap:12px}.saving-goal-icon{width:42px;height:42px;display:grid;place-items:center;background:#f1e7cf;border-radius:13px;color:#7c6534;flex-shrink:0}.saving-goal-heading h3{margin:7px 0 18px;font-size:21px;overflow-wrap:anywhere}.saving-goal-heading .eyebrow{font-size:10px;letter-spacing:1.3px}.saving-goal .number{font-size:32px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.saving-goal>p{color:#61706c;line-height:1.5}.saving-reached{margin-left:auto;background:#e4f0e8;color:#214c39;white-space:normal;text-align:center}.saving-progress-label{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin:20px 0 9px;color:#52675d;flex-wrap:wrap}.saving-progress{height:9px;background:#e8e9df;border-radius:9px;overflow:hidden}.saving-progress>span{height:100%;display:block;background:#315d4e;border-radius:9px}.saving-goal .goal-actions{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 16px}.saving-goal .goal-actions button{min-height:44px;font-weight:650}.saving-goal-plan{border-top:1px solid #e3ddcf;padding-top:4px}.saving-goal-plan>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;color:#23463a;font-weight:650;list-style:none}.saving-goal-plan>summary::-webkit-details-marker,.saving-budget-review>summary::-webkit-details-marker{display:none}.saving-goal-plan .contribution-note{background:#f6f5ef;border-radius:12px;padding:16px;margin-top:8px;font-size:14px;line-height:1.6}.saving-goal-plan .saving-delete{color:#974538;border-color:#dec8c0;background:#fff9f6;min-height:44px}.saving-budget-review{margin-top:26px;border-top:3px solid #ad965e;overflow:hidden}.saving-budget-review>summary{display:flex;align-items:center;gap:16px;padding:22px;min-height:94px;cursor:pointer;list-style:none;color:#172c45}.saving-budget-review>summary strong{display:block;font-size:20px}.saving-budget-review>summary small{display:block;margin-top:6px;color:#61706c;font-size:14px;line-height:1.5}.saving-budget-review>.stewardship-summary{box-shadow:none;border:0;border-top:1px solid #e3ddcf;margin:0}.saving-empty{padding:32px}.saving-empty>svg{display:block;margin:0 auto 18px;color:#7c6534}.saving-empty b{display:block}.savings-workspace .home-head{background:#fffdf8;border:1px solid #ddd5c2;border-top:3px solid #ad965e;border-radius:20px;padding:24px;margin-bottom:22px}.savings-workspace .home-head h2{margin:0 0 8px}.savings-workspace .home-head button,.savings-workspace .home-actions button{min-height:44px}.savings-workspace summary:focus-visible{outline:3px solid #9d8548;outline-offset:-3px}.savings-destinations button:hover:not(.active){background:#f3eddf}.saving-budget-review>summary:hover{background:#faf7ef}
@media(max-width:700px){.savings-tabs.savings-destinations{grid-template-columns:1fr 1fr;gap:8px}.savings-destinations button{padding:13px 10px;min-height:82px;gap:8px}.savings-destinations strong{font-size:14px}.savings-destinations small{font-size:11px}.saving-hero{padding:22px 18px;gap:20px;border-radius:20px}.saving-hero>.primary{width:100%}.saving-overview{gap:14px}.saving-overview>div+div{padding-left:14px}.saving-overview strong{font-size:26px}.saving-overview small{font-size:12px;line-height:1.5}.saving-summary{grid-template-columns:1fr}.saving-summary .card{padding:18px}.saving-summary .number{font-size:26px}.saving-goal{padding:20px 16px}.saving-goal .goal-actions{display:grid;grid-template-columns:1fr;width:100%}.saving-goal .goal-actions button{width:100%}.saving-goal .number{font-size:30px}.saving-goal-heading{flex-wrap:wrap}.saving-reached{margin-left:54px;margin-top:-12px}.saving-budget-review>summary{padding:18px 14px;gap:12px}.saving-budget-review>summary strong{font-size:18px}.saving-budget-review>summary small{font-size:13px}.savings-workspace .home-head{padding:20px 16px;gap:16px}.savings-workspace .home-head .primary{width:100%}.saving-goals-heading{align-items:flex-start}.savings-workspace .goal-grid{grid-template-columns:1fr}}
.saving-section-content .cards{min-width:0}.saving-section-content .cards>.card{min-width:0}.saving-section-content .cards .number{overflow-wrap:anywhere}.savings-workspace .home-grid{min-width:0}.savings-workspace .home-grid>*{min-width:0}
@media(max-width:700px){.saving-section-content .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.saving-section-content .saving-summary{grid-template-columns:1fr}.saving-section-content .cards .number{font-size:24px}.saving-section-content .cards .card{padding:16px 12px}}
/* Site-wide interaction baseline, including dense plan controls. */
#content .amount-edit,#content .category-toggle,#content .debt-methods button{min-height:44px}
#content .amount-edit{border:1px solid #d3d9d0;border-radius:8px;padding:9px 10px;background:#fffdf8;font-weight:650;color:#1e473c;cursor:pointer}
#content .amount-edit:hover{background:#f1f0e6;border-color:#a2b0a5}
#content summary{cursor:pointer}
#content .cards{min-width:0}#content .cards>.card{min-width:0}#content .cards .number{overflow-wrap:anywhere}
#content input:not([type=checkbox]):not([type=radio]),#content select{min-height:44px}
#content button:disabled{cursor:not-allowed}
@media(max-width:700px){#content .cards{grid-template-columns:repeat(2,minmax(0,1fr))}#content .saving-summary{grid-template-columns:1fr}#content .cards .number{font-size:24px}#content input:not([type=checkbox]):not([type=radio]),#content select{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.app-skip{position:fixed;left:12px;top:-100px;z-index:1000;background:#fffdf8;color:#172c45;border:2px solid #9b8143;padding:13px 18px;border-radius:10px;font-weight:700;min-height:44px}.app-skip:focus{top:12px}
summary:focus-visible,textarea:focus-visible{outline:3px solid #a48442;outline-offset:3px}
#content button,#content summary,#modal button{min-height:44px}#modal button{min-width:44px}
/* Budget order: destination, monthly pulse, core tools, attention, activity. */
.budget-month-overview{margin:22px 0;padding:22px 24px;border:1px solid #dcd7c8;border-radius:18px;background:#fffefb;box-shadow:0 6px 20px #172c4505}.budget-month-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.budget-month-heading h2{font-size:20px;margin:0}.budget-month-heading>span{font-size:13px;color:#68756e}.budget-month-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.budget-month-metrics>div+div{border-left:1px solid #e3dfd2;padding-left:22px}.budget-month-metrics small,.budget-month-metrics span{display:block;color:#5e6e6a;line-height:1.5}.budget-month-metrics small{font-size:13px}.budget-month-metrics strong{display:block;font-size:29px;color:#172c45;margin:8px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.budget-month-metrics span{font-size:12px}.budget-month-metrics .budget-over-plan strong{color:#9b4332}.budget-month-overview>p{font-size:12px;color:#69756e;margin:18px 0 0;line-height:1.5}.budget-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.budget-workspace>.budget-review-card{min-width:0;margin-bottom:0}.budget-workspace>.budget-review-card[open]{grid-column:1/-1}.budget-attention{margin:26px 0}.budget-section-heading h2{font-size:22px;margin:0 0 7px}.budget-section-heading>p{color:#61706a;margin:0 0 18px;line-height:1.5}.budget-attention-notice{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #dbcaa5;border-radius:14px;background:#fff9ec;padding:18px 20px;margin:0 0 16px}.budget-attention-notice strong{color:#5e4425}.budget-attention-notice p{font-size:14px;color:#6b6254;line-height:1.5;margin:8px 0 0}.budget-attention-notice button{flex-shrink:0}.budget-attention .payment-history-gap{margin-bottom:16px}.budget-attention .planned-bills{margin-bottom:0}
@media(max-width:900px){.budget-workspace{grid-template-columns:1fr}.budget-month-metrics{gap:14px}.budget-month-metrics>div+div{padding-left:14px}.budget-month-metrics strong{font-size:25px}}
@media(max-width:480px){.budget-month-overview{padding:20px 16px}.budget-month-heading{margin-bottom:18px;align-items:flex-start}.budget-month-heading h2{font-size:18px}.budget-month-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.budget-month-metrics>div:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid #e3dfd2;padding:16px 0 0}.budget-month-metrics strong{font-size:26px}.budget-attention-notice{flex-direction:column;align-items:stretch;padding:18px 16px;gap:14px}.budget-attention-notice button{width:100%}}
/* Keep native mobile month controls aligned with the simulator fields. */
.journey-extra{min-width:0;box-sizing:border-box}
.journey-extra select,.journey-extra input[type=month],.journey-extra input[type=number]{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;height:50px;min-height:50px;margin:8px 0 12px;padding:12px 14px;border:1px solid #d8c69e;border-radius:10px;background:#fff;color:#17304b;font-family:inherit;font-size:16px;line-height:1.4;text-align:left}
.journey-extra input[type=month]{-webkit-appearance:none;appearance:none;overflow:hidden}
.journey-extra input[type=month]::-webkit-date-and-time-value{min-width:0;text-align:left}
.journey-extra input[type=month]::-webkit-datetime-edit{min-width:0;padding:0;text-align:left}
/* Keep the closed review card above either full-width expanded section. */
.budget-workspace>.budget-review-card{order:0}
.budget-workspace>.budget-review-card[open]{order:1;grid-column:1/-1}
.journey-target-help{display:block;color:#e1e8ef;font-size:12px;line-height:1.5;margin:0 0 14px}.saved-scenarios .scenario-target{display:block;font-size:12px;line-height:1.5;margin-top:5px;color:inherit}
/* Desktop simulator uses the full card width instead of a tall side rail. */
@media(min-width:901px){
.journey .journey-main{grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.journey-main>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:center}
.journey-main>div:first-child .journey-eyebrow{grid-column:1;grid-row:1}
.journey-main>div:first-child h2{grid-column:1;grid-row:2;font-size:24px;margin:8px 0}
.journey-main>div:first-child .journey-date{grid-column:2;grid-row:1/4;font-size:38px;margin:0;text-align:right}
.journey-main>div:first-child>p{grid-column:1;grid-row:3;margin:0;font-size:14px}
.journey-extra{padding:16px 20px}
.journey-extra>summary{padding:0;min-height:44px}
.journey-extra[open]>summary{margin-bottom:8px}
.journey-extra>span{font-size:10px}.journey-extra>h3{display:inline-block;margin:0 0 8px 14px;font-size:17px}
.simulator-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px}
.simulator-field{min-width:0}.journey-extra .simulator-field label{margin:7px 0 5px;font-size:13px}
.journey-extra .simulator-field select,.journey-extra .simulator-field input{height:44px;min-height:44px;margin:0;padding:9px 12px;font-size:15px}
.journey-extra .journey-target-help{margin:10px 0 14px;font-size:12px}
.simulator-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.simulator-comparison .simulator-baseline,.simulator-comparison .journey-extra-result{margin:0;padding:14px 16px;border:1px solid #ffffff40;border-radius:10px;background:#00000012;min-width:0}
.simulator-comparison .journey-extra-result{display:flex;flex-direction:column;gap:5px}
.simulator-comparison .simulator-baseline strong,.simulator-comparison .journey-extra-result strong{font-size:27px;line-height:1.3;margin:5px 0}
.simulator-comparison small,.simulator-comparison span{font-size:12px;line-height:1.5}
.simulator-comparison [data-extra-summary]{margin-top:5px;line-height:1.5}
.journey-extra>.primary{margin-top:14px;min-height:44px}
.journey-extra>.journey-extra-help{font-size:12px;margin-top:8px;line-height:1.5}
}
@media(min-width:1200px){.simulator-fields{grid-template-columns:repeat(4,minmax(0,1fr))}}
.simulator-notes{margin-top:12px}.simulator-notes>summary{font-size:13px;color:#e1e8ef;min-height:44px;line-height:1.5;cursor:pointer;padding:10px 0}.simulator-notes small{display:block;font-size:12px;line-height:1.6;color:#e1e8ef;margin-bottom:8px}
@media(min-width:901px){.simulator-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.journey-extra .simulator-field label{min-height:36px;display:flex;align-items:flex-end}.simulator-comparison .simulator-baseline,.simulator-comparison .journey-extra-result{padding:12px 14px}.simulator-notes{margin-top:4px}.simulator-notes>summary{padding:6px 0}.journey-extra>.primary{margin-top:4px}}
.business-commitments{display:grid;gap:7px;flex-basis:100%;padding:15px 18px;border:1px solid #ffffff35;border-radius:12px;background:#ffffff0c}.business-commitments strong{color:#fff;font-size:15px}.business-commitments span,.business-commitments small{color:#d9e3e7;font-size:13px;line-height:1.5}.business-record-receipt{background:#21463b;color:#fff;border-color:#21463b;margin-top:8px;min-height:44px}#content .row-actions button[data-business="recurring-paid"]{background:#21463b;color:#fff;border-color:#21463b}
@media(max-width:700px){.business-clients td:nth-child(6):not(.row-actions)::before{content:'Received this month'}.business-recurring td:nth-child(7):not(.row-actions)::before{content:'Paid this month'}.business-record-receipt{width:100%}.business-commitments{padding:14px}}
.business-savings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:12px 18px}.business-savings-goal{padding:20px;border:1px solid #dfd6bd;border-top:3px solid #af965c;border-radius:14px;background:#fffdf8;min-width:0}.business-savings-goal h3{margin:10px 0;font-size:20px}.business-savings-goal .number{display:block;font-size:28px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.business-savings-goal p{color:#607168;font-size:14px;line-height:1.5}.business-savings-goal .shared-actions{display:flex;flex-wrap:wrap;gap:8px}.business-savings-goal button{min-height:44px}.business-savings-history{padding:10px 20px;max-height:360px;overflow:auto}.business-savings-history>div{display:flex;align-items:center;gap:14px;border-bottom:1px solid #e4ded0;padding:14px 0}.business-savings-history>div>span{flex:1}.business-savings-history small{display:block;color:#647169;margin-top:6px}.business-savings-history b{font-variant-numeric:tabular-nums}
@media(max-width:700px){.business-savings-grid{grid-template-columns:1fr;padding:12px}.business-savings-history>div{flex-wrap:wrap}.business-savings-history>div>span{flex-basis:65%}.business-savings-history button{width:100%}.business-savings-goal .shared-actions{display:grid;grid-template-columns:1fr}.business-savings-goal button{width:100%}}

/* Debt details fit the available width, including laptop sidebars. */
.debt-review-card{min-width:0}.debt-review-card .panel-head{flex-wrap:wrap;gap:12px}.debt-review-card .debt-head-actions{display:flex;gap:8px;flex-wrap:wrap}.debt-review-card .debt-table-wrap{overflow:visible}.debt-review-card .debt-records,.debt-review-card .debt-records tbody{display:block;width:100%;min-width:0}.debt-review-card .debt-records thead{display:none}.debt-review-card .debt-records tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 20px;padding:18px 24px;border-top:1px solid var(--line)}.debt-review-card .debt-records td{display:block;min-width:0;border:0;padding:0;text-align:left;white-space:normal;overflow-wrap:anywhere}.debt-review-card .debt-records td:first-child{grid-column:1/4;align-self:center;font-size:17px}.debt-review-card .debt-records td:nth-child(2){grid-column:4;grid-row:1}.debt-review-card .debt-records td.row-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.debt-review-card .debt-records td:nth-child(n+3):not(.row-actions)::before{display:block;margin-bottom:5px;font-size:12px;color:var(--muted)}.debt-review-card .debt-records td:nth-child(3)::before{content:'Balance'}.debt-review-card .debt-records td:nth-child(4)::before{content:'Interest rate'}.debt-review-card .debt-records td:nth-child(5)::before{content:'Regular / month'}.debt-review-card .debt-records td:nth-child(6)::before{content:'Extra / month'}.debt-review-card .debt-records td:nth-child(7)::before{content:'Total / month'}.debt-review-card .debt-records td:nth-child(8)::before{content:'Est. paid off'}.debt-review-card .debt-extra-input{width:100%;max-width:150px;min-width:0;box-sizing:border-box;min-height:44px;text-align:left}.debt-review-card .row-actions button{min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:8px}.debt-review-card .debt-paid{white-space:normal;flex-wrap:wrap}
@media(max-width:700px){.debt-review-card .debt-records tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.debt-review-card .debt-records td:first-child,.debt-review-card .debt-records td:nth-child(2){grid-column:1/-1;grid-row:auto}.debt-review-card .budget-review-title{font-size:20px}}

.debt-page-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.debt-page-actions button{min-height:44px}.debt-tool-group{margin:28px 0;min-width:0}.debt-group-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.debt-group-heading h2{font-size:23px;margin:0 0 7px}.debt-group-heading p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.debt-group-heading button{flex-shrink:0}.debt-tool-group>.panel{margin-bottom:12px}.payoff-explanation>summary{cursor:pointer;padding:20px 24px;min-height:44px}.payoff-explanation>summary:focus-visible{outline:3px solid #28634c;outline-offset:-4px}@media(max-width:700px){.debt-group-heading{align-items:flex-start;flex-wrap:wrap}.debt-group-heading h2{font-size:21px}.debt-page-actions button{flex:1}.payoff-explanation>summary{padding:18px 16px}}

/* One disclosure indicator for every expandable section. */
body details>summary{position:relative;display:block;list-style:none;box-sizing:border-box;min-height:44px;padding-right:52px!important;cursor:pointer}
body details>summary::-webkit-details-marker{display:none}
body details>summary::marker{content:''}
body details>summary::after{content:'';position:absolute;right:22px;top:50%;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);transform-origin:center;transition:transform .18s ease;pointer-events:none}
body details[open]>summary::after{transform:translateY(-25%) rotate(225deg)}
body details>summary:focus-visible{outline:3px solid #aa8a47;outline-offset:-3px;border-radius:8px}
body .snowball-dropdown>summary,body .business-review>summary,body .saving-goal-plan>summary,body .saving-budget-review>summary{display:flex}
@media(max-width:700px){body details>summary{padding-right:44px!important}body details>summary::after{right:18px}}
@media(prefers-reduced-motion:reduce){body details>summary::after{transition:none}}

@media(max-width:700px){body .business-review>summary{display:grid;grid-template-columns:auto minmax(0,1fr)}}

/* Put dated bills first and make their next action easy to find. */
.budget-attention .planned-bills{margin:0 0 20px;border:1px solid #bdcfc2;border-top:3px solid #315d4e;border-radius:18px;background:#fffefb;box-shadow:0 6px 20px #193d3010;overflow:hidden}.planned-bills>summary{padding:22px 24px;color:#173e34}.bills-review-heading{display:flex;align-items:center;gap:13px}.bills-review-heading>div{min-width:0}.bills-review-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:12px;background:#e8f0e9;color:#315d4e}.bills-review-title{font-size:22px;line-height:1.3}.planned-bills .bills-review-heading small{font-size:13px;line-height:1.6;color:#5c6e65}.bills-review-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin:20px 0 14px}.bills-review-overview>div+div{border-left:1px solid #dce6dd;padding-left:20px}.bills-review-overview strong{font-size:28px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.bills-review-overview small{font-size:12px;color:#5c6e65}.bills-review-status{display:flex;flex-wrap:wrap;gap:8px}.bills-review-status>span,.bill-date-status{display:inline-block;border-radius:7px;background:#edf2ed;color:#3b5c4b;padding:5px 8px;font-size:12px;font-weight:500}.planned-bills[open]>summary{border-bottom:1px solid #dce6dd}.planned-bills-body>p{font-size:13px;line-height:1.6;color:#61706a}.bill-date-status{margin-top:8px}.bill-date-review{background:#fff1da;color:#795623}.planned-bill button{background:#204b3d;color:#fff;border-color:#204b3d}.planned-bills-list{max-height:370px}.planned-bills>summary:hover{background:#f4f8f1}@media(max-width:700px){.planned-bills>summary{padding:18px 16px}.bills-review-title{font-size:20px}.bills-review-heading{align-items:flex-start;gap:10px}.bills-review-overview{gap:14px}.bills-review-overview>div+div{padding-left:14px}.bills-review-overview strong{font-size:25px}}

.stewardship-guide{max-width:1000px;margin:auto}.guide-intro{padding:28px;background:linear-gradient(120deg,#172c45,#254b51);color:#fff;border-radius:20px}.guide-intro h2{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:12px 0}.guide-intro .eyebrow{color:#efdbab}.guide-intro p{color:#e0e9ed;line-height:1.6}.guide-scope{font-size:13px;color:#efdbab;line-height:1.6;border-top:1px solid #ffffff30;padding-top:14px}.guide-search{margin:24px 0}.guide-search label{display:block;font-size:18px;font-weight:650;margin-bottom:10px}.guide-search>div{display:flex;gap:10px}.guide-search input{flex:1;min-width:0;min-height:46px}.guide-search small{display:block;color:#586b62;font-size:13px;line-height:1.6;margin-top:10px}.guide-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.guide-topics button{min-height:64px;display:flex;gap:10px;align-items:center;text-align:left;border:1px solid #d2c8b0;border-radius:12px;background:#fffefa;color:#17304b;padding:14px;font-weight:600}.guide-topics button span{color:#806633;font-size:23px}.guide-topics button[aria-pressed=true]{background:#204b3d;color:#fff;border-color:#204b3d}.guide-topics button[aria-pressed=true] span{color:#efdbab}.guide-answer{padding:26px}.guide-answer h2{font-size:25px;margin:0 0 14px}.guide-answer section{margin:22px 0}.guide-answer h3{font-size:16px;color:#17304b}.guide-answer p,.guide-method p,.guide-welcome p{line-height:1.75;color:#425c51}.guide-references{display:flex;flex-wrap:wrap;gap:10px}.guide-references a{color:#204b3d;text-decoration:underline;font-size:14px;padding:8px 0;min-height:44px}.guide-discussion{padding:16px 20px;background:#f3eedf;border-radius:12px}.guide-followups{border-top:1px solid #ded9cc;margin-top:24px;padding-top:12px}.guide-followups button{margin:4px 8px 4px 0;min-height:44px}.guide-match-note{padding:14px 18px;border-left:3px solid #aa8a47;background:#faf5e9;line-height:1.6}.guide-method summary{padding:18px 20px;font-weight:650}.guide-method p{padding:0 20px;font-size:14px}.guide-welcome{padding:20px 0}.guide-search button{min-height:46px}#guide-result{scroll-margin-top:20px}@media(max-width:700px){.guide-topics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.guide-topics button{font-size:14px;padding:12px}.guide-intro{padding:22px 18px}.guide-intro h2{font-size:26px}.guide-answer{padding:20px 16px}.guide-search>div{flex-direction:column}.guide-search input{width:100%;font-size:16px}aside nav button[data-view=guide]{grid-column:1/-1;flex-basis:100%}}
/* Explicit contrast on the dark Stewardship Guide introduction. */
#content .stewardship-guide .guide-intro h2{color:#ffffff;opacity:1}
#content .stewardship-guide .guide-intro p{color:#e5edf2;opacity:1}
#content .stewardship-guide .guide-intro .eyebrow,#content .stewardship-guide .guide-intro .guide-scope{color:#efdbab;opacity:1}
.guide-library{margin:26px 0}.guide-library>h2{font-size:22px}.guide-library>p{color:#52675d;line-height:1.6}.guide-topic-group{margin:12px 0;overflow:hidden}.guide-topic-group>summary{padding:18px 22px;color:#17304b}.guide-topic-group>summary small{display:block;margin-top:5px;color:#53695f;font-size:13px}.guide-topic-group .guide-topics{padding:0 16px 16px;margin:0}.guide-search-matches{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 20px}.guide-search-matches button{min-height:44px}.guide-library .guide-topics button{min-height:54px}@media(max-width:700px){.guide-topic-group .guide-topics{grid-template-columns:1fr 1fr;padding:0 12px 12px}.guide-library .guide-topics button{overflow-wrap:anywhere}}

/* Stewardship: a reading workspace with a compact subject library. */
.stewardship-guide{max-width:1180px}.guide-intro{padding:26px 30px}.guide-intro h2{max-width:680px}.guide-search{padding:22px 24px;background:#fffefb;border:1px solid #ddd6c6;border-radius:16px;margin:20px 0 26px}.guide-search>div{align-items:stretch}.guide-search input{border-radius:10px}.guide-search small{font-size:12px}.guide-workspace{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(0,2fr);gap:24px;align-items:start}.guide-reading{grid-column:2;grid-row:1;min-width:0}.guide-workspace>.guide-library{grid-column:1;grid-row:1;margin:0}.guide-library>h2{font-size:20px;margin:0 0 8px}.guide-library>p{font-size:13px;margin:0 0 16px}.guide-topic-group{box-shadow:none;border:1px solid #ded8c9;border-radius:12px}.guide-topic-group>summary{padding:16px;font-size:14px}.guide-topic-group .guide-topics{grid-template-columns:1fr;gap:6px;padding:0 10px 12px}.guide-library .guide-topics button{min-height:44px;padding:10px 12px;font-size:13px;border-color:transparent;background:#f7f5ed;border-radius:8px}.guide-library .guide-topics button[aria-pressed=true]{background:#204b3d;color:#fff}.guide-answer{border-top:3px solid #ad945b;border-radius:16px;margin:0}.guide-answer-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.guide-answer-top>span{font-size:12px;font-weight:650;color:#6c5932;letter-spacing:.6px}.guide-answer-top button{min-height:44px}.guide-answer h2{font-size:28px;margin:0 0 22px}.guide-answer h3{font-size:17px;margin:0 0 8px}.guide-answer p{font-size:15px;line-height:1.8;margin:8px 0}.guide-answer small{color:#53695f;font-size:12px;line-height:1.6;display:block}.guide-principle{background:#edf3ed;border-radius:12px;padding:18px 20px;color:#173e34}.guide-step{font-size:12px;letter-spacing:.6px;text-transform:uppercase;font-weight:700}.guide-principle p{color:#173e34;font-size:18px;line-height:1.6}.guide-references{gap:6px 14px}.guide-references a{background:#f5f3ea;padding:10px 12px;border-radius:8px;min-height:44px}.guide-next{border-top:1px solid #ded9cc;padding-top:20px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.guide-next>span{font-weight:650;font-size:15px}.guide-next button{min-height:46px}.guide-method{margin-top:26px}.guide-start>h2{font-size:24px;margin:0 0 8px}.guide-start>p,.guide-results>p{color:#53695f;line-height:1.6}.guide-starters{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.guide-starters button{position:relative;min-height:150px;background:#fffefb;border:1px solid #d8ccb1;border-top:3px solid #ad945b;border-radius:14px;padding:20px;text-align:left;color:#17304b}.guide-starters strong{font-size:17px;line-height:1.5;display:block;margin-bottom:9px}.guide-starters span{font-size:13px;line-height:1.6;color:#53695f;display:block}.guide-starters span:last-child{margin-top:12px;color:#204b3d;font-size:20px}.guide-starters button:hover,.guide-topic-group button:hover{box-shadow:0 4px 14px #17304b12}.guide-search-matches button[aria-pressed=true]{background:#204b3d;color:#fff;border-color:#204b3d}.guide-results{margin-bottom:20px}.guide-results h3{font-size:18px}.guide-results p{font-size:13px}.guide-answer h2,.guide-library h2,#guide-result h3{scroll-margin-top:24px}.guide-answer h2:focus,.guide-library h2:focus{outline:2px solid #ad945b;outline-offset:5px}@media(max-width:850px){.guide-workspace{display:flex;flex-direction:column;gap:24px}.guide-reading,.guide-workspace>.guide-library{width:100%}.guide-topic-group .guide-topics{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-library .guide-topics button{font-size:14px}}@media(max-width:500px){.guide-search{padding:18px 16px}.guide-intro{padding:22px 18px}.guide-starters{grid-template-columns:1fr;gap:10px}.guide-starters button{min-height:0;padding:17px}.guide-starters span:last-child{display:none}.guide-answer h2{font-size:25px}.guide-principle{padding:16px}.guide-principle p{font-size:17px}.guide-answer-top{align-items:flex-start}.guide-next button{width:100%}.guide-search>div{flex-direction:column}.guide-search small{line-height:1.7}}

/* Internal Scripture reader, no third-party page needed. */
.guide-passages{border:1px solid #dcd7c7;border-radius:14px;overflow:hidden;background:#fffdf7}.guide-reader-controls{padding:18px 20px;background:#f4f1e6;border-bottom:1px solid #dfd9c9}.guide-reader-label{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.guide-reader-label span{font-size:12px;color:#5f604d}.guide-reader-controls label{display:block;font-size:12px;color:#53695f;margin:12px 0 6px}.guide-reader-controls select{width:100%;max-width:100%;min-height:46px;font-size:16px;box-sizing:border-box;background:#fffefb;color:#17304b}.guide-reader-page{padding:22px 24px;max-height:420px;overflow-y:auto;overscroll-behavior-y:contain}.guide-reader-title{margin-bottom:18px}.guide-reader-title h4{font-size:21px;margin:0 0 5px;color:#17304b}.guide-reader-title span{font-size:12px;color:#53695f}.guide-answer .guide-verse-text p{font-family:Georgia,serif;font-size:18px;line-height:1.85;color:#243c34;margin:0 0 15px;overflow-wrap:anywhere}.guide-verse-text sup{color:#7b6433;font-size:11px;font-family:system-ui,sans-serif;padding-right:4px}.guide-verse-highlight{background:#f1ead7;border-radius:6px;padding:5px 8px}.guide-reader-footer{padding:16px 20px;border-top:1px solid #dfd9c9}.guide-reader-navigation{display:flex;justify-content:space-between;gap:8px;align-items:center}.guide-reader-navigation button{min-height:44px}.guide-reader-navigation>span{font-size:12px;color:#53695f}.guide-chapter-toggle{margin:12px 0;min-height:44px;width:100%;white-space:normal}.guide-reader-footer small{font-size:12px;line-height:1.6}.guide-reader-navigation button:disabled{opacity:.45;cursor:default}@media(max-width:500px){.guide-reader-controls,.guide-reader-footer{padding:16px 14px}.guide-reader-page{padding:18px 16px;max-height:390px}.guide-answer .guide-verse-text p{font-size:18px}.guide-reader-navigation button{padding:9px 12px}}

.guided-setup {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  padding: 1rem 1.25rem;
  margin: 0.75rem 0;
}
.guided-setup h2 { margin: 0; font-size: 1.125rem; }
.guided-setup p { margin: 0.3rem 0 0; }
.guided-setup-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.guided-form-help { padding: 0.75rem; background: #f4f0e6; color: #172c45; border-radius: 0.5rem; }

.guided-progress { flex: 1 0 100%; min-width: 0; }
.guided-progress progress { display: block; width: 100%; height: 0.45rem; accent-color: #896b32; }
.guided-step-list { margin-top: 0.75rem; }
.guided-step-list summary { padding-block: 0.65rem; cursor: pointer; }
.guided-step-list ol { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,13rem),1fr)); gap: 0.5rem; }
.guided-step-list button { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.35rem; width: 100%; min-height: 44px; padding: 0.65rem; text-align: left; border: 1px solid #d7d4cd; border-radius: 0.5rem; background: #fff; color: #172c45; cursor: pointer; }
.guided-step-list button[aria-current="step"] { border-color: #896b32; background: #f4f0e6; }
.guided-step-list small { color: #4a5666; }
.guided-setup .guided-feedback { flex-basis: 100%; color: #22533e; font-weight: 600; }
.guided-setup-actions button { min-height: 44px; }

dialog.guided-welcome {
  width: min(28rem, calc(100% - 2rem));
  padding: 1.5rem;
  border: 1px solid #d7c8a4;
  border-radius: 1rem;
  background: #fffdf8;
  color: #172c45;
  box-shadow: 0 1rem 3rem #172c4533;
}
.guided-welcome::backdrop { background: #172c4566; }
.guided-welcome h2 { margin: 0 0 0.65rem; }
.guided-welcome p { margin: 0 0 1.15rem; }

html[data-budget-theme] {
  --green: var(--appearance-base);
  --lime: var(--appearance-accent);
}
[data-budget-theme] body > aside,
[data-budget-theme] .card.featured {
  background: linear-gradient(155deg,var(--appearance-base),color-mix(in srgb,var(--appearance-base) 78%,black));
}
[data-budget-theme] .primary {
  background: var(--appearance-base);
  color: white;
  border-color: var(--appearance-base);
}
[data-budget-theme] aside nav button.active {
  color: white;
  box-shadow: inset 3px 0 var(--appearance-accent);
}
[data-budget-theme] .brandmark,
[data-budget-theme] .brand-sub {
  color: color-mix(in srgb,var(--appearance-accent) 40%,white);
}
[data-budget-theme] button:focus-visible,
[data-budget-theme] input:focus-visible,
[data-budget-theme] select:focus-visible { outline-color: var(--appearance-focus); }

dialog.appearance-dialog {
  width: min(30rem,calc(100% - 2rem));
  padding: 1.5rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: #fffdf8;
  color: var(--ink);
}
.appearance-dialog::backdrop { background: #172c4566; }
.appearance-dialog form { display: grid; gap: 0.85rem; }
.appearance-dialog p { margin: 0; }
.appearance-dialog label { display: grid; gap: 0.4rem; }
.appearance-dialog .appearance-toggle { display: flex; align-items: center; }
.appearance-dialog input[type="color"] { width: 5rem; height: 44px; padding: 4px; }
.appearance-preview { display: flex; justify-content: space-between; padding: 0.75rem; border-radius: 0.5rem; background: var(--appearance-base); color: white; }
.appearance-preview [aria-hidden] { color: var(--appearance-accent); }

.daily-stewardship { padding: clamp(1rem,3vw,1.5rem); border-top: 3px solid var(--gold); }
.daily-stewardship h2 { font: 1.45rem Georgia,serif; }
.daily-stewardship p { line-height: 1.5; }
.daily-choices { display: grid; gap: .5rem; margin-bottom: .65rem; }
.daily-choices button { text-align: left; }
.daily-stewardship button { min-height: 44px; max-width: 100%; margin-block: .15rem; }

dialog.daily-popup {
  width: min(34rem, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
  padding: clamp(1rem, 4vw, 1.5rem);
  overflow: auto;
  background: #fffdf8;
  color: var(--ink);
  border: 1px solid var(--line);
  border-top: 3px solid var(--gold);
  border-radius: 1rem;
  box-shadow: 0 1rem 3rem #172c4533;
}
.daily-popup::backdrop { background: #172c4566; }
.daily-popup-header { display: flex; align-items: center; justify-content: space-between; gap: .65rem; }
.daily-popup-header h2 { margin: 0; }
.daily-popup [data-quiz="hide"] { margin-inline-end: .4rem; }
@media (prefers-reduced-motion: no-preference) {
  .daily-popup[open] { animation: daily-popup-in .18s ease-out; }
  @keyframes daily-popup-in { from { transform: translateY(8px); opacity: .75; } }
}

.journey.journey-dashboard { padding: clamp(1.15rem, 3.4vw, 2.5rem); }
.journey-dashboard .journey-main {
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: .8rem 1.5rem;
}
.journey-dashboard .journey-main > div:first-child {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.journey-dashboard .journey-main > div:first-child h2 {
  font: 600 clamp(1.1rem, 2.2vw, 1.6rem)/1.25 system-ui,sans-serif;
}
.journey-dashboard .journey-main > div:first-child .journey-date {
  font-size: clamp(1.8rem, 5vw, 4.5rem);
  line-height: 1.12;
  margin: .25rem 0 .45rem;
  text-align: left;
  overflow-wrap: anywhere;
}
.journey-dashboard .journey-payment-cta {
  min-height: 44px;
  border-color: #e1c381;
  background: #ead8ad;
  color: #172c45;
  font-weight: 700;
}
.journey-dashboard .journey-extra { grid-column: 1/-1; }
.journey-dashboard .journey-extra:not([open]) { padding-block: .25rem; }
.journey-dashboard .journey-extra > summary { padding-block: .5rem; }
.budget-dashboard-cards > details:not([open]) .budget-review-cue { display: none; }
.budget-dashboard-cards > details:not([open]) .budget-review-subtitle { display: none; }
.budget-month-overview { background: #f8f0df; }
.budget-month-metrics strong { font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .journey-dashboard .journey-main { grid-template-columns: minmax(0,1fr); }
  .journey-dashboard .journey-payment-cta { width: 100%; }
}

.mobile-budget-menu { display: none; }
@media (max-width: 700px) {
  body > aside { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .45rem .65rem; }
  .mobile-budget-menu { display: block; min-height: 44px; background: transparent; color: white; border-color: #ffffff55; }
  #budget-navigation { grid-column: 1/-1; margin: 0; padding: 0; overflow: visible; grid-template-columns: repeat(auto-fit,minmax(min(100%,9rem),1fr)); }
  #budget-navigation button { min-height: 44px; }
  .mobile-budget-menu[aria-expanded="false"] + #budget-navigation { display: none; }
}

.journey-dashboard .journey-eyebrow { display: none; }
.journey-dashboard .journey-extra:not([open]) {
  background: transparent;
  border-color: #ffffff30;
}
.journey-dashboard .journey-extra > summary { min-height: 44px; font-size: .9rem; }
.journey-dashboard .journey-main > div:first-child .journey-date {
  font-size: clamp(2.25rem, 7vw, 4.5rem);
}
.budget-month-overview .budget-month-heading { margin-bottom: .7rem; }
@media (max-width: 700px) {
  .journey.journey-dashboard { padding: 1rem; }
  .journey-dashboard .journey-main > div:first-child h2 { margin: 0; }
  .journey-dashboard .journey-main { gap: .55rem; }
  .budget-month-overview { margin-block: .75rem; padding: .8rem; }
  .budget-month-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .4rem; }
  .budget-month-metrics > div + div { border-left: 1px solid var(--line); padding-left: .4rem; }
  .budget-month-metrics strong { font-size: clamp(.85rem,3.5vw,1.2rem); }
}

.journey-dashboard .journey-payoff-link {
  min-height: 44px;
  padding: .4rem 0;
  border: 0;
  background: transparent;
  color: #f1deb2;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: .22em;
}
.journey-dashboard .journey-payoff-link:hover { color: white; }
