.toast-container[data-v-dfb41bab]{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:.75rem;z-index:300}.toast[data-v-dfb41bab]{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:300px;max-width:400px;position:relative;overflow:hidden}.toast.success[data-v-dfb41bab]{border-left:3px solid var(--income)}.toast.error[data-v-dfb41bab]{border-left:3px solid var(--expense)}.toast.info[data-v-dfb41bab]{border-left:3px solid var(--accent)}.toast.warning[data-v-dfb41bab]{border-left:3px solid var(--warning)}.toast-icon[data-v-dfb41bab]{font-size:1.25rem;flex-shrink:0}.toast.success .toast-icon[data-v-dfb41bab]{color:var(--income)}.toast.error .toast-icon[data-v-dfb41bab]{color:var(--expense)}.toast.info .toast-icon[data-v-dfb41bab]{color:var(--accent)}.toast.warning .toast-icon[data-v-dfb41bab]{color:var(--warning)}.toast-content[data-v-dfb41bab]{flex:1}.toast-title[data-v-dfb41bab]{font-weight:600;font-size:.9rem;color:var(--text-primary)}.toast-message[data-v-dfb41bab]{font-size:.85rem;color:var(--text-secondary)}.toast-close[data-v-dfb41bab]{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;transition:all .2s var(--ease-out-expo);border-radius:var(--radius-sm)}.toast-close[data-v-dfb41bab]:hover{color:var(--text-primary);background:var(--bg-hover)}.toast-action-btn[data-v-dfb41bab]{background:none;border:1px solid var(--accent);color:var(--accent);cursor:pointer;padding:.3rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;white-space:nowrap;transition:all .2s var(--ease-out-expo);flex-shrink:0}.toast-action-btn[data-v-dfb41bab]:hover{background:var(--accent);color:#fff}.toast-progress[data-v-dfb41bab]{position:absolute;bottom:0;left:0;height:3px;border-radius:0 0 var(--radius-md) var(--radius-md);animation:toastProgress-dfb41bab linear forwards}.toast.success .toast-progress[data-v-dfb41bab]{background:var(--income)}.toast.error .toast-progress[data-v-dfb41bab]{background:var(--expense)}.toast.info .toast-progress[data-v-dfb41bab]{background:var(--accent)}.toast.warning .toast-progress[data-v-dfb41bab]{background:var(--warning)}@keyframes toastProgress-dfb41bab{0%{width:100%}to{width:0%}}.toast-enter-active[data-v-dfb41bab]{animation:toastSlideIn-dfb41bab .4s var(--ease-out-back)}.toast-leave-active[data-v-dfb41bab]{animation:toastSlideOut-dfb41bab .3s var(--ease-out-expo) forwards}@keyframes toastSlideIn-dfb41bab{0%{opacity:0;transform:translate(100%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastSlideOut-dfb41bab{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.9)}}@media(max-width:768px){.toast-container[data-v-dfb41bab]{left:1rem;right:1rem;bottom:1rem}.toast[data-v-dfb41bab]{min-width:auto;max-width:none}}.ws-indicator[data-v-c9e34b80]{position:fixed;bottom:2rem;left:2rem;display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:var(--bg-card);border:1px solid var(--warning);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:250;font-size:.85rem;color:var(--warning)}.ws-indicator-icon[data-v-c9e34b80]{animation:wsPulse-c9e34b80 1.5s ease-in-out infinite}@keyframes wsPulse-c9e34b80{0%,to{opacity:1}50%{opacity:.3}}.ws-indicator-enter-active[data-v-c9e34b80]{animation:wsSlideIn-c9e34b80 .3s var(--ease-out-expo)}.ws-indicator-leave-active[data-v-c9e34b80]{animation:wsSlideOut-c9e34b80 .3s var(--ease-out-expo) forwards}@keyframes wsSlideIn-c9e34b80{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes wsSlideOut-c9e34b80{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(1rem)}}.chat-message[data-v-f6d57412]{display:flex;gap:.5rem;margin-bottom:.75rem;animation:messageIn-f6d57412 .3s var(--ease-out-expo) both}@keyframes messageIn-f6d57412{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-message--user[data-v-f6d57412]{flex-direction:row-reverse}.chat-message__avatar[data-v-f6d57412]{width:32px;height:32px;min-width:32px;border-radius:50%;background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:.85rem;margin-top:2px}.chat-message__bubble[data-v-f6d57412]{max-width:80%;padding:.625rem .875rem;border-radius:var(--radius-md);position:relative;line-height:1.5;font-size:.875rem}.chat-message--user .chat-message__bubble[data-v-f6d57412]{background:var(--gradient-primary);color:#fff;border-bottom-right-radius:4px}.chat-message--assistant .chat-message__bubble[data-v-f6d57412]{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color);border-bottom-left-radius:4px}.chat-message--optimistic .chat-message__bubble[data-v-f6d57412]{opacity:.7}.chat-message__time[data-v-f6d57412]{display:block;font-size:.7rem;margin-top:.25rem;opacity:.6}.chat-message--user .chat-message__time[data-v-f6d57412]{text-align:right;color:#ffffffb3}.chat-message--assistant .chat-message__time[data-v-f6d57412]{color:var(--text-muted)}.chat-message__channel[data-v-f6d57412]{font-weight:600;margin-right:.2em;opacity:.8}.chat-message__markdown[data-v-f6d57412] p{margin:0 0 .5em}.chat-message__markdown[data-v-f6d57412] p:last-child{margin-bottom:0}.chat-message__markdown[data-v-f6d57412] ul,.chat-message__markdown[data-v-f6d57412] ol{margin:.25em 0;padding-left:1.25em}.chat-message__markdown[data-v-f6d57412] li{margin-bottom:.15em}.chat-message__markdown[data-v-f6d57412] strong{font-weight:600;color:var(--text-primary)}.chat-message__markdown[data-v-f6d57412] em{font-style:italic}.chat-message__markdown[data-v-f6d57412] code{background:var(--bg-secondary);padding:.15em .35em;border-radius:4px;font-size:.82em;font-family:Fira Code,JetBrains Mono,monospace}.chat-message__markdown[data-v-f6d57412] pre{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.75em;overflow-x:auto;margin:.5em 0}.chat-message__markdown[data-v-f6d57412] pre code{background:transparent;padding:0}.chat-message__markdown[data-v-f6d57412] a{color:var(--accent);text-decoration:underline}.chat-message__markdown[data-v-f6d57412] blockquote{border-left:3px solid var(--accent);margin:.5em 0;padding-left:.75em;color:var(--text-secondary)}@media(max-width:768px){.chat-message__bubble[data-v-f6d57412]{max-width:85%;font-size:.9375rem;padding:.75rem 1rem}}html[data-design=modern] .chat-message__bubble{border-radius:var(--radius-md)}html[data-design=modern] .chat-message--user .chat-message__bubble{border-bottom-right-radius:6px}html[data-design=modern] .chat-message--assistant .chat-message__bubble{border-bottom-left-radius:6px}html[data-design=modern] .chat-message__avatar{width:34px;height:34px;min-width:34px}html[data-design=modern] .chat-message__markdown code{border-radius:6px}html[data-design=modern] .chat-message__markdown pre{border-radius:var(--radius-sm)}.sr-only[data-v-791488a6]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chat-panel[data-v-791488a6]{position:fixed;top:0;right:0;width:400px;height:100vh;height:100dvh;z-index:300;display:flex;flex-direction:column;background:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));border-left:1px solid var(--glass-border);box-shadow:-8px 0 32px var(--shadow-panel, rgba(0, 0, 0, .3))}.chat-panel__overlay[data-v-791488a6]{display:none}.chat-panel__header[data-v-791488a6]{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--border-color);min-height:56px}.chat-panel__header-info[data-v-791488a6]{display:flex;align-items:center;gap:.625rem}.chat-panel__avatar[data-v-791488a6]{width:36px;height:36px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem;flex-shrink:0}.chat-panel__title[data-v-791488a6]{font-size:.95rem;font-weight:600;color:var(--text-primary)}.chat-panel__subtitle[data-v-791488a6]{font-size:.75rem;color:var(--text-muted)}.chat-panel__header-actions[data-v-791488a6]{display:flex;gap:.25rem}.chat-panel__icon-btn[data-v-791488a6]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all .2s var(--ease-out-expo);-webkit-tap-highlight-color:transparent}.chat-panel__icon-btn[data-v-791488a6]:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.chat-panel__icon-btn[data-v-791488a6]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.chat-panel__icon-btn[data-v-791488a6]:disabled{opacity:.3;cursor:not-allowed}.chat-panel__confirm[data-v-791488a6]{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:var(--expense-bg);border-bottom:1px solid var(--border-color);font-size:.8rem;color:var(--expense)}.chat-panel__confirm-actions[data-v-791488a6]{display:flex;gap:.375rem}.confirm-slide-enter-active[data-v-791488a6],.confirm-slide-leave-active[data-v-791488a6]{transition:all .2s var(--ease-out-expo)}.confirm-slide-enter-from[data-v-791488a6],.confirm-slide-leave-to[data-v-791488a6]{opacity:0;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden}.confirm-slide-enter-to[data-v-791488a6],.confirm-slide-leave-from[data-v-791488a6]{max-height:60px}.chat-panel__messages[data-v-791488a6]{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;scroll-behavior:smooth}.chat-panel__messages[data-v-791488a6]::-webkit-scrollbar{width:4px}.chat-panel__messages[data-v-791488a6]::-webkit-scrollbar-track{background:transparent}.chat-panel__messages[data-v-791488a6]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.chat-panel__empty[data-v-791488a6]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:.75rem}.chat-panel__empty-icon[data-v-791488a6]{width:56px;height:56px;border-radius:50%;background:var(--accent-light);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--accent)}.chat-panel__empty p[data-v-791488a6]{font-size:.875rem;text-align:center;max-width:220px;line-height:1.4}.chat-panel__loading[data-v-791488a6]{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text-muted);font-size:.85rem}.chat-panel__loading-more[data-v-791488a6]{text-align:center;padding:.5rem;color:var(--text-muted)}.chat-panel__thinking[data-v-791488a6]{margin-bottom:.75rem}.chat-panel__thinking .chat-message[data-v-791488a6]{animation:none}.chat-panel__thinking-bubble[data-v-791488a6]{display:flex;gap:4px;padding:.75rem 1rem;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:var(--radius-md);border-bottom-left-radius:4px}.chat-panel__dot[data-v-791488a6]{width:7px;height:7px;border-radius:50%;background:var(--text-muted);animation:dotPulse-791488a6 1.4s infinite ease-in-out both}.chat-panel__dot[data-v-791488a6]:nth-child(2){animation-delay:.16s}.chat-panel__dot[data-v-791488a6]:nth-child(3){animation-delay:.32s}@keyframes dotPulse-791488a6{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-panel__error[data-v-791488a6]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin-bottom:.75rem;background:var(--expense-bg);border:1px solid var(--expense-bg);border-radius:var(--radius-sm);color:var(--expense);font-size:.8rem;animation:errorFadeIn-791488a6 .3s var(--ease-out-expo) both}.chat-panel__error--timeout[data-v-791488a6]{background:var(--warning-bg);color:var(--warning);border-color:var(--warning-bg)}@keyframes errorFadeIn-791488a6{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-panel__input[data-v-791488a6]{display:flex;align-items:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border-color);background:var(--glass-bg)}.chat-panel__input textarea[data-v-791488a6]{flex:1;resize:none;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.625rem .75rem;color:var(--text-primary);font-size:.875rem;font-family:inherit;line-height:1.4;max-height:120px;transition:border-color .2s ease}.chat-panel__input textarea[data-v-791488a6]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.chat-panel__input textarea[data-v-791488a6]::placeholder{color:var(--text-muted)}.chat-panel__input textarea[data-v-791488a6]:disabled{opacity:.5}.chat-panel__send-btn[data-v-791488a6]{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s var(--ease-out-expo);font-size:.85rem;-webkit-tap-highlight-color:transparent}.chat-panel__send-btn[data-v-791488a6]:hover:not(:disabled){transform:scale(1.05);box-shadow:var(--shadow-accent)}.chat-panel__send-btn[data-v-791488a6]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-panel__send-btn[data-v-791488a6]:disabled{opacity:.4;cursor:not-allowed}.chat-panel-enter-active[data-v-791488a6]{transition:transform .35s var(--ease-out-expo)}.chat-panel-leave-active[data-v-791488a6]{transition:transform .25s ease-in}.chat-panel-enter-from[data-v-791488a6],.chat-panel-leave-to[data-v-791488a6]{transform:translate(100%)}.chat-overlay-enter-active[data-v-791488a6],.chat-overlay-leave-active[data-v-791488a6]{transition:opacity .3s ease}.chat-overlay-enter-from[data-v-791488a6],.chat-overlay-leave-to[data-v-791488a6]{opacity:0}@media(max-width:768px){.chat-panel[data-v-791488a6]{width:100%;border-left:none;padding-bottom:env(safe-area-inset-bottom)}.chat-panel__header[data-v-791488a6]{padding:.75rem 1rem;min-height:60px;padding-top:max(.75rem,env(safe-area-inset-top))}.chat-panel__icon-btn[data-v-791488a6]{width:44px;height:44px;font-size:1.1rem}.chat-panel__header-actions[data-v-791488a6]{gap:.125rem}.chat-panel__input[data-v-791488a6]{padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));gap:.625rem}.chat-panel__input textarea[data-v-791488a6]{font-size:1rem;padding:.75rem;min-height:44px}.chat-panel__send-btn[data-v-791488a6]{width:44px;height:44px;min-width:44px;font-size:1rem;border-radius:var(--radius-sm)}.chat-panel__confirm[data-v-791488a6]{padding:.625rem 1rem;font-size:.85rem;flex-wrap:wrap;gap:.5rem}.chat-panel__overlay[data-v-791488a6]{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:299}}html[data-design=modern] .chat-panel{border-left-color:var(--glass-border);box-shadow:-12px 0 48px var(--shadow-panel, rgba(0, 0, 0, .2))}html[data-design=modern] .chat-panel__header{padding:1rem 1.125rem}html[data-design=modern] .chat-panel__avatar{width:40px;height:40px;font-size:1rem}html[data-design=modern] .chat-panel__title{font-size:1rem}html[data-design=modern] .chat-panel__icon-btn{border-radius:50%}html[data-design=modern] .chat-panel__thinking-bubble{border-radius:var(--radius-md);border-bottom-left-radius:6px}html[data-design=modern] .chat-panel__input textarea{border-radius:var(--radius-sm)}html[data-design=modern] .chat-panel__send-btn{border-radius:50%}html[data-design=modern] .chat-panel__empty-icon{width:64px;height:64px;font-size:1.75rem}.chat-fab[data-v-0f117495]{position:fixed;bottom:1.5rem;right:1.5rem;width:56px;height:56px;border-radius:50%;background:var(--gradient-primary);color:#fff;border:none;cursor:pointer;z-index:301;display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:var(--shadow-accent),var(--shadow-md);transition:all .3s var(--ease-out-expo);-webkit-tap-highlight-color:transparent}.chat-fab[data-v-0f117495]:hover{transform:scale(1.08);box-shadow:var(--shadow-accent),var(--shadow-lg)}.chat-fab[data-v-0f117495]:active{transform:scale(.95)}.chat-fab[data-v-0f117495]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.chat-fab__badge[data-v-0f117495]{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;background:var(--expense);color:#fff;font-size:.7rem;font-weight:700;border-radius:10px;display:flex;align-items:center;justify-content:center;animation:badgePop-0f117495 .3s var(--ease-out-back) both}@keyframes badgePop-0f117495{0%{transform:scale(0)}to{transform:scale(1)}}.fab-icon-enter-active[data-v-0f117495]{transition:all .3s var(--ease-out-expo)}.fab-icon-leave-active[data-v-0f117495]{transition:all .2s ease-in}.fab-icon-enter-from[data-v-0f117495],.fab-icon-leave-to[data-v-0f117495]{opacity:0;transform:scale(.5)}@media(max-width:768px){.chat-fab[data-v-0f117495]{bottom:1rem;right:1rem;width:56px;height:56px;font-size:1.2rem}}html[data-design=modern] .chat-fab{border-radius:50%;box-shadow:var(--shadow-accent),var(--shadow-lg)}:root{--bg-primary: #0f0f23;--bg-secondary: #1a1a2e;--bg-tertiary: #16213e;--bg-card: #1a1a2e;--bg-hover: #252540;--text-primary: #e0e0e0;--text-secondary: #a0a0b0;--text-muted: #6c6c7c;--accent: #6c63ff;--accent-hover: #5a52e0;--accent-light: rgba(108, 99, 255, .1);--income: #00d4aa;--income-bg: rgba(0, 212, 170, .1);--expense: #ff6b6b;--expense-bg: rgba(255, 107, 107, .1);--warning: #fbbf24;--warning-bg: rgba(251, 191, 36, .1);--border-color: #2a2a4a;--border-light: #3a3a5a;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-accent: 0 4px 20px rgba(108, 99, 255, .3);--shadow-income: 0 4px 20px rgba(0, 212, 170, .2);--shadow-expense: 0 4px 20px rgba(255, 107, 107, .2);--gradient-primary: linear-gradient(135deg, #6c63ff 0%, #a855f7 100%);--gradient-income: linear-gradient(135deg, #00d4aa 0%, #00b894 100%);--gradient-expense: linear-gradient(135deg, #ff6b6b 0%, #ee5a5a 100%);--gradient-card: linear-gradient(145deg, #1e1e3f 0%, #1a1a2e 100%);--gradient-warning: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);--sidebar-width: 260px;--sidebar-collapsed: 70px;--header-height: 60px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--stagger-delay: 50ms;--backdrop-blur: 8px;--glass-bg: rgba(22, 22, 50, .72);--glass-bg-strong: rgba(15, 15, 35, .85);--glass-border: rgba(255, 255, 255, .07);--glass-blur: 24px;--glass-saturate: 180%}[data-theme=light]{--bg-primary: #f0f2f8;--bg-secondary: #ffffff;--bg-tertiary: #e8ecf4;--bg-card: #ffffff;--bg-hover: #f5f6fa;--text-primary: #1a1a2e;--text-secondary: #5a5a7a;--text-muted: #9a9ab0;--accent-light: rgba(108, 99, 255, .08);--border-color: #e2e6f0;--border-light: #d0d5e2;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 2px 8px rgba(108, 99, 255, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06), 0 4px 16px rgba(108, 99, 255, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08), 0 8px 32px rgba(108, 99, 255, .08);--shadow-accent: 0 4px 20px rgba(108, 99, 255, .15);--shadow-income: 0 4px 20px rgba(0, 212, 170, .12);--shadow-expense: 0 4px 20px rgba(255, 107, 107, .12);--gradient-card: linear-gradient(145deg, #ffffff 0%, #f8f9fc 100%);--glass-bg: rgba(255, 255, 255, .75);--glass-bg-strong: rgba(248, 249, 252, .88);--glass-border: rgba(255, 255, 255, .65)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}*{scrollbar-width:thin;scrollbar-color:var(--border-light) transparent}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.card-value,.kpi-value,.amount-cell,.balance-after-cell,.summary-value,.top-expense-amount,.category-table-amount,.transaction-amount{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}p{color:var(--text-secondary)}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.card{background:var(--gradient-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);transition:all .25s var(--ease-out-expo)}.card:hover{box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.card-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.card-header .card-title{margin-bottom:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9rem;font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s var(--ease-out-expo);white-space:nowrap;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-accent)}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--border-color);border-color:var(--border-light);transform:translateY(-1px)}.btn-danger{background:var(--gradient-expense);color:#fff}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-expense)}.btn-sm{padding:.5rem 1rem;font-size:.8rem}.btn-icon{width:36px;height:36px;padding:0;background:var(--bg-hover);border:1px solid var(--border-color);color:var(--text-secondary)}.btn-icon:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--accent-light);transform:scale(1.08)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.85rem;font-weight:500;color:var(--text-secondary);transition:color .2s ease}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-input,.form-select{width:100%;padding:.75rem 1rem;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;transition:all .2s var(--ease-out-expo)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);background:var(--bg-secondary)}.form-group:has(.form-input:focus) label,.form-group:has(.form-select:focus) label{color:var(--accent)}.form-input::placeholder{color:var(--text-muted);transition:opacity .2s ease}.form-input:focus::placeholder{opacity:.5}.filters-card{margin-bottom:1.5rem}.filters-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-input,.filter-select{padding:.625rem 1rem;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;min-width:150px;transition:all .2s var(--ease-out-expo)}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.actions-panel{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.actions-left,.actions-right{display:flex;gap:.75rem;flex-wrap:wrap}.page-header{margin-bottom:2rem}.page-header h1{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.page-header h1 i{color:var(--accent)}.page-subtitle{color:var(--text-muted);font-size:.9rem}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color .4s ease,background .4s ease,color .3s ease,border-color .35s ease,box-shadow .35s ease,fill .3s ease!important}@media(max-width:1200px){.summary-cards{grid-template-columns:repeat(2,1fr)}.charts-row,.reports-grid{grid-template-columns:1fr}.report-summary{grid-template-columns:repeat(2,1fr)}.kpi-cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:992px){.filters-row{flex-direction:column;align-items:stretch}.filter-group,.filter-input,.filter-select{width:100%}.quick-filters{flex-wrap:wrap}}@media(max-width:768px){html{font-size:14px}.summary-cards{grid-template-columns:1fr}.actions-panel{flex-direction:column;align-items:stretch}.actions-left,.actions-right{justify-content:center}.data-table th,.data-table td{padding:.75rem}.form-row,.categories-list,.report-summary{grid-template-columns:1fr}.kpi-cards{grid-template-columns:repeat(2,1fr)}.pagination{flex-wrap:wrap;gap:.5rem}.summary-cards .summary-card,.kpi-cards .kpi-card,.dashboard-grid>*,.data-table tbody tr{animation-delay:0ms!important;animation-duration:.2s!important}}@media(max-width:480px){.page-header h1{font-size:1.25rem}.card{padding:1rem}.btn{padding:.5rem 1rem;font-size:.85rem}.kpi-cards{grid-template-columns:1fr}}@media print{.sidebar,.sidebar-overlay,.actions-panel,.pagination,.toast-container,.modal{display:none!important}.main-content{margin-left:0;padding:0}.card{box-shadow:none;border:1px solid #ddd;animation:none!important}*{animation:none!important;transition:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}html[data-design=modern]{font-family:Aptos,Segoe UI Variable Display,Segoe UI Variable,Trebuchet MS,Segoe UI,sans-serif;--sidebar-width: 300px;--radius-sm: 14px;--radius-md: 20px;--radius-lg: 28px;--radius-xl: 40px;--transition-fast: .18s ease;--transition-normal: .32s ease;--transition-slow: .6s ease;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--glass-blur: 22px;--glass-saturate: 180%}html[data-design=modern][data-theme=dark]{color-scheme:dark;--bg-primary: #07131b;--bg-secondary: #0d1d28;--bg-tertiary: #132734;--bg-card: #0d1d28;--bg-hover: #173242;--text-primary: #e7f2f4;--text-secondary: #aac0c7;--text-muted: #748f98;--accent: #16c2a3;--accent-hover: #11a78d;--accent-light: rgba(22, 194, 163, .14);--income: #45dbb5;--income-bg: rgba(69, 219, 181, .14);--expense: #ff7a66;--expense-bg: rgba(255, 122, 102, .14);--warning: #f0b35a;--warning-bg: rgba(240, 179, 90, .14);--border-color: rgba(171, 202, 211, .18);--border-light: rgba(171, 202, 211, .28);--shadow-sm: 0 12px 30px rgba(0, 0, 0, .18);--shadow-md: 0 18px 45px rgba(0, 0, 0, .28);--shadow-lg: 0 28px 72px rgba(0, 0, 0, .34);--shadow-accent: 0 20px 50px rgba(22, 194, 163, .22);--shadow-income: 0 20px 50px rgba(69, 219, 181, .18);--shadow-expense: 0 20px 50px rgba(255, 122, 102, .2);--gradient-primary: linear-gradient(135deg, #16c2a3 0%, #2b8fff 56%, #ff7a66 100%);--gradient-income: linear-gradient(135deg, #32d6b1 0%, #0fa37c 100%);--gradient-expense: linear-gradient(135deg, #ff7a66 0%, #ea5a44 100%);--gradient-card: linear-gradient(180deg, rgba(14, 29, 40, .96) 0%, rgba(8, 18, 25, .92) 100%);--gradient-warning: linear-gradient(135deg, #f0b35a 0%, #bd7f1f 100%);--glass-bg: rgba(9, 20, 28, .76);--glass-bg-strong: rgba(7, 18, 25, .88);--glass-border: rgba(255, 255, 255, .08)}html[data-design=modern][data-theme=light]{color-scheme:light;--bg-primary: #f4efe7;--bg-secondary: #fffaf3;--bg-tertiary: #f7ead8;--bg-card: #fffaf3;--bg-hover: #f1e5d8;--text-primary: #17212b;--text-secondary: #5f6d76;--text-muted: #87959c;--accent: #0f9b8a;--accent-hover: #0b8475;--accent-light: rgba(15, 155, 138, .12);--income: #128b6f;--income-bg: rgba(18, 139, 111, .12);--expense: #d45d4b;--expense-bg: rgba(212, 93, 75, .12);--warning: #bc7c1d;--warning-bg: rgba(188, 124, 29, .12);--border-color: rgba(24, 33, 43, .12);--border-light: rgba(24, 33, 43, .18);--shadow-sm: 0 12px 30px rgba(26, 33, 41, .08);--shadow-md: 0 18px 45px rgba(26, 33, 41, .12);--shadow-lg: 0 30px 72px rgba(26, 33, 41, .16);--shadow-accent: 0 20px 48px rgba(15, 155, 138, .18);--shadow-income: 0 20px 48px rgba(18, 139, 111, .12);--shadow-expense: 0 20px 48px rgba(212, 93, 75, .14);--gradient-primary: linear-gradient(135deg, #0f9b8a 0%, #2b8fff 55%, #e57956 100%);--gradient-income: linear-gradient(135deg, #19a67d 0%, #0f8768 100%);--gradient-expense: linear-gradient(135deg, #de7661 0%, #c34d37 100%);--gradient-card: linear-gradient(180deg, rgba(255, 252, 247, .98) 0%, rgba(248, 241, 232, .94) 100%);--gradient-warning: linear-gradient(135deg, #dea44d 0%, #bc7c1d 100%);--glass-bg: rgba(255, 250, 243, .75);--glass-bg-strong: rgba(255, 252, 247, .88);--glass-border: rgba(255, 255, 255, .7)}html[data-design=modern] body{background:radial-gradient(circle at 12% 16%,rgba(22,194,163,.16) 0%,transparent 24%),radial-gradient(circle at 86% 12%,rgba(255,122,102,.14) 0%,transparent 20%),radial-gradient(circle at 78% 78%,rgba(43,143,255,.16) 0%,transparent 22%),var(--bg-primary);color:var(--text-primary);font-family:Aptos,Segoe UI Variable Display,Segoe UI Variable,Trebuchet MS,Segoe UI,sans-serif}html[data-design=modern] ::selection{background:#16c2a33d}html[data-design=modern] #app{min-height:100vh}html[data-design=modern] .page{display:flex;flex-direction:column;gap:1.35rem}html[data-design=modern] .card{border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--gradient-card);box-shadow:var(--shadow-sm)}html[data-design=modern] .card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}html[data-design=modern] .btn{border-radius:999px;font-weight:700;letter-spacing:.01em}html[data-design=modern] .btn-primary{box-shadow:var(--shadow-accent)}html[data-design=modern] .btn-secondary{background:#ffffff0f;border:1px solid var(--border-color)}html[data-design=modern] .btn-secondary:hover:not(:disabled){background:#ffffff1a}html[data-design=modern] .form-input,html[data-design=modern] .form-select,html[data-design=modern] .filter-input,html[data-design=modern] .filter-select{border-radius:16px;background:#ffffff0d;border:1px solid var(--border-color)}html[data-design=modern] .form-input:focus,html[data-design=modern] .form-select:focus,html[data-design=modern] .filter-input:focus,html[data-design=modern] .filter-select:focus{background:#ffffff14}html[data-design=modern] .filters-card,html[data-design=modern] .period-card,html[data-design=modern] .settings-panel,html[data-design=modern] .table-card{overflow:hidden}html[data-design=modern] .chip{border-radius:999px;padding-inline:1rem}html[data-design=modern] .chip.active{box-shadow:var(--shadow-accent)}html[data-design=modern] .data-table{font-size:.92rem}html[data-design=modern] .data-table th{background:#ffffff0a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color)}html[data-design=modern] .data-table :deep(tbody tr),html[data-design=modern] .data-table tbody tr{transition:background .2s ease,transform .2s ease}html[data-design=modern] .data-table :deep(tbody tr:hover),html[data-design=modern] .data-table tbody tr:hover{background:#ffffff0a}html[data-design=modern] .quick-filters{gap:.65rem}html[data-design=modern] .theme-option{border-radius:18px;background:#ffffff0a}html[data-design=modern] .theme-option.active{box-shadow:var(--shadow-accent)}html[data-design=modern] .summary-item,html[data-design=modern] .export-card,html[data-design=modern] .settings-tab{border-radius:18px}html[data-design=modern] .scroll-top-btn{box-shadow:var(--shadow-accent)}html[data-design=modern] .page-subtitle{max-width:60ch}@media(max-width:768px){html[data-design=modern] .btn{width:auto}}html.design-transitioning,html.design-transitioning *,html.design-transitioning *:before,html.design-transitioning *:after{transition:background-color .45s ease,background .45s ease,color .3s ease,border-color .35s ease,box-shadow .35s ease,transform .35s ease,opacity .3s ease!important}@keyframes modern-rise{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}html[data-design=modern] .modern-page-shell>*,html[data-design=modern] .modern-inline-card,html[data-design=modern] .modern-summary-card,html[data-design=modern] .modern-settings-tab,html[data-design=modern] .modern-export-card,html[data-design=modern] .modern-login-panel{animation:modern-rise .45s var(--ease-out-expo) both}@media(prefers-reduced-motion:reduce){html[data-design=modern] *,html[data-design=modern] *:before,html[data-design=modern] *:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}}
