@import "https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&family=Hanken+Grotesk:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";.sidebar-container[data-v-6be6dd6d]{background:var(--color-bg-card);border-right:1px solid var(--color-border);z-index:100;width:280px;transition:transform var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-header[data-v-6be6dd6d]{height:80px;padding:0 var(--space-6);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.app-logo[data-v-6be6dd6d]{align-items:center;gap:var(--space-3);display:flex}.logo-text-group[data-v-6be6dd6d]{flex-direction:column;line-height:1.1;display:flex}.logo-text[data-v-6be6dd6d]{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-secondary));-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;font-size:1.35rem;font-weight:800}.logo-subtitle[data-v-6be6dd6d]{color:var(--color-text-muted);letter-spacing:.5px;text-transform:uppercase;font-size:9px;font-weight:700}.close-sidebar-btn[data-v-6be6dd6d]{color:var(--color-text-secondary);display:none;padding:var(--space-2)!important}.sidebar-nav[data-v-6be6dd6d]{padding:var(--space-6) var(--space-4);gap:var(--space-2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.nav-item[data-v-6be6dd6d]{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);color:var(--color-text-secondary);transition:all var(--transition-fast);border:1px solid #0000;font-weight:600;display:flex}.nav-item[data-v-6be6dd6d]:hover{color:var(--color-text-primary);border-color:var(--color-border);background:#3866410f}.nav-icon[data-v-6be6dd6d]{color:var(--color-text-secondary);transition:color var(--transition-fast)}.nav-item:hover .nav-icon[data-v-6be6dd6d]{color:var(--color-text-primary)}.router-link-active[data-v-6be6dd6d]{font-weight:700;color:var(--color-accent)!important;border-color:var(--color-accent)!important;background:#38664114!important}.router-link-active .nav-icon[data-v-6be6dd6d]{color:var(--color-accent)!important}@media (width<=1024px){.sidebar-container[data-v-6be6dd6d]{background:#ffffffe6;transform:translate(-100%)}.sidebar-container.is-open[data-v-6be6dd6d]{transform:translate(0);box-shadow:20px 0 80px #38664126}.close-sidebar-btn[data-v-6be6dd6d]{display:block}}.nav-divider[data-v-6be6dd6d]{background:var(--color-border);height:1px;margin:var(--space-2) var(--space-2)}.nav-ai[data-v-6be6dd6d]{background:linear-gradient(135deg,#c3573c14,#c3573c08);border-color:#c3573c33!important}.nav-ai .nav-icon[data-v-6be6dd6d]{color:var(--color-accent-secondary)!important}.nav-ai[data-v-6be6dd6d]:hover{border-color:var(--color-accent-secondary)!important;background:linear-gradient(135deg,#c3573c26,#c3573c14)!important}.nav-badge[data-v-6be6dd6d]{background:linear-gradient(135deg, var(--color-accent-secondary), #d98a6f);color:#fff;letter-spacing:.5px;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:700}.nav-telegram[data-v-6be6dd6d]{background:linear-gradient(135deg,#38664114,#38664108);border-color:#38664133!important}.nav-telegram .nav-icon[data-v-6be6dd6d]{color:var(--color-accent)!important}.nav-telegram[data-v-6be6dd6d]:hover{border-color:var(--color-accent)!important;background:linear-gradient(135deg,#38664126,#38664114)!important}.sidebar-footer[data-v-6be6dd6d]{padding:var(--space-4);border-top:1px solid var(--color-border);gap:var(--space-3);background:var(--color-bg-secondary);flex-direction:column;display:flex}.user-profile[data-v-6be6dd6d]{align-items:center;gap:var(--space-3);padding:var(--space-2);display:flex}.user-avatar[data-v-6be6dd6d]{background:var(--color-accent);color:#fff;width:38px;height:38px;font-weight:700;font-size:var(--text-base);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-info[data-v-6be6dd6d]{flex-direction:column;display:flex;overflow:hidden}.user-name[data-v-6be6dd6d]{font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.user-email[data-v-6be6dd6d]{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.btn-logout[data-v-6be6dd6d]{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--color-danger);transition:all var(--transition-fast);cursor:pointer;background:0 0;border:1px solid #c3573c33;font-weight:600;display:flex}.btn-logout[data-v-6be6dd6d]:hover{background:var(--color-expense-light);border-color:var(--color-danger)}.btn-guide[data-v-6be6dd6d]{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--color-accent);border:1px solid var(--color-border);transition:all var(--transition-fast);cursor:pointer;background:0 0;font-weight:600;display:flex}.btn-guide[data-v-6be6dd6d]:hover{background:var(--color-income-light);border-color:var(--color-accent)}.notification-wrapper[data-v-0fe269a9]{align-items:center;display:inline-flex;position:relative}.bell-btn[data-v-0fe269a9]{cursor:pointer;padding:var(--space-2);border-radius:var(--radius-full);color:var(--color-text);background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .2s;display:flex;position:relative}.bell-btn[data-v-0fe269a9]:hover{background-color:var(--color-bg-alt)}.bell-icon[data-v-0fe269a9]{width:20px;height:20px}.badge[data-v-0fe269a9]{background-color:var(--color-danger,#d32f2f);color:#fff;border:2px solid var(--color-bg);border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.pulse[data-v-0fe269a9]{animation:2s infinite pulse-0fe269a9}@keyframes pulse-0fe269a9{0%{box-shadow:0 0 #d32f2fb3}70%{box-shadow:0 0 0 6px #d32f2f00}to{box-shadow:0 0 #d32f2f00}}.popover[data-v-0fe269a9]{margin-top:var(--space-2);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);z-index:100;flex-direction:column;width:320px;display:flex;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 10px 25px #0000001a}.popover-header[data-v-0fe269a9]{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg-alt);justify-content:space-between;align-items:center;display:flex}.popover-header h3[data-v-0fe269a9]{color:var(--color-text);margin:0;font-size:1rem}.mark-all-btn[data-v-0fe269a9]{color:var(--color-accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;font-size:.8rem;display:flex}.mark-all-btn[data-v-0fe269a9]:hover{text-decoration:underline}.btn-icon[data-v-0fe269a9]{width:14px;height:14px}.popover-body[data-v-0fe269a9]{max-height:400px;overflow-y:auto}.empty-state[data-v-0fe269a9]{padding:var(--space-6);text-align:center;color:var(--color-text-light);font-size:.9rem}.notification-item[data-v-0fe269a9]{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);gap:var(--space-3);cursor:pointer;align-items:flex-start;transition:background-color .2s;display:flex}.notification-item[data-v-0fe269a9]:hover{background-color:var(--color-bg-alt)}.notification-item.unread[data-v-0fe269a9]{background-color:rgba(var(--color-accent-rgb,102, 123, 104), .05)}.dot-indicator[data-v-0fe269a9]{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notif-content[data-v-0fe269a9]{flex:1}.notif-title[data-v-0fe269a9]{color:var(--color-text);margin:0 0 2px;font-size:.9rem}.notif-msg[data-v-0fe269a9]{color:var(--color-text-light);margin:0;font-size:.8rem;line-height:1.4}.notif-time[data-v-0fe269a9]{color:var(--color-text-light);margin-top:4px;font-size:.7rem;display:block}.unread-dot[data-v-0fe269a9]{color:var(--color-accent);margin-top:6px}.fade-slide-enter-active[data-v-0fe269a9],.fade-slide-leave-active[data-v-0fe269a9]{transition:all .2s cubic-bezier(.4,0,.2,1)}.fade-slide-enter-from[data-v-0fe269a9],.fade-slide-leave-to[data-v-0fe269a9]{opacity:0;transform:translateY(-10px)}.topbar-container[data-v-2dc0247b]{background:var(--color-bg-card);border-bottom:1px solid var(--color-border);height:70px;padding:0 var(--space-6);z-index:90;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar-left[data-v-2dc0247b]{align-items:center;gap:var(--space-4);display:flex}.toggle-sidebar-btn[data-v-2dc0247b]{color:var(--color-text-secondary);display:none;padding:var(--space-2)!important}.greeting-section[data-v-2dc0247b]{flex-direction:column;display:flex}.greeting-title[data-v-2dc0247b]{color:var(--color-text-primary);margin:0;font-size:1rem;font-weight:700}.greeting-date[data-v-2dc0247b]{color:var(--color-text-muted)}.topbar-right[data-v-2dc0247b]{align-items:center;display:flex}.quick-action-btn[data-v-2dc0247b]{align-items:center;gap:var(--space-2);background:var(--gradient-accent);color:#fff;font-weight:600;display:flex;box-shadow:0 4px 14px #38664133;padding:var(--space-2) var(--space-4)!important}.quick-action-btn[data-v-2dc0247b]:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}@media (width>=1024px){.topbar-container[data-v-2dc0247b]{display:none!important}}@media (width<=1024px){.toggle-sidebar-btn[data-v-2dc0247b]{display:block}}@media (width<=640px){.greeting-section[data-v-2dc0247b]{display:none}}.modal-dialog[data-v-88a5a980]{background:0 0;border:none;outline:none;max-width:90vw;margin:auto;padding:0}.modal-dialog[data-v-88a5a980]::backdrop{background:#191c1d80}.modal-content[data-v-88a5a980]{flex-direction:column;max-height:85vh;display:flex;box-shadow:0 25px 50px -12px #3866411f,0 0 40px #3866410d;padding:var(--space-6)!important;background:#fff!important;border:1px solid #38664126!important}.modal-sm[data-v-88a5a980]{width:400px}.modal-md[data-v-88a5a980]{width:550px}.modal-lg[data-v-88a5a980]{width:800px}.modal-header[data-v-88a5a980]{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid #38664114;justify-content:space-between;align-items:center;display:flex}.modal-title[data-v-88a5a980]{color:var(--color-text-primary);font-size:1.25rem;font-weight:700}.modal-close-btn[data-v-88a5a980]{color:var(--color-text-secondary);padding:var(--space-2)!important;border-radius:var(--radius-full)!important}.modal-close-btn[data-v-88a5a980]:hover{color:var(--color-text-primary);background:#3866410d}.modal-body[data-v-88a5a980]{max-height:calc(85vh - 120px);padding-right:var(--space-2);overflow-y:auto}dialog[open][data-v-88a5a980]{animation:.3s cubic-bezier(.34,1.56,.64,1) modalShow-88a5a980}@keyframes modalShow-88a5a980{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (width<=640px){.modal-dialog[data-v-88a5a980]{width:100vw;max-width:100vw;margin:0;position:fixed;inset:auto 0 0}.modal-dialog[data-v-88a5a980]::backdrop{background:#191c1d99}.modal-content[data-v-88a5a980]{max-height:90vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0!important;padding:var(--space-5) var(--space-4) var(--space-6)!important;border-bottom:none!important}.modal-sm[data-v-88a5a980],.modal-md[data-v-88a5a980],.modal-lg[data-v-88a5a980]{width:100%}.modal-body[data-v-88a5a980]{max-height:calc(90vh - 140px)}}@media (width<=480px){.modal-content[data-v-88a5a980]{padding:var(--space-4) var(--space-3) var(--space-5)!important}.modal-header[data-v-88a5a980]{margin-bottom:var(--space-3);padding-bottom:var(--space-2)}.modal-title[data-v-88a5a980]{font-size:1.1rem}}.input-group[data-v-5b1d8eaa]{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.input-label[data-v-5b1d8eaa]{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.input-wrapper[data-v-5b1d8eaa]{position:relative}.input-error-msg[data-v-5b1d8eaa]{color:var(--color-danger);margin-top:2px;font-size:.75rem}.text-danger[data-v-5b1d8eaa]{color:var(--color-danger)}.cat-select-group[data-v-227d61a1]{gap:var(--space-2);flex-direction:column;width:100%;display:flex;position:relative}.cat-label[data-v-227d61a1]{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.text-danger[data-v-227d61a1]{color:var(--color-danger,#ef4444)}.cat-trigger[data-v-227d61a1]{align-items:center;gap:var(--space-3);background:var(--color-bg-input,#ffffff0a);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:var(--space-3) var(--space-4);cursor:pointer;text-align:left;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);color:var(--color-text-primary);font-size:var(--text-sm);display:flex}.cat-trigger[data-v-227d61a1]:hover{border-color:var(--color-accent,#6366f1)}.cat-trigger.is-open[data-v-227d61a1]{border-color:var(--color-accent,#6366f1);box-shadow:0 0 0 3px #6366f126}.cat-trigger.is-error[data-v-227d61a1]{border-color:var(--color-danger,#ef4444)}.cat-trigger.is-disabled[data-v-227d61a1]{opacity:.5;cursor:not-allowed}.cat-selected[data-v-227d61a1]{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.cat-selected-label[data-v-227d61a1]{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.cat-placeholder[data-v-227d61a1]{color:var(--color-text-secondary);flex:1}.cat-chevron[data-v-227d61a1]{color:var(--color-text-secondary);transition:transform var(--transition-fast);flex-shrink:0}.cat-chevron.rotated[data-v-227d61a1]{transform:rotate(180deg)}.cat-icon-wrap[data-v-227d61a1]{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.7rem;font-weight:700;display:flex}.cat-icon-empty[data-v-227d61a1]{background:var(--color-border)!important;color:var(--color-text-secondary)!important}.cat-icon-fallback[data-v-227d61a1]{font-size:.7rem;font-weight:700}.cat-dropdown[data-v-227d61a1]{z-index:200;background:var(--color-bg-card,#1a1a2e);border:1px solid var(--color-border);border-radius:var(--radius-lg);position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 16px 48px #0006}.cat-search-wrap[data-v-227d61a1]{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.cat-search-icon[data-v-227d61a1]{color:var(--color-text-secondary);flex-shrink:0}.cat-search-input[data-v-227d61a1]{color:var(--color-text-primary);font-size:var(--text-sm);background:0 0;border:none;outline:none;flex:1}.cat-search-input[data-v-227d61a1]::placeholder{color:var(--color-text-secondary)}.cat-options[data-v-227d61a1]{max-height:220px;padding:var(--space-2);flex-direction:column;gap:2px;display:flex;overflow-y:auto}.cat-options[data-v-227d61a1]::-webkit-scrollbar{width:4px}.cat-options[data-v-227d61a1]::-webkit-scrollbar-track{background:0 0}.cat-options[data-v-227d61a1]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.cat-option[data-v-227d61a1]{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:background var(--transition-fast);color:var(--color-text-primary);background:0 0;border:none;display:flex}.cat-option[data-v-227d61a1]:hover{background:#6366f114}.cat-option.is-selected[data-v-227d61a1]{background:#6366f11f}.cat-option.cat-clear[data-v-227d61a1]{color:var(--color-text-secondary);font-size:var(--text-xs)}.cat-option-label[data-v-227d61a1]{font-size:var(--text-sm);flex:1;font-weight:500}.cat-check[data-v-227d61a1]{font-size:var(--text-xs);color:var(--color-accent,#6366f1);font-weight:700}.cat-empty[data-v-227d61a1]{text-align:center;padding:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm)}.cat-error-msg[data-v-227d61a1]{color:var(--color-danger,#ef4444);margin-top:2px;font-size:.75rem}.cat-dropdown-enter-active[data-v-227d61a1],.cat-dropdown-leave-active[data-v-227d61a1]{transition:opacity .15s,transform .15s}.cat-dropdown-enter-from[data-v-227d61a1],.cat-dropdown-leave-to[data-v-227d61a1]{opacity:0;transform:translateY(-6px)}@media (width<=640px){.cat-select-group[data-v-227d61a1]{width:100%}.cat-trigger[data-v-227d61a1]{min-height:44px;font-size:var(--text-base)}.cat-dropdown[data-v-227d61a1]{border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:300;max-height:70vh;position:fixed;inset:auto 0 0;overflow-y:auto;box-shadow:0 -8px 32px #0000004d}.cat-options[data-v-227d61a1]{max-height:none;padding:var(--space-3)}.cat-option[data-v-227d61a1]{padding:var(--space-3) var(--space-3);min-height:44px}.cat-search-input[data-v-227d61a1]{font-size:var(--text-base)}.cat-search-wrap[data-v-227d61a1]{padding:var(--space-4)}}.input-group[data-v-c9181419]{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.input-label[data-v-c9181419]{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.select-wrapper[data-v-c9181419]{position:relative}.input-error-msg[data-v-c9181419]{color:var(--color-danger);margin-top:2px;font-size:.75rem}.text-danger[data-v-c9181419]{color:var(--color-danger)}@media (width<=640px){.select-wrapper[data-v-c9181419]{width:100%}select.select[data-v-c9181419]{width:100%;min-height:44px;font-size:var(--text-base)}}.opacity-0[data-v-54736f2a]{opacity:0}.spinner[data-v-54736f2a]{border-radius:var(--radius-full);border:2px solid;border-right-color:#0000;width:1.25rem;height:1.25rem;animation:.75s linear infinite spin-54736f2a;display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes spin-54736f2a{to{transform:translate(-50%,-50%)rotate(360deg)}}.btn-loading[data-v-54736f2a]{position:relative;color:#0000!important}.btn-content[data-v-54736f2a]{justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}@media (width<=640px){button.btn[data-v-54736f2a]{width:100%;min-height:44px}}.form-container[data-v-2311cc00]{gap:var(--space-4);padding:var(--space-2) 0;flex-direction:column;display:flex}.type-toggle-wrapper[data-v-2311cc00]{gap:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:#ffffff05;grid-template-columns:repeat(2,1fr);padding:4px;display:grid}.type-btn[data-v-2311cc00]{padding:var(--space-3);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);text-align:center;justify-content:center;align-items:center;display:flex}.type-btn[data-v-2311cc00]:hover{color:var(--color-text-primary);background:#ffffff08}.type-expense-btn.active[data-v-2311cc00]{background:var(--gradient-expense);color:#fff;box-shadow:0 4px 14px #ef444440}.type-income-btn.active[data-v-2311cc00]{background:var(--gradient-income);color:#fff;box-shadow:0 4px 14px #f59e0b40}.error-banner[data-v-2311cc00]{padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--text-xs);text-align:center;background:#ef44441a;border:1px solid #ef444433}.amount-wrapper[data-v-2311cc00]{gap:var(--space-1);flex-direction:column;display:flex}.form-actions[data-v-2311cc00]{justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);margin-top:var(--space-2);border-top:1px solid #ffffff0d;display:flex}.step-indicator-wrapper[data-v-2311cc00]{justify-content:center;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding:0 var(--space-2);display:flex}.step-indicator-item[data-v-2311cc00]{align-items:center;gap:var(--space-2);opacity:.5;transition:all var(--transition-base);display:flex}.step-indicator-item.active[data-v-2311cc00]{opacity:1;color:var(--color-accent);font-weight:700}.step-indicator-item.completed[data-v-2311cc00]{opacity:.8;color:var(--color-accent)}.step-num[data-v-2311cc00]{border-radius:var(--radius-full);background:var(--color-bg-tertiary);width:24px;height:24px;color:var(--color-text-secondary);font-size:var(--text-xs);border:1px solid var(--color-border);justify-content:center;align-items:center;font-weight:700;display:flex}.step-indicator-item.active .step-num[data-v-2311cc00]{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:0 0 10px #3866414d}.step-indicator-item.completed .step-num[data-v-2311cc00]{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.step-label[data-v-2311cc00]{font-size:var(--text-sm)}.step-line[data-v-2311cc00]{background:var(--color-border);flex:1;max-width:60px;height:2px}.step-indicator-item.completed+.step-line[data-v-2311cc00]{background:var(--color-accent)}.header-summary-badge[data-v-2311cc00]{align-items:center;gap:var(--space-2);background:var(--color-bg-secondary);border:1px solid var(--color-border);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm);align-self:flex-start;font-weight:600;display:flex}.header-summary-badge .dot[data-v-2311cc00]{border-radius:var(--radius-full);background:var(--color-text-muted);width:4px;height:4px}.info-text-accent[data-v-2311cc00]{color:var(--color-accent);margin-top:2px;padding-left:2px;font-size:11px;font-weight:600}.items-builder-section[data-v-2311cc00]{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-top:var(--space-4);gap:var(--space-3);background:#fff3;flex-direction:column;display:flex}.items-builder-title[data-v-2311cc00]{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--color-text-primary);margin:0;font-weight:700}.table-responsive[data-v-2311cc00]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);width:100%;overflow-x:auto}.items-table[data-v-2311cc00]{border-collapse:collapse;width:100%}.items-table th[data-v-2311cc00],.items-table td[data-v-2311cc00]{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);text-align:left}.items-table th[data-v-2311cc00]{background:var(--color-bg-secondary);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border);font-size:10px;font-weight:700}.items-table td[data-v-2311cc00]{color:var(--color-text-primary);border-bottom:1px solid #0000000a}.items-table tr:last-child td[data-v-2311cc00]{border-bottom:none}.text-center[data-v-2311cc00]{text-align:center!important}.text-right[data-v-2311cc00]{text-align:right!important}.btn-delete-item[data-v-2311cc00]{color:var(--color-danger);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:inline-flex}.btn-delete-item[data-v-2311cc00]:hover{background:#c3573c1a}.items-empty-state[data-v-2311cc00]{text-align:center;padding:var(--space-6);font-size:var(--text-xs);color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card)}.add-item-inline-form[data-v-2311cc00]{gap:var(--space-2);grid-template-columns:2fr 1fr 1.5fr auto;align-items:center;display:grid}@media (width<=600px){.add-item-inline-form[data-v-2311cc00]{grid-template-columns:1fr}}.inline-input[data-v-2311cc00]{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);transition:all var(--transition-fast);outline:none}.inline-input[data-v-2311cc00]:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px #3866411a}.btn-add-item[data-v-2311cc00]{padding:var(--space-2) var(--space-4);font-weight:600;font-size:var(--text-xs);background:var(--color-accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);border:none;justify-content:center;align-items:center;gap:4px;height:32px;display:inline-flex}.btn-add-item[data-v-2311cc00]:hover{box-shadow:var(--shadow-sm);background:#2d5234}.item-error-msg-row[data-v-2311cc00]{color:var(--color-danger);margin-top:-4px;font-size:11px}.edit-items-info-section[data-v-2311cc00]{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-top:var(--space-4);gap:var(--space-2);background:#ffffff1a;flex-direction:column;display:flex}.info-banner-edit[data-v-2311cc00]{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-info);text-align:center;background:#5c6bc014;border:1px solid #5c6bc026;font-size:11px}.list-item-enter-active[data-v-2311cc00],.list-item-leave-active[data-v-2311cc00]{transition:all .4s cubic-bezier(.16,1,.3,1)}.list-item-enter-from[data-v-2311cc00]{opacity:0;transform:translateY(12px)}.list-item-leave-to[data-v-2311cc00]{opacity:0;transform:translateY(-12px)}.list-item-move[data-v-2311cc00]{transition:transform .4s cubic-bezier(.16,1,.3,1)}.toast-container[data-v-91fece26]{top:var(--space-6,24px);z-index:9999;gap:var(--space-2,8px);pointer-events:none;flex-direction:column;align-items:center;width:100%;max-width:360px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast-item[data-v-91fece26]{pointer-events:auto;align-items:flex-start;gap:var(--space-3,12px);padding:var(--space-3,12px) var(--space-4,16px);border-radius:var(--radius-lg,12px);border:1px solid var(--color-border,#e2e8f0);background:var(--color-bg-card,#fff);box-shadow:var(--shadow-lg,0 10px 15px -3px #38664117);transition:all var(--transition-base,.2s cubic-bezier(.4, 0, .2, 1));display:flex}.toast-item.success[data-v-91fece26]{color:#064e3b;background-color:#ecfdf5;border-color:#a7f3d0}.toast-item.success .toast-icon[data-v-91fece26]{color:#059669}.toast-item.error[data-v-91fece26]{color:#7f1d1d;background-color:#fdf2f2;border-color:#fca5a5}.toast-item.error .toast-icon[data-v-91fece26]{color:#dc2626}.toast-item.warning[data-v-91fece26]{color:#78350f;background-color:#fffbeb;border-color:#fde68a}.toast-item.warning .toast-icon[data-v-91fece26]{color:#d97706}.toast-item.info[data-v-91fece26]{color:#1e3a8a;background-color:#eff6ff;border-color:#bfdbfe}.toast-item.info .toast-icon[data-v-91fece26]{color:#2563eb}.toast-icon[data-v-91fece26]{flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.toast-content[data-v-91fece26]{flex:1}.toast-message[data-v-91fece26]{font-size:var(--text-sm,14px);word-break:break-word;margin:0;font-weight:600;line-height:1.4}.toast-close[data-v-91fece26]{color:currentColor;opacity:.6;cursor:pointer;border-radius:var(--radius-sm,6px);transition:all var(--transition-fast,.15s);background:0 0;border:none;justify-content:center;align-items:center;margin-top:1px;padding:4px;display:flex}.toast-close[data-v-91fece26]:hover{opacity:1;background-color:#0000000d}.toast-list-enter-active[data-v-91fece26],.toast-list-leave-active[data-v-91fece26]{transition:all var(--transition-base,.2s cubic-bezier(.4, 0, .2, 1))}.toast-list-enter-from[data-v-91fece26],.toast-list-leave-to[data-v-91fece26]{opacity:0;transform:translateY(-20px)scale(.95)}@media (width<=480px){.toast-container[data-v-91fece26]{top:var(--space-4,16px);right:var(--space-4,16px);left:var(--space-4,16px);width:auto;max-width:none;transform:none}}.confirm-content[data-v-670d32e1]{padding:var(--space-4) 0 var(--space-2);text-align:center;flex-direction:column;align-items:center;display:flex}.confirm-icon-wrapper[data-v-670d32e1]{width:64px;height:64px;margin-bottom:var(--space-4);border-radius:50%;justify-content:center;align-items:center;display:flex}.confirm-icon-wrapper.danger[data-v-670d32e1]{color:var(--color-danger);background:#ef44441a}.confirm-icon-wrapper.warning[data-v-670d32e1]{color:#f59e0b;background:#f59e0b1a}.confirm-icon-wrapper.primary[data-v-670d32e1]{color:var(--color-success);background:#10b9811a}.confirm-message[data-v-670d32e1]{color:var(--color-text-primary);font-size:var(--text-base);font-weight:500;line-height:1.5}.confirm-actions[data-v-670d32e1]{justify-content:center;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex}.flex-1[data-v-670d32e1]{flex:1}@media (width<=640px){.confirm-actions[data-v-670d32e1]{gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);flex-direction:column}.confirm-content[data-v-670d32e1]{padding:var(--space-3) 0 var(--space-1)}.confirm-icon-wrapper[data-v-670d32e1]{width:52px;height:52px;margin-bottom:var(--space-3)}.confirm-message[data-v-670d32e1]{font-size:var(--text-sm)}}@media (width<=480px){.confirm-content[data-v-670d32e1]{padding:var(--space-2) 0 0}.confirm-icon-wrapper[data-v-670d32e1]{width:44px;height:44px;margin-bottom:var(--space-2)}.confirm-message[data-v-670d32e1]{font-size:var(--text-xs)}.confirm-actions[data-v-670d32e1]{margin-top:var(--space-3);padding-top:var(--space-2);gap:var(--space-1)}}.driver-popover{background-color:var(--color-bg-card,#fff)!important;color:var(--color-text-primary,#1e293b)!important;border:1px solid var(--color-border,#e2e8f0)!important;border-radius:var(--radius-2xl,1rem)!important;padding:var(--space-6,1.5rem)!important;max-width:380px!important;font-family:Inter,sans-serif!important;transition:opacity .2s,transform .2s!important;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a,0 0 40px #3866410d!important}.driver-popover.driver-popover-animated{transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s!important}.driver-popover-title{font-family:var(--font-heading,"Inter", sans-serif)!important;font-weight:800!important;font-size:var(--text-lg,1.125rem)!important;color:var(--color-text-primary,#0f172a)!important;margin-bottom:var(--space-2,.5rem)!important;letter-spacing:-.025em!important}.driver-popover-description{font-size:var(--text-sm,.875rem)!important;color:var(--color-text-secondary,#475569)!important;margin-bottom:0!important;line-height:1.6!important}.driver-popover-progress{color:var(--color-text-muted,#94a3b8)!important;font-size:var(--text-xs,.75rem)!important;margin-bottom:var(--space-4,1rem)!important;font-weight:600!important}.driver-popover-footer{justify-content:flex-end!important;align-items:center!important;gap:var(--space-2,.5rem)!important;margin-top:var(--space-5,1.25rem)!important;border-top:1px solid var(--color-border,#f1f5f9)!important;padding-top:var(--space-4,1rem)!important;display:flex!important}.driver-popover-btn{border-radius:var(--radius-lg,.5rem)!important;font-size:var(--text-xs,.75rem)!important;text-shadow:none!important;transition:all var(--transition-fast,.2s)!important;padding:8px 14px!important;font-weight:700!important}.driver-popover-next-btn{background:var(--color-accent,#386641)!important;color:#fff!important;border:none!important;box-shadow:0 4px 12px #38664140!important}.driver-popover-next-btn:hover{background:var(--color-accent-hover,#2d5234)!important;transform:translateY(-1px)!important}.driver-popover-prev-btn{background:var(--color-bg-secondary,#f8fafc)!important;color:var(--color-text-secondary,#334155)!important;border:1px solid var(--color-border,#cbd5e1)!important}.driver-popover-prev-btn:hover{background:var(--color-bg-tertiary,#f1f5f9)!important;color:var(--color-text-primary,#0f172a)!important}.driver-popover-close-btn{color:var(--color-text-muted,#94a3b8)!important;transition:color .2s!important}.driver-popover-close-btn:hover{color:var(--color-text-primary,#0f172a)!important}.driver-popover-arrow{border-color:var(--color-bg-card,#fff)!important}.driver-overlay{background:#0f172a8c!important}.page-container>*,.landing-layout>*,.admin-layout>*{animation:none!important}.page-enter-active,.page-leave-active{transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}.page-enter-from{opacity:0;transform:translateY(15px)}.page-leave-to{opacity:0;transform:translateY(-15px)}@media (prefers-reduced-motion:reduce){.page-enter-active,.page-leave-active{transition:none}.page-enter-from,.page-leave-to{transform:none}.page-container>*,.landing-layout>*,.admin-layout>*{animation:none!important}}.app-layout{background:var(--gradient-bg);min-height:100vh;color:var(--color-text-primary);display:flex}.admin-layout{color:#e2e8f0;background:#0f1117;min-height:100vh}.sidebar-overlay{z-index:99;background:#00000080;display:none;position:fixed;inset:0}.main-content-wrapper{flex-direction:column;flex:1;min-height:100vh;margin-left:280px;display:flex;position:relative}.page-container{padding:var(--space-8);flex:1;width:100%;max-width:1400px;margin:0 auto}@media (width<=1024px){.main-content-wrapper{margin-left:0}.sidebar-overlay{display:block}}@media (width<=640px){.page-container{padding:var(--space-4)}}@layer reset{*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overflow-x:hidden}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}@media screen and (width<=768px){input,select,textarea{font-size:16px!important}}button,.btn,[role=button],a.nav-item,a.router-link-active{touch-action:manipulation}.touch-target{min-width:44px;min-height:44px}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse}dialog{color:inherit;background:0 0;border:none;padding:0}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}}@layer base{:root{--color-bg-primary:#fcfaf7;--color-bg-secondary:#f5f0eb;--color-bg-tertiary:#e9e2db;--color-bg-card:#fff;--color-bg-card-hover:#faf6f0;--color-bg-input:#fff;--color-border:#e3dac9;--color-surface:#fff;--color-surface-hover:#faf6f0;--color-border-hover:#38664126;--color-border-focus:#38664166;--color-text-primary:#1e2522;--color-text-secondary:#4a544f;--color-text-muted:#737c77;--color-accent:#386641;--color-accent-secondary:#c3573c;--color-income:#386641;--color-income-light:#e3eedd;--color-expense:#c3573c;--color-expense-light:#fdf2f2;--color-success:#386641;--color-warning:#c3573c;--color-danger:#c3573c;--color-info:#5c6bc0;--gradient-accent:linear-gradient(135deg, #386641, #c3573c);--gradient-accent-reverse:linear-gradient(135deg, #c3573c, #386641);--gradient-bg:radial-gradient(circle at top left, #f3e9dc 0%, #fcfaf7 50%), radial-gradient(circle at bottom right, #e3eedd 0%, #fcfaf7 70%);--gradient-income:linear-gradient(135deg, #386641, #e3eedd);--gradient-expense:linear-gradient(135deg, #c3573c, #fdf2f2);--gradient-card-border:linear-gradient(135deg, #38664133, #c3573c1a, transparent);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--bp-desktop:1024px;--bp-tablet:768px;--bp-mobile:640px;--bp-small:480px;--sidebar-width:260px;--topbar-height:64px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-3xl:24px;--radius-full:9999px;--radius-card:20px;--shadow-sm:0 1px 2px #3866410d;--shadow-md:0 4px 6px -1px #3866410f, 0 2px 4px -1px #3866410a;--shadow-lg:0 10px 15px -3px #38664117, 0 4px 6px -4px #3866410f;--shadow-xl:0 20px 25px -5px #3866411f, 0 8px 10px -6px #38664114;--shadow-glow:0 0 25px #38664126, 0 0 45px #c3573c1a;--shadow-glow-income:0 0 20px #3866411a;--shadow-glow-expense:0 0 20px #c3573c1a;--shadow-card:0 1px 2px #1e25220a, 0 4px 12px -2px #3866410f;--shadow-card-hover:0 2px 4px #1e25220d, 0 16px 32px -8px #38664124;--font-body:"Hanken Grotesk", "Inter", system-ui, -apple-system, sans-serif;--font-heading:"Lora", Georgia, serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background:var(--gradient-bg);scroll-behavior:smooth;min-height:100vh;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--color-bg-tertiary) transparent}}@layer theme{h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-text-primary);letter-spacing:-.02em;font-weight:700;line-height:1.2}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}a{transition:color var(--transition-fast)}a:hover{color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}::selection{color:var(--color-text-primary);background:#38664140}}@layer components{.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-6);box-shadow:var(--shadow-card);transition:border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-card-hover);border-color:#3866412e;transform:translateY(-2px)}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-card-hover), var(--shadow-glow);transform:translateY(-4px);border-color:#3866414d!important}.card-gradient{background:var(--color-bg-card);border-radius:var(--radius-card);padding:var(--space-6);box-shadow:var(--shadow-card);border:1px solid #0000;position:relative;overflow:hidden}.card-gradient:before{content:"";border-radius:var(--radius-card);background:var(--gradient-card-border);-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)}.card-title{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-text-primary);margin-bottom:var(--space-4);justify-content:space-between;align-items:center;font-weight:700;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:all var(--transition-base);border:1px solid #0000;line-height:1;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{color:var(--color-text-primary);background:#ffffff80;border-color:#38664140}.btn-secondary:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);background:#38664114}.btn-danger{color:var(--color-danger);background:#ef444408;border-color:#ef444440}.btn-danger:hover:not(:disabled){border-color:var(--color-danger);background:#ef444414}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--color-text-primary);background:#ffffff0d}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base);border-radius:var(--radius-lg)}.btn-icon{padding:var(--space-2);border-radius:var(--radius-md);width:36px;height:36px}.input-group{gap:var(--space-2);flex-direction:column;display:flex}.input-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.input{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);transition:all var(--transition-fast);outline:none}.input:hover{border-color:var(--color-border-hover)}.input:focus{border-color:var(--color-accent);background:#ffffff0f;box-shadow:0 0 0 3px #38664126}.input::placeholder{color:var(--color-text-muted)}.input-error{border-color:var(--color-danger)!important;box-shadow:0 0 0 3px #ef444426!important}.input-error-text{font-size:var(--text-xs);color:var(--color-danger);margin-top:var(--space-1)}.select{width:100%;padding:var(--space-3) var(--space-4);padding-right:var(--space-10);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);transition:all var(--transition-fast);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;outline:none}.select:hover{border-color:var(--color-border-hover)}.select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #38664126}.select option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;line-height:1.5;display:inline-flex}.badge-success{color:var(--color-success);background:#38664126}.badge-warning{color:var(--color-warning);background:#f59e0b26}.badge-danger{color:var(--color-danger);background:#ef444426}.badge-info{color:var(--color-info);background:#3b82f626}.badge-neutral{color:var(--color-text-secondary);background:#ffffff14}.progress-bar{border-radius:var(--radius-full);background:#ffffff0f;width:100%;height:8px;position:relative;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);background:var(--gradient-accent);height:100%;transition:width .6s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);animation:2s ease-in-out infinite shimmer;position:absolute;inset:0}.progress-bar-sm{height:4px}.progress-bar-lg{height:12px}.stat-card{gap:var(--space-1);flex-direction:column;display:flex}.stat-card-value{font-family:var(--font-heading);font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:800;line-height:1.2}.stat-card-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.amount-income{color:var(--color-income)}.amount-expense{color:var(--color-expense)}.amount-success{color:var(--color-success)}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.empty-state-icon{width:64px;height:64px;color:var(--color-text-muted);opacity:.5}.empty-state-title{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-text-secondary);font-weight:700}.empty-state-description{font-size:var(--text-sm);color:var(--color-text-muted);max-width:320px}.page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-header h1{font-size:var(--text-2xl)}.page-header-actions{align-items:center;gap:var(--space-3);display:flex}.grid-dashboard{gap:var(--space-6);grid-template-columns:1fr;display:grid}@media (width>=768px){.grid-dashboard{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.grid-dashboard{grid-template-columns:3fr 2fr}}.grid-dashboard-full{grid-column:1/-1}.cards-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.transaction-item{align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);transition:background var(--transition-fast);display:flex;position:relative}.transaction-item:hover{background:#ffffff08}.transaction-item-icon{border-radius:var(--radius-lg);width:44px;height:44px;font-size:var(--text-xl);background:#ffffff0f;flex-shrink:0;justify-content:center;align-items:center;display:flex}.transaction-item-body{flex:1;min-width:0}.transaction-item-name{font-weight:600;font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.transaction-item-meta{font-size:var(--text-xs);color:var(--color-text-muted);align-items:center;gap:var(--space-2);margin-top:2px;display:flex}.transaction-item-amount{font-family:var(--font-heading);font-weight:700;font-size:var(--text-sm);text-align:right;white-space:nowrap;flex-shrink:0}.transaction-item-actions{gap:var(--space-1);opacity:.35;transition:opacity var(--transition-fast);flex-shrink:0;display:flex}.transaction-item:hover .transaction-item-actions{opacity:1}.filter-bar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.filter-toggle{border-radius:var(--radius-full);border:1px solid var(--color-border);background:#ffffff0a;display:inline-flex;overflow:hidden}.filter-toggle-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);cursor:pointer;background:0 0;border:none;font-weight:500}.filter-toggle-btn.active{background:var(--gradient-accent);color:#fff;border-radius:var(--radius-full)}.date-group{margin-bottom:var(--space-6)}.date-group-header{padding:var(--space-2) var(--space-4);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);justify-content:space-between;align-items:center;font-weight:600;display:flex}.fab{bottom:var(--space-8);right:var(--space-8);border-radius:var(--radius-full);background:var(--gradient-accent);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-glow), var(--shadow-lg);cursor:pointer;transition:all var(--transition-base);z-index:100;border:none;justify-content:center;align-items:center;animation:3s ease-in-out infinite pulse;display:flex;position:fixed}.fab:hover{box-shadow:0 0 30px #38664166, var(--shadow-xl);transform:scale(1.1)}.tabs{border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6);gap:var(--space-1);display:flex}.tab{padding:var(--space-3) var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted);transition:all var(--transition-fast);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;font-weight:500}.tab:hover{color:var(--color-text-secondary)}.tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.modal-overlay{z-index:1000;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-xl);max-height:90vh;animation:.2s cubic-bezier(.4,0,.2,1) scaleIn;overflow-y:auto}.modal-sm{max-width:400px}.modal-md{max-width:540px}.modal-lg{max-width:720px}.modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-family:var(--font-heading);font-weight:700}.modal-body{padding:var(--space-6)}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);display:flex}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}.spinner-sm{width:14px;height:14px}.skeleton{background:linear-gradient(90deg, var(--color-bg-card) 25%, #ffffff14 50%, var(--color-bg-card) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.link-accent{font-size:var(--text-sm);color:var(--color-accent);align-items:center;gap:var(--space-1);transition:color var(--transition-fast);font-weight:600;display:inline-flex}.link-accent:hover{color:var(--color-accent-secondary)}}@layer utilities{.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr);display:grid}.grid-3{grid-template-columns:repeat(3,1fr);display:grid}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-primary{color:var(--color-text-primary)}.text-accent{color:var(--color-accent)}.text-center{text-align:center}.text-right{text-align:right}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-heading{font-family:var(--font-heading)}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hidden{display:none}.block{display:block}.inline-flex{display:inline-flex}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.cursor-pointer{cursor:pointer}.opacity-50{opacity:.5}.opacity-75{opacity:.75}@media (width<=767px){.md-hidden{display:none!important}.grid-2,.grid-3{grid-template-columns:1fr}.page-header{align-items:stretch;gap:var(--space-3);flex-direction:column}.page-header-actions{gap:var(--space-2);flex-flow:wrap;width:100%;display:flex}.page-header-actions>button,.page-header-actions>a,.page-header-actions>div{flex:1 1 calc(50% - var(--space-2));justify-content:center;min-height:38px;padding:var(--space-2) var(--space-4)!important;font-size:var(--text-xs)!important}.page-header-actions>button:nth-child(3),.page-header-actions>a:nth-child(3),.page-header-actions>div:nth-child(3){flex:100%}}@media (width>=768px){.sm-only{display:none!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{box-shadow:var(--shadow-glow), var(--shadow-lg)}50%{box-shadow:0 0 30px #38664159, var(--shadow-lg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:.3s ease-out fadeIn}.animate-slideUp{animation:.4s ease-out slideUp}.animate-scaleIn{animation:.2s ease-out scaleIn}.stagger-1{animation-delay:50ms;animation-fill-mode:both}.stagger-2{animation-delay:.1s;animation-fill-mode:both}.stagger-3{animation-delay:.15s;animation-fill-mode:both}.stagger-4{animation-delay:.2s;animation-fill-mode:both}.stagger-5{animation-delay:.25s;animation-fill-mode:both}.glass-card{border-radius:var(--radius-card);transition:border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base);background:var(--color-bg-card)!important;border:1px solid var(--color-border)!important;box-shadow:var(--shadow-card)!important}.glass-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)!important;border-color:#3866412e!important}.soft-gradient-bg{background:var(--gradient-bg)!important}.text-gradient-primary{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-secondary))!important;-webkit-text-fill-color:transparent!important;-webkit-background-clip:text!important}.reveal{opacity:0;transform:translateY(var(--reveal-y,18px));transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform}.reveal-visible{opacity:1;transform:translateY(0)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes floatSoft{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-6px)rotate(-1deg)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #38664140}50%{box-shadow:0 0 0 10px #38664100}}@keyframes bounceArrow{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes popIn{0%{opacity:0;transform:scale(.85)translateY(8px)}60%{opacity:1;transform:scale(1.02)translateY(0)}to{opacity:1;transform:scale(1)}}@keyframes shimmerSweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-float{animation:6s ease-in-out infinite float}.animate-floatSoft{animation:5s ease-in-out infinite floatSoft}.animate-popIn{animation:.4s cubic-bezier(.34,1.56,.64,1) both popIn}.animate-fadeInUp{animation:.6s ease-out both fadeInUp}.animate-pulseGlow{animation:2.2s ease-in-out infinite pulseGlow}.stagger-6{animation-delay:.3s;animation-fill-mode:both}.stagger-7{animation-delay:.35s;animation-fill-mode:both}.stagger-8{animation-delay:.4s;animation-fill-mode:both}.hover-scale{transition:transform var(--transition-base), box-shadow var(--transition-base)}.hover-scale:hover{transform:translateY(-2px)scale(1.02)}.hover-scale:active{transform:translateY(0)scale(.98)}.hover-lift{transition:transform var(--transition-base), box-shadow var(--transition-base)}.hover-lift:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.press{transition:transform var(--transition-fast)}.press:active{transform:scale(.96)}.skeleton-box{background:var(--color-bg-tertiary);border-radius:var(--radius-md);position:relative;overflow:hidden}.skeleton-box:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);animation:1.5s ease-in-out infinite shimmerSweep;position:absolute;inset:0;transform:translate(-100%)}.skeleton-text{border-radius:var(--radius-full);height:.85em}.skeleton-line{border-radius:var(--radius-full);width:100%;height:12px}.skeleton-circle{border-radius:var(--radius-full)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}.skeleton-box:after,.animate-float,.animate-floatSoft,.animate-pulseGlow,.animate-fadeInUp,.animate-popIn{animation:none!important}}}
