.chat-panel[data-v-e3b2006a]{top:16px;right:16px;left:calc(16px + var(--desktop-column-width,clamp(380px, 33.333vw, 520px)) + 20px);-webkit-backdrop-filter:blur(20px);background:#ffffff04;border:1px solid #ffffff14;border-radius:18px;flex-direction:column;height:calc(100vh - 32px);display:flex;position:fixed;overflow:hidden}.chat-panel--empty[data-v-e3b2006a]{justify-content:center}.chat-panel--empty .chat-input-card[data-v-e3b2006a]{margin:16px 20px 0}.chat-header[data-v-e3b2006a]{flex-shrink:0;justify-content:flex-end;padding:10px 16px 0;display:flex}.chat-clear-btn[data-v-e3b2006a]{color:#ffffff59;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:color .2s,background .2s;display:flex}.chat-clear-btn[data-v-e3b2006a]:hover{color:#ffffffbf;background:#ffffff12}.chat-messages[data-v-e3b2006a]{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;flex-direction:column;flex:1;gap:4px;padding:20px;display:flex;overflow-y:auto}.chat-welcome[data-v-e3b2006a]{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:0 32px;display:flex}.chat-welcome-text[data-v-e3b2006a]{color:#ffffff73;max-width:480px;margin-bottom:8px;font-size:16px;line-height:1.6}.chat-welcome-examples[data-v-e3b2006a]{flex-wrap:wrap;justify-content:center;gap:8px;padding:12px 20px 0;display:flex}.chat-example-btn[data-v-e3b2006a]{color:#ffffffa6;cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:20px;padding:8px 14px;font-size:13px;transition:all .2s ease-out}.chat-example-btn[data-v-e3b2006a]:hover{color:#c4b5fd;background:#8b5cf626;border-color:#8b5cf666}.chat-session-hint[data-v-e3b2006a]{color:#ffffff38;text-align:center;margin:12px 20px 0;font-size:11px;line-height:1.5}.chat-msg[data-v-e3b2006a]{flex-direction:column;gap:4px;max-width:75%;animation:.2s ease-out msgIn-e3b2006a;display:flex}@keyframes msgIn-e3b2006a{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-msg--user[data-v-e3b2006a]{align-self:flex-end;align-items:flex-end}.chat-msg--assistant[data-v-e3b2006a]{align-self:flex-start;align-items:flex-start}.chat-bubble[data-v-e3b2006a]{border-radius:16px;max-width:100%;padding:10px 14px}.chat-bubble--user[data-v-e3b2006a]{background:linear-gradient(135deg,#8b5cf659,#06b6d440);border:1px solid #8b5cf64d;border-bottom-right-radius:4px}.chat-bubble--assistant[data-v-e3b2006a]{background:#ffffff0a;border:1px solid #ffffff14;border-bottom-left-radius:4px}.chat-bubble-text[data-v-e3b2006a]{color:#ffffffeb;word-break:break-word;margin:0;font-size:14px;line-height:1.55}.chat-bubble-image[data-v-e3b2006a]{object-fit:cover;border-radius:10px;max-width:100%;max-height:220px;margin-bottom:6px;display:block}.chat-audio-player[data-v-e3b2006a]{cursor:pointer;align-items:center;gap:8px;min-width:180px;padding:2px 0;display:flex}.chat-audio-play[data-v-e3b2006a]{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding-left:2px;transition:background .15s ease-out;display:flex}.chat-bubble--user .chat-audio-play[data-v-e3b2006a]{background:#fff3}.chat-audio-play[data-v-e3b2006a]:hover{background:#ffffff47}.chat-audio-bars[data-v-e3b2006a]{flex:1;align-items:center;gap:2px;height:24px;display:flex}.chat-audio-bar[data-v-e3b2006a]{width:3px;height:var(--h,8px);background:#ffffff4d;border-radius:2px;flex-shrink:0;transition:background .2s ease-out;display:block}.chat-bubble--user .chat-audio-bar[data-v-e3b2006a]{background:#ffffff59}.chat-audio-bar--active[data-v-e3b2006a]{animation:.6s ease-in-out infinite alternate audioBarPulse-e3b2006a;animation-delay:calc(var(--h,0) * 20ms);background:#ffffffd9!important}@keyframes audioBarPulse-e3b2006a{0%{opacity:.5}to{opacity:1}}.chat-audio-dur[data-v-e3b2006a]{color:#ffffff8c;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:12px}.chat-bubble-thinking[data-v-e3b2006a]{align-items:center;gap:4px;padding:2px 0;display:flex}.chat-bubble-thinking span[data-v-e3b2006a]{background:#fff6;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite thinkDot-e3b2006a;display:block}.chat-bubble-thinking span[data-v-e3b2006a]:nth-child(2){animation-delay:.2s}.chat-bubble-thinking span[data-v-e3b2006a]:nth-child(3){animation-delay:.4s}@keyframes thinkDot-e3b2006a{0%,80%,to{opacity:.4;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.chat-msg-time[data-v-e3b2006a]{color:#ffffff4d;padding:0 2px;font-size:11px}@keyframes recPulse-e3b2006a{0%,to{opacity:1}50%{opacity:.3}}.chat-input-card[data-v-e3b2006a]{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;flex-shrink:0;margin:0 16px 16px;transition:border-color .2s ease-out;overflow:hidden}.chat-input-card[data-v-e3b2006a]:focus-within{border-color:#8b5cf659}.chat-textarea[data-v-e3b2006a]{color:#fff;resize:none;background:0 0;border:none;outline:none;width:100%;min-height:100px;max-height:200px;padding:14px 16px 6px;font-family:inherit;font-size:15px;line-height:1.55;display:block;overflow-y:auto}.chat-textarea[data-v-e3b2006a]::placeholder{color:#ffffff47}.chat-input-toolbar[data-v-e3b2006a]{justify-content:space-between;align-items:center;gap:8px;padding:6px 10px 10px;display:flex}.chat-toolbar-left[data-v-e3b2006a]{align-items:center;gap:6px;min-width:0;display:flex}.chat-toolbar-right[data-v-e3b2006a]{flex-shrink:0;align-items:center;gap:6px;display:flex}.chat-attach-chip[data-v-e3b2006a]{flex-shrink:0;position:relative}.chat-attach-chip-thumb[data-v-e3b2006a]{object-fit:cover;border:1px solid #ffffff1f;border-radius:8px;width:32px;height:32px;display:block}.chat-attach-chip-remove[data-v-e3b2006a]{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;display:flex;position:absolute;top:-5px;right:-5px}.chat-rec-inline[data-v-e3b2006a]{align-items:center;gap:2px;height:20px;display:flex}.chat-rec-bar-sm[data-v-e3b2006a]{width:2.5px;animation:.8s ease-in-out infinite alternate waveBar-e3b2006a;animation-delay:calc(var(--i) * 50ms);background:#ef4444cc;border-radius:2px;min-height:3px;display:block}.chat-rec-time-sm[data-v-e3b2006a]{color:#fca5a5;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:600}.chat-toolbar-btn[data-v-e3b2006a]{color:#ffffff80;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s ease-out;display:flex}.chat-toolbar-btn[data-v-e3b2006a]:hover{color:#ffffffd9;background:#ffffff17}.chat-toolbar-btn--rec[data-v-e3b2006a]{color:#ef4444!important;background:#ef44442e!important;border-color:#ef444473!important}.chat-toolbar-cancel[data-v-e3b2006a]{color:#ffffff73;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:13px;transition:color .15s ease-out}.chat-toolbar-cancel[data-v-e3b2006a]:hover{color:#ffffffd9}.chat-send-btn[data-v-e3b2006a]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#06b6d4);border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s ease-out;display:flex;box-shadow:0 0 14px #8b5cf659}.chat-send-btn[data-v-e3b2006a]:hover:not(:disabled){transform:scale(1.06);box-shadow:0 0 22px #8b5cf68c}.chat-send-btn[data-v-e3b2006a]:active:not(:disabled){transform:scale(.94)}.chat-send-btn[data-v-e3b2006a]:disabled{opacity:.5;cursor:not-allowed}@keyframes waveBar-e3b2006a{0%{opacity:.4;height:4px}to{opacity:1;height:28px}}@media (width<=1024px){.chat-panel[data-v-e3b2006a]{display:none}}.tasks-view[data-v-8835eea1]{padding-bottom:100px}.app--desktop{padding-bottom:24px}.tasks-content[data-v-8835eea1]{flex-direction:column;gap:10px;padding:0 16px;display:flex}.task-card[data-v-8835eea1]{background:#272737;border:1px solid #ffffff12;border-radius:14px;flex-direction:column;padding:14px 16px 0;transition:border-color .2s ease-out,background .2s ease-out;display:flex}.task-card[data-v-8835eea1]:hover{background:#2d2d44f2;border-color:#ffffff21}.task-card-main[data-v-8835eea1]{align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.task-card-body[data-v-8835eea1]{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.task-badges[data-v-8835eea1]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.task-trigger-badge[data-v-8835eea1]{border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.task-trigger-badge--cron[data-v-8835eea1]{color:#a78bfa;background:#8b5cf626;border:1px solid #8b5cf64d}.task-trigger-badge--event[data-v-8835eea1]{color:#22d3ee;background:#06b6d426;border:1px solid #06b6d44d}.task-freq-chip[data-v-8835eea1]{color:#ffffff80;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;align-items:center;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.task-freq-chip--oneshot[data-v-8835eea1]{color:#fbbf24;background:#fbbf241a;border-color:#fbbf2440}.task-title[data-v-8835eea1]{color:#fff;font-size:14px;font-weight:600;line-height:1.4}.task-goal[data-v-8835eea1]{color:#ffffff73;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.task-card-side[data-v-8835eea1]{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.task-status-dot[data-v-8835eea1]{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:2px}.task-status-dot--active[data-v-8835eea1]{background:#10b981;box-shadow:0 0 6px #10b9818c}.task-status-dot--inactive[data-v-8835eea1]{background:#ffffff2e}.task-actions[data-v-8835eea1]{align-items:center;gap:4px;display:flex}.task-action-btn[data-v-8835eea1]{color:#fff6;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s ease-out;display:flex}.task-action-btn[data-v-8835eea1]:hover{color:#ffffffd9;background:#ffffff17;border-color:#ffffff26}.task-action-btn--danger[data-v-8835eea1]:hover{color:#ef4444;background:#ef444426;border-color:#ef444459}.task-runs-toggle[data-v-8835eea1]{color:#ffffff47;cursor:pointer;text-align:left;background:0 0;border:none;border-top:1px solid #ffffff0d;align-items:center;gap:5px;width:100%;padding:8px 0 10px;font-size:11px;font-weight:500;transition:color .15s ease-out;display:flex}.task-runs-toggle[data-v-8835eea1]:hover{color:#ffffff8c}.task-runs-list[data-v-8835eea1]{border-top:1px solid #ffffff0d;flex-direction:column;gap:4px;padding:4px 0 8px;display:flex}.task-runs-spinner[data-v-8835eea1]{justify-content:center;padding:10px 0;display:flex}.task-runs-empty[data-v-8835eea1]{color:#ffffff40;text-align:center;padding:6px 0;font-size:12px}.task-run-item[data-v-8835eea1]{background:#0000001f;border:1px solid #ffffff0a;border-radius:8px;flex-direction:column;gap:3px;padding:7px 10px;display:flex}.task-run-header[data-v-8835eea1]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.task-run-icon[data-v-8835eea1]{flex-shrink:0}.task-run-icon--success[data-v-8835eea1]{color:#10b981}.task-run-icon--failed[data-v-8835eea1]{color:#ef4444}.task-run-icon--running[data-v-8835eea1]{color:#f59e0b}.task-run-date[data-v-8835eea1]{color:#ffffff73;font-size:11px;font-weight:500}.task-run-source[data-v-8835eea1]{color:#ffffff59;background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;padding:1px 6px;font-size:10px}.task-run-duration[data-v-8835eea1]{color:#ffffff40;margin-left:auto;font-size:10px}.task-run-text[data-v-8835eea1]{color:#ffffff61;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;padding-left:18px;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.loader--sm[data-v-8835eea1]{border-width:2px;width:16px;height:16px}.task-textarea[data-v-590ca9f9]{resize:vertical;min-height:64px;font-family:inherit;line-height:1.55}.task-textarea--tall[data-v-590ca9f9]{min-height:120px}.task-select[data-v-590ca9f9]{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' 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 14px center;background-repeat:no-repeat;padding-right:40px}.task-select option[data-v-590ca9f9]{color:#fff;background:#1a1a2e}.type-btn--icon[data-v-590ca9f9]{align-items:center;gap:6px;display:inline-flex}.form-label-optional[data-v-590ca9f9]{text-transform:none;letter-spacing:0;color:#ffffff40;margin-left:6px;font-size:11px;font-weight:400}.event-options[data-v-590ca9f9]{flex-direction:column;gap:8px;display:flex}.event-option[data-v-590ca9f9]{cursor:pointer;text-align:left;color:#ffffff80;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;transition:all .15s ease-out;display:flex}.event-option[data-v-590ca9f9]:hover{color:#ffffffbf;background:#ffffff0f;border-color:#ffffff24}.event-option.active[data-v-590ca9f9]{color:#a78bfa;background:#8b5cf626;border-color:#8b5cf673}.event-option-label[data-v-590ca9f9]{color:#fff;font-size:14px;font-weight:500}.event-option.active .event-option-label[data-v-590ca9f9]{color:#e9d5ff}.form-group--row[data-v-590ca9f9]{flex-direction:row;justify-content:space-between;align-items:center}.form-hint[data-v-590ca9f9]{color:#ffffff4d;margin-top:2px;font-size:12px}.toggle-switch[data-v-590ca9f9]{cursor:pointer;flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input[data-v-590ca9f9]{opacity:0;width:0;height:0;position:absolute}.toggle-track[data-v-590ca9f9]{background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;transition:all .2s ease-out;position:absolute;inset:0}.toggle-track[data-v-590ca9f9]:before{content:"";background:#ffffff59;border-radius:50%;width:16px;height:16px;transition:all .2s ease-out;position:absolute;top:3px;left:3px}.toggle-switch input:checked+.toggle-track[data-v-590ca9f9]{background:#8b5cf659;border-color:#8b5cf68c}.toggle-switch input:checked+.toggle-track[data-v-590ca9f9]:before{background:#8b5cf6;transform:translate(20px)}.auth-screen[data-v-892e3827]{justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px;display:flex}.auth-card[data-v-892e3827]{border-radius:24px;width:100%;max-width:420px;padding:28px 24px}.auth-title[data-v-892e3827]{text-align:center;margin:0 0 8px;font-size:28px;font-weight:700}.auth-subtitle[data-v-892e3827]{color:#ffffffb8;text-align:center;margin:0 0 20px;font-size:14px}.auth-widget-wrap[data-v-892e3827]{justify-items:center;gap:10px;display:grid}.auth-widget[data-v-892e3827]{min-height:42px}.auth-error[data-v-892e3827]{color:#ff8f8f;text-align:center;margin:0;font-size:13px}:root{--bg-primary:#0a0a0f;--bg-gradient-start:#1a1a2e;--bg-gradient-end:#000;--glass-bg:#ffffff08;--glass-bg-hover:#ffffff0d;--glass-border:#ffffff14;--glass-border-hover:#ffffff26;--glass-highlight:#ffffff1f;--text-primary:#fff;--text-secondary:#fff9;--text-muted:#fff6;--accent-income:#10b981;--accent-expense:#ef4444;--accent-primary:#8b5cf6;--accent-secondary:#06b6d4;--glow-violet:0 0 30px #8b5cf666}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}body{background:radial-gradient(ellipse at 30% 20%, var(--bg-gradient-start) 0%, var(--bg-primary) 50%, var(--bg-gradient-end) 100%);background-attachment:fixed;min-height:100vh}#app{width:100%;max-width:400px;min-height:500px;margin:0 auto;position:relative;overflow-x:hidden}#app[data-app-mode=desktop]{max-width:none;min-height:100vh;margin:0}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:16px}.glass:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.glass-highlight{-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-highlight);background:linear-gradient(135deg,#ffffff14 0%,#ffffff05 100%);border-radius:16px}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:9999px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-slide-up{animation:.3s ease-out forwards slideUp}.animate-fade-in{animation:.3s ease-out forwards fadeIn}.page-enter-active,.page-leave-active{transition:all .3s ease-out}.page-enter-from{opacity:0;transform:translate(20px)}.page-leave-to{opacity:0;transform:translate(-20px)}.balance-card{margin:0 16px 16px;padding:20px}.balance-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.balance-label{text-transform:uppercase;letter-spacing:.02em;color:#ffffff80;font-size:12px;font-weight:500}.balance-icon{color:#8b5cf6;background:#8b5cf633;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.balance-amount{letter-spacing:-.02em;color:#fff;margin-bottom:20px;font-size:32px;font-weight:700}.balance-stats{align-items:center;gap:16px;display:flex}.stat-item{flex:1;align-items:center;gap:10px;display:flex}.stat-icon{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.stat-icon.income{color:#10b981;background:#10b98133}.stat-icon.expense{color:#ef4444;background:#ef444433}.stat-info{flex-direction:column;gap:2px;display:flex}.stat-label{color:#fff6;font-size:11px}.stat-value{font-size:13px;font-weight:600}.stat-value.income{color:#10b981}.stat-value.expense{color:#ef4444}.stat-divider{background:#ffffff14;width:1px;height:32px}.filter-bar{scrollbar-width:none;-ms-overflow-style:none;gap:8px;margin-bottom:12px;padding:0 16px;display:flex;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.filter-btn{color:#fff9;cursor:pointer;white-space:nowrap;background:#ffffff08;border:1px solid #ffffff14;border-radius:9999px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s ease-out}.filter-btn:hover{background:#ffffff0d;border-color:#ffffff26}.filter-btn.active{color:#8b5cf6;background:#8b5cf633;border-color:#8b5cf680}.filter-btn.inactive{opacity:.35}.transactions-toolbar{justify-content:flex-end;margin-bottom:8px;padding:0 16px;display:flex}.filter-icon-btn{color:#fff9;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s ease-out;display:flex;position:relative}.filter-icon-btn:hover{color:#fff;background:#ffffff0d}.filter-badge{border:1.5px solid var(--bg-primary);background:#8b5cf6;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:7px}.filter-popup-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.filter-popup-actions{align-items:center;gap:8px;display:flex}.filter-reset-btn{color:#8b5cf6;cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:13px;font-weight:500;transition:opacity .2s ease-out}.filter-reset-btn:hover{opacity:.75}.filter-section{flex-direction:column;gap:10px;display:flex}.filter-section-title{text-transform:uppercase;letter-spacing:.06em;color:#fff6;font-size:11px;font-weight:500}.filter-tags{flex-wrap:wrap;gap:8px;display:flex}.transaction-card-wrapper{border-radius:12px;margin-bottom:8px;position:relative;overflow:hidden}.transaction-card-delete-bg{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:12px;justify-content:flex-end;align-items:center;padding-right:20px;transition:opacity 50ms linear;display:flex;position:absolute;inset:0}.transaction-card-delete-bg .icon{transform-origin:50%}.transaction-card{cursor:pointer;will-change:transform;z-index:1;align-items:center;gap:12px;padding:12px 16px;display:flex;position:relative}.transaction-card-wrapper .transaction-card{-webkit-backdrop-filter:none;background:#272737}.transaction-card-wrapper .transaction-card:hover{background:#1e1c36f7;border-color:#ffffff26}.transaction-card:hover{background:#ffffff0d;border-color:#ffffff26}.icon-wrapper{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.transaction-info{flex:1;min-width:0}.transaction-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.transaction-date{color:#ffffff80;margin-top:2px;font-size:12px}.transaction-category-sub{color:#fff6}.transaction-amount{white-space:nowrap;font-size:15px;font-weight:600}.transaction-amount.income{color:#10b981}.transaction-amount.expense{color:#ef4444}.bottom-nav{z-index:100;width:100%;max-width:400px;height:64px;padding-bottom:env(safe-area-inset-bottom,0);border-top:1px solid #ffffff14;border-radius:20px 20px 0 0;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.app--telegram .bottom-nav{-webkit-backdrop-filter:blur(16px);background:#141524f0}.nav-item{color:#fff6;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:8px 24px;transition:all .2s ease-out;display:flex}.nav-item:hover{color:#ffffffb3}.nav-item.active{color:#8b5cf6}.nav-label{font-size:11px;font-weight:500}.fab{color:#fff;cursor:pointer;z-index:100;background:linear-gradient(135deg,#8b5cf6,#06b6d4);border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:all .2s ease-out;display:flex;position:fixed;bottom:84px;right:20px;box-shadow:0 0 30px #8b5cf666}.fab:hover{transform:scale(1.05);box-shadow:0 0 40px #8b5cf699}.fab:active{transform:scale(.95)}.page-header{padding:16px;padding-top:max(16px, env(safe-area-inset-top,16px));justify-content:space-between;align-items:center;display:flex}.page-title{letter-spacing:-.02em;color:#fff;font-size:24px;font-weight:600}.header-btn{color:#fff9;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s ease-out;display:flex}.header-btn:hover{color:#fff;background:#ffffff0d}.transactions-view{padding-bottom:100px}.transactions-content{padding:0 16px}.group-header{text-transform:uppercase;letter-spacing:.02em;color:#fff6;margin-bottom:10px;padding-left:4px;font-size:12px;font-weight:500}.group-items{flex-direction:column;gap:8px;display:flex}.stagger-item{opacity:0;animation:.3s ease-out forwards slideUp}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.empty-state-icon{color:#ffffff26;margin-bottom:16px}.empty-state-title{color:#fff;margin-bottom:8px;font-size:16px;font-weight:500}.empty-state-text{color:#fff6;max-width:240px;font-size:14px;line-height:1.5}.initial-loader{justify-content:center;align-items:center;padding:80px 0;display:flex}.load-more-loader{justify-content:center;padding:24px 0 8px;display:flex}.loader,.loader:before,.loader:after{border-radius:50%;width:2.5em;height:2.5em;animation:1.8s ease-in-out infinite bblFadInOut}.loader{color:#fff;text-indent:-9999em;font-size:3.5px;animation-delay:-.16s;position:relative;transform:translateZ(0)}.loader:before,.loader:after{content:"";position:absolute;top:0}.loader:before{animation-delay:-.32s;left:-3.5em}.loader:after{left:3.5em}@keyframes bblFadInOut{0%,80%,to{box-shadow:0 2.5em 0 -1.3em}40%{box-shadow:0 2.5em}}.reports-view{padding-bottom:100px}.period-selector{align-items:center;display:flex}.period-btn{color:#ffffffb3;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;transition:all .2s ease-out;display:flex}.period-btn:hover{background:#ffffff0d;border-color:#ffffff26}.period-btn .icon{transition:transform .2s ease-out}.period-dropdown-overlay{z-index:99;position:fixed;inset:0}.period-dropdown{z-index:100;background:#1a1a2e;border:1px solid #ffffff1a;border-radius:12px;min-width:180px;animation:.15s ease-out dropdownOpen;position:fixed;top:60px;right:16px;overflow:hidden;box-shadow:0 8px 32px #00000080}@keyframes dropdownOpen{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.period-dropdown-item{color:#ffffffbf;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:12px 16px;font-size:14px;font-weight:400;transition:background .15s ease-out,color .15s ease-out;display:block}.period-dropdown-item:not(:last-child){border-bottom:1px solid #ffffff0d}.period-dropdown-item:hover{color:#fff;background:#ffffff0d}.period-dropdown-item.active{color:#fff;background:#ffffff12;font-weight:600}.transaction-context-menu-overlay{z-index:199;position:fixed;inset:0}.transaction-context-menu{z-index:200;background:#14141f;border:1px solid #ffffff1f;border-radius:12px;min-width:168px;animation:.15s ease-out dropdownOpen;position:fixed;overflow:hidden;box-shadow:0 8px 32px #0000008c}.transaction-context-menu-item{color:#ffffffd9;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:12px 16px;font-size:14px;font-weight:500;transition:background .15s ease-out,color .15s ease-out;display:block}.transaction-context-menu-item--danger{color:#ff8f8f}.transaction-context-menu-item--danger:hover{color:#ffb4b4;background:#ff50501f}.chart-section{justify-content:center;padding:24px 16px;display:flex}.donut-chart{justify-content:center;align-items:center;display:flex;position:relative}.chart-segment{transform-origin:50%;animation:.8s ease-out forwards drawSegment;transform:rotate(-90deg)}@keyframes drawSegment{0%{stroke-dasharray:0 283}}.chart-center{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.center-label{text-transform:uppercase;letter-spacing:.02em;color:#fff6;margin-bottom:4px;font-size:11px;font-weight:500}.center-value{color:#fff;font-size:20px;font-weight:700}.report-tabs{gap:8px;margin-bottom:24px;padding:0 16px;display:flex}.tab-btn{color:#ffffff80;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;flex:1;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s ease-out}.tab-btn:hover{background:#ffffff0d}.tab-btn.active{color:#8b5cf6;background:#8b5cf626;border-color:#8b5cf666}.categories-section{padding:0 16px}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-title{color:#fff;font-size:16px;font-weight:600}.section-total{color:#8b5cf6;font-size:14px;font-weight:600}.category-list{flex-direction:column;gap:16px;display:flex}.category-item{opacity:0;animation:.3s ease-out forwards slideUp}.category-item--clickable{cursor:pointer;transition:opacity .15s ease-out}.category-item--clickable:active{opacity:.7}.category-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.category-info{align-items:center;gap:10px;display:flex}.category-icon{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.category-name{color:#fff;font-size:14px;font-weight:500}.category-values{align-items:center;gap:10px;display:flex}.category-amount{color:#fff;font-size:14px;font-weight:600}.category-percentage{color:#fff6;text-align:right;min-width:36px;font-size:12px;font-weight:500}.progress-bar{background:#ffffff0d;border-radius:9999px;height:6px;overflow:hidden}.progress-bar-fill{border-radius:9999px;height:100%;transition:width .5s ease-out}.ptr-indicator{color:#8b5cf6e6;justify-content:center;align-items:center;transition:height .2s ease-out,opacity .2s ease-out;display:flex;overflow:hidden}.ptr-spinner{justify-content:center;align-items:center;transition:transform .1s linear;display:flex}.ptr-spinner.spinning{animation:.8s linear infinite ptrSpin}@keyframes ptrSpin{to{transform:rotate(360deg)}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b8;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}body[data-app-mode=desktop] .modal-overlay{justify-content:flex-start;align-items:flex-start;padding:16px}.modal-content{width:100%;max-width:100%;height:100dvh;max-height:100dvh;padding:20px 20px env(safe-area-inset-bottom,20px);border-radius:0;flex-direction:column;display:flex;overflow-y:auto}body[data-app-mode=desktop] .modal-content{width:var(--desktop-column-width,clamp(380px, 33.333vw, 520px));max-width:var(--desktop-column-width,clamp(380px, 33.333vw, 520px));-webkit-backdrop-filter:blur(28px);background:#141524e6;border-radius:18px;height:calc(100vh - 32px);max-height:calc(100vh - 32px)}body[data-app-mode=telegram] .modal-content{-webkit-backdrop-filter:blur(28px);background:#141524e6}.modal-content--compact{height:auto;max-height:80dvh;padding:20px 20px calc(env(safe-area-inset-bottom,0px) + 20px);border-radius:20px 20px 0 0}body[data-app-mode=desktop] .modal-content--compact{border-radius:18px;height:auto;max-height:calc(100vh - 32px)}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-title{color:#fff;font-size:18px;font-weight:600}.modal-close{color:#fff9;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s ease-out;display:flex}.modal-close:hover{color:#fff;background:#ffffff1a}.modal-body{flex-direction:column;flex:1;gap:20px;display:flex}.type-toggle{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;gap:8px;padding:4px;display:flex}.type-btn{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s ease-out}.type-btn.active{color:#8b5cf6;background:#8b5cf633}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{text-transform:uppercase;letter-spacing:.02em;color:#fff6;font-size:12px;font-weight:500}.form-input{color:#fff;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;outline:none;padding:12px 16px;font-size:15px;transition:all .2s ease-out}.form-input:focus{background:#ffffff0d;border-color:#8b5cf680}.form-input::placeholder{color:#ffffff4d}.amount-input-wrapper{align-items:center;display:flex;position:relative}.amount-input{width:100%;padding-right:40px;font-size:24px;font-weight:600}.currency{color:#fff6;font-size:18px;font-weight:500;position:absolute;right:16px}.category-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.category-option{cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;transition:all .2s ease-out;display:flex}.category-option:hover{background:#ffffff0d}.category-option.active{background:var(--cat-bg);border-color:var(--cat-color)}.cat-icon{background:var(--cat-bg);width:32px;height:32px;color:var(--cat-color);border-radius:10px;justify-content:center;align-items:center;display:flex}.cat-name{color:#ffffffb3;font-size:11px}.modal-footer{gap:12px;margin-top:auto;padding-top:24px;padding-bottom:24px;display:flex}.btn{cursor:pointer;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s ease-out;display:flex}.btn-secondary{color:#ffffffb3;background:#ffffff0d;border:1px solid #ffffff1a}.btn-secondary:hover{background:#ffffff14}.btn-primary{color:#fff;background:linear-gradient(135deg,#8b5cf6,#06b6d4);box-shadow:0 0 20px #8b5cf64d}.btn-primary:hover{box-shadow:0 0 30px #8b5cf680}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 0 20px #ef44444d}.btn-danger:hover{box-shadow:0 0 30px #ef444480}.modal-enter-active,.modal-leave-active{transition:all .3s ease-out}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-content,.modal-leave-to .modal-content{transform:translateY(100%)}.modal-enter-active .modal-content,.modal-leave-active .modal-content{transition:transform .3s ease-out}.app{min-height:100vh;position:relative}.app-shell{width:100%}.app--desktop .app-shell{--desktop-column-width:clamp(380px, 33.333vw, 520px);grid-template-columns:var(--desktop-column-width) minmax(0, 1fr);align-items:flex-start;gap:20px;width:calc(100vw - 32px);margin:0;padding:16px;display:grid}.app-content{width:100%;min-width:0}.desktop-empty-space{height:calc(100vh - 32px);min-height:calc(100vh - 32px);top:16px;right:16px;left:calc(16px + var(--desktop-column-width) + 20px);pointer-events:none;background:#ffffff03;border:1px dashed #ffffff14;border-radius:18px;position:fixed}.desktop-nav-item{color:#ffffffb3;cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;transition:all .2s ease-out;display:inline-flex}.desktop-top-nav{border-radius:14px;align-items:center;gap:10px;width:100%;margin-top:0;margin-bottom:12px;padding:10px;display:flex}.page-header-left{flex-direction:column;min-width:0;display:flex}.desktop-nav-item:hover{color:#fff;background:#ffffff0f;border-color:#fff3}.desktop-nav-item.active{color:#8b5cf6;background:#8b5cf624;border-color:#8b5cf673}.app--desktop .page-header{align-items:flex-start;padding-top:4px}.app--desktop .main-content,.app--desktop .transactions-view,.app--desktop .reports-view{padding-bottom:24px}.app--desktop .fab{left:calc(16px + var(--desktop-column-width,clamp(380px, 33.333vw, 520px)) - 76px);bottom:24px;right:auto}@media (width<=1024px){.app--desktop .app-shell{grid-template-columns:1fr}.desktop-empty-space{display:none}}.period-selector-global{justify-content:flex-end;padding:8px 16px 0;display:flex}.main-content{padding-bottom:80px}.error-toast{z-index:2000;-webkit-backdrop-filter:blur(20px);background:linear-gradient(135deg,#ef44442e 0%,#dc26261f 100%);border:1px solid #ef444466;border-radius:14px;width:calc(100% - 32px);max-width:368px;padding:14px 16px 0;position:fixed;top:16px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 24px #0006}.error-toast-body{padding-bottom:12px}.error-toast-title{color:#fca5a5;margin-bottom:2px;font-size:14px;font-weight:600}.error-toast-sub{color:#ffffff80;font-size:12px}.error-toast-progress{background:#ef4444;border-radius:0 0 2px 2px;height:3px;margin:0 -16px;transition:width 1s linear}.toast-enter-active,.toast-leave-active{transition:all .3s ease-out}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%)translateY(-12px)}.category-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.recent-chips{margin-top:6px}.category-chip{color:#ffffffbf;cursor:pointer;white-space:nowrap;background:#ffffff14;border:1px solid #fff3;border-radius:20px;padding:4px 12px;font-size:13px;transition:all .15s}.category-chip:hover{color:#fff;background:#ffffff26;border-color:#ffffff59}.category-chip.active{color:#63b3ed;background:#63b3ed40;border-color:#63b3ed99}.category-combo{position:relative}.category-combo-input{align-items:center;width:100%;display:flex;position:relative}.category-combo-field{flex:1;width:100%;padding-right:40px!important}.category-combo-arrow{cursor:pointer;color:#ffffff80;background:0 0;border:none;align-items:center;padding:4px;transition:color .15s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.category-combo-arrow:hover{color:#ffffffe6}.category-combo-arrow svg{transition:transform .2s}.category-new-hint{color:#63b3edd9;align-items:center;gap:4px;margin-top:6px;padding:0 2px;font-size:12px;display:flex}.category-dropdown{border:1px solid var(--glass-border-hover);z-index:100;background:#16162e;border-radius:12px;max-height:260px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden auto;box-shadow:0 8px 32px #00000080}.category-dropdown-label{text-transform:uppercase;letter-spacing:.6px;color:#ffffff59;padding:8px 14px 4px;font-size:10px;font-weight:600}.category-dropdown-item{text-align:left;color:#ffffffd9;cursor:pointer;background:0 0;border:none;width:100%;padding:10px 14px;font-size:14px;transition:background .12s;display:block}.category-dropdown-item:hover{background:#ffffff12}.category-dropdown-item.active{color:#63b3ed;background:#63b3ed26}.category-dropdown-empty{text-align:center;color:#ffffff59;padding:14px;font-size:13px}
