.sidebar[data-v-ba61778c]{width:var(--sidebar-width);z-index:100;background:#0a1628;border-right:1px solid #ffffff0f;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar__brand[data-v-ba61778c]{border-bottom:1px solid #ffffff0f;align-items:center;gap:10px;padding:20px 16px 16px;display:flex}.sidebar__logo[data-v-ba61778c]{background:var(--color-primary);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.sidebar__logo svg[data-v-ba61778c]{color:#fff;width:18px;height:18px}.sidebar__brand-name[data-v-ba61778c]{color:#f1f5f9;letter-spacing:-.3px;font-size:15px;font-weight:700}.demo-badge[data-v-ba61778c]{background:var(--color-warning-soft);color:var(--color-warning);letter-spacing:.5px;border:1px solid #f59e0b4d;border-radius:20px;margin-left:auto;padding:2px 6px;font-size:9px;font-weight:700}.sidebar__nav[data-v-ba61778c]{flex:1;padding:20px 10px;overflow-y:auto}.sidebar__section-label[data-v-ba61778c]{color:#334155;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;padding:0 8px;font-size:10px;font-weight:600}.sidebar__link[data-v-ba61778c]{border-radius:var(--radius-sm);color:#64748b;align-items:center;gap:10px;margin-bottom:2px;padding:9px 10px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.sidebar__link[data-v-ba61778c]:hover{color:#cbd5e1;background:#ffffff0d}.sidebar__link--active[data-v-ba61778c]{color:#818cf8;background:#6366f126}.sidebar__link--active[data-v-ba61778c]:hover{background:#6366f133}.sidebar__link-icon[data-v-ba61778c]{flex-shrink:0;align-items:center;width:17px;height:17px;display:flex}.sidebar__link-icon[data-v-ba61778c] svg{width:17px;height:17px}.sidebar__footer[data-v-ba61778c]{border-top:1px solid #ffffff0f;align-items:center;gap:4px;padding:12px 10px;display:flex}.sidebar__user[data-v-ba61778c]{border-radius:var(--radius-sm);flex:1;align-items:center;gap:10px;min-width:0;padding:6px 8px;display:flex}.sidebar__avatar[data-v-ba61778c]{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.sidebar__user-info[data-v-ba61778c]{min-width:0}.sidebar__user-name[data-v-ba61778c]{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.sidebar__user-email[data-v-ba61778c]{color:#334155;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:10px;overflow:hidden}.sidebar__logout[data-v-ba61778c]{border-radius:var(--radius-sm);color:#334155;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:flex}.sidebar__logout[data-v-ba61778c]:hover{color:#ef4444;background:#ef44441f}.sidebar__logout svg[data-v-ba61778c]{width:15px;height:15px}.demo-banner[data-v-2cb230c3]{color:#d97706;background:#f59e0b1a;border-bottom:1px solid #f59e0b40;align-items:center;gap:8px;padding:8px 28px;font-size:12px;display:flex}.demo-banner svg[data-v-2cb230c3]{flex-shrink:0;width:14px;height:14px}.demo-banner strong[data-v-2cb230c3]{font-weight:600}.header[data-v-2cb230c3]{height:var(--header-height);background:var(--bg-card);border-bottom:1px solid var(--border);z-index:50;justify-content:space-between;align-items:center;padding:0 28px;display:flex;position:sticky;top:0}.header__title[data-v-2cb230c3]{color:var(--text-primary);letter-spacing:-.3px;font-size:18px;font-weight:700}.header__subtitle[data-v-2cb230c3]{color:var(--text-muted);text-transform:capitalize;margin-top:1px;font-size:12px}.header__actions[data-v-2cb230c3]{align-items:center;gap:8px;display:flex}.header__theme-btn[data-v-2cb230c3]{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);width:36px;height:36px;color:var(--text-secondary);justify-content:center;align-items:center;transition:all .15s;display:flex}.header__theme-btn[data-v-2cb230c3]:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-focus)}.header__theme-btn svg[data-v-2cb230c3]{width:16px;height:16px}.app-shell[data-v-b1b27074]{min-height:100vh;display:flex}.app-main[data-v-b1b27074]{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.app-content[data-v-b1b27074]{flex:1;overflow-x:hidden}.stat-card[data-v-6c61ca91]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 22px;transition:box-shadow .2s,transform .2s;position:relative;overflow:hidden}.stat-card[data-v-6c61ca91]:before{content:"";border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.stat-card--primary[data-v-6c61ca91]:before{background:var(--color-primary)}.stat-card--income[data-v-6c61ca91]:before{background:var(--color-income)}.stat-card--expense[data-v-6c61ca91]:before{background:var(--color-expense)}.stat-card--warning[data-v-6c61ca91]:before{background:var(--color-warning)}.stat-card[data-v-6c61ca91]:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-card__top[data-v-6c61ca91]{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.stat-card__label[data-v-6c61ca91]{color:var(--text-secondary);letter-spacing:.1px;font-size:13px;font-weight:500}.stat-card__icon[data-v-6c61ca91]{border-radius:var(--radius-sm);opacity:.85;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.stat-card--primary .stat-card__icon[data-v-6c61ca91]{background:var(--color-primary-soft);color:var(--color-primary)}.stat-card--income .stat-card__icon[data-v-6c61ca91]{background:var(--color-income-soft);color:var(--color-income)}.stat-card--expense .stat-card__icon[data-v-6c61ca91]{background:var(--color-expense-soft);color:var(--color-expense)}.stat-card--warning .stat-card__icon[data-v-6c61ca91]{background:var(--color-warning-soft);color:var(--color-warning)}.stat-card__icon[data-v-6c61ca91] svg{width:16px;height:16px}.stat-card__value[data-v-6c61ca91]{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:8px;font-size:24px;font-weight:700}.stat-card__footer[data-v-6c61ca91]{align-items:center;gap:8px;display:flex}.stat-card__sub[data-v-6c61ca91]{color:var(--text-muted);font-size:12px}.stat-card__trend[data-v-6c61ca91]{border-radius:20px;padding:2px 6px;font-size:12px;font-weight:600}.stat-card__trend--up[data-v-6c61ca91]{color:var(--color-income);background:var(--color-income-soft)}.stat-card__trend--down[data-v-6c61ca91]{color:var(--color-expense);background:var(--color-expense-soft)}.chart-wrap[data-v-2187742b]{height:220px;position:relative}.chart-empty[data-v-2187742b]{color:var(--text-muted);justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.chart-wrap[data-v-f03ace74],.chart-wrap[data-v-5ad4c95f]{height:220px}.dashboard[data-v-c5e0f7a8]{flex-direction:column;gap:22px;max-width:1280px;padding:24px 28px;display:flex}.dashboard__welcome[data-v-c5e0f7a8]{justify-content:space-between;align-items:center;gap:12px;display:flex}.month-nav[data-v-c5e0f7a8]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:4px;padding:4px;display:flex}.month-nav__btn[data-v-c5e0f7a8]{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.month-nav__btn[data-v-c5e0f7a8]:hover:not(:disabled){background:var(--bg-card-hover);color:var(--text-primary)}.month-nav__btn--disabled[data-v-c5e0f7a8]{opacity:.3;cursor:not-allowed}.month-nav__btn svg[data-v-c5e0f7a8]{width:16px;height:16px}.month-nav__label[data-v-c5e0f7a8]{justify-content:center;align-items:center;gap:8px;min-width:180px;padding:0 10px;display:flex}.month-nav__text[data-v-c5e0f7a8]{color:var(--text-primary);text-transform:capitalize;white-space:nowrap;font-size:14px;font-weight:600}.month-nav__badge[data-v-c5e0f7a8]{background:var(--color-primary-soft);color:var(--color-primary);border-radius:20px;padding:2px 7px;font-size:10px;font-weight:600}.month-nav__today[data-v-c5e0f7a8]{color:var(--color-primary);border-radius:var(--radius-sm);border:1px solid var(--color-primary-soft);background:var(--color-primary-soft);padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s}.month-nav__today[data-v-c5e0f7a8]:hover{background:#6366f133}.dashboard__stats[data-v-c5e0f7a8]{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.dashboard__row[data-v-c5e0f7a8]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.card[data-v-c5e0f7a8]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 22px}.card__head[data-v-c5e0f7a8]{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.card__title[data-v-c5e0f7a8]{color:var(--text-primary);font-size:14px;font-weight:600}.card__badge[data-v-c5e0f7a8]{color:var(--text-muted);background:var(--bg-input);border:1px solid var(--border);text-transform:capitalize;border-radius:20px;padding:2px 10px;font-size:11px}.card__link[data-v-c5e0f7a8]{color:var(--color-primary);font-size:13px;font-weight:500;transition:opacity .15s}.card__link[data-v-c5e0f7a8]:hover{opacity:.75}.tx-list[data-v-c5e0f7a8]{flex-direction:column;gap:2px;list-style:none;display:flex}.tx-item[data-v-c5e0f7a8]{border-radius:var(--radius-sm);align-items:center;gap:12px;padding:10px 8px;transition:background .15s;display:flex}.tx-item[data-v-c5e0f7a8]:hover{background:var(--bg-card-hover)}.tx-item__icon[data-v-c5e0f7a8]{background:var(--bg-input);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;display:flex}.tx-item__info[data-v-c5e0f7a8]{flex:1;min-width:0}.tx-item__desc[data-v-c5e0f7a8]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.tx-item__meta[data-v-c5e0f7a8]{color:var(--text-muted);margin-top:1px;font-size:11px}.tx-item__amount[data-v-c5e0f7a8]{white-space:nowrap;font-size:13px;font-weight:600}.tx-item__amount--income[data-v-c5e0f7a8]{color:var(--color-income)}.tx-item__amount--expense[data-v-c5e0f7a8]{color:var(--color-expense)}.empty[data-v-c5e0f7a8]{color:var(--text-muted);justify-content:center;align-items:center;padding:32px;font-size:14px;display:flex}@media (width<=900px){.dashboard__stats[data-v-c5e0f7a8]{grid-template-columns:repeat(2,1fr)}.dashboard__row[data-v-c5e0f7a8]{grid-template-columns:1fr}}@media (width<=560px){.dashboard[data-v-c5e0f7a8]{padding:16px}.dashboard__stats[data-v-c5e0f7a8]{grid-template-columns:1fr}}.modal-overlay[data-v-02772728]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal[data-v-02772728]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-lg)}.modal__header[data-v-02772728]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal__title[data-v-02772728]{color:var(--text-primary);font-size:16px;font-weight:700}.modal__close[data-v-02772728]{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);background:var(--bg-input);justify-content:center;align-items:center;transition:all .15s;display:flex}.modal__close[data-v-02772728]:hover{color:var(--text-primary);background:var(--bg-card-hover)}.modal__close svg[data-v-02772728]{width:16px;height:16px}.modal__body[data-v-02772728]{padding:20px 24px 24px}.form[data-v-8dd40f07]{flex-direction:column;gap:16px;display:flex}.form__toggle[data-v-8dd40f07]{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);gap:4px;padding:4px;display:flex}.form__toggle-btn[data-v-8dd40f07]{border-radius:var(--radius-sm);color:var(--text-secondary);flex:1;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.form__toggle-btn.active[data-v-8dd40f07]{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.dot[data-v-8dd40f07]{border-radius:50%;width:8px;height:8px}.dot--expense[data-v-8dd40f07]{background:var(--color-expense)}.dot--income[data-v-8dd40f07]{background:var(--color-income)}.form__group[data-v-8dd40f07]{flex-direction:column;gap:6px;display:flex}.form__label[data-v-8dd40f07]{color:var(--text-secondary);font-size:13px;font-weight:500}.form__input[data-v-8dd40f07]{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.form__input[data-v-8dd40f07]:focus{border-color:var(--border-focus)}.form__input--error[data-v-8dd40f07]{border-color:var(--color-expense)}.form__error[data-v-8dd40f07]{color:var(--color-expense);font-size:12px}.form__actions[data-v-8dd40f07]{gap:10px;padding-top:4px;display:flex}.btn[data-v-8dd40f07]{border-radius:var(--radius-sm);cursor:pointer;border:none;flex:1;padding:11px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.btn--ghost[data-v-8dd40f07]{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary)}.btn--ghost[data-v-8dd40f07]:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn--income[data-v-8dd40f07]{background:var(--color-income);color:#fff}.btn--income[data-v-8dd40f07]:hover{background:#059669}.btn--expense[data-v-8dd40f07]{background:var(--color-primary);color:#fff}.btn--expense[data-v-8dd40f07]:hover{background:var(--color-primary-hover)}.txpage[data-v-e1d8515e]{flex-direction:column;gap:16px;max-width:1280px;padding:24px 28px;display:flex}.txpage__toolbar[data-v-e1d8515e]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.txpage__filters[data-v-e1d8515e]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.txpage__actions[data-v-e1d8515e]{flex-shrink:0;gap:8px;display:flex}.search-wrap[data-v-e1d8515e]{position:relative}.search-icon[data-v-e1d8515e]{width:15px;height:15px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-input[data-v-e1d8515e]{width:180px;padding-left:32px!important}.filter-input[data-v-e1d8515e]{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);cursor:pointer;outline:none;padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.filter-input[data-v-e1d8515e]:focus{border-color:var(--border-focus)}.btn-ghost[data-v-e1d8515e]{border-radius:var(--radius-sm);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s}.btn-ghost[data-v-e1d8515e]:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-outline[data-v-e1d8515e]{border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:flex}.btn-outline[data-v-e1d8515e]:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-outline svg[data-v-e1d8515e]{width:14px;height:14px}.btn-primary[data-v-e1d8515e]{border-radius:var(--radius-sm);color:#fff;background:var(--color-primary);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s;display:flex}.btn-primary[data-v-e1d8515e]:hover{background:var(--color-primary-hover)}.btn-primary svg[data-v-e1d8515e]{width:14px;height:14px}.txpage__summary[data-v-e1d8515e]{flex-wrap:wrap;gap:12px;display:flex}.summary-item[data-v-e1d8515e]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;flex:1;gap:4px;min-width:140px;padding:12px 16px;display:flex}.summary-item span[data-v-e1d8515e]{color:var(--text-muted);font-size:12px}.summary-item strong[data-v-e1d8515e]{color:var(--text-primary);font-size:16px;font-weight:700}.summary-item--income strong[data-v-e1d8515e]{color:var(--color-income)}.summary-item--expense strong[data-v-e1d8515e]{color:var(--color-expense)}.card[data-v-e1d8515e]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.table[data-v-e1d8515e]{border-collapse:collapse;width:100%;font-size:13px}.table thead th[data-v-e1d8515e]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:600}.text-right[data-v-e1d8515e]{text-align:right!important}.table__row[data-v-e1d8515e]{border-bottom:1px solid var(--border);transition:background .12s}.table__row[data-v-e1d8515e]:last-child{border-bottom:none}.table__row[data-v-e1d8515e]:hover{background:var(--bg-card-hover)}.table td[data-v-e1d8515e]{color:var(--text-primary);vertical-align:middle;padding:12px 16px}.table__desc[data-v-e1d8515e]{align-items:center;gap:10px;max-width:240px;font-weight:500;display:flex}.table__cat-icon[data-v-e1d8515e]{flex-shrink:0;font-size:16px}.table__date[data-v-e1d8515e]{color:var(--text-secondary);white-space:nowrap}.category-badge[data-v-e1d8515e]{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:11px}.type-badge[data-v-e1d8515e]{white-space:nowrap;border-radius:20px;padding:3px 8px;font-size:11px;font-weight:600}.type-badge--income[data-v-e1d8515e]{background:var(--color-income-soft);color:var(--color-income)}.type-badge--expense[data-v-e1d8515e]{background:var(--color-expense-soft);color:var(--color-expense)}.amount[data-v-e1d8515e]{font-size:13px;font-weight:700}.amount--income[data-v-e1d8515e]{color:var(--color-income)}.amount--expense[data-v-e1d8515e]{color:var(--color-expense)}.row-actions[data-v-e1d8515e]{opacity:0;justify-content:flex-end;gap:4px;transition:opacity .15s;display:flex}.table__row:hover .row-actions[data-v-e1d8515e]{opacity:1}.row-btn[data-v-e1d8515e]{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);background:var(--bg-input);justify-content:center;align-items:center;transition:all .15s;display:flex}.row-btn[data-v-e1d8515e]:hover{color:var(--text-primary);background:var(--bg-card-hover)}.row-btn--danger[data-v-e1d8515e]:hover{color:var(--color-expense);background:var(--color-expense-soft)}.row-btn svg[data-v-e1d8515e]{width:13px;height:13px}.pagination[data-v-e1d8515e]{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:12px;padding:14px;display:flex}.page-btn[data-v-e1d8515e]{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.page-btn[data-v-e1d8515e]:not(:disabled):hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.page-btn[data-v-e1d8515e]:disabled{opacity:.4;cursor:not-allowed}.page-info[data-v-e1d8515e]{color:var(--text-secondary);text-align:center;min-width:60px;font-size:13px}.empty[data-v-e1d8515e]{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:56px 24px;display:flex}.empty svg[data-v-e1d8515e]{opacity:.4;width:48px;height:48px}.empty p[data-v-e1d8515e]{font-size:15px}.delete-msg[data-v-e1d8515e]{color:var(--text-secondary);margin-bottom:20px;font-size:14px}.delete-actions[data-v-e1d8515e]{gap:10px;display:flex}.btn-danger[data-v-e1d8515e]{border-radius:var(--radius-sm);background:var(--color-expense);color:#fff;cursor:pointer;border:none;flex:1;padding:11px;font-family:inherit;font-size:14px;font-weight:600;transition:opacity .15s}.btn-danger[data-v-e1d8515e]:hover{opacity:.85}@media (width<=768px){.txpage[data-v-e1d8515e]{padding:16px}.table__desc[data-v-e1d8515e]{max-width:160px}}.form[data-v-60308702]{flex-direction:column;gap:16px;display:flex}.form__group[data-v-60308702]{flex-direction:column;gap:6px;display:flex}.form__label[data-v-60308702]{color:var(--text-secondary);font-size:13px;font-weight:500}.form__input[data-v-60308702]{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.form__input[data-v-60308702]:focus{border-color:var(--border-focus)}.form__input--error[data-v-60308702]{border-color:var(--color-expense)}.form__input[data-v-60308702]:disabled{opacity:.6;cursor:not-allowed}.form__error[data-v-60308702]{color:var(--color-expense);font-size:12px}.form__actions[data-v-60308702]{gap:10px;padding-top:4px;display:flex}.btn[data-v-60308702]{border-radius:var(--radius-sm);cursor:pointer;border:none;flex:1;padding:11px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.btn--ghost[data-v-60308702]{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary)}.btn--ghost[data-v-60308702]:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn--primary[data-v-60308702]{background:var(--color-primary);color:#fff}.btn--primary[data-v-60308702]:hover{background:var(--color-primary-hover)}.budget-card[data-v-a7f0ee75]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px 20px;transition:box-shadow .2s}.budget-card[data-v-a7f0ee75]:hover{box-shadow:var(--shadow-md)}.budget-card--over[data-v-a7f0ee75]{background:#ef444408;border-color:#ef44444d}.budget-card__head[data-v-a7f0ee75]{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.budget-card__title[data-v-a7f0ee75]{align-items:center;gap:8px;display:flex}.budget-card__icon[data-v-a7f0ee75]{font-size:18px;line-height:1}.budget-card__name[data-v-a7f0ee75]{color:var(--text-primary);font-size:14px;font-weight:600}.budget-card__actions[data-v-a7f0ee75]{opacity:0;gap:4px;transition:opacity .15s;display:flex}.budget-card:hover .budget-card__actions[data-v-a7f0ee75]{opacity:1}.budget-card__btn[data-v-a7f0ee75]{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);background:var(--bg-input);justify-content:center;align-items:center;transition:all .15s;display:flex}.budget-card__btn[data-v-a7f0ee75]:hover{color:var(--text-primary);background:var(--bg-card-hover)}.budget-card__btn--danger[data-v-a7f0ee75]:hover{color:var(--color-expense);background:var(--color-expense-soft)}.budget-card__btn svg[data-v-a7f0ee75]{width:13px;height:13px}.budget-card__amounts[data-v-a7f0ee75]{align-items:baseline;gap:4px;margin-bottom:10px;display:flex}.budget-card__spent[data-v-a7f0ee75]{color:var(--text-primary);letter-spacing:-.3px;font-size:20px;font-weight:700}.budget-card__limit[data-v-a7f0ee75]{color:var(--text-muted);font-size:13px}.budget-card__bar-wrap[data-v-a7f0ee75]{align-items:center;gap:10px;margin-bottom:8px;display:flex}.budget-card__bar[data-v-a7f0ee75]{background:var(--border);border-radius:3px;flex:1;height:6px;overflow:hidden}.budget-card__bar-fill[data-v-a7f0ee75]{border-radius:3px;height:100%;transition:width .6s}.budget-card__pct[data-v-a7f0ee75]{text-align:right;min-width:36px;font-size:12px;font-weight:600}.budget-card__remaining[data-v-a7f0ee75]{color:var(--text-muted);font-size:12px}.budget-card__remaining.over[data-v-a7f0ee75]{color:var(--color-expense);font-weight:500}.budgets[data-v-640dba28]{flex-direction:column;gap:20px;max-width:1280px;padding:24px 28px;display:flex}.card[data-v-640dba28]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:22px 24px}.budgets__overview[data-v-640dba28]{justify-content:space-between;align-items:center;gap:24px;display:flex}.overview__left[data-v-640dba28]{flex:1}.overview__label[data-v-640dba28]{color:var(--text-muted);text-transform:capitalize;margin-bottom:8px;font-size:13px}.overview__amounts[data-v-640dba28]{align-items:baseline;gap:6px;margin-bottom:12px;display:flex}.overview__spent[data-v-640dba28]{color:var(--text-primary);letter-spacing:-.5px;font-size:28px;font-weight:800}.overview__limit[data-v-640dba28]{color:var(--text-muted);font-size:15px}.overview__bar-wrap[data-v-640dba28]{align-items:center;gap:12px;margin-bottom:8px;display:flex}.overview__bar[data-v-640dba28]{background:var(--border);border-radius:4px;flex:1;max-width:500px;height:8px;overflow:hidden}.overview__bar-fill[data-v-640dba28]{border-radius:4px;height:100%;transition:width .6s}.overview__pct[data-v-640dba28]{min-width:42px;font-size:14px;font-weight:700}.overview__sub[data-v-640dba28]{color:var(--text-secondary);font-size:13px}.overview__right[data-v-640dba28]{flex-shrink:0}.btn-primary[data-v-640dba28]{border-radius:var(--radius-sm);color:#fff;background:var(--color-primary);cursor:pointer;border:none;align-items:center;gap:7px;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s;display:flex}.btn-primary[data-v-640dba28]:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary[data-v-640dba28]:disabled{opacity:.5;cursor:not-allowed}.btn-primary svg[data-v-640dba28]{width:14px;height:14px}.budgets__grid[data-v-640dba28]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.empty[data-v-640dba28]{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:64px 24px;display:flex}.empty svg[data-v-640dba28]{opacity:.4;width:48px;height:48px}.empty p[data-v-640dba28]{font-size:15px}@media (width<=768px){.budgets[data-v-640dba28]{padding:16px}.budgets__overview[data-v-640dba28]{flex-direction:column;align-items:flex-start}}.auth-shell[data-v-90f58963]{min-height:100vh;display:flex}.auth-left[data-v-90f58963]{background-color:#060d1a;background-image:radial-gradient(at 20%,#6366f11f 0%,#0000 60%),radial-gradient(at 80% 20%,#10b98114 0%,#0000 50%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-right:1px solid #ffffff0f;flex:1;justify-content:center;align-items:center;padding:48px 60px;display:flex}.auth-left__inner[data-v-90f58963]{width:100%;max-width:480px}.brand[data-v-90f58963]{align-items:center;gap:12px;margin-bottom:52px;display:flex}.brand__logo[data-v-90f58963]{background:#6366f1;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.brand__logo svg[data-v-90f58963]{color:#fff;width:22px;height:22px}.brand__name[data-v-90f58963]{color:#f1f5f9;letter-spacing:-.5px;font-size:20px;font-weight:800}.auth-left__headline[data-v-90f58963]{margin-bottom:44px}.auth-left__headline h1[data-v-90f58963]{color:#f1f5f9;letter-spacing:-.8px;margin-bottom:14px;font-size:36px;font-weight:800;line-height:1.2}.hl[data-v-90f58963]{background:linear-gradient(135deg,#6366f1,#10b981);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.auth-left__headline p[data-v-90f58963]{color:#64748b;max-width:380px;font-size:15px;line-height:1.6}.features[data-v-90f58963]{flex-direction:column;gap:18px;margin-bottom:44px;list-style:none;display:flex}.feature[data-v-90f58963]{align-items:flex-start;gap:14px;display:flex}.feature__icon[data-v-90f58963]{background:#6366f11a;border:1px solid #6366f133;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.feature__label[data-v-90f58963]{color:#e2e8f0;margin-bottom:2px;font-size:14px;font-weight:600}.feature__desc[data-v-90f58963]{color:#475569;font-size:12px}.stats[data-v-90f58963]{border-top:1px solid #ffffff0f;gap:28px;padding-top:32px;display:flex}.stat__value[data-v-90f58963]{color:#f1f5f9;letter-spacing:-.5px;font-size:22px;font-weight:800}.stat__label[data-v-90f58963]{color:#475569;margin-top:2px;font-size:12px}.auth-right[data-v-90f58963]{background:var(--bg-base);flex-shrink:0;justify-content:center;align-items:center;width:480px;padding:32px 40px;display:flex}.auth-card[data-v-90f58963]{width:100%;max-width:380px}.tabs[data-v-90f58963]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);gap:4px;margin-bottom:28px;padding:4px;display:flex}.tab[data-v-90f58963]{border-radius:var(--radius-sm);color:var(--text-muted);flex:1;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s}.tab--active[data-v-90f58963]{background:var(--bg-base);color:var(--text-primary);box-shadow:var(--shadow-sm)}.tab[data-v-90f58963]:not(.tab--active):hover{color:var(--text-secondary)}.form[data-v-90f58963]{flex-direction:column;gap:14px;display:flex}.form__group[data-v-90f58963]{flex-direction:column;gap:6px;display:flex}.form__label[data-v-90f58963]{color:var(--text-secondary);font-size:13px;font-weight:500}.form__input[data-v-90f58963]{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);outline:none;width:100%;padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .15s}.form__input[data-v-90f58963]:focus{border-color:var(--border-focus)}.form__input--error[data-v-90f58963]{border-color:var(--color-expense)}.form__error[data-v-90f58963]{color:var(--color-expense);font-size:12px}.alert-error[data-v-90f58963]{background:var(--color-expense-soft);color:var(--color-expense);border-radius:var(--radius-sm);border:1px solid #ef444440;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.alert-error svg[data-v-90f58963]{flex-shrink:0;width:16px;height:16px}.btn-submit[data-v-90f58963]{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;margin-top:4px;padding:13px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,opacity .15s;display:flex}.btn-submit[data-v-90f58963]:hover:not(:disabled){background:var(--color-primary-hover)}.btn-submit[data-v-90f58963]:disabled{opacity:.65;cursor:not-allowed}.spinner[data-v-90f58963]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin-90f58963}@keyframes spin-90f58963{to{transform:rotate(360deg)}}.divider[data-v-90f58963]{color:var(--text-muted);align-items:center;gap:12px;margin:20px 0;font-size:12px;display:flex}.divider[data-v-90f58963]:before,.divider[data-v-90f58963]:after{content:"";background:var(--border);flex:1;height:1px}.btn-demo[data-v-90f58963]{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;text-align:left;align-items:center;gap:14px;width:100%;padding:14px 16px;font-family:inherit;transition:all .15s;display:flex}.btn-demo[data-v-90f58963]:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-demo[data-v-90f58963]:disabled{opacity:.65;cursor:not-allowed}.btn-demo__icon[data-v-90f58963]{background:var(--bg-input);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;display:flex}.btn-demo__text[data-v-90f58963]{flex:1}.btn-demo__title[data-v-90f58963]{color:var(--text-primary);font-size:14px;font-weight:600}.btn-demo__sub[data-v-90f58963]{color:var(--text-muted);margin-top:2px;font-size:11px}.btn-demo__arrow[data-v-90f58963]{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.auth-note[data-v-90f58963]{color:var(--text-muted);text-align:center;margin-top:20px;font-size:11px;line-height:1.5}@media (width<=900px){.auth-left[data-v-90f58963]{display:none}.auth-right[data-v-90f58963]{width:100%;padding:32px 24px}}:root{--bg-base:#f1f5f9;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-input:#f8fafc;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border:#e2e8f0;--border-focus:#6366f1;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001f;--color-primary:#6366f1;--color-primary-hover:#4f46e5;--color-primary-soft:#6366f11f;--color-income:#10b981;--color-income-soft:#10b9811f;--color-expense:#ef4444;--color-expense-soft:#ef44441f;--color-warning:#f59e0b;--color-warning-soft:#f59e0b1f;--sidebar-width:240px;--header-height:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px}[data-theme=dark]{--bg-base:#060d1a;--bg-card:#0f1929;--bg-card-hover:#162033;--bg-input:#0a1221;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#475569;--border:#1e2d42;--border-focus:#6366f1;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 32px #0009}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;transition:background .3s,color .3s}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all .25s}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(12px)}
