@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-dd1a9033]{position:fixed;top:0;left:0;bottom:0;width:280px;background:var(--color-bg-card);border-right:1px solid var(--color-border);display:flex;flex-direction:column;z-index:100;transition:transform var(--transition-base)}.sidebar-header[data-v-dd1a9033]{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);border-bottom:1px solid var(--color-border)}.app-logo[data-v-dd1a9033]{display:flex;align-items:center;gap:var(--space-3)}.logo-text-group[data-v-dd1a9033]{display:flex;flex-direction:column;line-height:1.1}.logo-text[data-v-dd1a9033]{font-size:1.35rem;font-weight:800;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}.logo-subtitle[data-v-dd1a9033]{font-size:9px;font-weight:700;color:var(--color-text-muted);letter-spacing:.5px;text-transform:uppercase}.close-sidebar-btn[data-v-dd1a9033]{display:none;padding:var(--space-2)!important;color:var(--color-text-secondary)}.sidebar-nav[data-v-dd1a9033]{flex:1;padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto}.nav-item[data-v-dd1a9033]{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-weight:600;transition:all var(--transition-fast);border:1px solid transparent}.nav-item[data-v-dd1a9033]:hover{background:#4352a50a;color:var(--color-text-primary);border-color:var(--color-border)}.nav-icon[data-v-dd1a9033]{color:var(--color-text-secondary);transition:color var(--transition-fast)}.nav-item:hover .nav-icon[data-v-dd1a9033]{color:var(--color-text-primary)}.router-link-active[data-v-dd1a9033]{background:#4352a514!important;color:var(--color-accent)!important;border-color:var(--color-accent)!important;font-weight:700}.router-link-active .nav-icon[data-v-dd1a9033]{color:var(--color-accent)!important}@media(max-width:1024px){.sidebar-container[data-v-dd1a9033]{transform:translate(-100%);background:#ffffffe6}.sidebar-container.is-open[data-v-dd1a9033]{transform:translate(0);box-shadow:20px 0 80px #4352a526}.close-sidebar-btn[data-v-dd1a9033]{display:block}}.nav-divider[data-v-dd1a9033]{height:1px;background:var(--color-border);margin:var(--space-2) var(--space-2)}.nav-ai[data-v-dd1a9033]{background:linear-gradient(135deg,#7c3aed14,#a855f714);border-color:#a855f733!important}.nav-ai .nav-icon[data-v-dd1a9033]{color:#a855f7!important}.nav-ai[data-v-dd1a9033]:hover{background:linear-gradient(135deg,#7c3aed26,#a855f726)!important;border-color:#a855f7!important}.nav-badge[data-v-dd1a9033]{margin-left:auto;font-size:10px;font-weight:700;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;padding:2px 8px;border-radius:999px;letter-spacing:.5px}.nav-telegram[data-v-dd1a9033]{background:linear-gradient(135deg,#0088cc14,#00b4d814);border-color:#08c3!important}.nav-telegram .nav-icon[data-v-dd1a9033]{color:#08c!important}.nav-telegram[data-v-dd1a9033]:hover{background:linear-gradient(135deg,#0088cc26,#00b4d826)!important;border-color:#08c!important}.sidebar-footer[data-v-dd1a9033]{padding:var(--space-4);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-3);background:var(--color-bg-secondary)}.user-profile[data-v-dd1a9033]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2)}.user-avatar[data-v-dd1a9033]{width:38px;height:38px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-base);flex-shrink:0}.user-info[data-v-dd1a9033]{display:flex;flex-direction:column;overflow:hidden}.user-name[data-v-dd1a9033]{font-size:var(--text-sm);font-weight:700;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email[data-v-dd1a9033]{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-logout[data-v-dd1a9033]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;color:var(--color-danger);border:1px solid rgba(195,87,60,.2);transition:all var(--transition-fast);cursor:pointer;background:transparent}.btn-logout[data-v-dd1a9033]:hover{background:var(--color-expense-light);border-color:var(--color-danger)}.btn-guide[data-v-dd1a9033]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;color:var(--color-accent);border:1px solid var(--color-border);transition:all var(--transition-fast);cursor:pointer;background:transparent}.btn-guide[data-v-dd1a9033]:hover{background:var(--color-income-light);border-color:var(--color-accent)}.notification-wrapper[data-v-0fe269a9]{position:relative;display:inline-flex;align-items:center}.bell-btn[data-v-0fe269a9]{background:transparent;border:none;cursor:pointer;position:relative;padding:var(--space-2);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-text);transition:background-color .2s ease}.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]{position:absolute;top:2px;right:2px;background-color:var(--color-danger, #d32f2f);color:#fff;font-size:.65rem;font-weight:700;padding:0 4px;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-bg)}.pulse[data-v-0fe269a9]{animation:pulse-0fe269a9 2s infinite}@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]{position:absolute;top:100%;right:0;margin-top:var(--space-2);width:320px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 10px 25px #0000001a;z-index:100;display:flex;flex-direction:column;overflow:hidden}.popover-header[data-v-0fe269a9]{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background:var(--color-bg-alt)}.popover-header h3[data-v-0fe269a9]{margin:0;font-size:1rem;color:var(--color-text)}.mark-all-btn[data-v-0fe269a9]{background:none;border:none;color:var(--color-accent);font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:4px}.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);display:flex;gap:var(--space-3);cursor:pointer;transition:background-color .2s;align-items:flex-start}.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]{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.notif-content[data-v-0fe269a9]{flex:1}.notif-title[data-v-0fe269a9]{margin:0 0 2px;font-size:.9rem;color:var(--color-text)}.notif-msg[data-v-0fe269a9]{margin:0;font-size:.8rem;color:var(--color-text-light);line-height:1.4}.notif-time[data-v-0fe269a9]{display:block;font-size:.7rem;color:var(--color-text-light);margin-top:4px}.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-7249936a]{height:70px;background:var(--color-bg-card);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);position:sticky;top:0;z-index:90}.topbar-left[data-v-7249936a]{display:flex;align-items:center;gap:var(--space-4)}.toggle-sidebar-btn[data-v-7249936a]{display:none;padding:var(--space-2)!important;color:var(--color-text-secondary)}.greeting-section[data-v-7249936a]{display:flex;flex-direction:column}.greeting-title[data-v-7249936a]{font-size:1rem;font-weight:700;color:var(--color-text-primary);margin:0}.greeting-date[data-v-7249936a]{color:var(--color-text-muted)}.topbar-right[data-v-7249936a]{display:flex;align-items:center}.quick-action-btn[data-v-7249936a]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4)!important;font-weight:600;background:var(--gradient-accent);color:#fff;box-shadow:0 4px 14px #4352a533}.quick-action-btn[data-v-7249936a]:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}@media(min-width:1024px){.topbar-container[data-v-7249936a]{display:none!important}}@media(max-width:1024px){.toggle-sidebar-btn[data-v-7249936a]{display:block}}@media(max-width:640px){.greeting-section[data-v-7249936a]{display:none}}.modal-dialog[data-v-55cc385d]{background:transparent;border:none;padding:0;max-width:90vw;outline:none;margin:auto}.modal-dialog[data-v-55cc385d]::backdrop{background:#191c1d80}.modal-content[data-v-55cc385d]{background:#fff!important;border:1px solid rgba(67,82,165,.15)!important;box-shadow:0 25px 50px -12px #4352a51a,0 0 40px #4352a50d;padding:var(--space-6)!important;display:flex;flex-direction:column;max-height:85vh}.modal-sm[data-v-55cc385d]{width:400px}.modal-md[data-v-55cc385d]{width:550px}.modal-lg[data-v-55cc385d]{width:800px}.modal-header[data-v-55cc385d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);border-bottom:1px solid rgba(67,82,165,.08);padding-bottom:var(--space-3)}.modal-title[data-v-55cc385d]{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.modal-close-btn[data-v-55cc385d]{padding:var(--space-2)!important;border-radius:var(--radius-full)!important;color:var(--color-text-secondary)}.modal-close-btn[data-v-55cc385d]:hover{background:#4352a50d;color:var(--color-text-primary)}.modal-body[data-v-55cc385d]{overflow-y:auto;max-height:calc(85vh - 120px);padding-right:var(--space-2)}dialog[open][data-v-55cc385d]{animation:modalShow-55cc385d .3s cubic-bezier(.34,1.56,.64,1)}@keyframes modalShow-55cc385d{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.input-group[data-v-5b1d8eaa]{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.input-label[data-v-5b1d8eaa]{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.input-wrapper[data-v-5b1d8eaa]{position:relative}.input-error-msg[data-v-5b1d8eaa]{font-size:.75rem;color:var(--color-danger);margin-top:2px}.text-danger[data-v-5b1d8eaa]{color:var(--color-danger)}.cat-select-group[data-v-470a1a40]{display:flex;flex-direction:column;gap:var(--space-2);width:100%;position:relative}.cat-label[data-v-470a1a40]{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.text-danger[data-v-470a1a40]{color:var(--color-danger, #ef4444)}.cat-trigger[data-v-470a1a40]{width:100%;display:flex;align-items:center;gap:var(--space-3);background:var(--color-bg-input, rgba(255,255,255,.04));border:1px solid var(--color-border);border-radius:var(--radius-md);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)}.cat-trigger[data-v-470a1a40]:hover{border-color:var(--color-accent, #6366f1)}.cat-trigger.is-open[data-v-470a1a40]{border-color:var(--color-accent, #6366f1);box-shadow:0 0 0 3px #6366f126}.cat-trigger.is-error[data-v-470a1a40]{border-color:var(--color-danger, #ef4444)}.cat-trigger.is-disabled[data-v-470a1a40]{opacity:.5;cursor:not-allowed}.cat-selected[data-v-470a1a40]{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.cat-selected-label[data-v-470a1a40]{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-placeholder[data-v-470a1a40]{flex:1;color:var(--color-text-secondary)}.cat-chevron[data-v-470a1a40]{flex-shrink:0;color:var(--color-text-secondary);transition:transform var(--transition-fast)}.cat-chevron.rotated[data-v-470a1a40]{transform:rotate(180deg)}.cat-icon-wrap[data-v-470a1a40]{width:28px;height:28px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.7rem;font-weight:700}.cat-icon-empty[data-v-470a1a40]{background:var(--color-border)!important;color:var(--color-text-secondary)!important}.cat-icon-fallback[data-v-470a1a40]{font-size:.7rem;font-weight:700}.cat-dropdown[data-v-470a1a40]{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:200;background:var(--color-bg-card, #1a1a2e);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 16px 48px #0006;overflow:hidden}.cat-search-wrap[data-v-470a1a40]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.cat-search-icon[data-v-470a1a40]{color:var(--color-text-secondary);flex-shrink:0}.cat-search-input[data-v-470a1a40]{flex:1;background:none;border:none;outline:none;color:var(--color-text-primary);font-size:var(--text-sm)}.cat-search-input[data-v-470a1a40]::placeholder{color:var(--color-text-secondary)}.cat-options[data-v-470a1a40]{max-height:220px;overflow-y:auto;padding:var(--space-2);display:flex;flex-direction:column;gap:2px}.cat-options[data-v-470a1a40]::-webkit-scrollbar{width:4px}.cat-options[data-v-470a1a40]::-webkit-scrollbar-track{background:transparent}.cat-options[data-v-470a1a40]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.cat-option[data-v-470a1a40]{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:none;background:none;cursor:pointer;text-align:left;transition:background var(--transition-fast);color:var(--color-text-primary)}.cat-option[data-v-470a1a40]:hover{background:#6366f114}.cat-option.is-selected[data-v-470a1a40]{background:#6366f11f}.cat-option.cat-clear[data-v-470a1a40]{color:var(--color-text-secondary);font-size:var(--text-xs)}.cat-option-label[data-v-470a1a40]{flex:1;font-size:var(--text-sm);font-weight:500}.cat-check[data-v-470a1a40]{font-size:var(--text-xs);color:var(--color-accent, #6366f1);font-weight:700}.cat-empty[data-v-470a1a40]{text-align:center;padding:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm)}.cat-error-msg[data-v-470a1a40]{font-size:.75rem;color:var(--color-danger, #ef4444);margin-top:2px}.cat-dropdown-enter-active[data-v-470a1a40],.cat-dropdown-leave-active[data-v-470a1a40]{transition:opacity .15s ease,transform .15s ease}.cat-dropdown-enter-from[data-v-470a1a40],.cat-dropdown-leave-to[data-v-470a1a40]{opacity:0;transform:translateY(-6px)}.input-group[data-v-66a1f473]{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.input-label[data-v-66a1f473]{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.select-wrapper[data-v-66a1f473]{position:relative}.input-error-msg[data-v-66a1f473]{font-size:.75rem;color:var(--color-danger);margin-top:2px}.text-danger[data-v-66a1f473]{color:var(--color-danger)}.opacity-0[data-v-6e05cfaa]{opacity:0}.spinner[data-v-6e05cfaa]{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid currentColor;border-radius:var(--radius-full);border-right-color:transparent;animation:spin-6e05cfaa .75s linear infinite;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}@keyframes spin-6e05cfaa{to{transform:translate(-50%,-50%) rotate(360deg)}}.btn-loading[data-v-6e05cfaa]{position:relative;color:transparent!important}.btn-content[data-v-6e05cfaa]{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%}.form-container[data-v-98cdb7ef]{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2) 0}.type-toggle-wrapper[data-v-98cdb7ef]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);background:#ffffff05;padding:4px;border-radius:var(--radius-md);border:1px solid var(--color-border)}.type-btn[data-v-98cdb7ef]{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;display:flex;align-items:center;justify-content:center}.type-btn[data-v-98cdb7ef]:hover{background:#ffffff08;color:var(--color-text-primary)}.type-expense-btn.active[data-v-98cdb7ef]{background:var(--gradient-expense);color:#fff;box-shadow:0 4px 14px #ef444440}.type-income-btn.active[data-v-98cdb7ef]{background:var(--gradient-income);color:#fff;box-shadow:0 4px 14px #f59e0b40}.text-area[data-v-98cdb7ef]{resize:none}.error-banner[data-v-98cdb7ef]{padding:var(--space-3);background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--text-xs);text-align:center}.form-actions[data-v-98cdb7ef]{display:flex;justify-content:flex-end;gap:var(--space-3);border-top:1px solid rgba(255,255,255,.05);padding-top:var(--space-4);margin-top:var(--space-2)}.toast-container[data-v-b61d488e]{position:fixed;top:var(--space-6, 24px);left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:var(--space-2, 8px);width:100%;max-width:360px;pointer-events:none;align-items:center}.toast-item[data-v-b61d488e]{pointer-events:auto;display:flex;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, #ffffff);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(67, 82, 165, .08));transition:all var(--transition-base, .2s cubic-bezier(.4, 0, .2, 1))}.toast-item.success[data-v-b61d488e]{background-color:#ecfdf5;border-color:#a7f3d0;color:#064e3b}.toast-item.success .toast-icon[data-v-b61d488e]{color:#059669}.toast-item.error[data-v-b61d488e]{background-color:#fdf2f2;border-color:#fca5a5;color:#7f1d1d}.toast-item.error .toast-icon[data-v-b61d488e]{color:#dc2626}.toast-item.warning[data-v-b61d488e]{background-color:#fffbeb;border-color:#fde68a;color:#78350f}.toast-item.warning .toast-icon[data-v-b61d488e]{color:#d97706}.toast-item.info[data-v-b61d488e]{background-color:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}.toast-item.info .toast-icon[data-v-b61d488e]{color:#2563eb}.toast-icon[data-v-b61d488e]{display:flex;align-items:center;justify-content:center;margin-top:2px;flex-shrink:0}.toast-content[data-v-b61d488e]{flex:1}.toast-message[data-v-b61d488e]{font-size:var(--text-sm, 14px);font-weight:600;line-height:1.4;margin:0;word-break:break-word}.toast-close[data-v-b61d488e]{background:none;border:none;padding:4px;color:currentColor;opacity:.6;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm, 6px);transition:all var(--transition-fast, .15s);margin-top:1px}.toast-close[data-v-b61d488e]:hover{opacity:1;background-color:#0000000d}.toast-list-enter-active[data-v-b61d488e],.toast-list-leave-active[data-v-b61d488e]{transition:all var(--transition-base, .2s cubic-bezier(.4, 0, .2, 1))}.toast-list-enter-from[data-v-b61d488e],.toast-list-leave-to[data-v-b61d488e]{opacity:0;transform:translateY(-20px) scale(.95)}@media(max-width:480px){.toast-container[data-v-b61d488e]{top:var(--space-4, 16px);right:var(--space-4, 16px);left:var(--space-4, 16px);transform:none;width:auto;max-width:none}}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}.driver-popover{background-color:var(--color-bg-card, #ffffff)!important;color:var(--color-text-primary, #1e293b)!important;border:1px solid var(--color-border, #e2e8f0)!important;border-radius:var(--radius-2xl, 1rem)!important;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a,0 0 40px #3866410d!important;font-family:Inter,sans-serif!important;padding:var(--space-6, 1.5rem)!important;max-width:380px!important;transition:opacity .2s ease,transform .2s ease!important}.driver-popover.driver-popover-animated{transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s ease!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;line-height:1.6!important;margin-bottom:0!important}.driver-popover-progress{color:var(--color-text-muted, #94a3b8)!important;font-size:var(--text-xs, .75rem)!important;font-weight:600!important;margin-bottom:var(--space-4, 1rem)!important}.driver-popover-footer{display:flex!important;align-items:center!important;justify-content:flex-end!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}.driver-popover-btn{border-radius:var(--radius-lg, .5rem)!important;font-size:var(--text-xs, .75rem)!important;font-weight:700!important;padding:8px 14px!important;text-shadow:none!important;transition:all var(--transition-fast, .2s)!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 ease!important}.driver-popover-close-btn:hover{color:var(--color-text-primary, #0f172a)!important}.driver-popover-arrow{border-color:var(--color-bg-card, #ffffff)!important}.driver-overlay{background:#0f172a8c!important}.page-enter-active{transition:opacity .35s ease,transform .35s cubic-bezier(.16,1,.3,1)}.page-leave-active{transition:opacity .2s ease,transform .2s ease}.page-enter-from{opacity:0;transform:translateY(12px)}.page-leave-to{opacity:0;transform:translateY(-8px)}@media(prefers-reduced-motion:reduce){.page-enter-active,.page-leave-active{transition:none}.page-enter-from,.page-leave-to{transform:none}}.app-layout{display:flex;min-height:100vh;background:var(--gradient-bg);color:var(--color-text-primary)}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:99;display:none}.main-content-wrapper{flex:1;margin-left:280px;display:flex;flex-direction:column;min-height:100vh;position:relative}.page-container{flex:1;padding:var(--space-8);max-width:1400px;width:100%;margin:0 auto}@media(max-width:1024px){.main-content-wrapper{margin-left:0}.sidebar-overlay{display:block}}@media(max-width:640px){.page-container{padding:var(--space-4)}}@layer reset,base,theme,components,utilities;@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}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse}dialog{padding:0;border:none;background:transparent;color:inherit}dialog::backdrop{background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@layer base{:root{--color-bg-primary: #fcfaf7;--color-bg-secondary: #f5f0eb;--color-bg-tertiary: #e9e2db;--color-bg-card: #ffffff;--color-bg-card-hover: #faf6f0;--color-bg-input: #ffffff;--color-border: #e3dac9;--color-surface: #ffffff;--color-surface-hover: #faf6f0;--color-border-hover: rgba(56, 102, 65, .15);--color-border-focus: rgba(56, 102, 65, .4);--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, rgba(56, 102, 65, .2), rgba(195, 87, 60, .1), 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;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(67, 82, 165, .05);--shadow-md: 0 4px 6px -1px rgba(67, 82, 165, .05), 0 2px 4px -1px rgba(67, 82, 165, .03);--shadow-lg: 0 10px 15px -3px rgba(67, 82, 165, .08), 0 4px 6px -4px rgba(67, 82, 165, .06);--shadow-xl: 0 20px 25px -5px rgba(67, 82, 165, .1), 0 8px 10px -6px rgba(67, 82, 165, .08);--shadow-glow: 0 0 25px rgba(56, 102, 65, .15), 0 0 45px rgba(195, 87, 60, .1);--shadow-glow-income: 0 0 20px rgba(56, 102, 65, .1);--shadow-glow-expense: 0 0 20px rgba(195, 87, 60, .1);--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);--sidebar-width: 260px;--topbar-height: 64px}color-scheme: light;body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--color-text-primary);background:var(--gradient-bg);min-height:100vh;scroll-behavior:smooth;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-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);font-weight:700;line-height:1.2;color:var(--color-text-primary);letter-spacing:-.02em}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{background:#10b9814d;color:var(--color-text-primary)}}@layer components{.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.card:hover{border-color:#06b6d433;box-shadow:0 8px 30px #0000004d,0 0 15px #06b6d40d}.card-interactive:hover{border-color:#06b6d459!important;transform:translateY(-4px);box-shadow:0 15px 35px -5px #00000080,0 0 25px #06b6d426,0 0 50px #8b5cf60d}.card-gradient{position:relative;background:var(--color-bg-card);border:1px solid transparent;border-radius:var(--radius-lg);padding:var(--space-6);overflow:hidden}.card-gradient:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg);padding:1px;background:var(--gradient-card-border);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;pointer-events:none}.card-title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-4);display:flex;align-items:center;justify-content:space-between}.btn{display:inline-flex;align-items:center;justify-content: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);line-height:1;white-space:nowrap;cursor:pointer;transition:all var(--transition-base);border:1px solid transparent;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{background:#ffffff80;color:var(--color-text-primary);border-color:#4352a540}.btn-secondary:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);background:#4352a514}.btn-danger{background:#ef444408;color:var(--color-danger);border-color:#ef444440}.btn-danger:hover:not(:disabled){background:#ef444414;border-color:var(--color-danger)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.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{display:flex;flex-direction:column;gap:var(--space-2)}.input-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.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);box-shadow:0 0 0 3px #10b98126;background:#ffffff0f}.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);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;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-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.select:hover{border-color:var(--color-border-hover)}.select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #10b98126}.select option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.badge{display:inline-flex;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}.badge-success{background:#10b98126;color:var(--color-success)}.badge-warning{background:#f59e0b26;color:var(--color-warning)}.badge-danger{background:#ef444426;color:var(--color-danger)}.badge-info{background:#3b82f626;color:var(--color-info)}.badge-neutral{background:#ffffff14;color:var(--color-text-secondary)}.progress-bar{width:100%;height:8px;background:#ffffff0f;border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-bar-fill{height:100%;border-radius:var(--radius-full);background:var(--gradient-accent);transition:width .6s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s ease-in-out infinite}.progress-bar-sm{height:4px}.progress-bar-lg{height:12px}.stat-card{display:flex;flex-direction:column;gap:var(--space-1)}.stat-card-value{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:800;letter-spacing:-.02em;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{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-12) var(--space-6);gap:var(--space-4)}.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);font-weight:700;color:var(--color-text-secondary)}.empty-state-description{font-size:var(--text-sm);color:var(--color-text-muted);max-width:320px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.page-header h1{font-size:var(--text-2xl)}.page-header-actions{display:flex;align-items:center;gap:var(--space-3)}.grid-dashboard{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media(min-width:768px){.grid-dashboard{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid-dashboard{grid-template-columns:3fr 2fr}}.grid-dashboard-full{grid-column:1 / -1}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-5)}.transaction-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);transition:background var(--transition-fast);position:relative}.transaction-item:hover{background:#ffffff08}.transaction-item-icon{width:44px;height:44px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);background:#ffffff0f;flex-shrink:0}.transaction-item-body{flex:1;min-width:0}.transaction-item-name{font-weight:600;font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-item-meta{font-size:var(--text-xs);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-2);margin-top:2px}.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{display:flex;gap:var(--space-1);opacity:.35;transition:opacity var(--transition-fast);flex-shrink:0}.transaction-item:hover .transaction-item-actions{opacity:1}.filter-bar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-6)}.filter-toggle{display:inline-flex;background:#ffffff0a;border-radius:var(--radius-full);border:1px solid var(--color-border);overflow:hidden}.filter-toggle-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-fast);border:none;background:none;cursor:pointer}.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{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.fab{position:fixed;bottom:var(--space-8);right:var(--space-8);width:56px;height:56px;border-radius:var(--radius-full);background:var(--gradient-accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-glow),var(--shadow-lg);cursor:pointer;transition:all var(--transition-base);z-index:100;border:none;animation:pulse 3s ease-in-out infinite}.fab:hover{transform:scale(1.1);box-shadow:0 0 30px #10b98166,var(--shadow-xl)}.tabs{display:flex;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6);gap:var(--space-1)}.tab{padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);border-bottom:2px solid transparent;transition:all var(--transition-fast);cursor:pointer;background:none;border-top:none;border-left:none;border-right:none}.tab:hover{color:var(--color-text-secondary)}.tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.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);animation:scaleIn .2s cubic-bezier(.4,0,.2,1);max-height:90vh;overflow-y:auto}.modal-sm{max-width:400px}.modal-md{max-width:540px}.modal-lg{max-width:720px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}.modal-header h3{font-family:var(--font-heading);font-weight:700}.modal-body{padding:var(--space-6)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border)}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.spinner-sm{width:14px;height:14px}.skeleton{background:linear-gradient(90deg,var(--color-bg-card) 25%,rgba(255,255,255,.08) 50%,var(--color-bg-card) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.link-accent{font-size:var(--text-sm);font-weight:600;color:var(--color-accent);display:inline-flex;align-items:center;gap:var(--space-1);transition:color var(--transition-fast)}.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{display:flex;flex-direction:column}.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{display:grid;grid-template-columns:repeat(2,1fr)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr)}.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;overflow:hidden;text-overflow:ellipsis}.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(max-width:767px){.md-hidden{display:none!important}.grid-2,.grid-3{grid-template-columns:1fr}}@media(min-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 #10b98159,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:fadeIn .3s ease-out}.animate-slideUp{animation:slideUp .4s ease-out}.animate-scaleIn{animation:scaleIn .2s ease-out}.stagger-1{animation-delay:.05s;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{background:var(--color-bg-card)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)!important;transition:border-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.glass-card:hover{border-color:#06b6d440!important;box-shadow:0 8px 30px #00000026,0 0 15px #06b6d414!important}.soft-gradient-bg{background:var(--gradient-bg)!important}.text-gradient-primary{background:linear-gradient(135deg,#4352a5,#a42658)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!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, 0ms);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%}50%{background-position:100% 50%}to{background-position:0% 50%}}@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:float 6s ease-in-out infinite}.animate-floatSoft{animation:floatSoft 5s ease-in-out infinite}.animate-popIn{animation:popIn .4s cubic-bezier(.34,1.56,.64,1) both}.animate-fadeInUp{animation:fadeInUp .6s ease-out both}.animate-pulseGlow{animation:pulseGlow 2.2s ease-in-out infinite}.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{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.press{transition:transform var(--transition-fast)}.press:active{transform:scale(.96)}.skeleton-box{position:relative;overflow:hidden;background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.skeleton-box:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shimmerSweep 1.5s ease-in-out infinite}.skeleton-text{height:.85em;border-radius:var(--radius-full)}.skeleton-line{width:100%;height:12px;border-radius:var(--radius-full)}.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}}}
