@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-cyrillic-ext-wght-normal-lLTsRRxN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Bricolage Grotesque Variable", "Plus Jakarta Sans Variable", system-ui, sans-serif;--font-sans:"Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--text-display:750 2.25rem/1.08 "Bricolage Grotesque Variable", "Plus Jakarta Sans Variable", system-ui, sans-serif;--text-title-1:750 1.75rem/1.15 "Bricolage Grotesque Variable", "Plus Jakarta Sans Variable", system-ui, sans-serif;--text-title-2:700 1.375rem/1.2 "Bricolage Grotesque Variable", "Plus Jakarta Sans Variable", system-ui, sans-serif;--text-title-3:650 1.0625rem/1.3 "Bricolage Grotesque Variable", "Plus Jakarta Sans Variable", system-ui, sans-serif;--text-headline:650 .9375rem/1.4 "Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-body:450 .9375rem/1.5 "Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-body-sm:450 .875rem/1.45 "Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-label:550 .8125rem/1.35 "Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-small:450 .8125rem/1.4 "Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-caption:650 .6875rem/1.3 "Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px;--dur-fast:.12s;--dur-med:.2s;--dur-slow:.32s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.3, .64, 1);--size-control:40px;--size-control-sm:32px;--size-row:48px;--size-tap-min:44px;--size-sidebar:248px;--size-content-max:1120px;--size-hairline:1px;--color-bg:#f6f6fa;--color-surface:#fff;--color-surface-sunken:#ecedf4;--color-sidebar:#fbfbfd;--color-fill:#2f3b8f12;--color-fill-hover:#2f3b8f0d;--color-fill-strong:#2f3b8f1f;--color-ink:#1b1e36;--color-ink-2:#4e5270;--color-ink-3:#666a89;--color-line:#dedfeb;--color-line-strong:#c4c6d8;--color-brand:#2f3b8f;--color-brand-hover:#4351a8;--color-brand-strong:#2f3b8f;--color-brand-strong-hover:#262f78;--color-brand-fill:#eef0fa;--color-brand-text:#2f3b8f;--color-on-brand:#fff;--color-positive:#176946;--color-positive-fill:#e5f4ec;--color-positive-text:#176946;--color-negative:#a7302c;--color-negative-fill:#fbeae9;--color-negative-text:#a7302c;--color-danger:#c63b36;--color-warning:#c98512;--color-warning-fill:#fef6e6;--color-warning-text:#8f5c08;--color-focus:#2f3b8f;--color-focus-halo:#f4b444;--color-backdrop:#0e102466;--color-context:#f0a424;--color-context-fill:#fef6e6;--color-context-text:#8f5c08;--color-on-context:#1b1e36;--shadow-sm:0 1px 2px #1b1e360f, 0 0 0 1px #1b1e360a;--shadow-md:0 6px 20px #1b1e3614, 0 0 0 1px #1b1e360a;--shadow-lg:0 24px 60px #1b1e362e, 0 0 0 1px #1b1e3614;--chart-1:#2f3b8f;--chart-2:#e08a00;--chart-3:#1c7f55;--chart-4:#d9577a;--chart-5:#3a8dde;--chart-6:#8a5cc2;--chart-7:#7a5a2e;--chart-8:#16a3a3;--chart-9:#b8b02a;--chart-10:#c63b36;--chart-11:#6e7291;--chart-12:#e785a1}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#121429;--color-surface:#1b1e38;--color-surface-sunken:#171a33;--color-sidebar:#171a33;--color-fill:#b9c0ea1a;--color-fill-hover:#b9c0ea12;--color-fill-strong:#b9c0ea29;--color-ink:#ecedf7;--color-ink-2:#b7bad2;--color-ink-3:#9295b2;--color-line:#2e3257;--color-line-strong:#414670;--color-brand:#8e98d9;--color-brand-hover:#b9c0ea;--color-brand-strong:#4351a8;--color-brand-strong-hover:#2f3b8f;--color-brand-fill:#8e98d926;--color-brand-text:#b9c0ea;--color-on-brand:#fff;--color-positive:#6bc49a;--color-positive-fill:#1c7f5533;--color-positive-text:#6bc49a;--color-negative:#e58580;--color-negative-fill:#c63b3633;--color-negative-text:#e58580;--color-danger:#c63b36;--color-warning:#f4b444;--color-warning-fill:#f0a42429;--color-warning-text:#f7c569;--color-focus:#f4b444;--color-focus-halo:#6572c4;--color-backdrop:#05061299;--color-context:#f4b444;--color-context-fill:#f0a42424;--color-context-text:#f7c569;--color-on-context:#1b1e36;--shadow-sm:0 1px 2px #0006, 0 0 0 1px #ffffff0d;--shadow-md:0 6px 20px #00000080, 0 0 0 1px #ffffff12;--shadow-lg:0 24px 60px #000000a6, 0 0 0 1px #ffffff14;--chart-1:#8e98d9;--chart-2:#f4b444;--chart-3:#4cc38a;--chart-4:#e785a1;--chart-5:#6ab0f0;--chart-6:#b08ce0;--chart-7:#c9a26a;--chart-8:#3cc7c7;--chart-9:#d8d05a;--chart-10:#f0877f;--chart-11:#a3a6c2;--chart-12:#f0b1c3}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#121429;--color-surface:#1b1e38;--color-surface-sunken:#171a33;--color-sidebar:#171a33;--color-fill:#b9c0ea1a;--color-fill-hover:#b9c0ea12;--color-fill-strong:#b9c0ea29;--color-ink:#ecedf7;--color-ink-2:#b7bad2;--color-ink-3:#9295b2;--color-line:#2e3257;--color-line-strong:#414670;--color-brand:#8e98d9;--color-brand-hover:#b9c0ea;--color-brand-strong:#4351a8;--color-brand-strong-hover:#2f3b8f;--color-brand-fill:#8e98d926;--color-brand-text:#b9c0ea;--color-on-brand:#fff;--color-positive:#6bc49a;--color-positive-fill:#1c7f5533;--color-positive-text:#6bc49a;--color-negative:#e58580;--color-negative-fill:#c63b3633;--color-negative-text:#e58580;--color-danger:#c63b36;--color-warning:#f4b444;--color-warning-fill:#f0a42429;--color-warning-text:#f7c569;--color-focus:#f4b444;--color-focus-halo:#6572c4;--color-backdrop:#05061299;--color-context:#f4b444;--color-context-fill:#f0a42424;--color-context-text:#f7c569;--color-on-context:#1b1e36;--shadow-sm:0 1px 2px #0006, 0 0 0 1px #ffffff0d;--shadow-md:0 6px 20px #00000080, 0 0 0 1px #ffffff12;--shadow-lg:0 24px 60px #000000a6, 0 0 0 1px #ffffff14;--chart-1:#8e98d9;--chart-2:#f4b444;--chart-3:#4cc38a;--chart-4:#e785a1;--chart-5:#6ab0f0;--chart-6:#b08ce0;--chart-7:#c9a26a;--chart-8:#3cc7c7;--chart-9:#d8d05a;--chart-10:#f0877f;--chart-11:#a3a6c2;--chart-12:#f0b1c3}:root[data-context=household]{--color-context:#df6a8b;--color-context-fill:#fceef2;--color-context-text:#922f4c;--color-on-context:#1b1e36}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-context=household]{--color-context:#e785a1;--color-context-fill:#d9577a29;--color-context-text:#f0b1c3;--color-on-context:#1b1e36}}:root[data-theme=dark][data-context=household]{--color-context:#e785a1;--color-context-fill:#d9577a29;--color-context-text:#f0b1c3;--color-on-context:#1b1e36}:root[data-context=business]{--color-context:#1f2766;--color-context-fill:#eef0fa;--color-context-text:#1f2766;--color-on-context:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-context=business]{--color-context:#8e98d9;--color-context-fill:#8e98d926;--color-context-text:#b9c0ea;--color-on-context:#1b1e36}}:root[data-theme=dark][data-context=business]{--color-context:#8e98d9;--color-context-fill:#8e98d926;--color-context-text:#b9c0ea;--color-on-context:#1b1e36}:root[data-density=compact]{--text-body:450 .875rem/1.4 "Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-body-sm:450 .8125rem/1.4 "Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--size-control:34px;--size-control-sm:28px;--size-row:32px}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-med:0s;--dur-slow:0s}}@media (prefers-contrast:more){:root{--color-line:var(--color-ink-3);--color-line-strong:var(--color-ink-2)}}*,:before,:after{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-ink);font:var(--text-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-optical-sizing:auto;margin:0;padding:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--color-brand);text-decoration:none}a:hover{text-underline-offset:2px;text-decoration:underline}h1,h2,h3,h4,p{margin:0}h1,h2,h3{text-wrap:balance}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-xs);box-shadow:0 0 0 5px color-mix(in srgb, var(--color-focus-halo) 45%, transparent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--space-3);z-index:100;background:var(--color-brand-strong);color:var(--color-on-brand);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);position:absolute;top:-60px}.skip-link:focus{top:var(--space-3)}::placeholder{color:var(--color-ink-3);opacity:1}kbd{font:600 11px/1 var(--font-mono);background:var(--color-surface);border:1px solid var(--color-line-strong);color:var(--color-ink-2);border-bottom-width:2px;border-radius:5px;padding:3px 5px}.num,.money{font-variant-numeric:tabular-nums;white-space:nowrap}.money.pos{color:var(--color-positive)}.money.neg{color:var(--color-negative)}.muted{color:var(--color-ink-2)}.faint{color:var(--color-ink-3)}.small{font:var(--text-small)}.caption{font:var(--text-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-3)}.stack{gap:var(--gap,var(--space-4));flex-direction:column;display:flex}.row{align-items:center;gap:var(--gap,var(--space-2));flex-wrap:wrap;display:flex}.row.nowrap{flex-wrap:nowrap}.spacer{flex:1}.grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill, minmax(min(var(--min,240px), 100%), 1fr));align-items:start;display:grid}.right{text-align:right}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-only,.btn.mobile-only,.tabs-select,.show-mobile-only{display:none}.shell{grid-template-columns:var(--size-sidebar) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{background:var(--color-sidebar);border-right:1px solid var(--color-line);height:100vh;padding:var(--space-4) var(--space-3) var(--space-3);gap:var(--space-1);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{align-items:center;gap:var(--space-2);padding:0 var(--space-2) var(--space-3);display:flex}.sidebar-section{margin-top:var(--space-3);padding:0 var(--space-3) var(--space-1);font:var(--text-caption);color:var(--color-ink-3);text-transform:uppercase;letter-spacing:.06em}.sidebar-sep{background:var(--color-line);height:1px;margin:var(--space-2) var(--space-2)}.nav-link{--icon-accent:transparent;align-items:center;gap:var(--space-3);min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-ink-2);font:600 .9063rem/1.2 var(--font-sans);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);display:flex;text-decoration:none!important}.nav-link:hover{background:var(--color-fill-hover);color:var(--color-ink)}.nav-link[aria-current=page],.nav-link.active{--icon-accent:var(--color-context);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-sm)}.nav-link svg{flex:none}.nav-link .badge,.nav-link .count-badge{margin-left:auto}.create-btn{width:100%;margin:var(--space-2) 0 var(--space-3);justify-content:flex-start}.create-btn .chev{opacity:.8;margin-left:auto}.ws-switch{align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;text-align:left;color:var(--color-ink);display:flex}.ws-switch:hover{border-color:var(--color-line-strong)}.ws-switch.compact{gap:var(--space-2);width:auto;min-height:40px;padding:4px 8px 4px 4px}.ws-avatar{background:var(--color-context);width:32px;height:32px;color:var(--color-on-context);font:750 .9375rem/1 var(--font-display);border-radius:9px;flex:none;place-items:center;display:grid}.account-btn{align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:var(--color-ink);background:0 0;border:none;display:flex}.account-btn:hover{background:var(--color-fill-hover)}.avatar{background:var(--color-brand-fill);width:28px;height:28px;color:var(--color-brand-text);font:700 .75rem/1 var(--font-sans);border-radius:50%;flex:none;place-items:center;display:grid}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;align-items:center;gap:var(--space-2);min-height:60px;padding:var(--space-2) var(--space-8);background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);display:flex;position:sticky;top:0}.search-trigger{color:var(--color-ink-3);flex:0 380px;justify-content:flex-start;font-weight:500}.content{width:100%;max-width:var(--size-content-max);padding:var(--space-2) var(--space-8) var(--space-12);gap:var(--space-6);flex-direction:column;margin:0 auto;display:flex}.page-header{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-header h1{font:var(--text-title-1);letter-spacing:-.015em}.page-header .subtitle{color:var(--color-ink-2);margin-top:var(--space-1);max-width:68ch}.page-header .actions{gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.subnav{gap:var(--space-1);scrollbar-width:none;margin-bottom:calc(-1 * var(--space-2));display:flex;overflow-x:auto}.subnav a{align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--color-ink-2);font:600 .875rem/1 var(--font-sans);white-space:nowrap;display:inline-flex;text-decoration:none!important}.subnav a:hover{background:var(--color-fill-hover);color:var(--color-ink)}.subnav a[aria-current=page]{background:var(--color-ink);color:var(--color-bg)}.weave{background:repeating-linear-gradient(90deg, var(--color-context) 0 8px, transparent 8px 16px) 0 0 / 100% 4px no-repeat, repeating-linear-gradient(90deg, transparent 0 8px, var(--color-context) 8px 16px) 0 4px / 100% 4px no-repeat, var(--color-brand);border-radius:4px;height:8px}.tabbar{display:none}@media (width<=860px){.shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:var(--space-2) var(--space-4);padding-top:calc(var(--space-2) + env(safe-area-inset-top,0px));min-height:56px}.content{padding:var(--space-2) var(--space-4) calc(88px + env(safe-area-inset-bottom,0px));gap:var(--space-5)}.page-header h1{font:var(--text-title-2)}.tabbar{z-index:40;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--color-surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--color-line);grid-template-columns:repeat(5,1fr);align-items:end;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a,.tabbar button{--icon-accent:transparent;min-height:48px;color:var(--color-ink-3);font:650 .6875rem/1 var(--font-sans);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex;text-decoration:none!important}.tabbar a[aria-current=page]{--icon-accent:var(--color-context);color:var(--color-ink)}.tabbar .tab-create{background:var(--color-brand-strong);width:52px;height:52px;min-height:0;color:var(--color-on-brand);box-shadow:var(--shadow-md);border-radius:16px;place-self:center}.mobile-only,.btn.mobile-only{display:inline-flex}.hide-mobile{display:none!important}.show-mobile-only,.tabs-select{display:block}.tabs-list.collapsible,.collapsible-filters:not(.open){display:none}.table-wrap{background:linear-gradient(to right, var(--color-surface) 30%, transparent) left center / 32px 100% no-repeat local, linear-gradient(to left, var(--color-surface) 30%, transparent) right center / 32px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, color-mix(in srgb, var(--color-ink) 22%, transparent), transparent) left center / 10px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, color-mix(in srgb, var(--color-ink) 22%, transparent), transparent) right center / 10px 100% no-repeat scroll}.table-wrap .table th:first-child,.table-wrap .table td:first-child{z-index:1;background:var(--color-surface);box-shadow:1px 0 0 var(--color-line);position:sticky;left:0}.table-wrap .table tr.subtotal td:first-child{background:var(--color-surface-sunken)}}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-5);min-width:0}.card.flush{padding:0;overflow:hidden}.card.flush>.card-title{padding:var(--space-4) var(--space-5) 0}.card-title{font:var(--text-title-3);margin-bottom:var(--space-3);align-items:center;gap:var(--space-2);display:flex}.card-title .actions{font:var(--text-body-sm);margin-left:auto}.card.hero{background:var(--color-brand-strong);color:var(--color-on-brand);border-color:#0000;position:relative;overflow:hidden}.card.hero .muted,.card.hero .faint{color:color-mix(in srgb, var(--color-on-brand) 80%, transparent)}.card.hero a{color:inherit;text-decoration:underline}.stat .label{font:var(--text-label);color:var(--color-ink-2)}.stat .value{font:700 1.625rem/1.15 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.015em;margin-top:var(--space-1)}.stat .delta{font:var(--text-small);margin-top:var(--space-1);color:var(--color-ink-2)}.figure{font:var(--text-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--size-control);padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-line-strong);font:650 .875rem/1 var(--font-sans);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:var(--color-surface);color:var(--color-ink);display:inline-flex;text-decoration:none!important}.btn:hover{background:var(--color-fill-hover);border-color:var(--color-ink-3)}.btn:active{transform:translateY(1px)}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn.primary{background:var(--color-brand-strong);border-color:var(--color-brand-strong);color:var(--color-on-brand)}.btn.primary:hover{background:var(--color-brand-strong-hover);border-color:var(--color-brand-strong-hover)}.btn.danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-on-brand)}.btn.plain{color:var(--color-brand);padding:0 var(--space-2);background:0 0;border-color:#0000}.btn.plain:hover{background:var(--color-brand-fill)}.btn.plain.danger-text{color:var(--color-negative)}.btn.sm{height:var(--size-control-sm);padding:0 var(--space-3);font-size:.8125rem}.btn.icon{width:var(--size-control);padding:0}.btn.icon.sm{width:var(--size-control-sm)}.btn .spinner{width:14px;height:14px}.link-button{font:inherit;color:var(--color-brand-text);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.learn-more{white-space:nowrap;text-underline-offset:2px;text-decoration:underline}.cleared-toggle{border:1.5px solid var(--color-ink-3);color:#0000;cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.cleared-toggle.on{border-color:var(--color-positive);background:var(--color-positive);color:var(--color-surface)}.cleared-toggle:hover:not(.on){color:var(--color-ink-3)}.help-toc{columns:2 220px;margin:0;padding-left:18px}.help-toc li{margin:2px 0}.help-topic{scroll-margin-top:72px}.help-topic p{margin:0}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.field-label{font:var(--text-label);color:var(--color-ink-2)}.field .hint{font:var(--text-small);color:var(--color-ink-3)}.field .error,span.error{font:var(--text-small);color:var(--color-negative-text)}.input-group+span.error{margin-top:2px;display:block}.input,.select,.textarea{width:100%;height:var(--size-control);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);min-width:0}.textarea{height:auto;min-height:72px;padding:var(--space-2) var(--space-3);resize:vertical}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-ink-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-focus);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-focus-halo) 40%, transparent);outline:none}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--color-negative)}.input.amount{text-align:right;font-variant-numeric:tabular-nums}.input.amount-lg{height:64px;font:700 2rem/1 var(--font-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;text-align:left;border-radius:var(--radius-md)}.input-group{align-items:stretch;display:flex}.input-group .addon{padding:0 var(--space-3);background:var(--color-surface-sunken);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm) 0 0 var(--radius-sm);color:var(--color-ink-2);font:var(--text-label);border-right:none;align-items:center;display:flex}.input-group .input{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.input-group.lg .addon{font:700 1rem/1 var(--font-sans);border-radius:var(--radius-md) 0 0 var(--radius-md);padding:0 var(--space-4)}.input-group.lg .input{border-radius:0 var(--radius-md) var(--radius-md) 0}details.more>summary{cursor:pointer;font:600 .875rem/1 var(--font-sans);color:var(--color-brand);padding:var(--space-2) 0;align-items:center;gap:var(--space-2);list-style:none;display:inline-flex}details.more>summary::-webkit-details-marker{display:none}details.more[open]>summary svg{transform:rotate(90deg)}.why-disabled{font:var(--text-small);color:var(--color-ink-3);align-self:center;margin-right:auto}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%23666A89' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:30px}.form-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));display:grid}.form-grid .span-2{grid-column:span 2}.form-grid .span-all{grid-column:1/-1}@media (width<=560px){.form-grid .span-2{grid-column:1/-1}}.check{align-items:center;gap:var(--space-2);cursor:pointer;min-height:28px;display:inline-flex}.check input{width:18px;height:18px;accent-color:var(--color-brand)}.switch{border-radius:var(--radius-pill);background:var(--color-line-strong);cursor:pointer;width:44px;height:26px;transition:background var(--dur-med) var(--ease-out);border:none;flex:none;position:relative}.switch:after{content:"";width:20px;height:20px;transition:transform var(--dur-med) var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0e10244d}.switch[aria-checked=true]{background:var(--color-brand-strong)}.switch[aria-checked=true]:after{transform:translate(18px)}.segmented{background:var(--color-surface-sunken);border-radius:var(--radius-sm);scrollbar-width:none;gap:2px;min-width:0;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.segmented::-webkit-scrollbar{display:none}.segmented button{height:30px;padding:0 var(--space-3);font:600 .8125rem/1 var(--font-sans);cursor:pointer;color:var(--color-ink-2);white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:none}.segmented button[aria-pressed=true],.segmented button[aria-selected=true]{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-sm)}.list{margin:0;padding:0;list-style:none}.list-row{align-items:center;gap:var(--space-3);min-height:var(--size-row);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--color-line);color:inherit;display:flex;text-decoration:none!important}.list-row:last-child{border-bottom:none}a.list-row:hover,button.list-row:hover,.list-row.interactive:hover{background:var(--color-fill-hover)}button.list-row{border:none;border-bottom:1px solid var(--color-line);text-align:left;cursor:pointer;background:0 0;width:100%}.list-row .title{font:var(--text-body);font-weight:550}.list-row .sub{font:var(--text-small);color:var(--color-ink-2)}.list-row .trailing{text-align:right;align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.list-header{padding:var(--space-3) var(--space-5) var(--space-1);font:var(--text-caption);color:var(--color-ink-3);text-transform:uppercase;letter-spacing:.06em}.dropzone{min-height:132px;padding:var(--space-4);text-align:center;border:1.5px dashed var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-ink-2);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;transition:border-color .12s,background .12s;display:flex}.dropzone:hover,.dropzone.over{border-color:var(--color-brand);background:var(--color-brand-fill)}.dropzone:focus-within{outline:2px solid var(--color-focus);outline-offset:2px}.dropzone.has-file{border-style:solid}.dropzone .link{color:var(--color-brand);text-underline-offset:2px;text-decoration:underline}.account-hero{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.row-icon.lg{border-radius:14px;width:52px;height:52px}.account-balance{font:700 2rem/1.15 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.015em}.account-facts{gap:var(--space-6);flex-wrap:wrap;margin-left:auto;display:flex}.account-facts>div{flex-direction:column;gap:2px;min-width:160px;display:flex}.account-facts .progress{margin-top:var(--space-1)}@media (width<=640px){.account-facts{width:100%;padding-top:var(--space-3);border-top:1px solid var(--color-line);margin-left:0}}.stat .label{align-items:center;gap:6px;display:flex}.person-row .avatar{width:36px;height:36px;font-size:.8125rem}.person-row .title{color:var(--color-ink);display:block}.person-row .owe{flex-direction:column;align-items:flex-end;font-weight:650;line-height:1.25;display:flex}@media (width<=640px){.person-row.with-actions{flex-wrap:wrap}.person-row.with-actions .trailing{justify-content:flex-end;width:100%}}.loan-card{gap:var(--space-3);color:inherit;flex-direction:column;display:flex;text-decoration:none!important}.loan-card:hover{border-color:var(--color-line-strong)}.loan-card .title{font-weight:600}.loan-amount{font:700 1.5rem/1.2 var(--font-display);font-variant-numeric:tabular-nums}.upcoming-summary{margin:var(--space-2) var(--space-5) var(--space-1);font:var(--text-body);color:var(--color-ink-2)}.upcoming-summary .money{color:var(--color-ink);font-weight:650}.upcoming-summary .money.pos{color:var(--color-positive)}h3.list-header{padding-top:var(--space-4);border-bottom:1px solid var(--color-line);margin:0}.list-header.overdue{color:var(--color-negative)}.list-row .row-actions{flex:none;gap:6px;display:flex}@media (width<=640px){.list-row.has-actions{flex-wrap:wrap}.list-row.has-actions>div{flex:1}.list-row.has-actions .row-actions{width:100%;padding-bottom:var(--space-1);justify-content:flex-end}}.row-icon.in{color:var(--color-positive)}.row-icon.out{color:var(--color-ink)}.row-icon{--icon-accent:var(--color-context-fill);background:var(--color-surface-sunken);width:36px;height:36px;color:var(--color-ink-2);border-radius:10px;flex:none;place-items:center;display:grid}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}table.table{border-collapse:collapse;width:100%;font:var(--text-body-sm)}.table th{text-align:left;font:650 .75rem/1.3 var(--font-sans);color:var(--color-ink-3);letter-spacing:.02em;padding:var(--space-3) var(--space-3) var(--space-2);border-bottom:1px solid var(--color-line);white-space:nowrap;background:var(--color-surface);position:sticky;top:0}.table td{padding:var(--space-2) var(--space-3);height:calc(var(--size-row) - 4px);border-bottom:1px solid var(--color-line);vertical-align:middle}.table th:first-child,.table td:first-child{padding-left:var(--space-5)}.table th:last-child,.table td:last-child{padding-right:var(--space-5)}.table tr:last-child td{border-bottom:none}.table th.num,.table td.num{text-align:right}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover td{background:var(--color-fill-hover)}.table tfoot td{border-top:1px solid var(--color-line-strong);font-weight:650}.table tr.subtotal td{background:var(--color-surface-sunken);font-weight:650}.table tr.section td{font:var(--text-headline);padding-top:var(--space-4)}.table tr.group td{font:var(--text-title-3);padding-top:var(--space-5)}.table .indent-1{padding-left:calc(var(--space-5) + 16px)}.table .indent-2{padding-left:calc(var(--space-5) + 32px)}.struck{color:var(--color-ink-3);text-decoration:line-through}.badge{border-radius:var(--radius-xs);background:var(--color-fill);height:22px;color:var(--color-ink-2);font:650 .71875rem/1 var(--font-sans);white-space:nowrap;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.badge.accent{background:var(--color-brand-fill);color:var(--color-brand-text)}.badge.positive{background:var(--color-positive-fill);color:var(--color-positive-text)}.badge.negative{background:var(--color-negative-fill);color:var(--color-negative-text)}.badge.warning{background:var(--color-warning-fill);color:var(--color-warning-text)}.badge.context{background:var(--color-context-fill);color:var(--color-context-text)}.count-badge{border-radius:var(--radius-pill);background:var(--color-context);min-width:20px;height:20px;color:var(--color-on-context);font:750 .6875rem/1 var(--font-sans);place-items:center;padding:0 6px;display:inline-grid}.banner{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-fill);font:var(--text-body-sm);color:var(--color-ink);align-items:flex-start;display:flex}.banner>svg{flex:none;margin-top:2px}.banner.error{background:var(--color-negative-fill)}.banner.error>svg{color:var(--color-negative-text)}.banner.warning{background:var(--color-warning-fill)}.banner.warning>svg{color:var(--color-warning-text)}.banner.success{background:var(--color-positive-fill)}.banner.success>svg{color:var(--color-positive-text)}.banner.info{background:var(--color-brand-fill)}.banner.info>svg{color:var(--color-brand-text)}.banner ul{margin:var(--space-1) 0 0;padding-left:var(--space-5)}.banner a{color:var(--color-brand-text);text-decoration:underline}.empty{text-align:center;padding:var(--space-10) var(--space-4);color:var(--color-ink-2);align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.empty>svg{color:var(--color-ink-3);width:40px;height:40px}.empty>svg.mascot{width:112px;height:112px;color:inherit;margin-bottom:var(--space-2)}.empty h3{font:var(--text-title-3);color:var(--color-ink)}.empty p{max-width:46ch}.spinner{border:2px solid var(--color-fill-strong);border-top-color:var(--color-brand);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--color-fill) 25%, var(--color-fill-hover) 50%, var(--color-fill) 75%);border-radius:var(--radius-xs);background-size:200% 100%;min-height:14px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.progress{border-radius:var(--radius-pill);background:var(--color-surface-sunken);height:8px;overflow:hidden}.progress>span{border-radius:inherit;background:var(--color-brand);height:100%;transition:width var(--dur-slow) var(--ease-out);display:block}.progress.warning>span{background:var(--color-warning)}.progress.danger>span{background:var(--color-negative)}.progress.success>span{background:var(--color-positive)}.overlay{background:var(--color-backdrop);z-index:80;animation:fade var(--dur-med) var(--ease-out);position:fixed;inset:0}.dialog{z-index:81;background:var(--color-surface);border-radius:var(--radius-lg);width:min(560px,100vw - 24px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);padding:var(--space-6);animation:pop var(--dur-med) var(--ease-spring);gap:var(--space-4);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.dialog.wide{width:min(860px,100vw - 24px)}.sheet{z-index:81;background:var(--color-surface);width:min(560px,100vw);box-shadow:var(--shadow-lg);animation:slide var(--dur-med) var(--ease-out);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.sheet.wide{width:min(820px,100vw)}@media (width<=860px){.sheet,.sheet.wide{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100vw;max-height:calc(100dvh - 24px);animation:rise var(--dur-med) var(--ease-out);padding-bottom:env(safe-area-inset-bottom,0px);top:auto;left:0}}.sheet-header{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-line);display:flex}.sheet-header h2,.dialog h2{font:var(--text-title-2)}.sheet-body{padding:var(--space-5);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sheet-footer,.dialog-footer{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.sheet-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-line)}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translate(-50%,-48%)scale(.97)}}@keyframes slide{0%{opacity:0;transform:translate(24px)}}@keyframes rise{0%{opacity:0;transform:translateY(32px)}}.menu{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-lg);padding:var(--space-1);z-index:90;animation:fade var(--dur-fast)}.menu-item{--icon-accent:transparent;align-items:center;gap:var(--space-3);min-height:36px;padding:6px var(--space-3);border-radius:var(--radius-xs);font:var(--text-body-sm);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;font-weight:550;display:flex}.menu-item[data-highlighted]{--icon-accent:var(--color-context);background:var(--color-fill)}.menu-item .menu-hint{color:var(--color-ink-3);margin-left:auto;font-weight:450}.menu-item.danger{color:var(--color-negative-text)}.menu-item.danger[data-highlighted]{background:var(--color-negative-fill)}.menu-sep{background:var(--color-line);height:1px;margin:var(--space-1) 0}.menu-label{padding:8px var(--space-3) 4px;font:var(--text-caption);color:var(--color-ink-3);text-transform:uppercase;letter-spacing:.06em}.toasts{z-index:100;bottom:var(--space-5);gap:var(--space-2);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed;left:50%;transform:translate(-50%)}@media (width<=860px){.toasts{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}.toast{pointer-events:auto;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-ink);min-height:48px;color:var(--color-bg);box-shadow:var(--shadow-lg);font:var(--text-body-sm);animation:pop-up var(--dur-med) var(--ease-spring);max-width:min(560px,100vw - 32px);font-weight:550;display:flex}.toast.error{background:var(--color-danger);color:var(--color-on-brand)}.toast button,.toast a{color:inherit;cursor:pointer;border-radius:var(--radius-xs);text-underline-offset:3px;background:0 0;border:none;padding:6px 8px;font-weight:700;text-decoration:underline}.toast button:hover,.toast a:hover{background:color-mix(in srgb, currentColor 14%, transparent)}.toast .toast-close{opacity:.7;text-decoration:none}@keyframes pop-up{0%{opacity:0;transform:translateY(10px)}}.palette{z-index:95;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);width:min(640px,100vw - 24px);box-shadow:var(--shadow-lg);animation:fade var(--dur-fast);position:fixed;top:12vh;left:50%;overflow:hidden;transform:translate(-50%)}.palette input{width:100%;padding:var(--space-4) var(--space-5);font:500 1.125rem/1.4 var(--font-sans);border:none;border-bottom:1px solid var(--color-line);background:0 0;outline:none}.palette-results{max-height:55vh;padding:var(--space-2);overflow-y:auto}.palette-item{align-items:center;gap:var(--space-3);min-height:40px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);cursor:pointer;display:flex}.palette-item[aria-selected=true]{background:var(--color-fill)}.tabs-list{gap:var(--space-5);border-bottom:1px solid var(--color-line);display:flex;overflow-x:auto}.tabs-trigger{padding:var(--space-2) 0;font:600 .875rem/1.4 var(--font-sans);color:var(--color-ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px}.tabs-trigger:hover{color:var(--color-ink)}.tabs-trigger[data-state=active]{color:var(--color-ink);border-bottom-color:var(--color-brand)}.wizard{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.wizard-step{gap:var(--space-3);align-items:flex-start;display:flex}.wizard-n{width:28px;height:28px;font:700 .8125rem/1 var(--font-sans);background:var(--color-surface-sunken);color:var(--color-ink-2);border-radius:50%;flex:none;place-items:center;display:grid}.wizard-step.done .wizard-n{background:var(--color-positive);color:#fff}.wizard-step.todo .wizard-n{background:var(--color-context);color:var(--color-on-context)}.unlock{gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--color-context-fill);flex-wrap:wrap;align-items:center;display:flex}.unlock .row-icon{background:var(--color-surface)}.explain{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.explain-head{gap:var(--space-2);grid-template-columns:20px minmax(0,1fr) auto;align-items:baseline;font-weight:650;display:grid}.explain-op{color:var(--color-ink-3);font-weight:700}.explain-items{margin:var(--space-1) 0 0 28px;font:var(--text-small);flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.explain-items li{gap:var(--space-2);justify-content:space-between;display:flex}.explain-empty{margin:var(--space-1) 0 0 28px}.explain-total{border-top:2px solid var(--color-ink);padding-top:var(--space-2)}.explain-total .explain-head{font:700 1.125rem/1.3 var(--font-display)}.card.hero .link-button{color:inherit}.search-field{align-items:center;display:flex;position:relative}.search-field>svg{color:var(--color-ink-3);pointer-events:none;position:absolute;left:12px}.search-field .input{padding-left:40px}.table tr.day-row td{height:auto;padding-top:var(--space-4);padding-bottom:var(--space-2);font:650 .75rem/1.3 var(--font-sans);letter-spacing:.02em;color:var(--color-ink-3);background:var(--color-surface);border-bottom:1px solid var(--color-line)}.table tbody tr.selected td{background:var(--color-brand-fill)}.tx-title{font-weight:600}.row-check{width:18px;height:18px;accent-color:var(--color-brand);cursor:pointer}.show-mobile-inline{display:none}@media (width<=860px){.show-mobile-inline{display:inline}}.bulk-bar{z-index:15;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-ink);color:var(--color-bg);box-shadow:var(--shadow-md);flex-wrap:wrap;display:flex;position:sticky;top:64px}.bulk-bar .btn{color:inherit;border-color:color-mix(in srgb, currentColor 35%, transparent);background:0 0}.settings-layout{gap:var(--space-6);grid-template-columns:240px minmax(0,1fr);align-items:start;display:grid}.settings-nav{gap:var(--space-4);flex-direction:column;display:flex;position:sticky;top:72px}.settings-nav .nav-link{min-height:36px;font-size:.875rem}@media (width<=860px){.settings-layout{grid-template-columns:minmax(0,1fr)}.settings-nav{position:static}.settings-layout.has-page .settings-nav,.settings-layout:not(.has-page) .settings-page{display:none}}.content:has(.composer){max-width:1480px}.composer{gap:var(--space-6);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=1480px){.composer{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr)}.composer-preview{position:sticky;top:72px}}.paper{color:#1b1e36;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:var(--space-6);font:var(--text-small);gap:var(--space-2);background:#fff;flex-direction:column;display:flex}.paper .faint,.paper .caption{color:#666a89}.paper-title{font:800 1.25rem/1 var(--font-display);letter-spacing:.02em}.paper-lines{border-collapse:collapse;width:100%;margin-top:var(--space-4)}.paper-lines th{text-align:left;border-bottom:1px solid #dedfeb;padding:6px 0;font-weight:650}.paper-lines td{border-bottom:1px solid #ecedf4;padding:6px 0}.paper-lines .num{text-align:right}.paper-totals{margin:var(--space-3) 0 0 auto;flex-direction:column;gap:4px;min-width:200px;display:flex}.paper-totals div{justify-content:space-between;gap:var(--space-4);display:flex}.paper-totals dd{margin:0}.paper-totals .grand{font:700 .9375rem/1.3 var(--font-display);border-top:2px solid #1b1e36;padding-top:4px}.report-card{gap:var(--space-2);color:var(--color-ink);transition:border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex-direction:column;display:flex;text-decoration:none!important}.report-card:hover{border-color:var(--color-line-strong);transform:translateY(-1px)}.report-q{font:var(--text-title-3)}.home-top{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:stretch;display:grid}@media (width<=1000px){.home-top{grid-template-columns:minmax(0,1fr)}}.home-hero{gap:var(--space-5);padding:var(--space-6);flex-direction:column;display:flex}.home-hero .weave{opacity:.9;background:repeating-linear-gradient(90deg, var(--color-context) 0 8px, transparent 8px 16px) 0 0 / 100% 4px no-repeat, repeating-linear-gradient(90deg, transparent 0 8px, var(--color-context) 8px 16px) 0 4px / 100% 4px no-repeat, color-mix(in srgb, var(--color-on-brand) 18%, transparent);margin-top:auto}.home-hero .figure{font-size:clamp(2rem,5vw,2.75rem)}.hero-facts{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:0;display:grid}.hero-facts dt{font:var(--text-small);color:color-mix(in srgb, var(--color-on-brand) 78%, transparent)}.hero-facts dd{font:700 1.0625rem/1.3 var(--font-display);font-variant-numeric:tabular-nums;margin:2px 0 0}.welcome{gap:var(--space-5);background:var(--color-context-fill);border-color:#0000;align-items:center;display:flex}@media (width<=600px){.welcome{flex-direction:column;align-items:flex-start}}.choice{align-items:flex-start;gap:var(--space-2);padding:var(--space-4);text-align:left;cursor:pointer;background:var(--color-surface);color:var(--color-ink);border:2px solid var(--color-line);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);flex-direction:column;display:flex}.choice:hover{border-color:var(--color-line-strong)}.choice[aria-checked=true]{border-color:var(--color-brand);background:var(--color-brand-fill)}.choice-title{font:var(--text-headline)}.choice.kind-personal .row-icon{color:var(--color-ink);background:#f0a42438}.choice.kind-household .row-icon{color:var(--color-ink);background:#d9577a38}.choice.kind-business .row-icon{color:var(--color-ink);background:#2f3b8f33}.chip{align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-ink);font:600 .875rem/1 var(--font-sans);cursor:pointer;display:inline-flex}.chip:hover{border-color:var(--color-ink-3)}.chip[aria-checked=true],.chip[aria-pressed=true]{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-bg)}.auth-page.split{justify-content:center;align-items:center;gap:var(--space-12);grid-template-columns:minmax(0,420px) minmax(0,440px)}.auth-hero{gap:var(--space-4);padding:var(--space-8);border-radius:var(--radius-lg);background:var(--color-brand-strong);color:var(--color-on-brand);flex-direction:column;justify-content:flex-end;min-height:460px;display:flex}.auth-hero .mascot{margin-bottom:auto}.auth-tagline{font:800 2.75rem/1.02 var(--font-display);letter-spacing:-.03em}.auth-lede{color:color-mix(in srgb, var(--color-on-brand) 82%, transparent);max-width:32ch}@media (width<=900px){.auth-page.split{grid-template-columns:minmax(0,440px)}.auth-hero{display:none}}.auth-page{min-height:100vh;padding:var(--space-6);background:radial-gradient(900px 480px at 110% -10%, var(--color-context-fill), transparent), radial-gradient(900px 480px at -10% 110%, var(--color-brand-fill), transparent), var(--color-bg);place-items:center;display:grid}.auth-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);width:min(440px,100%);box-shadow:var(--shadow-md);padding:var(--space-8);gap:var(--space-4);flex-direction:column;display:flex}.auth-card.wide{width:min(720px,100%)}.auth-card h1{font:var(--text-title-1);letter-spacing:-.015em}.brand{align-items:center;gap:var(--space-2);color:var(--color-ink);display:inline-flex;text-decoration:none!important}.brand-word{font:800 1.375rem/1 var(--font-display);letter-spacing:-.02em}.brand-mark{flex:none;width:32px;height:32px}.chart{width:100%;display:block;overflow:visible}.chart text{font:600 .6875rem/1 var(--font-sans);fill:var(--color-ink-3)}.chart-summary{font:var(--text-body-sm);color:var(--color-ink-2);margin:calc(-1 * var(--space-2)) 0 var(--space-3)}.donut{align-items:center;gap:var(--space-5);display:flex}@media (width<=600px){.donut{flex-direction:column;align-items:stretch}.donut>svg{align-self:center}}.chart .grid-line{stroke:var(--color-line);stroke-width:1px}.legend{gap:var(--space-3);font:var(--text-small);color:var(--color-ink-2);flex-wrap:wrap;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.cat-bar{gap:6px;display:grid}.cat-bar .swatch{border-radius:3px;flex:none;width:10px;height:10px}.cat-track{border-radius:var(--radius-pill);background:var(--color-surface-sunken);height:8px;position:relative}.cat-track>span{border-radius:inherit;max-width:100%;height:100%;transition:width var(--dur-slow) var(--ease-out);display:block}.cat-track>b{background:var(--color-ink);border-radius:1px;width:2px;position:absolute;top:-3px;bottom:-3px}.mascot{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mascot{--kuni-nila:#5a66b8;--kuni-nila-deep:#b9c0ea;--kuni-nila-mid:#8e98d9}}:root[data-theme=dark] .mascot{--kuni-nila:#5a66b8;--kuni-nila-deep:#b9c0ea;--kuni-nila-mid:#8e98d9}@media (prefers-reduced-motion:no-preference){.mascot .kuni-body{transform-origin:100px 176px;animation:4.5s ease-in-out infinite kuni-breathe}.mascot.celebrate .kuni-wing-r{transform-origin:150px 124px;animation:kuni-wave .8s var(--ease-out) 2}}@keyframes kuni-breathe{50%{transform:scale(1.015,.99)}}@keyframes kuni-wave{50%{transform:rotate(-22deg)}}@media (prefers-reduced-motion:no-preference){.just-added,.just-added td{animation:glow 1.8s var(--ease-out)}}@keyframes glow{0%{background:var(--color-context-fill)}}p a,li>a:not(.list-row):not(.nav-link),.hint a,.small a:not(.btn),td a:not(.btn){text-underline-offset:2px;text-decoration:underline}.account-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) 170px 180px auto;align-items:end;display:grid}@media (width<=600px){.account-row{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.account-row .account-name{grid-column:1/-1}.auth-card{padding:var(--space-5)}.auth-page{padding:var(--space-3)}}@media print{.sidebar,.topbar,.tabbar,.subnav,.no-print,.toasts{display:none!important}.shell{display:block}body,.card{color:#000!important;box-shadow:none!important;background:#fff!important;border-color:#ddd!important}.content{max-width:none;padding:0}}
