.login-container[data-v-42407585]{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;background-color:#f8f9fa;box-sizing:border-box}.login-wrapper[data-v-42407585]{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center}.brand-header[data-v-42407585]{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:24px}.brand-badge[data-v-42407585]{display:flex;align-items:center;justify-content:center;width:52px;height:52px;background-color:#e8f7ee;color:#18a058;border-radius:12px;margin-bottom:12px}.brand-title[data-v-42407585]{font-size:26px;font-weight:700;color:#1f2225;margin:0 0 6px;letter-spacing:-.02em}.brand-subtitle[data-v-42407585]{font-size:13px;color:#767c82;margin:0;font-weight:500}.login-card[data-v-42407585]{width:100%;background-color:#fff;border-radius:8px;border:1px solid #efeff5;padding:8px 4px}.card-headline[data-v-42407585]{margin-bottom:20px}.card-title[data-v-42407585]{font-size:20px;font-weight:600;color:#1f2225;margin:0 0 6px}.card-desc[data-v-42407585]{font-size:13px;color:#767c82;margin:0}.login-alert[data-v-42407585]{margin-bottom:16px;border-radius:4px;font-size:13px}.form-fields[data-v-42407585]{display:flex;flex-direction:column;gap:4px}.password-label-row[data-v-42407585]{display:flex;justify-content:space-between;align-items:center;width:100%}.field-label-text[data-v-42407585]{font-size:13px;font-weight:500;color:#1f2225}.forgot-link-btn[data-v-42407585]{background:none;border:none;padding:4px 0;font-size:13px;font-weight:500;color:#18a058;cursor:pointer;text-decoration:none;transition:color .15s ease;min-height:44px;display:inline-flex;align-items:center}.forgot-link-btn[data-v-42407585]:hover{color:#0c7a43;text-decoration:underline}.remember-row[data-v-42407585]{display:flex;align-items:center;margin-top:4px;margin-bottom:16px;min-height:44px}.remember-checkbox[data-v-42407585]{font-size:13px;color:#1f2225}.login-submit-btn[data-v-42407585]{min-height:44px;font-size:15px;font-weight:600;border-radius:4px;margin-bottom:16px}.login-footer[data-v-42407585]{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px 0;font-size:13px;border-top:1px solid #efeff5;margin-top:8px}.footer-text[data-v-42407585]{color:#767c82}.register-link[data-v-42407585]{color:#18a058;text-decoration:none;font-weight:600;min-height:44px;display:inline-flex;align-items:center}.register-link[data-v-42407585]:hover{text-decoration:underline;color:#0c7a43}.recovery-email[data-v-42407585]{display:block;width:100%;min-height:44px;box-sizing:border-box;margin:8px 0 16px;padding:8px 12px;border:1px solid #767c82;border-radius:4px;font:inherit;color:#1f2225;background:#fff;caret-color:#0c7a43}.recovery-email[data-v-42407585]:focus-visible{outline:2px solid #0c7a43;outline-offset:2px}.recovery-submit[data-v-42407585]{min-height:44px}.recovery-modal .n-base-close{min-width:44px;min-height:44px}.recovery-modal-body[data-v-42407585]{display:flex;flex-direction:column;gap:14px}.recovery-text[data-v-42407585]{font-size:15px;color:#1f2225;line-height:1.6;margin:0}.contact-box[data-v-42407585]{background-color:#f8f9fa;padding:12px 16px;border-radius:4px;border:1px solid #efeff5;display:flex;flex-direction:column;gap:4px}.contact-label[data-v-42407585]{font-size:13px;color:#767c82}.contact-value[data-v-42407585]{font-size:15px;font-weight:600;color:#18a058}.recovery-actions[data-v-42407585]{margin-top:6px}@media (max-width: 767px){.login-container[data-v-42407585]{padding:16px 12px}}.signup-container[data-v-484229e7]{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;background-color:#f8f9fa;box-sizing:border-box}.signup-wrapper[data-v-484229e7]{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center}.brand-header[data-v-484229e7]{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:24px}.brand-badge[data-v-484229e7]{display:flex;align-items:center;justify-content:center;width:52px;height:52px;background-color:#e8f7ee;color:#18a058;border-radius:12px;margin-bottom:12px}.brand-title[data-v-484229e7]{font-size:26px;font-weight:700;color:#1f2225;margin:0 0 6px;letter-spacing:-.02em}.brand-subtitle[data-v-484229e7]{font-size:13px;color:#767c82;margin:0;font-weight:500}.signup-card[data-v-484229e7]{width:100%;background-color:#fff;border-radius:8px;border:1px solid #efeff5;padding:8px 4px}.card-headline[data-v-484229e7]{margin-bottom:20px}.card-title[data-v-484229e7]{font-size:20px;font-weight:600;color:#1f2225;margin:0 0 6px}.card-desc[data-v-484229e7]{font-size:13px;color:#767c82;margin:0}.signup-alert[data-v-484229e7]{margin-bottom:16px;border-radius:4px;font-size:13px}.form-fields[data-v-484229e7]{display:flex;flex-direction:column;gap:4px}.password-guidance-card[data-v-484229e7]{background-color:#f8f9fa;border:1px solid #efeff5;border-radius:8px;padding:10px 14px;margin-top:-6px;margin-bottom:12px}.guidance-header[data-v-484229e7]{margin-bottom:6px}.guidance-title[data-v-484229e7]{font-size:13px;font-weight:600;color:#767c82}.requirements-grid[data-v-484229e7]{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.requirement-item[data-v-484229e7]{font-size:13px;color:#767c82;display:flex;align-items:center;gap:6px;transition:color .15s ease}.requirement-item.met[data-v-484229e7]{color:#18a058;font-weight:600}.requirement-icon[data-v-484229e7]{font-weight:700;font-size:13px;width:12px;display:inline-block;text-align:center}.signup-submit-btn[data-v-484229e7]{min-height:44px;font-size:15px;font-weight:600;border-radius:4px;margin-top:8px;margin-bottom:16px}.signup-footer[data-v-484229e7]{display:flex;justify-content:center;align-items:center;gap:8px;padding:12px 0;font-size:13px;border-top:1px solid #efeff5;margin-top:8px}.footer-text[data-v-484229e7]{color:#767c82}.login-link[data-v-484229e7]{color:#18a058;text-decoration:none;font-weight:600;min-height:44px;display:inline-flex;align-items:center}.login-link[data-v-484229e7]:hover{text-decoration:underline;color:#0c7a43}.success-state[data-v-484229e7]{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 8px}.success-badge[data-v-484229e7]{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background-color:#e8f7ee;color:#18a058;border-radius:50%;margin-bottom:16px}.success-title[data-v-484229e7]{font-size:20px;font-weight:700;color:#1f2225;margin:0 0 8px}.success-desc[data-v-484229e7]{font-size:15px;color:#767c82;margin:0 0 16px;line-height:1.5}.success-account-box[data-v-484229e7]{background-color:#f8f9fa;border:1px solid #efeff5;border-radius:8px;padding:12px 16px;width:100%;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.account-label[data-v-484229e7]{font-size:13px;color:#767c82}.account-email[data-v-484229e7]{font-size:15px;font-weight:600;color:#1f2225}.success-redirect-hint[data-v-484229e7]{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:#767c82;margin-bottom:16px}@media (max-width: 767px){.signup-container[data-v-484229e7]{padding:16px 12px}.requirements-grid[data-v-484229e7]{grid-template-columns:1fr;gap:4px}}.reset-page[data-v-1190f764]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;box-sizing:border-box;background:#f8f9fa;color:#1f2225}.reset-wrapper[data-v-1190f764]{width:100%;max-width:440px}.brand[data-v-1190f764]{text-align:center;margin-bottom:24px}.brand h1[data-v-1190f764]{font-size:26px;margin:0 0 8px}.brand p[data-v-1190f764],.description[data-v-1190f764]{font-size:13px;color:#1f2225;line-height:1.6}.reset-card[data-v-1190f764]{background:#fff;border:1px solid #efeff5;border-radius:8px;padding:24px}h2[data-v-1190f764]{font-size:20px;margin:0 0 8px}.description[data-v-1190f764]{margin:0 0 24px}label[data-v-1190f764]{display:block;font-size:13px;font-weight:500;margin-bottom:8px}input[data-v-1190f764]{min-height:44px;width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid #767c82;border-radius:4px;font:inherit;font-size:16px;color:#1f2225;background:#fff;caret-color:#0c7a43}input[readonly][data-v-1190f764]{background:#f8f9fa;margin-bottom:20px}.password-control[data-v-1190f764]{display:flex;gap:8px}.password-control input[data-v-1190f764]{min-width:0}button[data-v-1190f764],.recovery-link[data-v-1190f764],.back-link[data-v-1190f764]{min-height:44px;min-width:44px;box-sizing:border-box;font:inherit;font-size:15px;border-radius:4px}.toggle[data-v-1190f764]{flex-shrink:0;background:#fff;color:#1f2225;border:1px solid #767c82;padding:8px;cursor:pointer}.toggle[data-v-1190f764]:hover{background:#f8f9fa}.checklist[data-v-1190f764]{list-style:none;margin:8px 0 20px;padding:0;display:grid;gap:8px;font-size:13px;color:#1f2225}.checklist li[data-v-1190f764]{display:flex;align-items:center;gap:8px}.checklist .met[data-v-1190f764]{color:#0c7a43}.submit-button[data-v-1190f764]{width:100%;border:0;background:#18a058;color:#fff;font-weight:600;cursor:pointer}.submit-button[data-v-1190f764]:hover:enabled{background:#0c7a43}button[data-v-1190f764]:disabled{cursor:not-allowed;opacity:.55}.field-error[data-v-1190f764],.error-message[data-v-1190f764]{color:#d03050;font-size:13px;line-height:1.6}.field-error[data-v-1190f764]{min-height:20px;margin:4px 0 8px}.link-alert[data-v-1190f764]{background:#fdf3f5;border-radius:4px;padding:16px;margin-bottom:20px;color:#d03050}.link-alert p[data-v-1190f764]{margin:0 0 8px;font-size:15px}.recovery-link[data-v-1190f764],.back-link[data-v-1190f764]{display:inline-flex;align-items:center;color:#0c7a43;text-underline-offset:3px}.back-link[data-v-1190f764]{margin-top:12px}input[data-v-1190f764]:focus-visible,button[data-v-1190f764]:focus-visible,a[data-v-1190f764]:focus-visible{outline:2px solid #0c7a43;outline-offset:2px}[data-v-1190f764]::selection{background:#e8f7ee;color:#1f2225}.sr-only[data-v-1190f764]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (max-width: 767px){.reset-card[data-v-1190f764]{padding:20px}}.type-group[data-v-d7839cbc]{width:100%}.type-btn[data-v-d7839cbc]{flex:1}[data-v-d7839cbc] .type-group .n-radio-group{width:100%}[data-v-d7839cbc] .type-group .n-radio-button{flex:1;text-align:center}[data-v-d7839cbc] .n-radio-button.expense.n-radio-button--checked{--n-button-box-shadow-focus: inset 0 0 0 1px #d03050, 0 0 0 2px rgba(208, 48, 80, .2) !important;--n-button-box-shadow-hover: inset 0 0 0 1px #d03050 !important;--n-button-box-shadow: inset 0 0 0 1px #d03050 !important;--n-button-text-color-active: #d03050 !important;--n-button-text-color-hover: #d03050 !important;--n-button-text-color: #d03050 !important;--n-button-border-color-active: #d03050 !important}.form-actions[data-v-d7839cbc]{width:100%}@media (max-width: 767px){.form-actions[data-v-d7839cbc]{justify-content:stretch!important}[data-v-d7839cbc] .form-actions .n-button{flex:1}}.dashboard-shell-layout[data-v-125b6c78]{min-height:100vh}.sider-header[data-v-125b6c78]{height:64px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid #efeff5}.sider-header.collapsed-header[data-v-125b6c78]{padding:0;justify-content:center}.brand-link[data-v-125b6c78]{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:20px;letter-spacing:-.01em;color:#1f2225}.brand-pulse-dot[data-v-125b6c78]{width:10px;height:10px;border-radius:50%;background-color:#18a058;box-shadow:0 0 0 3px #18a05833;flex-shrink:0}.brand-title[data-v-125b6c78]{color:#1f2225;font-weight:700;line-height:1}.drawer-header-brand[data-v-125b6c78]{display:flex;align-items:center;gap:10px}.main-layout[data-v-125b6c78]{background-color:#f8f9fa}.dashboard-header[data-v-125b6c78]{height:64px;padding:0 24px;display:flex;justify-content:space-between;align-items:center;background-color:#fff;position:sticky;top:0;z-index:100}.header-left[data-v-125b6c78]{display:flex;align-items:center;gap:12px}.hamburger-btn[data-v-125b6c78]{font-size:20px;padding:6px;display:flex;align-items:center;color:#1f2225}.pulse-indicator-badge[data-v-125b6c78]{display:flex;align-items:center;gap:8px;background-color:#18a05814;padding:4px 12px;border-radius:9999px;border:1px solid rgba(24,160,88,.15)}.pulse-live-indicator[data-v-125b6c78]{width:7px;height:7px;border-radius:50%;background-color:#18a058;box-shadow:0 0 0 2px #18a0584d}.pulse-tagline[data-v-125b6c78]{font-size:13px;font-weight:600;color:#18a058;letter-spacing:.02em}.header-right[data-v-125b6c78]{display:flex;align-items:center;gap:14px}.pulse-quick-add-btn[data-v-125b6c78]{font-weight:600;border-radius:8px;box-shadow:0 2px 6px #18a05833;transition:transform .15s ease,box-shadow .15s ease}.pulse-quick-add-btn[data-v-125b6c78]:hover{transform:translateY(-1px);box-shadow:0 4px 10px #18a0584d}.user-profile-trigger[data-v-125b6c78]{display:flex;align-items:center;gap:10px;cursor:pointer;padding:4px 8px;border-radius:9999px;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.user-profile-trigger[data-v-125b6c78]:hover{background-color:#0000000a}.user-profile-trigger[data-v-125b6c78]:focus-visible{outline:2px solid #18a058;outline-offset:2px}.user-avatar[data-v-125b6c78]{background-color:#18a058;color:#fff;font-weight:600;font-size:13px;flex-shrink:0}.user-info[data-v-125b6c78]{display:flex;flex-direction:column;line-height:1.25;text-align:left}.user-name[data-v-125b6c78]{font-size:15px;font-weight:600;color:#1f2225}.user-email[data-v-125b6c78]{font-size:13px;color:#767c82}.dropdown-chevron[data-v-125b6c78]{color:#767c82;transition:transform .2s ease;flex-shrink:0}.dashboard-content[data-v-125b6c78]{padding:24px;background-color:#f8f9fa;min-height:calc(100vh - 64px)}@media (max-width: 767px){.dashboard-header[data-v-125b6c78]{padding:0 12px}.dashboard-content[data-v-125b6c78]{padding:16px 12px}.user-info[data-v-125b6c78],.dropdown-chevron[data-v-125b6c78]{display:none}.pulse-quick-add-btn .quick-add-text[data-v-125b6c78]{font-size:13px}}.dashboard-page[data-v-86b46e4f]{max-width:1200px;margin:0 auto}.dashboard-header-bar[data-v-86b46e4f]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.greeting-title[data-v-86b46e4f]{margin:0;font-size:26px;font-weight:700;color:#1f2225;line-height:1.3}.greeting-subtitle[data-v-86b46e4f]{margin:4px 0 0;font-size:15px;color:#767c82}.header-actions[data-v-86b46e4f]{display:flex;align-items:center;gap:8px}.link-btn[data-v-86b46e4f]{text-decoration:none}.pulse-card[data-v-86b46e4f]{border-radius:8px;background-color:#fff;box-shadow:0 1px 3px #0000000d;border:1px solid #efeff5;transition:transform .2s ease,box-shadow .2s ease}.pulse-card[data-v-86b46e4f]:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #00000014}.card-inner[data-v-86b46e4f]{display:flex;align-items:flex-start;gap:16px}.card-icon-wrapper[data-v-86b46e4f]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.income-icon[data-v-86b46e4f]{background-color:#e8f7ee}.expense-icon[data-v-86b46e4f]{background-color:#fdf3f5}.balance-icon[data-v-86b46e4f]{background-color:#f8f9fa;border:1px solid #efeff5}.card-emoji[data-v-86b46e4f]{font-size:20px}.card-info[data-v-86b46e4f]{flex:1;min-width:0}.card-label[data-v-86b46e4f]{display:block;font-size:13px;font-weight:500;color:#767c82;margin-bottom:4px}.card-amount[data-v-86b46e4f]{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.income-amount[data-v-86b46e4f]{color:#18a058}.expense-amount[data-v-86b46e4f]{color:#d03050}.balance-positive[data-v-86b46e4f]{color:#18a058}.balance-negative[data-v-86b46e4f]{color:#d03050}.card-subtext[data-v-86b46e4f]{display:block;font-size:13px;color:#767c82;margin-top:6px}.pace-badge[data-v-86b46e4f]{padding:4px 8px;border-radius:4px;display:inline-block;font-size:13px}.pace-good[data-v-86b46e4f]{background-color:#e8f7ee;color:#0c7a43}.pace-warn[data-v-86b46e4f]{background-color:#fdf3f5;color:#d03050}.quick-add-card[data-v-86b46e4f]{border-radius:8px;box-shadow:0 1px 3px #0000000d;border:1px solid #efeff5;background-color:#fff}.quick-add-hint[data-v-86b46e4f]{font-size:13px;color:#767c82}.quick-grid[data-v-86b46e4f]{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.quick-col[data-v-86b46e4f]{flex:1;min-width:140px}.type-col[data-v-86b46e4f]{flex:0 0 auto}.amount-col[data-v-86b46e4f]{flex:1.2;min-width:140px}.category-col[data-v-86b46e4f]{flex:1.2;min-width:160px}.desc-col[data-v-86b46e4f]{flex:2;min-width:180px}.submit-col[data-v-86b46e4f]{flex:0 0 auto}.quick-field[data-v-86b46e4f]{width:100%}.quick-submit-btn[data-v-86b46e4f]{height:34px;font-weight:500;border-radius:4px}.section-card[data-v-86b46e4f]{border-radius:8px;box-shadow:0 1px 3px #0000000d;border:1px solid #efeff5;background-color:#fff;height:100%}.view-all-link[data-v-86b46e4f]{font-size:13px;color:#18a058;text-decoration:none;font-weight:500;transition:color .2s}.view-all-link[data-v-86b46e4f]:hover{color:#0c7a43}.empty-state-wrap[data-v-86b46e4f]{padding:32px 0;text-align:center}.recent-list[data-v-86b46e4f]{display:flex;flex-direction:column}.recent-item[data-v-86b46e4f]{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #efeff5;gap:12px}.recent-item[data-v-86b46e4f]:last-child{border-bottom:none}.item-left[data-v-86b46e4f]{display:flex;align-items:center;gap:12px;min-width:0}.item-type-indicator[data-v-86b46e4f]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0}.type-income[data-v-86b46e4f]{background-color:#e8f7ee;color:#18a058}.type-expense[data-v-86b46e4f]{background-color:#fdf3f5;color:#d03050}.item-details[data-v-86b46e4f]{min-width:0}.item-title-row[data-v-86b46e4f]{display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-category[data-v-86b46e4f]{font-weight:600;font-size:15px;color:#1f2225}.item-desc[data-v-86b46e4f]{font-size:13px;color:#767c82;overflow:hidden;text-overflow:ellipsis}.item-date[data-v-86b46e4f]{display:block;font-size:13px;color:#767c82;margin-top:2px}.item-amount[data-v-86b46e4f]{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.amount-income[data-v-86b46e4f]{color:#18a058}.amount-expense[data-v-86b46e4f]{color:#d03050}.categories-breakdown[data-v-86b46e4f]{display:flex;flex-direction:column;gap:16px;padding-top:4px}.category-breakdown-row[data-v-86b46e4f]{display:flex;flex-direction:column;gap:6px}.cat-row-header[data-v-86b46e4f]{display:flex;justify-content:space-between;align-items:center;font-size:15px}.cat-name[data-v-86b46e4f]{font-weight:500;color:#1f2225}.cat-amount[data-v-86b46e4f]{font-weight:600;font-variant-numeric:tabular-nums;color:#1f2225}.cat-percent[data-v-86b46e4f]{font-weight:400;color:#767c82;font-size:13px;margin-left:4px}@media (max-width: 767px){.dashboard-header-bar[data-v-86b46e4f]{flex-direction:column;align-items:flex-start}.header-actions[data-v-86b46e4f]{width:100%;justify-content:space-between}.quick-grid[data-v-86b46e4f]{flex-direction:column;align-items:stretch}.quick-col[data-v-86b46e4f]{width:100%}.quick-submit-btn[data-v-86b46e4f]{width:100%;height:40px}.card-amount[data-v-86b46e4f]{font-size:20px}}.transactions-page[data-v-5c322768]{max-width:1200px;margin:0 auto}.page-header[data-v-5c322768]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.page-title[data-v-5c322768]{margin:0;font-size:26px;font-weight:700;color:#1f2225;line-height:1.3}.page-subtitle[data-v-5c322768]{margin:4px 0 0;font-size:15px;color:#767c82}.add-btn[data-v-5c322768]{height:38px;font-weight:500;border-radius:4px}.error-alert[data-v-5c322768]{border-radius:8px}.summary-card[data-v-5c322768]{border-radius:8px;background-color:#fff;box-shadow:0 1px 3px #0000000d;border:1px solid #efeff5;transition:transform .2s ease,box-shadow .2s ease}.summary-card[data-v-5c322768]:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #00000014}.summary-inner[data-v-5c322768]{display:flex;align-items:center;gap:16px}.summary-icon[data-v-5c322768]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.income-icon[data-v-5c322768]{background-color:#e8f7ee}.expense-icon[data-v-5c322768]{background-color:#fdf3f5}.balance-icon[data-v-5c322768]{background-color:#f8f9fa;border:1px solid #efeff5}.summary-info[data-v-5c322768]{flex:1;min-width:0}.summary-label[data-v-5c322768]{display:block;font-size:13px;color:#767c82;margin-bottom:4px}.summary-amount[data-v-5c322768]{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.income-amount[data-v-5c322768]{color:#18a058}.expense-amount[data-v-5c322768]{color:#d03050}.balance-positive[data-v-5c322768]{color:#18a058}.balance-negative[data-v-5c322768]{color:#d03050}.filter-card[data-v-5c322768]{border-radius:8px;box-shadow:0 1px 3px #0000000d;border:1px solid #efeff5;background-color:#fff}.reset-filter-btn[data-v-5c322768]{font-size:13px}.preset-row[data-v-5c322768]{display:flex;align-items:center}.filter-grid[data-v-5c322768]{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.filter-col[data-v-5c322768]{flex:1;min-width:180px}.type-col[data-v-5c322768]{flex:0 0 auto}.search-col[data-v-5c322768]{flex:1.5;min-width:200px}.filter-input[data-v-5c322768]{width:100%}.table-card[data-v-5c322768]{border-radius:8px;box-shadow:0 1px 3px #0000000d;border:1px solid #efeff5;background-color:#fff}.mobile-transaction-view[data-v-5c322768]{padding:4px 0}.empty-wrap[data-v-5c322768]{padding:32px 0;text-align:center}.mobile-cards-list[data-v-5c322768]{display:flex;flex-direction:column;gap:12px}.mobile-card[data-v-5c322768]{border:1px solid #efeff5;border-radius:8px;padding:14px;background-color:#fff;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 2px #00000008}.card-main[data-v-5c322768]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card-left[data-v-5c322768]{display:flex;align-items:flex-start;gap:10px;min-width:0}.type-pill[data-v-5c322768]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0}.pill-income[data-v-5c322768]{background-color:#e8f7ee;color:#18a058}.pill-expense[data-v-5c322768]{background-color:#fdf3f5;color:#d03050}.card-text[data-v-5c322768]{min-width:0}.card-category-row[data-v-5c322768]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.card-category[data-v-5c322768]{font-size:15px;font-weight:600;color:#1f2225}.status-tag[data-v-5c322768]{font-size:13px}.card-desc[data-v-5c322768]{display:block;font-size:13px;color:#767c82;margin-top:2px;word-break:break-word}.card-date[data-v-5c322768]{display:block;font-size:13px;color:#767c82;margin-top:4px}.card-amount[data-v-5c322768]{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.amount-income[data-v-5c322768]{color:#18a058}.amount-expense[data-v-5c322768]{color:#d03050}.card-actions[data-v-5c322768]{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #efeff5;padding-top:8px}.mobile-pagination-wrap[data-v-5c322768]{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:16px}.mobile-item-count[data-v-5c322768]{font-size:13px;color:#767c82}.bulk-action-bar[data-v-5c322768]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 16px;margin-bottom:16px;background-color:#f0f7ff;border:1px solid #cce5ff;border-radius:8px;animation:fadeIn-5c322768 .2s ease-in-out}.bulk-action-info[data-v-5c322768]{display:flex;align-items:center;gap:8px;font-size:14px;color:#0c5460}.bulk-badge[data-v-5c322768]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background-color:#1890ff;color:#fff;font-size:12px;font-weight:700}.bulk-action-buttons[data-v-5c322768]{display:flex;align-items:center;gap:8px}.card-check-wrap[data-v-5c322768]{padding-top:4px;flex-shrink:0}.batch-modal-desc[data-v-5c322768]{font-size:14px;color:#333639;margin:0;line-height:1.5}@keyframes fadeIn-5c322768{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}[data-v-5c322768] .transaction-modal{max-height:85vh!important;display:flex;flex-direction:column}[data-v-5c322768] .transaction-modal .n-card__content{overflow-y:auto;flex:1}@media (max-width: 767px){.page-header[data-v-5c322768]{flex-direction:column;align-items:stretch}.add-btn[data-v-5c322768]{width:100%;height:42px}.filter-grid[data-v-5c322768]{flex-direction:column;align-items:stretch}.filter-col[data-v-5c322768]{width:100%}.type-radios[data-v-5c322768]{width:100%;display:flex}[data-v-5c322768] .type-radios .n-radio-button{flex:1;text-align:center}}.statistics-page[data-v-5833cc5a]{max-width:1200px;margin:0 auto}.stats-header-bar[data-v-5833cc5a]{display:flex;justify-content:space-between;align-items:center;gap:16px}.stats-title[data-v-5833cc5a]{font-size:26px;font-weight:700;color:#1f2225;margin:0;line-height:1.3}.stats-subtitle[data-v-5833cc5a]{font-size:15px;color:#767c82;margin:4px 0 0;line-height:1.5}.header-actions[data-v-5833cc5a]{display:flex;align-items:center;gap:12px}.refresh-btn[data-v-5833cc5a]{border-radius:4px}.link-btn[data-v-5833cc5a]{text-decoration:none}.stats-alert[data-v-5833cc5a]{border-radius:8px}.filter-card[data-v-5833cc5a]{border-radius:8px;background-color:#fff;border:1px solid #efeff5;box-shadow:0 1px 3px #0000000d}.period-controls[data-v-5833cc5a]{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.period-radios[data-v-5833cc5a]{display:flex;flex-wrap:wrap}.custom-date-picker[data-v-5833cc5a]{min-width:260px}.active-range-badge[data-v-5833cc5a]{font-size:13px;font-weight:500;color:#767c82;background-color:#f8f9fa;padding:6px 12px;border-radius:12px;border:1px solid #efeff5}.stats-card[data-v-5833cc5a]{border-radius:8px;background-color:#fff;border:1px solid #efeff5;box-shadow:0 1px 3px #0000000d;transition:box-shadow .2s ease,transform .2s ease}.stats-card[data-v-5833cc5a]:hover{box-shadow:0 4px 12px #0000000d;transform:translateY(-2px)}.card-inner[data-v-5833cc5a]{display:flex;flex-direction:column;gap:8px}.card-header-row[data-v-5833cc5a]{display:flex;justify-content:space-between;align-items:center}.card-label[data-v-5833cc5a]{font-size:13px;font-weight:500;color:#767c82}.card-icon-badge[data-v-5833cc5a]{font-size:16px;background-color:#f8f9fa;padding:4px 8px;border-radius:12px}.health-badge[data-v-5833cc5a]{font-size:13px;font-weight:600;padding:3px 8px;border-radius:12px}.card-main-value[data-v-5833cc5a]{margin-top:4px}.metric-number[data-v-5833cc5a]{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.3}.text-dark[data-v-5833cc5a]{color:#1f2225}.text-income[data-v-5833cc5a]{color:#18a058}.text-expense[data-v-5833cc5a]{color:#d03050}.savings-progress-bar[data-v-5833cc5a]{height:6px;background-color:#f8f9fa;border-radius:9999px;overflow:hidden;margin:4px 0}.savings-fill[data-v-5833cc5a]{height:100%;border-radius:9999px}.cashflow-subrow[data-v-5833cc5a]{display:flex;align-items:center;gap:6px;font-size:13px;color:#767c82;font-variant-numeric:tabular-nums}.subrow-income[data-v-5833cc5a]{color:#18a058;font-weight:600}.subrow-expense[data-v-5833cc5a]{color:#d03050;font-weight:600}.subrow-sep[data-v-5833cc5a]{color:#efeff5}.metric-caption[data-v-5833cc5a]{font-size:13px;color:#767c82;margin:0;line-height:1.4}.chart-section-card[data-v-5833cc5a],.category-section-card[data-v-5833cc5a]{border-radius:8px;background-color:#fff;border:1px solid #efeff5;box-shadow:0 1px 3px #0000000d}.section-card-header[data-v-5833cc5a]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.section-title[data-v-5833cc5a]{font-size:20px;font-weight:600;color:#1f2225;margin:0}.section-subtitle[data-v-5833cc5a]{font-size:15px;color:#767c82;margin:2px 0 0}.chart-legend[data-v-5833cc5a]{display:flex;align-items:center;gap:16px}.legend-item[data-v-5833cc5a]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#1f2225}.legend-dot[data-v-5833cc5a]{width:10px;height:10px;border-radius:9999px}.dot-income[data-v-5833cc5a]{background-color:#18a058}.dot-expense[data-v-5833cc5a]{background-color:#d03050}.chart-empty[data-v-5833cc5a],.category-empty[data-v-5833cc5a]{padding:40px 16px;text-align:center}.chart-container[data-v-5833cc5a]{display:flex;flex-direction:column;gap:16px}.active-item-banner[data-v-5833cc5a]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 16px;background-color:#f8f9fa;border-radius:8px;border:1px solid #efeff5}.active-banner-date[data-v-5833cc5a]{display:flex;align-items:center;gap:8px}.banner-badge[data-v-5833cc5a]{font-size:13px;color:#767c82;font-weight:500}.banner-title[data-v-5833cc5a]{font-size:16px;font-weight:600;color:#1f2225}.active-banner-metrics[data-v-5833cc5a]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.banner-metric[data-v-5833cc5a]{display:flex;align-items:center;gap:6px}.banner-metric-label[data-v-5833cc5a]{font-size:13px;color:#767c82}.banner-metric-val[data-v-5833cc5a]{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.val-income[data-v-5833cc5a]{color:#18a058}.val-expense[data-v-5833cc5a]{color:#d03050}.chart-scroll-wrapper[data-v-5833cc5a]{overflow-x:auto;padding-bottom:8px}.chart-bars-wrap[data-v-5833cc5a]{display:flex;align-items:flex-end;height:240px;gap:8px;min-width:100%;padding-top:16px;border-bottom:1px solid #efeff5}.chart-column-group[data-v-5833cc5a]{flex:1;min-width:32px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;cursor:pointer;padding:4px 2px;border-radius:4px;transition:background-color .15s ease}.chart-column-group[data-v-5833cc5a]:hover,.chart-column-group.is-selected[data-v-5833cc5a]{background-color:#f8f9fa}.dual-bars-container[data-v-5833cc5a]{display:flex;align-items:flex-end;justify-content:center;gap:3px;height:calc(100% - 24px);width:100%}.bar-slot[data-v-5833cc5a]{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center}.chart-bar[data-v-5833cc5a]{width:100%;max-width:14px;border-radius:4px 4px 0 0}.bar-income[data-v-5833cc5a]{background-color:#18a058}.bar-expense[data-v-5833cc5a]{background-color:#d03050}.bar-label[data-v-5833cc5a]{font-size:13px;color:#767c82;margin-top:6px;white-space:nowrap;font-variant-numeric:tabular-nums}.chart-hint-text[data-v-5833cc5a]{font-size:13px;color:#767c82;margin:0;text-align:center}.category-list-container[data-v-5833cc5a]{display:flex;flex-direction:column;gap:16px}.category-detail-item[data-v-5833cc5a]{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-radius:8px;background-color:#f8f9fa;border:1px solid #efeff5;transition:transform .15s ease,background-color .15s ease}.category-detail-item[data-v-5833cc5a]:hover{background-color:#fff;transform:translate(2px);box-shadow:0 1px 3px #0000000d}.cat-item-top[data-v-5833cc5a]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.cat-item-left[data-v-5833cc5a]{display:flex;align-items:center;gap:12px}.cat-avatar[data-v-5833cc5a]{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px}.avatar-income[data-v-5833cc5a]{background-color:#e8f7ee}.avatar-expense[data-v-5833cc5a]{background-color:#fdf3f5}.cat-titles[data-v-5833cc5a]{display:flex;flex-direction:column}.cat-name[data-v-5833cc5a]{font-size:16px;font-weight:600;color:#1f2225}.cat-meta[data-v-5833cc5a]{font-size:13px;color:#767c82}.cat-item-right[data-v-5833cc5a]{display:flex;align-items:center;gap:8px}.cat-amount[data-v-5833cc5a]{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.cat-percent-tag[data-v-5833cc5a]{font-size:13px;font-weight:600;padding:2px 8px;border-radius:12px;background-color:#fff;border:1px solid #efeff5;color:#1f2225}.cat-progress-track[data-v-5833cc5a]{height:6px;background-color:#efeff5;border-radius:9999px;overflow:hidden}.cat-progress-fill[data-v-5833cc5a]{height:100%;border-radius:9999px}.fill-income[data-v-5833cc5a]{background-color:#18a058}.fill-expense[data-v-5833cc5a]{background-color:#d03050}@media (max-width: 767px){.stats-header-bar[data-v-5833cc5a]{flex-direction:column;align-items:flex-start}.header-actions[data-v-5833cc5a]{width:100%;justify-content:space-between}.period-controls[data-v-5833cc5a]{flex-direction:column;align-items:stretch}.custom-date-picker[data-v-5833cc5a]{width:100%}.active-item-banner[data-v-5833cc5a]{flex-direction:column;align-items:flex-start}.active-banner-metrics[data-v-5833cc5a]{width:100%;justify-content:space-between}}.category-list-wrapper[data-v-a019975a]{width:100%}.empty-container[data-v-a019975a]{display:flex;justify-content:center;align-items:center;min-height:220px;background-color:#fff;border-radius:8px;border:1px dashed #efeff5;padding:32px 16px}.category-card[data-v-a019975a]{border-radius:8px;border:1px solid #efeff5;background-color:#fff;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 1px 3px #0000000d}.category-card[data-v-a019975a]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}[data-v-a019975a] .category-card .n-card__content{padding:16px}.card-inner[data-v-a019975a]{display:flex;align-items:center;gap:12px}.category-icon-box[data-v-a019975a]{width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;-webkit-user-select:none;user-select:none}.card-content[data-v-a019975a]{flex:1;min-width:0}.category-name[data-v-a019975a]{font-size:15px;font-weight:600;color:#1f2225;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-badges[data-v-a019975a]{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.badge-tag[data-v-a019975a]{font-size:13px;padding:0 8px;height:22px;line-height:22px}.system-tag[data-v-a019975a]{font-weight:500}.user-tag[data-v-a019975a]{background-color:#f4f4f6!important;color:#767c82!important}.count-active-tag[data-v-a019975a]{background-color:#e8f7ee!important;color:#0c7a43!important;font-weight:500}.count-empty-tag[data-v-a019975a]{background-color:#f8f9fa!important;color:#767c82!important}.card-actions[data-v-a019975a]{display:flex;align-items:center;gap:4px;flex-shrink:0}.action-btn[data-v-a019975a]{font-size:15px;width:32px;height:32px;transition:background-color .15s ease}.delete-btn-disabled[data-v-a019975a]{cursor:not-allowed;opacity:.35}.system-lock-badge[data-v-a019975a]{font-size:15px;color:#767c82;cursor:help;padding:4px}.category-form[data-v-89461a59]{width:100%}.preview-section[data-v-89461a59]{background-color:#f8f9fa;border-radius:8px;padding:12px 16px;border:1px solid #efeff5}.preview-label[data-v-89461a59]{font-size:13px;font-weight:600;color:#767c82;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.preview-card[data-v-89461a59]{display:flex;align-items:center;gap:12px;background-color:#fff;padding:12px 14px;border-radius:8px;border:1px solid #efeff5;box-shadow:0 1px 3px #0000000d}.preview-icon-wrapper[data-v-89461a59]{width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.preview-details[data-v-89461a59]{flex:1;min-width:0}.preview-name[data-v-89461a59]{font-size:15px;font-weight:600;color:#1f2225;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-tags[data-v-89461a59]{display:flex;gap:6px;align-items:center}.custom-badge[data-v-89461a59]{background-color:#f4f4f6!important;color:#767c82!important;font-size:13px}.type-radio-group[data-v-89461a59]{display:flex;width:100%}[data-v-89461a59] .type-radio-group .n-radio-button{flex:1;text-align:center}.type-label[data-v-89461a59]{font-weight:500}.emoji-field-container[data-v-89461a59]{width:100%;display:flex;flex-direction:column;gap:10px}.emoji-preset-grid[data-v-89461a59]{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.emoji-preset-btn[data-v-89461a59]{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:1px solid #efeff5;border-radius:8px;padding:8px 4px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.emoji-preset-btn[data-v-89461a59]:hover{background:#f8f9fa;border-color:#18a058;transform:translateY(-1px)}.emoji-preset-btn.active[data-v-89461a59]{background:#e8f7ee;border-color:#18a058;box-shadow:0 0 0 2px #18a05833}.emoji-glyph[data-v-89461a59]{font-size:20px;line-height:1.2}.emoji-title[data-v-89461a59]{font-size:13px;color:#767c82;margin-top:2px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.custom-emoji-row[data-v-89461a59]{display:flex;align-items:center;gap:8px}.custom-emoji-hint[data-v-89461a59]{font-size:13px;color:#767c82}.custom-emoji-input[data-v-89461a59]{width:150px}.color-field-container[data-v-89461a59]{width:100%;display:flex;flex-direction:column;gap:10px}.color-palette-grid[data-v-89461a59]{display:flex;flex-wrap:wrap;gap:8px}.color-swatch-btn[data-v-89461a59]{width:32px;height:32px;border-radius:50%;border:2px solid #ffffff;box-shadow:0 1px 3px #0000000d;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease;padding:0}.color-swatch-btn[data-v-89461a59]:hover{transform:scale(1.15)}.color-swatch-btn.active[data-v-89461a59]{transform:scale(1.15);outline:2px solid #1f2225;outline-offset:1px}.swatch-check[data-v-89461a59]{color:#fff;font-size:13px;font-weight:700;text-shadow:0 1px 2px #1f2225}.custom-color-row[data-v-89461a59]{display:flex;align-items:center;gap:8px;margin-top:4px}.custom-color-hint[data-v-89461a59]{font-size:13px;color:#767c82}.custom-color-picker[data-v-89461a59]{width:100px}.color-hex-text[data-v-89461a59]{font-size:13px;font-family:monospace;color:#767c82}.form-error-alert[data-v-89461a59]{width:100%}.form-actions[data-v-89461a59]{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;width:100%}@media (max-width: 767px){.emoji-preset-grid[data-v-89461a59]{grid-template-columns:repeat(4,1fr)}.form-actions[data-v-89461a59]{justify-content:stretch}.form-actions .n-button[data-v-89461a59]{flex:1}}.categories-page[data-v-7b2ad99f]{width:100%}.page-header[data-v-7b2ad99f]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.page-title[data-v-7b2ad99f]{font-family:Sarabun,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:26px;font-weight:700;line-height:1.3;color:#1f2225;margin:0 0 4px}.page-subtitle[data-v-7b2ad99f]{font-family:Sarabun,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;color:#767c82;margin:0}.add-btn[data-v-7b2ad99f]{font-weight:600;padding:0 20px;height:40px}.summary-card[data-v-7b2ad99f]{border-radius:8px;border:1px solid #efeff5;box-shadow:0 1px 3px #0000000d;background:#fff;transition:transform .2s ease,box-shadow .2s ease}.summary-card[data-v-7b2ad99f]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}[data-v-7b2ad99f] .summary-card .n-card__content{padding:16px 20px}.summary-inner[data-v-7b2ad99f]{display:flex;align-items:center;gap:16px}.summary-icon[data-v-7b2ad99f]{font-size:20px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.total-card[data-v-7b2ad99f]{border-top:3px solid #2080f0}.total-icon[data-v-7b2ad99f]{background:#f4f4f6}.expense-card[data-v-7b2ad99f]{border-top:3px solid #d03050}.expense-icon[data-v-7b2ad99f]{background:#fdf3f5}.income-card[data-v-7b2ad99f]{border-top:3px solid #18a058}.income-icon[data-v-7b2ad99f]{background:#e8f7ee}.summary-info[data-v-7b2ad99f]{display:flex;flex-direction:column}.summary-label[data-v-7b2ad99f]{font-size:13px;color:#767c82;font-weight:500;margin-bottom:2px}.summary-amount[data-v-7b2ad99f]{font-size:20px;font-weight:700;line-height:1.3;color:#1f2225}.expense-amount[data-v-7b2ad99f]{color:#d03050}.income-amount[data-v-7b2ad99f]{color:#18a058}.category-panel-card[data-v-7b2ad99f]{border-radius:8px;border:1px solid #efeff5;background:#fff;box-shadow:0 1px 3px #0000000a}[data-v-7b2ad99f] .category-panel-card .n-card__content{padding:20px}.panel-toolbar[data-v-7b2ad99f]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.search-input[data-v-7b2ad99f]{max-width:320px;width:100%}.panel-status-text[data-v-7b2ad99f]{font-size:13px;color:#767c82}.category-tabs[data-v-7b2ad99f]{margin-top:8px}[data-v-7b2ad99f] .category-tabs .n-tabs-pane{padding-top:16px}[data-v-7b2ad99f] .category-modal{width:90vw!important;max-width:520px!important;border-radius:12px!important}@media (max-width: 767px){.page-header[data-v-7b2ad99f]{flex-direction:column;align-items:stretch}.add-btn[data-v-7b2ad99f]{width:100%}.search-input[data-v-7b2ad99f]{max-width:none}[data-v-7b2ad99f] .category-modal{width:95vw!important;max-width:none!important}}.user-form-content[data-v-0e689b6b]{display:flex;flex-direction:column;gap:16px}.form-alert[data-v-0e689b6b]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:4px;font-size:13px;line-height:1.4}.form-alert-danger[data-v-0e689b6b]{background-color:#fdf3f5;border:1px solid #d03050;color:#d03050}.alert-icon[data-v-0e689b6b]{font-weight:700;font-size:15px}.form-group[data-v-0e689b6b]{display:flex;flex-direction:column;gap:6px}.label-row[data-v-0e689b6b]{display:flex;align-items:center;justify-content:space-between}.form-label[data-v-0e689b6b]{font-size:15px;font-weight:600;color:#1f2225;line-height:1.4}.required-mark[data-v-0e689b6b]{color:#d03050}.text-action-btn[data-v-0e689b6b]{background:none;border:none;padding:0;font-size:13px;font-weight:500;color:#2080f0;cursor:pointer;text-decoration:underline}.text-action-btn[data-v-0e689b6b]:hover{color:#18a058}.form-control[data-v-0e689b6b]{width:100%;min-height:44px;padding:10px 14px;font-size:15px;font-family:inherit;color:#1f2225;background-color:#fff;border:1px solid #efeff5;border-radius:4px;box-sizing:border-box;outline:none;transition:border-color .2s,box-shadow .2s}.form-control[data-v-0e689b6b]:focus{border-color:#18a058;box-shadow:0 0 0 2px #18a05833}.has-error .form-control[data-v-0e689b6b]{border-color:#d03050}.password-input-wrapper[data-v-0e689b6b]{position:relative;display:flex;align-items:center}.password-input-wrapper .form-control[data-v-0e689b6b]{padding-right:48px}.toggle-pwd-btn[data-v-0e689b6b]{position:absolute;right:0;top:0;bottom:0;width:44px;height:44px;background:none;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:#767c82;border-radius:4px}.pwd-placeholder-box[data-v-0e689b6b]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background-color:#f8f9fa;border-radius:4px;border:1px solid #efeff5;min-height:44px;box-sizing:border-box}.pwd-status-text[data-v-0e689b6b]{font-size:13px;color:#767c82}.field-hint-text[data-v-0e689b6b]{font-size:13px;color:#767c82;margin:0;line-height:1.4}.field-error-msg[data-v-0e689b6b]{font-size:13px;color:#d03050;font-weight:500;margin:0;line-height:1.4}.role-radio-group[data-v-0e689b6b]{display:flex;gap:12px;flex-wrap:wrap}.role-radio-item[data-v-0e689b6b]{flex:1;min-width:200px;display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #efeff5;border-radius:8px;cursor:pointer;transition:border-color .2s,background-color .2s;box-sizing:border-box}.role-radio-item.is-selected[data-v-0e689b6b]{border-color:#18a058;background-color:#e8f7ee}.radio-input[data-v-0e689b6b]{margin-top:2px;width:18px;height:18px;accent-color:#18a058;cursor:pointer}.role-radio-content[data-v-0e689b6b]{display:flex;flex-direction:column;gap:2px}.role-radio-title[data-v-0e689b6b]{font-size:15px;font-weight:600;color:#1f2225}.role-radio-desc[data-v-0e689b6b]{font-size:13px;color:#767c82;line-height:1.4}.form-actions-row[data-v-0e689b6b]{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px;padding-top:16px;border-top:1px solid #efeff5}.btn[data-v-0e689b6b]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;font-size:15px;font-weight:600;font-family:inherit;border-radius:4px;border:1px solid transparent;cursor:pointer;transition:background-color .2s,border-color .2s;box-sizing:border-box}.btn-primary[data-v-0e689b6b]{background-color:#18a058;color:#fff}.btn-primary[data-v-0e689b6b]:hover:not(:disabled){background-color:#0c7a43}.btn-primary[data-v-0e689b6b]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-0e689b6b]{background-color:#fff;color:#1f2225;border-color:#efeff5}.btn-secondary[data-v-0e689b6b]:hover:not(:disabled){background-color:#f8f9fa}.btn-spinner[data-v-0e689b6b]{width:14px;height:14px;border:2px solid #ffffff;border-top-color:transparent;border-radius:9999px;animation:spin-0e689b6b .8s linear infinite}@keyframes spin-0e689b6b{to{transform:rotate(360deg)}}@media (max-width: 767px){.role-radio-group[data-v-0e689b6b]{flex-direction:column}.role-radio-item[data-v-0e689b6b]{min-width:100%}.form-actions-row[data-v-0e689b6b]{flex-direction:column-reverse;align-items:stretch}.form-actions-row .btn[data-v-0e689b6b]{width:100%}}.user-details-content[data-v-7337c856]{display:flex;flex-direction:column;gap:16px}.details-loading-box[data-v-7337c856],.details-error-box[data-v-7337c856]{padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.spinner-ring[data-v-7337c856]{width:32px;height:32px;border:3px solid #efeff5;border-top-color:#18a058;border-radius:9999px;animation:spin-7337c856 .8s linear infinite}@keyframes spin-7337c856{to{transform:rotate(360deg)}}.loading-label[data-v-7337c856]{font-size:15px;color:#767c82;margin:0}.error-msg[data-v-7337c856]{font-size:15px;color:#d03050;margin:0}.details-body[data-v-7337c856]{display:flex;flex-direction:column;gap:16px}.details-card[data-v-7337c856]{background-color:#fff;border:1px solid #efeff5;border-radius:8px;padding:16px}.user-identity-header[data-v-7337c856]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.user-avatar-circle[data-v-7337c856]{width:48px;height:48px;border-radius:9999px;background-color:#e8f7ee;color:#18a058;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-main-meta[data-v-7337c856]{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.user-title-row[data-v-7337c856]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-full-name[data-v-7337c856]{font-size:16px;font-weight:600;color:#1f2225;margin:0;line-height:1.4;word-break:break-word}.user-email-text[data-v-7337c856]{font-size:13px;color:#767c82;margin:0;word-break:break-all}.role-tag[data-v-7337c856]{font-size:13px;font-weight:600;padding:2px 8px;border-radius:12px;line-height:1.4}.role-admin[data-v-7337c856]{background-color:#0c7a43;color:#fff}.role-uservip[data-v-7337c856]{background-color:#e8f7ee;color:#18a058}.role-user[data-v-7337c856]{background-color:#f8f9fa;color:#1f2225;border:1px solid #efeff5}.definition-grid[data-v-7337c856]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 16px;border-top:1px solid #efeff5;padding-top:12px}.def-item[data-v-7337c856]{display:flex;flex-direction:column;gap:2px}.def-label[data-v-7337c856]{font-size:13px;color:#767c82}.def-val[data-v-7337c856]{font-size:15px;color:#1f2225;font-weight:500}.status-active-val[data-v-7337c856]{display:inline-flex;align-items:center;gap:6px;color:#18a058}.dot-green[data-v-7337c856]{width:8px;height:8px;border-radius:9999px;background-color:#18a058}.section-title[data-v-7337c856]{font-size:15px;font-weight:600;color:#1f2225;margin:0 0 12px;line-height:1.4}.stats-cards-grid[data-v-7337c856]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stat-box[data-v-7337c856]{background-color:#f8f9fa;border:1px solid #efeff5;border-radius:4px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.stat-label[data-v-7337c856]{font-size:13px;color:#767c82}.stat-num[data-v-7337c856]{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:#1f2225}.num-income[data-v-7337c856]{color:#18a058}.num-expense[data-v-7337c856]{color:#d03050}.transactions-list[data-v-7337c856]{display:flex;flex-direction:column;gap:8px}.tx-item-row[data-v-7337c856]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:4px;border:1px solid #efeff5;background-color:#fff}.tx-left[data-v-7337c856]{display:flex;align-items:center;gap:10px}.tx-type-tag[data-v-7337c856]{font-size:13px;font-weight:600;padding:2px 6px;border-radius:4px}.tag-income[data-v-7337c856]{background-color:#e8f7ee;color:#18a058}.tag-expense[data-v-7337c856]{background-color:#fdf3f5;color:#d03050}.tx-meta-info[data-v-7337c856]{display:flex;flex-direction:column;gap:2px}.tx-category[data-v-7337c856]{font-size:13px;font-weight:600;color:#1f2225}.tx-date[data-v-7337c856]{font-size:13px;color:#767c82}.tx-amount[data-v-7337c856]{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.empty-tx-box[data-v-7337c856]{padding:24px 16px;background-color:#f8f9fa;border-radius:4px;text-align:center}.empty-tx-text[data-v-7337c856]{font-size:13px;color:#767c82;margin:0}.modal-footer-row[data-v-7337c856]{display:flex;justify-content:flex-end;padding-top:8px}.btn[data-v-7337c856]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;font-size:15px;font-weight:600;border-radius:4px;border:1px solid transparent;cursor:pointer;box-sizing:border-box}.btn-secondary[data-v-7337c856]{background-color:#fff;color:#1f2225;border-color:#efeff5}.btn-secondary[data-v-7337c856]:hover{background-color:#f8f9fa}@media (max-width: 767px){.definition-grid[data-v-7337c856],.stats-cards-grid[data-v-7337c856]{grid-template-columns:1fr}.modal-footer-row .btn[data-v-7337c856]{width:100%}}.admin-users-page[data-v-e735a1bd]{width:100%;padding-bottom:40px}.page-container[data-v-e735a1bd]{display:flex;flex-direction:column;gap:24px}.page-header-bar[data-v-e735a1bd]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.header-text-group[data-v-e735a1bd]{display:flex;flex-direction:column;gap:4px}.page-title[data-v-e735a1bd]{font-size:26px;font-weight:700;line-height:1.3;color:#1f2225;margin:0}.page-subtitle[data-v-e735a1bd]{font-size:15px;color:#767c82;line-height:1.5;margin:0}.add-user-btn[data-v-e735a1bd]{white-space:nowrap}.btn-icon[data-v-e735a1bd]{font-size:16px;font-weight:700}.section-card[data-v-e735a1bd]{background-color:#fff;border:1px solid #efeff5;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000000d}.filter-card[data-v-e735a1bd]{display:flex;flex-direction:column;gap:16px}.filters-row[data-v-e735a1bd]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.search-input-wrapper[data-v-e735a1bd]{position:relative;display:flex;align-items:center;flex:1;min-width:260px}.search-icon[data-v-e735a1bd]{position:absolute;left:14px;font-size:15px;color:#767c82;pointer-events:none}.search-input[data-v-e735a1bd]{width:100%;min-height:44px;padding:10px 36px 10px 40px;font-size:15px;font-family:inherit;color:#1f2225;background-color:#f8f9fa;border:1px solid #efeff5;border-radius:4px;outline:none;transition:border-color .2s,background-color .2s;box-sizing:border-box}.search-input[data-v-e735a1bd]:focus{border-color:#18a058;background-color:#fff;box-shadow:0 0 0 2px #18a05833}.clear-search-btn[data-v-e735a1bd]{position:absolute;right:10px;background:none;border:none;font-size:13px;color:#767c82;cursor:pointer;padding:4px 8px}.role-filter-group[data-v-e735a1bd]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-pill[data-v-e735a1bd]{min-height:44px;padding:8px 16px;font-size:13px;font-weight:600;font-family:inherit;border:1px solid #efeff5;background-color:#fff;color:#1f2225;border-radius:12px;cursor:pointer;transition:all .2s}.filter-pill[data-v-e735a1bd]:hover{background-color:#f8f9fa}.active-pill[data-v-e735a1bd]{background-color:#e8f7ee;border-color:#18a058;color:#18a058}.filter-summary-row[data-v-e735a1bd]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid #efeff5;font-size:13px;color:#767c82}.result-count-text strong[data-v-e735a1bd]{color:#1f2225}.page-meta-text[data-v-e735a1bd]{color:#767c82}.reset-filters-btn[data-v-e735a1bd]{background:none;border:none;padding:4px 8px;font-size:13px;font-weight:500;color:#2080f0;cursor:pointer;text-decoration:underline}.reset-filters-btn[data-v-e735a1bd]:hover{color:#18a058}.alert-error-banner[data-v-e735a1bd]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background-color:#fdf3f5;border:1px solid #d03050;border-radius:8px;color:#d03050;font-size:15px}.alert-msg-wrap[data-v-e735a1bd]{display:flex;align-items:center;gap:8px}.retry-btn[data-v-e735a1bd]{font-size:13px;min-height:36px;padding:6px 14px}.loading-container[data-v-e735a1bd]{padding:60px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}.spinner-ring[data-v-e735a1bd]{width:36px;height:36px;border:3px solid #efeff5;border-top-color:#18a058;border-radius:9999px;animation:spin-e735a1bd .8s linear infinite}@keyframes spin-e735a1bd{to{transform:rotate(360deg)}}.loading-text[data-v-e735a1bd]{font-size:15px;color:#767c82;margin:0}.empty-card[data-v-e735a1bd]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;gap:12px}.empty-icon-wrap[data-v-e735a1bd]{font-size:26px}.empty-title[data-v-e735a1bd]{font-size:20px;font-weight:600;color:#1f2225;margin:0}.empty-desc[data-v-e735a1bd]{font-size:15px;color:#767c82;margin:0 0 8px}.desktop-table-container[data-v-e735a1bd]{background-color:#fff;border:1px solid #efeff5;border-radius:8px;overflow-x:auto;box-shadow:0 1px 3px #0000000d}.clean-users-table[data-v-e735a1bd]{width:100%;border-collapse:collapse;text-align:left}.clean-users-table th[data-v-e735a1bd]{padding:14px 16px;font-size:13px;font-weight:600;color:#767c82;border-bottom:2px solid #efeff5;background-color:#fff}.clean-users-table td[data-v-e735a1bd]{padding:14px 16px;font-size:15px;border-bottom:1px solid #efeff5;color:#1f2225}.self-user-row[data-v-e735a1bd]{background-color:#e8f7ee}.user-cell[data-v-e735a1bd]{display:flex;align-items:center;gap:12px}.table-avatar[data-v-e735a1bd]{width:36px;height:36px;border-radius:9999px;background-color:#e8f7ee;color:#18a058;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-text-info[data-v-e735a1bd]{display:flex;flex-direction:column;gap:2px}.user-name-text[data-v-e735a1bd]{font-size:15px;font-weight:600;color:#1f2225}.self-badge[data-v-e735a1bd]{font-size:13px;font-weight:600;color:#18a058}.user-email-cell[data-v-e735a1bd]{font-size:13px;color:#767c82}.role-badge[data-v-e735a1bd]{font-size:13px;font-weight:600;padding:3px 8px;border-radius:12px;display:inline-block}.role-admin[data-v-e735a1bd]{background-color:#0c7a43;color:#fff}.role-uservip[data-v-e735a1bd]{background-color:#e8f7ee;color:#18a058}.role-user[data-v-e735a1bd]{background-color:#f8f9fa;color:#1f2225;border:1px solid #efeff5}.date-cell[data-v-e735a1bd]{font-size:13px;color:#767c82}.th-actions[data-v-e735a1bd],.td-actions[data-v-e735a1bd]{text-align:right}.action-buttons-group[data-v-e735a1bd]{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.btn-action[data-v-e735a1bd]{min-height:44px;padding:6px 12px;font-size:13px;font-weight:600;font-family:inherit;border-radius:4px;border:1px solid transparent;cursor:pointer;transition:all .2s;box-sizing:border-box}.btn-action-info[data-v-e735a1bd]{background-color:#fff;color:#2080f0;border-color:#efeff5}.btn-action-info[data-v-e735a1bd]:hover{background-color:#f8f9fa}.btn-action-neutral[data-v-e735a1bd]{background-color:#fff;color:#1f2225;border-color:#efeff5}.btn-action-neutral[data-v-e735a1bd]:hover{background-color:#f8f9fa}.btn-action-danger[data-v-e735a1bd]{background-color:#fdf3f5;color:#d03050}.btn-action-danger[data-v-e735a1bd]:hover{background-color:#d03050;color:#fff}.self-guard-text[data-v-e735a1bd]{font-size:13px;color:#767c82;padding:0 4px}.mobile-user-cards[data-v-e735a1bd]{display:none;flex-direction:column;gap:12px}.mobile-card[data-v-e735a1bd]{background-color:#fff;border:1px solid #efeff5;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px}.self-card[data-v-e735a1bd]{background-color:#e8f7ee}.mobile-card-top[data-v-e735a1bd]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mobile-user-main[data-v-e735a1bd]{display:flex;align-items:center;gap:10px}.mobile-user-names[data-v-e735a1bd]{display:flex;flex-direction:column;gap:2px}.mobile-title-row[data-v-e735a1bd]{display:flex;align-items:center;gap:6px}.mobile-card-meta[data-v-e735a1bd]{display:flex;align-items:center;gap:6px;font-size:13px;color:#767c82;padding-top:8px;border-top:1px solid #efeff5}.mobile-card-actions[data-v-e735a1bd]{display:flex;align-items:center;gap:8px}.btn-mobile-action[data-v-e735a1bd]{flex:1;min-height:44px;padding:10px 8px;font-size:13px;font-weight:600;font-family:inherit;border-radius:4px;border:1px solid #efeff5;display:flex;align-items:center;justify-content:center;cursor:pointer;box-sizing:border-box}.pagination-bar[data-v-e735a1bd]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;flex-wrap:wrap}.page-size-selector[data-v-e735a1bd]{display:flex;align-items:center;gap:8px}.size-label[data-v-e735a1bd]{font-size:13px;color:#767c82}.page-size-select[data-v-e735a1bd]{min-height:44px;padding:8px 12px;font-size:13px;font-family:inherit;color:#1f2225;background-color:#fff;border:1px solid #efeff5;border-radius:4px;outline:none}.page-buttons[data-v-e735a1bd]{display:flex;align-items:center;gap:8px}.btn-page[data-v-e735a1bd]{min-height:44px;padding:8px 14px;font-size:13px;font-weight:600;font-family:inherit;border:1px solid #efeff5;background-color:#fff;color:#1f2225;border-radius:4px;cursor:pointer}.btn-page[data-v-e735a1bd]:hover:not(:disabled){background-color:#f8f9fa}.btn-page[data-v-e735a1bd]:disabled{opacity:.5;cursor:not-allowed}.page-indicator[data-v-e735a1bd]{font-size:13px;font-weight:600;color:#1f2225;padding:0 8px}.btn[data-v-e735a1bd]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;font-size:15px;font-weight:600;font-family:inherit;border-radius:4px;border:1px solid transparent;cursor:pointer;transition:all .2s;box-sizing:border-box}.btn-primary[data-v-e735a1bd]{background-color:#18a058;color:#fff}.btn-primary[data-v-e735a1bd]:hover:not(:disabled){background-color:#0c7a43}.btn-secondary[data-v-e735a1bd]{background-color:#fff;color:#1f2225;border-color:#efeff5}.btn-secondary[data-v-e735a1bd]:hover:not(:disabled){background-color:#f8f9fa}@media (max-width: 767px){.page-header-bar[data-v-e735a1bd]{flex-direction:column;align-items:stretch}.header-action-group .btn[data-v-e735a1bd]{width:100%}.filters-row[data-v-e735a1bd]{flex-direction:column;align-items:stretch}.role-filter-group[data-v-e735a1bd]{justify-content:space-between}.filter-pill[data-v-e735a1bd]{flex:1;text-align:center;padding:8px 4px}.desktop-table-container[data-v-e735a1bd]{display:none}.mobile-user-cards[data-v-e735a1bd]{display:flex}.pagination-bar[data-v-e735a1bd]{flex-direction:column;align-items:stretch}.page-buttons[data-v-e735a1bd],.page-size-selector[data-v-e735a1bd]{justify-content:space-between}}.monthly-report-page[data-v-1d74ceab]{max-width:1200px;margin:0 auto}.print-only-header[data-v-1d74ceab]{display:none}.report-header-bar[data-v-1d74ceab]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.report-title[data-v-1d74ceab]{font-size:26px;font-weight:700;color:#1f2225;margin:0;line-height:1.3}.report-subtitle[data-v-1d74ceab]{font-size:15px;color:#767c82;margin:4px 0 0;line-height:1.5}.header-actions[data-v-1d74ceab]{display:flex;align-items:center;gap:12px}.action-btn[data-v-1d74ceab]{border-radius:4px}.report-alert[data-v-1d74ceab]{border-radius:8px}.filter-card[data-v-1d74ceab]{border-radius:8px;background-color:#fff;border:1px solid #efeff5;box-shadow:0 1px 3px #0000000d}.month-selector-bar[data-v-1d74ceab]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.stepper-controls[data-v-1d74ceab]{display:flex;align-items:center;gap:8px}.stepper-btn[data-v-1d74ceab]{border-radius:4px}.active-period-chip[data-v-1d74ceab]{font-size:13px;font-weight:500;color:#767c82;background-color:#f8f9fa;padding:6px 12px;border-radius:12px;border:1px solid #efeff5}.executive-banner[data-v-1d74ceab]{padding:16px 20px;border-radius:8px;background-color:#fff;border:1px solid #efeff5;box-shadow:0 1px 3px #0000000d}.banner-top-row[data-v-1d74ceab]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.banner-tag[data-v-1d74ceab]{font-size:13px;font-weight:600;color:#767c82;text-transform:uppercase}.health-badge[data-v-1d74ceab]{font-size:13px;font-weight:600;padding:3px 8px;border-radius:12px}.banner-takeaway[data-v-1d74ceab]{font-size:16px;font-weight:600;color:#1f2225;margin:10px 0 12px;line-height:1.5}.banner-savings-row[data-v-1d74ceab]{display:flex;flex-direction:column;gap:6px}.savings-metric[data-v-1d74ceab]{display:flex;align-items:center;gap:8px;font-size:13px;color:#767c82}.savings-value[data-v-1d74ceab]{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.savings-progress-track[data-v-1d74ceab]{height:6px;background-color:#f8f9fa;border-radius:9999px;overflow:hidden}.savings-progress-fill[data-v-1d74ceab]{height:100%;border-radius:9999px}.kpi-card[data-v-1d74ceab]{border-radius:8px;background-color:#fff;border:1px solid #efeff5;box-shadow:0 1px 3px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.kpi-card[data-v-1d74ceab]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.kpi-inner[data-v-1d74ceab]{display:flex;flex-direction:column;gap:8px}.kpi-header[data-v-1d74ceab]{display:flex;justify-content:space-between;align-items:center}.kpi-label[data-v-1d74ceab]{font-size:13px;font-weight:500;color:#767c82}.kpi-icon-badge[data-v-1d74ceab]{font-size:16px;background-color:#f8f9fa;padding:4px 8px;border-radius:12px}.metric-number[data-v-1d74ceab]{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.3}.kpi-delta-row[data-v-1d74ceab]{display:flex;align-items:center;gap:6px;margin-top:2px}.delta-badge[data-v-1d74ceab]{font-size:13px;font-weight:600;padding:2px 6px;border-radius:12px;font-variant-numeric:tabular-nums}.badge-pos[data-v-1d74ceab]{background-color:#e8f7ee;color:#18a058}.badge-neg[data-v-1d74ceab]{background-color:#fdf3f5;color:#d03050}.delta-caption[data-v-1d74ceab]{font-size:13px;color:#767c82}.text-income[data-v-1d74ceab]{color:#18a058}.text-expense[data-v-1d74ceab]{color:#d03050}.text-dark[data-v-1d74ceab]{color:#1f2225}.text-muted[data-v-1d74ceab]{color:#767c82}.section-card[data-v-1d74ceab]{border-radius:8px;background-color:#fff;border:1px solid #efeff5;box-shadow:0 1px 3px #0000000d}.section-card-header[data-v-1d74ceab]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.section-title[data-v-1d74ceab]{font-size:20px;font-weight:600;color:#1f2225;margin:0}.section-subtitle[data-v-1d74ceab]{font-size:15px;color:#767c82;margin:2px 0 0}.empty-block[data-v-1d74ceab]{padding:32px 16px;text-align:center}.leaks-grid[data-v-1d74ceab]{display:flex;flex-direction:column;gap:12px}.leak-item[data-v-1d74ceab]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:8px;background-color:#f8f9fa;border:1px solid #efeff5;transition:background-color .15s ease}.leak-item[data-v-1d74ceab]:hover{background-color:#fff;box-shadow:0 1px 3px #0000000d}.leak-left[data-v-1d74ceab]{display:flex;align-items:center;gap:12px}.leak-rank-badge[data-v-1d74ceab]{font-size:13px;font-weight:700;color:#d03050;background-color:#fdf3f5;padding:4px 8px;border-radius:12px;white-space:nowrap}.leak-details[data-v-1d74ceab]{display:flex;flex-direction:column}.leak-description[data-v-1d74ceab]{font-size:16px;font-weight:600;color:#1f2225}.leak-submeta[data-v-1d74ceab]{display:flex;align-items:center;gap:6px;font-size:13px;color:#767c82}.leak-sep[data-v-1d74ceab]{color:#efeff5}.leak-amount[data-v-1d74ceab]{font-size:16px;font-weight:700;color:#d03050;font-variant-numeric:tabular-nums}.category-list[data-v-1d74ceab]{display:flex;flex-direction:column;gap:16px}.cat-row-card[data-v-1d74ceab]{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-radius:8px;background-color:#f8f9fa;border:1px solid #efeff5}.cat-row-top[data-v-1d74ceab]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.cat-info[data-v-1d74ceab]{display:flex;align-items:center;gap:12px}.cat-avatar[data-v-1d74ceab]{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px}.avatar-income[data-v-1d74ceab]{background-color:#e8f7ee}.avatar-expense[data-v-1d74ceab]{background-color:#fdf3f5}.cat-text-wrap[data-v-1d74ceab]{display:flex;flex-direction:column}.cat-name[data-v-1d74ceab]{font-size:16px;font-weight:600;color:#1f2225}.cat-meta[data-v-1d74ceab]{font-size:13px;color:#767c82}.cat-numbers[data-v-1d74ceab]{display:flex;align-items:center;gap:8px}.cat-amount[data-v-1d74ceab]{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.cat-percent-tag[data-v-1d74ceab]{font-size:13px;font-weight:600;padding:2px 8px;border-radius:12px;background-color:#fff;border:1px solid #efeff5;color:#1f2225}.cat-progress-track[data-v-1d74ceab]{height:6px;background-color:#efeff5;border-radius:9999px;overflow:hidden}.cat-progress-fill[data-v-1d74ceab]{height:100%;border-radius:9999px}.fill-income[data-v-1d74ceab]{background-color:#18a058}.fill-expense[data-v-1d74ceab]{background-color:#d03050}.table-container[data-v-1d74ceab]{overflow-x:auto}.report-clean-table[data-v-1d74ceab]{width:100%;border-collapse:collapse;text-align:left}.report-clean-table th[data-v-1d74ceab]{padding:12px 16px;font-size:13px;font-weight:600;color:#767c82;border-bottom:2px solid #efeff5}.report-clean-table td[data-v-1d74ceab]{padding:14px 16px;font-size:15px;border-bottom:1px solid #efeff5;color:#1f2225}.selected-month-row[data-v-1d74ceab]{background-color:#e8f7ee}.month-cell-wrap[data-v-1d74ceab]{display:flex;align-items:center;gap:8px}.month-name-text[data-v-1d74ceab]{font-weight:600}.selected-badge[data-v-1d74ceab]{font-size:13px;font-weight:600;color:#18a058;background-color:#e8f7ee;padding:2px 8px;border-radius:12px}.th-num[data-v-1d74ceab],.td-num[data-v-1d74ceab]{text-align:right;font-variant-numeric:tabular-nums}.th-center[data-v-1d74ceab],.td-center[data-v-1d74ceab]{text-align:center}.table-rate-badge[data-v-1d74ceab]{font-size:13px;font-weight:600;padding:3px 8px;border-radius:12px}.rate-excellent[data-v-1d74ceab]{background-color:#e8f7ee;color:#18a058}.rate-fair[data-v-1d74ceab]{background-color:#f0a02026;color:#f0a020}.rate-deficit[data-v-1d74ceab]{background-color:#fdf3f5;color:#d03050}.utilities-kpi-banner[data-v-1d74ceab]{margin-bottom:24px;padding:16px;background-color:#fcfdfe;border:1px solid #e2e8f0;border-radius:8px}.utilities-banner-title[data-v-1d74ceab]{font-size:14px;font-weight:600;color:#475569;margin-bottom:12px}.utilities-grid[data-v-1d74ceab]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.utility-card[data-v-1d74ceab]{padding:12px;border-radius:8px;border:1px solid #edf2f7;display:flex;flex-direction:column;gap:4px;transition:transform .15s ease,box-shadow .15s ease}.utility-card[data-v-1d74ceab]:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0000000a}.util-elec[data-v-1d74ceab]{background-color:#fffdf5;border-color:#fef08a}.util-water[data-v-1d74ceab]{background-color:#f0f9ff;border-color:#bae6fd}.util-net[data-v-1d74ceab]{background-color:#f5f3ff;border-color:#ddd6fe}.util-phone[data-v-1d74ceab]{background-color:#faf5ff;border-color:#e9d5ff}.util-top[data-v-1d74ceab]{display:flex;align-items:center;gap:6px}.util-icon[data-v-1d74ceab]{font-size:16px}.util-name[data-v-1d74ceab]{font-size:13px;font-weight:600;color:#334155}.util-val[data-v-1d74ceab]{font-size:18px;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums;margin-top:2px}.util-sub[data-v-1d74ceab]{font-size:12px;color:#64748b}.tiered-expense-container[data-v-1d74ceab],.tier-section[data-v-1d74ceab]{display:flex;flex-direction:column}.tier-header[data-v-1d74ceab]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 16px;border-radius:8px 8px 0 0;border:1px solid #e2e8f0;border-bottom:none}.tier-fixed-header[data-v-1d74ceab]{background-color:#f8fafc;border-left:4px solid #f59e0b}.tier-living-header[data-v-1d74ceab]{background-color:#f8fafc;border-left:4px solid #ef4444}.tier-savings-header[data-v-1d74ceab]{background-color:#f0fdf4;border-left:4px solid #10b981}.tier-header-info[data-v-1d74ceab]{display:flex;flex-direction:column}.tier-title[data-v-1d74ceab]{font-size:15px;font-weight:700;color:#1e293b}.tier-desc[data-v-1d74ceab]{font-size:12px;color:#64748b}.tier-header-total[data-v-1d74ceab]{display:flex;align-items:center;gap:8px}.tier-amount[data-v-1d74ceab]{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.tier-percent-badge[data-v-1d74ceab]{font-size:12px;font-weight:600;padding:2px 8px;border-radius:12px;background-color:#fdf2f2;color:#d03050}.tier-empty-text[data-v-1d74ceab]{padding:16px;text-align:center;color:#94a3b8;font-size:13px;background-color:#fff;border:1px solid #e2e8f0;border-radius:0 0 8px 8px}@media (max-width: 767px){.utilities-grid[data-v-1d74ceab]{grid-template-columns:repeat(2,1fr)}.report-header-bar[data-v-1d74ceab]{flex-direction:column;align-items:flex-start}.header-actions[data-v-1d74ceab]{width:100%;justify-content:space-between}.month-selector-bar[data-v-1d74ceab]{flex-direction:column;align-items:stretch}.stepper-controls[data-v-1d74ceab]{width:100%;justify-content:space-between}.month-picker-wrapper[data-v-1d74ceab]{flex:1}.leak-item[data-v-1d74ceab]{flex-direction:column;align-items:flex-start;gap:8px}.leak-right[data-v-1d74ceab]{align-self:flex-end}}@media print{.no-print[data-v-1d74ceab]{display:none!important}.print-only-header[data-v-1d74ceab]{display:block!important;margin-bottom:24px;border-bottom:2px solid #1f2225;padding-bottom:12px}.print-brand[data-v-1d74ceab]{font-size:20px;font-weight:700;margin:0;color:#1f2225}.print-period[data-v-1d74ceab]{font-size:15px;color:#767c82;margin:4px 0 0}.monthly-report-page[data-v-1d74ceab]{max-width:100%!important;margin:0!important;padding:0!important}.executive-banner[data-v-1d74ceab],.kpi-card[data-v-1d74ceab],.section-card[data-v-1d74ceab]{box-shadow:none!important;border:1px solid #efeff5!important;break-inside:avoid}}.settings-page-wrapper[data-v-b13c88d2]{width:100%;padding-bottom:32px}.settings-container[data-v-b13c88d2]{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.page-header[data-v-b13c88d2]{display:flex;align-items:flex-start;justify-content:space-between}.header-text-group[data-v-b13c88d2]{display:flex;flex-direction:column;gap:4px}.page-title[data-v-b13c88d2]{font-size:26px;font-weight:700;line-height:1.3;color:#1f2225;margin:0}.page-subtitle[data-v-b13c88d2]{font-size:15px;color:#767c82;line-height:1.5;margin:0}.identity-card[data-v-b13c88d2]{background-color:#fff;border-radius:8px;border:1px solid #efeff5;padding:16px 20px;box-shadow:0 1px 3px #0000000d}.identity-layout[data-v-b13c88d2]{display:flex;align-items:center;gap:16px}.identity-avatar[data-v-b13c88d2]{width:56px;height:56px;border-radius:9999px;background-color:#e8f7ee;color:#18a058;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.identity-info[data-v-b13c88d2]{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.identity-name-row[data-v-b13c88d2]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.identity-name[data-v-b13c88d2]{font-size:16px;font-weight:600;color:#1f2225;line-height:1.4;word-break:break-word}.role-badge[data-v-b13c88d2]{font-size:13px;font-weight:600;padding:2px 8px;border-radius:12px;line-height:1.4}.role-admin[data-v-b13c88d2]{background-color:#fdf3f5;color:#d03050}.role-user[data-v-b13c88d2]{background-color:#e8f7ee;color:#18a058}.identity-meta-row[data-v-b13c88d2]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.identity-email[data-v-b13c88d2]{font-size:15px;color:#767c82;word-break:break-all}.status-indicator[data-v-b13c88d2]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#767c82}.status-dot[data-v-b13c88d2]{width:8px;height:8px;border-radius:9999px;background-color:#18a058}.settings-card[data-v-b13c88d2]{background-color:#fff;border-radius:8px;border:1px solid #efeff5;padding:24px;box-shadow:0 1px 3px #0000000d}.card-header-row[data-v-b13c88d2]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}.card-title[data-v-b13c88d2]{font-size:20px;font-weight:600;line-height:1.35;color:#1f2225;margin:0}.card-subtitle[data-v-b13c88d2]{font-size:15px;color:#767c82;line-height:1.5;margin:4px 0 0}.dirty-badge[data-v-b13c88d2]{display:inline-flex;align-items:center;gap:4px;background-color:#fdf3f5;color:#d03050;font-size:13px;font-weight:600;padding:4px 10px;border-radius:12px;white-space:nowrap}.dirty-icon[data-v-b13c88d2]{font-size:13px}.alert-banner[data-v-b13c88d2]{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:15px;line-height:1.5}.alert-success[data-v-b13c88d2]{background-color:#e8f7ee;border:1px solid #18a058;color:#0c7a43}.alert-danger[data-v-b13c88d2]{background-color:#fdf3f5;border:1px solid #d03050;color:#d03050}.alert-icon[data-v-b13c88d2]{font-size:16px;font-weight:700;line-height:1.4}.alert-content[data-v-b13c88d2]{display:flex;flex-direction:column;gap:2px}.alert-title[data-v-b13c88d2]{font-weight:600}.alert-desc[data-v-b13c88d2]{margin:0;font-size:13px}.form-group[data-v-b13c88d2]{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.form-label[data-v-b13c88d2]{font-size:15px;font-weight:600;color:#1f2225;line-height:1.4}.required-mark[data-v-b13c88d2]{color:#d03050}.label-with-recovery[data-v-b13c88d2]{display:flex;align-items:center;justify-content:space-between}.recovery-link-btn[data-v-b13c88d2]{background:none;border:none;padding:0;font-size:13px;font-weight:500;color:#2080f0;cursor:pointer;text-decoration:underline}.recovery-link-btn[data-v-b13c88d2]:hover{color:#18a058}.form-control[data-v-b13c88d2]{width:100%;min-height:44px;padding:10px 14px;font-size:15px;font-family:inherit;color:#1f2225;background-color:#fff;border:1px solid #efeff5;border-radius:4px;box-sizing:border-box;outline:none;transition:border-color .2s,box-shadow .2s}.form-control[data-v-b13c88d2]:focus{border-color:#18a058;box-shadow:0 0 0 2px #18a05833}.has-error .form-control[data-v-b13c88d2]{border-color:#d03050}.has-error .form-control[data-v-b13c88d2]:focus{box-shadow:0 0 0 2px #d0305033}.input-with-toggle[data-v-b13c88d2]{position:relative;display:flex;align-items:center}.input-with-toggle .form-control[data-v-b13c88d2]{padding-right:48px}.password-toggle-btn[data-v-b13c88d2]{position:absolute;right:0;top:0;bottom:0;width:44px;height:44px;background:none;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:#767c82;border-radius:4px}.password-toggle-btn[data-v-b13c88d2]:hover{color:#1f2225}.field-hint-text[data-v-b13c88d2]{font-size:13px;color:#767c82;margin:0;line-height:1.4}.field-error-msg[data-v-b13c88d2]{font-size:13px;color:#d03050;font-weight:500;margin:0;line-height:1.4}.requirements-checklist[data-v-b13c88d2]{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:4px}.requirements-checklist li[data-v-b13c88d2]{display:flex;align-items:center;gap:6px;font-size:13px;color:#767c82}.requirements-checklist li.req-valid[data-v-b13c88d2]{color:#0c7a43;font-weight:500}.req-icon[data-v-b13c88d2]{font-weight:700;font-size:13px;width:14px;display:inline-block;text-align:center}.form-actions-row[data-v-b13c88d2]{display:flex;align-items:center;gap:12px;margin-top:24px;flex-wrap:wrap}.btn[data-v-b13c88d2]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;font-size:15px;font-weight:600;font-family:inherit;border-radius:4px;border:1px solid transparent;cursor:pointer;transition:background-color .2s,border-color .2s,opacity .2s;box-sizing:border-box}.btn-primary[data-v-b13c88d2]{background-color:#18a058;color:#fff}.btn-primary[data-v-b13c88d2]:hover:not(:disabled){background-color:#0c7a43}.btn-primary[data-v-b13c88d2]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-b13c88d2]{background-color:#fff;color:#1f2225;border-color:#efeff5}.btn-secondary[data-v-b13c88d2]:hover:not(:disabled){background-color:#f8f9fa}.btn-spinner[data-v-b13c88d2]{width:14px;height:14px;border:2px solid #ffffff;border-top-color:transparent;border-radius:9999px;animation:spin-b13c88d2 .8s linear infinite}@keyframes spin-b13c88d2{to{transform:rotate(360deg)}}.recovery-modal-body[data-v-b13c88d2]{display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.5;color:#1f2225}.modal-text[data-v-b13c88d2]{margin:0}.modal-list[data-v-b13c88d2]{padding-left:20px;margin:0;display:flex;flex-direction:column;gap:8px}@media (max-width: 767px){.settings-card[data-v-b13c88d2]{padding:16px}.identity-card[data-v-b13c88d2]{padding:14px 16px}.form-actions-row[data-v-b13c88d2]{flex-direction:column;align-items:stretch}.form-actions-row .btn[data-v-b13c88d2]{width:100%}.identity-layout[data-v-b13c88d2]{align-items:flex-start}.identity-avatar[data-v-b13c88d2]{width:48px;height:48px;font-size:16px}}.mail-test-page[data-v-ef9534e6]{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:#f4f7f6}.mail-test-shell[data-v-ef9534e6]{width:min(100%,560px)}.result-body[data-v-ef9534e6]{display:grid;gap:12px}.result-body p[data-v-ef9534e6]{margin:0}.result-body dl[data-v-ef9534e6]{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 12px;margin:0}.result-body dt[data-v-ef9534e6]{font-weight:700}.result-body dd[data-v-ef9534e6]{min-width:0;margin:0;overflow-wrap:anywhere}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/sarabun-thai-400-normal-C2DaJlKK.woff2) format("woff2"),url(/build/assets/sarabun-thai-400-normal-CH-UbWgg.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/sarabun-vietnamese-400-normal-igdrzAGY.woff2) format("woff2"),url(/build/assets/sarabun-vietnamese-400-normal-DPfkSCMy.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/sarabun-latin-ext-400-normal-BbP7GpLL.woff2) format("woff2"),url(/build/assets/sarabun-latin-ext-400-normal-BsmTn0SS.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sarabun;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/sarabun-latin-400-normal-URPBxl-K.woff2) format("woff2"),url(/build/assets/sarabun-latin-400-normal-DmguIS-7.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{font-family:Sarabun,sans-serif;box-sizing:border-box}body,html{font-family:Sarabun,sans-serif;margin:0;padding:0}@media (max-width: 767px){body{font-size:14px}input,select,textarea{font-size:16px!important}}@media (min-width: 768px){body{font-size:15px}}@media (min-width: 1024px){body{font-size:16px}}
