:root{--color-bg:#fafafa;--color-surface:#fff;--color-surface-hover:#f5f5f5;--color-border:#e5e5e5;--color-border-focus:#a3a3a3;--color-text-primary:#171717;--color-text-secondary:#737373;--color-text-tertiary:#a3a3a3;--color-primary:#171717;--color-primary-hover:#404040;--color-primary-text:#fff;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-error:#dc2626;--color-error-bg:#fef2f2;--color-error-text:#fff;--color-success:#16a34a;--color-success-bg:#f0fdf4;--color-success-text:#fff;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease}:root[data-theme=dark]{--color-bg:#0a0a0a;--color-surface:#171717;--color-surface-hover:#262626;--color-border:#292929;--color-border-focus:#525252;--color-text-primary:#fafafa;--color-text-secondary:#a3a3a3;--color-text-tertiary:#737373;--color-primary:#fafafa;--color-primary-hover:#e5e5e5;--color-primary-text:#171717;--color-accent:#3b82f6;--color-accent-hover:#60a5fa;--color-error:#f87171;--color-error-bg:#f871711f;--color-error-text:#0a0a0a;--color-success:#4ade80;--color-success-bg:#4ade801f;--color-success-text:#0a0a0a;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -4px #0000004d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);color:var(--color-text-primary);background-color:var(--color-bg);line-height:var(--leading-normal);transition:background-color var(--transition-base), color var(--transition-base)}a{color:var(--color-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-hover)}input,button,textarea,select{font-family:inherit;font-size:inherit}::selection{background-color:var(--color-accent);color:#fff}.state-empty{font-size:var(--text-sm);color:var(--color-text-tertiary);text-align:center;padding:var(--space-6) 0}.state-error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-6)}.state-loading{padding:var(--space-12) 0;justify-content:center;display:flex}.input-group{gap:var(--space-1);flex-direction:column;display:flex}.input-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary)}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{left:var(--space-3);color:var(--color-text-tertiary);pointer-events:none;transition:color var(--transition-fast);align-items:center;display:flex;position:absolute}.input-field{width:100%;height:2.75rem;padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.input-field--with-icon{padding-left:2.5rem}.input-field::placeholder{color:var(--color-text-tertiary)}.input-field:hover{border-color:var(--color-border-focus)}:root[data-theme=dark] .input-field[type=date],:root[data-theme=dark] .input-field[type=time],:root[data-theme=dark] .input-field[type=datetime-local]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.input-field:focus{border-color:var(--color-text-primary);box-shadow:0 0 0 1px var(--color-text-primary)}.input-group--error .input-field{border-color:var(--color-error)}.input-group--error .input-field:focus{box-shadow:0 0 0 1px var(--color-error)}.input-group--error .input-icon{color:var(--color-error)}.input-error{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1)}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-weight:var(--font-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;display:inline-flex;position:relative}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:var(--color-primary-text)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--primary:active:not(:disabled){transform:scale(.98)}.btn--secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-focus)}.btn--ghost{color:var(--color-text-secondary);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary)}.btn--success{background:var(--color-success);color:var(--color-success-text)}.btn--success:hover:not(:disabled){filter:brightness(.92)}.btn--success:active:not(:disabled){transform:scale(.98)}.btn--danger{background:var(--color-error);color:var(--color-error-text)}.btn--danger:hover:not(:disabled){filter:brightness(.92)}.btn--danger:active:not(:disabled){transform:scale(.98)}.btn--danger-outline{color:var(--color-error);border:1px solid var(--color-error);background:0 0}.btn--danger-outline:hover:not(:disabled){background:var(--color-error-bg)}.btn--danger-outline:active:not(:disabled){transform:scale(.98)}.btn--sm{height:2rem;padding:0 var(--space-3);font-size:var(--text-xs)}.btn--md{height:2.75rem;padding:0 var(--space-5);font-size:var(--text-sm)}.btn--lg{height:3rem;padding:0 var(--space-6);font-size:var(--text-base)}.btn--full{width:100%}.btn-spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:1rem;height:1rem;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.theme-toggle{border-radius:var(--radius-md);width:2.25rem;height:2.25rem;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.modal__backdrop{z-index:100;background:#0006;position:fixed;inset:0}.modal__panel{width:calc(100vw - var(--space-8));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);max-width:420px;max-height:85vh;box-shadow:var(--shadow-lg);z-index:101;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.modal__header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal__title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary)}.modal__header-actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.modal__close{border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal__close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.modal__body{padding:var(--space-6)}.segmented-toggle{background:var(--color-surface-hover);border-radius:var(--radius-md);flex-wrap:wrap;gap:3px;padding:3px;display:flex}.segmented-toggle__option{min-width:4.5rem;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex:auto}.segmented-toggle__option--active{background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.period-selector{position:relative}.period-selector__trigger{align-items:center;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;display:flex}.period-selector__trigger:hover{border-color:var(--color-border-focus)}.period-selector__chevron{margin-left:var(--space-1);color:var(--color-text-tertiary)}.period-selector__backdrop{display:none}.period-selector__panel{top:calc(100% + var(--space-2));z-index:20;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-width:200px;position:absolute;right:0}@media (width<=640px){.period-selector__backdrop{z-index:50;background:#0006;display:block;position:fixed;inset:0}.period-selector__panel{width:calc(100vw - var(--space-8));z-index:51;max-width:340px;max-height:80vh;position:fixed;top:50%;left:50%;right:auto;overflow-y:auto;transform:translate(-50%,-50%)}}.period-selector__options{padding:var(--space-2);flex-direction:column;display:flex}.period-selector__option{text-align:left;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;background:0 0;border:none}.period-selector__option:hover{background:var(--color-surface-hover)}.period-selector__calendar{padding:var(--space-3)}.period-selector__calendar-actions{justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-2);margin-top:var(--space-2);border-top:1px solid var(--color-border);display:flex}.period-selector__cancel,.period-selector__apply{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;border:none}.period-selector__cancel{color:var(--color-text-secondary);background:0 0}.period-selector__cancel:hover{background:var(--color-surface-hover)}.period-selector__apply{background:var(--color-primary);color:var(--color-primary-text)}.period-selector__apply:hover:not(:disabled){background:var(--color-primary-hover)}.period-selector__apply:disabled{opacity:.5;cursor:not-allowed}.period-selector__calendar .rdp-root{--rdp-accent-color:var(--color-text-primary);--rdp-accent-background-color:var(--color-surface-hover);--rdp-today-color:var(--color-accent);--rdp-range_start-color:var(--color-primary-text);--rdp-range_end-color:var(--color-primary-text);--rdp-day_button-border-radius:var(--radius-md);font-family:var(--font-sans);color:var(--color-text-primary);margin:0}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;padding:var(--space-5);gap:var(--space-2);flex-direction:column;display:flex}.kpi-card__header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.kpi-card__label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:var(--font-medium)}.kpi-card__icon{color:var(--color-text-tertiary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.kpi-card__value{font-size:clamp(1.25rem, 5vw, var(--text-2xl));font-weight:var(--font-semibold);color:var(--color-text-primary);overflow-wrap:break-word;word-break:break-word}.kpi-card__comparison-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.kpi-card__comparison-badge{padding:1px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);white-space:nowrap;border:1px solid #0000;align-items:center;display:inline-flex}.kpi-card__comparison-badge--positive{color:var(--color-success);background:var(--color-success-bg);border-color:var(--color-success)}.kpi-card__comparison-badge--negative{color:var(--color-error);background:var(--color-error-bg);border-color:var(--color-error)}.kpi-card__comparison-badge--neutral{color:var(--color-text-tertiary);background:var(--color-surface-hover);border-color:var(--color-border)}.kpi-card__comparison-period{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap}.kpi-card--positive .kpi-card__value{color:var(--color-success)}.kpi-card--negative .kpi-card__value{color:var(--color-error)}.kpi-card__description{font-size:var(--text-xs);color:var(--color-text-tertiary)}.progress-bar__track{background:var(--color-surface-hover);border-radius:var(--radius-full);height:6px;overflow:hidden}.progress-bar__fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-fast)}.category-pie{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-direction:column;display:flex}.category-pie__slice{cursor:pointer;stroke:var(--color-surface);stroke-width:1.5px;transition:opacity var(--transition-fast);outline:none}.category-pie__svg:has(.category-pie__slice--active) .category-pie__slice:not(.category-pie__slice--active){opacity:.45}.category-pie__label{text-align:center;flex-direction:column;align-items:center;min-height:2.5rem;display:flex}.category-pie__label-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);text-transform:capitalize}.category-pie__label-value{font-size:var(--text-xs);color:var(--color-text-secondary)}.category-pie__label-total{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary)}.category-breakdown{gap:var(--space-4);flex-direction:column;display:flex}.category-breakdown__row{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.category-breakdown__row--clickable{padding:var(--space-2);margin:calc(var(--space-2) * -1);border-radius:var(--radius-md);font:inherit;text-align:left;cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none}.category-breakdown__row--clickable:hover{background:var(--color-surface-hover)}.category-breakdown__info{font-size:var(--text-sm);justify-content:space-between;display:flex}.category-breakdown__name{align-items:center;gap:var(--space-2);color:var(--color-text-primary);font-weight:var(--font-medium);text-transform:capitalize;display:flex}.category-breakdown__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.category-breakdown__value{color:var(--color-text-secondary)}.auth-layout{min-height:100vh;padding:var(--space-6);background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:400px;padding:var(--space-10);box-shadow:var(--shadow-sm)}.auth-header{text-align:center;margin-bottom:var(--space-8)}.auth-logo{margin-bottom:var(--space-5);display:inline-flex}.auth-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2);line-height:var(--leading-tight)}.auth-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal)}.auth-form{gap:var(--space-5);flex-direction:column;display:flex}.auth-error{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);animation:.3s auth-error-in;display:flex}@keyframes auth-error-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.auth-info{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-success-bg);color:var(--color-success);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);animation:.3s auth-error-in;display:flex}.auth-footer{text-align:center;margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.auth-footer p{font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-link{color:var(--color-text-primary);font-weight:var(--font-medium);transition:color var(--transition-fast);text-decoration:none}.auth-link:hover{color:var(--color-accent)}.auth-link--button{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.auth-link--button:disabled{opacity:.6;cursor:not-allowed}.auth-branding{margin-top:var(--space-8);font-size:var(--text-xs);color:var(--color-text-tertiary)}@media (width<=480px){.auth-layout{padding:var(--space-4)}.auth-card{padding:var(--space-6);border-radius:var(--radius-lg)}}.budget-area-card{gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);flex-direction:column;display:flex}.budget-area-card__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.budget-area-card__label{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary)}.budget-area-card__meta{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap}.budget-area-card__progress-row{justify-content:space-between;align-items:center;display:flex}.budget-area-card__progress-label{font-size:var(--text-xs);color:var(--color-text-tertiary)}.budget-area-card__progress-value{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.budget-area-card__progress-value--positive{color:var(--color-success)}.budget-area-card__progress-value--negative{color:var(--color-error)}.budget-area-card__amounts{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.budget-area-card__amount{flex-direction:column;gap:2px;display:flex}.budget-area-card__amount-label{font-size:var(--text-xs);color:var(--color-text-tertiary)}.budget-area-card__amount-value{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.budget-area-card__amount-value--positive{color:var(--color-success)}.budget-area-card__amount-value--negative{color:var(--color-error)}.income-allocation{gap:var(--space-4);flex-direction:column;display:flex}.income-allocation__bar{border-radius:var(--radius-full);background:var(--color-surface-hover);width:100%;height:.75rem;display:flex;overflow:hidden}.income-allocation__segment{height:100%;transition:width var(--transition-fast)}.income-allocation__segment--expense{background:var(--color-error)}.income-allocation__segment--investment{background:var(--color-primary)}.income-allocation__segment--saving{background:var(--color-success)}.income-allocation__legend{column-gap:var(--space-5);row-gap:var(--space-2);flex-wrap:wrap;display:flex}.income-allocation__legend-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);display:flex}.income-allocation__legend-item strong{color:var(--color-text-primary);font-weight:var(--font-semibold)}.income-allocation__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.income-allocation__dot--expense{background:var(--color-error)}.income-allocation__dot--investment{background:var(--color-primary)}.income-allocation__dot--saving{background:var(--color-success)}.add-transaction-form{gap:var(--space-5);flex-direction:column;display:flex}.add-transaction-form__error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium)}.dashboard{max-width:1100px;margin:0 auto}.dashboard__header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.dashboard__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary);line-height:var(--leading-tight)}.dashboard__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.dashboard__kpis{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=900px){.dashboard__kpis{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.dashboard__kpis{grid-template-columns:1fr}}.dashboard__allocation-card{margin-bottom:var(--space-8)}.dashboard__budget-link{margin-bottom:var(--space-8);color:inherit;text-decoration:none;display:block}.dashboard__budget-link:hover .budget-area-card{border-color:var(--color-border-focus);background:var(--color-surface-hover)}.dashboard__budget-empty{gap:var(--space-2);flex-direction:column;display:flex}.dashboard__budget-empty-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary)}.dashboard__budget-empty-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.dashboard__grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.dashboard__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.dashboard__card-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.dashboard__card-header .dashboard__card-title{margin-bottom:0}.dashboard__card-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-5)}.dashboard__card-link{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.dashboard__card-link:hover{color:var(--color-text-primary)}.add-transaction-fab{right:var(--space-5);bottom:calc(64px + var(--space-4));z-index:40;background:var(--color-primary);width:3.5rem;height:3.5rem;color:var(--color-primary-text);box-shadow:var(--shadow-lg);cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed}.add-transaction-fab:hover{background:var(--color-primary-hover);transform:scale(1.05)}@media (width>=768px){.add-transaction-fab{bottom:var(--space-6)}}.recent-transactions{gap:var(--space-4);flex-direction:column;list-style:none;display:flex}.recent-transactions__item{align-items:center;gap:var(--space-3);display:flex}.recent-transactions__indicator{border-radius:50%;flex-shrink:0;width:8px;height:8px}.recent-transactions__indicator--income{background:var(--color-success)}.recent-transactions__indicator--expense{background:var(--color-error)}.recent-transactions__indicator--investment{background:var(--color-primary)}.recent-transactions__info{flex-direction:column;flex:1;min-width:0;display:flex}.recent-transactions__description{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-transactions__category{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:capitalize}.recent-transactions__amount{font-size:var(--text-sm);font-weight:var(--font-semibold);white-space:nowrap}.recent-transactions__amount--income{color:var(--color-success)}.recent-transactions__amount--expense{color:var(--color-error)}.recent-transactions__amount--investment{color:var(--color-primary)}.edit-transaction-note{font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-surface-hover);border-radius:var(--radius-md);padding:var(--space-3);line-height:var(--leading-normal)}.edit-transaction-actions{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.edit-transaction-actions .btn:last-child{flex:1}.edit-transaction-confirm{gap:var(--space-5);flex-direction:column;display:flex}.edit-transaction-confirm__text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal)}.edit-transaction-confirm__actions{justify-content:flex-end;align-items:center;gap:var(--space-3);display:flex}.history-filters{position:relative}.history-filters__trigger{align-items:center;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;display:flex}.history-filters__trigger:hover{border-color:var(--color-border-focus)}.history-filters__badge{background:var(--color-accent);border-radius:50%;width:6px;height:6px}.history-filters__backdrop{display:none}.history-filters__panel{top:calc(100% + var(--space-2));z-index:20;gap:var(--space-5);width:320px;max-height:70vh;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:absolute;right:0;overflow-y:auto}@media (width<=640px){.history-filters__backdrop{z-index:50;background:#0006;display:block;position:fixed;inset:0}.history-filters__panel{width:calc(100vw - var(--space-8));z-index:51;max-width:360px;max-height:80vh;position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%)}}.history-filters__section{gap:var(--space-2);flex-direction:column;display:flex}.history-filters__label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.history-filters__type-toggle{gap:var(--space-2);flex-wrap:wrap;display:flex}.history-filters__type-option{padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast)}.history-filters__type-option:hover{border-color:var(--color-border-focus)}.history-filters__type-option--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text)}.history-filters__radio-list{gap:var(--space-1);max-height:180px;padding:var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow-y:auto}.history-filters__radio-option{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-primary);text-transform:capitalize;cursor:pointer;display:flex}.history-filters__radio-option:hover{background:var(--color-surface-hover)}.history-filters__radio-option input{accent-color:var(--color-text-primary)}.history-filters__actions{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:flex}.history-filters__clear{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none}.history-filters__clear:hover{color:var(--color-text-primary)}.history-filters__apply{background:var(--color-primary);height:2.5rem;color:var(--color-primary-text);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;border:none;flex:1}.history-filters__apply:hover{background:var(--color-primary-hover)}.transaction-list{gap:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2);flex-direction:column;list-style:none;display:flex}.transaction-row{align-items:center;gap:var(--space-1);border-radius:var(--radius-md);display:flex}.transaction-row:hover{background:var(--color-surface-hover)}.transaction-row__main{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);min-width:0;font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:none;flex:1;display:flex}.transaction-row__info{flex-direction:column;min-width:0;display:flex}.transaction-row__description{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transaction-row__meta{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:capitalize}.transaction-row__value{align-items:flex-end;gap:var(--space-1);flex-direction:column;flex-shrink:0;display:flex}.transaction-row__amount{font-size:var(--text-sm);font-weight:var(--font-semibold);white-space:nowrap}.transaction-row__amount--income{color:var(--color-success)}.transaction-row__amount--expense{color:var(--color-error)}.transaction-row__secondary{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap}.transaction-row__actions{align-items:center;gap:var(--space-1);padding-right:var(--space-3);flex-shrink:0;display:flex}.transaction-row__action{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-text-tertiary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.transaction-row__action:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.transaction-row__action--danger:hover{color:var(--color-error)}.history{max-width:1100px;margin:0 auto}.history__header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.history__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary);line-height:var(--leading-tight)}.history__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.history__header-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.history__filters{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.history__search{flex:1;align-items:center;min-width:220px;display:flex;position:relative}.history__search-icon{left:var(--space-3);color:var(--color-text-tertiary);pointer-events:none;position:absolute}.history__search-input{width:100%;height:2.5rem;padding:0 var(--space-3) 0 2.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);transition:border-color var(--transition-fast);outline:none}.history__search-input::placeholder{color:var(--color-text-tertiary)}.history__search-input:hover{border-color:var(--color-border-focus)}.history__search-input:focus{border-color:var(--color-text-primary)}.history__stats{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.fixed-calendar-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.fixed-calendar-card__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.fixed-calendar-card__title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary)}.fixed-calendar-card__nav{align-items:center;gap:var(--space-3);display:flex}.fixed-calendar-card__month{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);text-align:center;min-width:9rem}.fixed-calendar-card__nav-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.fixed-calendar-card__nav-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.fixed-calendar-card__weekdays{gap:var(--space-1);margin-bottom:var(--space-2);grid-template-columns:repeat(7,1fr);display:grid}.fixed-calendar-card__weekday{text-align:center;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-tertiary);padding-bottom:var(--space-1)}.fixed-calendar-card__grid{gap:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.fixed-calendar-card__cell{aspect-ratio:1;border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.fixed-calendar-card__cell:hover{background:var(--color-surface-hover)}.fixed-calendar-card__cell--empty{cursor:default;pointer-events:none}.fixed-calendar-card__cell--today .fixed-calendar-card__day{font-weight:var(--font-semibold);color:var(--color-primary)}.fixed-calendar-card__cell--selected{border-color:var(--color-primary);background:var(--color-surface-hover)}.fixed-calendar-card__dots{gap:3px;display:flex}.fixed-calendar-card__dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.fixed-calendar-card__dot--expense{background:var(--color-error)}.fixed-calendar-card__dot--income{background:var(--color-success)}.fixed-calendar-card__legend{align-items:center;gap:var(--space-4);margin-top:var(--space-4);display:flex}.fixed-calendar-card__legend-item{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);display:flex}.fixed-calendar-card__details{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.fixed-calendar-card__details-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2);display:block}.fixed-calendar-card__details-list{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.fixed-calendar-card__details-item{justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-primary);display:flex}.fixed-calendar-card__details-amount{font-weight:var(--font-medium);white-space:nowrap}.fixed-calendar-card__details-amount--expense{color:var(--color-error)}.fixed-calendar-card__details-amount--income{color:var(--color-success)}.fixed-calendar-card__empty{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-tertiary)}.fixed-page{max-width:1100px;margin:0 auto}.fixed-page__header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.fixed-page__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary);line-height:var(--leading-tight)}.fixed-page__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.fixed-page__header-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.fixed-page__kpis{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=640px){.fixed-page__kpis{grid-template-columns:1fr}}.fixed-page__grid{align-items:start;gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.installment-card{gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);flex-direction:column;display:flex}.installment-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.installment-card__info{flex-direction:column;min-width:0;display:flex}.installment-card__description{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.installment-card__meta{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:capitalize}.installment-card__header-right{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.installment-card__pct{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-success);white-space:nowrap}.installment-card__actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.installment-card__action{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-text-tertiary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.installment-card__action:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.installment-card__action--danger:hover{color:var(--color-error)}.installment-card__amounts{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.installment-card__amount{flex-direction:column;gap:2px;display:flex}.installment-card__amount-label{font-size:var(--text-xs);color:var(--color-text-tertiary)}.installment-card__amount-value{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);white-space:nowrap}.installment-card__amount-value--positive{color:var(--color-success)}.installment-card__amount-value--negative{color:var(--color-error)}.installments-page{max-width:1100px;margin:0 auto}.installments-page__header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.installments-page__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary);line-height:var(--leading-tight)}.installments-page__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.installments-page__kpis{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=640px){.installments-page__kpis{grid-template-columns:1fr}}.installments-page__list{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.asset-class-detail{gap:var(--space-5);flex-direction:column;display:flex}.asset-class-detail__error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium)}.asset-class-detail__total{align-items:center;gap:var(--space-1);text-align:center;padding:var(--space-4);background:var(--color-surface-hover);border-radius:var(--radius-lg);flex-direction:column;display:flex}.asset-class-detail__total-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.asset-class-detail__total-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary)}.asset-class-detail__new-aporte{gap:var(--space-3);flex-direction:column;display:flex}.asset-class-detail__new-aporte-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.asset-class-detail__new-aporte-row{align-items:flex-end;gap:var(--space-3);display:flex}.asset-class-detail__new-aporte-row>:first-child{flex:1}.portfolio-donut{align-items:center;gap:var(--space-5);flex-direction:column;display:flex}.portfolio-donut__chart{flex-shrink:0;width:200px;height:200px;position:relative}.portfolio-donut__slice{cursor:pointer;stroke:var(--color-surface);stroke-width:1.5px;transition:opacity var(--transition-fast);outline:none}.portfolio-donut__svg:has(.portfolio-donut__slice--active) .portfolio-donut__slice:not(.portfolio-donut__slice--active){opacity:.45}.portfolio-donut__center{text-align:center;pointer-events:none;padding:0 var(--space-2);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.portfolio-donut__center-name{font-size:var(--text-sm);color:var(--color-text-secondary);text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.portfolio-donut__center-value{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary)}.portfolio-donut__legend{gap:var(--space-1);flex-direction:column;width:100%;display:flex}.portfolio-donut__legend-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font:inherit;text-align:left;cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;display:flex}.portfolio-donut__legend-item:hover,.portfolio-donut__legend-item--active{background:var(--color-surface-hover)}.portfolio-donut__legend-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.portfolio-donut__legend-name{min-width:0;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.portfolio-donut__legend-value{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap;flex-shrink:0}@media (width>=641px){.portfolio-donut{justify-content:center;align-items:center;gap:var(--space-8);flex-direction:row}.portfolio-donut__legend{max-width:320px}}.asset-class-card{justify-content:space-between;align-items:center;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;padding:var(--space-4) var(--space-5);text-align:left;cursor:pointer;font:inherit;color:inherit;transition:background var(--transition-fast), border-color var(--transition-fast);display:flex}.asset-class-card:hover{background:var(--color-surface-hover);border-color:var(--color-border-focus)}.asset-class-card__info{align-items:center;gap:var(--space-3);min-width:0;display:flex}.asset-class-card__dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.asset-class-card__text{flex-direction:column;min-width:0;display:flex}.asset-class-card__name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.asset-class-card__pct{font-size:var(--text-sm);color:var(--color-text-tertiary)}.asset-class-card__right{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.asset-class-card__amount{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-text-primary);white-space:nowrap}.asset-class-card__add{background:var(--color-success-bg);width:2.25rem;height:2.25rem;color:var(--color-success);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.monthly-investment-chart{gap:var(--space-5);flex-direction:column;display:flex}.monthly-investment-chart__summary{align-items:flex-start;gap:var(--space-6);display:flex}.monthly-investment-chart__summary-item{flex-direction:column;gap:2px;display:flex}.monthly-investment-chart__summary-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.monthly-investment-chart__summary-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary)}.monthly-investment-chart__summary-value--muted{font-size:var(--text-lg);color:var(--color-text-secondary)}.monthly-investment-chart__bars{align-items:flex-end;gap:var(--space-2);display:flex}.monthly-investment-chart__col{align-items:center;gap:var(--space-2);cursor:pointer;outline:none;flex-direction:column;flex:1;min-width:0;display:flex}.monthly-investment-chart__track{justify-content:center;align-items:flex-end;width:100%;height:140px;display:flex;position:relative}.monthly-investment-chart__average-line{border-top:1px dashed var(--color-text-tertiary);opacity:.6;height:0;position:absolute;left:0;right:0}.monthly-investment-chart__bar{background:var(--color-primary);opacity:.75;width:100%;max-width:24px;min-height:2px;transition:height var(--transition-fast), opacity var(--transition-fast);border-radius:4px 4px 0 0}.monthly-investment-chart__bar--active,.monthly-investment-chart__col:focus-visible .monthly-investment-chart__bar{opacity:1}.monthly-investment-chart__label{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap}.investments-page{max-width:1100px;margin:0 auto}.investments-page__header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.investments-page__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary);line-height:var(--leading-tight)}.investments-page__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.investments-page__header-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.investments-page__card{max-width:560px;margin:0 auto var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.investments-page__card--wide{max-width:none}.investments-page__card-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-5)}.investments-page__classes{gap:var(--space-3);flex-direction:column;display:flex}.category-card{gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);flex-direction:column;display:flex}.category-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.category-card__title{align-items:center;gap:var(--space-2);min-width:0;display:flex}.category-card__color-dot{cursor:pointer;width:14px;height:14px;transition:transform var(--transition-fast);border:none;border-radius:50%;flex-shrink:0;padding:0}.category-card__color-dot:hover{transform:scale(1.2)}.category-card__name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.category-card__badge{font-size:.65rem;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);background:var(--color-surface-hover);border-radius:var(--radius-full);padding:2px var(--space-2);flex-shrink:0}.category-card__actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.category-card__action{border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--color-text-tertiary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.category-card__action:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.category-card__action--danger:hover{color:var(--color-error)}.category-card__stats{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.category-card__amount{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-text-primary)}.category-card__count{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap}.category-card__limit{gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.category-card__limit-row{justify-content:space-between;align-items:center;display:flex}.category-card__limit-label{font-size:var(--text-xs);color:var(--color-text-secondary)}.category-card__limit-pct{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-primary)}.category-card__limit-pct--over{color:var(--color-error)}.category-form{gap:var(--space-5);flex-direction:column;display:flex}.category-form__error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium)}.color-picker-grid{gap:var(--space-3);grid-template-columns:repeat(5,1fr);display:grid}.color-picker-swatch{cursor:pointer;width:2.5rem;height:2.5rem;transition:transform var(--transition-fast), border-color var(--transition-fast);border:2px solid #0000;border-radius:50%}.color-picker-swatch:hover{transform:scale(1.1)}.color-picker-swatch--active{border-color:var(--color-text-primary)}.categories-page{max-width:1100px;margin:0 auto}.categories-page__header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.categories-page__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary);line-height:var(--leading-tight)}.categories-page__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.categories-page__header-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.categories-page__search{max-width:360px;margin-bottom:var(--space-6);align-items:center;display:flex;position:relative}.categories-page__search-icon{left:var(--space-3);color:var(--color-text-tertiary);pointer-events:none;position:absolute}.categories-page__search-input{width:100%;height:2.5rem;padding:0 var(--space-3) 0 2.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);transition:border-color var(--transition-fast);outline:none}.categories-page__search-input::placeholder{color:var(--color-text-tertiary)}.categories-page__search-input:hover{border-color:var(--color-border-focus)}.categories-page__search-input:focus{border-color:var(--color-text-primary)}.categories-page__grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.categories-page__confirm{gap:var(--space-4);flex-direction:column;display:flex}.categories-page__confirm-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.categories-page__confirm-actions{justify-content:flex-end;gap:var(--space-3);display:flex}.budget-control-form{gap:var(--space-5);flex-direction:column;display:flex}.budget-control-form__error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium)}.goal-card{gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);text-align:left;cursor:pointer;font:inherit;color:inherit;transition:background var(--transition-fast), border-color var(--transition-fast);flex-direction:column;display:flex}.goal-card:hover{background:var(--color-surface-hover);border-color:var(--color-border-focus)}.goal-card__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.goal-card__name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.goal-card__header-right{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.goal-card__pct{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-success);white-space:nowrap}.goal-card__chevron{color:var(--color-text-tertiary);display:flex}.goal-card__footer{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.goal-card__amount{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.goal-card__amount-of{font-weight:var(--font-medium);color:var(--color-text-tertiary)}.goal-card__date{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap}.goal-form{gap:var(--space-5);flex-direction:column;display:flex}.goal-form__error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium)}.goal-detail{gap:var(--space-5);flex-direction:column;display:flex}.goal-detail__error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium)}.goal-detail__trash{border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--color-error);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.goal-detail__trash:hover{background:var(--color-error-bg)}.goal-detail__confirm{gap:var(--space-4);flex-direction:column;display:flex}.goal-detail__confirm-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.goal-detail__confirm-actions{justify-content:flex-end;gap:var(--space-3);display:flex}.goal-detail__details{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.goal-detail__details-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.goal-detail__details-title{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.04em;color:var(--color-text-tertiary)}.goal-detail__edit{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0}.goal-detail__edit:hover{text-decoration:underline}.goal-detail__row{padding:var(--space-3) 0;border-top:1px solid var(--color-border);font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.goal-detail__row:first-of-type{border-top:none}.goal-detail__row-label{color:var(--color-text-secondary)}.goal-detail__row-value{font-weight:var(--font-semibold);color:var(--color-text-primary)}.goal-detail__progress{align-items:center;gap:var(--space-1);text-align:center;flex-direction:column;display:flex}.goal-detail__progress-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.goal-detail__progress-value{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary)}.goal-detail__progress-sub{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.goal-detail__progress .progress-bar__track{width:100%}.goal-detail__new-deposit{gap:var(--space-3);flex-direction:column;display:flex}.goal-detail__new-deposit-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.goal-detail__new-deposit-row{align-items:flex-end;gap:var(--space-3);display:flex}.goal-detail__new-deposit-row>:first-child{flex:1}.goal-detail__history{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.goal-detail__history-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.goal-detail__history-info{flex-direction:column;display:flex}.goal-detail__history-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.goal-detail__history-date{font-size:var(--text-xs);color:var(--color-text-tertiary)}.goal-detail__history-actions{align-items:center;gap:var(--space-3);display:flex}.goal-detail__history-amount{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-success);white-space:nowrap}.goal-detail__history-remove{border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.goal-detail__history-remove:hover{background:var(--color-surface-hover);color:var(--color-error)}.goals-section__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.goals-section__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary)}.goals-section__grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.control-page{max-width:1100px;margin:0 auto}.control-page__header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.control-page__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary);line-height:var(--leading-tight)}.control-page__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary)}.control-page__empty{align-items:flex-start;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);flex-direction:column;display:flex}.control-page__progress{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=640px){.control-page__progress{grid-template-columns:1fr}}.control-page__divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-8) 0}.control-page__section-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-5)}.control-page__section-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.asset-card{gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);flex-direction:column;display:flex}.asset-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.asset-card__title{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.asset-card__name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.asset-card__badge{font-size:.65rem;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);background:var(--color-surface-hover);border-radius:var(--radius-full);padding:2px var(--space-2);white-space:nowrap;flex-shrink:0}.asset-card__badge--liquid{color:var(--color-success)}.asset-card__actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.asset-card__action{border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--color-text-tertiary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.asset-card__action:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.asset-card__action--danger:hover{color:var(--color-error)}.asset-card__amount{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-text-primary)}.asset-form{gap:var(--space-5);flex-direction:column;display:flex}.asset-form__error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium)}.asset-form__checkbox{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);cursor:pointer;display:flex}.asset-form__checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer}.debt-card{gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);text-align:left;cursor:pointer;font:inherit;color:inherit;transition:background var(--transition-fast), border-color var(--transition-fast);flex-direction:column;display:flex}.debt-card:hover{background:var(--color-surface-hover);border-color:var(--color-border-focus)}.debt-card__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.debt-card__name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.debt-card__header-right{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.debt-card__pct{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-success);white-space:nowrap}.debt-card__chevron{color:var(--color-text-tertiary);display:flex}.debt-card__footer{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.debt-card__amount{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-error)}.debt-card__amount-of{font-weight:var(--font-medium);color:var(--color-text-tertiary)}.debt-form{gap:var(--space-5);flex-direction:column;display:flex}.debt-form__error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium)}.debt-detail{gap:var(--space-5);flex-direction:column;display:flex}.debt-detail__error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium)}.debt-detail__trash{border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--color-error);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.debt-detail__trash:hover{background:var(--color-error-bg)}.debt-detail__confirm{gap:var(--space-4);flex-direction:column;display:flex}.debt-detail__confirm-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.debt-detail__confirm-actions{justify-content:flex-end;gap:var(--space-3);display:flex}.debt-detail__details{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.debt-detail__details-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.debt-detail__details-title{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.04em;color:var(--color-text-tertiary)}.debt-detail__edit{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0}.debt-detail__edit:hover{text-decoration:underline}.debt-detail__row{padding:var(--space-3) 0;border-top:1px solid var(--color-border);font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.debt-detail__row:first-of-type{border-top:none}.debt-detail__row-label{color:var(--color-text-secondary)}.debt-detail__row-value{font-weight:var(--font-semibold);color:var(--color-text-primary)}.debt-detail__row-value--negative{color:var(--color-error)}.debt-detail__progress{align-items:center;gap:var(--space-1);text-align:center;flex-direction:column;display:flex}.debt-detail__progress-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.debt-detail__progress-value{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary)}.debt-detail__progress-sub{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.debt-detail__progress .progress-bar__track{width:100%}.debt-detail__new-payment{gap:var(--space-3);flex-direction:column;display:flex}.debt-detail__new-payment-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.debt-detail__new-payment-row{align-items:flex-end;gap:var(--space-3);display:flex}.debt-detail__new-payment-row>:first-child{flex:1}.debt-detail__history{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.debt-detail__history-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex}.debt-detail__history-info{flex-direction:column;display:flex}.debt-detail__history-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.debt-detail__history-date{font-size:var(--text-xs);color:var(--color-text-tertiary)}.debt-detail__history-actions{align-items:center;gap:var(--space-3);display:flex}.debt-detail__history-amount{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-success);white-space:nowrap}.debt-detail__history-remove{border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.debt-detail__history-remove:hover{background:var(--color-surface-hover);color:var(--color-error)}.installment-debt-card{gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);flex-direction:column;display:flex}.installment-debt-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.installment-debt-card__title{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.installment-debt-card__name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.installment-debt-card__badge{font-size:.65rem;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);background:var(--color-surface-hover);border-radius:var(--radius-full);padding:2px var(--space-2);white-space:nowrap;flex-shrink:0}.installment-debt-card__link{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0}.installment-debt-card__link:hover{color:var(--color-text-primary)}.installment-debt-card__amount{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-error)}.leverage-summary{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=900px){.leverage-summary{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.leverage-summary{grid-template-columns:1fr}}.net-worth-page{max-width:1100px;margin:0 auto}.net-worth-page__header{margin-bottom:var(--space-8)}.net-worth-page__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary);line-height:var(--leading-tight)}.net-worth-page__section-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-top:var(--space-8);margin-bottom:var(--space-5)}.net-worth-page__section-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.net-worth-page__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary)}.net-worth-page__grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.net-worth-page__divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-8) 0 0}.net-worth-page__confirm{gap:var(--space-4);flex-direction:column;display:flex}.net-worth-page__confirm-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.net-worth-page__confirm-actions{justify-content:flex-end;gap:var(--space-3);display:flex}.profile-card{gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);flex-direction:column;display:flex}.profile-card--danger{border-color:var(--color-error)}.profile-card__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.profile-card__title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary)}.profile-card__title--danger{color:var(--color-error)}.profile-card__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary)}.profile-card__row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-border);font-size:var(--text-sm);display:flex}.profile-card__row:first-of-type{border-top:none;padding-top:0}.profile-card__label{color:var(--color-text-secondary)}.profile-card__value{font-weight:var(--font-semibold);color:var(--color-text-primary)}.profile-card__value--positive{color:var(--color-success)}.profile-card__value-with-action{align-items:center;gap:var(--space-3);display:flex}.profile-card__empty{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.profile-form{gap:var(--space-5);flex-direction:column;display:flex}.profile-form__error{padding:var(--space-3) var(--space-4);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium)}.profile-form__hint{font-size:var(--text-xs);color:var(--color-text-tertiary)}.profile-identity{align-items:center;gap:var(--space-4);display:flex}.profile-identity__avatar{border-radius:var(--radius-full);background:var(--color-primary);width:4rem;height:4rem;color:var(--color-primary-text);font-size:var(--text-2xl);font-weight:var(--font-semibold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-identity__info{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.profile-identity__name{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-identity__nickname{font-size:var(--text-sm);color:var(--color-text-secondary)}.profile-identity__nickname:before,.profile-identity__nickname:after{content:"\""}.profile-identity__phone{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-tertiary);display:flex}.profile-identity__edit-button{justify-content:center;align-items:center;gap:var(--space-2);background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;height:2.75rem;color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);display:flex}.profile-identity__edit-button:hover{background:var(--color-surface);border-color:var(--color-border-focus)}.profile-page{max-width:720px;margin:0 auto}.profile-page__header{margin-bottom:var(--space-8)}.profile-page__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary);line-height:var(--leading-tight)}.profile-page__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.profile-page__grid{gap:var(--space-5);flex-direction:column;display:flex}.support-card{gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);flex-direction:column;display:flex}.support-card__title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary)}.support-card__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary)}.support-card--whatsapp{align-items:center;gap:var(--space-4);flex-direction:row}.support-card__whatsapp-icon{border-radius:var(--radius-full);background:var(--color-success-bg);width:3rem;height:3rem;color:var(--color-success);flex-shrink:0;justify-content:center;align-items:center;display:flex}.support-card__whatsapp-body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.support-card__whatsapp-button{height:2.5rem;padding:0 var(--space-4);background:var(--color-success);color:var(--color-success-text);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);white-space:nowrap;transition:opacity var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.support-card__whatsapp-button:hover{opacity:.9}.support-card__whatsapp-button[aria-disabled=true]{background:var(--color-surface-hover);color:var(--color-text-tertiary);pointer-events:none}@media (width<=560px){.support-card--whatsapp{flex-direction:column;align-items:flex-start}.support-card__whatsapp-button{width:100%}}.support-card__tutorial-list{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.support-card__tutorial-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);color:inherit;transition:background var(--transition-fast), border-color var(--transition-fast);display:flex}.support-card__tutorial-item:hover{background:var(--color-surface-hover);border-color:var(--color-border-focus)}.support-card__tutorial-icon{border-radius:var(--radius-full);background:var(--color-surface-hover);width:2rem;height:2rem;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.support-card__tutorial-info{flex-direction:column;min-width:0;display:flex}.support-card__tutorial-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.support-card__tutorial-description{font-size:var(--text-xs);color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.support-card__faq-list{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.support-card__faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.support-card__faq-question{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;display:flex}.support-card__faq-question:hover{background:var(--color-surface-hover)}.support-card__faq-question-text{align-items:center;gap:var(--space-3);min-width:0;display:flex}.support-card__faq-icon{border-radius:var(--radius-full);background:var(--color-surface-hover);width:2rem;height:2rem;font-size:var(--text-base);flex-shrink:0;justify-content:center;align-items:center;display:flex}.support-card__faq-chevron{color:var(--color-text-tertiary);transition:transform var(--transition-fast);flex-shrink:0;display:flex}.support-card__faq-chevron--open{transform:rotate(180deg)}.support-card__faq-answer{padding:0 var(--space-4) var(--space-4) calc(2rem + var(--space-3) + var(--space-4));font-size:var(--text-sm);color:var(--color-text-secondary);white-space:pre-line}.support-page{max-width:720px;margin:0 auto}.support-page__header{margin-bottom:var(--space-8)}.support-page__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary);line-height:var(--leading-tight)}.support-page__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.support-page__grid{gap:var(--space-5);flex-direction:column;display:flex}.app-shell{background:var(--color-bg);min-height:100vh;display:flex}.app-shell__sidebar{display:none}.app-shell__content{flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.app-shell__topbar{padding:var(--space-4) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.app-shell__topbar-brand{font-weight:var(--font-semibold);color:var(--color-text-primary)}.app-shell__topbar-actions{align-items:center;gap:var(--space-1);display:flex}.app-shell__topbar-logout{padding:var(--space-2);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;display:flex}.app-shell__topbar-logout:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.app-shell__main{padding:var(--space-5);padding-bottom:calc(64px + var(--space-5));flex:1;width:100%}.app-shell__bottom-nav{background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-2) var(--space-2) max(var(--space-2), env(safe-area-inset-bottom));display:flex;position:fixed;bottom:0;left:0;right:0}.app-shell__bottom-nav-item{align-items:center;gap:var(--space-1);padding:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary);border-radius:var(--radius-md);flex-direction:column;flex:1;text-decoration:none;display:flex}.app-shell__bottom-nav-item--active{color:var(--color-text-primary)}.app-shell__bottom-nav-item--disabled{opacity:.4}.app-shell__bottom-nav-item--button{font:inherit;cursor:pointer;background:0 0;border:none}.app-shell__drawer-backdrop{z-index:50;background:#0006;justify-content:flex-end;animation:.15s ease-out app-shell-fade-in;display:flex;position:fixed;inset:0}.app-shell__drawer{background:var(--color-surface);border-left:1px solid var(--color-border);width:280px;max-width:85vw;height:100%;padding:var(--space-5);box-shadow:var(--shadow-lg);animation:.2s ease-out app-shell-slide-in;overflow-y:auto}.app-shell__drawer-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.app-shell__drawer-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary)}.app-shell__drawer-close{padding:var(--space-2);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;display:flex}.app-shell__drawer-close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.app-shell__drawer-nav{gap:var(--space-1);flex-direction:column;display:flex}.app-shell__drawer-item{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);transition:background var(--transition-fast), color var(--transition-fast);text-decoration:none;display:flex}.app-shell__drawer-item:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.app-shell__drawer-item--active{background:var(--color-border);color:var(--color-text-primary);font-weight:var(--font-semibold)}.app-shell__drawer-item--disabled{color:var(--color-text-tertiary);cursor:default;pointer-events:none}.app-shell__drawer-item--whatsapp{margin-top:var(--space-3);padding-top:calc(var(--space-3) + var(--space-2));border-top:1px solid var(--color-border);color:var(--color-success)}.app-shell__drawer-item--whatsapp:hover{background:var(--color-surface-hover);color:var(--color-success)}@keyframes app-shell-fade-in{0%{opacity:0}to{opacity:1}}@keyframes app-shell-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (width>=768px){.app-shell__sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);width:240px;height:100vh;padding:var(--space-6) var(--space-4);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0;overflow-y:auto}.app-shell__brand{align-items:center;gap:var(--space-2);font-weight:var(--font-semibold);color:var(--color-text-primary);padding:0 var(--space-3);margin-bottom:var(--space-8);display:flex}.app-shell__nav{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.app-shell__nav-item{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);transition:background var(--transition-fast), color var(--transition-fast);text-decoration:none;display:flex}.app-shell__nav-item:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.app-shell__nav-item--active{background:var(--color-border);color:var(--color-text-primary);font-weight:var(--font-semibold)}.app-shell__nav-item--disabled{color:var(--color-text-tertiary)}.app-shell__nav-item--whatsapp{margin-top:var(--space-3);padding-top:calc(var(--space-3) + var(--space-2));border-top:1px solid var(--color-border);color:var(--color-success)}.app-shell__nav-item--whatsapp:hover{background:var(--color-surface-hover);color:var(--color-success)}.app-shell__badge{background:var(--color-surface-hover);border-radius:var(--radius-full);margin-left:auto;padding:2px 6px;font-size:.65rem}.app-shell__footer{justify-content:space-between;align-items:center;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex}.app-shell__user{padding:0 var(--space-3);flex-direction:column;display:flex;overflow:hidden}.app-shell__user-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-shell__user-email{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-shell__footer-actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.app-shell__logout{padding:var(--space-2);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;display:flex}.app-shell__logout:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.app-shell__topbar,.app-shell__bottom-nav,.app-shell__drawer-backdrop{display:none}.app-shell__main{padding:var(--space-8);max-width:1100px}}
