/* Readable touch-first theme. Details stay available in their disclosure panels. */
:root{--ink:#203b38;--muted:#526763;--line:#d5e2df;--green:#186e5c;--accent:#f49d78}
body{font-size:18px;line-height:1.55;color:#203b38;background:#f7faf8}
.app-main,.appMain{font-size:18px}p,.muted,.subtitle{color:#526763;line-height:1.55}
.app-main p,.app-main label,.app-main input,.app-main select,.app-main button,.app-main textarea,.receipt-layout label,.account-card p,.account-card .familyform label{font-size:17px}
.small,.small.muted,.source-line,.receipt-saved small,.historical-badge,.tiny,.meta,.listfooter,.feature-card p,.feature-card small,.home-summary small,.page-title p,.page-heading p,.receipt-row-top{font-size:15px!important;line-height:1.5!important;color:#4b645d}
button,input,select,textarea{font-size:17px}button,.export,.primary,.textbutton{min-height:46px}.primary,.hero-cta{background:#176d59;color:white;border-radius:16px;font-size:18px;padding:16px 22px;box-shadow:0 5px 0 #0c514210}.primary:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #8b65df;outline-offset:4px}
h2,.account-card h2{font-size:28px;line-height:1.2}.page-title h1,#pageHeading{font-size:38px;line-height:1.2}.card{border-radius:22px;box-shadow:0 8px 28px #244b3910}.side-links a{font-size:16px;min-height:48px}.eyebrow{font-size:13px!important;letter-spacing:.11em}
.feature-card{border-radius:24px;transition:transform .15s}.feature-card:hover{transform:translateY(-3px)}.feature-card h3{font-size:25px}.feature-card.mint{background:#d8f1e9}.feature-card.peach{background:#ffe0ce}.feature-card.butter{background:#fff0ba}.feature-card.lilac{background:#e7dcfc}.feature-card.sand{background:#f7e7cc}.feature-card.blue{background:#d8eafa}.feature-icon{width:56px;height:56px}.feature-number{display:none}.feature-cta{font-size:16px!important}
.home-welcome{background:linear-gradient(120deg,#185e4e,#2e8975)!important;border-radius:28px}.home-welcome p,.hero-footnote{color:#e2f5ec!important;font-size:18px!important}.hero-cta{background:#ffdb7d;color:#294d41}.home-illustration{filter:saturate(1.25)}.home-summary>a{border-radius:20px;background:#fff}.page-title{padding-bottom:14px}
#view-budget .card{background:linear-gradient(145deg,#fff8ec,#fff);border:1px solid #f2d5ad}.budgetnumbers small{font-size:16px;color:#526763}.budgetnumbers strong{font-size:38px;color:#176d59}.budgetnumbers .overbudget strong{color:#b23e3e}.budgetprojection{padding:18px;background:#e7f4f0;border-radius:16px}.budgetprojection p{font-size:16px}.receipt-budget-cta{display:block;text-decoration:none;text-align:center;margin:24px 0}.expense-row{font-size:17px}.expense-row small{font-size:15px}progress{height:14px;accent-color:#e6a13a}
#view-dispensa .card{border-color:#f0ddab}.receipt-layout>.card:first-child{background:linear-gradient(145deg,#ede4ff,#faf7ff);border-color:#ddd0f5}.receipt-art{height:130px;text-align:center;margin:15px 0}.receipt-art svg{height:100%;max-width:100%}.receipt-steps{display:flex;gap:8px;justify-content:space-between}.receipt-steps span{background:#fff9;padding:8px 12px;border-radius:20px;font-size:15px;font-weight:600;color:#5e4590}.camera-cta{width:100%;background:#7253b5;margin-top:18px}.receipt-upload{background:#fff9;border:1px solid #c7b5e2;color:#48376f;font-size:16px;padding:14px}.receipt-upload input{font-size:16px!important;max-width:100%;padding:10px!important}.receipt-layout textarea{font-size:16px;line-height:1.5}.receipt-layout input:not([type=checkbox]),.receipt-layout select,.account-card input{font-size:18px!important;min-height:48px;padding:12px;border-radius:12px}.receipt-layout .check,.receipt-product label,.familyform label{font-size:16px!important}.receipt-saved{font-size:17px}.historical-badge{background:#fff0ba;color:#775012}.receipt-product{background:#fafbf8;border-radius:16px;padding:18px;border:1px solid #dce7df}.receipt-layout [hidden]{display:none!important}#cameraVideo{width:100%;max-height:55vh;object-fit:contain;background:#142e2a;border-radius:16px;margin-top:18px}.camera-actions{display:flex;gap:12px;margin:12px 0}.camera-actions>*{flex:1}
.account-card{background:linear-gradient(155deg,#fff,#edf6ef);max-width:650px}.account-card>p,#accountMessage,#receiptMessage{font-size:17px;line-height:1.5}.account-actions .primary{font-size:17px}.social-login{font-size:17px;min-height:50px}.familydetails summary,.source-details summary{font-size:17px;padding:14px 0;cursor:pointer}.receipt-layout .small{font-size:15px!important}
@media(max-width:750px){body{font-size:18px}.app-main{padding:22px 16px 106px}.card{padding:22px 18px!important}.page-title h1,#pageHeading{font-size:32px}.page-title p{font-size:17px!important}.home-welcome{padding:28px 23px!important}.home-welcome h1{font-size:40px!important}.home-illustration{display:block!important;max-height:160px;max-width:240px;margin:auto}.home-illustration svg{height:160px;width:100%}.hero-stamp{display:none}.feature-grid{gap:14px}.feature-card{padding:21px!important;min-width:0}.feature-card h3{font-size:24px}.feature-card p{margin-bottom:16px}.feature-cta{font-size:16px!important}.bottom-nav a{font-size:13px!important;min-height:62px}.bottom-nav svg{width:25px;height:25px}.budgetnumbers{gap:15px}.budgetnumbers strong{font-size:32px}.fields{gap:12px}.receipt-layout{gap:18px}.receipt-steps span{padding:7px 9px;font-size:14px}.receipt-saved .export{font-size:16px;white-space:normal}.account-actions{flex-wrap:wrap}.account-actions button{flex:1}.receipt-row-top strong{font-size:17px}.weeknav{gap:8px;flex-wrap:wrap}.weeknav span{font-size:17px}input,select,textarea{font-size:18px!important}.source-details p{font-size:16px}.official-offer-row{font-size:17px}.official-offer-row small{font-size:15px}.official-tools{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.feature-card{transition:none}}

.home-summary strong{font-size:22px}.plan h3{font-size:24px}.qty strong,.shopline,.directory-row strong{font-size:18px}.bottom-nav a{color:#244e43}.receipt-layout .check input{width:22px;height:22px;accent-color:#7253b5}.receipt-layout .check{align-items:flex-start}.receipt-layout .check input{flex-shrink:0}.receipt-layout label{overflow-wrap:anywhere}.card input,.card select,.card textarea{max-width:100%;min-width:0}
@media(max-width:420px){.feature-grid{grid-template-columns:1fr}.receipt-layout .fields{grid-template-columns:1fr}.budgetnumbers strong{font-size:30px}.account-card .account-actions{display:grid;grid-template-columns:1fr}.home-summary strong{font-size:20px}}

.account-card [hidden]{display:none!important}
