*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--app-bg);color:var(--app-text);-webkit-font-smoothing:antialiased;overflow-x:hidden}ul{list-style:none;margin:0;padding:0}button{font:inherit}a{color:var(--app-accent)}:root{--app-bg: #f7f8fa;--app-surface: #ffffff;--app-text: #1a1d21;--app-hint: #6b7280;--app-accent: #2563eb;--app-income: #16a34a;--app-expense: #dc2626;--app-warning: #d97706;--app-border: #e4e7ec;--chart-1: #2563eb;--chart-2: #16a34a;--chart-3: #d97706;--chart-4: #dc2626;--chart-5: #7c3aed;--chart-6: #0891b2;--chart-7: #be185d;--chart-8: #65a30d;--chart-9: #ca8a04;--chart-10: #4f46e5;--chart-11: #0d9488;--chart-12: #9333ea}[data-theme=dark]{--app-bg: #17181c;--app-surface: #22242a;--app-text: #e8eaed;--app-hint: #9aa1ac;--app-accent: #3b82f6;--app-income: #22c55e;--app-expense: #ef4444;--app-warning: #d97706;--app-border: #33353c;--chart-1: #3b82f6;--chart-2: #22c55e;--chart-3: #f59e0b;--chart-4: #ef4444;--chart-5: #a78bfa;--chart-6: #22d3ee;--chart-7: #f472b6;--chart-8: #a3e635;--chart-9: #fbbf24;--chart-10: #818cf8;--chart-11: #2dd4bf;--chart-12: #c084fc}[data-tg-theme=bound]{--app-bg: var(--tg-theme-bg-color, var(--app-bg));--app-surface: var(--tg-theme-secondary-bg-color, var(--app-surface));--app-text: var(--tg-theme-text-color, var(--app-text));--app-hint: var(--tg-theme-hint-color, var(--app-hint));--app-accent: var(--tg-theme-button-color, var(--app-accent));--app-border: var(--tg-theme-hint-color, var(--app-border))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.amount{font-variant-numeric:tabular-nums}.amount--income{color:var(--app-income)}.amount--expense{color:var(--app-expense)}.card{background:var(--app-surface);border:1px solid var(--app-border);border-radius:12px;padding:16px;margin-bottom:12px}.card__title{margin:0 0 8px;font-weight:600;font-size:.95rem}.card__hint{margin:4px 0 0;color:var(--app-hint);font-size:.85rem}.card--loading .skeleton{display:block;height:14px;border-radius:6px;background:linear-gradient(90deg,var(--app-border) 25%,var(--app-bg) 50%,var(--app-border) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite;margin-bottom:8px}.skeleton--title{width:40%;height:18px}.skeleton--short{width:60%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.card--empty,.card--error{text-align:center}.card--error .btn{margin-top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;border:1px solid transparent;padding:10px 16px;font-weight:600;font-size:.9rem;cursor:pointer;text-decoration:none}.btn--primary{background:var(--app-accent);color:#fff}.btn--secondary{background:transparent;border-color:var(--app-border);color:var(--app-text)}.btn--ghost{background:transparent;border-color:transparent;color:var(--app-hint)}.boot-screen,.fullscreen-notice{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.fullscreen-notice__icon{color:var(--app-warning)}.fullscreen-notice__title{margin:0;font-size:1.2rem}.fullscreen-notice__description{margin:0;color:var(--app-hint);max-width:32ch}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{background:var(--app-surface);border:1px solid var(--app-border);border-radius:16px;padding:32px 24px;width:100%;max-width:360px;text-align:center}.auth-card__logo{font-weight:700;font-size:1.2rem;margin:0 0 4px}.auth-card__subtitle{margin:0 0 20px;color:var(--app-hint)}.auth-card__widget{min-height:40px;display:flex;justify-content:center}.auth-card__hint{margin-top:8px;color:var(--app-hint);font-size:.85rem}.auth-card__notice{display:flex;flex-direction:column;gap:10px}.auth-card__error{margin-top:12px;color:var(--app-expense);font-size:.85rem}.auth-card__bot-hint{margin-top:20px;padding-top:16px;border-top:1px solid var(--app-border);display:flex;flex-direction:column;gap:10px}.app-shell__header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--app-border)}.app-shell__logo{font-weight:700}.app-shell__main{max-width:960px;margin:0 auto;padding:16px}.home-page{display:flex;flex-direction:column}.home-page__scope{display:flex;align-items:center;gap:12px;margin-bottom:12px}.home-page__refresh-hint{color:var(--app-hint);font-size:.8rem}@media (min-width: 1024px){.home-page{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.home-page__scope{grid-column:1 / -1}}.scope-switch{display:inline-flex;border:1px solid var(--app-border);border-radius:999px;padding:2px}.scope-switch__option{border:none;background:transparent;border-radius:999px;padding:6px 14px;font-size:.85rem;color:var(--app-hint);cursor:pointer}.scope-switch__option--active{background:var(--app-accent);color:#fff}.balance-card__amounts{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:6px}.balance-card__primary{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}.balance-card__secondary{font-size:1rem;color:var(--app-hint);font-variant-numeric:tabular-nums}.balance-card__net{display:flex;align-items:center;gap:6px;margin:0;color:var(--app-hint)}.balance-card__net--negative{color:var(--app-expense)}.balance-card__info{display:inline-flex;cursor:help}.month-card__row{display:flex;justify-content:space-between;margin:4px 0}.month-card__label{color:var(--app-hint)}.payments-list__row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--app-border);max-width:100%}.payments-list__row:first-child{border-top:none}.payments-list__row--soon{color:var(--app-warning)}.payments-list__name{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.payments-list__name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.payments-list__date{color:var(--app-hint);font-size:.85rem;white-space:nowrap;flex-shrink:0}.payments-list__amount{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap;flex-shrink:0}.badge{font-size:.7rem;padding:2px 8px;border-radius:999px;background:var(--app-bg);border:1px solid var(--app-border);color:var(--app-hint)}.members-list__row{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid var(--app-border)}.members-list__row:first-child{border-top:none}.nav-bar{display:flex;gap:4px;background:var(--app-surface);border:1px solid var(--app-border);z-index:10}.nav-bar--side{display:none}.nav-bar--bottom{position:fixed;left:0;right:0;bottom:0;justify-content:space-around;border-left:none;border-right:none;border-bottom:none;padding:4px 4px calc(4px + env(safe-area-inset-bottom))}.nav-bar__item{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;padding:6px 4px;border-radius:8px;color:var(--app-hint);text-decoration:none;font-size:.7rem}.nav-bar__item--active{color:var(--app-accent)}.app-shell__main--with-nav{padding-bottom:76px}@media (min-width: 1024px){.app-shell--site .nav-bar--bottom{display:none}.app-shell--site .nav-bar--side{display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;width:200px;padding:16px 8px;border-top:none;border-bottom:none;border-left:none}.app-shell--site .nav-bar--side .nav-bar__item{flex-direction:row;justify-content:flex-start;gap:10px;font-size:.9rem;padding:10px 12px}.app-shell--site .app-shell__main--with-nav{margin-left:200px;padding-bottom:16px}}.filter-bar{margin-bottom:12px}.filter-bar__toggle{position:relative;margin-bottom:8px}.filter-bar__dot{width:6px;height:6px;border-radius:50%;background:var(--app-accent)}.filter-bar__fields{display:flex;flex-wrap:wrap;gap:10px;align-items:end;background:var(--app-surface);border:1px solid var(--app-border);border-radius:12px;padding:12px}.filter-bar__fields--collapsed{display:none}@media (min-width: 1024px){.filter-bar__fields--collapsed{display:flex}.filter-bar__toggle{display:none}}.filter-bar__field{display:flex;flex-direction:column;gap:4px;font-size:.8rem}.filter-bar__label{color:var(--app-hint)}.filter-bar__field select,.filter-bar__field input{border:1px solid var(--app-border);border-radius:8px;padding:8px 10px;background:var(--app-bg);color:var(--app-text);font:inherit}.filter-bar__search-input{display:flex;align-items:center;gap:6px;border:1px solid var(--app-border);border-radius:8px;padding:0 10px;background:var(--app-bg);color:var(--app-hint)}.filter-bar__search-input input{border:none;background:transparent;padding:8px 0;color:var(--app-text);font:inherit;width:100%;min-width:0;max-width:220px}.filter-bar__reset{align-self:center}.operations-page__header,.analytics-page__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.operations-page__title{margin:0 0 12px;font-size:1.1rem}.operations-page__list{display:flex;flex-direction:column}.operations-page__list--stale{opacity:.6}.operations-page__toast{color:var(--app-warning);font-size:.85rem;margin:0 0 8px}.operations-page__footnote{text-align:center;margin-top:12px}.tx-list{display:flex;flex-direction:column;gap:8px;max-width:100%}.tx-list__row{display:grid;grid-template-columns:70px 1fr 1fr auto;gap:8px;align-items:center;background:var(--app-surface);border:1px solid var(--app-border);border-radius:10px;padding:10px 12px;max-width:100%}.tx-list__row--head{display:none}.tx-list__cell{min-width:0}.tx-list__cell--category,.tx-list__cell--description,.tx-list__cell--owner{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-list__cell--amount{text-align:right;font-weight:600;white-space:nowrap}.tx-list__category-badge{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;font-size:.72rem;padding:2px 8px;border-radius:999px;background:var(--app-bg);border:1px solid var(--app-border);color:var(--app-hint)}@media (min-width: 640px){.tx-list__row{grid-template-columns:80px 140px 1fr auto}.tx-list--with-owner .tx-list__row{grid-template-columns:80px 140px 1fr 100px auto}.tx-list__row--head{display:grid;background:transparent;border:none;padding:0 12px;color:var(--app-hint);font-size:.8rem}}@media (max-width: 639px){.tx-list__row{grid-template-columns:1fr auto;grid-template-areas:"date amount" "category amount" "description description";row-gap:4px;column-gap:10px}.tx-list--with-owner .tx-list__row{grid-template-areas:"date amount" "category amount" "description description" "owner owner"}.tx-list__cell--date{grid-area:date;font-size:.78rem;color:var(--app-hint)}.tx-list__cell--category{grid-area:category}.tx-list__cell--description{grid-area:description;font-size:.9rem;white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tx-list__cell--owner{grid-area:owner;font-size:.78rem;color:var(--app-hint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-list__cell--amount{grid-area:amount;align-self:center;justify-self:end;font-size:1.05rem;flex-shrink:0}}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:12px;flex-wrap:wrap;gap:8px}.pagination__found{color:var(--app-hint);font-size:.85rem}.pagination__controls{display:flex;align-items:center;gap:8px}.pagination__btn{padding:6px 10px}.pagination__label{font-size:.85rem;color:var(--app-hint)}.analytics-page__tabs,.analytics-page__type-switch,.period-selector__presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.period-selector__preset{border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-text);border-radius:999px;padding:6px 14px;font-size:.85rem;cursor:pointer}.period-selector__preset--active{background:var(--app-accent);border-color:var(--app-accent);color:#fff}.period-selector{margin-bottom:12px}.period-selector__custom{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.analytics-page__skeleton{display:flex;flex-direction:column;gap:8px}.category-bars{display:flex;flex-direction:column;gap:10px;margin:12px 0}.category-bars__row-btn{display:contents;background:none;border:none;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit}.category-bars__row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:10px}.category-bars__name{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-bars__track{height:10px;border-radius:999px;background:var(--app-bg);overflow:hidden}.category-bars__fill{display:block;height:100%;border-radius:999px}.category-bars__value{font-variant-numeric:tabular-nums;font-size:.85rem;white-space:nowrap}.category-bars__share{color:var(--app-hint)}.table-scroll{max-width:100%;overflow-x:auto;margin-top:12px}.category-table{width:100%;min-width:320px;border-collapse:collapse;font-size:.85rem}.category-table th,.category-table td{text-align:left;padding:6px 8px;border-top:1px solid var(--app-border);white-space:nowrap}.category-table th:first-child,.category-table td:first-child{white-space:normal;overflow-wrap:anywhere}.category-table td.amount{font-variant-numeric:tabular-nums}.currency-sections{display:flex;flex-direction:column;gap:12px;margin-top:12px}.currency-sections__months{display:flex;flex-direction:column;gap:6px}.currency-sections__month-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px;font-size:.85rem}.monthly-bars__legend{display:flex;gap:16px;margin-bottom:12px;font-size:.85rem}.monthly-bars__legend-item{display:flex;align-items:center;gap:6px;color:var(--app-hint)}.monthly-bars__swatch{width:10px;height:10px;border-radius:2px}.monthly-bars__swatch--income{background:var(--app-income)}.monthly-bars__swatch--expense{background:var(--app-expense)}.monthly-bars__chart{display:flex;align-items:flex-end;gap:12px;overflow-x:auto;padding-top:24px;min-height:180px}.monthly-bars__group{display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 auto}.monthly-bars__columns{display:flex;align-items:flex-end;gap:4px;height:140px}.monthly-bars__col-wrap{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative}.monthly-bars__col-value{font-size:.65rem;color:var(--app-hint);white-space:nowrap;margin-bottom:4px;writing-mode:vertical-rl;transform:rotate(180deg)}.monthly-bars__col{width:14px;border-radius:3px 3px 0 0;min-height:2px}.monthly-bars__col--income{background:var(--app-income)}.monthly-bars__col--expense{background:var(--app-expense)}.monthly-bars__month-label{font-size:.75rem;color:var(--app-hint)}.debts-page__toggle{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--app-hint);margin-bottom:12px}.debts-page__summary{display:flex;gap:12px;margin-bottom:12px}.debts-page__stat{flex:1;text-align:center}.debts-page__stat-value{margin:0;font-size:1.2rem;font-weight:700}.debt-group{display:flex;flex-direction:column;gap:14px}.debt-row{display:flex;flex-direction:column;gap:6px}.debt-row--closed{opacity:.6}.debt-row__top{display:flex;justify-content:space-between;gap:8px;font-weight:600}.debt-row__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debt-row__remaining{flex-shrink:0;white-space:nowrap}.debt-row__progress{height:8px;border-radius:999px;background:var(--app-bg);overflow:hidden}.debt-row__progress-fill{display:block;height:100%;background:var(--app-accent);border-radius:999px}.debt-row__progress-fill--credit{background:var(--app-warning)}.debt-row__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px}.settings-section{margin-bottom:12px}.settings-section__list{margin:0}.settings-section__row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--app-border);font-size:.9rem}.settings-section__row:first-child{border-top:none}.settings-section__row dt{color:var(--app-hint);flex-shrink:0}.settings-section__row dd{margin:0;text-align:right;min-width:0;overflow-wrap:anywhere}.settings-page__close{width:100%;margin-top:8px}.settings-toggle{display:flex;align-items:center;gap:8px;font-size:.9rem;margin-bottom:10px}.settings-card__actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px}.settings-warning{margin:4px 0 10px;color:var(--app-warning);font-size:.85rem;font-weight:600}.settings-add-form{margin-top:10px;padding-top:10px;border-top:1px solid var(--app-border)}.settings-section__add{width:100%;margin-top:8px}.plans-page__intro{margin-bottom:12px}.plans-hub{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width: 640px){.plans-hub{grid-template-columns:1fr 1fr}}.plan-card{display:block;text-decoration:none;color:inherit;cursor:pointer}.plan-card--disabled{cursor:default;opacity:.65}.plan-card__description{margin-bottom:8px}.plan-card__badge{display:inline-block}.form-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:.85rem}.form-field__label{color:var(--app-hint)}.form-field select,.form-field input{border:1px solid var(--app-border);border-radius:8px;padding:8px 10px;background:var(--app-bg);color:var(--app-text);font:inherit;width:100%}.form-error{margin:2px 0 0;color:var(--app-expense);font-size:.82rem}.budget-matrix-page__notice-close{margin-left:8px}.budget-matrix-page__header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.budget-matrix__current-all-select{border:1px solid var(--app-border);border-radius:8px;padding:9px 10px;background:var(--app-surface);color:var(--app-text);font:inherit;font-size:.85rem}.budget-matrix__scroll{overflow:auto;max-height:min(70vh,640px);border:1px solid var(--app-border);border-radius:12px;margin-bottom:12px}.budget-matrix__scroll--stale{opacity:.6}.budget-matrix{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem}.budget-matrix th,.budget-matrix td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--app-border);white-space:nowrap;background:var(--app-surface)}.budget-matrix thead th{position:sticky;top:0;z-index:2;border-bottom:2px solid var(--app-border)}.budget-matrix__sticky-col{position:sticky;left:0;z-index:1;border-right:1px solid var(--app-border);white-space:normal;max-width:130px;overflow-wrap:break-word}.budget-matrix thead .budget-matrix__sticky-col{z-index:3}.budget-matrix__current-col{position:sticky;left:130px;z-index:1;border-right:1px solid var(--app-border);min-width:84px;white-space:normal}.budget-matrix thead .budget-matrix__current-col,.budget-matrix tfoot .budget-matrix__current-col{z-index:3}.budget-matrix__current-empty{color:var(--app-hint)}.budget-matrix__current-excluded{color:var(--app-hint);font-style:italic}.budget-matrix__current-value{font-weight:600}.budget-matrix tfoot th,.budget-matrix tfoot td{position:sticky;bottom:0;z-index:2;border-top:2px solid var(--app-border);border-bottom:none}.budget-matrix tfoot .budget-matrix__sticky-col{z-index:3}.budget-matrix__row-head{font-weight:600}.budget-matrix__row-head--total{font-weight:700}.budget-matrix__total{font-weight:700;font-size:.95rem}.budget-matrix__row-checkbox{display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:600}.budget-matrix__row-label{display:flex;flex-direction:column;gap:2px;min-width:0}.budget-matrix__row-badge{align-self:flex-start;font-weight:400}.budget-matrix__row-badges{display:flex;flex-wrap:wrap;gap:4px}.budget-matrix__row--excluded{opacity:.55}.budget-matrix__row--excluded .budget-matrix__cell{color:var(--app-hint)}.budget-matrix__section td{background:var(--app-bg);color:var(--app-hint);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;padding:6px 10px}.budget-matrix__cell{display:inline-flex;align-items:center;gap:4px;width:100%;min-width:84px;border:1px solid transparent;border-radius:8px;padding:6px 8px;background:transparent;color:var(--app-text);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;text-align:left}.budget-matrix__cell:hover{border-color:var(--app-border);background:var(--app-bg)}.budget-matrix__cell--empty{color:var(--app-hint);justify-content:center}.budget-matrix__cell--merged{color:var(--app-accent)}.budget-matrix__cell--obligatory{flex-wrap:wrap}.budget-matrix__cell-wrap{position:relative;display:flex}.budget-matrix__cell-wrap>.budget-matrix__cell{padding-right:20px}.budget-matrix__current-marker{position:absolute;top:2px;right:2px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border-radius:50%;border:1px solid var(--app-border);background:var(--app-surface);color:transparent;cursor:pointer}.budget-matrix__current-marker--active{border-color:var(--app-accent);background:var(--app-accent);color:#fff}.budget-matrix__current-marker:disabled{opacity:.5;cursor:default}.budget-matrix__override-badge{white-space:nowrap}.budget-matrix__excluded-label{color:var(--app-hint);font-style:italic}.budget-matrix__period-badge{white-space:nowrap}.budget-matrix__spacer{min-width:24px}.budget-matrix__level-link{font-weight:700;text-decoration:none;color:var(--app-text)}.budget-matrix__level-link:hover{color:var(--app-accent)}.budget-matrix__add-level-col{vertical-align:top;min-width:120px;white-space:normal}.budget-matrix__add-level-form{display:flex;flex-direction:column;gap:6px}.budget-matrix__add-level-form input{border:1px solid var(--app-border);border-radius:8px;padding:6px 8px;background:var(--app-bg);color:var(--app-text);font:inherit;width:100%}.budget-matrix__add-level-actions{display:flex;gap:6px}.budget-matrix__hint{text-align:center;color:var(--app-hint);padding:20px 10px;white-space:normal}.budget-matrix__obligatory-name{display:block;width:100%;border:none;background:none;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.budget-matrix__current-row th,.budget-matrix__current-row td{padding-top:10px;padding-bottom:10px}.budget-matrix__current-summary{white-space:normal}.budget-matrix__current-summary-amount{display:block;font-weight:700;font-size:1.15rem;font-variant-numeric:tabular-nums}.budget-matrix__current-summary-diff{display:block;font-size:.85rem;margin-top:2px}.budget-matrix__current-summary-hint{display:block;margin-top:2px}.budget-level-page__add{width:100%;margin-top:4px}.level-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.level-card__name{margin:0;font-size:1.1rem}.level-card__header-actions{display:flex;gap:6px;flex-shrink:0}.level-card__name-edit{display:flex;gap:6px;align-items:center;flex:1}.level-card__name-edit input{flex:1;min-width:0;border:1px solid var(--app-border);border-radius:8px;padding:8px 10px;background:var(--app-bg);color:var(--app-text);font:inherit}.level-card__totals{margin:8px 0}.level-card__totals-row{display:flex;justify-content:space-between;padding:4px 0;border-top:1px solid var(--app-border);font-size:.9rem}.level-card__totals-row:first-child{border-top:none}.level-card__totals-row dt{color:var(--app-hint)}.level-card__totals-row dd{margin:0;font-variant-numeric:tabular-nums}.level-card__totals-row--main{font-weight:700;font-size:1rem}.level-card__comparison{margin:4px 0 0;font-size:.9rem}.line-group{margin-bottom:14px}.line-group__title{margin:0 0 6px;font-weight:600;font-size:.9rem;color:var(--app-hint)}.line-group__list{display:flex;flex-direction:column;gap:8px}.line-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:10px;padding:10px 12px}.line-row__main{display:flex;flex-direction:column;gap:2px;min-width:0}.line-row__category{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-row__category-badge{align-self:flex-start}.line-row__period{font-size:.85rem;color:var(--app-hint)}.line-row__hint{margin:0;font-size:.78rem}.line-row__actions{display:flex;gap:4px;flex-shrink:0}.line-row__amount{font-weight:600;white-space:nowrap}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--app-border);background:transparent;color:var(--app-hint);cursor:pointer;flex-shrink:0}.icon-btn--danger{color:var(--app-expense)}.icon-btn:disabled{opacity:.5;cursor:default}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center;padding:0;z-index:100}.modal{background:var(--app-surface);border-radius:16px 16px 0 0;padding:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal__title{margin:0 0 8px;font-weight:700;font-size:1.05rem}.modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}@media (min-width: 640px){.modal-overlay{align-items:center;padding:16px}.modal{border-radius:16px}}.line-form__header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.line-form__fixed-name{font-weight:600;margin:0 0 4px}.line-form__hint{margin:-4px 0 10px}.line-form__period,.line-form__attachable{margin-bottom:10px}.line-form__attach-list{display:flex;flex-direction:column;gap:6px;margin:6px 0;max-height:220px;overflow-y:auto}.line-form__attach-item{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;text-align:left;border:1px solid var(--app-border);border-radius:8px;padding:8px 10px;background:var(--app-bg);color:var(--app-text);font:inherit;cursor:pointer}.line-form__attach-item--attached{opacity:.55;cursor:default}.line-form__attach-item--selected{border-color:var(--app-accent);background:var(--app-surface)}.matrix-cell-editor__actions{flex-wrap:wrap}.matrix-cell-editor__remove{margin-right:auto}.matrix-row-form__levels{margin:4px 0 10px}.matrix-row-form__level{margin-bottom:8px}.matrix-row-form__level-row{display:flex;align-items:center;gap:8px}.matrix-row-form__level-name{flex:0 0 auto;min-width:25%;font-size:.85rem;color:var(--app-hint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix-row-form__level-row input{flex:1;min-width:0;border:1px solid var(--app-border);border-radius:8px;padding:8px 10px;background:var(--app-bg);color:var(--app-text);font:inherit}.matrix-row-form__done{display:inline-flex;align-items:center;color:var(--app-income);flex-shrink:0}.obligatory-editor__note{margin-bottom:10px}.obligatory-editor__toggle{display:flex;align-items:center;gap:8px;font-size:.9rem;margin-bottom:10px}.obligatory-editor__clear-rate{margin:-6px 0 10px;padding:0}.obligatory-editor__levels{margin-top:16px;padding-top:12px;border-top:1px solid var(--app-border)}.obligatory-editor__level{margin-bottom:12px}.obligatory-editor__level-name{margin:0 0 4px;font-weight:600;font-size:.9rem}.obligatory-editor__level-amount{display:flex;align-items:center;gap:6px;margin-top:6px}.obligatory-editor__level-amount input{flex:1;min-width:0;border:1px solid var(--app-border);border-radius:8px;padding:8px 10px;background:var(--app-bg);color:var(--app-text);font:inherit}.forecast-page__summary{display:flex;flex-direction:column;gap:4px}.forecast-page__today{margin:0;font-size:1.05rem;font-weight:600}.forecast-page__gap-warning{margin:0;font-weight:600}.forecast-page__incomes-btn{width:100%;margin-top:4px}.balance-chart__scroll{overflow-x:auto}.balance-chart__svg{display:block}.balance-chart__zero-axis{stroke:var(--app-border);stroke-width:1;stroke-dasharray:4 3}.balance-chart__zero-label{fill:var(--app-hint);font-size:8px}.balance-chart__today-line{stroke:var(--app-hint);stroke-width:1;stroke-dasharray:2 3}.balance-chart__today-label{fill:var(--app-hint);font-size:8px}.balance-chart__area{fill:var(--app-accent);opacity:.15}.balance-chart__area--negative{fill:var(--app-expense);opacity:.28}.balance-chart__line{fill:none;stroke:var(--app-accent);stroke-width:2;stroke-linejoin:round}.balance-chart__line--negative{fill:none;stroke:var(--app-expense);stroke-width:2;stroke-linejoin:round}.balance-chart__marker--income{fill:var(--app-income)}.balance-chart__marker--expense{fill:var(--app-expense)}.balance-chart__min-dot{fill:var(--app-text)}.balance-chart__min-label{fill:var(--app-hint);font-size:9px;font-weight:600}.balance-chart__min-label--negative{fill:var(--app-expense)}.balance-chart__day-label{fill:var(--app-hint);font-size:8px}.forecast-feed__today{margin:0 0 4px;font-size:1.05rem;font-weight:600}.forecast-feed__list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.forecast-feed__row{background:var(--app-bg);border:1px solid var(--app-border);border-radius:10px;padding:8px 12px}.forecast-feed__row--gap{border-color:var(--app-expense)}.forecast-feed__row-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:600}.forecast-feed__balance{font-weight:700;white-space:nowrap}.forecast-feed__events{margin:4px 0 0;display:flex;flex-direction:column;gap:2px;font-size:.85rem}.forecast-feed__gap-note{margin:4px 0 0;font-size:.8rem;font-weight:600}.line-row--inactive{opacity:.6}.incomes-panel__list{margin-bottom:12px}.incomes-panel__add{width:100%}.income-form__section{margin-bottom:10px}.income-form__range{display:flex;align-items:center;gap:8px}.income-form__range input{flex:1;min-width:0;border:1px solid var(--app-border);border-radius:8px;padding:8px 10px;background:var(--app-bg);color:var(--app-text);font:inherit}.income-form__range-sep{color:var(--app-hint);flex-shrink:0}.goals-page__panel{display:flex;flex-direction:column;gap:12px;margin-top:4px}.goals-page__panel-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.funds-page__header-stats{display:flex;flex-wrap:wrap;gap:4px 16px}.funds-page__stat{margin:0}.funds-page__toggle{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--app-hint)}.savings-list{display:flex;flex-direction:column;gap:8px}.savings-row{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;background:var(--app-surface);border:1px solid var(--app-border);border-radius:10px;padding:10px 12px;color:inherit;font:inherit;cursor:pointer}.savings-row--archived{opacity:.65}.savings-row__top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:600}.savings-row__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.savings-row__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px}.savings-progress{display:block;height:8px;border-radius:999px;background:var(--app-bg);overflow:hidden}.savings-progress__fill{display:block;height:100%;background:var(--app-accent);border-radius:999px}.goal-card__price{font-size:1.1rem;font-weight:700;margin:0 0 8px}.goal-card__section,.fund-card__section{margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid var(--app-border)}.goal-card__section:last-of-type,.fund-card__section:last-of-type{border-bottom:none;padding-bottom:0}.goal-card__actions,.fund-card__actions{display:flex;flex-wrap:wrap;gap:8px}.fund-card__note{font-style:italic}.fund-operations__list{display:flex;flex-direction:column;gap:4px;margin:8px 0 0}.fund-operations__row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.85rem;padding:4px 0;border-top:1px solid var(--app-border)}.fund-operations__row:first-child{border-top:none}.installments-table{margin-top:10px}.installments-table__row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.installments-table__row input{border:1px solid var(--app-border);border-radius:8px;padding:8px 10px;background:var(--app-bg);color:var(--app-text);font:inherit;min-width:0}.installments-table__month,.installments-table__amount{flex:1}.installments-table__summary{font-size:.85rem;margin:8px 0}.debt-plan-card__totals{margin:0 0 10px;font-size:.9rem}.debt-plan-list{display:flex;flex-direction:column;gap:10px}.debt-plan-row{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-top:1px solid var(--app-border)}.debt-plan-row:first-child{border-top:none;padding-top:0}.debt-plan-row__top{display:flex;justify-content:space-between;gap:8px;font-weight:600}.debt-plan-row__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debt-plan-row__amount{flex-shrink:0;white-space:nowrap}.debt-plan-row__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px}.debt-plan-row__rate{align-self:flex-start;border:none;background:none;padding:0;margin-top:2px;color:var(--app-accent);font:inherit;font-size:.85rem;cursor:pointer;text-align:left}.debt-plan-row__rate-form{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px}.debt-plan-row__rate-form input{flex:1;min-width:100px;border:1px solid var(--app-border);border-radius:8px;padding:6px 8px;background:var(--app-bg);color:var(--app-text);font:inherit}.debt-plan-row__clear-rate{padding:0}.debt-plan-strategy__extra{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.debt-plan-strategy__extra .form-field{flex:1;min-width:140px;margin-bottom:0}.debt-plan-strategy__rate-warning{margin:10px 0 0;color:var(--app-warning);font-size:.85rem;font-weight:600}.debt-plan-cta{text-align:center}.debt-plan-cta .btn{margin-top:8px}.debt-plan-summary__headline{margin:0;font-size:1.05rem;font-weight:700}.debt-plan-warning__list{margin:8px 0 0;display:flex;flex-direction:column;gap:4px}.freedom-timeline__svg{display:block;width:100%;height:auto}.freedom-timeline__today-label{fill:var(--app-hint);font-size:8px}.freedom-timeline__main-line{stroke:var(--app-accent);stroke-width:3;stroke-linecap:round}.freedom-timeline__closure-dot{fill:var(--app-surface);stroke:var(--app-accent);stroke-width:2}.freedom-timeline__closure-label{fill:var(--app-hint);font-size:7px}.freedom-timeline__finish{font-size:12px;text-anchor:middle}.freedom-timeline__baseline-line{stroke:var(--app-hint);stroke-width:3;stroke-linecap:round;stroke-dasharray:5 4;opacity:.6}.freedom-timeline__baseline-label{fill:var(--app-hint);font-size:8px}@media (max-width: 480px){.freedom-timeline__closure-label--alt{display:none}}.debt-plan-order__list{display:flex;flex-direction:column;gap:6px;margin:0 0 10px}.debt-plan-order__row{display:flex;align-items:center;gap:8px;background:var(--app-bg);border:1px solid var(--app-border);border-radius:10px;padding:8px 10px}.debt-plan-order__position{flex-shrink:0;color:var(--app-hint);font-variant-numeric:tabular-nums}.debt-plan-order__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.debt-plan-order__actions{display:flex;gap:4px;flex-shrink:0}.debt-plan-order__picker{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.debt-plan-order__picker-item{width:100%;text-align:left;border:1px solid var(--app-border);border-radius:8px;padding:8px 10px;background:var(--app-bg);color:var(--app-text);font:inherit;cursor:pointer}.debt-plan-order__add{width:100%}
