:root{color-scheme:light;--canvas: #f2efe7;--surface: #fbfaf5;--surface-raised: #ffffff;--surface-subtle: #e8ebe4;--text: #18231f;--text-muted: #56615b;--border: #cfd5cd;--accent: #0b6658;--accent-contrast: #ffffff;--accent-soft: #d8ebe4;--positive: #0b684d;--positive-soft: #d9eee5;--negative: #9c3835;--negative-soft: #f3dfdc;--transfer: #3d6097;--warning: #925515;--focus: #165fa7;--ledger-ink: #14251f;--ledger-paper: #f7f4eb;--brand-warm: #963c22;--chart-2: #9a5d13;--chart-3: #3d6097;--chart-4: #9c3835;--chart-5: #765590;--chart-6: #52713e;--chart-7: #a34c28;--chart-axis: #56615b;--chart-grid: rgb(86 97 91 / 16%);--shadow-sm: 0 1px 1px rgb(22 32 27 / 4%);--shadow-lg: 0 24px 70px rgb(11 24 18 / 24%);--radius-sm: .38rem;--radius: .62rem;--radius-lg: .9rem;--space-1: .35rem;--space-2: .6rem;--space-3: .9rem;--space-4: 1.2rem;--space-5: 1.7rem;--space-6: 2.35rem;--font-sans: "Adwaita Sans", "Segoe UI Variable Text", "Segoe UI", -apple-system, BlinkMacSystemFont, "Noto Sans", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Noto Serif", "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, Cambria, serif;--font-mono: "Adwaita Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;font-family:var(--font-sans);font-optical-sizing:auto;font-kerning:normal;font-variant-ligatures:common-ligatures contextual;font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=dark]{color-scheme:dark;--canvas: #101612;--surface: #171f1b;--surface-raised: #1e2823;--surface-subtle: #25312b;--text: #f0f1ea;--text-muted: #b3bbb4;--border: #3a463f;--accent: #8bd2c0;--accent-contrast: #10221c;--accent-soft: #214238;--positive: #8bd5b1;--positive-soft: #203c31;--negative: #f1a09a;--negative-soft: #492d2e;--transfer: #9bb7e2;--warning: #e2ad70;--focus: #9bcafa;--ledger-ink: #0b100e;--ledger-paper: #18211c;--brand-warm: #e18159;--chart-2: #e1b364;--chart-3: #9bb7e2;--chart-4: #f1a09a;--chart-5: #c8a4df;--chart-6: #a7c88c;--chart-7: #e49a76;--chart-axis: #b3bbb4;--chart-grid: rgb(179 187 180 / 16%);--shadow-sm: 0 1px 2px rgb(0 0 0 / 24%);--shadow-lg: 0 24px 70px rgb(0 0 0 / 50%)}*{box-sizing:border-box}html{background:var(--canvas);scrollbar-gutter:stable;scroll-padding-block:5rem}html.overlay-open{overflow:hidden}body{margin:0;min-inline-size:320px;min-block-size:100dvh;background:var(--canvas);color:var(--text);line-height:1.45}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,a{color:inherit}svg{flex:none}h1,h2,h3,p{margin-block-start:0}h1,h2{font-family:var(--font-display);font-weight:650}h1{margin-block-end:.35rem;font-size:clamp(2rem,1.35rem + 1.7vw,3rem);line-height:1.02;letter-spacing:-.04em}h2{margin-block-end:.25rem;font-size:clamp(1.2rem,1.05rem + .4vw,1.55rem);line-height:1.15;letter-spacing:-.025em}h3{margin-block-end:.3rem;font-size:.95rem}p{margin-block-end:.65rem}table{inline-size:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{padding:.75rem .85rem;text-align:start;border-block-end:1px solid var(--border);white-space:nowrap}th{color:var(--text-muted);font-size:.78rem;font-weight:650}td{font-size:.875rem}input,select,textarea{min-block-size:2.7rem;max-inline-size:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text)}input[type=checkbox]{appearance:none;display:inline-grid;place-content:center;flex:none;min-block-size:1.25rem;inline-size:1.25rem;block-size:1.25rem;padding:0;border:1.5px solid var(--text-muted);border-radius:.28rem;background:var(--surface-raised)}input[type=checkbox]:before{content:"";inline-size:.62rem;block-size:.35rem;border:solid var(--accent-contrast);border-width:0 0 2px 2px;transform:rotate(-45deg) scale(0)}input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent)}input[type=checkbox]:checked:before{transform:rotate(-45deg) scale(1)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}::selection{background:var(--accent-soft)}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;inset-block-start:.5rem;inset-inline-start:.5rem;padding:.65rem 1rem;border-radius:.5rem;background:var(--text);color:var(--surface);transform:translateY(-160%)}.skip-link:focus{transform:none}.muted{color:var(--text-muted);font-size:.875rem}.eyebrow{margin-block-end:.45rem;color:var(--text-muted);font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.page-kicker{margin-block-end:.35rem;color:var(--brand-warm);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.positive{color:var(--positive)!important}.negative{color:var(--negative)!important}.neutral{color:var(--text)!important}.tabular{font-variant-numeric:tabular-nums}.desktop-only{display:initial}.mobile-only{display:none}.app-shell{min-block-size:100dvh}.app-content{min-inline-size:0;margin-inline-start:14.25rem;transition:margin-inline-end .2s ease}.desktop-rail{position:fixed;z-index:20;inset:0 auto 0 0;display:flex;flex-direction:column;inline-size:14.25rem;padding:1.4rem 1.1rem;border-inline-end:0;background:var(--ledger-ink);color:#f6f1e7}.brand{display:inline-flex;align-items:center;gap:.75rem;min-block-size:2.75rem;text-decoration:none;font-weight:760;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;inline-size:2.4rem;block-size:2.4rem;border-radius:50%;background:var(--brand-warm);color:#fff;font-family:var(--font-display);font-size:1.15rem}.brand-copy{display:grid;line-height:1.05}.brand-copy small{color:color-mix(in srgb,currentColor 62%,transparent);font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.desktop-rail nav{display:grid;gap:.3rem;margin-block-start:2.6rem}.desktop-rail nav a{display:flex;align-items:center;gap:.8rem;min-block-size:3rem;padding-inline:.8rem;border-radius:.35rem;color:#b9c3bc;text-decoration:none;font-size:.91rem;font-weight:600}.desktop-rail nav a:hover{background:#ffffff12;color:#fff}.desktop-rail nav a.active{background:#ffffff1a;color:#fff;box-shadow:inset 3px 0 var(--brand-warm)}.rail-footer{margin-block-start:auto;padding:.85rem;border-block-start:1px solid rgb(255 255 255 / 14%);border-radius:0;background:transparent}.rail-footer p{margin:0;color:#b9c3bc;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.rail-footer strong{font-size:.85rem}.mobile-topbar,.mobile-bottom-nav{display:none}.page{max-inline-size:100rem;margin-inline:auto;padding:clamp(1.25rem,.85rem + 2.1vw,3.5rem);padding-block-end:5rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-block-end:1.4rem}.page-header .page-actions{display:flex;align-items:center;gap:.5rem}.page-intro{max-inline-size:48rem;color:var(--text-muted);font-size:.94rem}.page-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4);margin-block-start:var(--space-4)}.page-grid>*{min-inline-size:0}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr));gap:1px;padding:1px;background:var(--border)}.card{min-inline-size:0;padding:clamp(1rem,.8rem + .65vw,1.45rem);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.card.hero{background:var(--ledger-ink);color:#f7f4eb}.kpi{container-type:inline-size;border:0;border-radius:0;box-shadow:none}.kpi-value{margin-block-end:.35rem;color:var(--text);font-size:clamp(1.35rem,1rem + 1.2vw,2rem);font-weight:750;line-height:1.15;letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.kpi:not(.hero) .kpi-value{font-size:clamp(1.25rem,12cqi,1.75rem);white-space:nowrap}.kpi.hero .eyebrow,.kpi.hero .muted{color:#c6cec8}.kpi.hero .kpi-value{color:#fff!important}.kpi.hero .kpi-value{font-size:clamp(2rem,1.2rem + 3vw,3.75rem)}.kpi.hero{grid-column:span 2}.kpi.hero .kpi-value{white-space:nowrap}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-block-end:1.15rem}.card-header p{margin-block-end:0}.chart-card{container-type:inline-size;border-block-start:3px solid var(--text)}.chart-frame,.chart-canvas{inline-size:100%;min-inline-size:0}.chart-frame{position:relative}.chart-canvas{opacity:0;transition:opacity .16s ease}.chart-canvas.chart-loaded{opacity:1}.chart-frame>.skeleton{position:absolute;inset:0}.data-view{max-block-size:22rem;margin-block-start:1rem;border:1px solid var(--border);border-radius:.75rem;overflow:auto}.data-view thead{position:sticky;inset-block-start:0;z-index:1;background:var(--surface)}.scroll-region{max-inline-size:100%;overflow:auto;overscroll-behavior:contain}.button,.icon-button,.filter-button,.text-button,.chip{border:0;cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-block-size:2.75rem;padding:.62rem 1rem;border-radius:var(--radius-sm);font-weight:680;transition:transform .13s ease,background .13s ease}.button:active,.icon-button:active,.filter-button:active{transform:scale(.97)}.button.primary{background:var(--accent);color:var(--accent-contrast)}.button.secondary{border:1px solid var(--border);background:var(--surface-raised)}.button.ghost{background:transparent;color:var(--text-muted)}.button.danger{background:var(--negative-soft);color:var(--negative)}.button:disabled{cursor:not-allowed;opacity:.55}.icon-button{display:inline-grid;place-items:center;inline-size:2.75rem;block-size:2.75rem;border-radius:var(--radius-sm);background:transparent}.icon-button:hover,.text-button:hover{background:var(--surface-subtle)}.text-button{min-block-size:2.75rem;padding-inline:.65rem;border-radius:.5rem;background:transparent;color:var(--accent);font-size:.82rem;font-weight:650;white-space:nowrap}.filter-bar{display:flex;align-items:center;gap:.65rem;min-block-size:4rem;margin-block-end:1.35rem;padding-block:.65rem;border-block:1px solid var(--border);background:transparent}.filter-bar-label{margin:0;padding-inline-end:.2rem;color:var(--brand-warm);font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.quick-period{display:flex;gap:.45rem}.quick-period label{display:flex;align-items:center;gap:.35rem;color:var(--text-muted);font-size:.72rem;font-weight:650}.quick-period input{min-block-size:2.4rem;inline-size:8.5rem;padding:.45rem .55rem}.filter-chips{display:flex;flex:1;align-items:center;gap:.45rem;min-inline-size:0;overflow-x:auto;scrollbar-width:none}.filter-chips::-webkit-scrollbar{display:none}.chip{flex:none;min-block-size:2.55rem;padding:.4rem .7rem;border-radius:99px;background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:650}.scope-summary{margin:0;padding-inline:.45rem;color:var(--text-muted);font-size:.8rem;white-space:nowrap}.filter-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-block-size:2.65rem;padding-inline:.8rem;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);font-size:.85rem;font-weight:680}.badge{display:grid;place-items:center;min-inline-size:1.2rem;block-size:1.2rem;padding-inline:.25rem;border-radius:99px;background:var(--brand-warm);color:#fff;font-size:.68rem}.overlay{position:fixed;z-index:100;inset:0;display:flex;justify-content:flex-end;background:#0a140f7a}.overlay.live-inspector{pointer-events:none;background:transparent}.filter-sheet{display:flex;flex-direction:column;inline-size:min(25rem,100%);block-size:100dvh;background:var(--surface);box-shadow:var(--shadow-lg);animation:sheet-in .2s ease-out}.live-inspector .filter-sheet{pointer-events:auto;border-inline-start:1px solid var(--border);box-shadow:-16px 0 44px #0b181217}.sheet-header,.sheet-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-block-end:1px solid var(--border)}.sheet-header h2{margin:0;font-size:1.45rem}.sheet-header .eyebrow{margin-block-end:.2rem}.sheet-body{flex:1;padding:1.25rem;overflow-y:auto;overscroll-behavior:contain}.sheet-actions{border-block-start:1px solid var(--border);border-block-end:0;padding-block-end:max(1rem,env(safe-area-inset-bottom))}.action-cluster{display:flex;gap:.5rem}.period-fields,.multi-select{margin:0 0 1.2rem;padding:1rem 0 0;border:0;border-block-start:1px solid var(--border)}.period-fields legend,.multi-select legend{inline-size:100%;padding:0;font-weight:700}.multi-select legend{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.selection-count{color:var(--text-muted);font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:650}.period-fields{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.period-fields label{display:grid;gap:.3rem;color:var(--text-muted);font-size:.78rem}.multi-select .search-field input{inline-size:100%}.select-actions{display:flex;justify-content:space-between;gap:.5rem;margin-block:.55rem}.select-actions button{min-block-size:2.75rem;padding:.35rem 0;border:0;background:transparent;color:var(--accent);font-size:.73rem;cursor:pointer}.checkbox-list{display:grid;gap:.2rem;max-block-size:12rem;overflow-y:auto}.checkbox-list label,.check-row{display:flex;align-items:center;gap:.65rem;min-block-size:2.75rem;padding-inline:.4rem;border-radius:var(--radius-sm);font-size:.85rem}.checkbox-list label:hover,.checkbox-list label:has(input:checked),.check-row:has(input:checked){background:var(--accent-soft)}.filter-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem 1rem;margin-block:1.25rem .5rem;padding:1rem;border-radius:var(--radius);background:var(--ledger-ink);color:#f6f2e9}.filter-preview span{color:#c4cdc7;font-size:.7rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.filter-preview strong{grid-row:span 2;align-self:center;font-size:1.05rem;font-variant-numeric:tabular-nums;white-space:nowrap}.filter-preview small{color:#fff}.live-filter-status{display:inline-flex;align-items:center;gap:.45rem;color:var(--text-muted);font-size:.72rem}.live-filter-status span{inline-size:.5rem;block-size:.5rem;border-radius:50%;background:var(--positive);box-shadow:0 0 0 .2rem var(--positive-soft)}.field-error{padding:.75rem;border-radius:.65rem;background:var(--negative-soft);color:var(--negative)}.skeleton{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--surface-subtle)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface-raised) 65%,transparent),transparent);animation:shimmer 1.4s infinite}.inline-state{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-block-size:9rem;padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.inline-state p{margin-block:.3rem 0;color:var(--text-muted)}.error-state{border-color:color-mix(in srgb,var(--negative) 35%,var(--border));background:var(--negative-soft)}.segmented{display:inline-flex;padding:.2rem;border-radius:.7rem;background:var(--surface-subtle)}.segmented button{min-block-size:2.3rem;padding:.4rem .75rem;border:0;border-radius:.55rem;background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:650;cursor:pointer}.segmented button.active{background:var(--surface-raised);color:var(--text);box-shadow:0 1px 3px #141e181a}.list-card{padding:0;overflow:hidden}.list-header{padding:1.2rem 1.3rem .7rem}.composition-list{display:grid;gap:.15rem;margin:0;padding:0;list-style:none}.composition-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1rem;padding:.75rem 1.3rem;border-block-start:1px solid var(--border)}.composition-list strong,.composition-list span{min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composition-list small{color:var(--text-muted)}.progress{grid-column:1 / -1;block-size:.3rem;border-radius:1rem;overflow:hidden;background:var(--surface-subtle)}.progress>span{display:block;block-size:100%;border-radius:inherit;background:var(--accent)}.link-row{display:flex;align-items:center;justify-content:space-between;min-block-size:2.75rem;color:var(--accent);font-weight:650;text-decoration:none}.bootstrap{display:grid;place-items:center;align-content:center;gap:2rem;min-block-size:100dvh;padding:1.25rem}.bootstrap>*{inline-size:min(34rem,100%)}.bootstrap-brand{display:flex;align-items:center;justify-content:center;gap:.7rem;font-size:1.3rem}.bootstrap-brand .brand-mark{display:grid}.bootstrap-loader{text-align:center;color:var(--text-muted)}.bootstrap-loader span{display:inline-block;inline-size:2.25rem;block-size:2.25rem;border:3px solid var(--border);border-block-start-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.chart-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.55rem}.chart-controls label{display:flex;align-items:center;gap:.4rem;color:var(--text-muted);font-size:.78rem}.chart-controls select{min-block-size:2.35rem;padding:.35rem .55rem}.flow-switch{margin-block-end:.65rem}.section-heading{margin-block:1.5rem .8rem}.account-filter-impact{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;margin-block-end:1.35rem;padding:1rem 1.15rem;border:1px solid var(--border);border-inline-start:4px solid var(--brand-warm);background:var(--surface)}.account-filter-impact .eyebrow{margin-block-end:.2rem;color:var(--brand-warm)}.account-filter-impact p:last-child{margin:.2rem 0 0;color:var(--text-muted);font-size:.82rem}.account-filter-impact-value{display:grid;grid-template-columns:auto auto;align-items:center;gap:.1rem 1rem;text-align:end}.account-filter-impact-value>span{color:var(--text-muted);font-size:.72rem;font-weight:700;text-transform:uppercase}.account-filter-impact-value>strong{font-size:1.35rem;font-variant-numeric:tabular-nums;white-space:nowrap}.account-filter-impact-value .text-button{grid-column:1 / -1;justify-self:end}.account-overview{container-type:inline-size}.account-overview-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-block-end:1.5rem;padding:clamp(1.25rem,1rem + 1.2vw,2rem);border-radius:var(--radius);background:linear-gradient(90deg,transparent 0 69%,rgb(255 255 255 / 8%) 69% 69.15%,transparent 69.15%),var(--ledger-ink);color:#f7f4eb}.account-overview-header .eyebrow{color:#aebdb5}.account-overview-header .muted{margin:0;color:#c6cec8}.account-overview-total{display:grid;flex:none;gap:.15rem;text-align:end}.account-overview-total span{color:#b9c5be;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.account-overview-total strong{font-size:clamp(1.65rem,1.1rem + 1.8vw,2.55rem);font-variant-numeric:tabular-nums;letter-spacing:-.04em;white-space:nowrap}.account-kind-list{display:grid;grid-template-columns:minmax(0,2fr) minmax(17rem,.8fr);align-items:start;gap:2rem}.account-kind{min-inline-size:0;padding-block-start:1rem;border:0;border-block-start:3px solid var(--positive);border-radius:0;background:transparent}.account-kind-liabilities{border-block-start-color:var(--negative)}.account-kind-header,.account-group-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.account-kind-header{margin-block-end:1.4rem}.account-kind-header h3,.account-kind-header p,.account-group-header h4,.account-group-header p{margin:0}.account-kind-header>strong{font-size:1.3rem;font-variant-numeric:tabular-nums;white-space:nowrap}.account-kind-groups{display:grid;gap:1.5rem}.account-group{min-inline-size:0}.account-group+.account-group{padding-block-start:1.5rem;border-block-start:1px dashed var(--border)}.account-group-header{margin-block-end:.7rem}.account-group-header strong{font-variant-numeric:tabular-nums;white-space:nowrap}.account-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1px;padding:1px;background:var(--border)}.account-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:.35rem 1rem;min-inline-size:0;min-block-size:6.4rem;padding:1rem;border:0;border-radius:0;background:var(--surface-raised);color:var(--text);text-align:start;cursor:pointer}.account-summary:hover{background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}.account-summary .account-name{font-weight:700;line-height:1.3;overflow-wrap:anywhere;white-space:normal}.account-summary strong{font-variant-numeric:tabular-nums;white-space:nowrap}.account-summary small{color:var(--text-muted);line-height:1.3}.account-share{align-self:end;color:var(--text-muted);font-size:.78rem;font-variant-numeric:tabular-nums;text-align:end}@container (max-width: 55rem){.account-kind-list{grid-template-columns:minmax(0,1fr)}}@container (max-width: 34rem){.account-overview-header{align-items:flex-start;flex-direction:column;gap:1.1rem;background:var(--ledger-ink)}.account-overview-total{text-align:start}}.split-charts{display:grid;gap:1rem}.transaction-filters{margin-block-end:1rem}.primary-search{display:grid;grid-template-columns:minmax(14rem,1fr) auto auto;align-items:center;gap:.8rem}.search-field{position:relative;display:flex;align-items:center}.search-field>svg{position:absolute;inset-inline-start:.75rem;color:var(--text-muted);pointer-events:none}.search-field input{inline-size:100%;padding-inline-start:2.4rem}.compact-field input{padding-inline-start:.75rem}.result-summary{color:var(--text-muted);font-size:.86rem;font-variant-numeric:tabular-nums;white-space:nowrap}.advanced-filters{margin-block-start:.9rem;border-block-start:1px solid var(--border)}.advanced-filters>summary{display:flex;align-items:center;gap:.5rem;min-block-size:2.7rem;padding-block:.8rem .55rem;color:var(--accent);font-size:.85rem;font-weight:680;cursor:pointer;list-style:none}.advanced-filters>summary::-webkit-details-marker{display:none}.advanced-filters>summary:before{content:"›";font-size:1.15rem;line-height:1;transition:transform .15s ease}.advanced-filters[open]>summary:before{transform:rotate(90deg)}.advanced-count{margin-inline-start:auto;padding:.2rem .5rem;border-radius:99px;background:var(--accent-soft);font-size:.72rem}.column-picker>summary{min-block-size:2.7rem;padding-block:.8rem .2rem;color:var(--accent);font-size:.85rem;font-weight:680;cursor:pointer}.advanced-panel{display:grid;gap:1rem;margin-block-start:.35rem;padding:1rem;border:0;border-inline-start:3px solid var(--brand-warm);border-radius:0;background:color-mix(in srgb,var(--surface-subtle) 58%,transparent)}.advanced-section{min-inline-size:0}.advanced-section+.advanced-section{padding-block-start:1rem;border-block-start:1px solid var(--border)}.advanced-section h3{margin:0 0 .7rem;font-size:.9rem}.advanced-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.8rem}.control-field{display:grid;min-inline-size:0;gap:.3rem;color:var(--text-muted);font-size:.75rem}.control-field input,.control-field select{inline-size:100%;min-inline-size:0}.advanced-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.choice-fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;min-inline-size:0;margin:0;padding:.75rem;border:1px solid var(--border);border-radius:.7rem;background:var(--surface-raised)}.choice-fieldset legend{padding-inline:.3rem;font-size:.78rem;font-weight:700}.choice-fieldset label{display:flex;align-items:center;gap:.45rem;min-inline-size:0;min-block-size:2.75rem;padding:.35rem .45rem;border-radius:.5rem;background:var(--surface-subtle);font-size:.78rem}.choice-fieldset label span{overflow-wrap:anywhere}.compact-choices{grid-template-columns:repeat(auto-fit,minmax(4rem,1fr))}.advanced-actions{display:flex;justify-content:flex-end;padding-block-start:.2rem}.transaction-results{padding:0;overflow:visible}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-block-size:3.8rem;padding-inline:1rem;border-block-end:1px solid var(--border)}.table-toolbar label{color:var(--text-muted);font-size:.78rem}.table-toolbar select{min-block-size:2.2rem;padding:.3rem .5rem}.column-picker{position:relative}.column-picker>summary{padding:.7rem;list-style:none}.column-picker>div{position:absolute;z-index:5;inset-block-start:100%;inset-inline-end:0;display:grid;inline-size:13rem;padding:.7rem;border:1px solid var(--border);border-radius:.7rem;background:var(--surface-raised);box-shadow:var(--shadow-lg)}.column-picker label{display:flex;align-items:center;gap:.5rem;min-block-size:2.3rem}.transaction-table{max-inline-size:100%;max-block-size:37rem;overflow:auto}.transaction-table thead{position:sticky;z-index:3;inset-block-start:0;background:var(--surface)}.transaction-table th button{display:inline-flex;align-items:center;min-block-size:2rem;padding-block:.25rem;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;cursor:pointer}.transaction-table tbody tr{cursor:pointer}.transaction-table tbody tr:hover{background:var(--accent-soft)}.description-cell{max-inline-size:19rem;overflow:hidden;text-overflow:ellipsis}.amount-cell{text-align:end;font-weight:700}.type-badge{display:inline-flex;padding:.25rem .5rem;border-radius:99px;background:var(--surface-subtle);color:var(--text-muted);font-size:.72rem}.type-badge.income{background:var(--positive-soft);color:var(--positive)}.type-badge.expense{background:var(--negative-soft);color:var(--negative)}.type-badge.transfer{background:color-mix(in srgb,var(--transfer) 18%,var(--surface));color:var(--transfer)}.transaction-list{display:none}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;min-block-size:4.5rem;padding:.7rem;border-block-start:1px solid var(--border)}.pagination span{color:var(--text-muted);font-size:.8rem}.detail-overlay{align-items:stretch}.transaction-detail{display:flex;flex-direction:column;inline-size:min(31rem,100%);margin-inline-start:auto;block-size:100dvh;background:var(--surface);box-shadow:var(--shadow-lg);animation:sheet-in .2s ease-out}.detail-body{flex:1;padding:1.3rem;overflow-y:auto}.detail-amount{margin-block:.5rem 2rem;font-size:clamp(2rem,7vw,3rem);font-weight:760;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.detail-body dl{margin:0}.detail-body dl>div{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:1rem;padding-block:.8rem;border-block-end:1px solid var(--border)}.detail-body dt{color:var(--text-muted);font-size:.78rem}.detail-body dd{margin:0;text-align:end}.wrap-id{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:.76rem}@keyframes spin{to{transform:rotate(360deg)}}@container (max-width: 30rem){.card-header{align-items:stretch;flex-direction:column}.chart-card .text-button{align-self:flex-start}}@media(min-width:721px){html.overlay-open{overflow:auto}}@media(min-width:1180px){html.overlay-open .app-content{margin-inline-end:25rem}}@media(max-width:1100px){.app-content{margin-inline-start:5rem}.desktop-rail{inline-size:5rem;padding-inline:.8rem;align-items:center}.desktop-rail .brand>span:last-child,.desktop-rail nav span,.rail-footer{display:none}.desktop-rail nav a{justify-content:center;inline-size:3rem;padding:0}.span-8,.span-7{grid-column:span 12}.span-4,.span-5{grid-column:span 6}}@media(max-width:720px){.desktop-only,.desktop-rail{display:none!important}.mobile-only{display:initial}.app-content{margin:0}.mobile-topbar{position:sticky;z-index:30;inset-block-start:0;display:flex;justify-content:space-between;align-items:center;min-block-size:4rem;padding-inline:1rem;border-block-end:1px solid rgb(255 255 255 / 12%);background:color-mix(in srgb,var(--ledger-ink) 96%,transparent);color:#f7f4eb}.mobile-topbar .brand{min-block-size:3rem}.mobile-topbar .brand-mark{inline-size:2rem;block-size:2rem}.mobile-bottom-nav{position:fixed;z-index:40;inset:auto 0 0;display:grid;grid-template-columns:repeat(5,1fr);padding:.35rem .35rem max(.35rem,env(safe-area-inset-bottom));border-block-start:1px solid var(--border);background:color-mix(in srgb,var(--surface) 97%,transparent);box-shadow:0 -12px 30px #0c171214}.mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;min-block-size:3.3rem;border-radius:.7rem;color:var(--text-muted);text-decoration:none;font-size:.61rem;font-weight:650}.mobile-bottom-nav a.active{background:transparent;color:var(--accent);box-shadow:inset 0 3px var(--brand-warm)}.page{padding:1rem;padding-block-end:calc(5.3rem + env(safe-area-inset-bottom))}.page-header{align-items:center}.page-header .page-actions .icon-button.theme-toggle{display:none}.filter-bar{position:sticky;z-index:25;inset-block-start:4.55rem;padding:.45rem 0;background:var(--surface)}.filter-button span:not(.badge){display:none}.filter-button{inline-size:2.7rem;padding:0}.page-grid{grid-template-columns:minmax(0,1fr);gap:.85rem}.span-12,.span-8,.span-7,.span-6,.span-5,.span-4{grid-column:span 1}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}.kpi-grid .kpi:first-child{grid-column:1 / -1}.card{border-radius:var(--radius)}.card-header{flex-direction:column}.filter-sheet{inline-size:100%}.filter-sheet:not(:has(.live-filter-status)) .sheet-header{border-color:#ffffff1f;background:var(--ledger-ink);color:#f7f4eb}.filter-sheet:not(:has(.live-filter-status)) .sheet-header .eyebrow{color:#b9c5be}.period-fields{grid-template-columns:1fr}.sheet-actions{position:sticky;inset-block-end:0}.data-view{font-size:.8rem}.monthly-statement,.monthly-statement tbody,.monthly-statement tr,.monthly-statement th,.monthly-statement td{display:block;inline-size:100%}.monthly-statement thead{display:none}.monthly-statement tbody{display:grid;gap:.75rem}.monthly-statement tbody tr{padding-block:.75rem;border-block-start:2px solid var(--text)}.monthly-statement tbody th{padding:0 0 .45rem;border:0;color:var(--text);font-family:var(--font-display);font-size:1.05rem}.monthly-statement tbody td{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border:0;white-space:normal}.monthly-statement tbody td:before{content:attr(data-label);color:var(--text-muted);font-size:.76rem;font-weight:650}th,td{padding:.65rem}.inline-state{align-items:flex-start;flex-direction:column}.chart-controls{align-items:stretch;justify-content:flex-start;flex-direction:column}.segmented{max-inline-size:100%;overflow-x:auto}.account-summary-grid{grid-template-columns:minmax(0,1fr)}.account-kind{padding-block-start:.75rem}.account-filter-impact{grid-template-columns:minmax(0,1fr);gap:.8rem}.account-filter-impact-value{text-align:start}.account-filter-impact-value .text-button{justify-self:start}.account-kind-header,.account-group-header{align-items:flex-start;flex-direction:column;gap:.35rem}.advanced-panel{padding:.75rem}.advanced-choice-grid,.choice-fieldset{grid-template-columns:minmax(0,1fr)}.compact-choices{grid-template-columns:repeat(auto-fit,minmax(4rem,1fr))}.primary-search{grid-template-columns:minmax(0,1fr) auto}.primary-search .result-summary{grid-column:1 / -1;grid-row:2}.transaction-table{display:none}.transaction-list{display:grid}.transaction-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;min-block-size:5rem;padding:.8rem 1rem;border:0;border-block-end:1px solid var(--border);background:transparent;color:var(--text);text-align:start}.ledger-copy{display:grid;min-inline-size:0;gap:.3rem}.ledger-copy strong,.ledger-copy small{overflow-wrap:anywhere;white-space:normal}.ledger-copy small{color:var(--text-muted)}.ledger-amount{font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}.pagination{gap:.5rem}.pagination .button{padding-inline:.65rem}.detail-body dl>div{grid-template-columns:1fr;gap:.3rem}.detail-body dd{text-align:start}.kpi.hero{grid-column:1 / -1}}@media(max-width:390px){.kpi-grid{grid-template-columns:minmax(0,1fr)}.kpi-grid .kpi:first-child,.kpi.hero{grid-column:auto}.kpi.hero .kpi-value{font-size:clamp(1.8rem,8.5vw,2.5rem)}.mobile-bottom-nav a{font-size:.57rem}.sheet-actions>.button.ghost{display:none}}@media(hover:hover)and (pointer:fine){.button,.icon-button,.filter-button{min-block-size:2.5rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes sheet-in{0%{transform:translate(1.5rem);opacity:0}}
