.sidebar[data-v-135203fc]{width:260px;background-color:var(--card-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;padding:30px 20px;justify-content:space-between;transition:width .3s cubic-bezier(.4,0,.2,1),padding .3s ease;z-index:100}.sidebar-logo[data-v-135203fc]{display:flex;align-items:center;gap:12px;padding:0 10px 30px;border-bottom:1px solid var(--border-color);position:relative}.logo-icon[data-v-135203fc]{font-size:24px}.logo-text[data-v-135203fc]{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.collapse-toggle-btn[data-v-135203fc]{background:transparent;color:var(--text-secondary);border:none;font-size:8px;cursor:pointer;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-left:auto;border:1px solid var(--border-color)}.collapse-toggle-btn[data-v-135203fc]:hover{background-color:var(--control-bg);color:var(--text-primary)}.sidebar-nav[data-v-135203fc]{display:flex;flex-direction:column;gap:8px;margin-top:30px;flex-grow:1}.nav-item[data-v-135203fc]{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;font-weight:600;transition:all .2s ease}.nav-item[data-v-135203fc]:hover{background-color:var(--control-bg);color:var(--text-primary)}.nav-item.active[data-v-135203fc]{background-color:var(--accent);color:#fff}.sidebar-footer[data-v-135203fc]{display:flex;flex-direction:column;gap:20px;border-top:1px solid var(--border-color);padding-top:20px}.user-profile[data-v-135203fc]{display:flex;align-items:center;gap:12px;padding:0 10px}.user-avatar[data-v-135203fc]{font-size:20px;width:36px;height:36px;background-color:var(--control-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);flex-shrink:0}.user-info[data-v-135203fc]{display:flex;flex-direction:column;overflow:hidden}.user-name[data-v-135203fc]{font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-email[data-v-135203fc]{font-size:11px;color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.logout-btn[data-v-135203fc]{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border-radius:var(--radius-sm);color:var(--danger);font-size:13px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.logout-btn[data-v-135203fc]:hover{background-color:color-mix(in srgb,var(--danger) 14%,transparent)}.sidebar.collapsed[data-v-135203fc]{width:80px;padding:30px 10px}.sidebar.collapsed .sidebar-logo[data-v-135203fc]{justify-content:center;padding:0 0 20px;border-bottom:none}.sidebar.collapsed .collapse-toggle-btn[data-v-135203fc]{position:absolute;top:32px;right:-20px;background-color:var(--card-bg);border:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-color)}.sidebar.collapsed .nav-item[data-v-135203fc]{justify-content:center;padding:12px}.sidebar.collapsed .sidebar-footer[data-v-135203fc]{border-top:none;padding-top:0}.sidebar.collapsed .user-profile[data-v-135203fc]{justify-content:center;padding:0}.sidebar.collapsed .logout-btn[data-v-135203fc]{justify-content:center;padding:12px}@media (max-width: 768px){.sidebar[data-v-135203fc]{width:100%!important;height:auto;position:relative;padding:15px!important;border-right:none;border-bottom:1px solid var(--border-color)}.sidebar-logo[data-v-135203fc]{padding:0 0 10px;border-bottom:none}.sidebar-nav[data-v-135203fc]{flex-direction:row;margin-top:10px;justify-content:space-around}.collapse-toggle-btn[data-v-135203fc],.sidebar-footer[data-v-135203fc]{display:none}}.app-layout{display:flex;min-height:100vh;width:100%}.main-content{flex-grow:1;background-color:var(--canvas-bg);overflow-y:auto;min-height:100vh}@media (max-width: 768px){.app-layout.has-sidebar{flex-direction:column}}.dashboard-header[data-v-72cb8342]{height:70px;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 40px;position:sticky;top:0;z-index:50}.brand h2[data-v-72cb8342]{font-size:20px;font-weight:700;letter-spacing:-.5px}.month-navigation[data-v-72cb8342]{display:flex;align-items:center;gap:15px;background-color:var(--control-bg);padding:6px 14px;border-radius:50px;border:1px solid var(--border-color)}.nav-arrow-btn[data-v-72cb8342]{color:var(--text-primary);font-weight:700;font-size:14px;padding:2px 8px;border-radius:50%;transition:background-color .2s ease;background:transparent;border:none;cursor:pointer}.nav-arrow-btn[data-v-72cb8342]:hover{background-color:var(--control-hover)}.current-month-lbl[data-v-72cb8342]{font-size:14px;font-weight:600;min-width:110px;text-align:center}.currency-picker[data-v-72cb8342]{display:flex;align-items:center;border-left:1px solid var(--border-color);padding-left:10px;margin-left:5px}.currency-select[data-v-72cb8342]{background:transparent;border:none;color:var(--text-primary);font-size:13px;font-weight:var(--fw-regular);cursor:pointer;outline:none;padding:0 4px}.currency-select option[data-v-72cb8342]{background-color:var(--card-bg);color:var(--text-primary)}.rate-editor[data-v-72cb8342]{display:flex;align-items:center;gap:6px;border-left:1px solid var(--border-color);padding-left:10px;margin-left:5px}.rate-label[data-v-72cb8342]{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase}.rate-input[data-v-72cb8342]{width:58px;background:transparent;border:none;color:var(--text-primary);font-size:13px;font-weight:var(--fw-regular);outline:none;padding:0;text-align:right;-moz-appearance:textfield}.rate-input[data-v-72cb8342]::-webkit-outer-spin-button,.rate-input[data-v-72cb8342]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.theme-picker[data-v-72cb8342]{display:flex;align-items:center;border-left:1px solid var(--border-color);padding-left:10px;margin-left:5px}.theme-toggle[data-v-72cb8342]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:15px;line-height:1;background:transparent;border:none;cursor:pointer;transition:background-color .2s ease}.theme-toggle[data-v-72cb8342]:hover{background-color:var(--control-hover)}.theme-toggle[data-v-72cb8342]:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@media (max-width: 768px){.dashboard-header[data-v-72cb8342]{height:auto;min-height:60px;padding:12px var(--pad-page);flex-wrap:wrap;gap:12px}.brand h2[data-v-72cb8342]{font-size:18px}.month-navigation[data-v-72cb8342]{flex-wrap:wrap;gap:10px;row-gap:8px;justify-content:center;width:100%}.current-month-lbl[data-v-72cb8342]{min-width:auto}.nav-arrow-btn[data-v-72cb8342],.theme-toggle[data-v-72cb8342]{min-width:40px;min-height:40px}}.section-card[data-v-d2ee1dc2]{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:30px;display:flex;flex-direction:column;gap:20px;box-shadow:0 4px 12px var(--shadow-color)}.ai-input-section[data-v-d2ee1dc2]{padding:20px 30px!important;border:1px solid color-mix(in srgb,var(--accent-fg) 30%,transparent)!important;background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent-fg) 8%,transparent),transparent 60%),var(--card-bg)}.ai-input-wrapper[data-v-d2ee1dc2]{display:flex;align-items:center;gap:15px}.ai-icon[data-v-d2ee1dc2]{font-size:20px;animation:pulse-ai-d2ee1dc2 2s infinite ease-in-out}@keyframes pulse-ai-d2ee1dc2{0%,to{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px var(--border-focus))}50%{opacity:1;transform:scale(1.15);filter:drop-shadow(0 0 8px var(--border-focus))}}.ai-input-field[data-v-d2ee1dc2]{flex:1;height:44px;background-color:var(--control-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);padding:0 16px;font-size:14px;transition:all .2s ease}.ai-input-field[data-v-d2ee1dc2]:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.ai-input-field[data-v-d2ee1dc2]:disabled{opacity:.6;cursor:not-allowed}.ai-submit-btn[data-v-d2ee1dc2]{height:44px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;padding:0 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;border:none;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.ai-submit-btn[data-v-d2ee1dc2]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.ai-submit-btn[data-v-d2ee1dc2]:disabled{opacity:.6;cursor:not-allowed}.ai-feedback-alert[data-v-d2ee1dc2]{margin-top:15px;padding:12px 16px;border-radius:var(--radius-sm);font-size:13px;line-height:1.4}.success-alert[data-v-d2ee1dc2]{background-color:color-mix(in srgb,var(--success) 14%,transparent);border:1px solid color-mix(in srgb,var(--success) 34%,transparent);color:var(--success)}.error-alert[data-v-d2ee1dc2]{background-color:color-mix(in srgb,var(--danger) 14%,transparent);border:1px solid color-mix(in srgb,var(--danger) 34%,transparent);color:var(--danger)}.summary-cards-grid[data-v-4c519c61]{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width: 640px){.summary-cards-grid[data-v-4c519c61]{grid-template-columns:1fr;gap:12px}.summary-card[data-v-4c519c61]{padding:16px}}.summary-card[data-v-4c519c61]{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:24px;display:flex;flex-direction:column;gap:8px;box-shadow:0 4px 12px var(--shadow-color)}.card-title[data-v-4c519c61]{font-size:12px;font-weight:var(--fw-regular);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.amount-val[data-v-4c519c61]{font-size:26px;font-weight:700;letter-spacing:-.5px}.income-card h3[data-v-4c519c61]{color:var(--success)}.expense-card h3[data-v-4c519c61]{color:var(--text-primary)}.pos-bal h3[data-v-4c519c61]{color:var(--accent-fg)}.neg-bal h3[data-v-4c519c61]{color:var(--danger)}.section-card[data-v-d922c5ab]{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:30px;display:flex;flex-direction:column;gap:20px;box-shadow:0 4px 12px var(--shadow-color)}.card-header[data-v-d922c5ab]{display:flex;align-items:center;justify-content:space-between}.card-header-left[data-v-d922c5ab]{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.card-header h3[data-v-d922c5ab]{font-size:18px;font-weight:700;letter-spacing:-.3px}.collapse-arrow[data-v-d922c5ab]{font-size:10px;color:var(--text-secondary);transition:transform .25s cubic-bezier(.4,0,.2,1);display:inline-block}.collapse-arrow.collapsed[data-v-d922c5ab]{transform:rotate(-90deg)}.card-body-content[data-v-d922c5ab]{display:flex;flex-direction:column;gap:20px;width:100%}.add-tx-btn[data-v-d922c5ab]{background-color:var(--accent);color:#fff;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;border:none;cursor:pointer;transition:background-color .2s ease}.add-tx-btn[data-v-d922c5ab]:hover{background-color:var(--accent-hover)}.loading-state[data-v-d922c5ab],.empty-state[data-v-d922c5ab]{padding:40px;text-align:center;color:var(--text-secondary);font-size:14px}.habit-search[data-v-d922c5ab]{width:100%}.habit-search-input[data-v-d922c5ab]{width:100%;background-color:var(--control-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;padding:9px 14px;outline:none;transition:border-color .2s ease}.habit-search-input[data-v-d922c5ab]:focus{border-color:var(--border-focus)}.habit-search-input[data-v-d922c5ab]::placeholder{color:var(--text-tertiary)}.habits-list[data-v-d922c5ab]{display:flex;flex-direction:column;gap:20px}.habit-row-item[data-v-d922c5ab]{display:grid;grid-template-columns:200px 1fr 40px;align-items:center;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}@media (max-width: 768px){.habit-row-item[data-v-d922c5ab]{grid-template-columns:1fr auto;gap:12px}.habit-details[data-v-d922c5ab]{grid-column:1 / -1}.habit-calendar-row[data-v-d922c5ab]{grid-column:1 / 2;overflow-x:auto;justify-content:flex-start}.calendar-day-col[data-v-d922c5ab]{flex:0 0 auto;min-width:36px}}.habit-row-item[data-v-d922c5ab]:last-child{border-bottom:none;padding-bottom:0}.habit-details[data-v-d922c5ab]{display:flex;flex-direction:column;gap:4px}.habit-name[data-v-d922c5ab]{font-weight:700;font-size:15px;color:var(--text-primary)}.habit-desc[data-v-d922c5ab]{font-size:12px;color:var(--text-secondary)}.habit-streaks[data-v-d922c5ab]{display:flex;gap:6px;margin-top:6px}.streak-badge[data-v-d922c5ab]{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px}.current-streak[data-v-d922c5ab]{background-color:color-mix(in srgb,var(--streak-fire) 12%,transparent);color:var(--streak-fire);border:1px solid color-mix(in srgb,var(--streak-fire) 24%,transparent)}.max-streak[data-v-d922c5ab]{background-color:color-mix(in srgb,var(--streak-gold) 12%,transparent);color:var(--streak-gold);border:1px solid color-mix(in srgb,var(--streak-gold) 24%,transparent)}.habit-calendar-row[data-v-d922c5ab]{display:flex;justify-content:space-between;gap:8px}.calendar-day-col[data-v-d922c5ab]{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}.day-lbl[data-v-d922c5ab]{font-size:11px;font-weight:var(--fw-regular);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.habit-check-btn[data-v-d922c5ab]{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--border-color);background-color:transparent;display:flex;align-items:center;justify-content:center;color:transparent;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.habit-check-btn.checked[data-v-d922c5ab]{background-color:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 35%,transparent)}.habit-check-btn[data-v-d922c5ab]:hover{transform:scale(1.1);border-color:var(--text-secondary)}.habit-check-btn.checked[data-v-d922c5ab]:hover{background-color:var(--accent-hover)}.habit-actions[data-v-d922c5ab]{display:flex;justify-content:flex-end}.delete-action-btn[data-v-d922c5ab]{font-size:14px;padding:4px;border-radius:4px;border:none;background:transparent;cursor:pointer;transition:background-color .2s;opacity:.6}.delete-action-btn[data-v-d922c5ab]:hover{background-color:color-mix(in srgb,var(--danger) 14%,transparent);opacity:1}.section-card[data-v-014159df]{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:30px;display:flex;flex-direction:column;gap:20px;box-shadow:0 4px 12px var(--shadow-color)}.card-header[data-v-014159df]{display:flex;align-items:center;justify-content:space-between}.card-header-left[data-v-014159df]{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.card-header h3[data-v-014159df]{font-size:18px;font-weight:700;letter-spacing:-.3px}.collapse-arrow[data-v-014159df]{font-size:10px;color:var(--text-secondary);transition:transform .25s cubic-bezier(.4,0,.2,1);display:inline-block}.collapse-arrow.collapsed[data-v-014159df]{transform:rotate(-90deg)}.card-body-content[data-v-014159df]{display:flex;flex-direction:column;gap:20px;width:100%;min-width:0}.add-tx-btn[data-v-014159df]{background-color:var(--accent);color:#fff;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;border:none;cursor:pointer;transition:background-color .2s ease}.add-tx-btn[data-v-014159df]:hover{background-color:var(--accent-hover)}.loading-state[data-v-014159df],.empty-state[data-v-014159df]{padding:40px;text-align:center;color:var(--text-secondary);font-size:14px}.tx-toolbar[data-v-014159df]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.filters[data-v-014159df]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-group[data-v-014159df]{display:flex;align-items:center;gap:8px;background-color:var(--control-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:6px 12px}.filter-label[data-v-014159df]{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase}.filter-select[data-v-014159df]{background:transparent;border:none;color:var(--text-primary);font-size:13px;font-weight:var(--fw-regular);cursor:pointer;outline:none}.filter-select option[data-v-014159df]{background-color:var(--card-bg);color:var(--text-primary)}.tx-count[data-v-014159df]{font-size:12px;color:var(--text-tertiary);font-weight:var(--fw-regular)}.pagination-bar[data-v-014159df]{display:flex;align-items:center;justify-content:center;gap:16px;padding-top:8px}.page-btn[data-v-014159df]{background-color:var(--control-bg);border:1px solid var(--border-color);color:var(--text-primary);font-size:13px;font-weight:600;padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s ease}.page-btn[data-v-014159df]:hover:not(:disabled){background-color:var(--control-hover)}.page-btn[data-v-014159df]:disabled{opacity:.4;cursor:not-allowed}.page-indicator[data-v-014159df]{font-size:13px;font-weight:var(--fw-regular);color:var(--text-secondary);min-width:130px;text-align:center}.table-wrapper[data-v-014159df]{overflow-x:auto;min-width:0}@media (max-width: 768px){.section-card[data-v-014159df]{padding:16px}.tx-table[data-v-014159df]{min-width:520px}.tx-table th[data-v-014159df],.tx-row td[data-v-014159df]{padding:12px 10px}}.tx-table[data-v-014159df]{width:100%;border-collapse:collapse;text-align:left}.tx-table th[data-v-014159df]{padding:12px 16px;font-size:12px;font-weight:var(--fw-regular);color:var(--text-tertiary);border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.05em}.tx-row[data-v-014159df]{border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.tx-row[data-v-014159df]:hover{background-color:color-mix(in srgb,var(--text) 4%,transparent)}.tx-row td[data-v-014159df]{padding:16px;font-size:14px}.tx-date[data-v-014159df]{color:var(--text-tertiary);font-family:monospace}.tx-category[data-v-014159df]{font-weight:600;color:var(--text-primary)}.tx-desc[data-v-014159df]{font-size:12px;color:var(--text-secondary);margin-top:2px}.tx-amount[data-v-014159df]{white-space:nowrap}.type-badge[data-v-014159df]{display:inline-block;padding:4px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:var(--fw-regular)}.type-badge.income[data-v-014159df]{background-color:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.type-badge.expense[data-v-014159df]{background-color:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text-secondary)}.income-color[data-v-014159df]{color:var(--success);font-weight:700}.expense-color[data-v-014159df]{color:var(--text-primary);font-weight:600}.delete-action-btn[data-v-014159df]{font-size:14px;padding:4px;border-radius:4px;border:none;background:transparent;cursor:pointer;transition:background-color .2s;opacity:.6}.delete-action-btn[data-v-014159df]:hover{background-color:color-mix(in srgb,var(--danger) 14%,transparent);opacity:1}.text-right[data-v-014159df]{text-align:right}.section-card[data-v-ff2d051c]{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:30px;display:flex;flex-direction:column;gap:20px;box-shadow:0 4px 12px var(--shadow-color)}.card-header[data-v-ff2d051c]{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.card-header h3[data-v-ff2d051c]{font-size:18px;font-weight:700;letter-spacing:-.3px}.collapse-arrow[data-v-ff2d051c]{font-size:10px;color:var(--text-secondary);transition:transform .25s cubic-bezier(.4,0,.2,1);display:inline-block}.collapse-arrow.collapsed[data-v-ff2d051c]{transform:rotate(-90deg)}.card-body-content[data-v-ff2d051c]{display:flex;flex-direction:column;gap:20px;width:100%}.empty-state[data-v-ff2d051c]{padding:40px;text-align:center;color:var(--text-secondary);font-size:14px}.distribution-list[data-v-ff2d051c]{display:flex;flex-direction:column;gap:16px}.dist-item[data-v-ff2d051c]{display:flex;flex-direction:column;gap:6px}.dist-meta[data-v-ff2d051c]{display:flex;justify-content:space-between;font-size:13px;font-weight:var(--fw-regular)}.dist-name[data-v-ff2d051c]{color:var(--text-primary)}.dist-values[data-v-ff2d051c]{color:var(--text-secondary)}.dist-pct[data-v-ff2d051c]{color:var(--text-tertiary);font-size:12px}.progress-bar-bg[data-v-ff2d051c]{height:6px;background-color:var(--control-bg);border-radius:10px;overflow:hidden}.progress-bar-fill[data-v-ff2d051c]{height:100%;background-color:var(--accent);border-radius:10px;transition:width .4s ease-out}.modal-backdrop[data-v-b3fd783c]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.modal-card[data-v-b3fd783c]{width:100%;max-width:500px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:30px;box-shadow:0 20px 40px var(--shadow-color)}.modal-header[data-v-b3fd783c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal-header h3[data-v-b3fd783c]{font-size:20px;font-weight:700;letter-spacing:-.4px}.close-modal-btn[data-v-b3fd783c]{font-size:24px;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:color .2s}.close-modal-btn[data-v-b3fd783c]:hover{color:var(--text-primary)}@media (max-width: 480px){.modal-overlay[data-v-b3fd783c]{align-items:flex-end}.modal-card[data-v-b3fd783c]{max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:20px;max-height:92vh;overflow-y:auto}}.modal-form[data-v-b9031697]{display:flex;flex-direction:column;gap:16px}.form-row-2[data-v-b9031697]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-3[data-v-b9031697]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}@media (max-width: 480px){.form-row-2[data-v-b9031697],.form-row-3[data-v-b9031697]{grid-template-columns:1fr}}.form-group[data-v-b9031697]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-b9031697]{font-size:12px;font-weight:var(--fw-regular);color:var(--text-secondary)}.form-group input[data-v-b9031697],.form-group select[data-v-b9031697]{height:40px;background-color:var(--control-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);padding:0 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input[data-v-b9031697]:focus,.form-group select[data-v-b9031697]:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.save-tx-btn[data-v-b9031697]{height:44px;background-color:var(--accent);color:#fff;border-radius:var(--radius-sm);font-size:14px;font-weight:600;margin-top:14px;border:none;cursor:pointer;transition:background-color .2s}.save-tx-btn[data-v-b9031697]:hover:not(:disabled){background-color:var(--accent-hover)}.save-tx-btn[data-v-b9031697]:disabled{opacity:.6;cursor:not-allowed}.form-error-alert[data-v-b9031697]{background-color:color-mix(in srgb,var(--danger) 14%,transparent);border:1px solid color-mix(in srgb,var(--danger) 34%,transparent);color:var(--danger);padding:10px;border-radius:var(--radius-sm);font-size:13px}.modal-form[data-v-eb4f4dc9]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-eb4f4dc9]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-eb4f4dc9]{font-size:12px;font-weight:var(--fw-regular);color:var(--text-secondary)}.form-group input[data-v-eb4f4dc9]{height:40px;background-color:var(--control-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);padding:0 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input[data-v-eb4f4dc9]:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.save-tx-btn[data-v-eb4f4dc9]{height:44px;background-color:var(--accent);color:#fff;border-radius:var(--radius-sm);font-size:14px;font-weight:600;margin-top:14px;border:none;cursor:pointer;transition:background-color .2s}.save-tx-btn[data-v-eb4f4dc9]:hover:not(:disabled){background-color:var(--accent-hover)}.save-tx-btn[data-v-eb4f4dc9]:disabled{opacity:.6;cursor:not-allowed}.form-error-alert[data-v-eb4f4dc9]{background-color:color-mix(in srgb,var(--danger) 14%,transparent);border:1px solid color-mix(in srgb,var(--danger) 34%,transparent);color:var(--danger);padding:10px;border-radius:var(--radius-sm);font-size:13px}.dashboard-container[data-v-23f1c430]{min-height:100vh;background-color:var(--canvas-bg);display:flex;flex-direction:column}.dashboard-content[data-v-23f1c430]{flex:1;padding:var(--pad-page);max-width:1200px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:var(--gap-page)}.main-layout-grid[data-v-23f1c430]{display:grid;grid-template-columns:2fr 1fr;gap:var(--gap-page)}@media (max-width: 900px){.main-layout-grid[data-v-23f1c430]{grid-template-columns:1fr}}.left-column[data-v-23f1c430],.right-column[data-v-23f1c430]{display:flex;flex-direction:column;gap:var(--gap-page);min-width:0}.auth-wrapper[data-v-e37bdca2]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background-color:var(--canvas-bg)}.auth-card[data-v-e37bdca2]{width:100%;max-width:420px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:40px 30px;box-shadow:0 10px 30px var(--shadow-color)}.auth-header[data-v-e37bdca2]{text-align:center;margin-bottom:30px}.auth-header h1[data-v-e37bdca2]{font-size:var(--fs-display-3);font-weight:700;color:var(--text-primary);letter-spacing:-.5px;line-height:var(--lh-heading);margin-bottom:8px}.auth-header p[data-v-e37bdca2]{color:var(--text-secondary);font-size:14px;font-weight:var(--fw-light)}.google-section[data-v-e37bdca2]{margin-bottom:20px}.google-btn[data-v-e37bdca2]{display:flex;justify-content:center;color-scheme:light}.google-btn.is-disabled[data-v-e37bdca2]{opacity:.6;pointer-events:none}.divider[data-v-e37bdca2]{display:flex;align-items:center;gap:12px;margin-top:20px;color:var(--text-secondary);font-size:12px}.divider[data-v-e37bdca2]:before,.divider[data-v-e37bdca2]:after{content:"";flex:1;height:1px;background-color:var(--border-color)}.auth-form[data-v-e37bdca2]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-e37bdca2]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-e37bdca2]{font-size:13px;font-weight:var(--fw-regular);color:var(--text-secondary)}.form-group input[data-v-e37bdca2]{height:44px;background-color:var(--control-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);padding:0 14px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.form-group input[data-v-e37bdca2]:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.form-group input[data-v-e37bdca2]:disabled{opacity:.6;cursor:not-allowed}.submit-btn[data-v-e37bdca2]{height:44px;background-color:var(--accent);color:#fff;border-radius:var(--radius-sm);font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,opacity .2s ease;margin-top:10px}.submit-btn[data-v-e37bdca2]:hover:not(:disabled){background-color:var(--accent-hover)}.submit-btn[data-v-e37bdca2]:disabled{opacity:.7;cursor:not-allowed}.auth-footer[data-v-e37bdca2]{margin-top:24px;text-align:center}.toggle-btn[data-v-e37bdca2]{color:var(--text-secondary);font-size:13px;font-weight:500;transition:color .2s ease}.toggle-btn[data-v-e37bdca2]:hover{color:var(--text-primary)}.alert[data-v-e37bdca2]{padding:12px 14px;border-radius:var(--radius-sm);font-size:13px;line-height:1.4;margin-bottom:20px}.error-alert[data-v-e37bdca2]{background-color:color-mix(in srgb,var(--danger) 14%,transparent);border:1px solid color-mix(in srgb,var(--danger) 34%,transparent);color:var(--danger)}.success-alert[data-v-e37bdca2]{background-color:color-mix(in srgb,var(--success) 14%,transparent);border:1px solid color-mix(in srgb,var(--success) 34%,transparent);color:var(--success)}.controls-wrapper[data-v-32669301]{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.month-selector[data-v-32669301]{display:flex;align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:6px 12px;gap:16px}.nav-arrow-btn[data-v-32669301]{font-size:11px;color:var(--text-secondary);padding:4px 8px;cursor:pointer;transition:color .2s}.nav-arrow-btn[data-v-32669301]:hover{color:var(--text-primary)}.current-date-lbl[data-v-32669301]{font-size:14px;font-weight:700;color:var(--text-primary);min-width:110px;text-align:center}.currency-select[data-v-32669301]{background-color:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:var(--fw-regular);outline:none;cursor:pointer;transition:border-color .2s}.currency-select[data-v-32669301]:focus{border-color:var(--border-focus)}.chart-card[data-v-9105bd9b]{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:30px;display:flex;flex-direction:column;gap:24px}.chart-card h4[data-v-9105bd9b]{font-size:15px;font-weight:700;color:var(--text-secondary);letter-spacing:-.2px}.bar-chart-container[data-v-9105bd9b]{display:flex;flex-direction:column;gap:16px}.bar-chart-row[data-v-9105bd9b]{display:flex;align-items:center;gap:16px}.bar-label[data-v-9105bd9b]{width:70px;font-size:13px;font-weight:var(--fw-regular);color:var(--text-secondary)}.bar-track[data-v-9105bd9b]{flex-grow:1;height:28px;background-color:var(--control-bg);border-radius:var(--radius-sm);overflow:hidden}.bar-fill[data-v-9105bd9b]{height:100%;display:flex;align-items:center;padding:0 12px;transition:width .6s cubic-bezier(.4,0,.2,1);min-width:fit-content}.income-fill[data-v-9105bd9b]{background-color:color-mix(in srgb,var(--success) 22%,transparent);border-right:3px solid var(--success);color:var(--success)}.expense-fill[data-v-9105bd9b]{background-color:color-mix(in srgb,var(--danger) 16%,transparent);border-right:3px solid var(--danger);color:var(--text-primary)}.bar-val-lbl[data-v-9105bd9b]{font-size:12px;font-weight:700}.chart-card[data-v-c001c734]{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:30px;display:flex;flex-direction:column;gap:24px}.chart-card h4[data-v-c001c734]{font-size:15px;font-weight:700;color:var(--text-secondary);letter-spacing:-.2px}.donut-chart-wrapper[data-v-c001c734]{display:flex;align-items:center;justify-content:space-around;gap:30px}.donut-svg-container[data-v-c001c734]{position:relative;width:140px;height:140px}.donut-svg[data-v-c001c734]{transform:rotate(-90deg);width:100%;height:100%}.donut-segment[data-v-c001c734]{transition:stroke-dasharray .5s ease-in-out}.donut-inner-label[data-v-c001c734]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center}.inner-title[data-v-c001c734]{font-size:11px;font-weight:var(--fw-regular);color:var(--text-tertiary);text-transform:uppercase}.inner-val[data-v-c001c734]{font-size:15px;font-weight:700;color:var(--text-primary)}.donut-legend[data-v-c001c734]{display:flex;flex-direction:column;gap:10px;flex:1}.legend-item[data-v-c001c734]{display:flex;align-items:center;font-size:13px;font-weight:var(--fw-regular)}.legend-color-dot[data-v-c001c734]{width:10px;height:10px;border-radius:50%;margin-right:8px}.legend-name[data-v-c001c734]{color:var(--text-primary);flex-grow:1}.legend-val[data-v-c001c734]{color:var(--text-secondary);font-weight:700;margin-left:10px}.empty-chart-state[data-v-c001c734]{text-align:center;padding:40px;color:var(--text-secondary);font-size:13px}@media (max-width: 768px){.donut-chart-wrapper[data-v-c001c734]{flex-direction:column;gap:20px}}.chart-card[data-v-756a7f57]{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:30px;display:flex;flex-direction:column;gap:24px}.chart-card h4[data-v-756a7f57]{font-size:15px;font-weight:700;color:var(--text-secondary);letter-spacing:-.2px}.habits-radial-grid[data-v-756a7f57]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:20px}.habit-radial-card[data-v-756a7f57]{background-color:var(--control-bg);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.radial-ring-wrapper[data-v-756a7f57]{position:relative;width:60px;height:60px}.radial-svg[data-v-756a7f57]{width:100%;height:100%;transform:rotate(-90deg)}.radial-track[data-v-756a7f57]{fill:none;stroke:var(--card-bg);stroke-width:3.5}.radial-fill[data-v-756a7f57]{fill:none;stroke:var(--success);stroke-width:3.5;stroke-linecap:round;transition:stroke-dasharray .4s ease}.radial-pct-text[data-v-756a7f57]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:700;color:var(--text-primary)}.habit-radial-lbl[data-v-756a7f57]{font-size:13px;font-weight:700;color:var(--text-primary);width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.habit-streak-sub[data-v-756a7f57]{font-size:10px;font-weight:700;color:var(--streak-fire)}.empty-chart-state[data-v-756a7f57]{text-align:center;padding:40px;color:var(--text-secondary);font-size:13px}.analytics-view[data-v-5cca2edc]{padding:40px}.analytics-header[data-v-5cca2edc]{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;flex-wrap:wrap;gap:20px}.header-title-sec h1[data-v-5cca2edc]{font-size:32px;font-weight:700;letter-spacing:-.8px;color:var(--text-primary);margin-bottom:6px}.subtitle[data-v-5cca2edc]{color:var(--text-secondary);font-size:14px}.analytics-grid[data-v-5cca2edc]{display:grid;grid-template-columns:1fr 1fr;gap:40px}.analytics-section[data-v-5cca2edc]{display:flex;flex-direction:column;gap:30px}.section-title h2[data-v-5cca2edc]{font-size:20px;font-weight:700;letter-spacing:-.4px}.stats-mini-grid[data-v-5cca2edc]{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stats-mini-card[data-v-5cca2edc]{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;display:flex;flex-direction:column;gap:6px}.mini-lbl[data-v-5cca2edc]{font-size:12px;font-weight:var(--fw-regular);color:var(--text-tertiary);text-transform:uppercase}.stats-mini-card h3[data-v-5cca2edc]{font-size:22px;font-weight:700;color:var(--text-primary)}.pos-val[data-v-5cca2edc]{color:var(--success)!important}.neg-val[data-v-5cca2edc]{color:var(--danger)!important}.highlight-txt[data-v-5cca2edc]{color:var(--accent-fg)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1024px){.analytics-grid[data-v-5cca2edc]{grid-template-columns:1fr;gap:30px}}@media (max-width: 768px){.analytics-view[data-v-5cca2edc]{padding:20px}}:root{--font-body: "Bellota", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Bellota", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family: var(--font-body);--fs-h1: clamp(1.75rem, 1.3rem + 1.6vw, 2.25rem);--fs-h2: clamp(1.45rem, 1.15rem + 1.1vw, 1.85rem);--fs-h3: clamp(1.2rem, 1rem + .7vw, 1.5rem);--fs-h4: 1.15rem;--fs-h5: 1rem;--fs-small: .75rem;--fs-display-1: clamp(2.5rem, 1.6rem + 4vw, 4.21rem);--fs-display-2: clamp(2rem, 1.5rem + 2.4vw, 3.158rem);--fs-display-3: clamp(1.6rem, 1.3rem + 1.6vw, 2.369rem);--lh-heading: 1.15;--fw-light: 300;--fw-regular: 400;--fw-bold: 700;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--overlay-bg: rgba(0, 0, 0, .6);--pad-page: 40px;--gap-page: 30px;--brand-primary: #405b2f;--brand-secondary: #90c69f;--brand-accent: #458765;--text: #151f0f;--canvas-bg: #eef4eb;--card-bg: color-mix(in srgb, var(--canvas-bg) 45%, #ffffff);--control-bg: color-mix(in srgb, var(--canvas-bg) 90%, var(--text));--control-hover: color-mix(in srgb, var(--canvas-bg) 84%, var(--text));--border-color: color-mix(in srgb, var(--text) 16%, transparent);--border-focus: var(--brand-primary);--focus-ring: color-mix(in srgb, var(--brand-primary) 40%, transparent);--text-primary: var(--text);--text-secondary: color-mix(in srgb, var(--text) 70%, var(--canvas-bg));--text-tertiary: color-mix(in srgb, var(--text) 52%, var(--canvas-bg));--text-muted: color-mix(in srgb, var(--text) 40%, var(--canvas-bg));--accent: var(--brand-primary);--accent-hover: color-mix(in srgb, var(--brand-primary), #000 12%);--on-accent: #ffffff;--accent-fg: var(--brand-primary);--secondary-bg: var(--brand-secondary);--success: var(--brand-primary);--danger: #c0392b;--on-danger: #ffffff;--shadow-color: rgba(21, 31, 15, .12);--streak-fire: #c2410c;--streak-gold: #a16207}@media (prefers-color-scheme: dark){:root:not([data-theme]){--brand-primary: #b5d0a4;--brand-secondary: #396f48;--brand-accent: #78ba98;--text: #e6f0e0;--canvas-bg: #0e140b;--card-bg: color-mix(in srgb, var(--canvas-bg) 88%, var(--text));--control-bg: color-mix(in srgb, var(--canvas-bg) 82%, var(--text));--control-hover: color-mix(in srgb, var(--canvas-bg) 74%, var(--text));--border-color: color-mix(in srgb, var(--text) 16%, transparent);--border-focus: #78ba98;--focus-ring: color-mix(in srgb, #78ba98 40%, transparent);--text-primary: var(--text);--text-secondary: color-mix(in srgb, var(--text) 72%, var(--canvas-bg));--text-tertiary: color-mix(in srgb, var(--text) 52%, var(--canvas-bg));--text-muted: color-mix(in srgb, var(--text) 40%, var(--canvas-bg));--accent: #396f48;--accent-hover: color-mix(in srgb, #396f48, #fff 12%);--on-accent: #ffffff;--accent-fg: #78ba98;--secondary-bg: #396f48;--success: #b5d0a4;--danger: #f2867d;--on-danger: #151f0f;--shadow-color: rgba(0, 0, 0, .45);--streak-fire: #fb923c;--streak-gold: #facc15}}:root[data-theme=dark]{--brand-primary: #b5d0a4;--brand-secondary: #396f48;--brand-accent: #78ba98;--text: #e6f0e0;--canvas-bg: #0e140b;--card-bg: color-mix(in srgb, var(--canvas-bg) 88%, var(--text));--control-bg: color-mix(in srgb, var(--canvas-bg) 82%, var(--text));--control-hover: color-mix(in srgb, var(--canvas-bg) 74%, var(--text));--border-color: color-mix(in srgb, var(--text) 16%, transparent);--border-focus: #78ba98;--focus-ring: color-mix(in srgb, #78ba98 40%, transparent);--text-primary: var(--text);--text-secondary: color-mix(in srgb, var(--text) 72%, var(--canvas-bg));--text-tertiary: color-mix(in srgb, var(--text) 52%, var(--canvas-bg));--text-muted: color-mix(in srgb, var(--text) 40%, var(--canvas-bg));--accent: #396f48;--accent-hover: color-mix(in srgb, #396f48, #fff 12%);--on-accent: #ffffff;--accent-fg: #78ba98;--secondary-bg: #396f48;--success: #b5d0a4;--danger: #f2867d;--on-danger: #151f0f;--shadow-color: rgba(0, 0, 0, .45);--streak-fire: #fb923c;--streak-gold: #facc15}@media (max-width: 768px){:root{--pad-page: 16px;--gap-page: 18px}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--canvas-bg);color:var(--text-primary);font-family:var(--font-body);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:700;line-height:var(--lh-heading)}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}h5{font-size:var(--fs-h5)}small{font-size:var(--fs-small)}.display-1{font-size:var(--fs-display-1);line-height:var(--lh-heading)}.display-2{font-size:var(--fs-display-2);line-height:var(--lh-heading)}.display-3{font-size:var(--fs-display-3);line-height:var(--lh-heading)}a{color:var(--accent-fg);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-fg);opacity:.85}button{cursor:pointer;border:none;outline:none;background:none;font-family:var(--font-body)}input,select,textarea{font-family:var(--font-body)}
