:root{--ink:#18332e;--muted:#6f7d77;--paper:#f6f3eb;--card:#fffdfa;--line:#d9dfda;--teal:#285f59;--teal2:#377b72;--sage:#dfe9df;--gold:#c5a45a;--sand:#eadbc5;--warn:#936a2d;--danger:#9d453c}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--paper)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(#f9f7f1,#f3f0e7);min-height:100vh}button,input,textarea{font:inherit}.hidden{display:none!important}.topbar{height:68px;display:flex;align-items:center;gap:10px;max-width:760px;margin:auto;padding:10px 18px}.topbar strong{display:block;font-size:15px}.topbar small{display:block;color:var(--muted);font-size:11px}.brand-mark{width:42px;height:42px;border-radius:14px;background:var(--teal);display:grid;place-items:center;color:#f7edd2;font-size:24px;font-family:Georgia,serif}.link-btn{margin-left:auto;border:0;background:transparent;color:var(--teal);font-weight:700;min-height:44px}.auth-wrap,.app-view{max-width:760px;margin:auto;padding:10px 16px 110px}.hero-card,.auth-card,.budget-section,.principle-card{background:var(--card);border:1px solid var(--line);border-radius:24px}.hero-card{overflow:hidden;padding:0 22px 24px}.hero-art{height:150px;position:relative;overflow:hidden;margin:0 -22px 22px;background:linear-gradient(#dbe7e3,#f4dfb5)}.sun{width:58px;height:58px;border-radius:50%;background:#f1d58a;position:absolute;right:42px;top:26px}.mountain{position:absolute;bottom:-10px;width:280px;height:120px;background:#8da29a;clip-path:polygon(0 100%,45% 10%,100% 100%)}.m1{left:-35px}.m2{right:-70px;background:#667f77}.path{position:absolute;left:46%;bottom:-15px;width:62px;height:120px;background:#ead7b3;transform:perspective(120px) rotateX(18deg) skewX(-8deg);border-radius:50% 50% 0 0}.cross{position:absolute;left:50%;bottom:42px;transform:translateX(-50%);font-family:Georgia,serif;font-size:50px;color:#354c47;text-shadow:0 1px 0 #fff8}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:800;color:var(--teal2)}h1{font-size:clamp(25px,7vw,38px);line-height:1.08;margin:8px 0 12px}h2{font-size:18px;margin:0}.hero-card p{line-height:1.55}.auth-card{margin-top:14px;padding:18px}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#eef1ed;border-radius:14px;padding:4px;margin-bottom:18px}.segmented button{min-height:44px;border:0;background:transparent;border-radius:11px;color:var(--muted);font-weight:700}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 1px 4px #0001}label{display:block;font-size:13px;font-weight:700;margin:12px 0}input,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px 14px;font-size:16px;color:var(--ink);outline:none}input:focus,textarea:focus{border-color:var(--teal2);box-shadow:0 0 0 3px #377b7220}.primary,.secondary,.icon-btn{border:0;min-height:48px;border-radius:15px;font-weight:800}.primary{background:var(--teal);color:white;padding:0 18px}.primary:active{background:#214f4a}.secondary{background:#edf2ef;color:var(--ink);padding:0 16px}.wide{width:100%;margin-top:8px}.form-msg{min-height:20px;font-size:13px;color:var(--danger)}.month-row{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;margin:4px 0 14px;text-align:center}.month-row h1{font-size:24px;margin:3px 0}.icon-btn{background:#fff;border:1px solid var(--line);font-size:30px;color:var(--teal)}.summary-card{background:var(--teal);color:white;border-radius:26px;padding:20px;margin-bottom:14px}.summary-card span{font-size:13px;opacity:.85}.summary-card strong{display:block;font-size:38px;margin:5px 0}.summary-card p{margin:0;opacity:.9;font-size:13px}.principle-card{display:grid;grid-template-columns:46px 1fr;gap:12px;padding:16px;margin-bottom:14px;background:linear-gradient(135deg,#fffdfa,#f3ecdc)}.principle-icon{width:46px;height:46px;border-radius:15px;background:#eee0bb;display:grid;place-items:center;font-size:22px}.principle-card h2{margin:3px 0 5px}.principle-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.budget-section{padding:16px;margin:12px 0}.budget-section.giving{background:linear-gradient(#fffdfa,#fbf5e8)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-head>div{display:flex;align-items:center;gap:9px}.step{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--sage);font-size:13px;font-weight:900}.amount{font-weight:900}.helper{font-size:12px;color:var(--muted);line-height:1.4;margin:0 0 10px}.money-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;margin:0;border-top:1px solid #edf0ed}.money-row:first-of-type{border-top:0}.money-row>span:first-child{font-size:14px}.money-input{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:12px;background:#fff;padding-left:10px;min-width:120px;max-width:145px}.money-input input{border:0;padding:10px 8px;box-shadow:none;text-align:right;font-weight:800}.commitment textarea{margin-top:6px;resize:vertical}.sticky-actions{position:sticky;bottom:8px;background:#fffefbf2;backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:20px;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px;box-shadow:0 8px 30px #1a332d18}.sticky-actions span{grid-column:1/-1;text-align:center;font-size:11px;color:var(--muted)}.print-only{display:none}@media(max-width:460px){.money-row{align-items:center}.money-row>span:first-child{max-width:52%}.money-input{min-width:112px}.sticky-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;padding:8px}.sticky-actions span{grid-column:1/-1}.sticky-actions button{min-width:0;padding-left:9px;padding-right:9px;font-size:13px}.hero-art{height:130px}}@media print{body{background:#fff;color:#111}.no-print,#budgetForm,.summary-card,.principle-card,.month-row{display:none!important}.app-view{max-width:none;padding:0}.print-only{display:block}.print-report h1{font-size:24px}.print-report table{width:100%;border-collapse:collapse;margin:22px 0}.print-report td{padding:9px;border-bottom:1px solid #ccc}.print-report td:last-child{text-align:right}.print-balance{display:flex;justify-content:space-between;border-top:2px solid #111;padding:12px 8px;font-size:18px}.print-principle{margin-top:24px;padding:14px;border:1px solid #bbb;border-radius:8px}}

/* v0.2.0 AI Financial Coach */
.ai-card{background:linear-gradient(180deg,#f4f8f6 0%,#ffffff 100%);border:1px solid #cfe0db;border-radius:24px;padding:20px;margin:18px 0}
.ai-card-head{display:flex;align-items:center;gap:12px}.ai-card-head h2{margin:2px 0 0}.ai-spark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#285f59;color:#fff;font-size:22px;flex:0 0 auto}
.ai-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.ai-actions button{min-height:46px}
.ai-result{margin-top:18px;padding-top:18px;border-top:1px solid #d9e5e1}.ai-result-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ai-result-title h3{margin:0;font-size:1.15rem}.ai-badge{font-size:.75rem;font-weight:700;letter-spacing:.02em;padding:5px 9px;border-radius:999px;background:#e7f1ed;color:#285f59}
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}.ai-grid h4{margin:0 0 7px}.ai-grid ul{margin:0;padding-left:20px}.ai-grid li{margin:0 0 7px;line-height:1.4}.ai-principle{margin-top:14px;padding:12px 14px;border-radius:14px;background:#f7f2e7}.ai-disclaimer{font-size:.78rem;color:#66736f;margin:12px 0 0}.ai-loading{opacity:.65;pointer-events:none}
@media(max-width:620px){.ai-grid{grid-template-columns:1fr}.ai-actions{display:grid;grid-template-columns:1fr}.ai-actions button{width:100%}}

/* v0.3.0 Visual Branding */
.topbar-icon{width:44px;height:44px;border-radius:14px;object-fit:cover;display:block;border:1px solid #dfe7e2;background:#fff}
.hero-photo-card{padding:0;overflow:hidden}
.hero-photo{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;background:#e7e2d4}
.hero-copy{padding:20px 22px 24px}
.hero-copy p:last-child{margin-bottom:0}
.site-footer{max-width:760px;margin:0 auto;padding:18px 16px 32px;text-align:center;color:var(--muted)}
.footer-brand{display:inline-flex;align-items:center;justify-content:center;gap:12px;color:var(--teal);text-decoration:none;min-height:52px;padding:8px 12px;border-radius:16px}
.footer-brand:hover,.footer-brand:focus-visible{background:#edf2ef;outline:none}
.footer-brand img{width:76px;height:76px;object-fit:contain;border-radius:12px;background:#fff}
.footer-brand span{font-size:14px;text-align:left}
.site-footer small{display:block;margin-top:4px;font-size:11px}
.print-site{text-align:center;margin-top:28px;color:#555;font-size:11px}
@media(max-width:460px){.hero-photo{aspect-ratio:16/9}.hero-copy{padding:18px}.footer-brand img{width:64px;height:64px}}

/* v0.4.0 Premium UI & Reliable Local Save */
:root{--midnight:#102d35;--midnight2:#173e47;--emerald:#2d7766;--emerald2:#3c8e78;--ivory:#fbf8ef;--ivory2:#f1eadc;--champagne:#e8c983;--copper:#b8794c;--soft-shadow:0 18px 50px rgba(16,45,53,.10);--lift-shadow:0 10px 28px rgba(16,45,53,.09)}
html{background:var(--ivory)}
body{background:radial-gradient(circle at 85% 0%,rgba(232,201,131,.20),transparent 30%),linear-gradient(180deg,#fbf9f2 0%,#f4efe4 65%,#efe7d8 100%)}
.topbar{height:76px;padding:12px 16px}.brand-lockup{display:flex;align-items:center;gap:11px;min-width:0}.brand-lockup>div{min-width:0}.topbar strong{font-size:16px;letter-spacing:-.01em}.topbar small{font-size:10px;letter-spacing:.055em;text-transform:uppercase}.topbar-icon{box-shadow:0 6px 18px #102d3520;border-color:#d4dfd8}.link-btn{color:var(--midnight);border-radius:14px;padding:0 12px}.link-btn:hover{background:#ffffffaa}
.auth-wrap,.app-view{max-width:780px}.hero-photo-card,.auth-card,.budget-section,.principle-card,.ai-card{box-shadow:var(--lift-shadow)}.hero-photo-card{border-color:#d7d8cf}.hero-copy{background:linear-gradient(180deg,#fffdf9 0%,#fbf7ee 100%)}.hero-copy h1{color:var(--midnight);letter-spacing:-.035em}.eyebrow{color:var(--emerald);letter-spacing:.12em}
.primary{background:linear-gradient(135deg,var(--midnight2),var(--emerald));box-shadow:0 8px 18px #173e4728;transition:transform .15s ease,box-shadow .15s ease}.primary:hover{box-shadow:0 10px 24px #173e4738}.primary:active{transform:translateY(1px);background:linear-gradient(135deg,#0f2b32,#286f60)}.secondary{background:#f1f4ef;border:1px solid #dbe3dd}.secondary:hover{background:#e8efea}.icon-btn{box-shadow:0 5px 15px #102d3510;color:var(--midnight)}
.premium-summary{position:relative;overflow:hidden;background:linear-gradient(135deg,#102d35 0%,#17434a 55%,#2d7766 130%);box-shadow:0 20px 48px rgba(16,45,53,.24);border:1px solid rgba(255,255,255,.08);padding:22px}.premium-summary:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;top:-135px;background:radial-gradient(circle,rgba(232,201,131,.35),rgba(232,201,131,0) 70%)}.summary-top{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px}.summary-top>span:first-child{font-size:13px}.sync-badge{font-size:10px!important;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:6px 9px;border-radius:999px;white-space:nowrap;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}.sync-badge.synced{background:rgba(109,209,163,.18);color:#dcffed}.sync-badge.offline{background:rgba(232,201,131,.18);color:#ffedbf}.premium-summary strong{position:relative;font-size:44px;letter-spacing:-.04em}.summary-meter{height:8px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden;margin:18px 0 14px}.summary-meter span{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#e8c983,#f5e2ad);transition:width .25s ease}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:2px}.summary-stats div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px}.summary-stats small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;opacity:.72}.summary-stats b{display:block;font-size:14px;margin-top:3px}
.premium-principle{position:relative;overflow:hidden;grid-template-columns:50px 1fr;background:linear-gradient(135deg,#fffdf9 0%,#f7efd9 100%);border-color:#e5d8b8;box-shadow:0 10px 28px rgba(109,82,37,.08)}.premium-principle:after{content:"";position:absolute;inset:auto -50px -70px auto;width:160px;height:160px;border-radius:50%;background:rgba(232,201,131,.15)}.principle-glow{width:50px;height:50px;border-radius:16px;background:linear-gradient(135deg,#e8c983,#c99c4c);display:grid;place-items:center;color:#fff;font-size:21px;box-shadow:0 8px 22px rgba(184,121,76,.18)}
.budget-section{border-color:#d9ddd7;background:rgba(255,253,249,.95)}.budget-section.giving{background:linear-gradient(135deg,#fffdf9,#fbf2dc);border-color:#e7d9b7}.step{background:linear-gradient(135deg,#e4efe8,#d4e7dc);color:var(--midnight)}.money-input{background:#fffdfa;border-color:#d8ded9}.money-input:focus-within{border-color:#6ba18f;box-shadow:0 0 0 3px #3c8e7817}.money-row{border-color:#eceee9}.commitment textarea{background:#fffdfa}
.ai-card{background:linear-gradient(135deg,#f5faf7 0%,#fffefa 100%);border-color:#cbded6;box-shadow:var(--lift-shadow)}.ai-spark{background:linear-gradient(135deg,var(--midnight2),var(--emerald2));box-shadow:0 8px 20px #173e4724}.ai-badge{background:#e2efe9;color:#1f6657}
.sticky-actions{border-color:#d9ddd6;box-shadow:0 18px 42px rgba(16,45,53,.17);background:rgba(255,253,248,.93);bottom:10px}.sticky-actions>span{display:flex;align-items:center;justify-content:center;gap:7px}.save-dot{width:8px;height:8px;border-radius:50%;background:#d4ad5d;box-shadow:0 0 0 4px #d4ad5d20}.state-synced .save-dot{background:#3c9a76;box-shadow:0 0 0 4px #3c9a7620}.state-offline .save-dot{background:#c38d43;box-shadow:0 0 0 4px #c38d4320}.state-saving .save-dot{background:#6d8790;animation:np-pulse 1s infinite}@keyframes np-pulse{50%{opacity:.35}}
.site-footer{padding-top:24px}.footer-brand{border:1px solid transparent}.footer-brand:hover,.footer-brand:focus-visible{background:#fffaf0;border-color:#e6dfd1}.footer-brand img{box-shadow:0 6px 18px #102d3514}
@media(max-width:460px){.premium-summary{padding:19px}.premium-summary strong{font-size:40px}.summary-stats{gap:6px}.summary-stats div{padding:9px 8px}.summary-stats b{font-size:13px}.summary-top{align-items:flex-start;flex-direction:column;gap:8px}.sync-badge{align-self:flex-start}.topbar small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.primary,.summary-meter span{transition:none!important}.state-saving .save-dot{animation:none!important}}

/* v0.5.0 Personalized Budget Setup */
.budget-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 16px;padding:14px 16px;border:1px solid #d9ddd6;border-radius:18px;background:rgba(255,253,248,.78);box-shadow:0 8px 22px rgba(16,45,53,.06)}
.budget-tools>div{min-width:0}.budget-tools strong{display:block;color:var(--midnight);font-size:14px}.budget-tools small{display:block;color:var(--muted);margin-top:3px;line-height:1.35}.customize-btn{flex:0 0 auto;white-space:nowrap}
.custom-expenses{background:linear-gradient(180deg,#fffefa,#fbf8f0)}.custom-items{display:grid;gap:10px;margin-top:12px}.custom-empty{padding:18px;border:1px dashed #d7ddd7;border-radius:14px;text-align:center;color:var(--muted);font-size:13px;background:#fffdfa}.add-expense-btn{margin-top:12px;width:100%}
.custom-item-card{border:1px solid #dde2dc;border-radius:16px;padding:12px;background:#fff;box-shadow:0 5px 14px rgba(16,45,53,.04)}.custom-item-main{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:10px}.custom-item-card label>span:first-child{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px}.custom-name input{width:100%;min-height:44px}.custom-amount .money-input{max-width:none;width:100%}.custom-item-meta{display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;align-items:center;margin-top:9px}.custom-item-meta select{min-height:40px;padding:8px 10px;font-size:13px}.monthly-equivalent{font-size:11px;color:var(--emerald);font-weight:700;white-space:nowrap}.remove-item,.remove-wizard-row{border:0;background:transparent;color:#8b5149;font-weight:700;min-height:40px;padding:6px 8px;border-radius:10px}.remove-item:hover,.remove-wizard-row:hover{background:#fff1ed}
.customize-dialog{width:min(680px,calc(100% - 24px));max-height:88%;border:0;border-radius:26px;padding:0;background:#fffdf8;color:var(--text);box-shadow:0 30px 90px rgba(16,45,53,.28)}.customize-dialog::backdrop{background:rgba(10,31,36,.58);backdrop-filter:blur(3px)}.customize-dialog form{padding:22px}.wizard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.wizard-head h2{margin:3px 0 5px;color:var(--midnight)}.wizard-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.wizard-progress{height:7px;background:#e8ebe6;border-radius:999px;overflow:hidden;margin:18px 0}.wizard-progress span{display:block;height:100%;width:33.333%;background:linear-gradient(90deg,var(--emerald),var(--champagne));border-radius:inherit;transition:width .2s ease}.wizard-step h3{font-size:22px;margin:6px 0}.wizard-step>p{color:var(--muted);font-size:14px;margin:0 0 14px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice,.check-choice{position:relative}.choice input,.check-choice input{position:absolute;opacity:0;pointer-events:none}.choice span,.check-choice span{display:flex;align-items:center;min-height:50px;border:1px solid #dce1db;border-radius:14px;padding:11px 13px;background:#fff;cursor:pointer;font-weight:650}.choice input:checked+span,.check-choice input:checked+span{border-color:#5e9a87;background:#eaf4ef;box-shadow:0 0 0 2px #3c8e7814}.wizard-field{display:block;margin-top:14px}.wizard-field select{margin-top:6px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check-choice span{font-size:13px;font-weight:600}.wizard-custom-rows{display:grid;gap:10px;margin-bottom:12px}.wizard-custom-row{display:grid;grid-template-columns:1.3fr 1fr 120px 1fr auto;gap:7px;align-items:center;padding:10px;border:1px solid #e0e3dd;border-radius:15px;background:#fff}.wizard-custom-row input,.wizard-custom-row select{min-width:0;min-height:42px}.wizard-custom-row .money-input{min-width:0;width:100%;max-width:none}.wizard-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid #e4e5df}.wizard-note{text-align:center;color:var(--muted);font-size:11px;margin:12px 0 0}.customize-dialog .hidden{display:none!important}
@media(max-width:640px){.budget-tools{align-items:stretch;flex-direction:column}.customize-btn{width:100%}.custom-item-main{grid-template-columns:1fr}.custom-item-meta{grid-template-columns:1fr 1fr}.monthly-equivalent{grid-column:1/2}.remove-item{justify-self:end}.check-grid{grid-template-columns:1fr}.wizard-custom-row{grid-template-columns:1fr 1fr}.wizard-custom-row .wizard-expense-name{grid-column:1/-1}.wizard-custom-row .money-input{grid-column:1/2}.wizard-custom-row .remove-wizard-row{justify-self:end}.choice-grid{grid-template-columns:1fr}.customize-dialog{width:calc(100% - 16px);max-height:92%;border-radius:22px}.customize-dialog form{padding:17px}.wizard-head .icon-btn{flex:0 0 auto}}
@media print{.custom-expenses{display:none!important}}


/* v0.5.1 Mobile action bar and keyboard behavior */
@media(max-width:620px){
  .sticky-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .sticky-actions>span{grid-column:1/-1;}
  .sticky-actions button{width:100%;min-width:0;}
}
body.form-field-active .sticky-actions{position:static;bottom:auto;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;margin-top:12px;}

/* v0.5.2 Settings & Appearance Themes */
:root{
  --theme-bg:#f7f3e9;--theme-bg2:#efe9dd;--theme-card:#fffdfa;--theme-ink:#18332e;--theme-muted:#6f7d77;
  --theme-line:#d9dfda;--theme-primary:#173e47;--theme-primary2:#2d7766;--theme-soft:#e4efe8;--theme-accent:#e8c983;
  --theme-warm:#b8794c;--theme-on-primary:#fff;--theme-shadow:rgba(16,45,53,.10)
}
html[data-theme="classic"]{--theme-bg:#f7f3e9;--theme-bg2:#efe9dd;--theme-card:#fffdfa;--theme-ink:#18332e;--theme-muted:#6f7d77;--theme-line:#d9dfda;--theme-primary:#173e47;--theme-primary2:#2d7766;--theme-soft:#e4efe8;--theme-accent:#e8c983;--theme-warm:#b8794c;--theme-on-primary:#fff;--theme-shadow:rgba(16,45,53,.10)}
html[data-theme="desert"]{--theme-bg:#fbf1e3;--theme-bg2:#ead9c4;--theme-card:#fffaf3;--theme-ink:#2f302e;--theme-muted:#776e64;--theme-line:#e2cdb7;--theme-primary:#24495a;--theme-primary2:#9c5f3f;--theme-soft:#f1dfc8;--theme-accent:#d7a25c;--theme-warm:#b85f37;--theme-on-primary:#fff;--theme-shadow:rgba(82,56,42,.12)}
html[data-theme="sage"]{--theme-bg:#f3f4e8;--theme-bg2:#e3e5cf;--theme-card:#fffef7;--theme-ink:#303a2e;--theme-muted:#6f7667;--theme-line:#d7dbc8;--theme-primary:#495d42;--theme-primary2:#73835d;--theme-soft:#e6ead7;--theme-accent:#caa85e;--theme-warm:#a87946;--theme-on-primary:#fff;--theme-shadow:rgba(58,70,50,.10)}
html[data-theme="coastal"]{--theme-bg:#f2f7f8;--theme-bg2:#e3edf0;--theme-card:#ffffff;--theme-ink:#17313b;--theme-muted:#647680;--theme-line:#d1dde1;--theme-primary:#173b53;--theme-primary2:#2f7c83;--theme-soft:#deeff0;--theme-accent:#d1b96e;--theme-warm:#9e7c52;--theme-on-primary:#fff;--theme-shadow:rgba(23,59,83,.11)}
html[data-theme="contrast"]{--theme-bg:#fff;--theme-bg2:#f0f0f0;--theme-card:#fff;--theme-ink:#101010;--theme-muted:#474747;--theme-line:#b9b9b9;--theme-primary:#102d35;--theme-primary2:#006b57;--theme-soft:#e4ece9;--theme-accent:#c99b27;--theme-warm:#8a4d22;--theme-on-primary:#fff;--theme-shadow:rgba(0,0,0,.13)}
html[data-theme="midnight"]{--theme-bg:#080a0b;--theme-bg2:#111416;--theme-card:#171a1c;--theme-ink:#f5f1e8;--theme-muted:#b8b4aa;--theme-line:#303438;--theme-primary:#050607;--theme-primary2:#2d3338;--theme-soft:#202427;--theme-accent:#d5b35c;--theme-warm:#9f7445;--theme-on-primary:#fff8e7;--theme-shadow:rgba(0,0,0,.38)}
html[data-theme="black_emerald"]{--theme-bg:#080d0c;--theme-bg2:#0d1714;--theme-card:#121c18;--theme-ink:#eef6f1;--theme-muted:#a9bbb2;--theme-line:#294039;--theme-primary:#07110e;--theme-primary2:#147a58;--theme-soft:#183028;--theme-accent:#78bfa2;--theme-warm:#b59d68;--theme-on-primary:#f7fffb;--theme-shadow:rgba(0,0,0,.34)}
html[data-theme="slate_night"]{--theme-bg:#0d131a;--theme-bg2:#151e28;--theme-card:#1b2631;--theme-ink:#edf4fa;--theme-muted:#aebdca;--theme-line:#344657;--theme-primary:#101c29;--theme-primary2:#3e719e;--theme-soft:#223444;--theme-accent:#9db8d0;--theme-warm:#b79b78;--theme-on-primary:#f7fbff;--theme-shadow:rgba(0,0,0,.30)}
html[data-theme="espresso"]{--theme-bg:#17110f;--theme-bg2:#211815;--theme-card:#2a201c;--theme-ink:#f8efe4;--theme-muted:#c7b7aa;--theme-line:#49392f;--theme-primary:#241611;--theme-primary2:#8a5138;--theme-soft:#382a24;--theme-accent:#c79769;--theme-warm:#b86e48;--theme-on-primary:#fff8ef;--theme-shadow:rgba(0,0,0,.32)}
html[data-theme="system"]{--theme-bg:#f7f3e9;--theme-bg2:#efe9dd;--theme-card:#fffdfa;--theme-ink:#18332e;--theme-muted:#6f7d77;--theme-line:#d9dfda;--theme-primary:#173e47;--theme-primary2:#2d7766;--theme-soft:#e4efe8;--theme-accent:#e8c983;--theme-warm:#b8794c;--theme-on-primary:#fff;--theme-shadow:rgba(16,45,53,.10)}
@media (prefers-color-scheme:dark){
  html[data-theme="system"]{--theme-bg:#10191c;--theme-bg2:#162226;--theme-card:#1c282b;--theme-ink:#f4f2ea;--theme-muted:#b9c4c0;--theme-line:#35464a;--theme-primary:#4e9f8b;--theme-primary2:#77bfae;--theme-soft:#263b39;--theme-accent:#e1c476;--theme-warm:#c78962;--theme-on-primary:#071312;--theme-shadow:rgba(0,0,0,.28)}
}
html[data-theme]{background:var(--theme-bg)}
html[data-theme] body{color:var(--theme-ink);background:linear-gradient(180deg,var(--theme-bg),var(--theme-bg2));}
html[data-theme] .topbar small,html[data-theme] .helper,html[data-theme] .wizard-head p,html[data-theme] .wizard-step>p,html[data-theme] .settings-head p,html[data-theme] .theme-choice small,html[data-theme] .site-footer{color:var(--theme-muted)}
html[data-theme] .eyebrow{color:var(--theme-primary2)}
html[data-theme] .auth-card,html[data-theme] .budget-section,html[data-theme] .principle-card,html[data-theme] .ai-card,html[data-theme] .budget-tools,html[data-theme] .custom-item-card,html[data-theme] .custom-empty,html[data-theme] .sticky-actions{background:var(--theme-card);border-color:var(--theme-line);box-shadow:0 10px 28px var(--theme-shadow)}
html[data-theme] .budget-section.giving,html[data-theme] .premium-principle{background:linear-gradient(135deg,var(--theme-card),color-mix(in srgb,var(--theme-accent) 18%,var(--theme-card)))}
html[data-theme] .premium-summary{background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary2));color:var(--theme-on-primary)}
html[data-theme] .primary{background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary2));color:var(--theme-on-primary);box-shadow:0 8px 18px var(--theme-shadow)}
html[data-theme] .secondary{background:var(--theme-soft);color:var(--theme-ink);border-color:var(--theme-line)}
html[data-theme] input,html[data-theme] textarea,html[data-theme] select,html[data-theme] .money-input{background:var(--theme-card);color:var(--theme-ink);border-color:var(--theme-line)}
html[data-theme] input:focus,html[data-theme] textarea:focus,html[data-theme] select:focus{border-color:var(--theme-primary2);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary2) 18%,transparent)}
html[data-theme] .step{background:var(--theme-soft);color:var(--theme-primary)}
html[data-theme] .month-row .icon-btn,html[data-theme] .settings-dialog .icon-btn{background:var(--theme-card);border-color:var(--theme-line);color:var(--theme-primary)}
html[data-theme] .footer-brand{color:var(--theme-primary)}

.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.topbar-actions .link-btn{margin-left:0}.settings-btn{border:1px solid var(--theme-line);background:var(--theme-card);color:var(--theme-primary);min-height:44px;border-radius:14px;padding:0 12px;font-weight:800;display:inline-flex;align-items:center;gap:7px}.settings-btn:hover{background:var(--theme-soft)}
.settings-dialog{width:min(700px,calc(100% - 24px));max-height:88%;border:0;border-radius:26px;padding:0;background:var(--theme-card);color:var(--theme-ink);box-shadow:0 30px 90px rgba(10,30,35,.30)}.settings-dialog::backdrop{background:rgba(10,31,36,.58);backdrop-filter:blur(3px)}.settings-dialog form{padding:22px}.settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.settings-head h2{margin:3px 0 5px;color:var(--theme-ink)}.settings-head p{margin:0;font-size:13px;line-height:1.45}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:18px}.theme-choice{position:relative;margin:0}.theme-choice input{position:absolute;opacity:0;pointer-events:none}.theme-choice>span,.theme-choice>strong,.theme-choice>small{display:block}.theme-choice{border:1px solid var(--theme-line);border-radius:18px;padding:12px;background:var(--theme-card);cursor:pointer;min-height:132px;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.theme-choice:hover{transform:translateY(-1px);box-shadow:0 8px 20px var(--theme-shadow)}.theme-choice:has(input:checked){border-color:var(--theme-primary2);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary2) 18%,transparent)}.theme-choice strong{font-size:14px;margin-top:9px}.theme-choice small{font-size:11px;line-height:1.3;margin-top:3px}.theme-swatch{display:grid!important;grid-template-columns:repeat(4,1fr);height:42px;overflow:hidden;border-radius:12px;border:1px solid #0000000d}.theme-swatch i{display:block}.theme-choice[data-theme-preview="classic"] .theme-swatch i:nth-child(1){background:#173e47}.theme-choice[data-theme-preview="classic"] .theme-swatch i:nth-child(2){background:#2d7766}.theme-choice[data-theme-preview="classic"] .theme-swatch i:nth-child(3){background:#fbf8ef}.theme-choice[data-theme-preview="classic"] .theme-swatch i:nth-child(4){background:#e8c983}.theme-choice[data-theme-preview="desert"] .theme-swatch i:nth-child(1){background:#24495a}.theme-choice[data-theme-preview="desert"] .theme-swatch i:nth-child(2){background:#9c5f3f}.theme-choice[data-theme-preview="desert"] .theme-swatch i:nth-child(3){background:#fbf1e3}.theme-choice[data-theme-preview="desert"] .theme-swatch i:nth-child(4){background:#d7a25c}.theme-choice[data-theme-preview="sage"] .theme-swatch i:nth-child(1){background:#495d42}.theme-choice[data-theme-preview="sage"] .theme-swatch i:nth-child(2){background:#73835d}.theme-choice[data-theme-preview="sage"] .theme-swatch i:nth-child(3){background:#f3f4e8}.theme-choice[data-theme-preview="sage"] .theme-swatch i:nth-child(4){background:#caa85e}.theme-choice[data-theme-preview="coastal"] .theme-swatch i:nth-child(1){background:#173b53}.theme-choice[data-theme-preview="coastal"] .theme-swatch i:nth-child(2){background:#2f7c83}.theme-choice[data-theme-preview="coastal"] .theme-swatch i:nth-child(3){background:#f2f7f8}.theme-choice[data-theme-preview="coastal"] .theme-swatch i:nth-child(4){background:#d1b96e}.theme-choice[data-theme-preview="contrast"] .theme-swatch i:nth-child(1){background:#101010}.theme-choice[data-theme-preview="contrast"] .theme-swatch i:nth-child(2){background:#006b57}.theme-choice[data-theme-preview="contrast"] .theme-swatch i:nth-child(3){background:#fff}.theme-choice[data-theme-preview="contrast"] .theme-swatch i:nth-child(4){background:#c99b27}.theme-choice[data-theme-preview="midnight"] .theme-swatch i:nth-child(1){background:#080a0b}.theme-choice[data-theme-preview="midnight"] .theme-swatch i:nth-child(2){background:#171a1c}.theme-choice[data-theme-preview="midnight"] .theme-swatch i:nth-child(3){background:#d5b35c}.theme-choice[data-theme-preview="midnight"] .theme-swatch i:nth-child(4){background:#f5f1e8}.theme-choice[data-theme-preview="black_emerald"] .theme-swatch i:nth-child(1){background:#080d0c}.theme-choice[data-theme-preview="black_emerald"] .theme-swatch i:nth-child(2){background:#147a58}.theme-choice[data-theme-preview="black_emerald"] .theme-swatch i:nth-child(3){background:#eef6f1}.theme-choice[data-theme-preview="black_emerald"] .theme-swatch i:nth-child(4){background:#78bfa2}.theme-choice[data-theme-preview="slate_night"] .theme-swatch i:nth-child(1){background:#0d131a}.theme-choice[data-theme-preview="slate_night"] .theme-swatch i:nth-child(2){background:#3e719e}.theme-choice[data-theme-preview="slate_night"] .theme-swatch i:nth-child(3){background:#edf4fa}.theme-choice[data-theme-preview="slate_night"] .theme-swatch i:nth-child(4){background:#9db8d0}.theme-choice[data-theme-preview="espresso"] .theme-swatch i:nth-child(1){background:#17110f}.theme-choice[data-theme-preview="espresso"] .theme-swatch i:nth-child(2){background:#8a5138}.theme-choice[data-theme-preview="espresso"] .theme-swatch i:nth-child(3){background:#f8efe4}.theme-choice[data-theme-preview="espresso"] .theme-swatch i:nth-child(4){background:#c79769}.theme-choice[data-theme-preview="system"] .theme-swatch i:nth-child(1){background:#102d35}.theme-choice[data-theme-preview="system"] .theme-swatch i:nth-child(2){background:#f7f3e9}.theme-choice[data-theme-preview="system"] .theme-swatch i:nth-child(3){background:#1c282b}.theme-choice[data-theme-preview="system"] .theme-swatch i:nth-child(4){background:#77bfae}.settings-actions{display:flex;justify-content:flex-end;margin-top:18px;padding-top:16px;border-top:1px solid var(--theme-line)}.settings-status{min-height:20px;text-align:right;color:var(--theme-muted);font-size:12px;margin:7px 2px 0}
@media(max-width:520px){.settings-label{display:none}.settings-btn{width:44px;padding:0;justify-content:center}.theme-grid{grid-template-columns:1fr 1fr;gap:8px}.theme-choice{padding:10px;min-height:126px}.theme-choice strong{font-size:13px}.settings-dialog form{padding:16px}.topbar{gap:6px}.topbar-actions{gap:4px}.topbar .link-btn{padding:0 7px;font-size:12px}}
@media(max-width:360px){.theme-grid{grid-template-columns:1fr}.theme-choice{min-height:auto}}


/* v0.6.0 Expanded AI Financial Coach */
.ai-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ai-quick-actions .primary{grid-column:1/-1}.ai-question-box{margin-top:16px;padding:15px;border:1px solid var(--theme-line,#d9dfda);border-radius:18px;background:color-mix(in srgb,var(--theme-soft,#e4efe8) 45%,var(--theme-card,#fffdfa))}.ai-question-box label{display:block}.ai-question-box label strong{display:block;font-size:14px}.ai-question-box label span{display:block;margin-top:3px;font-size:12px;color:var(--theme-muted,#6f7d77);line-height:1.4}.ai-question-box textarea{width:100%;margin-top:10px;resize:vertical;min-height:92px}.ai-question-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:10px}.ai-example-chips{display:flex;flex-wrap:wrap;gap:7px;min-width:0}.ai-chip{border:1px solid var(--theme-line,#d9dfda);background:var(--theme-card,#fffdfa);color:var(--theme-ink,#18332e);border-radius:999px;padding:8px 10px;min-height:38px;font-size:11px;font-weight:750}.ai-chip:hover{background:var(--theme-soft,#e4efe8)}.ai-question-actions>.primary{flex:0 0 auto;min-height:42px}.ai-privacy-note{margin-top:11px;padding:10px 12px;border-radius:13px;background:color-mix(in srgb,var(--theme-accent,#e8c983) 14%,transparent);font-size:11px;line-height:1.45;color:var(--theme-muted,#6f7d77)}
@media(max-width:620px){.ai-quick-actions{grid-template-columns:1fr 1fr}.ai-quick-actions button{width:100%;font-size:12px;padding-left:8px;padding-right:8px}.ai-question-actions{align-items:stretch;flex-direction:column}.ai-question-actions>.primary{width:100%}.ai-example-chips{width:100%}.ai-chip{flex:1 1 auto}.ai-privacy-note{font-size:10.5px}}
@media(max-width:390px){.ai-quick-actions{grid-template-columns:1fr}.ai-quick-actions .primary{grid-column:auto}.ai-chip{flex-basis:100%}}

/* v0.6.1 optional AI Coach */
.settings-section{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.settings-section-copy h3{margin:.2rem 0 .35rem;font-size:1.05rem}.settings-section-copy p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}
.toggle-row{margin-top:.9rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1rem;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.toggle-row>span:first-child{display:grid;gap:.16rem}.toggle-row small{color:var(--muted);font-weight:500}.switch{position:relative;display:inline-flex;flex:0 0 auto}.switch input{position:absolute;opacity:0;pointer-events:none}.switch>span{width:52px;height:30px;border-radius:999px;background:var(--line);position:relative;transition:.2s ease;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.switch>span:after{content:'';position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.22);transition:.2s ease}.switch input:checked+span{background:var(--theme-primary2,#2d7766)}.switch input:checked+span:after{transform:translateX(22px)}.switch input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--theme-primary2,#2d7766) 35%,transparent);outline-offset:3px}

/* v0.6.2 diagnostics, install help, and Resilience Finance rebrand */
.diagnostics-section,.install-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--theme-line,#d9dfda)}
.settings-section-copy h3{margin:3px 0 6px}.settings-section-copy p{margin:0 0 12px;color:var(--theme-muted,var(--muted));font-size:13px;line-height:1.45}
.settings-status{min-height:20px;margin:8px 0 0;font-size:12px;color:var(--theme-muted,var(--muted));line-height:1.4}
.site-footer .footer-brand span{line-height:1.25}
.hero-photo{object-position:55% center}
@media(max-width:520px){.hero-photo{object-position:58% center}.settings-dialog form{padding:18px}}


/* v0.7 household sharing */
.household-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:12px 0 14px;padding:12px 14px;border:1px solid var(--theme-line);border-radius:18px;background:color-mix(in srgb,var(--theme-card) 88%,var(--theme-soft));box-shadow:0 8px 24px var(--theme-shadow)}
.household-bar-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--theme-soft);color:var(--theme-primary2);font-size:22px}.household-bar div:nth-child(2){min-width:0}.household-bar small,.household-bar strong,.household-bar span{display:block}.household-bar small{color:var(--theme-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.household-bar strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.household-bar span{color:var(--theme-muted);font-size:12px;margin-top:2px}.household-bar .secondary{padding:10px 13px}
.household-settings-body{display:grid;gap:12px}.household-settings-body label{display:grid;gap:6px;font-size:12px;font-weight:700}.household-settings-body input{width:100%}.household-name-field{margin-top:2px}.household-members-panel,.household-invite-panel{border:1px solid var(--theme-line);border-radius:16px;padding:13px;background:color-mix(in srgb,var(--theme-card) 92%,var(--theme-soft))}.household-members-list{display:grid;gap:8px;margin-top:9px}.household-member{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:12px;background:var(--theme-soft)}.household-member-copy{min-width:0}.household-member strong,.household-member small{display:block}.household-member small{color:var(--theme-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-role{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--theme-primary2)}.remove-member-btn{border:0;background:transparent;color:var(--theme-warm);font-weight:700;cursor:pointer}.invite-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:10px}.invite-result label{min-width:0}.invite-result input{font-size:12px}.household-invite-panel .helper{margin:8px 0 0}.settings-section{border-color:var(--theme-line)}
@media(max-width:520px){.household-bar{grid-template-columns:auto minmax(0,1fr);}.household-bar .secondary{grid-column:1/-1;width:100%}.invite-result{grid-template-columns:1fr}.invite-result .secondary{width:100%}}

/* v0.7.2 - daily principle + local QR household invitations */
.principle-heading-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.daily-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--theme-accent,#e8c983) 20%,transparent);color:var(--theme-ink,#18332e);font-size:10px!important;font-weight:800;letter-spacing:.04em;opacity:1!important}.daily-principle-copy{min-width:0}.principle-link{display:inline-flex;align-items:center;gap:5px;margin-top:10px;color:var(--theme-primary2,#2d7766);font-size:12px;font-weight:800;text-decoration:none}.principle-link:hover{text-decoration:underline}.principle-link:focus-visible{outline:3px solid color-mix(in srgb,var(--theme-primary2,#2d7766) 30%,transparent);outline-offset:3px;border-radius:6px}
.qr-invite-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:center;margin-top:12px}.invite-qr{display:grid;place-items:center;min-height:240px;padding:4px;border-radius:18px;background:#fff;border:1px solid #d8d8d8;overflow:hidden}.qr-invite-copy strong{display:block;font-size:15px}.qr-invite-copy p{margin:6px 0;color:var(--theme-muted,var(--muted));font-size:12px;line-height:1.45}.qr-invite-copy small{display:block;color:var(--theme-muted,var(--muted));font-size:11px;line-height:1.45}.invite-link-details{margin-top:12px;border-top:1px solid var(--theme-line);padding-top:10px}.invite-link-details summary{cursor:pointer;font-size:12px;font-weight:800;color:var(--theme-primary2);min-height:38px;display:flex;align-items:center}.invite-link-details label{margin-top:8px}.invite-link-details .secondary{margin-top:2px}.pending-invites{display:grid;gap:8px;margin-top:12px}.pending-invite-heading{display:grid;gap:2px;padding-top:10px;border-top:1px solid var(--theme-line)}.pending-invite-heading strong{font-size:13px}.pending-invite-heading small{font-size:11px;color:var(--theme-muted)}.pending-invite-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:12px;background:var(--theme-soft)}.pending-invite-row div{min-width:0}.pending-invite-row strong,.pending-invite-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-invite-row strong{font-size:12px}.pending-invite-row small{font-size:10px;color:var(--theme-muted);margin-top:2px}.secondary.compact{min-height:36px;padding:7px 10px;font-size:11px;flex:0 0 auto}
@media(max-width:620px){.qr-invite-layout{grid-template-columns:1fr}.invite-qr{width:min(100%,280px);justify-self:center}.qr-invite-copy{text-align:center}.invite-link-details .secondary{width:100%}}
@media(max-width:420px){.principle-heading-row{align-items:flex-start}.daily-badge{font-size:9px!important}.pending-invite-row{align-items:flex-start;flex-direction:column}.secondary.compact{width:100%}}
.invite-result{display:block;grid-template-columns:none;align-items:initial}

/* v0.8.0 - personal + shared budget spaces */
.household-bar{gap:12px}.household-space-copy{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1}.budget-space-switch{margin-left:auto}.budget-space-switch select{min-width:150px;max-width:230px;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:12px;padding:10px 34px 10px 12px;font:inherit;font-weight:700}.household-invite-panel>label select{width:100%;margin-top:6px;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:12px;padding:12px;font:inherit}.member-type{display:inline-flex;margin-left:6px;padding:3px 8px;border-radius:999px;background:var(--accent-soft);color:var(--text);font-size:.72rem;font-weight:800;text-transform:capitalize}.space-private-note{font-size:.82rem;color:var(--muted)}
@media(max-width:620px){.household-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center}.household-space-copy{grid-column:2}.budget-space-switch{grid-column:1 / -1;width:100%;margin:0}.budget-space-switch select{width:100%;max-width:none}.household-bar>button{grid-column:3;grid-row:1}}

/* v0.8.1 - AI Budget Interview */
.ai-interview-launch{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));}
.ai-interview-dialog{width:min(720px,calc(100% - 24px));max-height:calc(100% - 24px);padding:0;border:1px solid var(--border);border-radius:24px;background:var(--surface);color:var(--text);box-shadow:0 28px 90px #07191f55;}
.ai-interview-dialog::backdrop{background:#08191f99;backdrop-filter:blur(4px);}
.ai-interview-shell{padding:22px;}
.ai-interview-privacy,.ai-suggestion-warning{margin:14px 0;padding:13px 14px;border:1px solid var(--border);border-radius:15px;background:var(--surface-soft);font-size:.9rem;line-height:1.45;}
.ai-interview-progress{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0 10px;color:var(--muted);font-size:.82rem;font-weight:700;}
.ai-interview-answer{display:grid;gap:7px;margin-top:14px;font-weight:700;}
.ai-interview-answer textarea{width:100%;min-height:92px;resize:vertical;border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--text);padding:12px;font:inherit;}
.ai-interview-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.ai-interview-option{border:1px solid var(--border);background:var(--surface-soft);color:var(--text);border-radius:999px;padding:9px 12px;font-weight:700;}
.ai-interview-option.selected{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);}
.ai-suggestion-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;}
.ai-suggestion-list{display:grid;gap:12px;margin:16px 0;}
.ai-suggestion-card{border:1px solid var(--border);border-radius:18px;padding:14px;background:var(--surface-soft);}
.ai-suggestion-top{display:flex;align-items:flex-start;gap:10px;}
.ai-suggestion-top input[type=checkbox]{width:20px;height:20px;margin-top:4px;flex:0 0 auto;}
.ai-suggestion-title{flex:1;min-width:0;}
.ai-suggestion-title input{width:100%;border:0;background:transparent;color:var(--text);font:inherit;font-weight:800;padding:2px 0;}
.ai-suggestion-reason{margin:4px 0 0;color:var(--muted);font-size:.84rem;line-height:1.4;}
.ai-suggestion-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-top:12px;}
.ai-suggestion-fields label{display:grid;gap:5px;color:var(--muted);font-size:.76rem;font-weight:700;}
.ai-suggestion-fields input,.ai-suggestion-fields select{min-width:0;width:100%;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);padding:10px;font:inherit;font-size:16px;}
@media(max-width:520px){.ai-interview-shell{padding:17px}.ai-suggestion-fields{grid-template-columns:1fr}.ai-interview-dialog{width:calc(100% - 14px);max-height:calc(100% - 14px)}}

/* v0.9.0 advanced budget foundation */
.advanced-detail{margin-top:12px;border:1px solid var(--line,#d8dee7);border-radius:16px;padding:0 14px;background:var(--card,#fff)}
.advanced-detail summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;cursor:pointer;font-weight:800}
.advanced-items{display:grid;gap:12px;margin:12px 0}
.advanced-item-card{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(100px,.8fr));gap:10px;align-items:end;padding:14px;border:1px solid var(--line,#d8dee7);border-radius:16px;background:color-mix(in srgb,var(--card,#fff) 94%,var(--accent,#0f766e) 6%)}
.advanced-item-card label{display:grid;gap:5px;font-size:.8rem;color:var(--muted,#64748b)}
.advanced-item-card label.wide{grid-column:span 2}
.advanced-item-card input,.advanced-item-card select{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--line,#d8dee7);border-radius:10px;background:var(--input-bg,var(--card,#fff));color:var(--text,#172033);font-size:16px}
.advanced-item-card .monthly-equivalent{align-self:center;font-size:.78rem;font-weight:700;color:var(--muted,#64748b)}
.advanced-item-card .remove-item{justify-self:end}
.inline-check{display:flex!important;align-items:center;gap:8px!important;min-height:38px}.inline-check input{width:auto!important}
.small-amount{font-size:.82rem!important;white-space:nowrap}
.goal-progress{height:8px;grid-column:1/-1;background:var(--soft,#edf2f7);border-radius:999px;overflow:hidden}.goal-progress span{display:block;height:100%;background:var(--accent,#0f766e);border-radius:999px}
@media(max-width:720px){.advanced-item-card{grid-template-columns:1fr 1fr}.advanced-item-card label.wide{grid-column:1/-1}.advanced-item-card .remove-item{justify-self:stretch}.advanced-detail{padding:0 10px}}
@media(max-width:410px){.advanced-item-card{grid-template-columns:1fr}.advanced-item-card label.wide{grid-column:auto}}
.print-advanced{margin-top:18px}.print-advanced h2{margin:16px 0 6px;font-size:15px}
.custom-item-extra{grid-column:1/-1;border-top:1px dashed var(--line,#d8dee7);padding-top:8px}.custom-item-extra summary{cursor:pointer;font-size:.8rem;font-weight:700;color:var(--muted,#64748b)}.custom-item-extra>div{display:grid;grid-template-columns:110px 1fr;gap:10px;margin-top:8px}.custom-item-extra label{display:grid;gap:4px;font-size:.75rem;color:var(--muted,#64748b)}.custom-item-extra input{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--line,#d8dee7);border-radius:9px;background:var(--input-bg,var(--card,#fff));color:var(--text,#172033);font-size:16px}@media(max-width:410px){.custom-item-extra>div{grid-template-columns:1fr}}
html[data-theme] .advanced-detail,html[data-theme] .advanced-item-card{background:var(--theme-card);border-color:var(--theme-line);color:var(--theme-ink)}
html[data-theme] .advanced-item-card input,html[data-theme] .advanced-item-card select,html[data-theme] .custom-item-extra input{background:var(--theme-card);border-color:var(--theme-line);color:var(--theme-ink)}
html[data-theme] .advanced-item-card label,html[data-theme] .custom-item-extra label,html[data-theme] .advanced-item-card .monthly-equivalent,html[data-theme] .custom-item-extra summary{color:var(--theme-muted)}
html[data-theme] .goal-progress{background:var(--theme-soft)}html[data-theme] .goal-progress span{background:var(--theme-primary2)}

/* v0.9.1 - next month planner + pay checklist */
.budget-tool-actions{display:flex;gap:9px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}
.month-planner-section{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--theme-card,#fffdfa),color-mix(in srgb,var(--theme-accent,#c5a45a) 10%,var(--theme-card,#fffdfa)))}
.month-planner-section::after{content:"";position:absolute;right:-42px;top:-42px;width:130px;height:130px;border-radius:50%;background:color-mix(in srgb,var(--theme-primary2,#377b72) 8%,transparent);pointer-events:none}
.planner-section-head{position:relative;z-index:1}.planner-progress{padding:7px 10px;border-radius:999px;background:var(--theme-soft,#eef2ef);color:var(--theme-primary2,#285f59);font-size:11px;font-weight:900;white-space:nowrap}
.planner-checklist{display:grid;gap:8px;margin:12px 0}
.planner-check-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;margin:0;padding:10px 12px;border:1px solid var(--theme-line,var(--line));border-radius:15px;background:var(--theme-card,var(--card));cursor:pointer;transition:.18s ease}
.planner-check-row input{position:absolute;opacity:0;pointer-events:none}.planner-check-box{width:24px;height:24px;border-radius:8px;border:2px solid var(--theme-line,var(--line));background:var(--theme-card,var(--card));display:grid;place-items:center}
.planner-check-row input:checked + .planner-check-box{background:var(--theme-primary2,var(--teal));border-color:var(--theme-primary2,var(--teal))}.planner-check-row input:checked + .planner-check-box::after{content:"✓";color:#fff;font-weight:900;font-size:15px}
.planner-check-copy{min-width:0}.planner-check-copy strong,.planner-check-copy small{display:block}.planner-check-copy strong{font-size:13px}.planner-check-copy small{margin-top:2px;color:var(--theme-muted,var(--muted));font-size:10px;font-weight:600}.planner-check-row>b{font-size:13px;white-space:nowrap}.planner-check-row.is-paid{opacity:.66;background:var(--theme-soft,#f0f3f0)}.planner-check-row.is-paid .planner-check-copy strong{text-decoration:line-through;text-decoration-thickness:1px}
.planner-writing-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.planner-writing-grid label{display:grid;gap:6px;margin:0;font-size:12px}.planner-writing-grid textarea{resize:vertical;background:var(--theme-card,var(--card));border-color:var(--theme-line,var(--line));color:var(--theme-ink,var(--ink))}.planner-writing-grid .planner-wide{grid-column:1/-1}
@media(max-width:640px){.budget-tool-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.budget-tool-actions button{width:100%;min-width:0;padding-left:9px;padding-right:9px;font-size:13px}.planner-writing-grid{grid-template-columns:1fr}.planner-writing-grid .planner-wide{grid-column:auto}.planner-check-row{grid-template-columns:auto auto minmax(0,1fr) auto;gap:8px;padding:9px 10px}}
@media(max-width:390px){.budget-tool-actions{grid-template-columns:1fr}.planner-check-row{grid-template-columns:auto auto minmax(0,1fr)}.planner-check-row>b{grid-column:3;text-align:left;margin-top:-6px}}

@media print{
  @page{size:auto;margin:.45in}
  .planner-print-report{font-family:Arial,Helvetica,sans-serif;color:#17211f}
  .print-cover-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:0 0 12px;border-bottom:3px solid #173e47}
  .print-kicker{font-size:9px;font-weight:900;letter-spacing:.18em;color:#5c716b}.print-cover-head h1{font-size:28px!important;margin:3px 0 2px}.print-cover-head p{margin:0;font-size:16px;font-weight:800;color:#335d55}.print-plan-mark{padding:8px 10px;border:1px solid #a9b7b2;border-radius:6px;font-size:9px;font-weight:900;letter-spacing:.1em;color:#526761}
  .print-summary-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:14px 0 18px;border:1px solid #b7c1bd;border-radius:8px;overflow:hidden}.print-summary-strip>div{padding:10px 12px;border-right:1px solid #cdd4d1}.print-summary-strip>div:last-child{border-right:0}.print-summary-strip span,.print-summary-strip strong{display:block}.print-summary-strip span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#65746f}.print-summary-strip strong{font-size:18px;margin-top:2px}
  .planner-print-report h2{font-size:14px;margin:16px 0 6px;padding-bottom:4px;border-bottom:1px solid #bfc8c5;color:#173e47}
  .print-budget-table{margin:0 0 12px!important}.print-budget-table td{padding:5px 7px!important;font-size:10px}.print-budget-table small{font-size:8px;color:#66736f}
  .print-pay-checklist{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.print-pay-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px 7px;border:1px solid #cbd2cf;border-radius:6px;break-inside:avoid}.print-box{width:15px;height:15px;border:1.5px solid #425650;display:grid;place-items:center;font-size:11px;font-weight:900;line-height:1}.print-pay-row strong,.print-pay-row small{display:block}.print-pay-row strong{font-size:9px}.print-pay-row small{font-size:7px;color:#687670}.print-pay-row b{font-size:9px;white-space:nowrap}
  .print-writing-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}.print-writing-grid h2,.print-changes h2{margin-top:10px}.print-written{font-size:9px;min-height:16px;white-space:pre-wrap;margin:4px 0}.write-lines{display:grid;gap:10px;margin-top:6px}.write-lines i{display:block;border-bottom:1px solid #aab5b1;height:10px}.print-changes{margin-top:8px}
  .print-advanced{font-size:9px}.print-advanced table{margin:4px 0 8px!important}.print-advanced td{font-size:8px;padding:4px 6px!important}.print-principle{margin-top:16px!important;padding:9px!important;font-size:9px;background:#f6f1e4}.print-site{text-align:center;margin-top:14px;font-size:8px;color:#65736f}
}

/* v0.9.2 - hero image fit fix */
.hero-photo{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center center;
}
@media(max-width:520px){
  .hero-photo{
    width:100%;
    height:auto;
    aspect-ratio:auto;
    object-fit:contain;
    object-position:center center;
  }
}

/* v0.9.3 - panoramic app-header treatment */
.hero-photo-card{border-radius:22px}
.hero-picture{display:block;width:100%;overflow:hidden;background:#eee7d7}
.hero-picture .hero-photo{display:block;width:100%;height:210px;object-fit:cover;object-position:center 58%;aspect-ratio:auto}
.hero-copy{padding:17px 22px 20px}
.hero-copy h1{margin-top:6px;margin-bottom:9px}
.hero-copy p{margin-top:0}
.auth-card{margin-top:10px}
@media(max-width:520px){
  .auth-wrap{padding-top:6px}
  .hero-photo-card{border-radius:20px}
  .hero-picture .hero-photo{height:155px;object-fit:cover;object-position:center center;aspect-ratio:auto}
  .hero-copy{padding:15px 17px 17px}
  .hero-copy h1{font-size:clamp(24px,7vw,31px);margin:5px 0 8px}
  .hero-copy p{font-size:14px;line-height:1.45}
  .auth-card{margin-top:9px}
}


/* v0.9.4 - AI interview UX polish */
.ai-interview-dialog{width:min(840px,calc(100% - 28px));max-height:calc(100% - 32px);overflow:auto;border-radius:26px;box-shadow:0 24px 70px #07191f38;}
.ai-interview-dialog::backdrop{background:#0a1c235f;backdrop-filter:blur(1.5px);}
.ai-interview-shell{padding:20px 22px 18px;}
.ai-interview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:10px;border-bottom:1px solid var(--border);}
.ai-interview-head>div{min-width:0}.ai-interview-head h2{font-size:20px;margin:3px 0 4px}.ai-interview-head p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.4;max-width:620px}
.ai-interview-close{flex:0 0 42px;width:42px;height:42px;min-height:42px;border-radius:13px;font-size:25px;line-height:1;padding:0;box-shadow:none}
.ai-interview-privacy{margin:12px 0 4px;padding:0;border:0;background:transparent;font-size:.8rem}.ai-interview-privacy summary{cursor:pointer;display:inline-flex;align-items:center;min-height:34px;color:var(--muted);font-weight:800}.ai-interview-privacy p{margin:5px 0 0;padding:10px 12px;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft);line-height:1.45}
.ai-question-stage{padding-top:8px}.ai-interview-progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.76rem}.ai-interview-progress-row strong{color:var(--text);font-size:.8rem}.ai-interview-progress-track{height:6px;margin:7px 0 20px;border-radius:999px;background:color-mix(in srgb,var(--border) 70%,transparent);overflow:hidden}.ai-interview-progress-track span{display:block;width:14%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--series-3,var(--accent)));transition:width .25s ease}
.ai-question-copy{max-width:740px}.ai-question-copy h3{font-size:clamp(1.2rem,2.5vw,1.55rem);line-height:1.24;margin:0 0 7px}.ai-question-copy .helper{font-size:.84rem;margin:0;color:var(--muted)}
.ai-interview-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:18px}.ai-interview-option{min-height:50px;border-radius:15px;padding:10px 14px;text-align:center;background:var(--surface-soft);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.ai-interview-option:active{transform:translateY(1px)}.ai-interview-option.selected{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 17%,transparent)}
.ai-details-control{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;margin-top:12px}.ai-details-toggle{border:0;background:transparent;color:var(--accent);padding:8px 0;font-weight:800;cursor:pointer}.ai-details-toggle span{color:var(--muted);font-weight:700}.ai-choice-hint{color:var(--muted);font-size:.78rem;text-align:right}
.ai-interview-details{margin-top:4px}.ai-interview-answer{margin-top:0}.ai-interview-answer span{font-size:.8rem}.ai-interview-answer textarea{min-height:68px;max-height:150px;padding:10px 12px;border-radius:13px}
.ai-interview-actions{margin-top:14px;padding-top:13px}.ai-interview-actions .secondary{min-width:92px}.ai-interview-actions .primary{min-width:126px}
.ai-interview-dialog .form-msg{margin:6px 0 0;min-height:18px}
@media(max-width:620px){.ai-interview-dialog{width:calc(100% - 12px);max-height:calc(100% - 12px);border-radius:21px}.ai-interview-shell{padding:15px}.ai-interview-head{gap:10px}.ai-interview-head h2{font-size:18px}.ai-interview-head p{font-size:.78rem}.ai-interview-close{width:40px;height:40px;min-height:40px;flex-basis:40px}.ai-interview-progress-track{margin-bottom:16px}.ai-interview-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:14px}.ai-interview-option{min-height:48px;padding:8px 6px;font-size:.88rem}.ai-details-control{align-items:flex-start;flex-direction:column;gap:0;margin-top:8px}.ai-choice-hint{text-align:left}.ai-interview-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:8px}.ai-interview-actions button{width:100%;min-width:0}.ai-interview-privacy{margin-top:8px}.ai-question-copy h3{font-size:1.18rem}}
@media(max-width:390px){.ai-interview-options{grid-template-columns:1fr}.ai-interview-option{min-height:46px}.ai-interview-head p{display:none}.ai-interview-progress-row span{font-size:.7rem}}

/* v0.9.5 - solid AI interview surface across all themes */
.ai-interview-dialog{
  --surface:var(--theme-card,#fffdfa);
  --surface-soft:var(--theme-soft,#eef2ef);
  --text:var(--theme-ink,#18332e);
  --muted:var(--theme-muted,#6f7d77);
  --border:var(--theme-line,#d9dfda);
  --accent:var(--theme-primary2,#2d7766);
  background:var(--surface)!important;
  color:var(--text)!important;
  opacity:1!important;
  isolation:isolate;
}
.ai-interview-shell{background:var(--surface);color:var(--text);border-radius:inherit;position:relative;z-index:1}
.ai-interview-dialog .ai-question-copy,
.ai-interview-dialog .ai-interview-progress-row,
.ai-interview-dialog .ai-interview-actions,
.ai-interview-dialog .ai-interview-details,
.ai-interview-dialog .ai-interview-privacy{position:relative;z-index:2}
.ai-interview-dialog .ai-interview-privacy p,
.ai-interview-dialog .ai-interview-option,
.ai-interview-dialog .ai-interview-answer textarea{background:var(--surface-soft);color:var(--text);border-color:var(--border)}
.ai-interview-dialog .ai-interview-answer textarea{background:var(--surface)}
.ai-interview-dialog .ai-interview-close{background:var(--surface);color:var(--text);border:1px solid var(--border)}
.ai-interview-dialog::backdrop{background:rgba(8,19,24,.48);backdrop-filter:blur(2px)}


/* v0.10.0 - guided setup + simple-first progressive disclosure */
.simple-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0;padding:13px 15px;border:1px solid var(--theme-line);border-radius:18px;background:var(--theme-card);box-shadow:0 8px 22px var(--theme-shadow)}
.simple-mode-bar strong,.simple-mode-bar small{display:block}.simple-mode-bar small{margin-top:2px;color:var(--theme-muted);font-size:12px}.secondary.compact{min-height:38px;padding:0 12px;border-radius:12px;font-size:12px;white-space:nowrap}
#budgetView:not(.show-advanced-planning) .advanced-foundation{display:none}
.budget-setup-dialog{width:min(760px,calc(100% - 22px));max-height:calc(100% - 24px);padding:0;border:1px solid var(--theme-line);border-radius:26px;background:var(--theme-card);color:var(--theme-ink);box-shadow:0 28px 90px rgba(7,25,31,.34);overflow:auto}
.budget-setup-dialog::backdrop{background:rgba(8,19,24,.52);backdrop-filter:blur(2px)}
.budget-setup-dialog form{padding:22px}.setup-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.setup-head h2{margin:3px 0 5px}.setup-head p{margin:0;color:var(--theme-muted);font-size:13px}.setup-progress{height:6px;border-radius:99px;background:var(--theme-soft);overflow:hidden;margin:15px 0 21px}.setup-progress span{display:block;height:100%;width:16.67%;background:linear-gradient(90deg,var(--theme-primary2),var(--theme-gold));transition:width .2s ease}.setup-step h3{font-size:22px;margin:6px 0 8px}.setup-step>.helper{margin-bottom:17px}.setup-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.setup-choice{margin:0;position:relative}.setup-choice input{position:absolute;opacity:0}.setup-choice span{display:flex;flex-direction:column;gap:3px;padding:15px;border:1px solid var(--theme-line);border-radius:16px;background:var(--theme-soft);cursor:pointer}.setup-choice input:checked+span{border-color:var(--theme-primary2);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary2) 17%,transparent)}.setup-choice small{color:var(--theme-muted)}
.setup-field-grid{display:grid;grid-template-columns:1fr;gap:10px}.setup-field-grid.two-col{grid-template-columns:1fr 1fr}.setup-field-grid label{margin:0}.setup-field-grid label>span:first-child{display:block;margin-bottom:6px;color:var(--theme-muted)}.setup-custom-block{padding:14px;border-radius:18px;background:var(--theme-soft);border:1px solid var(--theme-line);margin-bottom:12px}.setup-custom-block label{margin:0}.setup-generated-rows{display:grid;gap:8px;margin-top:10px}.setup-inline-row label{margin:0;display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:10px}.setup-common-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.setup-common-grid label{margin:0;display:flex;align-items:center;gap:8px;padding:11px;border:1px solid var(--theme-line);border-radius:13px;background:var(--theme-soft)}.setup-common-grid input{width:auto}.setup-uncommon-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}.setup-custom-row{display:grid;grid-template-columns:minmax(0,1.4fr) 130px 160px auto;gap:8px;align-items:center}.setup-custom-row input,.setup-custom-row select{min-width:0}.setup-custom-row .remove-setup-row{border:0;background:transparent;color:var(--danger);font-weight:700;padding:8px}.setup-review-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.setup-review-summary>div{padding:14px;border:1px solid var(--theme-line);border-radius:15px;background:var(--theme-soft)}.setup-review-summary small,.setup-review-summary strong{display:block}.setup-review-summary strong{font-size:20px;margin-top:2px}.setup-review-summary .negative{color:var(--danger)}.setup-review-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.setup-review-list span{padding:7px 10px;border-radius:999px;background:var(--theme-soft);border:1px solid var(--theme-line);font-size:12px}.setup-carry-note{margin-top:15px;padding:13px;border-radius:15px;background:color-mix(in srgb,var(--theme-primary2) 9%,var(--theme-card));border:1px solid color-mix(in srgb,var(--theme-primary2) 24%,var(--theme-line));font-size:13px;line-height:1.45}.setup-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:19px;padding-top:15px;border-top:1px solid var(--theme-line)}.setup-actions .link-btn{margin:0 auto 0 0}
@media(max-width:620px){.simple-mode-bar{align-items:flex-start;flex-direction:column}.simple-mode-bar .compact{width:100%}.budget-setup-dialog{width:calc(100% - 10px);max-height:calc(100% - 10px);border-radius:20px}.budget-setup-dialog form{padding:16px}.setup-head{gap:10px}.setup-step h3{font-size:19px}.setup-choice-grid,.setup-field-grid.two-col{grid-template-columns:1fr}.setup-common-grid{grid-template-columns:1fr 1fr}.setup-inline-row label{grid-template-columns:1fr}.setup-custom-row{grid-template-columns:1fr 1fr}.setup-custom-row .setup-custom-name{grid-column:1/-1}.setup-custom-row .remove-setup-row{grid-column:1/-1;justify-self:end}.setup-review-summary{grid-template-columns:1fr 1fr}.setup-review-summary>div:last-child{grid-column:1/-1}.setup-actions{display:grid;grid-template-columns:1fr 1fr}.setup-actions .link-btn{grid-column:1/-1;grid-row:1;margin:0;justify-self:start}.setup-actions button{width:100%}}

/* v0.10.2 - explicit month conflict choices and safe month tools */
.month-action-dialog{width:min(620px,calc(100% - 20px));max-height:calc(100% - 24px);padding:0;border:1px solid var(--theme-line);border-radius:24px;background:var(--theme-card);color:var(--theme-ink);box-shadow:0 28px 90px rgba(7,25,31,.34);overflow:auto}.month-action-dialog::backdrop{background:rgba(8,19,24,.52);backdrop-filter:blur(2px)}.month-action-shell{padding:21px}.month-action-choice-list{display:grid;gap:10px;margin-top:18px}.month-action-choice-list>button{width:100%;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.month-action-choice-list>button small{font-weight:500;line-height:1.4;opacity:.78}.month-action-choice-list>.link-btn{width:auto;display:inline-flex;justify-self:start;padding-left:0}.base-budget-card{margin-top:17px;padding:15px;border:1px solid var(--theme-line);border-radius:16px;background:var(--theme-soft);display:flex;flex-direction:column;gap:3px}.base-budget-card small,.base-budget-card span{color:var(--theme-muted);font-size:12px}.base-budget-card strong{font-size:18px}.danger-soft{border-color:#caa0a0!important}.danger-soft strong{color:#8a3030}.month-action-dialog .form-msg{min-height:20px;margin:12px 0 0}@media(max-width:620px){.month-action-dialog{width:calc(100% - 10px);border-radius:20px}.month-action-shell{padding:16px}.budget-tool-actions .compact{width:100%}}
\n\n/* v0.10.3 - paper-first monochrome printing */
@media print{
  html,body,.app-view,.print-only,.print-report,.planner-print-report{
    background:#fff!important;
    color:#000!important;
    -webkit-print-color-adjust:economy!important;
    print-color-adjust:economy!important;
  }
  .print-report *, .planner-print-report *{
    color:#000!important;
    text-shadow:none!important;
    box-shadow:none!important;
  }
  .print-report *:not(.print-box),
  .planner-print-report *:not(.print-box){
    background:#fff!important;
    background-image:none!important;
  }
  .print-cover-head{border-bottom-color:#000!important}
  .print-plan-mark,
  .print-summary-strip,
  .print-summary-strip>div,
  .planner-print-report h2,
  .print-budget-table td,
  .print-pay-row,
  .print-box,
  .write-lines i,
  .print-principle,
  .print-balance{
    border-color:#777!important;
  }
  .print-cover-head h1,
  .print-cover-head p,
  .print-kicker,
  .print-plan-mark,
  .print-summary-strip span,
  .print-summary-strip strong,
  .planner-print-report h2,
  .print-budget-table small,
  .print-pay-row small,
  .print-site,
  .print-principle{
    color:#000!important;
  }
  .print-principle{background:#fff!important}
  .print-box{background:#fff!important}
}

/* v0.10.4 - responsive budget action layout */
.budget-tools{
  align-items:stretch;
  flex-direction:column;
  gap:11px;
}
.budget-tools>div:first-child{
  width:100%;
}
.budget-tool-actions{
  width:100%;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  justify-content:stretch;
}
.budget-tool-actions button,
.budget-tool-actions .compact{
  width:100%;
  min-width:0;
  min-height:48px;
  padding-left:14px;
  padding-right:14px;
  font-size:13px;
  white-space:nowrap;
}
@media(max-width:640px){
  .budget-tools{gap:10px;padding:13px 14px}
  .budget-tool-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .budget-tool-actions button,
  .budget-tool-actions .compact{
    min-height:46px;
    padding-left:12px;
    padding-right:12px;
    font-size:12.5px;
  }
  .budget-tool-actions .customize-btn{
    font-size:12px;
    letter-spacing:-.01em;
  }
}
@media(max-width:390px){
  .budget-tool-actions{grid-template-columns:1fr}
  .budget-tool-actions .customize-btn{font-size:13px;letter-spacing:0}
}

/* v0.11.0 - Friends & Talents: encouragement without financial disclosure */
.talents-card{margin:14px 0;padding:18px;border:1px solid var(--theme-line);border-radius:22px;background:var(--theme-card);box-shadow:0 10px 28px var(--theme-shadow)}
.talents-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.talents-card-head h2{margin:2px 0 0;font-size:19px}.talents-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:color-mix(in srgb,var(--theme-gold) 24%,var(--theme-soft));color:var(--theme-primary);font-size:20px;font-weight:900}.talents-card>.helper{margin:12px 0 13px}.talents-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.talents-summary-grid>div{padding:12px 13px;border-radius:15px;border:1px solid var(--theme-line);background:var(--theme-soft)}.talents-summary-grid small,.talents-summary-grid strong{display:block}.talents-summary-grid small{color:var(--theme-muted);font-size:11px}.talents-summary-grid strong{font-size:22px;margin-top:2px}.talents-card-activity{display:grid;gap:7px;margin-top:11px}.mini-talent-activity{display:flex;align-items:center;gap:9px;padding-top:8px;border-top:1px solid var(--theme-line);font-size:13px}.mini-talent-activity>span:last-child{min-width:0}.mini-talent-activity strong{font-weight:800}.mini-talent-activity small{display:block;color:var(--theme-muted);font-size:10px;margin-top:2px}.talent-dot,.talent-medallion{display:grid;place-items:center;flex:0 0 auto;border-radius:999px;background:color-mix(in srgb,var(--theme-gold) 28%,var(--theme-soft));color:var(--theme-ink);border:1px solid color-mix(in srgb,var(--theme-gold) 48%,var(--theme-line));font-weight:900}.talent-dot{width:36px;height:36px;font-size:11px}
.talents-dialog{width:min(760px,calc(100% - 20px));max-height:calc(100% - 24px);padding:0;border:1px solid var(--theme-line);border-radius:26px;background:var(--theme-card);color:var(--theme-ink);box-shadow:0 28px 90px rgba(7,25,31,.36);overflow:auto}.talents-dialog::backdrop{background:rgba(8,19,24,.54);backdrop-filter:blur(2px)}.talents-dialog-shell{padding:22px}.talents-privacy-note{margin:14px 0;padding:12px 14px;border-radius:15px;border:1px solid color-mix(in srgb,var(--theme-primary2) 28%,var(--theme-line));background:color-mix(in srgb,var(--theme-primary2) 8%,var(--theme-card));font-size:12.5px;line-height:1.45}.talents-hero-row{display:grid;grid-template-columns:minmax(180px,.75fr) 1.25fr;gap:10px}.talents-balance-card,.talents-explainer{padding:16px;border-radius:18px;border:1px solid var(--theme-line);background:var(--theme-soft)}.talents-balance-card small,.talents-balance-card strong,.talents-balance-card span{display:block}.talents-balance-card small,.talents-balance-card span,.talents-explainer p{color:var(--theme-muted)}.talents-balance-card strong{font-size:34px;margin:3px 0}.talents-balance-card span{font-size:11px}.talents-explainer p{font-size:12px;line-height:1.45;margin:5px 0 0}.social-section{margin-top:17px;padding-top:17px;border-top:1px solid var(--theme-line)}.social-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.social-section-head h3{margin:0;font-size:16px}.social-section-head p{margin:3px 0 0;color:var(--theme-muted);font-size:11.5px}.social-count{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:var(--theme-soft);border:1px solid var(--theme-line);font-weight:800}.friend-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.friend-add-row input{min-width:0}.social-list{display:grid;gap:8px}.social-row{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--theme-line);border-radius:15px;background:var(--theme-soft)}.social-row>div:first-child{min-width:0;flex:1}.social-row strong,.social-row small{display:block}.social-row small{color:var(--theme-muted);font-size:10.5px;margin-top:2px}.social-row-actions{display:flex;gap:6px}.social-row-actions .compact{min-height:36px;padding:0 10px}.friend-talent-total{text-align:right!important;flex:0 0 auto!important}.friend-talent-total b,.friend-talent-total span{display:block}.friend-talent-total b{font-size:18px}.friend-talent-total span{font-size:9px;color:var(--theme-muted);text-transform:uppercase;letter-spacing:.08em}.remove-friend-link{font-size:11px}.social-empty{padding:13px;border-radius:14px;background:var(--theme-soft);border:1px dashed var(--theme-line);color:var(--theme-muted);font-size:12px}.talents-feed{display:grid;gap:8px}.talent-feed-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--theme-line)}.talent-feed-row:last-child{border-bottom:0}.talent-medallion{width:42px;height:42px;font-size:12px}.talent-feed-row strong{font-size:13px}.talent-feed-row p{margin:2px 0;color:var(--theme-ink);font-size:12px}.talent-feed-row small{color:var(--theme-muted);font-size:10px}.outgoing-section details summary{cursor:pointer;font-weight:750}.outgoing-section .social-list{margin-top:9px}.social-unavailable .talents-summary-grid{opacity:.55}
@media(max-width:640px){.talents-card{padding:14px}.talents-card-head{grid-template-columns:auto minmax(0,1fr)}.talents-card-head #openTalentsBtn{grid-column:1/-1;width:100%}.talents-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.talents-dialog{width:calc(100% - 10px);max-height:calc(100% - 10px);border-radius:20px}.talents-dialog-shell{padding:16px}.talents-hero-row{grid-template-columns:1fr}.friend-add-row{grid-template-columns:1fr}.friend-add-row button{width:100%}.social-row{align-items:flex-start;flex-wrap:wrap}.social-row-actions{width:100%}.social-row-actions button{flex:1}.friend-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.friend-row .remove-friend-link{grid-column:1/-1;justify-self:start;padding-left:0}.talents-summary-grid strong{font-size:19px}}

/* v0.11.1 - friend profiles, secure QR invitations, and personal Talent history */
.social-profile-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--theme-line);border-radius:18px;background:var(--theme-soft)}
.social-profile-avatar,.social-avatar{display:grid;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--theme-primary2) 18%,var(--theme-card));border:1px solid color-mix(in srgb,var(--theme-primary2) 38%,var(--theme-line));color:var(--theme-ink);font-weight:900;letter-spacing:.02em;flex:0 0 auto}
.social-profile-avatar{width:54px;height:54px;font-size:16px}.social-avatar{width:38px;height:38px;font-size:11px}
.social-profile-name{margin:0}.social-profile-name span{display:block;margin-bottom:5px;color:var(--theme-muted);font-size:11px;font-weight:750}.social-profile-name input{width:100%}
.social-profile-meta{display:flex;justify-content:space-between;gap:12px;margin:7px 2px 0;color:var(--theme-muted);font-size:10.5px}.social-profile-meta small{font-size:inherit}
.friend-add-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.friend-add-card{padding:14px;border:1px solid var(--theme-line);border-radius:18px;background:var(--theme-soft)}.friend-add-card>strong{display:block;font-size:14px}.friend-add-card>p{margin:5px 0 11px;color:var(--theme-muted);font-size:11.5px;line-height:1.45}.friend-add-card>.primary{width:100%}
.friend-qr-result{margin-top:12px;padding-top:12px;border-top:1px solid var(--theme-line);text-align:center}.friend-qr-result>small{display:block;margin:7px 0;color:var(--theme-muted);font-size:10px;line-height:1.4}.friend-invite-qr{display:grid;place-items:center;width:236px;max-width:100%;min-height:220px;margin:0 auto;padding:8px;border-radius:14px;background:#fff;border:1px solid #d8d8d8;overflow:hidden}.friend-invite-qr canvas,.friend-invite-qr img,.friend-invite-qr svg{max-width:100%;height:auto}.friend-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:7px}.friend-link-row input{min-width:0;font-size:10px}
.talent-history{display:grid;gap:0;max-height:310px;overflow:auto;border:1px solid var(--theme-line);border-radius:16px;background:var(--theme-soft)}.talent-history-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--theme-line)}.talent-history-row:last-child{border-bottom:0}.talent-history-row strong,.talent-history-row small{display:block}.talent-history-row strong{font-size:12.5px}.talent-history-row small{margin-top:2px;color:var(--theme-muted);font-size:10px}
.social-row>.social-avatar+div{min-width:0;flex:1}.friend-row>.social-avatar+div{min-width:0;flex:1}
@media(max-width:640px){.social-profile-card{grid-template-columns:auto minmax(0,1fr)}.social-profile-card #saveSocialProfileBtn{grid-column:1/-1;width:100%}.social-profile-meta{display:grid;gap:2px}.friend-add-options{grid-template-columns:1fr}.friend-link-row{grid-template-columns:1fr}.friend-link-row button{width:100%}.friend-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.friend-row .friend-talent-total{grid-column:3}.friend-row .remove-friend-link{grid-column:2/-1;justify-self:start;padding-left:0}.friend-invite-qr{width:226px;min-height:210px}}
@media(max-width:390px){.friend-row{grid-template-columns:auto minmax(0,1fr)}.friend-row .friend-talent-total{grid-column:2;grid-row:2;text-align:left!important}.friend-row .remove-friend-link{grid-column:2;grid-row:3}.social-profile-avatar{width:48px;height:48px}}

/* v0.11.2 Talent goals & monthly progress */
.talent-ways-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.talent-way-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px;border:1px solid var(--theme-line);border-radius:15px;background:var(--theme-soft)}.talent-way-card strong,.talent-way-card small{display:block}.talent-way-card strong{font-size:12.5px;line-height:1.35}.talent-way-card small{margin-top:3px;color:var(--theme-muted);font-size:10.5px;line-height:1.4}.talent-way-points{display:grid;place-items:center;min-width:44px;min-height:34px;padding:0 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--theme-gold) 48%,var(--theme-line));background:color-mix(in srgb,var(--theme-gold) 24%,var(--theme-soft));color:var(--theme-ink);font-size:11px;font-weight:900;white-space:nowrap}.talent-progress-line{margin-top:7px;padding-top:7px;border-top:1px solid var(--theme-line);color:var(--theme-ink);font-size:10.5px;font-weight:750}.talent-ways-note{margin:9px 0 0;color:var(--theme-muted);font-size:10.5px;line-height:1.45}
@media(max-width:640px){.talent-ways-grid{grid-template-columns:1fr}}

/* v0.11.3 - friend encouragement */
.encouragement-list{display:grid;gap:8px}.encouragement-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--theme-line);border-radius:15px;background:var(--theme-soft)}.encouragement-heart{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:color-mix(in srgb,var(--theme-primary2) 16%,var(--theme-card));border:1px solid color-mix(in srgb,var(--theme-primary2) 34%,var(--theme-line));font-size:16px}.encouragement-row strong,.encouragement-row small{display:block}.encouragement-row p{margin:2px 0;font-size:12px}.encouragement-row small{color:var(--theme-muted);font-size:10px}.talent-feed-copy{min-width:0}.talent-feed-encouragement{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;padding-top:7px;border-top:1px solid var(--theme-line);color:var(--theme-muted);font-size:10.5px}.encourage-btn{min-height:34px;padding:0 11px;white-space:nowrap}.encourage-btn:disabled{opacity:.72;cursor:default}
@media(max-width:480px){.talent-feed-encouragement{align-items:flex-start;flex-direction:column}.encourage-btn{width:100%}.encouragement-row{align-items:start}}


/* v0.12.0 - detailed bills, due dates, and bill calendar */
.bill-category-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(120px,145px);align-items:center;gap:10px}.bill-category-name{min-width:0}.bill-category-name strong,.bill-category-name small{display:block}.bill-category-name strong{font-size:14px}.bill-category-name small{margin-top:2px;color:var(--theme-muted,var(--muted));font-size:10px;font-weight:650}.bill-category-amount{margin:0}.bill-detail-link{min-height:36px;border:1px solid var(--theme-line,var(--line));border-radius:11px;background:var(--theme-soft,#edf2ef);color:var(--theme-primary,var(--teal));padding:0 10px;font-size:11px;font-weight:850;white-space:nowrap}.bill-category-row.has-bill-details .bill-detail-link{border-color:color-mix(in srgb,var(--theme-primary2,var(--teal2)) 35%,var(--theme-line,var(--line)))}.money-input.calculated-amount{background:var(--theme-soft,#edf2ef)}.money-input.calculated-amount input{background:transparent;color:var(--theme-ink,var(--ink));cursor:default}
.bill-details-dialog{width:min(760px,calc(100% - 20px));max-height:calc(100% - 24px);padding:0;border:1px solid var(--theme-line,var(--line));border-radius:24px;background:var(--theme-card,var(--card));color:var(--theme-ink,var(--ink));box-shadow:0 28px 90px rgba(7,25,31,.34);overflow:auto}.bill-details-dialog::backdrop{background:rgba(8,19,24,.54);backdrop-filter:blur(2px)}.bill-details-shell{padding:20px}.bill-details-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.bill-details-head h2{margin:2px 0 5px}.bill-details-head p{margin:0;color:var(--theme-muted,var(--muted));font-size:12px;line-height:1.45}.bill-detail-note{margin:14px 0;padding:11px 13px;border:1px solid color-mix(in srgb,var(--theme-primary2,var(--teal2)) 24%,var(--theme-line,var(--line)));border-radius:14px;background:color-mix(in srgb,var(--theme-primary2,var(--teal2)) 7%,var(--theme-card,var(--card)));font-size:11.5px;line-height:1.45}.bill-detail-items{display:grid;gap:10px}.bill-detail-card{display:grid;grid-template-columns:minmax(160px,1.5fr) minmax(105px,.7fr) minmax(90px,.55fr) minmax(130px,.8fr);gap:9px;align-items:end;padding:13px;border:1px solid var(--theme-line,var(--line));border-radius:16px;background:var(--theme-soft,#f4f6f4)}.bill-detail-card label{display:grid;gap:5px;margin:0;color:var(--theme-muted,var(--muted));font-size:10.5px}.bill-detail-card input,.bill-detail-card select{min-width:0;width:100%;padding:10px 11px;border:1px solid var(--theme-line,var(--line));border-radius:10px;background:var(--theme-card,var(--card));color:var(--theme-ink,var(--ink));font-size:16px}.bill-detail-card .money-input{max-width:none;min-width:0;background:var(--theme-card,var(--card))}.bill-detail-card .money-input input{padding:9px 7px;border:0;box-shadow:none;background:transparent}.bill-detail-name{grid-column:span 2}.bill-detail-notes{grid-column:1/-2}.bill-detail-card .remove-item{justify-self:end}.bill-detail-actions{display:flex;justify-content:space-between;gap:9px;margin-top:14px;padding-top:14px;border-top:1px solid var(--theme-line,var(--line))}
.bill-calendar-section{overflow:hidden}.upcoming-bill-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0 12px}.upcoming-bill-chip{display:grid;grid-template-columns:auto 1fr;gap:2px 7px;align-items:center;min-width:0;min-height:54px;padding:8px 10px;border:1px solid var(--theme-line,var(--line));border-radius:13px;background:var(--theme-soft,#f4f6f4);color:var(--theme-ink,var(--ink));text-align:left}.upcoming-bill-chip span{grid-row:1/3;font-size:10px;font-weight:850}.upcoming-bill-chip strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.upcoming-bill-chip b{font-size:10px}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 13px;margin:8px 0;font-size:9.5px;color:var(--theme-muted,var(--muted));font-weight:750}.calendar-legend span{display:inline-flex;align-items:center;gap:5px}.calendar-dot{display:inline-block;width:7px;height:7px;border-radius:50%}.calendar-dot.overdue{background:#b44a45}.calendar-dot.due-soon{background:#c88735}.calendar-dot.upcoming{background:#3f7898}.calendar-dot.paid{background:#528060}.bill-calendar-weekdays,.bill-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.bill-calendar-weekdays{margin:8px 0 4px;text-align:center;color:var(--theme-muted,var(--muted));font-size:9px;font-weight:800}.calendar-day{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-width:0;min-height:58px;padding:7px;border:1px solid var(--theme-line,var(--line));border-radius:11px;background:var(--theme-card,var(--card));color:var(--theme-ink,var(--ink));text-align:left}.calendar-day.blank{border-color:transparent;background:transparent}.calendar-day.has-items{cursor:pointer}.calendar-day.has-items:hover,.calendar-day.has-items:focus-visible{border-color:var(--theme-primary2,var(--teal2));outline:none}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--theme-primary2,var(--teal2));border-color:var(--theme-primary2,var(--teal2))}.calendar-day-number{font-size:11px;font-weight:850}.calendar-day-dots{display:flex;align-items:center;gap:3px;flex-wrap:wrap}.calendar-day-dots small{font-size:8px;color:var(--theme-muted,var(--muted))}.bill-calendar-day-detail{margin-top:12px;padding-top:12px;border-top:1px solid var(--theme-line,var(--line))}.calendar-day-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.calendar-day-detail-head strong{font-size:13px}.calendar-day-detail-head small{color:var(--theme-muted,var(--muted));font-size:10px}.calendar-due-list{display:grid;gap:7px}.calendar-due-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:9px;margin:0;padding:9px 10px;border:1px solid var(--theme-line,var(--line));border-radius:13px;background:var(--theme-card,var(--card));cursor:pointer}.calendar-due-row input{position:absolute;opacity:0;pointer-events:none}.calendar-paid-box{width:22px;height:22px;border:2px solid var(--theme-line,var(--line));border-radius:7px;background:var(--theme-card,var(--card));display:grid;place-items:center}.calendar-due-row input:checked+.calendar-paid-box{background:#528060;border-color:#528060}.calendar-due-row input:checked+.calendar-paid-box::after{content:"✓";color:#fff;font-size:13px;font-weight:900}.calendar-due-row>span:nth-of-type(2){min-width:0}.calendar-due-row strong,.calendar-due-row small{display:block}.calendar-due-row strong{font-size:12px}.calendar-due-row small{margin-top:2px;color:var(--theme-muted,var(--muted));font-size:9px}.calendar-due-row b{font-size:11px;white-space:nowrap}.calendar-due-row.paid{opacity:.68}.calendar-due-row.overdue{border-left:4px solid #b44a45}.calendar-due-row.due-soon{border-left:4px solid #c88735}.calendar-due-row.upcoming{border-left:4px solid #3f7898}.calendar-due-row.paid{border-left:4px solid #528060}
@media(max-width:640px){.bill-category-row{grid-template-columns:minmax(0,1fr) auto minmax(105px,118px);gap:7px}.bill-detail-link{padding:0 8px}.bill-category-name small{font-size:9px}.bill-details-dialog{width:calc(100% - 10px);max-height:calc(100% - 10px);border-radius:20px}.bill-details-shell{padding:15px}.bill-detail-card{grid-template-columns:1fr 1fr}.bill-detail-name,.bill-detail-notes{grid-column:1/-1}.bill-detail-card .remove-item{grid-column:1/-1;justify-self:stretch}.upcoming-bill-strip{grid-template-columns:1fr}.calendar-day{min-height:52px;padding:6px}.bill-calendar-weekdays,.bill-calendar-grid{gap:3px}.calendar-due-row{grid-template-columns:auto auto minmax(0,1fr)}.calendar-due-row b{grid-column:3;text-align:left;margin-top:-4px}}
@media(max-width:390px){.bill-category-row{grid-template-columns:minmax(0,1fr) minmax(104px,116px)}.bill-detail-link{grid-column:1;justify-self:start;min-height:30px}.bill-category-amount{grid-column:2;grid-row:1/3}.bill-category-name{grid-column:1}.bill-category-name small{max-width:170px}.calendar-day{min-height:47px;padding:5px}.calendar-day-number{font-size:10px}.calendar-dot{width:6px;height:6px}}
@media print{.bill-calendar-section,.bill-details-dialog{display:none!important}}

/* v0.12.0 - guided vehicle detail fields */
.setup-vehicle-fields{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:7px;align-items:center}.setup-vehicle-fields>.money-input{max-width:none;width:100%}.setup-vehicle-fields>input{min-width:0;width:100%}@media(max-width:620px){.setup-vehicle-fields{grid-template-columns:minmax(0,1fr) 100px}}


/* v0.12.1 - debt accounts tied to monthly budget */
.bill-linked-debt-summary{margin:0 0 12px;padding:10px 12px;border:1px solid var(--theme-line,var(--line));border-radius:13px;background:var(--theme-soft,#f4f6f4);font-size:11px;line-height:1.45}.bill-linked-debt-summary strong{color:var(--theme-ink,var(--ink))}.link-inline{border:0;background:transparent;color:var(--theme-primary,var(--teal));font:inherit;font-weight:850;text-decoration:underline;padding:3px 4px;margin-left:4px;cursor:pointer}.debt-card{grid-template-columns:repeat(3,minmax(0,1fr))}.debt-card .wide{grid-column:span 2}.debt-budget-category{grid-column:span 1}.debt-monthly-total{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:9px 11px;border:1px solid var(--theme-line,var(--line));border-radius:12px;background:var(--theme-card,var(--card))}.debt-monthly-total small{color:var(--theme-muted,var(--muted));font-size:10px}.debt-monthly-total strong{margin-top:3px;font-size:14px}.debt-card select{width:100%;min-width:0;border:1px solid var(--theme-line,var(--line));background:var(--theme-card,var(--card));color:var(--theme-ink,var(--ink));border-radius:12px;padding:11px;font-size:16px}
@media(max-width:640px){.debt-card{grid-template-columns:1fr 1fr}.debt-card .wide,.debt-budget-category{grid-column:1/-1}.debt-monthly-total{min-height:58px}}
@media(max-width:390px){.debt-card{grid-template-columns:1fr}.debt-card .wide,.debt-budget-category{grid-column:1}.debt-card .remove-item{grid-column:1}}

.debt-link-help{display:block;margin-top:4px;color:var(--theme-muted,var(--muted));font-size:9.5px;line-height:1.3}

/* v0.12.2 - printable budget preparation worksheet */
.button-link{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;cursor:pointer}
.budget-worksheet-link{display:inline-flex;align-items:center;gap:4px;margin-top:8px;color:var(--theme-primary2,var(--teal));font-size:12px;font-weight:800;text-decoration:none;line-height:1.35}
.budget-worksheet-link:hover{text-decoration:underline}
.setup-paper-helper{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 14px;padding:12px 13px;border:1px solid var(--theme-line);border-radius:15px;background:var(--theme-soft)}
.setup-paper-helper>div{min-width:0}.setup-paper-helper strong,.setup-paper-helper small{display:block}.setup-paper-helper strong{font-size:13px}.setup-paper-helper small{margin-top:3px;color:var(--theme-muted);font-size:11px;line-height:1.4}
.setup-paper-helper .button-link{flex:0 0 auto;margin:0;white-space:nowrap}
.worksheet-settings-section .button-link{margin-top:10px}
@media(max-width:620px){.setup-paper-helper{align-items:stretch;flex-direction:column}.setup-paper-helper .button-link{width:100%}.budget-worksheet-link{min-height:38px;padding:6px 0}}
