@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/source-sans-3-cyrillic-ext-wght-normal.37l8fim0t_ib5.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/source-sans-3-cyrillic-wght-normal.1-e4zgv7hgufa.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/source-sans-3-greek-ext-wght-normal.38utpr31492kw.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/source-sans-3-greek-wght-normal.3pte5qie232tb.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/source-sans-3-vietnamese-wght-normal.11rqcqafmsaly.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/source-sans-3-latin-ext-wght-normal.1lo4m1jl3xjl0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/source-sans-3-latin-wght-normal.2z6qwwh2csmp1.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--canvas:#f4f5f3;--surface:#fefefd;--ink:#202b26;--muted:#59635d;--action:#265a43;--action-soft:#e6eee8;--line:#dde2dc;--amber-ink:#785016;--amber-surface:#f3e9d3;--error-ink:#973b32;--error-surface:#f9e9e5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", "Source Sans 3 Variable", sans-serif;--nav-height:4rem;--radius-widget:1.375rem;--radius-control:.75rem;--surface-shadow:0 2px 8px #20352b04, 0 0 0 1px #20352b06}
*{box-sizing:border-box}.private-toolbar{justify-content:flex-end;margin-bottom:20px;display:flex}.private-budget{max-width:820px;margin-inline:auto}.private-budget h3{margin:16px 0 8px;font-size:1.125rem}.private-budget h4{margin:16px 0 8px}.private-budget details{border-bottom:1px solid var(--line);padding:16px 0}.private-budget summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600;display:list-item}.private-budget .private-amount{letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:12px 0;font-size:clamp(2rem,7vw,3.5rem)}.private-budget .ledger dd{white-space:normal;overflow-wrap:anywhere}.private-budget .ledger div{min-width:0}.private-actions{flex-wrap:wrap;align-items:center;gap:12px 24px;margin:24px 0;display:flex}.private-actions a{align-items:center;min-height:48px;display:inline-flex}.household-freshness{border-block:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:24px 0;padding:12px 0;display:flex}.manual-form{gap:16px;min-width:0;margin:24px 0;display:grid}.manual-form fieldset{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.manual-form label{gap:6px;font-size:1rem;display:grid}.manual-form input,.manual-form select,.manual-form textarea{border:1px solid var(--line);width:100%;min-width:0;min-height:48px;font:inherit;color:var(--ink);background:var(--surface);border-radius:4px;padding:10px 12px}.manual-form textarea{resize:vertical;min-height:90px}.manual-form .manual-check{align-items:flex-start;gap:12px;display:flex}.manual-check input{flex:0 0 24px;width:24px;height:24px;min-height:24px}.manual-form .split-editor fieldset{border-block:1px solid var(--line);margin-block:12px;padding-block:12px}.manual-form button,.household-freshness button,.private-budget button{cursor:pointer;min-height:48px;font:inherit;border:1px solid var(--line);color:var(--action);background:var(--surface);border-radius:4px;padding:10px 14px}.manual-form button.primary-action{color:var(--surface);background:var(--action);border-color:var(--action)}.manual-form :disabled,.household-freshness :disabled{opacity:.65;cursor:wait}.private-list{margin-block:20px;padding:0;list-style:none}.private-list li{border-top:1px solid var(--line);overflow-wrap:anywhere;padding:16px 0}.private-list a{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-height:44px;display:flex}.private-list strong{font-variant-numeric:tabular-nums}.private-budget .caption{max-width:none}@media (min-width:700px){.activity-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-form{max-width:620px}}.setup-form{gap:1.5rem;min-width:0;display:grid}.setup-form fieldset{border:1px solid #d4d8ce;border-radius:12px;gap:1rem;min-width:0;padding:1rem;display:grid}.setup-form legend{padding:0 .4rem;font-weight:700}.setup-form label{gap:.4rem;display:grid}.setup-form input,.setup-form select,.setup-form textarea{width:100%;max-width:100%;min-height:48px;font:inherit;box-sizing:border-box;padding:.6rem}.setup-form .setup-check{align-items:flex-start;gap:.7rem;display:flex}.setup-form .setup-check input{width:22px;min-width:22px;height:22px;min-height:22px;margin-top:.2rem}.setup-totals{grid-template-columns:minmax(0,1fr) auto;gap:.6rem 1rem;display:grid}.setup-totals dd{margin:0;font-weight:700}.setup-receipt{border-top:1px solid #d4d8ce;gap:1rem;padding-top:1rem;display:grid}.app-shell.private-shell{display:block}.private-shell main{max-width:660px;padding-bottom:calc(48px + env(safe-area-inset-bottom));margin:0 auto}.auth-panel{padding:12px 0}.auth-form{margin:28px 0 16px}.auth-form fieldset{border:0;gap:20px;min-width:0;margin:0;padding:0;display:grid}.auth-form label{gap:8px;font-weight:600;display:grid}.auth-form input{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:48px;color:var(--ink);font:inherit;border-radius:4px;padding:10px 12px;font-weight:400}.auth-form button{width:100%}.auth-form :disabled{opacity:.65}.auth-message{border-left:3px solid var(--amber-ink);background:var(--amber-surface);overflow-wrap:anywhere;margin:20px 0;padding:16px}.auth-message.error{border-color:var(--error-ink);background:var(--error-surface);color:var(--error-ink)}.auth-message.success{border-color:var(--action);background:var(--action-soft)}.auth-note{color:var(--muted);margin-top:16px;font-size:1rem}.auth-links{flex-direction:column;gap:4px;margin:16px 0;display:flex}.auth-links a{align-items:center;min-height:48px;display:inline-flex}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--canvas);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1.125rem;line-height:1.5}a{color:var(--action);text-underline-offset:4px}:focus-visible{outline:3px solid var(--action);outline-offset:4px}main:focus{outline:none}h1,h2,p{margin:0}h1{overflow-wrap:anywhere;letter-spacing:-.025em;font-size:clamp(2rem,6vw,2.625rem);font-weight:650;line-height:1.15}h2{font-size:1.375rem;font-weight:600;line-height:1.25}.app-shell{max-width:1200px;margin:0 auto}.header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:24px 20px;display:flex}.wordmark{white-space:nowrap;align-items:center;gap:10px;font-size:1.4375rem;font-weight:650;display:inline-flex}.brand-mark{background:var(--action);color:var(--surface);border-radius:50%;place-items:center;width:30px;height:30px;font-size:1.5625rem;font-weight:500;line-height:1;display:grid}.household-label{color:var(--muted);text-align:right;font-size:.875rem}main{min-width:0;padding:24px 20px calc(var(--nav-height) + env(safe-area-inset-bottom) + 32px)}.demo-banner{color:var(--amber-ink);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:32px;font-size:.875rem;font-weight:550;display:flex}.demo-banner a{align-items:center;min-height:44px;margin-left:auto;display:inline-flex}.demo-dot,.coverage-dot{background:currentColor;border-radius:50%;flex:0 0 6px;width:6px;height:6px}.eyebrow{letter-spacing:.12em;color:var(--muted);margin-bottom:8px;font-size:.75rem;font-weight:600}.intro{background:var(--action-soft);border-radius:4px;margin:32px 0 40px;padding:28px 24px}.intro-mark{color:var(--action);margin-bottom:20px;font-size:2rem;line-height:1}.intro h2{letter-spacing:-.02em;max-width:420px;font-size:clamp(1.5625rem,4vw,2.125rem)}.intro p{max-width:510px;margin-top:12px}.intro .development-note{color:var(--muted);margin-top:24px;font-size:.9375rem}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-heading h2{font-size:1.1875rem}.status{background:var(--amber-surface);max-width:100%;color:var(--amber-ink);border-radius:3px;flex-shrink:0;padding:3px 8px;font-size:.875rem}.period{color:var(--muted);margin-top:10px;font-size:.9375rem}.ledger{margin:20px 0 16px}.ledger div{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;padding:16px 0;display:flex}.ledger dt{flex:150px;font-size:1rem}.ledger dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:1.125rem;font-weight:600}.caption{color:var(--muted);max-width:460px;font-size:.875rem}.coverage{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--amber-ink);gap:12px;margin-top:32px;padding:16px 0;display:flex}.coverage-dot{margin-top:10px}.coverage p{font-size:.9375rem}.coverage p+p{margin-top:4px}.closing-note{color:var(--muted);margin-top:32px;font-size:.875rem}.navigation{z-index:10;background:var(--surface);border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.navigation a{min-width:0;min-height:60px;color:var(--muted);overflow-wrap:anywhere;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px 2px;font-size:.875rem;text-decoration:none;display:flex}.navigation a[aria-current=page]{color:var(--action);background:var(--action-soft);font-weight:650}.navigation a:hover{color:var(--action)}.skip-link{z-index:30;background:var(--surface);padding:12px 16px;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.text-link{align-items:center;min-height:48px;display:inline-flex}@media (min-width:800px){.app-shell{grid-template-columns:220px minmax(0,1fr);display:grid}.header{grid-column:1/-1;padding:28px 40px}.navigation{background:0 0;border:none;flex-direction:column;align-self:start;gap:8px;padding:36px 24px;display:flex;position:sticky;top:24px}.navigation a{flex-direction:row;justify-content:flex-start;gap:12px;min-height:48px;padding:12px 16px;font-size:1.125rem}main{max-width:760px;padding:36px 40px 60px}.intro{padding:32px}}@media (prefers-reduced-motion:no-preference){.navigation a{transition:color .14s ease-out,background-color .14s ease-out}}.page-description{color:var(--muted);max-width:36em;margin-top:12px}.cycle-header{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:24px;font-size:1rem;display:flex}.status-funded{color:var(--action);background:var(--action-soft)}.data-status{color:var(--amber-ink);margin:12px 0 24px;font-size:.875rem}.data-status p+p{margin-top:4px}.allowance{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:24px 20px}.allowance h2{font-size:1.125rem;font-weight:500}.main-amount{letter-spacing:-.025em;margin:12px 0 16px;font-size:clamp(2.25rem,9vw,2.75rem);font-weight:650;line-height:1.2}.money{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.main-amount .money,.goal-amount .money{white-space:normal;overflow-wrap:anywhere}.pace{font-size:1.0625rem}.reserved-note{color:var(--muted);margin-top:16px;font-size:.9375rem}.calculation{border-top:1px solid var(--line);margin-top:16px}summary{cursor:pointer;min-height:48px;color:var(--action);padding:12px 0;font-size:1rem}summary:hover{text-underline-offset:4px;text-decoration:underline}.calculation .budget-row{font-size:.9375rem}.budget-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;padding:16px 0;display:flex}.budget-row>div{flex:180px;min-width:0}.budget-row>.money{white-space:normal;overflow-wrap:anywhere;max-width:100%;font-size:1.125rem}.budget-row .caption{margin-top:4px}.budget-section{margin-top:36px}.budget-section>h2,.budget-section>.section-heading{margin-bottom:12px}.budget-section>.caption{margin-top:16px}.upcoming-actions{margin-top:24px}.upcoming-primary{color:var(--action);background:var(--action-soft);border-radius:4px;padding:14px 16px;font-weight:600}.upcoming-primary span{font-size:.875rem;font-weight:400;display:block}.upcoming-actions>.caption{margin-top:8px}.priority-title{margin-bottom:4px;font-size:1.375rem;font-weight:600}.attention-link{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:12px 0;text-decoration:none;display:flex}.attention-link:hover{text-decoration:underline}.allowance-negative{border-color:var(--error-ink)}.allowance-negative .main-amount{color:var(--error-ink)}.state-message{color:var(--amber-ink);margin-top:16px;font-size:1rem}.allowance-negative .state-message{color:var(--error-ink)}.category-details{margin-top:20px}.category-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 0;display:flex}.category-row>div{min-width:0}.category-target{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.filter-links{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.filter-links a{border:1px solid var(--line);border-radius:4px;align-items:center;min-height:48px;padding:8px 12px;font-size:1rem;text-decoration:none;display:inline-flex}.filter-links a[aria-current=page]{background:var(--action-soft);border-color:var(--action);font-weight:600}.filter-result{margin-top:12px}.transaction-group{margin-top:28px}.transaction-group h2{color:var(--muted);font-size:1rem;font-weight:500}.transaction-group ul{margin:8px 0 0;padding:0;list-style:none}.transaction-row{border-bottom:1px solid var(--line);padding:16px 0}.transaction-main{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;display:flex}.merchant{font-weight:550}.transaction-row>.caption{margin-top:4px}.transaction-statuses{flex-wrap:wrap;gap:8px;display:flex}.transaction-statuses:not(:empty){margin-top:8px}.debt-feature{margin-top:24px;padding-bottom:8px}.debt-feature h2{font-size:1.75rem}.goal-amount{margin:12px 0 4px;font-size:clamp(2rem,8vw,2.5rem)}.projection-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:20px;padding:16px 0}.projection-note p{color:var(--muted);margin-top:4px;font-size:.9375rem}.empty-state{background:var(--surface);margin:32px 0;padding:24px}.empty-state p{margin-top:12px}.field-label{margin-top:32px;margin-bottom:8px;display:block}select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--muted);border-radius:4px;width:100%;min-height:48px;padding:8px}.primary-action{min-height:48px;color:var(--surface);background:var(--action);border-radius:4px;justify-content:center;align-items:center;margin:24px 0;padding:12px 20px;text-decoration:none;display:inline-flex}.back-link{margin-bottom:16px}.purchase-action{width:100%;margin:0}input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--muted);font-variant-numeric:tabular-nums;border-radius:4px;width:100%;min-height:48px;padding:12px}input[aria-invalid=true]{border-color:var(--error-ink)}.input-hint{margin-top:8px}.input-error{color:var(--error-ink);margin-top:8px;font-size:1rem}button.primary-action{font:inherit;cursor:pointer;border:none;width:100%}button.primary-action:disabled{color:var(--muted);background:var(--action-soft);cursor:not-allowed}.purchase-result{border-top:1px solid var(--line);margin-top:12px;padding:24px 0}.purchase-result>.caption{margin-top:12px}.result-caveat{color:var(--amber-ink);padding:16px 0}.import-row{border-top:1px solid var(--line);overflow-wrap:anywhere;padding:16px 0}.import-row summary{cursor:pointer;line-height:1.5}.import-row .manual-form{margin-top:16px}.import-split{border-bottom:1px solid var(--line);padding:12px 0}.import-split label{gap:8px;margin-bottom:12px;display:grid}.manual-form fieldset{border:1px solid var(--line);min-width:0;padding:12px}.notification-settings{gap:var(--space-5,24px);display:grid}.notification-settings label{flex-direction:column;gap:8px;display:flex}.notification-settings input{min-width:0;max-width:100%;min-height:48px;font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:10px 12px}.notification-settings .checkbox-field{flex-direction:row;align-items:flex-start}.notification-settings .checkbox-field input{flex:none;width:20px;min-height:20px;margin-top:4px}.notification-settings input[type=time]{width:100%;min-width:0}.notification-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.notification-device{border-top:1px solid var(--line);overflow-wrap:anywhere;padding:16px 0}@media (max-width:360px){.notification-times{grid-template-columns:1fr}}
body{font-optical-sizing:auto;font-size:1rem;line-height:1.5}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1{letter-spacing:-.035em;font-size:clamp(1.875rem,3.5vw,2.5rem);font-weight:650;line-height:1.12}h2{letter-spacing:-.015em;font-size:1.125rem}h3{letter-spacing:-.01em}a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,input,select,textarea,.primary-action{border-radius:var(--radius-control)}button,.primary-action{font-weight:600}button:active:not(:disabled),.primary-action:active,.secondary-action:active{filter:brightness(.94)}button:disabled{cursor:not-allowed}svg{flex-shrink:0}.money{white-space:normal;overflow-wrap:anywhere}.app-shell{max-width:1440px;display:block}.header{border:0;gap:.75rem;padding:1rem}.wordmark{color:var(--ink);letter-spacing:-.035em;min-height:44px;font-size:1.1875rem;text-decoration:none}.brand-mark{background:var(--action);border-radius:.75rem;width:2.25rem;height:2.25rem}.header-meta{align-items:center;gap:1.5rem;display:flex}.household-label{display:none}.header-settings{align-items:center;gap:.375rem;min-height:44px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}main,.private-shell main{padding:1rem 1rem calc(var(--nav-height) + env(safe-area-inset-bottom) + 1.5rem);min-width:0;max-width:none;margin:0}.private-budget{max-width:none}.private-shell:not(:has(.navigation)) main{max-width:660px;margin-inline:auto}.navigation{inset:auto .625rem calc(.5rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);background:#fefefdf2;border:1px solid #fffa;border-radius:1.25rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:.125rem;padding:.375rem;display:grid;position:fixed;box-shadow:0 4px 18px #17251c10}.navigation a{border-radius:.875rem;gap:.125rem;min-width:0;min-height:3rem;padding:.25rem .125rem;font-size:.875rem}.navigation a span{overflow-wrap:anywhere;max-width:100%}.navigation a[aria-current=page]{background:var(--action-soft)}.demo-banner{color:var(--muted);gap:.375rem;margin-bottom:1.25rem;font-size:.875rem}.demo-banner a{min-height:44px}.dashboard-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem 1rem;display:flex}.dashboard-title>div{flex:9rem;min-width:0}.dashboard-date{color:var(--muted);margin-bottom:.25rem;font-size:.875rem;line-height:1.4}.dashboard-title h1{font-size:clamp(1.875rem,4vw,2.5rem)}.funding-pill{color:var(--amber-ink);background:var(--amber-surface);overflow-wrap:anywhere;border-radius:100px;flex-shrink:0;max-width:100%;padding:.375rem .625rem;font-size:.875rem;font-weight:600;line-height:1.3}.funding-pill.is-funded{background:var(--action-soft);color:var(--action)}.dashboard-coverage{color:var(--amber-ink);margin:.375rem 0 .875rem;font-size:.875rem;line-height:1.4}.dashboard-coverage>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;min-height:44px;padding:.5rem 0;font-size:.875rem;list-style:none;display:flex}.dashboard-coverage>summary::-webkit-details-marker{display:none}.dashboard-coverage>summary>span:first-child{min-width:0}.coverage-details-label{color:var(--action);flex:none;font-weight:600}.dashboard-coverage[open] .coverage-details-label:after{content:" · згорнути"}.dashboard-coverage-details{padding:.125rem 0 .5rem}.coverage-summary p+p{margin-top:.25rem}.coverage-indicator{background:currentColor;border-radius:50%;width:.375rem;height:.375rem;margin:0 .375rem .125rem 0;display:inline-block}.coverage-summary details{border:0;padding:.375rem 0}.coverage-summary summary{min-height:44px;padding:.5rem 0;font-size:.875rem}.freshness-compact.household-freshness{border:0;gap:.25rem .75rem;margin:.375rem 0 0;padding:0}.freshness-compact .caption{color:var(--muted);flex:1;font-size:.875rem}.freshness-compact.household-freshness button{background:0 0;border:0;min-height:44px;padding:.375rem .625rem;font-size:.875rem}.daily-overview{background:var(--surface);border-radius:var(--radius-widget);box-shadow:var(--surface-shadow);padding:1.125rem 1.25rem;container-type:inline-size}.overview-metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:1rem;display:grid}.overview-metric{min-width:0}.overview-metric h2{letter-spacing:0;min-height:2.25rem;color:var(--muted);font-size:.875rem;font-weight:500;line-height:1.5}.overview-amount{letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;margin:.375rem 0;font-size:clamp(1.125rem,7cqi,2.625rem);font-weight:650;line-height:1.2;text-decoration:none;display:block}.remaining-metric{border-left:1px solid var(--line);padding-left:1rem}.remaining-metric .overview-amount{color:var(--action)}a.overview-amount{align-items:center;min-height:44px;display:flex}.overview-amount-link{justify-content:space-between;gap:.375rem}.overview-amount-link svg{color:var(--action);opacity:.72}.metric-note{color:var(--muted);font-size:.875rem;line-height:1.5}.daily-guidance{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:1rem;padding-top:.875rem;font-size:.875rem;display:flex}.daily-guidance strong{color:var(--ink);font-variant-numeric:tabular-nums}.overview-calculation,.private-budget .overview-calculation{border:0;margin-top:.25rem;padding:.375rem 0 0}.overview-calculation summary,.private-budget .overview-calculation summary{min-height:44px;color:var(--action);padding:.75rem 0;font-size:.875rem;font-weight:500}.overview-calculation>a{align-items:center;min-height:44px;font-size:.875rem;display:inline-flex}.overview-state{background:var(--amber-surface);color:var(--amber-ink);border-radius:.75rem;margin-top:.875rem;padding:.75rem;font-size:.875rem}.has-deficit .remaining-metric .overview-amount{color:var(--error-ink)}.has-deficit .overview-state{color:var(--error-ink);background:var(--error-surface)}.dashboard-actions{flex-wrap:wrap;align-items:center;gap:.625rem;margin:.75rem 0 1.125rem;display:flex}.dashboard-actions>a{flex:9rem;min-width:0}.dashboard-actions .primary-action,.dashboard-actions .secondary-action{border-radius:var(--radius-control);justify-content:center;align-items:center;gap:.375rem;min-height:48px;padding:.75rem .625rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.dashboard-actions .primary-action{background:var(--action);color:var(--surface);margin:0}.dashboard-actions .secondary-action{color:var(--action);background:var(--action-soft)}.dashboard-grid{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.dashboard-widget{background:var(--surface);border-radius:var(--radius-widget);min-width:0;box-shadow:var(--surface-shadow);padding:1.125rem 1.25rem}.widget-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1.375rem;display:flex}.widget-heading>div{min-width:0}.widget-heading h2{font-size:.9375rem;font-weight:650;line-height:1.4}.widget-note{color:var(--muted);margin-top:.375rem;font-size:.875rem;line-height:1.5}.widget-total{letter-spacing:-.025em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right;font-size:1.125rem;font-weight:650}.widget-heading-link{flex-shrink:0;justify-content:flex-end;align-items:center;gap:.125rem;min-height:44px;margin-top:-.75rem;font-size:.875rem;text-decoration:none;display:inline-flex}.widget-empty{color:var(--muted);padding:.375rem 0 .875rem;font-size:.875rem}.spending-chart{grid-template-columns:repeat(7,minmax(0,1fr));gap:.375rem;display:grid}.chart-column{min-width:0}.chart-day{color:var(--muted);border-radius:.5rem;flex-direction:column;align-items:center;padding:.25rem 0;text-decoration:none;display:flex}.chart-track{border-bottom:1px solid var(--line);background-image:repeating-linear-gradient(0deg,#0000 0 calc(25% - 1px),#eef0ec 25%);justify-content:center;align-items:flex-end;width:100%;height:8rem;display:flex}.chart-bar{width:60%;height:var(--bar-height);background:#a7c2af;border-radius:.375rem .375rem 0 0;min-height:2px;max-height:100%}.chart-day:hover .chart-bar{background:#5b8c70}.is-today .chart-bar{background:var(--action)}.chart-date{flex-direction:column;align-items:center;gap:.125rem;margin-top:.5rem;font-size:.875rem;display:flex}.chart-date span{font-size:.875rem;font-weight:600}.is-today .chart-date{color:var(--action)}.chart-unavailable{color:var(--muted)}.chart-footnote{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.375rem 1rem;margin:1rem 0 .25rem;font-size:.875rem;display:flex}.legend-dot{background:var(--action);border-radius:50%;width:.375rem;height:.375rem;margin-right:.375rem;display:inline-block}.chart-values,.private-budget .chart-values{border:0;padding:.125rem 0}.chart-values summary,.private-budget .chart-values summary{min-height:44px;color:var(--action);padding:.75rem 0;font-size:.875rem;font-weight:500}.chart-values .ledger a{align-items:center;min-height:44px;display:inline-flex}.ledger{font-size:.875rem}.ledger div{min-width:0}.ledger dd{overflow-wrap:anywhere;white-space:normal}.next-payment{background:#f1f5f0;border-radius:1rem;padding:1rem}.small-label{color:var(--muted);letter-spacing:.015em;font-size:.875rem}.next-payment h3,.private-budget .next-payment h3{margin:.375rem 0;font-size:.875rem;font-weight:600}.payment-amount{font-variant-numeric:tabular-nums;letter-spacing:-.035em;overflow-wrap:anywhere;margin:.625rem 0;font-size:1.625rem;font-weight:650}.next-payment .caption{font-size:.875rem}.protected-balances{margin:1rem 0 .5rem;font-size:.875rem}.protected-balances div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem 0;display:flex}.protected-balances dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-weight:600}.widget-link{justify-content:space-between;align-items:center;min-height:44px;font-size:.875rem;text-decoration:none;display:flex}.category-distribution{border-radius:.5rem;gap:3px;height:.5rem;margin-bottom:1rem;display:flex;overflow:hidden}.category-color-0{background:var(--action)}.category-color-1{background:#71977e}.category-color-2{background:#929479}.category-color-3{background:#d0d9cf}.category-dot{border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.category-name{align-items:center;gap:.625rem;min-width:0;display:flex}.dashboard-category-list{margin:0 0 1rem;padding:0;list-style:none}.dashboard-category-list li a,.category-rest{color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;min-height:44px;padding:.375rem 0;font-size:.875rem;text-decoration:none;display:flex}.dashboard-category-list strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:600}.dashboard .caption{max-width:none;font-size:.875rem}.dashboard-transactions{margin:0;padding:0;list-style:none}.dashboard-transactions li+li{border-top:1px solid #edf0eb}.dashboard-transaction{color:var(--ink);grid-template-columns:2.25rem minmax(0,1fr) auto .875rem;align-items:center;gap:.75rem;min-height:60px;padding:.875rem 0;text-decoration:none;display:grid}.merchant-avatar{width:2.25rem;height:2.25rem;color:var(--action);background:#edf1e9;border-radius:.75rem;place-items:center;font-size:.875rem;font-weight:600;display:grid}.transaction-copy{flex-direction:column;gap:.25rem;min-width:0;display:flex}.transaction-copy>strong{overflow-wrap:anywhere;font-size:.875rem;font-weight:600}.transaction-copy>span{color:var(--muted);overflow-wrap:anywhere;font-size:.875rem}.transaction-value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right;font-size:.875rem;font-weight:600}.transaction-badges{flex-wrap:wrap;gap:.375rem;display:flex}.transaction-badges>span{color:var(--amber-ink);background:var(--amber-surface);border-radius:.25rem;padding:.0625rem .25rem;font-size:.875rem}.attention-row{min-height:48px;color:var(--ink);align-items:center;gap:.75rem;padding:.5rem 0;font-size:.875rem;text-decoration:none;display:flex}.attention-row>span:first-child{flex:1}.attention-row small{color:var(--muted);font-size:.875rem}.attention-count{background:var(--amber-surface);color:var(--amber-ink);border-radius:.5rem;padding:.125rem .5rem;font-size:.875rem;font-weight:600}.attention-clear{align-items:flex-start;gap:.5rem;font-size:.875rem;display:flex}.attention-widget>.caption{margin-top:.75rem}.dashboard-demo-note{color:var(--muted);margin-top:1.5rem;font-size:.875rem}.household-loading{color:var(--muted);gap:1.5rem;display:grid}.loading-surface{border-radius:var(--radius-widget);background:#e8ede6;height:12rem}.page-heading{margin-bottom:1.125rem}.page-description{margin-top:.625rem;font-size:.9375rem}.budget-section,.debt-feature,.empty-state,.auth-panel{background:var(--surface);border-radius:var(--radius-widget);box-shadow:var(--surface-shadow);border:0;margin:1rem 0;padding:1.25rem}.budget-section .budget-section{box-shadow:none;background:0 0;padding:0}.intro,.allowance{border-radius:var(--radius-widget);border:0;padding:1.5rem}.status{border-radius:.5rem;padding:.25rem .5rem;font-size:.875rem}.manual-form,.auth-form,.setup-form{font-size:.9375rem}.manual-form input,.manual-form select,.manual-form textarea,.auth-form input,.setup-form input,.setup-form select,.setup-form textarea,select,input{border:1px solid var(--line);border-radius:var(--radius-control);background:#f9faf7;min-height:48px;padding:.75rem;font-size:1rem}.manual-form button,.household-freshness button,.private-budget button{border-radius:var(--radius-control);font-size:.875rem}.manual-check input,.setup-check input{accent-color:var(--action);border-radius:.25rem;padding:0}.primary-action{border-radius:var(--radius-control);font-size:.9375rem}.auth-message{border-radius:var(--radius-control);border:0;font-size:.875rem}.private-budget summary{font-size:.875rem}.private-list li{border-top-color:#e9ede7}.private-actions{font-size:.875rem}.private-budget>h1{margin-bottom:1rem}.household-freshness{border-radius:var(--radius-control);background:#eaf0e8;border:0;padding:.75rem 1rem}.activity-filters{background:var(--surface);border-radius:var(--radius-widget);box-shadow:var(--surface-shadow);padding:1.25rem}.activity-filters label{font-size:.875rem}.activity-scope{border-radius:var(--radius-control);background:var(--action-soft);padding:1rem;font-size:.875rem}.private-budget .activity-filters{max-width:none}.filter-links{font-size:.875rem}.filter-links a{border-radius:.75rem}.transaction-group{background:var(--surface);border-radius:var(--radius-widget);margin:.875rem 0;padding:1.125rem 1.25rem}.transaction-row{padding-block:1rem}.auth-panel{max-width:620px}.setup-form fieldset{border-color:var(--line);border-radius:1rem}@container (max-width:16rem){.overview-metrics{grid-template-columns:minmax(0,1fr)}.remaining-metric{border-left:0;border-top:1px solid var(--line);padding:.875rem 0 0}}@media (min-width:700px){.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.trend-widget{grid-column:1/-1}.protected-widget{grid-area:3/2}.categories-widget{grid-area:2/1}.recent-widget{grid-area:3/1}.attention-widget{grid-area:2/2}.daily-overview{padding:1.5rem 1.75rem}.overview-metric h2{min-height:auto;font-size:.875rem}.overview-amount{font-size:2.5rem}.daily-guidance{font-size:.875rem}.dashboard-actions .primary-action{flex:none;padding-inline:1.125rem;font-size:.875rem}.dashboard-actions .secondary-action{flex:none;padding-inline:.625rem;font-size:.875rem}.dashboard-widget{padding:1.5rem}}@media (min-width:900px){.app-shell,.app-shell.private-shell{grid-template-columns:200px minmax(0,1fr);display:grid}.header{grid-column:1/-1;padding:1.375rem 2rem}.household-label{font-size:.875rem;display:block}main,.private-shell main{grid-area:2/2;width:100%;padding:1.5rem 2rem 3rem 1rem}.private-shell:not(:has(.navigation)) main{grid-area:2/1/auto/-1;width:100%;padding:1rem 2rem 3rem}.navigation{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;flex-direction:column;grid-area:2/1;align-self:start;gap:.375rem;padding:1.5rem 1rem 1.5rem 1.5rem;display:flex;position:sticky;inset:1.5rem auto auto}.navigation a{border-radius:.75rem;flex-direction:row;justify-content:flex-start;gap:.75rem;min-height:48px;padding:.75rem;font-size:.875rem}.demo-banner{margin-bottom:1rem}.dashboard{max-width:1150px}.daily-overview{padding:1.75rem 2rem 1rem}.overview-metrics{gap:2rem}.remaining-metric{padding-left:2rem}.dashboard-coverage,.metric-note{font-size:.875rem}.widget-heading h2{font-size:1rem}.widget-note,.widget-heading-link{font-size:.875rem}.chart-track{height:10rem}.chart-date,.chart-date span,.chart-footnote{font-size:.875rem}.private-budget:not(.dashboard-page){max-width:900px}}@media (min-width:1100px){.dashboard-grid{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}.trend-widget{grid-area:1/1}.protected-widget{grid-area:1/2}.categories-widget{grid-area:2/1}.recent-widget{grid-area:3/1}.attention-widget{grid-area:2/2/4;align-self:start}.dashboard-transaction{grid-template-columns:2.25rem minmax(0,1fr) auto .875rem}}@media (max-width:699px){.filter-links{z-index:1;background:color-mix(in srgb, var(--canvas) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-inline:-.25rem;padding:.375rem .25rem;position:sticky;top:.375rem}.budget-row{padding-block:.875rem}.budget-section>.caption,.debt-feature>.caption{margin-top:.875rem}.protected-widget{order:4}.categories-widget{order:2}.recent-widget{order:3}.attention-widget{order:5}.dashboard-transaction{grid-template-columns:1.875rem minmax(0,1fr) .75rem;gap:.5rem}.merchant-avatar{width:1.875rem;height:1.875rem}.transaction-value{text-align:left;grid-area:auto/2}.dashboard-transaction>svg{grid-area:1/3}}@media (max-width:359px){.overview-metrics{grid-template-columns:minmax(0,1fr)}.overview-metric h2{min-height:auto}.remaining-metric{border-left:0;border-top:1px solid var(--line);padding:.875rem 0 0}.overview-amount{font-size:1.875rem}.dashboard-actions{flex-wrap:wrap}.dashboard-actions>a{flex:100%}.widget-heading{flex-wrap:wrap}.widget-total{text-align:left}.dashboard-title{flex-wrap:wrap}}@media (prefers-reduced-motion:no-preference){.primary-action,.secondary-action,button{transition:transform .1s ease-out,filter .1s ease-out}.primary-action:active,.secondary-action:active,button:active:not(:disabled){transform:scale(.98)}.chart-bar{transition:background-color .1s ease-out}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.navigation{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--muted)}}@media (prefers-contrast:more){.daily-overview,.dashboard-widget{border:1px solid var(--muted)}.chart-bar{background:#527d5d}.is-today .chart-bar{background:var(--action)}}
.pwa-runtime{max-width:760px;padding:0 20px calc(var(--nav-height) + env(safe-area-inset-bottom) + 24px);margin:0 auto}.pwa-runtime:empty{display:none}.pwa-notice,.pwa-install-invitation,.pwa-install-help{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-widget);overflow-wrap:anywhere;margin:16px 0;padding:20px}.pwa-notice{border-color:var(--amber-ink)}.pwa-notice p,.pwa-install-help p,.pwa-install-invitation p{color:var(--muted);margin:8px 0}.pwa-runtime button,.pwa-install-help button,.pwa-notice button{font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);min-height:48px;color:var(--action);max-width:100%;margin:8px 8px 0 0;padding:10px 16px}.pwa-install-help .primary-action,.pwa-install-invitation .primary-action{background:var(--action);color:var(--surface)}.pwa-runtime h2,.pwa-install-help h2{margin:0 0 12px;font-size:1.2rem}.pwa-runtime summary,.pwa-install-help summary{cursor:pointer;min-height:48px;padding:12px 0}.pwa-runtime ol,.pwa-install-help ol{padding-left:24px}html[data-session-ended=true] .app-shell{display:none}.app-shell{min-height:100svh}@media (max-width:699px){.header{padding-top:max(20px, env(safe-area-inset-top));padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right))}.pwa-runtime{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}html[data-keyboard-open=true] .navigation{display:none}}@media (min-width:820px){.pwa-runtime{margin-left:max(256px,50vw - 380px)}}
