:root{--ink:#17312e;--muted:#667a75;--paper:#f4f6f2;--surface:#fff;--line:#d9e3dd;--teal:#0e6f67;--teal-dark:#084e4a;--mint:#dff1e9;--coral:#d96b50;--coral-soft:#fff0eb;--gold:#b87920;--gold-soft:#fff4dd;--blue-soft:#eaf3ff;--shadow:0 12px 34px rgba(28,58,51,.08);--radius:18px;--nav-height:74px}
.dialog{overflow-x:hidden!important}.dialog form,.dialog fieldset{min-inline-size:0;max-width:100%}.nature-field{min-inline-size:0;width:100%}.nature-field legend span{color:var(--muted);font-weight:400}.nature-choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.nature-choice{position:relative;display:grid;place-items:center;min-height:42px;padding:8px 5px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:10px;font-weight:800;cursor:pointer;text-align:center}.nature-choice input{position:absolute;opacity:0;pointer-events:none}.nature-choice:has(input:checked){border-color:var(--teal);background:var(--mint);box-shadow:inset 0 0 0 1px var(--teal);color:var(--teal-dark)}.nature-choice:focus-within{outline:3px solid rgba(14,111,103,.12);outline-offset:1px}.nature-choice-health:has(input:checked){border-color:#b8325d;background:#fde8ef;box-shadow:inset 0 0 0 1px #b8325d;color:#962348}.nature-help{display:block;margin-top:6px;color:var(--muted);font-size:9px;line-height:1.35}
*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.45 Arial,sans-serif;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom))}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.app-loading-screen{display:none;position:fixed;inset:0;z-index:100;place-items:center;align-content:center;gap:10px;background:var(--paper);color:var(--muted);font-size:12px}.app-loading-screen strong{color:var(--ink);font-size:13px;letter-spacing:.12em}.app-loading-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--teal);color:#fff;font-size:18px;font-weight:900}.app-loading-spinner{width:20px;height:20px;border:3px solid #c8ded7;border-top-color:var(--teal);border-radius:50%;animation:app-loading-spin .7s linear infinite}@keyframes app-loading-spin{to{transform:rotate(360deg)}}body.app-loading{overflow:hidden}body.app-loading .app-loading-screen{display:grid}body.app-loading .app-header,body.app-loading .bottom-nav,body.app-loading .app-shell{visibility:hidden}
.app-header{height:64px;padding:0 max(18px,calc((100% - 920px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(244,246,242,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--teal);color:#fff;font-weight:900}.brand strong{display:block;font-size:14px;letter-spacing:.09em}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:1px}.header-actions{display:flex;align-items:center;gap:8px}.sync-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:999px;background:#e7eee9;color:var(--muted);padding:8px 11px;font-size:11px;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.sync-pill[data-sync-state="sync_pending"],.sync-pill[data-sync-state="syncing"]{border-color:#e0b866;background:#fff4cf;color:#704d1d;font-weight:800}.sync-pill[data-sync-state="sync_error"],.sync-pill[data-sync-state="sync_delayed"],.sync-pill[data-sync-state="reauth_required"]{border-color:#e1a38f;background:#fff0eb;color:#8e2a21;font-weight:800}.sync-pill[data-sync-state="syncing"] .status-dot{animation:sync-pulse .8s ease-in-out infinite alternate}@keyframes sync-pulse{to{opacity:.25;transform:scale(.72)}}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--teal)}.icon-button,.close-button{border:0;background:transparent;color:var(--muted)}.icon-button{font-size:18px;padding:8px}.icon-button:hover,.icon-button:focus-visible{color:var(--teal)}.sync-notice{position:fixed;z-index:40;top:74px;left:50%;display:flex;align-items:center;gap:9px;width:max-content;max-width:calc(100% - 28px);transform:translateX(-50%);border:1px solid #e0b866;border-radius:12px;background:#fff9e7;color:#704d1d;box-shadow:0 12px 32px rgba(62,48,22,.18);padding:9px 11px;font-size:11px;font-weight:800}.sync-notice.success{border-color:#8fc8b6;background:#edf9f4;color:#0b615a}.sync-notice.error{border-color:#e1a38f;background:#fff0eb;color:#8e2a21}.sync-notice-mark{font-size:8px}.sync-notice-action{border:1px solid currentColor;border-radius:8px;background:#fff;color:inherit;padding:5px 7px;font-size:10px;font-weight:900}
.app-shell{width:min(100%,920px);margin:auto;padding:28px 18px 42px}.app-view{animation:view-in .18s ease}@keyframes view-in{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}.view-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:22px}.view-head h1{font:700 clamp(1.8rem,6vw,2.7rem)/1 Georgia,serif;letter-spacing:-.04em;margin:0}.view-head p{margin:7px 0 0;color:var(--muted);font-size:14px}.kicker{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin:0 0 7px}.button{border:0;border-radius:11px;padding:12px 15px;font-weight:800;font-size:13px;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--teal);color:#fff}.button-primary:hover{background:var(--teal-dark)}.button-secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.button-danger{background:var(--coral-soft);color:#9d3d29}.button-small{padding:9px 11px;font-size:12px}.button-wide{width:100%}
.week-card{position:relative;overflow:hidden;background:var(--teal);color:#fff;border-radius:24px;padding:23px;box-shadow:var(--shadow)}.week-card::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-74px;top:-90px;background:rgba(255,255,255,.08)}.week-meta{display:flex;justify-content:space-between;gap:12px;color:#b8dad4;font-size:12px}.balance-label{margin:34px 0 2px;color:#d5ebe7;font-size:14px}.balance-value{font:700 clamp(3.2rem,15vw,5.6rem)/.95 Georgia,serif;letter-spacing:-.06em;margin:0}.balance-value.negative{color:#ffd0c6}.balance-context{color:#b8dad4;margin:12px 0 18px;font-size:12px}.separator{padding:0 4px;color:#68aaa1}.balance-track{height:7px;border-radius:8px;background:rgba(255,255,255,.18);overflow:hidden}.balance-track span{display:block;height:100%;width:0;border-radius:8px;background:#f1c86d}.balance-footer{display:flex;justify-content:space-between;color:#b8dad4;margin-top:11px;font-size:11px}.balance-footer strong{color:#fff}.reserve-deduction{color:#f3d27b;font-weight:800;font-size:11px;margin-top:10px}
.quick-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0 26px}.quick-action{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px;color:var(--ink);font-weight:800;font-size:13px}.quick-action.primary{background:var(--teal);border-color:var(--teal);color:#fff}.quick-action span{font-size:19px;line-height:1}
.notice-card{display:flex;gap:12px;align-items:start;border:1px solid #ead2a4;border-radius:15px;background:var(--gold-soft);padding:15px;margin:0 0 25px;color:#67481f}.notice-card.good{border-color:#b9dcd0;background:#e9f5f0;color:#205e50}.notice-mark{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:#d39b4b;color:#fff;font-weight:900}.notice-card.good .notice-mark{background:var(--teal)}.notice-card h2{font-size:14px;margin:1px 0 3px}.notice-card p{font-size:12px;margin:0}.notice-card a{display:inline-block;margin-top:7px;color:var(--teal);font-weight:800;font-size:12px}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}.section-heading h2{font:700 22px/1.05 Georgia,serif;letter-spacing:-.025em;margin:0}.section-link{border:0;background:transparent;color:var(--teal);font-weight:800;font-size:12px;text-decoration:none;padding:7px}.expense-list{display:grid;gap:8px}.expense-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px}.expense-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--coral-soft);color:var(--coral);font-weight:900}.expense-item.reserve .expense-symbol,.expense-item.health .expense-symbol,.expense-item.refund .expense-symbol{background:var(--mint);color:var(--teal)}.expense-label{font-weight:800;font-size:14px}.expense-meta{color:var(--muted);font-size:10px;margin-top:3px}.expense-amount{font-weight:900;font-size:14px;color:var(--coral);white-space:nowrap}.expense-item.refund .expense-amount,.expense-amount.positive{color:var(--good,#2f7d68)}.possible-duplicate{display:inline-flex;align-items:center;margin-top:6px;border-radius:999px;background:var(--gold-soft);color:#765410;padding:4px 7px;font-size:9px;font-weight:800}.expense-actions{grid-column:2/-1;display:flex;justify-content:flex-end;gap:9px}.delete-expense{border:0;background:transparent;color:#849690;font-size:10px;padding:2px}.delete-expense:hover{color:var(--coral)}.empty-state{padding:35px 18px;text-align:center;border:1px dashed #c4d3cc;border-radius:14px;color:var(--muted);background:#fff}.empty-mark{margin:auto auto 10px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--mint);color:var(--teal);font-size:24px}.empty-state h3{color:var(--ink);font-size:17px;margin:0}.empty-state p{font-size:12px;margin:5px 0 14px}
.filter-row{display:flex;gap:7px;overflow:auto;margin:-4px 0 15px;padding-bottom:2px}.filter-chip{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);padding:8px 12px;font-size:11px;font-weight:800;white-space:nowrap}.filter-chip[aria-pressed="true"]{border-color:var(--teal);background:var(--mint);color:var(--teal-dark)}.search-input{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px 13px;margin-bottom:12px;color:var(--ink)}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:17px}.summary-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px}.summary-card span{display:block;color:var(--muted);font-size:10px}.summary-card strong{display:block;margin-top:4px;font-size:17px}.summary-card.primary{background:var(--teal);border-color:var(--teal);color:#fff}.summary-card.primary span{color:#c5e1dc}
.charge-list,.reserve-list{display:grid;gap:9px}.charge-row,.reserve-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px}.charge-name,.reserve-name{display:block;font-weight:800;font-size:14px}.charge-meta,.reserve-kind{display:block;color:var(--muted);font-size:10px;margin-top:3px}.charge-value,.reserve-balance{font-weight:900;font-size:14px;color:var(--teal);white-space:nowrap}.row-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #edf1ee;padding-top:9px}.text-button{border:0;background:transparent;color:var(--teal);font-weight:800;font-size:11px;padding:2px}.text-button.danger{color:var(--coral)}
.health-card{border-radius:20px;background:#fff;border:1px solid #b8dbce;padding:18px;margin-bottom:20px;box-shadow:var(--shadow)}.health-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.health-title{display:flex;gap:10px;align-items:center}.health-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--mint);color:var(--teal);font-size:20px;font-weight:900}.health-card h2{font:700 22px/1 Georgia,serif;margin:0}.health-card .sub{color:var(--muted);font-size:11px;margin-top:5px}.health-balances{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:17px 0}.health-balance{border-radius:13px;background:#f3f7f5;padding:13px}.health-balance span{display:block;color:var(--muted);font-size:10px}.health-balance strong{display:block;margin-top:4px;font-size:20px}.health-balance.negative strong{color:var(--coral)}.health-alert{border-radius:12px;background:var(--coral-soft);color:#873521;padding:12px;font-size:11px;font-weight:700;margin-bottom:12px}.suggestion-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.suggestion{border:1px dashed #a9c7bd;border-radius:13px;background:#f7fbf9;padding:13px;text-align:left;color:var(--ink)}.suggestion strong{display:block;font-size:12px}.suggestion small{display:block;color:var(--muted);font-size:9px;margin-top:4px}
.bottom-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;min-height:var(--nav-height);padding:7px max(10px,calc((100% - 620px)/2)) calc(7px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(18px)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:12px;color:#7d8d88;text-decoration:none;font-size:9px;font-weight:800}.bottom-nav a::before{font-size:19px;line-height:1}.bottom-nav a[data-view="week"]::before{content:"⌂"}.bottom-nav a[data-view="movements"]::before{content:"↕"}.bottom-nav a[data-view="charges"]::before{content:"≡"}.bottom-nav a[data-view="reserves"]::before{content:"◇"}.bottom-nav a[aria-current="page"]{color:var(--teal);background:#edf6f2}
.dialog{border:0;border-radius:20px;padding:0;width:min(470px,calc(100% - 24px));max-height:calc(100vh - 24px);box-shadow:0 25px 90px rgba(18,43,37,.25);color:var(--ink)}.dialog::backdrop{background:rgba(18,43,37,.34);backdrop-filter:blur(3px)}.dialog form{padding:22px}.dialog-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:19px}.dialog h2{font:700 27px/1 Georgia,serif;letter-spacing:-.03em;margin:0}.close-button{font-size:26px;line-height:1;padding:0 3px}.field{border:0;padding:0;margin:0 0 16px}.field label,.field legend{display:block;font-weight:800;font-size:11px;margin-bottom:7px}.field input,.field select{width:100%;padding:12px 13px;background:#fff;border:1px solid #cbd8d1;border-radius:10px;color:var(--ink);outline:0}.field input:focus,.field select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,111,103,.12)}.money-input{position:relative}.money-input input{padding-right:35px!important}.money-input span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:800;font-size:12px}.field-help{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-top:5px}.choice-list{display:grid;gap:7px}.choice{display:flex;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.choice:has(input:checked){background:var(--mint);border-color:#8fc3b5}.choice input{accent-color:var(--teal);margin-top:3px;width:auto}.choice strong,.choice small{display:block}.choice strong{font-size:12px}.choice small{color:var(--muted);font-size:10px;margin-top:2px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:21px}.toggle{display:flex!important;align-items:center;gap:9px;cursor:pointer}.toggle input{position:absolute;opacity:0;width:1px!important}.toggle-track{width:35px;height:20px;padding:2px;border-radius:15px;background:#cad5d0;display:inline-block}.toggle-track::after{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}.toggle input:checked+.toggle-track{background:var(--teal)}.toggle input:checked+.toggle-track::after{transform:translateX(15px)}.recent-labels{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.recent-label{border:1px solid #b7d8ce;border-radius:999px;background:var(--mint);color:var(--teal-dark);padding:6px 10px;font-weight:800;font-size:10px}.reserve-impact{padding:11px;border:1px solid #e6bd73;border-radius:9px;background:var(--gold-soft);color:#704d1d;font-weight:700;font-size:11px;margin:8px 0 15px}.reserve-impact strong{display:block;font-size:14px;margin-top:3px}.reserve-bank-warning{padding:12px;border:2px solid #b42318;border-radius:9px;background:var(--coral-soft);color:#8e2a21;font-weight:800;font-size:11px;margin-top:10px}.dialog-lead{margin:0 0 20px;color:var(--muted);font-size:13px}.welcome-step{margin:-7px 0 9px;color:var(--teal);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.welcome-options{display:grid;gap:9px}.welcome-option{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;padding:14px;border:1px solid #b7d8ce;border-radius:11px;background:#f5fbf8;color:var(--teal-dark);text-align:left;text-decoration:none}.welcome-option:hover,.welcome-option:focus-visible{border-color:var(--teal);background:var(--mint);outline:0}.welcome-option-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--teal);color:#fff;font-weight:900;font-size:19px}.welcome-option-copy strong,.welcome-option-copy small{display:block}.welcome-option-copy strong{font-size:13px}.welcome-option-copy small{color:#4c625d;font-size:10px;margin-top:2px}.welcome-option-arrow{display:none}.welcome-back{justify-self:start;border:0;background:transparent;color:var(--teal);font-size:11px;font-weight:800;padding:0 0 4px}.welcome-back:hover,.welcome-back:focus-visible{text-decoration:underline;outline:0}.check{display:flex;gap:8px;align-items:start;font-size:11px}
.welcome-note{padding:12px;border:1px solid #b7d8ce;border-radius:11px;background:#f5fbf8;color:#36534c;font-size:11px;line-height:1.45}.welcome-note strong{color:var(--teal-dark)}.welcome-note p{margin:5px 0 0}.welcome-error{color:#9b3027}
.charge-list{gap:16px}.charge-family{display:grid;gap:6px}.charge-family h2{margin:0 0 3px;color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.charge-template-group{display:grid;gap:2px}.charge-template-group h3{margin:5px 0 1px;color:var(--teal-dark);font-size:11px;font-weight:800}.charge-row{grid-template-columns:minmax(180px,1fr) auto auto;gap:16px;padding:8px 10px;border-radius:9px}.charge-identity{display:flex;align-items:baseline;gap:10px;min-width:0}.charge-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.charge-meta{margin:0;white-space:nowrap}.charge-amounts{display:flex;align-items:baseline;gap:10px;white-space:nowrap}.charge-value{font-size:13px}.charge-amounts small{color:var(--muted);font-size:10px}.charge-row .row-actions{grid-column:auto;display:flex;align-items:center;gap:2px;border:0;padding:0}.charge-row .text-button{display:grid;place-items:center;width:34px;height:34px;border-radius:7px;padding:0;font-size:15px}.charge-row .text-button:hover,.charge-row .text-button:focus-visible{background:var(--mint);outline:0}.charge-row .text-button.danger:hover,.charge-row .text-button.danger:focus-visible{background:var(--coral-soft)}.charge-amount-frequency{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:8px}.charge-amount-frequency select{width:100%;padding:12px 9px;background:#fff;border:1px solid #cbd8d1;border-radius:10px;color:var(--ink)}.charge-amount-frequency select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,111,103,.12);outline:0}.week-reserves-card{margin-top:10px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:13px}.week-reserves-card .section-heading{margin:0 0 7px}.week-reserves-card .section-heading h2{font-size:17px}.week-reserves-list{display:grid;gap:2px}.week-reserve-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 2px;border-top:1px solid #edf1ef}.week-reserve-row:first-child{border-top:0}.week-reserve-name{display:block;font-size:12px;font-weight:800}.week-reserve-meta{display:block;color:var(--muted);font-size:10px;margin-top:2px}.week-reserve-balance{font-size:13px;font-weight:900;white-space:nowrap}.week-reserve-balance.negative{color:var(--coral)}.health-title-line{display:flex;align-items:center;gap:7px}.health-help{position:relative}.info-tip{display:grid;place-items:center;width:19px;height:19px;border:1px solid #9bc8bc;border-radius:50%;background:#fff;color:var(--teal);font:800 12px/1 Georgia,serif;padding:0}.info-tip:hover,.info-tip:focus-visible{background:var(--mint);outline:2px solid rgba(14,111,103,.22);outline-offset:2px}.tooltip{position:absolute;z-index:5;top:26px;left:-32px;width:min(310px,calc(100vw - 50px));padding:11px;border:1px solid #a9cfc3;border-radius:10px;background:#173b34;color:#fff;font-size:11px;line-height:1.45;box-shadow:0 12px 30px rgba(18,43,37,.2);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .15s,transform .15s}.health-help:hover .tooltip,.health-help:focus-within .tooltip{opacity:1;transform:translateY(0);pointer-events:auto}
@media(min-width:760px){body{padding-bottom:0}.app-header{height:72px}.app-shell{padding:42px 24px 72px}.bottom-nav{position:sticky;top:72px;bottom:auto;min-height:58px;width:min(620px,calc(100% - 32px));margin:0 auto;border:1px solid var(--line);border-radius:0 0 18px 18px;padding:5px;background:rgba(255,255,255,.96)}.bottom-nav a{flex-direction:row;font-size:12px}.bottom-nav a::before{font-size:17px}.week-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:18px}.quick-row{margin-top:0}.desktop-stack{display:flex;flex-direction:column}.summary-grid{grid-template-columns:repeat(3,1fr)}.suggestion-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.charge-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:9px 10px}.charge-identity{display:block}.charge-meta{display:block;margin-top:2px}.charge-amounts{display:grid;justify-items:end;gap:1px}.charge-row .row-actions{grid-column:1/-1;justify-content:flex-end;margin-top:1px}.charge-amount-frequency{grid-template-columns:1fr}.charge-amount-frequency select{min-height:43px}}
@media(max-width:430px){.brand small{display:none}.sync-pill{max-width:142px;padding:7px 8px}.sync-pill .sync-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-notice{top:68px;width:calc(100% - 24px);justify-content:center;text-align:center}.app-shell{padding-left:14px;padding-right:14px}.summary-grid{grid-template-columns:1fr}.summary-card{display:flex;justify-content:space-between;align-items:center}.summary-card strong{margin:0}.suggestion-list{grid-template-columns:1fr}.health-balances{grid-template-columns:1fr 1fr}.view-head .button{padding:10px}}
.bottom-nav{grid-template-columns:repeat(5,1fr)}.bottom-nav a[data-view="tracking"]::before{content:"▥"}
.future-commitments{margin:18px 0 24px;border:1px solid #d8c28d;border-radius:15px;background:#fffaf0;padding:14px}.future-commitments .section-heading{margin-bottom:6px}.future-commitments h2{font-size:18px}.future-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 2px;border-top:1px solid #eee2c5;font-size:12px}.future-row:first-child{border-top:0}.future-row strong{color:#7a531c}.spread-mode{display:grid;grid-template-columns:1fr 1fr;gap:7px}.spread-mode label{position:relative;margin:0!important}.spread-mode input{position:absolute;opacity:0;width:1px}.spread-mode span{display:grid;place-items:center;min-height:39px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:11px;font-weight:800}.spread-mode label:has(input:checked) span{border-color:var(--teal);background:var(--mint);color:var(--teal-dark)}.spread-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.spread-controls label{color:var(--muted);font-weight:700!important}.spread-controls select{margin-top:5px;padding:9px!important}.spread-preview{margin-top:9px;padding:11px;border-radius:10px;background:#f3f7f5;font-size:11px}.spread-preview>strong{display:block;color:var(--teal-dark);margin-bottom:6px}.spread-preview ul{display:grid;gap:3px;list-style:none;margin:0;padding:0}.spread-preview li{display:flex;justify-content:space-between;gap:9px}.spread-warning{margin:9px -2px -2px;padding:9px;border-radius:8px;background:var(--gold-soft);color:#704d1d;font-weight:700}.spread-lock{margin-top:9px;padding:10px;border-radius:9px;background:var(--blue-soft);color:#245b82;font-size:10px;font-weight:700}.tracking-summary{margin-top:18px}.tracking-table{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.tracking-head,.tracking-row{display:grid;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(100px,.65fr));align-items:center;gap:12px;padding:10px 13px}.tracking-head{background:#edf3f0;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.tracking-row{border-top:1px solid var(--line);font-size:12px}.tracking-row strong{justify-self:end}.tracking-row .positive{color:var(--teal)}.tracking-row .negative,.tracking-summary .negative{color:var(--coral)}
@media(max-width:600px){.tracking-table{overflow-x:auto}.tracking-head,.tracking-row{min-width:590px}.spread-controls{grid-template-columns:1fr}}
.tracking-available{min-height:16px;margin:-8px 0 7px;color:var(--muted);font-size:11px}.spread-warning p{margin:0 0 7px}.spread-warning button{border:1px solid #d3aa62;border-radius:7px;background:#fff;color:#704d1d;padding:6px 8px;font-size:10px;font-weight:800}
.future-values{display:flex;align-items:baseline;gap:8px}.future-values small{color:var(--muted);font-size:10px}.future-values small::before{content:"· "}
.funding-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.funding-choice{position:relative;display:grid!important;place-items:center;align-content:center;gap:4px;min-height:62px;margin:0!important;padding:8px 5px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);text-align:center;cursor:pointer}.funding-choice input{position:absolute;opacity:0;width:1px!important}.funding-choice>span{font-size:18px;line-height:1}.funding-choice strong{font-size:10px}.funding-choice:has(input:checked){border-color:var(--teal);background:var(--mint);box-shadow:inset 0 0 0 1px var(--teal);color:var(--teal-dark)}.funding-choice:focus-within{outline:3px solid rgba(14,111,103,.12);outline-offset:1px}.funding-help{display:block;min-height:15px;margin-top:6px;color:var(--muted);font-size:10px;line-height:1.4}
.tracked-charges{margin:4px 0 22px;padding:15px;border:1px solid #b9dcd0;border-radius:17px;background:#eef8f4}.tracked-charges .section-heading{align-items:start}.tracked-help{max-width:340px;color:var(--muted);font-size:10px;line-height:1.4;text-align:right}.tracked-charges-list{display:grid;gap:9px}.tracked-charge-card{border:1px solid #c9ded6;border-radius:13px;background:#fff;padding:13px}.tracked-charge-card.watch{border-color:#e6bd73}.tracked-charge-card.alert{border-color:#e3a08e;background:#fffaf8}.tracked-charge-head,.tracked-charge-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.tracked-charge-name{display:block;font-size:14px;font-weight:900}.tracked-charge-target{display:block;margin-top:2px;color:var(--muted);font-size:10px}.tracked-status{border-radius:999px;background:var(--mint);color:var(--teal-dark);padding:5px 8px;font-size:9px;font-weight:900;white-space:nowrap}.tracked-charge-card.watch .tracked-status{background:var(--gold-soft);color:#704d1d}.tracked-charge-card.alert .tracked-status{background:var(--coral-soft);color:#8e2a21}.tracked-charge-values{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.tracked-charge-values>div{border-radius:9px;background:#f3f7f5;padding:9px}.tracked-charge-values span{display:block;color:var(--muted);font-size:9px}.tracked-charge-values strong{display:block;margin-top:3px;font-size:13px}.tracked-charge-values .tracked-pending{color:var(--muted);font-size:9px;font-weight:700}.tracked-charge-actions{border-top:1px solid #edf1ef;padding-top:10px}.tracked-charge-actions>span{color:var(--muted);font-size:9px}
@media(max-width:600px){.tracked-charges .section-heading{display:block}.tracked-help{display:block;margin-top:6px;text-align:left}.tracked-charge-values{grid-template-columns:1fr}.tracked-charge-values>div{display:flex;align-items:center;justify-content:space-between}.tracked-charge-values strong{margin:0}.tracked-charge-actions{align-items:end}}
.shortcut-chip{display:inline-flex;align-items:center;border:1px solid #e4b9c8;border-radius:999px;background:#fff0f5;overflow:hidden}.shortcut-chip>button{border:0;background:transparent;color:var(--berry);padding:5px 8px;font:800 10px Arial,sans-serif;cursor:pointer}.shortcut-chip .shortcut-delete{border-left:1px solid #e4b9c8;padding-inline:7px;color:#8b6773}.shortcut-chip>button:hover,.shortcut-chip>button:focus-visible{background:#f8dce6;outline:0}
.nature-choice input{inset:0;width:100%;height:100%;margin:0;pointer-events:auto;cursor:pointer}
.nature-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.nature-choice-list .nature-choice:first-child{grid-column:auto}.funding-choice-health span{display:grid;gap:1px;line-height:1.05}.funding-choice-health span strong{font-size:10px}.funding-choice-health span small{font-size:8px;font-weight:700}.funding-choice-health:has(input:checked){border-color:#b8325d;background:#fde8ef;box-shadow:inset 0 0 0 1px #b8325d;color:#962348}.save-another-button{font-size:11px;padding-inline:10px}
.expense-primary-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.expense-primary-row>.field{min-width:0;margin-bottom:13px}#expenseForm>.field,#expenseForm>fieldset{margin-bottom:13px}#expenseForm .dialog-header{margin-bottom:15px}.nature-choice{min-height:39px}.expense-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.movement-type{display:inline-flex;align-items:center;min-height:19px;border-radius:999px;padding:2px 7px;background:#f1f3f2;color:#64716d;font-size:9px;font-weight:900;line-height:1.1}.movement-weekly{box-shadow:inset 3px 0 #b8325d}.movement-weekly .expense-symbol,.movement-weekly .movement-type{background:#fce7ec;color:#962348}.movement-charge,.movement-tracked{box-shadow:inset 3px 0 #d6a329}.movement-charge .expense-symbol,.movement-charge .movement-type,.movement-tracked .expense-symbol,.movement-tracked .movement-type{background:#fff3cf;color:#765410}.movement-health,.movement-reserve,.movement-refund{box-shadow:inset 3px 0 #2f7d68}.movement-health .expense-symbol,.movement-health .movement-type,.movement-reserve .expense-symbol,.movement-reserve .movement-type,.movement-refund .expense-symbol,.movement-refund .movement-type{background:#e8f4ef;color:#286956}.movement-transfer{box-shadow:inset 3px 0 #9aa7a2}.movement-transfer .expense-symbol,.movement-transfer .movement-type{background:#eff2f1;color:#5d6a66}
@media(max-width:480px){#expenseForm .dialog-actions{display:grid;grid-template-columns:1fr 1fr}#expenseForm .dialog-actions>.button:first-child{grid-column:1;grid-row:2}.save-another-button{grid-column:1/-1;grid-row:1}#saveExpenseButton{grid-column:2;grid-row:2}}
.week-spent{margin:-6px 0 14px;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);padding:9px 0;color:inherit}.week-spent summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;color:inherit;font-size:11px}.week-spent summary::-webkit-details-marker{display:none}.week-spent summary span{display:flex;align-items:center;gap:6px}.week-spent summary span::before{content:"›";font-size:16px;line-height:1;transition:transform .15s}.week-spent[open] summary span::before{transform:rotate(90deg)}.week-spent summary strong{font-size:12px;white-space:nowrap}.week-spent-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;margin-top:9px;padding:8px 9px;border-radius:9px;background:rgba(255,255,255,.1);font-size:10px}.week-spent-detail strong{text-align:right;white-space:nowrap}.week-spent-detail span:last-of-type,.week-spent-detail strong:last-child{padding-top:5px;border-top:1px solid rgba(255,255,255,.14);font-weight:900}
.week-meta-period,.tracking-week-cell{display:flex;align-items:center;gap:7px}.week-chart-trigger{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--teal);font-size:15px;font-weight:900;line-height:1}.week-chart-trigger:hover,.week-chart-trigger:focus-visible{border-color:var(--teal);background:var(--mint);outline:0}.week-card .week-chart-trigger{width:25px;height:25px;border-color:rgba(184,50,93,.18);background:rgba(255,255,255,.62);color:var(--teal-dark)}
.movement-period{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 1px;padding:15px 3px 1px;border-top:2px solid var(--line);color:var(--muted)}.movement-period:first-child{margin-top:0;padding-top:2px;border-top:0}.movement-period span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.movement-period strong{font-size:11px;text-align:right}
.week-chart-dialog{width:min(560px,calc(100% - 24px))}.week-chart-period{margin:-9px 0 16px;color:var(--muted);font-size:12px}.week-chart-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:22px}.week-chart-summary>div{min-width:0;border:1px solid var(--line);border-radius:11px;background:#fff8fa;padding:10px}.week-chart-summary span{display:block;color:var(--muted);font-size:9px}.week-chart-summary strong{display:block;margin-top:3px;font-size:14px;white-space:nowrap}.week-chart-summary .negative{border-color:#e7a9b7;background:var(--coral-soft)}.week-chart-summary .negative strong{color:var(--coral)}.week-chart-bars{display:grid;gap:13px}.week-chart-row{display:grid;grid-template-columns:86px minmax(70px,1fr) auto;align-items:center;gap:9px}.week-chart-row>span{color:var(--muted);font-size:10px;font-weight:800}.week-chart-row>strong{min-width:92px;text-align:right;font-size:11px;white-space:nowrap}.week-chart-row>strong small{color:var(--muted);font-size:8px}.week-chart-track{height:12px;border-radius:999px;background:#f3e6e9;overflow:hidden}.week-chart-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),#d96a8c)}.week-chart-empty{border:1px dashed var(--line);border-radius:11px;padding:22px;text-align:center;color:var(--muted);font-size:11px}.week-chart-adjustments{margin:18px 0 0;border-radius:9px;background:var(--gold-soft);padding:9px;color:#704d1d;font-size:10px;font-weight:800}.week-chart-note{margin:12px 0 0;color:var(--muted);font-size:9px;line-height:1.4}
.week-daily-section{margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--line)}.week-chart-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.week-chart-section-head h3{margin:0;font:700 17px/1.1 Georgia,serif}.week-chart-section-head span{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.week-daily-chart{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:7px 6px 2px}.week-daily-chart svg{display:block;width:100%;height:auto;overflow:visible}.week-daily-grid{stroke:#e5ece8;stroke-width:1}.week-daily-axis,.week-daily-day,.week-daily-date{fill:var(--muted);font:8px Arial,sans-serif}.week-daily-day{fill:var(--ink);font-weight:800}.week-daily-date{font-size:7px}.week-daily-area{fill:rgba(14,111,103,.09)}.week-daily-line{fill:none;stroke:var(--teal);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.week-daily-point circle{fill:#fff;stroke:var(--teal);stroke-width:3}.week-daily-point:focus{outline:none}.week-daily-point:focus circle{fill:var(--gold-soft);stroke:var(--gold);stroke-width:4}.week-category-section .week-chart-section-head{margin-bottom:13px}#weekChartDailyCarry{margin-top:6px;color:#704d1d}
@media(max-width:480px){.movement-period{align-items:flex-end}.movement-period strong{max-width:180px}.week-chart-row{grid-template-columns:76px minmax(50px,1fr) auto;gap:7px}.week-chart-row>strong{min-width:82px}.week-chart-summary strong{font-size:12px}}
