.toast-stack{position:fixed;top:calc(var(--header-height) + 12px);right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 40px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-lg);border:1px solid var(--color-border);border-left:4px solid var(--color-accent);background:var(--color-surface);box-shadow:0 8px 28px #0f172a29;font-size:.875rem;line-height:1.45;color:var(--color-text);animation:toast-in .25s ease}.toast__icon{flex:none;width:22px;height:22px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:13px;font-weight:700;font-style:normal;color:#fff}.toast__text{flex:1;word-break:break-word}.toast__close{flex:none;border:none;background:transparent;cursor:pointer;font-size:14px;line-height:1;padding:4px;color:var(--color-text-muted);border-radius:var(--radius-md)}.toast__close:hover{background:#f1f5f9;color:var(--color-text)}.toast--success{border-left-color:var(--color-success);background:#f0fdf4}.toast--success .toast__icon{background:var(--color-success)}.toast--error{border-left-color:var(--color-danger);background:#fef2f2}.toast--error .toast__icon{background:var(--color-danger)}.toast--info{border-left-color:#2563eb;background:#eff6ff}.toast--info .toast__icon{background:#2563eb}@keyframes toast-in{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}.toast--leaving{animation:toast-out .2s ease forwards}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(32px)}}@media (max-width: 768px){.toast-stack{top:68px;left:12px;right:12px;width:auto}.toast{animation-name:toast-in-top;font-size:.9rem}.toast--leaving{animation-name:toast-out-top}@keyframes toast-in-top{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out-top{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}}.route-error{display:flex;flex-direction:column;gap:12px;align-items:flex-start;min-height:200px;padding:24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.route-error__title{font-size:18px;color:var(--color-text)}.route-error__text{max-width:560px;color:var(--color-text-muted);font-size:14px;line-height:1.5}.route-skeleton{display:flex;flex-direction:column;gap:10px;min-height:280px}.route-skeleton__label{color:var(--color-text-muted);font-size:13px}.route-skeleton__bar,.route-skeleton__card,.route-skeleton__panel{border-radius:var(--radius-lg);background:linear-gradient(90deg,#eef2f7,#e2e8f0,#eef2f7 90%);background-size:200% 100%;animation:route-skeleton-shimmer 1.4s ease-in-out infinite}.route-skeleton__bar{width:240px;max-width:60%;height:28px}.route-skeleton__row{display:flex;flex-wrap:wrap;gap:10px}.route-skeleton__card{flex:1 1 220px;height:96px}.route-skeleton__panel{flex:1 1 auto;min-height:200px}.route-skeleton--compact{min-height:200px}@keyframes route-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){.route-skeleton__bar,.route-skeleton__card,.route-skeleton__panel{animation:none}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a73;animation:confirm-overlay-in .15s ease}.confirm-dialog{width:min(440px,100%);padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 18px 48px #0f172a47;color:var(--color-text);animation:confirm-dialog-in .18s ease}.confirm-dialog__title{margin:0 0 8px;font-size:1rem;font-weight:600;line-height:1.4}.confirm-dialog__text{margin:0;font-size:.875rem;line-height:1.5;color:var(--color-text-muted)}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.confirm-dialog__button{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border:1px solid transparent;border-radius:var(--radius-pill);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.confirm-dialog__button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.confirm-dialog__button--cancel{background:transparent;border-color:var(--color-border);color:var(--color-text)}.confirm-dialog__button--cancel:hover{background:var(--color-bg)}.confirm-dialog__button--neutral{background:var(--color-primary);color:#fff}.confirm-dialog__button--neutral:hover{background:#1e293b}.confirm-dialog__button--danger{background:var(--color-danger);color:#fff}.confirm-dialog__button--danger:hover{background:#b91c1c}@keyframes confirm-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media (max-width: 768px){.confirm-overlay{padding:12px}.confirm-dialog{padding:16px}.confirm-dialog__actions{flex-direction:column;gap:8px}.confirm-dialog__button{width:100%}}.dashboard-page__header{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:10px}.dashboard-page__tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.dashboard-page__save{min-width:92px;font-size:.85rem;color:var(--color-text-muted)}.dashboard-page__save--saving{color:var(--color-text-muted)}.dashboard-page__save--saved{color:var(--color-success)}.dashboard-page__save--error{color:var(--color-danger)}.widget-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;align-items:start}.card.widget-card{padding:16px 18px;margin:0;border-radius:var(--radius-lg);min-width:0;background:linear-gradient(135deg,#0f172a,#1e293b 55%,#334155);border:1px solid rgba(148,163,184,.16);color:#e2e8f0;box-shadow:0 10px 28px #0f172a38}.widget-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid rgba(148,163,184,.16)}.widget-card__heading{min-width:0}.widget-card__title{margin:0;font-size:.95rem;font-weight:600;color:#f1f5f9}.widget-card__subtitle{margin:2px 0 0;color:#94a3b8;font-size:.8rem}.widget-card__tools{display:flex;align-items:center;gap:4px;flex-shrink:0}.widget-card__handle{border:0;background:transparent;padding:2px 6px;border-radius:6px;color:#94a3b8;font-size:1rem;line-height:1;cursor:grab;touch-action:none}.widget-card__handle:hover{background:#94a3b829;color:#f1f5f9}.widget-card__handle:active{cursor:grabbing}.widget-card__toggle{border:1px solid rgba(148,163,184,.25);background:#94a3b814;padding:3px 10px;border-radius:var(--radius-pill);color:#cbd5e1;font-size:.8rem;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.widget-card__toggle:hover{background:#94a3b82e;color:#f1f5f9}.widget-card__body{min-width:0}.widget-card--edit{outline:1px dashed rgba(148,163,184,.35);outline-offset:2px}.widget-card--dragging{box-shadow:0 18px 40px #0206178c;opacity:.94;z-index:2;position:relative}.widget-card--hidden{opacity:.55}.widget-card__hidden-note{margin:0;color:#94a3b8;font-size:.85rem}.widget-metric{display:flex;flex-direction:column;gap:2px;margin-bottom:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(148,163,184,.28);background:#94a3b81a;box-shadow:inset 0 1px #f8fafc0f}.widget-metric__label{color:#94a3b8;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.widget-metric__value{margin-top:4px;font-size:1.35rem;font-weight:700;color:#f8fafc;font-variant-numeric:tabular-nums}.widget-metric__value--positive{color:#86efac}.widget-metric__value--negative{color:#fca5a5}.widget-list{display:flex;flex-direction:column;gap:6px}.widget-list__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:.85rem}.widget-list__label{min-width:0;color:#cbd5e1}.widget-list__value{flex-shrink:0;color:#f1f5f9;font-variant-numeric:tabular-nums}.widget-list__value--positive{color:#86efac}.widget-list__value--negative{color:#fca5a5}.widget-list__stack{display:flex;flex-direction:column;min-width:0;gap:2px}.widget-list__meta{display:flex;align-items:baseline;gap:8px;min-width:0;color:#94a3b8;font-size:.75rem}.widget-list__category{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-list__date{flex-shrink:0}.widget-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-note{margin:8px 0 0;color:#94a3b8;font-size:.8rem}.widget-date{margin-top:8px;color:#94a3b8;font-size:.75rem}.widget-bar{height:8px;margin-top:10px;border-radius:999px;background:#94a3b82e;overflow:hidden}.widget-bar__fill{display:block;height:100%;width:var(--ratio, 0%);border-radius:999px;background:#93c5fd;transition:width .25s ease}.widget-bar__fill--over{background:#fca5a5}.widget-chart{width:100%}.widget-chart__spark{width:100%;height:72px}.widget-state{display:flex;flex-direction:column;gap:8px}.widget-state__text{margin:0;color:#94a3b8;font-size:.85rem}.widget-state--error{padding:12px 14px;border-radius:10px;background:#dc262626;border:1px solid rgba(252,165,165,.35)}.widget-state--error .widget-state__text{color:#fca5a5}.widget-state__retry{align-self:flex-start;border:1px solid rgba(148,163,184,.25);background:#94a3b814;border-radius:var(--radius-pill);padding:4px 12px;color:#cbd5e1;font-size:.8rem;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.widget-state__retry:hover{background:#94a3b82e;border-color:#94a3b866;color:#f1f5f9}.widget-state__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.widget-skeleton{height:56px;border-radius:8px;background:linear-gradient(90deg,#94a3b81a 25%,#94a3b833 37%,#94a3b81a 63%);background-size:400% 100%;animation:widget-skeleton-pulse 1.4s ease-in-out infinite}@keyframes widget-skeleton-pulse{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion: reduce){.widget-skeleton,.widget-bar__fill{animation:none;transition:none}}.dashboard-page__section{margin-top:24px}.dashboard-page__section-title{margin:0 0 10px;font-size:.9rem;font-weight:600;color:var(--color-text-muted)}.dashboard-page__empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;border:1px dashed rgba(148,163,184,.3);border-radius:var(--radius-lg);background:linear-gradient(135deg,#0f172a,#1e293b 55%,#334155);color:#94a3b8;box-shadow:0 10px 28px #0f172a38}.dashboard-page__empty-text{margin:0;font-size:.9rem}.dashboard-page__empty-btn{padding:6px 14px;border-radius:var(--radius-pill);border:1px solid #e2e8f0;background:#e2e8f0;color:#0f172a;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.dashboard-page__empty-btn:hover{background:#f8fafc;border-color:#f8fafc}@media (max-width: 768px){.widget-grid{grid-template-columns:1fr}.dashboard-page__header{align-items:flex-start}.dashboard-page__save{min-width:0}}@media (max-width: 480px){.card.widget-card{padding:14px 16px}.widget-metric__value{font-size:1.2rem}}.widget-card--loading{display:flex;flex-direction:column;gap:10px}.widget-card--loading:before{content:"";width:120px;height:12px;border-radius:6px;background:#94a3b829}.refreshing-badge{display:inline-flex;align-items:center;gap:7px;padding:3px 10px;font-size:12px;color:#94a3b8;background:#94a3b81a;border:1px solid rgba(148,163,184,.16);border-radius:var(--radius-pill)}.refreshing-badge__pulse{width:7px;height:7px;border-radius:50%;background:#93c5fd;animation:refreshing-badge-pulse 1.1s ease-in-out infinite}@keyframes refreshing-badge-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.refreshing-badge__pulse{animation:none}}.card.budget-card{background:linear-gradient(135deg,#0f172a,#1e293b 55%,#334155);border:1px solid rgba(148,163,184,.16);border-radius:var(--radius-lg);padding:24px 28px;margin:0;color:#e2e8f0;box-shadow:0 10px 28px #0f172a38}.budget-card__subtitle{margin:4px 0 0;color:#94a3b8;font-size:.9rem}.budget-card__note{margin:16px 0;color:#94a3b8}.budget-page__header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-bottom:16px;border-bottom:1px solid rgba(148,163,184,.16)}.budget-page__title{margin:0;font-size:1.4rem;font-weight:600;color:#f1f5f9;letter-spacing:.01em}.budget-page__navigation{display:flex;align-items:center;gap:8px;padding:0;background:transparent;border:none}.budget-page__nav-button{width:36px;height:36px;background:#94a3b814;border:1px solid rgba(148,163,184,.25);border-radius:var(--radius-pill);color:#cbd5e1;font-size:1.1rem;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.budget-page__nav-button:hover{background:#94a3b824;border-color:#94a3b873;color:#f1f5f9}.budget-page__current-month{display:flex;align-items:center;gap:10px}.budget-page__month-name{font-size:1.1rem;font-weight:600;color:#93c5fd;min-width:150px;text-align:center}.budget-page__today-button{padding:6px 14px;background:#94a3b814;border:1px solid rgba(148,163,184,.25);border-radius:var(--radius-pill);color:#cbd5e1;font-size:.85rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.budget-page__today-button:hover{background:#e2e8f0;border-color:#e2e8f0;color:#0f172a}.budget-overall-progress{margin:16px 0;padding:18px 22px;background:#94a3b814;border:1px solid rgba(148,163,184,.28);border-radius:14px;box-shadow:inset 0 1px #f8fafc0f}.budget-overall-progress__bar{height:26px;background:#0f172a80;border:1px solid rgba(148,163,184,.2);border-radius:13px;overflow:hidden}.budget-overall-progress__fill{height:100%;display:flex;align-items:center;justify-content:center;border-radius:13px;min-width:2px;transition:width .4s ease}.budget-overall-progress__percent{color:#fff;font-size:.8rem;font-weight:700;text-shadow:0 1px 2px rgba(15,23,42,.5)}.budget-overall-progress__stats{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:12px}.budget-overall-progress__stat{display:flex;flex-direction:column;gap:2px}.budget-overall-progress__stat--budget{align-items:center}.budget-overall-progress__stat--remaining{align-items:flex-end}.budget-overall-progress__stat-value{font-size:1.5rem;font-weight:700;color:#f8fafc}.budget-overall-progress__stat-label{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.budget-overall-progress__stat-label:before{content:"";width:8px;height:8px;border-radius:50%;flex:0 0 auto}.budget-overall-progress__stat--spent .budget-overall-progress__stat-label:before{background:#34d399}.budget-overall-progress__stat--budget .budget-overall-progress__stat-label:before{background:#93c5fd}.budget-overall-progress__stat--remaining .budget-overall-progress__stat-label:before{background:#a78bfa}.budget-overall-progress__stat--over .budget-overall-progress__stat-value{color:#fca5a5}.budget-overall-progress__stat--over .budget-overall-progress__stat-label:before{background:#f87171}.budget-overall-progress__stat-note{color:#93c5fd;font-size:.75rem;letter-spacing:0;text-transform:none}.budget-overall-progress__note{margin-top:10px;font-size:.85rem;color:#94a3b8}.budget-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.budget-controls__button{padding:6px 14px;background:#94a3b814;border:1px solid rgba(148,163,184,.25);border-radius:var(--radius-pill);color:#cbd5e1;font-size:.85rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.budget-controls__button:hover{background:#94a3b824;border-color:#94a3b873;color:#f1f5f9}.budget-table{--budget-mark-width: 6px;background:transparent;border:none;border-radius:0;overflow:visible;box-shadow:none}.budget-table__header{display:grid;grid-template-columns:3fr 1fr 1fr 1fr 2fr;gap:.5rem;padding:10px 12px;margin-bottom:6px;background:#94a3b814;border:1px solid rgba(148,163,184,.2);border-radius:10px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.budget-table__col--budget,.budget-table__col--actual,.budget-table__col--remaining,.budget-table__col--progress{text-align:right}.budget-table__body{display:flex;flex-direction:column;gap:6px}.budget-table__row{display:grid;grid-template-columns:3fr 1fr 1fr 1fr 2fr;gap:.5rem;align-items:center;padding:12px;border-bottom:none;border-radius:10px;transition:background .2s}.budget-table__row.budget-table__row--parent{background:#94a3b814;border:1px solid rgba(148,163,184,.16);box-shadow:inset 0 1px #f8fafc0f;position:relative}.budget-table__row.budget-table__row--parent:hover{background:#94a3b824;border-color:#94a3b873}.budget-table__row--has-children{cursor:pointer}.budget-table__row.budget-table__row--investment{background:#93c5fd14;border-color:#93c5fd38}.budget-table__row.budget-table__row--investment:hover{background:#93c5fd24;border-color:#93c5fd66}.budget-table__row.budget-table__row--child{background:transparent;padding:10px 12px;color:#cbd5e1;font-size:.92rem}.budget-table__row.budget-table__row--child:hover{background:#94a3b80f}.budget-table__group{margin:0 0 10px;padding:4px 0;border:1px solid rgba(148,163,184,.16);border-left:var(--budget-mark-width) solid #94a3b8;border-radius:10px;background:#94a3b80d}.budget-table__group .budget-table__row{padding-left:calc(13px - var(--budget-mark-width));padding-right:12px}.budget-table__group .budget-table__row--child{position:relative}.budget-table__group .budget-table__row--child:before{content:"";position:absolute;left:calc(12px - var(--budget-mark-width) / 2);top:0;bottom:0;width:1px;background:#94a3b84d}.budget-table__group .budget-table__row--child:after{content:"";position:absolute;left:calc(12px - var(--budget-mark-width) / 2);top:50%;width:calc(35px - var(--budget-mark-width) / 2 - 12px);height:1px;background:#94a3b84d}.budget-table__group .budget-table__row--child:last-child:before{bottom:50%}.budget-table__group .budget-table__cell--category{padding-left:28px}.budget-table__row-color-line{position:absolute;left:0;top:0;bottom:0;width:var(--budget-mark-width);border-radius:10px 0 0 10px}.budget-table__cell{display:flex;align-items:center;gap:.75rem;min-width:0}.budget-table__cell--category{gap:.5rem}.budget-table__cell--budget,.budget-table__cell--actual,.budget-table__cell--remaining{justify-content:flex-end;color:#e2e8f0}.budget-table__cell--budget strong,.budget-table__cell--actual strong{color:#f1f5f9;font-weight:600}.budget-table__cell--progress{gap:10px}.budget-table__toggle{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:#93c5fd;font-size:.7rem;cursor:pointer}.budget-table__category-name--parent{color:#f1f5f9;font-size:1rem;font-weight:600}.budget-table__category-name--child{color:#cbd5e1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-table__balance-hint{margin-left:6px;font-style:italic;font-size:.85em;color:#94a3b8}.budget-table__muted-italic{font-style:italic;color:#94a3b8}.budget-table__edit-budget{margin-left:4px;padding:4px 12px;background:#94a3b814;border:1px solid rgba(148,163,184,.25);border-radius:var(--radius-pill);color:#cbd5e1;font-size:.78rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.budget-table__edit-budget:hover{background:#e2e8f0;border-color:#e2e8f0;color:#0f172a}.budget-table__progress-bar{flex:1;height:8px;background:#0f172a80;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-pill);overflow:hidden}.budget-table__progress-bar--parent{height:10px}.budget-table__progress-fill{height:100%;border-radius:var(--radius-pill);transition:width .3s ease}.budget-table__percentage{min-width:45px;text-align:right;color:#94a3b8;font-size:.85rem}.budget-table__percentage--parent{color:#e2e8f0;font-weight:600}.budget-table__positive{color:#34d399}.budget-table__negative{color:#fca5a5}.budget-no-data{padding:24px;border:1px dashed rgba(148,163,184,.3);border-radius:12px;background:#94a3b80f;text-align:center;color:#94a3b8}.budget-no-data p{margin:4px 0}.budget-page__loading{color:#94a3b8;padding:20px}.budget-page__error{padding:12px 16px;margin-bottom:16px;background:#dc262626;border:1px solid rgba(252,165,165,.35);border-radius:10px;color:#fca5a5}.budget-edit-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.budget-edit-modal__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#020617a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.budget-edit-modal__content{position:relative;z-index:1;width:100%;max-width:460px;padding:24px;background:linear-gradient(135deg,#0f172a,#1e293b 55%,#334155);border:1px solid rgba(148,163,184,.28);border-radius:14px;box-shadow:0 20px 50px #02061780}.budget-edit-modal__content h3{margin:0 0 8px;color:#f1f5f9;font-size:1.2rem;font-weight:600}.budget-edit-modal__content p{margin:0 0 18px;color:#94a3b8;font-size:.9rem}.budget-edit-modal__input-group{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.budget-edit-modal__input-group label{color:#93c5fd;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.budget-edit-modal__input-group input{padding:10px 14px;background:#0f172a80;border:1px solid rgba(148,163,184,.35);border-radius:var(--radius-md);color:#f1f5f9;font-size:16px}.budget-edit-modal__input-group input:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #93c5fd2e}.budget-edit-modal__buttons{display:flex;gap:10px}.budget-edit-modal__button{flex:1;padding:10px 14px;border-radius:var(--radius-pill);font-size:.9rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.budget-edit-modal__button--save{background:#e2e8f0;border:1px solid #e2e8f0;color:#0f172a;font-weight:600}.budget-edit-modal__button--save:hover{background:#f8fafc;border-color:#f8fafc}.budget-edit-modal__button--cancel{background:#94a3b814;border:1px solid rgba(148,163,184,.25);color:#cbd5e1}.budget-edit-modal__button--cancel:hover{background:#94a3b824;border-color:#94a3b873;color:#f1f5f9}.budget-edit-modal__button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.card.budget-card{padding:18px}.budget-page__header{flex-direction:column;align-items:flex-start}.budget-table__header,.budget-table__row{grid-template-columns:2fr 1fr 1fr 1fr 1fr}.budget-edit-modal__buttons{flex-direction:column}}@media (max-width: 480px){.budget-overall-progress__bar{height:22px}.budget-overall-progress__stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.budget-overall-progress__stat--budget{grid-column:1 / -1;order:-1;align-items:flex-start}.budget-overall-progress__stat--remaining{align-items:flex-start}.budget-table__header{display:none}.budget-table__row{grid-template-columns:1fr;gap:4px;padding:12px}.budget-table__cell{justify-content:space-between}.budget-table__cell:before{content:attr(data-label);color:#94a3b8;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;width:120px;flex:0 0 auto}.budget-table__cell--category:before{content:"Категория:"}.budget-table__cell--budget:before{content:"Бюджет:"}.budget-table__cell--actual:before{content:"Потрачено:"}.budget-table__cell--remaining:before{content:"Осталось:"}.budget-table__cell--progress:before{content:"Прогресс:"}.budget-table__group{margin:0 0 10px}.budget-table__group .budget-table__row{padding-left:12px}.budget-table__group .budget-table__cell--category{padding-left:0}.budget-table__group .budget-table__row--child:before,.budget-table__group .budget-table__row--child:after{display:none}.budget-table__edit-budget{margin-left:0;font-size:.75rem;padding:4px 10px}}.select-menu{position:relative;display:inline-flex}.select-menu__trigger{padding:8px 32px 8px 10px;font-family:inherit;font-size:13px;color:#f1f5f9;text-align:left;background:#94a3b81a;border:1px solid rgba(148,163,184,.28);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 2l5 4 5-4' fill='none' stroke='%2394a3b8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.select-menu__trigger:hover:not(:disabled){border-color:#94a3b873;background-color:#94a3b829}.select-menu__trigger:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #93c5fd38}.select-menu__trigger:disabled{opacity:.55;cursor:default}.select-menu__trigger[aria-expanded=true]{border-color:#94a3b873;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 6l5-4 5 4' fill='none' stroke='%2394a3b8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.select-menu__value{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.select-menu__list{position:fixed;z-index:40;top:0;left:0;max-height:264px;overflow-y:auto;color-scheme:dark;margin:0;padding:4px;list-style:none;background:#0f172a;border:1px solid rgba(148,163,184,.28);border-radius:var(--radius-md);box-shadow:0 14px 30px #0206178c}.select-menu__option{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:13px;color:#e2e8f0;border-radius:var(--radius-sm);cursor:pointer}.select-menu__dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 1px #f8fafc59}.select-menu__option:hover,.select-menu__option:focus{outline:none;background:#94a3b829;color:#f1f5f9}.select-menu__option--selected,.select-menu__option--selected:focus{background:#243c5c;color:#f1f5f9}.accounts-page{margin-top:8px}.card.accounts-card{background:linear-gradient(135deg,#0f172a,#1e293b 55%,#334155);border:1px solid rgba(148,163,184,.16);color:#e2e8f0;box-shadow:0 10px 28px #0f172a38}.accounts-card__title{margin:0;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.16);font-size:18px;font-weight:600;color:#f1f5f9}.accounts-card__title-accent{color:#93c5fd}.accounts-card__subtitle{margin:10px 0 0;font-size:13px;color:#94a3b8}.accounts-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;padding:18px 22px;border-radius:14px;border:1px solid rgba(148,163,184,.28);background:#94a3b81a;box-shadow:inset 0 1px #f8fafc0f}.accounts-summary__text{flex:1;min-width:0}.accounts-summary__label{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;margin-bottom:6px}.accounts-summary__amount{font-size:2rem;font-weight:700;line-height:1.2;color:#f8fafc;font-variant-numeric:tabular-nums}.accounts-summary__amount.is-negative{color:#fca5a5}.accounts-summary__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.accounts-summary__count{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);background-color:#94a3b82e;color:#cbd5e1;font-size:.8rem}.accounts-summary__icon{flex:none;width:56px;height:56px;border-radius:50%;background-color:#94a3b824;border:1px solid rgba(148,163,184,.25);display:flex;align-items:center;justify-content:center;font-size:28px}@media (max-width: 480px){.accounts-summary{padding:16px 18px}.accounts-summary__amount{font-size:1.6rem}.accounts-summary__icon{width:46px;height:46px;font-size:23px}}.accounts-summary__toggle{font:inherit;font-size:.8rem;color:#cbd5e1;background-color:#94a3b814;border:1px solid rgba(148,163,184,.25);border-radius:var(--radius-pill);padding:4px 12px;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.accounts-summary__toggle:hover{color:#f1f5f9;border-color:#94a3b873;background-color:#94a3b82e}.accounts-summary__toggle.is-active{background-color:#e2e8f0;border-color:#e2e8f0;color:#0f172a;font-weight:600}.accounts-summary__toggle.accounts-summary__toggle.is-active:hover{background-color:#f8fafc;border-color:#f8fafc;color:#0f172a}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px;padding-top:16px;border-top:1px solid rgba(148,163,184,.16)}.account-card{position:relative;display:flex;flex-direction:column;gap:12px;border:1px solid rgba(148,163,184,.28);border-radius:12px;padding:16px;background-color:#94a3b814;box-shadow:inset 0 1px #f8fafc0f;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.account-card:hover{background-color:#94a3b824;border-color:#94a3b873;transform:translateY(-2px)}.account-card.is-archived{opacity:.55}.account-card.is-archived:hover{opacity:.8;transform:none}.account-card:focus-within{z-index:30}.account-card__top{display:flex;align-items:flex-start;gap:12px;min-width:0}.account-card__icon{flex:none;width:42px;height:42px;border-radius:10px;background-color:#94a3b824;border:1px solid rgba(148,163,184,.25);display:flex;align-items:center;justify-content:center;font-size:21px}.account-card__info{flex:1;min-width:0}.account-card__title{margin:0 0 4px;font-size:15px;font-weight:600;line-height:1.35;color:#f1f5f9;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.account-card__badge{font-size:.72rem;font-weight:500;background-color:#94a3b833;color:#94a3b8;padding:2px 8px;border-radius:var(--radius-pill);margin-left:.5rem;white-space:nowrap}.account-card__type{color:#94a3b8;font-size:.85rem}.account-card__money{flex:none;text-align:right}.account-card__balance{font-size:1.25rem;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;color:#f8fafc}.account-card__balance.is-negative{color:#fca5a5}.account-card__currency{font-size:.75rem;color:#94a3b8}.account-card__cat{margin-top:auto;padding-top:4px}.account-card__label{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#94a3b8;margin-bottom:6px}.account-card__label:before{content:"";width:14px;height:1px;background:#94a3b873}.account-card__cat-dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 1px #f8fafc59}.account-card__select{width:100%}.account-card__select .select-menu__trigger{width:100%;padding:.45rem 2rem .45rem .6rem;font-size:.9rem;font-family:inherit;border-color:#94a3b859;border-radius:8px;background-color:#0f172a59}.account-card__select .select-menu__trigger:hover:not(:disabled){border-color:#94a3b88c;background-color:#0f172a80}.account-card__select .select-menu__trigger:focus{background-color:#0f172a80;box-shadow:0 0 0 3px #93c5fd2e}@media (max-width: 480px){.accounts-grid{grid-template-columns:1fr}}.accounts-error{margin-top:16px;padding:12px 16px;border-radius:10px;background:#dc262626;border:1px solid rgba(252,165,165,.35);color:#fca5a5;font-size:13px}.accounts-note{margin-top:14px;color:#94a3b8;font-size:13px}.accounts-empty{margin:16px 0 4px;padding:28px 24px;text-align:center;border-radius:12px;border:1px dashed rgba(148,163,184,.3);background:#94a3b80f;color:#94a3b8;font-size:13px}.accounts-empty__title{margin:0 0 8px;font-size:15px;font-weight:600;color:#e2e8f0}.accounts-empty p{margin:2px 0}.tabs-header{display:flex;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem}.tabs-tab{padding:.75rem 1.5rem;background-color:transparent;border:none;border-bottom:2px solid transparent;font-size:1rem;color:var(--color-text-muted);cursor:pointer}.tabs-tab--active{border-bottom-color:var(--color-accent);font-weight:600;color:var(--color-accent)}.tabs-header--dark{gap:6px;padding:8px;border:1px solid rgba(148,163,184,.16);border-radius:var(--radius-lg);background:linear-gradient(135deg,#0f172a,#1e293b 55%,#334155);box-shadow:0 10px 28px #0f172a38,inset 0 1px #e2e8f00f;margin-bottom:10px}.tabs-header--dark .tabs-tab{padding:8px 16px;border:1px solid rgba(148,163,184,.25);border-radius:var(--radius-pill);background:#94a3b814;font-size:13px;color:#cbd5e1;text-decoration:none}.tabs-header--dark .tabs-tab:hover{background:#94a3b82e;color:#f1f5f9}.tabs-header--dark .tabs-tab--active{background:#e2e8f0;border-color:#e2e8f0;font-weight:600;color:#0f172a}.tabs-header--dark .tabs-tab--active.tabs-tab--active:hover{background:#f8fafc;border-color:#f8fafc;color:#0f172a}@media (max-width: 640px){.tabs-header{flex-wrap:wrap}.tabs-header--dark .tabs-tab{padding:7px 12px;font-size:12px}}.table-wrap.report-table-wrap{width:fit-content;max-width:100%}.report-table.table{width:fit-content}.report-table th.th-num,.report-table td.cell-num{text-align:right;font-variant-numeric:tabular-nums}.report-table th.th-group{text-align:center}.report-table th:not(.sticky-col),.report-table td:not(.sticky-col){border-left:1px solid #e8eef5}.report-table td.cat-tint{background-color:var(--tint, transparent)}.report-table tbody td.sticky-col-2{background-color:#f8fafc}.report-table tbody tr:hover td{background-color:#eef4fb}.report-table tfoot td{background-color:#f1f5f9;font-weight:700;border-top:2px solid var(--color-border);border-bottom:none}.report-table.table tfoot td.sticky-col-2{background-color:#eaf2fb}.report-table thead th{padding-top:10px;padding-bottom:10px}.report-table td.cell-empty{color:#cbd5e1;text-align:right}.report-cats{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid rgba(148,163,184,.16)}.report-cats__title{margin:0 0 12px;color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.report-cats__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.report-cats__item{min-width:0;padding:10px 12px;background:#94a3b81a;border:1px solid rgba(148,163,184,.14);border-left:3px solid rgba(148,163,184,.35);border-radius:var(--radius-md);transition:background-color .15s ease}.report-cats__item:hover{background:#94a3b82e}.report-cats__name{margin-bottom:6px;color:#cbd5e1;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-cats__sum{color:#f8fafc;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.report-cats__sum--outcome{color:#fca5a5}.report-cats__sum--income{color:#86efac}@media (max-width: 480px){.report-cats__grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}}.card.report-card-dark{background:linear-gradient(135deg,#0f172a,#1e293b 55%,#334155);border-color:#94a3b829;color:#e2e8f0}.report-card__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid rgba(148,163,184,.22)}.report-card__title{margin:0;color:#f1f5f9;font-size:18px;font-weight:700}.report-card__period{display:inline-flex;align-items:center;gap:8px;color:#94a3b8;font-size:13px}.report-card__period-label{white-space:nowrap}.report-card__select{flex:0 0 auto}.report-card__year+.report-card__year{margin-top:18px;padding-top:18px;border-top:1px solid rgba(148,163,184,.16)}.report-card__year-title{margin:0 0 12px;color:#f1f5f9;font-size:16px;font-weight:700}.report-card__state{padding:24px 0;color:#cbd5e1;text-align:center}.report-card__state p{margin:0 0 8px}.report-card__state-title{color:#f1f5f9;font-size:16px;font-weight:700}.report-card__state--error{color:#fca5a5}.report-view__note{margin-top:6px;color:var(--color-text-muted);font-size:14px}@media (max-width: 480px){.report-card__head{align-items:flex-start}.report-card__period{width:100%}.report-card__select{flex:1 1 auto}}.report-card-dark .table-wrap{background:transparent;border-color:#94a3b82e}.report-card-dark .table{color:#e2e8f0}.report-card-dark .table th,.report-card-dark .table td{border-bottom-color:#94a3b81f}.report-card-dark .report-table th:not(.sticky-col),.report-card-dark .report-table td:not(.sticky-col){border-left-color:#94a3b824}.report-card-dark .table thead th{background-color:#94a3b81a;color:#cbd5e1}.report-card-dark .table thead th.sticky-col,.report-card-dark .table thead th.sticky-col-2{background-color:#243247;color:#e2e8f0}.report-card-dark .table td.sticky-col,.report-card-dark .report-table tbody td.sticky-col-2{background-color:#1b2636}.report-card-dark .table th.sticky-col,.report-card-dark .table td.sticky-col,.report-card-dark .table th.sticky-col-2,.report-card-dark .table td.sticky-col-2{box-shadow:2px 0 6px #00000059}.report-card-dark .report-table tbody tr:hover td{background-color:#94a3b829}.report-card-dark .report-table tbody tr:hover td.sticky-col,.report-card-dark .report-table tbody tr:hover td.sticky-col-2{background-color:#2e3a4b}.report-card-dark .income{color:#86efac}.report-card-dark .outcome{color:#fca5a5}.report-card-dark .report-table td.cell-empty{color:#5b6b81}.report-card-dark .report-table tfoot td{background-color:#94a3b824;color:#f1f5f9;border-top:2px solid rgba(148,163,184,.3)}.report-card-dark .table tfoot td.sticky-col,.report-card-dark .report-table.table tfoot td.sticky-col-2{background-color:#223047}.maintenance{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.maintenance__card{width:min(520px,100%);padding:36px 32px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 12px 36px #0f172a1a;text-align:center}.maintenance__icon{font-size:3.4rem;line-height:1;margin-bottom:18px}.maintenance__text{font-size:1.05rem;line-height:1.55;color:var(--color-text);overflow-wrap:break-word;white-space:pre-wrap}.maintenance__admin{margin-top:26px;padding-top:18px;border-top:1px dashed var(--color-border);text-align:left}.maintenance__admin-note{font-size:.8125rem;line-height:1.5;color:var(--color-text-muted)}.maintenance__admin-actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #0f172a;--color-primary-dark: #1e293b;--color-accent: #0f172a;--color-accent-hover: #1e293b;--color-bg: #f1f5f9;--color-surface: #ffffff;--color-text: #1f2937;--color-text-muted: #64748b;--color-border: #e2e8f0;--color-success: #16a34a;--color-danger: #dc2626;--color-warning: #b45309;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--header-height: 60px;--footer-height: 50px;--sidebar-width: 240px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 12px;--radius-pill: 999px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(180deg,#f1f5f9,#e7ecf4) fixed;color:var(--color-text);caret-color:transparent;cursor:default}input,textarea,select,[contenteditable=true]{caret-color:auto}input[type=checkbox],input[type=radio]{caret-color:none;cursor:pointer}input[type=submit],input[type=button],input[type=reset],input[type=file],select,button,.btn,a{cursor:pointer}.app-layout{display:flex;flex-direction:column;min-height:100vh}.header{height:var(--header-height);background:linear-gradient(135deg,#0f172a,#1e293b 55%,#334155);border-bottom:1px solid #0b1220;color:#e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10;position:relative;box-shadow:0 2px 10px #0f172a47}.header__logo{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:650;letter-spacing:.01em;color:#fff;text-decoration:none}.header__mark{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-md);background:#f8fafc;color:#0f172a;flex-shrink:0}.header__mark img{display:block;width:24px;height:24px}.header__actions{display:flex;align-items:center;gap:12px}.profile{position:relative}.profile__trigger{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;border:1px solid rgba(203,213,225,.35);border-radius:var(--radius-pill);background:#94a3b81f;color:#e2e8f0;font-size:14px;cursor:pointer;transition:background .15s,border-color .15s}.profile__trigger:hover,.profile__trigger--open{background:#94a3b838;border-color:#cbd5e199;color:#fff}.profile__avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#f8fafc;color:#0f172a;font-size:13px;font-weight:600;text-transform:uppercase;flex-shrink:0}.profile__caret{font-size:11px;transition:transform .15s}.profile__trigger--open .profile__caret{transform:rotate(180deg)}.profile__menu{position:absolute;top:calc(100% + 10px);right:0;z-index:300;min-width:230px;display:flex;flex-direction:column;gap:2px;padding:6px;background:linear-gradient(135deg,#0f172a,#1e293b 55%,#334155);color:#e2e8f0;border:1px solid rgba(148,163,184,.25);border-radius:var(--radius-lg);box-shadow:0 18px 45px #02061773,0 4px 12px #02061759,inset 0 1px #e2e8f014}.profile__menu-user{padding:8px 12px;font-size:13px;font-weight:600;color:#cbd5e1;border-bottom:1px solid rgba(148,163,184,.16);margin-bottom:4px}.profile__item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;border-radius:var(--radius-md);background:transparent;color:#cbd5e1;font-size:14px;text-align:left;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.profile__item:hover{background:#94a3b81f;color:#f8fafc}.profile__item:disabled{color:#64748b;cursor:default}.profile__item:disabled:hover{background:transparent;color:#64748b}.profile__item--active{background:#94a3b829;color:#f1f5f9;font-weight:600}.profile__item--danger:hover{background:#f871711f;color:#fca5a5}.profile__item-icon{width:16px;text-align:center;color:#94a3b8;flex-shrink:0}.profile__item--danger:hover .profile__item-icon{color:#f87171}.profile__item-hint{margin-left:auto;font-size:11px;color:#fca5a5}.profile__divider{height:1px;background:#94a3b829;margin:4px 6px}.header .btn{background:#f8fafc;color:#0f172a}.header .btn:hover{background:#fff}.header .btn--outline{background:transparent;color:#e2e8f0;border-color:#cbd5e173}.header .btn--outline:hover{background:#f8fafc;border-color:#f8fafc;color:#0f172a}.btn{padding:8px 16px;border-radius:var(--radius-md);border:1px solid transparent;font-size:14px;cursor:pointer;background:var(--color-primary);color:#fff;transition:background .15s}.btn:hover:not(:disabled){background:var(--color-primary-dark)}.btn--outline{background:transparent;color:var(--color-accent);border-color:#cbd5e1}.btn--outline:hover:not(:disabled){background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn--text{background:transparent;color:var(--color-text-muted)}.btn--text:hover:not(:disabled){background:#f1f5f9;color:var(--color-text)}.btn--danger{background:var(--color-danger)}.btn--danger:hover:not(:disabled){background:#b91c1c}.btn--small{padding:4px 10px;font-size:13px}.btn:disabled{opacity:.6;cursor:not-allowed}.maintenance-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 20px;background:var(--color-warning-bg);border-bottom:1px solid var(--color-warning-border);color:var(--color-warning);font-size:13px;line-height:1.45}.maintenance-banner__icon{font-size:16px}.maintenance-banner__text{color:var(--color-text)}.maintenance-banner__link{margin-left:auto;color:var(--color-warning);font-weight:600;text-decoration:underline}.maintenance-banner__link:hover{color:var(--color-text)}.main-area{display:flex;flex:1}.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg,#0f172a,#1e293b 60%,#1e293b);border-right:1px solid rgba(148,163,184,.15);padding:16px 0}.sidebar__nav{display:flex;flex-direction:column}.sidebar__divider{margin:10px 20px;border-top:1px solid rgba(148,163,184,.16)}.sidebar__link{display:block;padding:10px 20px;text-decoration:none;color:#94a3b8;border-left:3px solid transparent;font-size:15px;transition:color .15s,background-color .15s}.sidebar__link:hover{background:#94a3b81a;color:#fff}.sidebar__link.active,.sidebar__link--active{border-left-color:#f8fafc;background:#94a3b824;color:#fff;font-weight:600}.sidebar__link--active:hover{background:#94a3b833}.content{flex:1;padding:10px;overflow:auto}.footer{height:var(--footer-height);background:linear-gradient(135deg,#0f172a,#1e293b 55%,#334155);border-top:1px solid #0b1220;box-shadow:0 -2px 10px #0f172a2e;display:flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:.02em;color:#94a3b8;position:relative}.footer__versions{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:12px;color:#7f93ab;font-variant-numeric:tabular-nums;white-space:nowrap}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;margin-bottom:10px}.form{display:flex;flex-direction:column;gap:14px;max-width:360px}.form__group{display:flex;flex-direction:column;gap:6px}.form__label{font-size:14px;font-weight:500}.form__input{padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px}.form__input:focus{outline:none;border-color:var(--color-primary)}.input-wrap{position:relative;display:flex}.input-wrap .form__input{width:100%;padding-right:34px}.input-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer}.input-toggle:hover{color:var(--color-text);background:#0000000d}.form__error{color:var(--color-danger);font-size:14px}.form__hint{font-size:12px;color:var(--color-text-muted);margin-top:4px}.form__link{font-size:14px;color:var(--color-text-muted)}.auth-page{display:flex;justify-content:center;padding:60px 20px}.auth-card{background:var(--color-surface);padding:32px;border-radius:var(--radius-lg);border:1px solid var(--color-border);width:100%;max-width:400px}.hero{text-align:center;padding:80px 20px}.hero__title{font-size:40px;margin-bottom:16px}.hero__subtitle{font-size:18px;color:var(--color-text-muted);max-width:600px;margin:0 auto 32px}.table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;table-layout:auto}.table th,.table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.table th{background:#f8fafc;font-weight:600;font-size:13px;color:var(--color-text-muted)}.table tr:last-child td{border-bottom:none}.table th.sticky-col,.table td.sticky-col{position:sticky;left:0;background:var(--color-surface);z-index:2;box-shadow:2px 0 4px #0000000f;min-width:140px;width:140px;max-width:140px;padding:8px 12px}.table thead th.sticky-col{background:#f8fafc}.table tfoot td.sticky-col{background:#f1f5f9}.table th.sticky-col-2,.table td.sticky-col-2{position:sticky;left:140px;background:var(--color-surface);z-index:2;box-shadow:2px 0 4px #0000000f;min-width:130px;width:130px;max-width:110px;padding:8px 4px}.table thead th.sticky-col-2{background:#f8fafc}.table tfoot td.sticky-col-2{background:#f1f5f9}.table th:not(.sticky-col):not(.sticky-col-2),.table td:not(.sticky-col):not(.sticky-col-2){min-width:100px;max-width:180px;width:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.income{color:var(--color-success);font-weight:600}.outcome{color:var(--color-danger);font-weight:600}.menu-toggle,.sidebar__close,.sidebar-backdrop{display:none}@media (max-width: 768px){.header{padding:0 12px;gap:8px}.header__logo{position:absolute;top:0;left:50%;height:100%;transform:translate(-50%);justify-content:center;gap:8px;font-size:16px;max-width:calc(100% - 132px);overflow:hidden;white-space:nowrap}.header__actions{gap:8px;margin-left:auto}.profile__name{display:none}.profile__menu{right:0}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-right:6px;flex-shrink:0;border:none;border-radius:var(--radius-md);background:transparent;color:#e2e8f0;font-size:22px;line-height:1;cursor:pointer}.menu-toggle:hover{background:#94a3b829}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(var(--sidebar-width),80vw);padding:12px 0 16px;background:linear-gradient(180deg,#0f172a,#1e293b 60%,#1e293b);border-right:1px solid rgba(148,163,184,.15);transform:translate(-100%);transition:transform .25s ease;z-index:200;overflow-y:auto;overscroll-behavior:contain}.sidebar--open{transform:translate(0);box-shadow:2px 0 16px #0f172a40}.sidebar__close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 8px 8px 12px;border:none;border-radius:var(--radius-md);background:transparent;color:#94a3b8;font-size:18px;cursor:pointer}.sidebar__close:hover{background:#94a3b829;color:#fff}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:150;opacity:0;pointer-events:none;transition:opacity .25s ease}.sidebar-backdrop--visible{opacity:1;pointer-events:auto}.footer{height:auto;min-height:var(--footer-height);flex-direction:column;gap:2px;padding:8px 12px}.footer__versions{position:static;transform:none;font-size:11px}}.pagination{display:flex;align-items:center;gap:12px;margin-top:16px;font-size:14px;color:var(--color-text-muted)}.auth-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height) - var(--footer-height));padding:24px 24px 32px}.content--auth{padding:0;overflow:visible;background:radial-gradient(1100px 520px at 50% -8%,rgba(96,165,250,.12),transparent 62%),linear-gradient(165deg,#0a1120,#0c1424 52%,#161f2e)}.header--auth{box-shadow:none}.auth-card{width:100%;max-width:384px;background:linear-gradient(135deg,#0f172a,#1e293b 55%,#334155);border:1px solid rgba(148,163,184,.16);border-radius:var(--radius-lg);padding:36px 36px 28px;color:#e2e8f0;box-shadow:inset 0 1px #e2e8f00f,0 1px 2px #02061773,0 28px 56px -28px #020617cc}.auth-card__title{font-size:21px;font-weight:650;letter-spacing:-.01em;color:#f1f5f9}.auth-card__subtitle{margin-top:6px;margin-bottom:26px;font-size:14px;line-height:1.5;color:#94a3b8}.auth-card .form{gap:0;max-width:none}.auth-card .form__group{margin-bottom:18px}.auth-card .form__label{margin-bottom:6px;font-size:13px;font-weight:500;color:#cbd5e1}.auth-card .form__input{padding:11px 14px;font-size:15px;border-radius:var(--radius-md);color:#f1f5f9;background:#94a3b81a;border-color:#94a3b847;transition:border-color .15s,box-shadow .15s,background-color .15s}.auth-card .form__input::placeholder{color:#94a3b8}.auth-card .form__input:hover{border-color:#94a3b873}.auth-card .form__input:focus{border-color:#93c5fd;background:#94a3b829;box-shadow:0 0 0 3px #93c5fd38}.auth-card .form__input:-webkit-autofill,.auth-card .form__input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px #1c2634 inset;-webkit-text-fill-color:#f1f5f9;caret-color:#93c5fd;transition:background-color 9999s}.auth-card .form__input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #1c2634 inset,0 0 0 3px rgba(147,197,253,.22);-webkit-text-fill-color:#f1f5f9;caret-color:#93c5fd;transition:background-color 9999s}.auth-card .input-toggle:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.auth-card .input-toggle{color:#94a3b8}.auth-card .input-toggle:hover{color:#f1f5f9;background:#94a3b829}.auth-card .form__hint{margin-top:6px;line-height:1.45;color:#94a3b8}.auth-card .form__error{margin-bottom:14px;padding:10px 12px;border:1px solid rgba(248,113,113,.38);border-radius:var(--radius-md);background:#7f1d1d4d;color:#fecaca;font-size:14px;line-height:1.45}.auth-card .form__error[hidden]{display:none}.auth-card .form__error:focus{outline:2px solid rgba(252,165,165,.55);outline-offset:1px}.strength{display:flex;align-items:center;gap:10px;margin-top:10px}.strength__track{position:relative;flex:1;height:3px;border-radius:var(--radius-pill);background:#94a3b838;overflow:hidden}.strength__fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:var(--radius-pill);background:#93c5fd;transition:width .2s ease,background .2s ease}.strength__fill--weak{background:#64748b}.strength__fill--fair{background:#94a3b8}.strength__fill--good{background:#93c5fd}.strength__fill--strong{background:#60a5fa}.strength__text{font-size:11px;color:#94a3b8;white-space:nowrap}.auth-card .auth-submit{width:100%;margin-top:4px;padding:12px 16px;font-size:15px;font-weight:600;border-radius:var(--radius-md);background:#f8fafc;color:#0f172a}.auth-card .auth-submit:hover:not(:disabled){background:#fff}.auth-card .auth-submit:disabled{background:#f8fafc8c;color:#0f172aa6}.auth-card__footer{margin:22px -36px -28px;padding:16px 36px;border-top:1px solid rgba(148,163,184,.16);background:#02061738;border-radius:0 0 var(--radius-lg) var(--radius-lg);text-align:center;font-size:14px;color:#94a3b8}.auth-card__footer a{color:#93c5fd;font-weight:500;text-decoration:underline;text-underline-offset:3px}.auth-card__footer a:hover{color:#bfdbfe}@media (max-width: 480px){.auth-page{padding:16px}.auth-card{padding:26px 22px 20px}.auth-card__footer{margin:20px -22px -20px;padding:14px 22px}}
