:root{--bt-bg:#f5f3ee;--bt-surface:#fff;--bt-ink:#17261c;--bt-muted:#66756b;--bt-muted-on-bg:#5f6d63;--bt-green:#1b3a28;--bt-accent:#2d5e3a;--bt-mint:#dde9df;--bt-red:#b84a3a;--bt-red-soft:#f3ded9;--bt-red-on-soft:#a93f31;--bt-yellow:#e7cb79;--bt-line:#d8ddd7;--bt-focus-inner:#fff;--bt-focus-outer:#17261c;--bt-space-1:4px;--bt-space-2:8px;--bt-space-3:12px;--bt-space-4:16px;--bt-space-5:20px;--bt-space-6:24px;--bt-space-7:28px;--bt-space-8:32px;--bt-radius-sm:4px;--bt-radius-md:10px;--bt-radius-lg:16px;--bt-border:1px solid var(--bt-line);--bt-font-display:Geist,"Playfair Display",serif;--bt-font-body:Inter,Manrope,sans-serif;--bt-font-mono:"Geist Mono","DM Mono",monospace;--paper:var(--bt-bg);--card:var(--bt-surface);--ink:var(--bt-ink);--muted:var(--bt-muted);--green:var(--bt-green);--coral:var(--bt-red);--line:var(--bt-line)}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/geist-cyrillic-wght-normal.12b57c6b.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/geist-latin-ext-wght-normal.b921df26.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Geist;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/geist-latin-wght-normal.9ff55a8a.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/inter-cyrillic-wght-normal.491cbc05.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/inter-latin-ext-wght-normal.3835a68e.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Inter;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/inter-latin-wght-normal.6c596dfc.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/geist-mono-cyrillic-wght-normal.33900800.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/geist-mono-latin-ext-wght-normal.3d379059.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Geist Mono;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/geist-mono-latin-wght-normal.125b055e.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.calendar-range,.daily-card h3,.modal-close,h1,h2{font-family:var(--bt-font-display)}.allowance-chart-baseline,.calendar-weekdays span,.category-table-head,.composer-title,.daily-card-head>span,.day-kicker,.day-total,.draft-forecast span,.expense-field,.eyebrow,.fact-label,.label,.ledger-head,.period{font-family:var(--bt-font-mono);text-transform:uppercase}.actual-view strong,.allowance-chart-baseline,.allowance-chart-head strong,.allowance-chart-tooltip-row strong,.amount,.amount-field input,.amount-input-wrap input,.amount-rsd-preview-value,.bt-period-admin__row-select span,.calendar-cell .cell-amount,.calendar-cell .cell-day,.calendar-cell .cell-pct,.category-chart-head strong,.category-chart-note-value,.category-chart-tooltip-row strong,.category-report-head strong,.category-report-period-days,.category-table-foot span:nth-child(n+2),.category-table-row span:nth-child(n+2),.daily-metric strong,.day-total strong,.draft-forecast strong,.draft-forecast-value,.expense-row .row-amount,.ledger-starting-amount,.legacy-fact-value,.mini strong,.mini-support-value,.value,input[type=number]{font-family:var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}*{box-sizing:border-box}body{margin:0;color:var(--bt-ink);background-color:var(--bt-bg);font-family:var(--bt-font-body)}.page{max-width:1180px;margin:0 auto;padding:calc(32px + env(safe-area-inset-top, 0px)) calc(28px + env(safe-area-inset-right, 0px)) calc(72px + env(safe-area-inset-bottom, 0px)) calc(28px + env(safe-area-inset-left, 0px))}header{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--ink);padding-bottom:23px}.eyebrow,.label,.period{font-family:var(--bt-font-mono);letter-spacing:.055em;text-transform:uppercase}.eyebrow{color:var(--green);font-size:12px;margin:0 0 9px}h1{font-family:var(--bt-font-display);font-size:clamp(34px,5vw,61px);line-height:.98;margin:0;letter-spacing:-.035em}.period{font-size:12px;color:var(--bt-muted-on-bg);margin-top:7px}.header-meta{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.overview{display:grid;grid-template-columns:1.42fr .85fr;grid-gap:18px;gap:18px;margin-top:28px}.balance{position:relative;min-height:325px;overflow:hidden;padding:clamp(28px,5vw,56px);background:var(--green);color:#f8f7f0;border-radius:3px}.balance:after{content:"";position:absolute;width:310px;height:310px;border:1px solid hsla(0,0%,100%,.27);border-radius:50%;right:-102px;top:-110px;box-shadow:0 0 0 28px hsla(0,0%,100%,.065),0 0 0 57px hsla(0,0%,100%,.045)}.amount,.balance .label,.balance p{position:relative;z-index:1}.balance .label{color:#d8e7d9;font-size:11px}.amount{max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;font-size:clamp(1.5rem,7.5vw,5.5rem);line-height:.9;letter-spacing:-.04em;margin:20px 0 8px;white-space:nowrap}.amount,.amount span{font-family:var(--bt-font-mono)}.amount span{font-size:.31em;font-weight:600}.balance p{margin:24px 0 0;max-width:350px;color:#d8e7d9;font-size:14px;line-height:1.55}.side{display:grid;grid-gap:18px;gap:18px}.mini{display:flex;flex-direction:column;justify-content:space-between;min-height:153px;padding:23px 25px;background:var(--card);border:1px solid var(--line);border-radius:3px}.mini.warm{background:#f5e9c8;border-color:#e1ce94}.label{color:var(--muted);font-size:10px}.mini strong{font-family:var(--bt-font-mono);font-size:clamp(29px,3vw,43px);letter-spacing:-.04em;line-height:1}.mini span:last-child{color:var(--muted);font-size:12px}.rule{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-top:40px}h2{font-family:var(--bt-font-display);font-size:31px;line-height:1;letter-spacing:-.035em;margin:0}.hint,.rule p{color:var(--bt-muted-on-bg);font-size:13px;margin:0}.rule p{text-align:right}.hint{margin:10px 0 14px}.ledger{background:var(--card);border:1px solid var(--line);border-radius:3px;overflow:hidden}.entry,.ledger-head{display:grid;grid-template-columns:110px minmax(0,1fr) 150px 120px;grid-gap:16px;gap:16px;align-items:center}.ledger-head{color:var(--muted);background:#eeeadf;padding:13px 22px;font-family:var(--bt-font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.ledger-head span:last-child,.value{text-align:right}.entry{padding:13px 22px;border-top:1px solid var(--line);transition:background .2s ease,color .2s ease}.entry:hover{background:#f2f5ed}.entry.is-paid{background:#edf3e9}.entry.is-paid .entry-name,.entry.is-paid .value{color:#788278;text-decoration:line-through;text-decoration-thickness:1px}.entry-name{font-size:14px;font-weight:600}.entry-name small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:2px}.value{font-family:var(--bt-font-mono);color:var(--coral);font-size:13px}.allocation .value{color:var(--green)}.check-wrap{width:28px;height:28px;display:grid;place-items:center}.check{width:22px;height:22px;display:grid;place-items:center;border:1px solid #a7aaa2;color:transparent;font-size:14px;line-height:1;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.entry.is-paid .check{background:var(--green);border-color:var(--green);color:#fff;transform:rotate(-4deg)}footer{display:flex;justify-content:space-between;gap:20px;padding-top:18px;color:var(--bt-muted-on-bg);font-size:11px}footer span:last-child{text-align:right}.daily-section{margin-top:44px}.daily-section-title{margin-top:0}.daily-description{margin-top:9px}.expense-field{display:block;color:var(--muted);font-family:var(--bt-font-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.daily-metric{display:flex;justify-content:space-between;gap:10px;margin-top:16px;font-size:11px}.daily-metric span{color:var(--muted)}.daily-metric strong{font-family:var(--bt-font-mono);font-size:11px;text-align:right}.daily-metric.spent strong{color:var(--ink);font-weight:600}.daily-metric.remaining strong.is-positive{color:var(--green)}.daily-metric.remaining strong.is-negative{color:var(--coral)}.daily-metric.allowance{padding-top:12px;border-top:1px solid color-mix(in srgb,var(--green) 28%,var(--line))}.daily-metric.allowance strong{color:var(--green)}.expense-error{margin:14px 0 0;padding:11px 13px;border-left:3px solid var(--coral);background:#f8e5df;color:#71372c;font-size:13px}@media (max-width:700px){.page{padding:calc(22px + env(safe-area-inset-top, 0px)) calc(16px + env(safe-area-inset-right, 0px)) calc(42px + env(safe-area-inset-bottom, 0px)) calc(16px + env(safe-area-inset-left, 0px))}.check-wrap{width:44px;height:44px}.rule,footer,header{display:block}.header-meta{align-items:flex-start;margin-top:12px}.period,.rule p{margin-top:12px;text-align:left}.header-meta .period{margin-top:0}.overview{grid-template-columns:1fr}.balance{min-height:280px}.entry,.ledger-head{grid-template-columns:45px minmax(0,1fr) 90px;gap:8px;padding-left:12px;padding-right:12px}.ledger-head span:first-child,.ledger-head span:last-child{color:transparent}.entry-actions{grid-column:2/-1;justify-content:flex-start}footer span{display:block;margin-top:8px}footer span:last-child{text-align:left}}.check-wrap{border:0;background:transparent;padding:0;cursor:pointer}.check-wrap[aria-checked=true] .check{background:var(--green);border-color:var(--green);color:#fff;transform:rotate(-4deg)}.check-wrap:focus-visible .check{outline:3px solid #dfb43d;outline-offset:3px}.daily-shell{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(0,1.28fr);grid-gap:clamp(22px,4vw,48px);gap:clamp(22px,4vw,48px);margin-top:22px;align-items:start}.calendar-panel{padding-top:4px}.calendar-sticky{position:static}.allowance-chart{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.allowance-chart-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px}.allowance-chart-head .label{margin:0 0 4px;color:var(--bt-muted-on-bg)}.allowance-chart-head strong{display:block;font:600 18px var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--ink)}.allowance-chart-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 12px}.allowance-chart-legend{display:inline-flex;align-items:center;gap:6px;color:var(--bt-muted-on-bg);font:500 11px var(--bt-font-body)}.allowance-chart-legend .swatch.is-plan{background:color-mix(in srgb,var(--green) 28%,var(--card));border-color:var(--green)}.allowance-chart-legend .swatch.is-fact{background:color-mix(in srgb,var(--coral) 28%,var(--card));border-color:var(--coral)}.allowance-chart-baseline{color:var(--bt-muted-on-bg);font:500 11px var(--bt-font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.allowance-chart-plot{width:100%;height:168px}.allowance-chart-tooltip{background:var(--card);border:1px solid var(--line);padding:8px 10px;min-width:140px;box-shadow:0 8px 20px color-mix(in srgb,var(--ink) 8%,transparent)}.allowance-chart-tooltip .label{margin:0 0 6px;color:var(--muted)}.allowance-chart-tooltip-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:4px;font:500 11px var(--bt-font-body);color:var(--muted)}.allowance-chart-tooltip-row strong{font:600 13px var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.allowance-chart-tooltip-row.is-plan strong{color:var(--green)}.allowance-chart-tooltip-row.is-fact strong{color:var(--coral)}.calendar-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:14px}.calendar-toolbar .label{margin:0 0 4px;color:var(--bt-muted-on-bg)}.calendar-range{display:block;font:600 18px var(--bt-font-display);letter-spacing:-.03em;text-transform:capitalize}.calendar-toolbar-actions{display:flex;gap:4px;align-items:center}.day-step,.today-button{border:0;color:var(--ink);background:transparent;font:600 11px var(--bt-font-body);cursor:pointer}.day-step{display:grid;place-items:center;width:42px;height:42px;color:var(--green);background:#eeeadf;font-size:19px;line-height:1;transition:background-color .16s cubic-bezier(.25,1,.5,1),transform .16s cubic-bezier(.25,1,.5,1)}.today-button{min-height:42px;padding:0 12px;color:var(--green);text-decoration:underline;text-underline-offset:3px}.day-step:disabled,.today-button:disabled{opacity:.36;cursor:not-allowed}.period-calendar{border:1px solid var(--line);background:color-mix(in srgb,var(--card) 88%,#fff);outline:none}.period-calendar:focus-visible{outline:3px solid #dfb43d;outline-offset:2px}.calendar-week,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{position:-webkit-sticky;position:sticky;top:0;z-index:2;border-bottom:1px solid var(--line);background:#eeeadf}.calendar-weekdays span{padding:8px 4px;color:var(--bt-muted-on-bg);font:500 10px var(--bt-font-mono);letter-spacing:.04em;text-align:center;text-transform:uppercase}.calendar-cell{position:relative;display:grid;align-content:start;grid-gap:6px;gap:6px;min-height:72px;padding:8px 7px 10px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:background-color .18s cubic-bezier(.25,1,.5,1),box-shadow .18s cubic-bezier(.25,1,.5,1),transform .18s cubic-bezier(.25,1,.5,1)}.calendar-week .calendar-cell:nth-child(7n){border-right:0}.calendar-week:last-child .calendar-cell{border-bottom:0}.calendar-cell.is-empty{cursor:default;background:#f0ebe1;min-height:72px}.calendar-cell .cell-day{font:600 16px var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}.calendar-cell .cell-amount{min-height:1.1em;color:var(--muted);font:500 10px var(--bt-font-mono);letter-spacing:.01em}.calendar-cell .cell-pct{display:inline-flex;align-items:center;gap:2px;margin-top:-2px;font:600 10px var(--bt-font-mono);letter-spacing:.01em;line-height:1}.calendar-cell .cell-pct-arrow{font-size:.85em;line-height:1}.calendar-cell .cell-pct.is-under{color:var(--green)}.calendar-cell .cell-pct.is-over{color:var(--coral)}.calendar-cell .cell-pct.is-exact{color:var(--muted)}.calendar-cell.heat-low{background:#edf3e9}.calendar-cell.heat-mid{background:#e7efe3}.calendar-cell.heat-high{background:#f7ebe7}.calendar-cell.heat-high .cell-amount{color:var(--bt-red-on-soft)}.calendar-cell.heat-low .cell-amount,.calendar-cell.heat-mid .cell-amount,.calendar-cell.heat-mid .cell-pct.is-exact{color:var(--bt-muted-on-bg)}.calendar-cell.heat-high .cell-pct.is-over,.calendar-cell.heat-mid .cell-pct.is-over{color:var(--bt-red-on-soft)}.calendar-cell.heat-zero{background:#f3f1ea}.calendar-cell.heat-zero .cell-amount{color:var(--green)}.calendar-cell.is-today{box-shadow:inset 0 2px 0 var(--green)}.calendar-cell.is-selected{background:var(--green);color:#f8f7f0;box-shadow:inset 0 0 0 1px var(--green);z-index:1;transform:scale(1.02)}.calendar-cell.is-selected .cell-amount,.calendar-cell.is-selected .cell-day{color:#f8f7f0}.calendar-cell.is-selected .cell-pct.is-exact,.calendar-cell.is-selected .cell-pct.is-under{color:#eef6ea}.calendar-cell.is-selected .cell-pct.is-over{color:#ffd4c8}.calendar-cell:focus-visible,.day-step:focus-visible,.today-button:focus-visible{outline:3px solid #dfb43d;outline-offset:2px}@media (hover:hover){.calendar-cell:not(.is-selected):not(.is-empty):hover{background:#edf3e9;transform:translateY(-1px)}.day-step:not(:disabled):hover{background:#e4dfd2}}.calendar-legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:12px;color:var(--bt-muted-on-bg);font:500 11px var(--bt-font-body)}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.swatch{display:inline-block;width:12px;height:12px;border:1px solid var(--line)}.swatch.heat-low{background:#edf3e9}.swatch.heat-mid{background:#e7efe3}.swatch.heat-high{background:#f7ebe7}.swatch.heat-zero{background:#f3f1ea}.daily-workspace{min-width:0}.daily-workspace .daily-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.7fr);grid-template-areas:"head head" "composer composer" "entry forecast";grid-column-gap:clamp(22px,4vw,48px);column-gap:clamp(22px,4vw,48px);grid-row-gap:18px;row-gap:18px;width:100%;padding:0;border:0;border-radius:0;background:transparent;animation:day-enter .26s cubic-bezier(.25,1,.5,1)}.daily-workspace .daily-card-head{grid-area:head;display:flex;justify-content:space-between;gap:12px;align-items:flex-end;padding-bottom:16px;margin-bottom:0;border-bottom:1px solid var(--ink)}.day-kicker{margin:0 0 6px;color:var(--bt-muted-on-bg);font:500 10px var(--bt-font-mono);letter-spacing:.06em;text-transform:uppercase}.daily-workspace .daily-card h3{margin:0;font-size:clamp(27px,4vw,36px);letter-spacing:-.04em}.daily-workspace .daily-card-head>span{color:var(--bt-muted-on-bg);font:500 10px var(--bt-font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.expense-composer{grid-area:composer}.daily-entry-area{grid-area:entry;min-width:0}.daily-entry-area.day-detail{padding:16px;border:1px solid var(--line);background:var(--card)}.fact-label{margin:0 0 12px;color:var(--muted);font:400 10px var(--bt-font-mono);letter-spacing:.06em;text-transform:uppercase}.daily-forecast{grid-area:forecast;align-self:start;padding:17px 18px 18px;background:#edf3e9;border-top:2px solid var(--green);animation:forecast-settle .32s cubic-bezier(.25,1,.5,1)}.daily-forecast>.label{display:block;margin-bottom:12px;color:var(--muted)}.daily-forecast .daily-metric{margin-top:0;padding:7px 0;border-bottom:1px solid #d6e1d1;font-size:11px}.daily-forecast .daily-metric.allowance{margin-top:4px;padding-top:10px;border-bottom:0}.summary-note{margin:12px 0 0;color:#5d6c60;font-size:11px;line-height:1.45}.draft-forecast{display:grid;grid-gap:5px;gap:5px;margin-top:19px;padding-top:15px;min-height:4.6rem;border-top:1px solid color-mix(in srgb,var(--green) 32%,transparent);color:var(--green)}.draft-forecast.is-pending{opacity:.72}.draft-forecast.is-empty{opacity:.55}.draft-forecast span{font:600 10px var(--bt-font-mono);letter-spacing:.035em;text-transform:uppercase}.draft-forecast strong{font:500 20px var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.04em}.draft-forecast small{color:#506d59;font-size:11px;line-height:1.4}.draft-forecast.is-lower small,.draft-forecast.is-lower strong{color:#843d32}.expense-composer{display:grid;grid-gap:10px;gap:10px;padding:0;margin:0;border:0;background:transparent}.composer-title{display:none}.expense-composer.is-compact .composer-main{display:grid;grid-template-columns:minmax(11rem,.55fr) minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start}@media (min-width:961px){.expense-composer.is-compact{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(15.5rem,.95fr);grid-template-areas:"title title" "comment amount" "category actions" "suggest suggest" "create create";align-items:start;grid-column-gap:16px;column-gap:16px;grid-row-gap:12px;row-gap:12px;padding:16px 18px 18px;border:1px solid var(--line);background:var(--card)}.expense-composer.is-compact .composer-title{display:block;grid-area:title;margin:0;color:var(--muted);font:500 10px var(--bt-font-mono);letter-spacing:.06em;text-transform:uppercase}.expense-composer.is-compact .comment-field{grid-area:comment}.expense-composer.is-compact .composer-main{display:contents}.expense-composer.is-compact .amount-currency{grid-area:amount;gap:5px}.expense-composer.is-compact .amount-rsd-preview{min-height:1.15rem}.expense-composer.is-compact .composer-category{grid-area:category}.expense-composer.is-compact .composer-category .category-select{margin-top:5px}.expense-composer.is-compact .field-label-row{min-height:1.15rem}.expense-composer.is-compact .composer-actions,.expense-composer.is-compact .composer-actions.inline{grid-area:actions;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;align-self:stretch;gap:8px;min-width:0;margin-top:0}.expense-composer.is-compact .composer-actions .add-expense,.expense-composer.is-compact .composer-actions.inline .add-expense,.expense-composer.is-compact .composer-actions.inline .zero-day{width:100%;min-width:0;min-height:44px}.expense-composer.is-compact .category-create{grid-area:create;grid-template-columns:minmax(0,1fr) auto}.expense-composer.is-compact .comment-suggestions{grid-area:suggest}.expense-composer.is-compact .amount-currency-controls{grid-template-columns:4.75rem minmax(0,1fr);gap:8px;align-items:stretch}.expense-composer.is-compact .amount-input-wrap{margin-top:0}.expense-composer.is-compact .amount-input-wrap input,.expense-composer.is-compact .category-select,.expense-composer.is-compact .currency-field select,.expense-composer.is-compact .expense-field input{min-height:44px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.amount-currency{position:relative;display:grid;grid-gap:5px;gap:5px;min-width:0}.amount-currency-controls{display:grid;grid-template-columns:4.6rem minmax(0,1fr);grid-gap:8px;gap:8px;align-items:stretch}.currency-field select{display:block;width:100%;min-height:44px;padding:8px 6px;border:1px solid var(--line);border-radius:0;background:#fbf9f3;color:var(--ink);font:600 13px var(--bt-font-mono)}.amount-expr-field{display:block;width:100%;min-width:0}.amount-label{display:block}.amount-input-wrap{position:relative;display:block;margin-top:0}.amount-input-wrap input{display:block;width:100%;min-height:44px;padding:8px 52px 8px 10px;border:1px solid var(--line);border-radius:0;background:#fbf9f3;color:var(--ink);font:500 16px var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calc-toggle{position:absolute;top:50%;right:4px;transform:translateY(-50%);width:44px;height:44px;border:0;background:transparent;color:var(--green);font-size:16px;line-height:1;cursor:pointer}.amount-rsd-preview{margin:0;font:500 11px var(--bt-font-body);color:var(--ink)}.amount-rsd-preview small{display:block;margin-top:2px;color:var(--muted);font:500 10px var(--bt-font-mono)}.amount-rsd-preview.is-muted{color:var(--coral)}.calc-panel{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);display:grid;grid-gap:8px;gap:8px;padding:10px;border:1px solid var(--line);background:#fbf9f3;box-shadow:0 12px 28px rgba(32,40,28,.12)}.calc-keys{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));grid-gap:6px;gap:6px}.calc-done,.calc-key{min-height:44px;border:1px solid var(--line);background:#fff;color:var(--ink);font:600 15px var(--bt-font-body);cursor:pointer}.calc-key.is-op{color:var(--green);background:#eeeadf}.calc-key.is-muted{color:var(--muted)}.calc-done{border-color:var(--green);background:var(--green);color:#fff}.amount-currency.is-compact .amount-currency-controls{grid-template-columns:4.2rem minmax(0,1fr)}.amount-currency.is-compact .amount-input-wrap{margin-top:0}.amount-currency.is-compact .amount-input-wrap input,.amount-currency.is-compact .currency-field select{min-height:44px;font-size:16px}@media (max-width:700px){.expense-composer.is-compact .composer-main{grid-template-columns:1fr}.amount-currency .amount-input-wrap input{caret-color:transparent}}@media (max-width:1023px){.calc-panel{position:fixed;z-index:35;left:calc(12px + env(safe-area-inset-left, 0px));right:calc(12px + env(safe-area-inset-right, 0px));top:auto;bottom:calc(88px + env(safe-area-inset-bottom, 0px));max-height:calc(100vh - 100px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));max-height:calc(100dvh - 100px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));overflow-y:auto;box-shadow:0 -8px 32px rgba(32,40,28,.18)}}@media (hover:none){.amount-currency .amount-input-wrap input{caret-color:transparent}}.expense-composer .expense-field{font:500 10px var(--bt-font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.expense-composer .category-select,.expense-composer .expense-field input{display:block;width:100%;min-height:44px;margin-top:5px;padding:8px 10px;border:1px solid var(--line);border-radius:0;background:#fbf9f3;color:var(--ink);font:500 13px var(--bt-font-body)}.expense-composer .category-select{font-weight:600}.amount-field input{min-height:44px;font:500 13px var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.expense-composer .comment-field input{font-family:var(--bt-font-body);font-weight:500;font-size:13px}.expense-composer input[type=number],.expense-row input[type=number]{-moz-appearance:textfield}.expense-composer input[type=number]::-webkit-inner-spin-button,.expense-composer input[type=number]::-webkit-outer-spin-button,.expense-row input[type=number]::-webkit-inner-spin-button,.expense-row input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.composer-category{display:grid;grid-gap:0;gap:0;min-width:0}.field-label-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.field-label-row .expense-field{margin:0}.field-label-row .create-category{flex-shrink:0;white-space:nowrap}.composer-category .category-select{margin-top:5px}.category-create{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:end;padding:8px 0 0;border-top:1px dashed color-mix(in srgb,var(--green) 36%,var(--line))}.category-create .expense-field{margin:0}.composer-actions{display:grid;grid-gap:8px;gap:8px;margin-top:0}.expense-composer .composer-actions.inline{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;flex-wrap:unset}.expense-composer .composer-actions.inline .add-expense{width:100%;min-width:0}.add-expense,.load-entries,.zero-day{min-height:44px;border:1px solid var(--green);background:transparent;color:var(--green);padding:8px 12px;font:600 12px var(--bt-font-body);cursor:pointer}.add-expense{width:100%;background:var(--green);color:#fff;transition:transform .16s cubic-bezier(.25,1,.5,1),background-color .16s cubic-bezier(.25,1,.5,1)}.add-expense.secondary{width:auto;justify-self:start;min-height:44px;padding-inline:12px}.add-expense.secondary,.create-category{background:transparent;color:var(--green)}.create-category{border:0;padding:0;font:600 11px var(--bt-font-body);letter-spacing:.01em;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.load-entries,.zero-day{width:100%;border-color:var(--line);color:var(--muted)}.expense-composer .composer-actions.inline .zero-day{width:auto;white-space:nowrap;padding-inline:12px}@media (hover:hover){.add-expense:not(:disabled):hover{transform:translateY(-1px);background:#234f3a}.create-category:hover{color:#234f3a}}.comment-suggestions{display:grid;border:1px solid var(--line);background:var(--card)}.comment-suggestions button{text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:8px 10px;color:var(--ink);font:500 12px var(--bt-font-body);cursor:pointer;min-height:44px}.comment-suggestions button:last-child{border-bottom:0}.comment-suggestions button:hover{background:#edf3e9}.expense-list.day-list{display:grid;grid-gap:0;gap:0;margin:10px 0 0;padding:0;list-style:none}.expense-row.actual-row{display:grid;grid-gap:8px;gap:8px;padding:8px 0;border-top:1px solid #e6e2d8;background:transparent;animation:row-enter .22s cubic-bezier(.25,1,.5,1)}.actual-view{justify-content:space-between;gap:10px}.actual-entry-name,.actual-view{display:flex;align-items:flex-start;min-width:0}.actual-entry-name{gap:8px}.category-icon{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;margin-top:1px;background:#edf3e9;color:var(--green);font:11px/1 var(--bt-font-body);font-style:normal}.actual-entry-name b,.actual-entry-name small{display:block}.actual-entry-name b{font:600 12px var(--bt-font-body);letter-spacing:-.01em}.actual-entry-name small{margin-top:2px;color:var(--muted);font:500 10px var(--bt-font-body)}.actual-view strong{flex:0 0 auto;color:var(--ink);font:500 12px var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.03em;white-space:nowrap}.actual-actions{display:flex;flex-wrap:wrap;gap:6px}.actual-actions button{border:1px solid #c9d7c8;background:#f7faf5;padding:5px 8px;color:var(--green);font:600 10px var(--bt-font-body);letter-spacing:.01em;cursor:pointer}.actual-actions .actual-delete,.actual-actions .delete-entry{border-color:#dfb8ae;background:#fff8f5;color:#a84939}.actual-actions .restore-entry{border-color:var(--line);background:transparent;color:var(--ink)}.actual-edit{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;width:100%}.actual-edit .amount-currency{width:100%}.actual-edit .row-article,.actual-edit .row-category{grid-column:1/-1}.expense-row .row-amount,.expense-row .row-article,.expense-row .row-category,.expense-row .row-comment{width:100%;min-width:0;min-height:44px;margin:0;padding:6px 8px;border:1px solid var(--line);border-radius:0;background:#fffdf8;color:var(--ink);font:500 12px var(--bt-font-body)}.article-badge{display:block;margin-top:2px;font-size:11px;font-weight:600;letter-spacing:.01em}.article-badge.is-covered{color:#3f6b4b}.article-badge.is-overflow{color:#9a4a2a}.article-link-field{margin-top:10px}.expense-row .row-amount{font-family:var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.day-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 0 2px;border-top:1px solid #e6e2d8;color:var(--muted);font:500 10px var(--bt-font-mono);letter-spacing:.04em;text-transform:uppercase}.day-total strong{color:var(--ink);font:600 12px var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-transform:none}.delete-entry,.restore-entry{border:0;background:transparent;padding:0;min-height:0;color:var(--coral);font:600 12px var(--bt-font-body);letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer}.restore-entry{color:var(--ink);text-decoration:underline;text-underline-offset:3px}@media (hover:hover){.actual-actions button:hover{background:#e5efe3}.actual-actions .actual-delete:hover,.actual-actions .delete-entry:hover{background:#fbe8e3;color:#843d32}.restore-entry:hover{color:var(--green)}}.empty-day,.legacy-fact{margin:18px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.legacy-fact{padding:10px 0 0}.category-report-empty,.daily-workspace .empty-day,.daily-workspace .legacy-fact{color:var(--bt-muted-on-bg)}.undo-toast{position:-webkit-sticky;position:sticky;bottom:calc(14px + env(safe-area-inset-bottom, 0px));z-index:2;width:max-content;max-width:100%;margin:16px auto 0;padding:12px 14px;background:var(--ink);color:#fff;border-radius:3px;font-size:13px}.undo-toast button{margin-left:8px;border:0;background:transparent;color:#f5e9c8;text-decoration:underline;font:inherit;cursor:pointer}.app-toast{position:fixed;right:calc(12px + env(safe-area-inset-right, 0px));left:calc(12px + env(safe-area-inset-left, 0px));bottom:calc(18px + env(safe-area-inset-bottom, 0px));z-index:40;width:max-content;max-width:min(420px,calc(100vw - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));margin-inline:auto;padding:12px 16px;border-radius:3px;background:var(--ink);color:#fff;font-size:13px;line-height:1.35;box-shadow:0 10px 28px hsla(0,0%,9%,.22);animation:toast-enter .18s ease-out;pointer-events:none}.app-toast--error{background:#8b2e2e}@keyframes toast-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.expense-composer button:focus-visible,.expense-composer input:focus-visible,.expense-composer select:focus-visible,.expense-row button:focus-visible,.expense-row input:focus-visible,.expense-row select:focus-visible,.undo-toast button:focus-visible{outline:3px solid #dfb43d;outline-offset:2px}@keyframes day-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes forecast-settle{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes draft-pulse{0%{opacity:.35}to{opacity:1}}@keyframes row-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (max-width:960px){.page{display:flex;flex-direction:column;align-items:stretch}.page>header{order:1}.bt-period-admin{order:2}.daily-section{display:contents}.daily-section-title,.daily-section>.rule{order:3;margin-top:0}.daily-section>.expense-error{order:3}.daily-shell,.daily-workspace,.daily-workspace .daily-card{display:contents}.daily-workspace .daily-card{grid-template-columns:none;grid-template-areas:none;row-gap:0}.daily-workspace .daily-card-head{order:4;width:100%;margin-top:12px;margin-bottom:0;padding-bottom:12px}.daily-forecast{order:5;width:100%;margin-top:0}.expense-composer{order:6;width:100%;margin-top:12px;padding:14px 12px 12px;border:1px solid var(--line);border-bottom:0;background:var(--card)}.expense-composer .composer-title{display:block;margin:0 0 10px;color:var(--muted);font:500 10px var(--bt-font-mono);letter-spacing:.06em;text-transform:uppercase}.daily-entry-area{order:6;width:100%;margin-top:0}.daily-entry-area.day-detail{border-top:0}.calendar-panel{order:7;position:static;align-self:stretch;width:100%;max-width:none;margin-top:22px;margin-bottom:0}.calendar-sticky{position:static}.allowance-chart-plot{height:150px}.overview,.period-calendar{width:100%}.overview{order:8;align-self:stretch;max-width:none;margin-top:22px}.daily-section>.undo-toast{order:9}.page>footer{order:11}.app-toast{order:12}}@media (max-width:700px){.calendar-toolbar{display:grid;grid-gap:10px;gap:10px}.calendar-toolbar-actions{justify-content:space-between}.day-step{width:44px;height:44px}.today-button{min-height:44px}.calendar-cell{min-height:70px;padding:7px 5px 8px}.calendar-cell .cell-day{font-size:15px}.calendar-cell .cell-amount,.calendar-cell .cell-pct{font-size:9px}.calendar-legend{gap:8px 12px}.daily-workspace .daily-card-head{align-items:start;flex-direction:column}.expense-composer{gap:8px}.expense-composer.is-compact .composer-main{grid-template-columns:1fr;gap:8px}.amount-field input,.expense-composer .amount-input-wrap input,.expense-composer .category-select,.expense-composer .currency-field select,.expense-composer .expense-field input,.expense-row .row-amount,.expense-row .row-category,.expense-row .row-comment{font-size:16px}.check-wrap{width:44px;height:44px}.create-category{min-width:44px;min-height:44px;display:inline-flex;align-items:center}.actual-actions button{min-height:44px;padding:8px 10px;font-size:11px}.daily-entry-area.day-detail{padding:14px 12px}.expense-composer .composer-actions.inline{grid-template-columns:1fr}.expense-composer .composer-actions.inline .zero-day{width:100%}.daily-forecast{padding:15px 14px}}.entity-form input:not([type]),.entity-form input[type=date],.entity-form input[type=number],.entity-form input[type=text]{width:100%;min-height:44px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:8px 12px;font:500 14px var(--bt-font-body)}.composer-actions.inline,.entry-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.entry-actions button,.ghost-button{border:1px solid var(--line);background:transparent;color:var(--ink);min-height:44px;padding:6px 12px;font:600 12px var(--bt-font-body);cursor:pointer}.ghost-button:disabled{opacity:.5;cursor:not-allowed}.danger-text{color:var(--coral)!important;border-color:color-mix(in srgb,var(--coral) 35%,var(--line))!important}.entity-form{display:grid;grid-gap:12px;gap:12px;padding:16px;border:1px solid var(--line);background:var(--card);margin-bottom:14px}.entity-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.entity-form label{display:grid;grid-gap:6px;gap:6px;font:600 12px var(--bt-font-body);color:var(--muted)}.checkbox-field{display:flex!important;align-items:center;gap:10px;align-self:flex-end;min-height:44px;color:var(--ink)!important}.checkbox-field input{width:auto!important;min-height:auto!important}.composer-actions.inline{margin-top:0}.modal-dialog .composer-actions.inline .add-expense{width:auto;min-width:180px}.entry-actions{justify-content:flex-end}.entry-actions button{min-height:44px;padding:6px 8px;font-size:11px}.ledger-empty{padding:18px 22px;margin:0}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:rgba(32,39,34,.42);animation:modal-fade-in .16s ease-out}.modal-dialog{width:min(100%,560px);max-height:min(90vh,720px);overflow:auto;border:1px solid var(--ink);background:var(--card);animation:modal-rise-in .18s ease-out}.modal-dialog .entity-form{border:0;margin:0;background:transparent}.modal-dialog .article-amount-field{grid-column:1/-1;min-width:0}.modal-dialog .article-amount-field .amount-currency{z-index:2}.modal-dialog .article-amount-field .expense-field{font:600 12px var(--bt-font-body);letter-spacing:0;text-transform:none;color:var(--muted)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-header .label{margin:0}.modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);width:44px;height:44px;padding:0;font:500 28px/1 var(--bt-font-display);cursor:pointer}.modal-close:focus-visible,.modal-close:hover{color:var(--ink)}.modal-close:disabled{opacity:.45;cursor:not-allowed}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:720px){.modal-dialog{width:100%;max-height:min(92vh,100%)}.modal-dialog .entity-form-grid{grid-template-columns:1fr}.modal-dialog .composer-actions.inline{flex-direction:column;align-items:stretch}.modal-dialog .composer-actions.inline .add-expense,.modal-dialog .composer-actions.inline .ghost-button{width:100%}}@media (hover:none){.expense-composer .category-select,.expense-composer .expense-field input,.expense-row .row-amount,.expense-row .row-category,.expense-row .row-comment,.modal-dialog .article-amount-field .amount-input-wrap input,.modal-dialog .article-amount-field .currency-field select,.modal-dialog .entity-form input{font-size:16px}}@media (prefers-reduced-motion:reduce){.add-expense,.calendar-cell,.daily-forecast,.daily-workspace .daily-card,.day-step,.draft-forecast,.expense-row,.modal-backdrop,.modal-dialog{animation:none;transition:none}.calendar-cell.is-selected{transform:none}}.category-report{margin-top:28px}.category-report-head p{margin:8px 0 0;color:var(--bt-muted-on-bg)}.category-report-empty,.category-report-status{margin:0;padding:28px 0 8px}.category-report-shell{display:grid;grid-gap:clamp(22px,4vw,40px);gap:clamp(22px,4vw,40px);margin-top:22px}.category-report-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:clamp(18px,3vw,28px);gap:clamp(18px,3vw,28px);align-items:stretch}.category-chart-note{margin:12px 0 0;color:var(--muted);font:500 12px var(--bt-font-body);line-height:1.45}.category-chart-plot--bars{min-height:max(220px,min(320px,52vw))}.category-chart-panel{padding:18px 16px 14px;background:var(--card);border:1px solid var(--line)}.category-chart-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:8px}.category-chart-head .label{margin:0 0 4px}.category-chart-head strong{font:600 18px var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--ink)}.category-chart-plot{width:100%;height:min(320px,52vw);min-height:220px}.category-chart-legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:12px;color:var(--muted);font:500 11px var(--bt-font-body)}.category-chart-legend .swatch{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:4px;vertical-align:middle}.category-chart-tooltip{background:var(--card);border:1px solid var(--line);padding:10px 12px;box-shadow:0 8px 24px rgba(32,39,34,.08)}.category-chart-tooltip .label{margin:0 0 8px;font:600 13px var(--bt-font-body);color:var(--ink)}.category-chart-tooltip-row{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font:500 12px var(--bt-font-body)}.category-chart-tooltip-row+.category-chart-tooltip-row{margin-top:4px}.category-chart-tooltip-row strong{color:var(--ink);font-family:var(--bt-font-mono);font-weight:500}.category-table{border:1px solid var(--line);background:var(--card)}.category-table-foot,.category-table-head,.category-table-row{display:grid;grid-template-columns:minmax(0,1.5fr) .65fr .95fr .8fr .65fr;grid-gap:12px;gap:12px;align-items:center;padding:12px 14px}.category-table-head{border-bottom:1px solid var(--line);color:var(--muted);font:500 11px var(--bt-font-mono);letter-spacing:.05em;text-transform:uppercase}.category-table-row+.category-table-row{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.category-table-name{display:inline-flex;align-items:center;gap:8px;min-width:0}.category-table-name .swatch{flex:0 0 auto;width:10px;height:10px;border-radius:999px}.category-table-foot span:nth-child(n+2),.category-table-row span:nth-child(n+2){font-family:var(--bt-font-mono);font-size:13px;text-align:right}.category-table-foot{border-top:1px solid var(--line);font-weight:600}@media (max-width:860px){.category-report-charts{grid-template-columns:1fr}}@media (max-width:560px){.category-table-foot,.category-table-head,.category-table-row{grid-template-columns:minmax(0,1.2fr) .5fr .8fr .7fr .5fr;gap:8px;padding-inline:10px;font-size:12px}}.bt-card{min-width:0;padding:var(--bt-space-5);color:var(--bt-ink);background:var(--bt-surface);border:var(--bt-border);border-radius:var(--bt-radius-lg)}.bt-button,.bt-icon-button,.bt-segmented-tabs__tab{min-width:44px;min-height:44px;font:600 .9375rem/1.2 var(--bt-font-body);border:1px solid transparent;border-radius:var(--bt-radius-md);cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.bt-button{display:inline-flex;align-items:center;justify-content:center;max-width:100%;gap:var(--bt-space-2);padding:var(--bt-space-3) var(--bt-space-5);overflow-wrap:anywhere}.bt-button--primary{color:var(--bt-surface);background:var(--bt-green)}.bt-button--ghost{color:var(--bt-ink);background:transparent;border-color:var(--bt-line)}.bt-button--danger{color:var(--bt-surface);background:var(--bt-red)}.bt-button--full{width:100%}.bt-icon-button{display:inline-grid;width:44px;min-width:44px;padding:var(--bt-space-2);place-items:center;color:var(--bt-ink);background:transparent;border-color:var(--bt-line)}.bt-button:focus-visible,.bt-icon-button:focus-visible,.bt-segmented-tabs__tab:focus-visible{outline:2px solid var(--bt-surface);outline-offset:1px;box-shadow:0 0 0 4px var(--bt-green)}.bt-button:disabled,.bt-icon-button:disabled,.bt-segmented-tabs__tab:disabled{cursor:not-allowed;opacity:.52}.bt-badge{display:inline-flex;align-items:center;max-width:100%;padding:var(--bt-space-1) var(--bt-space-2);overflow-wrap:anywhere;color:var(--bt-ink);font:600 .75rem/1.2 var(--bt-font-mono);border:var(--bt-border);border-radius:var(--bt-radius-sm)}.bt-badge--neutral{background:var(--bt-bg)}.bt-badge--success{background:var(--bt-mint)}.bt-badge--warning{background:var(--bt-yellow)}.bt-badge--danger{color:var(--bt-red-on-soft);background:var(--bt-red-soft);border-style:dashed}.bt-segmented-tabs{display:flex;max-width:100%;gap:var(--bt-space-1);padding:var(--bt-space-1);overflow-x:auto;background:var(--bt-bg);border:var(--bt-border);border-radius:var(--bt-radius-md)}.bt-segmented-tabs__tab{flex:1 0 auto;padding:var(--bt-space-2) var(--bt-space-4);color:var(--bt-muted);background:transparent}.bt-segmented-tabs__tab[aria-selected=true]{color:var(--bt-ink);background:var(--bt-surface);border-color:var(--bt-line)}.bt-progress{min-width:0;color:var(--bt-ink);font-family:var(--bt-font-body)}.bt-progress__header{display:flex;justify-content:space-between;gap:var(--bt-space-3);margin-bottom:var(--bt-space-2);overflow-wrap:anywhere}.bt-progress__value{flex:0 0 auto;font-family:var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bt-progress__track{height:var(--bt-space-3);overflow:hidden;background:var(--bt-mint);border-radius:var(--bt-radius-sm)}.bt-progress__fill{display:block;height:100%;background:var(--bt-accent);transition:width .18s ease}.bt-progress--overflow .bt-progress__track{border:2px dashed var(--bt-red)}.bt-progress--overflow .bt-progress__fill{background:var(--bt-red)}.bt-progress--invalid .bt-progress__track{border:2px dotted var(--bt-muted)}.bt-progress__overflow{display:block;margin-top:var(--bt-space-2);color:var(--bt-red);font:600 .75rem/1.3 var(--bt-font-body)}.bt-kpi-card{display:grid;grid-gap:var(--bt-space-2);gap:var(--bt-space-2);max-width:100%;overflow:hidden}.bt-kpi-card__label{color:var(--bt-muted);font:600 .75rem/1.3 var(--bt-font-mono);text-transform:uppercase;overflow-wrap:anywhere}.bt-kpi-card__value{min-width:0;max-width:100%;color:var(--bt-ink);font:650 clamp(1.5rem,7vw,2.75rem)/1.05 var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.bt-kpi-card__meta{color:var(--bt-muted);font:.875rem/1.4 var(--bt-font-body);overflow-wrap:anywhere}.bt-state{display:grid;justify-items:start;min-width:0;padding:var(--bt-space-6);color:var(--bt-ink);background:var(--bt-surface);border:var(--bt-border);border-radius:var(--bt-radius-lg)}.bt-error-state__marker,.bt-state__icon{display:grid;width:36px;height:36px;margin-bottom:var(--bt-space-3);place-items:center;border-radius:50%}.bt-state__icon{background:var(--bt-mint)}.bt-error-state{border-left:4px solid var(--bt-red)}.bt-error-state__message{display:grid;justify-items:start;min-width:0}.bt-error-state__marker{color:var(--bt-red-on-soft);font:700 1rem/1 var(--bt-font-body);background:var(--bt-red-soft)}.bt-state__title{margin:0;font:650 1.25rem/1.25 var(--bt-font-display);overflow-wrap:anywhere}.bt-state__description{max-width:52ch;margin:var(--bt-space-2) 0 0;color:var(--bt-muted);font:.9375rem/1.5 var(--bt-font-body);overflow-wrap:anywhere}.bt-state__action{margin-top:var(--bt-space-4)}.bt-skeleton{display:block;width:100%;min-height:var(--bt-space-4);background:linear-gradient(90deg,var(--bt-mint),var(--bt-bg),var(--bt-mint));background-size:200% 100%;border-radius:var(--bt-radius-sm);animation:bt-skeleton-shimmer 1.4s ease-in-out infinite}.bt-skeleton-group__lines{display:grid;grid-gap:var(--bt-space-3);gap:var(--bt-space-3)}@keyframes bt-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:700px){.bt-button--full{min-width:100%}}@media (prefers-reduced-motion:reduce){.bt-button,.bt-icon-button,.bt-progress__fill,.bt-segmented-tabs__tab{transition:none}.bt-skeleton{animation:none;background:var(--bt-mint)}}.budget-hero{min-width:0;max-width:100%;overflow:hidden;margin-top:var(--bt-space-7);padding:clamp(var(--bt-space-5),6vw,var(--bt-space-8));border-radius:var(--bt-radius-lg);background:var(--bt-green);color:var(--bt-surface)}.budget-hero__title{margin:0 0 var(--bt-space-7);color:var(--bt-mint);font-family:var(--bt-font-body);font-size:clamp(1rem,4vw,1.25rem);font-weight:600;line-height:1.25}.budget-hero__metric{min-width:0}.budget-hero__metric-label{margin:0 0 var(--bt-space-2);color:var(--bt-mint);font-family:var(--bt-font-mono);font-size:.6875rem;font-weight:600;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}.budget-hero__metric--primary .budget-hero__metric-label{color:var(--bt-yellow);font-size:.75rem;text-transform:none}.budget-hero__amount{min-width:0;max-width:100%;margin:0;overflow:hidden;color:var(--bt-surface);font-family:var(--bt-font-mono);font-size:clamp(1.25rem,7vw,2rem);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:-.045em;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.budget-hero__sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.budget-hero__metric--primary .budget-hero__amount{color:var(--bt-yellow);font-size:clamp(2rem,11vw,4.5rem)}.budget-hero__currency{font-size:.42em;font-weight:600;letter-spacing:0}.budget-hero__secondary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:var(--bt-space-5);gap:var(--bt-space-5);margin-top:var(--bt-space-8);padding-top:var(--bt-space-5);border-top:1px solid var(--bt-accent)}.budget-hero__progress{margin-top:var(--bt-space-6)}.budget-hero__progress-copy{display:flex;min-width:0;justify-content:space-between;gap:var(--bt-space-3);margin-bottom:var(--bt-space-2);color:var(--bt-mint);font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.budget-hero__progress-copy>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-hero__progress-track{width:100%;height:8px;overflow:hidden;border-radius:var(--bt-radius-sm);background:var(--bt-accent)}.budget-hero__progress-fill{display:block;height:100%;border-radius:inherit;background:var(--bt-yellow)}.budget-hero__loading-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.budget-hero__skeleton{display:grid;grid-gap:var(--bt-space-4);gap:var(--bt-space-4)}.budget-hero__skeleton-line{display:block;max-width:100%;height:18px;border-radius:var(--bt-radius-sm);background:var(--bt-accent);animation:budget-hero-pulse 1.5s ease-in-out infinite}.budget-hero__skeleton-line--label{width:42%}.budget-hero__skeleton-line--amount{width:84%;height:clamp(40px,12vw,72px)}.budget-hero__skeleton-line--metric{width:56%}.budget-hero__skeleton-line--progress{width:100%;height:8px;margin-top:var(--bt-space-3)}.budget-hero__error{margin:0;padding:var(--bt-space-4);border-radius:var(--bt-radius-md);background:var(--bt-red-soft);color:var(--bt-red-on-soft);overflow-wrap:anywhere}.budget-hero__empty-message{margin:0;color:var(--bt-mint);line-height:1.5}.budget-hero.bt-state .bt-state__title{color:var(--bt-surface)}.budget-hero.bt-state .bt-state__description{color:var(--bt-mint)}.budget-hero.bt-error-state .bt-button--primary{border-color:var(--bt-yellow);background:var(--bt-yellow);color:var(--bt-ink)}.budget-hero:focus-visible{outline:2px solid var(--bt-yellow);outline-offset:-2px}@keyframes budget-hero-pulse{0%,to{opacity:.45}50%{opacity:1}}@media (max-width:960px){.budget-hero{order:8;align-self:stretch;width:100%}}@media (max-width:360px){.budget-hero{width:100%;padding:var(--bt-space-5) var(--bt-space-4)}.budget-hero__secondary{gap:var(--bt-space-3)}.budget-hero__amount{font-size:clamp(1rem,5.8vw,1.25rem)}.budget-hero__metric--primary .budget-hero__amount{font-size:clamp(1.75rem,10vw,2.5rem)}}@media (prefers-reduced-motion:reduce){.budget-hero__skeleton-line{animation:none}}.category-snapshot{width:min(100%,720px);min-width:0;max-width:100%;margin:0 0 var(--bt-space-6);padding:var(--bt-space-5);overflow:hidden;color:var(--bt-ink);background:var(--bt-surface);border:var(--bt-border);border-radius:var(--bt-radius-lg)}.category-snapshot,.category-snapshot *{box-sizing:border-box}.category-snapshot__header,.category-snapshot__meta{display:flex;align-items:flex-start;justify-content:space-between;min-width:0;gap:var(--bt-space-3)}.category-snapshot__header>div,.category-snapshot__label{min-width:0}.category-snapshot__eyebrow,.category-snapshot__header h2{margin:0}.category-snapshot__eyebrow{margin-bottom:var(--bt-space-1);color:var(--bt-muted-on-bg);font:650 .6875rem/1.35 var(--bt-font-mono);letter-spacing:.08em}.category-snapshot__header h2{overflow-wrap:anywhere;font:650 1.125rem/1.25 var(--bt-font-body);letter-spacing:-.02em}.category-snapshot__action{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:calc(var(--bt-space-2) * -1) calc(var(--bt-space-2) * -1) 0 0;padding:var(--bt-space-2);color:var(--bt-green);background:transparent;border:1px solid transparent;border-radius:var(--bt-radius-md);font:650 .875rem/1.2 var(--bt-font-body);cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.category-snapshot__action:hover{background:var(--bt-mint);border-color:var(--bt-line)}.category-snapshot__action:focus-visible{outline:3px solid var(--bt-green);outline-offset:-3px}.category-snapshot__list{display:grid;grid-gap:var(--bt-space-5);gap:var(--bt-space-5);min-width:0;margin:var(--bt-space-5) 0 0;padding:0;list-style:none}.category-snapshot__progress,.category-snapshot__row{width:100%;min-width:0}.category-snapshot__meta{margin-bottom:var(--bt-space-2)}.category-snapshot__label{overflow-wrap:anywhere;font:600 .9375rem/1.4 var(--bt-font-body)}.category-snapshot__amount{flex:0 1 auto;min-width:0;overflow-wrap:anywhere;color:var(--bt-muted-on-bg);font:600 .8125rem/1.45 var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.category-snapshot__progress .bt-progress__header{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0;white-space:nowrap}.category-snapshot__progress .bt-progress__track{width:100%}.category-snapshot__sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0;white-space:nowrap}@media (max-width:960px){.category-snapshot{order:0;align-self:stretch;width:100%}}@media (max-width:360px){.category-snapshot{width:100%;padding:var(--bt-space-4)}.category-snapshot__meta{align-items:flex-start;flex-direction:column;gap:var(--bt-space-1)}.category-snapshot__amount{max-width:100%;text-align:left}}@media (prefers-reduced-motion:reduce){.category-snapshot__action,.category-snapshot__progress .bt-progress__fill{transition:none}}.quick-expense{width:min(100%,358px);min-width:0;margin:0 0 var(--bt-space-5);padding:var(--bt-space-4);overflow:visible;border:var(--bt-border);border-radius:var(--bt-radius-lg);background:var(--bt-surface);color:var(--bt-ink)}.quick-expense,.quick-expense *{box-sizing:border-box}.quick-expense__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--bt-space-3);min-width:0;margin-bottom:var(--bt-space-4)}.quick-expense__date,.quick-expense__error,.quick-expense__heading h2,.quick-expense__heading h3,.quick-expense__heading h4,.quick-expense__unavailable{margin:0}.quick-expense__date,.quick-expense__label{color:var(--bt-muted);font:600 10px/1.3 var(--bt-font-mono);letter-spacing:.06em;text-transform:uppercase}.quick-expense__heading h2,.quick-expense__heading h3,.quick-expense__heading h4{overflow-wrap:anywhere;font:650 18px/1.2 var(--bt-font-body);letter-spacing:-.02em}.quick-expense__date{flex:0 1 auto;padding-top:5px;text-align:right;overflow-wrap:anywhere}.quick-expense__category-create,.quick-expense__category-create-fields,.quick-expense__details,.quick-expense__form{display:grid;grid-gap:var(--bt-space-3);gap:var(--bt-space-3);min-width:0}.quick-expense__details[hidden]{display:none}.quick-expense__primary{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--bt-space-3);gap:var(--bt-space-3);min-width:0}.quick-expense__amount{grid-column:1/-1}.quick-expense__amount,.quick-expense__category,.quick-expense__field{display:grid;grid-gap:var(--bt-space-1);gap:var(--bt-space-1);min-width:0}.quick-expense__amount .amount-currency-controls{display:block}.quick-expense__amount .amount-input-wrap input,.quick-expense__field input,.quick-expense__field select{width:100%;min-width:0;min-height:44px;border:1px solid color-mix(in srgb,var(--bt-green) 18%,var(--bt-line));border-radius:var(--bt-radius-md);background:color-mix(in srgb,var(--bt-yellow) 15%,var(--bt-surface));color:var(--bt-ink);font:500 16px/1.25 var(--bt-font-body)}.quick-expense__amount .amount-input-wrap input{padding-right:48px;font-family:var(--bt-font-mono)}.quick-expense__amount .amount-currency-context{position:absolute;top:50%;right:10px;transform:translateY(-50%);color:var(--bt-muted);font:600 11px/1 var(--bt-font-mono);pointer-events:none}.quick-expense__amount .currency-field select{border-radius:var(--bt-radius-md);background:color-mix(in srgb,var(--bt-yellow) 15%,var(--bt-surface))}.quick-expense__amount .calc-toggle{width:44px;height:44px}.quick-expense__amount .calc-panel{max-width:100%;border-radius:var(--bt-radius-md);box-shadow:none}.quick-expense__amount .calc-keys{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-expense__disclosure,.quick-expense__secondary,.quick-expense__submit,.quick-expense__suggestions button{min-height:44px;border-radius:var(--bt-radius-md);cursor:pointer}.quick-expense__submit{min-width:104px;padding-inline:var(--bt-space-4);border:1px solid var(--bt-green);background:var(--bt-green);color:var(--bt-surface);font:650 14px/1 var(--bt-font-body)}.quick-expense--desktop{width:100%;max-width:none;height:100%;margin:0}.quick-expense--desktop .quick-expense__primary{grid-template-columns:minmax(0,1fr)}.quick-expense--desktop .quick-expense__amount,.quick-expense--desktop .quick-expense__category,.quick-expense--desktop .quick-expense__submit{grid-column:1;width:100%;min-width:0}.quick-expense__disclosure,.quick-expense__secondary{border:1px solid var(--bt-line);background:transparent;color:var(--bt-green);font:600 13px/1.2 var(--bt-font-body)}.quick-expense__disclosure{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 var(--bt-space-3)}.quick-expense__details{padding-top:var(--bt-space-1)}.quick-expense__suggestions{display:flex;gap:var(--bt-space-2);max-width:100%;overflow-x:auto;padding:var(--bt-space-2);scroll-padding-inline:var(--bt-space-2)}.quick-expense__suggestions button{flex:0 0 auto;max-width:100%;padding:var(--bt-space-2) var(--bt-space-3);overflow-wrap:anywhere;border:1px solid var(--bt-line);background:var(--bt-surface);color:var(--bt-ink)}.quick-expense__category-create-fields{padding-top:var(--bt-space-2)}.quick-expense__error,.quick-expense__unavailable{padding:var(--bt-space-3);overflow-wrap:anywhere;border-radius:var(--bt-radius-md);font:500 13px/1.4 var(--bt-font-body)}.quick-expense__error{background:var(--bt-red-soft);color:var(--bt-red-on-soft)}.quick-expense__unavailable{background:var(--bt-mint);color:var(--bt-muted)}.quick-expense button:disabled,.quick-expense input:disabled,.quick-expense select:disabled{cursor:not-allowed;opacity:.58}.quick-expense button:focus-visible,.quick-expense input:focus-visible,.quick-expense select:focus-visible{outline:3px solid var(--bt-yellow);outline-offset:2px}@media (max-width:360px){.quick-expense{width:100%;padding:var(--bt-space-4)}.quick-expense__primary{grid-template-columns:1fr}.quick-expense__submit{width:100%;min-width:0;grid-column:auto}.quick-expense__amount .calc-panel{left:calc(var(--bt-space-2) + env(safe-area-inset-left, 0px));right:calc(var(--bt-space-2) + env(safe-area-inset-right, 0px))}}@media (prefers-reduced-motion:reduce){.quick-expense *,.quick-expense :after,.quick-expense :before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.transaction-list{width:min(100%,720px);min-width:0;margin:var(--bt-space-6) 0;overflow:hidden;border:var(--bt-border);border-radius:var(--bt-radius-lg);background:var(--bt-surface);color:var(--bt-ink)}.transaction-list,.transaction-list *{box-sizing:border-box}.transaction-list__heading{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:var(--bt-space-3);padding:var(--bt-space-5);border-bottom:var(--bt-border)}.transaction-list__heading>div{min-width:0}.transaction-list__heading-actions{display:flex;flex:0 0 auto;align-items:center;gap:var(--bt-space-2)}.transaction-list__empty h3,.transaction-list__empty p,.transaction-list__error p,.transaction-list__eyebrow,.transaction-list__group h3,.transaction-list__heading h2,.transaction-row__article{margin:0}.transaction-list__heading h2{overflow-wrap:anywhere;font:650 1.125rem/1.25 var(--bt-font-body);letter-spacing:-.02em}.transaction-list__eyebrow,.transaction-list__filter label>span,.transaction-list__group h3,.transaction-row__field>span{color:var(--bt-muted);font:600 .6875rem/1.35 var(--bt-font-mono);letter-spacing:.07em;text-transform:uppercase}.transaction-list__eyebrow{margin-bottom:var(--bt-space-1)}.transaction-list__error button,.transaction-list__filter-toggle,.transaction-list__view-all,.transaction-row__delete,.transaction-row__done,.transaction-row__restore{min-height:44px;border-radius:var(--bt-radius-md);font:600 .875rem/1.2 var(--bt-font-body);cursor:pointer}.transaction-list__filter-toggle{flex:0 0 auto;padding:0 var(--bt-space-3);border:var(--bt-border);background:transparent;color:var(--bt-green)}.transaction-list__view-all{padding:0 var(--bt-space-2);border:0;background:transparent;color:var(--bt-green)}.transaction-list--desktop{width:100%;max-width:none;height:100%;margin:0}.transaction-list__filter{padding:var(--bt-space-4) var(--bt-space-5);border-bottom:var(--bt-border);background:var(--bt-bg)}.transaction-list__filter[hidden]{display:none}.transaction-list__filter label,.transaction-row__field{display:grid;min-width:0;grid-gap:var(--bt-space-1);gap:var(--bt-space-1)}.transaction-list__filter select,.transaction-row__field input,.transaction-row__field select{width:100%;min-width:0;min-height:44px;padding:var(--bt-space-2) var(--bt-space-3);border:var(--bt-border);border-radius:var(--bt-radius-md);background:var(--bt-surface);color:var(--bt-ink);font:500 1rem/1.25 var(--bt-font-body)}.transaction-list__groups{display:grid}.transaction-list__group{min-width:0}.transaction-list__group+.transaction-list__group{border-top:var(--bt-border)}.transaction-list__group h3{padding:var(--bt-space-3) var(--bt-space-5) var(--bt-space-2);background:var(--bt-bg)}.transaction-list__group ul{margin:0;padding:0;list-style:none}.transaction-row{min-width:0;border-top:var(--bt-border)}.transaction-row:first-child{border-top:0}.transaction-row__summary{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(84px,auto);align-items:center;width:100%;min-width:0;min-height:66px;grid-gap:var(--bt-space-3);gap:var(--bt-space-3);padding:var(--bt-space-2) var(--bt-space-5);border:0;background:transparent;color:var(--bt-ink);text-align:left;cursor:pointer}.transaction-row__summary:hover:not(:disabled),.transaction-row__summary[aria-expanded=true]{background:var(--bt-bg)}.transaction-row__emoji{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:var(--bt-mint);font-size:1.125rem}.transaction-row__amount,.transaction-row__copy,.transaction-row__meta,.transaction-row__title{min-width:0}.transaction-row__copy{display:grid;grid-gap:2px;gap:2px}.transaction-row__meta,.transaction-row__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-row__title{font:600 .9375rem/1.25 var(--bt-font-body)}.transaction-row__meta{color:var(--bt-muted);font:500 .75rem/1.3 var(--bt-font-body)}.transaction-row__amount{overflow:hidden;color:var(--bt-ink);font:600 .875rem/1.2 var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap}.transaction-row__amount small{color:var(--bt-muted);font-size:.72em}.transaction-list__sr-only,.transaction-row__busy,.transaction-row__sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.transaction-row__editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;grid-gap:var(--bt-space-3);gap:var(--bt-space-3);padding:var(--bt-space-4) var(--bt-space-5) var(--bt-space-5);border-top:var(--bt-border);background:var(--bt-bg)}.transaction-row__actions,.transaction-row__article,.transaction-row__field--amount,.transaction-row__field--comment{grid-column:1/-1}.transaction-row__field--amount .amount-currency-controls{display:block}.transaction-row__field--amount .amount-input-wrap input,.transaction-row__field--amount .currency-field select{min-height:44px;border-radius:var(--bt-radius-md);background:var(--bt-surface)}.transaction-row__field--amount .amount-input-wrap input{padding-right:48px}.transaction-row__field--amount .amount-currency-context{position:absolute;top:50%;right:10px;transform:translateY(-50%);color:var(--bt-muted);font:600 .6875rem/1 var(--bt-font-mono);pointer-events:none}.transaction-row__field--amount .calc-toggle{width:44px;height:44px}.transaction-list .calc-panel{box-shadow:none}.transaction-row__article{color:var(--bt-muted);font:500 .8125rem/1.4 var(--bt-font-body);overflow-wrap:anywhere}.transaction-row__actions{display:flex;flex-wrap:wrap;gap:var(--bt-space-2)}.transaction-list__error button,.transaction-row__delete,.transaction-row__done,.transaction-row__restore{padding:var(--bt-space-2) var(--bt-space-4)}.transaction-list__error button,.transaction-row__done{border:1px solid var(--bt-green);background:var(--bt-green);color:var(--bt-surface)}.transaction-row__delete{border:1px solid var(--bt-red);background:transparent;color:var(--bt-red-on-soft)}.transaction-row__restore{border:var(--bt-border);background:var(--bt-surface);color:var(--bt-green)}.transaction-list__empty,.transaction-list__error{display:grid;justify-items:start;grid-gap:var(--bt-space-2);gap:var(--bt-space-2);padding:var(--bt-space-6) var(--bt-space-5)}.transaction-list__empty h3,.transaction-list__error strong{font:650 1rem/1.3 var(--bt-font-body)}.transaction-list__empty p,.transaction-list__error p{color:var(--bt-muted);font:.875rem/1.5 var(--bt-font-body);overflow-wrap:anywhere}.transaction-list__error{border-left:4px solid var(--bt-red);background:var(--bt-red-soft)}.transaction-list__loading{display:grid}.transaction-list__skeleton{display:grid;grid-template-columns:40px minmax(0,1fr) 80px;align-items:center;min-height:66px;grid-gap:var(--bt-space-3);gap:var(--bt-space-3);padding:var(--bt-space-2) var(--bt-space-5);border-top:var(--bt-border)}.transaction-list__skeleton b,.transaction-list__skeleton em,.transaction-list__skeleton i{display:block;height:14px;border-radius:var(--bt-radius-sm);background:var(--bt-mint)}.transaction-list__skeleton i{width:40px;height:40px;border-radius:50%}.transaction-list__skeleton em{width:80px}.transaction-list button:disabled,.transaction-list input:disabled,.transaction-list select:disabled{cursor:not-allowed;opacity:.55}.transaction-list button:focus-visible,.transaction-list input:focus-visible,.transaction-list select:focus-visible{outline:3px solid var(--bt-yellow);outline-offset:2px}.transaction-row__summary:focus-visible{outline-offset:-3px}@media (max-width:480px){.transaction-list__empty,.transaction-list__error,.transaction-list__filter,.transaction-list__group h3,.transaction-list__heading,.transaction-list__skeleton,.transaction-row__editor,.transaction-row__summary{padding-right:var(--bt-space-4);padding-left:var(--bt-space-4)}.transaction-row__editor{grid-template-columns:minmax(0,1fr)}.transaction-row__actions,.transaction-row__article,.transaction-row__field--amount,.transaction-row__field--comment{grid-column:auto}}@media (max-width:360px){.transaction-list{width:100%}.transaction-list__heading{align-items:stretch;flex-direction:column}.transaction-list__heading-actions{flex-wrap:wrap}.transaction-list__filter-toggle{width:100%}.transaction-row__summary{grid-template-columns:36px minmax(0,1fr);gap:var(--bt-space-2)}.transaction-row__emoji{width:36px;height:36px}.transaction-row__amount{grid-column:2;text-align:left}}@media (prefers-reduced-motion:reduce){.transaction-list *,.transaction-list :after,.transaction-list :before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ledger-header{display:block;min-width:0;max-width:100%;margin-top:var(--bt-space-7);padding:var(--bt-space-6) var(--bt-space-5) 0;overflow:hidden;border:0;border-radius:var(--bt-radius-lg);background:var(--bt-green);color:var(--bt-surface)}.ledger-header__eyebrow{margin:0 0 var(--bt-space-2);overflow-wrap:anywhere;color:var(--bt-mint);font-family:var(--bt-font-mono);font-size:.6875rem;font-weight:600;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}.ledger-header__title{margin:0 0 var(--bt-space-6);color:var(--bt-surface);font-family:var(--bt-font-display);font-size:clamp(1.75rem,7vw,2.5rem);font-weight:650;line-height:1.05;letter-spacing:-.035em}.ledger-header__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;margin:0 calc(var(--bt-space-5) * -1);border-top:var(--bt-border);border-color:var(--bt-accent)}.ledger-header__metric{min-width:0;padding:var(--bt-space-4) var(--bt-space-3) var(--bt-space-5)}.ledger-header__metric+.ledger-header__metric{border-left:var(--bt-border);border-color:var(--bt-accent)}.ledger-header__metric-label{margin:0 0 var(--bt-space-2);color:var(--bt-mint);font-family:var(--bt-font-mono);font-size:.625rem;font-weight:650;letter-spacing:.08em;line-height:1.3}.ledger-header__metric-value{min-width:0;max-width:100%;margin:0;overflow-wrap:anywhere;color:var(--bt-surface);font-family:var(--bt-font-mono);font-size:clamp(.75rem,3.7vw,1.25rem);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:650;line-height:1.2}.ledger-header__metric-visual{display:block;max-width:100%;overflow-wrap:anywhere}.ledger-header__currency{font-size:.65em;font-weight:550}.ledger-header__state-message{margin:0 0 var(--bt-space-6);padding:var(--bt-space-4);border-radius:var(--bt-radius-md);background:var(--bt-mint);color:var(--bt-ink);line-height:1.5;overflow-wrap:anywhere}.ledger-header--error .ledger-header__state-message{background:var(--bt-red-soft);color:var(--bt-red-on-soft)}.ledger-header.bt-state .bt-state__title{color:var(--bt-surface)}.ledger-header.bt-state .bt-state__description{color:var(--bt-mint)}.ledger-header.bt-error-state .bt-button--primary{border-color:var(--bt-yellow);background:var(--bt-yellow);color:var(--bt-ink)}.ledger-header__state-placeholder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;margin:0 calc(var(--bt-space-5) * -1);border-top:var(--bt-border);border-color:var(--bt-accent)}.ledger-header__state-placeholder span{min-width:0;height:76px;background:var(--bt-accent);opacity:.45}.ledger-header__state-placeholder span+span{border-left:var(--bt-border);border-color:var(--bt-green)}.ledger-header__sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.ledger-header:focus-visible{outline:2px solid var(--bt-yellow);outline-offset:-2px}@media (max-width:360px){.ledger-header{width:100%;padding-right:var(--bt-space-4);padding-left:var(--bt-space-4)}.ledger-header__metrics,.ledger-header__state-placeholder{margin-right:calc(var(--bt-space-4) * -1);margin-left:calc(var(--bt-space-4) * -1)}.ledger-header__metric{padding-right:var(--bt-space-2);padding-left:var(--bt-space-2)}}.plan-overview-card{display:grid;min-width:0;max-width:100%;grid-gap:var(--bt-space-4);gap:var(--bt-space-4);margin:var(--bt-space-4) 0;overflow:hidden}.plan-overview-card__heading{display:flex;align-items:baseline;justify-content:space-between;min-width:0;gap:var(--bt-space-3)}.plan-overview-card__title{margin:0;font:650 1rem/1.3 var(--bt-font-display)}.plan-overview-card__title,.plan-overview-card__value{min-width:0;color:var(--bt-ink);overflow-wrap:anywhere}.plan-overview-card__value{max-width:100%;font:650 clamp(1.75rem,9vw,2.75rem)/1 var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.plan-overview-card__progress .bt-progress__header{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.plan-overview-card__insight{min-width:0;margin:0;padding:var(--bt-space-3) var(--bt-space-4);color:var(--bt-ink);background:var(--bt-mint);border-radius:var(--bt-radius-md);font:.875rem/1.45 var(--bt-font-body);overflow-wrap:anywhere}.plan-overview-card--error{border-left:4px solid var(--bt-red)}.plan-overview-card__error-message{padding:var(--bt-space-3) var(--bt-space-4);color:var(--bt-red-on-soft);background:var(--bt-red-soft);border-radius:var(--bt-radius-md)}.plan-overview-card__empty-message,.plan-overview-card__error-message{min-width:0;margin:0;font:.875rem/1.45 var(--bt-font-body);overflow-wrap:anywhere}.plan-overview-card__empty-message{color:var(--bt-muted)}.plan-overview-card__skeleton{display:grid;min-width:0;grid-gap:var(--bt-space-3);gap:var(--bt-space-3)}.plan-overview-card__skeleton-heading{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:var(--bt-space-3)}.plan-overview-card__sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.plan-overview-card:focus-visible{outline:2px solid var(--bt-green);outline-offset:2px}@media (max-width:360px){.plan-overview-card{width:100%;padding:var(--bt-space-4)}.plan-overview-card__heading,.plan-overview-card__skeleton-heading{align-items:flex-start;flex-direction:column}.plan-overview-card__value{text-align:left}}@media (prefers-reduced-motion:reduce){.plan-overview-card .bt-progress__fill,.plan-overview-card .bt-skeleton{transition:none;animation:none}}.ledger-toolbar{position:relative;min-width:0;max-width:100%;margin:0 0 var(--bt-space-4)}.ledger-toolbar__actions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-gap:10px;gap:10px;min-width:0;max-width:100%}.ledger-toolbar__button{display:inline-flex;align-items:center;justify-content:center;gap:var(--bt-space-2);min-width:0;min-height:44px;padding:var(--bt-space-2) var(--bt-space-3);border:var(--bt-border);border-radius:var(--bt-radius-md);font-family:var(--bt-font-body);line-height:1.2;cursor:pointer;overflow-wrap:anywhere}.ledger-toolbar__button--add{border-color:var(--bt-green);background:var(--bt-green);color:var(--bt-surface);font-size:.8125rem;font-weight:650}.ledger-toolbar__button--copy{background:var(--bt-surface);color:var(--bt-muted);font-size:.75rem;font-weight:600}.ledger-toolbar__button svg{flex:0 0 18px;width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75}.ledger-toolbar__button:focus-visible{outline:2px solid var(--bt-surface);outline-offset:1px;box-shadow:0 0 0 4px var(--bt-green)}.ledger-toolbar__button[aria-disabled=true]{cursor:not-allowed;opacity:.52}.ledger-toolbar__description,.ledger-toolbar__status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}@media (max-width:340px){.ledger-toolbar{width:100%}.ledger-toolbar__actions{grid-template-columns:minmax(0,1fr)}.ledger-toolbar__button{width:100%}}.budget-article-list{min-width:0;max-width:100%;margin-top:var(--bt-space-5)}.budget-article-list__header{display:flex;align-items:baseline;justify-content:space-between;min-width:0;gap:var(--bt-space-3);margin-bottom:var(--bt-space-3)}.budget-article-list__header h2{min-width:0;margin:0;color:var(--bt-ink);font:650 1.25rem/1.25 var(--bt-font-display);overflow-wrap:anywhere}.budget-article-list__count{flex:0 0 auto;color:var(--bt-muted-on-bg);font:600 .6875rem/1.2 var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.06em}.budget-article-list__count-skeleton{flex:0 0 auto}.budget-article-list__header h2:focus-visible{outline:2px solid var(--bt-surface);box-shadow:0 0 0 4px var(--bt-green)}.budget-article-list__items{display:grid;min-width:0;grid-gap:var(--bt-space-2);gap:var(--bt-space-2);margin:0;padding:0;list-style:none}.budget-article-row{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 44px;align-items:center;min-width:0;min-height:83px;grid-gap:var(--bt-space-3);gap:var(--bt-space-3);padding:var(--bt-space-3);color:var(--bt-ink);background:var(--bt-surface);border:var(--bt-border);border-radius:var(--bt-radius-md)}.budget-article-row--paid{background:var(--bt-mint);border-color:var(--bt-accent);border-left:4px solid var(--bt-green)}.budget-article-row--paid.budget-article-row--overflow{border-left-color:var(--bt-red)}.budget-article-row--paid .budget-article-row__amount,.budget-article-row--paid .budget-article-row__name,.budget-article-row--paid .budget-article-row__percent{color:var(--bt-muted);text-decoration:line-through;text-decoration-thickness:1px}.budget-article-row--paid .budget-article-row__name{-webkit-text-decoration-color:color-mix(in srgb,var(--bt-muted) 72%,transparent);text-decoration-color:color-mix(in srgb,var(--bt-muted) 72%,transparent)}.budget-article-row__name-row{display:flex;flex-wrap:wrap;align-items:center;min-width:0;gap:var(--bt-space-2)}.budget-article-row__paid-badge{flex:0 0 auto}.budget-article-row--overflow{border-left:4px solid var(--bt-red)}.budget-article-row__emoji{display:grid;width:38px;height:38px;place-items:center;background:var(--bt-mint);border-radius:var(--bt-radius-md);font-size:1.125rem}.budget-article-row__content,.budget-article-row__figures,.budget-article-row__identity{display:grid;min-width:0}.budget-article-row__content{gap:var(--bt-space-2)}.budget-article-row__heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(9rem,auto);align-items:start;min-width:0;grid-gap:var(--bt-space-3);gap:var(--bt-space-3)}.budget-article-row__amount,.budget-article-row__category,.budget-article-row__name,.budget-article-row__percent{min-width:0;overflow-wrap:anywhere}.budget-article-row__name{font:650 .9375rem/1.3 var(--bt-font-body)}.budget-article-row__category,.budget-article-row__note{color:var(--bt-muted);font:.75rem/1.35 var(--bt-font-body)}.budget-article-row__note{overflow-wrap:anywhere}.budget-article-row__figures{justify-items:end;text-align:right}.budget-article-row__amount,.budget-article-row__percent{font-family:var(--bt-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.budget-article-row__amount{font-size:.75rem;line-height:1.35}.budget-article-row--allocation .budget-article-row__amount,.budget-article-row__allocation-label{color:var(--bt-green);font-weight:650}.budget-article-row__percent{color:var(--bt-muted);font-size:.6875rem;line-height:1.35}.budget-article-row__overflow-label{color:var(--bt-red-on-soft);font-weight:650}.budget-article-row__progress .bt-progress__header,.budget-article-row__progress .bt-progress__overflow{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.budget-article-row__progress .bt-progress__track{height:6px}.budget-article-row__menu-wrap{position:relative;align-self:start}.budget-article-row__menu-trigger{border-color:transparent}.budget-article-row__menu-trigger[aria-expanded=true]{background:var(--bt-mint);border-color:var(--bt-line)}.budget-article-row__menu{position:absolute;z-index:5;right:0;display:grid;width:min(14rem,calc(100vw - var(--bt-space-8)));max-height:min(12rem,calc(100dvh - var(--bt-space-8)));padding:var(--bt-space-1);overflow-y:auto;background:var(--bt-surface);border:var(--bt-border);border-radius:var(--bt-radius-md)}.budget-article-row__menu--above{bottom:calc(100% + var(--bt-space-1))}.budget-article-row__menu--below{top:calc(100% + var(--bt-space-1))}.budget-article-row__menu button{min-height:44px;padding:var(--bt-space-2) var(--bt-space-3);color:var(--bt-ink);background:transparent;border:1px solid transparent;border-radius:var(--bt-radius-sm);font:500 .875rem/1.3 var(--bt-font-body);text-align:left;overflow-wrap:anywhere;cursor:pointer}.budget-article-row__menu-check{display:flex;align-items:center;gap:var(--bt-space-2)}.budget-article-row__menu-checkbox{display:grid;flex:0 0 auto;width:20px;height:20px;place-items:center;color:transparent;background:var(--bt-surface);border:1px solid var(--bt-line);border-radius:var(--bt-radius-sm)}.budget-article-row__menu-checkbox svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.budget-article-row__menu-checkbox--checked{color:var(--bt-surface);background:var(--bt-green);border-color:var(--bt-green)}.budget-article-row__menu-check-label{min-width:0}.budget-article-row__menu button:focus-visible,.budget-article-row__menu button:hover{background:var(--bt-mint)}.budget-article-row__menu button:focus-visible{outline:2px solid var(--bt-green);outline-offset:-2px}.budget-article-row__menu button:disabled{cursor:not-allowed;opacity:.52}.budget-article-row__menu .budget-article-row__delete{color:var(--bt-red-on-soft)}.budget-article-list__loading,.budget-article-list__unavailable{min-width:0;min-height:83px;margin:0;padding:var(--bt-space-5);color:var(--bt-muted);background:var(--bt-surface);border:var(--bt-border);border-radius:var(--bt-radius-md);overflow-wrap:anywhere}.budget-article-list__skeleton{grid-template-columns:38px minmax(0,1fr);align-items:center}.budget-article-list__skeleton,.budget-article-list__skeleton>span:last-child{display:grid;min-width:0;grid-gap:var(--bt-space-3);gap:var(--bt-space-3)}.budget-article-list__empty{min-height:83px}.budget-article-list__sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}@media (max-width:420px){.budget-article-list{width:100%}.budget-article-row{grid-template-columns:38px minmax(0,1fr) 44px;gap:var(--bt-space-2);padding:var(--bt-space-2)}.budget-article-row__heading{grid-template-columns:minmax(0,1fr);gap:var(--bt-space-1)}.budget-article-row__figures{justify-items:start;text-align:left}.budget-article-list__header{align-items:flex-start}}@media (prefers-reduced-motion:reduce){.budget-article-list .bt-skeleton,.budget-article-row .bt-progress__fill{transition:none;animation:none}}