:root{--font-family-app: "Sora", system-ui, sans-serif;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-size-compact: .9375rem;--font-size-caption: .9375rem;--font-size-body: 1rem;--font-size-body-strong: 1rem;--font-size-subtitle: 1.0625rem;--font-size-title: 1.25rem;--font-size-page-title: 1.625rem;--font-size-money-secondary: 1.375rem;--font-size-money-compact: 1rem;--font-size-money-main: 2.125rem;--font-size-money-hero: 2.5rem;--font-size-money-hero-detail: 1.5rem;--font-size-display: 2.5rem;--line-height-tight: 1.08;--line-height-title: 1.2;--line-height-body: 1.5;--line-height-relaxed: 1.65;--letter-spacing-brand: -.045em;--letter-spacing-money: -.04em;--letter-spacing-title: -.025em;--letter-spacing-label: .035em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-page-inline: .75rem;--space-page-top: .75rem;--space-page-bottom: 6.25rem;--space-section: 1.5rem;--space-section-compact: 1.25rem;--size-border: .0625rem;--size-selector-indicator: .125rem;--size-touch: 3rem;--size-icon-sm: 1.125rem;--size-icon-md: 1.375rem;--size-icon-lg: 1.75rem;--size-icon-xl: 1.75rem;--size-icon-nav: 1.5rem;--size-logo: 3.125rem;--size-avatar: 2.5rem;--size-status-dot: .625rem;--size-status-badge: 1.125rem;--size-status-icon: .75rem;--size-movement-icon-cell: 2.5rem;--size-reference-row: 1.75rem;--size-progress: .375rem;--size-chart-home: 4rem;--size-chart-standard: 10rem;--size-sheet-handle: 2.75rem;--size-nav: 4rem;--size-sidebar: 15rem;--size-content-max: 76rem;--size-form-max: 42rem;--size-dialog-max: 32rem;--size-column-min: 19rem;--size-column-wide: 28rem;--size-table-min: 44rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-round: 999rem;--color-white: #ffffff;--color-canvas: #f7f9fc;--color-surface: #ffffff;--color-surface-muted: #f1f5fb;--color-surface-strong: #e7eef9;--color-ink: #07142f;--color-ink-secondary: #52617c;--color-ink-muted: #78859c;--color-line: #dfe6f1;--color-line-strong: #cbd6e6;--color-primary: #1259d5;--color-primary-strong: #0a3e9c;--color-primary-soft: #e7f0ff;--color-primary-wash: #f2f6ff;--color-positive: #079455;--color-positive-soft: #e8f8f0;--color-negative: #d92d3a;--color-negative-soft: #fff0f1;--color-warning: #d97706;--color-warning-soft: #fff5e6;--color-info: #0277bd;--color-info-soft: #e6f5fc;--color-investment: #11845b;--color-investment-soft: #e9f8f1;--color-property: #7047c8;--color-property-soft: #f1ecff;--color-transfer: #6b7280;--color-transfer-soft: #f0f2f5;--color-overlay: rgba(7, 20, 47, .48);--color-shadow: rgba(7, 20, 47, .12);--color-shadow-soft: rgba(7, 20, 47, .06);--shadow-sm: 0 .125rem .5rem var(--color-shadow-soft);--shadow-md: 0 .75rem 2rem var(--color-shadow);--shadow-nav: 0 -.5rem 1.5rem var(--color-shadow-soft);--duration-fast: .14s;--duration-base: .22s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--z-nav: 30;--z-overlay: 50;--z-splash: 100}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;background:var(--color-canvas)}body{min-height:100%;margin:var(--space-0);background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-family-app);font-size:var(--font-size-body);line-height:var(--line-height-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img,svg{display:block}h1,h2,h3,p{margin:var(--space-0)}#root{min-height:100%}.ui-app-shell{min-height:100dvh;background:var(--color-canvas)}.ui-app-main{width:100%;max-width:var(--size-content-max);margin-inline:auto;padding:var(--space-page-top) var(--space-page-inline) var(--space-page-bottom)}.ui-page{display:grid;gap:var(--space-section);min-width:var(--space-0)}.ui-page-narrow{width:100%;max-width:var(--size-form-max);margin-inline:auto}.ui-stack{display:grid;gap:var(--space-4)}.ui-inline{display:flex;align-items:center;gap:var(--space-3);min-width:var(--space-0)}.ui-inline-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-width:var(--space-0)}.ui-scroll-x{overflow-x:auto;overscroll-behavior-inline:contain}.ui-icon{width:var(--size-icon-md);height:var(--size-icon-md);flex:none;color:currentColor}.ui-icon-sm{width:var(--size-icon-sm);height:var(--size-icon-sm)}.ui-icon-lg{width:var(--size-icon-lg);height:var(--size-icon-lg)}.ui-icon-xl{width:var(--size-icon-xl);height:var(--size-icon-xl)}.ui-brand-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding-block:var(--space-1) var(--space-4)}.ui-brand-lockup{display:flex;align-items:center;gap:var(--space-2);min-width:var(--space-0)}.ui-brand-logo{width:var(--size-logo);height:var(--size-logo);border-radius:var(--radius-round);flex:none}.ui-brand-name{font-size:var(--font-size-title);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-brand);line-height:var(--line-height-title);white-space:nowrap}.ui-brand-name span{color:var(--color-primary)}.ui-brand-version{color:var(--color-ink-muted);font-size:var(--font-size-compact);font-weight:var(--font-weight-medium);white-space:nowrap}.ui-brand-actions{display:flex;align-items:center;gap:var(--space-2);flex:none}.ui-cloud-status{display:flex;align-items:center;gap:var(--space-1);color:var(--color-positive);font-size:var(--font-size-compact);font-weight:var(--font-weight-semibold);white-space:nowrap}.ui-avatar{width:var(--size-avatar);height:var(--size-avatar);display:grid;place-items:center;border-radius:var(--radius-round);background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--font-weight-bold)}.ui-page-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:start}.ui-page-header-copy{min-width:var(--space-0);padding-top:var(--space-1)}.ui-page-title{font-size:var(--font-size-page-title);line-height:var(--line-height-title);letter-spacing:var(--letter-spacing-title);font-weight:var(--font-weight-bold);overflow-wrap:anywhere}.ui-page-subtitle{margin-top:var(--space-1);color:var(--color-ink-secondary);font-size:var(--font-size-caption)}.ui-page-actions{display:flex;align-items:flex-start;gap:var(--space-2)}.ui-section{min-width:var(--space-0)}.ui-section+.ui-section{padding-top:var(--space-5);border-top:var(--size-border) solid var(--color-line)}.ui-section-flow{gap:var(--space-0)}.ui-section-flow>.ui-brand-header{padding-bottom:var(--space-3)}.ui-section-flow>.ui-section{padding-block:var(--space-5)}.ui-section-flow>.ui-section+.ui-section{padding-top:var(--space-5)}.ui-section-flow>.ui-section-hero{margin-inline:calc(var(--space-page-inline) * -1);padding:var(--space-5) var(--space-page-inline);border-top:none;background:linear-gradient(to bottom,var(--color-primary-wash),var(--color-canvas))}.ui-section-flow>.ui-section-hero+.ui-section{border-top:none}.ui-section-flow>.ui-section-band{margin-inline:calc(var(--space-page-inline) * -1);padding-inline:var(--space-page-inline);background:var(--color-surface)}.ui-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.ui-section-heading{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "description";row-gap:var(--space-1);align-items:center;min-width:var(--space-0)}.ui-section-heading[data-has-icon=true]{grid-template-columns:var(--size-movement-icon-cell) minmax(0,1fr);grid-template-areas:"icon title" ". description";column-gap:var(--space-3)}.ui-section-heading-icon{grid-area:icon;width:var(--size-movement-icon-cell);min-height:var(--size-reference-row);display:grid;place-items:center;color:var(--color-ink-secondary);flex:none}.ui-section-heading-icon[data-tone=primary]{color:var(--color-primary)}.ui-section-heading-icon[data-tone=warning]{color:var(--color-warning)}.ui-section-heading-icon[data-tone=investment]{color:var(--color-investment)}.ui-section-heading-icon .ui-icon,.ui-metric-label .ui-icon{width:var(--size-icon-lg);height:var(--size-icon-lg)}.ui-section-title{grid-area:title;min-height:var(--size-reference-row);display:flex;align-items:center;color:var(--color-ink);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-title);line-height:var(--line-height-title)}.ui-section-description{grid-area:description;color:var(--color-ink-muted);font-size:var(--font-size-caption)}.ui-section-action{min-height:var(--size-touch);align-self:center;display:inline-flex;align-items:center;border:none;background:transparent;color:var(--color-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);line-height:var(--line-height-title);white-space:nowrap;padding:var(--space-0);cursor:pointer}.ui-button{min-height:var(--size-touch);border:var(--size-border) solid transparent;border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.ui-button[data-variant=primary]{background:var(--color-primary);color:var(--color-white)}.ui-button[data-variant=primary]:active{background:var(--color-primary-strong)}.ui-button[data-variant=secondary]{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-line-strong)}.ui-button[data-variant=ghost]{background:transparent;color:var(--color-primary);padding-inline:var(--space-3)}.ui-button[data-variant=danger]{background:var(--color-negative);color:var(--color-white)}.ui-button:disabled{cursor:not-allowed;opacity:.45}.ui-button-full{width:100%}.ui-icon-button{width:var(--size-touch);height:var(--size-touch);padding:var(--space-0);display:grid;place-items:center;border:var(--size-border) solid transparent;border-radius:var(--radius-round);background:transparent;cursor:pointer}.ui-icon-button:active{background:var(--color-surface-strong)}.ui-form{display:grid;gap:var(--space-5)}.ui-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--size-column-min)),1fr));gap:var(--space-5)}.ui-field{display:grid;gap:var(--space-2);min-width:var(--space-0)}.ui-field-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-ink-secondary)}.ui-field-control{width:100%;min-height:var(--size-touch);border:var(--size-border) solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);padding:var(--space-3) var(--space-4);outline:none}.ui-field-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 var(--space-1) var(--color-primary-soft)}textarea.ui-field-control{min-height:calc(var(--size-touch) * 2);resize:vertical}.ui-field-help{color:var(--color-ink-muted);font-size:var(--font-size-caption)}.ui-field-error{color:var(--color-negative);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.ui-choice-field{width:100%;min-height:var(--size-touch);border:var(--size-border) solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);text-align:left;cursor:pointer}.ui-choice-field-placeholder{color:var(--color-ink-muted)}.ui-choice-field-value{min-width:var(--space-0);overflow-wrap:anywhere}.ui-form-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);padding-top:var(--space-2)}.ui-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-height:var(--size-touch);padding-inline:var(--space-4);border:var(--size-border) solid var(--color-line-strong);border-radius:var(--radius-round);background:var(--color-surface)}.ui-search input{width:100%;border:none;outline:none;background:transparent;color:var(--color-ink);padding-block:var(--space-3)}.ui-search-clear{border:none;background:transparent;color:var(--color-primary);font-weight:var(--font-weight-semibold);cursor:pointer}.ui-filter-row{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1)}.ui-filter-chip{min-height:var(--size-touch);padding-inline:var(--space-4);border:var(--size-border) solid var(--color-line);border-radius:var(--radius-round);background:var(--color-surface);color:var(--color-ink-secondary);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer}.ui-filter-chip[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.ui-segmented{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(max-content,1fr);gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md);background:var(--color-surface-muted);overflow-x:auto}.ui-segmented button{min-height:var(--size-touch);border:none;border-radius:var(--radius-sm);padding-inline:var(--space-4);background:transparent;color:var(--color-ink-secondary);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer}.ui-segmented button[aria-selected=true]{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.ui-segmented[data-variant=tabs]{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:var(--space-0);padding:var(--space-0);border-radius:var(--space-0);border-bottom:var(--size-border) solid var(--color-line);background:transparent;overflow:visible}.ui-segmented[data-variant=tabs] button{min-width:var(--space-0);border-radius:var(--space-0);border-bottom:var(--size-selector-indicator) solid transparent;padding-inline:var(--space-1);background:transparent;color:var(--color-ink-muted);font-size:var(--font-size-compact);box-shadow:none}.ui-segmented[data-variant=tabs] button[aria-selected=true]{border-bottom-color:var(--color-primary);background:transparent;color:var(--color-primary);box-shadow:none}.ui-list{display:grid}.ui-list-row{width:100%;display:grid;grid-template-columns:var(--size-movement-icon-cell) minmax(0,1fr) auto;gap:var(--space-3);align-items:start;min-height:var(--size-touch);padding-block:var(--space-3);border:none;border-bottom:var(--size-border) solid var(--color-line);background:transparent;color:inherit;text-align:left;cursor:pointer}.ui-list-row:last-child{border-bottom:none}.ui-list-row-icon{align-self:start;width:var(--size-movement-icon-cell);min-height:var(--size-reference-row);display:grid;place-items:center;color:var(--color-primary);flex:none}.ui-list-row-icon[data-tone=positive]{color:var(--color-positive)}.ui-list-row-icon[data-tone=negative]{color:var(--color-negative)}.ui-list-row-icon[data-tone=warning]{color:var(--color-warning)}.ui-list-row-icon[data-tone=investment]{color:var(--color-investment)}.ui-list-row-icon[data-tone=property]{color:var(--color-property)}.ui-list-row-copy{min-width:var(--space-0);display:grid;gap:var(--space-1)}.ui-list-row-title{min-height:var(--size-reference-row);display:flex;align-items:center;font-size:var(--font-size-body-strong);font-weight:var(--font-weight-semibold);line-height:var(--line-height-title)}.ui-list-row-subtitle{color:var(--color-ink-secondary);font-size:var(--font-size-caption)}.ui-list-row-meta{color:var(--color-ink-muted);font-size:var(--font-size-caption)}.ui-list-row-value{align-self:center;text-align:right;white-space:nowrap;font-weight:var(--font-weight-bold)}.ui-list-row-value[data-tone=positive]{color:var(--color-positive)}.ui-list-row-value[data-tone=negative]{color:var(--color-negative)}.ui-list-row-trailing{min-height:var(--size-reference-row);display:flex;align-items:center;gap:var(--space-2)}.ui-list-row-chevron{color:var(--color-ink-muted)}.ui-movement-row{width:100%;display:grid;grid-template-columns:var(--size-movement-icon-cell) minmax(0,1fr) auto;grid-template-areas:"icon subcategory amount" ". category category" ". date date" "description description description";column-gap:var(--space-3);row-gap:var(--space-1);align-items:center;min-height:var(--size-touch);padding-block:var(--space-2);border:none;border-bottom:var(--size-border) solid var(--color-line);background:transparent;color:inherit;text-align:left;cursor:pointer}.ui-movement-row:last-child{border-bottom:none}.ui-movement-icon-wrap{grid-area:icon;position:relative;width:var(--size-movement-icon-cell);height:var(--size-movement-icon-cell);display:grid;place-items:center;align-self:center;color:var(--color-primary)}.ui-movement-icon-wrap[data-kind=income]{color:var(--color-positive)}.ui-movement-icon-wrap[data-kind=expense]{color:var(--color-primary)}.ui-movement-icon-wrap[data-kind=transfer]{color:var(--color-info)}.ui-movement-icon-wrap[data-kind=investment]{color:var(--color-investment)}.ui-movement-icon-wrap[data-kind=system]{color:var(--color-warning)}.ui-status-badge{position:absolute;right:var(--space-0);bottom:var(--space-0);width:var(--size-status-badge);height:var(--size-status-badge);display:grid;place-items:center;border:none;border-radius:var(--radius-round);background:var(--color-positive);color:var(--color-white)}.ui-status-icon{width:var(--size-status-icon);height:var(--size-status-icon);color:var(--color-white)}.ui-status-badge[data-tone=ok],.ui-status-badge[data-tone=reconciled]{background:var(--color-positive)}.ui-status-badge[data-tone=classified]{background:var(--color-primary)}.ui-status-badge[data-tone=warn]{background:var(--color-warning)}.ui-status-badge[data-tone=auto]{background:var(--color-info)}.ui-status-badge[data-tone=danger]{background:var(--color-negative)}.ui-status-badge[data-tone=muted]{background:var(--color-ink-muted)}.ui-movement-subcategory{grid-area:subcategory;min-width:var(--space-0);font-size:var(--font-size-body-strong);font-weight:var(--font-weight-bold);line-height:var(--line-height-title)}.ui-movement-amount{grid-area:amount;font-size:var(--font-size-compact)}.ui-movement-category{grid-area:category;color:var(--color-ink-secondary);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:var(--line-height-title)}.ui-movement-date{grid-area:date;color:var(--color-ink-muted);font-size:var(--font-size-caption);line-height:var(--line-height-title);white-space:nowrap}.ui-movement-description{grid-area:description;padding-top:var(--space-1);color:var(--color-ink-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-body)}.ui-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.ui-metric{display:grid;gap:var(--space-2);min-width:var(--space-0)}.ui-metric-label{display:flex;align-items:center;gap:var(--space-3);color:var(--color-ink-secondary);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-bold)}.ui-metric[data-variant=hero]{gap:var(--space-3)}.ui-metric[data-variant=hero] .ui-metric-label{color:var(--color-primary-strong);font-size:var(--font-size-title)}.ui-metric[data-variant=hero] .ui-money{font-size:var(--font-size-money-hero)}.ui-metric[data-variant=hero] .ui-money-currency,.ui-metric[data-variant=hero] .ui-money-cents{font-size:var(--font-size-money-hero-detail)}.ui-metric[data-variant=hero] .ui-metric-note{color:var(--color-ink-secondary)}.ui-money{display:flex;align-items:baseline;gap:var(--space-1);min-width:var(--space-0);color:var(--color-ink);font-size:var(--font-size-money-main);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-money);line-height:var(--line-height-tight);white-space:nowrap}.ui-money-currency{font-size:var(--font-size-money-secondary)}.ui-money-cents{font-size:var(--font-size-money-secondary);color:var(--color-ink-secondary)}.ui-metric-note{font-size:var(--font-size-caption);color:var(--color-ink-secondary)}.ui-metric-note[data-tone=positive]{color:var(--color-positive)}.ui-metric-note[data-tone=negative]{color:var(--color-negative)}.ui-metric-compact .ui-money{font-size:var(--font-size-money-secondary)}.ui-chart{width:100%;height:var(--size-chart-standard);overflow:visible}.ui-chart-block{display:grid;gap:var(--space-2);margin-top:var(--space-2)}.ui-chart-home{height:var(--size-chart-home)}.ui-chart-grid{stroke:var(--color-line);stroke-width:var(--size-border)}.ui-chart-line{fill:none;stroke:var(--color-primary);stroke-width:var(--space-1);stroke-linecap:round;stroke-linejoin:round}.ui-chart-area{fill:var(--color-primary-soft)}.ui-chart-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--color-ink-muted);font-size:var(--font-size-compact);line-height:var(--line-height-title)}.ui-chart-change{font-weight:var(--font-weight-semibold);white-space:nowrap}.ui-chart-change[data-tone=positive]{color:var(--color-positive)}.ui-chart-change[data-tone=negative]{color:var(--color-negative)}.ui-chart-empty{height:var(--size-chart-standard);display:grid;place-items:center;color:var(--color-ink-muted);border-bottom:var(--size-border) solid var(--color-line)}.ui-distribution-list{display:grid;gap:var(--space-4)}.ui-distribution-row{display:grid;grid-template-columns:var(--size-movement-icon-cell) minmax(0,1fr) auto;grid-template-areas:"icon summary value" ". progress progress";column-gap:var(--space-3);row-gap:var(--space-2);align-items:center}.ui-distribution-icon{grid-area:icon;width:var(--size-movement-icon-cell);min-height:var(--size-reference-row);display:grid;place-items:center;color:var(--color-primary)}.ui-distribution-icon[data-tone=investment]{color:var(--color-investment)}.ui-distribution-icon[data-tone=property]{color:var(--color-property)}.ui-distribution-summary{grid-area:summary;min-width:var(--space-0);display:flex;align-items:center;gap:var(--space-2);white-space:nowrap}.ui-distribution-label{min-width:var(--space-0);font-size:var(--font-size-body-strong);font-weight:var(--font-weight-semibold);line-height:var(--line-height-title)}.ui-distribution-value{grid-area:value;text-align:right;font-size:var(--font-size-body);font-weight:var(--font-weight-bold);white-space:nowrap}.ui-distribution-progress{grid-area:progress;min-width:var(--space-0);width:100%}.ui-distribution-pct{color:var(--color-ink-muted);font-size:var(--font-size-compact);font-weight:var(--font-weight-semibold);white-space:nowrap}.ui-progress{width:100%;height:var(--size-progress);border-radius:var(--radius-round);background:var(--color-surface-strong);overflow:hidden}.ui-progress-fill{width:var(--progress);max-width:100%;height:100%;border-radius:inherit;background:var(--color-primary)}.ui-progress-fill[data-tone=investment]{background:var(--color-investment)}.ui-progress-fill[data-tone=property]{background:var(--color-property)}.ui-progress-fill[data-tone=negative]{background:var(--color-negative)}.ui-progress-fill[data-tone=warning]{background:var(--color-warning)}.ui-cashflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-0)}.ui-cashflow-item{min-width:var(--space-0);display:grid;align-content:start;gap:var(--space-2);padding-inline:var(--space-4)}.ui-cashflow-item:first-child{padding-left:var(--space-1)}.ui-cashflow-item:last-child{padding-right:var(--space-1)}.ui-cashflow-item+.ui-cashflow-item{border-left:var(--size-border) solid var(--color-line)}.ui-cashflow-heading{display:flex;align-items:center;gap:var(--space-1);min-width:var(--space-0)}.ui-cashflow-icon{display:grid;place-items:center}.ui-cashflow-icon[data-tone=positive]{color:var(--color-positive)}.ui-cashflow-icon[data-tone=negative]{color:var(--color-negative)}.ui-cashflow-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);line-height:var(--line-height-title)}.ui-cashflow-value{font-size:var(--font-size-money-compact);font-weight:var(--font-weight-bold);line-height:var(--line-height-title);white-space:nowrap}.ui-cashflow-value[data-tone=positive]{color:var(--color-positive)}.ui-cashflow-value[data-tone=negative]{color:var(--color-negative)}.ui-cashflow-meta{color:var(--color-ink-muted);font-size:var(--font-size-caption);line-height:var(--line-height-title)}.ui-alert-list{display:grid}.ui-alert-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--space-3);padding-block:var(--space-3);border:none;border-bottom:var(--size-border) solid var(--color-line);background:transparent;color:inherit;text-align:left}.ui-alert-row:last-child{border-bottom:none}.ui-alert-icon{min-height:var(--size-reference-row);display:grid;place-items:center;color:var(--color-warning)}.ui-banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:start;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-info-soft);color:var(--color-info)}.ui-banner[data-tone=success]{background:var(--color-positive-soft);color:var(--color-positive)}.ui-banner[data-tone=danger]{background:var(--color-negative-soft);color:var(--color-negative)}.ui-banner[data-tone=warning]{background:var(--color-warning-soft);color:var(--color-warning)}.ui-banner-title{font-weight:var(--font-weight-bold)}.ui-banner-message{margin-top:var(--space-1);color:var(--color-ink-secondary);font-size:var(--font-size-caption);overflow-wrap:anywhere}.ui-badge{display:inline-flex;align-items:center;min-height:calc(var(--size-touch) / 2);padding-inline:var(--space-3);border-radius:var(--radius-round);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);white-space:nowrap}.ui-badge[data-tone=positive]{background:var(--color-positive-soft);color:var(--color-positive)}.ui-badge[data-tone=negative]{background:var(--color-negative-soft);color:var(--color-negative)}.ui-badge[data-tone=warning]{background:var(--color-warning-soft);color:var(--color-warning)}.ui-badge[data-tone=muted]{background:var(--color-transfer-soft);color:var(--color-transfer)}.ui-detail-list{display:grid}.ui-detail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);padding-block:var(--space-3);border-bottom:var(--size-border) solid var(--color-line);align-items:start}.ui-detail-row:last-child{border-bottom:none}.ui-detail-label{color:var(--color-ink-secondary);overflow-wrap:anywhere}.ui-detail-value{text-align:right;font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.ui-table{width:100%;min-width:var(--size-table-min);border-collapse:collapse}.ui-table th,.ui-table td{padding:var(--space-3) var(--space-4);border-bottom:var(--size-border) solid var(--color-line);text-align:left;vertical-align:top}.ui-table th{color:var(--color-ink-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);white-space:nowrap}.ui-table td[data-align=right],.ui-table th[data-align=right]{text-align:right;white-space:nowrap}.ui-empty{display:grid;place-items:center;gap:var(--space-3);min-height:var(--size-chart-standard);padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-ink-secondary)}.ui-empty-icon{color:var(--color-primary)}.ui-empty-title{color:var(--color-ink);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-bold)}.ui-empty-message{max-width:var(--size-column-wide);font-size:var(--font-size-caption)}.skeleton,.ui-skeleton{min-height:var(--size-touch);border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-surface-muted),var(--color-surface-strong),var(--color-surface-muted));background-size:200% 100%;animation:ui-shimmer var(--duration-base) linear infinite alternate}@keyframes ui-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.ui-overlay{position:fixed;inset:var(--space-0);z-index:var(--z-overlay);display:grid;align-items:end;background:var(--color-overlay);padding:var(--space-4)}.ui-sheet{width:100%;max-width:var(--size-dialog-max);max-height:calc(100dvh - var(--space-8));margin-inline:auto;overflow-y:auto;border-radius:var(--radius-xl) var(--radius-xl) var(--radius-md) var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);padding:var(--space-3) var(--space-5) var(--space-5)}.ui-sheet-handle{width:var(--size-sheet-handle);height:var(--space-1);margin:var(--space-1) auto var(--space-5);border-radius:var(--radius-round);background:var(--color-line-strong)}.ui-sheet-header{display:flex;justify-content:space-between;align-items:start;gap:var(--space-4);margin-bottom:var(--space-4)}.ui-sheet-title{font-size:var(--font-size-title);font-weight:var(--font-weight-bold)}.ui-sheet-description{margin-top:var(--space-1);color:var(--color-ink-secondary);font-size:var(--font-size-caption)}.ui-choice-list{display:grid}.ui-choice-row{width:100%;min-height:var(--size-touch);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--space-3);padding-block:var(--space-3);border:none;border-bottom:var(--size-border) solid var(--color-line);background:transparent;color:inherit;text-align:left;cursor:pointer}.ui-choice-row:last-child{border-bottom:none}.ui-choice-mark{width:var(--size-icon-sm);height:var(--size-icon-sm);margin-top:var(--space-1);border:var(--size-border) solid var(--color-line-strong);border-radius:var(--radius-round)}.ui-choice-row[aria-selected=true] .ui-choice-mark{border:var(--space-1) solid var(--color-primary)}.ui-choice-title{font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.ui-choice-description{margin-top:var(--space-1);color:var(--color-ink-secondary);font-size:var(--font-size-caption);overflow-wrap:anywhere}.ui-dialog{align-self:center;width:100%;max-width:var(--size-dialog-max);margin-inline:auto;border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-md);padding:var(--space-6)}.ui-dialog-title{font-size:var(--font-size-title);font-weight:var(--font-weight-bold)}.ui-dialog-message{margin-top:var(--space-2);color:var(--color-ink-secondary);overflow-wrap:anywhere}.ui-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.ui-bottom-nav{position:fixed;z-index:var(--z-nav);left:var(--space-0);right:var(--space-0);bottom:var(--space-0);width:100%;min-height:var(--size-nav);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--color-surface);border-top:var(--size-border) solid var(--color-line);box-shadow:var(--shadow-nav);padding-bottom:env(safe-area-inset-bottom)}.ui-bottom-nav-link{min-width:var(--space-0);min-height:var(--size-nav);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-0);color:var(--color-ink-muted);font-size:var(--font-size-compact);font-weight:var(--font-weight-medium);line-height:var(--line-height-title);white-space:nowrap}.ui-bottom-nav-link .ui-icon{width:var(--size-icon-nav);height:var(--size-icon-nav)}.ui-bottom-nav-link[aria-current=page]{color:var(--color-primary);font-weight:var(--font-weight-bold)}.ui-login{min-height:100dvh;display:grid;place-items:center;padding:var(--space-6);background:var(--color-canvas)}.ui-login-panel{width:100%;max-width:var(--size-dialog-max);display:grid;gap:var(--space-6);background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-md)}.ui-login-brand{display:grid;place-items:center;gap:var(--space-3);text-align:center}.ui-login-logo{width:calc(var(--size-logo) * 1.5);height:calc(var(--size-logo) * 1.5);border-radius:var(--radius-round)}.ui-splash{position:fixed;inset:var(--space-0);z-index:var(--z-splash);display:grid;place-items:center;background:var(--color-primary);color:var(--color-white);transition:opacity var(--duration-base) var(--ease-standard)}.ui-splash[data-leaving=true]{opacity:0}.ui-splash-content{display:grid;place-items:center;gap:var(--space-3);text-align:center}.ui-splash-logo{width:calc(var(--size-logo) * 2);height:calc(var(--size-logo) * 2);border-radius:var(--radius-round);box-shadow:var(--shadow-md)}.ui-splash-title{font-size:var(--font-size-display);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-brand)}.ui-splash-version,.ui-splash-powered{font-size:var(--font-size-caption)}.ui-file-drop{display:grid;place-items:center;gap:var(--space-3);min-height:var(--size-chart-standard);border:var(--size-border) dashed var(--color-line-strong);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-6);text-align:center;cursor:pointer}.ui-file-drop input{position:absolute;opacity:0;pointer-events:none}.ui-actions-list{display:grid}.ui-action-link{min-height:var(--size-touch);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-4);align-items:start;padding-block:var(--space-4);border-bottom:var(--size-border) solid var(--color-line)}.ui-action-link-icon{min-height:var(--size-reference-row);display:grid;place-items:center;color:var(--color-primary)}.ui-action-link-title{font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.ui-action-link-description{margin-top:var(--space-1);color:var(--color-ink-secondary);font-size:var(--font-size-caption);overflow-wrap:anywhere}.ui-action-link-chevron{padding-top:var(--space-1);color:var(--color-ink-muted)}
