:root{--color-bg: oklch(.975 .006 85);--color-surface: oklch(.93 .006 85);--color-border: oklch(.88 .006 85);--color-ink: oklch(.22 .01 80);--color-ink-secondary: oklch(.35 .01 80);--color-ink-muted: oklch(.52 .01 80);--color-accent: #2d5a27;--color-accent-tint: #e8efe6;--color-warn: #b8860b;--color-danger: #a83232;--cat-home: #4a6b8a;--cat-food-dining: #c47f2e;--cat-shopping: #8b5a2b;--cat-grocery: #6b8a4a;--cat-investments: #2d5a27;--cat-entertainment: #7a4a8a;--cat-fitness: #a8562e;--cat-medical: #a83232;--cat-vacation: #2e8a8a;--cat-personal-care: #b8628a;--cat-insurance: #5c5c8a;--cat-fuel: #8a6b2e;--cat-education: #2e6b8a;--cat-bills-utilities: #6b6b8a;--cat-miscellaneous: #6b6b6b;--cat-subscriptions: #8a4a5c;--cat-gifts: #b8860b;--cat-construction: #9a5a3c;--cat-green: oklch(.55 .12 152);--cat-warm: oklch(.62 .12 70);--cat-blue: oklch(.55 .1 250);--cat-plum: oklch(.55 .1 320);--cat-teal: oklch(.55 .09 200);--cat-grey: oklch(.58 .01 80);--cat-green-tint: oklch(.94 .04 152);--cat-green-ink: oklch(.45 .1 152);--cat-warm-tint: oklch(.94 .04 70);--cat-warm-ink: oklch(.45 .1 60);--cat-blue-tint: oklch(.94 .04 250);--cat-blue-ink: oklch(.45 .1 250);--cat-plum-tint: oklch(.94 .04 320);--cat-plum-ink: oklch(.45 .1 320);--cat-teal-tint: oklch(.94 .04 200);--cat-teal-ink: oklch(.45 .1 200);--cat-grey-tint: oklch(.93 .006 85);--cat-grey-ink: oklch(.45 .01 80);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-pill: 999px;--font-heading: "Manrope", sans-serif;--font-body: "Manrope", sans-serif;--font-mono: "IBM Plex Mono", monospace;--font-ui: "Manrope", sans-serif;--text-xs: 13px;--text-sm: 15px;--text-base: 18px;--text-lg: 24px;--text-xl: 32px;--color-page: oklch(.975 .006 85);--color-card: oklch(1 0 0);--color-card-hover: oklch(.93 .006 85);--color-ink-amount: oklch(.25 .01 80);--color-muted-eyebrow: oklch(.52 .01 80);--color-subline: oklch(.52 .01 80);--color-nav-icon-idle: oklch(.42 .01 80);--color-nav-label-idle: oklch(.42 .01 80);--color-hairline: oklch(.92 .006 85);--color-hairline-strong: oklch(.88 .006 85);--color-nav-border: oklch(.88 .006 85);--color-sidebar: oklch(1 0 0);--color-sidebar-hover: oklch(.96 .006 85);--color-accent-vivid: oklch(.5 .13 152);--color-accent-vivid-pressed: oklch(.44 .12 152);--color-accent-vivid-label: oklch(.45 .12 152);--color-on-accent-vivid: oklch(.99 .01 152);--shadow-dash-card: 0 1px 2px oklch(.2 .01 80 / .04), 0 8px 24px oklch(.2 .01 80 / .05);--shadow-dash-add: 0 10px 24px oklch(.5 .13 152 / .3);--color-accent-tint-fill: oklch(.95 .03 152);--color-accent-tint-border: oklch(.85 .06 152);--color-accent-on-tint: oklch(.42 .12 152);--color-destructive: oklch(.55 .16 27);--color-warning: oklch(.68 .14 60);--color-scrim: oklch(.2 .01 80 / .35);--shadow-sheet: 0 -12px 34px oklch(.2 .01 80 / .16);--tile-tint-l: .94;--tile-tint-c: .04;--tile-glyph-l: .45;--tile-glyph-c: .1;--chart-l: .62;--chart-c: .13;--tile-tint-base: #ffffff;--tile-tint-pct: 18%;--tile-glyph-base: #000000;--tile-glyph-pct: 70%;--color-surface-control: #ffffff;--color-segment-active: #ffffff;--color-accent-wash: #dff3e6;--color-accent-wash-ink: #0e4a27;--color-selected-row: #e6f4eb;--color-placeholder: oklch(.55 .01 80);--shadow-dropdown: 0 4px 8px oklch(.2 .01 80 / .05), 0 16px 34px oklch(.2 .01 80 / .12);--review-input-fill: oklch(.98 .004 85);--review-hairline-soft: oklch(.93 .008 85);--review-ink-meta: oklch(.55 .01 80);--review-chip-selected-bg: oklch(.93 .05 152);--review-chip-selected-ink: oklch(.33 .09 152);--review-amount-expense: oklch(.5 .17 25);--review-badge-suggested-border: oklch(.8 .07 152);--review-badge-suggested-ink: oklch(.4 .11 152);--review-badge-warn-border: oklch(.8 .09 85);--review-badge-warn-ink: oklch(.48 .1 70);--review-disabled-fill: oklch(.95 .006 85);--review-disabled-ink: oklch(.6 .01 80);--review-toast-bg: oklch(.22 .01 80);--review-toast-border: oklch(.3 .01 80);--review-toast-ink: oklch(.97 .004 80);--review-shadow-card: 0 1px 2px oklch(.2 .01 80 / .04);--review-card-border-mobile: oklch(.89 .006 85);--review-divider-mobile: oklch(.91 .008 85);--review-field-border-mobile: oklch(.89 .006 85);--review-amount-expense-mobile: oklch(.5 .17 25);--review-label-key-ink: oklch(.58 .01 80);--review-label-value-ink: oklch(.45 .01 80);--review-shadow-card-mobile: 0 1px 2px oklch(.2 .01 80 / .05);--nav-capsule-fill: oklch(1 0 0 / .8);--nav-capsule-fill-solid: oklch(1 0 0 / .96);--nav-capsule-border: oklch(.2 .01 80 / .1);--nav-capsule-shadow: inset 0 1px 0 oklch(1 0 0 / .6), 0 10px 30px oklch(.2 .01 80 / .16);--nav-active-fill: oklch(.93 .05 152);--nav-active-icon: oklch(.5 .13 152);--nav-active-label: oklch(.33 .09 152);--nav-idle-ink: oklch(.42 .01 80);--nav-add-fill: oklch(.5 .13 152);--nav-add-fill-pressed: oklch(.44 .12 152);--nav-add-ink: oklch(.99 .01 152);--nav-add-shadow: 0 10px 24px oklch(.5 .13 152 / .3);--nav-dot: oklch(.68 .14 60);--nav-dot-ring: oklch(1 0 0);--nav-back-ink: oklch(.42 .12 152);--review-cta-fill: var(--color-accent-tint-fill);--review-cta-fill-hover: oklch(.93 .04 152);--review-cta-border: var(--color-accent-tint-border);--review-cta-ink: oklch(.22 .01 80);--review-cta-sub: oklch(.42 .12 152);--review-cta-chevron: oklch(.42 .12 152);--tabbar-clearance: calc(112px + env(safe-area-inset-bottom, 0px)) }:root[data-theme=dark]{--color-bg: #1a1815;--color-surface: #24201d;--color-border: #3a3632;--color-ink: #f0ebe4;--color-ink-secondary: #c0b8b0;--color-ink-muted: #908880;--color-accent: #4a7c44;--color-accent-tint: #2d3d2b;--color-warn: #d4a52b;--color-danger: #c84242;--color-page: #373330;--color-card: #423e3a;--color-card-hover: #504c47;--color-ink-amount: #f2f0ed;--color-muted-eyebrow: #bbb6af;--color-subline: oklch(.76 .008 80);--color-nav-icon-idle: #c7c2bb;--color-nav-label-idle: #c7c2bb;--color-hairline: #545049;--color-hairline-strong: #5c5852;--color-nav-border: #504c47;--color-sidebar: var(--color-page);--color-sidebar-hover: var(--color-card-hover);--color-accent-vivid: #74e0a0;--color-accent-vivid-pressed: #8ff0b5;--color-accent-vivid-label: #74e0a0;--color-on-accent-vivid: #23332a;--shadow-dash-card: 0 10px 26px rgba(30, 27, 24, .35);--shadow-dash-add: 0 8px 20px rgba(116, 224, 160, .24);--cat-green-tint: oklch(.42 .06 152);--cat-green-ink: oklch(.93 .06 152);--cat-warm-tint: oklch(.44 .07 70);--cat-warm-ink: oklch(.95 .06 75);--cat-blue-tint: oklch(.42 .06 250);--cat-blue-ink: oklch(.93 .05 250);--cat-plum-tint: oklch(.42 .06 320);--cat-plum-ink: oklch(.93 .05 320);--cat-teal-tint: oklch(.42 .06 200);--cat-teal-ink: oklch(.93 .05 200);--cat-grey-tint: oklch(.4 .008 80);--cat-grey-ink: oklch(.9 .006 80);--tile-tint-base: var(--color-page);--tile-tint-pct: 45%;--tile-glyph-base: #ffffff;--tile-glyph-pct: 65%;--color-surface-control: #403c38;--color-segment-active: #595550;--color-accent-wash: #4c6b57;--color-accent-wash-ink: #e4fbeb;--color-selected-row: #4e4a45;--color-placeholder: #b2ada6;--shadow-dropdown: 0 16px 34px rgba(30, 27, 24, .5);--review-input-fill: oklch(.31 .008 80);--review-hairline-soft: oklch(.42 .008 80);--review-ink-meta: oklch(.72 .008 80);--review-chip-selected-bg: oklch(.4 .05 152);--review-chip-selected-ink: oklch(.96 .03 152);--review-amount-expense: oklch(.75 .15 25);--review-badge-suggested-border: oklch(.52 .07 152);--review-badge-suggested-ink: oklch(.86 .1 152);--review-badge-warn-border: oklch(.55 .07 85);--review-badge-warn-ink: oklch(.85 .09 85);--review-disabled-fill: oklch(.36 .008 80);--review-disabled-ink: oklch(.7 .008 80);--review-toast-bg: oklch(.38 .008 80);--review-toast-border: oklch(.5 .008 80);--review-toast-ink: oklch(.97 .004 80);--review-shadow-card: none;--review-card-border-mobile: oklch(.43 .008 80);--review-divider-mobile: oklch(.43 .008 80);--review-field-border-mobile: oklch(.42 .008 80);--review-amount-expense-mobile: oklch(.73 .13 25);--review-label-key-ink: oklch(.68 .008 80);--review-label-value-ink: oklch(.8 .008 80);--review-shadow-card-mobile: 0 1px 2px oklch(.15 .01 80 / .4);--nav-capsule-fill: oklch(.34 .008 80 / .72);--nav-capsule-fill-solid: oklch(.34 .008 80 / .96);--nav-capsule-border: oklch(.6 .008 80 / .35);--nav-capsule-shadow: inset 0 1px 0 oklch(1 0 0 / .08), 0 12px 30px oklch(.1 .01 80 / .5);--nav-active-fill: oklch(.45 .04 152 / .85);--nav-active-icon: oklch(.88 .12 152);--nav-active-label: oklch(.94 .06 152);--nav-idle-ink: oklch(.8 .008 80);--nav-add-fill: oklch(.84 .13 152);--nav-add-fill-pressed: oklch(.9 .12 152);--nav-add-ink: oklch(.24 .04 152);--nav-add-shadow: inset 0 1px 0 oklch(1 0 0 / .25), 0 12px 26px oklch(.12 .01 80 / .55);--nav-dot: oklch(.8 .12 60);--nav-dot-ring: oklch(.34 .008 80);--nav-back-ink: oklch(.84 .13 152);--color-accent-tint-fill: oklch(.4 .03 152);--color-accent-tint-border: oklch(.52 .07 152);--color-accent-on-tint: oklch(.92 .06 152);--color-destructive: oklch(.73 .13 25);--color-warning: oklch(.8 .12 60);--color-scrim: oklch(.12 .01 80 / .55);--shadow-sheet: 0 -14px 34px oklch(.12 .01 80 / .5);--tile-tint-l: .42;--tile-tint-c: .06;--tile-glyph-l: .93;--tile-glyph-c: .05;--chart-l: .78;--chart-c: .12;--review-cta-fill: var(--color-accent-tint-fill);--review-cta-fill-hover: oklch(.43 .035 152);--review-cta-border: var(--color-accent-tint-border);--review-cta-ink: oklch(.97 .004 80);--review-cta-sub: oklch(.86 .06 152);--review-cta-chevron: oklch(.92 .06 152)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-heading);font-weight:700;line-height:1.2;margin:0;color:var(--color-ink)}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-base)}p{margin:0}button,input,select{font-family:inherit}.amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-medium)}.amount--negative{color:var(--color-ink)}.amount--positive{color:var(--color-accent)}.text-secondary{color:var(--color-ink-secondary)}.text-muted{color:var(--color-ink-muted)}.ledger-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.ledger-row:first-child{border-top:1px solid var(--color-border)}.metric-card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-4)}.category-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:var(--space-2)}.theme-switching,.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:none!important}
