[hidden]{display:none!important}body{padding-bottom:calc(100px + env(safe-area-inset-bottom))}main{max-width:1040px}main>.panel{margin-bottom:20px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:1040px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dce4d9;z-index:20;box-shadow:0 -4px 20px #183c3510}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;background:none;color:#78867a;font-size:11px;border-radius:14px;padding:7px 4px}.bottom-nav button span{font-size:23px;line-height:1}.bottom-nav button[aria-current=page]{background:#edf4e9;color:#225b48}.bottom-nav #openEntry{background:#225b48;color:white;flex-direction:row;font-size:15px;gap:5px}.bottom-nav #openEntry span{font-size:25px}.transaction .icon{flex-shrink:0}#transactionPanel .listhead h2{margin:0}#viewAll{font-size:12px;min-height:44px}body[data-view=home] #transactions>.transaction:nth-child(n+5){display:none}body[data-view=home] #transactions .delete{display:none}body[data-view=home] .empty{padding:22px 10px}body[data-view=home] #transactionPanel{margin-top:4px}.delete{min-width:44px;min-height:44px}#insightsPanel{margin-top:0}#entryDialog{border:0;border-radius:22px;padding:0;width:min(520px,calc(100% - 32px));max-height:90dvh;overflow-y:auto;overscroll-behavior:contain;background:#fff;color:#213b35}#entryDialog::backdrop{background:#102c2599;backdrop-filter:blur(3px)}#entryPanel{border:0;padding:26px 24px 20px;background:transparent}#entryTitle{padding-right:48px}.close-entry{position:absolute;right:14px;top:12px;width:44px;height:44px;font-size:24px;padding:0;z-index:1}body.entry-open{overflow:hidden}#entryPanel .category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px 8px}#entryPanel .category-tile{min-height:72px;font-size:11px}#entryPanel .category-icon{width:44px;height:44px}#entryPanel input,#entryPanel select{font-size:16px;min-height:48px}#entryPanel .switch button,#newCategory,#entryPanel .submit{min-height:44px}#entryPanel .submit{position:sticky;bottom:0;box-shadow:0 0 0 8px #fff;margin-bottom:8px}#appToast{position:fixed;bottom:calc(94px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#225b48;color:white;border-radius:30px;padding:12px 22px;z-index:30;opacity:0;pointer-events:none;transition:opacity .2s;font-size:13px}#appToast.visible{opacity:1}.budget-header>button,.budget-toggle{min-height:44px}.budget-toggle{min-width:80px}.chart-switch button{min-height:44px}.budget-caption{font-size:11px}html[data-theme=dark] .bottom-nav,html[data-theme=dark] #entryDialog{background:#1b2a23;color:#e0ebe5;border-color:#34463b}html[data-theme=dark] .bottom-nav button{color:#a8b9ae}html[data-theme=dark] .bottom-nav button[aria-current=page]{background:#304a37;color:#d4edda}html[data-theme=dark] .bottom-nav #openEntry{background:#367456;color:white}html[data-theme=dark] #entryPanel .submit{box-shadow:0 0 0 8px #1b2a23}@media(max-width:760px){header{padding:16px 18px}header p{display:none}header h1{font-size:22px}#themeToggle{min-height:44px}main{padding:18px 14px}.top{margin-bottom:16px}.top h2{font-size:18px}.top p{font-size:11px}.top select{font-size:12px;min-height:44px;max-width:116px}.budget-panel{padding:12px 14px!important;margin-bottom:14px!important}.budget-header h2{font-size:14px}#budgetContent{gap:8px}#budgetContent>.budget-toggle{grid-column:1/-1;grid-row:3;justify-self:stretch;margin-top:0;padding:4px}.budget-summary-figures{gap:28px;grid-column:1/-1!important}.budget-summary-amount strong{font-size:20px}.budget-summary-bars{gap:16px}.budget-bar-heading{font-size:12px}.budget-bar-heading span{font-size:11px}.cards{gap:8px;margin-bottom:16px}.card{padding:12px 10px}.card small{font-size:10px}.card small:last-child{display:none}.value{font-size:clamp(15px,4.5vw,20px);letter-spacing:-.5px;margin:8px 0 0;overflow-wrap:anywhere}.panel{padding:18px 14px}.transaction{gap:9px;padding:14px 0}.detail strong{font-size:13px}.detail small{font-size:10px}.amount{font-size:12px}.filters input{font-size:16px}footer{margin:24px 8px}.bottom-nav{border-radius:18px 18px 0 0}#entryDialog{width:100%;max-width:100%;max-height:94dvh;margin:auto 0 0;border-radius:24px 24px 0 0}#entryPanel{padding:24px 18px calc(24px + env(safe-area-inset-bottom))}#entryPanel .switch{margin:16px 0}#entryPanel .category-grid{margin-bottom:14px}#entryPanel .category-tile{font-size:10px;overflow-wrap:normal}.pie-layout svg{margin:auto}.budget-fields input{font-size:16px}}
/* Each column keeps its amount, spending and progress together. */
.budget-title-row{display:flex;align-items:center;gap:3px}.budget-title-row h2{margin:0}.budget-pencil{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;background:transparent;color:#567362;border:0;border-radius:50%}.budget-pencil:hover{background:#edf4e9}.budget-header p{margin-top:-3px}#budgetContent{display:block;margin-top:15px}.budget-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.budget-column h3{font-size:13px;font-weight:500;color:#73817b;margin:0 0 6px}.budget-column-amount{display:block;font-size:24px;letter-spacing:-.5px;overflow-wrap:anywhere}.budget-spent{font-size:12px;margin:12px 0 0}.budget-column .budget-progress{height:7px;margin:8px 0 7px}.budget-column .budget-caption{font-size:12px;line-height:1.5;margin:0}#budgetContent>.budget-toggle{display:block;min-height:44px;width:auto;margin:12px auto 0;padding:8px 14px}.budget-month-details{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-month-details>.budget-metric:last-child{grid-column:1/-1;text-align:center}.budget-month-details>.budget-metric:last-child strong,.budget-month-details>.budget-metric:last-child small{text-align:center}html[data-theme=dark] .budget-pencil{color:#b8d5c1}html[data-theme=dark] .budget-pencil:hover{background:#304a37}html[data-theme=dark] .budget-column h3{color:#a8b9ae}@media(max-width:760px){.budget-columns{gap:22px}.budget-column-amount{font-size:21px}.budget-column h3{font-size:12px}.budget-spent,.budget-column .budget-caption{font-size:11px}.budget-header p{font-size:10px}.budget-panel{padding-top:7px!important}.budget-month-details{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Consistent high-contrast budget bars on green-tinted dark surfaces. */
.budget-column .budget-progress{height:10px}.budget-column .budget-caption{font-weight:600}
html[data-theme=dark]{background:#102019;color:#edf7f1}html[data-theme=dark] .card,html[data-theme=dark] .panel{background:#1c3026;border-color:#496455}
html[data-theme=dark] .budget-panel .budget-spent,html[data-theme=dark] .budget-panel .budget-caption{color:#edf7f1}
html[data-theme=dark] .budget-panel .budget-column h3,html[data-theme=dark] .budget-panel #budgetMonth{color:#cfdfd5}
html[data-theme=dark] .budget-panel .budget-progress{background:#52695d;box-shadow:inset 0 0 0 1px #b8d4c329}
html[data-theme=dark] .budget-panel .budget-progress i{background:#81edb7}
html[data-theme=dark] .budget-panel .budget-progress.warning i{background:#ffd075}
html[data-theme=dark] .budget-panel .budget-progress.danger i{background:#ff968b}
html[data-theme=dark] .budget-panel .budget-column-amount{color:#f2faf5}
html[data-theme=dark] .budget-panel #budgetStatus{color:#d5f0df}
.exclude-daily-label{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:500;line-height:1.5;padding:12px;border-radius:12px;background:#f1f5ee;margin-top:18px}.exclude-daily-label small{display:block;font-size:11px;font-weight:400;color:#66786e;margin-top:3px}#entryPanel .exclude-daily-label input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin:3px 0;accent-color:#225b48}.allowance-scope{display:inline-block;background:#edf3e9;color:#43634c;padding:7px 10px;font-size:10px;margin-top:5px;min-height:36px;line-height:1.4;border-radius:8px}.allowance-scope[aria-pressed=true]{background:#e9edf7;color:#4b5d86}body[data-view=home] .allowance-scope[aria-pressed=false]{display:none}html[data-theme=dark] .exclude-daily-label{background:#293f31}html[data-theme=dark] .exclude-daily-label small{color:#d2e2d6}html[data-theme=dark] .allowance-scope{background:#2e4936;color:#d2e9d8}html[data-theme=dark] .allowance-scope[aria-pressed=true]{background:#354156;color:#e0e7f7}@media(max-width:760px){.allowance-scope{min-height:44px}}
