html{height:100%;color-scheme:light;--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #013a00);--mat-sys-on-tertiary-container: light-dark(#015300, #77ff61);--mat-sys-on-tertiary-fixed: light-dark(#002200, #002200);--mat-sys-on-tertiary-fixed-variant: light-dark(#015300, #015300);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#026e00, #02e600);--mat-sys-tertiary-container: light-dark(#77ff61, #015300);--mat-sys-tertiary-fixed: light-dark(#77ff61, #77ff61);--mat-sys-tertiary-fixed-dim: light-dark(#02e600, #02e600);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}body{background-color:var(--mat-sys-surface);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);margin:0;height:100%}html.dark-theme{color-scheme:dark}html{--ledger-page-bg: #f8fafd;--ledger-muted: #5f6368;--ledger-surface-shadow: 0 1px 2px rgb(60 64 67 / 8%);--ledger-google-blue: #1a73e8;--ledger-google-red: #d93025;--ledger-google-yellow: #f9ab00;--ledger-google-green: #188038}html.dark-theme{--ledger-page-bg: #131314;--ledger-muted: #c4c7c5;--ledger-surface-shadow: 0 1px 2px rgb(0 0 0 / 28%)}*{box-sizing:border-box}button,input,textarea,select{font:inherit}h1{font-size:clamp(1.65rem,2.4vw,2.25rem);font-weight:500;letter-spacing:0}h2{font-size:1.05rem;font-weight:500;letter-spacing:0}.mat-mdc-dialog-container .mdc-dialog__surface{display:flex;max-height:min(92dvh,900px);overflow:hidden}.mat-mdc-dialog-container .mat-mdc-dialog-title{flex:0 0 auto;margin:0;padding:28px 32px 12px;line-height:1.2}.mat-mdc-dialog-container .mat-mdc-dialog-content{flex:1 1 auto;max-height:none;padding:14px 32px 8px!important;overflow:auto}.mat-mdc-dialog-container .mat-mdc-dialog-actions{flex:0 0 auto;gap:8px;min-height:72px;padding:16px 32px 24px}.mat-mdc-dialog-container mat-form-field{min-width:0}@media(max-width:720px){.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:calc(100vw - 16px)!important}.mat-mdc-dialog-container .mat-mdc-dialog-title{padding:22px 20px 10px}.mat-mdc-dialog-container .mat-mdc-dialog-content{padding:12px 20px 6px!important}.mat-mdc-dialog-container .mat-mdc-dialog-actions{padding:14px 20px 20px}}.ledger-skeleton-list{display:grid;gap:10px}.ledger-skeleton-row,.ledger-skeleton-card{position:relative;overflow:hidden;background:var(--mat-sys-surface);border:1px solid var(--mat-sys-outline-variant);border-radius:8px}.ledger-skeleton-row{height:64px}.ledger-skeleton-card{min-height:112px}.ledger-skeleton-row:after,.ledger-skeleton-card:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--mat-sys-primary) 8%,transparent),transparent);animation:ledger-skeleton-shimmer 1.2s infinite;transform:translate(-100%)}.load-more{display:flex;justify-content:center;padding:18px 0 8px}.list-end{margin:18px 0 0;color:var(--ledger-muted);text-align:center}.ledger-table th.mat-mdc-header-cell{position:sticky;top:0;z-index:1;background:var(--mat-sys-surface-container-low)}@keyframes ledger-skeleton-shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.ledger-skeleton-row:after,.ledger-skeleton-card:after{animation:none}}.statistics-page .page-heading,.statistics-page .section-title,.statistics-page .income-row,.statistics-page .top-row,.statistics-page .loan-stat div:first-child,.statistics-page .loan-meta,.statistics-page .insight-list p{display:flex;gap:16px}.statistics-page .page-heading,.statistics-page .section-title,.statistics-page .loan-stat div:first-child,.statistics-page .loan-meta{justify-content:space-between}.statistics-page .page-heading,.statistics-page .income-row,.statistics-page .top-row,.statistics-page .insight-list p{align-items:center}.statistics-page .page-heading{margin-bottom:24px}.statistics-page .page-heading h1,.statistics-page .section-title h2{margin:0}.statistics-page .eyebrow{margin:0 0 12px;color:var(--ledger-muted);font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.statistics-page .kpi-grid,.statistics-page .analytics-grid,.statistics-page .weekday-grid,.statistics-page .breakdown-list,.statistics-page .income-list,.statistics-page .loan-stat-list,.statistics-page .top-list,.statistics-page .insight-list{display:grid;gap:16px}.statistics-page .kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.statistics-page .analytics-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr);margin:24px 0}.statistics-page .surface,.statistics-page .kpi{padding:20px;background:var(--mat-sys-surface-container-low);border:1px solid var(--mat-sys-outline-variant);border-radius:8px;box-shadow:var(--ledger-surface-shadow)}.statistics-page .kpi{display:grid;grid-template-columns:auto 1fr;align-content:start;gap:6px 14px;min-height:132px}.statistics-page .kpi mat-icon{grid-column:1;grid-row:span 3;width:34px;height:34px;padding:7px;color:var(--mat-sys-primary);background:color-mix(in srgb,var(--mat-sys-primary) 10%,transparent);border-radius:8px;font-size:34px}.statistics-page .kpi span,.statistics-page .kpi strong,.statistics-page .kpi small{grid-column:2;min-width:0}.statistics-page .kpi strong{font-size:clamp(1.25rem,1.8vw,1.8rem);font-weight:500;line-height:1.15}.statistics-page .kpi span,.statistics-page .kpi small,.statistics-page .section-title span,.statistics-page .breakdown-item small,.statistics-page .income-row small,.statistics-page .loan-stat span,.statistics-page .loan-meta,.statistics-page .top-row small,.statistics-page .weekday-card span,.statistics-page .weekday-card small{color:var(--ledger-muted)}.statistics-page .income-tone mat-icon{color:var(--ledger-google-green);background:color-mix(in srgb,var(--ledger-google-green) 12%,transparent)}.statistics-page .expense-tone mat-icon{color:var(--ledger-google-red);background:color-mix(in srgb,var(--ledger-google-red) 12%,transparent)}.statistics-page .balance-tone mat-icon{color:var(--ledger-google-blue);background:color-mix(in srgb,var(--ledger-google-blue) 12%,transparent)}.statistics-page .section-title{align-items:flex-start;margin-bottom:20px}.statistics-page .section-title div,.statistics-page .income-row div,.statistics-page .top-row div,.statistics-page .loan-stat,.statistics-page .breakdown-item{display:grid;gap:6px}.statistics-page .hero-chart{overflow:hidden}.statistics-page .cashflow-chart{position:relative;min-height:312px;padding-top:8px}.statistics-page .cashflow-chart svg{position:absolute;inset:0 0 72px;width:100%;min-width:760px;height:calc(100% - 72px)}.statistics-page .balance-area{fill:color-mix(in srgb,var(--ledger-google-blue) 14%,transparent)}.statistics-page .balance-line{fill:none;stroke:var(--ledger-google-blue);stroke-linecap:round;stroke-width:3}.statistics-page .balance-dot{fill:var(--mat-sys-surface);stroke:var(--ledger-google-blue);stroke-width:2}.statistics-page .month-bars{position:relative;display:grid;grid-template-columns:repeat(12,minmax(46px,1fr));gap:10px;min-width:760px;min-height:300px;align-items:end}.statistics-page .month-column{display:grid;gap:7px;text-align:center}.statistics-page .bar-pair{display:flex;align-items:end;justify-content:center;gap:5px;height:180px}.statistics-page .bar-pair span{width:12px;min-height:4px;border-radius:999px 999px 2px 2px}.statistics-page .income-bar,.statistics-page .paid-bar{background:var(--ledger-google-green)}.statistics-page .expense-bar{background:var(--ledger-google-red)}.statistics-page .month-column small{color:var(--ledger-muted);font-size:.72rem}.statistics-page .donut-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:center}.statistics-page .donut{width:100%;max-width:220px;transform:rotate(-90deg)}.statistics-page .donut text{fill:var(--mat-sys-on-surface);font-size:.72rem;transform:rotate(90deg);transform-origin:center}.statistics-page .donut-track,.statistics-page .donut-segment{fill:none;stroke-width:18}.statistics-page .donut-track{stroke:var(--mat-sys-outline-variant)}.statistics-page .breakdown-item{grid-template-columns:minmax(0,1fr) auto}.statistics-page .breakdown-item div:first-child{display:flex;align-items:center;gap:10px}.statistics-page .category-dot{flex:0 0 auto;width:10px;height:10px;border-radius:999px}.statistics-page .share-track,.statistics-page .loan-bars{grid-column:1/-1;height:8px;overflow:hidden;background:var(--mat-sys-surface);border-radius:999px}.statistics-page .share-track span,.statistics-page .loan-bars span{display:block;height:100%;border-radius:inherit}.statistics-page .income-row,.statistics-page .top-row,.statistics-page .loan-stat{padding:12px 0;border-bottom:1px solid var(--mat-sys-outline-variant)}.statistics-page .income-row:last-child,.statistics-page .top-row:last-child,.statistics-page .loan-stat:last-child{border-bottom:0}.statistics-page .income-row div,.statistics-page .top-row div{flex:1;min-width:0}.statistics-page .income-row>span:last-child,.statistics-page .top-row>span:last-child,.statistics-page .section-title>strong{white-space:nowrap}.statistics-page .weekday-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.statistics-page .weekday-card{display:grid;gap:6px;min-height:112px;padding:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--ledger-google-red) var(--intensity),transparent),var(--mat-sys-surface));border:1px solid var(--mat-sys-outline-variant);border-radius:8px}.statistics-page .insights{margin-top:24px}.statistics-page .insight-list p{margin:0;padding:12px;background:var(--mat-sys-surface);border:1px solid var(--mat-sys-outline-variant);border-radius:8px}.statistics-page .insight-list mat-icon{flex:0 0 24px;color:var(--mat-sys-primary)}@media(max-width:1120px){.statistics-page .kpi-grid,.statistics-page .analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-page .category-panel{grid-column:1/-1}}@media(max-width:820px){.statistics-page .page-heading,.statistics-page .section-title,.statistics-page .loan-stat div:first-child,.statistics-page .loan-meta{align-items:flex-start;flex-direction:column}.statistics-page .page-heading a,.statistics-page .kpi-grid,.statistics-page .analytics-grid,.statistics-page .donut-layout,.statistics-page .weekday-grid{width:100%;grid-template-columns:1fr}.statistics-page .surface,.statistics-page .kpi{padding:16px}.statistics-page .cashflow-chart{overflow-x:auto}}
