:root{--primary:#4f46e5;--primary-hover:#4338ca;--success:#059669;--danger:#dc2626;--warning:#d97706;--bg:#f3f4f6;--card:#fff;--text:#1f2937;--text-light:#6b7280;--border:#e5e7eb;--radius:10px;--shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06)}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}#app{min-height:100vh}.navbar{background:var(--card);border-bottom:1px solid var(--border);box-shadow:var(--shadow);position:sticky;top:0;z-index:100}.nav-inner{max-width:960px;margin:0 auto;padding:0 16px;height:56px;display:flex;align-items:center;justify-content:space-between}.nav-brand{font-size:18px;font-weight:700;color:var(--text);text-decoration:none}.nav-brand:hover{color:var(--primary)}.nav-links{display:flex;align-items:center;gap:4px}.nav-links a{padding:8px 14px;font-size:14px;font-weight:500;color:var(--text-light);text-decoration:none;border-radius:8px;transition:all .15s}.nav-links a.router-link-exact-active,.nav-links a:hover{color:var(--primary);background:#eef2ff}.nav-btn{padding:8px 16px;font-size:14px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .15s}.nav-btn-primary{background:var(--primary);color:#fff}.nav-btn-primary:hover{background:var(--primary-hover)}.nav-btn-logout{background:none;color:var(--text-light);margin-left:8px}.nav-btn-logout:hover{color:var(--danger);background:#fef2f2}.badge-count{display:inline-block;background:var(--danger);color:#fff;font-size:11px;font-weight:700;border-radius:99px;padding:0 5px;margin-left:4px;line-height:16px;min-width:16px;text-align:center}.main-content{max-width:960px;margin:0 auto;padding:24px 16px}@media (max-width:640px){.nav-links a{padding:6px 10px;font-size:13px}.nav-inner{padding:0 12px}.main-content{padding:16px 12px}}.home-page[data-v-79a2235c]{display:flex;justify-content:center;padding-top:40px}.home-card[data-v-79a2235c]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:48px 40px;text-align:center;max-width:560px;width:100%}.home-icon[data-v-79a2235c]{font-size:56px;margin-bottom:12px}.home-card h1[data-v-79a2235c]{font-size:32px;font-weight:700;color:var(--text);margin-bottom:8px}.home-sub[data-v-79a2235c]{font-size:16px;color:var(--text-light);margin-bottom:32px}.home-features[data-v-79a2235c]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}.feature[data-v-79a2235c]{background:#f9fafb;border-radius:10px;padding:20px 12px;display:flex;flex-direction:column;align-items:center;gap:6px}.feature-icon[data-v-79a2235c]{font-size:28px}.feature strong[data-v-79a2235c]{font-size:14px;color:var(--text)}.feature small[data-v-79a2235c]{font-size:12px;color:var(--text-light)}.home-cta[data-v-79a2235c]{display:inline-block;padding:12px 32px;background:var(--primary);color:#fff;font-size:16px;font-weight:600;border-radius:10px;text-decoration:none;transition:all .2s}.home-cta[data-v-79a2235c]:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(79,70,229,.3)}@media (max-width:480px){.home-features[data-v-79a2235c]{grid-template-columns:1fr}.home-card[data-v-79a2235c]{padding:32px 20px}}.login-page[data-v-c104c410]{display:flex;justify-content:center;align-items:center;min-height:70vh}.login-card[data-v-c104c410]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:40px 36px;max-width:400px;width:100%;text-align:center}.login-icon[data-v-c104c410]{font-size:48px;margin-bottom:8px}.login-card h2[data-v-c104c410]{font-size:24px;font-weight:700;margin-bottom:4px}.login-sub[data-v-c104c410]{font-size:14px;color:var(--text-light);margin-bottom:24px}.login-form[data-v-c104c410]{text-align:left}.form-group[data-v-c104c410]{margin-bottom:16px}.form-group label[data-v-c104c410]{display:block;font-size:13px;font-weight:600;color:var(--text-light);margin-bottom:6px}.form-group input[data-v-c104c410]{width:100%;padding:10px 14px;font-size:15px;border:1px solid var(--border);border-radius:8px;outline:none;transition:border-color .15s}.form-group input[data-v-c104c410]:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,.1)}.login-error[data-v-c104c410]{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px}.btn-submit[data-v-c104c410]{width:100%;padding:12px;font-size:15px;font-weight:600;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .15s}.btn-submit[data-v-c104c410]:hover{background:var(--primary-hover)}.btn-submit[data-v-c104c410]:disabled{opacity:.6;cursor:not-allowed}.form-title[data-v-cfd4dddc]{font-size:17px;font-weight:700;margin-bottom:20px}.styled-form[data-v-cfd4dddc]{display:flex;flex-direction:column;gap:14px}.form-group[data-v-cfd4dddc]{display:flex;flex-direction:column;gap:5px}.form-group label[data-v-cfd4dddc]{font-size:13px;font-weight:600;color:var(--text-light)}.form-group input[data-v-cfd4dddc],.form-group select[data-v-cfd4dddc],.form-group textarea[data-v-cfd4dddc]{padding:10px 12px;font-size:15px;border:1px solid var(--border);border-radius:8px;outline:none;background:#fff;transition:border-color .15s}.form-group input[data-v-cfd4dddc]:focus,.form-group select[data-v-cfd4dddc]:focus,.form-group textarea[data-v-cfd4dddc]:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,.1)}.form-group textarea[data-v-cfd4dddc]{resize:none}.input-prefix[data-v-cfd4dddc]{position:relative}.input-prefix .prefix[data-v-cfd4dddc]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-light);font-size:16px}.input-prefix input[data-v-cfd4dddc]{padding-left:30px;width:100%}.checkbox-row[data-v-cfd4dddc]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text)}.checkbox-row input[type=checkbox][data-v-cfd4dddc]{width:18px;height:18px;accent-color:var(--primary)}.btn-submit[data-v-cfd4dddc]{padding:12px;font-size:15px;font-weight:600;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .15s;margin-top:4px}.btn-submit[data-v-cfd4dddc]:hover{background:var(--primary-hover)}.btn-submit[data-v-cfd4dddc]:disabled{opacity:.6;cursor:not-allowed}.toast[data-v-cfd4dddc]{margin-top:14px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;text-align:center;animation:fadeIn-cfd4dddc .3s}.toast-success[data-v-cfd4dddc]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}@keyframes fadeIn-cfd4dddc{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.form-title[data-v-135a5be4]{font-size:17px;font-weight:700;margin-bottom:20px}.styled-form[data-v-135a5be4]{display:flex;flex-direction:column;gap:14px}.form-group[data-v-135a5be4]{display:flex;flex-direction:column;gap:5px}.form-group label[data-v-135a5be4]{font-size:13px;font-weight:600;color:var(--text-light)}.form-group input[data-v-135a5be4],.form-group select[data-v-135a5be4],.form-group textarea[data-v-135a5be4]{padding:10px 12px;font-size:15px;border:1px solid var(--border);border-radius:8px;outline:none;background:#fff;transition:border-color .15s}.form-group input[data-v-135a5be4]:focus,.form-group select[data-v-135a5be4]:focus,.form-group textarea[data-v-135a5be4]:focus{border-color:var(--success);box-shadow:0 0 0 3px rgba(5,150,105,.1)}.form-group textarea[data-v-135a5be4]{resize:none}.input-prefix[data-v-135a5be4]{position:relative}.input-prefix .prefix[data-v-135a5be4]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--success);font-size:16px}.input-prefix input[data-v-135a5be4]{padding-left:30px;width:100%}.btn-submit[data-v-135a5be4]{padding:12px;font-size:15px;font-weight:600;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .15s;margin-top:4px}.btn-green[data-v-135a5be4]{background:var(--success)}.btn-green[data-v-135a5be4]:hover{background:#047857}.btn-submit[data-v-135a5be4]:disabled{opacity:.6;cursor:not-allowed}.toast[data-v-135a5be4]{margin-top:14px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;text-align:center;animation:fadeIn-135a5be4 .3s}.toast-success[data-v-135a5be4]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}@keyframes fadeIn-135a5be4{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.form-title[data-v-5afeba1f]{font-size:17px;font-weight:700;margin-bottom:20px}.styled-form[data-v-5afeba1f]{display:flex;flex-direction:column;gap:14px}.form-group[data-v-5afeba1f]{display:flex;flex-direction:column;gap:5px}.form-group label[data-v-5afeba1f]{font-size:13px;font-weight:600;color:var(--text-light)}.form-group input[data-v-5afeba1f],.form-group select[data-v-5afeba1f]{padding:10px 12px;font-size:15px;border:1px solid var(--border);border-radius:8px;outline:none;background:#fff;transition:border-color .15s}.form-group input[data-v-5afeba1f]:focus,.form-group select[data-v-5afeba1f]:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,.1)}.arrow-row[data-v-5afeba1f]{text-align:center;font-size:20px;color:var(--text-light)}.input-prefix[data-v-5afeba1f]{position:relative}.input-prefix .prefix[data-v-5afeba1f]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-light);font-size:16px}.input-prefix input[data-v-5afeba1f]{padding-left:30px;width:100%}.checkbox-row[data-v-5afeba1f]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text)}.checkbox-row input[type=checkbox][data-v-5afeba1f]{width:18px;height:18px;accent-color:var(--primary)}.btn-submit[data-v-5afeba1f]{padding:12px;font-size:15px;font-weight:600;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .15s;margin-top:4px}.btn-submit[data-v-5afeba1f]:hover{background:var(--primary-hover)}.btn-submit[data-v-5afeba1f]:disabled{opacity:.6;cursor:not-allowed}.toast[data-v-5afeba1f]{margin-top:14px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;text-align:center;animation:fadeIn-5afeba1f .3s}.toast-success[data-v-5afeba1f]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}@keyframes fadeIn-5afeba1f{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.event-page[data-v-3b19246a]{max-width:520px;margin:0 auto}.tab-bar[data-v-3b19246a]{display:flex;gap:4px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:4px;margin-bottom:16px}.tab-btn[data-v-3b19246a]{flex:1;padding:10px 0;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;background:transparent;color:var(--text-light);transition:all .15s}.tab-btn[data-v-3b19246a]:hover{color:var(--primary);background:#eef2ff}.tab-btn.active[data-v-3b19246a]{background:var(--primary);color:#fff}.tab-content[data-v-3b19246a]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.credit-page[data-v-a7eb3bfe]{max-width:520px;margin:0 auto}.credit-card[data-v-a7eb3bfe]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:28px}.form-title[data-v-a7eb3bfe]{font-size:17px;font-weight:700;margin-bottom:20px}.styled-form[data-v-a7eb3bfe]{display:flex;flex-direction:column;gap:14px}.form-group[data-v-a7eb3bfe]{display:flex;flex-direction:column;gap:5px}.form-group label[data-v-a7eb3bfe]{font-size:13px;font-weight:600;color:var(--text-light)}.form-group input[data-v-a7eb3bfe],.form-group select[data-v-a7eb3bfe]{padding:10px 12px;font-size:15px;border:1px solid var(--border);border-radius:8px;outline:none;background:#fff;transition:border-color .15s}.form-group input[data-v-a7eb3bfe]:focus,.form-group select[data-v-a7eb3bfe]:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,.1)}.date-input[data-v-a7eb3bfe] input{padding:10px 12px;font-size:15px;border:1px solid var(--border);border-radius:8px;outline:none;width:100%}.date-input[data-v-a7eb3bfe] input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,.1)}.input-prefix[data-v-a7eb3bfe]{position:relative}.input-prefix .prefix[data-v-a7eb3bfe]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-light);font-size:16px}.input-prefix input[data-v-a7eb3bfe]{padding-left:30px;width:100%}.btn-submit[data-v-a7eb3bfe]{padding:12px;font-size:15px;font-weight:600;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .15s;margin-top:4px}.btn-submit[data-v-a7eb3bfe]:hover{background:var(--primary-hover)}.btn-submit[data-v-a7eb3bfe]:disabled{opacity:.6;cursor:not-allowed}.toast[data-v-a7eb3bfe]{margin-top:14px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;text-align:center;animation:fadeIn-a7eb3bfe .3s}.toast-success[data-v-a7eb3bfe]{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.toast-error[data-v-a7eb3bfe]{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}@keyframes fadeIn-a7eb3bfe{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.page-header[data-v-35c1c9e1]{margin-bottom:20px}.page-header h1[data-v-35c1c9e1]{font-size:24px;font-weight:700}.page-header p[data-v-35c1c9e1]{font-size:14px;color:var(--text-light);margin-top:2px}.filter-bar[data-v-35c1c9e1]{display:flex;flex-wrap:wrap;gap:6px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 12px;margin-bottom:10px}.filter-btn[data-v-35c1c9e1]{padding:8px 14px;font-size:13px;font-weight:600;background:#f9fafb;border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--text);transition:all .15s}.filter-btn[data-v-35c1c9e1]:hover{border-color:var(--primary);color:var(--primary);background:#eef2ff}.filter-btn.active[data-v-35c1c9e1]{background:var(--primary);color:#fff;border-color:var(--primary)}.search-panel[data-v-35c1c9e1]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px;margin-bottom:10px}.search-row[data-v-35c1c9e1]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.search-input-wrap[data-v-35c1c9e1]{position:relative;flex:1;min-width:180px}.search-icon[data-v-35c1c9e1]{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:14px;pointer-events:none}.search-input[data-v-35c1c9e1]{width:100%;padding:8px 32px 8px 32px;font-size:14px;border:1px solid var(--border);border-radius:8px;background:#f9fafb;color:var(--text);box-sizing:border-box;transition:border-color .15s,background .15s}.search-input[data-v-35c1c9e1]:focus{outline:none;border-color:var(--primary);background:#fff}.search-clear[data-v-35c1c9e1]{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#9ca3af;font-size:13px;padding:2px 4px;line-height:1}.search-clear[data-v-35c1c9e1]:hover{color:#374151}.btn-advanced[data-v-35c1c9e1]{padding:8px 14px;font-size:13px;font-weight:600;background:#f9fafb;border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--text);white-space:nowrap;display:flex;align-items:center;gap:4px;transition:all .15s}.btn-advanced.active[data-v-35c1c9e1],.btn-advanced[data-v-35c1c9e1]:hover{border-color:var(--primary);color:var(--primary);background:#eef2ff}.filter-badge[data-v-35c1c9e1]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:11px;background:var(--primary);color:#fff;font-weight:700}.btn-clear-all[data-v-35c1c9e1]{padding:8px 14px;font-size:13px;font-weight:600;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;cursor:pointer;color:#dc2626;white-space:nowrap;transition:all .15s}.btn-clear-all[data-v-35c1c9e1]:hover{background:#fecdd3}.advanced-panel[data-v-35c1c9e1]{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.adv-row[data-v-35c1c9e1]{display:flex;flex-wrap:wrap;gap:10px}.adv-group[data-v-35c1c9e1]{display:flex;flex-direction:column;gap:4px;min-width:130px;flex:1}.adv-group label[data-v-35c1c9e1]{font-size:11px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.4px}.adv-group input[data-v-35c1c9e1],.adv-group select[data-v-35c1c9e1]{padding:7px 9px;font-size:13px;border:1px solid var(--border);border-radius:8px;background:#f9fafb;color:var(--text);transition:border-color .15s}.adv-group input[data-v-35c1c9e1]:focus,.adv-group select[data-v-35c1c9e1]:focus{outline:none;border-color:var(--primary);background:#fff}.table-card[data-v-35c1c9e1]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.table-summary[data-v-35c1c9e1]{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#f9fafb;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-light)}.total-amount[data-v-35c1c9e1]{font-weight:700;color:#dc2626}.table-scroll[data-v-35c1c9e1]{overflow-x:auto}table[data-v-35c1c9e1]{width:100%;border-collapse:collapse}thead[data-v-35c1c9e1]{background:#f9fafb}th[data-v-35c1c9e1]{padding:10px 14px;font-size:12px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;text-align:left;border-bottom:1px solid var(--border)}td[data-v-35c1c9e1]{padding:10px 14px;font-size:14px;border-bottom:1px solid #f3f4f6}tr[data-v-35c1c9e1]:hover{background:#fafaff}.text-right[data-v-35c1c9e1]{text-align:right}.th-sort[data-v-35c1c9e1]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s,background .15s}.th-sort[data-v-35c1c9e1]:hover{color:var(--primary);background:#eef2ff}.sort-icon[data-v-35c1c9e1]{font-size:11px;opacity:.5;margin-left:2px}.th-sort:hover .sort-icon[data-v-35c1c9e1]{opacity:1;color:var(--primary)}.cell-id[data-v-35c1c9e1]{color:#9ca3af;font-size:12px}.cell-date[data-v-35c1c9e1]{white-space:nowrap}.cell-amount[data-v-35c1c9e1]{font-weight:600;color:#dc2626}.cell-comment[data-v-35c1c9e1]{color:var(--text-light);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-positive[data-v-35c1c9e1]{color:#059669;font-weight:600}.cell-negative[data-v-35c1c9e1]{color:#dc2626;font-weight:600}.cell-actions[data-v-35c1c9e1]{white-space:nowrap}.no-result[data-v-35c1c9e1]{text-align:center;padding:24px;color:#9ca3af;font-size:14px}.badge[data-v-35c1c9e1]{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600}.badge-blue[data-v-35c1c9e1]{background:#eff6ff;color:#1d4ed8}.badge-green[data-v-35c1c9e1]{background:#ecfdf5;color:#047857}.btn-delete[data-v-35c1c9e1],.btn-edit[data-v-35c1c9e1]{padding:4px 8px;font-size:14px;border:none;border-radius:6px;cursor:pointer;transition:background .15s}.btn-edit[data-v-35c1c9e1]{background:#eff6ff}.btn-edit[data-v-35c1c9e1]:hover{background:#dbeafe}.btn-delete[data-v-35c1c9e1]{background:#fff1f2;margin-left:4px}.btn-delete[data-v-35c1c9e1]:hover{background:#fecdd3}.btn-copy[data-v-35c1c9e1]{background:#f0fdf4;margin-left:4px}.btn-copy[data-v-35c1c9e1]:hover{background:#dcfce7}.modal-overlay[data-v-35c1c9e1]{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-35c1c9e1]{background:#fff;border-radius:12px;width:90%;max-width:420px;box-shadow:0 20px 60px rgba(0,0,0,.2);overflow:hidden}.modal-sm[data-v-35c1c9e1]{max-width:340px}.modal-header[data-v-35c1c9e1]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);font-size:16px;font-weight:700}.modal-close[data-v-35c1c9e1]{background:none;border:none;font-size:18px;cursor:pointer;color:#9ca3af}.modal-close[data-v-35c1c9e1]:hover{color:#374151}.modal-body[data-v-35c1c9e1]{padding:20px}.modal-footer[data-v-35c1c9e1]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border);background:#f9fafb}.form-group[data-v-35c1c9e1]{margin-bottom:14px}.form-group label[data-v-35c1c9e1]{display:block;font-size:12px;font-weight:600;color:var(--text-light);margin-bottom:4px;text-transform:uppercase;letter-spacing:.4px}.form-group input[data-v-35c1c9e1],.form-group select[data-v-35c1c9e1]{width:100%;padding:8px 10px;font-size:14px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);box-sizing:border-box;transition:border-color .15s}.form-group input[data-v-35c1c9e1]:focus,.form-group select[data-v-35c1c9e1]:focus{outline:none;border-color:var(--primary)}.btn-cancel[data-v-35c1c9e1]{padding:8px 16px;font-size:14px;font-weight:600;background:#f3f4f6;border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--text)}.btn-cancel[data-v-35c1c9e1]:hover{background:#e5e7eb}.btn-save[data-v-35c1c9e1]{padding:8px 18px;font-size:14px;font-weight:600;background:var(--primary);border:none;border-radius:8px;cursor:pointer;color:#fff;transition:opacity .15s}.btn-save[data-v-35c1c9e1]:disabled{opacity:.6;cursor:not-allowed}.btn-save[data-v-35c1c9e1]:not(:disabled):hover{opacity:.88}.btn-danger[data-v-35c1c9e1]{padding:8px 18px;font-size:14px;font-weight:600;background:#dc2626;border:none;border-radius:8px;cursor:pointer;color:#fff;transition:opacity .15s}.btn-danger[data-v-35c1c9e1]:disabled{opacity:.6;cursor:not-allowed}.btn-danger[data-v-35c1c9e1]:not(:disabled):hover{opacity:.88}.delete-preview[data-v-35c1c9e1]{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff1f2;border-radius:8px;margin:10px 0;flex-wrap:wrap}.delete-preview strong[data-v-35c1c9e1]{color:#dc2626}.text-light[data-v-35c1c9e1]{color:#9ca3af;font-size:13px}.delete-warn[data-v-35c1c9e1]{font-size:13px;color:#9ca3af;margin-top:6px}.toast[data-v-35c1c9e1]{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;z-index:2000;box-shadow:0 4px 16px rgba(0,0,0,.15);animation:fadeInUp-35c1c9e1 .2s ease}.toast-success[data-v-35c1c9e1]{background:#059669;color:#fff}.toast-error[data-v-35c1c9e1]{background:#dc2626;color:#fff}@keyframes fadeInUp-35c1c9e1{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.empty-state[data-v-35c1c9e1]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:48px 20px;text-align:center}.empty-icon[data-v-35c1c9e1]{font-size:48px;margin-bottom:12px}.empty-state h3[data-v-35c1c9e1]{font-size:18px;font-weight:600;margin-bottom:4px}.empty-state p[data-v-35c1c9e1]{font-size:14px;color:var(--text-light)}.spinner[data-v-35c1c9e1]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-35c1c9e1 .8s linear infinite;margin:0 auto 12px}@keyframes spin-35c1c9e1{to{transform:rotate(1turn)}}@media (max-width:640px){.filter-btn[data-v-35c1c9e1]{padding:6px 10px;font-size:12px}td[data-v-35c1c9e1],th[data-v-35c1c9e1]{padding:8px 10px}.adv-group[data-v-35c1c9e1]{min-width:100%}}.page-header[data-v-47d2771c]{margin-bottom:20px}.page-header h1[data-v-47d2771c]{font-size:24px;font-weight:700}.page-header p[data-v-47d2771c]{font-size:14px;color:var(--text-light);margin-top:2px}.period-bar[data-v-47d2771c]{display:flex;flex-wrap:wrap;gap:6px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 12px;margin-bottom:16px}.period-btn[data-v-47d2771c]{padding:8px 16px;font-size:13px;font-weight:600;background:#f9fafb;border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--text);transition:all .15s}.period-btn[data-v-47d2771c]:hover{border-color:var(--primary);color:var(--primary);background:#eef2ff}.period-btn.active[data-v-47d2771c]{background:var(--primary);color:#fff;border-color:var(--primary)}.stats-row[data-v-47d2771c]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.stat-card[data-v-47d2771c]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;text-align:center}.stat-label[data-v-47d2771c]{font-size:12px;color:var(--text-light);margin-bottom:4px}.stat-value[data-v-47d2771c]{font-size:20px;font-weight:700;color:var(--text)}.stat-value.expense[data-v-47d2771c]{color:#dc2626}.charts-grid[data-v-47d2771c]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.chart-card[data-v-47d2771c]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 20px}.chart-card-wide[data-v-47d2771c]{grid-column:span 2}.chart-title[data-v-47d2771c]{font-size:15px;font-weight:700;color:var(--text)}.chart-subtitle[data-v-47d2771c]{font-size:12px;color:var(--text-light);margin-bottom:8px}.chart[data-v-47d2771c]{height:300px}.chart-bar[data-v-47d2771c]{height:260px}.empty-state[data-v-47d2771c]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:48px 20px;text-align:center}.empty-icon[data-v-47d2771c]{font-size:48px;margin-bottom:12px}.empty-state h3[data-v-47d2771c]{font-size:18px;font-weight:600;margin-bottom:4px}.empty-state p[data-v-47d2771c]{font-size:14px;color:var(--text-light)}.spinner[data-v-47d2771c]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-47d2771c .8s linear infinite;margin:0 auto 12px}@keyframes spin-47d2771c{to{transform:rotate(1turn)}}@media (max-width:640px){.stats-row[data-v-47d2771c]{grid-template-columns:repeat(2,1fr)}.charts-grid[data-v-47d2771c]{grid-template-columns:1fr}.chart-card-wide[data-v-47d2771c]{grid-column:span 1}.chart[data-v-47d2771c]{height:260px}.chart-bar[data-v-47d2771c]{height:220px}}.page-header[data-v-34a856a2]{margin-bottom:20px}.page-header h1[data-v-34a856a2]{font-size:24px;font-weight:700}.page-header p[data-v-34a856a2]{font-size:14px;color:var(--text-light);margin-top:2px}.stats-row[data-v-34a856a2]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.stat-card[data-v-34a856a2]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;text-align:center}.stat-card.highlight[data-v-34a856a2]{border:2px solid var(--primary)}.stat-label[data-v-34a856a2]{font-size:12px;color:var(--text-light);margin-bottom:4px}.stat-value[data-v-34a856a2]{font-size:18px;font-weight:700;color:var(--text)}.stat-value.positive[data-v-34a856a2]{color:#059669}.stat-value.expense[data-v-34a856a2],.stat-value.negative[data-v-34a856a2]{color:#dc2626}.stat-pct[data-v-34a856a2]{font-size:13px;color:#9ca3af;font-weight:400;margin-left:4px}.charts-grid[data-v-34a856a2]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.chart-card[data-v-34a856a2]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 20px}.chart-card-wide[data-v-34a856a2]{grid-column:span 2}.chart-title[data-v-34a856a2]{font-size:15px;font-weight:700;color:var(--text)}.chart-subtitle[data-v-34a856a2]{font-size:12px;color:var(--text-light);margin-bottom:8px}.chart[data-v-34a856a2]{height:300px}.chart-bar[data-v-34a856a2]{height:240px}.chart-tall[data-v-34a856a2]{height:280px}.liab-list[data-v-34a856a2]{margin-top:8px}.liab-row[data-v-34a856a2]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f3f4f6;font-size:14px}.liab-name[data-v-34a856a2]{color:var(--text)}.liab-amount[data-v-34a856a2]{font-weight:600;color:#dc2626}.liab-total[data-v-34a856a2]{display:flex;justify-content:space-between;align-items:center;padding:10px 0 0;font-size:14px;font-weight:700}.negative[data-v-34a856a2]{color:#dc2626}.empty-state[data-v-34a856a2]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:48px 20px;text-align:center}.empty-icon[data-v-34a856a2]{font-size:48px;margin-bottom:12px}.empty-state h3[data-v-34a856a2]{font-size:18px;font-weight:600;margin-bottom:4px}.empty-state p[data-v-34a856a2]{font-size:14px;color:var(--text-light)}.spinner[data-v-34a856a2]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-34a856a2 .8s linear infinite;margin:0 auto 12px}@keyframes spin-34a856a2{to{transform:rotate(1turn)}}@media (max-width:640px){.stats-row[data-v-34a856a2]{grid-template-columns:repeat(2,1fr)}.charts-grid[data-v-34a856a2]{grid-template-columns:1fr}.chart-card-wide[data-v-34a856a2]{grid-column:span 1}.chart[data-v-34a856a2]{height:260px}.chart-bar[data-v-34a856a2]{height:200px}.chart-tall[data-v-34a856a2]{height:240px}}.page-header[data-v-22fa4669]{margin-bottom:24px}.page-header h1[data-v-22fa4669]{font-size:24px;font-weight:700;color:var(--text)}.page-header p[data-v-22fa4669]{color:var(--text-light);margin-top:4px;font-size:14px}.card[data-v-22fa4669]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px}.card-title[data-v-22fa4669]{font-size:16px;font-weight:600;color:var(--text);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.form-row[data-v-22fa4669]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.form-group[data-v-22fa4669]{display:flex;flex-direction:column;gap:4px;min-width:130px}.form-group label[data-v-22fa4669]{font-size:12px;font-weight:500;color:var(--text-light)}.form-group input[type=number][data-v-22fa4669],.form-group input[type=text][data-v-22fa4669],.form-group select[data-v-22fa4669]{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text);background:#fff;outline:none;transition:border .15s}.form-group input[data-v-22fa4669]:focus,.form-group select[data-v-22fa4669]:focus{border-color:var(--primary)}.form-actions[data-v-22fa4669]{display:flex;align-items:center;gap:12px;margin-top:4px}.msg-success[data-v-22fa4669]{color:var(--success);font-size:14px}.msg-error[data-v-22fa4669]{color:var(--danger);font-size:14px}.btn[data-v-22fa4669]{padding:8px 18px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.btn-primary[data-v-22fa4669]{background:var(--primary);color:#fff}.btn-primary[data-v-22fa4669]:hover:not(:disabled){background:var(--primary-hover)}.btn-primary[data-v-22fa4669]:disabled{opacity:.6;cursor:not-allowed}.btn-danger[data-v-22fa4669]{background:#fef2f2;color:var(--danger);border:1px solid #fecaca}.btn-danger[data-v-22fa4669]:hover{background:#fee2e2}.btn-sm[data-v-22fa4669]{padding:4px 10px;font-size:12px}.table-wrap[data-v-22fa4669]{overflow-x:auto}.data-table[data-v-22fa4669]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-22fa4669]{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-light);background:#f9fafb;border-bottom:1px solid var(--border)}.data-table td[data-v-22fa4669]{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text)}.data-table tr:last-child td[data-v-22fa4669]{border-bottom:none}.data-table tr:hover td[data-v-22fa4669]{background:#f9fafb}.row-disabled td[data-v-22fa4669]{color:var(--text-light);opacity:.6}.amount[data-v-22fa4669]{font-weight:600;color:var(--danger)}.badge[data-v-22fa4669]{padding:2px 8px;border-radius:99px;font-size:12px;font-weight:500}.badge-pay[data-v-22fa4669]{background:#fef3c7;color:#92400e}.badge-transfer[data-v-22fa4669]{background:#dbeafe;color:#1e40af}.toggle[data-v-22fa4669]{position:relative;display:inline-block;width:36px;height:20px}.toggle input[data-v-22fa4669]{opacity:0;width:0;height:0}.toggle-slider[data-v-22fa4669]{position:absolute;inset:0;background:#d1d5db;border-radius:99px;cursor:pointer;transition:background .2s}.toggle-slider[data-v-22fa4669]:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.toggle input:checked+.toggle-slider[data-v-22fa4669]{background:var(--primary)}.toggle input:checked+.toggle-slider[data-v-22fa4669]:before{transform:translateX(16px)}.empty[data-v-22fa4669],.loading[data-v-22fa4669]{text-align:center;color:var(--text-light);padding:40px}.td-actions[data-v-22fa4669]{display:flex;gap:6px;align-items:center}.btn-edit[data-v-22fa4669]{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.btn-edit[data-v-22fa4669]:hover{background:#dbeafe}.btn-secondary[data-v-22fa4669]{background:#f3f4f6;color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-22fa4669]:hover{background:#e5e7eb}.modal-backdrop[data-v-22fa4669]{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-22fa4669]{background:#fff;border-radius:var(--radius);box-shadow:0 20px 60px rgba(0,0,0,.2);width:100%;max-width:640px;max-height:90vh;overflow-y:auto;margin:16px}.modal-header[data-v-22fa4669]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);font-weight:600;font-size:16px}.modal-close[data-v-22fa4669]{background:none;border:none;font-size:16px;color:var(--text-light);cursor:pointer;padding:4px 8px;border-radius:4px}.modal-close[data-v-22fa4669]:hover{background:#f3f4f6}.modal-body[data-v-22fa4669]{padding:20px}.modal-footer[data-v-22fa4669]{padding:16px 20px;border-top:1px solid var(--border);display:flex;gap:10px;align-items:center}.page-header[data-v-6869563f]{margin-bottom:24px}.page-header h1[data-v-6869563f]{font-size:24px;font-weight:700;color:var(--text)}.page-header p[data-v-6869563f]{color:var(--text-light);margin-top:4px;font-size:14px}.card[data-v-6869563f]{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px}.card-title[data-v-6869563f]{font-size:16px;font-weight:600;color:var(--text)}.card-title-row[data-v-6869563f],.card-title[data-v-6869563f]{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.card-title-row[data-v-6869563f]{display:flex;justify-content:space-between;align-items:center}.card-title-row .card-title[data-v-6869563f]{margin-bottom:0;padding-bottom:0;border-bottom:none}.inbox-list[data-v-6869563f]{display:flex;flex-direction:column;gap:8px}.inbox-item[data-v-6869563f]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;background:#f9fafb;border:1px solid var(--border)}.inbox-item.unread[data-v-6869563f]{background:#eff6ff;border-color:#bfdbfe}.inbox-content[data-v-6869563f]{display:flex;align-items:center;gap:8px;flex:1}.dot[data-v-6869563f]{width:8px;height:8px;background:var(--primary);border-radius:50%;flex-shrink:0}.inbox-msg[data-v-6869563f]{font-size:14px;color:var(--text);font-weight:500}.inbox-date[data-v-6869563f]{font-size:12px;color:var(--text-light);margin-left:auto;margin-right:12px}.form-row[data-v-6869563f]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.form-group[data-v-6869563f]{display:flex;flex-direction:column;gap:4px;min-width:130px}.form-group-wide[data-v-6869563f]{min-width:240px;flex:1}.form-group label[data-v-6869563f]{font-size:12px;font-weight:500;color:var(--text-light)}.form-group input[type=number][data-v-6869563f],.form-group input[type=text][data-v-6869563f],.form-group select[data-v-6869563f]{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text);background:#fff;outline:none;transition:border .15s}.form-group input[data-v-6869563f]:focus,.form-group select[data-v-6869563f]:focus{border-color:var(--primary)}.form-actions[data-v-6869563f]{display:flex;align-items:center;gap:12px;margin-top:4px}.msg-success[data-v-6869563f]{color:var(--success);font-size:14px}.msg-error[data-v-6869563f]{color:var(--danger);font-size:14px}.btn[data-v-6869563f]{padding:8px 18px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.btn-primary[data-v-6869563f]{background:var(--primary);color:#fff}.btn-primary[data-v-6869563f]:hover:not(:disabled){background:var(--primary-hover)}.btn-primary[data-v-6869563f]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-6869563f]{background:#f3f4f6;color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-6869563f]:hover{background:#e5e7eb}.btn-danger[data-v-6869563f]{background:#fef2f2;color:var(--danger);border:1px solid #fecaca}.btn-danger[data-v-6869563f]:hover{background:#fee2e2}.btn-edit[data-v-6869563f]{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.btn-edit[data-v-6869563f]:hover{background:#dbeafe}.btn-sm[data-v-6869563f]{padding:4px 10px;font-size:12px}.table-wrap[data-v-6869563f]{overflow-x:auto}.data-table[data-v-6869563f]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-6869563f]{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-light);background:#f9fafb;border-bottom:1px solid var(--border)}.data-table td[data-v-6869563f]{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text)}.data-table tr:last-child td[data-v-6869563f]{border-bottom:none}.data-table tr:hover td[data-v-6869563f]{background:#f9fafb}.row-disabled td[data-v-6869563f]{opacity:.5}.td-actions[data-v-6869563f]{display:flex;gap:6px}.toggle[data-v-6869563f]{position:relative;display:inline-block;width:36px;height:20px}.toggle input[data-v-6869563f]{opacity:0;width:0;height:0}.toggle-slider[data-v-6869563f]{position:absolute;inset:0;background:#d1d5db;border-radius:99px;cursor:pointer;transition:background .2s}.toggle-slider[data-v-6869563f]:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.toggle input:checked+.toggle-slider[data-v-6869563f]{background:var(--primary)}.toggle input:checked+.toggle-slider[data-v-6869563f]:before{transform:translateX(16px)}.modal-backdrop[data-v-6869563f]{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-6869563f]{background:#fff;border-radius:var(--radius);box-shadow:0 20px 60px rgba(0,0,0,.2);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;margin:16px}.modal-header[data-v-6869563f]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);font-weight:600;font-size:16px}.modal-close[data-v-6869563f]{background:none;border:none;font-size:16px;color:var(--text-light);cursor:pointer;padding:4px 8px;border-radius:4px}.modal-close[data-v-6869563f]:hover{background:#f3f4f6}.modal-body[data-v-6869563f]{padding:20px}.modal-footer[data-v-6869563f]{padding:16px 20px;border-top:1px solid var(--border);display:flex;gap:10px;align-items:center}.empty[data-v-6869563f]{text-align:center;color:var(--text-light);padding:40px}