:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ink:#10231b;--ink-strong:#071b15;--muted:#52665e;--muted-strong:#40564d;--muted-soft:#687b72;--placeholder:#52665e;--line:#d5e3dc;--line-soft:#e4eee9;--field-line:#c6d8cf;--chip-line:#cbdcd3;--surface:#fff;--surface-hover:#f7faf8;--canvas:#f2f7f4;--stage:#e6f4ee;--segment-on-bg:#0c7d58;--segment-on-ink:#fff;--stage-soft:#eef6f2;--drop-bed:#f7fbf9;--drop-bed-hover:#eef8f3;--brand:#0e8a61;--brand-solid:#0c7d58;--brand-dark:#08704e;--brand-ink:#08704e;--brand-ink-soft:#25634d;--brand-soft:#e6f4ee;--brand-soft-hover:#ffffffb8;--brand-line:#c9e4d7;--bar-soft:#8bd0b0;--tone-1:#0e8a61;--tone-2:#2c8f6b;--tone-3:#4aa281;--tone-4:#68b597;--tone-5:#86c8ad;--tone-6:#a4dbc3;--category-chart-1:#0e8a61;--category-chart-2:#24848f;--category-chart-3:#7aa98b;--category-chart-4:#93964f;--category-chart-5:#658398;--category-chart-6:#9aaba3;--chart-name:#3e5148;--amber:#a86500;--amber-ink:#985a00;--amber-soft:#fff4df;--amber-line:#f0dfc0;--amber-wash:#fffaf0;--amber-tint:#fffdf9;--amber-hover:#fffdfa;--red:#c23d4b;--red-ink:#9f2837;--red-ink-soft:#8f2935;--red-soft:#fff0f1;--red-line:#f3d4d8;--red-wash:#fff5f6;--red-tint:snow;--on-fill:#fff;--on-fill-faint:#ffffff6b;--veil:#0b241bb8;--veil-ink:#e2f4ebdb;--on-veil:#fff;--on-veil-faint:#ffffff61;--scrim:#08181275;--overlay:#08120ef2;--pill-over-image:#fffffff2;--on-pill:#10231b;--selection:#bfe5d2;--scrollbar:#6fa58c;--inverse-surface:#10231b;--inverse-ink:#fff;--inverse-accent:#9ee2c1;--snackbar-saved:#08704e;--focus-ring:#08704e;--ring-brand:#08704e;--ring-brand-soft:#08704e;--ring-brand-faint:#0e8a6114;--ring-amber:#a86500;--ring-red:#c23d4b;--shadow:0 12px 34px #12302412;--shadow-bar:0 -6px 20px #1230240f;--shadow-action:0 9px 22px #0e7c552e;--shadow-mark:0 10px 24px #0e7c5533;--shadow-tab:0 2px 8px #12302414;--shadow-dialog:0 24px 70px #08181240;--shadow-snackbar:0 12px 30px #1230243b;--shadow-stage:0 10px 28px #12302429;--shadow-receipt:0 8px 24px #1230242b;--shadow-menu:0 16px 34px #12302429;--shadow-pill:0 4px 14px #1230241a;--shadow-dock:0 10px 18px -14px #12302480;--font-stack:var(--font-lao), "Noto Sans Lao", "Leelawadee UI", "Lao Sangam MN", system-ui, sans-serif;--top-safe:env(safe-area-inset-top,0px);--right-safe:env(safe-area-inset-right,0px);--bottom-safe:env(safe-area-inset-bottom,0px);--left-safe:env(safe-area-inset-left,0px);--tab-bar-height:68px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root[data-theme=light]{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e7efea;--ink-strong:#fff;--muted:#94a69d;--muted-strong:#a7b8ae;--muted-soft:#7d8f86;--placeholder:#8b9c93;--line:#27332e;--line-soft:#1f2a25;--field-line:#33413a;--chip-line:#33413a;--surface:#16201c;--surface-hover:#1d2823;--canvas:#0d1512;--stage:#101a16;--segment-on-bg:#1e2f27;--segment-on-ink:#7fdcae;--stage-soft:#131e19;--drop-bed:#131e19;--drop-bed-hover:#182722;--brand:#35b581;--brand-solid:#35b581;--brand-dark:#56cd9b;--brand-ink:#7fdcae;--brand-ink-soft:#6fd0a2;--brand-soft:#14291f;--brand-soft-hover:#ffffff14;--brand-line:#24493a;--bar-soft:#2c6b4f;--tone-1:#35b581;--tone-2:#4dbf90;--tone-3:#66c9a0;--tone-4:#7fd3af;--tone-5:#98ddbf;--tone-6:#b1e7ce;--category-chart-1:#35b581;--category-chart-2:#54adbc;--category-chart-3:#8dbc9c;--category-chart-4:#b2b869;--category-chart-5:#799cae;--category-chart-6:#9eaaa4;--chart-name:#b6c8bf;--amber:#f0b45f;--amber-ink:#f0b45f;--amber-soft:#2b2010;--amber-line:#4a3819;--amber-wash:#34281a;--amber-tint:#241d10;--amber-hover:#201a10;--red:#ff8a92;--red-ink:#ff9aa2;--red-ink-soft:#ffb0b7;--red-soft:#2c1418;--red-line:#4d2229;--red-wash:#351a20;--red-tint:#26151a;--on-fill:#06231a;--on-fill-faint:#06231a66;--selection:#1f5a41;--scrollbar:#3a4d45;--inverse-surface:#24312c;--inverse-ink:#eef5f1;--inverse-accent:#6fdcaa;--snackbar-saved:#1b4b38;--focus-ring:#7fdcae;--ring-brand:#7fdcae;--ring-brand-soft:#7fdcae;--ring-brand-faint:#35b58124;--ring-amber:#f0b45f;--ring-red:#ff8a92;--shadow:0 12px 34px #00000080;--shadow-bar:0 -6px 20px #0006;--shadow-action:0 9px 22px #00000073;--shadow-mark:0 10px 24px #00000073;--shadow-tab:0 2px 8px #00000080;--shadow-dialog:0 24px 70px #000000a6;--shadow-snackbar:0 12px 30px #0000008c;--shadow-stage:0 10px 28px #00000080;--shadow-receipt:0 8px 24px #0000008c;--shadow-menu:0 16px 34px #0009;--shadow-pill:0 4px 14px #00000073;--shadow-dock:0 10px 18px -14px #000000e6}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e7efea;--ink-strong:#fff;--muted:#94a69d;--muted-strong:#a7b8ae;--muted-soft:#7d8f86;--placeholder:#8b9c93;--line:#27332e;--line-soft:#1f2a25;--field-line:#33413a;--chip-line:#33413a;--surface:#16201c;--surface-hover:#1d2823;--canvas:#0d1512;--stage:#101a16;--segment-on-bg:#1e2f27;--segment-on-ink:#7fdcae;--stage-soft:#131e19;--drop-bed:#131e19;--drop-bed-hover:#182722;--brand:#35b581;--brand-solid:#35b581;--brand-dark:#56cd9b;--brand-ink:#7fdcae;--brand-ink-soft:#6fd0a2;--brand-soft:#14291f;--brand-soft-hover:#ffffff14;--brand-line:#24493a;--bar-soft:#2c6b4f;--tone-1:#35b581;--tone-2:#4dbf90;--tone-3:#66c9a0;--tone-4:#7fd3af;--tone-5:#98ddbf;--tone-6:#b1e7ce;--category-chart-1:#35b581;--category-chart-2:#54adbc;--category-chart-3:#8dbc9c;--category-chart-4:#b2b869;--category-chart-5:#799cae;--category-chart-6:#9eaaa4;--chart-name:#b6c8bf;--amber:#f0b45f;--amber-ink:#f0b45f;--amber-soft:#2b2010;--amber-line:#4a3819;--amber-wash:#34281a;--amber-tint:#241d10;--amber-hover:#201a10;--red:#ff8a92;--red-ink:#ff9aa2;--red-ink-soft:#ffb0b7;--red-soft:#2c1418;--red-line:#4d2229;--red-wash:#351a20;--red-tint:#26151a;--on-fill:#06231a;--on-fill-faint:#06231a66;--selection:#1f5a41;--scrollbar:#3a4d45;--inverse-surface:#24312c;--inverse-ink:#eef5f1;--inverse-accent:#6fdcaa;--snackbar-saved:#1b4b38;--focus-ring:#7fdcae;--ring-brand:#7fdcae;--ring-brand-soft:#7fdcae;--ring-brand-faint:#35b58124;--ring-amber:#f0b45f;--ring-red:#ff8a92;--shadow:0 12px 34px #00000080;--shadow-bar:0 -6px 20px #0006;--shadow-action:0 9px 22px #00000073;--shadow-mark:0 10px 24px #00000073;--shadow-tab:0 2px 8px #00000080;--shadow-dialog:0 24px 70px #000000a6;--shadow-snackbar:0 12px 30px #0000008c;--shadow-stage:0 10px 28px #00000080;--shadow-receipt:0 8px 24px #0000008c;--shadow-menu:0 16px 34px #0009;--shadow-pill:0 4px 14px #00000073;--shadow-dock:0 10px 18px -14px #000000e6}}*{box-sizing:border-box}html{background:var(--canvas);scrollbar-color:var(--scrollbar) var(--canvas);scrollbar-width:thin;-webkit-text-size-adjust:100%;min-width:320px;min-height:100%}body{min-height:100dvh;padding-top:var(--top-safe);color:var(--ink);background:var(--canvas);font-family:var(--font-stack);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;caret-color:var(--brand);margin:0;font-size:16px;line-height:1.55}::selection{color:var(--ink);background:var(--selection)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--canvas)}::-webkit-scrollbar-thumb{background:var(--scrollbar);border:3px solid var(--canvas);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--brand)}button,input,select,textarea{font:inherit;color:inherit}button,select{min-height:44px}button,select,label,a{-webkit-tap-highlight-color:transparent}a{color:var(--brand-ink);text-decoration:none}a:hover{color:var(--brand-dark)}::placeholder{color:var(--placeholder);opacity:1}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.num{font-variant-numeric:tabular-nums;letter-spacing:-.015em}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell,.main-content{min-height:calc(100dvh - var(--top-safe))}@media (display-mode:standalone){html,body{background:var(--canvas)}body{overscroll-behavior-y:none}}.avatar-art{width:var(--avatar-size,34px);height:var(--avatar-size,34px);object-fit:cover;box-shadow:inset 0 0 0 1px var(--brand-line);border-radius:50%;place-items:center;display:grid}.avatar-fallback{color:var(--brand-dark);background:var(--brand-soft);font-size:calc(var(--avatar-size,34px) * .44);font-weight:800;line-height:1}.tab-bar-account:hover .avatar-art,.tab-bar-account:active .avatar-art{box-shadow:inset 0 0 0 1px var(--brand)}.tab-bar-account.active .avatar-art{box-shadow:inset 0 0 0 2px var(--brand), 0 0 0 2px var(--brand-soft)}.screen{width:100%;max-width:560px;padding-top:18px;padding-right:max(15px, var(--right-safe));padding-bottom:calc(116px + var(--bottom-safe));padding-left:max(15px, var(--left-safe));flex-direction:column;gap:14px;margin:0 auto;animation:.22s cubic-bezier(.22,1,.36,1) backwards rise;display:flex}.screen.flush{padding-inline:0}.screen.flush>:not(.bleed){padding-inline:15px}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.tab-bar{z-index:30;height:calc(var(--tab-bar-height) + var(--bottom-safe));padding-right:var(--right-safe);padding-bottom:var(--bottom-safe);padding-left:var(--left-safe);background:var(--surface);border-top:1px solid var(--line);box-shadow:var(--shadow-bar);position:fixed;inset:auto 0 0}.tab-bar-inner{grid-template-columns:1fr 1fr 96px 1fr 1fr;align-items:center;width:100%;max-width:560px;height:100%;margin:0 auto;display:grid;position:relative}.tab-bar-item{min-width:0;height:100%;color:var(--muted-strong);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:650;line-height:1.25;display:flex}.tab-bar-item.slot-1{grid-column:1}.tab-bar-item.slot-2{grid-column:2}.tab-bar-item.slot-3{grid-column:4}.tab-bar-item.slot-4{grid-column:5}.tab-bar-account{padding:0}.tab-bar-icon{border-radius:999px;place-items:center;width:44px;height:30px;display:grid;position:relative}.tab-bar-icon svg{width:23px;height:23px}.tab-bar-icon .avatar-art svg{width:56%;height:56%}.tab-bar-badge{box-shadow:0 0 0 2px var(--surface);min-width:17px;height:17px;color:var(--on-fill);background:var(--amber);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 4px;font-size:10px;font-weight:800;line-height:1;display:grid;position:absolute;top:-3px;left:calc(50% + 6px)}.tab-bar-item.active{color:var(--brand-ink);font-weight:800}.tab-bar-item.active .tab-bar-icon{color:var(--brand-ink);background:0 0}.capture-fab{z-index:1;width:48px;height:48px;min-height:48px;color:var(--on-fill);background:var(--brand-solid);cursor:pointer;box-shadow:0 3px 10px color-mix(in srgb, var(--brand-dark) 24%, transparent);border:0;border-radius:50%;place-items:center;padding:0;text-decoration:none;transition:transform .16s,background .16s,box-shadow .16s;display:grid;position:absolute;top:3px;left:50%;transform:translate(-50%)}.capture-fab:hover{color:var(--on-fill);background:var(--brand-dark)}.capture-fab:active{transform:translate(-50%)scale(.95)}.capture-fab.active{background:var(--brand-dark);box-shadow:0 2px 6px color-mix(in srgb, var(--brand-dark) 20%, transparent)}.fab-label{color:var(--muted-strong);white-space:nowrap;pointer-events:none;font-size:11px;font-weight:650;line-height:1.25;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}.screen-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.screen-header h1{letter-spacing:-.02em;margin:0;font-size:27px;font-weight:800;line-height:1.3}.screen-header p{color:var(--muted);margin:4px 0 0;font-size:14px}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}.section-head{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.section-head h2{margin:0;font-size:18px;font-weight:800;line-height:1.35}.text-link{min-height:44px;color:var(--brand-ink);flex-shrink:0;align-items:center;gap:6px;margin:-10px -6px -10px 0;padding:0 6px;font-size:14px;font-weight:750;display:inline-flex}.button{cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:14.5px;font-weight:750;line-height:1.3;transition:background .15s,color .15s,transform .15s,opacity .15s;display:inline-flex}.button:disabled{opacity:.58;cursor:progress}.button:active:not(:disabled){transform:scale(.985)}.button.primary{color:var(--on-fill);background:var(--brand-solid);box-shadow:var(--shadow-action)}.button.primary:hover,.button.primary:active:not(:disabled){color:var(--on-fill);background:var(--brand-dark)}.button.quiet{color:var(--ink);background:var(--surface);border:1px solid var(--line)}.button.quiet:hover,.button.quiet:active:not(:disabled){color:var(--ink);background:var(--surface-hover)}.button.danger{color:var(--red);background:var(--red-soft)}.button.wide{width:100%;min-height:54px;font-size:16px}.button.link{min-height:44px;color:var(--brand-ink);background:0 0;padding-inline:12px}.icon-button{width:44px;height:44px;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:11px;place-items:center;padding:0;display:inline-grid}.icon-button:hover,.icon-button:active{background:var(--brand-soft);color:var(--brand-dark)}.form-error{color:var(--red-ink);background:var(--red-soft);border:1px solid var(--red-line);border-radius:11px;margin:0;padding:11px 13px;font-size:14px}.field-help{color:var(--muted);font-size:13px}.field-help.warn{color:var(--amber-ink);font-weight:650}.field-help.ok{color:var(--brand-dark);font-weight:650}.field-help.error,.bad{color:var(--red);font-weight:650}.empty{text-align:center;flex-direction:column;align-items:center;gap:11px;padding:36px 20px;display:flex}.empty-mark{width:58px;height:58px;color:var(--brand-ink);background:var(--brand-soft);border-radius:18px;place-items:center;display:grid}.empty h2,.empty h3,.empty p{margin:0}.empty h2,.empty h3{font-size:18px}.empty p{color:var(--muted);font-size:14px}.hero{background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:18px;gap:0;padding:20px;display:grid;position:relative}.hero-label{color:var(--brand-ink);margin:0 0 2px;font-size:14px;font-weight:700;line-height:1.4}.hero-totals{flex-direction:column;align-items:flex-start;display:flex}.hero-amount-row{align-items:center;gap:8px;display:flex}.hero-info,.overview-info{color:var(--brand-ink-soft);flex:none;justify-content:center;align-items:center;display:inline-flex}.hero-info{border-radius:999px;width:44px;height:44px;margin:-6px}.hero-info:hover,.hero-info:focus-visible{color:var(--brand-dark);background:var(--brand-line)}.hero-amount,.hero-secondary{color:var(--ink-strong);letter-spacing:-.04em;font-size:clamp(30px,7.5vw,34px);font-weight:800;line-height:1.18;display:block}.hero-meta{color:var(--brand-ink-soft);margin-top:2px;font-size:13.5px;display:block}.pro-promotion{color:var(--brand-ink);background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:13px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:11px 13px;display:grid}.pro-promotion-mark{width:34px;height:34px;color:var(--brand-dark);background:var(--surface);border-radius:10px;place-items:center;display:grid}.pro-promotion{grid-template-columns:34px minmax(0,1fr) auto}.pro-promotion>span:nth-child(2){gap:1px;min-width:0;display:grid}.pro-promotion-actions{align-items:center;gap:12px;display:flex}.pro-promotion-actions .text-link{font-size:12.5px}.pro-promotion-close{width:36px;height:36px;color:var(--brand-ink-soft);margin-right:-5px}.pro-promotion-close:hover{color:var(--brand-ink);background:var(--brand-soft-hover)}.pro-promotion strong{font-size:13px;line-height:1.4}.pro-promotion small{color:var(--brand-ink-soft);font-size:13px;line-height:1.5}.hero-month{color:var(--brand-ink);border-top:1px solid var(--brand-line);margin-top:6px;padding-top:8px;font-size:13px;font-weight:700;display:block}.sign-out{text-align:start;cursor:pointer;width:100%}.overview-card{padding:0;overflow:hidden}.overview-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:11px 16px;list-style:none;display:flex}.overview-summary::-webkit-details-marker{display:none}.overview-summary::marker{content:""}.overview-summary:after{border-inline-end:2px solid var(--brand);border-block-end:2px solid var(--brand);content:"";flex:none;width:9px;height:9px;margin-inline-end:3px;transition:transform .16s;transform:rotate(45deg)translate(-2px,-2px)}.overview-disclosure[open]>.overview-summary:after{transform:rotate(225deg)translate(-2px,-2px)}.overview-summary:hover{background:var(--surface-hover)}.overview-summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.overview-summary-copy{gap:1px;min-width:0;display:grid}.overview-summary h2{margin:0}.overview-summary-title{font-size:16px;font-weight:800;line-height:1.35}.overview-range{color:var(--muted);font-size:12.5px;line-height:1.45}.overview-info{vertical-align:-2px;cursor:help;margin-inline-start:5px}.overview-content{border-top:1px solid var(--line-soft);padding:0 16px 16px}.currency-switch{background:var(--line-soft);border-radius:999px;gap:2px;width:fit-content;margin:12px 0 0 auto;padding:3px;display:flex}.currency-tab{min-width:44px;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 13px;font-size:12.5px;font-weight:800}.currency-tab.active{color:var(--brand-dark);background:var(--surface);box-shadow:var(--shadow-tab)}.chart-block,.category-block{margin:0}.chart-block{padding-top:15px}.chart-currency{color:var(--brand-ink);margin-left:7px;font-size:12.5px;font-weight:700}.chart-block figcaption,.category-block figcaption{margin-bottom:12px;font-size:14px;font-weight:750}.month-bar{background:var(--bar-soft);border-radius:6px 6px 2px 2px;width:min(100%,50px);min-height:2px;transition:background .15s,transform .15s;display:block}.chart-readout{min-height:20px;color:var(--muted);margin:12px 0 0;font-size:12.5px}.category-block{border-top:1px solid var(--line-soft);margin-top:19px;padding-top:16px}.category-stack{background:var(--stage);border-radius:999px;gap:2px;height:14px;display:flex;overflow:hidden}.category-slice{height:100%;display:block}.category-slice:first-child{border-start-start-radius:999px;border-end-start-radius:999px}.category-slice:last-child{border-start-end-radius:999px;border-end-end-radius:999px}.tone-1{background:var(--tone-1)}.tone-2{background:var(--tone-2)}.tone-3{background:var(--tone-3)}.tone-4{background:var(--tone-4)}.tone-5{background:var(--tone-5)}.tone-6{background:var(--tone-6)}.category-legend{gap:9px;margin:12px 0 0;padding:0;list-style:none;display:grid}.category-legend li{grid-template-columns:10px minmax(0,1fr) auto auto;align-items:baseline;gap:9px;display:grid}.legend-swatch{border-radius:3px;flex:none;align-self:center;width:10px;height:10px}.legend-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13.5px;font-weight:700;overflow:hidden}.legend-value{color:var(--ink-strong);font-size:13.5px;font-weight:750}.legend-share{min-width:34px;color:var(--muted);text-align:end;font-size:12.5px;font-weight:650}.hero-real{color:var(--brand-ink);margin-top:3px;font-size:13px;font-weight:700;display:block}.hero-converted{color:var(--brand-ink-soft);margin-top:5px;font-size:12px;display:block}.hero-rates-link{color:var(--brand-dark);text-underline-offset:3px;margin-top:7px;font-size:12.5px;font-weight:700;text-decoration:underline;display:inline-block}.rates-form{gap:14px;padding:16px;display:grid}.rate-row{gap:6px;display:grid}.rate-input{align-items:center;gap:9px;display:flex}.rate-input input{background:var(--canvas);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:11px;outline:none;flex:1;min-width:0;min-height:50px;padding:0 14px;font-weight:700}.rate-input input:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring-brand-soft)}.rate-unit{color:var(--muted);flex-shrink:0;font-size:13.5px;font-weight:700}.rates-change-note{color:var(--muted-strong);background:var(--stage-soft);border-radius:12px;align-items:flex-start;gap:8px;margin:0;padding:11px 13px;font-size:12.5px;line-height:1.5;display:flex}.rates-change-note svg{color:var(--brand-ink);flex:none;margin-top:1px}.save-notice{color:var(--brand-dark);background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:12px;align-items:center;gap:8px;margin:0;padding:11px 13px;font-size:13.5px;font-weight:750;line-height:1.5;display:flex}.save-notice svg{color:var(--brand-ink);flex:none}.recent-card{padding:16px}.recent-card .day-head{padding-top:16px}.day-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;min-height:38px;padding:12px 2px 7px;display:flex}.day-head strong{font-size:13px;font-weight:750}.day-head span{color:var(--muted);text-align:end;font-size:12.5px;font-weight:650}.rows{flex-direction:column;display:flex}.row{width:100%;min-height:70px;color:var(--ink);text-align:start;background:0 0;border:0;align-items:center;gap:14px;padding:11px 2px;display:flex}.row+.row{border-top:1px solid var(--line-soft)}.row:hover,.row:active{color:var(--ink);background:var(--surface-hover)}.row-body{flex-direction:column;flex:1;min-width:0;display:flex}.row-title{flex-wrap:wrap;align-items:center;gap:6px;font-size:14.5px;font-weight:750;display:flex}.row-flag{color:var(--amber-ink);font-size:11.5px;font-weight:750}.row-sub{color:var(--muted);font-size:12.5px}.row-amount{text-align:end;flex-shrink:0;font-size:14.5px;font-weight:800}.hero-book,.ledger-summary-book{font-weight:800}.join-team-form{gap:8px;padding:16px;display:grid}.join-team-form .button{margin-top:6px}.login-swap{min-height:44px;color:var(--brand-dark);text-align:center;justify-content:center;align-items:center;margin-top:0;font-size:13px;font-weight:700;display:flex}.login-swap:hover{text-decoration:underline}.login-team{margin-top:4px}.login-consent{color:var(--muted);text-align:center;margin-top:10px;font-size:12px;line-height:1.5;display:block}.login-consent a{color:var(--brand-dark);font-weight:600}.login-consent a:hover{text-decoration:underline}.overview-estimated{color:var(--brand-ink);background:var(--brand-soft);border-radius:10px;margin:0;padding:8px 11px;font-size:12px;line-height:1.45}.chart-hint{color:var(--muted);margin:3px 0 0;font-size:11.5px;line-height:1.4}.chart-hint.is-quiet{visibility:hidden}.ledger-page{gap:13px;padding-top:0;position:relative}.ledger-top-sentinel{width:1px;height:1px;position:absolute;top:0;left:0}.ledger-top{top:var(--top-safe);z-index:15;background:var(--canvas);border-bottom:1px solid #0000;gap:8px;margin-inline:-15px;padding:12px 15px 9px;transition:border-color .16s,box-shadow .16s;display:grid;position:sticky}.ledger-top.is-stuck{border-bottom-color:var(--line);box-shadow:var(--shadow-dock)}@media (prefers-reduced-motion:reduce){.ledger-top{transition:none}}.ledger-header{flex-wrap:nowrap;align-items:center;gap:8px}.ledger-heading-copy{flex:auto;min-width:0}.ledger-header-actions{flex-shrink:0;align-items:center;gap:2px;margin-left:auto;display:flex}.ledger-filter-toggle{position:relative}.ledger-filter-toggle.is-active{color:var(--brand-dark);background:var(--brand-soft)}.ledger-filter-active-count{min-width:17px;height:17px;color:var(--on-fill);background:var(--brand-solid);box-shadow:0 0 0 2px var(--canvas);border-radius:999px;place-items:center;padding:0 4px;font-size:10px;font-weight:800;line-height:1;display:grid;position:absolute;top:3px;right:2px}.ledger-add{color:var(--brand-dark);background:var(--brand-soft);border:1px solid var(--brand-line)}.ledger-add:hover,.ledger-add:active:not(:disabled){color:var(--on-fill);background:var(--brand-solid)}.add-expense-dialog{width:min(100% - 30px,420px);max-width:none;color:var(--ink);background:var(--surface);box-shadow:var(--shadow-dialog);border:0;border-radius:18px;margin:auto;padding:0}.add-expense-dialog::backdrop{background:var(--scrim)}.add-expense-dialog[open]{animation:.2s cubic-bezier(.22,1,.36,1) both dialog-enter}@keyframes dialog-enter{0%{opacity:0;transform:translateY(8px)scale(.985)}}.add-expense-sheet{padding:18px}.add-expense-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.add-expense-heading h2{letter-spacing:-.02em;margin:0;font-size:21px;font-weight:800;line-height:1.35}.add-expense-heading p{color:var(--muted);margin:3px 0 0;font-size:13.5px}.add-expense-options{flex-direction:column;gap:8px;margin-top:16px;display:flex}.add-expense-option{width:100%;min-height:76px;color:var(--ink);background:var(--surface);border:1px solid var(--line);text-align:start;cursor:pointer;border-radius:13px;align-items:center;gap:12px;padding:11px 12px;display:flex}.add-expense-option:hover,.add-expense-option:active{color:var(--ink);background:var(--surface-hover);border-color:var(--brand-line)}.add-expense-option-mark{width:44px;height:44px;color:var(--brand-ink);background:var(--brand-soft);border-radius:12px;flex:0 0 44px;place-items:center;display:grid}.add-expense-option-copy{flex-direction:column;flex:1;min-width:0;display:flex}.add-expense-option-copy strong{font-size:14.5px;font-weight:800}.add-expense-option-copy small{color:var(--muted);font-size:12.5px;line-height:1.45}.add-expense-option>svg{color:var(--muted);flex:none}.account-dialog{width:min(100% - 30px,420px);max-width:none;max-height:min(86dvh,760px);color:var(--ink);background:var(--surface);box-shadow:var(--shadow-dialog);border:0;border-radius:18px;margin:auto;padding:0;overflow:hidden}.account-dialog::backdrop{background:var(--scrim)}.account-dialog[open]{animation:.2s cubic-bezier(.22,1,.36,1) both dialog-enter;display:flex}.account-sheet{overscroll-behavior:contain;flex:1;min-height:0;padding:18px;overflow-y:auto}.account-identity{align-items:center;gap:13px;padding-bottom:15px;display:flex}.account-identity-mark{flex-shrink:0;width:52px;height:52px}.account-identity-copy{flex:1;gap:2px;min-width:0;display:grid}.account-identity-copy strong{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:17px;font-weight:800;line-height:1.3}.account-identity-copy strong.is-address{letter-spacing:0;font-size:15px}.account-identity-copy small{color:var(--muted);overflow-wrap:anywhere;font-size:12.5px;line-height:1.4}.account-identity .icon-button{flex-shrink:0;align-self:flex-start}.account-group{border-top:1px solid var(--line-soft);gap:3px;padding:13px 0;display:grid}.account-group.is-last{padding-bottom:0}.account-group-head,.theme-card-head{color:var(--muted);letter-spacing:.02em;margin:0 0 3px;padding-inline:10px;font-size:11.5px;font-weight:800}.theme-state{color:var(--muted);font-variant-numeric:tabular-nums;margin:10px 0 0;font-size:.78rem}.account-row{width:100%;color:var(--ink);text-align:start;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:10px;display:flex}.account-row:hover,.account-row:active{background:var(--surface-hover)}.account-row-mark{width:38px;height:38px;color:var(--brand-ink);background:var(--brand-soft);border-radius:11px;flex:0 0 38px;place-items:center;display:grid}.account-row-copy{flex:1;gap:1px;min-width:0;display:grid}.account-row-copy strong{font-size:14px;font-weight:800;line-height:1.35}.account-row-copy small{color:var(--muted);font-size:12px;line-height:1.45}.account-row>svg{color:var(--muted);flex-shrink:0}.account-row.is-current{background:var(--brand-soft)}.account-row.is-current .account-row-mark{color:var(--on-fill);background:var(--brand-solid)}.account-row.is-current .account-row-copy strong{color:var(--brand-dark)}.account-row.is-current>svg{color:var(--brand-ink)}.account-row.is-current:hover,.account-row.is-current:active{background:var(--brand-soft)}.account-row.is-signout .account-row-mark{color:var(--muted-strong);background:var(--stage)}.account-sheet:focus{outline:none}.account-page{gap:18px}.account-root-header{align-items:center;min-height:44px;display:flex}.account-root-header h1{color:var(--ink-strong);letter-spacing:-.02em;margin:0;font-size:27px;font-weight:800;line-height:1.3}.account-page-header{justify-content:flex-start;align-items:center}.account-page-header .icon-button{flex:0 0 44px}.account-page-header .ledger-heading-copy{min-width:0}.account-page-header h1{font-size:23px}.account-page-header p{max-width:46ch;line-height:1.5}.account-profile{box-shadow:none;padding:16px}.account-profile .account-identity{padding:0}.account-plan{width:fit-content;color:var(--brand-dark);background:var(--brand-soft);border-radius:999px;margin-top:4px;padding:3px 8px;font-size:11px;font-weight:800;line-height:1.35}.account-page .account-group{border:0;gap:0;padding:0}.account-page .account-group-head{margin:0 0 7px;padding-inline:4px;font-size:14px;line-height:1.5}.account-page .account-row-copy strong{font-size:15px;line-height:1.5}.account-row-value{min-width:0;color:var(--muted);text-align:end;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;flex:0 auto;font-size:13px;line-height:1.4;overflow:hidden}.account-page .account-row-copy small{font-size:14px;line-height:1.55}.account-page .account-row-copy{overflow-wrap:anywhere}.account-section-note,.account-export-scope{color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.55}.account-export-scope{overflow-wrap:anywhere;margin:0}.account-help-topics{gap:12px;display:grid}.account-help-topics h2{margin:0;font-size:18px;line-height:1.5}.account-help-answers{background:var(--surface);border:1px solid var(--line);border-radius:15px}.account-help-answers details+details{border-top:1px solid var(--line)}.account-help-answers summary{cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:14px;font-size:15px;font-weight:750;line-height:1.55;list-style:none;display:flex}.account-help-answers summary::-webkit-details-marker{display:none}.account-help-answers summary:hover{background:var(--surface-hover)}.account-help-answers summary svg{color:var(--muted);flex:none}.account-help-answers details[open] summary svg{transform:rotate(180deg)}.account-help-answers details p{max-width:70ch;color:var(--muted);margin:0;padding:0 14px 16px;font-size:15px;line-height:1.7}.account-help-shortcuts{flex-wrap:wrap;gap:8px;display:flex}.account-help-shortcuts .button{white-space:normal;text-align:center;flex:160px}.account-page .account-group>.account-row,.account-downloads>.account-row,.account-help-links>.account-row{background:var(--surface);border:1px solid var(--line);border-bottom-width:0;border-radius:0;min-height:56px;padding:10px 12px}.account-page .account-group>.account-row:first-of-type,.account-downloads>.account-row:first-child,.account-help-links>.account-row:first-child{border-radius:15px 15px 0 0}.account-page .account-group>.account-row:last-child,.account-downloads>.account-row:last-child,.account-help-links>.account-row:last-child{border-bottom-width:1px;border-radius:0 0 15px 15px}.account-page .account-group>.account-row:only-of-type,.account-downloads>.account-row:only-child,.account-help-links>.account-row:only-child{border-bottom-width:1px;border-radius:15px}.account-page .account-row:hover,.account-page .account-row:active{background:var(--surface-hover)}.account-page .account-row.is-current{background:var(--brand-soft)}.account-page .account-row.is-danger{color:var(--red-ink)}.account-page .account-row.is-danger .account-row-mark{color:var(--red);background:var(--red-soft)}.account-page .account-row.is-danger>svg{color:var(--red)}.account-book-switcher .account-row:disabled{cursor:default;opacity:1}.account-signout{margin-top:-4px}.account-signout .account-row.is-signout{color:var(--muted-strong);background:0 0;border-color:#0000}.account-downloads,.account-help-links{box-shadow:none;background:0 0;border:0;border-radius:15px;overflow:hidden}.account-static-row{cursor:default}.account-static-row:hover,.account-static-row:active{background:var(--surface)!important}.account-plan-card{box-shadow:none;align-items:flex-start;gap:13px;padding:18px;display:flex}.account-plan-copy{gap:3px;min-width:0;display:grid}.account-plan-copy p,.account-plan-copy h2,.account-plan-copy small{margin:0}.account-plan-copy p{color:var(--muted);font-size:12px;font-weight:750}.account-plan-copy h2{color:var(--ink-strong);font-size:22px;line-height:1.3}.account-plan-copy small{color:var(--muted);font-size:13px;line-height:1.5}.account-subscription-card{box-shadow:none;gap:16px;padding:18px;display:grid}.account-subscription-head{grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;display:grid}.account-subscription-head>span{min-width:0}.account-subscription-head small{color:var(--muted);font-size:12px;font-weight:750;display:block}.account-subscription-head h2{color:var(--ink-strong);margin:1px 0 0;font-size:24px;line-height:1.25}.account-plan-expiry{text-align:end}.account-plan-expiry strong{white-space:nowrap;margin-top:2px;font-size:13px;display:block}.account-usage-grid{border-block:1px solid var(--line-soft);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.account-usage-grid>div{align-content:start;gap:6px;min-width:0;padding:13px 14px;display:grid}.account-usage-grid>div:first-child{border-inline-end:1px solid var(--line-soft);padding-inline-start:0}.account-usage-grid>div:last-child{padding-inline-end:0}.account-usage-grid span{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.account-usage-grid strong{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.account-usage-grid i{background:var(--stage);border-radius:999px;height:5px;overflow:hidden}.account-usage-grid b{background:var(--brand);border-radius:inherit;height:100%;display:block}.account-scan-reset{color:var(--muted);font-size:12px;line-height:1.5}.account-usage-grid .storage-usage.is-gentle b,.account-usage-grid .storage-usage.is-strong b{background:var(--amber)}.account-usage-grid .storage-usage.is-blocked b{background:var(--red)}.account-plan-notice{color:var(--amber-ink);margin:-4px 0 0;font-size:12px;line-height:1.5}.account-plan-notice.gentle{color:var(--muted-strong)}.account-plan-notice.critical,.account-plan-notice.exhausted{color:var(--red-ink)}.account-payment-status{color:var(--amber-ink);align-items:center;gap:7px;margin:-3px 0 0;font-size:13px;font-weight:800;display:flex}.account-plan-actions{flex-wrap:wrap;gap:8px;display:flex}.account-plan-actions .button{flex:140px;min-height:44px}.account-subscription-card.is-compact{gap:11px;padding:15px}.account-subscription-card.is-compact .account-subscription-head h2{font-size:19px}.account-subscription-card.is-compact .account-usage-grid>div{padding-block:11px}.account-subscription-card.is-compact .account-plan-actions .button{min-height:42px}.account-about{box-shadow:none;gap:5px;padding:18px;display:grid}.account-about-name{color:var(--ink-strong);letter-spacing:-.01em;margin:0;font-size:22px;font-weight:800}.account-about-tagline{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.account-about-version{color:var(--muted);border-top:1px solid var(--line-soft);align-items:center;gap:8px;margin:9px 0 0;padding-top:12px;font-size:14px;display:flex}.account-about-version svg{flex:none}.account-about-version strong{color:var(--ink);margin-inline-start:auto;font-weight:800}.billing-plans-page{gap:16px}.billing-duration-tabs{background:var(--stage);border-radius:13px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.billing-duration-tabs button{appearance:none;min-height:44px;color:var(--muted-strong);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:7px 9px;font-size:13px;font-weight:800}.billing-duration-tabs button:hover{color:var(--ink);background:var(--surface-hover)}.billing-duration-tabs button.is-selected{color:var(--ink-strong);background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-tab)}.billing-duration-tabs button:active{background:var(--brand-soft-hover)}.billing-duration-tabs button:focus-visible{outline-offset:2px}.billing-duration-tabs button:disabled{cursor:progress}.billing-pending-banner{min-height:64px;color:var(--amber-ink);background:var(--amber-soft);border:1px solid var(--amber-line);border-radius:14px;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:11px 13px;display:grid}.billing-pending-banner>span{gap:1px;min-width:0;display:grid}.billing-pending-banner strong{font-size:13px}.billing-pending-banner small{color:var(--amber-ink);font-size:12px}.billing-plan-list{gap:16px;display:grid}.billing-plan{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:18px;padding:20px;display:grid}.billing-plan.is-recommended{border-color:var(--brand)}.billing-plan-head{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start;gap:12px;min-width:0;display:grid}.billing-plan-head h2{color:var(--ink-strong);margin:0;font-size:22px;line-height:1.3}.billing-plan-head>div>span{width:fit-content;color:var(--brand-dark);background:var(--brand-soft);border-radius:999px;margin-top:5px;padding:3px 8px;font-size:11px;font-weight:850;display:block}.billing-plan-head>div>span.is-coming{color:var(--muted-strong);background:var(--stage)}.billing-plan-head>p{text-align:end;justify-items:end;gap:3px;min-width:0;margin:0;display:grid}.billing-plan-head>p strong{color:var(--ink-strong);overflow-wrap:anywhere;font-size:28px;line-height:1.2}.billing-plan-head>p small,.billing-price>span{color:var(--muted);font-size:13px;line-height:1.5}.billing-price>span{color:var(--ink)}.billing-feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:0;padding:0;list-style:none;display:grid}.billing-feature-list li{min-width:0;color:var(--ink);align-items:flex-start;gap:8px;font-size:14px;line-height:1.55;display:flex}.billing-feature-list li svg{color:var(--brand);flex:none;margin-top:1px}.billing-feature-list li.is-muted{color:var(--muted)}.billing-feature-list li.is-muted svg{color:var(--muted-soft)}.billing-plan>.button{width:100%;min-height:44px}.billing-plan .button:disabled{cursor:not-allowed}.billing-confirmation[aria-busy=true] .button:disabled{cursor:progress}.billing-plan-current{min-height:44px;color:var(--muted);justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.billing-all-features{border-top:1px solid var(--line-soft)}.billing-all-features>summary{min-height:44px;color:var(--muted-strong);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:700;list-style:none;display:flex}.billing-all-features>summary::-webkit-details-marker{display:none}.billing-all-features>summary>svg{flex-shrink:0}.billing-all-features[open]>summary>svg{transform:rotate(180deg)}.billing-all-features>.billing-feature-list{padding-top:8px}.billing-all-features>p,.billing-shared-note{color:var(--muted);margin:12px 0 0;font-size:13px;line-height:1.6}.billing-shared-note{margin:0}.billing-promotion{color:var(--brand-ink);background:var(--brand-soft);border-radius:12px;align-items:start;gap:10px;margin:0;padding:14px 16px;font-size:13px;line-height:1.6;display:flex}.billing-promotion>svg{flex:none;margin-top:2px}.billing-promotion.is-compact{color:var(--brand-dark);background:0 0;padding:0}.billing-confirmation{border-top:1px solid var(--line);gap:10px;padding-top:16px;display:grid}.billing-confirmation h3{margin:0;font-size:16px;line-height:1.5}.billing-confirmation p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.billing-confirmation .num{color:var(--ink-strong);font-size:18px;font-weight:800}.billing-confirm-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.billing-confirm-actions>.button{flex:160px;min-height:44px}.billing-availability-note{color:var(--amber-ink);background:var(--amber-soft);border:1px solid var(--amber-line);border-radius:13px;align-items:flex-start;gap:8px;margin:0;padding:11px 13px;font-size:12px;line-height:1.55;display:flex}.billing-availability-note svg{flex:none;margin-top:1px}.payment-request-page{gap:16px}.payment-request-summary{box-shadow:none;gap:16px;padding:18px;display:grid}.payment-status-line{justify-content:space-between;align-items:center;gap:12px;display:flex}.payment-status-line>strong{color:var(--muted-strong);font-size:12px}.payment-amount{gap:3px;display:grid}.payment-amount span{color:var(--muted);font-size:13px}.payment-amount strong{color:var(--ink-strong);letter-spacing:-.025em;font-size:clamp(28px,8vw,38px);line-height:1.2}.payment-details{border-top:1px solid var(--line-soft);margin:0}.payment-details>div{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:12px;min-height:44px;padding-block:9px;display:grid}.payment-details>div:last-child{border-bottom:0}.payment-details dt{color:var(--muted);font-size:12px}.payment-details dd{overflow-wrap:anywhere;color:var(--ink-strong);text-align:end;margin:0;font-size:13px;font-weight:800}.payment-instructions{justify-items:center;gap:14px;display:grid}.payment-instructions>div:first-child{width:100%}.payment-instructions h2{color:var(--ink-strong);margin:0;font-size:19px}.payment-instructions>div:first-child p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.5}.payment-instructions>img{aspect-ratio:1;object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:14px;width:min(280px,78vw);height:auto;padding:10px}.payment-id-reminder{width:100%;color:var(--brand-dark);background:var(--brand-soft);border-radius:12px;align-items:flex-start;gap:8px;margin:0;padding:11px 12px;font-size:12px;line-height:1.5;display:flex}.payment-id-reminder svg{flex:none;margin-top:1px}.payment-slip-upload{gap:8px;width:100%;display:grid}.payment-slip-upload .button{width:100%;min-height:48px}.payment-slip-selected{overflow-wrap:anywhere;color:var(--muted-strong);background:var(--stage-soft);border-radius:12px;align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:12px;display:flex}.payment-review-state,.plan-feature-gate{box-shadow:none;align-items:flex-start;gap:12px;padding:18px;display:flex}.payment-review-state>div,.plan-feature-gate>div{gap:6px;min-width:0;display:grid}.payment-review-state h2,.plan-feature-gate h2{color:var(--ink-strong);margin:0;font-size:18px}.payment-review-state p,.plan-feature-gate p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.plan-feature-gate .button{width:fit-content;margin-top:5px}.payment-review-state.is-approved .account-row-mark{color:var(--brand-dark);background:var(--brand-soft)}.payment-review-state.is-rejected .account-row-mark{color:var(--red-ink);background:var(--red-soft)}.scan-limit-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.scan-limit-actions .button{min-height:44px}.status-badge.is-pending_review,.status-badge.is-awaiting_payment{color:var(--amber-ink);background:var(--amber-soft)}.status-badge.is-approved{color:var(--brand-dark);background:var(--brand-soft)}.status-badge.is-rejected,.status-badge.is-expired,.status-badge.is-cancelled{color:var(--red-ink);background:var(--red-soft)}.ledger-filters .choice-chip.is-locked{color:var(--muted);background:var(--stage-soft);border-color:var(--line)}.ledger-filters .choice-chip.is-locked svg{flex:none}.ledger-export.is-locked{color:var(--muted);background:var(--stage-soft)}.locked-feature-heading{grid-template-columns:44px minmax(0,1fr) 44px;align-items:start;gap:12px;display:grid}.locked-feature-mark{width:44px;height:44px;color:var(--brand-ink);background:var(--brand-soft);border-radius:12px;place-items:center;display:grid}.locked-feature-copy{min-width:0}.locked-feature-copy h2{color:var(--ink-strong);margin:0;font-size:18px;font-weight:800;line-height:1.4}.locked-feature-copy p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.55}.locked-feature-close{color:var(--muted);margin:0}.locked-feature-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.locked-feature-actions .button{width:100%;min-width:0;padding-inline:10px}.account-preferences{gap:10px!important}.quick-settings{background:var(--surface);border:1px solid var(--line);border-radius:15px;display:grid}.quick-row{align-items:center;gap:12px;min-height:58px;padding:9px 12px;display:flex}.quick-row+.quick-row{border-top:1px solid var(--line-soft)}.quick-row-label{overflow-wrap:anywhere;min-width:0;color:var(--ink);flex:1;font-size:15px;font-weight:800;line-height:1.4}fieldset.quick-switch{background:var(--stage);border-radius:999px;flex:none;gap:3px;padding:3px;display:flex}.quick-switch[disabled]{opacity:.65}.quick-option{min-height:34px;color:var(--muted-strong);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:750;line-height:1.2;display:flex}.quick-option.selected{color:var(--ink-strong);background:var(--surface);box-shadow:var(--shadow-tab)}.quick-option:focus-within{box-shadow:0 0 0 3px var(--ring-brand-soft)}.quick-switch.is-icons .quick-option{padding:0 11px}.quick-switch.is-icons svg{display:block}.quick-row-error{color:var(--red-ink);margin:0;padding:0 12px 11px;font-size:13px;line-height:1.5}.preferences-state{min-height:92px;box-shadow:none;place-items:center;gap:10px;padding:16px;display:grid}.preferences-state p{color:var(--muted);margin:0;font-size:13px}.preferences-form{box-shadow:none;overflow:hidden}.preferences-grid{border:0;min-width:0;margin:0;padding:0;display:grid}.preferences-save-hint{color:var(--muted);margin:0;padding:14px 14px 0;font-size:14px;line-height:1.55}.preferences-draft-status{min-height:26px;color:var(--amber-ink);margin:0;padding:4px 14px 0;font-size:14px;line-height:1.55}.preferences-draft-status:empty{min-height:0;padding:0}.preference-plan-note{min-height:44px;color:var(--brand-dark);background:var(--brand-soft);border-top:1px solid var(--brand-line);grid-template-columns:18px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:750;line-height:1.45;display:grid}.preference-setting-row{border-bottom:1px solid var(--line-soft);grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;min-height:76px;padding:12px;display:grid}.preference-setting-icon{align-self:start;margin-top:19px}.preference-field{gap:6px;min-width:0;display:grid}.preference-field select{width:100%;min-height:46px;color:var(--ink);background:var(--canvas);border:1px solid var(--field-line);border-radius:11px;outline:none;padding:0 36px 0 12px}.preference-field select:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring-brand-soft)}.preference-field select:disabled{opacity:.58;cursor:not-allowed}.preference-toggle{cursor:pointer;align-items:center;gap:12px;min-height:70px;padding:12px;display:flex}.preference-toggle .preference-setting-icon{align-self:center;margin-top:0}.preference-toggle input{appearance:none;background:var(--stage);border:1px solid var(--field-line);cursor:pointer;border-radius:999px;flex:0 0 46px;width:46px;height:26px;transition:background .16s,border-color .16s}.preference-toggle input:before{content:"";background:var(--surface);width:20px;height:20px;box-shadow:var(--shadow-pill);border-radius:50%;margin:2px;transition:transform .16s;display:block}.preference-toggle input:checked{background:var(--brand);border-color:var(--brand)}.preference-toggle input:checked:before{transform:translate(20px)}.preferences-actions{border-top:1px solid var(--line-soft);gap:7px;padding:14px;display:grid}.preferences-message{min-height:18px}.preferences-message p{color:var(--muted);text-align:center;margin:0;font-size:14px}.preferences-message p[role=alert]{color:var(--red)}.delete-summary{color:var(--muted-strong);background:var(--red-soft);border:1px solid var(--red-line);border-radius:14px;margin:0;padding:14px 16px 14px 34px;font-size:13px;line-height:1.6}.delete-summary a{font-weight:750}.ledger-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.ledger-filters-main{grid-template-columns:repeat(3,minmax(0,1fr))}.ledger-filter-count{min-width:24px;height:24px;color:var(--muted-strong);background:var(--stage);border-radius:999px;place-items:center;padding:0 6px;font-size:11px;font-weight:800;display:inline-grid}.ledger-filters .choice-chip.selected .ledger-filter-count,.ledger-filters .choice-chip.on .ledger-filter-count{color:var(--brand-dark);background:var(--on-fill)}.ledger-segments{background:var(--stage-soft);border:1px solid var(--line-soft);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;min-width:0;padding:3px;display:grid}.ledger-segment{min-width:0;min-height:40px;color:var(--muted-strong);text-align:center;background:0 0;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:6px 8px;font-size:13px;font-weight:650;line-height:1.3;text-decoration:none;display:flex}.ledger-segment>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ledger-segment:hover{color:var(--ink)}.ledger-segment:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.ledger-segment.active{color:var(--segment-on-ink);background:var(--segment-on-bg);font-weight:750}.ledger-segment-count{color:inherit;opacity:.72;flex:none;font-size:12px;font-weight:650}@media (max-width:359px){.ledger-segment{padding-inline:4px;font-size:12px}.ledger-segment-count{display:none}}.ledger-backup{color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:11px;margin-top:4px;padding:13px 14px;display:flex}.ledger-backup>svg{color:var(--brand-dark);flex-shrink:0;margin-top:1px}.ledger-backup span{gap:2px;font-size:12px;line-height:1.45;display:grid}.ledger-backup strong{color:var(--ink);font-size:13px;font-weight:800}.ledger-backup:hover,.ledger-backup:active{background:var(--surface-hover)}.theme-card{gap:9px;display:grid}.choice-grid.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-chip{gap:5px;padding-inline:8px;font-size:12.5px}.theme-chip>svg{flex:none}.settings-page .screen-header{align-items:flex-start;gap:10px}.category-names{gap:2px;padding:16px;display:grid}.category-name-row+.category-name-row{border-top:1px solid var(--line-soft)}.category-name-line{width:100%;min-height:52px;color:var(--ink);text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:6px 0;display:flex}.category-name-copy{flex:1;gap:1px;min-width:0;display:grid}.category-name-copy strong{font-size:15px;font-weight:750}.category-name-copy strong.is-unnamed{color:var(--muted);font-weight:650}.category-name-copy small{color:var(--muted);font-size:12px}.category-name-edit-mark{width:44px;height:44px;color:var(--brand-ink);flex-shrink:0;place-items:center;display:grid}.category-name-line:hover .category-name-edit-mark,.category-name-line:active .category-name-edit-mark{color:var(--brand-dark)}.category-name-edit{gap:7px;padding:8px 0;display:grid}.category-name-fields{align-items:center;gap:6px;display:flex}.category-name-input{flex:1;min-width:0}.category-name-confirm{color:var(--on-fill);background:var(--brand-solid)}.category-name-confirm:hover,.category-name-confirm:active{color:var(--on-fill);background:var(--brand-dark)}.category-group-head{color:var(--brand-dark);margin:10px 0 2px;font-size:13px}.category-names .hint{color:var(--muted);margin:0 0 6px;font-size:13px;line-height:1.45}.ledger-select-wrap{min-width:0;position:relative}.ledger-select-wrap>svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.ledger-select{appearance:none;width:100%;height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:0 36px 0 13px;font-size:13px;font-weight:650}.ledger-summary{color:var(--muted);margin:0;padding:0;font-size:13px;line-height:1.5}.ledger-summary-copy{color:var(--muted);font-size:13px}.ledger-summary-total{color:var(--ink);white-space:nowrap;font-weight:700}.ledger-rows,.ledger-row-shell{flex-direction:column;display:flex}.ledger-row-shell+.ledger-row-shell{border-top:1px solid var(--line-soft)}.ledger-row-line{align-items:stretch;min-height:70px;display:flex}.ledger-row{min-width:0;min-height:70px;color:var(--ink);flex:1;align-items:center;gap:12px;padding:10px 10px 10px 2px;display:flex}.ledger-row:hover,.ledger-row:active{color:var(--ink)}.ledger-row-copy{flex-direction:column;flex:1;min-width:0;display:flex}.ledger-row-title{flex-wrap:wrap;align-items:center;gap:6px;font-size:14.5px;font-weight:750;display:flex}.ledger-row-status{color:var(--amber-ink);font-size:11px;font-weight:750}.ledger-row-time{color:var(--muted);font-size:12.5px}.ledger-row-amount{text-align:end;flex-shrink:0;font-size:14px;font-weight:800}.ledger-delete-toggle{width:44px;height:44px;min-height:44px;color:var(--muted-soft);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:0 0 44px;align-self:center;place-items:center;padding:0;display:grid}.ledger-delete-toggle:hover,.ledger-delete-toggle:active,.confirming-delete .ledger-delete-toggle{color:var(--red);background:var(--red-soft)}.ledger-delete-confirm{background:var(--red-soft);border-top:1px solid var(--red-line);justify-content:space-between;align-items:center;gap:12px;margin:0 -15px;padding:11px 15px 13px;display:flex}.ledger-delete-confirm p{color:var(--red-ink-soft);margin:0;font-size:13px;font-weight:700}.ledger-delete-actions{gap:6px;display:flex}.ledger-delete-cancel,.ledger-delete-submit{cursor:pointer;border:0;border-radius:10px;min-height:44px;padding:0 12px;font-size:13px;font-weight:750}.ledger-delete-cancel{color:var(--ink);background:var(--surface)}.ledger-delete-submit{color:var(--on-fill);background:var(--red);align-items:center;gap:6px;display:inline-flex}.ledger-empty{background:var(--surface);border:1px solid var(--line);border-radius:16px}.snackbar{z-index:50;left:15px;right:15px;bottom:calc(82px + var(--bottom-safe));max-width:530px;min-height:50px;color:var(--inverse-ink);background:var(--inverse-surface);box-shadow:var(--shadow-snackbar);border-radius:999px;align-items:center;gap:12px;margin:0 auto;padding:9px 10px 9px 16px;animation:.22s cubic-bezier(.22,1,.36,1) both rise;display:flex;position:fixed}.snackbar p{flex:1;margin:0;font-size:14px;font-weight:650}.snackbar button{min-height:44px;color:var(--inverse-accent);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 13px;font-size:14px;font-weight:800}.scan-screen{gap:14px}.scan-heading>div{min-width:0}.scan-card{padding:16px}.scan-sample-hint{color:var(--muted);text-align:center;margin:-2px 0 0;font-size:12px}.drop-zone{width:100%;min-height:236px;color:var(--ink);background:var(--drop-bed);border:2px dashed var(--field-line);text-align:center;cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:11px;padding:24px;transition:background .16s,border-color .16s,transform .16s;display:flex}.drop-zone:hover,.drop-zone:active{color:var(--ink);background:var(--drop-bed-hover);border-color:var(--brand)}.scan-drop-zone.is-dragging{background:var(--brand-soft);border-color:var(--brand);transform:translateY(-2px)}.scan-drop-zone:disabled{opacity:.58;cursor:progress}.drop-zone strong{font-size:17px;font-weight:800}.drop-zone>span:not(.drop-mark):not(.drop-zone-action){color:var(--muted);font-size:13px}.drop-mark{width:66px;height:66px;color:var(--brand-ink);background:var(--brand-soft);border-radius:22px;place-items:center;display:grid}.drop-zone-action{min-height:44px;color:var(--on-fill);background:var(--brand-solid);border-radius:11px;justify-content:center;align-items:center;margin-top:7px;padding:0 18px;font-size:14px;font-weight:800;display:inline-flex}.button.scan-mobile-gallery-action{display:none}.scan-sample-help{justify-items:center;margin-top:10px;display:grid}.button.scan-sample-action{width:auto;min-height:44px;padding-inline:10px;font-size:13.5px}.privacy-note{color:var(--muted);background:var(--stage-soft);border:1px solid var(--line);border-radius:12px;gap:10px;padding:13px 14px;font-size:12.5px;display:flex}.privacy-note svg{flex:none;margin-top:2px}.privacy-note p{margin:0}.capture-privacy-note{margin-top:14px}.scan-error{margin-top:12px}@media (max-width:600px),(hover:none) and (pointer:coarse){.scan-desktop-drop-zone{display:none}.button.scan-mobile-gallery-action{display:flex}.scan-sample-help{margin-top:8px}}.scan-processing-card{flex-direction:column;display:flex}.capture-stage{background:var(--stage);border-radius:13px;place-items:center;min-height:280px;display:grid;position:relative;overflow:hidden}.artifact-capture-stage img{object-fit:contain;max-width:82%;max-height:290px;box-shadow:var(--shadow-stage);border-radius:5px;transition:transform .2s}.capture-veil{color:var(--on-veil);background:var(--veil);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.capture-veil strong{font-size:15px;font-weight:750}.capture-veil-elapsed{color:var(--veil-ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:13px;font-weight:700}.capture-veil-hint{max-width:24ch;color:var(--veil-ink);text-align:center;font-size:12px;line-height:1.45}.spinner{border:3px solid var(--on-veil-faint);border-top-color:var(--on-veil);border-radius:50%;flex:0 0 28px;width:28px;height:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.scan-note{color:var(--muted);background:var(--stage-soft);border:1px solid var(--line);border-radius:11px;align-items:center;gap:10px;margin:12px 0;padding:11px 13px;display:flex}.scan-note-mark{width:34px;height:34px;color:var(--muted);background:var(--surface);border-radius:10px;flex:0 0 34px;place-items:center;display:grid}.scan-note strong,.scan-note span:not(.scan-note-mark){display:block}.scan-note strong{color:var(--ink);font-size:13.5px;font-weight:800}.scan-note span{font-size:12px}.scan-note.found{color:var(--brand-dark);background:var(--brand-soft);border-color:var(--brand-line)}.scan-note.found .scan-note-mark{color:var(--on-fill);background:var(--brand-solid)}.scan-note.warn{color:var(--amber-ink);background:var(--amber-soft);border-color:var(--amber-line)}.scan-note.warn .scan-note-mark{color:var(--amber-ink);background:var(--amber-wash)}.scan-note.error{color:var(--red);background:var(--red-soft);border-color:var(--red-line)}.scan-note.error .scan-note-mark{color:var(--red);background:var(--red-wash)}.review-duplicate{align-items:flex-start;margin-bottom:12px}.review-duplicate .scan-note-copy{gap:4px;min-width:0;display:grid}.review-duplicate p{margin:0;font-size:12px;line-height:1.45}.review-duplicate-link{color:inherit;text-underline-offset:3px;justify-self:start;margin-top:2px;font-size:12px;font-weight:700;text-decoration:underline}.reader-plan{margin:14px 0 16px}.reader-plan-title{color:var(--muted);letter-spacing:.01em;margin:0 0 6px;font-size:12px;font-weight:700}.reader-steps{margin:0;padding:0;list-style:none}.reader-step{cursor:default;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:10px;padding:7px 0;display:grid;position:relative}.reader-step:before{content:"";background:var(--line-soft);border-radius:1px;width:2px;position:absolute;top:35px;bottom:-7px;left:13px}.reader-step:last-child:before{content:none}.reader-step-mark{width:28px;height:28px;color:var(--muted);background:var(--surface);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;font-size:12px;font-weight:800;display:grid}.reader-step-body{min-width:0;padding-top:2px}.reader-step-body strong{color:var(--ink);font-size:13.5px;font-weight:800;display:block}.reader-step-body span{color:var(--muted);font-size:12px;line-height:1.4;display:block}.reader-step-state{color:var(--muted);white-space:nowrap;align-self:start;padding-top:4px;font-size:11px;font-weight:700}.reader-step.is-running .reader-step-mark{color:var(--on-fill);background:var(--brand-solid);border-color:var(--brand)}.reader-step.is-running .reader-step-state{color:var(--brand-dark)}.reader-step.is-done .reader-step-mark{color:var(--brand-dark);background:var(--brand-soft);border-color:var(--brand-line)}.reader-step.is-done .reader-step-state{color:var(--brand-dark)}.reader-step.is-done:before{background:var(--brand-line)}.reader-step.is-conditional .reader-step-mark{border-style:dashed}.reader-step.is-waiting .reader-step-body strong,.reader-step.is-conditional .reader-step-body strong{color:var(--muted)}.reader-step-spinner{border:2px solid var(--on-fill-faint);border-top-color:var(--on-fill);border-radius:50%;width:13px;height:13px;animation:.9s linear infinite spin}.capture-toolbar{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 10px}.capture-toolbar .button{min-width:0;padding-inline:7px;font-size:12px}.review-screen{gap:14px}.review-author{color:var(--muted);align-items:center;gap:7px;margin:0;font-size:13px;line-height:1.5;display:flex}.review-author svg{flex:none}.review-heading{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:6px;min-height:46px;display:grid}.review-heading h1{letter-spacing:-.02em;text-align:center;margin:0;font-size:26px;font-weight:800;line-height:1.25}.review-card{padding:16px}.review-slip{background:var(--stage);cursor:zoom-in;border:0;border-radius:13px;place-items:center;width:100%;padding:10px;display:grid;position:relative;overflow:hidden}.review-slip img{object-fit:contain;max-width:100%;max-height:min(440px,56dvh);box-shadow:var(--shadow-receipt);border-radius:4px}.zoom-hint{min-height:38px;color:var(--on-pill);background:var(--pill-over-image);box-shadow:var(--shadow-pill);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:650;display:inline-flex;position:absolute;bottom:11px;right:11px}.review-status{margin:12px 0 0}.review-status.without-image{margin-top:0}.review-body,.review-form{padding:0}.review-fields{flex-direction:column;gap:20px;margin:16px 0 20px;display:flex}.amount-field,.date-field{flex-direction:column;gap:6px;display:flex}.date-input-shell{position:relative}.date-input{color:#0000;-webkit-text-fill-color:transparent;background:var(--surface);border:1px solid var(--line);width:100%;min-height:48px;font:inherit;font-variant-numeric:tabular-nums;border-radius:11px;padding:0 13px;font-size:15px;font-weight:700}.date-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring-brand-soft);outline:none}.date-input-display{color:var(--ink);font-variant-numeric:tabular-nums;pointer-events:none;align-items:center;padding:0 40px 0 13px;font-size:15px;font-weight:700;display:flex;position:absolute;inset:0}.category-field{flex-direction:column;gap:8px;display:flex}.amount-field>.lb,.choice-set .lb,.category-legend{color:var(--muted);font-size:13px;font-weight:700}.amount-line{border:1px solid var(--field-line);background:var(--surface);border-radius:11px;align-items:center;height:56px;padding:0 14px;display:flex}.amount-line:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring-brand)}.amount-line.confirmed{border-color:var(--brand);box-shadow:0 0 0 2px var(--ring-brand-faint)}.amount-line.unconfirmed{border-color:var(--amber-line);background:var(--amber-tint)}.amount-line.invalid{border-color:var(--red);background:var(--red-tint)}.amount-line.confirmed:focus-within{box-shadow:0 0 0 3px var(--ring-brand)}.amount-line.unconfirmed:focus-within{border-color:var(--amber);box-shadow:0 0 0 3px var(--ring-amber)}.amount-line.invalid:focus-within{border-color:var(--red);box-shadow:0 0 0 3px var(--ring-red)}.amount-input{width:100%;min-width:0;color:var(--ink-strong);letter-spacing:-.02em;font-variant-numeric:tabular-nums;letter-spacing:-.025em;background:0 0;border:0;outline:none;padding:0;font-size:30px;font-weight:750;line-height:1}.amount-input::placeholder{color:var(--placeholder)}.provenance{color:var(--muted);align-items:flex-start;gap:7px;font-size:12.5px;font-weight:600;display:flex}.provenance.ok{color:var(--brand-dark)}.provenance.warn{color:var(--amber-ink)}.provenance.muted{color:var(--muted)}.provenance.error{color:var(--red)}.row.needs-review{background:color-mix(in srgb, var(--amber-soft) 55%, transparent)}.row.needs-review:hover,.row.needs-review:active{background:var(--amber-soft)}.row-flag{background:var(--amber-soft);border-radius:var(--r-pill,999px);padding:1px 7px}.choice-set{border:0;min-width:0;margin:0;padding:0}.choice-set legend{padding:0}.choice-set input{opacity:0;clip:rect(0, 0, 0, 0);width:1px;height:1px;min-height:0;margin:0;padding:0;position:absolute;overflow:hidden}.currency-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.currency-chip{flex-direction:column;gap:1px;line-height:1.15}.currency-chip .currency-word{font-size:15px;font-weight:800}.currency-chip .currency-code{color:var(--muted-strong);letter-spacing:.04em;font-size:11px;font-weight:700}.currency-chip.selected .currency-code,.currency-chip.on .currency-code{color:var(--on-fill)}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.choice-chip{min-width:0;min-height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--chip-line);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:650;display:flex}.choice-chip input{opacity:0;clip:rect(0, 0, 0, 0);width:1px;height:1px;min-height:0;margin:0;padding:0;position:absolute;overflow:hidden}.choice-chip:hover,.choice-chip:active{background:var(--surface-hover)}.choice-chip:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring-brand-soft)}.choice-chip.selected,.choice-chip.on{color:var(--on-fill);background:var(--brand-solid);border-color:var(--brand);font-weight:750}.review-category-chip{justify-content:center}.category-legend{flex-wrap:wrap;align-items:baseline;gap:7px;margin-bottom:8px;display:flex}.review-ai-hint{color:var(--brand-ink);font-size:12px;font-weight:700}.hint{margin:0}.review-error{margin-bottom:12px}.save-bar,.review-save-bar{flex-direction:column;gap:8px;display:flex}.review-save-bar .button.primary{min-height:52px}.review-secondary-actions{display:flex}.manual-card{padding:16px}.manual-source{margin:0}.manual-source.muted{color:var(--ink);background:var(--surface-hover)}.manual-source.muted .scan-note-mark{color:var(--brand-ink);background:var(--brand-soft)}.manual-form .review-fields{margin-top:18px}.snackbar-saved{background:var(--snackbar-saved)}.snackbar-saved>svg{flex:none}.snackbar-failed{color:var(--on-fill);background:var(--red)}.snackbar-failed>svg{flex:none}.snackbar-failed button{width:44px;color:var(--on-fill)}.snackbar-saved button{width:44px;color:var(--inverse-ink)}.snackbar-detail{opacity:.72;margin-top:1px;font-size:11px;font-weight:600;display:block}.projects-page,.project-new-page,.project-dashboard-page,.project-categories-page{gap:18px}.add-expense-page{gap:16px}.add-expense-page>.hint{color:var(--muted);margin-top:-7px;font-size:13px;line-height:1.5}.add-expense-project{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:14px}.add-expense-project>.lb{color:var(--muted);font-size:12.5px;font-weight:750}.add-expense-project .select-field{margin-top:8px}.add-expense-page-options{gap:10px;margin-top:0}.add-expense-page-options .add-expense-option{border-radius:15px;min-height:82px;padding:13px}.add-expense-page-options .add-expense-option.is-primary{color:var(--on-fill);background:var(--brand-solid);border-color:var(--brand);box-shadow:var(--shadow-action)}.add-expense-page-options .add-expense-option.is-primary:hover,.add-expense-page-options .add-expense-option.is-primary:active{color:var(--on-fill);background:var(--brand-dark);border-color:var(--brand-dark)}.add-expense-page-options .add-expense-option.is-primary .add-expense-option-mark{color:var(--on-fill);background:color-mix(in srgb, var(--on-fill) 16%, transparent)}.add-expense-page-options .add-expense-option.is-primary small,.add-expense-page-options .add-expense-option.is-primary>svg{color:var(--on-fill)}.projects-header{align-items:center}.project-create-compact{white-space:nowrap;border-radius:999px;min-height:44px;padding-inline:14px}.project-create-short{display:none}.projects-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:min(480px,58dvh);padding:36px 24px;display:flex}.projects-empty-mark,.project-list-mark,.project-type-mark{color:var(--brand-dark);background:var(--brand-soft);place-items:center;display:grid}.projects-empty-mark{border-radius:16px;width:64px;height:64px;margin-bottom:4px}.projects-empty h2,.projects-empty p{margin:0}.projects-empty h2{font-size:18px}.projects-empty p{color:var(--muted);font-size:13px}.projects-empty .button{max-width:320px;margin-top:10px}.project-list{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.project-list-row{min-height:88px;color:var(--ink);border-bottom:1px solid var(--line-soft);grid-template-columns:46px minmax(0,1fr) auto 20px;align-items:center;gap:11px;padding:14px 12px 14px 14px;display:grid}.project-list-row:last-child{border-bottom:0}.project-list-row:hover,.project-list-row:active{background:var(--surface-hover)}.project-list-row>svg{color:var(--muted-soft)}.project-list-mark{border-radius:13px;width:46px;height:46px}.project-list-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.project-list-copy>strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.project-list-copy>small{color:var(--muted);font-size:13px}.project-list-name{align-items:center;gap:6px;min-width:0;display:flex}.project-list-name>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;overflow:hidden}.project-list-name .status-badge{flex:none}.project-inactive-chip{min-height:21px;color:var(--muted-strong);background:var(--stage);padding:2px 7px;font-size:10px}.project-list-progress{background:var(--line-soft);border-radius:999px;width:100%;height:4px;margin-top:4px;overflow:hidden}.project-list-progress i{background:var(--brand);border-radius:inherit;height:100%;display:block}.project-list-money{text-align:end;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.project-list-money strong{font-size:13px}.project-list-money small{color:var(--muted);font-size:13px}.project-page-heading .project-step{min-width:44px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;font-size:13px}.project-type-step{flex-direction:column;gap:18px;display:flex}.project-type-step>h2{margin:8px 0 0;font-size:18px;line-height:1.4}.project-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.project-type-choice{min-height:104px;color:var(--ink);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:13px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;display:flex}.project-type-choice:hover,.project-type-choice:active{background:var(--surface-hover)}.project-type-choice:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring-brand-soft)}.project-type-choice.selected{background:var(--brand-soft);border-color:var(--brand)}.project-type-choice input{opacity:0;pointer-events:none;position:absolute}.project-type-choice strong{font-size:13px;line-height:1.45}.project-type-mark{border-radius:12px;flex:none;width:43px;height:43px}.project-type-choice.selected .project-type-mark{color:var(--on-fill);background:var(--brand-solid)}.project-details-form{flex-direction:column;gap:17px;padding:17px;display:flex}.project-selected-type{border-bottom:1px solid var(--line-soft);grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:10px;padding-bottom:15px;display:grid}.project-selected-type>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.project-selected-type small{color:var(--muted);font-size:13px}.project-selected-type strong{font-size:13px}.project-selected-type button{min-width:44px;min-height:44px;color:var(--brand-ink);cursor:pointer;background:0 0;border:0;padding:0 8px;font-size:13px;font-weight:750}.project-field{flex-direction:column;gap:7px;display:flex}.project-field .lb{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.project-field .lb small{color:var(--muted);font-size:13px;font-weight:600}.project-field input,.project-field textarea,.project-category-add input,.project-category-edit input,.select-field{width:100%;min-height:48px;color:var(--ink);background:var(--canvas);border:1px solid var(--field-line);border-radius:11px;outline:none;padding:0 13px}.project-field textarea{resize:vertical;min-height:90px;padding-block:11px}.project-field input:focus,.project-field textarea:focus,.project-category-add input:focus,.project-category-edit input:focus,.select-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring-brand-soft)}.project-currency-field{border:0;min-width:0;margin:0;padding:0}.project-currency-field legend{margin-bottom:7px;padding:0}.project-more-toggle{width:100%;min-height:44px;color:var(--ink);background:var(--canvas);border:1px solid var(--field-line);cursor:pointer;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;padding:0 13px;font-size:14px;font-weight:750;display:flex}.project-more-toggle:hover{background:var(--surface-hover)}.project-more-toggle svg{color:var(--muted);flex:none}.project-more-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.project-more-fields{flex-direction:column;gap:17px;padding-top:2px;display:flex}.project-edit-page{gap:18px}.project-edit-form{gap:14px;display:grid}.project-edit-section{min-width:0;box-shadow:none;gap:17px;margin:0;padding:17px;display:grid}.project-edit-section legend{color:var(--ink-strong);padding:0 7px;font-size:16px;font-weight:800}.project-edit-section:focus{outline:none}.project-edit-unavailable{text-align:center;min-height:230px;box-shadow:none;place-items:center;gap:12px;padding:26px 20px;display:grid}.project-edit-unavailable p{max-width:34ch;color:var(--muted);margin:0;font-size:13.5px;line-height:1.55}.project-edit-unavailable .button{width:min(100%,260px)}.projects-active-empty{color:var(--muted);background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:15px;margin:0;padding:18px;font-size:13px}.projects-archive-link{max-width:100%;min-height:44px;color:var(--muted);align-self:flex-start;align-items:center;gap:8px;padding:4px 0;font-size:14px;font-weight:500;line-height:1.5;display:inline-flex}.projects-archive-link>span{overflow-wrap:anywhere}.projects-archive-link>svg{flex-shrink:0}.projects-archive-link:hover{color:var(--brand-ink)}.project-dashboard-heading h1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-title-group{text-align:center;flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex}.project-title-group h1{margin:0}.project-title-badges{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.project-default-chip{min-height:22px;padding:2px 8px;font-size:10.5px}.project-locked-chip{min-height:22px;color:var(--brand-ink);background:var(--brand-soft);align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;display:inline-flex}.project-menu{flex:0 0 44px}.project-menu .menu{overscroll-behavior:contain;width:min(276px,100vw - 30px);min-width:0;max-height:min(620px,100dvh - 132px);overflow-y:auto}.project-menu-group+.project-menu-group{border-top:1px solid var(--line-soft);margin-top:5px;padding-top:6px}.project-menu-group-label{color:var(--muted);margin:2px 12px 3px;font-size:11px;font-weight:700;line-height:1.4}.project-menu-item-lock{color:var(--muted);place-items:center;margin-inline-start:auto;display:inline-grid}.project-menu .menu-item.is-locked:disabled{color:var(--muted);opacity:.72;cursor:not-allowed}.project-menu .menu-item.is-locked:disabled>svg{color:var(--muted)}.project-lock-confirm{color:var(--brand-ink);background:var(--brand-soft);border-radius:9px;margin:3px 0 5px;padding:10px}.project-lock-confirm>strong{color:var(--ink-strong);font-size:13px;line-height:1.4;display:block}.project-lock-confirm>p{color:var(--brand-ink-soft);margin:4px 0 10px;font-size:12px;line-height:1.5}.project-lock-confirm-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.project-lock-confirm-actions .button{width:100%;min-width:0;min-height:44px;padding-inline:7px;font-size:11.5px}.project-menu .menu-item.danger{border-top:1px solid var(--line-soft);border-radius:0 0 9px 9px;margin-top:5px;padding-top:6px}.project-menu .menu-delete-confirm{border-top:1px solid var(--line-soft);margin-top:6px;padding-top:10px}.project-money-panel{color:var(--brand-ink);background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:16px;flex-direction:column;align-items:flex-start;gap:5px;padding:22px 20px;display:flex}.project-money-panel>span{font-size:13px;font-weight:750}.project-money-panel>strong{color:var(--ink-strong);letter-spacing:-.03em;font-size:clamp(30px,7.5vw,34px);line-height:1.15}.project-money-panel>small{color:var(--brand-ink-soft);font-size:13px}.project-money-panel .project-over-budget{color:var(--red-ink)}.project-rate-note{min-height:44px;color:var(--brand-ink-soft);align-items:center;gap:6px;font-size:13px;font-weight:650;display:inline-flex}.project-budget-progress{background:color-mix(in srgb, var(--brand) 14%, transparent);border-radius:999px;width:100%;height:8px;margin-top:12px;overflow:hidden}.project-budget-progress span{background:var(--brand);border-radius:inherit;height:100%;display:block}.project-budget-progress.over span{background:var(--red)}.project-primary-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.project-primary-actions .project-expense-action{text-align:center;flex-direction:column;gap:6px;min-width:0;min-height:72px;padding:9px 6px;font-size:12.5px;line-height:1.25}.project-expense-action span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.expense-entry-actions .project-expense-action:first-child{box-shadow:var(--shadow-action)}.expense-entry-actions .project-expense-action:not(:first-child){background:var(--surface)}.dashboard-entry-section{gap:8px;display:grid}.dashboard-entry-section>h2{margin:0;font-size:18px;font-weight:800;line-height:1.35}.expense-entry-actions .project-expense-action[data-capture-unavailable],.add-expense-options .add-expense-option[data-capture-unavailable]{opacity:1;color:var(--muted);background:var(--surface-hover);box-shadow:none;cursor:not-allowed}.project-chart-card{box-shadow:none;padding:16px}.project-chart-card .section-head{align-items:center}.project-chart-card .section-head h2{font-size:17px}.project-chart-card .chart-block{padding-top:12px}.project-chart-card>.chart-readout{min-height:0;margin:12px 0 0}.home-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.home-wordmark{gap:1px;min-width:0;display:grid}.home-wordmark strong{letter-spacing:-.2px;font-size:24px;font-weight:800}.home-wordmark img{vertical-align:-5px;border-radius:7px;margin-inline-end:7px}.home-wordmark em{color:var(--brand-ink);font-style:normal}.home-wordmark small{color:var(--muted);font-size:12px;font-weight:600}.see-all-row{min-height:46px;color:var(--brand-ink);justify-content:flex-end;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:750;display:flex}.see-all-row:hover{background:var(--surface-hover)}.project-recent-list>.see-all-row,.see-all-item{border-top:1px solid var(--line-soft)}.home-project-filter{min-width:0;max-width:58%;margin:0;margin-inline-start:auto}.home-project-filter .select-field{border-radius:999px;align-items:center;gap:4px;width:auto;min-height:38px;padding:0 9px 0 12px;font-size:13px;display:inline-flex}.home-project-filter select{text-overflow:ellipsis;min-width:0;max-width:100%;padding:0;font-size:13px;font-weight:700}.home-hero{padding:16px 17px 15px}.home-hero-top{align-items:baseline;gap:10px;display:flex}.home-hero-top h2{color:var(--brand-ink);margin:0;font-size:14px;font-weight:750}.home-hero-period{color:var(--muted);margin-inline-start:auto;font-size:12.5px;font-weight:700}.home-hero .hero-amount{margin-top:6px;display:block}.home-hero-meta{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:7px;display:flex}.home-hero-change{background:var(--brand-soft);color:var(--brand-ink);border-radius:999px;align-items:center;gap:4px;padding:3px 10px 3px 7px;font-size:12.5px;font-weight:800;display:inline-flex}.home-hero-change small{color:var(--muted);font-weight:700}.home-hero-book{color:var(--muted);font-size:12.5px;font-weight:700}.range-switch{background:var(--stage);border-radius:999px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%;margin:0 0 12px;padding:3px;display:grid}.range-tab{min-width:0;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:9px 2px;font-size:12.5px;font-weight:700}.range-tab.active{background:var(--surface);color:var(--brand-ink);font-weight:800;box-shadow:0 1px 2px #0000000f}.range-step-row{justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;display:flex}.range-step{height:44px;color:var(--brand-ink);cursor:pointer;background:0 0;border:0;border-radius:12px;flex:0 0 44px;justify-content:center;align-items:center;padding:0;display:flex}.range-step:hover:not(:disabled){background:var(--stage)}.range-step:disabled{color:var(--line-soft);cursor:default}.range-step-row.static{justify-content:center;min-height:44px}.range-dates{text-align:center;flex-direction:column;flex:1;align-items:center;gap:1px;min-width:0;margin:0;display:flex}.range-dates span{color:var(--ink);letter-spacing:.01em;font-size:14px;font-weight:750}.range-tight{display:none}@media (max-width:359px){.range-dates .range-long{display:none}.range-dates .range-tight{display:inline}}.range-dates small{color:var(--muted);font-size:11px;font-weight:650}.range-latest{border:1px solid var(--line-soft);width:100%;min-height:40px;color:var(--brand-ink);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:6px;margin-bottom:10px;padding:0 12px;font-size:12.5px;font-weight:750;display:flex}.range-latest:hover{background:var(--stage)}.range-total{flex-direction:column;gap:2px;margin:0 0 4px;display:flex}.range-total small{color:var(--muted);font-size:12.5px;font-weight:650}.range-total strong{color:var(--ink);font-size:23px;font-weight:800;line-height:1.15}.plot{grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:0 8px;display:grid;position:relative;container:spending-plot/inline-size}.plot-axis,.plot-grid,.plot-bars{height:186px}.plot-axis{color:var(--muted);text-align:end;flex-direction:column;justify-content:space-between;padding-bottom:26px;font-size:10.5px;font-weight:650;display:flex}.plot-grid{pointer-events:none;flex-direction:column;grid-area:1/2;justify-content:space-between;padding-bottom:26px;display:flex}.plot-line{background:var(--line-soft);opacity:.55;height:1px}.plot-grid{z-index:0}.plot-bars{z-index:1;position:relative}.plot-line.base{opacity:1;background:var(--line)}.plot-bars{grid-area:1/2;align-items:end;gap:6px;display:grid}.plot-column{min-width:0;height:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;flex-direction:column;justify-content:flex-end;gap:6px;padding:0 1px;display:flex}.plot-track{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex}.plot-bar{background:var(--bar-soft);border-radius:5px 5px 2px 2px;width:min(100%,46px);transition:background .15s;display:block}.plot-bar.running{opacity:.72}.plot-column:hover .plot-bar,.plot-column.active .plot-bar{background:var(--brand)}.plot-column:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.plot-name{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;min-width:0;max-width:100%;min-height:20px;font-size:11px;font-weight:650;line-height:1.35;overflow:hidden}.plot-column.active .plot-name{color:var(--chart-name);font-weight:800}.plot-bars.sparse{gap:3px}.plot-bars.sparse .plot-column{overflow:visible}.plot-bars.sparse .plot-name{text-overflow:clip;max-width:none;overflow:visible}.plot-name-condensed-hidden{visibility:hidden}.plot-name-number{display:none}@container spending-plot (max-width:359px){.plot-month-dense .plot-name{visibility:visible}.plot-month-dense .plot-name-word{display:none}.plot-month-dense .plot-name-number{display:inline}}@container spending-plot (min-width:360px){.all-labels-fit .plot-name-condensed-hidden{visibility:visible}}.chart-readout{white-space:nowrap;text-overflow:ellipsis;min-height:20px;margin:10px 0 0;overflow:hidden}.project-history-page{gap:18px}.history-year h2{color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:750}.project-chart-history{border-top:1px solid var(--line-soft);margin-top:12px}.add-expense-locked,.review-project-locked{border:1px solid var(--brand);background:var(--brand-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:12px 14px;display:flex}.add-expense-locked .lb,.review-project-locked .lb{width:100%;margin:0}.add-expense-locked strong,.review-project-locked strong{align-items:center;gap:7px;font-size:15px;font-weight:800;display:inline-flex}.add-expense-locked .text-link,.review-project-locked .text-link{cursor:pointer;background:0 0;border:0;margin-inline-start:auto;padding:0;font-size:13px}.review-project-required{color:var(--amber-ink,var(--muted));margin:0 0 10px;font-weight:700}.ledger-batch-destination{background:var(--brand-soft);color:var(--brand-ink);border-radius:11px;align-items:center;gap:8px;margin:0 0 12px;padding:10px 13px;font-size:13px;font-weight:750;display:flex}.project-chart-earlier,.chart-footnote{border-top:1px solid var(--line-soft);color:var(--muted);margin:14px 0 0;padding-top:12px;font-size:12.5px;line-height:1.5}.project-category-breakdown .review-card{box-shadow:none;padding:16px}.project-report-heading .overview-summary-copy{text-align:center;align-items:center}.project-report-heading h1{margin:0}.project-report-heading small{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.project-report-comparison{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}.project-report-comparison h2{margin:0 0 12px;font-size:17px}.project-report-months{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-report-months>div{flex-direction:column;gap:4px;min-width:0;padding-inline:12px;display:flex}.project-report-months>div:first-child{border-inline-end:1px solid var(--line);padding-inline-start:0}.project-report-months>div:last-child{padding-inline-end:0}.project-report-months span,.project-report-months small{color:var(--muted);font-size:12px}.project-report-months strong{text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.project-report-change{color:var(--brand-dark);border-top:1px solid var(--line-soft);margin:14px 0 0;padding-top:12px;font-size:13px;font-weight:750}.project-report-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.project-report-actions .button{width:100%;min-height:48px;padding-inline:10px}.project-report-actions .project-report-export{color:var(--ink);background:var(--brand-soft);border:1px solid var(--brand-line);text-align:center;padding-block:10px}.project-report-export svg{color:var(--brand-ink);flex-shrink:0}.project-report-actions .project-report-export:hover,.project-report-actions .project-report-export:active{background:var(--surface-hover);border-color:var(--brand-ink)}@media print{@page{size:A4 portrait;margin:12mm}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root:has(.project-summary-report){background:#fff;--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light!important}body{color:#10231b;background:#fff}.tab-bar,.project-report-actions,.project-report-heading .icon-button{display:none!important}.month-bar,.category-slice,.legend-swatch,.project-budget-progress,.project-budget-progress span{-webkit-print-color-adjust:exact;print-color-adjust:exact}.app-main{padding:0}.project-report-page{width:100%;max-width:none;padding:0}.project-summary-report{--ink:#10231b;--ink-strong:#10231b;--muted:#52665e;--brand:#0e8a61;--brand-dark:#08704e;--brand-ink:#08704e;--brand-ink-soft:#52665e;--chart-name:#10231b;--bar-soft:#75ad94;--line:#d5e3dc;--line-soft:#d5e3dc;--surface:#fff;--stage:#e6f4ee;width:100%;max-width:none;color:var(--ink);padding:0;font-size:10pt;line-height:1.5;animation:none;display:block}.project-summary-report>*{margin:0 0 10px}.project-report-heading{min-height:0;display:block}.project-report-heading h1{font-size:18pt;line-height:1.4}.project-report-heading .overview-summary-copy{display:block}.project-report-heading small{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;margin-top:2px;font-size:10pt;display:block;overflow:visible}.project-summary-report .project-money-panel,.project-summary-report .project-report-comparison,.project-summary-report .project-chart-card,.project-summary-report .project-category-breakdown .review-card{box-shadow:none;background:#fff;border-color:#d5e3dc;border-radius:8px;padding:12px}.project-summary-report .project-money-panel{gap:3px}.project-summary-report .project-money-panel>strong{overflow-wrap:anywhere;font-size:24pt}.project-summary-report .project-budget-progress{height:6px;margin-top:6px}.project-summary-report h2{margin:0 0 6px;font-size:12pt;line-height:1.5}.project-summary-report .project-report-months strong{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;font-size:12pt;overflow:visible}.project-summary-report .project-report-change{margin-top:8px;padding-top:8px}.project-summary-report .project-chart-card .chart-block{padding-top:4px}.project-summary-report .chart-block figcaption{margin-bottom:8px}.project-summary-report .project-chart-card .plot-axis,.project-summary-report .project-chart-card .plot-grid,.project-summary-report .project-chart-card .plot-bars{height:112px}.project-summary-report .chart-readout{min-height:0;margin-top:8px}.project-summary-report .project-rate-note{min-height:0}.project-summary-report .project-category-breakdown{display:block}.project-category-breakdown .review-card{background:#fff;border-color:#d5e3dc}.project-money-panel,.project-report-comparison,.project-chart-card,.project-category-breakdown{break-inside:avoid;box-shadow:none}}@media (max-width:479px){.account-subscription-head{grid-template-columns:40px minmax(0,1fr)}.account-plan-expiry{text-align:start;grid-column:2}.account-usage-grid{grid-template-columns:1fr}.account-usage-grid>div:first-child{border-inline-end:0;border-bottom:1px solid var(--line-soft);padding-inline:0}.account-usage-grid>div:last-child{padding-inline:0}.account-subscription-card.is-compact .account-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-subscription-card.is-compact .account-usage-grid>div:first-child{border-inline-end:1px solid var(--line-soft);border-bottom:0;padding-inline:0 13px}.account-subscription-card.is-compact .account-usage-grid>div:last-child{padding-inline:13px 0}.billing-feature-list{grid-template-columns:1fr}.billing-plan-head>p strong{font-size:26px}.project-report-actions{grid-template-columns:1fr}}.project-team-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.project-team-actions .button{white-space:normal;text-align:center;min-width:0}.project-team-actions svg{flex-shrink:0}.project-glance{border-block:1px solid var(--line);grid-template-columns:.8fr 1.2fr;gap:0;padding:15px 0;display:grid}.project-glance>div{flex-direction:column;gap:5px;min-width:0;padding-inline:14px;display:flex}.project-glance>div:first-child{border-inline-end:1px solid var(--line);padding-inline-start:0}.project-glance>div:last-child{padding-inline-end:0}.project-glance span{color:var(--muted);font-size:13px}.project-glance strong{text-overflow:ellipsis;font-size:13px;line-height:1.45;overflow:hidden}.project-recent-section{flex-direction:column;gap:8px;display:flex}.project-recent-list{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.project-expense-row{min-height:66px;color:var(--ink);border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:10px 11px 10px 14px;display:grid}.project-expense-row:last-child{border-bottom:0}.project-expense-row:hover,.project-expense-row:active{background:var(--surface-hover)}.project-expense-row>span{flex-direction:column;gap:2px;min-width:0;display:flex}.project-expense-row>span strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.project-expense-row small{color:var(--muted);font-size:13px}.project-expense-row>strong{white-space:nowrap;font-size:13px}.project-expense-row>svg{color:var(--muted-soft)}.project-empty-expenses{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;align-items:flex-start;gap:7px;padding:26px 18px;display:flex}.project-empty-expenses p{color:var(--muted);margin:0;font-size:13px}.project-category-add{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:8px;padding:16px;display:flex}.project-category-add>label{font-size:13px;font-weight:800}.project-category-add>div{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.project-category-add .button{padding-inline:12px}.project-category-list{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.project-category-row{border-bottom:1px solid var(--line-soft);grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:58px;padding:7px 9px;display:grid}.project-category-row:last-child{border-bottom:0}.project-category-row>strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.project-category-order{grid-template-columns:44px 44px;display:grid}.project-category-order button,.project-category-actions button,.project-category-delete-confirm button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.project-category-order button:first-child svg{transform:rotate(180deg)}.project-category-order button:disabled{opacity:.2;cursor:default}.project-category-actions{display:flex}.project-category-actions button{width:44px}.project-category-actions button:last-child{color:var(--red)}.project-category-edit{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 44px 44px;align-items:center;gap:4px;display:grid}.project-category-delete-confirm{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;display:grid}.project-category-delete-confirm button{padding-inline:10px;font-size:13px;font-weight:700}.project-category-delete-confirm button.danger{color:var(--red)}.project-expense-select{flex-direction:column;gap:7px;display:flex}.select-field{grid-template-columns:21px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:0 11px;display:grid}.select-field>svg{color:var(--muted)}.select-field select{appearance:none;cursor:pointer;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0}.select-field select option{color:var(--ink);background:var(--surface)}.project-add-category-link{min-height:46px;color:var(--brand-ink);align-items:center;gap:7px;margin-top:8px;font-size:13px;font-weight:750;display:inline-flex}.scan-project-context{width:fit-content;min-height:30px;color:var(--brand-ink);background:var(--brand-soft);border-radius:999px;align-items:center;gap:6px;margin-top:8px;padding:3px 9px;font-size:13px;font-weight:700;display:inline-flex}@media (max-width:479px){.projects-header{align-items:flex-start}.project-create-compact{gap:6px;padding-inline:13px}.project-create-short{display:inline}.project-create-full{display:none}}@media (max-width:420px){.project-list-row{grid-template-columns:42px minmax(0,1fr) auto 18px;gap:8px;padding-inline:11px 7px}.project-list-mark{width:42px;height:42px}.project-list-money strong{font-size:13px}.project-category-add>div{grid-template-columns:1fr}.project-category-add .button{width:100%}}@media (max-width:479px){.plot-bars{gap:2px}.plot-bars .plot-column{padding:0}.plot-bars .plot-name{font-size:11.5px}}@media (max-width:340px){.plot-bars{margin-inline:-6px}.plot-bars .plot-name{font-size:10.5px}}.zoom-overlay{z-index:60;background:var(--overlay);cursor:zoom-out;border:0;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.zoom-overlay img{object-fit:contain;max-width:100%;max-height:88dvh}.zoom-overlay .icon-button{color:var(--on-veil);position:absolute;top:16px;right:16px}.menu-anchor{position:relative}.menu{z-index:20;background:var(--surface);border:1px solid var(--line);min-width:220px;box-shadow:var(--shadow-menu);border-radius:12px;padding:7px;position:absolute;top:calc(100% + 4px);right:0}.menu-item{width:100%;min-height:44px;color:var(--ink);text-align:start;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:0 12px;font-size:14px;font-weight:650;display:flex}.menu-item>svg{color:var(--brand-ink);flex:none}.menu-item:disabled{opacity:.58;cursor:progress}.menu-item:hover,.menu-item:active{color:var(--ink);background:var(--surface-hover)}.menu-item.danger{color:var(--red)}.menu-item.danger:hover,.menu-item.danger:active{color:var(--red);background:var(--red-soft)}.menu-item.danger>svg{color:currentColor}.export-menu{width:min(288px,100vw - 32px);min-width:176px}.export-menu .menu-item{white-space:normal;overflow-wrap:anywhere;padding-block:10px}.export-menu .menu-item:disabled{cursor:not-allowed}.export-scope{border-bottom:1px solid var(--line-soft);color:var(--ink);overflow-wrap:anywhere;margin:4px 12px 8px;padding-bottom:10px;font-size:.875rem;line-height:1.6}.export-hint{color:var(--muted);overflow-wrap:anywhere;margin:8px 12px;font-size:.875rem;line-height:1.6}.menu-delete-confirm{padding:4px}.menu-delete-confirm p{color:var(--red);margin:3px 5px 10px;font-size:13px;font-weight:700}.menu-delete-actions{gap:6px;display:flex}.menu-delete-actions .button{flex:1;padding-inline:9px;font-size:12px}.project-delete-blocked strong{color:var(--ink-strong);margin:3px 5px 8px;font-size:13px;display:block}.project-delete-blocked p{color:var(--muted);font-weight:400;line-height:1.5}.project-delete-blocked .button{white-space:normal;min-width:0}.login-screen{justify-content:center;align-items:center;min-height:100dvh;padding:24px 20px;display:flex}.login-card{background:var(--surface);border:1px solid var(--line);width:100%;max-width:380px;box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:12px;padding:24px;display:flex}.login-form{display:contents}.login-divider{color:var(--muted);align-items:center;gap:10px;margin:4px 0;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.login-google{gap:10px;text-decoration:none}.login-google>svg{flex:none}.login-mark{width:52px;height:52px;color:var(--brand-ink);background:var(--brand-soft);border-radius:16px;place-items:center;margin-bottom:4px;display:grid}.login-card h1{margin:0;font-size:24px;font-weight:800}.login-card>p{color:var(--muted);margin:0 0 4px;font-size:14px}.login-card>small{color:var(--muted);text-align:center;font-size:12.5px}.field-label{color:var(--muted);font-size:13px;font-weight:700}.login-card input{background:var(--canvas);border:1px solid var(--line);font-variant-numeric:tabular-nums;letter-spacing:.06em;border-radius:11px;outline:none;min-height:50px;padding:0 14px}.login-card input:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring-brand-soft)}.login-card input[aria-invalid=true]{border-color:var(--red)}.password-field{display:grid;position:relative}.password-field>input{padding-inline-end:54px}.password-reveal{top:0;bottom:0;width:44px;min-height:0;color:var(--muted-strong);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid;position:absolute;inset-inline-end:3px}.password-reveal:hover{color:var(--ink);background:var(--surface-hover)}.password-reveal[aria-pressed=true]{color:var(--brand-dark)}.join-team-form input{background:var(--canvas);border:1px solid var(--line);letter-spacing:.06em;border-radius:11px;outline:none;min-height:50px;padding:0 48px 0 14px}.join-team-form input:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring-brand-soft)}.join-team-form input[aria-invalid=true]{border-color:var(--red)}.status-badge{min-height:28px;color:var(--brand-dark);background:var(--brand-soft);border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:750;display:inline-flex}.status-badge.needs-review,.status-badge.draft{color:var(--amber-ink);background:var(--amber-soft)}@media (max-width:420px){.hero{padding:17px}.hero-amount,.hero-secondary{font-size:clamp(27px,8vw,32px)}.overview-head,.section-head{align-items:flex-start}.overview-head{flex-direction:column;gap:1px}.overview-range{white-space:normal}.ledger-add{padding-inline:11px;font-size:13px}.ledger-delete-confirm{flex-direction:column;align-items:flex-start}.ledger-delete-actions{width:100%}.ledger-delete-cancel,.ledger-delete-submit{flex:1;justify-content:center}}@media (max-width:600px){.scan-preview-screen .capture-stage{min-height:240px}.scan-preview-screen .artifact-capture-stage img{max-height:240px}.add-expense-dialog{width:100%;padding-bottom:max(8px, var(--bottom-safe));border-radius:20px 20px 0 0;margin:0;position:fixed;inset:auto 0 0}.add-expense-dialog[open]{animation-name:sheet-enter}@keyframes sheet-enter{0%{opacity:0;transform:translateY(24px)}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.landing{flex-direction:column;gap:clamp(32px,7vw,52px);max-width:34rem;margin:0 auto;padding:clamp(28px,8vw,64px) 20px 48px;display:flex}.landing-hero{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.landing-mark{border-radius:18px;width:64px;height:64px}.landing-name{letter-spacing:.04em;color:var(--brand-ink);margin:0;font-size:.95rem;font-weight:700}.landing-promotion{min-height:32px;color:var(--brand-ink);background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:999px;align-items:center;gap:7px;margin:-4px 0 0;padding:5px 10px;font-size:13px;font-weight:750;line-height:1.35;display:inline-flex}.landing h1{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:clamp(1.75rem,7vw,2.4rem);line-height:1.22}.landing-lede{color:var(--muted);margin:0;font-size:clamp(1rem,4vw,1.1rem);line-height:1.65}.landing-cta{background:var(--brand-solid);min-height:52px;color:var(--on-fill);border-radius:999px;justify-content:center;align-items:center;margin-top:10px;padding:0 32px;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.landing-cta:active{transform:translateY(1px)}.landing-cta-hint{color:var(--muted);margin:0;font-size:.85rem}.landing-points{flex-direction:column;gap:26px;display:flex}.landing-point{grid-template-columns:40px 1fr;grid-template-areas:"mark title"".body";gap:6px 14px;display:grid}.landing-point-mark{background:var(--brand-soft);width:40px;height:40px;color:var(--brand-ink);border-radius:12px;grid-area:mark;place-items:center;display:grid}.landing-point h2{color:var(--ink);grid-area:title;align-self:center;margin:0;font-size:1.05rem;line-height:1.3}.landing-point p{color:var(--muted);grid-area:body;margin:0;font-size:.95rem;line-height:1.6}.landing-foot{border-top:1px solid var(--line);color:var(--muted);padding-top:8px;font-size:.85rem}.landing-foot p{margin:0}.landing-foot-links{flex-wrap:wrap;gap:4px 18px;display:flex;margin-top:6px!important}.landing-foot-links a{color:var(--muted-strong);text-underline-offset:3px;padding:6px 0;text-decoration:underline}.landing-foot-links a:hover{color:var(--brand)}.landing-foot-contact{flex-wrap:wrap;align-items:baseline;gap:0 4px;padding:6px 0;display:inline-flex}.landing-foot-contact a{overflow-wrap:anywhere;padding:0}.landing-foot-legal{color:var(--muted);font-size:.8rem;margin-top:8px!important}.prose-page{max-width:40rem;color:var(--ink);margin:0 auto;padding:clamp(24px,6vw,56px) 20px 56px}.app-shell:has(.tab-bar) .prose-page{padding-bottom:calc(24px + var(--tab-bar-height) + var(--bottom-safe))}.prose-page h1{margin:0 0 6px;font-size:clamp(1.5rem,6vw,2rem);line-height:1.25}.prose-meta{color:var(--muted);margin:0 0 18px;font-size:.85rem}.prose-lede{color:var(--muted-strong);margin:0 0 8px;font-size:1.02rem;line-height:1.7}.prose-page section{margin-top:28px}.prose-page h2{margin:0 0 8px;font-size:1.05rem;line-height:1.35}.prose-page p{color:var(--muted);margin:0;font-size:.97rem;line-height:1.75}.prose-page a{color:var(--brand-ink)}.prose-foot{border-top:1px solid var(--line);margin-top:36px;padding-top:16px;font-size:.95rem}.prose-foot a{align-items:center;min-height:44px;display:inline-flex}@media (min-width:900px){.screen{max-width:820px}}.locked-mark{place-items:center;display:grid;position:relative}.locked-mark-badge{background:var(--surface);width:15px;height:15px;box-shadow:0 0 0 1.5px var(--surface);color:var(--muted-strong);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-4px;right:-5px}.account-feedback{margin-top:22px}.account-feedback h2{margin:0 0 4px;font-size:17px}.account-feedback-intro{color:var(--muted);margin:0 0 12px;font-size:14px;line-height:1.6}.feedback-card{gap:10px;padding:16px;display:grid}.feedback-card label{color:var(--muted-strong);font-size:14px}.feedback-card textarea{resize:vertical;border:1px solid var(--line);background:var(--stage-soft);width:100%;min-height:96px;color:var(--ink);font:inherit;border-radius:12px;padding:12px;line-height:1.6}.feedback-card textarea:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.feedback-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.feedback-remaining{color:var(--muted);font-size:13px}.feedback-remaining.is-low{color:var(--warn,var(--muted-strong))}.feedback-problem{color:var(--danger);margin:0;font-size:14px;line-height:1.5}.feedback-done{text-align:center;justify-items:center;gap:8px;padding:22px 16px;display:grid}.feedback-done-mark{background:var(--brand-soft);width:40px;height:40px;color:var(--brand);border-radius:50%;place-items:center;display:grid}.feedback-done p{margin:0}.admin-feedback-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.admin-feedback-item{border:1px solid var(--line);border-radius:12px;padding:14px}.admin-feedback-message{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 8px;line-height:1.6}.admin-feedback-meta{color:var(--muted);flex-wrap:wrap;gap:4px 10px;margin:0;font-size:13px;display:flex}
