.cashflow-app{--font-primary:var(--font-manrope), "Manrope", system-ui, sans-serif;--font-display:var(--font-outfit), "Outfit", system-ui, sans-serif;--font-mono:var(--font-mono), "IBM Plex Mono", ui-monospace, monospace;--primary-black:#0a0a0a;--secondary-black:#111;--tertiary-black:#1a1a1a;--primary-white:#ededed;--secondary-white:#ededed;--tertiary-white:#a1a1aa;--border-light:#ffffff1a;--border-medium:#ffffff29;--text-primary:#ededed;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--accent-blue:#8b5cf6;--accent-brand:#6366f1;--accent-purple:#8b5cf6;--accent-green:#22c55e;--accent-red:#ef4444;--accent-orange:#f59e0b;--accent-pink:#ec4899;--gradient-primary:linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #4f46e5 100%);--gradient-secondary:linear-gradient(135deg, #4f46e5 0%, #8b5cf6 100%);--gradient-success:linear-gradient(135deg, #16a34a 0%, #22c55e 100%);--gradient-warning:linear-gradient(135deg, #d97706 0%, #f59e0b 100%);--gradient-danger:linear-gradient(135deg, #dc2626 0%, #ef4444 100%);--gradient-dark:linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 50%, #0a0a0a 100%);--shadow-light:0 1px 2px #00000073;--shadow-medium:0 8px 24px #0006;--shadow-heavy:0 16px 40px #00000080;--shadow-glow:0 0 0 1px #6366f159;--shadow-glow-green:0 0 0 1px #22c55e4d;--shadow-glow-red:0 0 0 1px #ef44444d;--radius-small:6px;--radius-medium:10px;--radius-large:12px;--radius-xl:14px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:20px;--spacing-xxl:28px;--control-height:2.4rem;--control-height-sm:2.15rem;--page-pad:clamp(.9rem, 2vw, 1.25rem);--shell-gap:.65rem;--sidebar-width:232px;--surface-glass:#1a1a1ae0;--surface-card:#1a1a1aeb;--bg:#0a0a0a;--bg-elevated:#111;--bg-soft:#1a1a1a;--border:#27272a;--text:#ededed;--muted:#a1a1aa;--accent:#6366f1;--accent-dim:#4f46e5;--danger:#ef4444;--warn:#f59e0b;--color-bg:var(--bg);--color-bg-elevated:var(--bg-elevated);--color-bg-soft:var(--bg-soft);--color-border:var(--border);--color-text:var(--text);--color-muted:var(--muted);--color-accent:var(--accent);--color-accent-dim:var(--accent-dim);--color-danger:var(--danger);--color-warn:var(--warn);font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);filter:none;letter-spacing:-.01em;background:#0a0a0a;height:100vh;min-height:100vh;font-size:14px;line-height:1.45;overflow:hidden}.cashflow-app,.cashflow-app *{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#6366f159 transparent}.cashflow-app ::-webkit-scrollbar{width:6px;height:6px}.cashflow-app ::-webkit-scrollbar-track{background:0 0}.cashflow-app ::-webkit-scrollbar-thumb{background:#6366f159;border-radius:999px}.cashflow-app ::-webkit-scrollbar-thumb:hover{background:#6366f18c}.theme-toggle{background:var(--surface-card);border:1px solid var(--border-light);border-radius:var(--radius-medium);padding:var(--spacing-sm);cursor:pointer;justify-content:center;align-items:center;min-width:36px;min-height:36px;transition:background .18s,border-color .18s;display:flex}.theme-toggle:hover{background:#1a1a1a;border-color:#6366f159}.theme-toggle:active{transform:none}.theme-toggle-icon{color:var(--text-primary);display:flex}.theme-toggle:hover .theme-toggle-icon{color:var(--accent-brand)}.theme-toggle:hover svg{filter:none}.cashflow-app button:not(.nav-item),.cashflow-app a.nav-item{text-decoration:none}.cashflow-app button:not(.nav-item){-webkit-backdrop-filter:none;border-radius:var(--radius-medium);letter-spacing:0;box-shadow:none;min-height:var(--control-height-sm);min-width:0;font-size:.8125rem;font-weight:560;line-height:1.25;transition:background .18s,border-color .18s,color .18s,box-shadow .18s;position:relative;overflow:hidden;text-transform:none!important}.cashflow-app button:not(.nav-item):not(.toggle-switch):before{content:none!important;display:none!important}.cashflow-app button:not(.nav-item):hover,.cashflow-app button:not(.nav-item):active{transform:none!important}.submit-button{background:var(--gradient-primary);color:#fff;border-radius:var(--radius-medium);cursor:pointer;width:100%;margin-top:var(--spacing-md);text-transform:none;letter-spacing:0;text-shadow:none;border:1px solid #6366f159;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;box-shadow:0 6px 18px #6366f12e}.submit-button:hover{filter:brightness(1.06);box-shadow:0 8px 22px #6366f13d}.add-button{color:#fff;border-radius:var(--radius-medium);text-transform:none;letter-spacing:0;white-space:nowrap;background:linear-gradient(135deg,#6366f1f2,#8b5cf6e6);border:1px solid #6366f159;padding:.4rem .8rem;font-size:.8125rem;font-weight:600;box-shadow:0 4px 14px #6366f129}.add-button:hover{filter:brightness(1.06)}.update-button{color:#fff;border-radius:var(--radius-medium);text-transform:none;letter-spacing:0;white-space:nowrap;background:linear-gradient(135deg,#16a34af2,#22c55ee0);border:1px solid #22c55e59;padding:.4rem .8rem;font-size:.8125rem;font-weight:600;box-shadow:0 4px 14px #16a34a2e}.update-button:hover{filter:brightness(1.05)}.delete-button{color:#fff;border-radius:var(--radius-medium);text-transform:none;letter-spacing:0;white-space:nowrap;background:linear-gradient(135deg,#dc2626eb,#ef4444e0);border:1px solid #ef444459;padding:.4rem .8rem;font-size:.8125rem;font-weight:600;box-shadow:0 4px 14px #dc262629}.delete-button:hover{filter:brightness(1.05)}.app{background:#0a0a0a;flex-direction:column;height:100%;min-height:100%;display:flex;position:relative;overflow:hidden}.app:before{content:"";pointer-events:none;z-index:-1;background:#0a0a0a;position:absolute;inset:0}.app-header{padding:.65rem var(--page-pad);z-index:200;-webkit-backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:var(--spacing-sm);border-bottom:1px solid var(--border-light);background:#0a0a0aeb;flex-shrink:0;display:none;position:relative}.app-header h1,.app-header .mobile-brand{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.03em;flex:1;min-width:0;margin:0;font-size:1.05rem;font-weight:620}.mobile-brand-row{flex:1;align-items:center;gap:.55rem;min-width:0;display:flex}.mobile-brand-logo{flex-shrink:0}.header-controls{align-items:center;gap:var(--spacing-sm);display:flex}.logout-button{display:none}.app-layout{width:100%;min-height:0;padding:var(--shell-gap);gap:var(--shell-gap);box-sizing:border-box;background:#0a0a0a;flex:1;display:flex;position:relative;overflow:hidden}.app-content{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(10px);background:#1a1a1a8c;border:1px solid #ffffff1a;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.app-error-banner{margin:var(--spacing-sm) var(--page-pad) 0;flex-shrink:0}.sidebar-shell,.sidebar-navigation{width:var(--sidebar-width);min-width:var(--sidebar-width);max-width:var(--sidebar-width);box-sizing:border-box;z-index:100;background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-xl);height:100%;box-shadow:none;border:1px solid #6366f138;flex-direction:column;flex-shrink:0;padding:0;display:flex;position:relative;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border-light);background:0 0;flex-shrink:0;align-items:center;padding:.95rem 1rem .85rem;display:flex}.sidebar-logo{flex-direction:column;align-items:flex-start;gap:0;width:100%;min-width:0;display:flex}.sidebar-logo>span{align-items:center;width:100%}.sidebar-logo h1,.sidebar-logo .sidebar-brand-name{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.03em;margin:0;font-size:1.1rem;font-weight:650;line-height:1.15;display:block}.sidebar-tagline{color:var(--text-secondary);letter-spacing:.01em;margin:0;padding:0;font-size:.68rem;font-weight:500;line-height:1.2;display:block}.sidebar-logo h2{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:600}.sidebar-footer{border-top:1px solid var(--border-light);flex-shrink:0;margin-top:auto;padding:.55rem .5rem .7rem}.nav-item-logout{color:#ef4444f2!important;background:#ef444414!important}.nav-item-logout:hover{color:#ef4444!important;background:#ef444424!important;transform:none!important}.nav-item-logout.active{color:#ef4444!important;background:#ef444424!important}.mobile-menu-overlay{display:none}.nav-items{flex-direction:column;flex:1;gap:.2rem;min-height:0;padding:.55rem .5rem;display:flex;overflow-y:auto}.nav-item{min-height:2.55rem;color:var(--text-secondary);cursor:pointer;text-align:left;-webkit-backdrop-filter:none;background:0 0;border:1px solid #0000;border-radius:.7rem;align-items:center;gap:.65rem;width:100%;padding:.55rem .75rem;font-size:.8125rem;font-weight:520;text-decoration:none;transition:background .16s,color .16s,border-color .16s;display:flex;position:relative;overflow:hidden;box-shadow:none!important}.nav-item:before{content:"";background:var(--accent-brand);border-radius:2px;width:2px;transition:transform .16s;position:absolute;top:22%;bottom:22%;left:0;transform:scaleY(0)}.nav-item:after{content:none!important;display:none!important}.nav-item:hover{color:var(--text-primary);box-shadow:none;background:#6366f114;border-color:#6366f12e;transform:none}.nav-item:hover:before{transform:scaleY(1)}.nav-item.active{color:var(--text-primary);box-shadow:none;background:#6366f11f;border-color:#6366f147;transform:none}.nav-item.active:before{background:var(--accent-brand);transform:scaleY(1)}.nav-item-primary{box-shadow:none!important;color:var(--text-primary)!important;background:#6366f11a!important;border:1px solid #6366f13d!important;font-weight:600!important}.nav-item-primary:after{display:none!important}.nav-item-primary:hover{box-shadow:none!important;background:#6366f129!important;border-color:#6366f15c!important;transform:none!important}.nav-item-primary.active{box-shadow:none!important;color:#fff!important;background:linear-gradient(135deg,#6366f147,#3b82f633)!important;border-color:#6366f16b!important;transform:none!important}.nav-item-primary.active:before{background:#6366f1!important}.nav-icon{width:18px;height:18px;color:inherit;opacity:.9;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-icon svg{width:100%;height:100%;transition:opacity .16s}.nav-text{letter-spacing:-.01em;font-weight:520}.sidebar-navigation::-webkit-scrollbar{width:4px}.sidebar-navigation::-webkit-scrollbar-track{background:0 0}.sidebar-navigation::-webkit-scrollbar-thumb{background:#6366f14d;border-radius:2px}.app-main{padding:var(--page-pad);box-sizing:border-box;width:100%;min-width:0;box-shadow:none;scroll-behavior:smooth;z-index:1;background:0 0;border:none;border-radius:0;flex:1;min-height:0;margin:0;position:relative;overflow:hidden auto}.settings-page{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.settings-page-header{margin-bottom:var(--spacing-lg);flex-shrink:0}.settings-page-header h2{margin:0 0 var(--spacing-xs) 0;color:var(--text-primary);letter-spacing:-.5px;font-size:28px;font-weight:700}.settings-page-subtitle{color:var(--text-secondary);margin:0;font-size:14px}.settings-tabs{gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light);flex-shrink:0;display:flex}.settings-tab{padding:var(--spacing-md) var(--spacing-lg);color:var(--text-secondary);border-radius:var(--radius-medium);cursor:pointer;background:0 0;border:1px solid #0000;font-size:14px;font-weight:600;transition:all .2s}.settings-tab:hover{color:var(--text-primary);background:#3b82f61a;border-color:#3b82f633}.settings-tab.active{color:var(--primary-white);background:var(--gradient-primary);box-shadow:var(--shadow-glow);border-color:#3b82f680}.settings-tab-panels{flex:1;min-height:0;overflow:hidden auto}.transaction-form{max-width:none;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;margin:0;padding:0;position:relative;overflow:visible}.form-group label{margin-bottom:var(--spacing-sm);color:var(--text-primary);letter-spacing:.3px;font-size:15px;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-medium);color:var(--text-primary);-webkit-backdrop-filter:blur(10px);background:#111c;font-family:inherit;font-size:16px;transition:all .3s}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--accent-blue);background:#3b82f61a;box-shadow:0 0 0 1px #3b82f633}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-blue);box-shadow:var(--shadow-glow);background:#3b82f61a;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#cbd5e1;opacity:1}.submit-button{background:var(--gradient-primary);color:#fff;width:100%;padding:var(--spacing-lg);border-radius:var(--radius-medium);cursor:pointer;margin-top:var(--spacing-md);box-shadow:var(--shadow-medium);letter-spacing:0;text-transform:none;text-shadow:0 1px 2px #0000004d;border:none;font-size:16px;font-weight:700;transition:all .3s}.submit-button:hover{box-shadow:var(--shadow-glow);background:linear-gradient(135deg,#5a67d8 0%,#667eea 100%);background:var(--secondary-black);box-shadow:var(--shadow-medium);transform:translateY(-1px)}.submit-button:active{transform:translateY(0)}.income-tab,.expenses-tab,.overview-tab{background:0 0;padding:0}.income-tab h2,.expenses-tab h2,.overview-tab h2{margin:0 0 var(--spacing-xl) 0;color:#fff;text-align:left;letter-spacing:-.5px;text-shadow:0 0 20px #ffffff4d;padding:var(--spacing-xl) var(--spacing-lg) 0;font-size:32px;font-weight:800}.filters-section{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl);border-radius:var(--radius-xl);border:1px solid var(--border-light);box-shadow:var(--shadow-medium);-webkit-backdrop-filter:none;background:#141414cc;flex-wrap:wrap;align-items:center;display:flex;position:relative;overflow:hidden}.filters-section .filter-actions{gap:var(--spacing-md);align-items:center;margin-left:auto;display:flex}.filters-section:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#3b82f60d 0%,#6366f10d 100%);position:absolute;inset:0}.filter-group{gap:var(--spacing-xs);flex-direction:column;min-width:120px;display:flex}.income-tab .filter-group,.expenses-tab .filter-group,.overview-tab .filter-group{align-items:center;gap:var(--spacing-sm);flex-direction:row;min-width:auto}@media (max-width:768px){.income-tab .filter-group,.expenses-tab .filter-group,.overview-tab .filter-group{align-items:stretch;gap:var(--spacing-sm);flex-direction:column}.filter-group label{margin-bottom:var(--spacing-xs);font-size:14px}.filter-group select,.filter-group input{width:100%;min-width:auto}.filters-container{gap:var(--spacing-md)}}@media (max-width:480px){.filters-container{gap:var(--spacing-sm);flex-direction:column}.filter-group{min-width:auto}}.filter-group label{color:var(--text-secondary);white-space:nowrap;text-transform:none;letter-spacing:0;opacity:.8;font-size:12px;font-weight:600}.filter-group select{border:1px solid var(--border-light);border-radius:var(--radius-medium);color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(10px);box-sizing:border-box;background:#111c;height:32px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .3s}.filter-group select:hover{border-color:var(--accent-blue);background:#3b82f61a;box-shadow:0 0 0 1px #3b82f633}.filter-group select:focus{border-color:var(--accent-blue);box-shadow:var(--shadow-glow);background:#3b82f61a;outline:none}.total-section{text-align:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-xl);background:var(--primary-black);color:var(--primary-white);border-radius:var(--radius-large);box-shadow:var(--shadow-medium)}.total-section h3{margin-bottom:var(--spacing-sm);letter-spacing:-.5px;font-size:32px;font-weight:600}.transactions-table tr:hover{background:#3b82f61a}.amount{color:var(--text-primary);font-size:16px;font-weight:600;font-family:var(--font-primary)}.amount.expense{color:var(--text-primary);font-family:var(--font-primary)}.timestamp{color:var(--text-tertiary);white-space:nowrap;font-size:12px}.transactions-table tr.selected{background-color:#3b82f633;box-shadow:0 0 0 1px #3b82f64d}.bulk-actions{align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-md);padding:var(--spacing-sm);border-radius:var(--radius-medium);border-left:3px solid var(--accent-red);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-medium);background:#111c;display:flex}.bulk-actions p{color:var(--text-primary);margin:0;font-size:14px;font-weight:500}.bulk-delete-button{background:var(--accent-red);color:var(--primary-white);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-small);cursor:pointer;border:none;font-size:14px;font-weight:500;transition:all .2s}.bulk-delete-button:disabled{background:var(--border-light);color:var(--text-tertiary);cursor:not-allowed;box-shadow:none;transform:none}.delete-button{color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-small);background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;font-weight:400;transition:all .2s;display:flex}.delete-button:hover{color:var(--accent-red);background:#ef44441a;box-shadow:0 0 0 1px #ef44444d}.no-transactions{text-align:center;color:var(--text-secondary);padding:var(--spacing-xxl);border-radius:var(--radius-xl);border:1px solid var(--border-light);-webkit-backdrop-filter:none;box-shadow:var(--shadow-medium);letter-spacing:.3px;background:#111c;font-style:italic;font-weight:500}.gross-revenue-basis{text-align:center;margin-bottom:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-large);border:1px solid var(--border-light);-webkit-backdrop-filter:blur(10px);background:#14141499}.gross-revenue-basis p{color:var(--text-secondary);letter-spacing:0;text-transform:none;margin:0;font-size:14px;font-weight:600}.summary-section{margin-bottom:var(--spacing-xl)}.summary-cards{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.summary-card{padding:var(--spacing-lg);border-radius:var(--radius-xl);text-align:center;box-shadow:var(--shadow-medium);border:1px solid var(--border-light);-webkit-backdrop-filter:none;background:#141414cc;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.summary-card:before{content:"";pointer-events:none;z-index:-1;content:"";background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);background:var(--border-light);height:3px;transition:all .3s;position:absolute;inset:0}.summary-card:hover{box-shadow:var(--shadow-heavy);border-color:var(--accent-blue);transform:translateY(-8px)scale(1.02)}.summary-card.income:before{background:var(--gradient-success);box-shadow:var(--shadow-glow-green)}.summary-card.expenses:before{background:var(--gradient-danger);box-shadow:var(--shadow-glow-red)}.summary-card.savings:before{background:var(--gradient-primary);box-shadow:var(--shadow-glow)}.summary-card.deficit:before{background:var(--gradient-warning);box-shadow:0 0 0 1px #f59e0b4d}.summary-card.personal:before{background:linear-gradient(90deg,#10b981,#059669);box-shadow:0 0 0 1px #10b9814d}.summary-card.business:before{background:linear-gradient(90deg,#f59e0b,#d97706);box-shadow:0 0 0 1px #f59e0b4d}.summary-card.tax:before{background:linear-gradient(90deg,#ef4444,#dc2626);box-shadow:0 0 0 1px #ef44444d}.summary-card.net:before{background:linear-gradient(90deg,#6366f1,#7c3aed);box-shadow:0 0 0 1px #6366f14d}.summary-card.net-income:before{background:linear-gradient(90deg,#10b981,#059669);box-shadow:0 0 0 1px #10b9814d}.summary-card.revenue:before{background:linear-gradient(90deg,#6366f1,#4f46e5);box-shadow:0 0 0 1px #3b82f64d}.summary-card.tax-collected:before{background:linear-gradient(90deg,#f59e0b,#d97706);box-shadow:0 0 0 1px #f59e0b4d}.summary-card.net-revenue:before{background:linear-gradient(90deg,#6366f1,#7c3aed);box-shadow:0 0 0 1px #6366f14d}.summary-card h3{margin-bottom:var(--spacing-md);color:var(--text-secondary);text-transform:none;letter-spacing:1px;opacity:.9;font-size:14px;font-weight:600}.summary-card .amount{letter-spacing:-1px;color:var(--text-primary);text-shadow:0 0 20px #ffffff4d;font-size:28px;font-weight:800;line-height:1.1}.calculation-explanation{color:var(--text-tertiary);margin-top:var(--spacing-sm);opacity:.8;text-align:center;font-size:12px;font-weight:400;line-height:1.3}.sub-amounts{gap:var(--spacing-xs);margin-top:var(--spacing-sm);flex-direction:column;font-size:.8rem;display:flex}.sub-amounts .tax-amount{color:var(--accent-red);font-weight:500}.sub-amounts .net-amount{color:var(--accent-purple);font-weight:500}.overall-budget-section{margin-bottom:var(--spacing-xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-medium);border:1px solid var(--border-light);-webkit-backdrop-filter:none;background:#141414cc;padding:0;position:relative;overflow:hidden}.overall-budget-section:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#3b82f60d 0%,#6366f10d 100%);position:absolute;inset:0}.overall-budget-section h3{margin:0 0 var(--spacing-lg) 0;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;padding:var(--spacing-xl) var(--spacing-lg) 0;text-shadow:0 0 30px #3b82f680;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800}.budget-description,.breakdown-description{margin:0 0 var(--spacing-lg) 0;color:var(--text-secondary);opacity:.9;letter-spacing:.3px;font-size:15px;font-weight:500}.overall-budget-card{border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-medium);margin:0 0 var(--spacing-xl) 0;-webkit-backdrop-filter:none;background:#111111e6;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.overall-budget-card:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);position:absolute;inset:0}.overall-budget-card:hover{box-shadow:var(--shadow-heavy);border-color:var(--accent-green);transform:translateY(-4px)scale(1.01)}.overall-budget-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;gap:var(--spacing-xl);display:flex}.budget-summary{gap:var(--spacing-sm);flex-direction:column;flex:1;display:flex}.budget-summary-item{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.budget-summary-item:last-child{border-bottom:none}.budget-label{color:var(--text-secondary);font-size:15px;font-weight:500}.budget-value{color:var(--text-primary);font-size:16px;font-weight:600}.budget-value.positive{color:var(--text-primary)}.budget-value.negative{color:var(--accent-red)}.budget-percentage-display{align-items:center;gap:var(--spacing-sm);flex-direction:column;min-width:120px;display:flex}.percentage-circle{border:3px solid var(--border-light);-webkit-backdrop-filter:blur(10px);width:80px;height:80px;box-shadow:var(--shadow-medium);background:#111c;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.percentage-circle.under-budget{border:2px solid var(--accent-green);background:linear-gradient(135deg,#22c55e26 0%,#22c55e0d 100%);position:relative;overflow:hidden;box-shadow:0 4px 20px #22c55e33,0 0 0 1px #22c55e1a,inset 0 1px #22c55e33}.percentage-circle.under-budget:before{content:"";z-index:0;background:conic-gradient(#0000 0deg,#22c55e4d 90deg,#0000 180deg,#22c55e4d 270deg,#0000 360deg);border-radius:50%;animation:4s linear infinite rotate;position:absolute;inset:0}.percentage-circle.under-budget:after{content:"";z-index:1;background:#111111e6;border-radius:50%;position:absolute;inset:2px}.percentage-circle.near-limit{border:2px solid var(--accent-orange);background:linear-gradient(135deg,#f59e0b26 0%,#f59e0b0d 100%);position:relative;overflow:hidden;box-shadow:0 4px 20px #f59e0b33,0 0 0 1px #f59e0b1a,inset 0 1px #f59e0b33}.percentage-circle.near-limit:before{content:"";background:conic-gradient(#0000 0deg,#f59e0b4d 90deg,#0000 180deg,#f59e0b4d 270deg,#0000 360deg);border-radius:50%;animation:3s linear infinite rotate;position:absolute;inset:0}.percentage-circle.near-limit:after{content:"";z-index:1;background:#111111e6;border-radius:50%;position:absolute;inset:2px}.percentage-circle.over-budget{border-color:var(--accent-red)}.percentage-text{color:var(--text-primary);z-index:2;font-size:18px;font-weight:700;position:relative}.percentage-circle.under-budget .percentage-text{color:var(--accent-green);text-shadow:0 0 8px #22c55e66;font-weight:800}.percentage-circle.near-limit .percentage-text{color:var(--accent-orange);text-shadow:0 0 8px #f59e0b66;font-weight:800}.budget-status-text{color:var(--text-secondary);text-align:center;font-size:14px;font-weight:600}.overall-progress-section{margin-top:var(--spacing-lg)}.overall-progress-section .progress-bar{border-radius:var(--radius-medium);height:16px;margin-bottom:var(--spacing-sm);border:1px solid var(--border-light);-webkit-backdrop-filter:blur(10px);background:#111c;overflow:hidden}.overall-progress-section .progress-fill{border-radius:var(--radius-medium);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.overall-progress-section .progress-fill:before{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff4d 50%,#0000 100%);animation:2s infinite shimmer;position:absolute;inset:0}.progress-labels{color:var(--text-secondary);letter-spacing:.3px;justify-content:space-between;font-size:13px;font-weight:600;display:flex}.no-budget-message{text-align:center;color:var(--text-secondary);padding:var(--spacing-xl);border-radius:var(--radius-xl);border:1px solid var(--border-light);-webkit-backdrop-filter:none;box-shadow:var(--shadow-medium);letter-spacing:.3px;background:#111c;font-style:italic;font-weight:500}.budget-section{margin-bottom:var(--spacing-xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-medium);border:1px solid var(--border-light);-webkit-backdrop-filter:none;background:#141414cc;padding:0;position:relative;overflow:hidden}.budget-section h3{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;padding:var(--spacing-xl) var(--spacing-lg) 0 var(--spacing-xl);text-shadow:0 0 30px #3b82f680;-webkit-background-clip:text;background-clip:text;margin:0;font-size:24px;font-weight:800}.budget-section .budget-description{color:var(--text-secondary);margin:0 0 var(--spacing-lg) 0;letter-spacing:.3px;opacity:.9;padding:0 0 0 var(--spacing-xl);font-size:15px;font-weight:500}.budget-grid{gap:var(--spacing-lg);padding:0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(350px,1fr));display:grid}.budget-status{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-medium);color:var(--accent-blue);-webkit-backdrop-filter:blur(10px);text-transform:none;letter-spacing:0;background:#3b82f61a;border:1px solid #3b82f64d;font-size:13px;font-weight:700}.budget-details{margin-bottom:var(--spacing-md)}.budget-row{margin-bottom:var(--spacing-sm);color:var(--text-secondary);letter-spacing:.2px;justify-content:space-between;font-size:15px;font-weight:500;display:flex}.budget-progress{align-items:center;gap:var(--spacing-sm);display:flex}.budget-progress-bar{border-radius:var(--radius-medium);border:1px solid var(--border-light);-webkit-backdrop-filter:blur(10px);background:#111c;flex:1;height:12px;position:relative;overflow:hidden}.budget-progress-bar .progress-fill{border-radius:var(--radius-medium);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.budget-progress-bar .progress-fill:before{content:"";background:linear-gradient(90deg,#0000 0%,#fff3 50%,#0000 100%);animation:2s infinite shimmer;position:absolute;inset:0}.budget-progress-bar .progress-fill.under-budget{background:var(--gradient-primary);box-shadow:0 0 0 1px #3b82f680}.budget-progress-bar .progress-fill.near-limit{background:var(--gradient-warning);box-shadow:0 0 0 1px #f59e0b80}.budget-progress-bar .progress-fill.over-budget{background:var(--gradient-danger);box-shadow:0 0 0 1px #ef444480}.progress-bar{border-radius:var(--radius-small);border:1px solid var(--border-light);-webkit-backdrop-filter:blur(10px);background:#111c;flex:1;height:8px;overflow:hidden}.progress-fill{border-radius:var(--radius-small);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.progress-fill:before{content:"";background:linear-gradient(90deg,#0000 0%,#fff3 50%,#0000 100%);animation:2s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-fill.under-budget{background:var(--gradient-primary);box-shadow:0 0 0 1px #3b82f680}.progress-fill.near-limit{background:var(--gradient-warning);box-shadow:0 0 0 1px #f59e0b80}.progress-fill.over-budget{background:var(--gradient-danger);box-shadow:0 0 0 1px #ef444480}.progress-text{min-width:40px;color:var(--text-primary);text-shadow:0 0 10px #ffffff4d;letter-spacing:.3px;font-size:13px;font-weight:700}.no-income-message,.no-expenses-message{text-align:center;color:var(--text-secondary);padding:var(--spacing-xxl);border-radius:var(--radius-xl);border:1px solid var(--border-light);-webkit-backdrop-filter:none;box-shadow:var(--shadow-medium);letter-spacing:.3px;background:#111c;font-style:italic;font-weight:500}.category-breakdown{margin-top:var(--spacing-xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-medium);border:1px solid var(--border-light);-webkit-backdrop-filter:none;background:#141414cc;padding:0;position:relative;overflow:hidden}.breakdown-container h3{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;text-shadow:0 0 30px #3b82f680;-webkit-background-clip:text;background-clip:text;margin:0;padding:0;font-size:24px;font-weight:800}.category-breakdown{margin-bottom:var(--spacing-xl);border-radius:var(--radius-xl);border:1px solid var(--border-light);box-shadow:var(--shadow-medium);-webkit-backdrop-filter:none;background:#141414cc;position:relative;overflow:hidden}.category-breakdown:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#3b82f60d 0%,#6366f10d 100%);position:absolute;inset:0}.breakdown-container{gap:var(--spacing-sm);padding:var(--spacing-xl);flex-direction:column;display:flex}.breakdown-content{gap:var(--spacing-xl);display:flex}.breakdown-list{border-radius:var(--radius-xl);min-width:300px;padding:var(--spacing-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-medium);-webkit-backdrop-filter:none;background:#111c;flex:1;margin:0}.breakdown-graphs{gap:var(--spacing-lg);flex-direction:column;flex:1;min-width:300px;display:flex}.graph-container{border:1px solid var(--border-light);border-radius:var(--radius-medium);padding:var(--spacing-lg);-webkit-backdrop-filter:blur(10px);background:#1119}.graph-container h4{color:var(--text-primary);margin:0 0 var(--spacing-md) 0;text-align:center;font-size:16px;font-weight:600}.pie-chart-container{align-items:center;gap:var(--spacing-lg);display:flex}.pie-chart-svg{flex-shrink:0;width:160px;height:160px}.pie-slice{cursor:pointer;transition:all .2s}.pie-slice:hover{opacity:.8;transform-origin:50%;transform:scale(1.05)}.pie-chart-legend{gap:var(--spacing-xs);max-width:100%;padding:var(--spacing-xs);flex-direction:column;flex:1;display:flex;overflow:visible}.legend-item{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--radius-small);cursor:pointer;min-height:32px;margin:2px 0;font-size:12px;transition:all .2s;display:flex}.legend-item:hover{background-color:var(--background-hover)}.legend-item.highlighted{border:1px solid var(--accent-blue);z-index:1;background-color:#3b82f61a;position:relative;transform:scale(1.02);box-shadow:0 0 0 1px #3b82f64d}.legend-color{border-radius:2px;flex-shrink:0;width:12px;height:12px;margin-top:2px}.legend-label{word-wrap:break-word;word-break:break-word;white-space:normal;overflow-wrap:break-word;flex:1;line-height:1.3}.legend-percentage{color:var(--text-secondary);flex-shrink:0;margin-left:auto;font-weight:600}.bar-chart-container{gap:var(--spacing-sm);height:300px;padding:var(--spacing-md) 0;padding-right:var(--spacing-sm);flex-direction:column;display:flex;overflow-y:auto}.bar-item{min-height:40px;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--border-lighter);align-items:center;gap:var(--spacing-sm);flex-direction:row;display:flex}.bar-item:last-child{border-bottom:none}.bar-label{color:var(--text-secondary);text-align:left;text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:120px;max-width:120px;font-size:12px;font-weight:500;display:flex;overflow:hidden}.bar-container{border-radius:var(--radius-small);height:20px;margin:0 var(--spacing-sm);background:#ffffff1a;flex:1;position:relative;overflow:hidden}.bar-fill{border-radius:var(--radius-small);background:linear-gradient(90deg,#0003,#0000);height:100%;transition:all .3s}.bar-item:hover .bar-fill{opacity:.8;transform-origin:0;transform:scaleX(1.05)}.bar-value{color:var(--text-primary);text-align:right;min-width:80px;font-size:12px;font-weight:600}.bar-chart-all-container{gap:var(--spacing-xs);height:180px}.bar-item-small{min-width:0}.bar-label-small{height:30px;font-size:9px;line-height:1.2}.bar-value-small{margin-top:2px;font-size:9px}.income-summary{border:1px solid var(--border-light);border-radius:var(--radius-medium);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);-webkit-backdrop-filter:blur(10px);background:#111c}.income-summary h3{color:var(--text-primary);margin:0 0 var(--spacing-md) 0;text-align:center;font-size:20px;font-weight:700}.income-breakdown{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.income-item{padding:var(--spacing-sm) 0;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;display:flex}.income-item:last-child{border-bottom:none}.income-label{color:var(--text-secondary);font-weight:500}.income-amount{color:var(--text-primary);font-size:16px;font-weight:600}.income-amount.tax-amount{color:var(--accent-orange)}.income-amount.net-amount{color:var(--accent-green)}.income-breakdown-by-type{gap:var(--spacing-lg);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid #ffffff1a;display:flex}.income-type-section{border-radius:var(--radius-small);padding:var(--spacing-md);background:#14141499;flex:1}.income-type-section h4{color:var(--text-primary);margin:0 0 var(--spacing-sm) 0;text-align:center;font-size:14px;font-weight:600}.income-type-section .income-item{padding:var(--spacing-xs) 0;border-bottom:1px solid #ffffff0d}.income-type-section .income-item:last-child{border-bottom:none}.income-type-section .income-label{font-size:12px}.income-type-section .income-amount{font-size:14px}.transaction-count{color:var(--text-secondary);margin:var(--spacing-sm) 0;text-align:center;font-size:14px}.gross-amount{color:var(--text-primary);font-weight:600}.tax-amount{color:var(--accent-orange);font-weight:500}.tax-percentage{opacity:.8;margin-top:2px;font-size:10px;display:block}.net-amount{color:var(--accent-green);font-weight:600}.sales-tax-rate{margin:var(--spacing-sm) 0;align-items:center;display:flex}.tax-rate-label{align-items:center;gap:var(--spacing-xs);color:var(--text-secondary);font-size:12px;display:flex}.tax-rate-text{white-space:nowrap;font-weight:500}.tax-rate-input{border:1px solid var(--border-light);border-radius:var(--radius-small);width:60px;color:var(--text-primary);text-align:center;-webkit-backdrop-filter:blur(10px);background:#111c;padding:2px 6px;font-size:12px}.tax-rate-suffix{color:var(--text-tertiary);font-size:11px;font-weight:500}.income-tax-toggle{margin:var(--spacing-sm) 0}.form-group:has(+.business-income-indicator){margin-bottom:0}.business-income-indicator:has(+.tax-options-minimal){margin-bottom:var(--spacing-xs)}.tax-toggle-label{align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px;font-weight:500;display:flex}.tax-toggle-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-blue)}.tax-options-minimal{margin-top:var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--border-light);border-radius:var(--radius-small);-webkit-backdrop-filter:blur(10px);background:#1119}.tax-input-minimal{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.tax-input-minimal label{color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:500}.tax-input-small{border:1px solid var(--border-light);border-radius:var(--radius-small);width:60px;color:var(--text-primary);text-align:center;background:#141414cc;outline:none;padding:4px 6px;font-size:13px;transition:border-color .2s}.tax-input-small:focus{border-color:var(--accent-blue)}.tax-symbol{color:var(--text-secondary);font-size:13px;font-weight:500}.tax-default{color:var(--text-tertiary);margin-left:var(--spacing-xs);font-size:11px;font-style:italic}.business-income-indicator{align-items:center;gap:var(--spacing-sm);margin:var(--spacing-xs) 0 var(--spacing-sm) 0;padding:var(--spacing-sm);border-radius:var(--radius-small);-webkit-backdrop-filter:blur(10px);background:#22c55e1a;border:1px solid #22c55e4d;display:flex}.business-badge{background:linear-gradient(135deg, var(--accent-green), #10b981);color:#fff;border-radius:var(--radius-small);text-transform:none;letter-spacing:.025em;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.tax-rate-info{color:var(--text-secondary);font-size:.75rem;font-weight:500}.edit-tax-btn{color:var(--text-secondary);border:1px solid var(--border-light);padding:var(--spacing-sm);border-radius:var(--radius-small);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:32px;height:32px;margin-left:auto;font-family:inherit;font-size:14px;font-weight:400;transition:all .2s;display:flex}.edit-tax-btn:hover{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue);transform:translateY(-1px);box-shadow:0 0 0 1px #3b82f64d}.no-tax-minimal{text-align:center;color:var(--text-secondary);padding:var(--spacing-xs) 0;font-size:12px;font-style:italic}.load-more-container{justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);display:flex}.load-more-btn{background:var(--gradient-primary);color:var(--primary-white);border-radius:var(--radius-medium);padding:var(--spacing-md) var(--spacing-xl);cursor:pointer;box-shadow:var(--shadow-medium);-webkit-backdrop-filter:blur(10px);border:none;border:1px solid var(--border-light);text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;transition:all .3s}.load-more-btn:hover{box-shadow:var(--shadow-heavy);background:var(--gradient-secondary);border-color:var(--accent-blue);transform:translateY(-2px)}.load-more-btn:active{box-shadow:var(--shadow-medium);transform:translateY(0)}.show-all-btn{background:var(--gradient-success);color:var(--primary-white);border-radius:var(--radius-medium);padding:var(--spacing-md) var(--spacing-xl);cursor:pointer;box-shadow:var(--shadow-medium);-webkit-backdrop-filter:blur(10px);border:none;border:1px solid var(--border-light);text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;transition:all .3s}.show-all-btn:hover{box-shadow:var(--shadow-heavy);background:var(--gradient-warning);border-color:var(--accent-green);transform:translateY(-2px)}.show-all-btn:active{box-shadow:var(--shadow-medium);transform:translateY(0)}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(15px);padding:var(--spacing-lg);background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--primary-dark);border:1px solid var(--border-light);border-radius:var(--radius-large);width:500px;max-width:500px;max-height:90vh;box-shadow:none;flex-direction:column;padding:0;animation:.3s ease-out modalSlideIn;display:flex}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header h3{color:var(--text-primary);letter-spacing:-.025em;margin:0;font-size:1.5rem;font-weight:700}.modal-close{color:var(--accent-red);cursor:pointer;border-radius:var(--radius-medium);background:#ef44441a;border:1px solid #ef444433;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:1.25rem;font-weight:600;transition:all .2s;display:flex}.modal-close:hover{border-color:var(--accent-red);background:#ef444433;transform:scale(1.05)}.edit-form{padding:var(--spacing-lg);gap:var(--spacing-lg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.edit-form .form-group{gap:var(--spacing-sm);flex-direction:column;display:flex}.edit-form .form-row{gap:var(--spacing-lg);display:flex}.edit-form .form-row .form-group{flex:1}.edit-form label{color:var(--text-primary);letter-spacing:.3px;margin:0;font-size:14px;font-weight:600}.edit-form input,.edit-form select{width:100%;height:48px;padding:0 var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-medium);box-sizing:border-box;appearance:none;vertical-align:middle;font-family:inherit;font-size:15px;line-height:normal;transition:all .2s;display:block;color:#fff!important;background:#1a1a1a!important}.edit-form input[type=text],.edit-form input[type=number],.edit-form input[type=date]{height:48px;line-height:normal}.edit-form select{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--spacing-md) center;height:48px;padding-right:calc(var(--spacing-md) + 20px);background-size:16px;line-height:normal}.edit-form input[type=date]{-webkit-appearance:none;-moz-appearance:textfield}.edit-form input[type=date]::-webkit-calendar-picker-indicator{color:#fff;cursor:pointer;width:20px;height:20px;margin-right:var(--spacing-sm);background:0 0}.edit-form input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.edit-form input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.edit-form input[type=number]{-moz-appearance:textfield}.edit-form input:focus,.edit-form select:focus{border-color:var(--accent-blue);outline:none;height:48px;line-height:normal;box-shadow:0 0 0 2px #3b82f633;color:#fff!important;background:#1a1a1a!important}.edit-form input:hover,.edit-form select:hover{border-color:var(--accent-blue);height:48px;line-height:normal;color:#fff!important;background:#1a1a1a!important}.edit-form input::placeholder{opacity:1;color:#888!important}.modal-actions{padding:var(--spacing-lg);border-top:1px solid var(--border-light);background:0 0;flex-shrink:0;justify-content:center;display:flex}.submit-btn{background:var(--gradient-primary);color:#fff;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-medium);cursor:pointer;border:none;min-width:160px;height:44px;font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #3b82f64d}.submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.submit-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}@media (max-width:768px){.modal-overlay{padding:var(--spacing-md)}.modal-content{max-width:100%;max-height:95vh}.modal-header{padding:var(--spacing-lg)}.modal-header h3{font-size:1.25rem}.edit-form{padding:var(--spacing-md);gap:var(--spacing-md)}.edit-form .form-row{gap:var(--spacing-md);flex-direction:column}.modal-actions{padding:var(--spacing-md)}.submit-btn{width:100%;min-width:auto;height:44px}}@media (max-width:480px){.modal-overlay{padding:var(--spacing-sm)}.modal-header{padding:var(--spacing-md)}.edit-form{padding:var(--spacing-sm);gap:var(--spacing-sm)}.modal-actions{padding:var(--spacing-sm)}.edit-form input,.edit-form select{height:44px;font-size:16px}}.breakdown-item{padding:var(--spacing-lg);border-bottom:1px solid var(--border-light);border-radius:var(--radius-xl);margin-bottom:var(--spacing-xs);-webkit-backdrop-filter:blur(10px);background:#14141499;justify-content:space-between;align-items:center;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.breakdown-item:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#ffffff0d 0%,#ffffff05 100%);position:absolute;inset:0}.breakdown-item:last-child{border-bottom:none;margin-bottom:0}.breakdown-item:hover{box-shadow:var(--shadow-glow);border-color:var(--accent-blue);background-color:#3b82f61a;transform:translate(8px)scale(1.02)}.breakdown-item.category-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-direction:row;display:flex}.breakdown-item.category-header .category-info{align-items:center;gap:var(--spacing-xs);flex-direction:row;flex:1;display:flex}.breakdown-item.category-header .category-amounts{align-items:center;gap:var(--spacing-xs);flex-direction:row;flex-shrink:0;display:flex}.breakdown-item.category-header .category-amount,.breakdown-item.category-header .category-percentage{white-space:nowrap}.breakdown-item.subcategory-item{justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-direction:row;display:flex}.breakdown-item.subcategory-item .subcategory-amounts{align-items:center;gap:var(--spacing-xs);flex-direction:row;flex-shrink:0;display:flex}.breakdown-item.subcategory-item .subcategory-amount,.breakdown-item.subcategory-item .subcategory-percentage{white-space:nowrap}.breakdown-category{margin-bottom:var(--spacing-sm)}.category-header{cursor:pointer;background-color:var(--background-secondary);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light);font-weight:600;transition:all .2s}.category-header:hover{background-color:var(--background-hover)}.category-info{align-items:center;gap:var(--spacing-sm);display:flex}.expand-arrow{color:var(--text-secondary);text-align:center;width:16px;font-size:12px;transition:transform .2s}.expand-arrow.expanded{transform:rotate(180deg)}.subcategory-list{margin-left:var(--spacing-lg);border-left:2px solid var(--border-light);padding-left:var(--spacing-md)}.subcategory-item{color:var(--text-secondary);padding:var(--spacing-xs) 0;border-bottom:1px solid var(--border-lighter);margin-bottom:var(--spacing-xs);border-radius:var(--radius-small);background:0 0;font-size:14px}.subcategory-item:last-child{border-bottom:none}.subcategory-item:hover{box-shadow:none;background-color:#3b82f60d;transform:none}.subcategory-name{font-weight:500}.subcategory-amount{color:var(--text-primary);margin-right:var(--spacing-xs);font-weight:600}.subcategory-percentage{color:var(--text-tertiary);font-size:12px}.category-name{color:var(--text-primary);letter-spacing:-.2px;font-size:16px;font-weight:600}.category-amount{color:var(--text-primary);letter-spacing:-.3px;text-align:right;margin-right:var(--spacing-xs);font-size:18px;font-weight:700}.category-percentage{color:var(--text-secondary);opacity:.8;text-align:right;font-size:13px;font-weight:500}.category-values{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.global-notifications{top:max(1rem, env(safe-area-inset-top,0px) + .75rem);right:max(1rem, env(safe-area-inset-right,0px) + .75rem);z-index:10050;pointer-events:none;flex-direction:column;align-items:stretch;gap:.55rem;width:min(22.5rem,100vw - 2rem);max-height:calc(100vh - 2rem);display:flex;position:fixed;overflow:visible}.global-notification{color:#ededed;pointer-events:auto;transform-origin:100% 0;background:linear-gradient(165deg,#171717 0%,#101010 100%);border:1px solid #ffffff1f;border-radius:12px;animation:.28s cubic-bezier(.22,1,.36,1) cf-toast-in;position:relative;overflow:hidden;box-shadow:0 12px 32px #00000073,inset 0 1px #ffffff0d}.global-notification.is-leaving{animation:.22s forwards cf-toast-out}.global-notification-content{align-items:flex-start;gap:.7rem;min-height:0;padding:.85rem .85rem .95rem;display:flex}.global-notification-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:1.85rem;height:1.85rem;margin-top:.05rem;display:inline-flex}.global-notification-message{letter-spacing:-.01em;color:#ededed;flex:1;margin:0;padding-top:.2rem;font-size:.8125rem;font-weight:520;line-height:1.45;display:block}.global-notification-close{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;margin:0;transition:background .15s,color .15s,border-color .15s;display:inline-flex;color:#a1a1aa!important;min-height:0!important;box-shadow:none!important;background:0 0!important;border:1px solid #0000!important;border-radius:8px!important;padding:0!important}.global-notification-close:hover{color:#ededed!important;filter:none!important;background:#ffffff0f!important;border-color:#ffffff1f!important;transform:none!important}.global-notification-progress{transform-origin:0;opacity:.9;height:2px;animation-name:cf-toast-progress;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;bottom:0;left:0;right:0}.global-notification-success{border-color:#22c55e47}.global-notification-success .global-notification-icon{color:#4ade80;background:#22c55e24;border:1px solid #22c55e47}.global-notification-success .global-notification-progress{background:linear-gradient(90deg,#22c55e,#4ade80)}.global-notification-error{border-color:#ef444452}.global-notification-error .global-notification-icon{color:#fca5a5;background:#ef444424;border:1px solid #ef44444d}.global-notification-error .global-notification-progress{background:linear-gradient(90deg,#ef4444,#f87171)}.global-notification-info{border-color:#6366f14d}.global-notification-info .global-notification-icon{color:#67e8f9;background:#6366f11f;border:1px solid #6366f147}.global-notification-info .global-notification-progress{background:linear-gradient(90deg,#6366f1,#8b5cf6)}@keyframes cf-toast-in{0%{opacity:0;transform:translate(.85rem)translateY(-.25rem)scale(.98)}to{opacity:1;transform:translate(0)translateY(0)scale(1)}}@keyframes cf-toast-out{to{opacity:0;transform:translate(.65rem)scale(.98)}}@keyframes cf-toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width:640px){.global-notifications{top:max(.75rem, env(safe-area-inset-top,0px) + .5rem);right:max(.75rem, env(safe-area-inset-right,0px) + .5rem);left:max(.75rem, env(safe-area-inset-left,0px) + .5rem);width:auto}}.form-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.form-header h2{margin:0}.analytics-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.analytics-header h2{margin:0 0 var(--spacing-xl) 0;color:#fff;text-align:left;letter-spacing:-.5px;text-shadow:0 0 20px #ffffff4d;padding:var(--spacing-xl) var(--spacing-lg) 0;font-size:32px;font-weight:800}.tab-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.tab-header h2{margin:0}.header-buttons{gap:var(--spacing-sm);align-items:center;display:flex}.settings-btn{color:var(--text-secondary);border-radius:var(--border-radius);padding:var(--spacing-sm);cursor:pointer;-webkit-backdrop-filter:blur(10px);min-width:40px;height:40px;box-shadow:none;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.settings-btn:hover{color:var(--primary-white);background:linear-gradient(135deg,#3b82f6e6 0%,#2563ebcc 50%,#3b82f6e6 100%);border-color:#3b82f699;transform:translateY(-2px)scale(1.05);box-shadow:0 6px 20px #3b82f64d,0 3px 8px #3b82f633,inset 0 1px #fff3}.settings-btn:active{transform:translateY(0)scale(1.02);box-shadow:0 2px 8px #3b82f666,inset 0 1px #ffffff1a}.settings-modal{border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:none;-webkit-backdrop-filter:none;background:#141414e6;flex-direction:column;width:500px;max-width:500px;max-height:90vh;margin:0;animation:.3s ease-out modalSlideIn;display:flex;position:relative;overflow:hidden;transform:none}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-light);background:0 0;justify-content:space-between;align-items:center;display:flex}.close-btn{color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-small);background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.close-btn:hover{background:var(--bg-secondary);color:var(--accent-red)}.modal-content{padding:var(--spacing-lg);box-shadow:none;background:0 0;border:none;flex:1;overflow-y:auto}.settings-section h4{margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary);font-size:1.1rem}.metric-toggles{gap:var(--spacing-sm);flex-direction:column;display:flex}.metric-toggle{align-items:center;gap:var(--spacing-sm);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--border-radius);transition:background-color .2s;display:flex}.metric-toggle:hover{background:var(--color-background-light)}.metric-toggle input[type=checkbox]{cursor:pointer;width:18px;height:18px}.toggle-label{color:var(--color-text-primary);cursor:pointer;font-size:.95rem}body.modal-open{width:100%!important;height:100%!important;position:fixed!important;top:0!important;left:0!important;overflow:hidden!important}html.modal-open{overflow:hidden!important}html.modal-open body{width:100%!important;height:100%!important;position:fixed!important;top:0!important;left:0!important;overflow:hidden!important}.modal-overlay{background:#00000080;z-index:9999!important;box-sizing:border-box!important;justify-content:center!important;align-items:center!important;width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;display:flex!important;position:fixed!important;inset:0!important;overflow:hidden!important}.analytics-content{background:0 0;position:relative}.category-group .subcategories{margin-top:var(--spacing-sm);padding-right:var(--spacing-lg);width:100%;margin-left:0}.subcategories-headline{color:var(--text-secondary);text-transform:none;letter-spacing:0;margin:0 0 var(--spacing-sm) 0;padding:0;font-size:14px;font-weight:600}.subcategory-item{padding:var(--spacing-sm);border:1px solid var(--border-light);border-radius:var(--radius-small);margin-bottom:var(--spacing-sm);box-sizing:border-box;background:#1116;justify-content:space-between;align-items:center;width:100%;transition:all .2s;display:flex}.subcategory-item:hover{border-color:var(--accent-blue);background:#1119}.subcategory-content{align-items:center;gap:var(--spacing-sm);flex:1;display:flex}.subcategory-content>span{color:var(--text-primary);min-width:120px;font-weight:500}.subcategory-budget-percentage{align-items:center;gap:var(--spacing-sm);display:flex}.subcategory-budget-label{align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:12px;display:flex}.subcategory-budget-text{text-transform:none;letter-spacing:0;min-width:50px;font-size:11px;font-weight:500}.subcategory-budget-input-container{align-items:center;gap:var(--spacing-xs);display:flex}.subcategory-budget-input{border:1px solid var(--border-light);border-radius:var(--radius-medium);width:60px;color:var(--text-primary);text-align:center;background:#111c;height:32px;padding:8px 12px;font-size:12px;transition:all .2s}.subcategory-percentage-indicator{color:var(--text-secondary);min-width:12px;font-size:12px;font-weight:600}.subcategory-budget-remaining-indicator{color:var(--text-tertiary);text-align:center;margin-top:2px;font-size:9px;font-style:italic}.subcategory-budget-input:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #3b82f633}.subcategory-budget-input.warning{border-color:var(--accent-orange);background:#fb923c1a}.subcategory-budget-input.warning:focus{box-shadow:0 0 0 2px #fb923c33}.subcategory-actions .edit-btn,.subcategory-actions .delete-btn{border-radius:var(--radius-small);justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:12px;transition:all .2s;display:flex}.subcategory-actions .edit-btn{color:var(--accent-blue);background:#3b82f633;border:1px solid #3b82f64d}.subcategory-actions .edit-btn:hover{border-color:var(--accent-blue);background:#3b82f64d}.subcategory-actions .delete-btn{color:var(--accent-red);background:#ef444433;border:1px solid #ef44444d}.subcategory-actions .delete-btn:hover{border-color:var(--accent-red);background:#ef44444d}.subcategory-budget-summary{margin:var(--spacing-sm) 0;padding:var(--spacing-sm) 0;text-align:center}.subcategory-budget-total{color:var(--text-primary);border:1px solid var(--border-light);border-radius:var(--radius-medium);background:#111c;justify-content:center;align-items:center;min-width:60px;height:32px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.category-header{gap:var(--spacing-sm);padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light);flex-direction:column;display:flex}.category-header.no-subcategories{border-bottom:none;margin-bottom:0}.category-header-row{padding:var(--spacing-sm) 0;grid-template-columns:1fr auto auto auto;align-items:start;gap:20px;display:grid}.category-header-row.expense-category{grid-template-columns:1fr auto auto auto auto}.category-header-row h5,.subcategory-header-row h5{color:var(--text-primary);align-self:center;margin:0;font-size:18px;font-weight:600}.category-header-row .category-actions-buttons{align-self:center}.category-title-section{align-items:center;gap:var(--spacing-md);display:flex}.category-title-section h4{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.category-actions-buttons{gap:var(--spacing-sm);align-items:center;display:flex}.category-actions-buttons .save-btn{color:#22c55e;background:#22c55e33;border:1px solid #22c55e4d}.category-actions-buttons .save-btn:hover{background:#22c55e4d;border-color:#22c55e}.category-actions-buttons .cancel-btn{color:#6366f1;background:#3b82f633;border:1px solid #3b82f64d}.category-actions-buttons .cancel-btn:hover{background:#3b82f64d;border-color:#6366f1}.category-settings-grid{gap:var(--spacing-md);flex-wrap:wrap;align-items:center;display:flex}.setting-group{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;width:auto;display:flex}.setting-group.budget-group{width:auto;min-width:120px}.setting-label{color:var(--text-secondary);text-transform:none;letter-spacing:.3px;text-align:left;margin-bottom:2px;font-size:11px;font-weight:600}.setting-group .toggle-switch{align-self:flex-start;margin-top:0}.budget-input-container{justify-content:center;align-items:center;gap:var(--spacing-xs);width:auto;min-width:120px;display:flex}.budget-input-container .budget-percentage-input{border:1px solid var(--border-light);border-radius:var(--radius-medium);width:80px;min-width:80px;color:var(--text-primary);text-align:center;box-sizing:border-box;vertical-align:middle;background:#111c;height:32px;padding:8px 12px;font-size:12px;line-height:1;transition:all .2s}.percentage-indicator{color:var(--text-secondary);min-width:12px;font-size:12px;font-weight:600}.budget-remaining-indicator{color:var(--text-tertiary);text-align:center;margin-top:2px;font-size:10px;font-style:italic}.setting-group .budget-percentage-input:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #3b82f633}.setting-group .budget-percentage-input.warning{border-color:var(--accent-orange);background:#fb923c1a}.setting-group .tax-location-select{border:1px solid var(--border-light);border-radius:var(--radius-medium);color:var(--text-primary);text-align:left;box-sizing:border-box;vertical-align:middle;background:#111c;width:120px;height:32px;padding:8px 12px;font-size:11px;line-height:1;transition:all .2s}.setting-group .tax-location-select:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #3b82f633}.export-pdf-btn{cursor:pointer;border-radius:var(--radius-medium);color:var(--text-secondary);-webkit-backdrop-filter:blur(10px);box-shadow:none;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important}.export-pdf-btn:before{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff1a 50%,#0000 100%);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.export-pdf-btn:hover:not(:disabled){color:var(--primary-white);background:linear-gradient(135deg,#22c55ee6 0%,#10b981cc 50%,#22c55ee6 100%);border-color:#22c55e99;transform:translateY(-2px)scale(1.05);box-shadow:0 6px 20px #22c55e4d,0 3px 8px #22c55e33,inset 0 1px #fff3}.export-pdf-btn:hover:before{left:100%}.export-pdf-btn:active{transform:translateY(0)scale(1.02);box-shadow:0 2px 8px #22c55e66,inset 0 1px #ffffff1a}.export-pdf-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.export-pdf-btn:disabled:hover{box-shadow:none;transform:none}.export-csv-btn{cursor:pointer;border-radius:var(--radius-medium);color:var letzten(--text-secondary);-webkit-backdrop-filter:blur(10px);box-shadow:none;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important}.export-csv-btn:before{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff1a 50%,#0000 100%);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.export-csv-btn:hover:not(:disabled){color:var(--primary-white);background:linear-gradient(135deg,#22c55ee6 0%,#10b981cc 50%,#22c55ee6 100%);border-color:#22c55e99;transform:translateY(-2px)scale(1.05);box-shadow:0 6px 20px #22c55e4d,0 3px 8px #22c55e33,inset 0 1px #fff3}.export-csv-btn:hover:before{left:100%}.export-csv-btn:active{transform:translateY(0)scale(1.02);box-shadow:0 2px 8px #22c55e66,inset 0 1px #ffffff1a}.export-csv-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.export-csv-btn:disabled:hover{box-shadow:none;transform:none}.transaction-management-header{justify-content:space-between;align-items:center;margin-bottom:0;display:flex}.transaction-management-header h3{margin:0}.settings-gear-button{cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-medium);color:var(--text-secondary);-webkit-backdrop-filter:blur(10px);width:40px;height:40px;box-shadow:none;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:18px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.settings-gear-button:before{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff1a 50%,#0000 100%);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.settings-gear-button:hover{color:var(--primary-white);background:linear-gradient(135deg,#3b82f6e6 0%,#2563ebcc 50%,#3b82f6e6 100%);border-color:#3b82f699;transform:translateY(-2px)scale(1.05);box-shadow:0 6px 20px #3b82f64d,0 3px 8px #3b82f633,inset 0 1px #fff3}.settings-gear-button:hover:before{left:100%}.settings-gear-button:active{transform:translateY(0)scale(1.02);box-shadow:0 2px 8px #3b82f666,inset 0 1px #ffffff1a}.bulk-import-settings{background:var(--primary-dark);border:1px solid var(--border-light);border-radius:var(--radius-large);max-width:800px;max-height:80vh;overflow:hidden;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d}.settings-description{color:var(--text-secondary);margin-bottom:var(--spacing-lg);padding:0 var(--spacing-xl);line-height:1.5}.modal-body{padding:var(--spacing-xl);flex:1;overflow-y:auto}.settings-content{max-height:400px;padding:0 var(--spacing-xl);overflow-y:auto}.mappings-section{padding:0}.section-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.section-header h4{color:var(--text-primary);margin:0}.clear-all-button{background:var(--accent-red);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-small);cursor:pointer;border:none;font-size:12px;transition:background .2s}.clear-all-button:hover{background:#d32f2f}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary);border-radius:var(--radius-medium);border:2px dashed var(--border-light);margin:var(--spacing-lg) 0;background:#1116}.empty-state p{margin:var(--spacing-sm) 0;line-height:1.6}.empty-state p:first-child{color:var(--text-primary);font-weight:500}.mappings-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.mapping-item{padding:var(--spacing-md);border-radius:var(--radius-medium);border:1px solid var(--border-light);margin-bottom:var(--spacing-sm);background:#1119;justify-content:space-between;align-items:center;transition:all .2s;display:flex}.mapping-item:hover{border-color:var(--accent-blue);background:#111c;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.mapping-info{align-items:center;gap:var(--spacing-sm);flex:1;display:flex}.mapping-source{min-width:120px;color:var(--text-primary);font-weight:500}.mapping-arrow{color:var(--text-secondary);font-weight:700}.mapping-target{color:var(--text-primary);flex:1;font-weight:500}.mapping-target .category{color:var(--accent-blue);font-weight:500}.mapping-target .subcategory{color:var(--text-secondary);font-style:italic}.mapping-timestamp{color:var(--text-secondary);text-align:right;white-space:nowrap;min-width:80px;font-size:11px}.mapping-item{border-radius:var(--radius-medium);border:1px solid var(--border-color);background:#ffffff0d;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin-bottom:.5rem;padding:.5rem .75rem;display:flex}.mapping-info{flex:1;align-items:center;gap:.25rem;min-width:0;display:flex;overflow:hidden}.mapping-source{white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:13px;overflow:hidden}.mapping-target{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.mapping-arrow{color:var(--text-secondary);margin:0 .25rem;font-size:12px}.remove-mapping-button{background:var(--accent-red);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 2px 4px #0003}.remove-mapping-button:hover{background:#d32f2f;transform:scale(1.1);box-shadow:0 4px 8px #0000004d}@media (max-width:768px){.bulk-import-settings{max-width:95vw;max-height:90vh;margin:var(--spacing-md)}.modal-body{padding:var(--spacing-md)}.settings-description,.settings-content{padding:0 var(--spacing-md)}.mapping-item{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}.mapping-info{align-items:flex-start;gap:var(--spacing-xs);flex-direction:column;width:100%}.mapping-source,.mapping-target,.mapping-timestamp{text-align:left;min-width:auto}.remove-mapping-button{align-self:flex-end;margin-left:0}}.notification{margin-bottom:var(--spacing-lg);border-radius:var(--radius-medium);animation:.3s ease-out slideIn;position:relative;overflow:hidden}.notification-content{padding:var(--spacing-md);align-items:center;gap:var(--spacing-sm);display:flex}.notification-icon{flex-shrink:0;font-size:16px;font-weight:700}.notification-text{flex:1;font-weight:500}.success-notification{background:var(--accent-green);color:var(--primary-white);border:1px solid var(--accent-green);box-shadow:0 4px 12px #4caf504d}.error-notification{background:var(--accent-red);color:var(--primary-white);border:1px solid var(--accent-red);box-shadow:0 4px 12px #f443364d}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.monthly-averages-section{border-radius:var(--radius-xl);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-medium);border:1px solid var(--border-light);-webkit-backdrop-filter:none;background:#141414cc;position:relative;overflow:hidden}.monthly-averages-section:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#3b82f60d 0%,#6366f10d 100%);position:absolute;inset:0}.monthly-averages-section h3,.year-end-forecast-section h3,.summary-section h3,.category-section-header h3{margin:0 0 var(--spacing-sm) 0;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;text-shadow:0 0 30px #3b82f680;-webkit-background-clip:text;background-clip:text;padding:0;font-size:24px;font-weight:800}.averages-description{margin:0 0 var(--spacing-xl) 0;color:var(--text-secondary);opacity:.9;letter-spacing:.3px;padding:0;font-size:15px;font-weight:500}.line-graph-container{border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-sizing:border-box;background:#111c;width:100%;margin:0;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.line-graph-container:hover{box-shadow:var(--shadow-heavy);border-color:var(--accent-blue);transform:translateY(-6px)scale(1.02)}.line-graph-container:before{content:"";background:var(--gradient-primary);height:3px;box-shadow:var(--shadow-glow);transition:all .3s;position:absolute;top:0;left:0;right:0}.line-graph-container h4{margin:0 0 var(--spacing-md) 0;color:var(--text-primary);z-index:1;font-size:18px;font-weight:600;position:relative}.line-graph-wrapper{gap:var(--spacing-md);z-index:1;flex-direction:column;width:100%;display:flex;position:relative}.line-graph-svg{border:1px solid var(--border-light);-webkit-backdrop-filter:none;background:#111c;border-radius:12px;width:100%;max-width:100%;height:auto;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1a,0 4px 16px #0003}.line-graph-svg:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);border-radius:12px;position:absolute;inset:0}.line-graph-legend{gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap;justify-content:center;display:flex}.line-graph-legend .legend-item{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-light);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#141414cc 0%,#1e1e32b3 100%);border-radius:20px;transition:all .3s;display:flex;box-shadow:0 2px 8px #0003,inset 0 1px #ffffff1a}.line-graph-legend .legend-item:hover{border-color:var(--border-medium);transform:translateY(-1px);box-shadow:0 4px 12px #0000004d,inset 0 1px #ffffff26}.line-graph-legend .legend-color{border:1px solid #fff3;border-radius:50%;width:12px;height:12px;transition:all .3s;box-shadow:0 0 8px #0000004d,inset 0 1px #fff3}.line-graph-legend .legend-item:hover .legend-color{transform:scale(1.1);box-shadow:0 0 12px #0006,inset 0 1px #ffffff4d}.line-graph-legend .legend-label{color:#fff;font-size:12px;font-weight:500;transition:all .3s}.line-graph-legend .legend-item:hover .legend-label{color:var(--text-secondary)}.no-data-message{text-align:center;padding:var(--spacing-xl);color:#9ca3af}.no-data-message p{margin:0;font-size:14px}.line-graph-tooltip{border:1px solid var(--border-light);-webkit-backdrop-filter:none;box-shadow:0 8px 32px #0006, 0 0 0 1px var(--border-light), inset 0 1px 0 #ffffff1a;background:linear-gradient(135deg,#0f0f19fa 0%,#141423f2 100%);border-radius:16px;width:200px;padding:0;transition:all .2s;z-index:9999!important;position:absolute!important}.line-graph-tooltip:before{content:"";z-index:-1;opacity:.6;background:linear-gradient(135deg,#3b82f61a 0%,#6366f114 25%,#06b6d414 50%,#10b98114 75%,#3b82f61a 100%);border-radius:16px;position:absolute;inset:-1px}.tooltip-content{padding:var(--spacing-sm)}.tooltip-header{margin-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-xs)}.tooltip-header h4{color:var(--text-primary);text-align:center;margin:0;font-size:12px;font-weight:600}.tooltip-metrics{flex-direction:column;gap:2px;display:flex}.tooltip-metric{align-items:center;gap:var(--spacing-xs);padding:1px 0;display:flex}.tooltip-metric-color{border:1px solid #ffffff4d;border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 6px #0006,inset 0 1px #fff3}.tooltip-metric-label{color:#9ca3af;text-shadow:0 0 4px #0000004d;flex:1;font-size:11px;font-weight:500}.tooltip-metric-value{color:var(--text-primary);text-align:right;min-width:60px;font-size:11px;font-weight:600}.averages-cards{gap:var(--spacing-lg);margin:0 0 var(--spacing-lg) 0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.average-card{border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-lg);-webkit-backdrop-filter:none;background:#111c;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.average-card:before{content:"";pointer-events:none;z-index:-1;content:"";background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);background:var(--border-light);height:3px;transition:all .3s;position:absolute;inset:0}.average-card:hover{box-shadow:var(--shadow-heavy);border-color:var(--accent-blue);transform:translateY(-6px)scale(1.02)}.average-card.income:before{background:var(--gradient-success);box-shadow:var(--shadow-glow-green)}.average-card.expenses:before{background:var(--gradient-danger);box-shadow:var(--shadow-glow-red)}.average-card.savings:before{background:var(--gradient-primary);box-shadow:var(--shadow-glow)}.average-card.deficit:before,.average-card.tax:before{background:var(--gradient-warning);box-shadow:0 0 0 1px #f59e0b4d}.average-card.net:before{background:var(--gradient-primary);box-shadow:var(--shadow-glow)}.average-card.revenue:before{background:linear-gradient(90deg,#6366f1,#4f46e5);box-shadow:0 0 0 1px #3b82f64d}.average-card.net-income:before{background:linear-gradient(90deg,#10b981,#059669);box-shadow:0 0 0 1px #10b9814d}.average-card-header h4{margin:0 0 var(--spacing-md) 0;color:var(--text-secondary);text-transform:none;letter-spacing:0;opacity:.8;font-size:12px;font-weight:600}.average-card-content{gap:var(--spacing-xs);flex-direction:column;display:flex}.average-amount{color:var(--text-primary);letter-spacing:-.8px;text-shadow:0 0 20px #ffffff4d;font-size:28px;font-weight:800;line-height:1.2}.net-income-savings-graph-section{border-radius:var(--radius-xl);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-medium);border:1px solid var(--border-light);-webkit-backdrop-filter:none;background:#141414cc;padding:0;position:relative;overflow:hidden}.net-income-savings-graph-section:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#10b9810d 0%,#3b82f60d 100%);position:absolute;inset:0}.net-income-savings-graph-section h3{margin:0 0 var(--spacing-lg) 0;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;padding:var(--spacing-xl) var(--spacing-lg) 0;text-shadow:0 0 30px #3b82f680;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800}.net-income-savings-graph-section .graph-description{color:var(--text-secondary);margin-bottom:var(--spacing-lg);padding:0 var(--spacing-lg);font-size:.9rem;line-height:1.5}.net-income-savings-graph-container{padding:0 var(--spacing-lg) var(--spacing-xl)}.graph-columns{align-items:flex-start;gap:1rem;width:100%;display:flex}.graph-column{flex:1}.chart-column{flex:1;min-width:0}.metrics-column{flex:0 0 100px;min-width:100px;max-width:100px}@media (max-width:1200px){.metrics-column{flex:0 0 90px;min-width:90px;max-width:90px}.graph-columns{gap:.75rem}}@media (max-width:992px){.graph-columns{flex-direction:column;gap:1rem}.chart-column{width:100%}.metrics-column{flex:none;width:100%;min-width:auto;max-width:none}.metrics-container{flex-direction:row;justify-content:center;gap:2rem;padding:.75rem}.metric-item{font-size:.75rem}}@media (max-width:768px){.net-income-savings-graph-container{padding:0 var(--spacing-md) var(--spacing-lg)}.line-chart-container{padding:.75rem}.metrics-container{gap:1.5rem}.metric-item{font-size:.7rem}.metric-indicator{width:10px;height:10px}}@media (max-width:480px){.net-income-savings-graph-container{padding:0 var(--spacing-sm) var(--spacing-md)}.line-chart-container{padding:.5rem}.metrics-container{flex-direction:column;align-items:center;gap:.5rem}.metric-item{font-size:.65rem}}.net-income-savings-graph-container .graph-container{width:100%}.line-chart-container{box-sizing:border-box;justify-content:center;align-items:center;width:100%;padding:1rem;display:flex;overflow:visible}.net-income-savings-graph-container .graph-container h4{color:var(--text-primary);margin-bottom:var(--spacing-md);text-align:center;font-size:18px;font-weight:600}.line-chart-container{border-radius:var(--radius-medium);width:100%;padding:var(--spacing-md);background:#0003;overflow-x:auto}.line-chart-svg{background:var(--background-primary);border-radius:var(--radius-medium);width:100%;max-width:100%;height:auto;margin:0 auto;display:block}.line-chart-svg .data-point{cursor:pointer;stroke:#0000;stroke-width:0;transition:all .15s}.line-chart-svg .data-point:hover{r:5;filter:drop-shadow(0 0 8px #fff9);stroke:#ffffffe6;stroke-width:2px}.line-chart-svg .data-point:active{r:4;filter:drop-shadow(0 0 4px #fff6)}.metrics-container{flex-direction:column;gap:.75rem;padding:1rem .5rem;display:flex}.metric-item{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;display:flex}.metric-indicator{border-radius:50%;flex-shrink:0;width:12px;height:12px}.metric-indicator.net-income{background:#10b981;box-shadow:0 0 6px #10b98166}.metric-indicator.net-savings{background:#6366f1;box-shadow:0 0 6px #3b82f666}.metric-indicator.gross-expenses{background:#ef4444;box-shadow:0 0 6px #ef444466}.category-input-group,.subcategory-input-group{align-items:center;gap:.5rem;width:100%;display:flex}.auto-matched-badge{border-radius:12px;margin-left:8px;padding:2px 8px;font-size:.75rem;font-weight:500}.auto-matched-badge.memory-badge{color:#22c55e;background-color:#22c55e26;border:1px solid #22c55e4d}.auto-matched-badge.ai-badge{color:#6366f1;background-color:#3b82f626;border:1px solid #3b82f64d}.net-income-line{filter:drop-shadow(0 2px 4px #10b9814d)}.net-savings-line{filter:drop-shadow(0 2px 4px #3b82f64d)}.gross-expenses-line{filter:drop-shadow(0 2px 4px #ef44444d)}.year-end-forecast-section{border-radius:var(--radius-xl);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-medium);border:1px solid var(--border-light);-webkit-backdrop-filter:none;background:#141414cc;position:relative;overflow:hidden}.year-end-forecast-section:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#3b82f60d 0%,#6366f10d 100%);position:absolute;inset:0}.year-end-forecast-section h3{margin:0 0 var(--spacing-sm) 0;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;text-shadow:0 0 30px #3b82f680;-webkit-background-clip:text;background-clip:text;padding:0;font-size:24px;font-weight:800}.forecast-description{margin:0 0 var(--spacing-xl) 0;color:var(--text-secondary);opacity:.9;letter-spacing:.3px;padding:0;font-size:15px;font-weight:500}.forecast-cards{gap:var(--spacing-lg);margin:0 0 var(--spacing-lg) 0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.forecast-card{border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-lg);-webkit-backdrop-filter:none;background:#111c;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.forecast-card:before{content:"";pointer-events:none;z-index:-1;content:"";background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);background:var(--border-light);height:3px;transition:all .3s;position:absolute;inset:0}.forecast-card:hover{box-shadow:var(--shadow-heavy);border-color:var(--accent-purple);transform:translateY(-6px)scale(1.02)}.forecast-card.income:before{background:var(--gradient-success);box-shadow:var(--shadow-glow-green)}.forecast-card.expenses:before{background:var(--gradient-danger);box-shadow:var(--shadow-glow-red)}.forecast-card.savings:before{background:var(--gradient-primary);box-shadow:var(--shadow-glow)}.forecast-card.deficit:before,.forecast-card.tax:before{background:var(--gradient-warning);box-shadow:0 0 0 1px #f59e0b4d}.forecast-card.net:before{background:var(--gradient-primary);box-shadow:var(--shadow-glow)}.forecast-card.revenue:before{background:linear-gradient(90deg,#6366f1,#4f46e5);box-shadow:0 0 0 1px #3b82f64d}.forecast-card.net-income:before{background:linear-gradient(90deg,#10b981,#059669);box-shadow:0 0 0 1px #10b9814d}.forecast-trend{opacity:.7;font-size:11px;font-style:italic}.forecast-card-header h4{margin:0 0 var(--spacing-md) 0;color:var(--text-secondary);text-transform:none;letter-spacing:0;opacity:.8;font-size:12px;font-weight:600}.forecast-card-content{flex-direction:column;display:flex}.forecast-subtitle{opacity:1;margin-top:var(--spacing-sm);text-shadow:0 1px 2px #0000004d;letter-spacing:.3px;font-size:13px;font-style:italic;font-weight:600}.forecast-amount{color:var(--text-primary);letter-spacing:-.8px;text-shadow:0 0 20px #ffffff4d;font-size:28px;font-weight:800;line-height:1.2}.average-subtitle{opacity:1;margin-top:var(--spacing-sm);text-shadow:0 1px 2px #0000004d;letter-spacing:.3px;font-size:13px;font-style:italic;font-weight:600}.average-amount-change{margin-bottom:2px;font-size:12px;font-weight:600}.average-trend{opacity:.7;font-size:11px;font-style:italic}.forecast-amount-change{margin-bottom:2px;font-size:12px;font-weight:600}@media (max-width:1200px){.summary-cards{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media (max-width:768px){.summary-cards,.averages-cards,.forecast-cards{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.summary-card,.average-card,.forecast-card{padding:var(--spacing-lg);min-height:120px}.summary-card .amount,.average-amount,.forecast-amount{font-size:24px}.summary-card .label,.average-label,.forecast-label{font-size:13px}.summary-card .change,.average-change,.forecast-change{font-size:11px}.summary-card,.average-card,.forecast-card{flex-direction:column;justify-content:center;min-height:120px;display:flex}.budget-status-card{padding:var(--spacing-md)}.budget-status-card .category-header{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}.budget-status-card .header-actions{gap:var(--spacing-sm);flex-direction:column;width:100%}.budget-status-card .add-new-button{width:100%}.overall-budget-status{padding:var(--spacing-md)}.overall-budget-status .budget-progress-bar{height:12px}.overall-budget-status .percentage-circle{width:60px;height:60px}.monthly-averages-section,.year-end-forecast-section,.overall-budget-section{padding:var(--spacing-md) var(--spacing-md);margin-bottom:var(--spacing-lg)}.filters-section{padding-left:var(--spacing-md);padding-right:var(--spacing-md);padding-top:var(--spacing-md);padding-bottom:var(--spacing-md);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.filter-group{min-width:100px}.income-tab h2,.expenses-tab h2,.transaction-form h2,.category-management h2{font-size:24px}.income-tab .total-section h3,.expenses-tab .total-section h3{font-size:20px}.transactions-table th,.transactions-table td{padding:var(--spacing-md)}.add-category form,.add-subcategory form{flex-direction:column;align-items:stretch}.add-category select,.add-subcategory select,.add-category input,.add-subcategory input{min-width:auto}.income-tab .filter-group,.expenses-tab .filter-group{flex-direction:column;align-items:stretch;min-width:100px}.bulk-actions-header{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}.bulk-actions-content{margin-top:var(--spacing-sm);justify-content:flex-start;gap:var(--spacing-sm);flex-direction:column}.bulk-actions-content button{width:100%;min-width:auto}.income-tab .transactions-table,.expenses-tab .transactions-table{font-size:14px}.income-tab .transactions-table th,.income-tab .transactions-table td,.expenses-tab .transactions-table th,.expenses-tab .transactions-table td{padding:var(--spacing-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.transactions-table th.sortable{justify-content:center;align-items:center;min-height:44px;display:flex}.transactions-list{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.income-tab .transactions-table .tax-amount{font-size:12px}.income-tab .transactions-table .tax-percentage{font-size:10px}.income-tab .transactions-table .income-type{padding:2px 6px;font-size:10px}.income-tab .summary-cards{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.income-tab .category-breakdown{flex-direction:column}.income-tab .breakdown-list{width:100%;margin-bottom:var(--spacing-lg)}.income-tab .pie-chart{width:100%;max-width:300px;margin:0 auto}@media (max-width:480px){.app-main{padding:var(--spacing-sm);border-radius:0}.app-header{padding:var(--spacing-sm)}.app-header h1{font-size:20px}.summary-cards{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.summary-card{padding:var(--spacing-md)}.summary-card .amount{font-size:20px}.income-tab .transactions-table{min-width:800px}.income-tab .transactions-table th,.income-tab .transactions-table td{padding:var(--spacing-xs);font-size:12px}.income-tab .transactions-table .tax-percentage{font-size:9px}.income-tab .transactions-table .income-type{padding:1px 4px;font-size:9px}input,select,textarea{padding:var(--spacing-sm);font-size:16px}button{padding:var(--spacing-sm) var(--spacing-md)}}.category-title-row{align-items:flex-start;gap:var(--spacing-md);flex-direction:column}.category-actions{justify-content:space-between;width:100%}}.income-tab h2{margin:0 0 var(--spacing-xl) 0;color:#fff;text-align:left;letter-spacing:-.5px;text-shadow:0 0 20px #ffffff4d;padding:var(--spacing-xl) var(--spacing-lg) 0;font-size:32px;font-weight:800}.income-tab .total-section{text-align:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-xl);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-medium);-webkit-backdrop-filter:none;background:#141414cc;position:relative;overflow:hidden}.income-tab .total-section:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#10b9811a 0%,#06b6d41a 100%);position:absolute;inset:0}.income-tab .total-section h3{margin:0 0 var(--spacing-sm) 0;background:var(--gradient-success);-webkit-text-fill-color:transparent;letter-spacing:-.5px;text-shadow:0 0 30px #10b98180;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:800}.income-tab .total-section p,.expenses-tab .total-section p{color:var(--text-secondary);opacity:.8;margin:0;font-size:14px}.bulk-actions{margin-top:var(--spacing-lg);padding:var(--spacing-lg);border-radius:var(--radius-xl);border:1px solid var(--border-light);-webkit-backdrop-filter:none;box-shadow:var(--shadow-medium);background:#111c;position:relative;overflow:hidden}.bulk-actions:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#ef44441a 0%,#f59e0b1a 100%);position:absolute;inset:0}.bulk-actions p{margin:0 0 var(--spacing-md) 0;color:var(--text-primary);font-weight:600}.bulk-delete-button:hover:not(:disabled){box-shadow:var(--shadow-glow-red);background:#d32f2f;transform:translateY(-1px);box-shadow:0 4px 12px #d32f2f4d}.bulk-delete-button:disabled{opacity:.6;cursor:not-allowed}.transactions-list{border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-medium);contain:layout style paint;background:#141414e6;margin-bottom:0;padding:0;position:relative;overflow:hidden}.transactions-list:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#3b82f60d 0%,#6366f10d 100%);position:absolute;inset:0}.transactions-table{border-collapse:collapse;contain:layout style;will-change:auto;width:100%;margin:0;font-size:14px}.transactions-table th{padding:var(--spacing-lg);text-align:left;color:var(--text-secondary);text-transform:none;letter-spacing:1px;border-bottom:1px solid var(--border-light);will-change:auto;background:#111111f2;font-size:13px;font-weight:700;position:relative}.transactions-table td{padding:var(--spacing-lg);border-bottom:1px solid var(--border-light);color:var(--text-primary);will-change:background-color;background:#141414cc;transition:background-color .2s;position:relative}.transactions-table tr:hover td{background:#3b82f61a}.transactions-table tr.selected td{border-color:var(--accent-blue);background:#3b82f633}.transactions-table tr:last-child td{border-bottom:none}.transactions-table .amount{color:var(--accent-green);font-size:15px;font-weight:700;font-family:var(--font-primary)}.transactions-table .timestamp{color:var(--text-tertiary);font-size:12px}.select-all-checkbox,.transaction-checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--accent-blue)}.delete-button{background:var(--gradient-danger);color:var(--primary-white);border-radius:var(--radius-small);cursor:pointer;width:28px;height:28px;box-shadow:var(--shadow-light);border:none;justify-content:center;align-items:center;font-size:16px;font-weight:700;transition:all .3s;display:flex}.delete-button:hover{box-shadow:var(--shadow-glow-red);background:#d32f2f;transform:scale(1.1)}.no-transactions{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-light);-webkit-backdrop-filter:none;box-shadow:var(--shadow-medium);letter-spacing:.3px;background:#111c;font-style:italic;font-weight:500}.expenses-tab h2{margin:0 0 var(--spacing-xl) 0;color:#fff;text-align:left;letter-spacing:-.5px;text-shadow:0 0 20px #ffffff4d;padding:var(--spacing-xl) var(--spacing-lg) 0;font-size:32px;font-weight:800}.expenses-tab .total-section{text-align:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-xl);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-medium);-webkit-backdrop-filter:none;background:#141414cc;position:relative;overflow:hidden}.expenses-tab .total-section:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#ef44441a 0%,#f59e0b1a 100%);position:absolute;inset:0}.expenses-tab .total-section h3{margin:0 0 var(--spacing-sm) 0;background:var(--gradient-danger);-webkit-text-fill-color:transparent;letter-spacing:-.5px;text-shadow:0 0 30px #ef444480;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:800}.expenses-tab .transactions-table .amount{color:var(--accent-red);font-size:15px;font-weight:700;font-family:var(--font-primary)}.expense-type{text-transform:none;letter-spacing:0;border-radius:50px;padding:4px 8px;font-size:11px;font-weight:600}.expense-type.business{color:var(--primary-blue);background-color:#3b82f61a;border:1px solid #3b82f633}.expense-type.personal{color:var(--text-secondary);background-color:#9ca3af1a;border:1px solid #9ca3af33}.income-type{text-transform:none;letter-spacing:0;border-radius:50px;padding:4px 8px;font-size:11px;font-weight:600}.income-type.business{color:var(--primary-blue);background-color:#3b82f61a;border:1px solid #3b82f633}.income-type.personal{color:var(--text-secondary);background-color:#9ca3af1a;border:1px solid #9ca3af33}.readonly-field{color:var(--text-secondary);cursor:not-allowed;background-color:#11111180}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirmation-modal{border:1px solid var(--border-light);border-radius:var(--radius-xl);width:500px;max-width:500px;max-height:90vh;box-shadow:none;-webkit-backdrop-filter:none;background:#141414e6;flex-direction:column;padding:0;animation:.3s ease-out modalSlideIn;display:flex;position:relative;overflow:hidden}.confirmation-modal .modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-light);background:0 0;justify-content:space-between;align-items:center;display:flex}.confirmation-modal .modal-header h3{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.confirmation-modal .close-btn{color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-small);background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.confirmation-modal .close-btn:hover{background:var(--bg-secondary);color:var(--accent-red)}.confirmation-modal .modal-content{padding:var(--spacing-lg);background:0 0;border:none;flex:1;overflow-y:auto}.confirmation-message{margin:0 0 var(--spacing-lg) 0;color:var(--text-secondary);font-size:1rem;line-height:1.5}.confirmation-modal .modal-actions{gap:var(--spacing-md);margin-top:var(--spacing-lg);justify-content:flex-end;display:flex}.confirmation-modal .cancel-btn,.confirmation-modal .confirm-btn{padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--border-light);border-radius:var(--radius-medium);cursor:pointer;background:var(--bg-secondary);min-width:80px;color:var(--text-primary);font-size:.9rem;font-weight:500;transition:all .3s}.confirmation-modal .cancel-btn:hover{background:var(--bg-tertiary);border-color:var(--border-medium);transform:translateY(-1px)}.confirmation-modal .confirm-btn{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.confirmation-modal .confirm-btn:hover{background:var(--accent-blue-hover);border-color:var(--accent-blue-hover);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.confirmation-modal .confirm-btn.destructive{background:var(--accent-red);border-color:var(--accent-red)}.confirmation-modal .confirm-btn.destructive:hover{background:var(--accent-red-hover);border-color:var(--accent-red-hover);box-shadow:0 4px 12px #ef44444d}.modal-content{box-shadow:none;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:1px solid #ffffff1a;border-radius:12px;width:500px;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:24px;display:flex}.modal-header h3{color:var(--text-primary);margin:0;font-size:20px;font-weight:600}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:24px;transition:all .2s}.modal-close:hover{color:var(--accent-red);background:#ef44441a}.edit-form{padding:32px 24px}.edit-form .form-row{grid-template-columns:1fr 1fr;gap:16px;width:100%;margin-bottom:20px;display:grid}.edit-form .form-row.single{grid-template-columns:1fr}.edit-form .form-row.tax-preview{grid-template-columns:1fr 1fr;gap:8px;margin-top:0;margin-bottom:20px}.edit-form .form-group{flex-direction:column;gap:6px;display:flex}.edit-form .form-group label{color:var(--text-primary);margin:0;font-size:14px;font-weight:500}.edit-form .form-group input,.edit-form .form-group select{color:var(--text-primary);box-sizing:border-box;background:#ffffff0d;border:1px solid #fff3;border-radius:8px;padding:12px 16px;font-size:14px;transition:all .2s}.edit-form .form-group input:focus,.edit-form .form-group select:focus{border-color:var(--accent-blue);background:#ffffff14;outline:none;box-shadow:0 0 0 3px #3b82f61a}.edit-form .form-group input:hover,.edit-form .form-group select:hover{background:#ffffff14;border-color:#ffffff4d}.preview-field{color:var(--accent-green);text-align:center;background:#10b9811a;border:1px solid #10b9814d;border-radius:6px;justify-content:center;align-items:center;min-height:32px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.modal-actions{justify-content:flex-end;gap:12px;padding:20px 24px 24px;display:flex}.submit-btn{background:linear-gradient(135deg, var(--accent-blue) 0%, #2563eb 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;min-width:120px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width:768px){.modal-content{width:95%;max-width:none;margin:20px}.modal-header{margin-bottom:20px;padding:20px 20px 0}.edit-form{padding:0 20px 20px}.edit-form .form-row{grid-template-columns:1fr;gap:12px;margin-bottom:16px}.modal-actions{padding:16px 20px 20px}.submit-btn{width:100%}}.income-tab .transactions-table .amount{color:var(--accent-green);font-size:15px;font-weight:700;font-family:var(--font-primary)}.income-tab .transactions-table .gross-amount{color:var(--accent-green)}.income-tab .transactions-table .net-amount{color:var(--accent-blue)}.income-tab .transactions-table .tax-amount{color:var(--text-secondary);font-size:14px}.income-tab .transactions-table .tax-percentage{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.income-tab .transactions-list{-webkit-overflow-scrolling:touch;contain:layout style paint;will-change:scroll-position;max-width:100%;overflow-x:auto}.income-tab .transactions-table{width:100%;min-width:1000px}.expenses-tab .transactions-list{-webkit-overflow-scrolling:touch;contain:layout style paint;will-change:scroll-position;max-width:100%;overflow-x:auto}.expenses-tab .transactions-table{width:100%;min-width:1000px}.income-tab,.expenses-tab{box-sizing:border-box;width:100%;max-width:100%}.income-tab .summary-section,.income-tab .category-breakdown,.income-tab .transaction-management-section,.expenses-tab .summary-section,.expenses-tab .category-breakdown,.expenses-tab .transaction-management-section{box-sizing:border-box;width:100%;max-width:100%;overflow:visible}.bulk-actions-section{margin-top:var(--spacing-lg)}.bulk-actions-card{border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-medium);-webkit-backdrop-filter:none;background:#141414cc;position:relative;overflow:hidden}.bulk-actions-card:before{content:"";background:var(--gradient-danger);height:3px;box-shadow:var(--shadow-glow-red);position:absolute;top:0;left:0;right:0}.bulk-actions-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.bulk-actions-header h4{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}.bulk-status{color:var(--text-secondary);font-size:.9rem;font-weight:500}.bulk-actions-content{gap:var(--spacing-lg);flex-direction:column;display:flex}.bulk-tax-section{border:1px solid var(--border-light);border-radius:var(--radius-medium);padding:var(--spacing-md);background:#14141499}.bulk-tax-header h5{margin:0 0 var(--spacing-xs) 0;color:var(--text-primary);font-size:14px;font-weight:600}.bulk-tax-header p{margin:0 0 var(--spacing-md) 0;color:var(--text-secondary);font-size:12px}.bulk-tax-controls{gap:var(--spacing-md);justify-content:flex-start;display:flex}.bulk-tax-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--gradient-primary);color:var(--primary-white);border-radius:var(--radius-medium);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-medium);letter-spacing:0;text-transform:none;border:none;font-size:14px;font-weight:600;transition:all .3s}.bulk-tax-button:hover:not(:disabled){box-shadow:var(--shadow-glow);background:var(--gradient-secondary);transform:translateY(-2px)}.bulk-tax-button:disabled{background:var(--text-tertiary);cursor:not-allowed;box-shadow:none;opacity:.6;transform:none}.bulk-tax-remove-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--gradient-warning);color:var(--primary-white);border-radius:var(--radius-medium);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-medium);letter-spacing:0;text-transform:none;border:none;font-size:14px;font-weight:600;transition:all .3s}.bulk-tax-remove-button:hover:not(:disabled){background:linear-gradient(135deg,#f59e0b 0%,#fbbf24 100%);transform:translateY(-2px);box-shadow:0 0 0 1px #f59e0b4d}.bulk-tax-remove-button:disabled{background:var(--text-tertiary);cursor:not-allowed;box-shadow:none;opacity:.6;transform:none}.bulk-delete-section{border-top:1px solid var(--border-light);padding-top:var(--spacing-md);justify-content:flex-end;display:flex}.bulk-delete-button{background:var(--gradient-danger);color:var(--primary-white);border-radius:var(--radius-medium);padding:var(--spacing-sm) var(--spacing-lg);cursor:pointer;box-shadow:var(--shadow-medium);letter-spacing:0;text-transform:none;border:none;font-size:14px;font-weight:600;transition:all .3s}.bulk-delete-button:hover:not(:disabled){box-shadow:var(--shadow-glow-red);background:linear-gradient(135deg,#dc2626 0%,#ef4444 100%);transform:translateY(-2px)}.bulk-delete-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.transaction-form h2{margin:0 0 var(--spacing-xl) 0;color:#fff;text-align:left;letter-spacing:-.5px;text-shadow:0 0 20px #ffffff4d;padding:var(--spacing-xl) var(--spacing-lg) 0;font-size:32px;font-weight:800}.sub-tabs{margin-bottom:var(--spacing-xl);padding:var(--spacing-sm);border-radius:var(--radius-large);border:1px solid var(--border-light);-webkit-backdrop-filter:none;box-shadow:var(--shadow-medium);gap:var(--spacing-xs);background:#111c;display:flex;position:relative}.sub-tabs button{padding:var(--spacing-md) var(--spacing-lg);color:var(--text-secondary);border-radius:var(--radius-medium);cursor:pointer;z-index:2;box-shadow:none;background:0 0;border:none;flex:1;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.sub-tabs:before{content:"";top:var(--spacing-sm);left:var(--spacing-sm);height:calc(100% - var(--spacing-sm) * 2);width:calc(50% - var(--spacing-sm) - var(--spacing-xs) / 2);background:var(--gradient-primary);border-radius:var(--radius-medium);box-shadow:var(--shadow-glow);z-index:1;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute}.sub-tabs[data-active=single]:before{width:calc(33.333% - var(--spacing-sm) - var(--spacing-xs) / 3);transform:translate(0%)}.sub-tabs[data-active=bulk]:before{width:calc(33.333% - var(--spacing-sm) - var(--spacing-xs) / 3);transform:translateX(calc(100% + var(--spacing-xs)))}.sub-tabs[data-active=html]:before,.sub-tabs[data-active=sync]:before{width:calc(33.333% - var(--spacing-sm) - var(--spacing-xs) / 3);transform:translateX(calc(200% + var(--spacing-xs) * 2))}.sub-tabs[data-active=subcategory]:before,.sub-tabs[data-active=income]:before{transform:translateX(calc(100% + var(--spacing-xs)))}.sub-tabs button.active{color:var(--primary-white);text-shadow:0 1px 2px #0000004d;font-weight:700}.sub-tabs button:hover:not(.active){color:var(--text-primary);background:#ffffff0d;border:1px solid #ffffff1a;transform:translateY(-1px);box-shadow:0 4px 12px #0003,0 2px 6px #00000026,inset 0 1px #ffffff1a}.single-form,.bulk-form,.html-table-import{border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-xl) var(--spacing-lg);box-shadow:var(--shadow-medium);-webkit-backdrop-filter:none;background:#111c;position:relative;overflow:hidden}.single-form:before,.bulk-form:before,.html-table-import:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#3b82f60d 0%,#6366f10d 100%);position:absolute;inset:0}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{margin-bottom:var(--spacing-sm);color:var(--text-secondary);text-transform:none;letter-spacing:0;opacity:.8;font-size:12px;font-weight:600;display:block}.submit-button:hover:not(:disabled){background:#1976d2;transform:translateY(-1px);box-shadow:0 4px 12px #2196f34d}.submit-button:disabled{opacity:.6;cursor:not-allowed}.help-text{margin-top:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-medium);border:1px solid var(--border-light);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-light);word-wrap:break-word;background:#111c;overflow:hidden}.help-text p{margin:0 0 var(--spacing-xs) 0;color:var(--text-secondary);font-size:13px;line-height:1.4}.help-text p:last-child{margin-bottom:0}.help-text strong{color:var(--text-primary);font-weight:600}.amount-filter-toggle-container{gap:var(--spacing-sm);margin-top:var(--spacing-xs);flex-direction:column;display:flex}.toggle-label-group{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-medium);background:#1119;flex-direction:column;transition:all .2s;display:flex}.toggle-label-group:hover{border-color:var(--text-secondary);background:#111c}.toggle-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.toggle-label-group .toggle-text{color:var(--text-primary);-webkit-user-select:none;user-select:none;flex:1;font-size:14px;font-weight:500}.toggle-description{margin-top:var(--spacing-xs)}.toggle-description p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.4}.toggle-description p:not(:last-child){margin-bottom:var(--spacing-xs)}.unified-add-form{border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-lg);margin:0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl);box-shadow:var(--shadow-medium);-webkit-backdrop-filter:none;background:#111c;position:relative;overflow:hidden}.unified-add-form:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#3b82f60d 0%,#6366f10d 100%);position:absolute;inset:0}.unified-add-form h3{margin:0 0 var(--spacing-lg) 0;background:var(--gradient-primary);-webkit-text-fill-color:transparent;letter-spacing:-.4px;text-shadow:0 0 20px #3b82f680;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:800}.category-type-tabs{margin-bottom:var(--spacing-xl)}.expense-categories,.income-categories{gap:var(--spacing-xl);flex-direction:column;display:flex}.unified-add-form .form-row{gap:var(--spacing-md);flex-wrap:wrap;align-items:flex-end;display:flex}.unified-add-form .form-group{gap:var(--spacing-xs);flex-direction:column;min-width:150px;display:flex}.unified-add-form .form-group label{color:var(--text-secondary);text-transform:none;letter-spacing:0;font-size:12px;font-weight:600}.unified-add-form select,.unified-add-form input{padding:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-medium);color:var(--text-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111c;font-size:15px;font-weight:500;transition:all .2s}.transactions-table th.sortable{-webkit-user-select:none;user-select:none;transition:all .2s}.transactions-table th.sortable:hover{color:var(--accent-blue);background:#3b82f633}.transactions-table th.sortable.active{background:var(--accent-blue);color:#fff}.filter-group input[type=date]{padding:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-medium);font-size:15px;font-family:var(--font-primary);color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(10px);background:#111c;font-weight:500;transition:all .3s}.filter-group input[type=date]:hover{border-color:var(--accent-blue);background:#3b82f61a;box-shadow:0 0 0 1px #3b82f633}.filter-group input[type=date]:focus{border-color:var(--accent-blue);box-shadow:var(--shadow-glow);background:#3b82f61a;outline:none}.filter-group input[type=date]::-webkit-calendar-picker-indicator{filter:invert();cursor:pointer}.filter-group input[type=date]::-webkit-datetime-edit-text{color:var(--text-primary)}.filter-group input[type=date]::-webkit-datetime-edit-month-field{color:var(--text-primary)}.filter-group input[type=date]::-webkit-datetime-edit-day-field{color:var(--text-primary)}.filter-group input[type=date]::-webkit-datetime-edit-year-field{color:var(--text-primary)}.filter-group .date-range-separator{color:var(--text-secondary);margin:0 var(--spacing-sm);-webkit-user-select:none;user-select:none;font-weight:500}.unified-add-form select:focus,.unified-add-form input:focus{border-color:var(--accent-blue);box-shadow:var(--shadow-glow);background:#3b82f61a;outline:none}.unified-add-form .add-button{background:var(--gradient-primary);color:#fff;border-radius:var(--radius-medium);padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;white-space:nowrap;border:none;align-self:flex-end;height:fit-content;font-size:14px;font-weight:600;transition:all .2s}.unified-add-form .add-button:hover{box-shadow:var(--shadow-glow);background:linear-gradient(135deg,#5a67d8 0%,#667eea 100%);transform:translateY(-2px)}.add-category,.add-subcategory{border:1px solid var(--border-light);border-radius:var(--radius-xl);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-medium);-webkit-backdrop-filter:none;background:#111c;padding:0;position:relative;overflow:hidden}.add-category:before,.add-subcategory:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#3b82f60d 0%,#6366f10d 100%);position:absolute;inset:0}.add-category h3,.add-subcategory h3{margin:0 0 var(--spacing-lg) 0;background:var(--gradient-primary);-webkit-text-fill-color:transparent;letter-spacing:-.4px;text-shadow:0 0 20px #3b82f680;padding:var(--spacing-xl) var(--spacing-lg) 0;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:800}.add-category form,.add-subcategory form{gap:var(--spacing-md);padding:0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl);flex-wrap:wrap;align-items:flex-end;display:flex}.add-category select,.add-subcategory select,.add-category input,.add-subcategory input{padding:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-medium);color:var(--text-primary);-webkit-backdrop-filter:blur(10px);background:#111c;min-width:150px;font-size:15px;font-weight:500;transition:all .2s}.add-category select:focus,.add-subcategory select:focus,.add-category input:focus,.add-subcategory input:focus{border-color:var(--accent-blue);box-shadow:var(--shadow-glow);background:#3b82f61a;outline:none}.add-category button,.add-subcategory button{background:var(--gradient-primary);color:#fff;border-radius:var(--radius-medium);padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-medium);text-shadow:0 1px 2px #0000004d;border:none;font-size:14px;font-weight:600;transition:all .2s}.add-category button:hover,.add-subcategory button:hover{box-shadow:var(--shadow-glow);background:linear-gradient(135deg,#5a67d8 0%,#667eea 100%);transform:translateY(-2px)}.categories-display{gap:var(--spacing-xl);background:0 0;flex-direction:column;padding:0;display:flex}.category-section-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.header-actions{align-items:flex-end;gap:var(--spacing-md);padding-right:var(--spacing-md);display:flex}.add-new-button{color:var(--primary-white);border-radius:var(--radius-medium);box-sizing:border-box;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#3b82f6e6 0%,#60a5facc 50%,#3b82f6e6 100%);border:1px solid #3b82f64d;height:32px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 12px #3b82f64d,0 2px 4px #0000001a,inset 0 1px #fff3}.add-new-button:hover{background:linear-gradient(135deg,#3b82f6 0%,#60a5fae6 50%,#3b82f6 100%);transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666,0 4px 8px #00000026,inset 0 1px #ffffff4d}.add-new-button.close-mode{color:var(--primary-white);background:linear-gradient(135deg,#ef4444e6 0%,#f87171cc 50%,#ef4444e6 100%);border:1px solid #ef44444d;box-shadow:0 4px 12px #ef44444d,0 2px 4px #0000001a,inset 0 1px #fff3}.add-new-button.close-mode:hover{background:linear-gradient(135deg,#ef4444 0%,#f87171e6 50%,#ef4444 100%);transform:translateY(-2px);box-shadow:0 8px 20px #ef444466,0 4px 8px #00000026,inset 0 1px #ffffff4d}.category-count{color:var(--text-primary);border-radius:var(--radius-medium);text-transform:none;letter-spacing:0;border:1px solid var(--border-light);box-shadow:none;box-sizing:border-box;-webkit-backdrop-filter:none;background:#111c;align-items:center;height:32px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.expense-categories h3,.income-categories h3{margin:0 0 var(--spacing-lg) 0;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;text-shadow:0 0 30px #3b82f680;padding:var(--spacing-xl) var(--spacing-lg) 0;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800}.category-group{border-radius:var(--radius-large);-webkit-backdrop-filter:none;box-shadow:var(--shadow-medium);background:#111c;position:relative;overflow:hidden}.category-header{padding:var(--spacing-lg)}.category-title-row{justify-content:space-between;align-items:center;display:flex}.category-info h4{color:var(--text-primary);letter-spacing:-.2px;margin:0;font-size:18px;font-weight:600}.business-toggle{align-items:center;gap:var(--spacing-sm);display:flex}.toggle-switch{background:var(--border-light);cursor:pointer;border:none;border-radius:12px;width:44px;height:24px;transition:all .3s;position:relative;min-height:0!important}.action-buttons{gap:var(--spacing-xs);display:flex}.edit-form{gap:var(--spacing-sm);align-items:center;display:flex}.edit-form input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-small);background:var(--primary-white);color:var(--text-primary);flex:1;font-size:14px}.subcategory-list{padding:var(--spacing-md) var(--spacing-lg);gap:var(--spacing-sm);flex-direction:column;display:flex}.subcategory-item{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-medium);-webkit-backdrop-filter:blur(10px);box-sizing:border-box;background:#14141499;justify-content:space-between;align-items:center;width:100%;transition:all .2s;display:flex;position:relative;overflow:hidden}.subcategory-item:hover{border-color:var(--accent-blue);background:#3b82f61a;transform:translate(4px);box-shadow:0 4px 20px #3b82f633}.subcategory-name{color:var(--text-primary);font-size:14px;font-weight:500}.subcategory-actions{gap:var(--spacing-xs);display:flex}.budget-section{margin-top:var(--spacing-lg);border-radius:var(--radius-xl);border:1px solid var(--border-light);-webkit-backdrop-filter:none;box-shadow:var(--shadow-medium);background:#141414cc;padding:0;position:relative;overflow:hidden}.budget-section:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#3b82f60d 0%,#6366f10d 100%);position:absolute;inset:0}.budget-section h4{margin:0 0 var(--spacing-md) 0;color:var(--text-secondary);text-transform:none;letter-spacing:0;padding:var(--spacing-lg) var(--spacing-lg) 0 var(--spacing-lg);font-size:14px;font-weight:600}.budget-input{align-items:center;gap:var(--spacing-sm);padding:0 var(--spacing-lg) var(--spacing-lg) var(--spacing-lg);display:flex}.budget-input input{width:80px;padding:var(--spacing-sm);border:1px solid var(--border-light);border-radius:var(--radius-medium);text-align:center;color:var(--text-primary);-webkit-backdrop-filter:blur(10px);background:#111c;font-size:14px;transition:all .3s}.budget-input input:hover{border-color:var(--accent-blue);background:#3b82f61a;box-shadow:0 0 0 1px #3b82f633}.budget-input input:focus{border-color:var(--accent-blue);box-shadow:var(--shadow-glow);background:#3b82f61a;outline:none}.budget-input span{color:var(--text-secondary);font-size:14px}.category-breakdown .subcategories{padding:var(--spacing-md) var(--spacing-lg);gap:var(--spacing-sm);flex-direction:column;display:flex}.subcategory-content{justify-content:space-between;align-items:center;width:100%;display:flex}.subcategory-content span{color:var(--text-primary);font-size:14px;font-weight:500}.income-categories p,.expense-categories p{text-align:center;padding:0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl);color:var(--text-secondary);border-radius:var(--radius-medium);border:1px solid var(--border-light);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-light);background:#111c;font-style:italic}.loading{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary);font-style:italic}.error-message{background:var(--accent-red);color:var(--primary-white);padding:var(--spacing-md);border-radius:var(--radius-small);margin-bottom:var(--spacing-lg);border:1px solid var(--accent-red);text-align:center;font-size:14px;font-weight:500;box-shadow:0 2px 8px #0000001a}.success-message{background:var(--accent-green);color:var(--primary-white);padding:var(--spacing-md);border-radius:var(--radius-small);margin-bottom:var(--spacing-lg);border:1px solid var(--accent-green);text-align:center;font-size:14px;font-weight:500;box-shadow:0 2px 8px #0000001a}.loading{text-align:center;padding:var(--spacing-xxl);color:var(--text-secondary)}.loading h3{margin-bottom:var(--spacing-sm);font-size:18px;font-weight:500}.loading p{color:var(--text-tertiary);font-size:15px}.category-management{max-width:100%;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;padding:0;position:relative;overflow:visible}.category-management h2{margin:0 0 var(--spacing-xl) 0;color:#fff;text-align:left;letter-spacing:-.5px;text-shadow:0 0 20px #ffffff4d;padding:var(--spacing-xl) var(--spacing-lg) 0;font-size:32px;font-weight:800}.category-management h3{margin:0 0 var(--spacing-lg) 0;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;padding:var(--spacing-xl) var(--spacing-lg) 0;text-shadow:0 0 30px #3b82f680;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800}.category-management .category-header{margin-bottom:var(--spacing-lg);padding-left:0;padding-right:0}.category-management .category-header.no-subcategories{margin-bottom:0}.category-management .subcategories{padding-right:0}.budget-header{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.budget-category-info{align-items:center;gap:var(--spacing-xs);display:flex}.budget-header .expand-arrow{color:var(--text-secondary);font-size:12px;transition:transform .2s}.budget-header .expand-arrow.expanded{transform:rotate(180deg)}.subcategory-budget-list{margin-top:var(--spacing-md);padding-left:var(--spacing-lg);border-left:2px solid var(--border-light)}.subcategory-budget-item{border-radius:var(--radius-medium);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);border:1px solid var(--border-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111c}.subcategory-budget-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.subcategory-budget-header .subcategory-name{color:var(--text-primary);font-weight:600}.subcategory-budget-status{border-radius:var(--radius-small);background:#ffffff1a;padding:4px 12px;font-size:12px;font-weight:600}.subcategory-budget-details{margin-bottom:var(--spacing-sm)}.subcategory-budget-details .budget-row{margin-bottom:var(--spacing-xs);justify-content:space-between;font-size:14px;display:flex}.subcategory-budget-details .budget-row:last-child{margin-bottom:0}.budget-totals{gap:var(--spacing-xs);flex-direction:column;display:flex}.budget-total.business,.budget-total.personal{color:#fbbf24;font-weight:600}.budget-total.business.at-limit,.budget-total.personal.at-limit{color:#22c55e;font-weight:700}.add-category form,.add-subcategory form{gap:var(--spacing-sm);flex-wrap:nowrap;align-items:center;max-width:100%;margin:0;display:flex}.expense-categories,.income-categories{border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-medium);-webkit-backdrop-filter:none;background:#141414cc;padding:0;position:relative;overflow:hidden}.expense-categories:before,.income-categories:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#3b82f60d 0%,#6366f10d 100%);position:absolute;inset:0}.category-list{gap:var(--spacing-lg);padding:0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl);flex-direction:column;display:flex}.category-group{border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-medium);-webkit-backdrop-filter:none;background:#111c;transition:all .3s;position:relative;overflow:hidden}.category-group:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#ffffff0d 0%,#ffffff05 100%);position:absolute;inset:0}.category-group:hover{box-shadow:var(--shadow-glow);transform:translateY(-4px)scale(1.02)}.category-info{flex:1}.category-title-row h4{color:var(--text-primary);letter-spacing:-.3px;margin:0;font-size:18px;font-weight:600}.category-actions{align-items:center;gap:var(--spacing-sm);display:flex}.business-toggle{margin-right:var(--spacing-sm);align-items:center;display:flex}.toggle-label{align-items:center;gap:var(--spacing-sm);cursor:pointer;color:var(--text-secondary);font-size:13px;font-weight:500;display:flex}.toggle-label:hover{color:var(--text-primary)}.toggle-switch{background:var(--border-light);cursor:pointer;border:none;border-radius:13px;outline:none;width:44px;height:26px;transition:all .3s;position:relative;min-height:0!important}.toggle-switch.active{background:var(--accent-green)}.toggle-switch:before{content:"";background:var(--primary-white);border-radius:50%;width:22px;height:22px;transition:all .3s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.toggle-switch.active:before{transform:translate(18px)}.toggle-text{-webkit-user-select:none;user-select:none;font-size:13px;font-weight:500}.subcategory-item:last-child{margin-bottom:0}.subcategory-content{padding:var(--spacing-xs) 0;background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.subcategory-header-row{padding:var(--spacing-sm) 0;box-sizing:border-box;grid-template-columns:1fr auto;align-items:start;gap:20px;width:100%;display:grid}.subcategory-right-section{justify-content:flex-end;align-items:center;gap:20px;display:flex}.subcategory-content span{color:var(--text-secondary);font-size:14px;font-weight:400;position:relative}.subcategory-name-input{color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-sm);background:var(--background-secondary);border:2px solid var(--accent-blue);border-radius:var(--radius-small);outline:none;align-self:center;width:150px;max-width:200px;height:32px;font-size:16px;font-weight:600;transition:all .2s}.subcategory-name-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f61a}.read-only-value{color:var(--text-primary);text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:0;width:auto;height:auto;padding:0;font-size:13px;font-weight:500;display:inline}.budget-remaining-text{color:var(--text-secondary);margin-left:4px;font-size:11px;font-weight:400}.budget-remaining-text.has-remaining{color:#fbbf24;font-weight:500}.category-name-input{color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-sm);background:var(--background-secondary);border:2px solid var(--accent-blue);border-radius:var(--radius-small);outline:none;align-self:center;width:150px;height:32px;font-size:18px;font-weight:600;transition:all .2s}.category-name-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f61a}.subcategory-actions{gap:var(--spacing-sm);opacity:0;transition:opacity .2s;display:flex}.subcategory-content:hover .subcategory-actions{opacity:1}.edit-form{gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-small);box-shadow:var(--shadow-light);-webkit-backdrop-filter:blur(10px);background:#111c;align-items:center;display:flex}.edit-form input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-small);background:var(--primary-white);color:var(--text-primary);flex:1;font-family:inherit;font-size:14px;transition:all .2s}.edit-form input:focus{border-color:var(--primary-black);outline:none;box-shadow:0 0 0 2px #0000001a}.save-btn{background:var(--primary-black);color:var(--primary-white);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-small);cursor:pointer;border:none;min-width:60px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.save-btn:hover{background:var(--secondary-black);box-shadow:var(--shadow-light);transform:translateY(-1px)}.cancel-btn{color:var(--text-secondary);border:1px solid var(--border-light);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-small);cursor:pointer;background:0 0;min-width:60px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.cancel-btn:hover{background:var(--secondary-white);border-color:var(--border-medium);color:var(--text-primary)}.edit-btn{color:var(--text-secondary);border:1px solid var(--border-light);padding:var(--spacing-sm);border-radius:var(--radius-small);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:32px;height:32px;font-family:inherit;font-size:14px;font-weight:400;transition:all .2s;display:flex}.edit-btn:hover{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue);transform:translateY(-1px);box-shadow:0 0 0 1px #3b82f64d}.delete-btn{color:var(--text-secondary);border:1px solid var(--border-light);padding:var(--spacing-sm);border-radius:var(--radius-small);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:32px;height:32px;font-family:inherit;font-size:14px;font-weight:400;transition:all .2s;display:flex}.delete-btn:hover{background:var(--accent-red);color:var(--primary-white);border-color:var(--accent-red);box-shadow:var(--shadow-light);transform:translateY(-1px)}@media (max-width:768px){.categories-display{gap:var(--spacing-lg)}.category-section-header,.category-section-header h3{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column;padding-left:var(--spacing-md)!important;padding-right:var(--spacing-md)!important}.expense-categories h3,.income-categories h3,.category-management h2,.taxes-page h2{padding-left:var(--spacing-md)!important;padding-right:var(--spacing-md)!important}.header-actions{align-items:flex-start;gap:var(--spacing-md);flex-direction:column}.add-new-button{text-align:center;width:100%}.unified-add-form{margin:0 var(--spacing-md) var(--spacing-md) var(--spacing-md)}.add-category form,.add-subcategory form{align-items:stretch;gap:var(--spacing-md);flex-direction:column}.add-category select,.add-category input,.add-subcategory select,.add-subcategory input,.add-category button,.add-subcategory button{width:100%;min-width:auto}.unified-add-form .form-row{align-items:stretch;gap:var(--spacing-md);flex-direction:column}.unified-add-form .form-group,.unified-add-form select,.unified-add-form input,.unified-add-form .add-button{width:100%;min-width:auto}.unified-add-form .add-button{align-self:stretch}.category-type-tabs{margin-bottom:var(--spacing-lg)}.category-title-row{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}.category-actions{align-self:flex-end}.category-breakdown .subcategories{margin-left:var(--spacing-md);padding-left:var(--spacing-md)}}.category-tabs{margin-bottom:var(--spacing-xl);justify-content:center;gap:var(--spacing-md);background:0 0;padding:0;display:flex}.category-tabs button{color:var(--text-tertiary);padding:var(--spacing-sm) 0;cursor:pointer;letter-spacing:-.1px;background:0 0;border:none;font-size:15px;font-weight:400;transition:all .2s;position:relative}.category-tabs button:hover{color:var(--text-secondary)}.category-tabs button.active{color:var(--text-primary);font-weight:500}.category-tabs button.active:after{content:"";background:var(--text-primary);height:1px;position:absolute;bottom:-2px;left:0;right:0}.add-category-section,.add-subcategory-section{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--tertiary-white);border-radius:var(--radius-medium);border:1px solid var(--border-light)}.add-category-section h3,.add-subcategory-section h3{margin:0 0 var(--spacing-lg) 0;background:var(--gradient-primary);-webkit-text-fill-color:transparent;letter-spacing:-.5px;padding:var(--spacing-xl) var(--spacing-lg) 0;text-shadow:0 0 30px #3b82f680;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800}.add-category-section .form-group,.add-subcategory-section .form-group{gap:var(--spacing-sm);flex-wrap:wrap;align-items:center;display:flex}.add-category-section input,.add-subcategory-section input,.add-subcategory-section select{min-width:200px;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-medium);border-radius:var(--radius-small);background:var(--primary-white);color:var(--text-primary);flex:1;font-size:15px}.add-button{background:var(--accent-blue);color:var(--primary-white);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-small);cursor:pointer;white-space:nowrap;border:none;font-size:14px;font-weight:500;transition:all .2s}.add-button:hover{box-shadow:var(--shadow-light);background:#0056b3;transform:translateY(-1px)}.categories-list h3{margin:0 0 var(--spacing-lg) 0;background:var(--gradient-secondary);-webkit-text-fill-color:transparent;letter-spacing:-.5px;padding:var(--spacing-xl) var(--spacing-lg) 0;text-shadow:0 0 30px #6366f180;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800}.no-categories{text-align:center;color:var(--text-secondary);padding:var(--spacing-xl);background:var(--tertiary-white);border-radius:var(--radius-medium);border:1px solid var(--border-light);font-style:italic}.category-items{gap:var(--spacing-md);display:grid}.category-item{background:var(--primary-white);border:1px solid var(--border-light);border-radius:var(--radius-medium);padding:var(--spacing-lg);box-shadow:var(--shadow-light);transition:all .2s}.category-item:hover{box-shadow:var(--shadow-medium);transform:translateY(-1px)}.category-header h4{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.business-toggle{align-items:center;display:flex}.toggle-label{align-items:center;gap:var(--spacing-sm);cursor:pointer;color:var(--text-secondary);font-size:14px;display:flex}.toggle-input{display:none}.toggle-slider{background:var(--border-light);border-radius:20px;width:40px;height:20px;transition:all .2s;position:relative}.toggle-slider:before{content:"";background:var(--primary-white);width:16px;height:16px;box-shadow:var(--shadow-light);border-radius:50%;transition:all .2s;position:absolute;top:2px;left:2px}.toggle-input:checked+.toggle-slider{background:var(--text-primary)}.toggle-input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-text{color:var(--text-secondary);font-size:12px;font-weight:500}.category-actions{gap:var(--spacing-sm);align-items:center;display:flex}.edit-category-form{align-items:center;gap:var(--spacing-sm);flex:1;display:flex}.category-edit-input{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--accent-blue);border-radius:var(--radius-small);background:var(--primary-white);color:var(--text-primary);flex:1;font-size:16px;font-weight:600}.category-edit-input:focus{outline:none;box-shadow:0 0 0 2px #007aff33}.edit-buttons{gap:var(--spacing-xs);display:flex}.edit-icon{color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-small);background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;font-weight:400;transition:all .2s;display:flex}.edit-icon:hover{color:var(--text-primary);background:var(--tertiary-white)}.save-icon{color:var(--text-primary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-small);background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;font-weight:700;transition:all .2s;display:flex}.save-icon:hover{color:var(--accent-green);background:var(--tertiary-white)}.cancel-icon{color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-small);background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;font-weight:700;transition:all .2s;display:flex}.cancel-icon:hover{color:var(--accent-red);background:var(--tertiary-white)}.delete-icon{color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-small);background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;font-weight:400;transition:all .2s;display:flex}.delete-icon:hover{color:var(--accent-red);background:var(--tertiary-white)}.other-context .subcategories{gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap;display:flex}.delete-subcategory-icon{color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-small);margin-left:var(--spacing-xs);background:0 0;border:none;justify-content:center;align-items:center;font-size:14px;font-weight:400;transition:all .2s;display:flex}.delete-subcategory-icon:hover{color:var(--accent-red);background:var(--tertiary-white)}.budget-settings{padding:var(--spacing-lg);background:var(--tertiary-white);border-radius:var(--radius-medium);border:1px solid var(--border-light)}.budget-settings h3{background:var(--gradient-warning);-webkit-text-fill-color:transparent;letter-spacing:-.5px;padding:var(--spacing-xl) var(--spacing-lg) 0;text-shadow:0 0 30px #f59e0b80;-webkit-background-clip:text;background-clip:text;margin:0;font-size:24px;font-weight:800}.budget-description{color:var(--text-secondary);margin:0 0 var(--spacing-lg) 0;opacity:.9;letter-spacing:.3px;font-size:15px;font-weight:500;line-height:1.5}.filter-indicator{color:var(--text-primary);font-style:italic;font-weight:500}.budget-items{gap:var(--spacing-md);display:grid}.budget-item{border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-medium);-webkit-backdrop-filter:none;background:#111c;transition:all .3s;position:relative;overflow:hidden}.budget-item:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);position:absolute;inset:0}.budget-item:hover{box-shadow:var(--shadow-heavy);border-color:var(--accent-blue);transform:translateY(-4px)scale(1.02)}.budget-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.budget-header h4{color:var(--text-primary);letter-spacing:-.2px;text-shadow:0 0 10px #fff3;flex:1;margin:0;padding:0;font-size:18px;font-weight:700}.current-percentage{color:var(--accent-blue);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-medium);-webkit-backdrop-filter:blur(10px);text-transform:none;letter-spacing:0;background:#3b82f61a;border:1px solid #3b82f64d;font-size:14px;font-weight:700}.budget-control{gap:var(--spacing-sm);align-items:center;display:flex}.budget-control input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-medium);color:var(--text-primary);-webkit-backdrop-filter:blur(10px);background:#111c;flex:1;font-size:15px;transition:all .3s}.budget-control input:hover{border-color:var(--accent-blue);background:#3b82f61a;box-shadow:0 0 0 1px #3b82f633}.budget-control input:focus{border-color:var(--accent-blue);box-shadow:var(--shadow-glow);background:#3b82f61a;outline:none}.update-button{background:var(--accent-green);color:var(--primary-white);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-small);cursor:pointer;white-space:nowrap;border:none;font-size:14px;font-weight:500;transition:all .2s}.update-button:hover{box-shadow:var(--shadow-light);background:#2fb344;transform:translateY(-1px)}.bulk-import{padding:var(--spacing-lg);background:var(--primary-white);border-radius:var(--radius-medium);box-shadow:var(--shadow-light);margin-bottom:var(--spacing-lg)}.mapping-row.auto-matched{border-radius:var(--radius-medium);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);background:#10b9811a;border:1px solid #10b9814d}.auto-match-badge{color:#10b981;text-transform:none;letter-spacing:0;margin-left:var(--spacing-sm);background:#10b98133;border:1px solid #10b9814d;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.mapping-row.skipped{border-radius:var(--radius-medium);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);opacity:.6;background:#9ca3af1a;border:1px solid #9ca3af33}.mapping-row.skipped .mapping-value{color:var(--text-secondary);text-decoration:line-through}.skip-badge{color:var(--text-secondary);text-transform:none;letter-spacing:0;margin-left:var(--spacing-sm);background:#9ca3af33;border:1px solid #9ca3af4d;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.bulk-import h2{color:var(--text-primary);margin-bottom:var(--spacing-lg);font-size:24px;font-weight:600}.bulk-import-form,.single-form,.bulk-form{gap:var(--spacing-md);flex-direction:column;display:flex}.form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-group label{color:var(--text-primary);font-size:14px;font-weight:500}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{border-color:var(--text-primary);outline:none;box-shadow:0 0 0 2px #0000001a}.form-group textarea{resize:vertical;min-height:120px;font-family:var(--font-primary);line-height:1.5}.help-text pre{color:var(--text-primary);padding:var(--spacing-xs);border-radius:var(--radius-small);border:1px solid var(--border-light);font-size:12px;font-family:var(--font-primary);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;background:#141414cc;max-width:100%;margin:0}.submit-button:hover:not(:disabled){background:var(--text-secondary);box-shadow:var(--shadow-medium);transform:translateY(-1px)}.submit-button:disabled{background:var(--border-light);color:var(--text-tertiary);cursor:not-allowed;box-shadow:none;transform:none}.success-message{background:var(--accent-green);color:var(--primary-white);padding:var(--spacing-sm);border-radius:var(--radius-small);font-size:14px;font-weight:500}.error-message{background:var(--accent-red);color:var(--primary-white);padding:var(--spacing-sm);border-radius:var(--radius-small);font-size:14px;font-weight:500}.mobile-menu-toggle{border:1px solid var(--border-light);border-radius:var(--radius-small);padding:var(--spacing-xs);cursor:pointer;-webkit-backdrop-filter:blur(10px);background:#111c;width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;max-height:36px;margin:0;transition:all .3s;display:none;position:relative;overflow:hidden}.mobile-menu-toggle:hover{border-color:var(--accent-blue);box-shadow:var(--shadow-medium);background:#111111e6;transform:translateY(-2px)}.mobile-menu-toggle:active{transform:translateY(0)}.mobile-menu-toggle svg{color:var(--text-primary);width:24px;height:24px;transition:all .3s}.mobile-menu-toggle:hover svg{color:var(--accent-blue);transform:scale(1.1)}.mobile-menu-close{top:var(--spacing-lg);right:var(--spacing-lg);border:1px solid var(--border-light);border-radius:var(--radius-medium);padding:var(--spacing-sm);cursor:pointer;-webkit-backdrop-filter:blur(10px);z-index:1001;background:#111c;min-width:44px;min-height:44px;transition:all .3s;display:none;position:absolute}.mobile-menu-close:hover{border-color:var(--accent-red);box-shadow:var(--shadow-medium);background:#111111e6;transform:translateY(-2px)}.mobile-menu-close svg{color:var(--text-primary);width:24px;height:24px;transition:all .3s}.mobile-menu-close:hover svg{color:var(--accent-red);transform:scale(1.1)}.sidebar-navigation.mobile-open{opacity:1;visibility:visible;transform:translate(0)}@media (min-width:769px){.mobile-menu-toggle{display:none!important}}@media (max-width:1024px){.app-main{padding:var(--spacing-lg);margin:0}.sidebar-shell,.sidebar-navigation{--sidebar-width:200px;width:var(--sidebar-width);min-width:var(--sidebar-width);max-width:var(--sidebar-width)}.sidebar-logo h1{font-size:20px}.summary-cards,.cards-grid{gap:var(--spacing-sm);padding-left:var(--spacing-md);padding-right:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width:768px){.app-layout{padding-left:0}.app-main{padding:var(--spacing-md) var(--spacing-md);width:100%;max-width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;overflow-x:hidden;margin:0!important}.overview-tab,.expenses-tab,.income-tab,.transaction-form{box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden;padding-left:0!important;padding-right:0!important}.app-header{padding:var(--spacing-md);justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-direction:row;height:auto;min-height:60px;display:flex!important;position:relative!important}.app-header h1,.app-header .mobile-brand{flex:1;min-width:auto;font-size:24px}.app-layout{flex-direction:row}.mobile-menu-toggle{right:var(--spacing-md)!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:var(--spacing-xs)!important;border-radius:var(--radius-small)!important;z-index:201!important;border:1px solid var(--border-light)!important;-webkit-backdrop-filter:blur(10px)!important;background:#111c!important;justify-content:center!important;align-items:center!important;margin:0!important;display:flex!important;position:absolute!important;top:50%!important;transform:translateY(-50%)!important}.mobile-menu-close{justify-content:center;align-items:center;display:flex}.sidebar-shell,.sidebar-navigation{z-index:1000;opacity:0;visibility:hidden;-webkit-backdrop-filter:none;background:#101218fa;border:none;border-left:1px solid #06b6d433;border-radius:0;flex-direction:column;width:min(320px,100vw);min-width:0;max-width:min(320px,100vw);height:100vh;max-height:100vh;padding:0;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s,visibility .3s;display:flex;top:0;left:auto;right:0;overflow:hidden;transform:translate(100%);box-shadow:-4px 0 24px #0000004d;position:fixed!important}.sidebar-shell.mobile-open,.sidebar-navigation.mobile-open{opacity:1;visibility:visible;transform:translate(0)}.sidebar-header{justify-content:flex-start;display:flex!important}.mobile-menu-close{display:none!important}.app-content{flex:1;width:100%;min-width:0}.mobile-menu-overlay{z-index:999;opacity:1;visibility:visible;-webkit-backdrop-filter:blur(4px);background:#0009;transition:opacity .3s,visibility .3s;animation:.3s fadeIn;position:fixed;inset:0;display:block!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar-header{flex-shrink:0}.nav-items{gap:var(--spacing-sm);padding:var(--spacing-md);-webkit-overflow-scrolling:touch;flex:auto;width:100%;min-height:0;max-height:100%;overflow-x:hidden;flex-direction:column!important;display:flex!important;overflow-y:auto!important}.sidebar-footer{padding:var(--spacing-md);width:100%;padding-bottom:calc(var(--spacing-lg) + env(safe-area-inset-bottom,0px));flex-shrink:0;margin-top:auto}.sidebar-footer .nav-item{width:100%}.nav-item{white-space:nowrap;border-radius:var(--radius-medium);align-items:center;min-width:100%;margin:0;width:100%!important;padding:var(--spacing-md) var(--spacing-lg)!important;flex-direction:row!important;display:flex!important}.nav-item .nav-icon{margin-right:var(--spacing-md);flex-shrink:0}.nav-item .nav-text{text-align:left;flex:1}.form-row{gap:var(--spacing-sm);grid-template-columns:1fr!important}input,select,textarea{padding:var(--spacing-md);box-sizing:border-box;width:100%;min-height:44px;font-size:16px}button{min-height:44px;padding:var(--spacing-md) var(--spacing-lg);width:100%;min-width:auto}input[type=checkbox],input[type=radio]{min-width:44px;min-height:44px;margin:0}.form-row{gap:var(--spacing-sm);flex-direction:column}.form-row>*{width:100%}.nav-items{padding:var(--spacing-md);gap:var(--spacing-md);flex-direction:row}.nav-item{white-space:nowrap;text-align:center;gap:var(--spacing-xs);min-width:120px;padding:var(--spacing-sm) var(--spacing-md);flex-direction:column}.nav-icon{width:18px;height:18px}.nav-text{font-size:12px}.category-tabs{gap:var(--spacing-sm);flex-direction:column}.category-tabs button{text-align:center;padding:var(--spacing-sm) var(--spacing-md)}.filters-section{flex-direction:column;align-items:stretch}.filter-group{justify-content:space-between}.transactions-table{font-size:14px}.transactions-table th,.transactions-table td{padding:var(--spacing-sm)}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.budget-grid{grid-template-columns:1fr}.overall-budget-header{align-items:stretch;gap:var(--spacing-lg);flex-direction:column}.budget-percentage-display{align-self:center}.summary-card .amount{font-size:24px}.total-section h3{font-size:28px}.bulk-import{padding:var(--spacing-md)}.bulk-import h2{font-size:20px}.form-group textarea{min-height:100px}.help-text pre{font-size:11px}.sub-tabs{flex-direction:column;gap:0}.bulk-actions{align-items:stretch;gap:var(--spacing-sm);flex-direction:column}.bulk-actions p{text-align:center}.sub-tabs button{text-align:center;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-light);border-right:none}.sub-tabs button.active{border-bottom-color:var(--text-primary)}}@media (max-width:480px){.app-main{padding:var(--spacing-sm);width:100%;max-width:100%;margin-left:0;margin-right:0;overflow-x:hidden}.overview-tab,.expenses-tab,.income-tab,.transaction-form{box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden}.transactions-table{font-size:12px}.summary-card .amount{font-size:20px}.total-section h3{font-size:24px}.bulk-import{padding:var(--spacing-sm)}.bulk-import h2{font-size:18px}.form-group textarea{min-height:80px}.help-text pre{font-size:10px}.sub-tabs button{padding:var(--spacing-xs) var(--spacing-sm);font-size:12px}.unified-add-form{margin:0 var(--spacing-sm) var(--spacing-sm) var(--spacing-sm)}}.html-table-import .category-mapping{margin:var(--spacing-lg) 0}.html-table-import .mapping-row{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-medium);margin-bottom:var(--spacing-sm);background:#141414cc;flex-wrap:wrap;display:flex}.html-table-import .mapping-source,.html-table-import .mapping-target{gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.html-table-import .mapping-label{color:var(--text-secondary);text-transform:none;letter-spacing:0;font-size:12px;font-weight:600}.html-table-import .mapping-value{color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-small);border:1px solid var(--border-light);background:#ffffff1a;font-weight:600}.html-table-import .mapping-arrow{color:var(--primary-blue);margin:0 var(--spacing-sm);font-size:18px;font-weight:700}.html-table-import .transaction-count{border-radius:var(--radius-medium);padding:var(--spacing-md);margin-top:var(--spacing-lg);text-align:center;background:#3b82f61a;border:1px solid #3b82f64d}.html-table-import .transaction-count p{color:var(--text-primary);margin:0;font-weight:500}.html-table-import .preview-summary{border:1px solid var(--border-light);border-radius:var(--radius-large);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);background:#141414cc}.html-table-import .preview-summary h4{margin:0 0 var(--spacing-md) 0;color:var(--text-primary);font-size:18px;font-weight:600}.html-table-import .summary-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.html-table-import .summary-item{padding:var(--spacing-sm) 0;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;display:flex}.html-table-import .summary-item:last-child{border-bottom:none}.html-table-import .summary-item .label{color:var(--text-secondary);font-weight:500}.html-table-import .summary-item .value{color:var(--text-primary);font-weight:600}.html-table-import .preview-transactions{border:1px solid var(--border-light);border-radius:var(--radius-large);padding:var(--spacing-lg);background:#141414cc}.html-table-import .preview-transactions h4{margin:0 0 var(--spacing-md) 0;color:var(--text-primary);font-size:18px;font-weight:600}.html-table-import .transactions-list{max-height:300px;overflow-y:auto}.html-table-import .transaction-preview{gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid #ffffff1a;grid-template-columns:1fr 1fr 1fr;align-items:center;display:grid}.html-table-import .transaction-preview:last-child{border-bottom:none}.html-table-import .transaction-preview .amount{color:var(--primary-blue);font-weight:600}.html-table-import .transaction-preview .category{color:var(--text-primary)}.html-table-import .transaction-preview .date{color:var(--text-secondary);font-size:12px}.html-table-import .more-transactions{text-align:center;padding:var(--spacing-md) 0;color:var(--text-secondary);font-style:italic}@media (max-width:768px){.html-table-import .mapping-row{align-items:stretch;gap:var(--spacing-sm);flex-direction:column}.html-table-import .mapping-source,.html-table-import .mapping-target{flex:none}.html-table-import .mapping-arrow{margin:var(--spacing-xs) 0;align-self:center}.transaction-category-row{align-items:stretch;gap:var(--spacing-md);flex-direction:column}.category-assignment,.category-selection,.subcategory-selection,.tax-location-selection{width:100%;min-width:auto}}.taxes-page{max-width:none;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;margin:0;padding:0;position:static;overflow:visible}.tax-locations-section{margin-bottom:var(--spacing-xl);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-medium);border:1px solid var(--border-light);-webkit-backdrop-filter:none;contain:layout style;background:#141414cc;position:relative;overflow:visible}.tax-locations-section:before{content:"";pointer-events:none;z-index:-1;border-radius:var(--radius-xl);background:linear-gradient(135deg,#3b82f60d 0%,#6366f10d 100%);position:absolute;inset:0}.taxes-page h2{margin:0 0 var(--spacing-xl) 0;color:#fff;text-align:left;letter-spacing:-.5px;text-shadow:0 0 20px #ffffff4d;padding:var(--spacing-xl) var(--spacing-lg) 0;font-size:32px;font-weight:800}.taxes-header{margin-bottom:var(--spacing-xl);padding:0 var(--spacing-lg);justify-content:space-between;align-items:flex-start;display:flex}@media (max-width:768px){.taxes-page h2,.taxes-header{padding-left:var(--spacing-md)!important;padding-right:var(--spacing-md)!important}}.taxes-header .header-info h3{margin:0 0 var(--spacing-sm) 0;color:var(--text-primary);background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:700}.taxes-header .header-info p{color:var(--text-secondary);margin:0;font-size:14px}.tax-location-form{border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-xl) var(--spacing-lg);margin:0 var(--spacing-lg) var(--spacing-xl) var(--spacing-lg);box-shadow:var(--shadow-medium);-webkit-backdrop-filter:none;background:#111c;position:relative;overflow:hidden}.tax-location-form:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#3b82f60d 0%,#6366f10d 100%);position:absolute;inset:0}.tax-location-form h3{margin:0 0 var(--spacing-lg) 0;color:var(--text-primary);font-size:20px;font-weight:600}.tax-location-form .form-row{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.tax-location-form .form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.tax-location-form .form-group label{color:var(--text-primary);font-size:14px;font-weight:600}.tax-location-form .form-group input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-medium);color:var(--text-primary);background:#141414cc;font-size:14px;transition:all .3s}.tax-location-form .form-group input:focus{border-color:var(--primary-blue);outline:none;box-shadow:0 0 0 2px #3b82f633}.tax-location-form .checkbox-label{align-items:center;gap:var(--spacing-sm);cursor:pointer;color:var(--text-primary);font-size:14px;font-weight:500;display:flex}.tax-location-form .checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-blue)}.tax-location-form .form-actions{gap:var(--spacing-md);justify-content:flex-end;display:flex}.tax-location-form .cancel-button,.tax-location-form .submit-button{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-medium);cursor:pointer;border:none;font-size:14px;font-weight:600;transition:all .3s}.tax-location-form .cancel-button{color:var(--text-primary);border:1px solid var(--border-light);background:#ffffff1a}.tax-location-form .cancel-button:hover{background:#fff3}.tax-location-form .submit-button{background:var(--gradient-primary);color:var(--primary-white);box-shadow:var(--shadow-glow)}.tax-location-form .submit-button:hover{box-shadow:var(--shadow-glow-hover);transform:translateY(-2px)}.tax-locations-list{padding:0 var(--spacing-xl) 0 var(--spacing-xl);gap:var(--spacing-md);flex-direction:column;display:flex}.tax-location-card{border:1px solid var(--border-light);border-radius:var(--radius-large);padding:var(--spacing-lg);background:#111c;justify-content:space-between;align-items:center;transition:all .3s;display:flex;position:relative;overflow:visible}.tax-location-card:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#3b82f60d 0%,#6366f10d 100%);position:absolute;inset:0}.tax-location-card.default{border-color:var(--primary-blue);box-shadow:0 0 0 1px #3b82f64d}.tax-location-card:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px)}.location-info{flex:1}.location-header{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);display:flex}.location-header h4{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.default-badge{background:var(--gradient-primary);color:var(--primary-white);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-small);text-transform:none;letter-spacing:0;font-size:12px;font-weight:600}.location-details{align-items:center;gap:var(--spacing-md);display:flex}.tax-rate{color:var(--primary-blue);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-small);background:#3b82f61a;border:1px solid #3b82f64d;font-size:16px;font-weight:600}.location-actions{gap:var(--spacing-sm);align-items:center;display:flex}.set-default-button,.edit-button,.delete-button{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-small);cursor:pointer;border:none;justify-content:center;align-items:center;min-width:32px;height:32px;font-size:12px;font-weight:600;transition:all .3s;display:flex}.set-default-button{color:var(--success-color);background:#22c55e1a;border:1px solid #22c55e4d}.set-default-button:hover{background:#22c55e33;transform:translateY(-1px)}.edit-button{color:var(--primary-blue);background:#3b82f61a;border:1px solid #3b82f64d}.edit-button:hover{background:#3b82f633;transform:translateY(-1px)}.delete-button{color:var(--error-color);background:#ef44441a;border:1px solid #ef44444d}.delete-button:hover{background:#ef444433;transform:translateY(-1px)}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary);background:#111c;font-style:italic}.tax-location-header-row{padding:var(--spacing-sm) 0;box-sizing:border-box;grid-template-columns:1fr auto auto auto;align-items:start;gap:20px;width:100%;display:grid}.tax-location-name-section{align-items:flex-end;gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.tax-location-input-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.tax-location-input-label{color:var(--text-secondary);text-transform:none;letter-spacing:.3px;text-align:left;font-size:11px;font-weight:600}.tax-location-read-group{gap:var(--spacing-xs);flex-direction:column;align-items:flex-start;display:flex}.tax-location-read-label{color:var(--text-secondary);text-transform:none;letter-spacing:.3px;text-align:left;font-size:11px;font-weight:600}.tax-location-name-with-badge{align-items:center;gap:var(--spacing-xs);justify-content:space-between;width:100%;display:flex}.tax-location-name-input{width:120px;height:32px;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-light);border-radius:var(--radius-medium);color:var(--text-primary);box-sizing:border-box;background:#111c;font-size:14px;font-weight:600;transition:all .2s}.tax-location-name-input:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #007aff33}.location-separator{color:var(--text-secondary);font-weight:600}.tax-location-right-section{display:contents}.tax-rate-section{align-items:center;gap:var(--spacing-xs);display:flex}.tax-rate-input{border:1px solid var(--border-light);border-radius:var(--radius-medium);width:80px;min-width:80px;color:var(--text-primary);text-align:center;box-sizing:border-box;vertical-align:middle;background:#111c;height:32px;padding:8px 12px;font-size:12px;line-height:1;transition:all .2s}.tax-rate-input:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #007aff33}.tax-location-actions-buttons{align-items:center;gap:var(--spacing-xs);display:flex}.tax-location-actions-buttons .save-btn{color:var(--text-secondary);border:1px solid var(--border-light);padding:var(--spacing-sm);border-radius:var(--radius-small);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:32px;height:32px;font-family:inherit;font-size:14px;font-weight:400;transition:all .2s;display:flex}.tax-location-actions-buttons .save-btn:hover{background:var(--accent-green);color:#fff;border-color:var(--accent-green);transform:translateY(-1px);box-shadow:0 0 0 1px #22c55e4d}.tax-location-actions-buttons .cancel-btn{color:var(--text-secondary);border:1px solid var(--border-light);padding:var(--spacing-sm);border-radius:var(--radius-small);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:32px;height:32px;font-family:inherit;font-size:14px;font-weight:400;transition:all .2s;display:flex}.tax-location-actions-buttons .cancel-btn:hover{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue);transform:translateY(-1px);box-shadow:0 0 0 1px #3b82f64d}.tax-location-header-row h5{color:var(--text-primary);align-self:center;margin:0;font-size:18px;font-weight:600}.tax-location-header-row .setting-group{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;width:auto;min-width:80px;display:flex}.tax-location-header-row .setting-label{color:var(--text-secondary);text-transform:none;letter-spacing:.3px;text-align:left;margin-bottom:2px;font-size:11px;font-weight:600}.tax-location-header-row .read-only-value{color:var(--text-primary);text-align:left;white-space:nowrap;text-overflow:clip;background:0 0;border:none;border-radius:0;justify-content:flex-start;width:auto;height:auto;padding:0;font-size:13px;font-weight:500;display:inline;overflow:visible}.integration-card{cursor:pointer;transition:all .2s}.integration-card:hover{box-shadow:var(--shadow-medium);border-color:var(--accent-blue);transform:translateY(-2px)}.integration-icon{border-radius:var(--radius-medium);width:40px;height:40px;color:var(--accent-blue);background:#3b82f61a;flex-shrink:0;justify-content:center;align-items:center;display:flex}.connection-indicator{background-color:#ef4444;border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 4px #ef444480}.connection-indicator.connected{background-color:#10b981;box-shadow:0 0 8px #10b98180}.test-connection-btn{min-width:140px;padding:var(--spacing-sm) var(--spacing-lg)!important}.test-connection-btn:hover{font-weight:600;background:var(--accent-blue)!important;border-color:var(--accent-blue)!important;color:#000!important}.save-api-key-btn{min-width:180px;font-weight:500;padding:var(--spacing-sm) var(--spacing-xl)!important}.mapping-overlay{-webkit-backdrop-filter:blur(10px);z-index:10000;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mapping-progress-modal{border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-xl);min-width:400px;max-width:500px;box-shadow:var(--shadow-large);background:#111111f2}.mapping-progress-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.mapping-progress-header h3{color:var(--text-primary);margin:0;font-size:20px;font-weight:600}.cancel-mapping-btn{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-medium);color:#ef4444;cursor:pointer;background:#ef444433;border:1px solid #ef444466;font-size:14px;font-weight:500;transition:all .2s}.cancel-mapping-btn:hover{background:#ef44444d;border-color:#ef4444;transform:translateY(-1px)}.mapping-progress-content{align-items:center;gap:var(--spacing-lg);flex-direction:column;display:flex}.mapping-spinner-container{justify-content:center;align-items:center;display:flex}.mapping-spinner{color:var(--accent-blue);animation:1s linear infinite spin}.mapping-progress-info{text-align:center;width:100%}.mapping-stage{margin:0 0 var(--spacing-md) 0;color:var(--text-primary);font-size:16px;font-weight:500}.mapping-progress-bar-container{width:100%;height:8px;margin-bottom:var(--spacing-sm);border:1px solid var(--border-light);background:#111c;border-radius:4px;overflow:hidden}.mapping-progress-bar{background:linear-gradient(90deg, var(--accent-blue), var(--accent-green));border-radius:4px;height:100%;transition:width .3s;box-shadow:0 0 0 1px #3b82f680}.mapping-percentage{color:var(--text-secondary);margin:0;font-size:14px;font-weight:600}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tax-location-header-row .toggle-switch{align-self:flex-start;margin-top:0}.budget-percentage-selector{align-items:center;gap:var(--spacing-sm);display:flex}.budget-percentage-label{align-items:center;gap:var(--spacing-xs);color:var(--text-secondary);font-size:12px;font-weight:500;display:flex}.budget-percentage-text{white-space:nowrap}.budget-percentage-input{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-light);border-radius:var(--radius-small);color:var(--text-primary);text-align:center;background:#111c;width:60px;font-size:12px;transition:all .2s}.budget-percentage-input:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #3b82f633}.budget-percentage-input:hover{border-color:var(--accent-blue)}.budget-percentage-input.warning{border-color:var(--accent-orange);background:#fb923c1a}.budget-percentage-input.warning:focus{border-color:var(--accent-orange);box-shadow:0 0 0 2px #fb923c33}.budget-allocation-summary{align-items:center;display:flex}.budget-total{border:1px solid var(--border-light);border-radius:var(--radius-medium);color:var(--text-primary);white-space:nowrap;background:#111c;align-items:center;height:32px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.budget-total.at-limit{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e4d}.budget-pools-display{border-radius:var(--radius-medium);box-sizing:border-box;background:#fbbf241a;border:1px solid #fbbf244d;flex-direction:row;align-items:center;gap:20px;height:32px;padding:8px 12px;display:flex}.budget-pools-display.at-limit{background:#22c55e1a;border:1px solid #22c55e4d}.budget-pool-item{flex-direction:row;align-items:center;gap:8px;display:flex}.budget-pool-item span:first-child{color:var(--text-primary);text-transform:none;letter-spacing:normal;margin-bottom:0;font-size:13px;font-weight:500}.tax-location-selector{align-items:center;gap:var(--spacing-sm);display:flex}.tax-location-label{align-items:center;gap:var(--spacing-xs);color:var(--text-secondary);font-size:12px;font-weight:500;display:flex}.tax-location-text{white-space:nowrap}.tax-location-select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-light);border-radius:var(--radius-small);color:var(--text-primary);background:#141414cc;min-width:120px;font-size:12px;transition:all .3s}.tax-location-select:focus{border-color:var(--primary-blue);outline:none;box-shadow:0 0 0 2px #3b82f633}.tax-location-select option{color:var(--text-primary);background:#141414f2}.tax-amounts-display{border-radius:var(--radius-medium);padding:var(--spacing-md);margin:var(--spacing-sm) 0;gap:var(--spacing-xs);background:#3b82f61a;border:1px solid #3b82f64d;flex-direction:column;display:flex}.tax-amount-item{justify-content:space-between;align-items:center;font-size:14px;display:flex}.tax-label{color:var(--text-secondary);font-weight:500}.tax-value{color:var(--primary-blue);font-weight:600;font-family:var(--font-primary)}.amount.tax{color:var(--warning-color);font-weight:600;font-family:var(--font-primary)}.amount.net{color:var(--success-color);font-weight:600;font-family:var(--font-primary)}.amount.gross-amount{color:var(--text-primary);font-weight:600;font-family:var(--font-primary)}.tax-breakdown{margin-top:var(--spacing-xs);flex-direction:column;gap:2px;display:flex}.tax-breakdown small{color:var(--text-secondary);font-size:11px;font-family:var(--font-primary)}.tax-breakdown small:first-child{color:var(--text-primary)}.tax-breakdown small:nth-child(2){color:var(--warning-color)}.tax-breakdown small:last-child{color:var(--success-color)}.savings-subtitle{margin-top:var(--spacing-xs);color:var(--text-secondary);font-size:11px;font-family:var(--font-primary);font-style:italic}@media (max-width:768px){.taxes-page h2,.taxes-header{padding-left:var(--spacing-md)!important;padding-right:var(--spacing-md)!important}.taxes-header{align-items:stretch;gap:var(--spacing-md);flex-direction:column}.tax-location-form .form-row{grid-template-columns:1fr}.tax-location-form .form-actions{flex-direction:column}.tax-location-card{align-items:stretch;gap:var(--spacing-md);flex-direction:column}.location-actions{justify-content:center}.tax-location-selector{align-items:stretch;gap:var(--spacing-xs);flex-direction:column}.tax-location-select{width:100%;min-width:auto}}.auto-tax-info{border-radius:var(--border-radius);padding:var(--spacing-sm);margin:var(--spacing-sm) 0;background:#6366f10d;border:1px solid #6366f133}.tax-location-display{align-items:center;gap:var(--spacing-sm);justify-content:space-between;display:flex}.tax-location-display .tax-label{color:var(--primary-color);font-size:.9rem;font-weight:600}.tax-location-display .tax-location-text{color:var(--text-primary);flex:1;font-size:.9rem}.tax-options{border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-sm);margin:var(--spacing-sm) 0;background:#00000005}.auto-tax-info .tax-amounts-display{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid #6366f133}.auto-tax-info .tax-amount-item{margin-bottom:var(--spacing-xs);justify-content:space-between;align-items:center;display:flex}.auto-tax-info .tax-amount-item:last-child{margin-bottom:0}.auto-tax-info .tax-label{color:var(--text-secondary);font-size:.9rem}.auto-tax-info .tax-value{color:var(--text-primary);font-size:.9rem;font-weight:600}.step-indicator{margin-bottom:var(--spacing-xl);padding:0 var(--spacing-lg);justify-content:center;align-items:flex-start;gap:0;display:flex;position:relative}.step-indicator:before{content:"";background:var(--border-light);z-index:1;height:2px;position:absolute;top:20px;left:50px;right:50px}.step{align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);z-index:2;background:0 0;border:none;flex-direction:column;flex:1;padding:0;transition:all .3s;display:flex;position:relative}.step.active{color:var(--text-primary)}.step-number{border:2px solid var(--border-light);z-index:3;background:#111c;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:600;transition:all .3s;display:flex;position:relative}.step.active .step-number{background:var(--accent-blue);border-color:var(--accent-blue);color:var(--text-primary);box-shadow:0 0 15px #3b82f680}.step-label{text-align:center;margin-top:var(--spacing-xs);font-size:.8rem;font-weight:500;line-height:1.2}.step-content{max-width:800px;margin:0 auto}.header-mapping{border:1px solid var(--border-light);border-radius:var(--radius-medium);padding:var(--spacing-lg);margin:var(--spacing-lg) 0;background:#ffffff08}.mapping-row{align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--radius-medium);border:1px solid var(--border-light);background:#ffffff05;transition:all .3s;display:flex}.mapping-row:hover{border-color:var(--accent-blue);background:#ffffff0d}.mapping-row:last-child{margin-bottom:0}.mapping-source{gap:var(--spacing-xs);flex-direction:column;min-width:200px;display:flex}.mapping-target{gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.mapping-label{color:var(--text-secondary);text-transform:none;letter-spacing:0;font-size:.8rem;font-weight:600}.mapping-value{color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-small);background:#3b82f61a;border:1px solid #3b82f64d;font-size:1rem;font-weight:500}.mapping-arrow{color:var(--accent-blue);margin:0 var(--spacing-sm);font-size:1.5rem;font-weight:700}.mapping-target select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-small);color:var(--text-primary);background:#ffffff0d;font-size:.9rem;transition:all .3s}.mapping-target select:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #3b82f633}.preview-transactions{border:1px solid var(--border-light);border-radius:var(--radius-medium);max-height:400px;padding:var(--spacing-md);margin:var(--spacing-lg) 0;background:#ffffff08;overflow-y:auto}.preview-transaction{padding:var(--spacing-md);margin-bottom:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-small);background:#ffffff05;justify-content:space-between;align-items:center;transition:all .3s;display:flex}.preview-transaction:last-child{margin-bottom:0}.preview-transaction:hover{border-color:var(--border-medium);background:#ffffff0d}.transaction-info{gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.transaction-info div{color:var(--text-secondary);font-size:.9rem}.transaction-info strong{color:var(--text-primary);font-weight:600}.transaction-category-assignment{border:1px solid var(--border-light);border-radius:var(--radius-medium);max-height:500px;padding:var(--spacing-md);margin:var(--spacing-lg) 0;background:#ffffff08;overflow-y:auto}.transaction-category-row{padding:var(--spacing-md);margin-bottom:var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-small);background:#ffffff05;justify-content:space-between;align-items:center;transition:all .3s;display:flex}.transaction-category-row:last-child{margin-bottom:0}.transaction-category-row:hover{border-color:var(--border-medium);background:#ffffff0d}.transaction-details{gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.transaction-details div{color:var(--text-secondary);font-size:.9rem}.transaction-details strong{color:var(--text-primary);font-weight:600}.category-assignment{gap:var(--spacing-sm);flex-direction:column;flex:1;min-width:300px;display:flex}.category-selection,.subcategory-selection,.tax-location-selection{gap:var(--spacing-xs);flex-direction:column;flex:1;min-width:150px;display:flex}.category-selection label,.subcategory-selection label,.tax-location-selection label{color:var(--text-secondary);text-align:left;font-size:.8rem;font-weight:500}.category-selection select,.subcategory-selection select,.tax-location-selection select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-small);color:var(--text-primary);text-align:left;background:#ffffff0d;width:100%;min-width:150px;font-size:.9rem}.category-input-group select,.subcategory-input-group select{text-align:left;flex:1;width:100%}.category-selection select:focus,.subcategory-selection select:focus,.tax-location-selection select:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #3b82f633}.category-selection select:disabled,.subcategory-selection select:disabled,.tax-location-selection select:disabled{opacity:.5;cursor:not-allowed}.transaction-summary{border:1px solid var(--border-light);border-radius:var(--radius-medium);padding:var(--spacing-md);margin:var(--spacing-lg) 0;background:#ffffff0d;justify-content:space-between;align-items:center;display:flex}.summary-stats{gap:var(--spacing-lg);display:flex}.total-count,.selected-count{color:var(--text-secondary);font-size:.9rem;font-weight:500}.selected-count{color:var(--accent-blue)}.selection-controls{gap:var(--spacing-sm);display:flex}.select-all-button,.deselect-all-button{padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-small);color:var(--text-secondary);cursor:pointer;background:#ffffff0d;font-size:.8rem;font-weight:500;transition:all .3s}.select-all-button:hover{border-color:var(--accent-green);color:var(--accent-green);background:#10b9811a}.deselect-all-button:hover{border-color:var(--accent-red);color:var(--accent-red);background:#ef44441a}.transaction-selection{min-width:40px;padding-right:var(--spacing-sm);align-items:center;display:flex}.transaction-checkbox{width:18px;height:18px;accent-color:var(--accent-blue);cursor:pointer}.transaction-category-row.unselected{opacity:.6;background:#ffffff03}.transaction-category-row.unselected .transaction-details,.transaction-category-row.unselected .transaction-details strong{color:var(--text-tertiary)}.step-actions{margin-top:var(--spacing-xl);justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.back-button{padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--border-light);border-radius:var(--radius-medium);color:var(--text-secondary);cursor:pointer;background:#ffffff0d;font-size:.9rem;font-weight:500;transition:all .3s}.back-button:hover{border-color:var(--border-medium);color:var(--text-primary);background:#ffffff1a}.next-button{padding:var(--spacing-md) var(--spacing-lg);background:var(--gradient-primary);border-radius:var(--radius-medium);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-medium);border:none;font-size:.9rem;font-weight:600;transition:all .3s}.next-button:hover{box-shadow:var(--shadow-heavy);transform:translateY(-2px)}.import-button{padding:var(--spacing-md) var(--spacing-lg);background:var(--gradient-success);border-radius:var(--radius-medium);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-medium);border:none;font-size:.9rem;font-weight:600;transition:all .3s}.import-button:hover:not(:disabled){box-shadow:var(--shadow-heavy);transform:translateY(-2px)}.import-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width:768px){.html-table-import{padding:var(--spacing-lg)}.step-indicator{gap:var(--spacing-md);flex-direction:column;padding:0}.step-indicator:before{display:none}.step{text-align:left;justify-content:flex-start;gap:var(--spacing-md);flex-direction:row}.step-number{width:32px;height:32px;font-size:.9rem}.step-label{text-align:left;margin-top:0;font-size:.9rem}.mapping-row{align-items:flex-start;gap:var(--spacing-md);flex-direction:column}.mapping-source,.mapping-target{width:100%;min-width:auto}.mapping-arrow{align-self:center;transform:rotate(90deg)}.preview-transaction{align-items:flex-start;gap:var(--spacing-md);flex-direction:column}.category-selection{width:100%;min-width:auto}.category-assignment{width:100%;min-width:auto}.category-selection,.subcategory-selection{width:100%}.transaction-summary{gap:var(--spacing-md);flex-direction:column;align-items:stretch}.summary-stats{justify-content:space-between}.selection-controls{justify-content:center}.transaction-category-row{align-items:flex-start;gap:var(--spacing-md);flex-direction:column}.transaction-selection{min-width:auto;padding-right:0;padding-bottom:var(--spacing-sm)}.step-actions{gap:var(--spacing-sm);flex-direction:column}.back-button,.next-button,.import-button{text-align:center;width:100%}}.import-selection{text-align:center;max-width:800px;padding:var(--spacing-xl);margin:0 auto}.import-selection h3{color:var(--text-primary);margin-bottom:var(--spacing-md);font-size:1.75rem;font-weight:600}.import-selection>p{color:var(--text-secondary);margin-bottom:var(--spacing-xl);font-size:1.1rem}.import-options{gap:var(--spacing-lg);margin-top:var(--spacing-xl);grid-template-columns:1fr 1fr;display:grid}.import-option{background:var(--background-secondary);border-radius:var(--radius-large);padding:var(--spacing-xl);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;border:2px solid #6366f14d;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 2px 8px #6366f11a}.import-option:hover{background:var(--background-primary);border-color:#6366f1cc;transform:translateY(-3px);box-shadow:0 12px 30px #6366f14d}.import-option:active{transform:translateY(-1px);box-shadow:0 6px 20px #00000026}.import-option:hover:before{content:"";background:linear-gradient(90deg, var(--accent-primary), var(--accent-secondary));height:4px;position:absolute;top:0;left:0;right:0}.import-option:after{content:"Click to select";top:var(--spacing-sm);right:var(--spacing-sm);background:var(--accent-primary);color:#fff;border-radius:var(--radius-small);opacity:0;padding:.25rem .5rem;font-size:.75rem;font-weight:600;transition:opacity .3s;position:absolute}.import-option:hover:after{opacity:1}.option-icon{margin-bottom:var(--spacing-md);text-align:center;color:var(--text-secondary);transition:color .3s}.import-option:hover .option-icon{color:#6366f1cc}.option-content h4{color:var(--text-primary);margin-bottom:var(--spacing-sm);text-align:center;font-size:1.25rem;font-weight:600}.option-content p{color:var(--text-secondary);margin-bottom:var(--spacing-md);text-align:center;line-height:1.5}.option-content ul{margin:0;padding:0;list-style:none}.option-content li{color:var(--text-secondary);padding:.25rem 0 .25rem 1.25rem;font-size:.9rem;position:relative}.option-content li:before{content:"✓";color:var(--accent-primary);font-weight:700;position:absolute;left:0}.import-back-button{margin-bottom:var(--spacing-lg)}.back-to-selection{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-medium);cursor:pointer;background:0 0;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.back-to-selection:hover{background:var(--background-secondary);color:var(--text-primary);border-color:var(--accent-primary)}@media (max-width:768px){.line-graph-container{margin:0 var(--spacing-md) var(--spacing-lg) var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.line-graph-container h4{margin-bottom:var(--spacing-sm);font-size:16px}.line-graph-legend{gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.line-graph-legend .legend-item{padding:var(--spacing-xs);font-size:11px}.line-graph-legend .legend-color{width:10px;height:10px}.line-graph-tooltip{width:180px;padding:var(--spacing-sm)}.line-graph-tooltip .tooltip-metric{font-size:11px}.line-graph-tooltip .tooltip-value{font-size:12px}}@media (max-width:480px){.line-graph-container{margin:0 var(--spacing-sm) var(--spacing-md) var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.line-graph-container h4{font-size:14px}.line-graph-legend{align-items:center;gap:var(--spacing-xs);flex-direction:column}.line-graph-legend .legend-item{width:100%;padding:var(--spacing-xs) var(--spacing-sm);justify-content:center}.line-graph-tooltip{width:160px;padding:var(--spacing-xs)}.line-graph-tooltip .tooltip-metric{font-size:10px}.line-graph-tooltip .tooltip-value{font-size:11px}}@media (max-width:768px){.confirmation-modal{width:90%;max-width:400px;margin:var(--spacing-md)}.confirmation-modal .modal-header{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md)}.confirmation-modal .modal-content{padding:0 var(--spacing-lg) var(--spacing-lg)}.confirmation-modal .modal-actions{gap:var(--spacing-sm);flex-direction:column}.confirmation-modal .cancel-btn,.confirmation-modal .confirm-btn{width:100%;min-width:auto}}@media (max-width:480px){.confirmation-modal{width:95%;max-width:350px;margin:var(--spacing-sm)}.confirmation-modal .modal-header{padding:var(--spacing-md) var(--spacing-md) var(--spacing-sm)}.confirmation-modal .modal-content{padding:0 var(--spacing-md) var(--spacing-md)}.confirmation-modal h3{font-size:18px}.confirmation-modal p{font-size:14px}}@media (max-width:768px){.import-options{gap:var(--spacing-md);grid-template-columns:1fr}.import-option,.import-selection{padding:var(--spacing-lg)}*{backface-visibility:hidden;transform:translateZ(0)}.app-main,.transactions-list,.sidebar-navigation{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.sidebar-navigation{will-change:transform;transform:translateZ(0)}.taxes-page .sidebar-navigation{z-index:100!important}.taxes-page{position:static!important;overflow:visible!important}.taxes-page .app-layout{contain:none;position:relative}.app-main{scroll-behavior:smooth;will-change:scroll-position;margin-left:0}.summary-card:hover,.average-card:hover,.forecast-card:hover{transform:translateY(-2px)scale(1.01)}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.nav-item{padding:var(--spacing-md) var(--spacing-lg);margin:var(--spacing-xs) 0}body{-moz-text-size-adjust:100%;text-size-adjust:100%}svg{max-width:100%;height:auto}.app-main{touch-action:pan-x pan-y}.transactions-list{touch-action:pan-x}button,.nav-item,.sortable,input[type=checkbox],input[type=radio]{min-width:44px;min-height:44px}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-blue);outline-offset:2px}@media (prefers-contrast:high){.summary-card,.average-card,.forecast-card,.budget-status-card,button{border:2px solid var(--text-primary)}}@media (prefers-color-scheme:dark){.line-graph-container,.confirmation-modal{background:#101218f2}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:active,.nav-item:active,.sortable:active{transition:transform .1s;transform:scale(.98)}.error-message{padding:var(--spacing-md);margin:var(--spacing-sm) 0;border-radius:var(--radius-medium);color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;font-size:14px}.loading-spinner{border:2px solid var(--border-light);border-top:2px solid var(--accent-blue);border-radius:50%;width:24px;height:24px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}.sync-integration{text-align:center;max-width:600px;padding:var(--spacing-xl);margin:0 auto}.sync-integration h3{color:var(--text-primary);margin-bottom:var(--spacing-md);font-size:1.5rem}.sync-integration>p{color:var(--text-secondary);margin-bottom:var(--spacing-xl);font-size:1rem}.coming-soon{background:var(--background-secondary);border:1px solid var(--border-color);border-radius:var(--radius-large);padding:var(--spacing-xl);margin-top:var(--spacing-lg)}.coming-soon-badge{color:#fff;border-radius:var(--radius-medium);margin-bottom:var(--spacing-lg);text-transform:none;letter-spacing:0;background:linear-gradient(135deg,#f59e0b,#d97706);padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:inline-block}.coming-soon p{color:var(--text-primary);margin-bottom:var(--spacing-md);font-weight:500}.coming-soon ul{text-align:left;max-width:300px;margin:0 auto;padding:0;list-style:none}.coming-soon li{color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding:.5rem 0 .5rem 1.5rem;position:relative}.coming-soon li:last-child{border-bottom:none}.coming-soon li:before{content:"•";color:var(--accent-primary);font-weight:700;position:absolute;left:0}html.cashflow-root,body.cashflow-root{max-width:100vw;overflow-x:hidden}.cashflow-app,.cashflow-app *{box-sizing:border-box;max-width:100%}@media (max-width:768px){.transactions-table-wrapper{-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--spacing-md));padding:0 var(--spacing-md);overflow-x:auto}.transactions-table{min-width:600px;font-size:13px}.transactions-table th,.transactions-table td{padding:var(--spacing-xs) var(--spacing-sm);white-space:nowrap}.transactions-table .timestamp,.transactions-table .actions-header{display:none}.transactions-table .action-btn{min-width:44px;min-height:44px;padding:var(--spacing-sm);margin:var(--spacing-xs)}}@media (max-width:480px){.transactions-table{font-size:12px}.transactions-table th,.transactions-table td{padding:var(--spacing-xs)}}@media (max-width:768px){.settings-modal,.confirmation-modal,.transaction-edit-modal{-webkit-overflow-scrolling:touch;max-height:90vh;overflow-y:auto;width:95vw!important;max-width:500px!important;margin:var(--spacing-md) auto!important}.modal-content{padding:var(--spacing-md)!important}.modal-actions,.form-actions{gap:var(--spacing-sm);flex-direction:column}.modal-actions button,.form-actions button{width:100%!important;margin:0!important}.line-graph-container,.chart-container,.pie-chart-container{width:100%;padding:var(--spacing-md);margin:var(--spacing-md) 0}.monthly-averages-section,.year-end-forecast-section{-webkit-overflow-scrolling:touch;overflow-x:auto}.line-graph-container svg{max-width:100%;height:auto}.form-group,.form-row>*{margin-bottom:var(--spacing-md);width:100%!important}.form-row{gap:var(--spacing-md)!important;flex-direction:column!important}input[type=checkbox],input[type=radio]{width:44px;min-width:44px;height:44px;min-height:44px}input[type=text],input[type=number],input[type=email],input[type=date],input[type=password],select,textarea{padding:var(--spacing-md)!important;min-height:44px!important;font-size:16px!important}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-md) center;appearance:none;padding-right:40px!important}button,.btn,.action-btn{touch-action:manipulation;-webkit-tap-highlight-color:#ffffff1a;min-width:44px!important;min-height:44px!important;padding:var(--spacing-md) var(--spacing-lg)!important;font-size:16px!important}.form-group button,.transaction-form button,.bulk-actions button{width:100%!important;margin:var(--spacing-sm) 0!important}.icon-btn,button[aria-label]{min-width:44px;min-height:44px;padding:var(--spacing-sm)!important}.nav-item{min-height:48px;padding:var(--spacing-md) var(--spacing-lg);align-items:center;gap:var(--spacing-sm);display:flex}.category-tabs{gap:var(--spacing-sm);flex-wrap:wrap}.category-tabs button{min-width:calc(50% - var(--spacing-sm));padding:var(--spacing-sm) var(--spacing-md);flex:1}.filters-section{gap:var(--spacing-md);flex-direction:column;padding:var(--spacing-md)!important}.filter-group{align-items:stretch;gap:var(--spacing-sm);flex-direction:column;width:100%}.filter-group label{margin-bottom:var(--spacing-xs);font-size:14px}.filter-group select,.filter-group input{width:100%!important}.summary-cards,.averages-cards,.forecast-cards{gap:var(--spacing-md)!important;grid-template-columns:1fr!important}.summary-card,.average-card,.forecast-card{width:100%!important;margin:0!important}.budget-grid{padding-left:var(--spacing-md);padding-right:var(--spacing-md);grid-template-columns:1fr!important}.budget-status-card{margin-bottom:var(--spacing-md)}.budget-status-card .category-header{gap:var(--spacing-sm);flex-direction:column;align-items:flex-start!important}.budget-progress-bar{width:100%;margin:var(--spacing-sm) 0}.overall-budget-status{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.overall-budget-card{margin-bottom:var(--spacing-md);padding:var(--spacing-md)!important}.overall-budget-header{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-direction:column!important;align-items:flex-start!important}.overall-budget-header h4{margin:0;font-size:18px!important}.budget-progress-bar{width:100%;margin:var(--spacing-sm) 0;height:14px!important}.overall-budget-section{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.budget-summary{gap:var(--spacing-xs)}.budget-summary-item{gap:var(--spacing-xs);padding:var(--spacing-sm) 0;flex-direction:column;align-items:flex-start!important}.budget-label{font-size:13px!important}.budget-value{font-size:16px!important;font-weight:700!important}.white-circle,.percentage-circle{width:50px!important;height:50px!important;font-size:14px!important}.budget-percentage-display{margin-top:var(--spacing-sm);align-self:center}.breakdown-container{padding-left:var(--spacing-md);padding-right:var(--spacing-md);flex-direction:column}.pie-chart-wrapper,.breakdown-list{margin:var(--spacing-mdдивидуальные) 0;width:100%!important}.pie-chart-container svg{max-width:100%;height:auto}.category-breakdown{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.tax-locations-list,.settings-section{padding:var(--spacing-md)}.tax-location-item,.settings-item{align-items:stretch;gap:var(--spacing-sm);padding:var(--spacing-md);flex-direction:column}.tax-location-actions,.settings-actions{gap:var(--spacing-sm);flex-direction:column;width:100%}.tax-location-actions button,.settings-actions button{width:100%}.bulk-import{padding-left:var(--spacing-md)!important;padding-right:var(--spacing-md)!important;padding-top:var(--spacing-md)!important;padding-bottom:var(--spacing-md)!important}.import-options{padding-left:var(--spacing-md);padding-right:var(--spacing-md);grid-template-columns:1fr!important}.import-option{padding:var(--spacing-lg)!important}.html-table-import .summary-grid{padding-left:var(--spacing-md);padding-right:var(--spacing-md);grid-template-columns:1fr!important}.html-table-import .transaction-preview{gap:var(--spacing-sm);padding-left:var(--spacing-md);padding-right:var(--spacing-md);grid-template-columns:1fr!important}.html-table-import{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.app-header{gap:var(--spacing-sm);flex-wrap:wrap;padding:var(--spacing-sm) var(--spacing-md)!important}.app-header h1{flex:auto;font-size:22px!important}.app-header .logout-button{min-width:44px;min-height:44px}.overview-tab{padding:0!important}.overview-tab h2,.analytics-header h2,.analytics-header{margin-bottom:var(--spacing-md);font-size:20px;padding:0 var(--spacing-md)!important}.summary-section{margin-bottom:var(--spacing-lg);padding:0 var(--spacing-md)}.monthly-averages-section h3,.year-end-forecast-section h3,.summary-section h3,.budget-section h3,.transaction-management-header h3,.transaction-management-header{padding-left:var(--spacing-md)!important;padding-right:var(--spacing-md)!important}.expenses-tab,.income-tab{padding:0!important}.expenses-tab h2,.income-tab h2,.tab-header h2,.tab-header{margin-bottom:var(--spacing-md);font-size:20px;padding-left:var(--spacing-md)!important;padding-right:var(--spacing-md)!important}.transactions-list{margin:var(--spacing-md) 0;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.transactions-table-container,.transactions-table-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#6366f180 #1111114d;box-sizing:border-box;width:100%;overflow-x:auto;margin:0!important;padding:0!important}.transactions-table-wrapper::-webkit-scrollbar{height:8px}.transactions-table-wrapper::-webkit-scrollbar-track{border-radius:var(--radius-small);background:#1111114d}.transactions-table-wrapper::-webkit-scrollbar-thumb{border-radius:var(--radius-small);background:#6366f180}.transactions-table-wrapper::-webkit-scrollbar-thumb:hover{background:#6366f1b3}.transactions-table{border-collapse:collapse;border:1px solid var(--border-light);border-radius:var(--radius-xl);box-sizing:border-box;background:#141414cc;width:100%;min-width:750px;margin:0!important;padding:0!important;font-size:10px!important;display:table!important}.transactions-table thead{display:table-header-group}.transactions-table tbody{display:table-row-group}.transactions-table th{z-index:21;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border-light);vertical-align:middle;min-height:44px;color:var(--text-secondary);text-transform:none;letter-spacing:0;box-sizing:border-box;font-weight:700;position:sticky;top:0;padding:var(--spacing-sm) var(--spacing-xs)!important;background:#141414f2!important;font-size:9px!important}.transactions-table thead{background:#141414f2}.transactions-table thead tr{border-bottom:1px solid var(--border-light)}.transactions-table tbody{background:#141414cc}.transactions-table td{white-space:nowrap;vertical-align:middle;border-bottom:1px solid var(--border-light);color:var(--text-primary);box-sizing:border-box;text-align:left;background:#141414cc;padding:var(--spacing-sm) var(--spacing-xs)!important;font-size:10px!important}.transactions-table tr{transition:background-color .2s}.transactions-table tbody tr:hover{background:#3b82f614}.transactions-table tbody tr:active{background:#3b82f626}.transactions-table th.actions-header,.transactions-table td.actions-cell,.transactions-table .timestamp{display:none!important}.transactions-table th:has(+.actions-header){display:none!important}.transactions-table td:has(.timestamp){display:none!important}.transactions-table td:has(.action-btn){padding:var(--spacing-xs)!important;display:table-cell!important}.transactions-table .action-btn{min-width:32px!important;min-height:32px!important;padding:var(--spacing-xs)!important;font-size:10px!important}.transactions-table .amount{font-size:12px!important;font-weight:700!important}.transactions-table .category,.transactions-table .description{text-overflow:ellipsis;max-width:100px;display:inline-block;overflow:hidden}.transactions-table .date{min-width:65px;font-size:9px!important}.transactions-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#3b82f633;min-height:44px;display:table-cell!important}.transactions-table th.sortable:active{background:#3b82f633!important}.transactions-table th:first-child,.transactions-table td:first-child{text-align:center;width:40px;padding:var(--spacing-sm) var(--spacing-xs)!important}.transactions-table{table-layout:auto}.transactions-table th,.transactions-table td{width:auto}.transactions-table input[type=checkbox]{width:20px;min-width:20px;height:20px;min-height:20px}.total-section,.category-breakdown{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.transaction-form h2,.overall-budget-header,.overall-budget-header h4{padding-left:var(--spacing-md)!important;padding-right:var(--spacing-md)!important}.transaction-form{padding:0!important}.transaction-form h2{margin-bottom:var(--spacing-md);padding-left:var(--spacing-md);padding-right:var(--spacing-md);font-size:20px}.unified-add-form{padding:var(--spacing-md)!important;padding-left:var(--spacing-md)!important;padding-right:var(--spacing-md)!important;margin:0!important}.category-management{padding:0!important}.category-list{gap:var(--spacing-sm);padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.category-item{align-items:stretch;gap:var(--spacing-sm);padding:var(--spacing-md);flex-direction:column}.category-actions{gap:var(--spacing-sm);flex-direction:column;width:100%}.taxes-page{padding:0!important}.tax-summary{gap:var(--spacing-sm);padding-left:var(--spacing-md);padding-right:var(--spacing-md);flex-direction:column}.tax-summary-card{padding:var(--spacing-md);width:100%!important}.hide-mobile{display:none!important}.show-mobile{display:block!important}.mobile-full-width{width:100%!important;max-width:100%!important}.mobile-stack{flex-direction:column!important}}@media (max-width:480px){.app-main{padding:var(--spacing-xs)!important}.summary-card,.average-card,.forecast-card,.metric-card{padding:var(--spacing-sm)!important;min-height:auto!important}.summary-card .amount,.average-amount,.forecast-amount{font-size:18px!important}h1{font-size:20px!important}h2{font-size:16px!important}h3{font-size:14px!important}button{padding:var(--spacing-sm) var(--spacing-md)!important}}@media (max-width:768px) and (orientation:landscape){.sidebar-navigation{width:240px}.app-main{padding:var(--spacing-md)}.summary-cards{grid-template-columns:repeat(2,1fr)!important}}.help-page{max-width:none;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;margin:0;padding:0;position:static;overflow:visible}.help-page h2{margin:0 0 var(--spacing-xl) 0;color:#fff;text-align:left;letter-spacing:-.5px;text-shadow:0 0 20px #ffffff4d;padding:var(--spacing-xl) var(--spacing-lg) 0;font-size:32px;font-weight:800}.help-container{gap:var(--spacing-xl);padding:var(--spacing-xl) var(--spacing-lg);max-width:1400px;margin:0 auto;display:flex}.help-sidebar{border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-medium);border:1px solid var(--border-light);-webkit-backdrop-filter:none;height:fit-content;top:var(--spacing-xl);background:#141414cc;flex:0 0 280px;position:sticky}.help-sidebar h3{margin:0 0 var(--spacing-lg) 0;color:var(--text-primary);background:var(--gradient-primary);-webkit-text-fill-color:transparent;text-shadow:none;-webkit-background-clip:text;background-clip:text;padding:0;font-size:24px;font-weight:700}.help-nav,.help-nav-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.help-nav-page{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-medium);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;width:100%;font-size:14px;font-weight:600;transition:all .2s;display:flex}.help-nav-page:hover{color:var(--text-primary);background:#3b82f61a;border-color:#3b82f64d}.help-nav-page.active{border-color:var(--accent-blue);color:var(--accent-blue);background:#3b82f626}.help-nav-features{gap:var(--spacing-xs);padding-left:var(--spacing-md);margin-top:var(--spacing-xs);border-left:2px solid var(--border-light);flex-direction:column;display:flex}.help-nav-feature{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-small);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-size:13px;font-weight:500;transition:all .2s}.help-nav-feature:hover{color:var(--text-primary);background:#3b82f614}.help-nav-feature.active{color:var(--accent-blue);background:#3b82f61f;font-weight:600}.help-nav-icon{flex-shrink:0;font-size:18px}.help-nav-text{flex:1}.help-main{border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-medium);border:1px solid var(--border-light);-webkit-backdrop-filter:none;background:#141414cc;flex:1;min-height:600px}.help-content{max-width:900px}.help-content h2{margin:0 0 var(--spacing-lg) 0;color:var(--text-primary);background:var(--gradient-primary);-webkit-text-fill-color:transparent;text-shadow:none;-webkit-background-clip:text;background-clip:text;padding:0;font-size:28px;font-weight:700}.help-intro{color:var(--text-secondary);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-light);font-size:16px;line-height:1.6}.help-section{margin-bottom:var(--spacing-xl)}.help-section h3{color:var(--text-primary);margin:0 0 var(--spacing-md) 0;align-items:center;gap:var(--spacing-sm);font-size:20px;font-weight:600;display:flex}.help-section h4{color:var(--text-primary);margin:var(--spacing-md) 0 var(--spacing-sm) 0;font-size:16px;font-weight:600}.help-section ul,.help-section ol{margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg);color:var(--text-secondary);line-height:1.8}.help-section li{margin-bottom:var(--spacing-xs)}.help-section li strong{color:var(--text-primary);font-weight:600}.help-section ul ul{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.help-note{border-left:3px solid var(--accent-blue);padding:var(--spacing-md);border-radius:var(--radius-medium);margin:var(--spacing-md) 0;color:var(--text-secondary);background:#3b82f61a;font-size:14px;line-height:1.6}@media (max-width:1024px){.help-container{gap:var(--spacing-lg);flex-direction:column}.help-sidebar{flex:1;position:static}.help-nav{flex-flow:wrap}.help-nav-group{flex:1;min-width:200px}.help-nav-features{padding-left:var(--spacing-sm)}}@media (max-width:768px){.help-page h2,.help-container{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.help-sidebar,.help-main{padding:var(--spacing-md)}.help-content h2{font-size:24px}.help-section h3{font-size:18px}.help-nav{flex-direction:column}.help-nav-group{width:100%}.help-nav-features{padding-left:var(--spacing-md)}}@supports (-webkit-touch-callout:none){@media (max-width:768px){input,select,textarea{font-size:16px!important}body{width:100%;position:fixed;overflow:hidden}.app-main{-webkit-overflow-scrolling:touch;width:100%;height:100vh;position:fixed;overflow-y:scroll}}}@media (max-width:768px){button,.nav-item,.sortable{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.loading-spinner{width:32px;height:32px}.loading-overlay{padding:var(--spacing-xl)}}@keyframes cf-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cf-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cf-sheen{0%{background-position:0%}to{background-position:100%}}@media (prefers-reduced-motion:reduce){.cashflow-app *,.cashflow-app :before,.cashflow-app :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.cashflow-app{--ease-out:cubic-bezier(.22, 1, .36, 1);--cf-hairline:#ffffff17;--cf-panel:#0f0f0f;--cf-panel-2:#141414}.cashflow-app .app:before{background:radial-gradient(70% 45% at 0 0,#6366f112,#0000 55%),radial-gradient(55% 40% at 100% 100%,#3b82f60d,#0000 50%),#0a0a0a!important}.cashflow-app .app-layout{height:100%;min-height:0;padding:var(--shell-gap)!important;gap:var(--shell-gap)!important}.cashflow-app .sidebar-navigation{position:relative;overflow:hidden;background:#121212eb!important;border:1px solid #6366f133!important;box-shadow:inset 0 1px #ffffff0a,0 12px 40px #00000059!important}.cashflow-app .sidebar-navigation:after{content:"";opacity:.85;pointer-events:none;background:linear-gradient(#6366f1 0%,#0000 55%,#3b82f659 100%);width:2px;position:absolute;inset:0 auto 0 0}.cashflow-app .sidebar-header{background:linear-gradient(#6366f10f,#0000)!important;padding:1rem 1rem .9rem!important}.cashflow-app .nav-separator{background:linear-gradient(90deg,#0000,#ffffff1f,#0000);border:none;height:1px;margin:.45rem .55rem}.cashflow-app .nav-item{transition:background .2s var(--ease-out), border-color .2s var(--ease-out), color .2s var(--ease-out), transform .2s var(--ease-out)!important}.cashflow-app .nav-item:hover{transform:translate(2px);background:#6366f117!important;border-color:#6366f138!important}.cashflow-app .nav-item.active{background:linear-gradient(90deg,#6366f129,#6366f10d)!important;border-color:#6366f152!important}.cashflow-app .nav-item-primary{background:linear-gradient(135deg,#6366f124,#3b82f61a)!important}.cashflow-app .nav-item-primary:hover{transform:translate(2px)}.cashflow-app .nav-item-primary.active{background:linear-gradient(135deg,#6366f147,#3b82f629)!important}.cashflow-app .app-content{position:relative;border:1px solid var(--cf-hairline)!important;background:#0c0c0cb8!important;box-shadow:inset 0 1px #ffffff08,0 16px 48px #00000047!important}.cashflow-app .app-content:before{content:"";pointer-events:none;z-index:2;background:linear-gradient(90deg,#0000,#6366f159,#0000);height:1px;position:absolute;top:0;left:1.25rem;right:1.25rem}.cashflow-app .app-main{min-height:0;animation:cf-fade-in .35s var(--ease-out);flex:1;overflow:auto;padding:var(--page-pad)!important}.cashflow-app .overview-tab,.cashflow-app .expenses-tab,.cashflow-app .income-tab,.cashflow-app .transaction-form,.cashflow-app .settings-page,.cashflow-app .taxes-page,.cashflow-app .help-page,.cashflow-app .category-management,.cashflow-app .html-table-import,.cashflow-app .bulk-import{box-sizing:border-box;width:100%;max-width:100%;animation:cf-fade-up .45s var(--ease-out);margin:0}.cashflow-app .overview-tab h2,.cashflow-app .expenses-tab h2,.cashflow-app .income-tab h2,.cashflow-app .transaction-form h2,.cashflow-app .settings-page-header h2,.cashflow-app .taxes-page h2,.cashflow-app .help-page h1,.cashflow-app .help-page h2{font-family:var(--font-display);letter-spacing:-.035em;color:#f4f4f5;padding-bottom:.45rem;font-weight:640;display:inline-block;position:relative;margin:0 0 .4rem!important;font-size:1.45rem!important}.cashflow-app .overview-tab h2:after,.cashflow-app .expenses-tab h2:after,.cashflow-app .income-tab h2:after,.cashflow-app .transaction-form h2:after,.cashflow-app .settings-page-header h2:after,.cashflow-app .taxes-page h2:after,.cashflow-app .help-page h1:after,.cashflow-app .help-page h2:after{content:"";background:linear-gradient(90deg,#6366f1,#3b82f633);border-radius:2px;width:2.25rem;height:2px;position:absolute;bottom:0;left:0}.cashflow-app .settings-page-subtitle,.cashflow-app .overview-tab>p,.cashflow-app .filters-section p{color:var(--text-secondary);max-width:38rem;margin:.15rem 0 1.15rem;font-size:.8125rem;line-height:1.55}.cashflow-app .settings-page-header,.cashflow-app .transaction-form,.cashflow-app .filters-section,.cashflow-app .taxes-page,.cashflow-app .settings-tab-panels{padding-top:0!important}.cashflow-app .filters-section,.cashflow-app .transaction-form,.cashflow-app .category-management,.cashflow-app .taxes-page,.cashflow-app .html-table-import,.cashflow-app .bulk-import{padding-left:0!important;padding-right:0!important}.cashflow-app .settings-tabs{border:1px solid var(--cf-hairline);box-sizing:border-box;background:#0c0c0c;border-radius:12px;flex-wrap:wrap;width:100%;max-width:100%;padding:.28rem;display:flex;gap:.3rem!important;margin:0 0 1.15rem!important}.cashflow-app .settings-tab{min-height:var(--control-height-sm);text-align:center;transition:background .18s var(--ease-out), border-color .18s var(--ease-out), color .18s var(--ease-out);flex:auto;justify-content:center;text-transform:none!important;letter-spacing:0!important;border:1px solid #0000!important;border-radius:9px!important;padding:.45rem .9rem!important;font-size:.8125rem!important}.cashflow-app .settings-tab:hover{color:#ededed!important;background:#ffffff0a!important}.cashflow-app .settings-tab.active,.cashflow-app .settings-tab[aria-selected=true]{box-shadow:inset 0 0 0 1px #6366f114;color:#ededed!important;background:#6366f11f!important;border-color:#6366f147!important}.cashflow-app .form-group{margin-bottom:.9rem!important}.cashflow-app .form-group label{color:#a1a1aa!important;text-transform:none!important;letter-spacing:.02em!important;margin-bottom:.35rem!important;font-size:.72rem!important;font-weight:560!important}.cashflow-app .form-group input,.cashflow-app .form-group select,.cashflow-app .form-group textarea,.cashflow-app .filter-group select,.cashflow-app .edit-form input,.cashflow-app .edit-form select,.cashflow-app .edit-form textarea{transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out), background .18s var(--ease-out);min-height:var(--control-height)!important;box-shadow:none!important;color:#ededed!important;background:#0c0c0c!important;border:1px solid #27272a!important;border-radius:10px!important;padding:.48rem .8rem!important;font-size:.8125rem!important}.cashflow-app .form-group input:hover,.cashflow-app .form-group select:hover,.cashflow-app .form-group textarea:hover,.cashflow-app .filter-group select:hover{border-color:#6366f147!important}.cashflow-app .form-group input:focus,.cashflow-app .form-group select:focus,.cashflow-app .form-group textarea:focus,.cashflow-app .filter-group select:focus{background:#0a0a0a!important;border-color:#6366f180!important;outline:none!important;box-shadow:0 0 0 3px #6366f11f!important}.cashflow-app .filters-section{box-shadow:inset 0 1px #ffffff08;border:1px solid var(--cf-hairline)!important;-webkit-backdrop-filter:none!important;background:linear-gradient(#121212,#0e0e0e)!important;border-radius:14px!important;margin-bottom:1.1rem!important;padding:1rem 1.05rem!important}.cashflow-app .filter-group label{text-transform:none!important;letter-spacing:.02em!important;opacity:1!important;color:#a1a1aa!important;font-size:.7rem!important}.cashflow-app .metric-cards,.cashflow-app .metrics-container,.cashflow-app .summary-cards,.cashflow-app .cards-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.85rem!important;margin-bottom:1.15rem!important;padding:0!important;display:grid!important}.cashflow-app .summary-section>.summary-cards,.cashflow-app .cf-analytics-section>.summary-cards{margin-bottom:0!important}.cashflow-app .metric-card,.cashflow-app .summary-card,.cashflow-app .metric-item,.cashflow-app .card{min-height:5.75rem;transition:border-color .22s var(--ease-out), transform .22s var(--ease-out), box-shadow .22s var(--ease-out);animation:cf-fade-up .5s var(--ease-out) both;position:relative;overflow:hidden;border:1px solid var(--cf-hairline)!important;-webkit-backdrop-filter:none!important;background:linear-gradient(165deg,#141414 0%,#0f0f0f 100%)!important;border-radius:14px!important;padding:1.05rem 1.1rem!important;box-shadow:inset 0 1px #ffffff0a!important}.cashflow-app .metric-card:nth-child(2),.cashflow-app .summary-card:nth-child(2){animation-delay:50ms}.cashflow-app .metric-card:nth-child(3),.cashflow-app .summary-card:nth-child(3){animation-delay:.1s}.cashflow-app .metric-card:nth-child(4),.cashflow-app .summary-card:nth-child(4){animation-delay:.15s}.cashflow-app .metric-card:after,.cashflow-app .summary-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#6366f10f,#0000 70%);border-radius:50%;width:8rem;height:8rem;position:absolute;top:-40%;right:-20%}.cashflow-app .metric-card:hover,.cashflow-app .summary-card:hover,.cashflow-app .card:hover{transform:translateY(-2px);border-color:#6366f152!important;box-shadow:inset 0 1px #ffffff0d,0 10px 28px #00000059!important}.cashflow-app .metric-card h3,.cashflow-app .summary-card h3,.cashflow-app .metric-label{text-transform:none!important;letter-spacing:.04em!important;color:#a1a1aa!important;margin-bottom:.45rem!important;font-size:.7rem!important;font-weight:560!important}.cashflow-app .metric-value,.cashflow-app .summary-card .amount,.cashflow-app .metric-card .amount{font-family:var(--font-mono);letter-spacing:-.03em;color:#f4f4f5;line-height:1.15;font-size:1.4rem!important;font-weight:500!important}.cashflow-app .transactions-table-wrapper,.cashflow-app .table-container{border:1px solid var(--cf-hairline);background:#0e0e0e;border-radius:14px;overflow:hidden;box-shadow:inset 0 1px #ffffff08}.cashflow-app .transactions-table th,.cashflow-app .transactions-table td,.cashflow-app table th,.cashflow-app table td{border-color:#ffffff0d!important;padding:.6rem .8rem!important;font-size:.8125rem!important}.cashflow-app .transactions-table th{text-transform:uppercase;letter-spacing:.07em;color:#a1a1aa!important;background:#0a0a0a!important;font-size:.66rem!important;font-weight:620!important}.cashflow-app .transactions-table tbody tr{transition:background .15s var(--ease-out)}.cashflow-app .transactions-table tbody tr:hover{background:#6366f10d!important}.cashflow-app .transaction-category-row,.cashflow-app .category-item,.cashflow-app .tax-location-card,.cashflow-app .mapping-row{transition:border-color .18s var(--ease-out), transform .18s var(--ease-out);border:1px solid var(--cf-hairline)!important;background:linear-gradient(165deg,#141414,#101010)!important;border-radius:12px!important;margin-bottom:.55rem!important;padding:.8rem .9rem!important}.cashflow-app .transaction-category-row:hover,.cashflow-app .category-item:hover,.cashflow-app .tax-location-card:hover{transform:translateY(-1px);border-color:#6366f147!important}.cashflow-app .step-indicator{gap:.5rem!important;margin-bottom:1.1rem!important}.cashflow-app .step-number{color:#ededed!important;background:#6366f11f!important;border:1px solid #6366f152!important;border-radius:999px!important;width:1.7rem!important;height:1.7rem!important;font-size:.75rem!important}.cashflow-app .step-label{color:#a1a1aa!important;font-size:.7rem!important}.cashflow-app .step-content{padding:.4rem 0 .95rem!important}.cashflow-app .step-actions{gap:.55rem!important;margin-top:.95rem!important}.cashflow-app .loading{padding:2.5rem 1rem!important}.cashflow-app .loading h3{font-family:var(--font-display);font-size:1.1rem!important}.cashflow-app .no-transactions,.cashflow-app .no-income-message,.cashflow-app .no-expenses-message{text-align:center;-webkit-backdrop-filter:none!important;letter-spacing:0!important;color:#a1a1aa!important;background:linear-gradient(165deg,#141414,#0f0f0f)!important;border:1px dashed #6366f138!important;border-radius:14px!important;padding:1.75rem 1.25rem!important;box-shadow:inset 0 1px #ffffff08!important}.cashflow-app .category-breakdown,.cashflow-app .graph-container,.cashflow-app .chart-wrapper,.cashflow-app .analytics-section,.cashflow-app .summary-section,.cashflow-app .monthly-averages-section,.cashflow-app .year-end-forecast-section,.cashflow-app .overall-budget-section,.cashflow-app .budget-section,.cashflow-app .transaction-management-section,.cashflow-app .cf-analytics-section{border:1px solid var(--cf-hairline)!important;-webkit-backdrop-filter:none!important;background:linear-gradient(165deg,#141414,#0f0f0f)!important;border-radius:14px!important;margin-top:.85rem!important;margin-bottom:0!important;padding:1.05rem!important;position:relative!important;overflow:visible!important;box-shadow:inset 0 1px #ffffff08!important}.cashflow-app .summary-section:before,.cashflow-app .monthly-averages-section:before,.cashflow-app .year-end-forecast-section:before,.cashflow-app .overall-budget-section:before,.cashflow-app .budget-section:before,.cashflow-app .category-breakdown:before,.cashflow-app .transaction-management-section:before,.cashflow-app .cf-analytics-section:before{content:none!important;display:none!important}.cashflow-app .cf-analytics-section>h3,.cashflow-app .summary-section>h3,.cashflow-app .monthly-averages-section>h3,.cashflow-app .year-end-forecast-section>h3,.cashflow-app .overall-budget-section>h3,.cashflow-app .budget-section>h3,.cashflow-app .category-breakdown>h3{font-family:var(--font-display)!important;letter-spacing:-.02em!important;color:#f4f4f5!important;-webkit-text-fill-color:#f4f4f5!important;text-shadow:none!important;background:0 0!important;margin:0 0 .35rem!important;padding:0!important;font-size:.95rem!important;font-weight:620!important}.cashflow-app .transaction-management-section>.transaction-management-header{align-items:center;margin:0 0 .35rem!important}.cashflow-app .transaction-management-section>.transaction-management-header h3{font-family:var(--font-display)!important;letter-spacing:-.02em!important;color:#f4f4f5!important;-webkit-text-fill-color:#f4f4f5!important;text-shadow:none!important;background:0 0!important;margin:0!important;padding:0!important;font-size:.95rem!important;font-weight:620!important}.cashflow-app .cf-section-desc,.cashflow-app .cf-analytics-section>.summary-description,.cashflow-app .cf-analytics-section>.averages-description,.cashflow-app .cf-analytics-section>.forecast-description,.cashflow-app .cf-analytics-section>.budget-description,.cashflow-app .cf-analytics-section>.breakdown-description,.cashflow-app .summary-section>.summary-description,.cashflow-app .monthly-averages-section>.averages-description,.cashflow-app .year-end-forecast-section>.forecast-description,.cashflow-app .budget-section>.budget-description,.cashflow-app .overall-budget-section>.budget-description,.cashflow-app .category-breakdown>.breakdown-description{color:#a1a1aa!important;opacity:1!important;letter-spacing:0!important;margin:0 0 .9rem!important;padding:0!important;font-size:.78rem!important;font-weight:450!important;line-height:1.45!important}.cashflow-app .cf-analytics-section .breakdown-container,.cashflow-app .category-breakdown .breakdown-container,.cashflow-app .overall-budget-section .breakdown-container{display:contents;box-shadow:none!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important}.cashflow-app .budget-section .budget-grid,.cashflow-app .budget-section>h3,.cashflow-app .budget-section>.budget-description{padding-left:0!important;padding-right:0!important}.cashflow-app .cf-analytics-section .overall-budget-card,.cashflow-app .cf-analytics-section .graph-container,.cashflow-app .cf-analytics-section .chart-wrapper,.cashflow-app .overall-budget-section .overall-budget-card,.cashflow-app .category-breakdown .graph-container{box-shadow:none!important;background:#ffffff06!important;border:1px solid #ffffff14!important;border-radius:12px!important;margin-top:.75rem!important}.cashflow-app .cf-analytics-section .graph-container:before,.cashflow-app .category-breakdown .graph-container:before,.cashflow-app .overall-budget-section .overall-budget-card:before{content:none!important;display:none!important}.cashflow-app .gross-revenue-basis{background:#6366f10f!important;border:1px solid #6366f12e!important;border-radius:12px!important;margin-bottom:.95rem!important;padding:.75rem 1rem!important}.cashflow-app .gross-revenue-basis p{text-transform:none!important;letter-spacing:0!important;color:#a1a1aa!important;font-size:.75rem!important}.cashflow-app .help-sidebar,.cashflow-app .help-main,.cashflow-app .help-note{border-radius:14px;border-color:var(--cf-hairline)!important;background:#111!important}.cashflow-app .submit-button,.cashflow-app .add-button,.cashflow-app .primary-button,.cashflow-app .btn-primary{color:#fff!important;transition:filter .18s var(--ease-out), box-shadow .18s var(--ease-out), transform .18s var(--ease-out)!important;background-image:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#4f46e5 100%)!important;border:1px solid #6366f159!important}.cashflow-app .submit-button:hover,.cashflow-app .add-button:hover,.cashflow-app .primary-button:hover,.cashflow-app .btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 8px 24px #6366f138!important}.cashflow-app [class*=button],.cashflow-app button{text-transform:none;letter-spacing:0!important}.cashflow-app .bg-bg{background-color:#0a0a0a!important}.cashflow-app .bg-bg-elevated{background-color:#111!important}.cashflow-app .bg-bg-soft{background-color:#1a1a1a!important}.cashflow-app .border-border{border-color:#27272a!important}.cashflow-app .text-accent{color:#6366f1!important}.cashflow-app .border-accent{border-color:#6366f173!important}.cashflow-app .bg-accent-dim\/25{background-color:#6366f11f!important}.cashflow-app .rounded-xl,.cashflow-app .rounded-2xl{border-radius:14px!important}.cashflow-app main>div,.cashflow-app .app-main>div{animation:cf-fade-up .4s var(--ease-out)}
