*{margin:0;padding:0;box-sizing:border-box}:root,[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-hover: #f1f5f9;--bg-input: #ffffff;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #64748b;--accent: #3b82f6;--accent-hover: #2563eb;--accent-light: rgba(59, 130, 246, .1);--positive: #16a34a;--positive-bg: rgba(22, 163, 74, .1);--negative: #dc2626;--negative-bg: rgba(220, 38, 38, .1);--warning: #d97706;--warning-bg: rgba(217, 119, 6, .1);--border: #e2e8f0;--border-light: #f1f5f9;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--sidebar-width: 260px;--sidebar-collapsed-width: 64px;--page-max-width: 1400px;--chart-grid: #e2e8f0;--scrollbar-bg: #f1f5f9;--scrollbar-thumb: #cbd5e1;--tint-blue-bg: #eff6ff;--tint-blue-hover: #dbeafe;--tint-blue-text: #1e40af;--tint-amber-bg: #fef3c7;--tint-amber-light: #fef9c3;--tint-amber-lightest: #fffbeb;--tint-amber-hover: #fcd34d;--tint-amber-text: #92400e;--tint-amber-text-dark: #78350f;--tint-green-bg: #f0fdf4;--tint-green-text: #166534;--tint-income-bg: #f0fdf4;--tint-income-text: #166534;--tint-expense-bg: #fef2f2;--tint-expense-text: #991b1b;--tint-over-bg: #fef2f2;--tint-warn-bg: #fffbeb;--tint-header-dark-bg: #1e293b;--tint-header-dark-text: #ffffff;--tint-header-dark-border: #334155;--tint-net-positive: #4ade80;--tint-net-negative: #f87171;--tint-ytd-bg: #f0f9ff;--tint-ytd-darker: #e0f2fe;--tint-ytd-text: #0369a1;--tint-ytd-border: #0ea5e9;--tint-forecast-bg: #fdf4ff;--tint-forecast-text: #86198f;--tint-forecast-header-text: #a21caf;--tint-forecast-border: #d946ef}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: #1e293b;--bg-hover: #334155;--bg-input: #334155;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--accent: #60a5fa;--accent-hover: #3b82f6;--accent-light: rgba(96, 165, 250, .15);--positive: #4ade80;--positive-bg: rgba(74, 222, 128, .15);--negative: #f87171;--negative-bg: rgba(248, 113, 113, .15);--warning: #fbbf24;--warning-bg: rgba(251, 191, 36, .15);--border: #334155;--border-light: #475569;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4);--sidebar-width: 260px;--sidebar-collapsed-width: 64px;--chart-grid: #475569;--scrollbar-bg: #1e293b;--scrollbar-thumb: #475569;--tint-blue-bg: rgba(96, 165, 250, .15);--tint-blue-hover: rgba(96, 165, 250, .25);--tint-blue-text: #60a5fa;--tint-amber-bg: rgba(251, 191, 36, .2);--tint-amber-light: rgba(251, 191, 36, .12);--tint-amber-lightest: rgba(251, 191, 36, .08);--tint-amber-hover: rgba(251, 191, 36, .35);--tint-amber-text: #fbbf24;--tint-amber-text-dark: #fbbf24;--tint-green-bg: rgba(74, 222, 128, .1);--tint-green-text: #4ade80;--tint-income-bg: rgba(74, 222, 128, .12);--tint-income-text: #4ade80;--tint-expense-bg: rgba(248, 113, 113, .12);--tint-expense-text: #f87171;--tint-over-bg: rgba(248, 113, 113, .12);--tint-warn-bg: rgba(251, 191, 36, .1);--tint-header-dark-bg: rgba(255, 255, 255, .1);--tint-header-dark-text: var(--text-primary);--tint-header-dark-border: var(--border);--tint-net-positive: var(--positive);--tint-net-negative: var(--negative);--tint-ytd-bg: rgba(14, 165, 233, .1);--tint-ytd-darker: rgba(14, 165, 233, .15);--tint-ytd-text: #38bdf8;--tint-ytd-border: rgba(14, 165, 233, .5);--tint-forecast-bg: rgba(217, 70, 239, .1);--tint-forecast-text: #e879f9;--tint-forecast-header-text: #e879f9;--tint-forecast-border: rgba(217, 70, 239, .5)}[data-theme=midnight]{--bg-primary: #0d0221;--bg-secondary: #150535;--bg-card: #1a0a3e;--bg-hover: #261254;--bg-input: #1a0a3e;--text-primary: #e8e0f0;--text-secondary: #b8a8d0;--text-muted: #8878a0;--accent: #a78bfa;--accent-hover: #8b5cf6;--accent-light: rgba(167, 139, 250, .15);--positive: #34d399;--positive-bg: rgba(52, 211, 153, .15);--negative: #fb7185;--negative-bg: rgba(251, 113, 133, .15);--warning: #fbbf24;--warning-bg: rgba(251, 191, 36, .15);--border: #2d1b69;--border-light: #3b2580;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--sidebar-width: 260px;--sidebar-collapsed-width: 64px;--chart-grid: #3b2580;--scrollbar-bg: #150535;--scrollbar-thumb: #3b2580;--tint-blue-bg: rgba(167, 139, 250, .15);--tint-blue-hover: rgba(167, 139, 250, .25);--tint-blue-text: var(--accent);--tint-amber-bg: rgba(251, 191, 36, .2);--tint-amber-light: rgba(251, 191, 36, .12);--tint-amber-lightest: rgba(251, 191, 36, .08);--tint-amber-hover: rgba(251, 191, 36, .35);--tint-amber-text: var(--warning);--tint-amber-text-dark: var(--warning);--tint-green-bg: rgba(52, 211, 153, .1);--tint-green-text: var(--positive);--tint-income-bg: rgba(52, 211, 153, .12);--tint-income-text: var(--positive);--tint-expense-bg: rgba(251, 113, 133, .12);--tint-expense-text: var(--negative);--tint-over-bg: rgba(251, 113, 133, .12);--tint-warn-bg: rgba(251, 191, 36, .1);--tint-header-dark-bg: rgba(167, 139, 250, .15);--tint-header-dark-text: var(--text-primary);--tint-header-dark-border: var(--border);--tint-net-positive: var(--positive);--tint-net-negative: var(--negative);--tint-ytd-bg: rgba(136, 192, 208, .1);--tint-ytd-darker: rgba(136, 192, 208, .15);--tint-ytd-text: #88c0d0;--tint-ytd-border: rgba(136, 192, 208, .5);--tint-forecast-bg: rgba(180, 142, 173, .1);--tint-forecast-text: #b48ead;--tint-forecast-header-text: #b48ead;--tint-forecast-border: rgba(180, 142, 173, .5)}[data-theme=nord]{--bg-primary: #2e3440;--bg-secondary: #3b4252;--bg-card: #3b4252;--bg-hover: #434c5e;--bg-input: #3b4252;--text-primary: #eceff4;--text-secondary: #d8dee9;--text-muted: #a0aec0;--accent: #88c0d0;--accent-hover: #81a1c1;--accent-light: rgba(136, 192, 208, .15);--positive: #a3be8c;--positive-bg: rgba(163, 190, 140, .15);--negative: #bf616a;--negative-bg: rgba(191, 97, 106, .15);--warning: #ebcb8b;--warning-bg: rgba(235, 203, 139, .15);--border: #4c566a;--border-light: #434c5e;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .35);--sidebar-width: 260px;--sidebar-collapsed-width: 64px;--chart-grid: #4c566a;--scrollbar-bg: #3b4252;--scrollbar-thumb: #4c566a;--tint-blue-bg: rgba(136, 192, 208, .15);--tint-blue-hover: rgba(136, 192, 208, .25);--tint-blue-text: var(--accent);--tint-amber-bg: rgba(235, 203, 139, .2);--tint-amber-light: rgba(235, 203, 139, .12);--tint-amber-lightest: rgba(235, 203, 139, .08);--tint-amber-hover: rgba(235, 203, 139, .35);--tint-amber-text: var(--warning);--tint-amber-text-dark: var(--warning);--tint-green-bg: rgba(163, 190, 140, .1);--tint-green-text: var(--positive);--tint-income-bg: rgba(163, 190, 140, .12);--tint-income-text: var(--positive);--tint-expense-bg: rgba(191, 97, 106, .12);--tint-expense-text: var(--negative);--tint-over-bg: rgba(191, 97, 106, .12);--tint-warn-bg: rgba(235, 203, 139, .1);--tint-header-dark-bg: rgba(136, 192, 208, .15);--tint-header-dark-text: var(--text-primary);--tint-header-dark-border: var(--border);--tint-net-positive: var(--positive);--tint-net-negative: var(--negative);--tint-ytd-bg: rgba(136, 192, 208, .1);--tint-ytd-darker: rgba(136, 192, 208, .15);--tint-ytd-text: var(--accent);--tint-ytd-border: rgba(136, 192, 208, .5);--tint-forecast-bg: rgba(180, 142, 173, .1);--tint-forecast-text: #b48ead;--tint-forecast-header-text: #b48ead;--tint-forecast-border: rgba(180, 142, 173, .5)}[data-theme=solarized]{--bg-primary: #fdf6e3;--bg-secondary: #eee8d5;--bg-card: #eee8d5;--bg-hover: #e8dcc8;--bg-input: #fdf6e3;--text-primary: #073642;--text-secondary: #586e75;--text-muted: #839496;--accent: #268bd2;--accent-hover: #2176b8;--accent-light: rgba(38, 139, 210, .1);--positive: #859900;--positive-bg: rgba(133, 153, 0, .1);--negative: #dc322f;--negative-bg: rgba(220, 50, 47, .1);--warning: #b58900;--warning-bg: rgba(181, 137, 0, .1);--border: #d3cbb7;--border-light: #e8dcc8;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--sidebar-width: 260px;--sidebar-collapsed-width: 64px;--chart-grid: #d3cbb7;--scrollbar-bg: #eee8d5;--scrollbar-thumb: #c0b8a4;--tint-blue-bg: rgba(38, 139, 210, .15);--tint-blue-hover: rgba(38, 139, 210, .25);--tint-blue-text: #268bd2;--tint-amber-bg: rgba(181, 137, 0, .2);--tint-amber-light: rgba(181, 137, 0, .12);--tint-amber-lightest: rgba(181, 137, 0, .08);--tint-amber-hover: rgba(181, 137, 0, .35);--tint-amber-text: #b58900;--tint-amber-text-dark: #b58900;--tint-green-bg: rgba(133, 153, 0, .1);--tint-green-text: #859900;--tint-income-bg: rgba(133, 153, 0, .12);--tint-income-text: #859900;--tint-expense-bg: rgba(220, 50, 47, .12);--tint-expense-text: #dc322f;--tint-over-bg: rgba(220, 50, 47, .12);--tint-warn-bg: rgba(181, 137, 0, .1);--tint-header-dark-bg: rgba(7, 54, 66, .1);--tint-header-dark-text: var(--text-primary);--tint-header-dark-border: var(--border);--tint-net-positive: var(--positive);--tint-net-negative: var(--negative);--tint-ytd-bg: rgba(38, 139, 210, .1);--tint-ytd-darker: rgba(38, 139, 210, .15);--tint-ytd-text: #268bd2;--tint-ytd-border: rgba(38, 139, 210, .5);--tint-forecast-bg: rgba(108, 113, 196, .1);--tint-forecast-text: #6c71c4;--tint-forecast-header-text: #6c71c4;--tint-forecast-border: rgba(108, 113, 196, .5)}[data-theme=high-contrast]{--bg-primary: #000000;--bg-secondary: #111111;--bg-card: #111111;--bg-hover: #222222;--bg-input: #111111;--text-primary: #ffffff;--text-secondary: #e0e0e0;--text-muted: #b0b0b0;--accent: #00bfff;--accent-hover: #009ddb;--accent-light: rgba(0, 191, 255, .2);--positive: #00ff7f;--positive-bg: rgba(0, 255, 127, .15);--negative: #ff4444;--negative-bg: rgba(255, 68, 68, .15);--warning: #ffdd00;--warning-bg: rgba(255, 221, 0, .15);--border: #444444;--border-light: #333333;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .6);--sidebar-width: 260px;--sidebar-collapsed-width: 64px;--chart-grid: #444444;--scrollbar-bg: #111111;--scrollbar-thumb: #555555;--tint-blue-bg: rgba(0, 191, 255, .15);--tint-blue-hover: rgba(0, 191, 255, .25);--tint-blue-text: #00bfff;--tint-amber-bg: rgba(255, 221, 0, .2);--tint-amber-light: rgba(255, 221, 0, .12);--tint-amber-lightest: rgba(255, 221, 0, .08);--tint-amber-hover: rgba(255, 221, 0, .35);--tint-amber-text: #ffdd00;--tint-amber-text-dark: #ffdd00;--tint-green-bg: rgba(0, 255, 127, .1);--tint-green-text: #00ff7f;--tint-income-bg: rgba(0, 255, 127, .12);--tint-income-text: #00ff7f;--tint-expense-bg: rgba(255, 68, 68, .12);--tint-expense-text: #ff4444;--tint-over-bg: rgba(255, 68, 68, .12);--tint-warn-bg: rgba(255, 221, 0, .1);--tint-header-dark-bg: rgba(255, 255, 255, .12);--tint-header-dark-text: #ffffff;--tint-header-dark-border: #444444;--tint-net-positive: #00ff7f;--tint-net-negative: #ff4444;--tint-ytd-bg: rgba(0, 191, 255, .1);--tint-ytd-darker: rgba(0, 191, 255, .15);--tint-ytd-text: #00bfff;--tint-ytd-border: rgba(0, 191, 255, .5);--tint-forecast-bg: rgba(200, 100, 255, .1);--tint-forecast-text: #c864ff;--tint-forecast-header-text: #c864ff;--tint-forecast-border: rgba(200, 100, 255, .5)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;transition:transform .3s ease,width .3s ease;box-shadow:2px 0 8px #0000000f}.sidebar-header{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;color:var(--text-primary);text-decoration:none;cursor:pointer;transition:opacity .15s ease}.logo:hover{opacity:.8}.logo svg{color:var(--accent)}.close-sidebar{display:none;background:none;border:none;color:var(--text-secondary);cursor:pointer}.sidebar-nav{flex:1;padding:1rem .75rem;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;color:var(--text-secondary);text-decoration:none;margin-bottom:.25rem;transition:all .2s}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--accent);color:#fff}.nav-badge{margin-left:auto;background:var(--negative);color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;padding:0 5px}.nav-item.active .nav-badge{background:#ffffff4d}.sidebar.collapsed .nav-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;line-height:16px;font-size:.6rem;padding:0 3px}.sidebar-footer{padding:1rem;border-top:1px solid var(--border)}.refresh-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s}.refresh-button:hover{border-color:var(--accent);color:var(--text-primary)}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.footer-buttons{display:flex;gap:.5rem}.footer-buttons .refresh-button{flex:1}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.theme-toggle-btn:hover{border-color:var(--accent);color:var(--accent)}.theme-picker-wrap{position:relative}.theme-picker-popup{position:absolute;bottom:calc(100% + 8px);left:0;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:.375rem;display:flex;flex-direction:column;gap:2px;min-width:160px;box-shadow:var(--shadow-lg);z-index:200;animation:fadeSlideUp .15s ease}.theme-picker-popup.expanded{min-width:220px}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.theme-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.82rem;white-space:nowrap;transition:all .15s}.theme-option:hover{background:var(--bg-hover);color:var(--text-primary)}.theme-option.active{background:var(--accent-light);color:var(--accent);font-weight:600}.theme-desc{margin-left:auto;font-size:.72rem;color:var(--text-muted);font-weight:400}.theme-option.active .theme-desc{color:var(--accent);opacity:.7}@keyframes spin{to{transform:rotate(360deg)}}.last-refresh{text-align:center;font-size:.75rem;color:var(--text-muted);margin:.5rem 0}.user-section{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-primary);border-radius:8px;margin-top:.5rem}.user-section img{width:36px;height:36px;border-radius:50%}.user-info{flex:1;min-width:0}.user-name{display:block;font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{display:block;font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s}.logout-btn:hover{background:var(--bg-hover);color:var(--negative)}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;padding:1.5rem;max-width:calc(100vw - var(--sidebar-width));transition:margin-left .3s ease,max-width .3s ease}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:60px;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:0 1rem;align-items:center;justify-content:space-between;z-index:90}.menu-button,.refresh-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem}.mobile-title{display:flex;align-items:center;gap:.5rem;font-weight:600}.mobile-title svg{color:var(--accent)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.sidebar-collapse-btn{position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:101;box-shadow:0 2px 4px #0000001a}.sidebar-collapse-btn:hover{background:var(--bg-hover);color:var(--accent);border-color:var(--accent)}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .sidebar-header{padding:1.5rem .75rem;justify-content:center}.sidebar.collapsed .logo{justify-content:center}.sidebar.collapsed .sidebar-nav{padding:1rem .5rem}.sidebar.collapsed .nav-item{justify-content:center;padding:.75rem;position:relative}.sidebar.collapsed .sidebar-footer{padding:.75rem .5rem}.footer-buttons-collapsed{display:flex;flex-direction:column;align-items:center;gap:.5rem}.refresh-button-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.refresh-button-icon:hover{border-color:var(--accent);color:var(--accent)}.refresh-button-icon:disabled{opacity:.5;cursor:not-allowed}.sidebar.collapsed .theme-toggle-btn,.sidebar.collapsed .logout-btn{width:40px;height:40px}.app-layout.sidebar-collapsed .main-content{margin-left:var(--sidebar-collapsed-width);max-width:calc(100vw - var(--sidebar-collapsed-width))}.main-content:has(.connection-settings-page.focus-mode){padding:0!important;margin:0!important;max-width:100vw!important;display:flex;flex-direction:column}.loading-screen,.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem;color:var(--negative)}.oauth-callback-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--bg-primary)}.oauth-callback-card{background:var(--bg-card);border-radius:16px;padding:3rem 2rem;width:100%;max-width:420px;text-align:center;border:1px solid var(--border);box-shadow:var(--shadow-lg)}.oauth-callback-card h2{margin:1rem 0 .5rem;color:var(--text-primary)}.oauth-callback-card p{color:var(--text-secondary);margin-bottom:1.5rem}.oauth-callback-card.error{border-color:var(--negative)}.oauth-callback-card.error h2{color:var(--negative)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#e0e7ff,#f8fafc)}.login-card{background:var(--bg-card);border-radius:16px;padding:3rem 2rem;width:100%;max-width:420px;text-align:center;border:1px solid var(--border);box-shadow:0 8px 24px #0000001f}.login-header{margin-bottom:2rem}.login-icon{display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;background:linear-gradient(135deg,var(--accent) 0%,#8b5cf6 100%);border-radius:24px;margin-bottom:1.5rem;color:#fff}.login-header h1{font-size:1.75rem;margin-bottom:.5rem}.login-header p{color:var(--text-secondary)}.error-message{background:#ef44441a;border:1px solid var(--negative);color:var(--negative);padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.875rem}.google-button{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1rem 1.5rem;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.google-button:hover{background:var(--bg-hover);transform:translateY(-1px)}.login-features{display:flex;justify-content:center;gap:1.5rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}.feature{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-secondary)}.feature svg{color:var(--accent)}.login-footer{margin-top:1.5rem;font-size:.75rem;color:var(--text-muted)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.page-header h1{font-size:1.35rem;font-weight:700}.page-subtitle{color:var(--text-secondary);font-size:.8rem;margin-left:.5rem}.card{background:var(--bg-card);border-radius:12px;padding:1.5rem;border:1px solid var(--border)}.card h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-secondary)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.view-all{font-size:.875rem;color:var(--accent);text-decoration:none}.view-all:hover{text-decoration:underline}.dashboard-page{max-width:var(--page-max-width);margin:0 auto}.dashboard-nav{margin-bottom:2rem}.dashboard-nav .nav-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.dashboard-nav .nav-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.dashboard-nav .nav-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem}.dashboard-nav .section-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.75rem;padding-left:.25rem}.dashboard-nav .nav-cards{display:flex;flex-direction:column;gap:.5rem}.dashboard-nav .nav-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;text-decoration:none;color:var(--text-primary);transition:all .15s ease;background:transparent}.dashboard-nav .nav-card:hover{background:var(--bg-hover)}.dashboard-nav .nav-card-icon{color:var(--accent);flex-shrink:0}.dashboard-nav .nav-card-text{flex:1;min-width:0}.dashboard-nav .nav-card-label{display:block;font-weight:500;font-size:.9rem}.dashboard-nav .nav-card-desc{display:block;font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-nav .nav-card-arrow{color:var(--text-muted);flex-shrink:0;opacity:0;transition:opacity .15s ease}.dashboard-nav .nav-card:hover .nav-card-arrow{opacity:1}@media (max-width: 900px){.dashboard-nav .nav-sections{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.dashboard-nav .nav-sections{grid-template-columns:1fr}.dashboard-nav .nav-card-desc{display:none}}.dashboard-hero{background:linear-gradient(135deg,#dbeafe,#fff);border-radius:16px;padding:1.5rem 2rem;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;border:1px solid var(--border)}.hero-main{flex:1}.hero-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.hero-value{font-size:2.5rem;font-weight:700;color:var(--positive);margin:.25rem 0 .5rem}.hero-breakdown{display:flex;gap:1.5rem}.hero-breakdown .breakdown-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.hero-breakdown .breakdown-item.positive{color:var(--positive)}.hero-breakdown .breakdown-item.negative{color:var(--negative)}.hero-chart{width:280px;flex-shrink:0}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.metric-card{display:flex;align-items:center;gap:.75rem;background:var(--bg-card);border-radius:12px;padding:1rem;border:1px solid var(--border);text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}.metric-card:hover{border-color:var(--accent);transform:translateY(-2px)}.metric-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0}.metric-icon.cash{background:#22c55e26;color:var(--positive)}.metric-icon.spending{background:#ef444426;color:var(--negative)}.metric-icon.income{background:#22c55e26;color:var(--positive)}.metric-icon.debt{background:#f59e0b26;color:var(--warning)}.metric-content{display:flex;flex-direction:column;min-width:0}.metric-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.metric-value{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.metric-value.positive{color:var(--positive)}.metric-value.negative{color:var(--negative)}.dashboard-quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1.25rem}.quick-stat{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s;text-align:left}.quick-stat:hover{border-color:var(--accent);box-shadow:var(--shadow)}.stat-icon{opacity:.9}.stat-icon.positive{color:var(--positive)}.stat-icon.negative{color:var(--negative)}.stat-icon.warning{color:var(--warning)}.stat-info{display:flex;flex-direction:column;min-width:0}.stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.stat-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.stat-value.positive{color:var(--positive)}.stat-value.negative{color:var(--negative)}.dashboard-cashflow{margin-bottom:1.5rem}.cashflow-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.cashflow-header h3{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.period-selector{display:flex;gap:2px;background:var(--bg-hover);border-radius:6px;padding:2px}.period-selector button{padding:4px 10px;font-size:.7rem;font-weight:500;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.period-selector button.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 2px #0000001a}.period-selector button:hover:not(.active){color:var(--text-primary)}.debt-snapshot-list{display:flex;flex-direction:column}.debt-snapshot-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-light);cursor:pointer;background:none;border-left:none;border-right:none;border-top:none;width:100%;text-align:left}.debt-snapshot-row:last-child{border-bottom:none}.debt-snapshot-row:hover{background:var(--bg-hover);margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem;border-radius:6px}.debt-info{display:flex;flex-direction:column;gap:2px;min-width:0}.debt-name{font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.debt-rate{font-size:.7rem;color:var(--text-muted);display:flex;align-items:center;gap:4px}.est-badge{font-size:.6rem;background:var(--warning-bg);color:var(--warning);padding:1px 4px;border-radius:3px;font-weight:600}.debt-balance{font-size:.9rem;font-weight:600;color:var(--negative);white-space:nowrap}.cashflow-bar{display:flex;background:var(--bg-card);border-radius:12px;border:1px solid var(--border);overflow:hidden}.cashflow-item{flex:1;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;border-right:1px solid var(--border)}.cashflow-item:last-child{border-right:none}.cashflow-item .cf-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.cashflow-item .cf-value{font-weight:600;font-size:1rem}.cashflow-item.income .cf-value{color:var(--positive)}.cashflow-item.spending .cf-value{color:var(--negative)}.cashflow-item.net.positive .cf-value{color:var(--positive)}.cashflow-item.net.negative .cf-value{color:var(--negative)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}.dashboard-card{background:var(--bg-card);border-radius:12px;border:1px solid var(--border);padding:1rem 1.25rem;overflow:hidden;min-width:0}.dashboard-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.dashboard-card .card-header h3{font-size:1rem;font-weight:600;margin:0}.dashboard-card .card-link{font-size:.75rem;color:var(--accent);text-decoration:none}.dashboard-card .card-link:hover{text-decoration:underline}.dashboard-card .empty-state{text-align:center;padding:2rem;color:var(--text-muted);font-size:.85rem}.spending-content{display:flex;gap:1rem;align-items:flex-start;overflow:hidden}.spending-chart{flex-shrink:0;width:140px}.spending-list{flex:1;min-width:0;display:flex;flex-direction:column;gap:.4rem;overflow:hidden}.spending-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem;overflow:hidden}.spending-row .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.spending-row .name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spending-row .value{font-weight:500;color:var(--text-secondary);flex-shrink:0;margin-left:auto}.transactions-list{display:flex;flex-direction:column;gap:.5rem}.txn-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border)}.txn-row:last-child{border-bottom:none}.txn-info{flex:1;min-width:0}.txn-desc{display:block;font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.txn-cat{display:block;font-size:.7rem;color:var(--text-muted)}.txn-right{text-align:right;flex-shrink:0}.txn-amount{display:block;font-weight:600;font-size:.85rem}.txn-amount.positive{color:var(--positive)}.txn-amount.negative{color:var(--negative)}.txn-date{display:block;font-size:.7rem;color:var(--text-muted)}.accounts-list{display:flex;flex-direction:column;gap:.5rem}.account-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.account-row .account-icon{color:var(--text-secondary);flex-shrink:0}.account-row .account-info{flex:1;min-width:0}.account-row .account-name{display:block;font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-row .account-inst{display:block;font-size:.7rem;color:var(--text-muted)}.account-row .account-balance{font-weight:600;font-size:.9rem;flex-shrink:0}.account-row .account-balance.positive{color:var(--positive)}.account-row .account-balance.negative{color:var(--negative)}@media (max-width: 900px){.dashboard-metrics{grid-template-columns:repeat(2,1fr)}.dashboard-hero{flex-direction:column;text-align:center}.hero-breakdown{justify-content:center}.hero-chart{width:100%}}@media (max-width: 600px){.dashboard-metrics{grid-template-columns:1fr}.cashflow-bar{flex-direction:column}.cashflow-item{border-right:none;border-bottom:1px solid var(--border)}.cashflow-item:last-child{border-bottom:none}.spending-content{flex-direction:column}.spending-chart{width:100%}}.dashboard-groups{margin-bottom:1.5rem}.groups-row{margin-bottom:1rem}.groups-row h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem;padding-left:.25rem}.group-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.group-card{display:flex;align-items:center;gap:.75rem;background:#ffffff08;border:1px solid var(--border);border-radius:10px;padding:.875rem 1rem;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.group-card:hover{background:#ffffff0f;border-color:var(--accent);transform:translateY(-1px)}.group-icon{flex-shrink:0}.group-icon.positive{color:var(--positive)}.group-icon.negative{color:var(--negative)}.group-info{min-width:0;flex:1}.group-name{display:block;font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-total{display:block;font-size:1rem;font-weight:600;margin-top:.125rem}.hero-breakdown .breakdown-item{background:transparent;border:none;padding:.25rem .5rem;border-radius:6px;cursor:pointer;transition:background .2s}.hero-breakdown .breakdown-item:hover{background:#ffffff14}.hero-breakdown .breakdown-item .arrow{opacity:.5;transition:opacity .2s}.hero-breakdown .breakdown-item:hover .arrow{opacity:1}.hero-chart{cursor:pointer;position:relative}.hero-chart .chart-hint{position:absolute;bottom:-8px;right:0;font-size:.65rem;color:var(--text-muted);opacity:.6}.cashflow-item{cursor:pointer;transition:background .2s;background:transparent;border:none;text-align:left}.cashflow-item:hover{background:#ffffff0d}.cashflow-item>div{display:flex;flex-direction:column;align-items:flex-start}.expenses-list{display:flex;flex-direction:column;gap:.25rem}.expense-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05);background:transparent;border:none;cursor:pointer;text-align:left;width:100%;transition:background .15s;border-radius:4px}.expense-row:hover{background:#ffffff0d}.expense-row:last-child{border-bottom:none}.expense-rank{width:20px;height:20px;border-radius:50%;background:#ef444426;color:var(--negative);font-size:.7rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.expense-info{flex:1;min-width:0}.expense-desc{display:block;font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-cat{display:block;font-size:.7rem;color:var(--text-muted)}.expense-amount{font-weight:600;font-size:.85rem;color:var(--negative);flex-shrink:0}.income-list{display:flex;flex-direction:column;gap:.25rem}.income-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05);background:transparent;border:none;cursor:pointer;text-align:left;width:100%;transition:background .15s;border-radius:4px}.income-row:hover{background:#ffffff0d}.income-row:last-child{border-bottom:none}.income-info{flex:1;min-width:0}.income-desc{display:block;font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.income-date{display:block;font-size:.7rem;color:var(--text-muted)}.income-amount{font-weight:600;font-size:.9rem;color:var(--positive);flex-shrink:0}.spending-row,.txn-row,.account-row{background:transparent;border:none;cursor:pointer;text-align:left;width:100%;transition:background .15s;border-radius:4px;margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem}.spending-row:hover,.txn-row:hover,.account-row:hover{background:#ffffff0d}.spending-row .arrow,.account-row .arrow{opacity:0;margin-left:.25rem;transition:opacity .2s}.spending-row:hover .arrow,.account-row:hover .arrow{opacity:.6}.dashboard-card .card-header h3{display:flex;align-items:center;gap:.5rem}.dashboard-card .card-header h3 svg{color:var(--text-secondary)}@media (max-width: 600px){.group-cards{grid-template-columns:1fr 1fr}.group-card{padding:.75rem}.group-total{font-size:.9rem}}.accounts-page{max-width:var(--page-max-width);margin:0 auto}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card{display:flex;align-items:center;gap:1rem;background:var(--bg-card);border-radius:12px;padding:1.25rem;border:1px solid var(--border)}.summary-card .label{display:block;font-size:.75rem;color:var(--text-secondary)}.summary-card .value{font-size:1.25rem;font-weight:600}.search-box{display:flex;align-items:center;gap:.35rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:.35rem .6rem;flex:1;min-width:180px}.search-box.large{flex:2;max-width:350px}.search-box input{flex:1;background:none;border:none;color:var(--text-primary);font-size:.8rem;outline:none}.search-box svg{color:var(--text-secondary);flex-shrink:0}.clear-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.15rem}.filter-group{display:flex;align-items:center;gap:.35rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:.35rem .6rem}.filter-group svg{color:var(--text-secondary);flex-shrink:0}.filter-group select{background:none;border:none;color:var(--text-primary);font-size:.8rem;outline:none;cursor:pointer}.filter-group.date{gap:.35rem}.filter-group.date input{background:none;border:none;color:var(--text-primary);font-size:.8rem;outline:none;width:110px}.filter-group.date span{color:var(--text-secondary);font-size:.8rem}.sort-buttons button{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.5rem 1rem;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s}.sort-buttons button:hover,.sort-buttons button.active{border-color:var(--accent);color:var(--text-primary)}.account-group{background:var(--bg-card);border-radius:12px;border:1px solid var(--border);overflow:hidden}.group-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.25rem;background:none;border:none;color:var(--text-primary);cursor:pointer;transition:background .2s}.account-count{font-weight:400;color:var(--text-secondary)}.account-row{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;border-bottom:1px solid var(--border)}.account-info{display:flex;flex-direction:column}.account-name{font-weight:500;font-size:.875rem;color:var(--text-primary)}.account-institution{font-size:.75rem;color:var(--text-secondary)}.account-balance{font-weight:600;color:var(--text-primary)}.transactions-page{max-width:var(--page-max-width);margin:0 auto}.transaction-summary{display:flex;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.summary-item{flex:1;min-width:120px;background:var(--bg-card);border-radius:8px;padding:.5rem .75rem;border:1px solid var(--border);display:flex;align-items:center;gap:.75rem}.summary-item .label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.summary-item .value{font-size:1rem;font-weight:600}.summary-item.income .value{color:var(--positive)}.summary-item.expenses .value{color:var(--negative)}.filters-section{background:var(--bg-card);border-radius:8px;padding:.5rem .75rem;border:1px solid var(--border);margin-bottom:.75rem}.filters-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:.5rem}.filters-row:last-child{margin-bottom:0}.toggle-filters{display:flex;gap:.75rem}.toggle-filters label{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-secondary);cursor:pointer}.toggle-filters label.active span{font-weight:500}.toggle-filters input{accent-color:var(--accent);width:14px;height:14px}.clear-filters{display:flex;align-items:center;gap:.35rem;background:none;border:1px solid var(--border);border-radius:6px;padding:.3rem .6rem;color:var(--text-secondary);font-size:.75rem;cursor:pointer;margin-left:auto}.clear-filters:hover{border-color:var(--negative);color:var(--negative)}.transactions-list{background:var(--bg-card);border-radius:8px;border:1px solid var(--border);overflow:hidden;max-height:calc(100vh - 260px);overflow-y:auto;position:relative}.list-header{display:grid;grid-template-columns:85px 1fr 140px 130px 100px;padding:.5rem .75rem;background:var(--bg-primary);border-bottom:1px solid var(--border);font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;gap:.75rem;position:sticky;top:0;z-index:10}.transactions-list .transaction-row{display:grid;grid-template-columns:85px 1fr 140px 130px 100px;padding:.5rem .75rem;border-bottom:1px solid var(--border);align-items:center;background:none;gap:.75rem}.transactions-list .transaction-row:hover{background:var(--bg-hover)}.transactions-list .transaction-row.needs-review{border-left:3px solid var(--warning)}.col-date{font-size:.8rem;color:var(--text-secondary)}.col-desc{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-category{font-size:.8rem}.category-btn{display:flex;align-items:center;gap:.35rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;padding:.25rem .5rem;color:var(--text-primary);font-size:.75rem;cursor:pointer;transition:all .2s}.category-btn:hover{border-color:var(--accent)}.category-btn svg{color:var(--text-secondary)}.category-edit{display:flex;align-items:center;gap:.25rem}.category-edit select{background:var(--bg-primary);border:1px solid var(--accent);border-radius:6px;padding:.375rem .5rem;color:var(--text-primary);font-size:.8rem;outline:none}.category-edit .save-btn,.category-edit .cancel-btn{background:none;border:none;padding:.375rem;cursor:pointer;border-radius:4px}.category-edit .save-btn{color:var(--positive)}.category-edit .cancel-btn{color:var(--negative)}.col-account{font-size:.75rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-amount{text-align:right;font-weight:600;font-size:.8rem}.col-amount.positive{color:var(--positive)}.col-amount.negative{color:var(--negative)}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary)}.no-results svg{margin-bottom:1rem}.no-results button{margin-top:1rem;background:var(--accent);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.pagination button{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem;color:var(--text-primary);cursor:pointer;transition:all .2s}.pagination button:hover:not(:disabled){border-color:var(--accent)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:.875rem;color:var(--text-secondary)}.transactions-list .transaction-row.clickable{cursor:pointer}.transactions-list .transaction-row.clickable:hover{background:var(--bg-hover)}.category-tag{background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;padding:.2rem .5rem;font-size:.75rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.transaction-modal{background:var(--bg-card);border-radius:16px;border:1px solid var(--border);max-width:560px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.modal-header h2{font-size:1.25rem;font-weight:600}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:6px;transition:all .2s}.txn-amount-hero{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem}.txn-amount-hero.income{background:linear-gradient(135deg,#22c55e26,#22c55e0d);border:1px solid rgba(34,197,94,.3)}.txn-amount-hero.income svg{color:var(--positive)}.txn-amount-hero.expense{background:linear-gradient(135deg,#ef444426,#ef44440d);border:1px solid rgba(239,68,68,.3)}.txn-amount-hero.expense svg{color:var(--negative)}.txn-amount-hero .amount{font-size:2rem;font-weight:700;flex:1}.txn-amount-hero.income .amount{color:var(--positive)}.txn-amount-hero.expense .amount{color:var(--negative)}.txn-amount-hero .type-badge{background:var(--bg-primary);padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.txn-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.txn-details-grid .detail-item{display:flex;gap:.75rem;padding:.75rem;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}.txn-details-grid .detail-item.full-width{grid-column:1 / -1}.txn-details-grid .detail-icon{color:var(--text-muted);flex-shrink:0;padding-top:.125rem}.txn-details-grid .detail-content{display:flex;flex-direction:column;gap:.25rem;min-width:0}.txn-details-grid .detail-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.txn-details-grid .detail-value{font-size:.9rem;color:var(--text-primary);word-break:break-word}.txn-details-grid .detail-value.warning{color:var(--warning);font-weight:500}.txn-details-grid .detail-value.muted{color:var(--text-muted);font-size:.8rem}.category-edit-btn{display:flex;align-items:center;gap:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem;color:var(--text-primary);cursor:pointer;font-size:.9rem;transition:all .2s}.category-edit-btn:hover{border-color:var(--accent);background:var(--bg-hover)}.category-edit-btn svg{color:var(--text-muted)}.category-edit-modal{display:flex;gap:.5rem;align-items:center}.category-edit-modal select{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:.5rem;color:var(--text-primary);font-size:.875rem}.category-edit-modal button{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:.375rem;cursor:pointer}.category-edit-modal .save-btn{color:var(--positive)}.category-edit-modal .cancel-btn{color:var(--negative)}.needs-review-badge{border-color:var(--warning)!important;background:#f59e0b1a!important}@media (max-width: 600px){.txn-details-grid{grid-template-columns:1fr}.txn-amount-hero .amount{font-size:1.5rem}}.column-customizer{position:relative}.columns-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:.5rem;cursor:pointer;color:var(--text-secondary);transition:all .2s;display:flex;align-items:center;justify-content:center}.columns-btn:hover,.columns-btn.active{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.column-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.column-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 25px #0006;z-index:100;min-width:200px;padding:.5rem}.column-menu-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);margin-bottom:.5rem;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.column-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;cursor:pointer;transition:background .15s;font-size:.85rem;color:var(--text-primary)}.column-option:hover{background:var(--bg-hover)}.column-option input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.column-option svg{color:var(--text-muted);flex-shrink:0}.column-option .visibility-icon{margin-left:auto;color:var(--positive)}.column-option .visibility-icon.muted{color:var(--text-muted);opacity:.5}.transaction-modal.large{max-width:640px}.detail-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.detail-section h3{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.detail-section.technical{opacity:.7}.detail-section.technical h3{color:var(--text-muted)}.txn-details-grid.compact{gap:.75rem}.txn-details-grid.compact .detail-item{padding:.5rem .75rem;background:#ffffff05}.txn-details-grid.compact .detail-icon{padding-top:0}.txn-details-grid.compact .detail-label{font-size:.65rem}.txn-details-grid.compact .detail-value{font-size:.85rem}.transactions-list .list-header,.transactions-list .transaction-row{display:grid;gap:1rem;align-items:center}.transactions-list .col-date{min-width:90px}.transactions-list .col-description{min-width:150px}.transactions-list .col-category,.transactions-list .col-account{min-width:100px}.transactions-list .col-amount{min-width:90px;text-align:right}.transactions-list .col-note{min-width:100px}.transactions-list .col-type{min-width:80px}.transactions-list .col-budgetGroup,.transactions-list .col-budgetCategory{min-width:100px}.transactions-list .col-month{min-width:80px}.spending-page{max-width:var(--page-max-width);margin:0 auto}.time-selector{display:flex;align-items:center;gap:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.5rem 1rem}.time-selector svg{color:var(--text-secondary)}.time-selector select{background:none;border:none;color:var(--text-primary);font-size:.875rem;outline:none;cursor:pointer}.spending-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.spending-summary .summary-card{display:flex;flex-direction:column}.spending-summary .summary-card.total{flex-direction:row;align-items:center;gap:1rem}.spending-summary .summary-card.total svg{color:var(--negative)}.change{display:flex;align-items:center;gap:.25rem;font-size:.75rem;margin-top:.25rem}.change.positive{color:var(--positive)}.change.negative{color:var(--negative)}.view-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem}.view-toggle button{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.75rem 1.25rem;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s}.view-toggle button:hover,.view-toggle button.active{border-color:var(--accent);color:var(--text-primary)}.spending-charts{background:var(--bg-card);border-radius:12px;padding:1.5rem;border:1px solid var(--border)}.category-view{display:flex;gap:2rem;flex-wrap:wrap}.chart-container,.category-breakdown{flex:1;min-width:300px}.category-breakdown h3{margin-bottom:1rem}.category-breakdown .category-list{display:flex;flex-direction:column;gap:.75rem}.category-breakdown .category-item{display:flex;flex-direction:column;gap:.5rem}.category-breakdown .category-info{display:flex;align-items:center;gap:.5rem}.category-breakdown .color-indicator{width:12px;height:12px;border-radius:3px}.category-breakdown .category-name{flex:1;font-size:.875rem}.category-breakdown .category-values{display:flex;justify-content:space-between}.category-breakdown .amount{font-weight:500}.category-breakdown .percent{color:var(--text-secondary);font-size:.875rem}.category-breakdown .progress-bar{height:4px;background:var(--bg-primary);border-radius:2px;overflow:hidden}.category-breakdown .progress{height:100%;border-radius:2px;transition:width .3s}.trend-view,.comparison-view{min-height:400px}.budget-page{max-width:var(--page-max-width);margin:0 auto}.budget-controls{display:flex;align-items:center;gap:1rem}.year-nav{display:flex;align-items:center;gap:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.35rem}.year-nav .nav-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;padding:.5rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.year-nav .nav-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.year-nav .nav-btn:disabled{opacity:.3;cursor:not-allowed}.year-nav .year-label{font-size:1rem;font-weight:600;color:var(--text-primary);min-width:60px;text-align:center}.budget-table-container{overflow-x:auto;background:var(--bg-card);border-radius:12px;border:1px solid var(--border);margin-bottom:1rem}.review-page{max-width:var(--page-max-width);margin:0 auto}.review-summary{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.summary-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s;color:var(--text-primary)}.summary-btn:hover{background:var(--bg-hover)}.summary-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.summary-btn svg{color:var(--warning)}.summary-btn.active svg{color:#fff}.summary-btn .label{font-weight:500}.summary-btn .count{background:#fff3;padding:.125rem .5rem;border-radius:10px;font-size:.875rem;font-weight:600}.summary-btn:not(.active) .count{background:var(--bg-primary)}.review-filters{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.review-filters .search-box{flex:1;min-width:200px;display:flex;align-items:center;gap:.5rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem}.review-filters .search-box input{flex:1;border:none;background:transparent;color:var(--text-primary);outline:none}.review-filters .search-box svg{color:var(--text-secondary)}.review-filters .clear-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;display:flex;border-radius:4px}.review-filters .clear-btn:hover{background:var(--bg-hover)}.sort-buttons button{padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.875rem;transition:all .15s}.review-list{display:flex;flex-direction:column;gap:.5rem}.review-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;transition:all .15s}.review-row.clickable{cursor:pointer}.review-row:hover{background:var(--bg-hover)}.review-row.clickable:hover{border-color:var(--accent);transform:translate(2px)}.review-row.flagged{border-left:3px solid var(--warning)}.review-row.uncategorized{border-left:3px solid var(--accent)}.review-row .row-status{width:20px;display:flex;align-items:center;justify-content:center}.review-row .flag-icon{color:var(--warning)}.review-row .row-main{flex:1;display:flex;align-items:center;gap:1rem;min-width:0}.review-row .row-desc{flex:1;min-width:0}.review-row .description{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-row .meta{display:block;font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-row .row-category{min-width:180px}.review-row .category-btn{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:.875rem;color:var(--text-primary);transition:all .15s}.review-row .category-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.review-row .category-btn span.uncategorized{color:var(--text-secondary);font-style:italic}.review-row .category-btn svg{color:var(--text-secondary)}.review-row .edit-category{display:flex;align-items:center;gap:.375rem}.review-row .edit-category select{flex:1;padding:.375rem .5rem;background:var(--bg-primary);border:1px solid var(--accent);border-radius:6px;color:var(--text-primary);font-size:.875rem;outline:none}.review-row .edit-category .save-btn,.review-row .edit-category .cancel-btn{display:flex;align-items:center;justify-content:center;padding:.375rem;border:none;border-radius:4px;cursor:pointer}.review-row .edit-category .save-btn{background:var(--positive);color:#fff}.review-row .edit-category .save-btn:hover{opacity:.9}.review-row .edit-category .save-btn:disabled{opacity:.5;cursor:not-allowed}.review-row .edit-category .cancel-btn{background:var(--bg-hover);color:var(--text-secondary)}.review-row .edit-category .cancel-btn:hover{background:var(--border)}.review-row .row-amount{min-width:100px;text-align:right;font-weight:600;font-family:var(--font-mono)}.review-row .row-amount .positive{color:var(--positive)}.review-row .row-amount .negative{color:var(--negative)}.review-row .row-actions{display:flex;align-items:center;gap:.375rem;margin-left:.5rem}.review-row .uncat-icon{color:var(--accent)}.review-row .btn-unflag,.review-row .btn-edit-txn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .15s}.review-row .btn-unflag:hover{background:var(--warning-bg, rgba(245, 158, 11, .1));border-color:var(--warning);color:var(--warning)}.review-row .btn-edit-txn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.btn-unflag-detail{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:var(--warning-bg, rgba(245, 158, 11, .1));border:1px solid var(--warning);border-radius:4px;color:var(--warning);font-size:.75rem;font-weight:500;cursor:pointer;margin-left:auto;transition:all .15s}.btn-unflag-detail:hover{background:var(--warning);color:#fff}.modal-footer .btn-edit-all{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.modal-footer .btn-edit-all:hover{background:var(--accent-hover)}.transaction-modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border);background:var(--bg-primary)}.split-modal{background:var(--bg-card);border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.split-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.split-modal .modal-header h2{display:flex;align-items:center;gap:.5rem;font-size:1.125rem}.split-modal .modal-body{flex:1;overflow-y:auto;padding:1.5rem}.split-original{background:var(--bg-primary);border-radius:10px;padding:1rem;margin-bottom:1.5rem}.split-original-info{display:flex;justify-content:space-between;align-items:center;gap:1rem}.split-desc{font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.split-amount{font-weight:600;font-size:1.125rem}.split-amount.positive{color:var(--positive)}.split-amount.negative{color:var(--negative)}.split-help{font-size:.8125rem;color:var(--text-muted);margin-top:.5rem}.splits-list{display:flex;flex-direction:column;gap:1rem}.split-entry{background:var(--bg-primary);border-radius:10px;padding:1rem;border:1px solid var(--border)}.split-row{display:flex;gap:.75rem;align-items:flex-end}.split-row+.split-row{margin-top:.75rem}.split-field{flex:1}.split-field label{display:block;font-size:.75rem;font-weight:500;color:var(--text-muted);margin-bottom:.375rem}.split-field select,.split-field input{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);font-size:.875rem}.split-field.amount{max-width:120px}.split-field.note{flex:1}.amount-input{display:flex;align-items:center;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);overflow:hidden}.amount-input .currency-prefix{padding:.5rem .5rem .5rem .75rem;color:var(--text-muted);font-size:.875rem}.amount-input input{border:none;padding:.5rem .75rem .5rem 0;flex:1;min-width:0}.amount-input input:focus{outline:none}.remove-split{background:none;border:none;padding:.5rem;color:var(--negative);cursor:pointer;opacity:.7;transition:opacity .2s}.remove-split:hover{opacity:1}.split-summary{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.split-total{display:flex;align-items:center;gap:.5rem;font-weight:500}.split-total .match{color:var(--positive)}.split-total .mismatch{color:var(--negative)}.split-original-amount{color:var(--text-muted);font-weight:400}.split-error{color:var(--negative);font-size:.875rem;padding:.5rem;background:#ef44441a;border-radius:6px}.split-actions{display:flex;gap:.75rem;margin-top:1rem}.add-split,.distribute-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s}.add-split:hover,.distribute-btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.split-modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border)}.split-modal .cancel-btn,.bulk-modal .cancel-btn{padding:.625rem 1.25rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-secondary);font-size:.875rem;cursor:pointer}.split-modal .save-btn,.bulk-modal .save-btn{padding:.625rem 1.5rem;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer}.split-modal .save-btn:disabled,.bulk-modal .save-btn:disabled{opacity:.5;cursor:not-allowed}.bulk-action-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--accent);color:#fff;border-radius:10px;margin-bottom:1rem;box-shadow:0 4px 12px #3b82f64d}.bulk-info{display:flex;align-items:center;gap:.5rem;font-weight:500}.bulk-actions{display:flex;gap:.5rem}.bulk-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:none;border-radius:6px;background:#fff3;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.bulk-btn:hover{background:#ffffff4d}.bulk-btn.secondary{background:transparent;border:1px solid rgba(255,255,255,.3)}.bulk-btn.secondary:hover{background:#ffffff1a}.bulk-modal{background:var(--bg-card);border-radius:16px;width:90%;max-width:420px;overflow:hidden}.bulk-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.bulk-modal .modal-header h2{display:flex;align-items:center;gap:.5rem;font-size:1.125rem}.bulk-modal .modal-body{padding:1.5rem}.bulk-info-text{margin-bottom:1.25rem;color:var(--text-secondary)}.bulk-category-select label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-muted);margin-bottom:.5rem}.bulk-category-select select{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);font-size:1rem}.bulk-modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border)}.list-header.with-checkbox,.transaction-row.clickable{display:grid;align-items:center}.col-checkbox{display:flex;align-items:center;justify-content:center;width:40px}.checkbox-btn{background:none;border:none;padding:.25rem;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all .2s}.checkbox-btn:hover{color:var(--accent);background:var(--bg-hover)}.transaction-row.selected{background:#3b82f61a;border-left:3px solid var(--accent)}.transaction-row.selected .checkbox-btn{color:var(--accent)}.modal-header .modal-actions{display:flex;align-items:center;gap:.5rem}.split-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);font-size:.8125rem;cursor:pointer;transition:all .2s}.split-btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.review-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary);text-align:center}.review-page .empty-state svg{color:var(--positive);margin-bottom:1rem}@media (max-width: 768px){.review-row{flex-wrap:wrap}.review-row .row-main{flex-direction:column;align-items:flex-start;gap:.5rem}.review-row .row-category{min-width:auto;width:100%}.review-row .row-amount{width:100%;text-align:left;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}}.debt-page{max-width:var(--page-max-width);margin:0 auto}.debt-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.debt-summary-grid .summary-card{display:flex;align-items:center;gap:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem}.debt-summary-grid .summary-card.hero{grid-column:1 / -1;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(239,68,68,.1) 100%);border-color:#ef44444d}@media (min-width: 768px){.debt-summary-grid .summary-card.hero{grid-column:span 2}}.debt-summary-grid .card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:var(--bg-primary);flex-shrink:0}.debt-summary-grid .card-icon svg{color:var(--text-secondary)}.debt-summary-grid .card-icon.credit-card svg{color:#ef4444}.debt-summary-grid .card-icon.mortgage svg{color:#3b82f6}.debt-summary-grid .card-icon.loans svg{color:#8b5cf6}.debt-summary-grid .card-icon.interest svg{color:var(--warning)}.debt-summary-grid .card-icon.rate svg{color:var(--accent)}.debt-summary-grid .card-content{display:flex;flex-direction:column;min-width:0}.debt-summary-grid .card-content .label{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.debt-summary-grid .card-content .value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.debt-summary-grid .summary-card.hero .card-content .value{font-size:1.75rem}.debt-summary-grid .card-content .sub{font-size:.7rem;color:var(--text-muted)}.debt-summary-grid .card-content .sub.warning{color:var(--warning)}.debt-summary-grid .card-content .value.negative{color:var(--negative)}.debt-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:1.5rem}.chart-card{display:flex;flex-direction:column;overflow:hidden}.chart-card h3{color:var(--text-primary);margin-bottom:.75rem}.chart-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1rem}.chart-legend .legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.chart-legend .legend-item .dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.chart-legend .legend-item .name{color:var(--text-secondary)}.chart-legend .legend-item .value{font-weight:600;color:var(--text-primary)}.pie-section{display:flex;flex-direction:column;overflow:hidden}.calculator-card{display:flex;flex-direction:column}.calculator-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{font-size:.875rem;color:var(--text-secondary)}.strategy-toggle{display:flex;gap:.5rem}.strategy-toggle button{flex:1;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:.75rem .5rem;color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .2s}.strategy-toggle button:hover,.strategy-toggle button.active{border-color:var(--accent);color:var(--text-primary)}.strategy-toggle button.active{background:var(--accent);color:#fff}.control-group input[type=range]{width:100%;accent-color:var(--accent)}.payment-value{font-weight:600;color:var(--accent)}.payoff-results{display:flex;flex-direction:column;gap:.75rem;background:var(--bg-primary);border-radius:8px;padding:1rem}.payoff-results .result{display:flex;align-items:center;gap:.75rem}.payoff-results .result svg{color:var(--text-secondary)}.payoff-results .result .label{flex:1;font-size:.875rem;color:var(--text-secondary)}.payoff-results .result .value{font-weight:600}.payoff-results .result .value.negative{color:var(--negative)}.debt-list .strategy-label{font-weight:400;font-size:.875rem;color:var(--text-secondary);margin-left:.5rem}.debt-table{overflow-x:auto;min-width:0}.debt-table .table-header,.debt-table .table-row{display:grid;grid-template-columns:minmax(150px,2fr) 90px 70px 100px 90px 90px;padding:.75rem 1rem;align-items:center;gap:.5rem;min-width:600px}.debt-table .table-header{background:var(--bg-primary);font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-radius:8px 8px 0 0;position:sticky;top:0}.debt-table .table-row{border-bottom:1px solid var(--border);font-size:.875rem;color:var(--text-primary)}.debt-table .table-row:last-child{border-bottom:none}.debt-table .table-row:hover{background:var(--bg-hover)}.debt-table .account{display:flex;align-items:center;gap:.75rem;min-width:0}.debt-table .priority{width:24px;height:24px;min-width:24px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border-radius:50%;font-size:.75rem;font-weight:600}.debt-table .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debt-table .type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.debt-table .rate{text-align:right;font-variant-numeric:tabular-nums}.debt-table .balance{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.debt-table .limit,.debt-table .available{text-align:right;font-variant-numeric:tabular-nums}.debt-table .balance.negative{color:var(--negative)}.debt-table .available.positive{color:var(--positive)}.debt-accounts-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.debt-group{overflow:hidden}.debt-group .group-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;transition:background .2s}.debt-group .group-header:hover{background:var(--bg-hover)}.debt-group .group-title{display:flex;align-items:center;gap:.75rem}.debt-group .group-title h3{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary)}.debt-group .group-title .count{background:var(--bg-primary);padding:.2rem .5rem;border-radius:10px;font-size:.7rem;color:var(--text-muted)}.debt-group .group-total{display:flex;align-items:center;gap:.75rem}.debt-group .group-total .total-value{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.debt-group .group-total svg{color:var(--text-muted)}.debt-group .group-accounts{border-top:1px solid var(--border)}.debt-group .accounts-header{display:grid;grid-template-columns:2fr 1.5fr 80px 100px 100px 100px;gap:.75rem;padding:.75rem 1.25rem;background:var(--bg-primary);font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;overflow-x:auto}.debt-group .account-row{display:grid;grid-template-columns:2fr 1.5fr 80px 100px 100px 100px;gap:.75rem;padding:.75rem 1.25rem;border-top:1px solid var(--border);font-size:.875rem;align-items:center}.debt-group .account-row:hover{background:var(--bg-hover)}.debt-group .col-name{font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debt-group .col-institution{color:var(--text-secondary);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debt-group .col-rate{text-align:right;font-variant-numeric:tabular-nums;color:var(--warning)}.debt-group .col-balance,.debt-group .col-limit,.debt-group .col-available{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-primary)}.debt-group .col-balance{font-weight:600}.payoff-section{margin-bottom:1.5rem}.payoff-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.payoff-title{display:flex;align-items:center;gap:.75rem}.payoff-title h3{margin:0;font-size:1.1rem}.payoff-title svg{color:var(--accent)}.strategy-description{font-size:.85rem;color:var(--text-secondary);margin-bottom:1.5rem}.payment-slider{margin-bottom:1.5rem}.payment-slider label{display:block;margin-bottom:.5rem;font-size:.9rem;color:var(--text-secondary)}.payment-slider label strong{color:var(--accent)}.payment-slider input[type=range]{width:100%;height:6px;border-radius:3px;background:var(--bg-primary);accent-color:var(--accent)}.payment-slider .slider-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted);margin-top:.5rem}.payoff-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.payoff-results .result-card{display:flex;align-items:center;gap:.75rem;background:var(--bg-primary);padding:1rem;border-radius:8px}.payoff-results .result-card svg{color:var(--accent);flex-shrink:0}.payoff-results .result-content{display:flex;flex-direction:column}.payoff-results .result-label{font-size:.75rem;color:var(--text-muted)}.payoff-results .result-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.payoff-results .result-value.negative{color:var(--negative)}.payoff-results .result-sub{font-size:.7rem;color:var(--text-muted)}.projection-chart{margin-bottom:1.5rem}.payoff-order{border-top:1px solid var(--border);padding-top:1rem}.payoff-order h4{font-size:.9rem;font-weight:600;margin-bottom:.75rem;color:var(--text-secondary)}.payoff-order .order-list{display:flex;flex-direction:column;gap:.5rem}.payoff-order .order-item{display:grid;grid-template-columns:30px 1fr 60px 90px;gap:.75rem;align-items:center;padding:.5rem .75rem;background:var(--bg-primary);border-radius:6px;font-size:.85rem}.payoff-order .order-num{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border-radius:50%;font-size:.75rem;font-weight:600}.payoff-order .order-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.payoff-order .order-rate{text-align:right;color:var(--warning);font-size:.8rem}.payoff-order .order-balance{text-align:right;font-weight:500;font-variant-numeric:tabular-nums;color:var(--text-primary)}@media (max-width: 768px){.debt-group .accounts-header,.debt-group .account-row{grid-template-columns:1fr 80px 90px}.debt-group .col-institution,.debt-group .col-limit,.debt-group .col-available{display:none}.payoff-order .order-item{grid-template-columns:30px 1fr 80px}.payoff-order .order-rate{display:none}}@media (max-width: 1024px){.sidebar{transform:translate(-100%);width:var(--sidebar-width)!important}.sidebar.open{transform:translate(0)}.sidebar-overlay,.close-sidebar{display:block}.sidebar-collapse-btn{display:none}.mobile-header{display:flex}.main-content{margin-left:0!important;padding-top:75px;max-width:100vw!important}.hero-value{font-size:2rem}.net-worth-hero{flex-direction:column}.hero-chart{width:100%}}@media (max-width: 768px){.main-content{padding:75px 1rem 1rem}.page-header{flex-direction:column;align-items:flex-start}.list-header{display:none}.transactions-list .transaction-row{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.25rem 1rem}.col-date{grid-column:1;grid-row:1}.col-amount{grid-column:2;grid-row:1}.col-desc{grid-column:1 / -1;grid-row:2}.col-category,.col-account{display:none}.category-view{flex-direction:column}.budget-controls{flex-direction:column;align-items:stretch}.view-toggle{flex-wrap:wrap;justify-content:center}.budget-charts{grid-template-columns:1fr}.groups-list{max-height:none}.group-info{flex-wrap:wrap;gap:.5rem}.pie-legend{justify-content:center}.debt-table .table-header,.debt-table .table-row{grid-template-columns:1fr 80px 80px}.debt-table .type,.debt-table .limit,.debt-table .available{display:none}.networth-hero{padding:1.5rem}.hero-main .value{font-size:2rem}.changes{flex-direction:column;gap:.5rem}}.positive{color:var(--positive)}.negative{color:var(--negative)}.settings-page{max-width:900px;margin:0 auto}.settings-main-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.25rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border)}.settings-main-tabs .main-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:transparent;color:var(--text-secondary);border:none;border-radius:10px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease}.settings-main-tabs .main-tab:hover{background:var(--bg-card);color:var(--text-primary)}.settings-main-tabs .main-tab.active{background:var(--bg-card);color:var(--accent);box-shadow:0 1px 3px #0000001a}.connection-settings-page.embedded{margin-top:0}.connection-settings-page.embedded .tabs{margin-bottom:1rem}.settings-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.settings-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{background:var(--bg-card);color:var(--text-secondary);border-color:var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--text-primary)}.notification{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.notification.success{background:#22c55e26;border:1px solid var(--positive);color:var(--positive)}.notification.error{background:#ef444426;border:1px solid var(--negative);color:var(--negative)}.notification button{margin-left:auto;background:none;border:none;color:inherit;cursor:pointer;padding:.25rem;opacity:.7}.notification button:hover{opacity:1}.settings-info{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;margin-bottom:1.5rem;font-size:.875rem;color:var(--text-secondary)}.settings-info svg{color:var(--accent);flex-shrink:0;margin-top:.125rem}.settings-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;overflow:hidden}.section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.25rem;background:none;border:none;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .2s}.section-header:hover{background:var(--bg-hover)}.section-title{display:flex;align-items:center;gap:.75rem;font-weight:600;font-size:1rem}.section-desc{font-size:.8rem;color:var(--text-secondary);font-weight:400;margin-left:auto;margin-right:1rem}.section-content{padding:1.25rem;border-top:1px solid var(--border)}.section-content h4{font-size:.9rem;font-weight:600;margin-bottom:.5rem;margin-top:1.5rem}.section-content h4:first-child{margin-top:0}.section-note{font-size:.8rem;color:var(--text-secondary);margin-bottom:1rem}.theme-grid-settings{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;margin-top:.5rem}.theme-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem .5rem;background:var(--bg-primary);border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s}.theme-card:hover{border-color:var(--accent);transform:translateY(-1px)}.theme-card.active{border-color:var(--accent);background:var(--accent-light)}.theme-card-swatch{width:100%;height:28px;border-radius:6px;border:1px solid var(--border-light)}.theme-card-swatch[data-theme-preview=light]{background:linear-gradient(135deg,#f8fafc 50%,#3b82f6 50%)}.theme-card-swatch[data-theme-preview=dark]{background:linear-gradient(135deg,#0f172a 50%,#60a5fa 50%)}.theme-card-swatch[data-theme-preview=midnight]{background:linear-gradient(135deg,#0d0221 50%,#a78bfa 50%)}.theme-card-swatch[data-theme-preview=nord]{background:linear-gradient(135deg,#2e3440 50%,#88c0d0 50%)}.theme-card-swatch[data-theme-preview=solarized]{background:linear-gradient(135deg,#fdf6e3 50%,#268bd2 50%)}.theme-card-swatch[data-theme-preview=high-contrast]{background:linear-gradient(135deg,#000 50%,#00bfff 50%)}.theme-card-swatch[data-theme-preview=system]{background:linear-gradient(135deg,#f8fafc 25%,#0f172a 25%,#0f172a 50%,#f8fafc 50%,#f8fafc 75%,#0f172a 75%)}.theme-card-label{font-size:.8rem;font-weight:600;color:var(--text-primary)}.theme-card-desc{font-size:.68rem;color:var(--text-muted)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.columns-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.setting-item{display:flex;flex-direction:column;gap:.5rem}.setting-item.compact{flex-direction:row;align-items:center;gap:.75rem}.setting-item.compact label{min-width:120px;font-size:.875rem}.setting-item.single{max-width:300px}.setting-item.checkbox-item{flex-direction:row;align-items:center}.setting-item.checkbox-item label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.setting-item.checkbox-item input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.setting-label{display:block;font-size:.875rem;font-weight:500}.setting-hint{display:block;font-size:.75rem;color:var(--text-muted)}.setting-inputs{display:flex;gap:.5rem}.setting-item input[type=text],.setting-item select{flex:1;padding:.625rem .875rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem;transition:border-color .2s}.setting-item input[type=text]:focus,.setting-item select:focus{outline:none;border-color:var(--accent)}.setting-item input.range-input{max-width:120px}.btn-reset-section{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.25rem;padding:.5rem .875rem;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s}.btn-reset-section:hover{border-color:var(--negative);color:var(--negative)}.account-groups-list{display:flex;flex-direction:column;gap:1rem}.account-group-item{padding:1rem;background:var(--bg-primary);border-radius:8px}.account-group-item .group-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.account-group-item .group-name{font-weight:500;font-size:.9rem}.account-group-item .group-color{width:16px;height:16px;border-radius:4px}.group-types{display:flex;flex-wrap:wrap;gap:.5rem}.type-tag,.tags-list .type-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;font-size:.8rem}.type-tag button{background:none;border:none;padding:0;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center}.type-tag button:hover{color:var(--negative)}.add-type-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:none;border:1px dashed var(--border);border-radius:6px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.add-type-btn:hover{border-color:var(--accent);color:var(--accent)}.add-type-input{display:inline-flex;align-items:center;gap:.25rem}.add-type-input input{padding:.375rem .5rem;background:var(--bg-card);border:1px solid var(--accent);border-radius:4px;color:var(--text-primary);font-size:.8rem;width:120px}.add-type-input input:focus{outline:none}.add-type-input button{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center}.add-type-input button:first-of-type{color:var(--positive)}.add-type-input button:last-of-type:hover{color:var(--negative)}.tags-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.feature-flags{display:flex;flex-direction:column;gap:.75rem}.feature-flags label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer}.feature-flags input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.settings-footer{display:flex;justify-content:space-between;padding:1rem 0;margin-top:1rem;border-top:1px solid var(--border);font-size:.75rem;color:var(--text-muted)}@media (max-width: 768px){.settings-page .page-header{flex-direction:column;align-items:stretch}.settings-actions{justify-content:flex-end}.section-desc{display:none}.settings-grid{grid-template-columns:1fr}.setting-item.compact{flex-direction:column;align-items:stretch}.setting-item.compact label{min-width:auto}}.global-error{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#ef444426;border:1px solid var(--negative);border-radius:8px;margin-bottom:1rem;color:var(--negative);font-size:.875rem}.global-error button{margin-left:auto;background:var(--negative);color:#fff;border:none;padding:.375rem .75rem;border-radius:6px;font-size:.8rem;cursor:pointer}.global-error button:hover{opacity:.9}.warnings-banner{display:flex;align-items:flex-start;gap:.5rem;padding:0;background:#f59e0b1a;border:1px solid rgba(245,158,11,.4);border-radius:8px;margin-bottom:1rem;overflow:hidden}.warnings-header{display:flex;align-items:center;gap:.5rem;flex:1;padding:.75rem 1rem;background:none;border:none;color:var(--warning);font-size:.875rem;cursor:pointer;text-align:left}.warnings-header:hover{background:#f59e0b1a}.warnings-content{padding:0 1rem .75rem;font-size:.8rem;color:var(--text-secondary);width:100%}.warnings-content ul{margin:0 0 .75rem 1.25rem;padding:0}.warnings-content li{margin-bottom:.25rem}.warnings-hint{font-size:.75rem;color:var(--text-muted)}.warnings-hint a{color:var(--accent);text-decoration:none}.warnings-hint a:hover{text-decoration:underline}.dismiss-warnings{padding:.75rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;flex-shrink:0}.dismiss-warnings:hover{color:var(--text-primary)}.validation-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.validation-header{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--negative);margin-bottom:.75rem}.validation-issues{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.validation-issue{font-size:.85rem;padding:.5rem .75rem;background:var(--bg-card);border-radius:6px;display:flex;gap:.5rem}.validation-issue.error{border-left:3px solid var(--negative)}.validation-issue.warning{border-left:3px solid var(--warning)}.validation-issue.info{border-left:3px solid var(--accent)}.validation-issue .issue-area{font-weight:600;color:var(--text-primary)}.validation-issue .issue-message{color:var(--text-secondary)}.validation-link{font-size:.85rem;color:var(--accent);text-decoration:none}.validation-link:hover{text-decoration:underline}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all .2s}.stat-card.expanded{border-color:var(--accent)}.stat-card-header{display:flex;align-items:center;gap:1rem;width:100%;padding:1.25rem;background:none;border:none;color:var(--text-primary);text-align:left;cursor:pointer;transition:background .2s}.stat-card-header:hover{background:var(--bg-hover)}.stat-expand{color:var(--text-muted);margin-left:auto}.stat-details{padding:0 1.25rem 1.25rem;border-top:1px solid var(--border);animation:slideDown .2s ease-out}.stat-details .detail-row{display:flex;justify-content:space-between;align-items:center;padding:.625rem 0;border-bottom:1px solid var(--border)}.stat-details .detail-row:last-child{border-bottom:none}.stat-details .detail-row.total{font-weight:600;margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.stat-details .detail-row.info{background:#3b82f61a;margin:.5rem -1.25rem;padding:.625rem 1.25rem;border-radius:0}.stat-details .detail-name{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.stat-details .detail-value{font-weight:500;font-size:.875rem}.stat-details .detail-link{display:block;text-align:center;padding:.75rem;margin-top:.5rem;color:var(--accent);text-decoration:none;font-size:.85rem}.stat-details .detail-link:hover{text-decoration:underline}.breakdown-row-wrapper{border-bottom:1px solid var(--border)}.breakdown-row-wrapper:last-child{border-bottom:none}.breakdown-row-wrapper.expanded{background:var(--bg-hover);margin:0 -1rem;padding:0 1rem;border-radius:8px}.breakdown-row{display:flex;align-items:center;width:100%;padding:.75rem 0;background:none;border:none;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .2s}.breakdown-row:hover{background:var(--bg-hover);margin:0 -.5rem;padding:.75rem .5rem;border-radius:6px}.breakdown-row .breakdown-name{flex:1;font-size:.9rem}.breakdown-row .breakdown-value{font-weight:600;margin-right:.5rem}.breakdown-row .breakdown-expand{color:var(--text-muted)}.breakdown-details{padding:0 0 .75rem 1rem;animation:slideDown .2s ease-out}.breakdown-detail-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.85rem}.breakdown-detail-row .detail-name{color:var(--text-secondary)}.breakdown-detail-row .detail-value{font-weight:500}.card-header .card-total{font-weight:600;font-size:.9rem}.debt-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.debt-stat{text-align:center;padding:.75rem;background:var(--bg-primary);border-radius:8px}.debt-stat .label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.debt-stat .value{display:block;font-size:1rem;font-weight:600}.debt-types{border-top:1px solid var(--border);padding-top:.75rem}.debt-type-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.85rem}.debt-type-row .type-name{color:var(--text-secondary)}.debt-type-row .type-balance{font-weight:500}.stat-details .color-dot,.detail-name .color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}@media (max-width: 480px){.debt-stats{grid-template-columns:1fr;gap:.5rem}.debt-stat{display:flex;justify-content:space-between;align-items:center;text-align:left}.debt-stat .label{margin-bottom:0}}.settings-info-box{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px;margin-bottom:1.25rem;font-size:.85rem;color:var(--text-secondary)}.settings-info-box svg{color:var(--accent);flex-shrink:0;margin-top:2px}.settings-info-box.warning{background:#f59e0b1a;border-color:#f59e0b4d}.settings-info-box.warning svg{color:var(--warning)}.google-connection-info{display:flex;flex-direction:column;gap:1rem}.connection-status{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-primary);border-radius:8px}.connection-status .status-icon.connected{color:var(--positive)}.google-actions{display:flex;flex-direction:column;gap:.5rem}.google-actions .action-note{font-size:.8rem;color:var(--text-muted);margin-left:.5rem}.categorizer-quick-settings{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0;padding:1rem;background:var(--bg-primary);border-radius:8px}.quick-setting-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border)}.quick-setting-row:last-child{border-bottom:none}.quick-setting-row .quick-label{font-weight:500;color:var(--text-secondary)}.quick-setting-row .quick-value{font-size:.85rem;color:var(--text-muted)}.categorizer-actions{margin-top:1rem}.categorizer-actions .action-note{font-size:.8rem;color:var(--text-muted);margin-top:.5rem}.settings-note{font-size:.8rem;color:var(--text-muted);margin-top:.75rem;font-style:italic}.btn-warning{background:var(--warning);color:#000;border:none;padding:.75rem 1.25rem;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;width:fit-content}.btn-warning:hover{background:#d97706}.settings-actions-row{display:flex;gap:.75rem;margin-bottom:1.25rem}.sheet-mappings{display:flex;flex-direction:column;gap:.75rem}.sheet-mapping-row{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;padding:.875rem;background:var(--bg-primary);border-radius:8px;align-items:center;transition:opacity .2s}.sheet-mapping-row.disabled{opacity:.5}.sheet-enable-toggle{display:flex;align-items:center}.sheet-enable-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.sheet-enable-toggle input[type=checkbox]:disabled{cursor:not-allowed;opacity:.7}.sheet-mapping-info{display:flex;flex-direction:column;gap:.25rem}.sheet-mapping-info .sheet-key{font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.sheet-mapping-info .required-badge{font-size:.65rem;font-weight:500;background:var(--accent-bg);color:var(--accent);padding:.125rem .375rem;border-radius:4px}.sheet-mapping-info .sheet-desc{font-size:.75rem;color:var(--text-muted)}.sheet-mapping-inputs{display:flex;gap:.5rem;align-items:center}.sheet-name-input{width:180px;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem}.sheet-name-input:focus{outline:none;border-color:var(--accent)}.btn-test{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s}.btn-test:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-test:disabled{opacity:.6;cursor:not-allowed}.btn-test.success{background:#22c55e1a;border-color:var(--positive);color:var(--positive)}.sheet-preview{grid-column:1 / -1;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border)}.preview-label{font-size:.75rem;color:var(--text-muted)}.detected-headers{margin-bottom:1.25rem;padding:1rem;background:var(--bg-primary);border-radius:8px}.detected-label{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem}.header-chips{display:flex;flex-wrap:wrap;gap:.5rem}.header-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;font-size:.75rem;color:var(--text-secondary)}.header-chip .chip-letter{background:var(--accent);color:#fff;padding:.125rem .375rem;border-radius:4px;font-size:.65rem;font-weight:600}.column-mappings{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:1.25rem}.column-mapping-header{display:grid;grid-template-columns:150px 1fr 100px;gap:1rem;padding:.75rem 1rem;background:var(--bg-primary);font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.column-mapping-row{display:grid;grid-template-columns:150px 1fr 100px;gap:1rem;padding:.75rem 1rem;align-items:center;border-top:1px solid var(--border)}.column-mapping-row label{font-size:.875rem;font-weight:500}.column-mapping-row label.required{color:var(--text-primary)}.column-mapping-row .required-star{color:var(--negative);margin-left:.25rem}.column-mapping-row input{padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem}.column-mapping-row input:focus{outline:none;border-color:var(--accent)}.status-indicator{display:flex;align-items:center;gap:.375rem;font-size:.8rem}.status-indicator.found{color:var(--positive)}.status-indicator.warning{color:var(--warning)}.status-indicator.empty{color:var(--text-muted)}.status-empty,.status-unknown{opacity:.6}.column-mapping-special{padding:1rem;background:var(--bg-primary);border-radius:8px;margin-bottom:1.25rem}.column-mapping-special h4{margin:0 0 .5rem;font-size:.9rem}.mapping-note{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem}.special-input-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.special-input-row label{font-size:.875rem;min-width:130px;color:var(--text-secondary)}.column-select{flex:1;max-width:280px;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem}.column-select:focus{outline:none;border-color:var(--accent)}.column-header-input{flex:1;max-width:200px;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem}.column-header-input:focus{outline:none;border-color:var(--accent)}.column-letter-input{width:60px;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.9rem;text-align:center;font-weight:600}.column-letter-input:focus{outline:none;border-color:var(--accent)}.column-preview{font-size:.85rem;color:var(--text-muted);font-style:italic}.data-preview{margin-top:1.25rem}.data-preview h4{margin:0 0 .75rem;font-size:.9rem}.preview-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.preview-table{width:100%;border-collapse:collapse;font-size:.8rem}.preview-table th,.preview-table td{padding:.625rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.preview-table th{background:var(--bg-primary);font-weight:600;color:var(--text-secondary)}.preview-table th.mapped{color:var(--positive)}.preview-table th.unmapped{color:var(--text-muted)}.preview-table th .col-letter{margin-left:.375rem;font-size:.7rem;opacity:.7}.preview-table td{color:var(--text-primary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-table .no-mapping{color:var(--text-muted);font-style:italic}.preview-table tbody tr:last-child td{border-bottom:none}.preview-table tbody tr:hover{background:var(--bg-hover)}.notification.info{background:#3b82f626;border:1px solid var(--accent);color:var(--accent)}@media (max-width: 768px){.sheet-mapping-row{grid-template-columns:1fr}.sheet-mapping-inputs{justify-content:flex-end}.column-mapping-header,.column-mapping-row{grid-template-columns:1fr;gap:.5rem}.column-mapping-header span:first-child,.column-mapping-row label{font-size:.8rem}.column-mapping-header span:not(:first-child){display:none}.status-indicator{justify-content:flex-end}}.accounts-page{padding:2rem;max-width:var(--page-max-width)}.accounts-page .page-header{margin-bottom:1.5rem}.accounts-page .page-subtitle{color:var(--text-secondary);font-size:.9rem}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.summary-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--bg-card);border-radius:.75rem;border:1px solid var(--border)}.summary-card svg{opacity:.8}.summary-card>div{display:flex;flex-direction:column}.summary-card .label{font-size:.8rem;color:var(--text-secondary)}.summary-card .value{font-size:1.25rem;font-weight:700}.summary-card.positive{border-left:3px solid var(--positive)}.summary-card.positive svg{color:var(--positive)}.summary-card.positive .value{color:var(--positive)}.summary-card.negative{border-left:3px solid var(--negative)}.summary-card.negative svg{color:var(--negative)}.summary-card.negative .value{color:var(--negative)}.summary-card.net{border-left:3px solid var(--accent)}.summary-card.net svg{color:var(--accent)}.summary-card.net .value{color:var(--accent)}.filters-bar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.filters-bar .search-box{flex:1;min-width:200px;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-card);border-radius:.5rem;border:1px solid var(--border)}.filters-bar .search-box input{flex:1;background:none;border:none;color:var(--text-primary);font-size:.9rem;outline:none}.filters-bar .search-box svg{color:var(--text-muted)}.filters-bar .filter-group{display:flex;align-items:center;gap:.5rem;padding:0 1rem;background:var(--bg-card);border-radius:.5rem;border:1px solid var(--border)}.filters-bar .filter-group svg{color:var(--text-muted)}.filters-bar .filter-group select{background:none;border:none;color:var(--text-primary);font-size:.9rem;padding:.75rem 0;outline:none;cursor:pointer}.sort-buttons{display:flex;gap:.5rem}.sort-buttons button{padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:.5rem;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s}.sort-buttons button:hover{background:var(--bg-hover)}.sort-buttons button.active{background:var(--accent);border-color:var(--accent);color:#fff}.accounts-groups{display:flex;flex-direction:column;gap:1rem}.account-group{background:var(--bg-card);border-radius:.75rem;border:1px solid var(--border);overflow:hidden}.group-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--bg-secondary);border:none;color:var(--text-primary);cursor:pointer;transition:background .2s}.group-title{display:flex;align-items:center;gap:.75rem;font-weight:600}.account-count{font-weight:400;color:var(--text-muted);font-size:.9rem}.group-total{display:flex;align-items:center;gap:.75rem}.group-total span{font-weight:600;font-size:1.1rem}.group-total .positive{color:var(--positive)}.group-total .negative{color:var(--negative)}.group-total svg{color:var(--text-muted)}.group-accounts{border-top:1px solid var(--border)}.account-row{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem .875rem 3.5rem;border-bottom:1px solid var(--border);transition:background .2s}.account-row:last-child{border-bottom:none}.account-info{display:flex;flex-direction:column;gap:.125rem}.account-name{font-weight:500}.account-institution{font-size:.8rem;color:var(--text-muted)}.account-balance{font-weight:600;font-size:1rem}.account-balance.positive{color:var(--positive)}.account-balance.negative{color:var(--negative)}.view-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.view-toggle{display:flex;background:var(--bg-card);border-radius:.5rem;border:1px solid var(--border);overflow:hidden}.view-toggle button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:none;border:none;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s}.view-toggle button:not(:last-child){border-right:1px solid var(--border)}.view-toggle button:hover{background:var(--bg-hover)}.view-toggle button.active{background:var(--accent);color:#fff}.view-actions{display:flex;gap:.5rem}.view-actions button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:.5rem;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s}.view-actions button:hover{background:var(--bg-hover)}.view-actions button.active{background:var(--accent);border-color:var(--accent);color:#fff}.accounts-hierarchy{display:flex;flex-direction:column;gap:1.5rem}.hierarchy-category{background:var(--bg-card);border-radius:1rem;border:1px solid var(--border);overflow:hidden}.hierarchy-category-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-card) 100%);border:none;color:var(--text-primary);cursor:pointer;transition:background .2s}.hierarchy-category-header:hover{background:var(--bg-hover)}.category-info{display:flex;align-items:center;gap:1rem}.category-icon.positive{color:var(--positive)}.category-icon.negative{color:var(--negative)}.category-name{font-weight:700;font-size:1.25rem}.category-meta{font-size:.85rem;color:var(--text-muted);font-weight:400}.category-totals{display:flex;align-items:center;gap:1rem}.category-total{font-weight:700;font-size:1.35rem}.category-total.positive{color:var(--positive)}.category-total.negative{color:var(--negative)}.hierarchy-category-content{padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.hierarchy-group{background:var(--bg-card);border-radius:.75rem;border:1px solid var(--border);overflow:hidden}.hierarchy-group-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--bg-secondary);border:none;color:var(--text-primary);cursor:pointer;transition:background .2s}.hierarchy-group-header:hover{background:var(--bg-hover)}.group-info{display:flex;align-items:center;gap:.75rem}.group-name{font-weight:600;font-size:1.05rem}.group-meta{font-size:.8rem;color:var(--text-muted);font-weight:400}.group-totals{display:flex;align-items:center;gap:.75rem}.group-total{font-weight:700;font-size:1.1rem}.group-total.positive{color:var(--positive)}.group-total.negative{color:var(--negative)}.group-totals svg{color:var(--text-muted)}.hierarchy-group-content{border-top:1px solid var(--border)}.hierarchy-type{border-bottom:1px solid var(--border)}.hierarchy-type:last-child{border-bottom:none}.hierarchy-type-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem .75rem 2.5rem;background:none;border:none;color:var(--text-primary);cursor:pointer;transition:background .2s}.hierarchy-type-header:hover{background:var(--bg-hover)}.type-info{display:flex;align-items:center;gap:.625rem}.type-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.type-name{font-weight:500;font-size:.95rem}.type-count{font-size:.8rem;color:var(--text-muted)}.type-totals{display:flex;align-items:center;gap:.5rem}.type-total{font-weight:600;font-size:.95rem}.type-total.positive{color:var(--positive)}.type-total.negative{color:var(--negative)}.type-totals svg{color:var(--text-muted)}.hierarchy-accounts{background:#00000026}.hierarchy-account{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem .75rem 4rem;border-bottom:1px solid rgba(255,255,255,.05);transition:background .2s}.hierarchy-account:last-child{border-bottom:none}.hierarchy-account:hover{background:var(--bg-hover)}.hierarchy-account.single{padding-left:2.5rem;background:transparent;border-bottom:none}.account-details{display:flex;flex-direction:column;gap:.125rem}.account-details .account-name{font-weight:500;font-size:.9rem}.account-details .account-meta{font-size:.75rem;color:var(--text-muted)}.hierarchy-account .account-balance{font-weight:600;font-size:.95rem}.hierarchy-account .account-balance.positive{color:var(--positive)}.hierarchy-account .account-balance.negative{color:var(--negative)}.hierarchy-account.clickable{cursor:pointer;background:none;border:none;width:100%;text-align:left;font:inherit;color:inherit}.hierarchy-account.clickable:hover{background:var(--bg-hover)}.hierarchy-account .account-right{display:flex;align-items:center;gap:.5rem}.hierarchy-account .account-arrow{color:var(--text-muted);opacity:0;transition:opacity .2s,transform .2s}.hierarchy-account.clickable:hover .account-arrow{opacity:1;transform:translate(2px)}.accounts-flat{background:var(--bg-card);border-radius:.75rem;border:1px solid var(--border);overflow:hidden;max-height:calc(100vh - 400px);overflow-y:auto;position:relative}.flat-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;padding:.875rem 1.25rem;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-weight:600;font-size:.85rem;color:var(--text-secondary);position:sticky;top:0;z-index:10}.flat-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;padding:.875rem 1.25rem;border-bottom:1px solid var(--border);align-items:center;transition:background .2s}.flat-row:last-child{border-bottom:none}.flat-row:hover{background:var(--bg-hover)}.flat-account{display:flex;flex-direction:column;gap:.125rem}.flat-account .account-name{font-weight:500}.flat-account .account-institution{font-size:.8rem;color:var(--text-muted)}.flat-type{font-size:.85rem;color:var(--text-secondary)}.flat-group{font-size:.85rem;color:var(--text-muted)}.flat-balance{font-weight:600;text-align:right}.flat-balance.positive{color:var(--positive)}.flat-balance.negative{color:var(--negative)}.no-accounts{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background:var(--bg-card);border-radius:.75rem;color:var(--text-muted)}.no-accounts svg{opacity:.3;margin-bottom:1rem}.accounts-page.combined .page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.accounts-page.combined .tab-nav{display:flex;background:var(--bg-secondary);border-radius:10px;padding:4px;gap:4px}.accounts-page.combined .tab-nav button{padding:.5rem 1rem;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.accounts-page.combined .tab-nav button:hover{color:var(--text-primary)}.accounts-page.combined .tab-nav button.active{background:var(--accent);color:#fff}.networth-hero{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.5rem 2rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-card) 100%);border-radius:16px;border:1px solid var(--border);margin-bottom:1.5rem;flex-wrap:wrap}.networth-hero .hero-main{display:flex;flex-direction:column}.networth-hero .hero-main .label{font-size:.85rem;color:var(--text-secondary);margin-bottom:.25rem}.networth-hero .hero-main .value{font-size:2.25rem;font-weight:700;margin:0;background:linear-gradient(135deg,var(--positive),#059669);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.networth-hero .hero-changes{display:flex;gap:1.5rem;margin-top:.75rem}.networth-hero .change{display:flex;align-items:center;gap:.375rem;font-size:.875rem}.networth-hero .change.positive{color:var(--positive)}.networth-hero .change.negative{color:var(--negative)}.networth-hero .change .period{color:var(--text-secondary);margin-left:.25rem}.networth-hero .hero-breakdown{display:flex;gap:2rem}.networth-hero .breakdown-item{display:flex;align-items:center;gap:.75rem}.networth-hero .breakdown-item .icon.positive{color:var(--positive)}.networth-hero .breakdown-item .icon.negative{color:var(--negative)}.networth-hero .breakdown-item>div{display:flex;flex-direction:column}.networth-hero .breakdown-item .label{font-size:.75rem;color:var(--text-secondary)}.networth-hero .breakdown-item .value{font-size:1.125rem;font-weight:600}.networth-hero .breakdown-item .value.positive{color:var(--positive)}.networth-hero .breakdown-item .value.negative{color:var(--negative)}.overview-content{display:flex;flex-direction:column;gap:1.5rem}.overview-content .card{background:var(--bg-card);border-radius:12px;border:1px solid var(--border);padding:1.25rem}.overview-content .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.overview-content .card-header h3{margin:0;font-size:1rem}.overview-content .card-header select{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:.375rem .75rem;color:var(--text-primary);font-size:.85rem;cursor:pointer}.overview-content .view-all-btn{background:transparent;border:none;color:var(--accent);font-size:.85rem;cursor:pointer}.overview-content .view-all-btn:hover{text-decoration:underline}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.breakdown-card{display:flex;flex-direction:column}.breakdown-card h3{margin:0 0 1rem;font-size:1rem}.breakdown-card .pie-wrapper{margin-bottom:.5rem}.breakdown-legend{display:flex;flex-direction:column;gap:.5rem}.breakdown-legend .legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.breakdown-legend .legend-item .dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.breakdown-legend .legend-item .name{flex:1;color:var(--text-secondary)}.breakdown-legend .legend-item .val{font-weight:600;color:var(--text-primary)}.quick-accounts{display:flex;flex-direction:column;gap:.5rem}.quick-account{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:8px;transition:background .2s}.quick-account:hover{background:var(--bg-hover)}.quick-account .account-info{display:flex;flex-direction:column}.quick-account .account-info .name{font-weight:500}.quick-account .account-info .meta{font-size:.75rem;color:var(--text-secondary)}.quick-account .balance{font-weight:600}.quick-account .balance.positive{color:var(--positive)}.quick-account .balance.negative{color:var(--negative)}.accounts-content{display:flex;flex-direction:column;gap:1rem}.accounts-content .view-controls{margin-bottom:.5rem}.trends-content{display:flex;flex-direction:column;gap:1.5rem}.trends-content .card{background:var(--bg-card);border-radius:12px;border:1px solid var(--border);padding:1.5rem}.trends-content .card h3{margin:0 0 1rem;font-size:1rem}.trends-content .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.trends-content .card-header h3{margin:0}.trends-content .card-header select{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:.375rem .75rem;color:var(--text-primary);font-size:.85rem;cursor:pointer}@media (max-width: 768px){.networth-hero{flex-direction:column;align-items:flex-start;padding:1.25rem}.networth-hero .hero-breakdown{flex-direction:column;gap:1rem;width:100%}.networth-hero .hero-changes{flex-wrap:wrap}.accounts-page.combined .tab-nav{width:100%;justify-content:center}.breakdown-grid{grid-template-columns:1fr}}@media (max-width: 768px){.accounts-page{padding:1rem}.summary-cards{grid-template-columns:1fr}.filters-bar{flex-direction:column}.sort-buttons{width:100%;justify-content:stretch}.sort-buttons button{flex:1}.view-controls{flex-direction:column;align-items:stretch}.view-toggle{width:100%}.view-toggle button{flex:1;justify-content:center}.view-actions{flex-wrap:wrap}.view-actions button{flex:1;min-width:calc(50% - .25rem);justify-content:center}.hierarchy-type-header{padding-left:1.5rem}.hierarchy-account{padding-left:2rem;flex-direction:column;align-items:flex-start;gap:.5rem}.hierarchy-account .account-balance{align-self:flex-end}.flat-header,.flat-row{grid-template-columns:1fr;gap:.25rem}.flat-header span:not(:first-child){display:none}.flat-row{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem 1.25rem}.flat-type,.flat-group{display:inline}.flat-row:before{content:attr(data-type) " · " attr(data-group);font-size:.75rem;color:var(--text-muted)}.flat-balance{align-self:flex-end}}.drill-down-table{animation:slideDown .2s ease-out}.drill-down-header{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-primary);border-bottom:1px solid var(--border)}.drill-down-header .sort-btn{background:none;border:none;color:var(--text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;text-align:left;padding:.25rem 0;transition:color .2s}.drill-down-header .sort-btn:hover,.drill-down-header .sort-btn.active{color:var(--accent)}.drill-down-header .sort-btn.balance{text-align:right}.drill-down-body{max-height:300px;overflow-y:auto}.drill-down-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.625rem 1.25rem;border-bottom:1px solid var(--border);transition:background .15s}.drill-down-row:hover{background:var(--bg-hover)}.drill-down-row:last-child{border-bottom:none}.drill-down-row .cell{font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drill-down-row .cell.name{color:var(--text-primary);font-weight:500}.drill-down-row .cell.institution{color:var(--text-secondary)}.drill-down-row .cell.balance{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.drill-down-footer{display:flex;justify-content:space-between;padding:.75rem 1.25rem;background:var(--bg-primary);border-top:1px solid var(--border);font-weight:600}.drill-down-footer .total-label{color:var(--text-secondary)}.drill-down-footer .total-value{font-variant-numeric:tabular-nums}.drill-down-link{display:block;text-align:center;padding:.75rem 1.25rem;color:var(--accent);text-decoration:none;font-size:.85rem;border-top:1px solid var(--border)}.drill-down-link:hover{text-decoration:underline;background:var(--bg-hover)}.drill-down-hierarchy{padding:0}.institution-group{border-bottom:1px solid var(--border)}.institution-group:last-child{border-bottom:none}.institution-header{width:100%;display:grid;grid-template-columns:1fr auto auto auto;gap:.75rem;align-items:center;padding:.75rem 1rem;background:transparent;border:none;cursor:pointer;text-align:left;color:var(--text-primary);font-size:.9rem;transition:background .15s ease}.institution-header:hover{background:var(--bg-hover)}.institution-name{display:flex;align-items:center;gap:.5rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.institution-name svg{flex-shrink:0;color:var(--text-muted)}.institution-count{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.institution-total{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.expand-icon{color:var(--text-muted);display:flex;align-items:center}.institution-accounts{background:var(--bg-primary);border-top:1px solid var(--border);padding:.25rem 0}.drill-down-row.nested{padding:.5rem 1rem .5rem 2.5rem;display:grid;grid-template-columns:1fr auto;gap:1rem}.drill-down-row.nested:hover{background:var(--bg-hover)}.drill-down-row.nested .cell.name,.drill-down-row.nested .cell.balance{font-size:.85rem}.stat-card-details{border-top:1px solid var(--border);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.stat-card.has-details .stat-card-header:hover{background:var(--bg-hover)}.institution-level{border-bottom:1px solid var(--border)}.institution-level:last-child{border-bottom:none}.institution-row{width:100%;display:grid;grid-template-columns:auto 1fr auto auto auto;gap:.5rem;align-items:center;padding:.6rem .75rem .6rem 1rem;background:transparent;border:none;cursor:pointer;text-align:left;color:var(--text-primary);font-size:.85rem;transition:background .15s ease}.institution-row:hover{background:var(--bg-hover)}.institution-row .inst-icon{color:var(--text-muted);flex-shrink:0}.institution-row .inst-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.institution-row .inst-count{font-size:.7rem;color:var(--text-muted);background:var(--bg-primary);padding:.15rem .4rem;border-radius:10px;white-space:nowrap}.institution-row .inst-value{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.institution-row .inst-expand{color:var(--text-muted);display:flex;align-items:center}.account-level{background:var(--bg-primary);border-top:1px solid var(--border);padding:.25rem 0}.account-row{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.4rem .75rem .4rem 2.25rem;font-size:.8rem;transition:background .15s ease}.account-row:hover{background:var(--bg-hover)}.account-row .acct-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.account-row .acct-value{font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.breakdown-detail-row.flat{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.5rem .75rem .5rem 1rem}.breakdown-detail-row.flat:hover{background:var(--bg-hover)}.debt-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.debt-stats-grid .debt-stat{text-align:center;padding:.75rem .5rem;background:var(--bg-primary);border-radius:8px}.debt-stats-grid .debt-stat .label{display:block;font-size:.7rem;color:var(--text-muted);margin-bottom:.25rem;white-space:nowrap}.debt-stats-grid .debt-stat .value{display:block;font-size:.9rem;font-weight:600;white-space:nowrap}.debt-types-list{border-top:1px solid var(--border);padding-top:.75rem}.debt-types-list .debt-type-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.85rem}.debt-types-list .debt-type-row .type-name{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:1rem}.debt-types-list .debt-type-row .type-balance{font-weight:500;white-space:nowrap}.breakdown-detail-row{display:grid;grid-template-columns:1.5fr 1fr auto;gap:.75rem;align-items:center;padding:.5rem 0;font-size:.85rem}.breakdown-detail-row .detail-name{color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breakdown-detail-row .detail-institution{color:var(--text-muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breakdown-detail-row .detail-value{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;min-width:90px}@media (max-width: 600px){.drill-down-header{grid-template-columns:1fr auto}.drill-down-header .sort-btn:nth-child(2){display:none}.drill-down-row{grid-template-columns:1fr auto}.drill-down-row .cell.institution{display:none}.debt-stats-grid{grid-template-columns:1fr;gap:.5rem}.debt-stats-grid .debt-stat{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:.75rem}.debt-stats-grid .debt-stat .label{margin-bottom:0}.breakdown-detail-row{grid-template-columns:1fr auto}.breakdown-detail-row .detail-institution{display:none}}.quick-stats-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding:0 .25rem}.quick-stats-header h2{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.hide-zero-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.hide-zero-toggle input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.hide-zero-toggle:hover{color:var(--text-primary)}.transactions-page .filter-group select,.transactions-page .category-edit select{background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:.5rem 2rem .5rem .75rem;font-size:.875rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.transactions-page .filter-group select:focus,.transactions-page .category-edit select:focus{outline:none;border-color:var(--accent)}.transactions-page .filter-group select option,.transactions-page .category-edit select option{background-color:var(--bg-input);color:var(--text-primary);padding:.5rem}.transactions-page .filter-group.date input{background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.transactions-page .filter-group.date input:focus{outline:none;border-color:var(--accent)}.filter-group select option{background-color:var(--bg-input);color:var(--text-primary)}.transaction-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-card);border-radius:12px;border:1px solid var(--border)}.transaction-summary .summary-item{text-align:center;padding:.5rem}.transaction-summary .summary-item .label{display:block;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.transaction-summary .summary-item .value{display:block;font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}.transaction-summary .summary-item.income .value{color:var(--positive)}.transaction-summary .summary-item.expenses .value{color:var(--negative)}.transaction-summary .summary-item.net .value.positive{color:var(--positive)}.transaction-summary .summary-item.net .value.negative{color:var(--negative)}.trends-page{padding:0}.trends-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.trends-header h1{margin:0}.trends-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.data-type-toggle{display:flex;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.data-type-toggle button{padding:.5rem 1rem;background:transparent;border:none;color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:all .2s}.data-type-toggle button:not(:last-child){border-right:1px solid var(--border)}.data-type-toggle button:hover{background:var(--bg-hover)}.data-type-toggle button.active{color:#fff;font-weight:500}.data-type-toggle button.active.spending{background:#ef4444}.data-type-toggle button.active.income{background:#22c55e}.data-type-toggle button.active:not(.spending):not(.income){background:var(--accent)}.time-range-select{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-muted)}.time-range-select select{background:transparent;border:none;color:var(--text-primary);font-size:.85rem;cursor:pointer}.compare-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;font-size:.85rem;color:var(--text-secondary);cursor:pointer}.compare-toggle input{accent-color:var(--accent)}.filter-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s}.filter-btn:hover{background:var(--bg-hover)}.filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.filter-btn.has-filters .filter-count{background:var(--bg-card);color:var(--accent);padding:.1rem .4rem;border-radius:10px;font-size:.75rem;font-weight:600}.comparison-selector{position:relative}.comparison-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;font-size:.85rem;color:var(--text-primary);cursor:pointer;transition:all .2s}.comparison-btn:hover{background:var(--bg-hover)}.comparison-btn.active{background:var(--bg-hover);border-color:var(--accent)}.comparison-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:200px;overflow:hidden}.comparison-dropdown button{display:block;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;font-size:.85rem;color:var(--text-primary);cursor:pointer;transition:background .15s}.comparison-dropdown button:hover{background:var(--bg-hover)}.comparison-dropdown button.active{background:var(--accent);color:#fff}.export-dropdown-container{position:relative}.export-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--accent);border:1px solid var(--accent);border-radius:8px;font-size:.85rem;color:#fff;cursor:pointer;transition:all .2s}.export-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.filters-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;animation:slideDown .2s ease-out}.filters-panel .filter-section{margin-bottom:1rem}.filters-panel .filter-section:last-child{margin-bottom:0}.filters-panel h4{margin:0 0 .75rem;font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.filter-chips{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chip{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s}.filter-chip:hover{border-color:var(--accent);color:var(--accent)}.filter-chip.selected{background:var(--accent);border-color:var(--accent);color:#fff}.clear-filters-btn{display:flex;align-items:center;gap:.35rem;padding:.5rem .75rem;background:transparent;border:none;color:var(--negative);font-size:.85rem;cursor:pointer;margin-top:.75rem}.clear-filters-btn:hover{text-decoration:underline}.trends-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem}.summary-card.main{background:linear-gradient(135deg,var(--bg-card) 0%,rgba(59,130,246,.1) 100%);border-color:var(--accent)}.summary-label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.5px}.summary-value{display:block;font-size:1.5rem;font-weight:700}.summary-change{display:block;font-size:.8rem;margin-top:.25rem}.summary-change.up{color:var(--negative)}.summary-change.down{color:var(--positive)}.view-mode-tabs{display:flex;gap:0;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.25rem;margin-bottom:1.5rem;width:fit-content}.view-mode-tabs button{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:transparent;border:none;border-radius:6px;color:var(--text-muted);font-size:.9rem;cursor:pointer;transition:all .2s}.view-mode-tabs button:hover{color:var(--text-primary)}.view-mode-tabs button.active{background:var(--accent);color:#fff}.trends-content{display:block}.overtime-view,.category-view{display:grid;grid-template-columns:1.5fr 1fr;gap:1.5rem}.merchant-view{display:block}@media (max-width: 900px){.overtime-view,.category-view{grid-template-columns:1fr}}.chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.chart-card h3{margin:0 0 1rem;font-size:1rem;font-weight:600}.pie-chart-container{display:flex;justify-content:center}.breakdown-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.breakdown-card.full{max-width:100%}.breakdown-card h3{margin:0 0 1rem;font-size:1rem;font-weight:600}.breakdown-table{max-height:400px;overflow-y:auto}.breakdown-header{display:grid;grid-template-columns:1fr repeat(auto-fit,minmax(80px,auto));gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;background:var(--bg-card);z-index:5}.breakdown-row{display:grid;grid-template-columns:1fr repeat(auto-fit,minmax(80px,auto));gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border);font-size:.9rem;color:var(--text-primary)}.breakdown-row:last-child{border-bottom:none}.breakdown-row .amount{font-weight:500;font-variant-numeric:tabular-nums;text-align:right}.breakdown-row .amount.muted{color:var(--text-muted)}.breakdown-row .change{font-size:.8rem;text-align:right}.breakdown-row .change.up{color:var(--negative)}.breakdown-row .change.down{color:var(--positive)}.category-list{display:flex;flex-direction:column}.category-row{display:grid;grid-template-columns:auto 1fr auto auto auto auto;gap:.75rem;align-items:center;padding:.75rem 0;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:.9rem;cursor:pointer;text-align:left;width:100%;transition:background .15s}.category-row:last-child{border-bottom:none}.category-row:hover{background:var(--bg-hover);margin:0 -1.5rem;padding:.75rem 1.5rem}.cat-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-count{font-size:.75rem;color:var(--text-muted);background:var(--bg-primary);padding:.15rem .5rem;border-radius:10px}.cat-amount{font-weight:600;font-variant-numeric:tabular-nums}.cat-percent{color:var(--text-muted);font-size:.8rem;min-width:45px;text-align:right}.cat-arrow{color:var(--text-muted)}.merchant-list{display:flex;flex-direction:column;max-height:600px;overflow-y:auto}.merchant-row{display:grid;grid-template-columns:auto 1fr auto auto auto auto auto;gap:.75rem;align-items:center;padding:.75rem 0;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:.9rem;cursor:pointer;text-align:left;width:100%;transition:background .15s}.merchant-row:hover{background:var(--bg-hover);margin:0 -1.5rem;padding:.75rem 1.5rem}.merchant-rank{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-radius:50%;font-size:.75rem;font-weight:600;color:var(--text-muted)}.merchant-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.merchant-category{font-size:.8rem;color:var(--text-muted)}.merchant-count{font-size:.75rem;color:var(--text-muted)}.merchant-amount{font-weight:600;font-variant-numeric:tabular-nums}.merchant-percent{color:var(--text-muted);font-size:.8rem;min-width:45px;text-align:right}.merchant-arrow{color:var(--text-muted)}.back-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 0;background:transparent;border:none;color:var(--accent);font-size:.85rem;cursor:pointer;margin-bottom:1rem}.back-btn:hover{text-decoration:underline}.drill-list{display:flex;flex-direction:column;max-height:400px;overflow-y:auto}.drill-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--border);font-size:.85rem;color:var(--text-primary)}.drill-row:last-child{border-bottom:none}.drill-date{color:var(--text-muted);white-space:nowrap}.drill-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drill-cat{font-size:.75rem;color:var(--text-muted);background:var(--bg-primary);padding:.15rem .5rem;border-radius:10px}.drill-amount{font-weight:500;font-variant-numeric:tabular-nums}.no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;color:var(--text-muted);text-align:center}.no-data-small{padding:2rem;text-align:center;color:var(--text-muted)}@media (max-width: 768px){.trends-header{flex-direction:column;align-items:flex-start}.trends-controls{width:100%;overflow-x:auto}.data-type-toggle button{padding:.5rem .75rem;font-size:.8rem}.view-mode-tabs{width:100%;overflow-x:auto}.merchant-row{grid-template-columns:auto 1fr auto auto}.merchant-row .merchant-category,.merchant-row .merchant-count,.merchant-row .merchant-percent{display:none}}.analysis-controls{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem}.analysis-controls .control-group{display:flex;align-items:center;gap:.5rem}.analysis-controls .control-group label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.025em}.analysis-controls .sort-buttons,.analysis-controls .top-n-selector,.analysis-controls .chart-type-selector{display:flex;gap:.25rem}.analysis-controls button{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:6px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.analysis-controls button:hover{background:var(--bg-primary);border-color:var(--accent);color:var(--text-primary)}.analysis-controls button.active{background:var(--accent);border-color:var(--accent);color:#fff}.analysis-controls .chart-type-selector button{padding:.5rem}.category-list-header,.merchant-list-header{display:grid;gap:.5rem;padding:.5rem 1rem;background:var(--bg-hover);border-radius:6px;margin-bottom:.5rem;font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.category-list-header{grid-template-columns:20px 1fr auto auto auto 24px}.merchant-list-header{grid-template-columns:30px 1fr auto auto auto 24px}.sort-header{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;transition:color .15s;justify-content:flex-end}.sort-header:hover{color:var(--text-primary)}.sort-header.active{color:var(--accent)}.sort-header-static{padding:.25rem .5rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:var(--text-secondary);text-align:right}.breakdown-header-sortable{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.breakdown-header-sortable h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.breadcrumb-back{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 0;background:transparent;border:none;color:var(--accent);font-size:.9rem;cursor:pointer;margin-top:.25rem}.breadcrumb-back:hover{text-decoration:underline}.chart-card.interactive{position:relative}.chart-card.interactive h3{color:var(--text-secondary);font-size:.85rem;font-weight:500}.chart-card.interactive:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.custom-tooltip{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:.875rem;box-shadow:0 4px 12px #00000026;min-width:180px}.custom-tooltip .tooltip-title{font-weight:600;margin:0 0 .375rem;color:var(--text-primary)}.custom-tooltip .tooltip-amount{font-size:1.25rem;font-weight:700;margin:0 0 .25rem;color:var(--text-primary)}.custom-tooltip .tooltip-txns{font-size:.8rem;color:var(--text-secondary);margin:0 0 .5rem}.custom-tooltip .tooltip-change{font-size:.8rem;margin:.25rem 0;display:flex;align-items:center;gap:.25rem}.custom-tooltip .tooltip-change.good{color:var(--positive)}.custom-tooltip .tooltip-change.bad{color:var(--negative)}.custom-tooltip .tooltip-hint{font-size:.7rem;color:var(--text-muted);margin:.5rem 0 0;font-style:italic}.breakdown-table.enhanced{max-height:500px}.breakdown-table.enhanced .breakdown-header{grid-template-columns:1fr 100px 100px 100px 24px}.breakdown-row.clickable{background:transparent;border:none;width:100%;text-align:left;cursor:pointer;display:grid;grid-template-columns:1fr 100px 100px 100px 24px;transition:background .15s}.breakdown-row.clickable:hover{background:var(--bg-hover);margin:0 -1.5rem;padding:.75rem 1.5rem}.breakdown-row .row-arrow{color:var(--text-muted)}.breakdown-row .change.good{color:var(--positive)}.breakdown-row .change.bad{color:var(--negative)}.drill-view{animation:fadeIn .2s ease-out}.drill-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.drill-header h2{margin:0;font-size:1.5rem}.drill-total{font-size:1.5rem;font-weight:700;color:var(--text-secondary)}.drill-grid{display:grid;grid-template-columns:350px 1fr;gap:1.5rem}.drill-categories{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}.drill-cat-row{display:flex;align-items:center;gap:.75rem;font-size:.85rem}.drill-cat-row .dot{width:10px;height:10px;border-radius:50%}.drill-cat-row .name{flex:1;color:var(--text-secondary)}.drill-cat-row .amount{font-weight:600}.drill-list{max-height:500px}.drill-row{display:flex;align-items:center;gap:1rem}.drill-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.drill-info .drill-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drill-info .drill-cat,.drill-info .drill-account{font-size:.75rem;color:var(--text-muted)}.category-row .cat-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.category-row .cat-info .cat-count{font-size:.7rem;color:var(--text-muted);background:transparent;padding:0}.category-row .cat-change{font-size:.8rem;min-width:50px;text-align:right;color:var(--text-muted)}.category-row .cat-change.good{color:var(--positive)}.category-row .cat-change.bad{color:var(--negative)}.merchant-row .merchant-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.merchant-row .merchant-change{font-size:.8rem;min-width:50px;text-align:right;color:var(--text-muted)}.merchant-row .merchant-change.good{color:var(--positive)}.merchant-row .merchant-change.bad{color:var(--negative)}.summary-change{display:flex;align-items:center;gap:.25rem;font-size:.85rem;margin-top:.375rem}.summary-change.good{color:var(--positive)}.summary-change.bad{color:var(--negative)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.drill-grid{grid-template-columns:1fr}}@media (max-width: 768px){.breakdown-table.enhanced .breakdown-header,.breakdown-row.clickable{grid-template-columns:1fr 80px 60px 24px}.breakdown-table.enhanced .breakdown-header span:nth-child(4),.breakdown-row.clickable span:nth-child(4){display:none}.category-row .cat-change{display:none}}.budget-light{background:var(--bg-primary);min-height:100vh;padding:1.5rem}.budget-light .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.budget-light .page-header h1{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0}.budget-light .cloud-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;font-weight:500;color:var(--accent);background:var(--accent-light);border:1px solid var(--accent);border-radius:999px;padding:.125rem .5rem;margin-left:.625rem;vertical-align:middle;line-height:1}.budget-chart-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.budget-chart-section .chart-title{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:0 0 .5rem}.budget-light .page-subtitle{color:var(--text-muted);font-size:.875rem;margin-top:.25rem}.budget-light .budget-controls{display:flex;gap:.5rem}.budget-light .btn-tool{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.budget-light .btn-tool:hover{background:var(--bg-hover);border-color:var(--border);color:var(--text-primary)}.budget-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.year-selector{display:flex;align-items:center;gap:.5rem}.toolbar-label{font-size:.8125rem;font-weight:500;color:var(--text-muted);margin-right:.25rem}.year-btn{padding:.375rem .75rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.year-btn:hover{background:var(--border);color:var(--text-secondary)}.year-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.budget-legend-inline{display:flex;align-items:center;gap:1rem}.budget-legend-inline .legend-item{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-muted)}.budget-legend-inline .dot{width:10px;height:10px;border-radius:2px}.budget-legend-inline .dot.actual{background:var(--border)}.budget-legend-inline .dot.budget{background:var(--tint-blue-hover);border:1px solid var(--accent)}.budget-legend-inline .dot.current{background:var(--tint-amber-bg);border:1px solid var(--tint-amber-hover)}.budget-groupby-toggle{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.groupby-btn{padding:.25rem .75rem;font-size:.75rem;font-weight:500;background:var(--card-bg);color:var(--text-muted);border:none;cursor:pointer;white-space:nowrap;transition:all .15s}.groupby-btn:hover{color:var(--text);background:var(--bg)}.groupby-btn.active{background:var(--primary);color:#fff}.groupby-btn+.groupby-btn{border-left:1px solid var(--border)}.budget-table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden;max-height:calc(100vh - 220px);overflow-x:auto;overflow-y:auto}.budget-table-light{width:100%;border-collapse:separate;border-spacing:0;font-size:.75rem}.budget-table-light th,.budget-table-light td{padding:.375rem .5rem;text-align:right;white-space:nowrap;border-bottom:1px solid var(--border-light)}.budget-table-light th{background:var(--bg-primary);font-weight:600;color:var(--text-secondary);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--border)}.budget-table-light .header-years th{background:var(--tint-header-dark-bg);color:var(--tint-header-dark-text);font-size:.8125rem;padding:.5rem;border-bottom:none}.budget-table-light .header-months th{background:var(--bg-hover);color:var(--text-secondary);font-size:.6875rem;padding:.375rem .5rem;top:32px}.budget-table-light .year-header{text-align:center;border-left:2px solid var(--tint-header-dark-border)}.budget-table-light .mtd-header{background:var(--tint-amber-bg)!important;color:var(--tint-amber-text)!important;text-align:center;border-left:3px solid var(--warning)}.budget-table-light .delta-header{background:var(--tint-green-bg)!important;color:var(--tint-green-text)!important;text-align:center;border-left:3px solid var(--positive)}.budget-table-light .sticky-col{position:sticky;left:0;background:inherit;z-index:15;text-align:left}.budget-table-light thead .sticky-col{z-index:20}.budget-table-light .header-years .sticky-col,.budget-table-light .header-years .sticky-col-2,.budget-table-light .header-years .sticky-col-3,.budget-table-light .header-years .sticky-col-4{background:var(--tint-header-dark-bg)}.budget-table-light .header-months .sticky-col,.budget-table-light .header-months .sticky-col-2,.budget-table-light .header-months .sticky-col-3,.budget-table-light .header-months .sticky-col-4{background:var(--bg-hover)}.budget-table-light .col-month{min-width:58px;max-width:70px}.budget-table-light .col-year-total{min-width:68px;font-weight:600;background:var(--bg-primary);border-left:1px solid var(--border)}.budget-table-light .col-mtd{min-width:65px}.budget-table-light .col-delta{min-width:60px}.budget-table-light .col-month.past{background:var(--bg-primary);color:var(--text-muted);font-style:italic;opacity:.8}.budget-table-light .col-month.current-month{background:var(--tint-amber-light)!important}.budget-table-light th.col-month.current-month{background:var(--tint-amber-bg)!important;color:var(--tint-amber-text);font-weight:700}.budget-table-light .cell-number{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.6875rem;color:var(--text-secondary)}.budget-table-light .cell-number.subtotal{font-weight:700;color:var(--text-primary);background:var(--bg-hover);font-style:normal;opacity:1;border-bottom:none;border-right:none}.budget-table-light .cell-number.year-total{background:var(--bg-hover);font-weight:700;border-left:2px solid var(--border);color:var(--text-primary);font-style:normal;opacity:1}.budget-table-light .cell-number.actual{background:color-mix(in srgb,var(--text-muted) 4%,var(--bg-card));color:var(--text-muted);opacity:.65;font-style:italic;font-size:.68rem}.budget-table-light .cell-number.budget{background:#3b82f61a;color:var(--text-primary);font-weight:500;border-bottom:1px dashed rgba(59,130,246,.4);border-right:1px solid rgba(59,130,246,.08)}.budget-table-light .cell-number.editable{cursor:pointer}.budget-table-light .cell-number.editable:hover{background:#3b82f626;border-bottom-color:#3b82f680}.budget-table-light .cell-number.current-month{background:var(--tint-amber-light)!important}.budget-table-light .mtd-budget{background:var(--tint-amber-lightest);color:var(--tint-amber-text)}.budget-table-light .mtd-actual{border-left:3px solid var(--warning);background:var(--tint-amber-bg);color:var(--tint-amber-text)}.budget-table-light .mtd-togo{background:var(--tint-amber-light);color:var(--text-secondary)}.budget-table-light .clickable{cursor:pointer}.budget-table-light .clickable:hover{background:var(--tint-amber-hover)!important}.budget-table-light .delta{border-left:3px solid var(--positive);background:var(--tint-green-bg)}.budget-table-light .delta-pct{background:var(--tint-green-bg);font-size:.625rem}.budget-table-light .positive{color:var(--positive)}.budget-table-light .negative{color:var(--negative)}.budget-table-light .row-net{background:var(--tint-header-dark-bg)}.budget-table-light .row-net td{background:var(--tint-header-dark-bg);color:var(--tint-header-dark-text);font-weight:700;border-bottom:2px solid var(--border-light)}.budget-table-light .row-net .sticky-col,.budget-table-light .row-net .sticky-col-2,.budget-table-light .row-net .sticky-col-3,.budget-table-light .row-net .sticky-col-4{background:var(--tint-header-dark-bg)}.budget-table-light .row-net .cell-number{color:var(--tint-header-dark-text)}.budget-table-light .row-net .positive{color:var(--tint-net-positive)}.budget-table-light .row-net .negative{color:var(--tint-net-negative)}.budget-table-light .row-type-total{background:var(--bg-hover)}.budget-table-light .row-type-total td{background:var(--bg-hover);font-weight:600;border-bottom:1px solid var(--border);color:var(--text-primary)}.budget-table-light .row-type-total .sticky-col,.budget-table-light .row-type-total .sticky-col-2,.budget-table-light .row-type-total .sticky-col-3,.budget-table-light .row-type-total .sticky-col-4{background:var(--bg-hover)}.budget-table-light .row-type-total .type-label{color:var(--type-accent, var(--text-primary))}.budget-table-light .row-spacer td{height:12px;background:var(--border);border:none;padding:0}.budget-table-light .row-group{cursor:pointer;background:var(--bg-secondary)}.budget-table-light .row-group:hover{background:var(--bg-hover)}.budget-table-light .row-group td{background:inherit;font-weight:500;color:var(--text-primary)}.budget-table-light .row-group .sticky-col,.budget-table-light .row-group .sticky-col-2,.budget-table-light .row-group .sticky-col-3,.budget-table-light .row-group .sticky-col-4{background:inherit}.budget-table-light .row-group.first-in-type{border-top:2px solid var(--border)}.budget-table-light .group-toggle{display:flex;align-items:center;gap:.25rem}.budget-table-light .type-indicator{font-weight:700;font-size:.6875rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.budget-table-light .item-count{font-size:.625rem;color:var(--text-muted)}.budget-table-light .row-detail{background:var(--bg-card)}.budget-table-light .row-detail:hover{background:var(--bg-primary)}.budget-table-light .row-detail td{background:inherit;color:var(--text-secondary)}.budget-table-light .row-detail .sticky-col,.budget-table-light .row-detail .sticky-col-2,.budget-table-light .row-detail .sticky-col-3,.budget-table-light .row-detail .sticky-col-4{background:inherit}.budget-table-light .row-detail .col-category{font-size:.6875rem;color:var(--text-secondary);padding-left:1.5rem}.budget-table-light .cell-input{width:100%;padding:.25rem .375rem;background:var(--bg-card);border:2px solid var(--accent);border-radius:4px;font-family:inherit;font-size:.6875rem;text-align:right;color:var(--text-primary);outline:none}.mtd-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;overflow:hidden}.mtd-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(to right,var(--tint-amber-light),var(--tint-amber-bg));cursor:pointer;transition:background .15s}.mtd-header:hover{background:linear-gradient(to right,var(--tint-amber-bg),var(--tint-amber-hover))}.mtd-title{display:flex;align-items:center;gap:.5rem}.mtd-title h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.mtd-title svg{color:var(--text-muted)}.mtd-progress-badge{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.mtd-summary-row{display:flex;gap:1.5rem}.mtd-stat{font-size:.875rem;color:var(--text-secondary)}.mtd-stat strong{font-weight:600;color:var(--text-primary)}.mtd-table-wrapper{max-height:300px;overflow-y:auto;border-top:1px solid var(--border)}.mtd-table{width:100%;border-collapse:collapse;font-size:.8125rem}.mtd-table th,.mtd-table td{padding:.625rem 1rem;border-bottom:1px solid var(--border-light);text-align:right}.mtd-table th{background:var(--bg-primary);font-weight:600;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.025em;position:sticky;top:0;z-index:1}.mtd-table th:first-child,.mtd-table td:first-child{text-align:left}.mtd-table .cat-name{font-weight:500;color:var(--text-primary)}.mtd-table .cell-number{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.mtd-table .cell-number.positive{color:var(--positive)}.mtd-table .cell-number.negative{color:var(--negative)}.mtd-table .cell-number.pct{font-size:.75rem}.mtd-table .cell-number.pct.over{color:var(--negative);font-weight:600}.mtd-table .cell-number.pct.warning{color:var(--warning)}.mtd-table tr.over-budget{background:var(--tint-over-bg)}.mtd-table tr.warning{background:var(--tint-warn-bg)}.mtd-table tbody tr:hover{background:var(--bg-primary)}.budget-summary-grid{display:grid;grid-template-columns:1fr 280px;gap:1rem;margin-bottom:1rem}.summary-table{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;border-collapse:collapse;font-size:.8125rem;overflow:hidden}.summary-table th,.summary-table td{padding:.5rem .75rem;text-align:right;border-bottom:1px solid var(--border-light)}.summary-table th{background:var(--bg-primary);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.025em;color:var(--text-muted)}.summary-table th:first-child{text-align:left;width:90px}.summary-table .row-label{display:flex;align-items:center;gap:.375rem;font-weight:600;color:var(--text-primary);text-align:left}.summary-table .num{font-variant-numeric:tabular-nums;font-weight:500;color:var(--text-primary)}.summary-table .num.positive{color:var(--positive)}.summary-table .num.negative{color:var(--negative)}.summary-table .num.bold{font-weight:700}.summary-table .row-income td{background:var(--tint-income-bg);color:var(--tint-income-text)}.summary-table .row-expenses td{background:var(--tint-expense-bg);color:var(--tint-expense-text)}.summary-table .row-net td{background:var(--bg-primary);color:var(--text-primary);border-top:2px solid var(--border);font-weight:600}.mtd-progress-indicator{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.mtd-progress-indicator .progress-label{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;font-weight:600;color:var(--text-primary)}.mtd-progress-indicator .progress-label .over{color:var(--negative)}.mtd-progress-indicator .progress-label .warning{color:var(--warning)}.progress-bar-wide{position:relative;height:12px;background:var(--border);border-radius:6px;overflow:visible}.progress-bar-wide .progress-fill{height:100%;background:var(--positive);border-radius:6px;transition:width .3s ease}.progress-bar-wide .progress-fill.warning{background:var(--warning)}.progress-bar-wide .progress-fill.over{background:var(--negative)}.progress-bar-wide .progress-marker{position:absolute;top:-4px;width:2px;height:20px;background:var(--tint-header-dark-bg);transform:translate(-50%);border-radius:1px}.progress-bar-wide .progress-marker:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--tint-header-dark-bg)}.progress-legend{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted)}.progress-legend .positive{color:var(--positive);font-weight:600}.progress-legend .negative{color:var(--negative);font-weight:600}.budget-alerts-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem}.budget-alerts-section.success{border-color:#22c55e4d;background:#22c55e0d}.alerts-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.alerts-header svg{color:var(--warning)}.budget-alerts-section.success .alerts-header svg{color:var(--positive)}.alerts-header h3{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0;flex:1}.alert-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;background:var(--warning-bg);color:var(--warning);font-size:.75rem;font-weight:600;border-radius:12px;padding:0 .5rem}.success-message{color:var(--text-secondary);font-size:.875rem;margin:0}.alerts-list{display:flex;flex-direction:column;gap:.75rem}.alert-item{display:grid;grid-template-columns:auto 1fr auto auto;gap:1rem;align-items:center;padding:.75rem 1rem;background:var(--bg-primary);border-radius:8px;border-left:3px solid transparent}.alert-item.error{border-left-color:var(--negative);background:var(--negative-bg)}.alert-item.warning{border-left-color:var(--warning);background:var(--warning-bg)}.alert-icon{display:flex;align-items:center}.alert-item.error .alert-icon svg{color:var(--negative)}.alert-item.warning .alert-icon svg{color:var(--warning)}.alert-content{min-width:0}.alert-category{font-weight:600;font-size:.875rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-message{font-size:.75rem;color:var(--text-muted);margin-top:.125rem}.alert-amounts{text-align:right}.alert-spent{font-weight:600;font-size:.875rem;color:var(--text-primary)}.alert-budget{font-size:.75rem;color:var(--text-muted)}.alert-progress{display:flex;align-items:center;gap:.5rem;min-width:100px}.alert-progress-bar{flex:1;height:6px;background:#0000001a;border-radius:3px;overflow:hidden}.alert-progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.alert-progress-fill.error{background:var(--negative)}.alert-progress-fill.warning{background:var(--warning)}.alert-percent{font-size:.75rem;font-weight:600;min-width:40px;text-align:right}.alert-percent.error{color:var(--negative)}.alert-percent.warning{color:var(--warning)}.alerts-more{text-align:center;font-size:.8125rem;color:var(--text-muted);padding:.5rem}@media (max-width: 768px){.alert-item{grid-template-columns:auto 1fr;gap:.5rem}.alert-amounts,.alert-progress{grid-column:2;justify-self:start}}.collapse-controls{display:flex;align-items:center;gap:.5rem}.collapse-controls .btn-collapse-all,.collapse-controls .btn-expand-all{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:6px;font-size:.75rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.collapse-controls .btn-collapse-all:hover,.collapse-controls .btn-expand-all:hover{background:var(--border);color:var(--text-primary)}.collapse-controls .btn-collapse-all svg,.collapse-controls .btn-expand-all svg{opacity:.7}.year-toggle,.quarter-toggle{display:inline-flex;align-items:center;gap:.25rem;background:transparent;border:none;cursor:pointer;font-weight:600;color:inherit;padding:.25rem .5rem;border-radius:4px;transition:background .15s}.year-toggle:hover,.quarter-toggle:hover{background:#0000001a}.year-toggle svg,.quarter-toggle svg{opacity:.6}.quarter-total{background:#6366f114!important;font-weight:600;border-left:2px solid rgba(99,102,241,.3)!important;font-style:normal!important;opacity:1!important;color:var(--text-primary);border-bottom:none!important;border-right:none!important}.quarter-total.collapsed{background:#6366f126!important}.year-total{background:#6366f126!important;font-weight:700;border-left:2px solid rgba(99,102,241,.4)!important;font-style:normal!important;opacity:1!important;color:var(--text-primary)}.col-quarter{background:#6366f11a!important;font-weight:600}.col-quarter.collapsed{background:#6366f133!important}.col-year-total{background:#6366f126!important;font-weight:700}.mtd-header{background:linear-gradient(to bottom,var(--tint-amber-bg),var(--tint-amber-hover))!important;color:var(--tint-amber-text)!important}.col-mtd{background:var(--tint-amber-lightest)!important;color:var(--tint-amber-text-dark)!important;font-weight:600}.budget-table-light .mtd-actual,.budget-table-light .mtd-budget{background:var(--tint-amber-bg)}.budget-table-light .mtd-togo{background:var(--tint-amber-lightest)}.budget-table-light .mtd-togo.positive{color:var(--positive)}.budget-table-light .mtd-togo.negative{color:var(--negative)}.budget-table-light .quarter-cell{min-width:70px;background:var(--bg-primary)}.budget-table-light .col-quarter{min-width:60px;font-size:.6875rem}@media (max-width: 1024px){.budget-summary-grid{grid-template-columns:1fr}}.budget-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--bg-card);border:2px dashed var(--border);border-radius:12px;margin:2rem}.budget-page .empty-state svg{color:var(--accent);margin-bottom:1rem;opacity:.6}.budget-page .empty-state h3{font-size:1.25rem;margin:0 0 1rem;color:var(--text-primary)}.budget-page .empty-state p{color:var(--text-muted);max-width:500px;margin:0 0 .5rem;line-height:1.6}.budget-page .empty-state ul{text-align:left;color:var(--text-secondary);margin:1rem 0;padding-left:1.5rem}.budget-page .empty-state ul li{margin:.5rem 0}.budget-page .empty-state .btn-primary{margin-top:1.5rem}.setting-label{display:flex;flex-direction:column;gap:.25rem;padding:.5rem 0;cursor:pointer}.setting-label input[type=checkbox]{margin-right:.5rem}.setting-hint{font-size:.75rem;color:var(--text-muted);margin-left:1.5rem}.modal-overlay-light{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-light{background:var(--bg-card);border-radius:12px;box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:440px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.modal-light.modal-wide{max-width:800px}.modal-header-light{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.modal-header-light h2{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.modal-header-light .modal-header-actions{display:flex;align-items:center;gap:.5rem}.btn-close-light{padding:.375rem;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:all .15s}.btn-close-light:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body-light{padding:1.25rem;overflow-y:auto}.modal-desc{color:var(--text-muted);font-size:.875rem;margin-bottom:1rem}.scenario-list{display:flex;flex-direction:column;gap:.5rem}.scenario-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s}.scenario-item:hover{background:var(--bg-hover);border-color:var(--border)}.scenario-item.selected{background:var(--tint-blue-bg);border-color:var(--accent)}.scenario-item input[type=radio]{accent-color:var(--accent)}.scenario-item div{display:flex;flex-direction:column}.scenario-item strong{font-size:.875rem;color:var(--text-primary)}.scenario-item span{font-size:.75rem;color:var(--text-muted)}.modal-actions-light{display:flex;gap:.75rem;margin-top:1.5rem;justify-content:flex-end}.setting-section{margin-bottom:1.25rem}.setting-section h4{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.setting-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);cursor:pointer}.setting-label input[type=checkbox]{accent-color:var(--accent)}.save-version-row{display:flex;gap:.5rem}.save-version-row input{flex:1;padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-size:.875rem;color:var(--text-primary)}.save-version-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.version-list-light{display:flex;flex-direction:column;gap:.5rem}.version-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px}.version-info{display:flex;flex-direction:column}.version-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.version-date{font-size:.75rem;color:var(--text-muted)}.version-actions{display:flex;gap:.5rem}.version-actions button{padding:.375rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.version-actions button:hover{background:var(--bg-hover)}.version-actions button.danger{color:var(--negative)}.version-actions button.danger:hover{background:var(--negative-bg);border-color:var(--negative)}.drilldown-summary{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-primary);border-radius:6px;margin-bottom:1rem;font-size:.875rem;color:var(--text-secondary)}.drilldown-table-wrapper{max-height:400px;overflow-y:auto;border:1px solid var(--border);border-radius:6px}.drilldown-table-light{width:100%;border-collapse:collapse;font-size:.8125rem}.drilldown-table-light th{position:sticky;top:0;background:var(--bg-primary);padding:.625rem .75rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border)}.drilldown-table-light td{padding:.625rem .75rem;border-bottom:1px solid var(--border-light);color:var(--text-secondary)}.drilldown-table-light th:last-child,.drilldown-table-light td:last-child{text-align:right}.drilldown-table-light tr:hover td{background:var(--bg-primary)}.drilldown-table-light .empty{text-align:center;color:var(--text-muted);padding:2rem}.drilldown-table-light .positive{color:var(--positive)}.drilldown-table-light .negative{color:var(--negative)}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.summary-card{display:flex;align-items:flex-start;gap:.875rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;transition:all .2s}.summary-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.summary-card .card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;flex-shrink:0}.summary-card.income .card-icon{background:var(--positive-bg);color:var(--positive)}.summary-card.expenses .card-icon{background:var(--negative-bg);color:var(--negative)}.summary-card.net .card-icon{background:var(--accent-light);color:var(--accent)}.summary-card.net.positive .card-icon{background:var(--positive-bg);color:var(--positive)}.summary-card.net.negative .card-icon{background:var(--negative-bg);color:var(--negative)}.summary-card.mtd .card-icon{background:var(--tint-amber-bg);color:var(--warning)}.summary-card .card-content{display:flex;flex-direction:column;min-width:0}.summary-card .card-label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.summary-card .card-value{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin:.125rem 0}.summary-card .card-sub{font-size:.75rem;color:var(--text-muted)}.summary-card .progress-bar{width:100%;height:6px;background:var(--border);border-radius:3px;margin:.5rem 0 .375rem;overflow:hidden}.summary-card .progress-fill{height:100%;background:var(--positive);border-radius:3px;transition:width .3s ease}.summary-card .progress-fill.warning{background:var(--warning)}.summary-card .progress-fill.over{background:var(--negative)}.budget-toolbar .toolbar-left{display:flex;align-items:center;gap:1rem}.search-box{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;width:220px;transition:all .15s}.search-box:focus-within{background:var(--bg-card);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.search-box svg{color:var(--text-muted);flex-shrink:0}.search-box input{flex:1;border:none;background:transparent;font-size:.8125rem;color:var(--text-primary);outline:none}.search-box input::placeholder{color:var(--text-muted)}.search-box .clear-search{padding:.125rem;background:var(--border);border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.search-box .clear-search:hover{background:var(--border);color:var(--text-secondary)}.budget-table-light .ytd-header{background:var(--tint-ytd-bg)!important;color:var(--tint-ytd-text)!important;text-align:center;border-left:3px solid var(--tint-ytd-border)}.budget-table-light .forecast-header{background:var(--tint-forecast-bg)!important;color:var(--tint-forecast-header-text)!important;text-align:center;border-left:3px solid var(--tint-forecast-border)}.budget-table-light .col-ytd{min-width:70px;background:var(--tint-ytd-bg)}.budget-table-light .col-forecast{min-width:75px;background:var(--tint-forecast-bg)}.budget-table-light .ytd-actual{border-left:3px solid var(--tint-ytd-border);background:var(--tint-ytd-bg);color:var(--tint-ytd-text)}.budget-table-light .ytd-budget{background:var(--tint-ytd-darker);color:var(--tint-ytd-text)}.budget-table-light .ytd-var{background:var(--tint-ytd-bg);color:var(--text-secondary)}.budget-table-light .forecast{border-left:3px solid var(--tint-forecast-border);background:var(--tint-forecast-bg);color:var(--tint-forecast-text)}.budget-table-light .forecast.over{color:var(--negative)}.budget-table-light .forecast.under{color:var(--positive)}.budget-table-light .row-group.hovered td,.budget-table-light .row-detail.hovered td,.budget-table-light .row-group.hovered .sticky-col,.budget-table-light .row-group.hovered .sticky-col-2,.budget-table-light .row-group.hovered .sticky-col-3,.budget-table-light .row-group.hovered .sticky-col-4,.budget-table-light .row-detail.hovered .sticky-col,.budget-table-light .row-detail.hovered .sticky-col-2,.budget-table-light .row-detail.hovered .sticky-col-3,.budget-table-light .row-detail.hovered .sticky-col-4{background:var(--bg-hover)!important}.setting-section .setting-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.setting-section h4{margin-bottom:.75rem}@media (max-width: 1200px){.summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.summary-cards{grid-template-columns:1fr}.budget-toolbar{flex-direction:column;gap:.75rem}.budget-toolbar .toolbar-left{flex-direction:column;width:100%}.search-box{width:100%}.year-selector{justify-content:center}}.budget-expanded{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;padding:1rem;background:var(--bg-primary);overflow:hidden}.budget-expanded .page-header{margin-bottom:.75rem}.budget-expanded .page-header h1{font-size:1.5rem}.budget-expanded .budget-summary-grid{margin-bottom:.75rem}.budget-expanded .budget-toolbar{margin-bottom:.5rem;padding:.5rem .75rem}.budget-expanded .budget-table-wrapper{max-height:calc(100vh - 280px)}.budget-expanded .btn-tool.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.budget-table-light .row-detail .label-muted{color:var(--text-muted);font-size:.625rem}.budget-table-light .row-detail .sticky-col .label-muted,.budget-table-light .row-detail .sticky-col-2 .label-muted,.budget-table-light .row-detail .sticky-col-3 .label-muted{color:#cbd5e1}.categorize-page{padding:1.5rem;background:var(--bg-primary);min-height:100vh}.categorize-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.categorize-page .page-header h1{display:flex;align-items:center;gap:.5rem;font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.categorize-page .page-subtitle{color:var(--text-muted);font-size:.875rem;margin-top:.25rem}.categorize-page .header-actions{display:flex;gap:.5rem}.categorize-page .btn-tool{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.categorize-page .btn-tool:hover{background:var(--bg-hover);border-color:#cbd5e1;color:var(--text-primary)}.categorize-page .btn-tool:disabled{opacity:.6;cursor:not-allowed}.categorize-page .btn-tool.loading{background:var(--accent);border-color:var(--accent);color:#fff}.categorize-page .btn-tool-primary{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--accent);border:1px solid var(--accent);border-radius:6px;color:#fff;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.categorize-page .btn-tool-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.categorize-page .btn-tool-primary:disabled{opacity:.6;cursor:not-allowed}.categorize-page .btn-tool-primary.loading{background:var(--accent-hover);border-color:var(--accent-hover)}.model-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px}.stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-hover);border-radius:8px;color:var(--accent)}.stat-content .stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1}.stat-content .stat-label{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.categorize-tabs{display:flex;gap:.25rem;margin-bottom:1rem;padding:.25rem;background:var(--bg-hover);border-radius:8px;width:fit-content}.tab-btn{padding:.5rem 1rem;background:transparent;border:none;border-radius:6px;font-size:.8125rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 2px #0000000f}.categorize-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.categorize-toolbar .toolbar-left{display:flex;align-items:center;gap:.75rem}.categorize-toolbar .search-box{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--bg-hover);border:1px solid transparent;border-radius:6px;min-width:200px}.categorize-toolbar .search-box:focus-within{border-color:var(--accent);background:var(--bg-card)}.categorize-toolbar .search-box input{border:none;background:transparent;font-size:.8125rem;color:var(--text-primary);outline:none;width:100%}.categorize-toolbar .search-box svg{color:var(--text-muted)}.categorize-toolbar .clear-search{background:none;border:none;padding:0;color:var(--text-muted);cursor:pointer}.filter-select{padding:.375rem .625rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;font-size:.8125rem;color:var(--text-primary);cursor:pointer}.result-count{font-size:.75rem;color:var(--text-muted)}.categorize-toolbar-v2{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem}.toolbar-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.search-box-v2{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;min-width:240px;transition:all .15s}.search-box-v2:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.search-box-v2 input{flex:1;border:none;background:transparent;font-size:.875rem;color:var(--text-primary);outline:none}.search-box-v2 svg{color:var(--text-muted);flex-shrink:0}.search-box-v2 .clear-search{display:flex;align-items:center;justify-content:center;padding:.25rem;background:var(--bg-hover);border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer}.filter-select-v2{padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;font-size:.8125rem;color:var(--text-primary);cursor:pointer;min-width:130px}.filter-select-v2:focus{outline:none;border-color:var(--accent)}.sort-control{display:flex;align-items:center;gap:0}.sort-control select{border-radius:8px 0 0 8px}.sort-dir-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-primary);border:1px solid var(--border);border-left:none;border-radius:0 8px 8px 0;font-size:1rem;cursor:pointer;color:var(--text-secondary);transition:all .15s}.sort-dir-btn:hover{background:var(--bg-hover);color:var(--accent)}.toggle-filter{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px}.toggle-filter input{accent-color:var(--accent)}.toolbar-stats{display:flex;gap:.5rem}.stat-pill{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--bg-hover);border-radius:20px;font-size:.75rem;font-weight:500;color:var(--text-secondary)}.stat-pill.selected{background:var(--accent-bg);color:var(--accent)}.predictions-list-v2{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.empty-state-v2{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-state-v2 svg{color:var(--text-muted);margin-bottom:1rem}.empty-state-v2.success svg{color:var(--positive)}.empty-state-v2 h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary)}.empty-state-v2 p{margin:0 0 1.5rem;color:var(--text-secondary)}.btn-primary-v2{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--accent);border:none;border-radius:8px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-primary-v2:hover{background:var(--accent-hover)}.btn-secondary-v2{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;transition:all .15s}.btn-secondary-v2:hover{background:var(--bg-hover);border-color:var(--accent)}.predictions-header{display:grid;grid-template-columns:40px 1fr 100px 140px 200px 120px;gap:.75rem;padding:.75rem 1rem;background:var(--bg-hover);border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.predictions-header input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.prediction-row-v2{display:grid;grid-template-columns:40px 1fr 100px 140px 200px 120px;gap:.75rem;padding:.875rem 1rem;align-items:center;border-bottom:1px solid var(--border);transition:background .1s}.prediction-row-v2:last-child{border-bottom:none}.prediction-row-v2:hover{background:var(--bg-hover)}.prediction-row-v2.selected{background:var(--accent-bg)}.prediction-row-v2.expanded{background:var(--bg-primary)}.row-select input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.row-desc{display:flex;flex-direction:column;gap:.25rem;min-width:0;cursor:pointer}.desc-text{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desc-date{font-size:.75rem;color:var(--text-muted)}.row-amount{font-weight:600;font-size:.9375rem;text-align:right}.row-amount.income{color:var(--positive)}.row-amount.expense{color:var(--text-primary)}.row-account{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-prediction{display:flex;align-items:center;gap:.5rem}.prediction-display{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.category-select{flex:1;padding:.375rem .5rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-size:.8125rem;color:var(--text-primary);cursor:pointer;min-width:0}.category-select:focus{outline:none;border-color:var(--accent)}.rule-badge{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--accent-bg);border-radius:4px;font-size:.625rem;font-weight:700;color:var(--accent)}.history-badge{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:#3b82f626;border-radius:4px;font-size:.625rem;font-weight:700;color:#3b82f6}.learned-badge{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:#10b98126;border-radius:4px;font-size:.625rem;font-weight:700;color:#10b981}.ai-badge{display:flex;align-items:center;justify-content:center;width:22px;height:18px;background:#a855f726;border-radius:4px;font-size:.55rem;font-weight:700;color:#a855f7}.btn-ai-lookup{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:linear-gradient(135deg,#a855f7,#6366f1);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-ai-lookup:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #a855f74d}.btn-ai-lookup:disabled{opacity:.7;cursor:not-allowed}.btn-ai-lookup .spin{animation:spin 1s linear infinite}.btn-ai-lookup-small{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;background:#a855f726;color:#a855f7;border:1px solid rgba(168,85,247,.3);border-radius:4px;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-ai-lookup-small:hover:not(:disabled){background:#a855f740;border-color:#a855f7}.btn-ai-lookup-small:disabled{opacity:.5;cursor:not-allowed}.action-btn.ai-lookup{background:#a855f726;color:#a855f7}.action-btn.ai-lookup:hover:not(:disabled){background:#a855f740}.low-conf-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.low-conf-title-row h4{margin:0}.row-actions{display:flex;gap:.375rem;justify-content:flex-end}.action-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .15s}.action-btn:hover{background:var(--bg-hover)}.action-btn.approve{color:var(--positive);border-color:var(--positive);background:#22c55e0d}.action-btn.approve:hover{background:var(--positive);color:#fff}.action-btn.approve:disabled{opacity:.4;cursor:not-allowed}.action-btn.flag{color:var(--warning);border-color:var(--warning);background:#f59e0b0d}.action-btn.flag:hover{background:var(--warning);color:#fff}.action-btn.edit:hover{border-color:var(--accent);color:var(--accent)}.row-expanded{grid-column:1 / -1;padding:1rem;background:var(--bg-primary);border-top:1px solid var(--border)}.expanded-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.expanded-section h4{margin:0 0 .75rem;font-size:.8125rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.03em}.detail-row{display:flex;gap:.75rem;margin-bottom:.5rem;font-size:.8125rem}.detail-row .detail-label{color:var(--text-muted);min-width:120px}.detail-row .detail-value{color:var(--text-primary);flex:1}.explanation-text{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.explanation-text.muted{color:var(--text-muted);font-style:italic}.prediction-source{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.8rem;margin-bottom:.5rem}.prediction-source .source-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;font-size:.7rem;font-weight:700}.prediction-source.historical{background:#3b82f61a;color:#3b82f6}.prediction-source.historical .source-icon{background:#3b82f633}.prediction-source.learned{background:#10b9811a;color:#10b981}.prediction-source.learned .source-icon{background:#10b98133}.prediction-source.rule{background:#6366f11a;color:#6366f1}.prediction-source.rule .source-icon{background:#6366f133}.prediction-source.boosted{background:#f59e0b1a;color:#f59e0b}.prediction-source.boosted .source-icon{background:#f59e0b33}.similar-txns{margin-top:.75rem;display:flex;flex-direction:column;gap:.375rem}.similar-label{font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.similar-item{font-size:.75rem;color:var(--text-secondary);padding:.25rem .5rem;background:var(--bg-hover);border-radius:4px}.more-indicator{padding:1rem;text-align:center;font-size:.8125rem;color:var(--text-muted);background:var(--bg-hover);border-top:1px solid var(--border)}@media (max-width: 1200px){.predictions-header,.prediction-row-v2{grid-template-columns:40px 1fr 90px 120px 160px 110px}}@media (max-width: 992px){.predictions-header{display:none}.prediction-row-v2{grid-template-columns:1fr;gap:.5rem;padding:1rem}.row-select{position:absolute;top:1rem;left:1rem}.prediction-row-v2{position:relative;padding-left:3rem}.row-desc{grid-column:1}.row-amount,.row-account{text-align:left}.row-prediction{flex-wrap:wrap}.row-actions{margin-top:.5rem;justify-content:flex-start}.expanded-grid{grid-template-columns:1fr}}@media (max-width: 768px){.categorize-toolbar-v2{flex-direction:column;align-items:stretch}.toolbar-filters{flex-direction:column}.search-box-v2{min-width:100%}.filter-select-v2,.sort-control{width:100%}.sort-control select{flex:1}.toolbar-stats{justify-content:center}}.review-page-v2{max-width:var(--page-max-width);margin:0 auto}.review-tabs{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.tab-pill{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:24px;font-size:.8125rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.tab-pill:hover{border-color:var(--accent);color:var(--accent)}.tab-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.tab-pill.uncategorized.active{background:var(--warning);border-color:var(--warning)}.tab-pill.flagged.active{background:#ef4444;border-color:#ef4444}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 .375rem;background:#fff3;border-radius:10px;font-size:.6875rem;font-weight:600}.tab-pill:not(.active) .tab-count{background:var(--bg-hover)}.review-toolbar-v2{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem}.review-list-v2{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.review-header{display:grid;grid-template-columns:50px 1fr 100px 140px 180px 110px;gap:.75rem;padding:.75rem 1rem;background:var(--bg-hover);border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.header-status,.header-desc,.header-amount,.header-account,.header-category,.header-actions{display:flex;align-items:center}.header-amount,.header-actions{justify-content:flex-end}.review-row-v2{display:grid;grid-template-columns:50px 1fr 100px 140px 180px 110px;gap:.75rem;padding:.875rem 1rem;align-items:center;border-bottom:1px solid var(--border);transition:background .1s}.review-row-v2:last-child{border-bottom:none}.review-row-v2.expanded{background:var(--bg-primary)}.review-row-v2.saving{opacity:.7;pointer-events:none}.row-status-v2{display:flex;align-items:center;justify-content:center}.status-badge{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px}.status-badge.flagged{background:#ef44441a;color:#ef4444}.status-badge.uncategorized{background:#f59e0b1a;color:var(--warning)}.row-category-v2{min-width:0}.row-category-v2 .category-select{width:100%;padding:.4rem .5rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-size:.8125rem;color:var(--text-primary);cursor:pointer}.row-category-v2 .category-select:focus{outline:none;border-color:var(--accent)}.row-category-v2 .category-select.uncategorized{border-color:var(--warning);background:#f59e0b0d}.ml-suggestion-chip{display:inline-flex;align-items:center;gap:.25rem;margin-top:.25rem;padding:.15rem .5rem;background:#6366f114;border:1px solid rgba(99,102,241,.25);border-radius:12px;font-size:.6875rem;color:var(--accent);cursor:pointer;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ml-suggestion-chip:hover{background:#6366f126;border-color:var(--accent)}.ml-suggestion-chip:disabled{opacity:.5;cursor:not-allowed}.action-btn.unflag{color:#ef4444;border-color:#ef4444;background:#ef44440d}.action-btn.unflag:hover{background:#ef4444;color:#fff}.status-info{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.status-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.8125rem}.status-item.flagged{background:#ef44441a;color:#dc2626}.status-item.uncategorized{background:#f59e0b1a;color:#d97706}.status-item svg{flex-shrink:0}.btn-inline{padding:.25rem .5rem;margin-left:auto;background:transparent;border:1px solid currentColor;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .15s}.btn-inline.unflag{color:#ef4444}.btn-inline.unflag:hover{background:#ef4444;color:#fff}.expanded-actions{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.expanded-actions-grid{display:flex;gap:.75rem;flex-wrap:wrap}.review-info-banner{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:10px;margin-bottom:1rem;font-size:.8125rem;color:var(--text-secondary)}.review-info-banner svg{color:var(--accent);flex-shrink:0}.recon-review-section{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;overflow:hidden}.recon-review-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;cursor:pointer;background:#8b5cfc0f;border-bottom:1px solid var(--border)}.recon-review-header:hover{background:#8b5cfc1a}.recon-review-header h3{font-size:.9rem;font-weight:600;flex:1;margin:0}.recon-review-header svg:first-child{color:#8b5cf6}.recon-review-badge{background:#8b5cf6;color:#fff;font-size:.7rem;font-weight:700;padding:1px 7px;border-radius:10px;min-width:20px;text-align:center}.recon-review-toggle{color:var(--text-muted);display:flex}.recon-review-loading{display:flex;align-items:center;gap:.5rem;padding:1rem;color:var(--text-muted);font-size:.85rem}.recon-review-list{display:flex;flex-direction:column}.recon-review-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;border-bottom:1px solid var(--border-light);gap:.75rem}.recon-review-item:last-child{border-bottom:none}.recon-review-item:hover{background:var(--bg-hover)}.recon-review-item-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.recon-review-type{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}.recon-review-type.extra{background:#6366f11f;color:#6366f1}.recon-review-type.fuzzy{background:#ca8a041f;color:#ca8a04}.recon-review-txn{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.recon-review-date{color:var(--text-muted);font-size:.8rem;white-space:nowrap}.recon-review-desc{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.recon-review-amount{font-weight:600;font-size:.85rem;white-space:nowrap}.recon-review-amount.income{color:var(--positive)}.recon-review-amount.expense{color:var(--negative)}.recon-review-source{font-size:.7rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.recon-review-item-actions{display:flex;gap:.35rem;flex-shrink:0}.recon-rev-btn{font-size:.75rem;padding:.25rem .5rem;border:1px solid var(--border);border-radius:5px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:.25rem;transition:all .15s}.recon-rev-btn:hover{border-color:var(--accent);background:var(--accent-light)}.recon-rev-btn.ok:hover{border-color:#22c55e;background:#22c55e1a;color:#22c55e}.recon-rev-btn.view:hover{border-color:#8b5cf6;color:#8b5cf6}@media (max-width: 768px){.recon-review-item{flex-direction:column;align-items:flex-start}.recon-review-item-left{flex-wrap:wrap}.recon-review-item-actions{width:100%;justify-content:flex-end}}.header-select{display:flex;align-items:center;justify-content:center}.select-all-btn{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.select-all-btn:hover{color:var(--accent);background:var(--accent-bg)}.row-select{display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:color .15s}.row-select:hover,.review-row-v2.selected .row-select{color:var(--accent)}.review-row-v2.selected{background:var(--accent-bg)}.batch-action-bar{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1.5rem;padding:.875rem 1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #00000026;z-index:100}.batch-info{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--accent)}.batch-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:none;border-radius:8px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.batch-btn.unflag{background:#ef4444;color:#fff}.batch-btn.unflag:hover:not(:disabled){background:#dc2626}.batch-btn.cancel{background:var(--bg-hover);color:var(--text-secondary)}.batch-btn.cancel:hover:not(:disabled){background:var(--border)}.batch-btn:disabled{opacity:.6;cursor:not-allowed}.empty-hint{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.8125rem;color:var(--text-muted)}.empty-hint svg{color:var(--accent)}.review-header,.review-row-v2{grid-template-columns:50px 1fr 100px 140px 180px 110px}@media (max-width: 1200px){.review-header,.review-row-v2{grid-template-columns:45px 1fr 90px 120px 160px 100px}}@media (max-width: 992px){.review-header{display:none}.review-row-v2{display:flex;flex-direction:column;gap:.75rem;padding:1rem;position:relative}.review-row-v2 .row-select{position:absolute;top:1rem;left:1rem}.review-row-v2>:not(.row-select):not(.row-expanded){padding-left:2.5rem}.review-row-v2 .row-desc{width:100%}.review-row-v2 .row-amount,.review-row-v2 .row-account{text-align:left;width:100%}.review-row-v2 .row-category-v2{width:100%}.review-row-v2 .row-actions{width:100%;justify-content:flex-start}.batch-action-bar{left:1rem;right:1rem;transform:none;flex-wrap:wrap;justify-content:center}}@media (max-width: 768px){.review-tabs{justify-content:center}.tab-pill{flex:1;justify-content:center;min-width:100px}.review-toolbar-v2{flex-direction:column;align-items:stretch}.review-toolbar-v2 .toolbar-filters{flex-direction:column}.review-toolbar-v2 .search-box-v2{min-width:100%}.review-toolbar-v2 .filter-select-v2,.review-toolbar-v2 .sort-control{width:100%}.review-toolbar-v2 .sort-control select{flex:1}}.training-page{max-width:var(--page-max-width);margin:0 auto}.training-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.stat-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px}.stat-icon.accuracy{background:#22c55e1a;color:var(--positive)}.stat-icon.merchants{background:#3b82f61a;color:var(--accent)}.stat-icon.confirmed{background:#a855f71a;color:#a855f7}.stat-icon.training{background:#f59e0b1a;color:var(--warning)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.75rem;color:var(--text-muted)}.training-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.training-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.training-tab:hover{border-color:var(--accent);color:var(--accent)}.training-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.tab-badge{padding:.125rem .5rem;background:#fff3;border-radius:10px;font-size:.6875rem;font-weight:600}.training-tab:not(.active) .tab-badge{background:var(--bg-hover);color:var(--text-muted)}.training-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.training-section h2{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.25rem}.section-desc{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.875rem}.quiz-section .quiz-header{margin-bottom:1.5rem}.quiz-progress{display:inline-block;margin-left:1rem;padding:.25rem .75rem;background:var(--accent-bg);border-radius:20px;font-size:.75rem;color:var(--accent)}.quiz-card{border:1px solid var(--border);border-radius:12px;overflow:hidden}.quiz-transaction-wrapper{display:grid;grid-template-columns:1fr 300px;gap:1px;background:var(--border)}.quiz-transaction{background:var(--bg-card);padding:1.5rem}.txn-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.txn-merchant{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.txn-amount{font-size:1.25rem;font-weight:700}.txn-amount.expense{color:var(--text-primary)}.txn-description{padding:.75rem;background:var(--bg-primary);border-radius:8px;font-family:monospace;font-size:.8125rem;color:var(--text-secondary);margin-bottom:.75rem}.txn-meta{display:flex;gap:1rem;font-size:.8125rem;color:var(--text-muted);margin-bottom:1rem}.txn-category-row{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border)}.current-cat-badge{font-size:.875rem;color:var(--text-secondary)}.current-cat-badge strong{color:var(--accent)}.quick-actions{display:flex;gap:.5rem}.quick-actions .action-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:8px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.quick-actions .action-btn.approve{background:var(--positive);border:none;color:#fff}.quick-actions .action-btn.approve:hover{background:#16a34a}.quick-actions .action-btn.deny{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}.quick-actions .action-btn.deny:hover{background:#dc2626;color:#fff}.quick-actions .action-btn.flag{background:#fef3c7;border:1px solid #fde68a;color:#d97706}.quick-actions .action-btn.flag:hover{background:#d97706;color:#fff}.quick-actions .action-btn.skip{background:var(--bg-hover);border:1px solid var(--border);color:var(--text-muted)}.txn-analysis{background:var(--bg-primary);padding:1.25rem}.txn-analysis h4{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.analysis-grid{display:flex;flex-direction:column;gap:.75rem}.analysis-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.analysis-value{font-weight:700;color:var(--accent)}.analysis-label{color:var(--text-muted)}.analysis-icon{font-size:1rem}.analysis-text{color:var(--text-secondary)}.analysis-item.anomaly{padding:.5rem .75rem;background:#ef44441a;border-radius:6px;color:#dc2626}.analysis-item.recurring{color:var(--accent)}.analysis-item.new{color:var(--positive)}.mini-categories{display:flex;gap:.375rem;flex-wrap:wrap}.mini-cat{padding:.125rem .5rem;background:var(--bg-hover);border-radius:4px;font-size:.6875rem}.quiz-question,.quiz-why,.quiz-keywords{padding:1.5rem;background:var(--bg-card)}.quiz-question h3,.quiz-why h3,.quiz-keywords h3{margin:0 0 .75rem;font-size:1rem}.quiz-hint{color:var(--text-muted);font-size:.8125rem;margin-bottom:1rem}.quiz-options{margin-top:1rem}.quiz-buttons{display:flex;gap:.75rem;margin-top:1rem}.quiz-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:10px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s}.quiz-btn.yes{background:var(--accent);color:#fff}.quiz-btn.yes:hover:not(:disabled){background:var(--accent-hover)}.quiz-btn.no{background:#fee2e2;color:#dc2626}.quiz-btn.skip{background:var(--bg-hover);color:var(--text-secondary)}.category-picker{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.category-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.category-option{padding:.5rem 1rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:20px;font-size:.8125rem;cursor:pointer;transition:all .15s}.category-option:hover{border-color:var(--accent);color:var(--accent)}.category-option.selected{background:var(--accent);border-color:var(--accent);color:#fff}.option-count{font-size:.6875rem;color:var(--text-muted);margin-left:.25rem}.reason-input{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:8px;font-size:.875rem;resize:vertical}.reason-input:focus{outline:none;border-color:var(--accent)}.why-examples{margin-top:1rem}.why-examples p{font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem}.reason-chips,.keyword-chips{display:flex;flex-wrap:wrap;gap:.5rem}.reason-chip,.keyword-chip{padding:.375rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:20px;font-size:.75rem;cursor:pointer;transition:all .15s}.reason-chip:hover,.keyword-chip:hover{border-color:var(--accent)}.reason-chip.selected,.keyword-chip.selected{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.quiz-progress-bar{height:4px;background:var(--bg-hover)}.quiz-progress-fill{height:100%;background:var(--accent);transition:width .3s}.learned-section{margin-top:1.5rem;padding:1rem;background:var(--bg-primary);border-radius:10px}.learned-section h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.9375rem;color:var(--text-primary)}.learned-list{display:flex;flex-direction:column;gap:.5rem}.learned-item{padding:.5rem .75rem;background:var(--bg-card);border-radius:6px;font-size:.8125rem}.learned-reason{color:var(--text-muted);font-style:italic;margin-left:.5rem}.learned-keywords{display:block;font-size:.6875rem;color:var(--accent);margin-top:.25rem}.merchant-list{border:1px solid var(--border);border-radius:10px;overflow:hidden}.merchant-list-header{display:grid;grid-template-columns:1fr 150px 100px 70px 80px;gap:.75rem;padding:.75rem 1rem;background:var(--bg-hover);font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.merchant-row{border-bottom:1px solid var(--border)}.merchant-row:last-child{border-bottom:none}.merchant-row-main{display:grid;grid-template-columns:1fr 150px 100px 70px 80px;gap:.75rem;padding:.875rem 1rem;align-items:center;cursor:pointer;transition:background .1s}.merchant-row-main:hover{background:var(--bg-hover)}.merchant-row.confirmed{background:#22c55e08}.col-merchant{display:flex;align-items:center;gap:.5rem;font-weight:500}.confirmed-icon{color:var(--positive)}.confidence-bar{width:60px;height:6px;background:var(--bg-hover);border-radius:3px;overflow:hidden;display:inline-block;margin-right:.5rem}.confidence-fill{height:100%}.confidence-bar.high .confidence-fill{background:var(--positive)}.confidence-bar.medium .confidence-fill{background:var(--warning)}.confidence-bar.low .confidence-fill{background:#ef4444}.col-count{text-align:center;font-size:.875rem;color:var(--text-secondary)}.col-actions{display:flex;justify-content:flex-end}.success-badge{display:flex;align-items:center;gap:.25rem;color:var(--positive);font-size:.75rem}.merchant-row-expanded{padding:1rem 1rem 1rem 2.5rem;background:var(--bg-primary);border-top:1px solid var(--border)}.merchant-row-expanded .expanded-section{margin-bottom:1rem}.merchant-row-expanded .expanded-section:last-child{margin-bottom:0}.merchant-row-expanded h4{font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase}.variation-list{margin:0;padding-left:1.25rem;font-size:.8125rem;color:var(--text-secondary)}.category-distribution{display:flex;flex-direction:column;gap:.375rem}.dist-row{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.dist-category{width:100px;color:var(--text-secondary)}.dist-bar{flex:1;height:8px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.dist-fill{height:100%;background:var(--accent)}.dist-count{width:30px;text-align:right;font-weight:500}.assign-controls{display:flex;gap:.75rem}.assign-controls select{padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem}.help-text{font-size:.75rem;color:var(--text-muted);margin-top:.5rem}.grouping-list{display:flex;flex-direction:column;gap:1rem}.grouping-card{border:1px solid var(--border);border-radius:10px;overflow:hidden}.grouping-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-hover);font-size:.8125rem;color:var(--text-secondary)}.grouping-merchants-list{padding:1rem}.grouping-merchant-item{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border)}.grouping-merchant-item:last-child{border-bottom:none}.merchant-name{font-weight:500}.merchant-category{color:var(--accent)}.merchant-count{color:var(--text-muted);font-size:.75rem}.grouping-footer{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-primary);border-top:1px solid var(--border)}.grouping-footer select{padding:.5rem;border:1px solid var(--border);border-radius:6px}.uncertain-card{padding:1rem;border:1px solid var(--border);border-radius:10px;margin-bottom:1rem}.uncertain-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.uncertain-header svg{color:var(--warning)}.occurrence-count{margin-left:auto;font-size:.75rem;color:var(--text-muted)}.uncertain-categories{margin-bottom:1rem}.uncertain-categories p{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.5rem}.category-chips{display:flex;flex-wrap:wrap;gap:.5rem}.category-chip{padding:.375rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:20px;font-size:.75rem;cursor:pointer}.category-chip:hover{border-color:var(--accent);background:var(--accent-bg)}.uncertain-samples{padding-top:.75rem;border-top:1px solid var(--border)}.uncertain-samples p{font-size:.75rem;color:var(--text-muted);margin-bottom:.375rem}.uncertain-samples ul{margin:0;padding-left:1.25rem;font-size:.75rem;color:var(--text-secondary)}.question-list{display:flex;flex-direction:column;gap:1rem}.question-card{border:1px solid var(--border);border-radius:10px;overflow:hidden}.question-header{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--bg-hover)}.question-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border-radius:10px;color:var(--accent)}.question-title h3{margin:0 0 .25rem;font-size:1rem}.question-title p{margin:0;font-size:.8125rem;color:var(--text-muted)}.priority-badge{margin-left:auto;padding:.25rem .625rem;border-radius:10px;font-size:.6875rem;font-weight:600}.priority-badge.priority-1{background:var(--positive);color:#fff}.priority-badge.priority-2{background:var(--accent);color:#fff}.priority-badge.priority-3{background:var(--warning);color:#fff}.priority-badge.priority-4{background:var(--bg-hover);color:var(--text-muted)}.question-content{padding:1rem}.confirm-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.confirm-row:last-child{border-bottom:none}.confirm-merchant{flex:1}.confirm-merchant strong{display:block}.confirm-category{color:var(--accent);font-weight:500}.confirm-confidence{color:var(--text-muted);font-size:.75rem}.btn-link{background:none;border:none;color:var(--accent);font-size:.8125rem;cursor:pointer;padding:.5rem 0}.btn-link:hover{text-decoration:underline}.grouping-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border)}.grouping-row:last-child{border-bottom:none}.merchant-chip{display:inline-block;padding:.25rem .5rem;background:var(--bg-primary);border-radius:4px;font-size:.8125rem}.grouping-actions{display:flex;gap:.5rem}@media (max-width: 1024px){.training-stats-grid{grid-template-columns:repeat(2,1fr)}.quiz-transaction-wrapper{grid-template-columns:1fr}.merchant-list-header,.merchant-row-main{grid-template-columns:1fr 120px 100px}.col-confidence,.col-actions{display:none}}@media (max-width: 768px){.training-stats-grid{grid-template-columns:1fr 1fr}.training-tabs{flex-direction:column}.quick-actions{flex-wrap:wrap}.quick-actions .action-btn{padding:.5rem .625rem}.quick-actions .action-btn span,.quick-actions .action-btn:not(:first-child) span{display:none}}.predictions-list{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.select-all-row{padding:.75rem 1rem;background:var(--bg-hover);border-bottom:1px solid var(--border)}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary);cursor:pointer}.checkbox-label input{width:16px;height:16px;accent-color:var(--accent)}.prediction-card{border-bottom:1px solid var(--border)}.prediction-card:last-child{border-bottom:none}.prediction-card.selected{background:#3b82f60d}.prediction-row{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem}.checkbox-cell{display:flex;align-items:center}.checkbox-cell input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.prediction-main{display:flex;align-items:center;gap:.75rem;flex:1;cursor:pointer;min-width:0}.expand-icon{color:var(--text-muted)}.txn-description{flex:1;font-size:.8125rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:150px;max-width:300px}.txn-predicted-category{display:flex;align-items:center;gap:.25rem;color:var(--text-muted);font-size:.75rem}.txn-predicted-category .category-name{color:var(--accent);font-weight:500}.txn-amount{font-family:SF Mono,Monaco,monospace;font-size:.8125rem;min-width:80px;text-align:right}.txn-amount.expense{color:var(--negative)}.txn-date{font-size:.75rem;color:var(--text-muted);min-width:60px}.prediction-actions{display:flex;gap:.25rem}.btn-approve{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--positive);border:none;border-radius:6px;color:#fff;cursor:pointer;transition:all .15s}.btn-approve:hover{background:#15803d}.btn-approve:disabled{background:var(--border);cursor:not-allowed}.prediction-details{padding:0 1rem 1rem 3rem;background:var(--bg-hover);border-top:1px solid var(--border)}.detail-section{margin-top:.75rem}.detail-section h4{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.03em}.reason-list{list-style:none;margin:0;padding:0}.reason-list li{font-size:.8125rem;color:var(--text-secondary);padding:.25rem 0}.reason-type{color:var(--text-muted);margin-right:.25rem}.similar-list{display:flex;flex-direction:column;gap:.25rem}.similar-item{display:flex;align-items:center;gap:.75rem;font-size:.75rem;padding:.375rem .5rem;background:var(--bg-card);border-radius:4px}.similar-desc{flex:1;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.similar-category{color:var(--accent);font-weight:500}.similar-amount{color:var(--text-muted);font-family:monospace}.suggestion-chips{display:flex;flex-wrap:wrap;gap:.375rem}.suggestion-chip{padding:.25rem .5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;font-size:.6875rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.suggestion-chip:hover{border-color:var(--accent);color:var(--accent)}.confidence-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:10px;font-size:.6875rem;font-weight:600;min-width:40px;justify-content:center}.confidence-badge.high{background:#16a34a1f;color:var(--positive)}.confidence-badge.medium{background:#d977061f;color:var(--warning)}.confidence-badge.low{background:#dc26261f;color:var(--negative)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--text-muted)}.empty-state svg{margin-bottom:1rem;opacity:.5}.empty-state h3{margin:0 0 .5rem;font-size:1.125rem;color:var(--text-secondary)}.empty-state p{margin:0;font-size:.875rem}.batch-action-bar{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;background:var(--text-primary);border-radius:12px;box-shadow:0 8px 24px #0003;z-index:100}.batch-info{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.875rem;font-weight:500}.batch-progress{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.75rem}.batch-progress .progress-bar{width:100px;height:4px;background:#fff3;border-radius:2px;overflow:hidden}.batch-progress .progress-fill{height:100%;background:var(--positive);transition:width .2s}.batch-error{color:#fca5a5;font-size:.75rem}.batch-actions{display:flex;gap:.5rem}.btn-batch-approve{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--positive);border:none;border-radius:6px;color:#fff;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-batch-approve:hover{background:#15803d}.btn-batch-approve:disabled{opacity:.6;cursor:not-allowed}.btn-batch-clear{padding:.5rem .75rem;background:#ffffff1a;border:none;border-radius:6px;color:#fff;font-size:.8125rem;cursor:pointer;transition:all .15s}.btn-batch-clear:hover{background:#fff3}.anomalies-section{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.25rem}.anomalies-header{margin-bottom:1rem}.anomaly-group{margin-bottom:1.5rem}.anomaly-group h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.anomaly-desc{font-size:.8125rem;color:var(--text-muted);margin:0 0 .75rem}.anomaly-card{padding:.75rem 1rem;background:var(--bg-hover);border-radius:8px;border-left:3px solid var(--warning)}.anomaly-card.amount-outlier{border-left-color:var(--accent)}.anomaly-main{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.anomaly-description{flex:1;font-size:.8125rem;color:var(--text-primary);min-width:150px}.anomaly-change{display:flex;align-items:center;gap:.375rem;font-size:.75rem}.current-cat{color:var(--negative);text-decoration:line-through}.suggested-cat{color:var(--positive);font-weight:500}.anomaly-category{font-size:.75rem;color:var(--accent);font-weight:500}.anomaly-amount{font-family:monospace;font-size:.8125rem}.anomaly-amount.high{color:var(--negative)}.anomaly-amount.low{color:var(--positive)}.anomaly-avg{font-size:.6875rem;color:var(--text-muted)}.anomaly-reason{font-size:.75rem;color:var(--text-secondary);margin-top:.5rem}.anomaly-actions{display:flex;gap:.375rem;margin-top:.5rem}.btn-fix,.btn-ignore{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border:none;border-radius:4px;font-size:.6875rem;cursor:pointer;transition:all .15s}.btn-fix{background:var(--positive);color:#fff}.btn-fix:hover{background:#15803d}.btn-ignore{background:var(--border);color:var(--text-secondary)}.btn-ignore:hover{background:#d1d5db}.stats-section{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.25rem}.stats-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-item{display:flex;justify-content:space-between;padding:.75rem;background:var(--bg-hover);border-radius:6px}.stat-key{font-size:.8125rem;color:var(--text-secondary)}.stat-val{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.empty-stats{color:var(--text-muted);font-size:.875rem}.load-more-hint{padding:1rem;text-align:center;color:var(--text-muted);font-size:.8125rem;background:var(--bg-hover);border-top:1px solid var(--border)}.txn-info-grid{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.txn-meta{display:flex;gap:.75rem;font-size:.75rem;color:var(--text-muted)}.txn-account{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.125rem .375rem;background:var(--bg-primary);border-radius:4px}.txn-prediction-info{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.txn-current-category{font-size:.75rem;color:var(--text-muted);text-decoration:line-through;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prediction-arrow{color:var(--text-muted);flex-shrink:0}.user-rule-badge{font-size:.65rem;font-weight:600;padding:.125rem .375rem;background:var(--accent);color:#fff;border-radius:4px;text-transform:uppercase}.txn-note-bar{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem .375rem 2.5rem;background:#3b82f60d;border-top:1px solid var(--border);font-size:.75rem;color:var(--text-muted);font-style:italic}.txn-note-bar svg{color:var(--accent);flex-shrink:0}.txn-full-details{background:var(--bg-primary);border-radius:8px;padding:1rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem 1.5rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item.full-width{grid-column:1 / -1}.detail-label{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.detail-value{font-size:.875rem;color:var(--text-primary);word-break:break-word}.detail-value.income{color:var(--positive)}.detail-value.expense{color:var(--negative)}.prediction-score{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border);font-size:.75rem;color:var(--text-muted)}.quick-category-select{width:100%;max-width:300px;padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem;cursor:pointer}.quick-category-select:focus{outline:none;border-color:var(--accent)}.prediction-main{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;cursor:pointer;padding:.25rem 0}.prediction-card .txn-amount{font-weight:600;min-width:80px;text-align:right;flex-shrink:0}.prediction-card .txn-description{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.categorize-page .spinner{animation:spin 1s linear infinite}@media (max-width: 1024px){.model-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.model-stats-grid{grid-template-columns:1fr}.categorize-toolbar{flex-direction:column;gap:.75rem}.categorize-toolbar .toolbar-left{flex-wrap:wrap;width:100%}.categorize-toolbar .search-box{width:100%}.prediction-main{flex-wrap:wrap}.txn-description{max-width:100%;flex-basis:100%}}.categorize-tabs .tab-btn svg{vertical-align:-2px;margin-right:4px}.settings-section{display:flex;flex-direction:column;gap:1.5rem;max-width:900px}.settings-group{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.settings-group-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.settings-group-header h3{margin:0;font-size:1.1rem;font-weight:600}.settings-group-header svg{color:var(--accent)}.settings-desc{color:var(--text-muted);font-size:.875rem;margin:0 0 1.25rem;line-height:1.5}.settings-options{display:flex;flex-direction:column;gap:.75rem}.settings-option{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--bg-primary);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.settings-option:hover{border-color:var(--accent);background:var(--bg-hover)}.settings-option.selected{border-color:var(--accent);background:#3b82f614}.settings-option input[type=radio]{margin-top:2px;accent-color:var(--accent)}.option-content{display:flex;flex-direction:column;gap:.25rem}.option-title{font-weight:600;color:var(--text-primary)}.option-desc{font-size:.8125rem;color:var(--text-muted)}.specific-categories-selector{margin-top:1rem;padding:1rem;background:var(--bg-primary);border-radius:8px}.specific-categories-selector label{display:block;font-size:.875rem;color:var(--text-secondary);margin-bottom:.75rem}.category-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem;max-height:200px;overflow-y:auto}.category-checkbox{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;font-size:.8125rem;cursor:pointer;transition:all .2s}.category-checkbox:hover{border-color:var(--accent)}.category-checkbox input{accent-color:var(--accent)}.slider-setting{margin-top:1.25rem}.slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.slider-header label{font-weight:500;color:var(--text-primary)}.slider-value{font-weight:600;color:var(--accent);font-size:.9rem}.slider-setting input[type=range]{width:100%;height:6px;background:var(--bg-primary);border-radius:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.slider-setting input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--accent);border-radius:50%;cursor:pointer;transition:transform .15s}.slider-setting input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}.slider-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted);margin-top:.375rem}.slider-hint{font-size:.75rem;color:var(--text-muted);margin-top:.5rem;font-style:italic}.rules-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.no-rules{padding:1rem;text-align:center;color:var(--text-muted);font-size:.875rem;background:var(--bg-primary);border-radius:8px}.rule-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-primary);border-radius:8px;transition:opacity .2s}.rule-item.disabled{opacity:.5}.rule-toggle input{accent-color:var(--accent)}.rule-content{flex:1;display:flex;align-items:center;gap:.5rem;font-size:.875rem}.rule-pattern{font-family:monospace;background:var(--bg-card);padding:.25rem .5rem;border-radius:4px;color:var(--accent)}.rule-category,.mapping-from,.mapping-to{font-weight:500;color:var(--text-primary)}.mapping-from{color:var(--text-muted);text-decoration:line-through}.rule-actions{display:flex;gap:.375rem}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s}.btn-icon:hover{color:var(--negative);border-color:var(--negative)}.btn-icon.btn-apply:hover{color:var(--accent);border-color:var(--accent)}.add-rule-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.add-rule-form input,.add-rule-form select{flex:1;min-width:150px;padding:.625rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem}.add-rule-form input:focus,.add-rule-form select:focus{outline:none;border-color:var(--accent)}.btn-add-rule{display:flex;align-items:center;gap:.375rem;padding:.625rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:background .2s;white-space:nowrap}.btn-add-rule:hover:not(:disabled){background:var(--accent-hover)}.btn-add-rule:disabled{opacity:.5;cursor:not-allowed}.weights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:1rem}.weight-slider{padding:1rem;background:var(--bg-primary);border-radius:8px}.weight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.weight-header label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.weight-value{font-weight:600;color:var(--accent);font-size:.8125rem}.weight-slider input[type=range]{width:100%;height:4px;background:var(--bg-card);border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.weight-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--accent);border-radius:50%;cursor:pointer}.btn-reset-weights{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s}.btn-reset-weights:hover{border-color:var(--text-secondary);color:var(--text-primary)}.toggle-settings{display:flex;flex-direction:column;gap:.75rem}.toggle-setting{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--bg-primary);border-radius:8px;cursor:pointer}.toggle-setting input[type=checkbox]{margin-top:2px;width:18px;height:18px;accent-color:var(--accent)}.toggle-content{display:flex;flex-direction:column;gap:.25rem}.toggle-title{font-weight:600;color:var(--text-primary)}.toggle-desc{font-size:.8125rem;color:var(--text-muted)}.data-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-danger{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--negative);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#dc2626}.btn-danger-outline{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:transparent;color:var(--negative);border:1px solid var(--negative);border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-danger-outline:hover{background:#ef44441a}@media (max-width: 768px){.settings-group{padding:1rem}.weights-grid{grid-template-columns:1fr}.add-rule-form{flex-direction:column}.add-rule-form input,.add-rule-form select{width:100%}.data-actions{flex-direction:column}.data-actions button{width:100%;justify-content:center}}.badge-beta{padding:.2rem .5rem;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;font-size:.65rem;font-weight:700;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.api-key-input{margin-top:1rem}.api-key-input label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.api-key-input .input-with-button{display:flex;gap:.5rem}.api-key-input input{flex:1;padding:.625rem .875rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.875rem;font-family:monospace}.api-key-input input::placeholder{color:var(--text-muted)}.api-key-input input:focus{outline:none;border-color:var(--accent)}.api-key-input .btn-clear-key{padding:.625rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer}.api-key-input .btn-clear-key:hover{color:var(--negative);border-color:var(--negative)}.api-key-input .input-help{display:block;margin-top:.5rem;font-size:.75rem;color:var(--text-muted)}.api-key-input .input-help a{color:var(--accent);text-decoration:none}.api-key-input .input-help a:hover{text-decoration:underline}.ai-status{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;background:var(--positive-bg);border-radius:8px;font-size:.85rem;color:var(--positive)}.ai-status .status-icon.connected{color:var(--positive)}.ai-info-box{display:flex;gap:.75rem;margin-top:1rem;padding:1rem;background:var(--bg-hover);border-radius:8px;font-size:.8rem;color:var(--text-secondary)}.ai-info-box svg{flex-shrink:0;color:var(--accent);margin-top:2px}.ai-info-box strong{color:var(--text-primary)}.ai-info-box ul{margin:.5rem 0 0;padding-left:1.25rem}.ai-info-box li{margin-bottom:.25rem}.learned-merchants-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.learned-merchant-item{display:flex;align-items:center;gap:1rem;padding:.625rem .875rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.learned-merchant-item .merchant-name{flex:1;font-weight:500;color:var(--text-primary)}.learned-merchant-item .merchant-category{padding:.25rem .5rem;background:var(--accent-light);color:var(--accent);border-radius:4px;font-size:.75rem;font-weight:600}.learned-merchant-item .merchant-count{font-size:.75rem;color:var(--text-muted)}.learning-actions{display:flex;gap:.5rem;margin-top:1rem}.stat-val.positive{color:var(--positive)}.stat-val.warning{color:var(--warning)}.confidence-analysis-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.confidence-analysis-panel .analysis-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.confidence-analysis-panel .analysis-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600}.confidence-analysis-panel .readiness-badge{padding:.375rem .75rem;border-radius:20px;font-size:.7rem;font-weight:700;color:#fff;letter-spacing:.5px}.confidence-analysis-panel .analysis-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.confidence-analysis-panel .summary-stat{text-align:center;padding:.75rem;background:var(--bg-hover);border-radius:8px}.confidence-analysis-panel .summary-stat.main{background:var(--accent-light)}.confidence-analysis-panel .summary-stat.highlight{background:var(--positive-bg)}.confidence-analysis-panel .summary-stat .stat-number{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.confidence-analysis-panel .summary-stat.main .stat-number{color:var(--accent)}.confidence-analysis-panel .summary-stat.highlight .stat-number{color:var(--positive)}.confidence-analysis-panel .summary-stat .stat-desc{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.confidence-analysis-panel .confidence-bars{display:flex;flex-direction:column;gap:.625rem;margin-bottom:1rem}.confidence-analysis-panel .bar-row{display:grid;grid-template-columns:120px 1fr 50px;gap:.75rem;align-items:center}.confidence-analysis-panel .bar-label{font-size:.8rem;color:var(--text-secondary)}.confidence-analysis-panel .bar-track{height:24px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.confidence-analysis-panel .bar-fill{height:100%;border-radius:4px;transition:width .5s ease;min-width:2px}.confidence-analysis-panel .bar-fill.very-high{background:linear-gradient(90deg,#22c55e,#16a34a)}.confidence-analysis-panel .bar-fill.high{background:linear-gradient(90deg,#4ade80,#22c55e)}.confidence-analysis-panel .bar-fill.medium{background:linear-gradient(90deg,#facc15,#eab308)}.confidence-analysis-panel .bar-fill.low{background:linear-gradient(90deg,#fb923c,#f97316)}.confidence-analysis-panel .bar-fill.very-low{background:linear-gradient(90deg,#f87171,#ef4444)}.confidence-analysis-panel .bar-fill.none{background:var(--text-muted)}.confidence-analysis-panel .bar-count{font-size:.875rem;font-weight:600;color:var(--text-primary);text-align:right}.confidence-analysis-panel .analysis-insight{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.confidence-analysis-panel .insight{display:flex;align-items:flex-start;gap:.625rem;margin:0;font-size:.875rem;line-height:1.5;padding:.875rem 1rem;border-radius:8px}.confidence-analysis-panel .insight svg{flex-shrink:0;margin-top:2px}.confidence-analysis-panel .insight.positive{background:var(--positive-bg);color:var(--positive)}.confidence-analysis-panel .insight.warning{background:var(--warning-bg);color:var(--warning)}.confidence-analysis-panel .insight.negative{background:var(--negative-bg);color:var(--negative)}.confidence-analysis-panel .insight strong{color:inherit}.low-conf-action{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.btn-analyze-low-conf{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-analyze-low-conf:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--accent-rgb),.3)}.btn-analyze-low-conf svg.rotated{transform:rotate(180deg)}.low-conf-action .improvement-hint{font-size:.8rem;color:var(--text-muted)}.low-conf-analysis-panel{margin-top:1rem;padding:1.25rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border)}.low-conf-header{margin-bottom:1rem}.low-conf-header h4{display:flex;align-items:center;gap:.5rem;margin:0 0 .25rem;font-size:1rem;color:var(--warning)}.low-conf-header p{margin:0;font-size:.8rem;color:var(--text-muted)}.low-conf-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.low-conf-summary .summary-item{text-align:center;padding:.75rem;background:var(--bg-hover);border-radius:8px}.low-conf-summary .item-value{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.low-conf-summary .item-label{display:block;font-size:.7rem;color:var(--text-muted);margin-top:.25rem}.low-conf-groups{display:flex;flex-direction:column;gap:.75rem;max-height:500px;overflow-y:auto}.low-conf-group{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:.875rem;transition:all .2s}.low-conf-group:hover{border-color:var(--accent)}.low-conf-group.unknown{border-left:3px solid var(--negative)}.low-conf-group.mixed{border-left:3px solid var(--warning)}.low-conf-group.uncertain{border-left:3px solid var(--text-muted)}.low-conf-group .group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.low-conf-group .group-pattern{display:flex;align-items:center;gap:.5rem}.low-conf-group .pattern-text{font-weight:600;color:var(--text-primary);font-size:.9rem}.low-conf-group .issue-badge{font-size:.65rem;font-weight:600;padding:.2rem .5rem;border-radius:10px;text-transform:uppercase}.low-conf-group .issue-badge.unknown{background:var(--negative-bg);color:var(--negative)}.low-conf-group .issue-badge.mixed{background:var(--warning-bg);color:var(--warning)}.low-conf-group .issue-badge.uncertain{background:var(--bg-hover);color:var(--text-muted)}.low-conf-group .group-stats{display:flex;gap:.75rem;font-size:.75rem;color:var(--text-muted)}.low-conf-group .group-stats .stat{white-space:nowrap}.low-conf-group .group-stats .conf{font-weight:600;color:var(--warning)}.low-conf-group .group-details{padding:.5rem 0;border-bottom:1px solid var(--border);margin-bottom:.5rem}.low-conf-group .group-suggestion{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-muted);margin-bottom:.375rem}.low-conf-group .group-predicted{font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem}.low-conf-group .group-predicted strong{color:var(--accent)}.low-conf-group .group-predicted .agreement{font-size:.7rem;color:var(--text-muted);margin-left:.5rem}.low-conf-group .group-samples{display:flex;flex-direction:column;gap:.25rem}.low-conf-group .sample-txn{display:flex;justify-content:space-between;font-size:.7rem;padding:.25rem .5rem;background:var(--bg-hover);border-radius:4px}.low-conf-group .sample-desc{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.low-conf-group .sample-amount{color:var(--text-muted);font-weight:500}.low-conf-group .group-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.low-conf-group .btn-create-rule{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--positive);color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.low-conf-group .btn-create-rule:hover{background:var(--positive-hover)}.low-conf-group .btn-view-all{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .2s}.low-conf-group .btn-view-all:hover{background:var(--bg-secondary);border-color:var(--accent);color:var(--accent)}.low-conf-group .select-category-inline{display:flex;align-items:center;gap:.5rem}.low-conf-group .select-category-inline select{padding:.375rem .5rem;font-size:.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer}.low-conf-group .select-category-inline .select-hint{font-size:.7rem;color:var(--text-muted)}.low-conf-tips{margin-top:1rem;padding:1rem;background:var(--bg-hover);border-radius:8px}.low-conf-tips h5{margin:0 0 .5rem;font-size:.85rem;color:var(--text-primary)}.low-conf-tips ul{margin:0;padding-left:1.25rem;font-size:.8rem;color:var(--text-secondary)}.low-conf-tips li{margin-bottom:.375rem}.low-conf-tips li:last-child{margin-bottom:0}.low-conf-tips strong{color:var(--accent)}@media (max-width: 768px){.confidence-analysis-panel .analysis-summary{grid-template-columns:repeat(2,1fr)}.confidence-analysis-panel .bar-row{grid-template-columns:90px 1fr 40px;gap:.5rem}.confidence-analysis-panel .bar-label{font-size:.7rem}.low-conf-summary{grid-template-columns:1fr}.low-conf-group .group-header{flex-direction:column;align-items:flex-start;gap:.5rem}.low-conf-group .group-actions{flex-direction:column;align-items:stretch}.low-conf-action{flex-direction:column;align-items:stretch;gap:.5rem}}.training-progress-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--accent);border-radius:8px;margin-bottom:1rem}.training-progress-bar .progress-track{flex:1;height:8px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.training-progress-bar .progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--positive));border-radius:4px;transition:width .3s ease}.training-progress-bar .progress-text{font-size:.8rem;color:var(--text-secondary);min-width:180px}.comparison-section{display:flex;flex-direction:column;gap:1rem}.comparison-stats-bar{display:flex;gap:1.5rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px}.comparison-stat{display:flex;flex-direction:column;gap:.25rem}.comparison-stat .stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.comparison-stat .stat-value{font-size:1.5rem;font-weight:600}.comparison-stat.accuracy .stat-value.high{color:var(--positive)}.comparison-stat.accuracy .stat-value.medium{color:var(--warning)}.comparison-stat.accuracy .stat-value.low{color:var(--negative)}.comparison-stat.mismatches .stat-value{color:var(--warning)}.comparison-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.filter-tabs{display:flex;gap:.25rem;padding:.25rem;background:var(--bg-hover);border-radius:8px}.filter-tab{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .15s}.filter-tab:hover{color:var(--text-primary);background:var(--bg-card)}.filter-tab.active{background:var(--bg-card);color:var(--text-primary);font-weight:500;box-shadow:var(--shadow)}.comparison-list{display:flex;flex-direction:column;gap:.375rem}.comparison-header{display:grid;grid-template-columns:2fr 1fr 1fr 80px 120px;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:8px;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.comparison-row{display:grid;grid-template-columns:2fr 1fr 1fr 80px 120px;gap:.75rem;padding:.875rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;align-items:center;transition:all .15s}.comparison-row:hover{box-shadow:var(--shadow)}.comparison-row.mismatch{border-left:3px solid var(--warning)}.comparison-row.match{border-left:3px solid var(--positive)}.comparison-row .col-desc{display:flex;flex-direction:column;gap:.25rem;min-width:0}.comparison-row .desc-text{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comparison-row .desc-meta{font-size:.75rem;color:var(--text-muted)}.comparison-row .category-badge{display:inline-block;padding:.25rem .625rem;border-radius:4px;font-size:.8rem;font-weight:500}.comparison-row .category-badge.current{background:var(--bg-hover);color:var(--text-primary)}.comparison-row .category-badge.predicted{background:var(--warning-bg);color:var(--warning)}.comparison-row .category-badge.predicted.match{background:var(--positive-bg);color:var(--positive)}.comparison-row .col-predicted{display:flex;align-items:center;gap:.5rem}.comparison-row .arrow-icon{color:var(--text-muted)}.comparison-row .col-actions{display:flex;gap:.375rem}.comparison-row .action-btn{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;border-radius:4px;border:none;font-size:.75rem;cursor:pointer;transition:all .15s}.comparison-row .action-btn.fix{background:var(--accent-light);color:var(--accent)}.comparison-row .action-btn.fix:hover{background:var(--accent);color:#fff}.comparison-row .action-btn.edit{background:var(--bg-hover);color:var(--text-secondary)}.comparison-row .action-btn.edit:hover{background:var(--bg-secondary);color:var(--text-primary)}@media (max-width: 768px){.comparison-stats-bar{flex-wrap:wrap;gap:1rem}.comparison-stat{flex:1;min-width:80px;text-align:center}.comparison-header,.comparison-row{grid-template-columns:1fr;gap:.5rem}.comparison-header{display:none}.comparison-row .col-desc{order:1}.comparison-row .col-current,.comparison-row .col-predicted{order:2}.comparison-row .col-confidence{order:3}.comparison-row .col-actions{order:4;justify-content:flex-end}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .15s ease-out}.modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0006;animation:slideUp .2s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1.1rem;font-weight:600}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:all .15s}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.txn-info-readonly{padding:1rem 1.25rem;background:var(--bg-primary);border-bottom:1px solid var(--border)}.info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.375rem 0}.info-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.info-value{font-size:.875rem;color:var(--text-primary);text-align:right;word-break:break-word;max-width:70%}.info-value.description{font-size:.8rem}.info-value.amount{font-weight:600}.info-value.amount.income{color:var(--positive)}.info-value.amount.expense{color:var(--negative)}.modal-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.form-select,.form-textarea{padding:.625rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.9rem;font-family:inherit;transition:border-color .15s}.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent)}.form-textarea{resize:vertical;min-height:80px}.review-toggle{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-primary);border:2px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.review-toggle:hover{border-color:var(--warning);color:var(--warning)}.review-toggle.flagged{background:#f59e0b1a;border-color:var(--warning);color:var(--warning)}.review-toggle.flagged:hover{background:#f59e0b33}.form-hint{font-size:.75rem;color:var(--text-muted);margin:0}.form-error{padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;color:var(--negative);font-size:.8125rem}.modal-footer{display:flex;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--border);justify-content:flex-end}.btn-cancel,.btn-save{display:flex;align-items:center;gap:.375rem;padding:.625rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-cancel{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn-cancel:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-primary)}.btn-save{background:var(--accent);border:none;color:#fff}.btn-save:hover:not(:disabled){background:var(--accent-hover)}.btn-save:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.modal-shortcuts{display:flex;justify-content:center;gap:1.5rem;padding:.5rem;font-size:.7rem;color:var(--text-muted);border-top:1px solid var(--border)}.prediction-quick-actions{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem .5rem 2.5rem;border-top:1px solid var(--border);background:var(--bg-hover)}.quick-category-inline{flex:1;max-width:200px;padding:.375rem .5rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.8rem}.quick-category-inline:focus{outline:none;border-color:var(--accent)}.btn-flag{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .15s}.btn-flag:hover{border-color:var(--warning);color:var(--warning)}.btn-flag.flagged{background:#f59e0b26;border-color:var(--warning);color:var(--warning)}.btn-edit{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .15s}.btn-edit:hover{border-color:var(--accent);color:var(--accent)}.keyboard-shortcuts-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.keyboard-shortcuts-modal{background:var(--bg-card);border-radius:16px;padding:1.5rem 2rem;max-width:400px;width:90%;box-shadow:0 20px 40px #0003}.keyboard-shortcuts-modal h2{margin-bottom:1.25rem;font-size:1.25rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.shortcuts-list{display:flex;flex-direction:column;gap:.625rem}.shortcut-item{display:flex;align-items:center;gap:1rem}.shortcut-item kbd{display:inline-flex;align-items:center;justify-content:center;min-width:80px;padding:.375rem .625rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--text-secondary);box-shadow:0 1px 2px #0000000d}.shortcut-item span{color:var(--text-secondary);font-size:.875rem}.shortcuts-hint{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.8125rem;color:var(--text-muted);text-align:center}.shortcuts-hint kbd{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .5rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;font-family:inherit;font-size:.75rem;margin:0 .25rem}.keyboard-focused{outline:2px solid var(--accent)!important;outline-offset:2px}.list-item-keyboard-active{background:#3b82f626!important;border-color:var(--accent)!important}.keyboard-help-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s}.keyboard-help-btn:hover{background:var(--bg-hover);color:var(--accent);border-color:var(--accent)}.transaction-row.keyboard-focused{background:#3b82f61a!important;outline:2px solid var(--accent);outline-offset:-2px}.subscriptions-page{max-width:1200px;margin:0 auto}.subscriptions-page .page-header h1{display:flex;align-items:center;gap:.75rem}.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-title-row .export-btn{flex-shrink:0}.subscription-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.subscription-summary .summary-card{display:flex;align-items:center;gap:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.subscription-summary .summary-card.hero{grid-column:span 1;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(239,68,68,.1) 100%);border-color:#ef44444d}@media (min-width: 768px){.subscription-summary .summary-card.hero{grid-column:span 1}}.subscription-summary .card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--bg-primary);border-radius:10px;color:var(--accent)}.subscription-summary .summary-card.hero .card-icon{background:#ef444426;color:var(--negative)}.subscription-summary .card-content{display:flex;flex-direction:column}.subscription-summary .card-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.subscription-summary .card-label{font-size:.8125rem;color:var(--text-muted)}.upcoming-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.upcoming-section h2{display:flex;align-items:center;gap:.5rem;font-size:1rem;margin-bottom:1rem;color:var(--warning)}.upcoming-list{display:flex;flex-direction:column;gap:.5rem}.upcoming-item{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:1rem;padding:.75rem;background:var(--bg-primary);border-radius:8px}.upcoming-when{display:flex;flex-direction:column}.upcoming-days{font-weight:600;font-size:.875rem;color:var(--warning)}.upcoming-date{font-size:.75rem;color:var(--text-muted)}.upcoming-merchant{font-weight:500}.upcoming-amount{font-weight:600;color:var(--negative)}.subscription-filters{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.subscription-filters .filter-group{display:flex;align-items:center;gap:.5rem;color:var(--text-muted)}.subscription-filters select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);font-size:.875rem}.subscriptions-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.subscription-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all .2s}.subscription-card:hover,.subscription-card.expanded{border-color:var(--accent)}.subscription-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;cursor:pointer}.sub-main{display:flex;align-items:center;gap:.875rem;flex:1;min-width:0}.sub-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-primary);border-radius:10px;color:var(--accent);flex-shrink:0}.sub-info{display:flex;flex-direction:column;min-width:0}.sub-merchant{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sub-meta{display:flex;gap:.75rem;font-size:.8125rem;color:var(--text-muted)}.sub-frequency{color:var(--accent)}.sub-cost{display:flex;flex-direction:column;align-items:flex-end;min-width:100px}.sub-amount{font-weight:600;color:var(--negative)}.sub-monthly{font-size:.75rem;color:var(--text-muted)}.sub-expand{color:var(--text-muted);transition:transform .2s}.subscription-card.expanded .sub-expand{transform:rotate(90deg)}.subscription-details{padding:0 1.25rem 1.25rem;border-top:1px solid var(--border)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1rem 0}.subscription-details .detail-item{display:flex;flex-direction:column;gap:.25rem}.subscription-details .detail-item svg{color:var(--text-muted);margin-bottom:.25rem}.subscription-details .detail-label{font-size:.75rem;color:var(--text-muted)}.subscription-details .detail-value{font-weight:500}.recent-charges{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.recent-charges h4{font-size:.875rem;font-weight:500;margin-bottom:.75rem;color:var(--text-secondary)}.charge-item{display:flex;justify-content:space-between;padding:.5rem .75rem;background:var(--bg-primary);border-radius:6px;font-size:.875rem}.charge-date{color:var(--text-secondary)}.charge-amount{font-weight:500;color:var(--negative)}.category-breakdown{margin-top:2rem}.category-breakdown h2{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;margin-bottom:1rem}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.category-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem}.category-name{font-weight:600;margin-bottom:.5rem}.category-stats{display:flex;justify-content:space-between;font-size:.875rem}.category-count{color:var(--text-muted)}.category-cost{font-weight:500;color:var(--negative)}.subscriptions-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.subscriptions-page .empty-state svg{color:var(--accent);margin-bottom:1rem;opacity:.5}.subscriptions-page .empty-state h3{font-size:1.125rem;margin-bottom:.5rem}.subscriptions-page .empty-state p{color:var(--text-muted);max-width:400px}@media (max-width: 640px){.subscription-header{flex-wrap:wrap}.sub-cost{width:100%;flex-direction:row;justify-content:space-between;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.upcoming-item{grid-template-columns:1fr;gap:.25rem}.upcoming-when{flex-direction:row;gap:.5rem}}.heatmap-help{font-size:.8125rem;color:var(--text-muted);margin-bottom:1.5rem}.day-summary{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-primary);border-radius:10px}.day-summary-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.day-summary-item .day-name{font-weight:600;font-size:.8125rem;color:var(--text-primary)}.day-summary-item .day-avg{font-size:.875rem;font-weight:500;color:var(--negative)}.day-summary-item .day-label{font-size:.6875rem;color:var(--text-muted)}.heatmap-container{overflow-x:auto;padding-bottom:.5rem}.heatmap-grid{display:flex;flex-direction:column;gap:2px;min-width:fit-content}.heatmap-row{display:flex;gap:2px;align-items:center}.heatmap-row.header{margin-bottom:.25rem}.heatmap-label{width:32px;font-size:.625rem;color:var(--text-muted);text-align:center;flex-shrink:0}.heatmap-cell{width:36px;height:28px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.625rem;color:#fff;transition:transform .15s,box-shadow .15s;cursor:pointer}.heatmap-cell:hover{transform:scale(1.1);box-shadow:0 2px 8px #0003;z-index:1}.heatmap-cell.header{background:transparent;color:var(--text-secondary);font-weight:500;font-size:.75rem;cursor:default}.heatmap-cell.header:hover{transform:none;box-shadow:none}.heatmap-value{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3)}.heatmap-legend{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.5rem;font-size:.75rem;color:var(--text-muted)}.legend-scale{display:flex;gap:2px}.legend-cell{width:20px;height:14px;border-radius:3px}.heatmap-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.insight-item{display:flex;flex-direction:column;gap:.25rem}.insight-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.insight-value{font-weight:600;color:var(--text-primary)}.insight-amount{font-weight:400;color:var(--text-muted);margin-left:.5rem}@media (max-width: 640px){.day-summary{grid-template-columns:repeat(7,1fr);gap:.25rem;padding:.75rem}.day-summary-item .day-avg{font-size:.75rem}.heatmap-cell{width:28px;height:24px}.heatmap-label{width:24px;font-size:.5rem}}[data-theme=dark]{color-scheme:dark}[data-theme=dark] select,[data-theme=dark] input,[data-theme=dark] textarea{background-color:var(--bg-input);color:var(--text-primary);border-color:var(--border)}[data-theme=dark] select option{background-color:var(--bg-secondary);color:var(--text-primary)}[data-theme=dark] .modal-overlay{background:#000000b3}[data-theme=dark] ::placeholder{color:var(--text-muted)}[data-theme=dark] ::-webkit-scrollbar{width:8px;height:8px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--scrollbar-bg)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-theme=dark] .recharts-text{fill:var(--text-secondary)!important}[data-theme=dark] .recharts-cartesian-grid line{stroke:var(--chart-grid)!important}[data-theme=dark] .recharts-legend-item-text{color:var(--text-primary)!important}[data-theme=dark] .summary-card,[data-theme=dark] .stat-card,[data-theme=dark] .account-card{box-shadow:0 2px 4px #0003}[data-theme=dark] .recharts-tooltip-wrapper .recharts-default-tooltip{background-color:var(--bg-card)!important;border-color:var(--border)!important}[data-theme=dark] .recharts-tooltip-wrapper .recharts-tooltip-label{color:var(--text-primary)!important}*{transition-property:background-color,border-color,color;transition-duration:.15s;transition-timing-function:ease-out}*:focus,*:active{transition-duration:0s}.ai-providers-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.ai-provider-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1rem;transition:all .15s}.ai-provider-card.connected{border-color:#22c55e;background:#22c55e0d}.provider-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.provider-info{display:flex;flex-direction:column;gap:.25rem}.provider-name{font-weight:600;font-size:1rem;color:var(--text-primary)}.provider-models{font-size:.75rem;color:var(--text-muted)}.status-badge{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;padding:.25rem .5rem;border-radius:4px;font-weight:500}.status-badge.connected{background:#22c55e26;color:#22c55e}.status-badge.disconnected{background:var(--bg-tertiary);color:var(--text-muted)}.provider-setup{display:flex;flex-direction:column;gap:.5rem}.api-key-input-row{display:flex;gap:.5rem;align-items:center}.input-with-toggle{flex:1;display:flex;position:relative}.api-key-input{flex:1;padding:.5rem 2.5rem .5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-size:.875rem;font-family:monospace}.toggle-visibility{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex}.toggle-visibility:hover{color:var(--text-primary)}.provider-help{display:flex;align-items:center;justify-content:space-between;font-size:.75rem}.get-key-link{display:inline-flex;align-items:center;gap:.375rem;color:var(--accent);text-decoration:none;font-weight:500}.get-key-link:hover{text-decoration:underline}.help-text{color:var(--text-muted)}.ai-fallback-settings{background:var(--bg-secondary);border-radius:8px;padding:1rem}.ai-fallback-settings h4{margin:0 0 .5rem;font-size:.875rem;font-weight:600}.provider-select{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-size:.875rem;margin-bottom:.5rem}.setting-note{font-size:.75rem;color:var(--text-muted);margin:0 0 1rem}.checkbox-setting{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer}.checkbox-setting input{width:16px;height:16px;accent-color:var(--accent)}.btn-sm{padding:.375rem .75rem;font-size:.8rem}.ai-chat-page{display:flex;flex-direction:column;height:calc(100vh - 60px);max-height:calc(100vh - 60px);overflow:hidden}.ai-chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg-card)}.ai-chat-header .header-left{display:flex;align-items:center;gap:.75rem}.ai-chat-header h1{font-size:1.25rem;font-weight:600;margin:0}.provider-badge{font-size:.75rem;color:var(--text-muted)}.header-actions{display:flex;gap:.5rem}.btn-ghost{background:transparent;border:none;color:var(--text-muted);padding:.5rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-ghost:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.data-status{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;font-size:.8rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.data-status.loading{color:var(--text-muted)}.data-status.ready{color:var(--accent)}.ai-chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;max-width:600px;margin:auto}.welcome-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--accent),#8b5cf6);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:1rem}.chat-welcome h2{font-size:1.5rem;margin:0 0 .5rem}.chat-welcome p{color:var(--text-muted);margin:0 0 1.5rem}.suggested-prompts h4{font-size:.875rem;color:var(--text-muted);margin:0 0 .75rem}.prompt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.prompt-suggestion{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;font-size:.875rem;color:var(--text-primary);cursor:pointer;text-align:left;transition:all .15s}.prompt-suggestion:hover{background:var(--bg-secondary);border-color:var(--accent)}.prompt-suggestion svg{color:var(--accent);flex-shrink:0}.chat-message{display:flex;gap:.75rem;max-width:85%}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.chat-message.assistant,.chat-message.error{align-self:flex-start}.message-avatar{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-message.user .message-avatar{background:var(--accent);color:#fff}.chat-message.assistant .message-avatar{background:linear-gradient(135deg,#8b5cf6,var(--accent));color:#fff}.chat-message.error .message-avatar{background:#ef4444;color:#fff}.message-content{display:flex;flex-direction:column;gap:.25rem}.message-text{padding:.75rem 1rem;border-radius:12px;font-size:.9rem;line-height:1.5;white-space:pre-wrap}.chat-message.user .message-text{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.chat-message.assistant .message-text{background:var(--bg-card);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-message.error .message-text{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}.message-meta{display:flex;align-items:center;gap:.5rem;font-size:.7rem;color:var(--text-muted);padding:0 .5rem}.chat-message.user .message-meta{justify-content:flex-end}.copy-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.125rem;display:flex}.copy-btn:hover{color:var(--text-primary)}.typing-indicator{display:flex;gap:4px;padding:.75rem 1rem}.typing-indicator span{width:8px;height:8px;background:var(--text-muted);border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.ai-chat-input{padding:1rem 1.5rem;border-top:1px solid var(--border);background:var(--bg-card)}.input-wrapper{display:flex;gap:.5rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:.5rem}.input-wrapper input{flex:1;border:none;background:transparent;padding:.5rem;font-size:.9rem;color:var(--text-primary)}.input-wrapper input:focus{outline:none}.input-wrapper input::placeholder{color:var(--text-muted)}.send-btn{width:40px;height:40px;border-radius:8px;background:var(--accent);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.input-hint{font-size:.7rem;color:var(--text-muted);text-align:center;margin-top:.5rem}.ai-chat-setup{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 2rem;max-width:500px;margin:auto}.setup-icon{width:80px;height:80px;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:20px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);margin-bottom:1.5rem}.ai-chat-setup h2{font-size:1.5rem;margin:0 0 .5rem}.ai-chat-setup>p{color:var(--text-muted);margin:0 0 1.5rem;line-height:1.5}.setup-actions{margin-bottom:2rem}.setup-info{text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;width:100%}.setup-info h4{margin:0 0 .75rem;font-size:.9rem}.setup-info ol{margin:0 0 1rem;padding-left:1.25rem;font-size:.875rem;line-height:1.7;color:var(--text-secondary)}.setup-tip{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--accent);margin:0;padding-top:.75rem;border-top:1px solid var(--border)}.reconciliation-page{padding:1.5rem;max-width:1400px;margin:0 auto}.reconciliation-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.reconciliation-page .page-header h1{display:flex;align-items:center;gap:.75rem;font-size:1.75rem;font-weight:600;margin:0}.reconciliation-page .subtitle{color:var(--text-muted);margin-top:.25rem}.reconciliation-page .header-actions{display:flex;gap:.75rem;align-items:center}.reconciliation-page .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem;color:var(--text-muted)}.reconciliation-page .error-banner{display:flex;align-items:center;gap:.75rem;background:var(--negative-bg);border:1px solid var(--negative);border-radius:8px;padding:1rem;margin-bottom:1.5rem;color:var(--negative)}.reconciliation-page .error-banner button{margin-left:auto;background:none;border:1px solid currentColor;border-radius:4px;padding:.25rem .75rem;color:inherit;cursor:pointer;font-size:.875rem}.reconciliation-page .stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.reconciliation-page .stat-card{display:flex;align-items:center;gap:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.reconciliation-page .stat-card svg{color:var(--accent);flex-shrink:0}.reconciliation-page .stat-card.pending svg{color:var(--warning)}.reconciliation-page .stat-content .stat-value{font-size:1.5rem;font-weight:600}.reconciliation-page .stat-content .stat-label{font-size:.8rem;color:var(--text-muted)}.quality-checks{margin-bottom:2rem}.quality-checks h2{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;margin-bottom:1rem}.checks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.check-card{display:flex;align-items:center;gap:.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1rem}.check-card.pass .check-icon{color:var(--positive)}.check-card.warning .check-icon{color:var(--warning)}.check-card.fail .check-icon{color:var(--negative)}.check-card.info .check-icon{color:var(--accent)}.check-content .check-name{font-size:.875rem;color:var(--text-secondary)}.check-content .check-count{font-size:1.25rem;font-weight:600}.pending-matches{margin-bottom:2rem}.pending-matches .section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.pending-matches h2{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;margin:0}.filter-controls{display:flex;gap:.75rem}.confidence-filter{padding:.5rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-size:.875rem}.batch-actions{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--accent-light);border-radius:8px;margin-bottom:1rem}.selection-count{font-weight:500;margin-right:auto}.select-all-bar{margin-bottom:1rem}.select-all-bar button{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.875rem}.select-all-bar button:hover{text-decoration:underline}.match-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:.75rem;overflow:hidden;transition:box-shadow .2s}.match-card:hover{box-shadow:var(--shadow)}.match-card.expanded{box-shadow:var(--shadow-lg)}.match-card.selected{border-color:var(--accent);background:var(--accent-light)}.match-header{display:flex;align-items:center;gap:.75rem;padding:1rem}.match-checkbox{display:flex;align-items:center}.match-checkbox input{width:18px;height:18px;cursor:pointer}.match-summary{flex:1;display:flex;align-items:center;gap:1rem;background:none;border:none;cursor:pointer;text-align:left;color:inherit}.match-transactions{flex:1;display:flex;align-items:center;gap:1rem;min-width:0}.match-txn{flex:1;display:grid;grid-template-columns:auto 1fr auto auto;gap:.5rem;align-items:center;min-width:0}.match-txn .txn-source{font-size:.7rem;text-transform:uppercase;padding:.125rem .375rem;background:var(--bg-hover);border-radius:4px;font-weight:500}.match-txn.source-1 .txn-source{background:#34a85326;color:#34a853}.match-txn.source-2 .txn-source{background:#0052ff26;color:#0052ff}.match-txn .txn-desc{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-txn .txn-amount{font-family:monospace;font-weight:500;white-space:nowrap}.match-txn .txn-date{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.match-arrow{color:var(--text-muted);flex-shrink:0}.confidence-badge{padding:.375rem .75rem;border-radius:9999px;font-size:.8rem;font-weight:600;white-space:nowrap}.match-card .expand-icon{color:var(--text-muted);transition:transform .2s;flex-shrink:0}.match-card .expand-icon.rotated{transform:rotate(180deg)}.match-quick-actions{display:flex;gap:.5rem}.action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:none;cursor:pointer;transition:all .15s}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.confirm{background:var(--positive-bg);color:var(--positive)}.action-btn.confirm:hover:not(:disabled){background:var(--positive);color:#fff}.action-btn.reject{background:var(--negative-bg);color:var(--negative)}.action-btn.reject:hover:not(:disabled){background:var(--negative);color:#fff}.match-details{padding:0 1rem 1rem;border-top:1px solid var(--border)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1rem}.detail-section h4{font-size:.875rem;font-weight:600;margin:0 0 .75rem;color:var(--text-muted)}.detail-section dl{display:grid;grid-template-columns:auto 1fr;gap:.375rem 1rem;margin:0}.detail-section dt{font-size:.8rem;color:var(--text-muted)}.detail-section dd{font-size:.875rem;margin:0}.score-breakdown{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.score-breakdown h4{font-size:.875rem;font-weight:600;margin:0 0 .75rem}.breakdown-bars{display:flex;flex-direction:column;gap:.5rem}.breakdown-item{display:flex;align-items:center;gap:.75rem}.breakdown-label{width:100px;font-size:.8rem;color:var(--text-muted);text-transform:capitalize}.breakdown-bar{flex:1;height:8px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.breakdown-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.breakdown-value{width:40px;text-align:right;font-size:.8rem;font-weight:500}.detail-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.reconciliation-page .empty-state{text-align:center;padding:4rem 2rem;background:var(--bg-card);border:2px dashed var(--border);border-radius:12px}.reconciliation-page .empty-state svg{color:var(--positive);margin-bottom:1rem}.reconciliation-page .empty-state h3{font-size:1.25rem;margin:0 0 .5rem}.reconciliation-page .empty-state p{color:var(--text-muted);max-width:400px;margin:0 auto}.reconciliation-page .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s;border:none}.reconciliation-page .btn:disabled{opacity:.5;cursor:not-allowed}.reconciliation-page .btn-primary{background:var(--accent);color:#fff}.reconciliation-page .btn-primary:hover:not(:disabled){background:var(--accent-hover)}.reconciliation-page .btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border)}.reconciliation-page .btn-secondary:hover:not(:disabled){background:var(--border)}.reconciliation-page .btn-success{background:var(--positive);color:#fff}.reconciliation-page .btn-success:hover:not(:disabled){filter:brightness(1.1)}.reconciliation-page .btn-danger{background:var(--negative);color:#fff}.reconciliation-page .btn-danger:hover:not(:disabled){filter:brightness(1.1)}@media (max-width: 768px){.reconciliation-page{padding:1rem}.reconciliation-page .page-header{flex-direction:column}.reconciliation-page .header-actions{width:100%;flex-direction:column}.match-transactions{flex-direction:column;align-items:stretch}.match-txn{grid-template-columns:1fr auto}.match-txn .txn-source{grid-column:1 / -1;justify-self:start}.match-arrow{transform:rotate(90deg);align-self:center}.detail-grid{grid-template-columns:1fr}.breakdown-label{width:80px}}.bill-manager-page{padding:1.5rem;max-width:var(--page-max-width);margin:0 auto}.bill-manager-page .page-header{margin-bottom:1.5rem}.bill-manager-page .page-title-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.bill-manager-page .page-title-row h1{display:flex;align-items:center;gap:.75rem;font-size:1.75rem;font-weight:600;margin:0}.bill-manager-page .page-subtitle{color:var(--text-muted);margin-top:.25rem}.bill-manager-page .header-actions{display:flex;gap:.5rem}.bill-manager-page .btn-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.bill-manager-page .btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.bill-manager-page .btn-icon.primary{background:var(--accent);border-color:var(--accent);color:#fff}.bill-manager-page .btn-icon.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.bill-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.bill-summary .summary-card{display:flex;align-items:center;gap:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;transition:all .2s;cursor:pointer}.bill-summary .summary-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.bill-summary .summary-card.hero{background:linear-gradient(135deg,var(--accent),var(--accent-hover));border:none;color:#fff}.bill-summary .summary-card.hero .card-icon{background:#fff3}.bill-summary .summary-card.upcoming-card{border-color:var(--warning)}.bill-summary .card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:var(--accent-light);color:var(--accent);flex-shrink:0}.bill-summary .card-content{display:flex;flex-direction:column}.bill-summary .card-value{font-size:1.5rem;font-weight:600}.bill-summary .card-label{font-size:.8rem;opacity:.8}.upcoming-alert{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--warning-bg);border:1px solid var(--warning);border-radius:8px;margin-bottom:1.5rem;flex-wrap:wrap}.upcoming-alert svg{color:var(--warning);flex-shrink:0}.upcoming-alert span:first-of-type{font-weight:500}.upcoming-names{display:flex;gap:.5rem;flex-wrap:wrap}.upcoming-name{background:var(--bg-card);padding:.25rem .5rem;border-radius:4px;font-size:.875rem}.view-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.view-tab{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:none;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .15s}.view-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.view-tab.active{background:var(--accent-light);color:var(--accent)}.bill-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.filter-search{display:flex;align-items:center;gap:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem;flex:1;min-width:200px;max-width:300px}.filter-search input{flex:1;background:none;border:none;color:var(--text-primary);outline:none}.filter-search svg{color:var(--text-muted)}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group svg{color:var(--text-muted)}.filter-group select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-size:.875rem}.toggle-paused{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.875rem;margin-left:auto}.toggle-paused:hover{background:var(--bg-hover)}.toggle-paused.hiding{border-color:var(--accent);color:var(--accent)}.bills-list{display:flex;flex-direction:column;gap:.75rem}.bill-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all .2s}.bill-card:hover{box-shadow:var(--shadow)}.bill-card.expanded{box-shadow:var(--shadow-lg)}.bill-card.paused{opacity:.6;border-style:dashed}.bill-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;cursor:pointer;transition:background .15s}.bill-header:hover{background:var(--bg-hover)}.bill-main{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.bill-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:#fff;flex-shrink:0}.bill-info{display:flex;flex-direction:column;min-width:0}.bill-merchant{font-weight:600;display:flex;align-items:center;gap:.5rem}.paused-badge,.user-badge{font-size:.65rem;padding:.125rem .375rem;border-radius:4px;font-weight:500;display:inline-flex;align-items:center;gap:.25rem}.paused-badge{background:var(--warning-bg);color:var(--warning)}.user-badge{background:var(--accent-light);color:var(--accent)}.bill-meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--text-muted);margin-top:.125rem}.bill-frequency{font-weight:500}.bill-has-note{color:var(--accent)}.bill-cost{display:flex;flex-direction:column;align-items:flex-end;min-width:100px}.bill-amount{font-size:1.125rem;font-weight:600}.bill-amount.over-budget{color:var(--negative)}.bill-monthly{font-size:.75rem;color:var(--text-muted)}.bill-next{display:flex;flex-direction:column;align-items:flex-end;min-width:80px}.next-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase}.next-date{font-weight:500}.next-date.soon{color:var(--warning)}.bill-expand{color:var(--text-muted);transition:transform .2s}.bill-card.expanded .bill-expand{transform:rotate(90deg)}.bill-details{padding:0 1.25rem 1.25rem;border-top:1px solid var(--border)}.bill-details .detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1rem}.bill-details .detail-item{display:flex;flex-direction:column;gap:.25rem}.bill-details .detail-item svg{color:var(--text-muted);margin-bottom:.25rem}.bill-details .detail-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.bill-details .detail-value{font-weight:500;display:flex;align-items:center;gap:.375rem}.bill-details .detail-value.over-budget{color:var(--negative)}.bill-notes,.bill-budget{margin-top:1rem}.bill-notes label,.bill-budget label{display:flex;align-items:center;gap:.375rem;font-size:.8rem;color:var(--text-muted);margin-bottom:.375rem}.bill-notes input,.bill-budget input{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-primary)}.bill-details .recent-charges{margin-top:1.5rem}.bill-details .recent-charges h4{font-size:.875rem;font-weight:600;margin:0 0 .75rem;color:var(--text-muted)}.charges-list{display:flex;flex-direction:column;gap:.5rem}.charge-item{display:flex;align-items:center;gap:1rem;padding:.625rem;background:var(--bg-hover);border-radius:6px;cursor:pointer;transition:all .15s}.charge-item:hover{background:var(--border);transform:translate(4px)}.charge-date{font-size:.8rem;color:var(--text-muted);min-width:80px}.charge-desc{flex:1;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.charge-amount{font-weight:500;font-family:monospace}.bill-actions{display:flex;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.bill-actions .action-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .15s;border:none}.bill-actions .action-btn.pause{background:var(--warning-bg);color:var(--warning)}.bill-actions .action-btn.pause:hover{background:var(--warning);color:#fff}.bill-actions .action-btn.resume{background:var(--positive-bg);color:var(--positive)}.bill-actions .action-btn.resume:hover{background:var(--positive);color:#fff}.bill-actions .action-btn.remove{background:var(--negative-bg);color:var(--negative)}.bill-actions .action-btn.remove:hover{background:var(--negative);color:#fff}.bills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.bill-grid-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;text-align:center;cursor:pointer;transition:all .2s}.bill-grid-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.bill-grid-card.paused{opacity:.5;border-style:dashed}.bill-grid-card .grid-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;color:#fff;margin:0 auto 1rem}.bill-grid-card h3{font-size:1rem;margin:0 0 .5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bill-grid-card .grid-amount{font-size:1.25rem;font-weight:600}.bill-grid-card .grid-frequency{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.bill-grid-card .grid-next{font-size:.75rem;color:var(--text-muted);margin-top:.5rem}.bill-grid-card .grid-paused{display:flex;align-items:center;justify-content:center;gap:.25rem;margin-top:.5rem;font-size:.75rem;color:var(--warning)}.bills-calendar{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-header button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);cursor:pointer}.calendar-header button:hover{background:var(--bg-hover)}.calendar-header h3{font-size:1.25rem;margin:0}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.5rem}.weekday{text-align:center;font-size:.75rem;font-weight:600;color:var(--text-muted);padding:.5rem}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-day{min-height:80px;border:1px solid var(--border);border-radius:8px;padding:.5rem;background:var(--bg-secondary);transition:all .15s}.calendar-day.empty{background:transparent;border-color:transparent}.calendar-day.has-bills{border-color:var(--accent);background:var(--accent-light)}.calendar-day:hover:not(.empty){box-shadow:var(--shadow)}.day-number{font-size:.8rem;font-weight:500;color:var(--text-muted)}.calendar-bill{display:flex;justify-content:space-between;align-items:center;gap:.25rem;margin-top:.375rem;padding:.25rem .375rem;background:var(--bg-card);border-radius:4px;font-size:.7rem;cursor:pointer;transition:all .15s}.calendar-bill:hover{background:var(--accent);color:#fff}.cal-merchant{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-amount{font-weight:500;white-space:nowrap}.calendar-summary{display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.875rem;color:var(--text-secondary)}.bills-analytics{display:grid;gap:1.5rem}.analytics-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.analytics-section h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;margin:0 0 1rem}.category-bars{display:flex;flex-direction:column;gap:.75rem}.category-bar-item{display:grid;grid-template-columns:150px 1fr 100px;gap:1rem;align-items:center;cursor:pointer;padding:.5rem;border-radius:6px;transition:background .15s}.category-bar-item:hover{background:var(--bg-hover)}.bar-label{display:flex;flex-direction:column}.bar-label span:first-child{font-weight:500}.bar-label span:last-child{font-size:.75rem;color:var(--text-muted)}.bar-container{height:8px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.bar-value{text-align:right;font-weight:500}.frequency-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.frequency-card{border:2px solid var(--border);border-radius:10px;padding:1rem;text-align:center;cursor:pointer;transition:all .2s}.frequency-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.freq-label{font-weight:600;margin-bottom:.5rem}.freq-count{font-size:.875rem;color:var(--text-muted)}.freq-cost{font-size:1.125rem;font-weight:600;margin-top:.25rem}.top-vendors{display:flex;flex-direction:column;gap:.5rem}.vendor-row{display:flex;align-items:center;gap:1rem;padding:.625rem;border-radius:6px;cursor:pointer;transition:all .15s}.vendor-row:hover{background:var(--bg-hover)}.vendor-rank{font-size:.8rem;color:var(--text-muted);width:30px}.vendor-name{flex:1;font-weight:500}.vendor-freq{font-size:.8rem;color:var(--text-muted)}.vendor-cost{font-weight:500;min-width:100px;text-align:right}.trend-chart{display:flex;align-items:flex-end;gap:1rem;height:200px;padding-top:2rem}.trend-bar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;position:relative}.trend-fill{width:100%;max-width:60px;background:var(--accent);border-radius:6px 6px 0 0;margin-top:auto;transition:height .3s ease}.trend-month{position:absolute;bottom:-1.5rem;font-size:.75rem;color:var(--text-muted)}.trend-value{position:absolute;top:-1.5rem;font-size:.7rem;font-weight:500;white-space:nowrap}.bill-manager-page .category-breakdown{margin-top:2rem}.bill-manager-page .category-breakdown h2{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;margin-bottom:1rem}.bill-manager-page .category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.bill-manager-page .category-card{display:flex;flex-direction:column;padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s;text-align:left}.bill-manager-page .category-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.bill-manager-page .category-card.active{border-color:var(--accent);background:var(--accent-light)}.bill-manager-page .category-name{font-weight:500;margin-bottom:.375rem}.bill-manager-page .category-stats{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-muted)}.bill-manager-page .category-cost{font-weight:500;color:var(--text-primary)}.bill-manager-page .empty-state{text-align:center;padding:4rem 2rem;background:var(--bg-card);border:2px dashed var(--border);border-radius:12px}.bill-manager-page .empty-state svg{color:var(--text-muted);margin-bottom:1rem}.bill-manager-page .empty-state h3{font-size:1.25rem;margin:0 0 .5rem}.bill-manager-page .empty-state p{color:var(--text-muted);max-width:400px;margin:0 auto}@media (max-width: 768px){.bill-manager-page{padding:1rem}.bill-summary{grid-template-columns:repeat(2,1fr)}.view-tabs{overflow-x:auto;padding-bottom:.75rem}.view-tab span{display:none}.bill-filters{flex-direction:column;align-items:stretch}.filter-search{max-width:none}.toggle-paused{margin-left:0}.bill-header{flex-wrap:wrap}.bill-cost,.bill-next{min-width:auto}.bill-details .detail-grid{grid-template-columns:repeat(2,1fr)}.calendar-day{min-height:60px;padding:.25rem}.calendar-bill{flex-direction:column;gap:0}.category-bar-item{grid-template-columns:1fr;gap:.25rem}.bar-value{text-align:left}.trend-chart{height:150px}}.detection-header{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem}.detection-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem}.detection-header .bulk-actions{display:flex;gap:.5rem}.bulk-confirm-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--positive);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .15s}.bulk-confirm-btn:hover{background:#15803d}.detection-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all .2s}.detection-card:hover{box-shadow:var(--shadow)}.detection-card.expanded{box-shadow:var(--shadow-lg)}.detection-main{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;cursor:pointer}.detection-main:hover{background:var(--bg-hover)}.detection-info{flex:1;min-width:0}.detection-merchant{font-weight:600;display:flex;align-items:center;gap:.5rem}.detection-meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.detection-amount{font-size:1.125rem;font-weight:600;min-width:80px;text-align:right}.confidence-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:20px;font-size:.75rem;font-weight:600}.confidence-badge.high{background:var(--positive-bg);color:var(--positive)}.confidence-badge.medium{background:var(--warning-bg);color:var(--warning)}.confidence-badge.low{background:var(--negative-bg);color:var(--negative)}.confirm-actions{display:flex;gap:.5rem}.confirm-btn,.reject-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:none;cursor:pointer;transition:all .15s}.confirm-btn{background:var(--positive-bg);color:var(--positive)}.confirm-btn:hover{background:var(--positive);color:#fff}.reject-btn{background:var(--negative-bg);color:var(--negative)}.reject-btn:hover{background:var(--negative);color:#fff}.detection-details{padding:0 1.25rem 1.25rem;border-top:1px solid var(--border)}.detection-reason{background:var(--bg-hover);border-radius:8px;padding:.875rem 1rem;margin-top:1rem}.detection-reason h4{font-size:.75rem;text-transform:uppercase;color:var(--text-muted);margin:0 0 .5rem}.detection-reason ul{margin:0;padding-left:1.25rem;font-size:.875rem;color:var(--text-secondary)}.detection-reason li{margin-bottom:.25rem}.anomalies-alert{background:var(--negative-bg);border:1px solid var(--negative);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1rem}.anomalies-alert h3{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--negative);margin:0 0 .75rem}.anomaly-list{display:flex;flex-direction:column;gap:.5rem}.anomaly-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--bg-card);border-radius:6px;padding:.625rem .875rem;cursor:pointer;transition:all .15s}.anomaly-item:hover{box-shadow:var(--shadow);transform:translate(4px)}.anomaly-info{display:flex;align-items:center;gap:.75rem}.anomaly-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--warning-bg);color:var(--warning)}.anomaly-icon.price-up{background:var(--negative-bg);color:var(--negative)}.anomaly-icon.missed{background:var(--warning-bg);color:var(--warning)}.anomaly-text strong{display:block;font-size:.875rem}.anomaly-text span{font-size:.75rem;color:var(--text-muted)}.anomaly-action{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--accent-light);color:var(--accent);border:none;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .15s}.anomaly-action:hover{background:var(--accent);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-item{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem;text-align:center}.stat-value{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.stat-label{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.metadata-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.metadata-form h4{font-size:.875rem;margin:0 0 .75rem;color:var(--text-secondary)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:.75rem}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-field label{font-size:.75rem;color:var(--text-muted)}.form-field input,.form-field select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:.875rem}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--accent)}.recent-transactions{margin-top:1rem}.recent-transactions h4{font-size:.8rem;color:var(--text-muted);margin:0 0 .5rem;text-transform:uppercase}.transactions-list{display:flex;flex-direction:column;gap:.375rem}.transaction-row{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:var(--bg-hover);border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .15s}.transaction-row:hover{background:var(--border);transform:translate(3px)}.transaction-row .tx-date{color:var(--text-muted);min-width:70px}.transaction-row .tx-desc{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-row .tx-amount{font-weight:500;font-family:monospace}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-card);border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1.25rem;display:flex;align-items:center;gap:.5rem}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;transition:all .15s}.modal-close:hover{background:var(--negative-bg);color:var(--negative)}.modal-body{padding:1.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border);background:var(--bg-secondary);border-radius:0 0 16px 16px}.modal-btn{display:flex;align-items:center;gap:.375rem;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s;border:none}.modal-btn.cancel{background:var(--bg-hover);color:var(--text-secondary)}.modal-btn.cancel:hover{background:var(--border)}.modal-btn.primary{background:var(--accent);color:#fff}.modal-btn.primary:hover{background:var(--accent-hover)}.modal-btn.primary:disabled{background:var(--text-muted);cursor:not-allowed;opacity:.6}.modal-btn.primary:disabled:hover{background:var(--text-muted)}.category-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.chip{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:20px;font-size:.8rem;cursor:pointer;transition:all .15s}.chip:hover{background:var(--accent-light);border-color:var(--accent)}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.history-view{display:flex;flex-direction:column;gap:.5rem}.history-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:8px;font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.history-list{display:flex;flex-direction:column;gap:.375rem}.history-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s}.history-row:hover{box-shadow:var(--shadow);transform:translate(2px)}.history-action-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px}.history-action-icon.confirmed{background:var(--positive-bg);color:var(--positive)}.history-action-icon.rejected{background:var(--negative-bg);color:var(--negative)}.history-action-icon.added{background:var(--accent-light);color:var(--accent)}.history-action-icon.paused{background:var(--warning-bg);color:var(--warning)}.history-info{flex:1}.history-info strong{display:block;font-size:.875rem}.history-info span,.history-timestamp{font-size:.75rem;color:var(--text-muted)}.history-undo{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:transparent;border:1px solid var(--border);border-radius:4px;font-size:.7rem;color:var(--text-muted);cursor:pointer;transition:all .15s}.history-undo:hover{background:var(--bg-hover);color:var(--text-primary)}.empty-detection p{color:var(--text-secondary);font-size:.875rem}.calendar-view{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-nav h3{margin:0;font-size:1.25rem}.calendar-nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.calendar-nav-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.analytics-view{display:flex;flex-direction:column;gap:1.5rem}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.analytics-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.analytics-card h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1rem;color:var(--text-primary)}.analytics-card h3 svg{color:var(--accent)}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card{display:flex;align-items:center;gap:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;cursor:pointer;transition:all .2s}.summary-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.summary-card.highlight{background:linear-gradient(135deg,var(--accent),var(--accent-hover));border:none;color:#fff}.summary-card.highlight .card-icon{background:#fff3;color:#fff}.summary-card.warning{border-color:var(--warning)}.summary-card .card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:var(--accent-light);color:var(--accent);flex-shrink:0}.summary-card .card-content{display:flex;flex-direction:column}.summary-card .card-value{font-size:1.5rem;font-weight:600}.summary-card .card-label{font-size:.8rem;opacity:.8}@media (max-width: 768px){.detection-main{flex-wrap:wrap}.detection-amount{min-width:auto;margin-left:auto}.confirm-actions{margin-left:auto;margin-top:.5rem;width:100%;justify-content:flex-end}.modal-content{max-width:100%;margin:0;border-radius:16px 16px 0 0;position:fixed;bottom:0;max-height:85vh}.history-row{flex-wrap:wrap;gap:.5rem}.history-timestamp{order:-1;width:100%}.analytics-grid{grid-template-columns:1fr}.summary-cards,.stats-grid{grid-template-columns:repeat(2,1fr)}}.bill-expand{transition:transform .2s ease}.bill-expand.rotated{transform:rotate(90deg)}.bill-category{color:var(--text-muted);font-size:.8rem}.btn-icon.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-icon.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.history-action-icon.resumed{background:var(--positive-bg);color:var(--positive)}.history-action-icon.deleted{background:var(--negative-bg);color:var(--negative)}.recent-charges h4{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;font-weight:600;margin:0 0 .75rem;color:var(--text-muted)}.recent-charges h4 button{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--accent);font-size:.75rem;cursor:pointer;transition:opacity .15s}.recent-charges h4 button:hover{opacity:.8}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.modal-body .form-field{display:flex;flex-direction:column;gap:.375rem}.modal-body .form-field label{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.modal-body .form-field input,.modal-body .form-field select{padding:.625rem .875rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:.9rem}.modal-body .form-field input:focus,.modal-body .form-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.modal-body .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.detection-view{display:flex;flex-direction:column;gap:1rem}.detection-header{display:flex;justify-content:space-between;align-items:flex-start;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;gap:1rem;flex-wrap:wrap}.detection-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.125rem}.detection-list{display:flex;flex-direction:column;gap:.75rem}.empty-detection{text-align:center;padding:3rem 2rem;background:var(--positive-bg);border:2px dashed var(--positive);border-radius:12px}.empty-detection svg{color:var(--positive);margin-bottom:.75rem}.empty-detection h3{margin:0 0 .25rem;color:var(--positive)}.empty-detection p{color:var(--text-secondary);font-size:.875rem;margin:0}.history-view{display:flex;flex-direction:column;gap:.75rem}.bills-list,.detection-list,.history-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-bg)}.bills-list::-webkit-scrollbar,.detection-list::-webkit-scrollbar,.history-list::-webkit-scrollbar{width:6px}.bills-list::-webkit-scrollbar-track,.detection-list::-webkit-scrollbar-track,.history-list::-webkit-scrollbar-track{background:var(--scrollbar-bg);border-radius:3px}.bills-list::-webkit-scrollbar-thumb,.detection-list::-webkit-scrollbar-thumb,.history-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.bill-details select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:.875rem;cursor:pointer}.bill-details select:focus{outline:none;border-color:var(--accent)}.bill-details{animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{animation:fadeIn .15s ease-out}.modal-content{animation:slideUp .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 500px){.modal-body .form-row{grid-template-columns:1fr}}.data-manager-page{padding:1.5rem;max-width:1600px;margin:0 auto}.data-manager-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.data-manager-page .page-header h1{display:flex;align-items:center;gap:.75rem;font-size:1.75rem;color:var(--text-primary)}.data-manager-page .subtitle{color:var(--text-muted);margin-top:.25rem}.data-manager-page .header-actions{display:flex;gap:.75rem}.data-manager-page .summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}.data-manager-page .summary-card{background:var(--bg-card);border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:1rem;border:1px solid var(--border);box-shadow:var(--shadow)}.data-manager-page .summary-card .card-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center}.data-manager-page .summary-card .card-icon.positive{background:var(--positive-bg);color:var(--positive)}.data-manager-page .summary-card .card-icon.negative{background:var(--negative-bg);color:var(--negative)}.data-manager-page .summary-card .card-icon.neutral{background:var(--accent-light);color:var(--accent)}.data-manager-page .summary-card .card-icon.info{background:var(--warning-bg);color:var(--warning)}.data-manager-page .summary-card .card-content{display:flex;flex-direction:column}.data-manager-page .summary-card .card-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.data-manager-page .summary-card .card-value{font-size:1.5rem;font-weight:700;line-height:1.2}.data-manager-page .summary-card .card-value.positive{color:var(--positive)}.data-manager-page .summary-card .card-value.negative{color:var(--negative)}.data-manager-page .tab-nav{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border);padding-bottom:.5rem}.data-manager-page .tab-nav button{padding:.75rem 1.25rem;background:transparent;border:none;color:var(--text-muted);font-size:.95rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;border-radius:8px;transition:all .15s ease}.data-manager-page .tab-nav button:hover{background:var(--bg-hover);color:var(--text-primary)}.data-manager-page .tab-nav button.active{background:var(--accent-light);color:var(--accent)}.data-manager-page .filters-bar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:1rem;background:var(--bg-card);border-radius:12px;border:1px solid var(--border);margin-bottom:1rem}.data-manager-page .search-box{display:flex;align-items:center;gap:.5rem;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem;flex:1;min-width:200px;max-width:300px}.data-manager-page .search-box input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:.9rem;outline:none}.data-manager-page .search-box svg{color:var(--text-muted)}.data-manager-page .filter-group{display:flex;align-items:center;gap:.5rem}.data-manager-page .filter-group label{font-size:.85rem;color:var(--text-muted);white-space:nowrap}.data-manager-page .filter-group select,.data-manager-page .filter-group input[type=date]{padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:.9rem}.data-manager-page .toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-muted);cursor:pointer;font-size:.9rem;transition:all .15s ease}.data-manager-page .toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.data-manager-page .toggle-btn.active{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.data-manager-page .data-table-container{background:var(--bg-card);border-radius:12px;border:1px solid var(--border);overflow:hidden}.data-manager-page .account-group{border-bottom:1px solid var(--border)}.data-manager-page .account-group:last-child{border-bottom:none}.data-manager-page .group-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg-hover);font-weight:600}.data-manager-page .group-name{flex:1;color:var(--text-primary)}.data-manager-page .group-count{font-size:.85rem;color:var(--text-muted);font-weight:400}.data-manager-page .group-total{font-size:1.1rem;font-weight:700}.data-manager-page .group-total.positive{color:var(--positive)}.data-manager-page .group-total.negative{color:var(--negative)}.data-manager-page .data-table{width:100%;border-collapse:collapse}.data-manager-page .data-table th,.data-manager-page .data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-light)}.data-manager-page .data-table th{background:var(--bg-secondary);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.data-manager-page .data-table tr:hover{background:var(--bg-hover)}.data-manager-page .data-table tr.inactive{opacity:.5}.data-manager-page .data-table tr.selected{background:var(--accent-light)}.data-manager-page .data-table tr.needs-review{background:var(--warning-bg)}.data-manager-page .data-table tr.duplicate{opacity:.5;text-decoration:line-through}.data-manager-page .type-cell{display:flex;align-items:center;gap:.5rem;color:var(--text-muted)}.data-manager-page .name-cell input{width:100%;padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-primary)}.data-manager-page .balance-cell{font-weight:600;font-variant-numeric:tabular-nums}.data-manager-page .balance-cell.positive{color:var(--positive)}.data-manager-page .balance-cell.negative{color:var(--negative)}.data-manager-page .date-cell{color:var(--text-muted);font-size:.9rem;white-space:nowrap}.data-manager-page .status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500;text-transform:uppercase}.data-manager-page .status-badge.active{background:var(--positive-bg);color:var(--positive)}.data-manager-page .status-badge.inactive{background:var(--bg-hover);color:var(--text-muted)}.data-manager-page .status-badge.pending,.data-manager-page .status-badge.review{background:var(--warning-bg);color:var(--warning)}.data-manager-page .status-badge.reviewed{background:var(--positive-bg);color:var(--positive)}.data-manager-page .actions-cell{display:flex;gap:.5rem}.data-manager-page .icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.data-manager-page .icon-btn.edit{background:var(--accent-light);color:var(--accent)}.data-manager-page .icon-btn.edit:hover{background:var(--accent);color:#fff}.data-manager-page .icon-btn.save{background:var(--positive-bg);color:var(--positive)}.data-manager-page .icon-btn.save:hover{background:var(--positive);color:#fff}.data-manager-page .icon-btn.cancel{background:var(--negative-bg);color:var(--negative)}.data-manager-page .icon-btn.cancel:hover{background:var(--negative);color:#fff}.data-manager-page .checkbox-col{width:40px;text-align:center}.data-manager-page .checkbox-col input[type=checkbox]{width:18px;height:18px;cursor:pointer}.data-manager-page .description-cell{max-width:300px}.data-manager-page .description-content{display:flex;flex-direction:column}.data-manager-page .description-content .merchant{font-weight:500;color:var(--text-primary)}.data-manager-page .description-content .original{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-manager-page .category-cell input{width:100%;padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-primary)}.data-manager-page .category-badge{display:inline-block;padding:.25rem .6rem;background:var(--bg-hover);border-radius:6px;font-size:.85rem;color:var(--text-secondary)}.data-manager-page .amount-cell{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.data-manager-page .amount-cell.expense{color:var(--negative)}.data-manager-page .amount-cell.income{color:var(--positive)}.data-manager-page .account-cell{font-size:.9rem;color:var(--text-secondary)}.data-manager-page .status-cell{display:flex;gap:.25rem;flex-wrap:wrap}.data-manager-page .pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem;background:var(--bg-card);border-radius:0 0 12px 12px;border-top:1px solid var(--border)}.data-manager-page .page-info{color:var(--text-muted);font-size:.9rem}.data-manager-page .bulk-actions{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--accent-light);border-radius:8px;margin-bottom:1rem}.data-manager-page .bulk-actions span{font-weight:500;color:var(--accent)}.data-manager-page .spending-section{background:var(--bg-card);border-radius:12px;border:1px solid var(--border);padding:1.5rem}.data-manager-page .spending-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.data-manager-page .spending-header h2{font-size:1.25rem;color:var(--text-primary)}.data-manager-page .spending-total{font-size:1.25rem;font-weight:700;color:var(--negative)}.data-manager-page .spending-list{display:flex;flex-direction:column;gap:1rem}.data-manager-page .spending-item{display:grid;grid-template-columns:200px 1fr 120px;gap:1rem;align-items:center;padding:.75rem;background:var(--bg-secondary);border-radius:8px}.data-manager-page .spending-info{display:flex;flex-direction:column}.data-manager-page .spending-category{font-weight:500;color:var(--text-primary)}.data-manager-page .spending-count{font-size:.8rem;color:var(--text-muted)}.data-manager-page .spending-bar-container{height:8px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.data-manager-page .spending-bar{height:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--negative) 100%);border-radius:4px;transition:width .3s ease}.data-manager-page .spending-amount{text-align:right}.data-manager-page .spending-amount .amount{display:block;font-weight:600;color:var(--text-primary)}.data-manager-page .spending-amount .percent{font-size:.8rem;color:var(--text-muted)}.data-manager-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-muted)}.data-manager-page .empty-state svg{margin-bottom:1rem;opacity:.5}.data-manager-page .error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--negative-bg);border:1px solid var(--negative);border-radius:8px;margin-bottom:1rem;color:var(--negative)}.data-manager-page .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--text-muted)}.data-manager-page .loading-container svg{margin-bottom:1rem}.balance-history-page{padding:1.5rem;max-width:var(--page-max-width);margin:0 auto}.balance-history-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.balance-history-page .page-header h1{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;margin:0;color:var(--text-primary)}.balance-history-page .subtitle{color:var(--text-muted);margin-top:.25rem}.balance-history-page .header-actions{display:flex;gap:.75rem;align-items:center}.balance-history-page .date-range-select{padding:.5rem 1rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem}.balance-history-page .summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}.balance-history-page .summary-card{background:var(--bg-secondary);border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:1rem;border:1px solid var(--border)}.balance-history-page .summary-card.highlight{background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(16,185,129,.1) 100%);border-color:#10b981}.balance-history-page .summary-card .card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary)}.balance-history-page .summary-card .card-icon.positive{background:#10b98126;color:#10b981}.balance-history-page .summary-card .card-icon.negative{background:#ef444426;color:#ef4444}.balance-history-page .summary-card .card-icon.neutral{background:#3b82f626;color:#3b82f6}.balance-history-page .summary-card .card-icon.info{background:#8b5cf626;color:#8b5cf6}.balance-history-page .summary-card .card-content{display:flex;flex-direction:column}.balance-history-page .summary-card .card-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.balance-history-page .summary-card .card-value{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.balance-history-page .summary-card .card-value.positive{color:#10b981}.balance-history-page .summary-card .card-value.negative{color:#ef4444}.balance-history-page .summary-card .card-change{font-size:.8rem;font-weight:500;margin-top:.25rem}.balance-history-page .summary-card .card-change.positive{color:#10b981}.balance-history-page .summary-card .card-change.negative{color:#ef4444}.balance-history-page .summary-card .card-note{font-size:.7rem;color:var(--text-muted);margin-top:.25rem}.balance-history-page .chart-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.balance-history-page .chart-tabs button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:all .2s}.balance-history-page .chart-tabs button:hover{background:var(--bg-secondary);color:var(--text-primary)}.balance-history-page .chart-tabs button.active{background:var(--accent);color:#fff}.balance-history-page .chart-container{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;border:1px solid var(--border);margin-bottom:1.5rem;min-height:450px}.balance-history-page .chart-tooltip{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:.75rem;box-shadow:0 4px 12px #0003}.balance-history-page .chart-tooltip .tooltip-date{font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.balance-history-page .chart-tooltip .tooltip-value{font-size:.875rem;margin:.25rem 0}.balance-history-page .empty-chart{display:flex;flex-direction:column;align-items:center;justify-content:center;height:350px;color:var(--text-muted);gap:1rem}.balance-history-page .empty-chart svg{opacity:.5}.balance-history-page .empty-chart .hint{font-size:.875rem}.balance-history-page .accounts-chart-section{display:flex;flex-direction:column;gap:1rem}.balance-history-page .account-selector{background:var(--bg-tertiary);border-radius:8px;padding:1rem}.balance-history-page .account-selector h4{margin:0 0 .75rem;font-size:.875rem;color:var(--text-muted)}.balance-history-page .selected-accounts{display:flex;flex-wrap:wrap;gap:.5rem}.balance-history-page .selected-account-chip{display:flex;align-items:center;gap:.25rem;padding:.35rem .75rem;background:var(--accent);color:#fff;border-radius:20px;font-size:.8rem;cursor:pointer;transition:background .2s}.balance-history-page .selected-account-chip:hover{background:#2563eb}.balance-history-page .selected-accounts .hint{color:var(--text-muted);font-size:.875rem}.balance-history-page .account-snapshots{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border);overflow:hidden}.balance-history-page .account-snapshots .section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.balance-history-page .account-snapshots .section-header h2{display:flex;align-items:center;gap:.5rem;font-size:1rem;margin:0;color:var(--text-primary)}.balance-history-page .snapshot-date{font-size:.8rem;color:var(--text-muted)}.balance-history-page .account-groups{padding:.5rem}.balance-history-page .account-group{margin-bottom:.5rem;border:1px solid var(--border);border-radius:8px;overflow:hidden}.balance-history-page .account-group:last-child{margin-bottom:0}.balance-history-page .account-group .group-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-tertiary);border:none;cursor:pointer;color:var(--text-primary);transition:background .2s}.balance-history-page .account-group .group-header:hover{background:var(--bg-hover)}.balance-history-page .account-group .group-info{display:flex;align-items:center;gap:.5rem}.balance-history-page .account-group .group-name{font-weight:500}.balance-history-page .account-group .group-count{font-size:.8rem;color:var(--text-muted)}.balance-history-page .account-group .group-total{font-weight:600;font-size:1rem}.balance-history-page .account-group .group-total.positive{color:#10b981}.balance-history-page .account-group .group-total.negative{color:#ef4444}.balance-history-page .group-accounts{padding:.5rem}.balance-history-page .account-row{display:grid;grid-template-columns:1fr auto auto auto;gap:1rem;align-items:center;padding:.75rem 1rem;border-radius:6px;cursor:pointer;transition:background .2s}.balance-history-page .account-row:hover{background:var(--bg-hover)}.balance-history-page .account-row.selected{background:#3b82f61a;border:1px solid rgba(59,130,246,.3)}.balance-history-page .account-row .account-info{display:flex;align-items:center;gap:.75rem}.balance-history-page .account-row .account-info>svg{color:var(--text-muted)}.balance-history-page .account-row .account-info>div{display:flex;flex-direction:column}.balance-history-page .account-row .account-name{font-weight:500;color:var(--text-primary)}.balance-history-page .account-row .account-institution{font-size:.75rem;color:var(--text-muted)}.balance-history-page .account-row .account-balance{text-align:right}.balance-history-page .account-row .account-balance .balance{font-weight:600;display:block}.balance-history-page .account-row .account-balance .balance.positive{color:#10b981}.balance-history-page .account-row .account-balance .balance.negative{color:#ef4444}.balance-history-page .account-row .account-balance .change{font-size:.75rem}.balance-history-page .account-row .account-balance .change.positive{color:#10b981}.balance-history-page .account-row .account-balance .change.negative{color:#ef4444}.balance-history-page .account-history-indicator{font-size:.75rem;color:var(--text-muted)}.balance-history-page .account-history-indicator .has-history{display:flex;align-items:center;gap:.25rem;color:#10b981}.balance-history-page .account-history-indicator .no-history,.balance-history-page .account-select-indicator{color:var(--text-muted)}.balance-history-page .account-select-indicator .selected{color:var(--accent)}.balance-history-page .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:var(--text-muted);gap:1rem}@media (max-width: 768px){.balance-history-page{padding:1rem}.balance-history-page .page-header{flex-direction:column}.balance-history-page .header-actions{width:100%;flex-wrap:wrap}.balance-history-page .summary-cards{grid-template-columns:1fr 1fr}.balance-history-page .chart-tabs{flex-wrap:wrap}.balance-history-page .account-row{grid-template-columns:1fr auto}.balance-history-page .account-history-indicator,.balance-history-page .account-select-indicator{display:none}}.source-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;color:#fff;white-space:nowrap}.source-badge.small{padding:.125rem .375rem;font-size:.625rem;border-radius:3px}.source-badges{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.source-badges .source-count{display:flex;align-items:center;color:var(--text-muted);margin-left:.25rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.page-header-left{flex:1}.page-header-actions{display:flex;gap:.5rem;align-items:center}.multi-source-stat{display:inline-flex;align-items:center;gap:.25rem;margin-left:.75rem;color:var(--accent);font-size:.875rem}.rebuild-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.875rem;transition:all .2s ease}.rebuild-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.rebuild-btn:disabled{opacity:.6;cursor:not-allowed}.rebuild-btn .spin{animation:spin 1s linear infinite}.view-sources-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--accent-light);border:1px solid var(--accent);border-radius:6px;color:var(--accent);cursor:pointer;font-size:.875rem;transition:all .2s ease}.view-sources-btn:hover:not(:disabled){background:var(--accent);color:#fff}.view-sources-btn:disabled{opacity:.6;cursor:not-allowed}.sources-modal{background:var(--bg-card);border-radius:12px;max-width:700px;width:95%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.sources-modal .modal-header h2{display:flex;align-items:center;gap:.5rem}.sources-intro{color:var(--text-secondary);margin-bottom:1rem}.sources-list{display:flex;flex-direction:column;gap:1rem;max-height:300px;overflow-y:auto;margin-bottom:1.5rem}.source-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1rem}.source-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.source-header .source-name{font-weight:500;color:var(--text-primary)}.source-details{display:grid;gap:.5rem}.source-field{display:flex;align-items:baseline;gap:.5rem;font-size:.875rem}.source-field .label{color:var(--text-muted);min-width:80px;flex-shrink:0}.source-field .value{color:var(--text-primary);word-break:break-word}.source-field .value.diff{color:var(--warning)}.source-field .diff-indicator{font-size:.75rem;color:var(--warning);background:var(--warning-bg);padding:.125rem .375rem;border-radius:4px}.merged-result{background:var(--accent-light);border:1px solid var(--accent);border-radius:8px;padding:1rem}.merged-result h4{color:var(--accent);margin-bottom:.75rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.merged-details{display:grid;gap:.5rem}.merged-field{display:flex;align-items:baseline;gap:.5rem;font-size:.875rem}.merged-field .label{color:var(--text-muted);min-width:80px;flex-shrink:0}.merged-field .value{color:var(--text-primary);font-weight:500}.sources-modal .modal-footer .close-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.5rem 1.5rem;border-radius:6px;cursor:pointer;transition:all .2s ease}.sources-modal .modal-footer .close-btn:hover{background:var(--bg-hover)}.connection-settings-page .settings-content:has(.acct-mappings-container){max-width:none!important;width:100%!important}.connection-settings-page:has(.acct-mappings-container) .settings-content{max-width:none!important;width:100%!important}.acct-mappings-container{padding:1rem;max-width:100%;width:100%}.acct-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.acct-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.acct-header p{font-size:.875rem;color:var(--text-muted)}.acct-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.acct-stat{font-size:.813rem;color:var(--text-secondary)}.acct-stat.warn{color:var(--warning)}.acct-stat-sep{color:var(--border)}.btn-refresh-sm{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);background:var(--bg-secondary);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.btn-refresh-sm:hover{background:var(--bg-hover);color:var(--accent)}.btn-refresh-sm svg.spinning{animation:spin 1s linear infinite}.acct-toolbar{margin-bottom:1rem}.acct-search{display:flex;align-items:center;gap:.5rem;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem;max-width:320px}.acct-search input{flex:1;border:none;background:none;font-size:.875rem;color:var(--text-primary);outline:none}.acct-search button{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:var(--bg-hover);border-radius:4px;cursor:pointer;color:var(--text-muted)}.acct-search button:hover{background:var(--border)}.acct-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary)}.acct-table{width:100%;border-collapse:collapse;font-size:.875rem}.acct-table thead{background:var(--bg-hover);position:sticky;top:0;z-index:10}.acct-table th{text-align:left;padding:.75rem .5rem;font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.acct-table th:hover{background:var(--bg-primary)}.acct-table td{padding:.5rem;border-bottom:1px solid var(--border-light);vertical-align:middle}.acct-table tbody tr:hover{background:var(--bg-hover)}.col-nickname{min-width:140px}.col-source{min-width:160px}.col-inst{min-width:100px}.col-type{min-width:80px}.col-balance{min-width:100px;text-align:right}.acct-name-cell{display:flex;flex-direction:column;gap:.125rem}.acct-name{font-weight:500;color:var(--text-primary)}.acct-mask{font-size:.75rem;color:var(--text-muted);font-family:monospace}.nickname-edit{display:flex;align-items:center;gap:.25rem}.nickname-edit input{flex:1;min-width:80px;padding:.25rem .5rem;border:1px solid var(--accent);border-radius:4px;font-size:.813rem;background:var(--bg-input);color:var(--text-primary);outline:none}.nickname-edit button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;cursor:pointer}.nickname-edit button:first-of-type{background:var(--positive-bg);color:var(--positive)}.nickname-edit button:last-of-type{background:var(--negative-bg);color:var(--negative)}.nickname-view{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:4px;cursor:pointer;min-height:28px}.nickname-view:hover{background:var(--bg-hover)}.nickname-view .placeholder{color:var(--text-muted);font-style:italic;font-size:.813rem}.nickname-view .edit-icon{opacity:0;color:var(--text-muted);transition:opacity .2s ease}.nickname-view:hover .edit-icon{opacity:1}.col-source select{width:100%;padding:.375rem 1.5rem .375rem .5rem;font-size:.813rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}.col-source select.linked{border-width:2px;font-weight:500}.col-source select.unlinked{color:var(--text-muted)}.linked-bal{font-size:.75rem;color:var(--text-muted);margin-top:.25rem;text-align:center}.type-pill{display:inline-block;padding:.125rem .5rem;font-size:.75rem;background:var(--bg-hover);border-radius:999px;color:var(--text-secondary);text-transform:capitalize}.empty-msg{text-align:center;padding:2rem!important;color:var(--text-muted)}.unlinked-section{margin-top:2rem;padding:1.5rem;background:var(--warning-bg);border:1px solid var(--warning);border-radius:8px}.unlinked-section h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--warning);margin-bottom:.5rem}.unlinked-section>p{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.unlinked-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.unlinked-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px}.src-badge{flex-shrink:0;padding:.25rem .5rem;font-size:.688rem;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.02em}.unlinked-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.unlinked-name{font-weight:500;color:var(--text-primary);font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unlinked-mask{font-size:.75rem;color:var(--text-muted);font-family:monospace}.unlinked-bal{font-size:.813rem;color:var(--text-secondary)}.btn-create{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;background:var(--accent);color:#fff;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;transition:all .2s ease}.btn-create:hover{background:var(--accent-hover)}.btn-create:disabled{opacity:.6;cursor:not-allowed}.suggestions-section{margin-top:2rem;padding:1.5rem;background:var(--bg-tertiary);border:1px solid var(--accent);border-radius:8px}.suggestions-section>h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--accent);margin-bottom:1rem}.suggestions-count{font-size:.75rem;font-weight:500;padding:.125rem .5rem;background:var(--accent);color:#fff;border-radius:10px;margin-left:auto}.suggestion-group{margin-bottom:1.5rem}.suggestion-group:last-child{margin-bottom:0}.suggestion-group h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.suggestion-help{font-size:.813rem;color:var(--text-secondary);margin-bottom:.75rem}.suggestion-cards{display:flex;flex-direction:column;gap:.75rem}.suggestion-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1rem}.suggestion-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.suggestion-mask{font-family:monospace;font-size:.813rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.125rem .5rem;border-radius:4px}.suggestion-reason{font-size:.75rem;color:var(--success);font-weight:500}.suggestion-target{font-weight:600;color:var(--text-primary);font-size:.875rem}.suggestion-accounts{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.suggestion-account{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-size:.813rem}.suggestion-account .acc-name{color:var(--text-primary);font-weight:500}.suggestion-account .acc-bal{color:var(--text-secondary);font-size:.75rem}.btn-confirm-link{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.813rem;font-weight:500;background:var(--success);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-confirm-link:hover{background:var(--success-hover, #16a34a);transform:translateY(-1px)}.btn-confirm-link:disabled{opacity:.6;cursor:not-allowed;transform:none}.selection-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--accent-bg, rgba(59, 130, 246, .1));border:1px solid var(--accent);border-radius:8px;margin-bottom:1rem}.selection-count{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--accent)}.btn-link-selected{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--success);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-link-selected:hover:not(:disabled){background:var(--success-hover, #16a34a);transform:translateY(-1px)}.btn-link-selected:disabled{opacity:.6;cursor:not-allowed}.btn-clear-selection{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;margin-left:auto}.btn-clear-selection:hover{background:var(--bg-secondary);color:var(--text-primary)}.view-tabs{display:flex;gap:.25rem;margin-right:1rem}.view-tab{padding:.5rem 1rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s}.view-tab:first-child{border-radius:6px 0 0 6px}.view-tab:last-child{border-radius:0 6px 6px 0}.view-tab:not(:first-child):not(:last-child){border-radius:0}.view-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.view-tab:hover:not(.active){background:var(--bg-secondary)}.source-accounts-section{margin-bottom:2rem}.source-accounts-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.section-help{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.mask-group{margin-bottom:1rem;border:1px solid var(--border);border-radius:8px;overflow:hidden}.mask-group.has-matches{border-color:var(--accent);background:var(--accent-bg, rgba(59, 130, 246, .05))}.mask-group.no-mask{border-color:var(--border);background:var(--bg-secondary)}.mask-group-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.mask-label{font-family:monospace;font-weight:600;color:var(--text-primary)}.match-hint{font-weight:400;color:var(--accent);font-size:.813rem}.btn-select-group{padding:.25rem .75rem;font-size:.75rem;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-select-group:hover{background:var(--accent-hover, #2563eb)}.mask-group-accounts{padding:.5rem}.source-account-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:6px;cursor:pointer;transition:all .15s}.source-account-row:hover:not(.is-linked){background:var(--bg-secondary)}.source-account-row.selected{background:var(--accent-bg, rgba(59, 130, 246, .15));border:1px solid var(--accent);margin:-1px}.source-account-row.is-linked{cursor:default;opacity:.7}.source-account-row input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.linked-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--success)}.source-acc-name{flex:1;font-weight:500;color:var(--text-primary);min-width:150px}.source-acc-inst{width:120px;font-size:.813rem;color:var(--text-secondary)}.source-acc-bal{width:100px;text-align:right;font-family:monospace;font-size:.875rem;color:var(--text-primary)}.linked-to{font-size:.75rem;color:var(--success);background:var(--success-bg, rgba(34, 197, 94, .1));padding:.125rem .5rem;border-radius:4px}.confirmed-accounts-section{padding-top:1.5rem;border-top:2px solid var(--border)}.confirmed-accounts-section h3{display:flex;align-items:center;gap:.75rem;font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.multi-source-badge{font-size:.75rem;font-weight:500;padding:.125rem .5rem;background:var(--success);color:#fff;border-radius:10px}.confirmed-accounts-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1rem;margin-top:1rem}.confirmed-account-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1rem}.confirmed-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.confirmed-name{font-weight:600;color:var(--text-primary)}.confirmed-mask{font-family:monospace;font-size:.813rem;color:var(--text-secondary)}.source-count{margin-left:auto;font-size:.75rem;color:var(--text-muted)}.confirmed-sources{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.confirmed-source{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-size:.813rem}.confirmed-source .source-name{flex:1;color:var(--text-primary)}.confirmed-source .source-bal{font-family:monospace;color:var(--text-secondary)}.btn-unlink{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;color:var(--text-muted);border:none;border-radius:4px;cursor:pointer;opacity:0;transition:all .15s}.confirmed-source:hover .btn-unlink{opacity:1}.btn-unlink:hover{background:var(--error-bg, rgba(239, 68, 68, .1));color:var(--error)}.confirmed-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-secondary);padding-top:.5rem;border-top:1px solid var(--border)}.empty-state{padding:2rem;text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border-radius:8px}.acct-mappings-container{display:flex;flex-direction:column;gap:1rem}.view-toggle{display:flex;gap:.5rem;overflow:visible;position:relative;z-index:50}.view-btn{padding:.375rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.813rem;cursor:pointer;transition:all .15s}.view-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.view-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.col-source-check{width:50px;text-align:center;font-size:.75rem;color:var(--text-muted)}.col-status-sm{width:90px}.source-yes{color:var(--success);font-weight:600}.source-no{color:var(--text-muted);opacity:.5}.status-matched{display:inline-flex;align-items:center;gap:.25rem;color:var(--success);font-size:.75rem;font-weight:500}.status-unmatched{color:var(--warning);font-size:.75rem;font-weight:500}.source-table tbody tr.is-matched{background:var(--bg-secondary)}.source-table tbody tr.multi-source{border-left:3px solid var(--success)}.acct-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.acct-header h2{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.acct-header p{font-size:.875rem;color:var(--text-secondary);margin:0}.acct-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.acct-stat{font-size:.813rem;color:var(--text-secondary);font-weight:500}.acct-stat.warn{color:var(--warning, #f59e0b)}.acct-stat.success{color:var(--success)}.acct-stat-sep{color:var(--text-muted);font-size:.75rem}.btn-refresh-sm{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-refresh-sm:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-refresh-sm:disabled{cursor:not-allowed;opacity:.6}.acct-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.acct-search{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;min-width:180px}.acct-search input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.875rem}.acct-search input::placeholder{color:var(--text-muted)}.acct-search svg{color:var(--text-muted);flex-shrink:0}.acct-search button{display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;color:var(--text-muted);cursor:pointer}.acct-search button:hover{color:var(--text-primary)}.btn-select-all{padding:.375rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.813rem;cursor:pointer;margin-left:auto;transition:all .2s}.btn-select-all:hover{background:var(--accent);border-color:var(--accent);color:#fff}.btn-clear-filters{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.813rem;cursor:pointer;transition:all .2s}.btn-clear-filters:hover{background:var(--error-bg, rgba(239, 68, 68, .1));border-color:var(--error);color:var(--error)}.btn-clear-filters-sm{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer}.btn-clear-filters-sm:hover{background:var(--error-bg, rgba(239, 68, 68, .1));border-color:var(--error);color:var(--error)}.column-settings-wrap{position:relative;margin-left:8px;z-index:100}.btn-column-settings{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .15s ease}.btn-column-settings:hover,.btn-column-settings.active{background:var(--bg-hover);border-color:var(--primary);color:var(--primary)}.column-settings-dropdown{position:absolute;top:100%;right:0;margin-top:4px;width:240px;background:var(--bg-card, #ffffff);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:10000;overflow:visible}[data-theme=dark] .column-settings-dropdown{background:var(--bg-card, #1e293b);box-shadow:0 4px 12px #0006}.column-settings-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-secondary);font-weight:600;font-size:.85rem}.btn-reset-cols{font-size:.75rem;padding:4px 8px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer}.btn-reset-cols:hover{background:var(--bg-hover);color:var(--text-primary)}.column-settings-list{max-height:300px;overflow-y:auto;padding:8px 0}.column-toggle-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:.85rem;color:var(--text-primary);transition:background .15s ease}.column-toggle-item:hover{background:var(--bg-hover)}.column-toggle-item input[type=checkbox]{width:16px;height:16px;cursor:pointer}.column-settings-hint{padding:10px 12px;border-top:1px solid var(--border);font-size:.75rem;color:var(--text-muted);text-align:center}.draggable-col{cursor:grab}.draggable-col:active{cursor:grabbing}.draggable-col.dragging{opacity:.5}.draggable-col.drag-over{border-left:2px solid var(--primary)}.source-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-card)}.source-table{width:100%;border-collapse:collapse;font-size:.875rem}.source-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.source-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.col-header{position:relative;padding:0!important}.col-header-content{display:flex;align-items:center;justify-content:space-between;gap:.25rem;padding:.75rem .5rem}.col-header-label{cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;color:var(--text-secondary);transition:color .15s;display:flex;align-items:center;gap:.25rem;flex:1}.col-header-label:hover{color:var(--text-primary)}.sort-arrow{color:var(--accent);font-weight:700}.col-filter-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .15s;flex-shrink:0}.col-filter-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.col-filter-btn.active{background:var(--accent);color:#fff}.filter-count{font-size:.625rem;margin-left:1px}.col-filter-dropdown-inline{position:absolute;top:100%;left:0;min-width:220px;max-width:320px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:1000;overflow:hidden;margin-top:2px}.col-filter-search{display:flex;align-items:center;padding:.5rem;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.col-filter-search input{flex:1;padding:.375rem .5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.813rem;outline:none}.col-filter-search input:focus{border-color:var(--accent)}.col-filter-search button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:.25rem;padding:0;background:transparent;border:none;color:var(--text-muted);cursor:pointer}.col-filter-actions{display:flex;gap:.5rem;padding:.5rem;border-bottom:1px solid var(--border)}.col-filter-actions button{flex:1;padding:.25rem .5rem;font-size:.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer}.col-filter-actions button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.col-filter-options{max-height:280px;overflow-y:auto}.col-filter-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;font-size:.813rem;color:var(--text-primary);transition:background .15s}.col-filter-option:hover{background:var(--bg-hover)}.col-filter-option input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.col-filter-option span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-filter-empty{padding:1rem;text-align:center;color:var(--text-muted);font-size:.813rem}.status-confirmed{display:inline-flex;align-items:center;gap:.25rem;color:var(--success);font-size:.813rem;font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-unconfirmed{color:var(--text-muted);font-size:.813rem}.no-mask{color:var(--text-muted)}.source-table .filter-row td{padding:.375rem .5rem;background:var(--bg-tertiary, var(--bg-secondary));border-bottom:2px solid var(--border)}.source-table .filter-row select{width:100%;padding:.25rem .5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.75rem;cursor:pointer}.source-table .filter-row select:focus{outline:none;border-color:var(--accent)}.source-table .filter-row input[type=text]{width:100%;padding:.25rem .5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.75rem}.source-table .filter-row input[type=text]:focus{outline:none;border-color:var(--accent)}.source-table .filter-row input[type=text]::placeholder{color:var(--text-muted)}.multi-filter{position:relative;width:100%}.multi-filter-btn{width:100%;padding:.25rem .5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:.75rem;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:.25rem}.multi-filter-btn.has-filter{background:var(--accent-bg, rgba(59, 130, 246, .1));border-color:var(--accent);color:var(--accent)}.multi-filter-btn .clear-x{font-size:1rem;line-height:1;opacity:.7}.multi-filter-btn .clear-x:hover{opacity:1}.multi-filter-dropdown{position:fixed;min-width:280px;max-width:400px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:1000}.multi-filter-actions{display:flex;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.multi-filter-actions button{padding:.25rem .5rem;font-size:.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer}.multi-filter-actions button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.multi-filter-options{max-height:350px;overflow-y:auto;padding:.25rem 0}.multi-filter-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;font-size:.813rem;color:var(--text-primary);transition:background .15s}.multi-filter-option:hover{background:var(--bg-hover)}.multi-filter-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.multi-filter-option span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.not-linked{color:var(--text-muted);font-style:italic;font-size:.813rem}.source-table td{padding:.625rem 1rem;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.source-table tbody tr{transition:background .15s;cursor:pointer}.source-table tbody tr:hover:not(.is-linked){background:var(--bg-hover)}.source-table tbody tr.selected{background:var(--accent-bg, rgba(59, 130, 246, .1))}.source-table tbody tr.is-linked{cursor:default;background:var(--bg-secondary)}.source-table tbody tr.has-match:not(.is-linked):not(.selected){background:#f59e0b0d}.source-table tbody tr:last-child td{border-bottom:none}.col-check{width:40px;text-align:center!important}.col-source{width:100px}.col-name{min-width:180px}.col-mask{width:100px}.col-inst{width:140px}.col-bal{width:100px;text-align:right!important}.col-status{width:90px}.col-linked{min-width:150px}.source-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.src-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.mask-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;font-family:monospace;font-size:.813rem}.mask-badge.has-match{background:#f59e0b1a;border-color:var(--warning, #f59e0b)}.match-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:var(--warning, #f59e0b);color:#fff;border-radius:8px;font-size:.688rem;font-weight:700;font-family:system-ui}.status-linked{display:inline-block;padding:.125rem .5rem;background:var(--success-bg, rgba(34, 197, 94, .1));color:var(--success);border-radius:4px;font-size:.75rem;font-weight:600}.status-unlinked{display:inline-block;padding:.125rem .5rem;background:var(--bg-secondary);color:var(--text-muted);border-radius:4px;font-size:.75rem;font-weight:500}.canonical-link{color:var(--success);font-weight:500}.source-table .empty-msg{text-align:center;color:var(--text-muted);padding:2rem!important}.confirmed-section{margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--border)}.confirmed-section h3{display:flex;align-items:center;gap:.75rem;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.multi-badge{font-size:.75rem;font-weight:500;padding:.125rem .5rem;background:var(--success);color:#fff;border-radius:10px}.confirmed-section .empty-msg{padding:1.5rem;text-align:center;color:var(--text-muted);background:var(--bg-secondary);border-radius:8px}.confirmed-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-card)}.confirmed-table{width:100%;border-collapse:collapse;font-size:.875rem}.confirmed-table thead{background:var(--bg-secondary)}.confirmed-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.confirmed-table td{padding:.625rem 1rem;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.confirmed-table tbody tr:hover{background:var(--bg-hover)}.confirmed-table tbody tr:last-child td{border-bottom:none}.conf-name{font-weight:500}.conf-mask{font-family:monospace;color:var(--text-secondary)}.conf-sources{display:flex;flex-wrap:wrap;gap:.375rem}.source-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.source-chip button{display:flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;margin-left:2px;background:#0003;border:none;border-radius:50%;color:inherit;cursor:pointer;opacity:.7;transition:all .15s}.source-chip button:hover{opacity:1;background:#0006}.conf-inst,.conf-type{color:var(--text-secondary);font-size:.813rem}.conf-actions{width:50px}.btn-delete-canonical{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .15s}.btn-delete-canonical:hover{background:var(--error-bg, rgba(239, 68, 68, .1));border-color:var(--error);color:var(--error)}.acct-mappings-container{padding:0!important;margin:0;width:100%}.source-table-wrap{width:100%;overflow-x:auto}.source-table-wide{width:100%;border-collapse:collapse}.source-table-wide thead th{background:#f8f9fa;border-bottom:2px solid var(--border);position:sticky;top:0;z-index:10}[data-theme=dark] .source-table-wide thead th{background:#1f2937}.acct-header-title{display:flex;align-items:center;gap:16px;flex:1}.acct-header-stats{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.acct-header-stats .acct-stat{font-size:.75rem;padding:2px 8px;background:var(--bg-hover);border-radius:4px;white-space:nowrap}.btn-focus-mode{padding:6px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.btn-focus-mode:hover{background:var(--bg-hover);color:var(--accent);border-color:var(--accent)}.btn-focus-mode.active{background:var(--accent);color:#fff;border-color:var(--accent)}.inline-edit-cell{cursor:pointer;padding:4px 8px;border-radius:4px;min-height:28px;display:flex;align-items:center}.inline-edit-cell:hover{background:var(--bg-hover, rgba(0,0,0,.05))}.inline-edit-cell.editing{padding:0}.inline-edit-cell input,.inline-edit-cell select{width:100%;padding:4px 8px;border:1px solid var(--accent);border-radius:4px;font-size:inherit;background:var(--bg);color:var(--text)}.inline-edit-cell.saving{opacity:.6}.col-source-data{min-width:200px;border-left:1px solid var(--border)}.source-data-cell{display:flex;flex-direction:column;gap:2px;font-size:.85em}.source-data-cell .source-name{font-weight:500}.source-data-cell .source-balance{color:var(--text-muted)}.source-data-cell .source-sync{color:var(--text-muted);font-size:.9em}.source-data-cell.diff{background:#ffc1071a}.source-empty{color:var(--text-muted);font-style:italic}.bulk-action-bar{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--accent);color:#fff;border-radius:8px;margin-bottom:12px}.bulk-action-bar .selection-count{font-weight:600}.bulk-action-bar button{padding:4px 12px;border-radius:4px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer;font-size:.9em}.bulk-action-bar button:hover{background:#ffffff26}.bulk-action-bar button.danger:hover{background:#dc3545cc}.row-checkbox{width:40px;text-align:center}.row-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.issues-panel{border:1px solid var(--border);border-radius:8px;margin-bottom:16px;overflow:hidden}.issues-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.issues-panel-header:hover{background:var(--bg-hover)}.issues-panel-title{display:flex;align-items:center;gap:8px;font-weight:600}.issues-badges{display:flex;gap:8px}.issue-badge{padding:2px 8px;border-radius:12px;font-size:.85em;font-weight:500}.issue-badge.error{background:#dc354526;color:#dc3545}.issue-badge.warning{background:#ffc10726;color:#d39e00}.issue-badge.info{background:#17a2b826;color:#17a2b8}.issues-panel-content{padding:0;max-height:300px;overflow-y:auto}.issue-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);cursor:pointer}.issue-item:hover{background:var(--bg-hover)}.issue-item:last-child{border-bottom:none}.issue-icon{flex-shrink:0}.issue-icon.error{color:#dc3545}.issue-icon.warning{color:#ffc107}.issue-icon.info{color:#17a2b8}.issue-content{flex:1}.issue-account{font-weight:500}.issue-message{color:var(--text-muted);font-size:.9em}.issue-suggested-fix{display:flex;align-items:center;gap:6px;margin-top:6px;padding:6px 10px;background:#3b82f61a;border-radius:4px;font-size:.85em;color:var(--primary)}.issue-suggested-fix svg{flex-shrink:0}.issue-suggested-fix span{flex:1}.btn-fix-issue{padding:4px 12px;background:var(--primary);border:none;border-radius:4px;color:#fff;font-size:.8em;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-fix-issue:hover{background:var(--primary-hover)}.btn-fix-issue:disabled{opacity:.6;cursor:not-allowed}.issues-panel-success{background:#22c55e1a;border-color:var(--success)}.issues-panel-success .issues-panel-title{color:var(--success)}.undo-toast{position:fixed;bottom:24px;right:24px;display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.undo-toast button{padding:4px 12px;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}.undo-header-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:.9em}.undo-header-btn:hover{background:var(--bg-hover)}.undo-header-btn:disabled{opacity:.5;cursor:not-allowed}tr.has-issues{background:#dc35450d}tr.highlight-row{animation:highlightPulse 2s ease}@keyframes highlightPulse{0%,to{background:transparent}50%{background:#17a2b833}}.row-actions{position:relative}.actions-menu{position:absolute;right:0;top:100%;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:140px}.actions-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text);cursor:pointer;text-align:left}.actions-menu button:hover{background:var(--bg-hover)}.actions-menu button.danger{color:#dc3545}.actions-trigger{padding:4px 8px;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text)}.actions-trigger:hover{background:var(--bg-hover)}.excel-filter-header{position:relative;white-space:nowrap}.excel-header-content{display:flex;align-items:center;gap:4px}.excel-header-label{display:flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none;flex:1}.excel-header-label:hover{color:var(--accent)}.sort-indicator{display:inline-flex;color:var(--accent)}.excel-filter-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:3px;opacity:.5}.excel-filter-btn:hover,.excel-filter-btn.open{opacity:1;background:var(--bg-hover)}.excel-filter-btn.active{opacity:1;color:var(--accent);background:#3b82f61a}.excel-filter-dropdown{position:absolute;top:100%;left:0;z-index:200;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #00000040;min-width:220px;max-width:300px;margin-top:4px}.excel-filter-search{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border)}.excel-filter-search input{flex:1;border:none;background:transparent;font-size:.9em;outline:none;color:var(--text)}.excel-filter-search svg{color:var(--text-muted)}.excel-filter-actions{display:flex;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border)}.excel-filter-actions button{padding:4px 10px;font-size:.8em;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;cursor:pointer}.excel-filter-actions button:hover{background:var(--bg-hover)}.excel-filter-list{max-height:240px;overflow-y:auto;padding:4px 0}.excel-filter-item{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer}.excel-filter-item:hover{background:var(--bg-hover)}.excel-filter-item input[type=checkbox]{width:14px;height:14px;cursor:pointer}.excel-filter-value{font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.excel-filter-empty{padding:12px;text-align:center;color:var(--text-muted);font-size:.9em}.excel-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid var(--border);background:var(--bg-secondary)}.excel-filter-footer-right{display:flex;gap:8px;margin-left:auto}.excel-filter-footer button{display:flex;align-items:center;gap:4px;padding:5px 12px;font-size:.85em;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;cursor:pointer}.excel-filter-footer button:hover{background:var(--bg-hover)}.excel-filter-footer button.apply-btn{background:var(--accent);color:#fff;border-color:var(--accent)}.excel-filter-footer button.apply-btn:hover{background:var(--accent-hover, #2563eb)}.excel-filter-footer button.clear-btn{color:#dc3545;border-color:#dc35454d}.excel-filter-footer button.clear-btn:hover{background:#dc35451a}.tabs-container{display:flex;align-items:center;gap:8px;margin-bottom:1rem;flex-wrap:wrap}.tabs-container.collapsed{margin-bottom:.5rem}.tabs-toggle{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text);font-size:.85em;white-space:nowrap}.tabs-toggle:hover{background:var(--bg-hover)}.current-tab-label{text-transform:capitalize;font-weight:500}.tabs-container .tabs{display:flex;flex-wrap:wrap;gap:4px}.connection-settings-page{width:100%;max-width:100%;padding:1rem}.connection-settings-page .tab-content{width:100%;max-width:100%}.source-table-wide{width:100%;table-layout:auto}.source-table-wide th,.source-table-wide td{white-space:nowrap;padding:8px 12px}.source-table-wide .col-name{min-width:180px;max-width:300px;white-space:normal;word-break:break-word}.source-table-wide .col-source-data{min-width:180px}.account-mappings-tab{padding:1rem;max-width:100%}.am-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--text-muted)}.am-stats-bar{display:flex;gap:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;margin-bottom:1rem;flex-wrap:wrap}.am-stat{display:flex;flex-direction:column;align-items:center;min-width:80px}.am-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.am-stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.am-stat-success .am-stat-value{color:var(--positive)}.am-stat-warn .am-stat-value{color:var(--warning)}.am-stat-muted .am-stat-value{color:var(--text-muted)}.am-action-bar{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.am-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .15s ease}.am-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent)}.am-btn:disabled{opacity:.5;cursor:not-allowed}.am-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.am-btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.am-btn-sm{padding:4px 10px;font-size:.8rem}.am-btn-file{cursor:pointer}.am-show-hidden{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:.875rem;color:var(--text-secondary);cursor:pointer}.am-filter-bar{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.am-search{position:relative;flex:1;min-width:200px;max-width:400px}.am-search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.am-search input{width:100%;padding:8px 32px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:.875rem}.am-search input:focus{outline:none;border-color:var(--accent)}.am-search button{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:4px;background:none;border:none;color:var(--text-muted);cursor:pointer}.am-search button:hover{color:var(--text-primary)}.am-filter-select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:.875rem;min-width:140px;cursor:pointer}.am-filter-select:focus{outline:none;border-color:var(--accent)}.am-bulk-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--accent-light);border:1px solid var(--accent);border-radius:6px;margin-bottom:1rem}.am-bulk-bar span{font-weight:600;color:var(--accent)}.am-bulk-bar button{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--accent);border-radius:4px;background:transparent;color:var(--accent);font-size:.8rem;cursor:pointer}.am-bulk-bar button:hover{background:var(--accent);color:#fff}.am-scan-results{background:var(--bg-secondary);border:2px solid var(--accent);border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.am-scan-header{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--accent-light);border-bottom:1px solid var(--border)}.am-scan-header h3{flex:1;margin:0;font-size:1rem;color:var(--text-primary)}.am-scan-group{border-bottom:1px solid var(--border)}.am-scan-group:last-child{border-bottom:none}.am-scan-group-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-hover)}.am-scan-mask{font-weight:600;color:var(--text-primary)}.am-scan-actions{display:flex;gap:.5rem}.am-scan-table{width:100%;border-collapse:collapse}.am-scan-table th,.am-scan-table td{padding:.5rem 1rem;text-align:left;border-bottom:1px solid var(--border-light)}.am-scan-table th{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase}.am-scan-table tr:last-child td{border-bottom:none}.am-section{margin-bottom:2rem}.am-section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.am-section-warn{color:var(--warning)}.am-empty-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:var(--positive-bg);border-radius:8px;gap:.5rem;color:var(--positive)}.am-table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border-radius:8px;overflow:hidden;border:1px solid var(--border)}.am-table th,.am-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-light)}.am-table th{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;background:var(--bg-hover);position:sticky;top:0}.am-table tbody tr:hover{background:var(--bg-hover)}.am-table tbody tr.hidden{opacity:.5}.am-table tbody tr.expanded{background:var(--accent-light)}.am-col-checkbox{width:40px;text-align:center}.am-col-expand{width:40px}.am-col-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.am-col-sortable:hover,.am-col-sortable.sorted{color:var(--accent)}.am-header-filterable{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}.am-header-filterable.sorted{color:var(--accent)}.am-header-filterable.filtered{background:var(--accent-light)}.am-header-content{display:flex;align-items:center;gap:6px;padding:2px 0}.am-header-label{flex:1}.am-header-icons{display:flex;align-items:center;gap:4px}.am-sort-icon{font-size:.75rem;color:var(--accent)}.am-filter-active{color:var(--accent)}.am-header-chevron{color:var(--text-muted);transition:transform .2s}.am-header-chevron.open{transform:rotate(180deg)}.am-header-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.am-header-dropdown{position:absolute;left:0;top:calc(100% + 4px);min-width:200px;max-width:280px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.am-header-dropdown-section{padding:6px;border-bottom:1px solid var(--border-light)}.am-header-dropdown-section:last-child{border-bottom:none}.am-header-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;border-radius:4px;color:var(--text-primary);font-size:.85rem;text-align:left;cursor:pointer;transition:background .15s}.am-header-dropdown-item:hover{background:var(--bg-hover)}.am-header-filters{max-height:300px;overflow-y:auto}.am-header-filter-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;font-weight:600}.am-header-filter-header button{background:none;border:none;color:var(--accent);font-size:.75rem;cursor:pointer;text-transform:none;font-weight:500}.am-header-filter-header button:hover{text-decoration:underline}.am-header-filter-list{max-height:200px;overflow-y:auto}.am-header-filter-item{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:.85rem;color:var(--text-primary);cursor:pointer;border-radius:4px;transition:background .15s}.am-header-filter-item:hover{background:var(--bg-hover)}.am-header-filter-item input[type=checkbox]{margin:0;cursor:pointer}.am-header-filter-item span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.am-header-filter-more{padding:6px 10px;font-size:.75rem;color:var(--text-muted);font-style:italic}.am-empty{text-align:center;padding:2rem!important;color:var(--text-muted)}.am-expand-btn{padding:4px;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px}.am-expand-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.source-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.am-sources{display:flex;gap:4px;flex-wrap:wrap}.connection-status{display:inline-flex;align-items:center;gap:4px;font-size:.8rem}.am-mask{font-family:monospace;font-size:.85rem;color:var(--text-secondary)}.am-editable-name{cursor:pointer;padding:2px 4px;border-radius:4px;transition:background .15s}.am-editable-name:hover{background:var(--bg-hover)}.am-inline-edit{padding:4px 8px;border:1px solid var(--accent);border-radius:4px;background:var(--bg-input);color:var(--text-primary);font-size:inherit;width:100%;max-width:200px}.am-actions{display:flex;gap:6px;flex-wrap:wrap}.am-actions-unlinked{gap:4px}.am-actions .am-btn-sm{white-space:nowrap}.am-action-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px;background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .15s;text-decoration:none}.am-action-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}.am-dropdown{position:relative;display:inline-block}.am-dropdown-trigger{display:inline-flex;align-items:center;justify-content:center;padding:6px;background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .15s}.am-dropdown-trigger:hover{background:var(--bg-hover);color:var(--text-primary)}.am-dropdown-menu{display:none;position:absolute;right:0;top:100%;margin-top:4px;min-width:180px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.am-dropdown:hover .am-dropdown-menu,.am-dropdown:focus-within .am-dropdown-menu{display:block}.am-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;color:var(--text-primary);font-size:.875rem;text-align:left;cursor:pointer;text-decoration:none;transition:background .15s}.am-dropdown-item:hover{background:var(--bg-hover)}.am-dropdown-item:disabled{opacity:.5;cursor:not-allowed}.am-dropdown-item svg{color:var(--text-muted);flex-shrink:0}.am-btn-danger{color:var(--negative);border-color:var(--negative)}.am-btn-danger:hover:not(:disabled){background:var(--negative);color:#fff}.am-expanded-row>td{padding:0!important;background:var(--bg-primary)}.am-source-details{padding:1rem 2rem}.am-source-details h4{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem}.am-source-table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border-radius:6px;overflow:hidden}.am-source-table th,.am-source-table td{padding:.5rem .75rem;text-align:left;font-size:.85rem}.am-source-table th{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;background:var(--bg-hover)}.am-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.am-modal{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;max-width:400px;width:90%;box-shadow:var(--shadow-lg)}.am-modal-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.am-modal-header h3{margin:0;font-size:1.1rem}.am-error-modal p{color:var(--text-secondary);margin-bottom:1.5rem}.am-error-modal .am-btn{width:100%;justify-content:center}.am-detail-modal{max-width:600px;max-height:80vh;display:flex;flex-direction:column}.am-detail-modal .am-modal-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-light);padding-bottom:1rem}.am-modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.am-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.am-detail-content{flex:1;overflow-y:auto;padding:1rem 0}.am-detail-section{margin-bottom:1.5rem}.am-detail-section:last-child{margin-bottom:0}.am-detail-section h4{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.am-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}.am-detail-row{display:flex;flex-direction:column;gap:2px}.am-detail-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.am-detail-value{font-size:.9rem;color:var(--text-primary)}.am-detail-mono{font-family:monospace;font-size:.8rem;word-break:break-all}.am-detail-source{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:8px;padding:1rem;margin-bottom:.75rem}.am-detail-source:last-child{margin-bottom:0}.am-detail-source-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;font-weight:500}.am-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-light)}.am-detail-editable .am-detail-value{cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:2px 6px;border-radius:4px;transition:background .15s}.am-detail-editable .am-detail-value:hover{background:var(--bg-hover)}.am-edit-icon{opacity:0;color:var(--text-muted);transition:opacity .15s}.am-detail-editable .am-detail-value:hover .am-edit-icon{opacity:1}.am-detail-edit-row{display:flex;align-items:center;gap:6px;flex:1}.am-detail-input{flex:1;padding:6px 10px;border:1px solid var(--accent);border-radius:4px;background:var(--bg-input);color:var(--text-primary);font-size:.9rem;min-width:0}.am-detail-input:focus{outline:none;box-shadow:0 0 0 2px var(--accent-light)}.am-detail-save-btn,.am-detail-cancel-btn{display:flex;align-items:center;justify-content:center;padding:6px;border:none;border-radius:4px;cursor:pointer;transition:all .15s}.am-detail-save-btn{background:var(--accent);color:#fff}.am-detail-save-btn:hover:not(:disabled){background:var(--accent-hover)}.am-detail-save-btn:disabled{opacity:.6;cursor:not-allowed}.am-detail-cancel-btn{background:var(--bg-hover);color:var(--text-secondary)}.am-detail-cancel-btn:hover{background:var(--border);color:var(--text-primary)}.am-detail-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.am-detail-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.am-detail-toggle input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.am-detail-badge{font-size:.65rem;padding:2px 8px;background:var(--warning-bg);color:var(--warning);border-radius:10px;text-transform:uppercase;font-weight:600;margin-left:8px}.am-detail-source-name{display:inline-flex;align-items:center;gap:6px;padding:2px 6px;border-radius:4px;cursor:pointer;transition:background .15s}.am-detail-source-name:hover{background:var(--bg-hover)}.am-detail-source-name:hover .am-edit-icon{opacity:1}.am-detail-link-section{border-top:1px solid var(--border-light);padding-top:1rem;margin-top:1rem}.am-detail-link-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.am-detail-link-header h4{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin:0}.am-detail-link-dropdown{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:.75rem;margin-bottom:.75rem}.am-detail-link-help{font-size:.8rem;color:var(--text-muted);margin:0 0 .75rem}.am-detail-link-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.am-detail-link-empty{font-size:.85rem;color:var(--text-muted);text-align:center;padding:1rem;margin:0}.am-detail-link-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;cursor:pointer;transition:all .15s;text-align:left;width:100%}.am-detail-link-item:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent)}.am-detail-link-item:disabled{opacity:.6;cursor:not-allowed}.am-detail-link-name{flex:1;font-size:.85rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.am-detail-link-mask{font-family:monospace;font-size:.8rem;color:var(--text-muted)}.am-detail-link-inst{font-size:.75rem;color:var(--text-muted);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.am-detail-link-sources{display:flex;gap:4px}.am-undo-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;background:var(--text-primary);color:var(--bg-primary);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;animation:slideUp .3s ease}.am-undo-toast button{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;background:#fff3;border:none;border-radius:4px;color:inherit;font-size:.85rem;cursor:pointer}.am-undo-toast button:hover{background:#ffffff4d}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@media (max-width: 768px){.am-stats-bar{gap:1rem;justify-content:center}.am-stat{min-width:60px}.am-stat-value{font-size:1.25rem}.am-action-bar{flex-wrap:wrap}.am-btn{flex:1 1 calc(50% - .5rem);justify-content:center}.am-show-hidden{flex:1 1 100%;margin-left:0;justify-content:center}.am-filter-bar{flex-direction:column}.am-search{max-width:100%}.am-filter-select{width:100%}.am-table{display:block;overflow-x:auto}.am-scan-group-header{flex-direction:column;gap:.5rem;align-items:flex-start}.am-scan-actions{width:100%}.am-scan-actions .am-btn{flex:1}}.custom-date-range{display:flex;align-items:center;gap:.5rem}.custom-date-range .date-input{padding:.4rem .6rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.8rem;cursor:pointer}.custom-date-range .date-input:focus{outline:none;border-color:var(--accent)}.custom-date-range .date-separator{font-size:.8rem;color:var(--text-muted)}.filter-section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.filter-section-header h4{margin:0}.selected-count-badge{font-size:.7rem;font-weight:600;padding:.2rem .5rem;background:var(--accent);color:#fff;border-radius:10px}.category-search-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.category-search-input{display:flex;align-items:center;gap:.4rem;flex:1;padding:.4rem .65rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-muted)}.category-search-input:focus-within{border-color:var(--accent)}.category-search-input input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.8rem}.category-search-input input::placeholder{color:var(--text-muted)}.category-search-input .search-clear{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;color:var(--text-muted);cursor:pointer}.category-search-input .search-clear:hover{color:var(--text-primary)}.select-top5-btn{padding:.4rem .65rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-size:.75rem;font-weight:600;color:var(--accent);cursor:pointer;white-space:nowrap;transition:all .15s}.select-top5-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.filter-checkboxes{display:flex;flex-wrap:wrap;gap:.25rem .75rem;max-height:200px;overflow-y:auto;padding:.25rem 0}.filter-checkbox-item{display:flex;align-items:center;gap:.4rem;padding:.3rem 0;cursor:pointer;min-width:150px}.filter-checkbox-item input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:14px;height:14px}.filter-checkbox-item .checkbox-label{font-size:.8rem;color:var(--text-secondary)}.filter-checkbox-item:hover .checkbox-label{color:var(--text-primary)}.filter-checkboxes .no-results{font-size:.8rem;color:var(--text-muted);font-style:italic;padding:.5rem 0}.budget-control{display:flex;align-items:center;gap:.75rem}.budget-toggle-label{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.budget-toggle-label input[type=checkbox]{accent-color:#f97316;cursor:pointer;width:14px;height:14px}.budget-input-group{display:flex;align-items:center;gap:0;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;overflow:hidden}.budget-input-group:focus-within{border-color:#f97316}.budget-dollar{padding:.35rem 0 .35rem .5rem;font-size:.8rem;color:var(--text-muted);font-weight:600}.budget-amount-input{width:100px;padding:.35rem .5rem;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.8rem}.budget-amount-input::placeholder{color:var(--text-muted)}.breakdown-table.enhanced.has-budget .breakdown-header,.breakdown-table.enhanced.has-budget .breakdown-row.clickable{grid-template-columns:1fr 100px 100px 100px 80px 24px}.quick-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem 0}.quick-filter-divider{color:var(--border);font-size:1rem;-webkit-user-select:none;user-select:none}.quick-filter-chip{display:flex;align-items:center;gap:.35rem;padding:.375rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s;white-space:nowrap}.quick-filter-chip:hover{border-color:var(--accent);color:var(--accent)}.quick-filter-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.quick-filter-chip.amount{font-size:.75rem;padding:.3rem .65rem}.filter-checkbox-item .checkbox-amount{margin-left:auto;font-size:.7rem;color:var(--text-muted);font-weight:500}.amount-range-inputs{display:flex;align-items:center;gap:.5rem}.amount-input-group{display:flex;align-items:center;gap:0;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;overflow:hidden}.amount-input-group:focus-within{border-color:var(--accent)}.amount-prefix{padding:.35rem 0 .35rem .5rem;font-size:.8rem;color:var(--text-muted);font-weight:600}.amount-input::placeholder{color:var(--text-muted)}.amount-separator{font-size:.8rem;color:var(--text-muted)}.comparison-custom-dates{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border);background:var(--bg-primary)}.comparison-custom-dates .date-input{padding:.4rem .5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.8rem;cursor:pointer;flex:1}.comparison-custom-dates .date-input:focus{outline:none;border-color:var(--accent)}.comparison-custom-dates .date-separator{font-size:.8rem;color:var(--text-muted)}.summary-value.small{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-sub{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.125rem}.breakdown-multi-view{animation:fadeIn .2s ease-out}.breakdown-controls{display:flex;gap:1.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.breakdown-selector{display:flex;align-items:center;gap:.5rem}.breakdown-selector label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}.breakdown-selector select{padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.85rem;cursor:pointer}.breakdown-selector select:focus{outline:none;border-color:var(--accent)}.breakdown-data-table{overflow-x:auto;max-height:400px;overflow-y:auto}.breakdown-table-header{display:flex;gap:.5rem;padding:.5rem .75rem;background:var(--bg-hover);border-radius:6px;margin-bottom:.5rem;font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary);position:sticky;top:0;z-index:1}.breakdown-table-row{display:flex;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border-light);font-size:.8rem;align-items:center}.breakdown-table-row:hover{background:var(--bg-hover)}.bd-col-name{min-width:140px;flex:1;display:flex;align-items:center;gap:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bd-col-name .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.bd-col-total{min-width:90px;text-align:right;font-weight:600}.bd-col-sub{min-width:80px;text-align:right;color:var(--text-secondary);font-size:.75rem}@media (max-width: 768px){.quick-filter-bar{gap:.375rem}.quick-filter-chip{font-size:.7rem;padding:.3rem .5rem}.breakdown-controls{flex-direction:column;gap:.75rem}.bd-col-sub{display:none}}.budget-table-light .cell-number.cell-over-budget{background:var(--tint-over-bg)!important;color:var(--tint-expense-text);border-left:2px solid var(--negative)}.budget-table-light .cell-number.cell-under-budget{background:var(--tint-green-bg)!important;color:var(--tint-green-text)}.budget-table-light .cell-number.cell-near-budget{background:var(--tint-warn-bg)!important;color:var(--tint-amber-text)}.ytd-var-content{display:inline-flex;align-items:center;gap:2px}.ytd-delta-arrow{display:inline-flex;align-items:center;line-height:1}.ytd-delta-arrow.over{color:#dc2626}.ytd-delta-arrow.under{color:#16a34a}.category-name-with-sparkline{display:inline-flex;align-items:center;gap:0}.category-sparkline{flex-shrink:0;opacity:.7;transition:opacity .15s}.row-detail:hover .category-sparkline{opacity:1}.btn-fix,.btn-ignore,.btn-keep,.btn-edit{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border:none;border-radius:4px;font-size:.6875rem;cursor:pointer;transition:all .15s}.btn-keep{background:var(--border);color:var(--text-secondary)}.btn-keep:hover{background:#d1d5db}.bill-quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.25rem}.bill-quick-stats .summary-card{display:flex;align-items:center;gap:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;transition:all .2s}.bill-quick-stats .summary-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.bill-quick-stats .card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;flex-shrink:0}.bill-quick-stats .card-content{display:flex;flex-direction:column}.bill-quick-stats .card-value{font-size:1.375rem;font-weight:600}.bill-quick-stats .card-label{font-size:.75rem;color:var(--text-muted)}.bill-insights-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:1.25rem;overflow:hidden}.insights-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer;transition:background .15s}.insights-header:hover{background:var(--bg-hover)}.insights-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem}.insights-list{padding:0 1.25rem 1rem;display:flex;flex-direction:column;gap:.5rem}.insight-item.clickable{cursor:pointer}.insight-item.clickable:hover{background:var(--bg-hover);transform:translate(4px)}.insight-item.info svg{color:var(--accent)}.insight-item.category svg{color:var(--accent)}.insight-item.warning svg{color:var(--warning)}.insight-item.action svg{color:var(--negative)}.insight-arrow{margin-left:auto;color:var(--text-muted);flex-shrink:0}.budget-impact-section{border-left:3px solid var(--accent)}.budget-impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.budget-impact-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem;background:var(--bg-secondary);border-radius:10px;text-align:center}.budget-impact-card.hero{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff}.budget-impact-card .impact-value{font-size:1.5rem;font-weight:600}.budget-impact-card .impact-label{font-size:.8rem;opacity:.8}.budget-category-chart{margin-bottom:1.5rem}.budget-category-chart h4,.budget-allocation h4,.yoy-comparison h4{font-size:.9rem;font-weight:600;margin:0 0 1rem;color:var(--text-secondary)}.pie-chart-visual{display:flex;flex-direction:column;gap:.5rem;flex:1}.pie-legend-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:6px;transition:background .15s}.pie-legend-item:hover{background:var(--bg-hover)}.pie-legend-name{font-weight:500;min-width:120px}.pie-legend-detail{font-size:.75rem;color:var(--text-muted);min-width:60px}.pie-legend-value{font-weight:500;margin-left:auto;font-size:.875rem}.allocation-table{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.allocation-header-row{display:grid;grid-template-columns:1fr 150px 180px;gap:1rem;padding:.5rem .75rem;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border)}.allocation-row{display:grid;grid-template-columns:1fr 150px 180px;gap:1rem;padding:.625rem .75rem;border-radius:6px;transition:background .15s}.allocation-row:hover{background:var(--bg-hover)}.alloc-category{font-weight:500}.alloc-count{font-size:.75rem;color:var(--text-muted)}.alloc-cost{font-weight:500}.alloc-suggested{font-weight:600;color:var(--accent)}.apply-budget-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.apply-budget-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.yoy-comparison{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.yoy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.yoy-card{display:flex;flex-direction:column;gap:.375rem;padding:1rem;background:var(--bg-secondary);border-radius:10px;text-align:center}.yoy-card.increase{border:1px solid var(--negative);background:var(--negative-bg)}.yoy-card.decrease{border:1px solid var(--positive);background:var(--positive-bg)}.yoy-label{font-size:.75rem;color:var(--text-muted)}.yoy-value{font-size:1.125rem;font-weight:600}.yoy-pct{font-size:.8rem;font-weight:400}.forecast-section{border-left:3px solid #10b981}.forecast-months{display:grid;gap:1rem}.forecast-month{background:var(--bg-secondary);border-radius:10px;padding:1rem 1.25rem;border:1px solid var(--border)}.forecast-month.high-cost{border-color:var(--warning);background:var(--warning-bg)}.forecast-month-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.forecast-month-name{font-weight:600;font-size:1rem}.forecast-month-total{margin-left:auto;font-weight:500;font-size:.9rem}.forecast-high-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:var(--warning);color:#fff;border-radius:4px;font-size:.7rem;font-weight:600}.forecast-bills-list{display:flex;flex-direction:column;gap:.375rem}.forecast-bill-item{display:flex;align-items:center;gap:1rem;padding:.375rem .5rem;border-radius:4px;font-size:.85rem;transition:background .15s}.forecast-bill-item:hover{background:var(--bg-hover)}.forecast-bill-date{font-size:.8rem;color:var(--text-muted);min-width:70px}.forecast-bill-merchant{flex:1;font-weight:500}.forecast-bill-amount{font-weight:500;font-family:monospace}.anomalies-detail-section{border-left:3px solid var(--negative)}.anomalies-detail-list{display:flex;flex-direction:column;gap:1rem}.anomaly-detail-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;overflow:hidden}.anomaly-detail-card.high{border-color:var(--negative)}.anomaly-detail-card.medium{border-color:var(--warning)}.anomaly-detail-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.anomaly-detail-header svg{color:var(--negative);flex-shrink:0}.anomaly-merchant{font-weight:600}.anomaly-severity-badge{margin-left:auto;padding:.125rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600}.anomaly-severity-badge.high{background:var(--negative);color:#fff}.anomaly-severity-badge.medium{background:var(--warning);color:#fff}.anomaly-severity-badge.action-needed{background:var(--negative);color:#fff}.anomaly-detail-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.anomaly-stat{display:flex;flex-direction:column;gap:.25rem}.anomaly-stat.highlight{grid-column:1 / -1;background:var(--bg-hover);padding:.75rem;border-radius:6px}.anomaly-stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.anomaly-stat-value{font-weight:500;font-size:.9rem}@media (max-width: 768px){.bill-quick-stats,.budget-impact-grid{grid-template-columns:1fr}.allocation-header-row,.allocation-row{grid-template-columns:1fr;gap:.25rem}.yoy-grid,.anomaly-detail-body{grid-template-columns:1fr}}.filter-group.amount-range{display:flex;align-items:center;gap:.35rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:.35rem .6rem;flex-wrap:wrap}.filter-group.amount-range .amount-input-sm{background:none;border:none;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:.8rem;outline:none;width:60px;padding:.15rem .25rem;text-align:right}.filter-group.amount-range .amount-input-sm:focus{border-bottom-color:var(--accent)}.filter-group.amount-range .amount-input-sm::placeholder{color:var(--text-secondary);opacity:.6}.filter-group.amount-range>span{color:var(--text-secondary);font-size:.8rem}.amount-input-sm::-webkit-outer-spin-button,.amount-input-sm::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.amount-input-sm[type=number]{-moz-appearance:textfield}.amount-presets{display:flex;gap:.25rem;margin-left:.25rem}.preset-btn{background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border);border-radius:4px;padding:.15rem .4rem;font-size:.65rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .15s ease}.preset-btn:hover{background:var(--bg-hover, #e2e8f0);border-color:var(--accent);color:var(--text-primary)}.preset-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.dup-badge{display:inline-flex;align-items:center;background:#f97316;color:#fff;font-size:.6rem;font-weight:600;padding:.1rem .35rem;border-radius:4px;cursor:pointer;position:relative;white-space:nowrap;letter-spacing:.02em;flex-shrink:0}.dup-badge:hover{background:#ea580c}.dup-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg-card, #1e293b);border:1px solid var(--border);border-radius:6px;padding:.5rem .65rem;font-size:.7rem;font-weight:400;color:var(--text-primary);white-space:normal;min-width:200px;max-width:320px;z-index:100;box-shadow:0 4px 12px #0003;line-height:1.4}.dup-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--border)}.mobile-filters-toggle{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:none;color:var(--text-primary);font-size:.85rem;font-weight:500;padding:.5rem 0;cursor:pointer}.mobile-filters-toggle svg.rotated{transform:rotate(180deg)}.mobile-filters-toggle svg{transition:transform .2s ease}.mobile-filters-toggle span{flex:1;text-align:left}.filters-row.mobile-hidden{display:none}.mobile-filters .filters-row{flex-direction:column;gap:.5rem}.mobile-filters .filters-row>*{width:100%}.mobile-filters .filter-group{width:100%}.mobile-filters .filter-group select{width:100%;flex:1}.mobile-filters .filter-group.amount-range{flex-wrap:wrap}.mobile-filters .amount-presets{width:100%;margin-left:0;margin-top:.25rem}.mobile-filters .search-box.large{width:100%}.mobile-filters .toggle-filters{width:100%;justify-content:flex-start}.mobile-card-view{display:flex;flex-direction:column;gap:.5rem}.mobile-txn-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:.75rem;cursor:pointer;transition:all .15s ease}.mobile-txn-card:hover{border-color:var(--accent)}.mobile-txn-card.needs-review{border-left:3px solid #f59e0b}.mobile-txn-card.selected{border-color:var(--accent);background:#6366f10d}.mobile-txn-card.expanded{border-color:var(--accent)}.mobile-card-main{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.mobile-card-left{flex:1;min-width:0}.mobile-card-desc{display:flex;align-items:center;gap:.35rem;font-size:.9rem;font-weight:500;color:var(--text-primary);line-height:1.3;margin-bottom:.3rem;flex-wrap:wrap}.mobile-card-meta{display:flex;gap:.5rem;font-size:.75rem;color:var(--text-secondary)}.mobile-card-date{white-space:nowrap}.mobile-card-account{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}.mobile-card-amount{font-size:1.1rem;font-weight:700}.mobile-card-amount.positive{color:var(--positive)}.mobile-card-amount.negative{color:var(--negative)}.category-tag.mobile{font-size:.65rem;padding:.1rem .4rem}.mobile-card-expanded{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.mobile-card-detail{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-secondary)}.mobile-card-detail.warning{color:#f59e0b}.mobile-card-actions{display:flex;gap:.5rem;margin-top:.25rem}.mobile-action-btn{display:flex;align-items:center;gap:.3rem;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border);border-radius:6px;padding:.4rem .65rem;font-size:.75rem;color:var(--text-primary);cursor:pointer;transition:all .15s ease}.mobile-action-btn:hover{background:var(--bg-hover, #e2e8f0);border-color:var(--accent)}@media (max-width: 768px){.transactions-page .page-header{flex-direction:column;gap:.5rem;align-items:flex-start}.transactions-page .transaction-summary{flex-direction:row;gap:.5rem}.transactions-page .summary-item{min-width:0;padding:.4rem .5rem}.transactions-page .summary-item .value{font-size:.85rem}.transactions-page .pagination{justify-content:center}.transactions-page .bulk-action-bar{flex-direction:column;gap:.5rem;align-items:stretch}.transactions-page .bulk-actions{display:flex;gap:.5rem}.transactions-page .bulk-actions .bulk-btn{flex:1;justify-content:center}}.confidence-badge-wrapper{display:inline-flex;align-items:center;gap:.25rem;position:relative}.confidence-info-trigger{display:inline-flex;align-items:center;cursor:help;position:relative;color:var(--text-muted);transition:color .15s}.confidence-info-trigger:hover{color:var(--accent)}.confidence-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:.75rem;min-width:220px;box-shadow:0 8px 24px #00000026;z-index:100;pointer-events:none}.confidence-info-trigger:hover .confidence-tooltip{display:flex;flex-direction:column;gap:.375rem}.confidence-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--border)}.confidence-tooltip-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding-bottom:.375rem;border-bottom:1px solid var(--border);margin-bottom:.125rem}.confidence-tooltip-row{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;padding:.125rem 0}.confidence-tooltip-label{color:var(--text-secondary)}.confidence-tooltip-value{font-weight:600;color:var(--positive)}.confidence-tooltip-value.zero{color:var(--text-muted)}.confidence-tooltip-total{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:700;padding-top:.375rem;border-top:1px solid var(--border);margin-top:.125rem;color:var(--text-primary)}.calendar-view-toggle{display:flex;gap:0;margin-left:1rem;border:1px solid var(--border);border-radius:8px;overflow:hidden}.calendar-view-toggle button{width:auto;padding:.375rem .875rem;font-size:.8rem;font-weight:500;border:none;border-radius:0;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .15s}.calendar-view-toggle button:first-child{border-right:1px solid var(--border)}.calendar-view-toggle button.active{background:var(--accent);color:#fff}.calendar-view-toggle button:hover:not(.active){background:var(--bg-hover)}.calendar-day.is-today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.day-number.today{background:var(--accent);color:#fff;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem}.calendar-bill.cal-upcoming{border-left:3px solid #10b981}.calendar-bill.cal-due-today{border-left:3px solid #f59e0b;background:#f59e0b14}.calendar-bill.cal-overdue{border-left:3px solid #ef4444;background:#ef444414}.calendar-bill.cal-paused{border-left:3px solid #6b7280;opacity:.6}.cal-action-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;z-index:50;overflow:hidden;min-width:130px}.cal-action-menu button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;background:transparent;font-size:.75rem;cursor:pointer;color:var(--text-primary);transition:background .15s;white-space:nowrap}.cal-action-menu button:hover{background:var(--bg-hover)}.cal-action-menu button:not(:last-child){border-bottom:1px solid var(--border)}.calendar-legend{display:flex;gap:1.25rem;padding:.75rem 0;margin-top:.75rem;border-top:1px solid var(--border);flex-wrap:wrap}.legend-dot{width:10px;height:10px;border-radius:3px}.legend-dot.cal-upcoming{background:#10b981}.legend-dot.cal-due-today{background:#f59e0b}.legend-dot.cal-overdue{background:#ef4444}.legend-dot.cal-paused{background:#6b7280}.calendar-week-view{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:10px;overflow:hidden}.week-day-row{display:flex;border-bottom:1px solid var(--border);min-height:60px;transition:background .15s}.week-day-row:last-child{border-bottom:none}.week-day-row.is-today{background:var(--accent-light)}.week-day-row.has-bills{background:var(--bg-secondary)}.week-day-row.is-today.has-bills{background:var(--accent-light)}.week-day-label{display:flex;align-items:center;gap:.5rem;min-width:120px;padding:.75rem 1rem;border-right:1px solid var(--border);background:var(--bg-secondary)}.week-day-name{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;min-width:30px}.week-day-number{font-size:1rem;font-weight:600}.week-day-number.today{background:var(--accent);color:#fff;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem}.week-day-month{font-size:.7rem;color:var(--text-muted)}.week-day-bills{flex:1;display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem;align-items:center}.week-no-bills{font-size:.8rem;color:var(--text-muted);font-style:italic}.week-bill-item{display:flex;align-items:center;gap:.75rem;padding:.375rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s;position:relative}.week-bill-item:hover{box-shadow:var(--shadow)}.week-bill-item.cal-upcoming{border-left:3px solid #10b981}.week-bill-item.cal-due-today{border-left:3px solid #f59e0b;background:#f59e0b0f}.week-bill-item.cal-overdue{border-left:3px solid #ef4444;background:#ef44440f}.week-bill-item.cal-paused{border-left:3px solid #6b7280;opacity:.6}.week-bill-info{display:flex;flex-direction:column}.week-bill-merchant{font-weight:600;font-size:.85rem}.week-bill-category{font-size:.7rem;color:var(--text-muted)}.week-bill-amount{font-weight:600;font-size:.875rem;white-space:nowrap}.week-action-menu{top:calc(100% + 4px);left:0;right:auto}.detection-bulk-actions{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.bulk-action-group{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.bulk-impact-text{font-size:.75rem;color:var(--text-muted);font-style:italic}.bulk-impact-text.positive{color:var(--positive)}.bulk-reject-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;border:1px solid var(--negative);background:var(--negative-bg);color:var(--negative);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.bulk-reject-btn:hover{background:var(--negative);color:#fff}.detection-group-header{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;margin-top:.75rem}.detection-group-header:first-child{margin-top:0}.detection-group-header.high{background:var(--positive-bg);color:var(--positive)}.detection-group-header.medium{background:var(--warning-bg);color:var(--warning)}.detection-group-header.low{background:var(--negative-bg);color:var(--negative)}.detection-group-count{margin-left:auto;font-weight:500;font-size:.75rem;opacity:.8}.detection-group-cost{font-size:.75rem;font-weight:700;padding-left:.5rem;border-left:1px solid currentColor;opacity:.7}.modal-content.confirm-dialog{max-width:480px}.reject-preview-list{display:flex;flex-direction:column;gap:.375rem;margin-top:.75rem;max-height:200px;overflow-y:auto}.reject-preview-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:6px;font-size:.8rem}.reject-preview-item span:first-child{flex:1;font-weight:500}.reject-preview-item .confidence-badge{padding:.125rem .5rem;font-size:.7rem}.modal-btn.danger{background:var(--negative);color:#fff;border:none}.modal-btn.danger:hover{opacity:.9}@media (max-width: 768px){.confidence-tooltip{left:auto;right:-10px;transform:none}.confidence-tooltip:after{left:auto;right:14px;transform:none}.detection-header{flex-direction:column;align-items:flex-start;gap:.75rem}.detection-bulk-actions,.bulk-action-group{align-items:flex-start;width:100%}.bulk-confirm-btn,.bulk-reject-btn{width:100%;justify-content:center}.week-day-label{min-width:80px;padding:.5rem;flex-direction:column;gap:.125rem;align-items:flex-start}.week-day-bills{flex-direction:column;padding:.375rem .5rem}.week-bill-item{width:100%}.calendar-view-toggle{margin-left:0;margin-top:.5rem}.calendar-header{flex-wrap:wrap}.calendar-legend{gap:.75rem}}.nav-section{margin-bottom:.25rem}.nav-section-label{display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.75rem 1.25rem .25rem;opacity:.7}.nav-section-divider{height:1px;background:var(--border);margin:.5rem .75rem;opacity:.5}.balance-sheet-section{margin-top:2rem}.balance-sheet-section>h2{font-size:1.2rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.bs-net-worth-bar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#16a34a;color:#fff;border-radius:10px;margin-bottom:1rem}.bs-net-worth-bar h3{margin:0;font-size:1.1rem;font-weight:700;letter-spacing:.03em}.bs-net-worth-bar .bs-net-worth-amount{font-size:1.4rem;font-weight:800}[data-theme=dark] .bs-net-worth-bar{background:#166534}.bs-view-toggle{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.bs-view-toggle button{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .15s}.bs-view-toggle button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.bs-ratio-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;margin-bottom:1.5rem;background:var(--border)}.bs-ratio-bar .ratio-assets{background:#16a34a;transition:width .3s ease}.bs-ratio-bar .ratio-liabilities{background:#475569;transition:width .3s ease}.bs-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 768px){.bs-columns{grid-template-columns:1fr}}.bs-column{min-width:0}.bs-group-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bs-group-total{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.bs-column-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;border-radius:8px;margin-bottom:.75rem;font-weight:700;font-size:.9rem}.bs-column-header.assets{background:#16a34a;color:#fff;font-size:1rem;font-weight:800;padding:.75rem 1rem}.bs-column-header.liabilities{background:#3b5998;color:#fff;font-size:1rem;font-weight:800;padding:.75rem 1rem}[data-theme=dark] .bs-column-header.assets{background:#166534;color:#bbf7d0}[data-theme=dark] .bs-column-header.liabilities{background:#2d4a7a;color:#bfdbfe}.bs-group{margin-bottom:.75rem;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.bs-group-header{display:flex;align-items:center;justify-content:space-between;padding:.55rem .75rem;font-size:.82rem;font-weight:700;color:#fff;letter-spacing:.02em;text-transform:uppercase}.bs-group-header .bs-group-updated{font-size:.7rem;font-weight:400;opacity:.8}.bs-account-row{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem;font-size:.8rem;border-top:1px solid var(--border);background:var(--bg-card);gap:.5rem}.bs-account-row:hover{background:var(--bg-hover)}.bs-account-name{flex:1;min-width:0}.bs-account-name .account-num{color:var(--text-muted);font-size:.7rem;margin-left:.25rem}.bs-account-updated{font-size:.7rem;color:var(--text-muted);white-space:nowrap}.bs-account-updated.stale{color:#dc2626;font-style:italic}.bs-account-balance{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.bs-account-actions{display:flex;gap:.25rem}.bs-account-actions button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;transition:all .15s}.bs-account-actions button:hover{background:var(--bg-hover);color:var(--accent)}.bs-summary-row{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem;font-size:.8rem;border-top:1px solid var(--border);background:var(--bg-card)}.bs-summary-row .institution-name{font-weight:600}.bs-summary-row .institution-count{font-size:.7rem;color:var(--text-muted);margin-left:.5rem}.bs-summary-row .institution-total{font-weight:600;font-variant-numeric:tabular-nums}.reconcile-page{max-width:100%;margin:0 auto;overflow:hidden}.reconcile-page .page-header{margin-bottom:1.5rem}.reconcile-page .page-header h1{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;margin-bottom:.25rem}.reconcile-page .page-header p{color:var(--text-muted);font-size:.9rem}.reconcile-tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--border);margin-bottom:1.5rem}.reconcile-tab{display:flex;align-items:center;gap:.4rem;padding:.6rem 1rem;border:none;background:none;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.reconcile-tab:hover:not(:disabled){color:var(--text-primary)}.reconcile-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.reconcile-tab:disabled{opacity:.4;cursor:not-allowed}.reconcile-upload-section{padding:0}.reconcile-account-select{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.reconcile-account-select label{font-size:.85rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.reconcile-account-select select{padding:.4rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-size:.85rem;min-width:200px}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;border:2px dashed var(--border);border-radius:12px;background:var(--bg-card);cursor:pointer;transition:all .2s;text-align:center}.upload-zone:hover{border-color:var(--accent);background:var(--bg-hover)}.upload-zone.drag-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-card));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}.upload-zone.uploading{pointer-events:none;opacity:.8}.upload-zone h3{margin:1rem 0 .25rem;font-size:1.1rem;color:var(--text-primary)}.upload-zone p{color:var(--text-muted);font-size:.85rem}.upload-zone svg{color:var(--text-muted)}.upload-formats{margin-top:1rem;font-size:.8rem;color:var(--text-muted)}.upload-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-top:1rem;background:#fef2f2;color:#991b1b;border-radius:8px;font-size:.85rem}[data-theme=dark] .upload-error{background:#450a0a;color:#fca5a5}.parsed-statement-preview{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.parsed-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--bg-primary);border-bottom:1px solid var(--border);gap:1rem;flex-wrap:wrap}.parsed-file-info{display:flex;align-items:center;gap:.75rem}.parsed-file-info h3{margin:0;font-size:.95rem}.parsed-meta{font-size:.75rem;color:var(--text-muted)}.parsed-actions{display:flex;gap:.5rem}.btn-primary,.btn-secondary{display:flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border:1px solid var(--border);border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-primary.small,.btn-secondary.small{padding:.35rem .7rem;font-size:.75rem}.parsed-txn-list{max-height:350px;overflow-y:auto}.parsed-txn-header{display:grid;grid-template-columns:100px 1fr 100px 100px;gap:.5rem;padding:.5rem 1rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-primary);position:sticky;top:0}.parsed-txn-row{display:grid;grid-template-columns:100px 1fr 100px 100px;gap:.5rem;padding:.4rem 1rem;font-size:.8rem;border-bottom:1px solid var(--border)}.parsed-txn-row .positive{color:var(--positive)}.parsed-txn-row .negative{color:var(--negative)}.parsed-txn-more{padding:.75rem;text-align:center;color:var(--text-muted);font-size:.8rem;font-style:italic}.reconcile-account-banner{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;font-size:.9rem;color:var(--text-secondary)}.reconcile-account-banner strong{color:var(--text-primary)}.reconcile-account-banner svg{color:var(--accent);flex-shrink:0}.reconcile-warning-banner{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:#ffaa0014;border:1px solid rgba(255,170,0,.3);border-radius:8px;margin-bottom:1rem;font-size:.85rem;color:var(--text-secondary)}.reconcile-warning-banner svg{color:#e6a700;flex-shrink:0;margin-top:2px}.reconcile-warning-banner strong{color:var(--text-primary)}.reconcile-warning-banner code{background:var(--bg-hover);padding:1px 4px;border-radius:3px;font-size:.8rem}.section-note{font-size:.85rem;color:var(--text-muted);margin:-.5rem 0 1rem;font-style:italic}.reconcile-summary-bar{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.summary-stat{display:flex;align-items:center;gap:.4rem;padding:.5rem .9rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;font-size:.8rem}.summary-stat .stat-value{font-weight:700;font-size:1rem}.summary-stat .stat-label{color:var(--text-muted);font-size:.7rem}.summary-stat.matched{color:#16a34a}.summary-stat.fuzzy{color:#ca8a04}.summary-stat.unmatched{color:#dc2626}.summary-stat.extra{color:#6366f1}.summary-stat.rate .stat-value{color:var(--accent)}.reconcile-action-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.filter-buttons{display:flex;gap:.25rem}.filter-pill{padding:.35rem .65rem;border:1px solid var(--border);border-radius:15px;background:var(--bg-card);color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .15s}.filter-pill:hover{color:var(--text-primary);border-color:var(--text-muted)}.filter-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.reconcile-section{margin-bottom:1.5rem}.reconcile-section h3{display:flex;align-items:center;gap:.5rem;font-size:.95rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.reconcile-section.matched h3{color:#16a34a}.reconcile-section.fuzzy h3{color:#ca8a04}.reconcile-section.unmatched h3{color:#dc2626}.reconcile-section.extra h3{color:#6366f1}.extra-group{margin-bottom:1.5rem}.extra-group-header{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;padding:.5rem 0;color:var(--text-secondary)}.extra-group-header.duplicate-header{color:#f59e0b}.extra-group-header.cancelling-header{color:#8b5cf6}.duplicate-row{border-left:3px solid #f59e0b!important}.duplicate-row.exact-dup{border-left-color:#ef4444!important}.cancel-row{border-left:3px solid #8b5cf6!important;opacity:.8}.match-confidence.duplicate{color:#f59e0b}.match-confidence.cancel{color:#8b5cf6}.match-dup-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#f59e0b1f;color:#f59e0b}.exact-dup .match-dup-badge{background:#ef44441f;color:#ef4444}.match-cancel-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#8b5cfc1f;color:#8b5cf6}.dup-action-hint{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;margin-top:.75rem;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:6px;font-size:.85rem;color:var(--text-secondary)}.dup-action-hint svg{flex-shrink:0;color:#f59e0b;margin-top:.1rem}.reconcile-match-row{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:.5rem;overflow:hidden;transition:border-color .15s}.reconcile-match-row:hover{border-color:var(--text-muted)}.reconcile-match-row.confirmed{border-color:#16a34a;background:color-mix(in srgb,#16a34a 4%,var(--bg-card))}.reconcile-match-row.rejected{border-color:#dc2626;opacity:.6}.match-row-main{display:grid;grid-template-columns:1fr 1fr auto;gap:.75rem;padding:.6rem .9rem;cursor:pointer;align-items:center}.match-row-left{display:flex;align-items:center;gap:.5rem}.match-confidence{display:flex;align-items:center;justify-content:center;flex-shrink:0}.match-confidence.high{color:#16a34a}.match-confidence.medium{color:#ca8a04}.match-confidence.none{color:var(--text-muted)}.match-stmt-info,.match-app-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.match-date{font-size:.7rem;color:var(--text-muted)}.match-desc{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-reason{font-size:.7rem;color:var(--text-muted);font-style:italic}.match-row-center{display:flex;align-items:center;gap:.5rem}.match-link-icon{color:var(--text-muted);flex-shrink:0}.match-no-pair{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-muted);font-style:italic}.match-row-right{display:flex;align-items:center;gap:.5rem}.match-amount{font-weight:600;font-size:.85rem;font-variant-numeric:tabular-nums}.match-amount.positive{color:var(--positive)}.match-amount.negative{color:var(--negative)}.match-row-expanded{padding:.75rem 1rem;border-top:1px solid var(--border);background:var(--bg-primary)}.match-comparison{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.75rem}@media (max-width: 600px){.match-comparison{grid-template-columns:1fr}.match-row-main{grid-template-columns:1fr auto}.match-row-center{display:none}}.match-side{padding:.6rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-card)}.match-side h4{display:flex;align-items:center;gap:.35rem;margin:0 0 .5rem;font-size:.8rem;color:var(--text-secondary)}.match-detail-grid{display:grid;grid-template-columns:auto 1fr;gap:.2rem .75rem;font-size:.8rem}.match-detail-grid span:nth-child(odd){color:var(--text-muted);font-weight:500}.match-actions{display:flex;gap:.5rem;margin-top:.5rem}.match-btn{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .15s;background:var(--bg-card);color:var(--text-secondary)}.match-btn.confirm:hover{background:#16a34a;color:#fff;border-color:#16a34a}.match-btn.reject:hover{background:#dc2626;color:#fff;border-color:#dc2626}.match-status{display:flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:500;margin-top:.5rem}.match-status.confirmed{color:#16a34a}.match-status.rejected{color:#dc2626}.reconcile-progress{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid var(--border);margin-top:1rem}.reconcile-progress .progress-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.reconcile-progress .progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s ease}.reconcile-progress span{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.empty-history{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--text-muted)}.empty-history h3{margin:1rem 0 .25rem;color:var(--text-primary)}.empty-history p{font-size:.85rem}.history-card{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.history-card-main{flex:1}.history-file{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;margin-bottom:.25rem}.history-meta{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-muted);margin-bottom:.3rem}.history-status.complete{color:#16a34a;font-weight:600}.history-status.pending{color:#ca8a04;font-weight:600}.history-stats{display:flex;gap:.75rem;font-size:.75rem}.history-stats .matched{color:#16a34a}.history-stats .fuzzy{color:#ca8a04}.history-stats .unmatched{color:#dc2626}.history-stats .confirmed{color:var(--accent)}.history-delete{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-muted);border-radius:6px;cursor:pointer;transition:all .15s}.history-delete:hover{background:#fef2f2;color:#dc2626}[data-theme=dark] .history-delete:hover{background:#450a0a}.year-header.collapsed{background:#f0f4ff;min-width:100px}.year-header .year-toggle{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-weight:700;font-size:.8rem;color:var(--accent, #3b82f6);padding:2px 6px;border-radius:4px;transition:background .15s}.year-header .year-toggle:hover{background:#3b82f61a}.year-header .collapse-hint{font-size:.6rem;font-weight:400;color:#94a3b8;margin-left:4px;opacity:.8}.col-quarter .quarter-toggle{display:inline-flex;align-items:center;gap:2px;background:none;border:none;cursor:pointer;font-weight:600;font-size:.72rem;color:var(--text-secondary);padding:1px 4px;border-radius:3px;transition:all .15s;white-space:nowrap}.col-quarter .quarter-toggle:hover{background:var(--border);color:var(--accent, #3b82f6)}.col-quarter.collapsed .quarter-toggle{color:var(--accent, #3b82f6)}.cell-number.quarter-total.collapsed{background:var(--bg-primary);font-weight:600;border-left:2px solid var(--border);border-right:2px solid var(--border)}.bulk-adjust-modal{max-width:900px;width:90vw}.bulk-adjust-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;min-height:400px}.bulk-adjust-categories{display:flex;flex-direction:column;gap:.5rem;border-right:1px solid var(--border);padding-right:1.5rem}.bulk-search-box{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary)}.bulk-search-box input{border:none;background:transparent;outline:none;flex:1;font-size:.8rem;color:var(--text-primary)}.bulk-search-box .clear-search{background:none;border:none;cursor:pointer;color:#94a3b8;padding:0;display:flex}.bulk-select-header{display:flex;align-items:center;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--border)}.bulk-select-all{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--text-secondary);cursor:pointer}.bulk-selected-count{font-size:.7rem;color:#94a3b8}.bulk-category-list{flex:1;overflow-y:auto;max-height:350px;display:flex;flex-direction:column;gap:2px}.bulk-category-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;cursor:pointer;transition:background .1s;font-size:.75rem}.bulk-category-item:hover{background:#f1f5f9}.bulk-category-item.selected{background:#eff6ff;border-left:2px solid var(--accent, #3b82f6)}.bulk-category-item input[type=checkbox]{flex-shrink:0}.bulk-cat-info{flex:1;display:flex;flex-direction:column;min-width:0}.bulk-cat-name{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bulk-cat-group{font-size:.65rem;color:#94a3b8}.bulk-cat-total{font-size:.72rem;color:var(--text-muted);font-weight:500;white-space:nowrap}.bulk-adjust-actions{display:flex;flex-direction:column;gap:1rem}.bulk-action-section h4{margin:0 0 .5rem;font-size:.8rem;color:var(--text-secondary)}.bulk-action-select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:.8rem;background:var(--bg-card);color:var(--text-primary);margin-bottom:.5rem}.bulk-value-input{display:flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:6px;padding:4px 10px;background:var(--bg-card);margin-bottom:.5rem}.bulk-value-input input{flex:1;border:none;outline:none;font-size:.8rem;padding:4px 0;color:var(--text-primary);background:transparent}.bulk-value-prefix,.bulk-value-suffix{font-size:.75rem;color:#94a3b8;font-weight:600}.bulk-preview-btn{display:inline-flex;align-items:center;gap:6px;width:100%;justify-content:center}.bulk-preview-section{flex:1;overflow:hidden;display:flex;flex-direction:column}.bulk-preview-section h4{margin:0 0 .5rem;font-size:.8rem;color:var(--text-secondary)}.bulk-preview-table-wrapper{overflow-y:auto;max-height:200px;border:1px solid var(--border);border-radius:6px}.bulk-preview-table{width:100%;border-collapse:collapse;font-size:.72rem}.bulk-preview-table th{background:var(--bg-primary);padding:6px 8px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);position:sticky;top:0}.bulk-preview-table td{padding:5px 8px;border-bottom:1px solid #f1f5f9;color:var(--text-primary)}.bulk-preview-table tfoot td{background:var(--bg-primary);border-top:2px solid var(--border);font-weight:600}.preview-cat-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-num{text-align:right;font-variant-numeric:tabular-nums}.preview-num.positive{color:#16a34a}.preview-num.negative{color:#dc2626}.bulk-modal-actions{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border);display:flex;gap:.5rem;justify-content:flex-end}.bulk-modal-actions .btn-primary{display:inline-flex;align-items:center;gap:6px}.spread-menu-btn{display:none;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#94a3b8;padding:2px;border-radius:3px;margin-left:4px;transition:all .15s;flex-shrink:0}.row-detail:hover .spread-menu-btn{display:inline-flex}.spread-menu-btn:hover{background:var(--border);color:var(--text-secondary)}.spread-context-menu{position:fixed;z-index:1000;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 30px #0000001f;min-width:260px;padding:4px;animation:spreadMenuIn .15s ease-out}@keyframes spreadMenuIn{0%{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.spread-menu-header{display:flex;align-items:center;gap:6px;padding:8px 12px 4px;font-size:.75rem;font-weight:600;color:var(--text-primary);border-bottom:1px solid #f1f5f9;margin-bottom:4px}.spread-menu-subtitle{padding:0 12px 8px;font-size:.68rem;color:#94a3b8;border-bottom:1px solid #f1f5f9;margin-bottom:4px}.spread-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:none;cursor:pointer;border-radius:6px;text-align:left;transition:background .1s;color:var(--text-primary)}.spread-menu-item:hover{background:#f1f5f9}.spread-menu-item .spread-icon{font-size:.9rem;font-weight:700;width:16px;text-align:center;color:var(--text-muted)}.spread-menu-item div{display:flex;flex-direction:column}.spread-menu-item strong{font-size:.78rem;font-weight:600}.spread-menu-item span{font-size:.65rem;color:#94a3b8}.whatif-modal{max-width:850px;width:90vw}.whatif-layout{display:flex;flex-direction:column;gap:1.5rem}.whatif-add-section h4,.whatif-adjustments h4,.whatif-results h4{margin:0 0 .5rem;font-size:.85rem;color:var(--text-primary)}.whatif-search-box{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);margin-bottom:.5rem}.whatif-search-box input{border:none;background:transparent;outline:none;flex:1;font-size:.8rem;color:var(--text-primary)}.whatif-category-picker{display:flex;flex-wrap:wrap;gap:4px;max-height:120px;overflow-y:auto;padding:4px 0}.whatif-pick-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:16px;background:var(--bg-card);cursor:pointer;font-size:.72rem;color:var(--text-secondary);transition:all .15s}.whatif-pick-btn:hover:not(:disabled){background:#eff6ff;border-color:var(--accent, #3b82f6);color:var(--accent, #3b82f6)}.whatif-pick-btn:disabled{opacity:.4;cursor:default}.whatif-pick-btn.added{background:#eff6ff;border-color:var(--accent, #3b82f6);color:var(--accent, #3b82f6)}.whatif-pick-type{font-size:.6rem;color:#94a3b8;padding-left:4px;border-left:1px solid var(--border)}.whatif-adjustments{padding:1rem;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border)}.whatif-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:2rem;color:#94a3b8;text-align:center}.whatif-empty p{font-size:.78rem;margin:0}.whatif-adj-list{display:flex;flex-direction:column;gap:6px}.whatif-adj-row{display:flex;align-items:center;gap:12px;padding:6px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px}.whatif-adj-info{flex:1;display:flex;flex-direction:column;min-width:0}.whatif-adj-name{font-size:.78rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.whatif-adj-type{font-size:.65rem;color:#94a3b8}.whatif-adj-input{display:flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:4px;padding:2px 8px;background:var(--bg-card)}.whatif-adj-input input{width:60px;border:none;outline:none;font-size:.8rem;text-align:right;padding:4px 0;color:var(--text-primary);background:transparent}.whatif-adj-input span{font-size:.75rem;color:#94a3b8;font-weight:600}.whatif-adj-remove{background:none;border:none;cursor:pointer;color:#94a3b8;padding:4px;border-radius:4px;display:flex;transition:all .15s}.whatif-adj-remove:hover{background:#fef2f2;color:#dc2626}.whatif-results{padding-top:.5rem;border-top:1px solid var(--border)}.whatif-result-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;margin-bottom:1rem}.whatif-card{padding:.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:4px}.whatif-card.impact{border-width:2px}.whatif-card.impact.positive{border-color:#16a34a;background:#f0fdf4}.whatif-card.impact.negative{border-color:#dc2626;background:#fef2f2}.whatif-card-label{font-size:.68rem;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.whatif-card-value{font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums}.whatif-card-value.positive{color:#16a34a}.whatif-card-value.negative{color:#dc2626}.whatif-detail-table-wrapper{border:1px solid var(--border);border-radius:6px;overflow:hidden}.whatif-detail-table{width:100%;border-collapse:collapse;font-size:.75rem}.whatif-detail-table th{background:var(--bg-primary);padding:6px 10px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border)}.whatif-detail-table td{padding:6px 10px;border-bottom:1px solid #f1f5f9;color:var(--text-primary)}.whatif-detail-table .num{text-align:right;font-variant-numeric:tabular-nums}.whatif-detail-table .num.positive{color:#16a34a}.whatif-detail-table .num.negative{color:#dc2626}.type-badge{display:inline-block;padding:1px 6px;border-radius:10px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.type-badge.income{background:#dcfce7;color:#166534}.type-badge.fixed{background:#dbeafe;color:#1e40af}.type-badge.discretionary{background:#fef3c7;color:#92400e}.type-badge.loans{background:#fce7f3;color:#9d174d}.type-badge.mm{background:#e0e7ff;color:#3730a3}.templates-modal{max-width:560px;width:90vw}.template-list{display:flex;flex-direction:column;gap:.75rem}.template-card{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s;background:var(--bg-card)}.template-card:hover{border-color:var(--accent, #3b82f6);background:#f8fbff;box-shadow:0 2px 8px #3b82f61a}.template-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#f0f4ff;border-radius:10px;color:var(--accent, #3b82f6);flex-shrink:0}.template-info{flex:1;min-width:0}.template-info h4{margin:0 0 4px;font-size:.88rem;color:var(--text-primary)}.template-info p{margin:0;font-size:.75rem;color:var(--text-muted);line-height:1.4}.template-detail{display:block;margin-top:4px;font-size:.68rem;color:#94a3b8;font-style:italic}.template-card>svg{color:var(--text-muted);flex-shrink:0}.year-header.collapsed .year-toggle{font-size:.85rem;padding:4px 12px}.category-name-with-sparkline{display:flex;align-items:center;gap:2px}[data-theme=dark] .spread-context-menu{background:#1e293b;border-color:#334155;box-shadow:0 8px 30px #0006}[data-theme=dark] .spread-menu-header{color:#e2e8f0;border-color:#334155}[data-theme=dark] .spread-menu-subtitle{color:var(--text-muted);border-color:#334155}[data-theme=dark] .spread-menu-item{color:#e2e8f0}[data-theme=dark] .spread-menu-item:hover{background:#334155}[data-theme=dark] .spread-menu-item strong{color:#f1f5f9}[data-theme=dark] .bulk-search-box,[data-theme=dark] .whatif-search-box{background:#0f172a;border-color:#334155}[data-theme=dark] .bulk-search-box input,[data-theme=dark] .whatif-search-box input{color:#e2e8f0}[data-theme=dark] .bulk-category-item:hover{background:#1e293b}[data-theme=dark] .bulk-category-item.selected{background:#172554}[data-theme=dark] .bulk-action-select{background:#0f172a;border-color:#334155;color:#e2e8f0}[data-theme=dark] .bulk-value-input{background:#0f172a;border-color:#334155}[data-theme=dark] .bulk-value-input input{color:#e2e8f0}[data-theme=dark] .bulk-preview-table th{background:#1e293b;color:#94a3b8;border-color:#334155}[data-theme=dark] .bulk-preview-table td{color:#e2e8f0;border-color:#1e293b}[data-theme=dark] .whatif-adjustments{background:#0f172a;border-color:#334155}[data-theme=dark] .whatif-adj-row{background:#1e293b;border-color:#334155}[data-theme=dark] .whatif-adj-name{color:#e2e8f0}[data-theme=dark] .whatif-adj-input{background:#0f172a;border-color:#334155}[data-theme=dark] .whatif-adj-input input{color:#e2e8f0}[data-theme=dark] .whatif-card{background:#1e293b;border-color:#334155}[data-theme=dark] .whatif-card.impact.positive{background:#052e16;border-color:#16a34a}[data-theme=dark] .whatif-card.impact.negative{background:#450a0a;border-color:#dc2626}[data-theme=dark] .whatif-detail-table th{background:#1e293b;color:#94a3b8;border-color:#334155}[data-theme=dark] .whatif-detail-table td{color:#e2e8f0;border-color:#1e293b}[data-theme=dark] .whatif-pick-btn{background:#1e293b;border-color:#334155;color:#94a3b8}[data-theme=dark] .whatif-pick-btn:hover:not(:disabled){background:#172554}[data-theme=dark] .template-card{background:#1e293b;border-color:#334155}[data-theme=dark] .template-card:hover{background:#172554;border-color:var(--accent, #3b82f6)}[data-theme=dark] .template-icon{background:#172554}[data-theme=dark] .template-info h4{color:#e2e8f0}[data-theme=dark] .template-info p{color:#94a3b8}[data-theme=dark] .year-header.collapsed{background:#172554}[data-theme=dark] .col-year-total{background:#172554;border-color:#334155}[data-theme=dark] .col-quarter.collapsed,[data-theme=dark] .cell-number.quarter-total.collapsed{background:#1e293b;border-color:#334155}[data-theme=dark] .collapse-controls .btn-collapse-all,[data-theme=dark] .collapse-controls .btn-expand-all{background:#1e293b;border-color:#334155;color:#94a3b8}[data-theme=dark] .collapse-controls .btn-collapse-all:hover,[data-theme=dark] .collapse-controls .btn-expand-all:hover{background:#334155;color:#e2e8f0}.training-settings-panel{margin:0 0 20px;border:1px solid var(--border);border-radius:12px;overflow:hidden}.settings-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-card, #1e1e2e);border:none;color:var(--text-primary, #e0e0e0);cursor:pointer;font-size:14px;font-weight:500}.settings-toggle:hover{background:var(--bg-hover, #2a2a3e)}.settings-content{padding:16px;background:var(--bg-card, #1e1e2e);border-top:1px solid var(--border)}.setting-options{display:flex;gap:6px;flex-wrap:wrap}.setting-chip{padding:6px 12px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--text-secondary, #bbb);cursor:pointer;font-size:13px;transition:all .15s}.setting-chip:hover{border-color:var(--primary, #6366f1);color:var(--text-primary, #fff)}.setting-chip.active{background:var(--primary, #6366f1);border-color:var(--primary, #6366f1);color:#fff}.setting-date-input{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input, #1a1a2e);color:var(--text-primary, #e0e0e0);font-size:14px;max-width:200px}.rolling-options{display:flex;gap:6px}.setting-toggle-row{display:flex;align-items:center;gap:12px}.setting-toggle-btn{padding:4px 16px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--text-secondary, #888);cursor:pointer;font-size:12px;font-weight:600;transition:all .15s}.setting-toggle-btn.active{background:var(--success, #22c55e);border-color:var(--success, #22c55e);color:#fff}.setting-description{font-size:12px;color:var(--text-secondary, #888)}.decay-slider{display:flex;flex-direction:column;gap:4px}.decay-slider label{font-size:12px;color:var(--text-secondary, #aaa)}.decay-slider input[type=range]{width:100%;accent-color:var(--primary, #6366f1)}.btn-retrain{display:flex;align-items:center;gap:6px;padding:8px 20px;background:var(--primary, #6366f1);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.btn-retrain:hover:not(:disabled){background:var(--primary-hover, #5558e6)}.btn-retrain:disabled{opacity:.6;cursor:not-allowed}.training-summary{font-size:13px;color:var(--text-secondary, #888)}.model-comparison-banner{display:flex;align-items:center;gap:20px;padding:10px 16px;margin:0 0 16px;background:var(--bg-card, #1e1e2e);border:1px solid var(--border);border-radius:10px;font-size:13px}.comparison-item{display:flex;align-items:center;gap:6px}.comparison-label{color:var(--text-secondary, #888)}.comparison-delta{font-weight:700;font-size:14px}.comparison-delta.positive{color:var(--success, #22c55e)}.comparison-delta.negative{color:var(--danger, #ef4444)}.comparison-note{margin-left:auto;color:var(--text-muted);font-size:12px}.stat-icon.precision{background:#6366f11a;color:#818cf8}.stat-icon.freshness{background:#22c55e1a;color:#4ade80}.insights-section h2{display:flex;align-items:center;gap:8px;margin-bottom:20px}.insight-panel{margin-bottom:24px;padding:20px;background:var(--bg-card, #1e1e2e);border:1px solid var(--border);border-radius:12px}.insight-panel h3{margin:0 0 6px;font-size:16px;color:var(--text-primary, #e0e0e0)}.insight-description{font-size:13px;color:var(--text-secondary, #888);margin:0 0 16px}.confusion-matrix-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.confusion-grid{display:grid;gap:2px;min-width:400px}.cm-corner{font-size:11px;color:var(--text-muted);display:flex;align-items:center;justify-content:center;padding:6px}.cm-header{font-size:11px;color:var(--text-secondary, #aaa);text-align:center;padding:4px 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);height:80px}.cm-row-label{font-size:11px;color:var(--text-secondary, #aaa);display:flex;align-items:center;padding:2px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-cell{display:flex;align-items:center;justify-content:center;padding:4px;font-size:12px;font-weight:600;color:var(--text-primary, #e0e0e0);border-radius:3px;min-height:28px;cursor:default;transition:transform .1s}.cm-cell:hover{transform:scale(1.1);z-index:1}.cm-cell.diagonal{font-weight:700}.category-metrics-list{display:flex;flex-direction:column;gap:8px}.category-metric-row{display:flex;align-items:center;gap:12px;padding:6px 0}.cm-category-name{width:120px;font-size:13px;color:var(--text-primary, #e0e0e0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.cm-metric-bars{flex:1;display:flex;flex-direction:column;gap:3px}.cm-metric{display:flex;align-items:center;gap:6px}.cm-metric-label{width:18px;font-size:11px;font-weight:600;color:var(--text-muted);flex-shrink:0}.cm-bar-track{flex:1;height:6px;background:var(--bg-muted, #2a2a3e);border-radius:3px;overflow:hidden}.cm-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.precision-bar{background:#3b82f6}.recall-bar{background:#f59e0b}.f1-bar{background:#22c55e}.cm-metric-value{width:38px;font-size:11px;color:var(--text-secondary, #aaa);text-align:right;flex-shrink:0}.feature-importance-list{display:flex;flex-direction:column;gap:6px}.feature-row{display:flex;align-items:center;gap:8px;padding:4px 0}.feature-type-badge{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase;flex-shrink:0;min-width:60px;text-align:center}.feature-type-badge.keyword{background:#3b82f626;color:#60a5fa}.feature-type-badge.bigram{background:#8b5cf626;color:#a78bfa}.feature-type-badge.merchant{background:#22c55e26;color:#4ade80}.feature-type-badge.knownMerchant{background:#10b98126;color:#34d399}.feature-type-badge.amount{background:#f9731626;color:#fb923c}.feature-type-badge.exactAmount{background:#f59e0b26;color:#fbbf24}.feature-type-badge.recurring{background:#ec489926;color:#f472b6}.feature-name{width:120px;font-size:13px;color:var(--text-primary, #e0e0e0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.feature-bar-track{flex:1;height:8px;background:var(--bg-muted, #2a2a3e);border-radius:4px;overflow:hidden}.feature-bar-fill{height:100%;background:var(--primary, #6366f1);border-radius:4px;transition:width .3s ease}.feature-categories{width:100px;font-size:11px;color:var(--text-secondary, #888);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;text-align:right}.category-coverage-grid{display:flex;flex-wrap:wrap;gap:8px}.coverage-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:13px;border:1px solid var(--border)}.coverage-badge.good{border-color:#22c55e4d}.coverage-badge.warn{border-color:#f59e0b4d}.coverage-badge.bad{border-color:#ef44444d}.coverage-name{color:var(--text-primary, #e0e0e0)}.coverage-count{font-size:11px;color:var(--text-secondary, #888)}.coverage-dot{width:8px;height:8px;border-radius:50%}.coverage-dot.good{background:#22c55e}.coverage-dot.warn{background:#f59e0b}.coverage-dot.bad{background:#ef4444}.prediction-explainer{margin:12px 0;padding:12px;background:var(--bg-muted, #1a1a2e);border-radius:8px;border:1px solid var(--border)}.explainer-title{font-size:12px;font-weight:600;color:var(--text-secondary, #aaa);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.explainer-bar{display:flex;align-items:center;gap:8px;margin-bottom:4px}.explainer-label{width:110px;font-size:12px;color:var(--text-secondary, #aaa);flex-shrink:0}.explainer-track{flex:1;height:6px;background:var(--bg-card, #2a2a3e);border-radius:3px;overflow:hidden}.explainer-fill{height:100%;border-radius:3px;transition:width .3s}.explainer-detail{width:90px;font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}@media (max-width: 768px){.settings-grid{grid-template-columns:1fr}.model-comparison-banner{flex-wrap:wrap;gap:10px}.confusion-grid{font-size:10px}.cm-header{height:60px}.category-metric-row{flex-direction:column;align-items:stretch;gap:4px}.cm-category-name{width:auto}.feature-row{flex-wrap:wrap}.feature-name{width:80px}.feature-categories{width:auto}.coverage-badge{font-size:12px;padding:4px 8px}.explainer-bar{flex-wrap:wrap}.explainer-label{width:90px}.explainer-detail{width:auto}}@media (max-width: 1024px){.training-stats-grid{grid-template-columns:repeat(3,1fr)!important}}@media (max-width: 640px){.training-stats-grid{grid-template-columns:repeat(2,1fr)!important}}.quiz-uncertain-info{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:8px;margin-bottom:12px;font-size:13px;color:#fbbf24}.quiz-model-prediction{margin:8px 0;padding:8px 12px;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:8px;font-size:13px}.quiz-model-prediction .model-says{color:var(--text-secondary, #aaa)}.quiz-model-prediction .model-category{color:#818cf8;font-weight:600}.quiz-model-prediction .model-confidence{color:var(--text-muted);font-size:12px}.account-match-banner{background:#22c55e14;border:1px solid rgba(34,197,94,.25);border-radius:10px;padding:.75rem 1rem;margin-bottom:1rem}.match-banner-info{display:flex;align-items:center;gap:.5rem;color:#22c55e;font-size:.9rem}.match-banner-info strong{color:var(--text-primary)}.match-confidence-badge{background:#22c55e26;color:#22c55e;padding:.15rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;margin-left:auto}.match-reasons-chips{display:flex;gap:.4rem;margin-top:.5rem;flex-wrap:wrap}.match-reason-chip{padding:.15rem .6rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:12px;font-size:.7rem;color:var(--text-secondary)}.statement-metadata-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:1rem;margin-top:.75rem}.statement-metadata-panel h4{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem}.meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.meta-item{display:flex;flex-direction:column;gap:.15rem}.meta-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.meta-value{font-size:.9rem;font-weight:500;color:var(--text-primary)}.meta-value.positive{color:#22c55e}.meta-value.negative{color:#ef4444}.parse-verification{margin-top:.75rem;padding:.5rem .75rem;border-radius:6px;font-size:.8rem;display:flex;align-items:center;gap:.4rem}.parse-verification.verified{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}.parse-verification.unverified{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.parse-warnings{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border)}.parse-warning{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#f59e0b;margin-bottom:.25rem}.balance-reconciliation-section{display:flex;flex-direction:column;gap:1.25rem}.balance-status-banner{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.2rem;border-radius:10px;font-size:.95rem;font-weight:500}.balance-status-banner.balanced{background:#22c55e14;border:1px solid rgba(34,197,94,.25);color:#22c55e}.balance-status-banner.minor_difference{background:#f59e0b14;border:1px solid rgba(245,158,11,.25);color:#f59e0b}.balance-status-banner.significant_difference{background:#ef444414;border:1px solid rgba(239,68,68,.25);color:#ef4444}.balance-status-banner.unknown{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary)}.balance-comparison-grid{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.balance-header-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;padding:.65rem 1rem;background:var(--bg-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--border)}.balance-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;padding:.65rem 1rem;border-bottom:1px solid var(--border);font-size:.9rem;align-items:center}.balance-row:last-child{border-bottom:none}.balance-row.total{background:var(--bg-secondary);font-weight:600}.balance-label{color:var(--text-secondary);font-weight:500}.balance-total{font-weight:700}.balance-row .positive{color:#22c55e}.balance-row .negative{color:#ef4444}.balance-equation-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1rem}.balance-equation-card h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.balance-equation .eq-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;font-size:.9rem}.balance-equation .eq-label{color:var(--text-secondary)}.balance-equation .eq-value{font-weight:600;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:.3rem}.balance-equation .eq-value.positive{color:#22c55e}.balance-equation .eq-value.negative{color:#ef4444}.balance-equation .eq-divider{border-top:2px solid var(--border);margin:.4rem 0}.balance-equation .eq-result{font-weight:700;border-radius:6px;padding:.5rem .75rem;margin-top:.25rem}.balance-equation .eq-result.balanced{background:#22c55e1a;color:#22c55e}.balance-equation .eq-result.off{background:#ef44441a;color:#ef4444}.daily-balance-chart{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.25rem}.daily-balance-chart h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.document-repository{display:flex;flex-direction:column;gap:1rem}.repo-institution{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.repo-institution-header{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;background:var(--bg-secondary);font-weight:600;font-size:.95rem;color:var(--text-primary);border-bottom:1px solid var(--border)}.repo-inst-count{margin-left:auto;font-weight:400;font-size:.78rem;color:var(--text-muted)}.repo-account{border-bottom:1px solid var(--border)}.repo-account:last-child{border-bottom:none}.repo-account-header{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem .4rem 1.5rem;font-size:.8rem;font-weight:500;color:var(--text-secondary)}.repo-row-count{margin-left:auto;font-size:.78rem;color:var(--text-muted);font-weight:500}.repo-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.repo-table{width:100%;border-collapse:collapse;font-size:.82rem}.repo-table thead{position:sticky;top:0;z-index:2}.repo-table th{padding:.55rem .65rem;text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-secondary);border-bottom:2px solid var(--border);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .12s}.repo-table th:hover{color:var(--text-primary)}.repo-th-status{width:28px;cursor:default!important}.repo-th-account{min-width:140px}.repo-th-period{min-width:120px}.repo-th-begBal,.repo-th-endBal{text-align:right;min-width:90px}.repo-th-txns,.repo-th-matchRate{text-align:right;min-width:55px}.repo-th-actions{width:90px;cursor:default!important}.repo-sort-arrow{font-size:.65rem;color:var(--accent)}.repo-row{cursor:pointer;transition:background .1s}.repo-row:hover{background:var(--bg-hover)}.repo-row td{padding:.5rem .65rem;border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent);vertical-align:middle}.repo-row-expanded td{border-bottom-color:transparent;background:color-mix(in srgb,var(--accent) 4%,transparent)}.repo-row:nth-child(4n+1):not(.repo-row-expanded):not(.repo-expand-row){background:color-mix(in srgb,var(--bg-secondary) 30%,transparent)}.repo-row:nth-child(4n+1):not(.repo-row-expanded):not(.repo-expand-row):hover{background:var(--bg-hover)}.repo-td-status{text-align:center}.repo-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.repo-dot.status-ok{background:#22c55e;box-shadow:0 0 4px #22c55e66}.repo-dot.status-warn{background:#f59e0b;box-shadow:0 0 4px #f59e0b66}.repo-dot.status-bad{background:#ef4444;box-shadow:0 0 4px #ef444466}.repo-dot.status-none{background:var(--text-muted);opacity:.4}.repo-cell-primary{display:block;font-weight:500;color:var(--text-primary);line-height:1.3}.repo-cell-secondary{display:block;font-size:.7rem;color:var(--text-muted);line-height:1.3}.repo-td-num{text-align:right;font-variant-numeric:tabular-nums;font-family:SF Mono,Cascadia Code,Fira Code,monospace;font-size:.8rem;white-space:nowrap}.repo-td-num.status-ok{color:#22c55e;font-weight:600}.repo-td-num.status-warn{color:#f59e0b;font-weight:600}.repo-td-num.status-bad{color:#ef4444;font-weight:600}.repo-td-actions{text-align:right;white-space:nowrap}.repo-td-actions button{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:none;border:none;border-radius:5px;color:var(--text-muted);cursor:pointer;opacity:.6;transition:all .12s}.repo-row:hover .repo-td-actions button{opacity:1}.repo-td-actions button:hover{background:var(--bg-secondary);color:var(--text-primary)}.repo-expand-row td{padding:0;border-bottom:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 4%,transparent)}.repo-expand-content{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:.85rem 1rem}.repo-expand-section{min-width:0}.repo-expand-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.45rem;padding-bottom:.25rem;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.repo-expand-grid{display:flex;flex-direction:column;gap:.2rem}.repo-expand-kv{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.78rem;padding:.12rem 0}.repo-expand-kv span:first-child{color:var(--text-secondary)}.repo-kv-val{font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums}.repo-kv-val.good{color:#22c55e}.repo-kv-val.warn{color:#f59e0b}.repo-kv-val.bad{color:#ef4444}.repo-expand-kv.muted{color:var(--text-muted);font-style:italic}.repo-expand-actions{display:flex;gap:.5rem;padding:.5rem 1rem .75rem;border-top:1px solid color-mix(in srgb,var(--border) 30%,transparent)}.repo-expand-actions .btn-primary.small,.repo-expand-actions .btn-secondary.small,.repo-expand-actions .btn-danger-outline.small{font-size:.75rem;padding:.35rem .7rem;gap:.3rem}.repo-td-match{text-align:right;font-variant-numeric:tabular-nums;font-family:SF Mono,Cascadia Code,Fira Code,monospace;font-size:.8rem;white-space:nowrap}.repo-td-match.status-ok span:first-child{color:#22c55e;font-weight:600}.repo-td-match.status-warn span:first-child{color:#f59e0b;font-weight:600}.repo-td-match.status-bad span:first-child{color:#ef4444;font-weight:600}.repo-issue-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;margin-left:.35rem;padding:0 4px;border-radius:8px;font-size:.62rem;font-weight:700;background:#f59e0b26;color:#f59e0b;vertical-align:middle}.repo-expand-issues{padding:.65rem 1rem;border-top:1px solid color-mix(in srgb,var(--border) 30%,transparent)}.repo-expand-issues .repo-expand-title{margin-bottom:.4rem}.repo-issues-summary{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem;font-size:.78rem}.repo-issues-summary.muted{color:var(--text-muted);font-style:italic}.repo-issues-count{font-weight:600;color:var(--text-primary)}.repo-issue-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.12rem .45rem;border-radius:6px;font-size:.68rem;font-weight:500}.repo-issue-badge.dup{background:#ef44441a;color:#ef4444}.repo-issue-badge.ok{background:#22c55e1a;color:#22c55e}.repo-issue-badge.review{background:#f59e0b1a;color:#f59e0b}.repo-issues-list{border:1px solid color-mix(in srgb,var(--border) 40%,transparent);border-radius:6px;overflow:hidden}.repo-issue-row{display:grid;grid-template-columns:80px 1fr auto auto;gap:.5rem;align-items:center;padding:.3rem .6rem;font-size:.75rem;border-bottom:1px solid color-mix(in srgb,var(--border) 25%,transparent)}.repo-issue-row:last-child{border-bottom:none}.repo-issue-row.muted{grid-template-columns:1fr;color:var(--text-muted);font-style:italic;text-align:center;padding:.4rem}.repo-issue-row:nth-child(2n){background:color-mix(in srgb,var(--bg-secondary) 20%,transparent)}.repo-issue-date{color:var(--text-secondary);font-variant-numeric:tabular-nums}.repo-issue-desc{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repo-issue-amt{text-align:right;font-weight:500;font-variant-numeric:tabular-nums;font-family:SF Mono,Cascadia Code,Fira Code,monospace}.repo-issue-amt.positive{color:#22c55e}.repo-issue-amt.negative{color:var(--text-primary)}.repo-issue-tag{padding:.08rem .35rem;border-radius:4px;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.repo-issue-tag.duplicate{background:#ef44441a;color:#ef4444}.repo-issue-tag.ok{background:#22c55e1a;color:#22c55e}.repo-issue-tag.review{background:#f59e0b1a;color:#f59e0b}.repo-issue-tag.bad{background:#ef44441a;color:#ef4444}.stmt-indicator{display:inline-flex;align-items:center;justify-content:center;color:#3b82f6;cursor:help;opacity:.7}.stmt-indicator:hover{opacity:1}.recon-status-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:.85rem 1.2rem;cursor:pointer;transition:all .15s;margin-bottom:1rem}.recon-status-card:hover{border-color:var(--accent);background:var(--bg-hover)}.recon-status-header{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;color:var(--text-primary)}.recon-status-header .arrow{margin-left:auto;color:var(--text-muted)}.recon-status-stats{display:flex;align-items:center;gap:.5rem;margin-top:.35rem;font-size:.78rem;color:var(--text-secondary)}.recon-status-stats .positive{color:#22c55e}.recon-status-stats .warning{color:#f59e0b}@media (max-width: 768px){.meta-grid{grid-template-columns:repeat(2,1fr)}.balance-header-row,.balance-row{grid-template-columns:1.2fr 1fr 1fr 1fr;font-size:.78rem;padding:.5rem .75rem}.balance-label{font-size:.75rem}.repo-expand-content{grid-template-columns:1fr;gap:.75rem}.repo-th-begBal,.repo-th-endBal{display:none}.repo-td-num:nth-child(4),.repo-td-num:nth-child(5){display:none}.match-banner-info{flex-wrap:wrap}.account-match-banner{padding:.6rem .8rem}.daily-balance-chart{padding:.75rem}}.repo-tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.7rem;background:#ffffff14;color:#94a3b8;border:1px solid rgba(255,255,255,.06)}.repo-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.repo-filters select{padding:6px 10px;border-radius:6px;background:#1e293b;color:#e2e8f0;border:1px solid #334155;font-size:.8rem}.clear-filters-btn{padding:6px 12px;border-radius:6px;background:transparent;color:#94a3b8;border:1px solid #334155;font-size:.8rem;cursor:pointer}.clear-filters-btn:hover{background:#ffffff0d;color:#e2e8f0}.extra-actions{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.extra-action-btn{display:flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border:1px solid var(--border);border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;background:var(--bg-card);color:var(--text-secondary)}.extra-action-btn:hover{border-color:var(--text-muted);background:var(--bg-hover)}.extra-action-btn.duplicate:hover,.extra-action-btn.duplicate.active{background:#ef44441a;border-color:#ef4444;color:#ef4444}.extra-action-btn.ok:hover,.extra-action-btn.ok.active{background:#22c55e1a;border-color:#22c55e;color:#22c55e}.extra-action-btn.review:hover,.extra-action-btn.review.active{background:#f59e0b1a;border-color:#f59e0b;color:#f59e0b}.extra-action-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600}.extra-action-badge.duplicate{background:#ef44441f;color:#ef4444}.extra-action-badge.ok{background:#22c55e1f;color:#22c55e}.extra-action-badge.review{background:#f59e0b1f;color:#f59e0b}.extra-actioned{opacity:.85}.extra-actioned.extra-duplicate{border-left:3px solid #ef4444!important;background:color-mix(in srgb,#ef4444 3%,var(--bg-card))}.extra-actioned.extra-ok{border-left:3px solid #22c55e!important;background:color-mix(in srgb,#22c55e 3%,var(--bg-card))}.extra-actioned.extra-review{border-left:3px solid #f59e0b!important;background:color-mix(in srgb,#f59e0b 3%,var(--bg-card))}.match-no-pair{font-size:.75rem;color:var(--text-muted);font-style:italic}.section-note{font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}@media (max-width: 600px){.extra-actions{flex-direction:column}.extra-action-btn{justify-content:center}}.repo-stmt-clickable{cursor:pointer;transition:background .15s}.repo-stmt-clickable:hover{background:var(--bg-hover)}.tab-badge.warning{background:var(--warning);color:#fff}.pdf-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000b3;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.pdf-viewer-modal{background:var(--bg-card);border-radius:12px;width:90vw;max-width:900px;height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.pdf-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);gap:1rem;flex-shrink:0}.pdf-viewer-title{font-weight:600;font-size:.9rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.pdf-viewer-controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.pdf-viewer-controls button{background:var(--bg-hover);border:1px solid var(--border);border-radius:6px;padding:4px 8px;cursor:pointer;color:var(--text-primary);display:flex;align-items:center}.pdf-viewer-controls button:hover:not(:disabled){background:var(--accent-light);border-color:var(--accent)}.pdf-viewer-controls button:disabled{opacity:.4;cursor:default}.pdf-zoom-level,.pdf-page-info{font-size:.8rem;color:var(--text-secondary);min-width:3rem;text-align:center}.pdf-page-sep{color:var(--border);margin:0 .25rem}.pdf-viewer-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:6px;display:flex;align-items:center}.pdf-viewer-close:hover{background:var(--negative-bg);color:var(--negative)}.pdf-viewer-body{flex:1;overflow:auto;display:flex;justify-content:center;padding:1rem;background:var(--bg-primary)}.pdf-viewer-canvas{box-shadow:0 2px 8px #00000026;max-width:100%;height:auto}.pdf-viewer-loading,.pdf-viewer-error{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-muted);font-size:.9rem}.pdf-viewer-error{color:var(--negative)}.review-queue-section{padding:1rem 0}.review-queue-section h2{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;margin-bottom:.5rem}.review-queue-desc{color:var(--text-secondary);font-size:.85rem;margin-bottom:1rem}.review-queue-loading{display:flex;align-items:center;gap:.75rem;color:var(--text-muted);padding:2rem;justify-content:center}.review-queue-list{display:flex;flex-direction:column;gap:.75rem}.review-queue-item{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem;transition:border-color .15s}.review-queue-item:hover{border-color:var(--accent)}.review-item-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.review-type-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:4px}.review-type-badge.extra{background:#6366f126;color:#6366f1}.review-type-badge.fuzzy{background:#ca8a0426;color:#ca8a04}.review-item-source{font-size:.8rem;color:var(--text-muted)}.review-item-body{margin-bottom:.75rem}.review-item-txn{display:flex;align-items:center;gap:.75rem;font-size:.9rem}.review-txn-date{color:var(--text-muted);font-size:.8rem;white-space:nowrap}.review-txn-desc{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-txn-amount{font-weight:600;white-space:nowrap}.review-txn-amount.positive{color:var(--positive)}.review-txn-amount.negative{color:var(--negative)}.review-item-match{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary);margin-top:.4rem;padding-left:1rem}.review-match-reason{font-size:.7rem;color:var(--text-muted);background:var(--bg-hover);padding:1px 6px;border-radius:4px}.review-item-actions{display:flex;gap:.5rem;flex-wrap:wrap}.review-action-btn{font-size:.8rem;padding:.35rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:all .15s}.review-action-btn:hover{border-color:var(--accent);background:var(--accent-light)}.review-action-btn.duplicate:hover{border-color:#ef4444;background:#ef44441a;color:#ef4444}.review-action-btn.ok:hover,.review-action-btn.confirm:hover{border-color:#22c55e;background:#22c55e1a;color:#22c55e}.review-action-btn.reject:hover{border-color:#ef4444;background:#ef44441a;color:#ef4444}.review-action-btn.view:hover{border-color:var(--accent);color:var(--accent)}@media (max-width: 600px){.pdf-viewer-modal{width:98vw;height:95vh;border-radius:8px}.review-item-txn{flex-wrap:wrap}.review-item-actions{flex-direction:column}}.coverage-dashboard{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1rem}.coverage-stats-row{display:flex;gap:1rem;flex-wrap:wrap;justify-content:space-between}.coverage-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:80px;flex:1}.coverage-stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.coverage-stat-value.positive{color:#22c55e}.coverage-stat-value.negative{color:#f59e0b}.coverage-stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.coverage-timeline{padding:.5rem .75rem .75rem}.timeline-months{display:flex;gap:2px;flex-wrap:wrap}.timeline-month{display:flex;flex-direction:column;align-items:center;width:36px;height:36px;border-radius:4px;justify-content:center;font-size:.6rem;font-weight:600;position:relative;transition:transform .1s;cursor:default}.timeline-month:hover{transform:scale(1.15);z-index:1}.timeline-month.covered{background:#22c55e33;border:1px solid rgba(34,197,94,.4);color:#22c55e}.timeline-month.missing{background:#ef444414;border:1px dashed rgba(239,68,68,.4);color:#ef4444}.timeline-month-label{font-size:.6rem;line-height:1}.timeline-year-label{font-size:.5rem;opacity:.7;line-height:1}.coverage-gaps-note{display:flex;align-items:flex-start;gap:.4rem;margin-top:.5rem;font-size:.75rem;color:#f59e0b;padding:.4rem .6rem;background:#f59e0b14;border-radius:6px;border:1px solid rgba(245,158,11,.15)}.coverage-gaps-note svg{flex-shrink:0;margin-top:1px}.repo-coverage-badge{font-size:.65rem;font-weight:600;padding:.15rem .5rem;border-radius:10px;margin-left:auto}.repo-coverage-badge.full{background:#22c55e1f;color:#22c55e}.repo-coverage-badge.good{background:#3b82f61f;color:#3b82f6}.repo-coverage-badge.gaps{background:#f59e0b1f;color:#f59e0b}.duplicate-warning-banner{background:var(--bg-card);border:1px solid rgba(245,158,11,.3);border-radius:12px;padding:1rem 1.25rem;margin-top:1rem}.duplicate-warning-banner.dup-exact{border-color:#ef44444d}.duplicate-warning-banner.dup-likely{border-color:#f59e0b4d}.duplicate-warning-banner.dup-partial{border-color:#3b82f64d}.dup-warning-header{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.95rem;margin-bottom:.75rem}.dup-exact .dup-warning-header{color:#ef4444}.dup-likely .dup-warning-header{color:#f59e0b}.dup-partial .dup-warning-header{color:#3b82f6}.dup-warning-details{font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem}.dup-warning-details p{margin:0 0 .5rem}.dup-existing-info{display:flex;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:var(--text-muted)}.dup-differences{display:flex;gap:1rem;margin-top:.5rem;font-size:.8rem;color:#f59e0b;font-weight:500}.dup-overlap-info{margin-top:.5rem;font-size:.8rem;color:#3b82f6;font-weight:500}.dup-warning-actions{display:flex;gap:.5rem;flex-wrap:wrap}.dup-action-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border-radius:8px;font-size:.8rem;font-weight:600;border:1px solid var(--border);background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;transition:all .15s}.dup-action-btn:hover{background:var(--bg-card)}.dup-action-btn.replace:hover,.dup-action-btn.replace.active{border-color:#f59e0b;background:#f59e0b1a;color:#f59e0b}.dup-action-btn.skip:hover{border-color:#ef4444;background:#ef44441a;color:#ef4444}.dup-action-btn.new:hover,.dup-action-btn.new.active{border-color:#3b82f6;background:#3b82f61a;color:#3b82f6}@media (max-width: 600px){.coverage-stats-row{gap:.5rem}.coverage-stat{min-width:60px}.coverage-stat-value{font-size:1rem}.timeline-month{width:28px;height:28px;font-size:.5rem}.dup-warning-actions{flex-direction:column}}.auto-reconcile-indicator{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--accent);font-weight:500;padding:.4rem .8rem}.auto-reconcile-banner{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;background:var(--accent-light);border:1px solid var(--accent);border-radius:8px;color:var(--accent);font-weight:500;font-size:.9rem;margin-bottom:.5rem}.dup-action-confirmed{display:flex;align-items:center;gap:.4rem;margin-top:.75rem;padding:.5rem .75rem;border-radius:6px;background:#22c55e1a;color:#22c55e;font-size:.82rem;font-weight:500}.parsed-txn-details{border:1px solid var(--border);border-radius:8px;overflow:hidden}.parsed-txn-summary{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;cursor:pointer;font-size:.85rem;font-weight:500;color:var(--text-secondary);background:var(--bg-hover);-webkit-user-select:none;user-select:none}.parsed-txn-summary:hover{background:var(--border)}.parsed-txn-toggle{font-size:.78rem;color:var(--text-muted)}.parsed-txn-details[open] .parsed-txn-toggle{display:none}.parsed-txn-details .parsed-txn-list{border-top:1px solid var(--border)}.post-reconcile-actions{display:flex;gap:.75rem;padding:1rem 0;margin-top:1rem;border-top:1px solid var(--border);justify-content:flex-start;align-items:center}.post-reconcile-actions.top-bar{margin-top:.5rem;margin-bottom:.75rem;padding:.85rem 1.1rem;background:var(--bg-hover);border:2px solid var(--accent);border-radius:10px;box-shadow:0 2px 8px #00000014}.post-reconcile-actions .btn-primary.disabled,.post-reconcile-actions .btn-primary:disabled{opacity:.55;cursor:not-allowed;background:var(--text-muted);border-color:var(--text-muted)}.btn-danger-outline{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .9rem;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;border:1px solid rgba(239,68,68,.3);background:transparent;color:#ef4444;transition:all .15s}.btn-danger-outline:hover{background:#ef44441a;border-color:#ef4444}.multi-file-progress{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.multi-file-progress h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;margin:0 0 1rem;color:var(--text-primary)}.queue-results-list{display:flex;flex-direction:column;gap:.35rem}.queue-result-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-radius:6px;font-size:.82rem;background:var(--bg-hover)}.queue-result-item.queue-success{background:#22c55e14}.queue-result-item.queue-skipped{background:#8b5cfc14}.queue-result-item.queue-saved{background:#3b82f614}.queue-result-item.queue-error{background:#ef444414}.queue-result-item.queue-processing{background:#3b82f614}.queue-result-icon{flex-shrink:0;display:flex}.queue-result-item.queue-success .queue-result-icon{color:#22c55e}.queue-result-item.queue-skipped .queue-result-icon{color:#8b5cf6}.queue-result-item.queue-saved .queue-result-icon{color:#3b82f6}.queue-result-item.queue-error .queue-result-icon{color:#ef4444}.queue-result-item.queue-processing .queue-result-icon{color:#3b82f6}.queue-result-name{font-weight:500;color:var(--text-primary);flex-shrink:0}.queue-result-msg{color:var(--text-secondary);flex:1;text-align:right}.batch-summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.batch-summary-card h3{font-size:1rem;margin:0 0 .75rem;color:var(--text-primary)}.batch-stats{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.batch-stat{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;font-weight:500;padding:.3rem .6rem;border-radius:6px}.batch-stat.success{color:#22c55e;background:#22c55e1a}.batch-stat.skipped{color:#8b5cf6;background:#8b5cfc1a}.batch-stat.saved{color:#3b82f6;background:#3b82f61a}.batch-stat.error{color:#ef4444;background:#ef44441a}.batch-actions{display:flex;gap:.75rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.reconcile-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;border-radius:10px;font-size:.85rem;font-weight:500;box-shadow:0 4px 20px #0003;z-index:1000;cursor:pointer;animation:toastSlideIn .25s ease-out}.reconcile-toast.toast-success{background:#22c55e;color:#fff}.reconcile-toast.toast-info{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}@keyframes toastSlideIn{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.institution-count{font-weight:400;opacity:.6;font-size:.85em}.upload-actions-row{display:flex;gap:.75rem;margin-top:.75rem}.upload-action-btn{padding:.5rem 1.25rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.upload-action-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}@media (max-width: 600px){.post-reconcile-actions{flex-direction:column;align-items:stretch}.batch-stats{flex-direction:column;gap:.5rem}.batch-actions{flex-direction:column}.upload-actions-row{flex-direction:column;gap:.5rem}}.bse-panel{border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;overflow:visible;background:var(--bg-card)}.bse-panel.bse-disconnected{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;color:var(--text-muted);font-size:.8rem;cursor:pointer;border-style:dashed;background:transparent}.bse-panel.bse-disconnected:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.bse-panel.bse-disconnected-expanded{border-style:dashed}.bse-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.bse-header:hover{background:var(--bg-hover)}.bse-header-left{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.85rem;font-weight:500}.bse-header-title{color:var(--text-primary)}.bse-status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-left:.25rem}.bse-status-dot.ready{background:var(--positive, #10B981)}.bse-status-dot.no-chrome{background:var(--warning, #F59E0B)}.bse-header-right{display:flex;align-items:center;gap:.25rem}.bse-tunnel-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.65rem;padding:.1rem .4rem;border-radius:10px;background:var(--accent-light, rgba(99, 102, 241, .1));color:var(--accent);font-weight:500}.bse-expand-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:.25rem;display:flex;align-items:center}.bse-expand-btn:hover{color:var(--text-primary)}.bse-body{padding:0 1rem 1rem}.bse-settings{padding:.75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary, var(--bg-primary));margin-bottom:.75rem}.bse-settings-header{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.bse-url-field label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:.3rem;font-weight:500}.bse-url-input-row{display:flex;gap:.4rem}.bse-url-input-row input{flex:1;padding:.45rem .65rem;border:1px solid var(--border);border-radius:5px;background:var(--bg-card);color:var(--text-primary);font-size:.8rem;font-family:SF Mono,Consolas,monospace;outline:none}.bse-url-input-row input:focus{border-color:var(--accent)}.bse-url-save{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem .75rem;border:none;border-radius:5px;background:var(--accent);color:#fff;font-size:.75rem;font-weight:500;cursor:pointer;white-space:nowrap}.bse-url-save:hover{opacity:.9}.bse-url-hint{font-size:.7rem;color:var(--text-muted);margin:.4rem 0 0;line-height:1.5}.bse-url-hint code{padding:.1rem .3rem;background:var(--bg-card);border:1px solid var(--border);border-radius:3px;font-size:.65rem;font-family:SF Mono,Consolas,monospace}.bse-help-tunnel{font-size:.75rem;color:var(--text-muted);margin:.4rem 0 .5rem;display:flex;align-items:center;gap:.25rem}.bse-help-box{display:flex;gap:.75rem;padding:.75rem;background:var(--bg-secondary, var(--bg-primary));border-radius:6px;font-size:.8rem;color:var(--text-secondary);line-height:1.5}.bse-help-box p{margin:0 0 .5rem}.bse-help-box code{display:block;padding:.4rem .6rem;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;font-size:.75rem;color:var(--text-primary);font-family:SF Mono,Consolas,monospace;margin-bottom:.5rem;word-break:break-all}.bse-retry-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.75rem;cursor:pointer}.bse-retry-btn:hover{border-color:var(--accent);color:var(--accent)}.bse-error{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--negative-bg, rgba(239, 68, 68, .08));border:1px solid var(--negative, #EF4444);border-radius:6px;color:var(--negative, #EF4444);font-size:.8rem;margin-bottom:.75rem}.bse-error button{background:none;border:none;color:var(--negative, #EF4444);cursor:pointer;font-size:1rem;margin-left:auto;padding:0 .25rem}.bse-institutions{display:flex;flex-direction:column;gap:.5rem}.bse-institution-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary, var(--bg-primary))}.bse-inst-info{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:.85rem;min-width:0;flex:1}.bse-inst-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bse-cred-badge{font-size:.7rem;padding:.15rem .45rem;border-radius:10px;display:inline-flex;align-items:center;gap:.25rem}.bse-cred-badge.ready{background:var(--positive-bg, rgba(16, 185, 129, .1));color:var(--positive, #10B981)}.bse-cred-badge.missing{background:var(--negative-bg, rgba(239, 68, 68, .08));color:var(--text-muted)}.bse-download-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border:1px solid var(--accent);border-radius:6px;background:transparent;color:var(--accent);font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.bse-download-btn:hover:not(:disabled){background:var(--accent);color:#fff}.bse-download-btn:disabled{opacity:.4;cursor:not-allowed}.bse-empty{font-size:.8rem;color:var(--text-muted);padding:.5rem}.bse-job-active{padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary, var(--bg-primary))}.bse-job-header{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-primary);margin-bottom:.5rem}.bse-progress-text{font-size:.8rem;color:var(--text-secondary);padding:.25rem 0}.bse-mfa-prompt{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--warning-bg, rgba(245, 158, 11, .08));border:1px solid var(--warning, #f59e0b);border-radius:6px;margin-top:.5rem}.bse-mfa-prompt p{margin:0 0 .35rem;font-size:.8rem;color:var(--text-primary)}.bse-mfa-prompt p:last-of-type{color:var(--text-secondary)}.bse-mfa-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem 1rem;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:.8rem;font-weight:500;cursor:pointer;margin-top:.25rem;white-space:nowrap;flex-shrink:0;align-self:center}.bse-mfa-btn:hover{opacity:.9}.bse-job-failed{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--negative-bg, rgba(239, 68, 68, .08));border:1px solid var(--negative, #EF4444);border-radius:6px;font-size:.8rem;color:var(--negative, #EF4444)}.bse-job-complete{padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary, var(--bg-primary))}.bse-results-list{display:flex;flex-direction:column;gap:.3rem;margin:.5rem 0;max-height:200px;overflow-y:auto}.bse-result-item{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem;font-size:.75rem;border-radius:4px}.bse-result-item.new,.bse-result-item.imported{color:var(--text-primary)}.bse-result-item.skipped{color:var(--text-muted)}.bse-result-item.error{color:var(--negative)}.bse-result-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bse-result-status{color:var(--text-muted);font-size:.7rem;flex-shrink:0}.bse-results-summary{display:flex;gap:.75rem;padding:.25rem 0}.bse-summary-stat{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:500}.bse-summary-stat.new{color:var(--positive, #10B981)}.bse-summary-stat.skipped{color:var(--text-muted)}.bse-import-results{display:flex;flex-direction:column;gap:.25rem;margin:.5rem 0}.bse-import-item{display:flex;align-items:center;gap:.4rem;font-size:.75rem;padding:.2rem 0}.bse-import-item.fetched{color:var(--positive, #10B981)}.bse-import-item.error{color:var(--negative, #EF4444)}.bse-import-item.skipped{color:var(--text-muted)}.bse-complete-actions{display:flex;gap:.5rem;margin-top:.75rem}.bse-import-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem 1rem;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:.8rem;font-weight:500;cursor:pointer}.bse-import-btn:hover:not(:disabled){opacity:.9}.bse-import-btn:disabled{opacity:.5;cursor:not-allowed}.bse-dismiss-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem 1rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.8rem;cursor:pointer}.bse-dismiss-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}@media (max-width: 600px){.bse-institution-row{flex-direction:column;align-items:flex-start;gap:.5rem}.bse-download-btn{width:100%;justify-content:center}.bse-mfa-prompt{flex-direction:column;align-items:stretch}.bse-complete-actions{flex-direction:column}}.bse-options-panel{padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.bse-coverage-bar{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--positive, #16a34a);background:var(--positive-bg, rgba(22, 163, 74, .08));padding:.35rem .6rem;border-radius:6px}.bse-options-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.bse-option-list{border:1px solid var(--border);border-radius:8px;overflow-y:auto;max-height:220px}.bse-option-list-header{display:flex;justify-content:space-between;align-items:center;padding:.4rem .6rem;background:var(--bg-secondary);font-size:.78rem;font-weight:600;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}.bse-select-toggles{display:flex;gap:.3rem}.bse-select-toggles button{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.72rem;padding:0;text-decoration:underline}.bse-select-toggles button:hover{opacity:.8}.bse-option-item{display:flex;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.8rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s}.bse-option-item:last-child{border-bottom:none}.bse-option-item:hover{background:var(--bg-hover)}.bse-option-item.already-imported{background:var(--positive-bg, rgba(22, 163, 74, .05))}.bse-option-item input[type=checkbox]{accent-color:var(--accent);flex-shrink:0}.bse-imported-icon{color:var(--positive, #16a34a);margin-left:auto;flex-shrink:0}.bse-options-actions{display:flex;gap:.5rem;justify-content:flex-end}.bse-start-import-btn{display:flex;align-items:center;gap:.3rem;padding:.5rem 1.2rem;font-size:.85rem;font-weight:600;background:var(--accent);color:#fff;border:2px solid var(--accent-hover, var(--accent));border-radius:6px;cursor:pointer;box-shadow:0 1px 3px #0003}.bse-start-import-btn:disabled{opacity:.5;cursor:not-allowed}.bse-start-import-btn:hover:not(:disabled){background:var(--accent-hover, var(--accent))}.repo-th-checkbox,.repo-td-checkbox{width:32px;min-width:32px;max-width:32px;text-align:center;cursor:pointer;color:var(--text-secondary);padding:.3rem!important}.repo-th-checkbox:hover,.repo-td-checkbox:hover{color:var(--accent)}.repo-row.selected{background:var(--accent-light, rgba(99, 102, 241, .06))!important}.repo-row.selected .repo-td-checkbox{color:var(--accent)}.repo-bulk-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--accent-light, rgba(99, 102, 241, .08));border:1px solid var(--accent);border-radius:8px;margin-bottom:.5rem;flex-wrap:wrap}.repo-bulk-count{font-size:.82rem;font-weight:600;color:var(--accent);margin-right:auto}.repo-bulk-btn{display:flex;align-items:center;gap:.25rem;padding:.3rem .6rem;font-size:.78rem;border:1px solid var(--border);border-radius:5px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all .15s}.repo-bulk-btn:hover{border-color:var(--accent);color:var(--accent)}.repo-bulk-btn.danger{color:var(--negative, #dc2626);border-color:var(--negative, #dc2626)}.repo-bulk-btn.danger:hover{background:var(--negative, #dc2626);color:#fff}.repo-td-institution{white-space:nowrap;min-width:100px}.repo-th-institution{min-width:100px}.repo-td-connection{white-space:nowrap;text-align:center}.repo-th-connection{width:120px;text-align:center}.repo-owner-badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.72rem;font-weight:600;letter-spacing:.02em;max-width:160px;overflow:hidden;text-overflow:ellipsis}.repo-owner-badge.max{background:var(--accent-bg, #dbeafe);color:var(--accent, #2563eb)}.repo-owner-badge.sara{background:#fce7f3;color:#be185d}.repo-td-doctype{white-space:nowrap;text-align:center}.repo-th[draggable]{cursor:grab;-webkit-user-select:none;user-select:none}.repo-th[draggable]:active{cursor:grabbing}.repo-th.dragging{opacity:.4}.repo-th.drop-target{box-shadow:inset 3px 0 0 var(--accent, #2563eb)}.repo-col-picker-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center}.repo-col-picker-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.repo-col-picker{position:absolute;top:100%;right:0;z-index:50;min-width:180px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001f;padding:6px 0;max-height:400px;overflow-y:auto}.repo-col-picker-header{padding:6px 12px 4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border);margin-bottom:2px}.repo-col-picker-item{display:flex;align-items:center;gap:8px;padding:5px 12px;font-size:.8rem;cursor:pointer;color:var(--text-primary)}.repo-col-picker-item:hover{background:var(--bg-secondary)}.repo-col-picker-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent, #2563eb);cursor:pointer}.repo-col-picker-reset{display:block;width:calc(100% - 16px);margin:4px 8px;padding:5px 8px;font-size:.75rem;text-align:center;background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer}.repo-col-picker-reset:hover{background:var(--bg-secondary);color:var(--text-primary)}.repo-td-accountType{white-space:nowrap}.repo-acct-type-text{font-size:.8rem;color:var(--text-secondary)}.repo-td-owner,.repo-td-subAccount,.repo-td-fileName,.repo-td-uploaded,.repo-td-format{white-space:nowrap}.repo-td-fileSize,.repo-td-deposits,.repo-td-withdrawals,.repo-td-interest{white-space:nowrap;text-align:right}.repo-th-num{text-align:right}.repo-warning-count{display:inline-flex;align-items:center;gap:3px;color:#f59e0b;font-weight:600;font-size:.78rem;cursor:help}.repo-td-match-inner{display:flex;align-items:center;gap:4px}.repo-td-match-inner.status-ok span:first-child{color:#22c55e;font-weight:600}.repo-td-match-inner.status-warn span:first-child{color:#f59e0b;font-weight:600}.repo-td-match-inner.status-bad span:first-child{color:#ef4444;font-weight:600}.bulk-edit-modal{max-width:380px}.bulk-edit-modal .modal-body{padding:1rem}.bulk-edit-modal .modal-body p{font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem}.bulk-edit-select{width:100%;padding:.5rem;font-size:.85rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);color:var(--text-primary)}.bulk-edit-modal .modal-actions{display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1rem;border-top:1px solid var(--border)}.bse-new-only-toggle{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .15s}.bse-new-only-toggle.active{background:var(--accent);color:#fff;border-color:var(--accent)}.bse-options-header{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--text-primary)}.bse-inst-actions{display:flex;align-items:center;gap:4px}.bse-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--text-secondary);border-radius:4px;cursor:pointer;transition:all .15s}.bse-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.bse-inst-edit-form{display:flex;flex-direction:column;gap:6px;width:100%}.bse-inst-edit-form input{padding:.35rem .5rem;font-size:.8rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary)}.bse-inst-edit-actions{display:flex;gap:6px}.bse-inst-delete-confirm{display:flex;align-items:center;gap:8px;width:100%;font-size:.8rem}.bse-delete-confirm-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;border:none;border-radius:4px;background:var(--negative, #ef4444);color:#fff;cursor:pointer}.bse-add-bank-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;border:1px dashed var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;margin-top:6px;transition:all .15s}.bse-add-bank-btn:hover{border-color:var(--accent);color:var(--accent)}.bse-wizard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.bse-wizard{background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px #00000040;width:380px;max-width:92vw;overflow:hidden}.bse-wizard-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border);font-weight:600;font-size:.9rem}.bse-wizard-step{padding:1rem;display:flex;flex-direction:column;gap:10px}.bse-wizard-field{display:flex;flex-direction:column;gap:3px}.bse-wizard-field label{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.bse-wizard-field input{padding:.45rem .6rem;font-size:.85rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);width:100%;box-sizing:border-box}.bse-wizard-field input:focus{outline:none;border-color:var(--accent)}.bse-wizard-actions{display:flex;gap:8px;padding-top:6px}.bse-wizard-info{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-secondary);margin:0}.bse-password-row{display:flex;gap:4px}.bse-password-row input{flex:1;padding:.45rem .6rem;font-size:.85rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary)}.bse-password-row input:focus{outline:none;border-color:var(--accent)}@media (max-width: 600px){.bse-options-columns{grid-template-columns:1fr}.repo-bulk-bar{flex-direction:column;align-items:stretch}.repo-bulk-count{margin-right:0}.bse-wizard{width:95vw}}.bse-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1001;animation:bse-overlay-enter .2s ease-out}@keyframes bse-overlay-enter{0%{opacity:0}to{opacity:1}}.bse-drawer{position:fixed;top:0;right:0;width:440px;max-width:100vw;height:100vh;background:var(--bg-card);box-shadow:-4px 0 30px #00000026;z-index:1002;display:flex;flex-direction:column;animation:bse-drawer-enter .25s ease-out}@keyframes bse-drawer-enter{0%{transform:translate(100%)}to{transform:translate(0)}}.bse-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);font-size:16px;font-weight:600;color:var(--text-primary);flex-shrink:0}.bse-drawer-body{flex:1;overflow-y:auto;padding:16px 20px}.bse-drawer-content{display:flex;flex-direction:column;gap:12px}.bse-drawer-status{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-hover);border-radius:8px;font-size:12px;color:var(--text-secondary)}.bse-drawer-status .bse-icon-btn{margin-left:auto}.bse-inst-active-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:600;color:var(--accent);padding:1px 6px;border-radius:4px;background:var(--accent-light)}.bse-import-bank-section{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-top:4px;background:var(--bg-hover);border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--text-secondary)}.bse-import-bank-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:6px;border:1px solid var(--accent);background:transparent;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.bse-import-bank-btn:hover{background:var(--accent);color:#fff}.repo-doc-type-badge{display:inline-block;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.repo-doc-type-badge.statement{background:var(--bg-hover);color:var(--text-secondary)}.repo-doc-type-badge.tax{background:var(--warning-bg, rgba(245, 158, 11, .12));color:var(--warning, #d97706)}.repo-doc-type-badge.notice{background:var(--accent-light);color:var(--accent)}.repo-doc-type-badge.other{background:var(--bg-hover);color:var(--text-secondary)}.repo-doc-type-badge.annual-report{background:#8b5cf61f;color:#7c3aed}.repo-doc-type-badge.billing{background:#ec48991f;color:#db2777}.repo-period-type{font-size:.78rem}.repo-period-type.quarterly{color:#2563eb;font-weight:600}.repo-period-type.annual,.repo-period-type.semi-annual,.repo-period-type.multi-year{color:#7c3aed;font-weight:600}.bse-summary-stat.tax{color:var(--warning, #d97706)}.bse-summary-stat.error{color:var(--negative)}@media (max-width: 600px){.bse-widget{bottom:12px;right:12px}.bse-widget-card{width:calc(100vw - 24px);right:0}.bse-drawer{width:100vw}.bse-import-bank-section{flex-direction:column;align-items:stretch;text-align:center}}.bse-bulk-import-section{margin:0 0 .5rem}.bse-bulk-import-btn{display:flex;align-items:center;gap:.3rem;width:100%;padding:.5rem .75rem;background:var(--accent, #6366f1);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;justify-content:center;box-shadow:0 1px 3px #0003}.bse-bulk-import-btn:disabled{opacity:.5;cursor:not-allowed}.bse-bulk-import-btn:hover:not(:disabled){background:var(--accent-hover, var(--accent))}.bse-bulk-progress{background:var(--card-bg, #1e1e2e);border:1px solid var(--border-color, #333);border-radius:6px;padding:.6rem}.bse-bulk-progress-header{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;margin-bottom:.4rem}.bse-bulk-progress-bar-track{height:6px;background:var(--bg-tertiary, #2a2a3a);border-radius:3px;overflow:hidden;margin-bottom:.4rem}.bse-bulk-progress-bar-fill{height:100%;background:var(--accent, #6366f1);border-radius:3px;transition:width .3s ease}.bse-bulk-progress-detail{font-size:.7rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.3rem}.bse-bulk-progress-counts{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}.bse-bulk-summary{background:var(--card-bg, #1e1e2e);border:1px solid var(--border-color, #333);border-radius:6px;padding:.6rem}.bse-bulk-summary-header{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;margin-bottom:.4rem;color:var(--success, #22c55e)}.bse-bulk-summary .bse-dismiss-btn{margin-top:.4rem}.bulk-recon-section{background:var(--card-bg, #1e1e2e);border:1px solid var(--border-color, #333);border-radius:8px;padding:.75rem 1rem;margin-bottom:.75rem}.bulk-recon-idle{display:flex;align-items:center;justify-content:space-between;gap:1rem}.bulk-recon-info{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--warning, #f59e0b)}.bulk-recon-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;background:var(--accent, #6366f1);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.bulk-recon-btn:hover{background:var(--accent-hover, #4f46e5)}.bulk-recon-btn:disabled{opacity:.5;cursor:not-allowed}.bulk-recon-progress{display:flex;flex-direction:column;gap:.5rem}.bulk-recon-progress-header{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;color:var(--text-primary, #e2e8f0)}.bulk-recon-progress-header .spinning{animation:spin 1s linear infinite}.bulk-recon-bar-track{width:100%;height:6px;background:var(--bg-tertiary, #2a2a3e);border-radius:3px;overflow:hidden}.bulk-recon-bar-fill{height:100%;background:var(--accent, #6366f1);border-radius:3px;transition:width .3s ease}.bulk-recon-current{font-size:.75rem;color:var(--text-secondary, #94a3b8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-recon-stats{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.bulk-stat{display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;color:var(--text-secondary, #94a3b8)}.bulk-stat.reconciled{color:var(--success, #22c55e)}.bulk-stat.skipped{color:var(--text-secondary, #94a3b8)}.bulk-stat.errored{color:var(--danger, #ef4444)}.bulk-recon-done{display:flex;flex-direction:column;gap:.5rem}.bulk-recon-done-header{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;color:var(--success, #22c55e)}.bulk-recon-dismiss-btn{align-self:flex-end;padding:.35rem .9rem;background:var(--bg-tertiary, #2a2a3e);color:var(--text-primary, #e2e8f0);border:1px solid var(--border-color, #333);border-radius:6px;font-size:.78rem;cursor:pointer;transition:background .15s}.bulk-recon-dismiss-btn:hover{background:var(--bg-secondary, #252538)}.bulk-recon-skip-breakdown{background:var(--bg-tertiary, #2a2a3e);border-radius:6px;padding:.6rem .8rem;margin-top:.25rem}.bulk-recon-skip-title{font-size:.78rem;font-weight:600;color:var(--text-primary, #e2e8f0);margin-bottom:.4rem}.bulk-skip-reason{display:flex;align-items:baseline;gap:.4rem;font-size:.75rem;color:var(--text-secondary, #94a3b8);margin-bottom:.3rem;flex-wrap:wrap}.bulk-skip-count{font-weight:700;color:var(--warning, #f59e0b);min-width:1.8rem;text-align:right}.bulk-skip-samples{width:100%;padding-left:2.2rem;font-size:.7rem;color:var(--text-tertiary, #64748b);line-height:1.5;max-height:6rem;overflow-y:auto}.bulk-skip-samples div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repo-actions-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.6rem .8rem;background:var(--card-bg, #1e1e2e);border:1px solid var(--border-color, #333);border-radius:8px;margin-bottom:.75rem}.bse-sync-btn{background:var(--success, #22c55e)!important}.bse-sync-btn:hover{background:#16a34a!important}.bse-sync-progress,.bse-sync-done{flex:1;min-width:200px}.export-diag-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;background:var(--accent, #6366f1);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.export-diag-btn:hover{background:var(--accent-hover, #4f46e5)}.export-diag-btn:disabled{opacity:.5;cursor:not-allowed}.export-diag-progress,.export-diag-done{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-secondary, #94a3b8)}.batch-download-btn{background:var(--warning, #f59e0b)!important;color:#fff!important}.batch-download-btn:hover{background:#d97706!important}.batch-download-progress,.batch-download-done{flex:1;min-width:200px}.batch-download-results{display:flex;flex-direction:column;gap:2px;margin:.5rem 0;max-height:200px;overflow-y:auto;font-size:.82rem}.batch-result-row{display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:4px;background:var(--bg-primary)}.batch-result-row svg{flex-shrink:0}.batch-result-completed svg{color:var(--positive, #22c55e)}.batch-result-skipped svg{color:var(--text-muted)}.batch-result-failed svg{color:var(--negative, #ef4444)}.batch-result-name{font-weight:500;min-width:120px}.batch-result-detail{color:var(--text-muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-download-actions{display:flex;gap:8px;align-items:center;margin-top:.3rem}.batch-retry-btn{background:var(--negative, #ef4444)!important;color:#fff!important}.batch-retry-btn:hover{filter:brightness(1.1)}.batch-download-results-live{max-height:150px;font-size:.78rem}.connections-page{max-width:1200px;margin:0 auto;padding:1.5rem}.connections-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.connections-header-left{display:flex;align-items:center;gap:.75rem}.connections-header-left h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.connections-header-left svg{color:var(--accent-primary)}.connections-header-right{display:flex;align-items:center;gap:.5rem}.connections-refresh-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:all .15s}.connections-refresh-btn:hover{background:var(--bg-secondary);color:var(--accent-primary)}.connections-add-btn{display:flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border:none;border-radius:8px;background:var(--accent-primary);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.connections-add-btn:hover{filter:brightness(1.1)}.connections-status-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;margin-bottom:1rem}.connections-status-indicators{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.connections-status-dot{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--text-secondary)}.connections-status-dot.connected svg{color:var(--success)}.connections-status-dot.disconnected svg{color:var(--danger)}.connections-status-count{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--text-muted)}.connections-status-actions{display:flex;align-items:center;gap:.5rem}.connections-launch-btn,.connections-batch-btn{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-primary);color:var(--text-primary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.connections-launch-btn:hover,.connections-batch-btn:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.connections-batch-btn:disabled{opacity:.5;cursor:not-allowed}.connections-batch-status{padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--accent-primary);border-radius:10px;margin-bottom:1rem}.connections-batch-status.done{border-color:var(--success)}.connections-batch-status-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.connections-batch-status-title{font-weight:600;font-size:.88rem;color:var(--text-primary);flex:1}.connections-batch-dismiss{padding:.2rem .6rem;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-primary);color:var(--text-secondary);font-size:.75rem;cursor:pointer}.connections-batch-dismiss:hover{background:var(--bg-tertiary)}.connections-batch-status-details{display:flex;gap:1rem;font-size:.8rem;color:var(--text-secondary);flex-wrap:wrap}.connections-batch-failed{color:var(--danger);font-weight:600}.connections-batch-progress-text{font-size:.78rem;color:var(--text-muted);margin-top:.3rem}.connections-batch-progress-bar{height:4px;background:var(--bg-tertiary);border-radius:2px;margin-top:.5rem;overflow:hidden}.connections-batch-progress-fill{height:100%;background:var(--accent-primary);border-radius:2px;transition:width .3s ease}.connections-batch-retry{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border:1px solid var(--danger);border-radius:5px;background:var(--bg-primary);color:var(--danger);font-size:.78rem;cursor:pointer;margin-top:.5rem}.connections-batch-retry:hover{background:color-mix(in srgb,var(--danger) 10%,var(--bg-primary))}.connections-import-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-start;margin-bottom:1rem}.connections-import-actions .connections-batch-status{flex:1;min-width:260px}.connections-action-btn-row{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:.82rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.connections-action-btn-row:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.connections-error{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;background:color-mix(in srgb,var(--danger) 10%,var(--bg-primary));border:1px solid var(--danger);border-radius:8px;margin-bottom:1rem;color:var(--danger);font-size:.85rem}.connections-filters{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.connections-filter-group{display:flex;align-items:center;gap:.3rem;color:var(--text-muted)}.connections-filter-select{padding:.35rem .5rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:.8rem;cursor:pointer}.connections-filter-select:focus{outline:none;border-color:var(--accent-primary)}.connections-filter-count{font-size:.78rem;color:var(--text-muted);margin-left:auto}.connections-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;color:var(--text-muted)}.connections-empty svg{margin-bottom:1rem;opacity:.4}.connections-empty h3{margin:0 0 .5rem;color:var(--text-secondary);font-size:1.1rem}.connections-empty p{margin:0 0 1.25rem;font-size:.88rem}.conn-card-stack{display:flex;flex-direction:column;gap:.75rem}.conn-card{border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);overflow:hidden}.conn-card.has-job{border-color:var(--accent-primary)}.conn-card.needs-setup .conn-card-header{border-left:3px solid var(--warning)}.conn-card-header{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;cursor:pointer;background:var(--bg-secondary);border-bottom:1px solid transparent;transition:background .1s}.conn-card-header:hover{background:color-mix(in srgb,var(--accent-primary) 4%,var(--bg-secondary))}.conn-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.conn-status-dot.connected{background:var(--success)}.conn-status-dot.disconnected{background:var(--text-muted)}.conn-card-name{font-size:1rem;font-weight:650;color:var(--text-primary)}.conn-card-refreshed{font-size:.78rem;color:var(--text-muted)}.conn-card-spacer{flex:1}.conn-job-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:600;color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 10%,var(--bg-primary));padding:.15rem .5rem;border-radius:4px}.conn-chevron{color:var(--text-muted);flex-shrink:0}.connections-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .45rem;border-radius:4px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.connections-badge.owner-max{background:color-mix(in srgb,var(--accent-primary) 15%,var(--bg-primary));color:var(--accent-primary)}.connections-badge.owner-sara{background:color-mix(in srgb,#a855f7 15%,var(--bg-primary));color:#a855f7}.conn-card-body{padding:.75rem 1rem 1rem;border-top:1px solid var(--border-light)}.conn-card-stats-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.conn-card-stats{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.conn-stat{font-size:.82rem;color:var(--text-secondary)}.conn-stat.muted{color:var(--text-muted);font-size:.78rem}.conn-stat-sep{color:var(--text-muted);font-size:.82rem}.conn-mini-bar{width:50px;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.conn-mini-bar-fill{height:100%;background:var(--success);border-radius:2px;transition:width .3s ease}.conn-card-actions{display:flex;gap:.35rem;align-items:center}.conn-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .65rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s}.conn-btn:hover{background:var(--bg-secondary);border-color:var(--accent-primary);color:var(--accent-primary)}.conn-btn:disabled{opacity:.4;cursor:not-allowed}.conn-btn:disabled:hover{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-secondary)}.conn-btn.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.conn-btn.primary:hover{filter:brightness(1.1);color:#fff}.conn-btn.primary:disabled{filter:none}.conn-job-progress-bar{display:flex;align-items:center;gap:.4rem;padding:.4rem .65rem;background:color-mix(in srgb,var(--accent-primary) 6%,var(--bg-primary));border-radius:5px;font-size:.78rem;color:var(--accent-primary);margin-bottom:.75rem}.conn-acct-table{width:100%;border-collapse:collapse;font-size:.82rem;margin-bottom:.75rem;border:1px solid var(--border-light);border-radius:6px;overflow:hidden}.conn-acct-table thead th{padding:.4rem .75rem;text-align:left;font-weight:600;font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.conn-acct-table tbody td{padding:.5rem .75rem;color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.conn-acct-table tbody tr:last-child td{border-bottom:none}.conn-acct-table tbody tr:hover{background:color-mix(in srgb,var(--bg-secondary) 50%,var(--bg-primary))}.conn-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.15rem 2rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-light)}.connections-detail-row{display:flex;align-items:baseline;gap:.5rem;font-size:.78rem;margin-bottom:.25rem}.connections-detail-label{color:var(--text-muted);font-weight:500;min-width:85px;flex-shrink:0}.connections-detail-value{color:var(--text-secondary);word-break:break-all;display:flex;align-items:center;gap:.3rem}.connections-external-link{color:var(--accent-primary);display:inline-flex;opacity:.7;transition:opacity .15s}.connections-external-link:hover{opacity:1}.connections-frequency-selector{padding:.5rem .65rem;background:var(--bg-secondary);border-radius:6px;margin-bottom:.75rem}.connections-frequency-label{font-size:.75rem;color:var(--text-muted);display:block;margin-bottom:.35rem}.connections-frequency-options{display:flex;gap:.3rem}.connections-frequency-btn{padding:.25rem .55rem;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-primary);color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .15s}.connections-frequency-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.connections-frequency-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}@media (max-width: 768px){.connections-page{padding:1rem}.connections-header{flex-direction:column;align-items:flex-start;gap:.75rem}.connections-status-bar,.connections-filters{flex-direction:column;align-items:flex-start}.connections-filter-count{margin-left:0}.conn-card-stats-row{flex-direction:column;align-items:flex-start}}.reconcile-issues-section{display:flex;flex-direction:column;gap:1rem}.issues-loading{display:flex;align-items:center;gap:.5rem;padding:2rem;justify-content:center;color:var(--text-secondary)}.issues-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.issues-summary-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;text-align:center;cursor:pointer;transition:all .15s}.issues-summary-card:hover{border-color:var(--accent-primary)}.issues-summary-card.active{border-color:var(--accent-primary);background:var(--bg-tertiary)}.issues-count{font-size:1.75rem;font-weight:700;line-height:1}.issues-count.high{color:var(--danger)}.issues-count.medium{color:var(--warning)}.issues-count.low{color:var(--text-secondary)}.issues-label{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.issues-filters{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.issues-filters select{padding:.4rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:.85rem}.issues-patterns{background:var(--bg-secondary);border:1px solid var(--warning);border-radius:8px;padding:.75rem 1rem}.issues-patterns h4{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.9rem;color:var(--warning)}.issues-pattern-item{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.85rem;color:var(--text-secondary)}.issues-pattern-item svg{color:var(--warning);flex-shrink:0}.issues-empty{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.issues-empty svg{color:var(--success);margin-bottom:.5rem}.issues-empty h3{margin:.5rem 0 .25rem;color:var(--text-primary)}.issues-empty p{margin:0;font-size:.9rem}.issues-table-wrap{overflow-x:auto}.issues-table{width:100%;border-collapse:collapse;font-size:.85rem}.issues-table th{text-align:left;padding:.5rem .75rem;border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-weight:600;white-space:nowrap}.issues-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border-light)}.issue-row:hover{background:var(--bg-secondary)}.issue-type-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.75rem;font-weight:700;color:#fff}.issue-type-badge.unmatched{background:var(--danger)}.issue-type-badge.fuzzy{background:var(--warning)}.issue-type-badge.extra{background:var(--text-muted)}.issue-date{white-space:nowrap}.issue-desc{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issue-amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.issue-inst{white-space:nowrap}.issue-stmt{white-space:nowrap;font-size:.8rem;color:var(--text-muted)}.issues-truncated{text-align:center;padding:.5rem;color:var(--text-muted);font-size:.85rem}@media (max-width: 768px){.issues-summary-cards{grid-template-columns:repeat(2,1fr)}.issues-filters{flex-direction:column}.issue-desc{max-width:150px}}.reparse-section{border-left:3px solid var(--accent-primary)}.reparse-btn{background:var(--accent-primary)!important}.reparse-single-btn{border-color:var(--accent-primary)!important;color:var(--accent-primary)!important}.reparse-single-btn:hover{background:var(--accent-primary)!important;color:#fff!important}.reparse-single-btn:disabled{opacity:.6;cursor:not-allowed}.bank-data-page{display:flex;flex-direction:column;height:100%}.bank-data-tabs{display:flex;gap:2px;padding:0 24px;background:var(--bg-primary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10}.bank-data-tab{display:flex;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:500;color:var(--text-secondary);text-decoration:none;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.bank-data-tab:hover{color:var(--text-primary)}.bank-data-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}@media (max-width: 768px){.bank-data-tabs{padding:0 12px}.bank-data-tab{padding:8px 14px;font-size:13px}}.dash2-page{max-width:var(--page-max-width);margin:0 auto;padding:24px 24px 48px;display:flex;flex-direction:column;gap:28px}.dash2-positive{color:var(--positive)}.dash2-negative{color:var(--negative)}.dash2-hero-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.dash2-hero-card{position:relative;background:var(--bg-card);border-radius:14px;padding:24px;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease}.dash2-hero-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.dash2-hero-primary{background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-secondary) 100%)}.dash2-hero-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.dash2-hero-value{font-size:26px;font-weight:700;color:var(--text-primary);line-height:1.2;font-variant-numeric:tabular-nums}.dash2-hero-sub{display:flex;gap:12px;margin-top:8px;font-size:12px;font-weight:500}.dash2-section{background:var(--bg-card);border-radius:14px;padding:24px;box-shadow:var(--shadow)}.dash2-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dash2-section-header h2{font-size:17px;font-weight:600;color:var(--text-primary);margin:0}.dash2-gear-wrap{position:absolute;top:12px;right:12px;z-index:10}.dash2-section-header .dash2-gear-wrap{position:relative;top:auto;right:auto}.dash2-gear-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;opacity:.5;transition:opacity .15s,background .15s}.dash2-gear-btn:hover{opacity:1;background:var(--bg-hover)}.dash2-widget-settings{position:absolute;top:100%;right:0;min-width:260px;max-height:480px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);z-index:100;margin-top:4px}.dash2-ws-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.dash2-ws-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px;display:flex}.dash2-ws-body{padding:10px 14px 14px;display:flex;flex-direction:column;gap:10px}.dash2-ws-field{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:var(--text-primary)}.dash2-ws-field select,.dash2-ws-field input{padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:12px;min-width:100px}.dash2-ws-toggles{display:flex;flex-direction:column;gap:4px}.dash2-ws-toggles-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:2px}.dash2-ws-toggle-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border:none;background:none;cursor:pointer;font-size:12px;color:var(--text-primary);border-radius:4px;transition:background .1s}.dash2-ws-toggle-item:hover{background:var(--bg-hover)}.dash2-ws-toggle-item.hidden-item{color:var(--text-muted);text-decoration:line-through;opacity:.6}.dash2-ws-multisel{margin-top:4px;border-top:1px solid var(--border);padding-top:6px}.dash2-ws-multisel-hdr{display:flex;justify-content:space-between;align-items:center;padding:0 2px 4px}.dash2-ws-multisel-hdr>span:first-child{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.dash2-ws-multisel-count{font-size:10px;color:var(--accent);font-weight:600}.dash2-ws-multisel-list{max-height:160px;overflow-y:auto}.dash2-ws-multisel-item{display:flex;align-items:center;gap:4px;width:100%;font-size:12px;color:var(--text-muted);padding:1px 2px;border-radius:4px}.dash2-ws-multisel-item.active{color:var(--text-primary)}.dash2-ws-multisel-toggle{display:flex;align-items:center;gap:5px;flex:1;background:none;border:none;cursor:pointer;color:inherit;font:inherit;padding:3px 4px;text-align:left;border-radius:4px}.dash2-ws-multisel-toggle:hover{background:var(--bg-hover)}.dash2-ws-multisel-check{font-size:8px;width:12px;text-align:center;flex-shrink:0}.dash2-ws-multisel-item.active .dash2-ws-multisel-check{color:var(--accent)}.dash2-ws-multisel-arrows{display:flex;flex-direction:column;gap:0;flex-shrink:0}.dash2-ws-multisel-arrows button{background:none;border:none;cursor:pointer;font-size:8px;line-height:1;padding:0 3px;color:var(--text-muted);opacity:.7}.dash2-ws-multisel-arrows button:hover:not(:disabled){color:var(--accent);opacity:1}.dash2-ws-multisel-arrows button:disabled{opacity:.25;cursor:default}.dash2-bs-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dash2-bs-col{display:flex;flex-direction:column;gap:0}.dash2-bs-col-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.dash2-bs-assets{background:var(--positive-bg);color:var(--positive)}.dash2-bs-liabilities{background:var(--negative-bg);color:var(--negative)}.dash2-bs-group{border-bottom:1px solid var(--border-light)}.dash2-bs-group:last-child{border-bottom:none}.dash2-bs-group-header{display:flex;align-items:center;width:100%;padding:10px 14px;background:none;border:none;cursor:pointer;color:var(--text-primary);font-size:13px;font-weight:600;transition:background .1s;gap:6px}.dash2-bs-group-header:hover{background:var(--bg-hover)}.dash2-bs-group-chevron{display:flex;align-items:center;color:var(--text-muted);flex-shrink:0}.dash2-bs-group-name{flex:1;text-align:left}.dash2-bs-group-total{font-variant-numeric:tabular-nums;font-weight:600}.dash2-bs-acct-row{display:flex;align-items:center;padding:6px 14px 6px 36px;font-size:12px;color:var(--text-secondary);gap:8px}.dash2-bs-acct-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash2-bs-acct-updated{font-size:11px;color:var(--text-muted);min-width:56px;text-align:right}.dash2-bs-acct-balance{font-variant-numeric:tabular-nums;font-weight:500;color:var(--text-primary);min-width:80px;text-align:right}.dash2-chart-wrap{margin-top:4px}.dash2-chart-legend{display:flex;gap:20px;justify-content:center;margin-top:8px;font-size:12px;color:var(--text-secondary)}.dash2-legend-item{display:flex;align-items:center;gap:6px}.dash2-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dash2-empty{text-align:center;padding:32px 16px;color:var(--text-muted);font-size:13px}.dash2-txn-list{display:flex;flex-direction:column}.dash2-txn-header-row{display:grid;grid-template-columns:72px 1fr 140px 100px;padding:0 12px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border)}.dash2-txn-h-amt{text-align:right}.dash2-txn-row{display:grid;grid-template-columns:72px 1fr 140px 100px;padding:8px 12px;border:none;background:none;cursor:pointer;text-align:left;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border-light);transition:background .1s;align-items:center}.dash2-txn-date{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.dash2-txn-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px}.dash2-txn-cat{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash2-txn-amt{text-align:right;font-weight:500;font-variant-numeric:tabular-nums}.dash2-see-all{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:12px;padding:8px;width:100%;background:none;border:none;cursor:pointer;color:var(--accent);font-size:13px;font-weight:500;border-radius:8px;transition:background .1s}.dash2-trend-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dash2-trend-card{padding:20px!important}.dash2-trend-card .dash2-section-header{margin-bottom:12px}.dash2-trend-card .dash2-section-header h2{font-size:14px}.dash2-mini-chart{margin:0 -8px}.dash2-trend-card .dash2-chart-legend{margin-top:4px;font-size:11px}@media (max-width: 900px){.dash2-hero-row{grid-template-columns:repeat(2,1fr)}.dash2-bs-columns,.dash2-trend-row{grid-template-columns:1fr}}@media (max-width: 600px){.dash2-page{padding:16px 12px 32px;gap:16px}.dash2-hero-row{grid-template-columns:1fr}.dash2-hero-card{padding:16px}.dash2-hero-value{font-size:22px}.dash2-section{padding:16px;border-radius:10px}.dash2-txn-header-row,.dash2-txn-row{grid-template-columns:56px 1fr 90px}.dash2-txn-h-cat,.dash2-txn-cat{display:none}.dash2-bs-acct-row{padding-left:24px}.dash2-bs-acct-updated{display:none}}.acct2-page{padding:0;max-width:var(--page-max-width);margin:0 auto}.acct2-networth-bar{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem}.acct2-nw-center{display:flex;flex-direction:column;align-items:center;gap:.15rem}.acct2-nw-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.acct2-nw-amount{font-size:1.75rem;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.acct2-nw-side{display:flex;flex-direction:column;align-items:center;gap:.1rem}.acct2-nw-label{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.acct2-nw-value{font-size:1.1rem;font-weight:600}.acct2-filters{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;flex-wrap:wrap}.acct2-search{display:flex;align-items:center;gap:.5rem;flex:1;min-width:180px;color:var(--text-muted)}.acct2-search input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:.85rem;outline:none;padding:.35rem 0}.acct2-search input::placeholder{color:var(--text-muted)}.acct2-filter-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.acct2-filter-controls select{padding:.35rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.78rem;cursor:pointer;outline:none}.acct2-toggle-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.78rem;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.acct2-toggle-btn:hover{background:var(--bg-hover)}.acct2-toggle-btn.active{border-color:var(--accent);color:var(--accent)}.acct2-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.acct2-column{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.acct2-column-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem}.acct2-assets-header{background:var(--positive-bg);border-bottom:2px solid var(--positive)}.acct2-liab-header{background:var(--negative-bg);border-bottom:2px solid var(--negative)}.acct2-column-title{font-size:.75rem;font-weight:700;letter-spacing:1px;color:var(--text-primary)}.acct2-column-total{font-size:1rem;font-weight:700;color:var(--text-primary)}.acct2-group{border-top:1px solid var(--border)}.acct2-group:first-child{border-top:none}.acct2-group-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.6rem 1rem;background:var(--bg-hover);border:none;border-left:3px solid var(--acct2-accent, var(--accent));cursor:pointer;transition:background .12s;text-align:left;color:inherit;font-family:inherit}.acct2-group-header:hover{background:var(--bg-secondary)}.acct2-group-left{display:flex;align-items:center;gap:.5rem}.acct2-group-chevron{display:flex;align-items:center;color:var(--text-muted)}.acct2-group-icon{color:var(--acct2-accent, var(--accent))}.acct2-group-name{font-size:.82rem;font-weight:600;color:var(--text-primary)}.acct2-group-count{font-size:.7rem;color:var(--text-muted);background:var(--bg-primary);padding:.1rem .4rem;border-radius:10px}.acct2-group-total{font-size:.88rem;font-weight:700}.acct2-table{width:100%;border-collapse:collapse}.acct2-row{cursor:pointer;transition:background .1s}.acct2-row:hover,.acct2-row-expanded{background:var(--bg-hover)}.acct2-row td{padding:.45rem 1rem;font-size:.82rem;border-top:1px solid var(--border-light)}.acct2-cell-name{display:flex;align-items:center;gap:.4rem}.acct2-expand-icon{display:flex;align-items:center;color:var(--text-muted);flex-shrink:0}.acct2-name-text{color:var(--text-primary);font-weight:500}.acct2-mask{color:var(--text-muted);font-size:.75rem;font-weight:400}.acct2-cell-updated{text-align:center;color:var(--text-muted);font-size:.78rem;white-space:nowrap}.acct2-stale{color:var(--negative);font-style:italic}.acct2-cell-balance{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.acct2-positive{color:var(--positive)}.acct2-negative{color:var(--negative)}.acct2-detail-row td{padding:0!important;border-top:none!important}.acct2-detail-panel{display:grid;grid-template-columns:140px 1fr auto;gap:1rem;align-items:center;padding:.6rem 1rem .75rem 2.5rem;background:var(--bg-primary);border-top:1px solid var(--border-light)}.acct2-detail-chart{min-height:40px}.acct2-no-chart{font-size:.72rem;color:var(--text-muted)}.acct2-detail-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem}.acct2-meta-item{display:flex;flex-direction:column;gap:.05rem}.acct2-meta-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);font-weight:500}.acct2-meta-value{font-size:.8rem;color:var(--text-primary);font-weight:500}.acct2-detail-links{display:flex;gap:.4rem;flex-wrap:wrap}.acct2-link-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .55rem;border:1px solid var(--border);border-radius:5px;background:var(--bg-card);color:var(--text-secondary);font-size:.72rem;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s}.acct2-link-btn:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.acct2-empty{padding:2rem;text-align:center;color:var(--text-muted);font-size:.85rem}@media (max-width: 900px){.acct2-columns{grid-template-columns:1fr}.acct2-networth-bar{flex-direction:column;gap:.75rem}.acct2-nw-center{order:-1}.acct2-nw-side{flex-direction:row;gap:.5rem}.acct2-detail-panel{grid-template-columns:1fr;padding-left:1rem}.acct2-detail-chart{max-width:200px}}@media (max-width: 600px){.acct2-filters{flex-direction:column;align-items:stretch}.acct2-filter-controls{flex-wrap:wrap}.acct2-row td{padding:.4rem .5rem;font-size:.78rem}.acct2-group-header{padding:.5rem .65rem}}.bs3-page{max-width:1100px;margin:0 auto;padding:0 .5rem}.bs3-controls{display:flex;align-items:center;gap:.6rem;padding:.45rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:.6rem;flex-wrap:wrap}.bs3-view-toggle{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.bs3-view-toggle button{display:flex;align-items:center;gap:.3rem;padding:.35rem .7rem;border:none;background:var(--bg-secondary);color:var(--text-secondary);font-size:.78rem;cursor:pointer;transition:background .12s,color .12s;font-family:inherit}.bs3-view-toggle button:not(:last-child){border-right:1px solid var(--border)}.bs3-view-toggle button.active{background:var(--accent);color:#fff}.bs3-search{display:flex;align-items:center;gap:.4rem;flex:1;min-width:140px;color:var(--text-muted)}.bs3-search input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:.82rem;outline:none;padding:.3rem 0;font-family:inherit}.bs3-search input::placeholder{color:var(--text-muted)}.bs3-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.78rem;cursor:pointer;white-space:nowrap;font-family:inherit;transition:border-color .12s,color .12s}.bs3-pill:hover{background:var(--bg-hover)}.bs3-pill.active{border-color:var(--accent);color:var(--accent)}.bs3-nw-bar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;background:#d9ead3;border:1px solid #b6d7a8;border-radius:8px;margin-bottom:.6rem}.bs3-nw-label{font-size:.85rem;font-weight:800;letter-spacing:.8px;color:#274e13}.bs3-nw-val{font-size:1.4rem;font-weight:800;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.bs3-columns{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:start}.bs3-col{min-width:0}.bs3-col-hdr{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;font-size:.82rem;font-weight:800;letter-spacing:.5px;border-radius:6px 6px 0 0;border:1px solid var(--border);border-bottom:none}.bs3-col-hdr span:last-child{font-size:1.05rem;font-variant-numeric:tabular-nums}.bs3-col-hdr-a,.bs3-col-hdr-l{background:#e8eaed;color:#1a1a1a}.bs3-tbl{width:100%;border-collapse:collapse;table-layout:fixed;border:1px solid var(--border);border-top:none;border-radius:0 0 6px 6px;overflow:hidden;background:var(--bg-card)}.bs3-col-upd{width:90px}.bs3-col-bal{width:120px}.bs3-grp{cursor:pointer;transition:filter .1s}.bs3-grp:hover{filter:brightness(.95)}.bs3-grp td{padding:.5rem .75rem;border-top:1px solid var(--border)}.bs3-tbl tbody tr:first-child td{border-top:none}.bs3-grp-name{font-size:.78rem;font-weight:700;letter-spacing:.3px}.bs3-chev{display:inline-flex;align-items:center;vertical-align:middle;margin-right:.3rem;opacity:.6}.bs3-grp-upd{font-size:.68rem;color:var(--text-muted);text-align:right;font-weight:500}.bs3-grp-bal{font-size:.85rem;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.bs3-row{cursor:pointer;transition:background .08s}.bs3-row:hover{background:var(--bg-hover)}.bs3-row td{padding:.3rem .75rem;border-top:1px solid var(--border-light, rgba(0,0,0,.06))}.bs3-acct-name{font-size:.8rem;color:var(--text-primary);font-weight:500;padding-left:1.6rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.bs3-acct-num{color:var(--text-muted);font-size:.72rem;font-weight:400}.bs3-acct-upd{font-size:.72rem;color:var(--text-muted);text-align:right;white-space:nowrap}.bs3-stale{color:var(--negative)!important;font-style:italic}.bs3-acct-bal{font-size:.82rem;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bs3-inst-name{font-size:.82rem;color:var(--text-primary);font-weight:500;padding-left:1.6rem!important}.bs3-pos{color:var(--positive)}.bs3-neg{color:var(--negative)}@media (max-width: 768px){.bs3-page{padding:0 .25rem}.bs3-controls{flex-direction:column;align-items:stretch}.bs3-columns{grid-template-columns:1fr}.bs3-nw-bar{padding:.6rem .75rem}.bs3-nw-val{font-size:1.15rem}}@media (max-width: 480px){.bs3-col-upd{width:65px}.bs3-col-bal{width:85px}.bs3-grp td{padding:.4rem .5rem}.bs3-grp-upd{display:none}.bs3-row td{padding:.25rem .5rem}.bs3-acct-name,.bs3-inst-name{padding-left:1rem!important}.bs3-acct-upd{display:none}}.acctgrid-page{display:flex;flex-direction:column;height:calc(100vh - 3rem);overflow:hidden;max-width:100%}.acctgrid-toolbar{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:.6rem;flex-wrap:wrap;flex-shrink:0}.acctgrid-search{display:flex;align-items:center;gap:.4rem;flex:1;min-width:160px;color:var(--text-muted)}.acctgrid-search input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:.82rem;outline:none;padding:.3rem 0;font-family:inherit}.acctgrid-search input::placeholder{color:var(--text-muted)}.acctgrid-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.78rem;cursor:pointer;white-space:nowrap;font-family:inherit}.acctgrid-pill:hover{background:var(--bg-hover)}.acctgrid-pill.active{border-color:var(--accent);color:var(--accent)}.acctgrid-count{font-size:.75rem;color:var(--text-muted);margin-left:auto;white-space:nowrap}.acctgrid-hidden-count{color:var(--text-muted);opacity:.7}.acctgrid-wrap{flex:1;min-height:0;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:auto}.acctgrid-table{min-width:100%;border-collapse:collapse;font-size:.82rem;table-layout:auto}.acctgrid-th{position:sticky;top:0;z-index:10;background:var(--bg-secondary);padding:.55rem .75rem;text-align:left;font-weight:600;font-size:.75rem;color:var(--text-secondary);border-bottom:2px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.acctgrid-th.acctgrid-sorted{color:var(--accent)}.acctgrid-th.acctgrid-drag-over{background:var(--accent);color:#fff}.acctgrid-center{text-align:center}.acctgrid-th-inner{display:inline-flex;align-items:center;gap:.25rem;cursor:pointer}.acctgrid-th-inner:hover{color:var(--text-primary)}.acctgrid-grip{opacity:.3;cursor:grab;flex-shrink:0}.acctgrid-th:hover .acctgrid-grip{opacity:.7}.acctgrid-sort-icon{display:inline-flex;opacity:.5}.acctgrid-sorted .acctgrid-sort-icon{opacity:1}.acctgrid-filter-btn{display:inline-flex;align-items:center;margin-left:.25rem;padding:.1rem .2rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;opacity:.4;vertical-align:middle}.acctgrid-filter-btn:hover,.acctgrid-filter-btn.active{opacity:1;color:var(--accent)}.acctgrid-col-filter{position:absolute;top:100%;left:0;z-index:100;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;min-width:180px;max-width:260px;padding:.5rem;font-weight:400;font-size:.8rem}.acctgrid-cf-search{display:flex;align-items:center;gap:.3rem;padding:.3rem .4rem;border:1px solid var(--border);border-radius:4px;margin-bottom:.4rem;color:var(--text-muted)}.acctgrid-cf-search input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:.78rem;outline:none;font-family:inherit}.acctgrid-cf-all{display:flex;align-items:center;gap:.4rem;padding:.25rem 0;cursor:pointer;font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border);margin-bottom:.25rem}.acctgrid-cf-list{max-height:200px;overflow-y:auto}.acctgrid-cf-item{display:flex;align-items:center;gap:.4rem;padding:.2rem 0;cursor:pointer;color:var(--text-primary)}.acctgrid-cf-item:hover{color:var(--accent)}.acctgrid-cf-empty{padding:.5rem;text-align:center;color:var(--text-muted);font-style:italic}.acctgrid-cf-actions{display:flex;justify-content:flex-end;gap:.4rem;padding-top:.4rem;border-top:1px solid var(--border);margin-top:.25rem}.acctgrid-cf-actions button{padding:.25rem .6rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.75rem;cursor:pointer;font-family:inherit}.acctgrid-cf-apply{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.acctgrid-row{cursor:pointer;transition:background .08s}.acctgrid-row-hidden{opacity:.45}.acctgrid-row-hidden:hover{opacity:.7}.acctgrid-row td{padding:.4rem .75rem;border-top:1px solid var(--border-light, rgba(0,0,0,.05));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.acctgrid-vis-cell{padding:.25rem .3rem!important}.acctgrid-vis-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:.15rem;border-radius:4px;opacity:.5}.acctgrid-vis-btn:hover{opacity:1;color:var(--accent)}.acctgrid-row-hidden .acctgrid-vis-btn{opacity:.8;color:var(--negative)}.acctgrid-right{text-align:right}.acctgrid-pos{color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums}.acctgrid-neg{color:var(--negative);font-weight:600;font-variant-numeric:tabular-nums}.acctgrid-stale{color:var(--negative)!important;font-style:italic}.acctgrid-empty{text-align:center;padding:2rem;color:var(--text-muted);font-style:italic}.bs3-controls{display:flex;align-items:center;gap:.4rem}.bs3-ctrl-btn{padding:.3rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.72rem;cursor:pointer;font-family:inherit;white-space:nowrap;transition:all .15s}.bs3-ctrl-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.bs3-ctrl-btn.active{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb, 99, 102, 241),.08)}@media (max-width: 900px){.acctgrid-page{height:calc(100vh - 4.5rem)}.acctgrid-row td{padding:.35rem .5rem;font-size:.78rem}.acctgrid-th{padding:.45rem .5rem;font-size:.72rem}.bs3-controls{flex-wrap:wrap}}.acct2-summary-bar{display:flex;align-items:center;gap:.75rem;padding:.4rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:.6rem;font-size:.78rem;color:var(--text-muted);flex-shrink:0}.acct2-summary-item{display:inline-flex;align-items:center;gap:.3rem}.acct2-summary-item strong{font-weight:600;font-size:.82rem}.acct2-summary-sep{width:1px;height:16px;background:var(--border);flex-shrink:0}.acct2-pos{color:var(--positive)}.acct2-neg{color:var(--negative)}.acct2-resize-handle{position:absolute;right:-3px;top:0;bottom:0;width:7px;cursor:col-resize;z-index:11;background:transparent;transition:background .15s}.acct2-resize-handle:hover,.acct2-resize-handle:active{background:var(--accent);opacity:.5}.acct2-balance-cell{display:inline-flex;align-items:center;gap:.3rem;justify-content:flex-end;width:100%}.acct2-trend{flex-shrink:0;opacity:.7}.acct2-trend-up{color:var(--positive)}.acct2-trend-down{color:var(--negative)}.acct2-trend-flat{color:var(--text-muted);opacity:.4}.acct2-name-cell{display:inline-flex;align-items:center;gap:.25rem}.acct2-has-note{color:var(--accent);font-weight:700;font-size:.9em;opacity:.6}.acctgrid-row-hidden td:not(.acctgrid-vis-cell){text-decoration:line-through;text-decoration-color:var(--text-muted);text-decoration-thickness:1px}.acctgrid-row:hover td,.acctgrid-row-hidden:hover td{background:var(--bg-hover)}.acct2-empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;color:var(--text-muted);font-style:italic}.acct2-link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.82rem;text-decoration:underline;font-family:inherit;padding:0}.acct2-link-btn:hover{opacity:.8}.acct2-skeleton-wrap{display:flex;flex-direction:column;height:calc(100vh - 3rem);overflow:hidden;max-width:100%}.acct2-skeleton-toolbar{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:.6rem}.acct2-skeleton-table{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden;padding:.5rem}.acct2-skeleton-header{display:flex;gap:1rem;padding:.6rem .75rem;border-bottom:2px solid var(--border);margin-bottom:.3rem}.acct2-skeleton-row{display:flex;gap:1rem;padding:.5rem .75rem;animation:acct2-skeleton-pulse 1.2s ease-in-out infinite}.acct2-skeleton-bar{background:var(--bg-hover);border-radius:4px;animation:acct2-skeleton-pulse 1.2s ease-in-out infinite}@keyframes acct2-skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}@media (max-width: 900px){.acct2-summary-bar{font-size:.72rem;gap:.5rem;padding:.3rem .5rem}.acct2-summary-item strong{font-size:.75rem}}.balhist2-page{padding:24px 32px 48px;max-width:var(--page-max-width);margin:0 auto}.balhist2-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.balhist2-header h1{font-size:24px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.3px}.balhist2-subtitle{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.balhist2-header-actions{display:flex;gap:8px;align-items:center}.balhist2-export-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s}.balhist2-export-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-secondary)}.balhist2-export-btn:disabled{opacity:.4;cursor:not-allowed}.balhist2-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px;padding:10px 14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px}.balhist2-date-presets{display:flex;gap:2px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:2px}.balhist2-date-btn{padding:5px 12px;font-size:12px;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s}.balhist2-date-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.balhist2-date-btn.active{color:var(--text-primary);background:var(--bg-secondary);box-shadow:0 1px 2px #0000000f;font-weight:600}.balhist2-filter-group{display:flex;gap:6px}.balhist2-dropdown-wrap{position:relative}.balhist2-dropdown-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:500;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s;white-space:nowrap}.balhist2-dropdown-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}.balhist2-dropdown-btn.active{color:var(--accent-primary);border-color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 8%,var(--bg-primary))}.balhist2-dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.balhist2-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:220px;max-height:320px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:100;padding:6px}.balhist2-dropdown-clear{display:block;width:100%;padding:6px 10px;font-size:11px;font-weight:500;color:var(--accent-primary);background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;margin-bottom:4px}.balhist2-dropdown-option{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:13px;color:var(--text-primary);border-radius:6px;cursor:pointer;transition:background .1s}.balhist2-dropdown-option:hover{background:var(--bg-secondary)}.balhist2-dropdown-option input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-primary);flex-shrink:0}.balhist2-dropdown-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balhist2-dropdown-empty{padding:12px;font-size:12px;color:var(--text-secondary);text-align:center}.balhist2-search-wrap{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;flex:0 1 200px;min-width:140px}.balhist2-search-wrap svg:first-child{color:var(--text-secondary);flex-shrink:0}.balhist2-search-wrap input{flex:1;border:none;background:none;font-size:12px;color:var(--text-primary);outline:none;min-width:0}.balhist2-search-wrap input::placeholder{color:var(--text-secondary)}.balhist2-search-clear{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:var(--bg-secondary);border:none;border-radius:50%;cursor:pointer;color:var(--text-secondary);flex-shrink:0}.balhist2-search-clear:hover{background:var(--border);color:var(--text-primary)}.balhist2-clear-all{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;font-size:11px;font-weight:500;color:var(--text-secondary);background:none;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s}.balhist2-clear-all:hover{color:var(--negative, #ef4444);border-color:var(--negative, #ef4444)}.balhist2-summary{display:flex;align-items:center;gap:16px;padding:12px 18px;margin-bottom:16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;overflow-x:auto}.balhist2-stat{display:flex;flex-direction:column;gap:2px;white-space:nowrap}.balhist2-stat-label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.balhist2-stat-value{font-size:14px;font-weight:600;color:var(--text-primary)}.balhist2-stat-value.positive{color:var(--positive, #10b981)}.balhist2-stat-value.negative{color:var(--negative, #ef4444)}.balhist2-stat-divider{width:1px;height:32px;background:var(--border);flex-shrink:0}.balhist2-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--bg-primary)}.balhist2-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.balhist2-table thead{position:sticky;top:0;z-index:2}.balhist2-table th{padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .15s}.balhist2-table th:hover{color:var(--text-primary)}.balhist2-table th:first-child{border-top-left-radius:10px}.balhist2-table th:last-child{border-top-right-radius:10px}.balhist2-table td{padding:8px 14px;color:var(--text-primary);border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balhist2-table tbody tr:last-child td{border-bottom:none}.balhist2-table tbody tr.balhist2-row-even{background:color-mix(in srgb,var(--bg-secondary) 40%,var(--bg-primary))}.balhist2-table tbody tr:hover{background:color-mix(in srgb,var(--accent-primary) 6%,var(--bg-primary))}th.balhist2-col-date,td.balhist2-col-date{width:130px;min-width:110px}th.balhist2-col-account,td.balhist2-col-account{min-width:160px;max-width:280px}th.balhist2-col-institution,td.balhist2-col-institution{min-width:100px;max-width:180px}th.balhist2-col-group,td.balhist2-col-group{min-width:100px;max-width:160px}th.balhist2-col-type,td.balhist2-col-type{width:100px}th.balhist2-col-balance,td.balhist2-col-balance,th.balhist2-col-change,td.balhist2-col-change{width:130px;text-align:right;font-variant-numeric:tabular-nums}.balhist2-sort-icon{vertical-align:middle;margin-left:3px}.balhist2-sort-icon.muted{opacity:.3}.balhist2-sort-icon.active{opacity:1;color:var(--accent-primary)}.balhist2-table td.positive{color:var(--positive, #10b981)}.balhist2-table td.negative{color:var(--negative, #ef4444)}td.balhist2-col-change{display:table-cell}td.balhist2-col-change>svg{vertical-align:middle;margin-right:2px}td.balhist2-col-change.positive svg{color:var(--positive, #10b981)}td.balhist2-col-change.negative svg{color:var(--negative, #ef4444)}.balhist2-muted{color:var(--text-secondary);opacity:.5}.balhist2-empty{text-align:center;padding:48px 16px!important;color:var(--text-secondary);font-size:14px}.balhist2-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;padding:8px 0}.balhist2-pagination button{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;font-size:12px;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s;min-height:32px}.balhist2-pagination button:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-secondary)}.balhist2-pagination button:disabled{opacity:.35;cursor:not-allowed}.balhist2-page-info{font-size:13px;color:var(--text-primary);font-weight:500;padding:0 8px}.balhist2-page-count{color:var(--text-secondary);font-weight:400;margin-left:6px;font-size:12px}@media (max-width: 768px){.balhist2-page{padding:16px}.balhist2-header h1{font-size:20px}.balhist2-filters{padding:8px 10px;gap:8px}.balhist2-filter-group{flex-wrap:wrap}.balhist2-summary{gap:12px;padding:10px 14px;flex-wrap:wrap}.balhist2-stat-divider,th.balhist2-col-institution,td.balhist2-col-institution,th.balhist2-col-group,td.balhist2-col-group,th.balhist2-col-type,td.balhist2-col-type{display:none}}.balhist2-chart-card{margin-bottom:16px;padding:16px 20px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px}.balhist2-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.balhist2-chart-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);margin-right:10px}.balhist2-chart-value{font-size:20px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.balhist2-chart-value.positive{color:var(--positive, #10b981)}.balhist2-chart-value.negative{color:var(--negative, #ef4444)}.balhist2-chart-change{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.balhist2-chart-change.positive{color:var(--positive, #10b981)}.balhist2-chart-change.negative{color:var(--negative, #ef4444)}.balhist2-chart-period{font-size:11px;font-weight:400;color:var(--text-secondary)}.balhist2-chart-area{margin:0 -8px}.balhist2-colpicker-wrap{position:relative}.balhist2-colpicker-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s}.balhist2-colpicker-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}.balhist2-colpicker-btn.active{color:var(--accent-primary);border-color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 8%,var(--bg-secondary))}.balhist2-colpicker-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:220px;background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:100;padding:6px}.balhist2-colpicker-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px 8px;border-bottom:1px solid var(--border);margin-bottom:4px}.balhist2-colpicker-header span{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.balhist2-colpicker-reset{font-size:11px;font-weight:500;color:var(--accent-primary);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px}.balhist2-colpicker-reset:hover{background:color-mix(in srgb,var(--accent-primary) 10%,transparent)}.balhist2-colpicker-option{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:13px;color:var(--text-primary);border-radius:6px;cursor:pointer;transition:background .1s}.balhist2-colpicker-option:hover{background:var(--bg-secondary)}.balhist2-colpicker-option input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-primary);flex-shrink:0}.balhist2-colpicker-eye{color:var(--accent-primary);flex-shrink:0}.balhist2-colpicker-eye.off{color:var(--text-secondary);opacity:.4}.balhist2-colpicker-option span{flex:1}.balhist2-dropdown-search-wrap{display:flex;align-items:center;gap:6px;padding:6px 8px;margin-bottom:4px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px}.balhist2-dropdown-search-wrap svg{color:var(--text-secondary);flex-shrink:0}.balhist2-dropdown-search-wrap input{flex:1;border:none;background:none;font-size:12px;color:var(--text-primary);outline:none;min-width:0}.balhist2-dropdown-search-wrap input::placeholder{color:var(--text-secondary)}.balhist2-dropdown-search-clear{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:var(--bg-primary);border:none;border-radius:50%;cursor:pointer;color:var(--text-secondary);flex-shrink:0}.balhist2-dropdown-search-clear:hover{background:var(--border);color:var(--text-primary)}.balhist2-dropdown-options-list{max-height:260px;overflow-y:auto}th.balhist2-col-accountName,td.balhist2-col-accountName{min-width:160px;max-width:280px}th.balhist2-col-institutionGroup,td.balhist2-col-institutionGroup{min-width:100px;max-width:180px}th.balhist2-col-accountId,td.balhist2-col-accountId{min-width:100px;max-width:200px;font-size:12px;color:var(--text-secondary)}th.balhist2-col-accountNum,td.balhist2-col-accountNum{min-width:90px;max-width:140px}th.balhist2-col-status,td.balhist2-col-status,th.balhist2-col-class,td.balhist2-col-class{width:90px}th.balhist2-col-balance,td.balhist2-col-balance,th.balhist2-col-change,td.balhist2-col-change{font-variant-numeric:tabular-nums}.balhist2-table td span.positive{color:var(--positive, #10b981)}.balhist2-table td span.negative{color:var(--negative, #ef4444)}@media (max-width: 768px){.balhist2-chart-card{padding:12px 14px}.balhist2-chart-header{flex-direction:column;align-items:flex-start;gap:4px}.balhist2-chart-value{font-size:18px}th.balhist2-col-institutionGroup,td.balhist2-col-institutionGroup,th.balhist2-col-accountId,td.balhist2-col-accountId,th.balhist2-col-accountNum,td.balhist2-col-accountNum,th.balhist2-col-status,td.balhist2-col-status,th.balhist2-col-class,td.balhist2-col-class{display:none}}.trend2-page{padding:0 28px 32px;max-width:var(--page-max-width);margin:0 auto}.trend2-header{display:flex;align-items:center;justify-content:space-between;padding:24px 0 16px}.trend2-header-left{display:flex;align-items:center;gap:16px}.trend2-header-right{display:flex;align-items:center;gap:12px}.trend2-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.5px}.trend2-back{display:flex;align-items:center;gap:6px;background:var(--accent-light);border:none;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;padding:6px 14px;border-radius:8px;transition:all .2s}.trend2-back:hover{background:var(--accent);color:#fff}.trend2-controls-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;flex-wrap:wrap}.trend2-controls-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.trend2-controls-right{display:flex;align-items:center;gap:10px}.trend2-segment{display:flex;background:var(--bg-hover);border-radius:10px;padding:3px;gap:2px}.trend2-segment button{padding:7px 18px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;border-radius:8px;transition:all .2s}.trend2-segment button.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 4px #0000001a,0 0 0 1px #0000000a}.trend2-segment button:hover:not(.active){color:var(--text-primary)}.trend2-select-wrap{display:flex;align-items:center;gap:6px;padding:7px 12px;background:var(--bg-hover);border-radius:10px;color:var(--text-secondary)}.trend2-select-wrap select{border:none;background:transparent;color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer;outline:none;padding-right:4px}.trend2-custom-dates{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.trend2-custom-dates input{padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:13px;transition:border-color .2s}.trend2-custom-dates input:focus{border-color:var(--accent);outline:none}.trend2-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer;padding:7px 14px;border-radius:10px;-webkit-user-select:none;user-select:none;transition:background .15s}.trend2-toggle:hover{background:var(--bg-hover)}.trend2-toggle input{accent-color:var(--accent);width:15px;height:15px}.trend2-chart-type{display:flex;background:var(--bg-hover);border-radius:10px;padding:3px}.trend2-chart-type button{padding:7px 10px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:8px;display:flex;align-items:center;transition:all .2s}.trend2-chart-type button.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 4px #0000001a,0 0 0 1px #0000000a}.trend2-chart-type button:hover:not(.active){color:var(--text-secondary)}.trend2-filter-row{display:flex;align-items:center;gap:12px;padding:12px 0 16px;border-bottom:1px solid var(--border);margin-bottom:20px;flex-wrap:wrap}.trend2-filter-row-label{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.trend2-filter-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.trend2-dropdown-wrap{position:relative}.trend2-filter-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:13px;font-weight:500;border-radius:20px;cursor:pointer;transition:all .2s;white-space:nowrap}.trend2-filter-btn:hover{border-color:var(--accent);color:var(--text-primary)}.trend2-filter-btn.active{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.trend2-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;border-radius:10px}.trend2-chevron{transition:transform .2s;flex-shrink:0}.trend2-chevron.open{transform:rotate(180deg)}.trend2-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:260px;max-height:360px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);z-index:100;overflow:hidden;display:flex;flex-direction:column;animation:trend2-dropdown-in .15s ease-out}@keyframes trend2-dropdown-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.trend2-dropdown-search{display:flex;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border);gap:8px}.trend2-search-icon{color:var(--text-muted);flex-shrink:0}.trend2-dropdown-search input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:13px;outline:none}.trend2-dropdown-search input::placeholder{color:var(--text-muted)}.trend2-search-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;display:flex;border-radius:4px}.trend2-search-clear:hover{color:var(--text-primary)}.trend2-dropdown-list{overflow-y:auto;max-height:260px;padding:6px 0}.trend2-dropdown-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:13px}.trend2-dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 14px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:background .1s}.trend2-dropdown-item:hover{background:var(--bg-hover)}.trend2-dropdown-item input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;flex-shrink:0}.trend2-dropdown-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trend2-dropdown-clear{padding:10px 14px;border-top:1px solid var(--border);background:none;border-left:none;border-right:none;border-bottom:none;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;text-align:left;transition:background .15s}.trend2-dropdown-clear:hover{background:var(--accent-light)}.trend2-clear-filters{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--negative-bg);border:none;border-radius:20px;color:var(--negative);font-size:12px;font-weight:600;cursor:pointer;transition:opacity .15s;white-space:nowrap}.trend2-clear-filters:hover{opacity:.8}.trend2-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:24px}.trend2-stat-card{padding:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;display:flex;align-items:flex-start;gap:14px;transition:box-shadow .2s,transform .2s}.trend2-stat-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.trend2-stat-card.accent{border-color:var(--accent);background:linear-gradient(135deg,var(--accent-light),var(--bg-card))}.trend2-stat-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--accent-light);color:var(--accent);flex-shrink:0}.trend2-stat-icon.secondary{background:var(--bg-hover);color:var(--text-muted)}.trend2-stat-icon.trend-up{background:var(--negative-bg);color:var(--negative)}.trend2-stat-icon.trend-down{background:var(--positive-bg);color:var(--positive)}.trend2-stat-body{display:flex;flex-direction:column;gap:4px;min-width:0}.trend2-stat-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.trend2-stat-value{font-size:26px;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;letter-spacing:-.5px;line-height:1.2}.trend2-stat-value.positive{color:var(--positive)}.trend2-stat-value.negative{color:var(--negative)}.trend2-content{display:flex;flex-direction:column;gap:24px}.trend2-chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px 20px;transition:box-shadow .2s}.trend2-chart-card:hover{box-shadow:var(--shadow)}.trend2-chart-legend{display:flex;justify-content:center;gap:24px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light)}.trend2-legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);font-weight:500}.trend2-legend-dot{width:12px;height:12px;border-radius:3px}.trend2-legend-dot.dashed{border-radius:0;height:3px;width:16px;opacity:.5}.trend2-empty{display:flex;align-items:center;justify-content:center;height:280px}.trend2-empty-inner{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted)}.trend2-empty-inner p{font-size:15px;font-weight:500}.trend2-breakdown{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px}.trend2-breakdown-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.trend2-breakdown-count{font-size:12px;color:var(--text-muted);font-weight:500}.trend2-section-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.3px}.trend2-cat-list{display:flex;flex-direction:column;gap:2px}.trend2-cat-row{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:10px;cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:background .15s;font-size:13px;color:var(--text-primary)}.trend2-cat-rank{flex:0 0 22px;text-align:center;font-size:11px;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums}.trend2-cat-dot{width:10px;height:10px;border-radius:4px;flex-shrink:0}.trend2-cat-name{flex:0 0 160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;min-width:0}.trend2-cat-bar-wrap{flex:1;height:8px;background:var(--bg-hover);border-radius:4px;overflow:hidden;min-width:60px}.trend2-cat-bar{display:block;height:100%;border-radius:4px;transition:width .4s ease-out}.trend2-cat-amount{flex:0 0 100px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trend2-cat-pct{flex:0 0 55px;text-align:right;color:var(--text-muted);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.trend2-cat-arrow{flex-shrink:0;color:var(--text-muted);opacity:0;transition:opacity .2s,transform .2s}.trend2-cat-row:hover .trend2-cat-arrow{opacity:1;transform:translate(2px)}.trend2-drill{display:flex;flex-direction:column;gap:20px}.trend2-drill-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px}.trend2-drill-title-group{display:flex;align-items:baseline;gap:12px}.trend2-drill-header h2{font-size:22px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.3px}.trend2-drill-total{font-size:20px;font-weight:600;color:var(--text-muted)}.trend2-drill-count{font-size:13px;color:var(--text-muted);font-weight:500}.trend2-drill-cats{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:4px}.trend2-drill-cats .trend2-section-title{margin-bottom:8px}.trend2-drill-table-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px}.trend2-drill-table-card .trend2-section-title{margin-bottom:16px}.trend2-table-wrap{overflow-x:auto;margin:0 -8px;padding:0 8px}.trend2-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.trend2-table thead th{text-align:left;padding:10px 12px;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border);white-space:nowrap}.trend2-th-right{text-align:right!important}.trend2-table tbody tr{transition:background .1s}.trend2-table tbody tr:hover{background:var(--bg-hover)}.trend2-table tbody td{padding:10px 12px;border-bottom:1px solid var(--border-light);vertical-align:middle}.trend2-table tbody tr:last-child td{border-bottom:none}.trend2-td-date{white-space:nowrap;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.trend2-td-desc{max-width:300px}.trend2-td-desc-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-weight:500}.trend2-td-merchant{display:block;font-size:11px;color:var(--text-muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trend2-td-cat{white-space:nowrap}.trend2-cat-badge{display:inline-block;padding:3px 10px;background:var(--bg-hover);border-radius:12px;font-size:12px;font-weight:500;color:var(--text-secondary)}.trend2-td-account{color:var(--text-secondary);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.trend2-td-amount{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-primary)}.trend2-tooltip{padding:12px 16px;border-radius:12px;font-size:13px;line-height:1.6}.trend2-tooltip-title{font-weight:700;margin:0 0 4px}.trend2-tooltip-amount{font-size:20px;font-weight:800;margin:0 0 2px;letter-spacing:-.5px}.trend2-tooltip-count{color:var(--text-muted);margin:0;font-size:12px}.trend2-tooltip-prior{margin:6px 0 0;font-size:12px}.trend2-tooltip-hint{margin:8px 0 0;font-size:11px;color:var(--text-muted);font-style:italic;opacity:.7}.trend2-good{color:var(--positive);font-weight:600}.trend2-bad{color:var(--negative);font-weight:600}@media (max-width: 768px){.trend2-page{padding:0 14px 16px}.trend2-header h1{font-size:22px}.trend2-controls-row{flex-direction:column;align-items:flex-start}.trend2-filter-row{flex-direction:column;align-items:flex-start;gap:8px}.trend2-filter-chips{width:100%}.trend2-summary{grid-template-columns:1fr 1fr;gap:10px}.trend2-stat-value{font-size:20px}.trend2-stat-icon{width:36px;height:36px;border-radius:10px}.trend2-cat-name{flex:0 0 100px}.trend2-cat-amount{flex:0 0 80px}.trend2-cat-pct,.trend2-cat-rank{display:none}.trend2-table{font-size:12px}.trend2-table thead th,.trend2-table tbody td{padding:8px}.trend2-td-desc{max-width:160px}.trend2-td-account{max-width:100px}.trend2-drill-header{flex-direction:column;gap:4px}}@media (max-width: 480px){.trend2-summary{grid-template-columns:1fr}.trend2-segment button{padding:6px 12px;font-size:12px}.trend2-filter-btn{padding:5px 10px;font-size:12px}}.budget2-month-pills{display:flex;gap:4px;padding:10px 0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.budget2-month-pills::-webkit-scrollbar{display:none}.budget2-month-pill{padding:5px 14px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:12px;font-weight:600;border-radius:20px;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0}.budget2-month-pill:hover{border-color:var(--accent);color:var(--accent)}.budget2-month-pill.current{background:var(--accent);border-color:var(--accent);color:#fff}.budget2-month-pill.past{color:var(--text-muted);background:var(--bg-hover);border-color:transparent}.budget-table-wrapper{position:relative}.budget-table-light thead{position:sticky;top:0;z-index:20}.budget-table-light thead tr{background:var(--bg-card)}.budget-table-light thead th{background:var(--bg-card);border-bottom:2px solid var(--border)}.budget-table-light .header-years th{border-bottom:1px solid var(--border)}.budget-page.budget-expanded{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:var(--bg-primary);padding:16px 20px;overflow-y:auto;margin:0;max-width:none}.budget-page.budget-expanded .budget-table-wrapper{max-height:calc(100vh - 320px);overflow:auto}.budget-page.budget-expanded .budget-table-light thead{position:sticky;top:0;z-index:25}.budget-page.budget-expanded .btn-tool.active{background:var(--accent);color:#fff;border-color:var(--accent)}@media (max-width: 768px){.budget2-month-pills{padding:6px 0;gap:3px}.budget2-month-pill{padding:4px 10px;font-size:11px}}.txn2-page{padding:1.25rem 1.5rem;max-width:100%;display:flex;flex-direction:column;gap:0}.txn2-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.75rem}.txn2-header h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.txn2-header-left{display:flex;align-items:baseline;gap:.75rem}.txn2-count{font-size:.8rem;color:var(--text-secondary)}.txn2-header-actions{display:flex;align-items:center;gap:.25rem}.txn2-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .15s}.txn2-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.txn2-summary{display:flex;align-items:center;gap:0;padding:.6rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-bottom:.75rem}.txn2-summary-item{display:flex;align-items:center;gap:.5rem}.txn2-summary-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.txn2-summary-value{font-size:.9rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.txn2-summary-value.positive{color:var(--success, #22c55e)}.txn2-summary-value.negative{color:var(--danger, #ef4444)}.txn2-summary-sep{width:1px;height:24px;background:var(--border);margin:0 1rem}.txn2-filter-bar{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.txn2-search{display:flex;align-items:center;gap:.35rem;padding:.35rem .6rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;min-width:200px;flex:0 1 240px;transition:border-color .15s}.txn2-search:focus-within{border-color:var(--accent)}.txn2-search svg{color:var(--text-secondary);flex-shrink:0}.txn2-search input{border:none;background:transparent;color:var(--text-primary);font-size:.8rem;width:100%;outline:none}.txn2-search input::placeholder{color:var(--text-secondary);opacity:.7}.txn2-search-clear{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;border-radius:3px}.txn2-search-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.txn2-filter-controls{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.txn2-filter-btn{display:flex;align-items:center;gap:.3rem;padding:.35rem .6rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.78rem;cursor:pointer;white-space:nowrap;transition:all .15s}.txn2-filter-btn:hover{border-color:var(--accent);color:var(--text-primary)}.txn2-filter-btn.active{background:var(--accent-light, rgba(59, 130, 246, .1));border-color:var(--accent);color:var(--accent)}.txn2-filter-btn.compact{padding:.35rem .45rem}.txn2-filter-select{padding:.35rem .5rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.78rem;cursor:pointer;max-width:160px;transition:border-color .15s}.txn2-filter-select:focus{border-color:var(--accent);outline:none}.txn2-filter-select.active{border-color:var(--accent);background:var(--accent-light, rgba(59, 130, 246, .1))}.txn2-filter-select option{background:var(--bg-secondary);color:var(--text-primary)}.txn2-type-toggles{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.txn2-type-btn{padding:.35rem .55rem;background:var(--bg-secondary);border:none;border-right:1px solid var(--border);color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s}.txn2-type-btn:last-child{border-right:none}.txn2-type-btn.active.income{background:#22c55e1a;color:#22c55e}.txn2-type-btn.active.expense{background:#ef44441a;color:#ef4444}.txn2-type-btn:hover:not(.active){background:var(--bg-hover)}.txn2-amount-range{display:flex;align-items:center;gap:.25rem;padding:.2rem .45rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px}.txn2-amount-range svg{color:var(--text-secondary);flex-shrink:0}.txn2-amount-range input{width:55px;border:none;background:transparent;color:var(--text-primary);font-size:.78rem;outline:none;padding:.15rem 0}.txn2-amount-range input::placeholder{color:var(--text-secondary);opacity:.6}.txn2-range-sep{color:var(--text-secondary);font-size:.75rem}.txn2-clear-all{display:flex;align-items:center;gap:.2rem;padding:.35rem .5rem;background:none;border:1px solid var(--danger, #ef4444);border-radius:6px;color:var(--danger, #ef4444);font-size:.75rem;cursor:pointer;transition:all .15s}.txn2-clear-all:hover{background:#ef44441a}.txn2-filter-dropdown{position:relative}.txn2-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:100;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000001f;min-width:200px;padding:.35rem}.txn2-date-menu{min-width:220px}.txn2-date-presets{display:flex;flex-direction:column;gap:1px;margin-bottom:.35rem}.txn2-date-preset{display:block;width:100%;text-align:left;padding:.4rem .6rem;background:none;border:none;border-radius:4px;color:var(--text-primary);font-size:.8rem;cursor:pointer;transition:background .1s}.txn2-date-preset:hover{background:var(--bg-hover)}.txn2-date-custom{display:grid;grid-template-columns:auto 1fr;gap:.3rem .5rem;align-items:center;padding:.4rem .6rem;border-top:1px solid var(--border);margin-top:.25rem}.txn2-date-custom label{font-size:.72rem;color:var(--text-secondary);font-weight:500}.txn2-date-custom input[type=date]{padding:.25rem .4rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.75rem}.txn2-date-clear{display:block;width:100%;text-align:center;padding:.35rem;background:none;border:none;border-top:1px solid var(--border);color:var(--danger, #ef4444);font-size:.75rem;cursor:pointer;margin-top:.25rem}.txn2-date-clear:hover{background:#ef44440d}.txn2-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem}.txn2-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .45rem;background:var(--accent-light, rgba(59, 130, 246, .1));border:1px solid var(--accent);border-radius:99px;font-size:.72rem;color:var(--accent);white-space:nowrap}.txn2-chip button{display:flex;align-items:center;background:none;border:none;color:inherit;cursor:pointer;padding:1px;border-radius:50%}.txn2-chip button:hover{background:#0000001a}.txn2-bulk-bar{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--accent-light, rgba(59, 130, 246, .1));border:1px solid var(--accent);border-radius:8px;margin-bottom:.5rem}.txn2-bulk-count{display:flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:500;color:var(--accent)}.txn2-bulk-actions{display:flex;gap:.35rem}.txn2-bulk-btn{display:flex;align-items:center;gap:.25rem;padding:.3rem .55rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:5px;color:var(--text-primary);font-size:.75rem;cursor:pointer;transition:all .15s}.txn2-bulk-btn:hover{border-color:var(--accent);background:var(--bg-hover)}.txn2-bulk-btn.secondary{color:var(--text-secondary)}.txn2-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.txn2-column-panel{position:fixed;top:60px;right:16px;z-index:95;width:260px;max-height:calc(100vh - 80px);background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 40px #00000026;display:flex;flex-direction:column;overflow:hidden}.txn2-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem .75rem;border-bottom:1px solid var(--border);font-size:.82rem;font-weight:600;color:var(--text-primary)}.txn2-panel-header button{display:flex;align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;border-radius:4px}.txn2-panel-header button:hover{background:var(--bg-hover);color:var(--text-primary)}.txn2-panel-list{overflow-y:auto;padding:.4rem .5rem;max-height:300px}.txn2-col-option{display:flex;align-items:center;gap:.4rem;padding:.3rem .4rem;border-radius:4px;cursor:pointer;font-size:.78rem;color:var(--text-primary);transition:background .1s}.txn2-col-option:hover{background:var(--bg-hover)}.txn2-col-option input[type=checkbox]{accent-color:var(--accent)}.txn2-panel-actions{display:flex;gap:.35rem;padding:.45rem .5rem;border-top:1px solid var(--border)}.txn2-panel-actions button{flex:1;display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.35rem .5rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:5px;color:var(--text-secondary);font-size:.73rem;cursor:pointer;transition:all .15s}.txn2-panel-actions button:hover{border-color:var(--accent);color:var(--accent)}.txn2-panel-layouts{padding:.45rem .5rem;border-top:1px solid var(--border)}.txn2-layout-save{display:flex;gap:.3rem;margin-bottom:.35rem}.txn2-layout-save input{flex:1;padding:.3rem .45rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.75rem;outline:none}.txn2-layout-save input:focus{border-color:var(--accent)}.txn2-layout-save button{display:flex;align-items:center;padding:.3rem .45rem;background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer}.txn2-layout-save button:disabled{opacity:.4;cursor:not-allowed}.txn2-saved-layouts{display:flex;flex-direction:column;gap:2px}.txn2-layout-item{display:flex;align-items:center;justify-content:space-between;padding:.2rem .3rem;border-radius:4px}.txn2-layout-item:hover{background:var(--bg-hover)}.txn2-layout-name{flex:1;text-align:left;background:none;border:none;color:var(--text-primary);font-size:.75rem;cursor:pointer;padding:.2rem}.txn2-layout-name:hover{color:var(--accent)}.txn2-layout-del{display:flex;align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:3px;border-radius:3px;opacity:.5}.txn2-layout-del:hover{opacity:1;color:var(--danger, #ef4444);background:#ef44441a}.txn2-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary)}.txn2-table{min-width:100%;border-collapse:separate;border-spacing:0;font-size:.8rem;table-layout:auto}.txn2-table thead{position:sticky;top:0;z-index:10}.txn2-table thead tr{background:var(--bg-primary)}.txn2-th-check{width:36px;padding:.5rem .35rem;text-align:center;border-bottom:1px solid var(--border);background:var(--bg-primary)}.txn2-th{padding:0 .35rem;text-align:left;font-weight:500;color:var(--text-secondary);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap;position:relative;background:var(--bg-primary);-webkit-user-select:none;user-select:none;vertical-align:middle;height:36px}.txn2-th.sorted,.txn2-th.filtered{color:var(--accent)}.txn2-th.drag-over{background:var(--accent-light, rgba(59, 130, 246, .08));border-left:2px solid var(--accent)}.txn2-th-inner{display:flex;align-items:center;gap:.15rem;height:100%}.txn2-drag-handle{display:flex;align-items:center;color:var(--border);cursor:grab;opacity:0;transition:opacity .15s;flex-shrink:0}.txn2-th:hover .txn2-drag-handle{opacity:.6}.txn2-drag-handle:active{cursor:grabbing}.txn2-th-label{display:flex;align-items:center;gap:.2rem;cursor:pointer;flex:1;padding:.45rem 0}.txn2-th-label:hover{color:var(--text-primary)}.txn2-sort-icon{display:inline-flex;align-items:center}.txn2-col-filter-btn{display:flex;align-items:center;background:none;border:none;color:var(--border);cursor:pointer;padding:3px;border-radius:3px;opacity:0;transition:all .15s;flex-shrink:0}.txn2-th:hover .txn2-col-filter-btn{opacity:.6}.txn2-col-filter-btn:hover{opacity:1!important;background:var(--bg-hover);color:var(--text-primary)}.txn2-col-filter-btn.active{opacity:1!important;color:var(--accent)}.txn2-col-filter-dropdown{position:absolute;top:calc(100% + 2px);left:0;z-index:120;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000001f;width:220px;display:flex;flex-direction:column}.txn2-col-filter-search{display:flex;align-items:center;gap:.3rem;padding:.4rem .5rem;border-bottom:1px solid var(--border)}.txn2-col-filter-search svg{color:var(--text-secondary);flex-shrink:0}.txn2-col-filter-search input{border:none;background:transparent;color:var(--text-primary);font-size:.78rem;outline:none;width:100%}.txn2-col-filter-list{max-height:200px;overflow-y:auto;padding:.3rem}.txn2-col-filter-item{display:flex;align-items:center;gap:.35rem;padding:.2rem .35rem;border-radius:3px;cursor:pointer;font-size:.75rem;color:var(--text-primary)}.txn2-col-filter-item:hover{background:var(--bg-hover)}.txn2-col-filter-item input[type=checkbox]{accent-color:var(--accent)}.txn2-col-filter-more,.txn2-col-filter-empty{padding:.35rem;text-align:center;font-size:.72rem;color:var(--text-secondary)}.txn2-col-filter-actions{display:flex;gap:.3rem;padding:.35rem .5rem;border-top:1px solid var(--border)}.txn2-col-filter-actions button{flex:1;padding:.3rem .4rem;border-radius:4px;font-size:.73rem;cursor:pointer;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);transition:all .15s}.txn2-col-filter-actions button:hover{border-color:var(--accent);color:var(--accent)}.txn2-col-filter-actions button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.txn2-col-filter-actions button.primary:hover{background:var(--accent-hover, #2563eb)}.txn2-check-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px}.txn2-check-btn:hover{color:var(--accent)}.txn2-check-partial{display:inline-block;width:14px;height:14px;border:2px solid var(--accent);border-radius:3px;background:var(--accent-light, rgba(59, 130, 246, .2));position:relative}.txn2-check-partial:after{content:"";position:absolute;top:50%;left:2px;right:2px;height:2px;background:var(--accent);transform:translateY(-50%)}.txn2-td-check{width:36px;padding:.45rem .35rem;text-align:center}.txn2-td{padding:.45rem .5rem;color:var(--text-primary);vertical-align:middle;max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.txn2-row{border-bottom:1px solid var(--border-light, var(--border));cursor:pointer;transition:background .1s}.txn2-row:nth-child(2n){background:var(--bg-primary)}.txn2-row:nth-child(odd){background:var(--bg-secondary)}.txn2-row:hover{background:var(--bg-hover)!important}.txn2-row.selected{background:var(--accent-light, rgba(59, 130, 246, .08))!important}.txn2-row.needs-review{border-left:3px solid var(--warning, #f59e0b)}.txn2-row.kb-focused{outline:2px solid var(--accent);outline-offset:-2px}.txn2-date{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-size:.78rem}.txn2-desc{display:flex;align-items:center;gap:.3rem}.txn2-amount{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.txn2-amount.positive{color:var(--success, #22c55e)}.txn2-amount.negative{color:var(--danger, #ef4444)}.txn2-account{color:var(--text-secondary);font-size:.78rem}.txn2-category-cell{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .4rem;background:var(--bg-primary);border-radius:4px;font-size:.78rem;cursor:pointer;transition:all .15s;max-width:100%;overflow:hidden;text-overflow:ellipsis}.txn2-category-cell:hover{background:var(--accent-light, rgba(59, 130, 246, .1));color:var(--accent)}.txn2-note-cell{display:inline-flex;align-items:center;gap:.2rem;cursor:pointer;color:var(--text-secondary);font-size:.78rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.txn2-note-cell:hover{color:var(--accent)}.txn2-edit-hint{opacity:0;transition:opacity .15s;flex-shrink:0}.txn2-category-cell:hover .txn2-edit-hint,.txn2-note-cell:hover .txn2-edit-hint{opacity:.6}.txn2-review{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:3px;border-radius:4px;transition:all .15s}.txn2-review.flagged{color:var(--warning, #f59e0b)}.txn2-review.clear{color:var(--success, #22c55e);opacity:.5}.txn2-review:hover{background:var(--bg-hover);opacity:1}.txn2-dup-badge{display:inline-flex;align-items:center;padding:.1rem .3rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:3px;color:var(--danger, #ef4444);font-size:.65rem;font-weight:600;letter-spacing:.03em;cursor:pointer;position:relative;flex-shrink:0}.txn2-dup-tooltip{position:absolute;top:calc(100% + 4px);left:0;z-index:50;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #0000001a;padding:.4rem .5rem;font-size:.72rem;color:var(--text-primary);white-space:normal;min-width:200px;max-width:300px;font-weight:400}.txn2-inline-edit{display:flex;align-items:center;gap:.25rem}.txn2-inline-edit select,.txn2-inline-edit input{padding:.25rem .35rem;background:var(--bg-primary);border:1px solid var(--accent);border-radius:4px;color:var(--text-primary);font-size:.78rem;outline:none;min-width:80px}.txn2-inline-edit select option{background:var(--bg-secondary);color:var(--text-primary)}.txn2-edit-save,.txn2-edit-cancel{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;border:none;cursor:pointer;transition:all .15s}.txn2-edit-save{background:var(--accent);color:#fff}.txn2-edit-save:hover{background:var(--accent-hover, #2563eb)}.txn2-edit-save:disabled{opacity:.5;cursor:not-allowed}.txn2-edit-cancel{background:var(--bg-hover);color:var(--text-secondary)}.txn2-edit-cancel:hover{background:var(--border)}.txn2-empty{text-align:center;padding:3rem 1rem!important;color:var(--text-secondary)}.txn2-empty svg{margin-bottom:.5rem;opacity:.4}.txn2-empty p{margin:.5rem 0;font-size:.9rem}.txn2-empty button{padding:.35rem .7rem;background:var(--accent);border:none;border-radius:5px;color:#fff;font-size:.78rem;cursor:pointer;margin-top:.5rem}.txn2-pagination{display:flex;align-items:center;justify-content:space-between;padding:.5rem .25rem;margin-top:.25rem;font-size:.78rem;color:var(--text-secondary)}.txn2-page-size{display:flex;align-items:center;gap:.35rem}.txn2-page-size select{padding:.2rem .35rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.75rem;cursor:pointer}.txn2-page-info{font-variant-numeric:tabular-nums}.txn2-page-nav{display:flex;align-items:center;gap:.15rem}.txn2-page-nav button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:5px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .15s}.txn2-page-nav button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.txn2-page-nav button:disabled{opacity:.3;cursor:not-allowed}.txn2-page-num{padding:0 .5rem;font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums}.txn2-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem}.txn2-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 60px #0003;width:100%;max-width:560px;max-height:calc(100vh - 4rem);overflow-y:auto}.txn2-modal.small{max-width:400px}.txn2-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.txn2-modal-header h2{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin:0}.txn2-modal-header button{display:flex;align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:6px}.txn2-modal-header button:hover{background:var(--bg-hover);color:var(--text-primary)}.txn2-modal-body{padding:1.25rem}.txn2-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--border)}.txn2-amount-hero{display:flex;flex-direction:column;align-items:center;padding:1.25rem;border-radius:10px;margin-bottom:1.25rem}.txn2-amount-hero.income{background:#22c55e14}.txn2-amount-hero.expense{background:#ef444414}.txn2-hero-amount{font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary)}.txn2-hero-type{font-size:.75rem;color:var(--text-secondary);margin-top:.15rem;text-transform:uppercase;letter-spacing:.05em}.txn2-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.txn2-detail-grid.compact{gap:.5rem}.txn2-detail-row{display:flex;gap:.5rem;align-items:flex-start}.txn2-detail-row>svg{margin-top:2px;color:var(--text-secondary);flex-shrink:0}.txn2-detail-row.full{grid-column:1 / -1}.txn2-detail-row.warning svg{color:var(--warning, #f59e0b)}.txn2-detail-label{display:block;font-size:.68rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.1rem}.txn2-detail-value{font-size:.85rem;color:var(--text-primary);word-break:break-word}.txn2-detail-value.muted{color:var(--text-secondary);font-size:.78rem}.txn2-detail-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.txn2-detail-section h3{font-size:.78rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .65rem}.txn2-detail-edit-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .4rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:5px;color:var(--text-primary);font-size:.82rem;cursor:pointer;transition:all .15s}.txn2-detail-edit-btn:hover{border-color:var(--accent);color:var(--accent)}.txn2-detail-edit-btn svg{opacity:.4}.txn2-detail-edit-btn:hover svg{opacity:.8}.txn2-modal-edit{display:flex;align-items:center;gap:.3rem;margin-top:.15rem}.txn2-modal-edit select,.txn2-modal-edit input{padding:.3rem .45rem;background:var(--bg-primary);border:1px solid var(--accent);border-radius:5px;color:var(--text-primary);font-size:.82rem;outline:none}.txn2-modal-edit select option{background:var(--bg-secondary);color:var(--text-primary)}.txn2-modal-edit button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:5px;border:none;cursor:pointer}.txn2-modal-edit button:first-of-type{background:var(--accent);color:#fff}.txn2-modal-edit button:last-of-type{background:var(--bg-hover);color:var(--text-secondary)}.txn2-bulk-select{width:100%;padding:.45rem .55rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.85rem;margin-top:.5rem}.txn2-bulk-select option{background:var(--bg-secondary);color:var(--text-primary)}.txn2-btn{padding:.4rem .75rem;border-radius:6px;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid var(--border)}.txn2-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.txn2-btn.primary:hover{background:var(--accent-hover, #2563eb)}.txn2-btn.primary:disabled{opacity:.5;cursor:not-allowed}.txn2-btn.secondary{background:var(--bg-secondary);color:var(--text-secondary)}.txn2-btn.secondary:hover{background:var(--bg-hover);color:var(--text-primary)}@media (max-width: 768px){.txn2-page{padding:.75rem .5rem}.txn2-header h1{font-size:1.2rem}.txn2-summary{flex-wrap:wrap;gap:.5rem}.txn2-summary-sep{display:none}.txn2-filter-bar{flex-direction:column;align-items:stretch}.txn2-search{flex:1 1 100%;min-width:0}.txn2-filter-controls{flex-wrap:wrap}.txn2-filter-select{max-width:none;flex:1;min-width:0}.txn2-table-wrapper{margin:0 -.5rem;border-radius:0;border-left:none;border-right:none}.txn2-td{padding:.35rem .4rem;font-size:.75rem}.txn2-pagination{flex-wrap:wrap;gap:.35rem;justify-content:center}.txn2-modal{max-width:100%;border-radius:10px}.txn2-detail-grid{grid-template-columns:1fr}.txn2-bulk-bar{flex-direction:column;gap:.5rem;align-items:stretch}.txn2-bulk-actions{flex-wrap:wrap}}.cat-filter-pill-bar{display:flex;gap:.5rem;padding:.375rem 1rem;background:var(--bg-hover);border-bottom:1px solid var(--border)}.cat-filter-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:99px;font-size:.75rem;font-weight:500;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer}.cat-filter-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.cat-grip{opacity:.3;cursor:grab;flex-shrink:0}.pred-th:hover .cat-grip,.comp-th:hover .cat-grip{opacity:.7}.pred-th{position:relative;display:flex;align-items:center;gap:.25rem;-webkit-user-select:none;user-select:none}.pred-th.drag-over{border-left:2px solid var(--accent)}.pred-th-inner{display:flex;align-items:center;gap:.25rem;cursor:pointer;flex:1;min-width:0}.cat-sort-icon{font-size:.65rem;opacity:.5;margin-left:.125rem}.pred-th.sorted .cat-sort-icon{opacity:1;color:var(--accent)}.comp-th{position:relative;display:flex;align-items:center;gap:.25rem;-webkit-user-select:none;user-select:none}.comp-th.drag-over{border-left:2px solid var(--accent)}.comp-th-inner{display:flex;align-items:center;gap:.25rem;cursor:default;flex:1;min-width:0}.cat-filter-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .15s,background .15s;flex-shrink:0}.pred-th:hover .cat-filter-btn,.comp-th:hover .cat-filter-btn,.cat-filter-btn.active{opacity:1}.cat-filter-btn.active{background:var(--accent);color:#fff}.cat-filter-btn:hover{background:var(--bg-hover)}.cat-filter-btn.active:hover{background:var(--accent);opacity:.85}.cat-col-filter{position:absolute;top:100%;left:0;z-index:999;width:220px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000002e;padding:.5rem;display:flex;flex-direction:column;gap:.375rem}.cat-cf-search{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary)}.cat-cf-search input{border:none;background:none;outline:none;font-size:.75rem;color:var(--text-primary);flex:1;min-width:0}.cat-cf-all{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);cursor:pointer;padding:.25rem 0}.cat-cf-list{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.cat-cf-item{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-primary);cursor:pointer;padding:.2rem 0}.cat-cf-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-cf-empty{font-size:.75rem;color:var(--text-muted);text-align:center;padding:.5rem}.cat-cf-actions{display:flex;justify-content:flex-end;gap:.375rem;padding-top:.25rem;border-top:1px solid var(--border)}.cat-cf-actions button{padding:.25rem .75rem;border-radius:4px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-size:.75rem;cursor:pointer}.cat-cf-apply{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.adm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#00000073;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:adm-fade-in .15s ease}@keyframes adm-fade-in{0%{opacity:0}to{opacity:1}}.adm-modal{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;width:100%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #00000040;animation:adm-slide-up .2s ease}@keyframes adm-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.adm-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);gap:.75rem}.adm-header-left{display:flex;align-items:baseline;gap:.75rem;min-width:0;flex:1}.adm-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adm-balance{font-size:.85rem;font-weight:600;white-space:nowrap}.adm-balance.positive{color:var(--success, #16a34a)}.adm-balance.negative{color:var(--error, #dc2626)}.adm-header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.adm-vis-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .15s}.adm-vis-btn:hover{border-color:var(--accent);color:var(--accent)}.adm-vis-btn.hidden-state{background:var(--error-bg, rgba(220, 38, 38, .08));color:var(--error, #dc2626);border-color:var(--error, #dc2626)}.adm-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.adm-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.adm-body{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.adm-section-hdr{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);display:flex;align-items:center;gap:.35rem;margin-top:.25rem;-webkit-user-select:none;user-select:none}.adm-section-hdr.clickable{cursor:pointer}.adm-section-hdr.clickable:hover{color:var(--text-secondary)}.adm-section-hint{font-weight:400;font-size:.65rem;color:var(--text-muted);opacity:.7;margin-left:.25rem}.adm-field{display:flex;flex-direction:column;gap:.25rem}.adm-label{font-size:.7rem;font-weight:500;color:var(--text-secondary)}.adm-input{padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem;font-family:inherit;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box}.adm-input:focus{border-color:var(--accent)}.adm-input::placeholder{color:var(--text-muted);opacity:.6}.adm-input.has-prefix{padding-left:1.4rem}.adm-input[type=number]::-webkit-inner-spin-button,.adm-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.adm-input[type=number]{-moz-appearance:textfield}.adm-select{padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem;font-family:inherit;outline:none;width:100%;box-sizing:border-box;cursor:pointer}.adm-select:focus{border-color:var(--accent)}.adm-textarea{padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem;font-family:inherit;outline:none;resize:vertical;min-height:48px;width:100%;box-sizing:border-box}.adm-textarea:focus{border-color:var(--accent)}.adm-original{font-size:.65rem;color:var(--text-muted);opacity:.7}.adm-sheet-source{font-size:.65rem;color:var(--text-muted);padding:.25rem .5rem;background:var(--bg-secondary);border-radius:4px;opacity:.8}.adm-input-wrap{position:relative;display:flex;align-items:center}.adm-prefix{position:absolute;left:.5rem;font-size:.8rem;color:var(--text-muted);pointer-events:none}.adm-suffix{position:absolute;right:.5rem;font-size:.8rem;color:var(--text-muted);pointer-events:none}.adm-input-wrap .adm-input{flex:1}.adm-row-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.adm-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}.adm-debt-section{display:flex;flex-direction:column;gap:.75rem;padding-left:.25rem}.adm-error{padding:.5rem .75rem;background:var(--error-bg, rgba(220, 38, 38, .08));color:var(--error, #dc2626);border-radius:6px;font-size:.8rem}.adm-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-top:1px solid var(--border)}.adm-shortcuts{font-size:.65rem;color:var(--text-muted)}.adm-footer-btns{display:flex;gap:.5rem}.adm-btn-cancel{padding:.4rem .9rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .15s}.adm-btn-cancel:hover{border-color:var(--text-muted)}.adm-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.adm-btn-save{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem 1rem;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.adm-btn-save:hover{filter:brightness(1.1)}.adm-btn-save:disabled{opacity:.6;cursor:not-allowed}@keyframes adm-spin-anim{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.adm-spin{animation:adm-spin-anim .8s linear infinite}@media (max-width: 500px){.adm-modal{max-width:100%;border-radius:8px}.adm-row-3,.adm-row-2{grid-template-columns:1fr}.adm-header{flex-wrap:wrap}}.txn2-th{position:relative}.txn2-resize-handle{position:absolute;right:-3px;top:0;bottom:0;width:7px;cursor:col-resize;background:transparent;z-index:5;transition:background .15s}.txn2-resize-handle:hover,.txn2-resize-handle:active{background:var(--accent);opacity:.6}.row-group,.row-type{font-size:.78rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 .25rem}.col-account,.col-group{font-size:.78rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-table-light .col-category-wide{position:sticky;left:0;z-index:15;min-width:240px;max-width:320px;background:var(--bg-card);border-right:2px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-type-header{cursor:pointer;transition:background .15s}.row-type-header td{background:color-mix(in srgb,var(--accent) 10%,var(--bg-card));border-bottom:2px solid var(--border);font-weight:700;font-size:13px}.row-type-header:hover td,.row-type-header.hovered td{background:color-mix(in srgb,var(--accent) 18%,var(--bg-card))}.row-type-header .type-header-cell{padding-left:8px}.row-type-header .type-toggle{display:inline-flex;align-items:center;gap:6px}.row-type-header .type-label-text{font-weight:700;font-size:13px;letter-spacing:.02em}.row-type-header .item-count{font-weight:400;font-size:11px;color:var(--text-muted);margin-left:4px}.row-type-header .cell-number{font-weight:600}.row-type-header td{background:color-mix(in srgb,var(--type-accent, var(--positive)) 8%,var(--bg-card))}.row-type-header:hover td,.row-type-header.hovered td{background:color-mix(in srgb,var(--type-accent, var(--positive)) 15%,var(--bg-card))}.row-catgroup{cursor:pointer;transition:background .15s}.row-catgroup td{background:color-mix(in srgb,var(--border) 25%,var(--bg-card));border-bottom:1px solid var(--border);font-weight:600;font-size:12.5px}.row-catgroup:hover td,.row-catgroup.hovered td{background:color-mix(in srgb,var(--border) 40%,var(--bg-card))}.row-catgroup .catgroup-cell{padding-left:28px}.row-catgroup .catgroup-toggle{display:inline-flex;align-items:center;gap:4px}.row-catgroup .catgroup-name{font-weight:600;font-size:12.5px}.row-catgroup .item-count{font-weight:400;font-size:11px;color:var(--text-muted);margin-left:4px}.row-catgroup .cell-number{font-weight:500}.row-detail .detail-cell{padding-left:52px}.budget-row-collapse-controls{display:flex;gap:4px;align-items:center}.budget-row-collapse-controls .btn-collapse-all,.budget-row-collapse-controls .btn-expand-all{font-size:11px;padding:4px 8px}.row-net .col-category-wide{font-weight:700;font-size:13px;letter-spacing:.02em}.cell-number.type-subtotal{font-weight:700}.cell-number.group-subtotal{font-weight:500}.balhist2-th{position:relative}.balhist2-th-inner{display:flex;align-items:center;gap:.15rem;height:100%}.balhist2-th-label{display:flex;align-items:center;gap:.25rem;cursor:pointer;flex:1;min-width:0}.balhist2-drag-handle{display:flex;align-items:center;color:var(--border);cursor:grab;opacity:0;transition:opacity .15s;flex-shrink:0}.balhist2-th:hover .balhist2-drag-handle{opacity:.6}.balhist2-drag-handle:active{cursor:grabbing}.balhist2-th.balhist2-drag-over{background:var(--accent-light, rgba(59, 130, 246, .08));border-left:2px solid var(--accent)}.balhist2-resize-handle{position:absolute;right:-3px;top:0;bottom:0;width:7px;cursor:col-resize;background:transparent;z-index:5;transition:background .15s}.balhist2-resize-handle:hover,.balhist2-resize-handle:active{background:var(--accent);opacity:.5}.review-list-v2{max-height:calc(100vh - 300px);overflow-y:auto}.review-header,.debt-group .accounts-header.debt-sticky-header{position:sticky;top:0;z-index:2}.debt-sortable-col{display:flex;align-items:center;gap:.25rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.debt-sortable-col:hover{color:var(--text-primary)}.debt-sort-icon{vertical-align:middle;flex-shrink:0}.debt-sort-icon.muted{opacity:.3}.debt-sort-icon.active{color:var(--accent);opacity:1}.budget-table-light .cell-number.budget-cell-selected{position:relative;outline:2px solid var(--accent);outline-offset:-2px;z-index:2;background:var(--tint-blue-bg)!important}.budget-table-light .cell-number.actual.budget-cell-selected{background:var(--tint-blue-hover)!important}.budget-table-light .cell-number.budget-cell-editing{position:relative;outline:2px solid var(--accent);outline-offset:-2px;z-index:3;box-shadow:0 0 0 3px var(--accent-light)}.budget-table-wrapper:focus{outline:none}.budget-page.budget-expanded{display:flex;flex-direction:column}.budget-page.budget-expanded .page-header,.budget-page.budget-expanded .budget-toolbar,.budget-page.budget-expanded .budget-summary-grid{flex-shrink:0}.budget-page.budget-expanded .budget-table-wrapper{flex:1;max-height:none;overflow:auto;min-height:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a,button,input,select,textarea,.card,.nav-item,.dash2-hero-card,.trend2-stat-card,.trend2-filter-btn,.balhist2-dropdown-btn,.balhist2-date-btn,.txn2-filter-btn,.txn2-filter-select,.acctgrid-pill,.bs3-ctrl-btn,.review-row-v2{transition:all .15s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}::selection{background:var(--accent-light);color:var(--text-primary)}.card,.dash2-section,.dash2-hero-card,.trend2-chart-card,.trend2-breakdown,.trend2-drill,.trend2-drill-table-card,.balhist2-chart-card,.txn2-modal .txn2-modal,.chart-card,.payoff-section,.debt-group{border-radius:16px}.dash2-hero-card:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.page-header h1,.dash2-page h1,.trend2-header h1,.balhist2-header h1,.txn2-header h1,.acctgrid-page h1,.debt-page .page-header h1,.review-page-v2 .page-header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.dash2-section-header h2,.trend2-section-title,.balhist2-chart-label{font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.page-subtitle,.balhist2-subtitle{font-size:.8rem;color:var(--text-muted);font-weight:400;margin-top:2px}.bs3-ctrl-btn,.acctgrid-pill,.balhist2-date-btn,.balhist2-dropdown-btn,.balhist2-colpicker-btn,.balhist2-export-btn,.trend2-filter-btn,.txn2-filter-btn,.txn2-icon-btn{font-size:.8rem;font-weight:500;border-radius:8px;padding:6px 12px;cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.bs3-ctrl-btn:hover,.acctgrid-pill:hover,.balhist2-date-btn:hover,.balhist2-dropdown-btn:hover,.balhist2-colpicker-btn:hover,.balhist2-export-btn:hover,.trend2-filter-btn:hover,.txn2-filter-btn:hover,.txn2-icon-btn:hover{background:var(--bg-hover);border-color:var(--text-muted)}.bs3-ctrl-btn.active,.acctgrid-pill.active,.balhist2-date-btn.active,.balhist2-dropdown-btn.active,.trend2-filter-btn.active,.txn2-filter-btn.active{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.acctgrid-search input,.balhist2-search-wrap input,.txn2-search input,.review-toolbar-v2 .search-box-v2 input{font-size:.85rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);padding:7px 12px 7px 32px;transition:border-color .15s,box-shadow .15s}.acctgrid-search input:focus,.balhist2-search-wrap input:focus,.txn2-search input:focus,.review-toolbar-v2 .search-box-v2 input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}.acctgrid-table thead th,.balhist2-table thead th,.txn2-table thead th,.trend2-table thead th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:10px 12px;border-bottom:2px solid var(--border);background:var(--bg-secondary);position:sticky;top:0;z-index:5}.acctgrid-table tbody tr:hover,.balhist2-table tbody tr:hover,.txn2-table tbody tr:hover,.trend2-table tbody tr:hover{background:var(--bg-hover)}.acctgrid-table td,.balhist2-table td,.txn2-table td,.trend2-table td{padding:8px 12px;font-size:.85rem;border-bottom:1px solid var(--border-light)}.acct2-summary-bar,.txn2-summary,.balhist2-summary{display:flex;align-items:center;gap:1rem;padding:10px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;font-size:.85rem;flex-wrap:wrap}.acct2-summary-sep,.txn2-summary-sep,.balhist2-stat-divider{width:1px;height:20px;background:var(--border);flex-shrink:0}.dash2-empty,.trend2-empty,.acctgrid-empty,.balhist2-empty,.txn2-empty,.empty-state,.empty-state-v2{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;color:var(--text-muted);text-align:center;gap:.75rem}.dash2-empty svg,.trend2-empty svg,.txn2-empty svg,.empty-state svg,.empty-state-v2 svg{opacity:.3;margin-bottom:.25rem}.empty-state h3,.empty-state-v2 h3{font-size:1.1rem;font-weight:600;color:var(--text-secondary)}.page-loading{min-height:60vh}.page-loading p{font-size:.85rem;color:var(--text-muted);margin-top:.5rem}.txn2-pagination,.balhist2-pagination{display:flex;align-items:center;justify-content:space-between;padding:10px 0;font-size:.8rem;color:var(--text-muted);border-top:1px solid var(--border-light);margin-top:4px}.txn2-pagination button,.balhist2-pagination button{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:5px 10px;color:var(--text-secondary);cursor:pointer;font-size:.8rem;transition:all .15s}.txn2-pagination button:hover:not(:disabled),.balhist2-pagination button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-muted)}.txn2-pagination button:disabled,.balhist2-pagination button:disabled{opacity:.4;cursor:default}.dash2-hero-row{gap:12px;margin-bottom:16px}.dash2-hero-card{border-radius:16px;padding:20px 24px;transition:transform .15s,box-shadow .15s}.dash2-hero-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px}.dash2-hero-value{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.bs3-nw-bar{border-radius:12px;padding:12px 20px}.dash2-see-all{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:10px;margin-top:8px;border:none;background:none;color:var(--accent);font-size:.85rem;font-weight:500;cursor:pointer;border-radius:8px;transition:background .15s}.dash2-see-all:hover{background:var(--accent-light)}.dash2-txn-list{border-radius:12px;overflow:hidden}.dash2-txn-header-row{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--text-muted);padding:8px 12px;border-bottom:2px solid var(--border)}.dash2-txn-row{border-radius:0;transition:background .12s}.dash2-txn-row:hover{background:var(--bg-hover)}.trend2-header{margin-bottom:12px}.trend2-header h1{margin:0}.trend2-controls-row{margin-bottom:8px}.trend2-segment{border-radius:10px;overflow:hidden}.trend2-segment button{font-size:.8rem;font-weight:500;padding:6px 16px;border:none;transition:all .15s}.trend2-filter-row{margin-bottom:12px;padding:8px 12px;border-radius:10px}.trend2-summary{gap:12px;margin-bottom:16px}.trend2-stat-card{border-radius:14px;padding:16px 20px;transition:transform .12s}.trend2-stat-card:hover{transform:translateY(-1px)}.trend2-stat-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.trend2-stat-value{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.trend2-chart-card{padding:20px;margin-bottom:16px}.trend2-breakdown{padding:20px}.trend2-cat-row{border-radius:8px;padding:8px 12px;transition:background .12s}.trend2-cat-row:hover{background:var(--bg-hover)}.acctgrid-toolbar{gap:8px;margin-bottom:8px;padding:8px 0}.acctgrid-count{font-size:.8rem;color:var(--text-muted);font-weight:400;margin-left:auto}.acctgrid-wrap{border-radius:12px;border:1px solid var(--border);overflow:auto}.acctgrid-row{cursor:pointer;transition:background .12s}.acctgrid-row:hover{background:var(--bg-hover)}.acctgrid-row-hidden{opacity:.5}.txn2-header{margin-bottom:8px}.txn2-count{font-size:.8rem;color:var(--text-muted);font-weight:400}.txn2-filter-bar{gap:8px;margin-bottom:8px}.txn2-chips{margin-bottom:8px}.txn2-chip{border-radius:20px;padding:4px 12px 4px 10px;font-size:.78rem;background:var(--accent-light);color:var(--accent);border:1px solid transparent}.txn2-chip button{margin-left:4px;border:none;background:none;cursor:pointer;color:var(--accent);padding:0;display:inline-flex;align-items:center}.txn2-bulk-bar{border-radius:12px;margin-bottom:8px}.txn2-table-wrapper{border-radius:12px;border:1px solid var(--border);overflow:auto}.txn2-row{transition:background .12s}.txn2-row:hover{background:var(--bg-hover)}.txn2-row.kb-focused{background:var(--accent-light)}.txn2-modal-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.txn2-modal{border-radius:20px;box-shadow:var(--shadow-lg)}.txn2-modal-header{padding:20px 24px 16px}.txn2-modal-header h2{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.txn2-amount-hero{border-radius:14px;padding:20px;margin-bottom:20px}.txn2-hero-amount{font-size:2rem;font-weight:700;letter-spacing:-.03em}.balhist2-chart-card{border-radius:16px;padding:20px;margin-bottom:16px}.balhist2-chart-value{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.balhist2-filters{gap:8px;margin-bottom:12px}.balhist2-date-presets{gap:4px}.balhist2-table-wrap{border-radius:12px;border:1px solid var(--border);overflow:auto}.debt-summary-grid{gap:12px;margin-bottom:20px}.summary-card{border-radius:16px;transition:transform .12s}.summary-card:hover{transform:translateY(-1px)}.summary-card .label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.summary-card .value{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.summary-card .sub{font-size:.75rem;color:var(--text-muted)}.debt-charts{gap:16px;margin-bottom:20px}.chart-card{border-radius:16px}.debt-group{border-radius:16px;margin-bottom:12px;overflow:hidden}.group-header{padding:16px 20px;cursor:pointer;transition:background .12s}.group-header:hover{background:var(--bg-hover)}.payoff-section{border-radius:16px}.review-info-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--accent-light);border-radius:10px;margin-bottom:12px;font-size:.82rem;color:var(--accent);border:1px solid transparent}.review-header{border-radius:8px 8px 0 0;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--text-muted)}.review-row-v2{border-radius:0;transition:background .12s}.review-row-v2:hover{background:var(--bg-hover)}.review-row-v2.selected{background:var(--accent-light)}.batch-action-bar{border-radius:12px}.empty-state-v2.success svg{color:var(--positive);opacity:.5}.nav-section-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--text-muted);padding:16px 12px 6px;opacity:.7}.nav-item{border-radius:10px;transition:all .12s;margin:1px 8px;padding:9px 12px}.nav-item:hover{background:var(--bg-hover)}.nav-item.active{font-weight:600}.nav-badge{font-size:.65rem;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:0 5px;font-weight:600}.sidebar-header .logo{font-weight:700;letter-spacing:-.02em}.sidebar-collapse-btn{border-radius:8px;transition:all .15s}.sidebar-collapse-btn:hover{background:var(--bg-hover)}.refresh-button{border-radius:8px;font-size:.8rem;transition:all .15s}.refresh-button:hover{background:var(--bg-hover)}.trend2-dropdown,.balhist2-dropdown-menu,.txn2-dropdown-menu,.acctgrid-col-filter,.txn2-col-filter-dropdown,.theme-picker-popup{border-radius:12px;border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-lg);overflow:hidden}.acctgrid-wrap::-webkit-scrollbar,.balhist2-table-wrap::-webkit-scrollbar,.txn2-table-wrapper::-webkit-scrollbar,.trend2-table-wrap::-webkit-scrollbar,.dash2-txn-list::-webkit-scrollbar{width:6px;height:6px}.acctgrid-wrap::-webkit-scrollbar-track,.balhist2-table-wrap::-webkit-scrollbar-track,.txn2-table-wrapper::-webkit-scrollbar-track,.trend2-table-wrap::-webkit-scrollbar-track,.dash2-txn-list::-webkit-scrollbar-track{background:transparent}.acctgrid-wrap::-webkit-scrollbar-thumb,.balhist2-table-wrap::-webkit-scrollbar-thumb,.txn2-table-wrapper::-webkit-scrollbar-thumb,.trend2-table-wrap::-webkit-scrollbar-thumb,.dash2-txn-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.acctgrid-wrap::-webkit-scrollbar-thumb:hover,.balhist2-table-wrap::-webkit-scrollbar-thumb:hover,.txn2-table-wrapper::-webkit-scrollbar-thumb:hover,.trend2-table-wrap::-webkit-scrollbar-thumb:hover,.dash2-txn-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.positive,.acctgrid-pos,.acct2-pos,.dash2-positive,.bs3-pos{color:var(--positive)}.negative,.acctgrid-neg,.acct2-neg,.dash2-negative,.bs3-neg{color:var(--negative)}@media (max-width: 768px){.dash2-hero-row{flex-direction:column}.dash2-hero-card{padding:16px 20px}.dash2-hero-value{font-size:1.3rem}.trend2-controls-row{flex-direction:column;gap:8px}.trend2-controls-left,.trend2-controls-right{width:100%;flex-wrap:wrap}.trend2-summary{flex-direction:column}.trend2-stat-card{width:100%}.debt-summary-grid{grid-template-columns:repeat(2,1fr)}.bs3-columns,.txn2-filter-bar{flex-direction:column}.txn2-filter-controls{flex-wrap:wrap}.balhist2-filters{flex-direction:column}.txn2-modal{border-radius:16px 16px 0 0;max-height:90vh}}@media (max-width: 480px){.page-header h1,.dash2-page h1,.trend2-header h1,.balhist2-header h1,.txn2-header h1{font-size:1.25rem}.debt-summary-grid{grid-template-columns:1fr}.dash2-hero-value{font-size:1.15rem}}@keyframes shimmer-polish{0%{background-position:-200% 0}to{background-position:200% 0}}.acct2-skeleton-bar,.acct2-skeleton-header,.acct2-skeleton-row{background:linear-gradient(90deg,var(--bg-hover) 25%,var(--border-light) 50%,var(--bg-hover) 75%);background-size:200% 100%;animation:shimmer-polish 1.5s ease-in-out infinite;border-radius:4px}.dash2-legend-dot,.trend2-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.dash2-chart-legend,.trend2-chart-legend{display:flex;justify-content:center;gap:16px;padding:8px 0;font-size:.78rem;color:var(--text-muted)}.dash2-legend-item,.trend2-legend-item{display:flex;align-items:center;gap:6px}.dash2-widget-settings{border-radius:12px;box-shadow:var(--shadow-lg)}.dash2-gear-btn{border-radius:6px;transition:all .15s}.dash2-gear-btn:hover{background:var(--bg-hover)}.txn2-modal-overlay,.txn2-panel-overlay{background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.debt-warning-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:10px;font-size:.85rem;font-weight:500}.debt-warning-banner.warning{background:var(--warning-bg);border:1px solid var(--warning);color:var(--warning)}.debt-warning-banner.danger{background:var(--negative-bg);border:1px solid var(--negative);color:var(--negative)}.debt-warnings{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.review-toolbar-v2{gap:8px;margin-bottom:12px}.review-toolbar-v2 .toolbar-filters{gap:8px}.filter-select-v2{font-size:.82rem;border-radius:8px;padding:6px 12px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.filter-select-v2:hover{border-color:var(--text-muted)}.filter-select-v2:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}.recharts-tooltip-wrapper .recharts-default-tooltip{border-radius:10px!important;border:1px solid var(--border)!important;box-shadow:var(--shadow)!important;padding:10px 14px!important;font-size:.82rem!important}.spinning{animation:spin 1s linear infinite}button:active:not(:disabled),.nav-item:active{transform:scale(.97)}.dash2-hero-card:active,.trend2-stat-card:active,.summary-card:active{transform:translateY(0)}.categorize-page .page-header h1{font-size:1.5rem;letter-spacing:-.02em}.model-stats-grid .stat-card{border-radius:14px;transition:transform .12s,box-shadow .12s}.model-stats-grid .stat-card:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.stat-icon{border-radius:10px}.categorize-tabs{border-radius:10px;gap:2px;padding:3px}.tab-btn{border-radius:8px;font-size:.8rem;padding:7px 14px;display:inline-flex;align-items:center;gap:5px}.tab-btn.active{box-shadow:0 1px 3px #00000014}.categorize-toolbar-v2{border-radius:12px}.training-progress-bar{border-radius:10px}.progress-track{border-radius:4px;overflow:hidden}.progress-fill{border-radius:4px;transition:width .3s ease}.categorize-page .btn-tool,.categorize-page .btn-tool-primary{border-radius:8px}.anomaly-card{border-radius:12px;transition:background .12s}.anomaly-card:hover{background:var(--bg-hover)}.anomaly-group h3{font-size:1rem;font-weight:600;letter-spacing:-.01em}.stat-pill{border-radius:20px}.categorize-page .txn-list-card{border-radius:12px;border:1px solid var(--border);overflow:hidden}.categorize-page .settings-option{border-radius:10px;transition:background .12s,border-color .12s}.budget-page .budget-controls h1,.budget-page h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.budget-summary-grid .summary-card{border-radius:14px}.budget-source-banner{border-radius:10px}.budget-chart-section{border-radius:16px}.budget2-month-pills{gap:3px;padding:3px}.budget2-month-pill{border-radius:8px;font-size:.78rem;font-weight:500;transition:all .12s}.budget-toolbar{gap:8px}.budget-toolbar .btn-tool{border-radius:8px}.budget-legend-inline{font-size:.75rem;gap:12px}.budget-legend-inline .dot{width:8px;height:8px}.budget-table-wrapper,.budget-alerts-section{border-radius:12px}.budget-row-collapse-controls button{border-radius:6px;transition:all .12s}.settings-page .page-header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.settings-section{border-radius:16px}.settings-info-box{border-radius:10px;font-size:.82rem}.setting-item input[type=text],.setting-item select{border-radius:8px;transition:border-color .15s,box-shadow .15s}.setting-item input[type=text]:focus,.setting-item select:focus{box-shadow:0 0 0 3px var(--accent-light)}.settings-footer,.settings-main-tabs{border-radius:12px}.settings-main-tabs .main-tab{border-radius:10px;font-size:.85rem;transition:all .15s}.settings-actions .btn{border-radius:8px;font-size:.82rem}.settings-grid{gap:1rem}.settings-note{font-size:.78rem;line-height:1.5}.adm-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.adm-modal{border-radius:20px;box-shadow:0 25px 50px -12px #00000040}.adm-header{padding:20px 24px 16px}.adm-title{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.adm-balance{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.adm-section-hdr{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.adm-input{border-radius:8px;transition:border-color .15s,box-shadow .15s}.adm-input:focus{box-shadow:0 0 0 3px var(--accent-light)}.adm-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:500}.adm-close{border-radius:8px;transition:all .12s}.adm-close:hover{background:var(--bg-hover)}.adm-vis-btn{border-radius:8px;transition:all .15s}.adm-body{padding:0 24px 24px}.settings-section,.categorize-toolbar-v2,.model-stats-grid .stat-card,.adm-modal,.budget-chart-section,.budget-alerts-section{transition:box-shadow .15s ease}.budget-table-wrapper::-webkit-scrollbar,.categorize-page .txn-list-card::-webkit-scrollbar,.adm-body::-webkit-scrollbar,.settings-page::-webkit-scrollbar{width:6px;height:6px}.budget-table-wrapper::-webkit-scrollbar-track,.categorize-page .txn-list-card::-webkit-scrollbar-track,.adm-body::-webkit-scrollbar-track,.settings-page::-webkit-scrollbar-track{background:transparent}.budget-table-wrapper::-webkit-scrollbar-thumb,.categorize-page .txn-list-card::-webkit-scrollbar-thumb,.adm-body::-webkit-scrollbar-thumb,.settings-page::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.budget-table-wrapper::-webkit-scrollbar-thumb:hover,.categorize-page .txn-list-card::-webkit-scrollbar-thumb:hover,.adm-body::-webkit-scrollbar-thumb:hover,.settings-page::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.trend2-saved-views-sep{width:1px;height:24px;background:var(--border);flex-shrink:0;margin:0 4px}.trend2-views-btn.has-views{border-color:var(--accent);color:var(--accent)}.trend2-views-dropdown{min-width:280px;right:0;left:auto}.trend2-views-save-btn{display:block;width:100%;padding:10px 14px;border:none;border-bottom:1px solid var(--border);background:none;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;text-align:left;transition:background .15s}.trend2-views-save-btn:hover{background:var(--accent-light)}.trend2-views-save-input{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border)}.trend2-views-save-input input{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:13px;outline:none;transition:border-color .15s}.trend2-views-save-input input:focus{border-color:var(--accent)}.trend2-views-save-confirm{padding:6px 14px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .15s;white-space:nowrap}.trend2-views-save-confirm:disabled{opacity:.4;cursor:default}.trend2-views-save-confirm:not(:disabled):hover{opacity:.85}.trend2-views-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:none;cursor:pointer;text-align:left;transition:background .1s}.trend2-views-item:hover{background:var(--bg-hover)}.trend2-views-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.trend2-views-item-name{font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trend2-views-item-meta{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trend2-views-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;color:var(--text-muted);border-radius:6px;cursor:pointer;flex-shrink:0;transition:all .15s;opacity:0}.trend2-views-item:hover .trend2-views-delete{opacity:1}.trend2-views-delete:hover{background:var(--negative-bg);color:var(--negative)}.budget-acct-type-wrap{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px;padding-left:0}.budget-acct-type-pill{display:inline-flex;align-items:center;font-size:10px;line-height:1;padding:2px 6px;border-radius:8px;font-weight:500;white-space:nowrap;background:var(--bg-hover);color:var(--text-muted)}.budget-acct-type-pill.cash{background:#16a34a1a;color:#16a34a}.budget-acct-type-pill.credit{background:#3b82f61a;color:#3b82f6}[data-theme=dark] .budget-acct-type-pill.cash,[data-theme=midnight] .budget-acct-type-pill.cash,[data-theme=charcoal] .budget-acct-type-pill.cash{background:#22c55e26;color:#4ade80}[data-theme=dark] .budget-acct-type-pill.credit,[data-theme=midnight] .budget-acct-type-pill.credit,[data-theme=charcoal] .budget-acct-type-pill.credit{background:#60a5fa26;color:#60a5fa}.dash2-vis-control{position:relative;display:flex;justify-content:flex-end;margin-bottom:8px}.dash2-vis-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.dash2-vis-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.dash2-vis-btn:active{transform:scale(.97)}.dash2-vis-panel{position:absolute;top:100%;right:0;min-width:220px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);z-index:100;margin-top:4px}.dash2-ws-switch{position:relative;width:40px;height:22px;border-radius:11px;border:none;background:var(--border);cursor:pointer;transition:background .2s;flex-shrink:0;padding:0}.dash2-ws-switch.on{background:var(--accent)}.dash2-ws-switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.dash2-ws-switch.on .dash2-ws-switch-thumb{transform:translate(18px)}.dash2-ws-colors{display:flex;gap:6px;align-items:center}.dash2-ws-color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s;padding:0}.dash2-ws-color-swatch:hover{transform:scale(1.15)}.dash2-ws-color-swatch.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-card),0 0 0 4px var(--text-muted)}.dash2-cf-breakdown{margin-top:8px;padding-top:6px;border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:2px}.dash2-cf-break-row{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary);padding:1px 0}.dash2-cf-break-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.dash2-cf-break-amt{font-variant-numeric:tabular-nums;color:var(--negative);font-weight:500}.dash2-txn-h-acct,.dash2-txn-acct{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash2-txn-header-row,.dash2-txn-row{grid-template-columns:72px 1fr 140px 100px}.dash2-txn-header-row.show-acct,.dash2-txn-row.show-acct{grid-template-columns:72px 1fr 120px 100px 100px}.dash2-txn-header-row.hide-date,.dash2-txn-row.hide-date{grid-template-columns:1fr 140px 100px}.dash2-txn-header-row.hide-cat,.dash2-txn-row.hide-cat{grid-template-columns:72px 1fr 100px}.dash2-txn-header-row.hide-date.show-acct,.dash2-txn-row.hide-date.show-acct{grid-template-columns:1fr 120px 100px 100px}.dash2-txn-header-row.hide-cat.show-acct,.dash2-txn-row.hide-cat.show-acct{grid-template-columns:72px 1fr 100px 100px}.dash2-txn-header-row.hide-date.hide-cat,.dash2-txn-row.hide-date.hide-cat{grid-template-columns:1fr 100px}.dash2-txn-header-row.hide-date.hide-cat.show-acct,.dash2-txn-row.hide-date.hide-cat.show-acct{grid-template-columns:1fr 100px 100px}@media (max-width: 600px){.dash2-txn-header-row.show-acct,.dash2-txn-row.show-acct{grid-template-columns:60px 1fr 80px}.dash2-txn-h-acct,.dash2-txn-acct{display:none}}.cat-learning-progress{display:flex;flex-direction:column;gap:8px;padding:12px 16px;margin-bottom:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.cat-lp-bar-wrap{display:flex;align-items:center;gap:12px}.cat-lp-bar-track{flex:1;height:6px;background:var(--bg-hover);border-radius:3px;overflow:hidden}.cat-lp-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .4s ease}.cat-lp-bar-label{font-size:12px;color:var(--text-muted);white-space:nowrap;min-width:200px;text-align:right}.cat-lp-stats{display:flex;gap:20px;flex-wrap:wrap}.cat-lp-stat{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-muted)}.cat-lp-stat svg{color:var(--accent);flex-shrink:0}.cat-batch-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:cat-bb-fadeIn .2s ease}@keyframes cat-bb-fadeIn{0%{opacity:0}to{opacity:1}}.cat-batch-modal{display:flex;flex-direction:column;align-items:center;gap:16px;padding:28px 32px;background:var(--bg-primary);border:1px solid rgba(34,197,94,.4);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:420px;text-align:center;animation:cat-bb-slideIn .25s ease}@keyframes cat-bb-slideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.cat-bb-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#22c55e26;color:#16a34a;flex-shrink:0}.cat-bb-content{text-align:center}.cat-bb-title{font-size:16px;color:var(--text-primary);line-height:1.5}.cat-bb-subtitle{font-size:14px;color:var(--text-muted);margin-top:6px}.cat-bb-category{display:inline-block;padding:1px 8px;background:#22c55e1f;color:var(--positive, #16a34a);border-radius:4px;font-weight:600;font-size:12px}.cat-bb-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:4px}.cat-bb-apply{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:var(--positive, #16a34a);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.cat-bb-apply:hover:not(:disabled){filter:brightness(1.1);transform:scale(1.02)}.cat-bb-apply:active:not(:disabled){transform:scale(.97)}.cat-bb-apply:disabled{opacity:.6;cursor:not-allowed}.cat-bb-review{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;font-size:13px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.cat-bb-review:hover{background:var(--bg-card);border-color:var(--accent)}.cat-bb-dismiss{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 14px;background:transparent;border:1px solid var(--border-color);color:var(--text-muted);border-radius:8px;font-size:13px;cursor:pointer;transition:all .15s ease}.cat-bb-dismiss:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}.cat-teach-section{animation:fadeIn .2s ease}.cat-teach-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.cat-teach-title{display:flex;align-items:flex-start;gap:12px}.cat-teach-title svg{color:var(--accent);margin-top:2px;flex-shrink:0}.cat-teach-title h3{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--text-primary)}.cat-teach-title p{margin:0;font-size:13px;color:var(--text-muted);line-height:1.4}.cat-teach-summary{flex-shrink:0}.cat-teach-stat{display:inline-block;padding:6px 12px;background:var(--accent-light, rgba(59, 130, 246, .08));color:var(--accent);border-radius:8px;font-size:13px}.cat-teach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.cat-teach-card{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;transition:all .15s ease}.cat-teach-card:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000000f}.cat-tc-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.cat-tc-merchant{font-weight:600;font-size:15px;color:var(--text-primary);text-transform:capitalize}.cat-tc-count{padding:2px 8px;background:var(--bg-hover);color:var(--text-muted);border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.cat-tc-sample{border-left:3px solid var(--border);padding-left:10px}.cat-tc-desc{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:280px}.cat-tc-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cat-tc-amount{font-size:12px;color:var(--text-muted);font-weight:500}.cat-tc-suggestion{font-size:12px;color:var(--text-muted)}.cat-tc-suggestion strong{color:var(--accent)}.cat-tc-actions{display:flex;flex-direction:column;gap:6px;margin-top:2px}.cat-tc-accept{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;background:var(--positive, #16a34a);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;width:100%}.cat-tc-accept:hover:not(:disabled){filter:brightness(1.1);transform:scale(1.01)}.cat-tc-accept:active:not(:disabled){transform:scale(.97)}.cat-tc-accept:disabled{opacity:.5;cursor:not-allowed}.cat-tc-select{width:100%;padding:7px 28px 7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:13px;cursor:pointer;transition:border-color .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.cat-tc-select:hover{border-color:var(--accent)}.cat-tc-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f626}[data-theme=dark] .cat-batch-modal,[data-theme=midnight] .cat-batch-modal,[data-theme=charcoal] .cat-batch-modal{background:var(--bg-primary);border-color:#22c55e40}[data-theme=dark] .cat-bb-icon,[data-theme=midnight] .cat-bb-icon,[data-theme=charcoal] .cat-bb-icon{background:#22c55e1f;color:#4ade80}[data-theme=dark] .cat-bb-category,[data-theme=midnight] .cat-bb-category,[data-theme=charcoal] .cat-bb-category{background:#22c55e1a;color:#4ade80}[data-theme=dark] .cat-teach-card:hover,[data-theme=midnight] .cat-teach-card:hover,[data-theme=charcoal] .cat-teach-card:hover{box-shadow:0 2px 8px #0003}@media (max-width: 768px){.cat-batch-modal{margin:16px;padding:20px 24px;max-width:calc(100vw - 32px)}.cat-bb-actions{flex-direction:column;width:100%}.cat-bb-actions button{width:100%;justify-content:center}.cat-lp-bar-wrap{flex-direction:column;align-items:stretch;gap:6px}.cat-lp-bar-label{min-width:0;text-align:left}.cat-lp-stats{gap:12px}.cat-teach-header{flex-direction:column}.cat-teach-grid{grid-template-columns:1fr}}.acctgrid-colpicker-wrap{position:relative}.acctgrid-colpicker-menu{position:absolute;top:100%;right:0;z-index:100;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;min-width:180px;max-width:280px;padding:4px;font-size:.8rem;max-height:350px;overflow-y:auto}.acctgrid-colpicker-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;font-weight:600;font-size:.75rem;color:var(--text-secondary);border-bottom:1px solid var(--border);margin-bottom:4px}.acctgrid-colpicker-reset{background:none;border:none;color:var(--accent);font-size:.72rem;cursor:pointer;padding:2px 6px;border-radius:4px}.acctgrid-colpicker-reset:hover{background:var(--accent-bg)}.acctgrid-colpicker-option{display:flex;align-items:center;gap:6px;padding:5px 10px;cursor:pointer;border-radius:4px;color:var(--text-primary);font-size:.78rem}.acctgrid-colpicker-option:hover{background:var(--bg-hover)}.acctgrid-colpicker-option input[type=checkbox]{margin:0}.acctgrid-layout-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;cursor:pointer;border-radius:4px;font-size:.78rem;color:var(--text-primary)}.acctgrid-layout-item:hover{background:var(--bg-hover)}.acctgrid-layout-del{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px;border-radius:3px;display:flex;opacity:.5}.acctgrid-layout-del:hover{opacity:1;color:var(--danger, #ef4444);background:#ef44441a}.acctgrid-layout-count{background:var(--accent);color:#fff;font-size:.65rem;padding:1px 5px;border-radius:8px;font-weight:600;margin-left:4px}.bs3-inst-row{cursor:pointer}.bs3-inst-row:hover{background:var(--bg-hover)}.bs3-inst-row .bs3-inst-name{display:flex;align-items:center;gap:4px;font-weight:500;font-size:.82rem;padding-left:1.4rem;max-width:none;overflow:visible}.bs3-inst-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.bs3-chev-sm{display:inline-flex;align-items:center;color:var(--text-muted);flex-shrink:0}.bs3-inst-count{font-size:.65rem;color:var(--text-muted);background:var(--bg-secondary);padding:0 5px;border-radius:8px;font-weight:500;margin-left:4px}.bs3-nested-row{cursor:pointer}.bs3-nested-row:hover{background:var(--bg-hover)}.bs3-nested-name{padding-left:2.8rem!important;font-size:.78rem;color:var(--text-secondary)}.bs3-nested-row .bs3-acct-bal{font-size:.78rem;color:var(--text-secondary)}.trend2-inline-filter{display:inline-flex;align-items:center;gap:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:0 8px;height:32px;position:relative}.trend2-inline-icon{color:var(--text-muted);flex-shrink:0}.trend2-inline-input{border:none;background:transparent;color:var(--text-primary);font-size:.8rem;outline:none;width:90px;padding:0}.trend2-inline-input::placeholder{color:var(--text-muted);opacity:.7}.trend2-inline-input::-webkit-outer-spin-button,.trend2-inline-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.trend2-inline-input[type=number]{-moz-appearance:textfield}.trend2-inline-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:4px;flex-shrink:0}.trend2-inline-clear:hover{color:var(--text-primary);background:var(--bg-hover)}.trend2-amount-range .trend2-amount-input{width:52px;text-align:center}.trend2-amount-sep{color:var(--text-muted);font-size:.75rem;flex-shrink:0}.trend2-filter-chips{flex-wrap:wrap}.adm-linked-section{display:flex;flex-direction:column;gap:10px}.adm-field-help{font-size:.72rem;color:var(--text-muted);line-height:1.4;margin-top:-4px}.adm-linked-badge{display:inline-flex;align-items:center;gap:3px;color:var(--accent);font-weight:500}.adm-reverse-link-banner{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:8px;font-size:.8rem;line-height:1.4;margin-bottom:4px}.adm-reverse-link-banner>svg{color:var(--accent);flex-shrink:0;margin-top:2px}.adm-reverse-rate{color:var(--text-muted);font-size:.75rem}.adm-reverse-hint{color:var(--text-muted);font-size:.72rem;margin-top:4px}.txn2-table th,.txn2-table td{border-right:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.txn2-table th:last-child,.txn2-table td:last-child{border-right:none}.acctgrid-table .acctgrid-th,.acctgrid-table td{border-right:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.acctgrid-table .acctgrid-th:last-child,.acctgrid-table td:last-child{border-right:none}.balhist2-table th,.balhist2-table td{border-right:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.balhist2-table th:last-child,.balhist2-table td:last-child{border-right:none}.acctgrid-notes-cell{padding:0 6px!important}.acctgrid-note-display{display:flex;align-items:center;gap:4px;cursor:pointer;min-height:28px;font-size:.8rem;color:var(--text-secondary);padding:2px 4px;border-radius:4px;transition:background .15s}.acctgrid-note-display:hover{background:var(--bg-hover)}.acctgrid-note-placeholder{opacity:.3;transition:opacity .15s}.acctgrid-note-display:hover .acctgrid-note-placeholder{opacity:.6}.acctgrid-note-edit{display:flex;align-items:center;gap:3px}.acctgrid-note-input{flex:1;padding:3px 6px;border:1px solid var(--accent);border-radius:4px;background:var(--bg-input, var(--bg-card));color:var(--text-primary);font-size:.8rem;outline:none;min-width:80px}.acctgrid-note-save,.acctgrid-note-cancel{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:4px;cursor:pointer;padding:0;transition:background .15s}.acctgrid-note-save{background:var(--positive);color:#fff}.acctgrid-note-save:hover{filter:brightness(1.1)}.acctgrid-note-cancel{background:var(--bg-hover);color:var(--text-muted)}.acctgrid-note-cancel:hover{background:var(--negative);color:#fff}@media (min-width: 1600px){:root{--page-max-width: 92%}}@media (min-width: 2200px){:root{--page-max-width: 88%}}@media (min-width: 3000px){:root{--page-max-width: 84%}}.color-overrides-grid{display:flex;flex-direction:column;gap:8px}.color-override-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border)}.color-group-info{display:flex;align-items:center;gap:8px;min-width:0}.color-swatch{padding:4px 10px;border-radius:6px;font-size:13px;font-weight:600;white-space:nowrap}.color-side-badge{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.color-custom-badge{font-size:10px;padding:1px 6px;border-radius:4px;background:var(--accent-light);color:var(--accent);font-weight:600}.color-actions{flex-shrink:0}.color-btn-group{display:flex;gap:4px}.color-edit-panel{display:flex;align-items:center;gap:10px}.color-edit-panel label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted)}.color-edit-panel input[type=color]{width:28px;height:28px;border:1px solid var(--border);border-radius:6px;padding:0;cursor:pointer;background:transparent}.btn-sm{padding:4px 10px;font-size:12px;border-radius:6px}.setting-label.setting-inline{display:flex;align-items:center;gap:8px}.setting-number-input{width:60px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-size:13px;text-align:center}.cell-mtd-actual{display:block;font-size:10px;color:var(--text-muted);margin-top:1px;line-height:1}.current-month .cell-mtd-actual{color:var(--accent)}.generate-section-label{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 4px}.generate-divider{border:none;border-top:1px solid var(--border);margin:16px 0}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .dashboard-hero{background:linear-gradient(135deg,rgba(96,165,250,.12) 0%,var(--bg-card) 100%)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .summary-card.income .card-icon{background:var(--positive-bg);color:var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .summary-card.expenses .card-icon{background:var(--negative-bg);color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .summary-card.net .card-icon{background:var(--accent-light);color:var(--accent)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .summary-card.net.positive .card-icon{background:var(--positive-bg);color:var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-light .cloud-badge{color:var(--accent);background:var(--accent-light);border-color:#60a5fa4d}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-chart-section .chart-title{color:var(--text-primary)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-light .btn-tool:hover{background:var(--bg-hover);border-color:var(--border-light)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .year-btn{background:var(--bg-hover)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .year-btn.active{background:var(--accent);border-color:var(--accent)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-legend-inline .dot.budget{background:#60a5fa4d;border-color:var(--accent)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-legend-inline .dot.current{background:#fbbf244d;border-color:var(--warning)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light th,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light td{border-bottom-color:var(--border)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .header-months th{background:var(--bg-hover);color:var(--text-secondary)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .header-months .sticky-col,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .header-months .sticky-col-2,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .header-months .sticky-col-3,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .header-months .sticky-col-4{background:var(--bg-hover)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .mtd-header{background:#fbbf2433!important;color:var(--warning)!important}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .delta-header{background:#4ade8026!important;color:var(--positive)!important}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .col-month.current-month{background:#fbbf241a!important}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light th.col-month.current-month{background:#fbbf2433!important;color:var(--warning)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .cell-number{color:var(--text-secondary)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .cell-number.year-total{background:var(--bg-hover)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .cell-number.budget{background:#60a5fa26;color:var(--accent)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .cell-number.editable:hover{background:#60a5fa40}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .cell-number.current-month{background:#fbbf241a!important}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .mtd-budget{background:#fbbf2426;color:var(--warning)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .mtd-actual{background:#fbbf2433;color:var(--warning)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .mtd-togo{background:#fbbf241a;color:var(--text-secondary)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .clickable:hover{background:#fbbf244d!important}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .delta{background:#4ade801a}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .delta-pct{background:#4ade801a}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .positive{color:var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .negative{color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-type-total,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-type-total td{background:var(--bg-hover)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-type-total td{border-bottom-color:var(--border-light)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-type-total .sticky-col,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-type-total .sticky-col-2,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-type-total .sticky-col-3,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-type-total .sticky-col-4{background:var(--bg-hover)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-group{background:var(--bg-secondary)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-group:hover{background:var(--bg-hover)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-detail td{color:var(--text-secondary)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .type-indicator{color:var(--text-secondary)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-group.hovered td,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-detail.hovered td{background:var(--bg-hover)!important}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-group.hovered .sticky-col,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-group.hovered .sticky-col-2,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-group.hovered .sticky-col-3,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-group.hovered .sticky-col-4,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-detail.hovered .sticky-col,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-detail.hovered .sticky-col-2,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-detail.hovered .sticky-col-3,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-detail.hovered .sticky-col-4{background:var(--bg-hover)!important}:is([data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-net td,:is([data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-net .sticky-col,:is([data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-net .sticky-col-2,:is([data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-net .sticky-col-3,:is([data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-net .sticky-col-4{background:var(--bg-hover);border-bottom-color:var(--border-light)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .cell-number.cell-over-budget{background:var(--negative-bg)!important;color:var(--negative);border-left-color:#f8717166}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .cell-number.cell-under-budget{background:var(--positive-bg)!important;color:var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .cell-number.cell-near-budget{background:var(--warning-bg)!important;color:var(--warning)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .ytd-delta-arrow.over{color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .ytd-delta-arrow.under{color:var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .col-ytd{background:#0ea5e91a}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .ytd-actual{background:#0ea5e91a;color:#38bdf8}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .ytd-budget{background:#0ea5e926;color:#38bdf8}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .ytd-var{background:#0ea5e91a;color:var(--text-secondary)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .col-forecast{background:#d946ef1a}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .forecast{background:#d946ef1a;color:#e879f9}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .forecast.over{color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .forecast.under{color:var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .mtd-header{background:linear-gradient(to right,#fbbf2426,#fbbf241a)!important;color:var(--warning)!important}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .mtd-header:hover{background:linear-gradient(to right,#fbbf2433,#fbbf2426)!important}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .col-mtd{background:#fbbf2426!important;color:var(--warning)!important}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .mtd-table th,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .mtd-table td{border-bottom-color:var(--border)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .mtd-table .cell-number.positive{color:var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .mtd-table .cell-number.negative{color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .mtd-table .cell-number.pct.over{color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .mtd-table .cell-number.pct.warning{color:var(--warning)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .mtd-table tr.over-budget{background:var(--negative-bg)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .mtd-table tr.warning{background:var(--warning-bg)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .summary-table th,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .summary-table td{border-bottom-color:var(--border)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .summary-table .num.positive{color:var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .summary-table .num.negative{color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .summary-table .row-income td{background:var(--positive-bg);color:var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .summary-table .row-expenses td{background:var(--negative-bg);color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .progress-bar-wide .progress-marker{background:var(--text-primary)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .progress-bar-wide .progress-marker:after{border-top-color:var(--text-primary)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .progress-legend .positive{color:var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .progress-legend .negative{color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .mtd-progress-indicator .progress-label .over{color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .mtd-progress-indicator .progress-label .warning{color:var(--warning)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .collapse-controls .btn-collapse-all,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .collapse-controls .btn-expand-all{background:var(--bg-hover)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .btn-close-light:hover{background:var(--bg-hover)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .scenario-item:hover{background:var(--bg-hover);border-color:var(--border-light)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .scenario-item.selected{background:var(--accent-light);border-color:var(--accent)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .btn-secondary{background:var(--bg-hover)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .btn-primary{background:var(--accent)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .btn-primary:hover{background:var(--accent-hover)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .btn-primary:disabled{background:#60a5fa66}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .drilldown-table-light td{border-bottom-color:var(--border);color:var(--text-secondary)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .drilldown-table-light .positive{color:var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .drilldown-table-light .negative{color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .version-actions button:hover{background:var(--bg-hover)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .version-actions button.danger:hover{background:var(--negative-bg);border-color:#f871714d}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .type-badge.income{background:var(--positive-bg);color:var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .type-badge.fixed{background:var(--accent-light);color:var(--accent)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .type-badge.discretionary{background:var(--warning-bg);color:var(--warning)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .type-badge.loans{background:#9d174d33;color:#f472b6}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .type-badge.mm{background:#6366f133;color:#818cf8}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .whatif-card.impact.positive{background:var(--positive-bg)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .whatif-card.impact.negative{background:var(--negative-bg)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .whatif-card-value.positive{color:var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .whatif-card-value.negative{color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .whatif-adj-remove:hover{background:var(--negative-bg);color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .whatif-detail-table td{border-bottom-color:var(--border)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .whatif-detail-table .num.positive{color:var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .whatif-detail-table .num.negative{color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .spread-menu-header{border-bottom-color:var(--border)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .spread-menu-subtitle{border-bottom-color:var(--border)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .spread-menu-item:hover{background:var(--bg-hover)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .bulk-category-item:hover{background:var(--bg-hover)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .bulk-category-item.selected{background:var(--accent-light)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-expanded .btn-tool.active{background:var(--accent);border-color:var(--accent)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-detail .sticky-col .label-muted,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-detail .sticky-col-2 .label-muted,:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .row-detail .sticky-col-3 .label-muted{color:var(--text-muted)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .upload-error{background:var(--negative-bg)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .history-delete:hover{background:var(--negative-bg)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .login-page{background:linear-gradient(135deg,rgba(96,165,250,.1) 0%,var(--bg-primary) 100%)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .summary-card.net.negative .card-icon{background:var(--negative-bg);color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .summary-card.mtd .card-icon{background:var(--warning-bg);color:var(--warning)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .quick-actions .action-btn.deny{background:var(--negative-bg);border-color:#f871714d;color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .quick-actions .action-btn.flag{background:var(--warning-bg);border-color:#fbbf244d;color:var(--warning)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .quiz-btn.no{background:var(--negative-bg);color:var(--negative)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .repo-owner-badge.sara{background:#be185d33;color:#f472b6}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .bs-ratio-bar .ratio-assets{background:var(--positive)}:is([data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .bs-net-worth-bar{background:var(--positive);color:#fff}:is([data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .bs-column-header.assets{background:#166534;color:#bbf7d0}:is([data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .bs-column-header.liabilities{background:#2d4a7a;color:#bfdbfe}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .cell-number.budget-cell-selected{background:#60a5fa33!important}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .cell-number.actual.budget-cell-selected{background:#0ea5e933!important}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .alert-progress-bar{background:#ffffff1a}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .ytd-header{background:#0ea5e926!important;color:#38bdf8!important}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .forecast-header{background:#d946ef26!important;color:#e879f9!important}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .search-box .clear-search:hover{background:var(--bg-hover)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .btn-warning:hover{background:var(--warning);filter:brightness(.85)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .mtd-togo.positive{color:var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .mtd-togo.negative{color:var(--negative)}:is([data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .spread-context-menu{background:var(--bg-card);border-color:var(--border)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .cell-input{border-color:var(--accent)}.cat2-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.cat2-table{width:100%;border-collapse:collapse;font-size:.78rem}.cat2-th{position:relative;padding:.4rem .5rem;text-align:left;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--text-secondary);background:var(--bg-hover);border-bottom:2px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.cat2-th.drag-over{background:var(--accent-light, rgba(59,130,246,.08))}.cat2-th.sorted{color:var(--accent)}.cat2-th input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.cat2-th-inner{display:flex;align-items:center;gap:4px}.cat2-th-label{display:flex;align-items:center;gap:4px;cursor:pointer;flex:1;min-width:0}.cat2-drag-handle{opacity:0;transition:opacity .15s;color:var(--text-muted);flex-shrink:0}.cat2-th:hover .cat2-drag-handle{opacity:.5}.cat2-resize-handle{position:absolute;right:-3px;top:0;bottom:0;width:7px;cursor:col-resize;background:transparent;z-index:5;transition:background .15s}.cat2-resize-handle:hover,.cat2-resize-handle:active{background:var(--accent);opacity:.5}.cat2-row{transition:background .1s}.cat2-row:hover{background:var(--bg-hover)}.cat2-row.selected{background:var(--accent-bg, rgba(59,130,246,.06))}.cat2-row.expanded{background:var(--bg-primary, var(--bg-card))}.cat2-row.cat2-mismatch{border-left:3px solid var(--warning, #f59e0b)}.cat2-row.cat2-match{border-left:3px solid var(--positive, #22c55e)}.cat2-td{padding:.35rem .5rem;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.cat2-td-select{width:40px;text-align:center}.cat2-td-select input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.cat2-td-desc{cursor:pointer;min-width:280px;max-width:400px}.cat2-td-desc .desc-text{display:block;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat2-td-desc .desc-date,.cat2-td-desc .desc-meta{display:inline;font-size:.68rem;color:var(--text-muted);margin-left:6px}.cat2-td-amount{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.cat2-td-amount.income{color:var(--positive)}.cat2-td-amount.expense{color:var(--negative, var(--text-primary))}.cat2-td-account,.cat2-td-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat2-td-prediction{min-width:0}.cat2-td-prediction .prediction-display{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cat2-td-prediction .category-select{max-width:130px;font-size:.72rem;padding:2px 3px;border-radius:3px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary)}.cat2-td-actions .action-btn{display:inline-flex;align-items:center;justify-content:center;gap:2px;padding:3px 5px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.72rem;transition:all .15s}.cat2-td-actions .action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.cat2-td-actions .action-btn.approve:hover{color:var(--positive)}.cat2-td-actions .action-btn.flag:hover{color:var(--warning, #f59e0b)}.cat2-td-actions .action-btn.edit:hover,.cat2-td-actions .action-btn.ai-lookup:hover{color:var(--accent)}.cat2-td-actions .action-btn.fix{color:var(--accent);font-weight:500}.cat2-td-actions .action-btn.fix:hover{background:var(--accent-light, rgba(59,130,246,.1))}.cat2-td-predicted{display:flex;align-items:center;gap:6px}.cat2-td-predicted .arrow-icon{color:var(--warning, #f59e0b);flex-shrink:0}.cat2-expand-row td{padding:0;border-bottom:1px solid var(--border)}.cat2-expand-td{padding:1rem 1.25rem!important;background:var(--bg-primary, var(--bg-card))}.cat2-expand-td .expanded-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.cat2-toolbar-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.cat2-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.cat2-pill:hover{border-color:var(--accent);color:var(--text-primary)}.cat2-pill.active{background:var(--accent-light, rgba(59,130,246,.1));border-color:var(--accent);color:var(--accent)}.cat2-colpicker-wrap{position:relative}.cat2-colpicker-menu{position:absolute;top:100%;right:0;z-index:100;min-width:200px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001f;padding:6px 0;margin-top:4px}.cat2-colpicker-header{display:flex;justify-content:space-between;align-items:center;padding:6px 12px 8px;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--border)}.cat2-colpicker-reset{background:none;border:none;color:var(--accent);font-size:.72rem;cursor:pointer;padding:2px 6px;border-radius:4px}.cat2-colpicker-reset:hover{background:var(--accent-light, rgba(59,130,246,.1))}.cat2-colpicker-option{display:flex;align-items:center;gap:8px;padding:5px 12px;cursor:pointer;font-size:.82rem;color:var(--text-primary);transition:background .1s}.cat2-colpicker-option:hover{background:var(--bg-hover)}.cat2-colpicker-option input[type=checkbox]{accent-color:var(--accent)}.cat2-colpicker-eye{color:var(--accent);flex-shrink:0}.cat2-colpicker-eye.off{color:var(--text-muted)}.cat2-layout-menu{min-width:220px}.cat2-layout-save{display:flex;align-items:center;gap:4px;padding:8px 10px;border-bottom:1px solid var(--border)}.cat2-layout-save input{flex:1;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary, var(--bg-card));color:var(--text-primary);font-size:.8rem}.cat2-layout-save button{display:flex;align-items:center;padding:4px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg-card);color:var(--accent);cursor:pointer}.cat2-layout-save button:disabled{opacity:.4;cursor:not-allowed}.cat2-saved-layouts{max-height:180px;overflow-y:auto}.cat2-layout-item{display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 0}.cat2-layout-name{flex:1;text-align:left;padding:6px 12px;background:none;border:none;color:var(--text-primary);font-size:.82rem;cursor:pointer}.cat2-layout-name:hover{background:var(--bg-hover)}.cat2-layout-del{display:flex;align-items:center;padding:3px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:3px}.cat2-layout-del:hover{color:var(--negative, #ef4444);background:#ef44441a}.cat2-td .category-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.78rem;font-weight:500}.cat2-td .category-badge.current{background:var(--bg-hover);color:var(--text-primary)}.cat2-td .category-badge.predicted{background:var(--accent-light, rgba(59,130,246,.1));color:var(--accent)}.cat2-td .category-badge.predicted.match{background:#22c55e1a;color:var(--positive)}@media (max-width: 768px){.cat2-toolbar-actions{flex-wrap:wrap}.cat2-expand-td .expanded-grid{grid-template-columns:1fr}.cat2-td-prediction .category-select{max-width:100px}}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .cat2-colpicker-menu{box-shadow:0 4px 16px #0006}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .cat2-layout-save input{background:var(--bg-secondary, var(--bg-card))}.budget-year-dropdown{position:relative}.budget-year-trigger{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.8rem;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s;white-space:nowrap}.budget-year-trigger:hover{border-color:var(--accent);background:var(--bg-hover)}.budget-year-trigger svg{color:var(--text-secondary);flex-shrink:0}.budget-year-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:100;min-width:140px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000001f;padding:6px;animation:budget-dd-in .12s ease-out}@keyframes budget-dd-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.budget-year-option{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:.82rem;color:var(--text-primary);transition:background .1s}.budget-year-option:hover{background:var(--bg-hover)}.budget-year-option input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;margin:0;cursor:pointer}.budget-year-actions{display:flex;gap:4px;padding:4px 4px 2px;margin-top:4px;border-top:1px solid var(--border)}.budget-year-actions button{flex:1;padding:4px 0;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .12s}.budget-year-actions button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.budget-period-seg{display:inline-flex;background:var(--bg-hover);border:1px solid var(--border);border-radius:8px;padding:2px;gap:0}.budget-period-seg .seg-btn{padding:4px 12px;background:none;border:none;border-radius:6px;color:var(--text-secondary);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.budget-period-seg .seg-btn:hover{color:var(--text-primary)}.budget-period-seg .seg-btn.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 3px #00000014}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-year-menu{box-shadow:0 8px 24px #0006}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-period-seg .seg-btn.active{background:var(--bg-card);box-shadow:0 1px 3px #0000004d}.budget-toolbar{border-radius:8px 8px 0 0;margin-bottom:0;border-bottom:none}.budget-table-wrapper{border-radius:0 0 8px 8px}.budget-summary-grid{margin-bottom:1.5rem}.budget-table-light .cell-number.editable:hover{background:#3b82f624}.row-type-header .cell-number.subtotal{font-weight:700;font-size:.75rem}.budget-drag-handle{opacity:0;color:var(--text-muted);cursor:grab;flex-shrink:0;margin-right:2px;transition:opacity .12s}.row-type-header:hover .budget-drag-handle,.row-catgroup:hover .budget-drag-handle,.row-detail:hover .budget-drag-handle,.row-custom-subtotal:hover .budget-drag-handle{opacity:.4}.budget-drag-handle:hover{opacity:.8!important}.budget-drag-over{box-shadow:inset 0 2px 0 0 var(--accent)}tr[draggable=true]{cursor:default}tr[draggable=true]:active{opacity:.6}.budget-table-light .row-spacer td{height:8px;padding:0;background:transparent;border:none}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .cell-number.budget{background:#3b82f61a;border-bottom:1px dashed rgba(59,130,246,.25);border-right:1px dashed rgba(59,130,246,.1)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .cell-number.editable:hover{background:#3b82f638}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .cell-number.actual{opacity:.5;background:#ffffff05}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .budget-table-light .cell-number.budget{background:#3b82f624;border-bottom:1px dashed rgba(59,130,246,.35)}.row-custom-subtotal{background:var(--bg-hover);cursor:pointer}.row-custom-subtotal:hover,.row-custom-subtotal.hovered{background:color-mix(in srgb,var(--accent) 8%,var(--bg-hover))}.row-custom-subtotal td{font-weight:700;font-size:.72rem;color:var(--text-primary);border-bottom:2px solid var(--accent);border-top:2px solid var(--accent);background:inherit}.row-custom-subtotal .custom-subtotal-cell{padding-left:52px!important;background:inherit}.row-custom-subtotal .sticky-col{background:inherit}.cs-row-label{display:flex;align-items:center;gap:.375rem}.cs-name{font-weight:700;font-size:.75rem;color:var(--accent)}.cs-edit-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px;border-radius:3px;opacity:0;transition:opacity .12s,color .12s}.row-custom-subtotal:hover .cs-edit-btn{opacity:.6}.cs-edit-btn:hover{opacity:1!important;color:var(--accent)}.cs-modal{max-width:480px}.cs-name-input{margin-bottom:1rem}.cs-name-input label{display:block;font-weight:600;font-size:.8125rem;color:var(--text-secondary);margin-bottom:.375rem}.cs-name-input input{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.875rem}.cs-name-input input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px var(--accent-light)}.cs-category-picker{margin-bottom:1rem}.cs-category-picker>label{display:block;font-weight:600;font-size:.8125rem;color:var(--text-secondary);margin-bottom:.375rem}.cs-search-box{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;margin-bottom:.5rem}.cs-search-box input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:.8125rem;outline:none}.cs-search-box svg{color:var(--text-muted);flex-shrink:0}.cs-category-list{max-height:280px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary)}.cs-group{border-bottom:1px solid var(--border-light)}.cs-group:last-child{border-bottom:none}.cs-group-label{font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;padding:.5rem .75rem .25rem;background:var(--bg-hover);position:sticky;top:0;z-index:1}.cs-category-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;cursor:pointer;transition:background .1s}.cs-category-item:hover{background:var(--bg-hover)}.cs-category-item.selected{background:var(--accent-light)}.cs-category-item input[type=checkbox]{accent-color:var(--accent);flex-shrink:0}.cs-cat-name{font-size:.8125rem;color:var(--text-primary)}.cs-existing{margin-bottom:1rem;padding-top:.75rem;border-top:1px solid var(--border-light)}.cs-existing>label{display:block;font-weight:600;font-size:.8125rem;color:var(--text-secondary);margin-bottom:.375rem}.cs-existing-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:6px;background:var(--bg-primary);margin-bottom:.25rem}.cs-existing-name{font-weight:600;font-size:.8125rem;color:var(--text-primary);flex:1}.cs-existing-count{font-size:.6875rem;color:var(--text-muted)}.cs-existing-item button{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:3px;border-radius:4px}.cs-existing-item button:hover{color:var(--accent);background:var(--bg-hover)}.cs-existing-item button.danger:hover{color:var(--negative)}.budget-table-light .header-months th.col-section-start.col-ytd{border-left:3px solid var(--tint-ytd-border)}.budget-table-light .header-months th.col-section-start.col-mtd{border-left:3px solid var(--warning)}.budget-table-light .header-months th.col-section-start.col-forecast{border-left:3px solid var(--tint-forecast-border)}.budget-table-light .header-months th.col-section-start.col-delta{border-left:3px solid var(--positive)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .row-custom-subtotal td{background:var(--bg-hover)}:is([data-theme=dark],[data-theme=midnight],[data-theme=nord],[data-theme=high-contrast]) .cs-name{color:var(--accent)}.budget-summary-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.8rem;font-weight:600;color:var(--text-muted);padding:6px 2px;margin-bottom:4px;-webkit-user-select:none;user-select:none;transition:color .12s}.budget-summary-toggle:hover{color:var(--text-primary)}.row-cs-child .cs-child-indent{padding-left:68px!important}.row-catgroup .catgroup-cell{padding-left:20px}.row-catgroup .cell-number{font-size:.72rem}.row-catgroup.expanded{border-bottom:none}.row-catgroup.expanded .catgroup-cell{border-bottom:1px dashed var(--border)}.catgroup-expanded-spacer{background:transparent!important;border:none!important;padding:0!important}.budget-table-light .row-catgroup-footer{background:var(--bg-hover);border-top:1.5px solid var(--border);border-bottom:1.5px solid var(--border)}.row-catgroup-footer .catgroup-footer-cell{padding-left:20px;font-weight:600;font-size:.78rem;color:var(--text-primary);position:sticky;left:0;z-index:2;background:var(--bg-hover)}.catgroup-footer-label{display:flex;align-items:center;gap:4px}.row-catgroup-footer .cell-number{font-size:.72rem;font-weight:600}.cs-section{margin-bottom:8px}.cs-section-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:6px 0 2px;border-bottom:1px solid var(--border);margin-bottom:2px}.cs-type-badge{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:1px 5px;border-radius:3px;background:var(--accent-light);color:var(--accent);margin-left:auto;flex-shrink:0}[data-theme=midnight] .row-catgroup-footer,[data-theme=charcoal] .row-catgroup-footer,[data-theme=dark] .row-catgroup-footer,[data-theme=midnight] .row-catgroup-footer .catgroup-footer-cell,[data-theme=charcoal] .row-catgroup-footer .catgroup-footer-cell,[data-theme=dark] .row-catgroup-footer .catgroup-footer-cell{background:var(--bg-hover)}.budget-toolbar{flex-wrap:wrap;gap:6px 10px;padding:.5rem .75rem}.budget-toolbar .toolbar-left{flex-wrap:wrap;gap:6px 8px;min-width:0;flex:1 1 auto}.budget-toolbar .search-box{min-width:120px;max-width:220px;flex:1 1 140px;width:auto}.budget-toolbar .budget-row-collapse-controls{display:flex;gap:4px;flex-shrink:0}.budget-toolbar .btn-collapse-all{white-space:nowrap;padding:.35rem .6rem;font-size:.75rem}.budget-toolbar .budget-controls{flex-shrink:0;flex-wrap:wrap;gap:4px}.budget-toolbar .budget-controls .btn-tool{padding:.35rem .5rem}.budget-toolbar .budget-year-trigger{padding:.35rem .6rem;font-size:.75rem;white-space:nowrap}.budget-toolbar .budget-period-seg{flex-shrink:0}.budget-toolbar .seg-btn{padding:.3rem .5rem;font-size:.7rem}.cs-tabs{display:flex;gap:2px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:3px;margin-bottom:8px}.cs-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 10px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .12s}.cs-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.cs-tab.active{background:var(--bg-card);color:var(--text-primary);font-weight:600;box-shadow:0 1px 3px #00000014}.cs-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--accent);color:#fff;font-size:.65rem;font-weight:700}.cs-empty{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:.82rem;font-style:italic}.budget-table-light .row-exptype{background:var(--bg-card);border-bottom:1px solid var(--border)}.row-exptype .exptype-cell{padding-left:14px;font-weight:600;font-size:.8rem;color:var(--text-primary);position:sticky;left:0;z-index:2;background:var(--bg-card)}.exptype-toggle{display:flex;align-items:center;gap:4px}.exptype-label{font-weight:600}.row-exptype.expanded .exptype-cell{border-bottom:1px dashed var(--border)}.exptype-expanded-spacer{background:transparent!important;border:none!important;padding:0!important}.row-exptype .cell-number{font-size:.72rem;font-weight:600}.budget-table-light .row-exptype-footer{background:var(--bg-hover);border-top:1.5px solid var(--border);border-bottom:2px solid var(--border)}.row-exptype-footer .exptype-footer-cell{padding-left:14px;font-weight:700;font-size:.78rem;color:var(--text-primary);position:sticky;left:0;z-index:2;background:var(--bg-hover)}.exptype-footer-label{display:flex;align-items:center;gap:4px}.row-exptype-footer .cell-number{font-size:.72rem;font-weight:700}.row-catgroup .catgroup-cell,.row-catgroup-footer .catgroup-footer-cell{padding-left:28px}:is([data-theme=dark],[data-theme=midnight],[data-theme=charcoal]) .row-exptype .exptype-cell{background:var(--bg-card)}:is([data-theme=dark],[data-theme=midnight],[data-theme=charcoal]) .row-exptype-footer,:is([data-theme=dark],[data-theme=midnight],[data-theme=charcoal]) .row-exptype-footer .exptype-footer-cell{background:var(--bg-hover)}.budget-table-light .col-section-start.col-year{border-left:3px solid var(--border)}.budget-table-light td.col-section-start.col-ytd{border-left:3px solid var(--tint-ytd-border)}.budget-table-light td.col-section-start.col-mtd{border-left:3px solid var(--warning)}.budget-table-light td.col-section-start.col-forecast{border-left:3px solid var(--tint-forecast-border)}.budget-table-light td.col-section-start.col-delta{border-left:3px solid var(--positive)}.budget-table-light .col-section-start.col-ytd,.budget-table-light .header-months th.col-section-start.col-ytd{border-left:140px solid var(--bg-primary)!important}.seg-btn.analytics-toggle{margin-left:6px;gap:4px}.seg-btn.analytics-toggle:not(.active){opacity:.55}.budget-table-light .col-section-start.col-mtd,.budget-table-light .col-section-start.col-forecast,.budget-table-light .col-section-start.col-delta{padding-left:10px}.budget-table-light .row-type-header td{border-top:2px solid var(--border)}.budget-table-light .row-catgroup-footer td,.budget-table-light .row-exptype-footer td{border-top:1px solid var(--border)}.budget-table-light .row-detail td{border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.type-expanded-spacer{background:transparent!important;border:none!important}.row-type-header.expanded .type-header-cell{border-bottom:none}.row-type-footer{cursor:default}.row-type-footer td{font-weight:700;font-size:.75rem;border-top:2px solid var(--border)}.row-type-footer .type-footer-cell{position:sticky;left:0;z-index:2;padding-left:8px;background:var(--bg-card)}.type-footer-label{display:flex;align-items:center;gap:4px;font-weight:700}:is([data-theme=dark],[data-theme=midnight],[data-theme=charcoal]) .row-type-footer .type-footer-cell{background:var(--bg-card)}.row-etype{cursor:pointer}.row-etype .etype-cell{position:sticky;left:0;z-index:2;padding-left:20px;background:var(--bg-card);font-weight:600;font-size:.74rem}.etype-toggle{display:flex;align-items:center;gap:4px}.etype-label{font-weight:600}.row-etype .cell-number{font-size:.72rem;font-weight:600}.etype-expanded-spacer{background:transparent!important;border:none!important}.row-etype.expanded .etype-cell{border-bottom:none}.row-etype-footer{cursor:default}.row-etype-footer td{font-weight:600;font-size:.72rem;border-top:1px solid var(--border)}.row-etype-footer .etype-footer-cell{position:sticky;left:0;z-index:2;padding-left:20px;background:var(--bg-hover)}.etype-footer-label{display:flex;align-items:center;gap:4px}.row-etype~.row-catgroup .catgroup-cell,.row-etype~.row-catgroup-footer .catgroup-footer-cell{padding-left:36px}:is([data-theme=dark],[data-theme=midnight],[data-theme=charcoal]) .row-etype .etype-cell{background:var(--bg-card)}:is([data-theme=dark],[data-theme=midnight],[data-theme=charcoal]) .row-etype-footer .etype-footer-cell{background:var(--bg-hover)}.budget-filter-dropdown{position:relative}.budget-filter-trigger{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:.75rem;transition:all .15s}.budget-filter-trigger:hover{background:var(--bg-hover);color:var(--text-primary)}.budget-filter-trigger.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.filter-badge{background:var(--accent);color:#fff;font-size:.6rem;font-weight:700;padding:1px 5px;border-radius:8px;min-width:14px;text-align:center}.budget-filter-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:100;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000001f;min-width:280px;max-height:400px;display:flex;flex-direction:column}.filter-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.filter-tab{padding:6px 10px;font-size:.68rem;font-weight:500;border:none;background:none;color:var(--text-muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;transition:all .15s;display:flex;align-items:center;gap:4px}.filter-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.filter-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.filter-tab.has-filter{font-weight:600}.filter-tab-count{background:var(--accent);color:#fff;font-size:.55rem;font-weight:700;padding:0 4px;border-radius:6px;min-width:12px;text-align:center}.filter-options{padding:6px;overflow-y:auto;max-height:280px}.filter-option{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;cursor:pointer;font-size:.72rem;color:var(--text-secondary);transition:background .1s}.filter-option:hover{background:var(--bg-hover)}.filter-option.selected{background:var(--accent-light);color:var(--accent);font-weight:600}.filter-option input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent)}.filter-actions{padding:6px;border-top:1px solid var(--border);text-align:center}.filter-clear{padding:4px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-hover);color:var(--text-secondary);font-size:.68rem;cursor:pointer;transition:all .15s}.filter-clear:hover{background:var(--negative);color:#fff;border-color:var(--negative)}.budget-version-modal .modal-body-light{max-height:60vh;overflow-y:auto}.version-row.comparing{background:var(--accent-light);border:1px solid var(--accent);border-radius:6px}.version-row.auto{opacity:.75}.version-row.auto .version-name{font-style:italic}.compare-active-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--accent-light);border:1px solid var(--accent);border-radius:8px;font-size:.75rem;color:var(--accent)}.compare-active-banner button{border:none;background:none;color:var(--accent);cursor:pointer;padding:2px;border-radius:4px;margin-left:auto}.compare-active-banner button:hover{background:var(--accent);color:#fff}.cell-compare-delta{display:block;font-size:.62rem;font-weight:600;line-height:1;margin-top:1px}.cell-compare-delta.positive{color:var(--positive)}.cell-compare-delta.negative{color:var(--negative)}.budget-filter-trigger:focus-visible,.filter-tab:focus-visible,.filter-clear:focus-visible,.compare-active-banner button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:is([data-theme=dark],[data-theme=midnight],[data-theme=charcoal]) .budget-filter-menu{box-shadow:0 8px 24px #0006}:is([data-theme=dark],[data-theme=midnight],[data-theme=charcoal]) .compare-active-banner{background:color-mix(in srgb,var(--accent) 15%,transparent)}:is([data-theme=dark],[data-theme=midnight],[data-theme=charcoal]) .version-row.comparing{background:color-mix(in srgb,var(--accent) 12%,transparent)}.budget-table-light .analytics-gap{width:14px;min-width:14px;max-width:14px;background:var(--bg-primary)!important;border:none!important;padding:0!important;pointer-events:none}.budget-table-light .analytics-gap-first{width:40px;min-width:40px;max-width:40px}.budget-table-light tr:hover .analytics-gap,.budget-table-light .row-type-header .analytics-gap,.budget-table-light .row-type-footer .analytics-gap,.budget-table-light .row-exptype .analytics-gap,.budget-table-light .row-exptype-footer .analytics-gap,.budget-table-light .row-etype .analytics-gap,.budget-table-light .row-etype-footer .analytics-gap,.budget-table-light .row-catgroup .analytics-gap,.budget-table-light .row-catgroup-footer .analytics-gap,.budget-table-light .row-custom-subtotal .analytics-gap,.budget-table-light .row-net .analytics-gap,.budget-table-light .row-detail .analytics-gap{background:var(--bg-primary)!important}.budget-table-light thead .analytics-gap{background:var(--bg-primary)!important;border:none!important}.analytics-pills{display:flex;gap:3px;margin-left:6px}.analytics-pill{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border:1px solid var(--border);border-radius:6px;font-size:.68rem;font-weight:500;cursor:pointer;opacity:.45;background:transparent;color:var(--text-muted);transition:all .15s ease;-webkit-user-select:none;user-select:none}.analytics-pill.active{opacity:1;border-color:var(--accent);background:var(--bg-card);color:var(--text-primary)}.analytics-pill:hover{opacity:.8}.analytics-pill.active:hover{opacity:1;background:var(--bg-hover)}.analytics-pill svg{cursor:grab;opacity:.4}.analytics-pill:active svg{cursor:grabbing}.budget-compact-header{display:flex;align-items:center;gap:12px;margin-bottom:6px}.budget-title-inline{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:6px}.budget-title-inline .cloud-badge{font-size:.6rem}.page-subtitle-inline{font-size:.72rem;font-weight:400;color:var(--text-muted);margin-left:4px}.budget-summary-toggle-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-size:.7rem;color:var(--text-muted);cursor:pointer;transition:all .12s}.budget-summary-toggle-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.payroll-page{padding:20px 24px;max-width:100%;margin:0 auto}.payroll-empty{text-align:center;padding:80px 20px;color:var(--text-muted)}.payroll-empty svg{opacity:.4;margin-bottom:16px}.payroll-empty h2{margin:0 0 8px;color:var(--text-primary)}.payroll-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.payroll-toolbar h1{font-size:1.2rem;font-weight:700;margin:0;color:var(--text-primary)}.payroll-toolbar-left{display:flex;align-items:center;gap:10px}.payroll-toolbar-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.payroll-select-wrap{position:relative;display:inline-flex}.payroll-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:5px 26px 5px 9px;border:1px solid var(--border);border-radius:5px;background:var(--bg-card);color:var(--text-primary);font-size:.8rem;cursor:pointer}.payroll-select:focus{outline:none;border-color:var(--accent)}.payroll-select-icon{position:absolute;right:7px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted)}.payroll-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--border);border-radius:5px;background:var(--bg-card);color:var(--text-primary);font-size:.78rem;cursor:pointer;transition:all .15s;white-space:nowrap}.payroll-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.payroll-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.payroll-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:16px}.payroll-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:14px}.payroll-card-highlight{border-left:3px solid var(--accent)}.payroll-card-label{font-size:.72rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.payroll-card-value{font-size:1.3rem;font-weight:600;color:var(--text-primary);line-height:1.2}.payroll-card-sub{font-size:.7rem;color:var(--text-muted);margin-top:3px}.payroll-limits-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}.payroll-limits-panel h3{font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.payroll-limits-year h4{font-size:.82rem;font-weight:600;color:var(--text-muted);margin:0 0 8px}.payroll-limits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:12px}.payroll-limit-item{padding:10px;background:var(--bg-hover);border-radius:6px}.payroll-limit-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.payroll-limit-label{font-size:.78rem;font-weight:500;color:var(--text-primary)}.payroll-limit-input{width:100px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg-card);color:var(--text-primary);font-size:.78rem;text-align:right;font-variant-numeric:tabular-nums}.payroll-limit-bar-wrap{display:flex;flex-direction:column;gap:3px}.payroll-limit-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.payroll-limit-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}.payroll-limit-fill.warning{background:#e67e22}.payroll-limit-fill.full{background:var(--negative)}.payroll-limit-pct{font-size:.7rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.payroll-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);outline:none}.payroll-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.78rem;font-variant-numeric:tabular-nums}.pr-label-col{position:sticky;left:0;z-index:2;background:var(--bg-card);min-width:200px;width:200px;max-width:200px;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-right:2px solid var(--border)}thead .pr-label-col{z-index:3}.pr-col-header{text-align:right;padding:6px 8px 4px;min-width:80px;width:80px;border-bottom:2px solid var(--border);font-weight:600;color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.02em;vertical-align:bottom}.pr-col-header.pr-col-current{background:color-mix(in srgb,var(--accent) 8%,transparent);border-bottom-color:var(--accent)}.pr-col-header.pr-col-aggregate{border-left:2px solid var(--border);font-weight:700}.pr-col-label{line-height:1.2}.pr-col-sublabel{font-size:.65rem;font-weight:400;color:var(--text-muted);opacity:.7}.pr-row-header{cursor:pointer}.pr-row-header:hover td,.pr-row-header .pr-label-col{background:var(--bg-hover)}.pr-group-label{display:flex;align-items:center;gap:4px;font-size:.75rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;padding-top:8px!important;padding-bottom:6px!important}.pr-row-detail td{border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.pr-row-detail:hover td{background:var(--bg-hover)}.pr-detail-label{font-size:.78rem;color:var(--text-primary);padding-left:24px!important}.pr-row-footer td{border-top:1px solid var(--border);border-bottom:2px solid var(--border)}.pr-footer-label{font-size:.75rem;font-weight:600;color:var(--text-muted);padding-left:14px!important;font-style:italic}.pr-row-net td{border-top:3px double var(--border);padding-top:8px!important;padding-bottom:8px!important}.pr-net-label{font-size:.82rem;font-weight:800;color:var(--text-primary);letter-spacing:.05em}.pr-cell{text-align:right;padding:5px 8px;position:relative;min-width:80px;width:80px;cursor:default}.pr-cell-value{display:block}.pr-cell-actual{color:var(--text-primary);font-style:italic;opacity:.75}.pr-cell-target{color:var(--accent);font-weight:500;background:color-mix(in srgb,var(--accent) 5%,transparent);border:1px dashed color-mix(in srgb,var(--accent) 25%,transparent);border-top:none}.pr-cell-default{color:var(--text-muted);font-style:italic;background:color-mix(in srgb,var(--accent) 3%,transparent);border:1px dashed color-mix(in srgb,var(--border) 50%,transparent);border-top:none}.pr-cell-aggregate{font-weight:600;color:var(--text-primary);border-left:2px solid var(--border)}.pr-cell-editable{cursor:pointer}.pr-cell-editable:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.pr-cell-selected{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.pr-cell-editing{padding:0}.pr-cell-input{width:100%;height:100%;padding:5px 8px;border:2px solid var(--accent);border-radius:0;background:var(--bg-card);color:var(--accent);font-size:.78rem;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;outline:none;box-sizing:border-box}.pr-cell-capped{opacity:.4}.pr-cell-total{font-weight:600;color:var(--text-primary)}.pr-cell-total .pr-cell-value{font-style:italic}.pr-cell-net{font-weight:700;color:var(--positive);font-size:.82rem}.pr-cell-empty{border-bottom:none}.pr-limit-badge{display:inline-block;font-size:.62rem;font-weight:700;padding:1px 4px;border-radius:3px;margin-left:4px;vertical-align:middle}.pr-limit-cap-month{background:color-mix(in srgb,#e67e22 20%,transparent);color:#e67e22}.pr-limit-capped{background:color-mix(in srgb,var(--negative) 15%,transparent);color:var(--negative)}.pr-col-current+td,td.pr-col-current-cell{background:color-mix(in srgb,var(--accent) 4%,transparent)}.pr-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.pr-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:24px;max-width:600px;width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.pr-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.pr-modal-header h3{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.pr-modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px}.pr-modal-close:hover{color:var(--text-primary);background:var(--bg-hover)}.pr-modal-desc{font-size:.78rem;color:var(--text-muted);margin:0 0 16px}.pr-modal-done{text-align:center;padding:24px;font-size:.9rem;font-weight:600;color:var(--positive)}.pr-push-list{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.pr-push-employee{border:1px solid var(--border);border-radius:6px;padding:12px}.pr-push-emp-header{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;font-size:.82rem;color:var(--text-primary)}.pr-push-emp-cat{font-size:.72rem;color:var(--text-muted)}.pr-push-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px}.pr-push-month{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px;font-size:.78rem;cursor:pointer;color:var(--text-muted);transition:background .1s}.pr-push-month:hover{background:var(--bg-hover)}.pr-push-month.selected{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text-primary)}.pr-push-month input[type=checkbox]{accent-color:var(--accent)}.pr-push-month-label{flex:1}.pr-push-month-value{font-weight:600;font-variant-numeric:tabular-nums}.pr-modal-actions{display:flex;justify-content:flex-end;gap:8px}.pr-btn-primary{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;font-weight:600}.pr-btn-primary:hover{opacity:.9}.pr-btn-primary:disabled{opacity:.5;cursor:not-allowed}.budget-payroll-link{font-size:.65rem;font-weight:500;color:var(--accent);text-decoration:none;margin-left:8px;opacity:.7;transition:opacity .15s;text-transform:none;letter-spacing:0}.budget-payroll-link:hover{opacity:1;text-decoration:underline}.pr-year-pills{display:flex;gap:4px;align-items:center}.pr-year-pill{padding:4px 12px;border-radius:12px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:500;transition:all .15s}.pr-year-pill:hover{border-color:var(--accent);color:var(--text-primary)}.pr-year-pill.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.pr-table-section{margin-top:16px}.pr-table-section:first-child{margin-top:0}.pr-table-label{font-size:13px;font-weight:600;color:var(--text-muted);padding:6px 12px;border-bottom:2px solid var(--accent);margin-bottom:0;background:color-mix(in srgb,var(--accent) 5%,transparent);border-radius:6px 6px 0 0}.pr-chart-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:16px}.pr-chart-header{margin-bottom:8px}.pr-chart-collapse{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;padding:2px 0}.pr-chart-collapse:hover{color:var(--text-primary)}.pr-chart-controls{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.pr-chart-toggle{display:flex;gap:2px;background:var(--bg-hover);border-radius:6px;padding:2px}.pr-chart-toggle button{padding:4px 10px;border-radius:4px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;transition:all .15s}.pr-chart-toggle button:hover{color:var(--text-primary)}.pr-chart-toggle button.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 2px #00000014;font-weight:500}.pr-card-breakdown{display:flex;gap:8px;font-size:11px;color:var(--text-muted);margin-top:2px}.pr-card-breakdown span{white-space:nowrap}@media (max-width: 768px){.payroll-page{padding:12px 14px}.payroll-toolbar{flex-direction:column;align-items:flex-start}.payroll-toolbar-right{width:100%}.payroll-summary-cards{grid-template-columns:repeat(2,1fr)}.pr-label-col{min-width:150px;width:150px;max-width:150px}.pr-col-header,.pr-cell{min-width:65px;width:65px}.pr-year-pills{flex-wrap:wrap}.pr-chart-controls{flex-direction:column;align-items:flex-start}}.equity-page{padding:20px 24px;max-width:100%;margin:0 auto}.equity-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.equity-toolbar h1{font-size:1.2rem;font-weight:700;margin:0;color:var(--text-primary)}.equity-toolbar-left{display:flex;align-items:center;gap:10px}.equity-toolbar-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.equity-select-wrap{position:relative;display:inline-flex}.equity-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:5px 26px 5px 9px;border:1px solid var(--border);border-radius:5px;background:var(--bg-card);color:var(--text-primary);font-size:.8rem;cursor:pointer}.equity-select:focus{outline:none;border-color:var(--accent)}.equity-select-icon{position:absolute;right:7px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted)}.equity-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--border);border-radius:5px;background:var(--bg-card);color:var(--text-primary);font-size:.78rem;cursor:pointer;transition:all .15s;white-space:nowrap}.equity-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.equity-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.eq-price-bar{display:flex;align-items:center;gap:20px;padding:10px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;flex-wrap:wrap}.eq-price-ticker{display:flex;align-items:center;gap:8px}.eq-price-symbol{font-weight:700;font-size:.9rem;color:var(--text-primary)}.eq-price-value{font-size:.95rem;font-weight:600;color:var(--text-primary)}.eq-price-change{display:inline-flex;align-items:center;gap:2px;font-size:.78rem;font-weight:500;padding:1px 6px;border-radius:4px}.eq-price-change.positive{color:var(--positive);background:color-mix(in srgb,var(--positive) 10%,transparent)}.eq-price-change.negative{color:var(--negative);background:color-mix(in srgb,var(--negative) 10%,transparent)}.eq-price-manual{font-size:.65rem;color:var(--text-muted);font-style:italic}.eq-price-updated{margin-left:auto;font-size:.72rem;color:var(--text-muted)}.equity-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.equity-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.equity-card-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.equity-card-value{font-size:1.3rem;font-weight:700;color:var(--text-primary)}.equity-card-sub{font-size:.72rem;color:var(--text-muted);margin-top:2px}.equity-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);outline:none}.equity-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.78rem}.eq-label-col{position:sticky;left:0;z-index:2;background:var(--bg-card);min-width:180px;width:180px;max-width:180px;padding:6px 10px;text-align:left;border-right:2px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eq-group-label{display:flex;align-items:center;gap:4px;font-weight:700;font-size:.82rem;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.eq-group-label:hover{color:var(--accent)}.eq-detail-label{padding-left:24px;font-weight:400;color:var(--text-primary);font-size:.76rem}.eq-footer-label{font-weight:600;font-size:.76rem;color:var(--text-primary);font-style:italic}.eq-grand-label{font-weight:800;font-size:.82rem;color:var(--text-primary);letter-spacing:.3px}.eq-col-header{padding:6px 4px;text-align:center;font-size:.72rem;font-weight:600;color:var(--text-muted);border-bottom:2px solid var(--border);min-width:80px;width:80px;white-space:nowrap}.eq-col-header span{display:block}.eq-col-sublabel{font-size:.62rem;font-weight:400;opacity:.7}.eq-col-current{background:color-mix(in srgb,var(--accent) 8%,transparent)}.eq-cell{padding:4px 6px;text-align:right;vertical-align:middle;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);min-width:80px;width:80px;position:relative;cursor:default}.eq-cell-empty{border-bottom:none}.eq-cell-shares{display:block;font-size:.62rem;color:var(--text-muted);line-height:1.2}.eq-cell-value{display:block;font-size:.78rem;line-height:1.3}.eq-cell-contrib{display:block;font-size:.58rem;color:var(--text-muted);font-style:italic}.eq-cell-actual .eq-cell-value{font-style:italic;opacity:.65}.eq-cell-forecast{background:color-mix(in srgb,var(--accent) 5%,transparent)}.eq-cell-forecast .eq-cell-value{color:var(--accent);font-weight:500}.eq-cell-target .eq-cell-value{color:var(--accent);font-weight:600}.eq-cell-aggregate{background:color-mix(in srgb,var(--border) 15%,transparent);font-weight:600}.eq-cell-purchase{background:color-mix(in srgb,var(--positive) 6%,transparent)}.eq-cell-editable{cursor:pointer;border:1px dashed transparent}.eq-cell-editable:hover{background:var(--bg-hover);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.eq-cell-selected{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.eq-cell-editing{padding:0}.eq-cell-input{width:100%;height:100%;padding:4px 6px;border:2px solid var(--accent);border-radius:0;background:var(--bg-card);color:var(--text-primary);font-size:.78rem;text-align:right;outline:none}.eq-row-header{background:color-mix(in srgb,var(--border) 15%,transparent)}.eq-row-header:hover{background:color-mix(in srgb,var(--border) 25%,transparent)}.eq-row-header td{border-bottom:1px solid var(--border)}.eq-row-detail:hover{background:var(--bg-hover)}.eq-row-footer{background:color-mix(in srgb,var(--border) 8%,transparent)}.eq-row-footer td{border-top:1px solid var(--border);border-bottom:2px solid var(--border)}.eq-row-footer .eq-cell-value{font-weight:600}.eq-row-grand{background:color-mix(in srgb,var(--accent) 6%,transparent)}.eq-row-grand td{border-top:3px double var(--border);padding:8px 6px}.eq-row-grand .eq-cell-value{font-weight:800;font-size:.85rem}.eq-cell-total .eq-cell-value{font-weight:600}.eq-cell-grand .eq-cell-value{font-weight:800;font-size:.85rem}.eq-settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:1000}.eq-settings-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:480px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #00000026}.eq-settings-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.eq-settings-header h3{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary)}.eq-settings-header button{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px}.eq-settings-header button:hover{color:var(--text-primary)}.eq-settings-body{padding:16px 20px}.eq-settings-body h4{margin:16px 0 8px;font-size:.85rem;color:var(--text-primary)}.eq-settings-body h4:first-child{margin-top:0}.eq-settings-hint{font-size:.72rem;color:var(--text-muted);margin:0 0 12px}.eq-settings-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;gap:12px}.eq-settings-row label{font-size:.82rem;font-weight:600;color:var(--text-primary)}.eq-settings-row input{width:120px;padding:4px 8px;border:1px solid var(--border);border-radius:5px;background:var(--bg-card);color:var(--text-primary);font-size:.82rem;text-align:right}.eq-settings-row input:focus{outline:none;border-color:var(--accent)}.eq-settings-row span{font-size:.82rem;color:var(--text-muted)}.eq-push-preview{margin:12px 0;padding:12px;background:color-mix(in srgb,var(--border) 10%,transparent);border-radius:6px;font-size:.78rem;max-height:300px;overflow-y:auto}.eq-push-emp{margin-bottom:12px}.eq-push-emp:last-child{margin-bottom:0}.eq-push-emp strong{display:block;margin-bottom:4px;color:var(--text-primary)}.eq-push-year{font-weight:600;color:var(--text-muted);margin-right:6px}.eq-push-item{display:inline-block;margin:2px 8px 2px 0;padding:2px 6px;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;font-size:.72rem}.eq-push-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}@media (max-width: 768px){.equity-page{padding:12px 14px}.equity-toolbar{flex-direction:column;align-items:flex-start}.equity-toolbar-right{width:100%}.equity-summary-cards{grid-template-columns:repeat(2,1fr)}.eq-label-col{min-width:150px;width:150px;max-width:150px}.eq-col-header,.eq-cell{min-width:65px;width:65px}}.nav-edit-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s ease;opacity:.5;flex-shrink:0;margin-left:auto;margin-right:4px}.nav-edit-btn:hover{opacity:1;background:var(--bg-hover);color:var(--text-primary)}.nav-edit-btn.active{opacity:1;background:var(--accent);color:#fff;border-color:var(--accent)}.nav-edit-active .nav-section{border-radius:8px;margin:4px 0;padding:4px 0;border:1px dashed transparent;transition:border-color .15s}.nav-edit-active .nav-section:hover{border-color:var(--border)}.nav-edit-active .nav-section.nav-section-drag-over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}.nav-section-header{display:flex;align-items:center;gap:0;padding:0}.nav-section-header:not(.nav-section-header-edit){display:contents}.nav-section-header-edit{display:flex;align-items:center;gap:4px;padding:4px 8px 2px;margin-bottom:2px}.nav-section-header-edit .nav-section-label{padding:2px 6px;border-radius:4px;flex:1;min-width:0}.nav-section-header-edit .nav-section-label:hover{background:var(--bg-hover)}.nav-section-input{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--accent);border-radius:4px;padding:2px 6px;outline:none;flex:1;min-width:0}.nav-section-delete{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:all .15s;flex-shrink:0}.nav-section-header-edit:hover .nav-section-delete{opacity:.6}.nav-section-delete:hover{opacity:1!important;background:var(--negative);color:#fff}.nav-drag-handle{display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:grab;opacity:.4;transition:opacity .15s;flex-shrink:0;padding:2px}.nav-drag-handle:hover{opacity:1}.nav-drag-handle:active{cursor:grabbing}.nav-drag-handle-item{padding:4px 2px;margin-left:4px}.nav-item-wrap{display:flex;align-items:center;position:relative}.nav-item-wrap .nav-item{flex:1;min-width:0}.nav-edit-active .nav-item-wrap .nav-item{padding-left:.5rem}.nav-item-wrap.nav-drop-above:before{content:"";position:absolute;top:-1px;left:8px;right:8px;height:2px;background:var(--accent);border-radius:1px;z-index:2}.nav-item-wrap.nav-drop-below:after{content:"";position:absolute;bottom:-1px;left:8px;right:8px;height:2px;background:var(--accent);border-radius:1px;z-index:2}.nav-item-dragging{opacity:.35!important}.nav-drop-placeholder{font-size:.68rem;color:var(--text-muted);opacity:.5;text-align:center;padding:10px 8px;border:1px dashed var(--border);border-radius:6px;margin:4px 8px}.nav-edit-controls{display:flex;flex-direction:column;gap:4px;padding:8px 8px 4px;margin-top:8px;border-top:1px solid var(--border)}.nav-add-section,.nav-reset-btn{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;border:1px dashed var(--border);background:transparent;color:var(--text-muted);font-size:.72rem;cursor:pointer;transition:all .15s}.nav-add-section:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}.nav-reset-btn:hover{border-color:var(--text-muted);color:var(--text-primary);background:var(--bg-hover)}.dash2-comp-section,.dash2-eq-section{width:100%}.dash2-comp-body{display:grid;grid-template-columns:1fr 1.5fr;gap:16px;align-items:start}.dash2-comp-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dash2-comp-metric{background:var(--bg-hover);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.dash2-comp-metric-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-weight:500}.dash2-comp-metric-value{font-size:1.15rem;font-weight:600;color:var(--text-primary)}.dash2-comp-chart{min-width:0}.dash2-eq-body{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:start}.dash2-eq-next-vest{display:flex;flex-direction:column;align-items:center;padding:12px 20px;background:var(--bg-hover);border-radius:10px;min-width:100px}.dash2-eq-countdown{font-size:2rem;font-weight:700;color:var(--accent);line-height:1}.dash2-eq-countdown-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.dash2-eq-next-detail{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.75rem}.dash2-eq-next-name{font-weight:600;color:var(--text-primary)}.dash2-eq-next-shares{color:var(--text-muted)}.dash2-eq-next-value{font-weight:600;color:var(--positive);font-size:.85rem}.dash2-eq-ticker{font-size:.65rem;font-weight:600;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);letter-spacing:.5px}.dash2-eq-portfolio{display:flex;flex-direction:column;gap:6px}.dash2-eq-portfolio-header{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:600;color:var(--text-primary);padding-bottom:4px;border-bottom:1px solid var(--border)}.dash2-eq-total{font-size:.85rem;color:var(--positive)}.dash2-eq-portfolio-row{display:flex;align-items:center;gap:8px;font-size:.75rem;padding:4px 0}.dash2-eq-emp-name{font-weight:500;color:var(--text-primary);min-width:44px}.dash2-eq-shares,.dash2-eq-price{color:var(--text-muted);font-size:.7rem}.dash2-eq-value{margin-left:auto;font-weight:600;color:var(--text-primary)}.dash2-eq-chart{min-width:0}@media (max-width: 768px){.dash2-comp-body,.dash2-eq-body{grid-template-columns:1fr}}.trend2-comp-controls{display:flex;align-items:center;gap:12px;padding:8px 0}.trend2-comp-pills{display:flex;gap:4px;background:var(--bg-hover);border-radius:8px;padding:3px}.trend2-comp-pill{padding:5px 14px;border:none;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;background:transparent;color:var(--text-muted);transition:all .15s}.trend2-comp-pill:hover{color:var(--text-primary);background:color-mix(in srgb,var(--bg-card) 60%,transparent)}.trend2-comp-pill.active{background:var(--bg-card);color:var(--accent);box-shadow:0 1px 3px #00000014}.trend2-comp-employee{display:flex;align-items:center;gap:6px;margin-left:auto}.trend2-comp-employee select{padding:5px 24px 5px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-size:.75rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.trend2-comp-progress{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:12px 16px;background:var(--bg-hover);border-radius:8px}.trend2-comp-progress-item{display:flex;flex-direction:column;gap:3px}.trend2-comp-progress-header{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-muted)}.trend2-comp-progress-label{font-weight:500}.trend2-comp-progress-values{font-variant-numeric:tabular-nums}.trend2-comp-progress-bar{height:6px;border-radius:3px;background:var(--border);overflow:hidden}.trend2-comp-progress-fill{height:100%;border-radius:3px;background:var(--accent);transition:width .3s ease}.trend2-comp-progress-fill.over{background:var(--positive)}.trend2-comp-drill{margin-top:12px;padding:16px;background:var(--bg-hover);border-radius:8px}.trend2-comp-drill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.trend2-comp-drill-header h3{font-size:.85rem;font-weight:600;color:var(--text-primary)}.trend2-comp-drill-table{width:100%;border-collapse:collapse;font-size:.75rem}.trend2-comp-drill-table th{text-align:left;font-weight:500;color:var(--text-muted);padding:4px 8px;border-bottom:1px solid var(--border)}.trend2-comp-drill-table td{padding:4px 8px;color:var(--text-primary)}.trend2-comp-drill-table td:last-child,.trend2-comp-drill-table th:last-child{text-align:right}.acctgrid-row-asset td:first-child{border-left:3px solid var(--positive)}.acctgrid-row-liability td:first-child{border-left:3px solid var(--negative)}.acctgrid-row-asset .acctgrid-pos{color:var(--positive)}.acctgrid-row-liability .acctgrid-neg{color:var(--negative);font-weight:600}.eq-push-detail{font-size:.72rem;color:var(--text-muted);margin-left:2px}.balhist2-chart-view-select{padding:3px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-size:.75rem;cursor:pointer;outline:none}.balhist2-chart-view-select:focus{border-color:var(--accent)}.dash2-nw-comp{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dash2-nw-comp-group{display:flex;flex-direction:column;gap:6px}.dash2-nw-comp-label{display:flex;justify-content:space-between;align-items:baseline;font-size:.8rem;font-weight:600;color:var(--text-muted);padding-bottom:4px;border-bottom:1px solid var(--border);margin-bottom:2px}.dash2-nw-comp-label strong{font-size:.85rem}.dash2-nw-comp-bar-row{display:grid;grid-template-columns:100px 1fr 70px 42px;align-items:center;gap:6px;font-size:.72rem}.dash2-nw-comp-name{color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash2-nw-comp-bar-track{height:10px;background:var(--bg-hover);border-radius:5px;overflow:hidden}.dash2-nw-comp-bar-fill{height:100%;border-radius:5px;transition:width .3s ease}.dash2-nw-comp-val{text-align:right;font-weight:500;color:var(--text-primary)}.dash2-nw-comp-pct{text-align:right;color:var(--text-muted);font-size:.68rem}@media (max-width: 640px){.dash2-nw-comp{grid-template-columns:1fr}.dash2-nw-comp-bar-row{grid-template-columns:80px 1fr 60px 36px}}.recon-section{margin:16px 0 0;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);overflow:hidden}.recon-header{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;font-size:.85rem;color:var(--text-primary);border-bottom:1px solid transparent}.recon-header:hover{background:var(--bg-hover)}.recon-header.open{border-bottom-color:var(--border)}.recon-header svg{color:var(--text-muted);flex-shrink:0}.recon-summary{margin-left:auto;font-weight:400;font-size:.78rem;color:var(--text-muted)}.recon-body{padding:0}.recon-table{width:100%;border-collapse:collapse;font-size:.78rem}.recon-table th{padding:6px 12px;text-align:left;font-weight:600;color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);background:var(--bg-card);position:sticky;top:0}.recon-table th.right,.recon-table td.right{text-align:right}.recon-table td{padding:5px 12px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);color:var(--text-primary)}.recon-table tr:last-child td{border-bottom:none}.recon-table tr:hover td{background:var(--bg-hover)}.recon-status{display:inline-flex;align-items:center;gap:4px;font-weight:500}.recon-match{color:var(--positive)}.recon-mismatch{color:#d97706}.recon-missing{color:var(--negative)}.recon-delta{font-size:.72rem;opacity:.85}.budget-recon-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center}.budget-recon-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;width:min(720px,92vw);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #00000040}.budget-recon-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.budget-recon-header h3{margin:0;font-size:.95rem;color:var(--text-primary)}.budget-recon-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px}.budget-recon-close:hover{background:var(--bg-hover);color:var(--text-primary)}.budget-recon-body{overflow-y:auto;padding:14px 18px}.budget-recon-section{margin-bottom:18px}.budget-recon-section:last-child{margin-bottom:0}.budget-recon-section h4{margin:0 0 8px;font-size:.82rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.budget-recon-totals{display:flex;gap:16px;padding:12px 18px;border-top:1px solid var(--border);font-size:.8rem;color:var(--text-muted);font-weight:500}.budget-recon-totals .recon-match{color:var(--positive)}.budget-recon-totals .recon-mismatch{color:#d97706}.budget-recon-totals .recon-missing{color:var(--negative)}.budget-recon-modal{width:min(1100px,95vw);max-height:85vh}.recon-year-select{padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-size:.8rem;font-weight:600;cursor:pointer}.recon-summary-bar{display:flex;gap:10px;padding:8px 18px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-card) 95%,var(--bg-hover))}.recon-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:.72rem;font-weight:600}.recon-badge-match{background:color-mix(in srgb,var(--positive) 15%,transparent);color:var(--positive)}.recon-badge-mismatch{background:color-mix(in srgb,#d97706 15%,transparent);color:#d97706}.recon-badge-missing{background:color-mix(in srgb,var(--negative) 15%,transparent);color:var(--negative)}.recon-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.recon-section-header h4{margin:0}.recon-section-count{font-size:.72rem;color:var(--text-muted);font-weight:500}.recon-emp-block{margin-bottom:14px}.recon-emp-block:last-child{margin-bottom:0}.recon-emp-label{font-size:.78rem;font-weight:600;color:var(--text-primary);margin-bottom:4px;display:flex;align-items:center;gap:8px}.recon-emp-ticker{font-weight:400;font-size:.7rem;color:var(--text-muted)}.recon-grid{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.72rem}.recon-grid th{padding:3px 2px;text-align:center;font-weight:600;color:var(--text-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border)}.recon-grid td{padding:3px 2px;text-align:center;color:var(--text-primary);border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.recon-row-label{text-align:left!important;width:32px;font-weight:600;color:var(--text-muted);font-size:.65rem;text-transform:uppercase}.recon-total-col{font-weight:600;border-left:1px solid var(--border)}.recon-cell-match{background:color-mix(in srgb,var(--positive) 6%,transparent)}.recon-cell-mismatch{background:color-mix(in srgb,#d97706 8%,transparent)}.recon-cell-missing{background:color-mix(in srgb,var(--negative) 6%,transparent);border:1px dashed color-mix(in srgb,var(--negative) 30%,transparent)}.recon-cell-empty{opacity:.4}.recon-row-source td{font-size:.68rem}.recon-row-budget td{font-size:.68rem;color:var(--accent);font-style:italic}.recon-row-delta td{font-size:.65rem;font-weight:500}.recon-row-select td{border-bottom:none}.recon-check{color:var(--positive)}.recon-missing-tag{display:inline-block;padding:1px 4px;border-radius:3px;font-size:.58rem;font-weight:700;letter-spacing:.04em;background:color-mix(in srgb,var(--negative) 15%,transparent);color:var(--negative)}.recon-delta-pos{color:#d97706}.recon-delta-neg{color:var(--negative)}.recon-checkbox{width:13px;height:13px;cursor:pointer;accent-color:var(--accent)}.budget-recon-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid var(--border)}.recon-selected-count{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:500;color:var(--text-primary)}.recon-link-btn{background:none;border:none;color:var(--accent);font-size:.72rem;cursor:pointer;padding:0;text-decoration:underline}.recon-link-btn:hover{opacity:.8}.budget-recon-actions{display:flex;gap:8px}.budget-recon-close-btn{padding:6px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-size:.78rem;cursor:pointer}.budget-recon-close-btn:hover{background:var(--bg-hover)}.recon-push-btn{padding:6px 16px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-size:.78rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.recon-push-btn:hover{opacity:.9}.recon-push-btn:disabled{opacity:.4;cursor:not-allowed}.eq-net-toggle{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-left:6px}.eq-net-btn{padding:4px 10px;font-size:.78rem;font-weight:500;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.eq-net-btn:hover{background:var(--bg-hover)}.eq-net-btn.active{background:var(--accent);color:#fff;font-weight:600}.eq-shares-secondary{display:block;font-size:.65rem;color:var(--text-muted);opacity:.6;line-height:1.1;margin-top:1px}.equity-card-sub .eq-shares-secondary{display:inline;font-size:.72rem;margin-left:2px}.eq-retention-input-wrap{display:inline-flex;align-items:center;gap:2px}.eq-retention-input-wrap input{width:52px;text-align:right}.eq-retention-pct{font-size:.82rem;color:var(--text-muted)}.bill-push-modal{max-width:680px;max-height:80vh}.bill-push-modal .modal-body{overflow-y:auto;max-height:calc(80vh - 140px)}.bill-push-groups{display:flex;flex-direction:column;gap:12px}.bill-push-group{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:10px 14px}.bill-push-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.bill-push-cat{font-weight:600;font-size:.95rem;color:var(--text-primary)}.bill-push-type{font-size:.8rem;color:var(--text-muted);background:var(--bg-hover);padding:2px 8px;border-radius:4px}.bill-push-months{display:flex;flex-wrap:wrap;gap:6px 12px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border)}.bill-push-month-item{font-size:.82rem;color:var(--text-secondary, var(--text-primary))}.bill-push-bills{display:flex;flex-direction:column;gap:3px;padding-left:8px}.bill-push-bill-row{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-muted)}.bill-push-freq{font-size:.75rem;background:var(--bg-hover);padding:1px 6px;border-radius:3px}.bill-push-amount{margin-left:auto;font-variant-numeric:tabular-nums}.bill-budget-mapping{background:var(--bg-hover);border:1px solid var(--border);border-radius:8px;padding:12px;margin-top:4px}.budget-mapping-header{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--text-primary);margin-bottom:10px}.budget-mapping-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.mapping-field label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:3px}.mapping-field select{width:100%;padding:4px 8px;font-size:.82rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-card);color:var(--text-primary)}.mapping-display{display:block;font-size:.82rem;color:var(--text-secondary, var(--text-primary));padding:4px 0}.mapping-preview{margin-top:10px;padding-top:8px;border-top:1px solid var(--border)}.mapping-path{font-family:SF Mono,Fira Code,monospace;font-size:.78rem;color:var(--accent);letter-spacing:.02em}.bill-budget-target{display:inline-flex;align-items:center;gap:2px;font-size:.7rem;padding:1px 6px;border-radius:3px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);margin-left:4px}.bill-budget-target:before{content:"→";font-size:.65rem;margin-right:2px}.dash2-bs-mini{padding:2px 10px 6px;display:flex;flex-direction:column;gap:6px}.dash2-bs-col{display:flex;flex-direction:column}.dash2-bs-col-hdr{display:flex;justify-content:space-between;align-items:baseline;padding:4px 8px;border-radius:6px 6px 0 0;font-weight:700;font-size:.72rem;letter-spacing:.02em}.dash2-bs-col-hdr span:last-child{font-size:.82rem;font-variant-numeric:tabular-nums}.dash2-bs-hdr-a{background:color-mix(in srgb,var(--positive) 12%,var(--bg-hover));color:var(--text-primary)}.dash2-bs-hdr-l{background:color-mix(in srgb,var(--negative) 10%,var(--bg-hover));color:var(--text-primary)}.dash2-bs-grp{display:flex;align-items:center;gap:5px;padding:3px 8px;border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.dash2-bs-grp:last-child{border-bottom:none;border-radius:0 0 6px 6px}.dash2-bs-grp-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dash2-bs-grp-name{flex:1;font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash2-bs-grp-val{font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary);white-space:nowrap}.dash2-bs-nw{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;border-radius:6px;background:var(--bg-hover);font-weight:700;font-size:.75rem;color:var(--text-primary)}.dash2-bs-nw span:last-child{font-size:.9rem;font-variant-numeric:tabular-nums}.dash2-txn-top-card .dash2-txn-list{max-height:340px;overflow-y:auto}.dash2-txn-top-card .dash2-txn-header-row{position:sticky;top:0;background:var(--bg-card);z-index:1}.dash2-comp-persons{padding:6px 12px 4px}.dash2-comp-person-row{display:flex;align-items:center;gap:12px;padding:4px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.dash2-comp-person-row:last-child{border-bottom:none}.dash2-comp-person-name{font-weight:600;font-size:.8rem;min-width:36px;color:var(--text-primary)}.dash2-comp-person-stat{display:flex;flex-direction:column;align-items:flex-end}.dash2-comp-person-label{font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.dash2-comp-person-val{font-size:.78rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--text-primary)}.dash2-comp-person-next{margin-left:auto}.dash2-comp-person-next .dash2-comp-person-val{color:var(--accent)}.dash2-scorecard-separator{height:1px;background:var(--border);margin:8px 12px}.dash2-scorecard-equity{padding:0 12px 8px}.dash2-scorecard-eq-row{display:flex;gap:16px;align-items:flex-start}.dash2-scorecard-next-vest{flex:0 0 auto;text-align:center;padding:4px 12px}.dash2-scorecard-countdown{font-size:2rem;font-weight:700;color:var(--accent);line-height:1}.dash2-scorecard-countdown-sub{font-size:.65rem;color:var(--text-muted);margin-bottom:4px}.dash2-scorecard-vest-detail{font-size:.72rem;color:var(--text-secondary, var(--text-muted));white-space:nowrap}.dash2-scorecard-unvested{flex:1;min-width:0}.dash2-scorecard-unvested-hdr{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:500;margin-bottom:2px;color:var(--text-primary)}.dash2-scorecard-unvested-total{font-variant-numeric:tabular-nums;font-weight:600}.dash2-scorecard-unvested-row{display:flex;gap:8px;font-size:.75rem;padding:1px 0;align-items:center}.dash2-scorecard-emp{font-weight:500;min-width:36px}.dash2-scorecard-ticker,.dash2-scorecard-shares{color:var(--text-muted);font-size:.68rem}.dash2-scorecard-val{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:500}.dash2-scorecard-vest-chart{margin-top:8px}.dash2-scorecard-links{display:flex;gap:0;border-top:1px solid var(--border)}.dash2-scorecard-links .dash2-see-all{flex:1;border-radius:0;border-right:1px solid var(--border)}.dash2-scorecard-links .dash2-see-all:last-child{border-right:none}@media (max-width: 700px){.dash2-scorecard-eq-row{flex-direction:column;gap:8px}.dash2-scorecard-next-vest{display:flex;align-items:center;gap:8px;text-align:left}.dash2-comp-person-row{flex-wrap:wrap;gap:6px}.dash2-scorecard-links{flex-direction:column}.dash2-scorecard-links .dash2-see-all{border-right:none;border-bottom:1px solid var(--border)}.dash2-scorecard-links .dash2-see-all:last-child{border-bottom:none}}.dash2-scorecard{padding:0 16px 8px}.dash2-scorecard-table{width:100%;border-collapse:collapse;font-size:.82rem;font-variant-numeric:tabular-nums}.dash2-scorecard-table th{text-align:right;padding:4px 10px;font-weight:500;font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border)}.dash2-scorecard-table th:first-child{text-align:left;width:80px}.dash2-scorecard-table td{text-align:right;padding:5px 10px;color:var(--text-primary)}.dash2-sc-name{text-align:left!important;font-weight:500;color:var(--text-primary)}.dash2-sc-total{font-weight:600;background:var(--bg-hover)}.dash2-sc-total td{border-top:1px solid var(--border);padding-top:6px}.dash2-sc-sep td{padding:0;height:1px;border-bottom:1px solid var(--border)}.dash2-sc-budget td{font-weight:500;font-size:.78rem}.dash2-sc-rates{display:flex;gap:16px;padding:8px 10px 4px;font-size:.72rem;color:var(--text-muted)}.dash2-next-events{padding:0!important}.dash2-next-events-row{display:flex;gap:0}.dash2-next-events-item{flex:1;display:flex;align-items:center;gap:14px;padding:14px 20px;border-right:1px solid var(--border)}.dash2-next-events-item:last-child{border-right:none}.dash2-next-events-countdown{font-size:2rem;font-weight:700;color:var(--accent);line-height:1;font-variant-numeric:tabular-nums}.dash2-next-events-countdown span{font-size:.9rem;font-weight:500;opacity:.7}.dash2-next-events-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:2px}.dash2-next-events-value{font-size:.85rem;font-weight:500;color:var(--text-primary)}.dash2-next-events-date{font-size:.72rem;color:var(--text-muted);margin-top:1px}@media (max-width: 700px){.dash2-next-events-row{flex-direction:column}.dash2-next-events-item{border-right:none;border-bottom:1px solid var(--border);padding:10px 16px}.dash2-next-events-item:last-child{border-bottom:none}.dash2-next-events-countdown{font-size:1.5rem}.dash2-scorecard-table{font-size:.75rem}.dash2-scorecard-table th,.dash2-scorecard-table td{padding:4px 6px}}.dash2-txn-filter-badge{font-size:.62rem;font-weight:600;padding:1px 6px;border-radius:8px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);letter-spacing:.02em;white-space:nowrap}.dash2-trend-row:has(.dash2-bs-mini-card){grid-template-columns:2fr 3fr}.dash2-bs-mini-card.dash2-trend-card{padding:14px 12px!important}.dash2-txn-top-card .dash2-txn-desc,.dash2-txn-top-card .dash2-txn-acct{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash2-txn-top-card .dash2-txn-cat{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash2-txn-top-card .dash2-txn-amt{font-size:.82rem}.dash2-txn-top-card .dash2-txn-date{font-size:.76rem}@media (max-width: 900px){.dash2-trend-row:has(.dash2-bs-mini-card){grid-template-columns:1fr}}.bill-type-badge{display:inline-flex;align-items:center;gap:3px;font-size:.68rem;font-weight:600;padding:1px 7px;border-radius:4px;background:color-mix(in srgb,currentColor 10%,transparent);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.bill-type-badge svg{width:10px;height:10px}.bill-type-badge.fixed{color:var(--text-muted)}.bill-type-badge.variable{color:var(--accent)}.bill-type-badge.seasonal{color:#d97706}.bill-type-badge.unknown{color:var(--text-muted);opacity:.7}.email-confirmed-badge{display:inline-flex;align-items:center;gap:3px;font-size:.65rem;font-weight:600;padding:1px 6px;border-radius:3px;background:color-mix(in srgb,var(--positive) 12%,transparent);color:var(--positive);white-space:nowrap}.email-confirmed-badge svg{width:11px;height:11px}.bill-amount-range{font-size:.95rem;font-weight:600;display:flex;align-items:baseline;gap:4px}.bill-amount-range .range-sep{font-size:.75rem;color:var(--text-muted);font-weight:400}.bill-amount-avg{font-size:.7rem;color:var(--text-muted);font-weight:400;margin-top:1px}.bill-card.canceled-risk{border-left:3px solid var(--negative);opacity:.75}.bill-card.late-risk{border-left:3px solid var(--warning, #f59e0b)}.bill-forecast-section{margin-top:12px;padding:10px 12px;background:color-mix(in srgb,var(--accent) 5%,var(--bg-card));border:1px solid color-mix(in srgb,var(--accent) 15%,var(--border));border-radius:8px}.bill-forecast-section h4{font-size:.78rem;font-weight:600;color:var(--text-primary);margin:0 0 8px;display:flex;align-items:center;gap:5px}.bill-forecast-section h4 svg{width:14px;height:14px;color:var(--accent)}.forecast-prediction{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.forecast-prediction strong{font-size:1.1rem;color:var(--text-primary)}.forecast-prediction .forecast-ci{font-size:.75rem;color:var(--text-muted);font-weight:400}.forecast-range-bar{display:flex;align-items:center;gap:6px;margin-bottom:6px}.forecast-range-bar .range-track{flex:1;height:6px;background:var(--border);border-radius:3px;position:relative;overflow:hidden}.forecast-range-bar .range-fill{position:absolute;top:0;height:100%;background:var(--accent);border-radius:3px;opacity:.5}.forecast-range-bar .range-point{position:absolute;top:50%;width:8px;height:8px;background:var(--accent);border-radius:50%;transform:translate(-50%,-50%);z-index:1}.forecast-range-bar .range-label{font-size:.68rem;color:var(--text-muted);white-space:nowrap;min-width:48px}.forecast-range-bar .range-label:last-child{text-align:right}.forecast-method{font-size:.72rem;color:var(--text-muted);font-style:italic}.forecast-sparkline{display:flex;align-items:flex-end;gap:2px;height:50px;margin-top:8px;padding-top:4px;border-top:1px solid var(--border)}.forecast-sparkline .bar{flex:1;background:color-mix(in srgb,var(--accent) 30%,transparent);border-radius:2px 2px 0 0;min-height:2px;transition:background .15s}.forecast-sparkline .bar.peak{background:var(--accent)}.forecast-sparkline .bar.trough{background:color-mix(in srgb,var(--accent) 12%,transparent)}.forecast-sparkline .bar-label{position:absolute;bottom:-14px;font-size:.55rem;color:var(--text-muted)}.price-creep-warning{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;background:color-mix(in srgb,#f59e0b 8%,var(--bg-card));border:1px solid color-mix(in srgb,#f59e0b 25%,var(--border));border-radius:8px;font-size:.8rem;color:var(--text-primary)}.price-creep-warning svg{color:#f59e0b;flex-shrink:0}.price-creep-impact{font-weight:600;color:#d97706;white-space:nowrap}.bill-email-evidence{margin-top:10px;padding:10px 12px;background:color-mix(in srgb,var(--positive) 4%,var(--bg-card));border:1px solid color-mix(in srgb,var(--positive) 15%,var(--border));border-radius:8px}.bill-email-evidence h4{font-size:.78rem;font-weight:600;color:var(--text-primary);margin:0 0 6px;display:flex;align-items:center;gap:5px}.bill-email-evidence h4 svg{width:14px;height:14px;color:var(--positive)}.email-evidence-row{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-primary);padding:2px 0}.email-evidence-row svg{width:13px;height:13px;color:var(--text-muted);flex-shrink:0}.email-evidence-row strong{font-weight:600}.cancellation-risk-section{margin-top:10px;padding:10px 12px;background:color-mix(in srgb,var(--negative) 5%,var(--bg-card));border:1px solid color-mix(in srgb,var(--negative) 15%,var(--border));border-radius:8px}.cancellation-risk-section h4{font-size:.78rem;font-weight:600;color:var(--text-primary);margin:0 0 6px;display:flex;align-items:center;gap:5px}.cancellation-risk-section h4 svg{width:14px;height:14px;color:var(--negative)}.risk-meter{display:flex;align-items:center;gap:10px}.risk-bar{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.risk-fill{height:100%;border-radius:4px;transition:width .4s ease}.risk-fill.active{background:var(--positive)}.risk-fill.late{background:var(--warning, #f59e0b)}.risk-fill.likely_canceled{background:var(--negative)}.risk-label{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.bill-type-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:10px}.bill-type-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px;cursor:pointer;transition:all .15s;text-align:center}.bill-type-card:hover{box-shadow:var(--shadow);border-color:var(--accent)}.bill-type-card .type-icon{font-size:1.25rem;margin-bottom:4px}.bill-type-card .type-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-primary)}.bill-type-card .type-count{font-size:.72rem;color:var(--text-muted);margin-top:2px}.bill-type-card .type-cost{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-top:4px}.bill-type-card.fixed{border-top:3px solid var(--text-muted)}.bill-type-card.variable{border-top:3px solid var(--accent)}.bill-type-card.seasonal{border-top:3px solid #d97706}.bill-type-card.unknown{border-top:3px solid var(--border)}.possibly-canceled-section{margin-top:16px;padding:12px;background:color-mix(in srgb,var(--negative) 4%,var(--bg-card));border:1px solid color-mix(in srgb,var(--negative) 15%,var(--border));border-radius:8px}.possibly-canceled-section h3{font-size:.85rem;font-weight:600;color:var(--negative);margin:0 0 8px;display:flex;align-items:center;gap:6px}.canceled-card{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:var(--bg-hover);border-radius:6px;margin-top:6px}.canceled-card span:first-child{font-size:.82rem;font-weight:500}.canceled-card .days-overdue{font-size:.72rem;color:var(--negative)}.canceled-actions{display:flex;gap:6px}.canceled-actions button{font-size:.72rem;padding:3px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all .15s}.canceled-actions button:hover{background:var(--bg-hover);border-color:var(--accent)}.canceled-actions button:first-child{background:color-mix(in srgb,var(--negative) 10%,var(--bg-card));border-color:color-mix(in srgb,var(--negative) 25%,var(--border));color:var(--negative)}.email-coverage-badge{display:flex;align-items:center;gap:8px;padding:10px 14px;background:color-mix(in srgb,var(--positive) 6%,var(--bg-card));border:1px solid color-mix(in srgb,var(--positive) 15%,var(--border));border-radius:8px;margin-top:12px}.email-coverage-badge svg{color:var(--positive);flex-shrink:0}.email-coverage-badge strong{font-size:1rem;color:var(--text-primary)}.email-coverage-badge span{font-size:.8rem;color:var(--text-muted)}.price-creep-summary-row{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg-hover);border-radius:6px;margin-top:4px;font-size:.8rem}.price-creep-summary-row .merchant-name{font-weight:500}.price-creep-summary-row .drift-amount{color:#d97706;font-weight:600}.bill-filters select.bill-type-filter{font-size:.82rem;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary)}.scan-emails-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:500;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;cursor:pointer;transition:opacity .15s;white-space:nowrap}.scan-emails-btn:hover:not(:disabled){opacity:.85}.scan-emails-btn:disabled{opacity:.55;cursor:not-allowed}.scan-emails-btn svg{width:16px;height:16px}.scan-result-banner{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;margin-bottom:12px}.scan-result-banner.success{background:color-mix(in srgb,var(--positive) 12%,transparent);color:var(--positive);border:1px solid color-mix(in srgb,var(--positive) 25%,transparent)}.scan-result-banner.error{background:color-mix(in srgb,var(--negative) 12%,transparent);color:var(--negative);border:1px solid color-mix(in srgb,var(--negative) 25%,transparent)}.scan-result-banner svg{width:16px;height:16px;flex-shrink:0}.scan-result-banner .dismiss{margin-left:auto;font-size:.78rem;opacity:.6;font-weight:400}.bm-stats-bar{display:flex;gap:1.5rem;padding:1rem 0;margin-bottom:.5rem;border-bottom:1px solid var(--border)}.bm-stat{display:flex;flex-direction:column;gap:.15rem}.bm-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:500}.bm-stat-value{font-size:1.35rem;font-weight:600;color:var(--text-primary);line-height:1.2}.bm-stat-warn .bm-stat-value{color:var(--warning)}.bm-stat-accent .bm-stat-value{color:var(--accent)}.bm-tabs{display:flex;gap:.25rem;padding:.5rem 0;margin-bottom:.75rem;border-bottom:1px solid var(--border)}.bm-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;background:none;border:none;border-radius:6px;font-size:.82rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.bm-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.bm-tab.active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.bm-tab-badge{background:var(--warning);color:var(--bg-card);padding:1px 7px;border-radius:10px;font-size:.7rem;font-weight:600;line-height:1.4}.bm-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem;align-items:center}.bm-search{display:flex;align-items:center;gap:.35rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:.35rem .65rem;flex:1;min-width:160px;max-width:260px}.bm-search svg{color:var(--text-muted);flex-shrink:0}.bm-search input{border:none;background:none;outline:none;font-size:.82rem;color:var(--text-primary);width:100%}.bm-filters select{padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-size:.78rem;cursor:pointer}.bm-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.bm-table{width:100%;border-collapse:collapse;font-size:.84rem}.bm-table thead th{text-align:left;padding:.55rem .75rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:color-mix(in srgb,var(--border) 30%,transparent);border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:1}.bm-th-right{text-align:right!important}.bm-table tbody td{padding:.55rem .75rem;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);white-space:nowrap;color:var(--text-primary)}.bm-row{cursor:pointer;transition:background .1s}.bm-row:hover{background:var(--bg-hover)}.bm-row-expanded{background:color-mix(in srgb,var(--accent) 5%,transparent)}.bm-row-expanded:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.bm-row-paused{opacity:.55}.bm-row-canceled td:first-child{border-left:3px solid var(--negative)}.bm-row-late td:first-child{border-left:3px solid var(--warning)}.bm-col-merchant{display:flex;align-items:center;gap:.4rem;font-weight:500;min-width:0}.bm-merchant-name{overflow:hidden;text-overflow:ellipsis}.bm-col-category{color:var(--text-muted);max-width:120px;overflow:hidden;text-overflow:ellipsis}.bm-col-freq{font-weight:500;font-size:.78rem}.bm-col-amount,.bm-col-monthly{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.bm-col-next{font-size:.8rem}.bm-col-next.bm-soon{color:var(--warning);font-weight:600}.bm-col-expand{width:30px;text-align:center;color:var(--text-muted)}.bm-col-expand svg{transition:transform .15s}.bm-chevron-open{transform:rotate(90deg)}.bm-badge-sm{display:inline-flex;align-items:center;gap:2px;padding:1px 5px;border-radius:4px;font-size:.65rem;font-weight:500;line-height:1.3;flex-shrink:0}.bm-badge-muted{background:color-mix(in srgb,var(--text-muted) 15%,transparent);color:var(--text-muted)}.bm-badge-info{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.bm-badge-warn{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#f59e0b}.bm-badge-positive{background:color-mix(in srgb,var(--positive) 15%,transparent);color:var(--positive);font-size:.72rem;padding:1px 6px}.bm-type-badge{display:inline-block;padding:2px 7px;border-radius:4px;font-size:.7rem;font-weight:500}.bm-type-fixed{background:color-mix(in srgb,var(--text-muted) 12%,transparent);color:var(--text-muted)}.bm-type-variable{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.bm-type-seasonal{background:color-mix(in srgb,#f59e0b 12%,transparent);color:#f59e0b}.bm-type-unknown{background:color-mix(in srgb,var(--text-muted) 8%,transparent);color:var(--text-muted)}.bm-confidence{display:inline-block;padding:2px 7px;border-radius:4px;font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums}.bm-confidence.high{background:color-mix(in srgb,var(--positive) 15%,transparent);color:var(--positive)}.bm-confidence.med{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#f59e0b}.bm-confidence.low{background:color-mix(in srgb,var(--negative) 12%,transparent);color:var(--negative)}.bm-detail-row td{padding:0!important;border-bottom:2px solid var(--accent)!important}.bm-detail-content{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;background:color-mix(in srgb,var(--bg-card) 50%,var(--bg-hover))}.bm-detail-actions-bar{display:flex;align-items:center;gap:.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.bm-confirm-btn,.bm-reject-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer}.bm-confirm-btn{background:color-mix(in srgb,var(--positive) 15%,transparent);color:var(--positive)}.bm-confirm-btn:hover{background:color-mix(in srgb,var(--positive) 25%,transparent)}.bm-reject-btn{background:color-mix(in srgb,var(--negative) 12%,transparent);color:var(--negative)}.bm-reject-btn:hover{background:color-mix(in srgb,var(--negative) 20%,transparent)}.bm-detail-stats{display:flex;gap:2rem;flex-wrap:wrap}.bm-detail-stat{display:flex;flex-direction:column;gap:.1rem}.bm-detail-stat-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:500}.bm-detail-stat-value{font-size:.95rem;font-weight:600;color:var(--text-primary)}.bm-over-budget{color:var(--negative)!important}.bm-detail-forecast{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;font-size:.82rem}.bm-detail-forecast-label{font-weight:500;color:var(--text-muted)}.bm-detail-forecast-amount{font-weight:600;color:var(--text-primary)}.bm-detail-forecast-range{color:var(--text-muted);font-size:.78rem}.bm-detail-forecast-method{color:var(--text-muted);font-size:.72rem;font-style:italic}.bm-detail-alert{display:flex;align-items:center;gap:.4rem;padding:.45rem .7rem;border-radius:6px;font-size:.8rem;font-weight:500}.bm-alert-warn{background:color-mix(in srgb,#f59e0b 10%,transparent);color:#f59e0b}.bm-alert-info{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent)}.bm-alert-danger{background:color-mix(in srgb,var(--negative) 10%,transparent);color:var(--negative)}.bm-alert-muted{color:var(--text-muted);font-size:.75rem}.bm-detail-mapping{border-top:1px solid var(--border);padding-top:.75rem}.bm-mapping-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}.bm-mapping-fields label{display:flex;flex-direction:column;gap:.2rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-weight:500}.bm-mapping-fields select,.bm-mapping-fields input{padding:.3rem .45rem;border:1px solid var(--border);border-radius:5px;background:var(--bg-card);color:var(--text-primary);font-size:.78rem}.bm-mapping-fields input[type=number]{max-width:90px}.bm-detail-charges{border-top:1px solid var(--border);padding-top:.6rem}.bm-detail-charges-header{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;font-weight:600;color:var(--text-muted);margin-bottom:.35rem}.bm-detail-charges-header button{display:inline-flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--accent);font-size:.72rem;cursor:pointer}.bm-charges-table{width:100%;border-collapse:collapse;font-size:.78rem}.bm-charges-table td{padding:.25rem .5rem;color:var(--text-muted);border:none}.bm-charges-table tr{cursor:pointer}.bm-charges-table tr:hover{background:var(--bg-hover)}.bm-detail-row-actions{display:flex;gap:.5rem;border-top:1px solid var(--border);padding-top:.6rem}.bm-action-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .75rem;border:1px solid var(--border);border-radius:6px;background:none;font-size:.78rem;font-weight:500;cursor:pointer;color:var(--text-muted)}.bm-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.bm-btn-remove:hover{background:color-mix(in srgb,var(--negative) 10%,transparent);color:var(--negative);border-color:var(--negative)}.bm-btn-resume{color:var(--positive);border-color:var(--positive)}.bm-btn-pause{color:var(--warning);border-color:var(--warning)}.bm-detection-view{display:flex;flex-direction:column;gap:.75rem}.bm-bulk-actions{display:flex;gap:.5rem;flex-wrap:wrap}.bm-bulk-confirm,.bm-bulk-reject{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer}.bm-bulk-confirm{background:color-mix(in srgb,var(--positive) 15%,transparent);color:var(--positive)}.bm-bulk-confirm:hover{background:color-mix(in srgb,var(--positive) 25%,transparent)}.bm-bulk-reject{background:color-mix(in srgb,var(--negative) 12%,transparent);color:var(--negative)}.bm-bulk-reject:hover{background:color-mix(in srgb,var(--negative) 20%,transparent)}.bm-group-header td{padding:.5rem .75rem!important;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)!important}.bm-group-high td{background:color-mix(in srgb,var(--positive) 8%,transparent);color:var(--positive)}.bm-group-med td{background:color-mix(in srgb,#f59e0b 8%,transparent);color:#f59e0b}.bm-group-low td{background:color-mix(in srgb,var(--negative) 6%,transparent);color:var(--negative)}.bm-group-label{margin-right:.75rem}.bm-group-meta{font-weight:400;opacity:.75}.bm-col-confidence{white-space:nowrap}.bm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--text-muted)}.bm-empty svg{opacity:.3;margin-bottom:.75rem}.bm-empty h3{color:var(--text-primary);margin:0 0 .35rem;font-size:1.1rem}.bm-empty p{margin:0;font-size:.85rem}.bm-add-btn{display:inline-flex;align-items:center;gap:.35rem;margin-top:1rem;padding:.5rem 1.25rem;background:var(--accent);color:var(--bg-card);border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer}@media (max-width: 768px){.bm-stats-bar{flex-wrap:wrap;gap:1rem}.bm-filters{flex-direction:column}.bm-search{max-width:none}.bm-table{font-size:.78rem}.bm-table thead th,.bm-table tbody td{padding:.4rem .5rem}.bm-col-category,.bm-col-type{display:none}.bm-mapping-fields{grid-template-columns:repeat(2,1fr)}}.txn2-bill-badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:.72rem;font-weight:500;letter-spacing:.02em}.txn2-bill-confirmed{background:color-mix(in srgb,var(--positive) 15%,transparent);color:var(--positive)}.txn2-bill-pending{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#f59e0b}.txn2-bill-freq{font-size:.78rem;color:var(--text-muted)}.txn2-bill-type-badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:.72rem;font-weight:500}.txn2-bill-type-badge.fixed{background:color-mix(in srgb,var(--text-muted) 12%,transparent);color:var(--text-muted)}.txn2-bill-type-badge.variable{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.txn2-bill-type-badge.seasonal{background:color-mix(in srgb,#f59e0b 12%,transparent);color:#f59e0b}.txn2-bill-type-badge.unknown{background:color-mix(in srgb,var(--text-muted) 8%,transparent);color:var(--text-muted);opacity:.7}.txn2-anomaly-dot{display:inline-flex;margin-left:4px;vertical-align:middle;cursor:help}.txn2-anomaly-dot.overpay{color:var(--negative)}.txn2-anomaly-dot.underpay{color:#f59e0b}.txn2-email-icon{display:inline-flex;margin-left:5px;color:var(--accent);opacity:.7;vertical-align:middle;cursor:help}.txn2-email-icon:hover{opacity:1}.txn2-bills-toggle.active{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border-color:var(--accent)}.txn2-bill-section{margin-top:12px;padding:12px;background:color-mix(in srgb,var(--accent) 5%,var(--bg-card));border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:8px}.txn2-bill-section h4{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:.85rem;font-weight:600;color:var(--accent)}.dash2-bill-widget{display:flex;flex-direction:column;gap:12px}.dash2-bill-stats{display:flex;gap:16px;flex-wrap:wrap}.dash2-bill-stat{display:flex;flex-direction:column;align-items:center;min-width:60px}.dash2-bill-stat-value{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.dash2-bill-stat-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.dash2-bill-stat.overdue .dash2-bill-stat-value{color:var(--negative)}.dash2-bill-upcoming-header{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.dash2-bill-upcoming-list{display:flex;flex-direction:column;gap:2px}.dash2-bill-upcoming-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:background .15s}.dash2-bill-upcoming-item:hover{background:var(--bg-hover)}.dash2-bill-type-icon{color:var(--text-muted);flex-shrink:0}.dash2-bill-type-icon.fixed{color:var(--text-muted)}.dash2-bill-type-icon.variable{color:var(--accent)}.dash2-bill-type-icon.seasonal{color:#f59e0b}.dash2-bill-merchant{flex:1;font-size:.82rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash2-bill-date{font-size:.75rem;color:var(--text-muted);min-width:55px;text-align:right}.dash2-bill-amount{font-size:.82rem;font-weight:600;color:var(--text-primary);min-width:65px;text-align:right}.dash2-bill-type-tag{font-size:.65rem;font-weight:500;padding:1px 5px;border-radius:8px;min-width:40px;text-align:center}.dash2-bill-type-tag.fixed{background:color-mix(in srgb,var(--text-muted) 12%,transparent);color:var(--text-muted)}.dash2-bill-type-tag.variable{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.dash2-bill-type-tag.seasonal{background:color-mix(in srgb,#f59e0b 12%,transparent);color:#f59e0b}.dash2-bill-type-tag.unknown{display:none}.dash2-bill-chevron{color:var(--text-muted);opacity:.4;flex-shrink:0}.dash2-bill-alerts{margin-top:4px}.dash2-bill-alerts-header{display:flex;align-items:center;gap:5px;font-size:.78rem;font-weight:600;color:#f59e0b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.dash2-bill-alert{display:flex;align-items:flex-start;gap:6px;padding:5px 8px;font-size:.78rem;color:var(--text-muted);border-radius:6px;cursor:pointer;transition:background .15s}.dash2-bill-alert:hover{background:var(--bg-hover)}.dash2-bill-alert.price svg{color:#f59e0b;flex-shrink:0;margin-top:1px}.dash2-bill-alert.overdue svg{color:var(--negative);flex-shrink:0;margin-top:1px}.dash2-bill-alert.seasonal svg{color:#f59e0b;flex-shrink:0;margin-top:1px}.dash2-bill-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 0;color:var(--text-muted)}.dash2-bill-empty p{font-size:.82rem;margin:0;text-align:center}.dash2-bill-link{background:none;border:none;color:var(--accent);cursor:pointer;text-decoration:underline;font:inherit;padding:0}@media (max-width: 768px){.dash2-bill-stats{gap:10px}.dash2-bill-stat-value{font-size:.95rem}.dash2-bill-upcoming-item{gap:5px;padding:5px 4px}.dash2-bill-date,.dash2-bill-type-tag{display:none}}.row-subledger{background:color-mix(in srgb,var(--bg-card) 95%,var(--accent) 5%)}.row-subledger:hover{background:color-mix(in srgb,var(--bg-card) 90%,var(--accent) 10%)}.row-subledger td{padding:2px 6px;font-size:.78rem;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent 50%)}.subledger-cell{padding-left:36px!important}.subledger-label{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-style:italic}.subledger-source-icon{font-size:.65rem;width:12px;text-align:center;flex-shrink:0}.subledger-src-bill{color:var(--accent)}.subledger-src-merchant-profile{color:var(--positive)}.subledger-src-residual{color:var(--text-muted)}.subledger-src-manual{color:var(--text-primary)}.subledger-confidence{font-size:.65rem;color:var(--text-muted);opacity:.7;margin-left:auto}.subledger-value{color:var(--text-muted)!important;font-size:.78rem!important;font-style:italic}.bm-merchants-view{display:flex;flex-direction:column;gap:12px}.bm-merchant-subtabs{display:flex;gap:4px;padding:4px;background:var(--bg-card);border-radius:8px;border:1px solid var(--border)}.bm-subtab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:none;background:transparent;color:var(--text-muted);font-size:.82rem;border-radius:6px;cursor:pointer;transition:all .15s}.bm-subtab:hover{background:var(--bg-hover);color:var(--text-primary)}.bm-subtab.active{background:var(--accent);color:#fff}.bm-subtab .bm-tab-badge{font-size:.7rem}.bm-merchant-approval{display:flex;flex-direction:column;gap:12px}.bm-merchant-group{border:1px solid var(--border);border-radius:8px;overflow:hidden}.bm-merchant-group-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:.82rem;font-weight:600;border-bottom:1px solid var(--border)}.bm-merchant-group-header.high{background:color-mix(in srgb,var(--positive) 10%,var(--bg-card) 90%)}.bm-merchant-group-header.medium{background:color-mix(in srgb,#f59e0b 10%,var(--bg-card) 90%)}.bm-merchant-group-header.low{background:color-mix(in srgb,var(--negative) 10%,var(--bg-card) 90%)}.bm-merchant-review-row{display:flex;align-items:center;gap:12px;padding:8px 14px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent 50%)}.bm-merchant-review-row:last-child{border-bottom:none}.bm-merchant-review-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.bm-merchant-review-info strong{font-size:.85rem}.bm-merchant-review-samples{font-size:.72rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm-merchant-review-count{font-size:.7rem;color:var(--text-muted)}.bm-merchant-review-conf{font-size:.82rem;font-weight:600;color:var(--positive);min-width:40px;text-align:right}.bm-merchant-review-conf.low{color:var(--negative)}.bm-merchant-review-actions{display:flex;gap:4px}.bm-btn-sm{padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-card);color:var(--text-primary);font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:4px}.bm-btn-sm:hover{background:var(--bg-hover)}.bm-btn-sm.confirm{color:var(--positive);border-color:var(--positive)}.bm-btn-sm.confirm:hover{background:color-mix(in srgb,var(--positive) 10%,var(--bg-card) 90%)}.bm-btn-sm.reject{color:var(--negative);border-color:var(--negative)}.bm-btn-sm.reject:hover{background:color-mix(in srgb,var(--negative) 10%,var(--bg-card) 90%)}.bm-merchant-directory .bm-type-badge{font-size:.7rem;padding:2px 6px;border-radius:4px;background:color-mix(in srgb,var(--accent) 15%,var(--bg-card) 85%);color:var(--accent)}.bm-select-sm{padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-card);color:var(--text-primary);font-size:.78rem}.dash2-spend-intel{display:flex;flex-direction:column;gap:14px}.dash2-spend-intel-empty{padding:20px;text-align:center;color:var(--text-muted)}.dash2-spend-intel-stats{display:flex;gap:16px;flex-wrap:wrap}.dash2-si-stat{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;min-width:70px}.dash2-si-stat-value{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.dash2-si-stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.dash2-spend-intel-categories{display:flex;flex-direction:column;gap:6px}.dash2-si-cat-row{display:flex;align-items:center;gap:10px;padding:4px 0}.dash2-si-cat-name{width:120px;font-size:.78rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.dash2-si-cat-bar{flex:1;height:14px;background:color-mix(in srgb,var(--border) 40%,transparent 60%);border-radius:7px;overflow:hidden;position:relative}.dash2-si-cat-fill{height:100%;background:color-mix(in srgb,var(--accent) 25%,var(--bg-card) 75%);border-radius:7px;position:relative}.dash2-si-cat-accounted{position:absolute;top:0;left:0;bottom:0;background:var(--accent);border-radius:7px;opacity:.6}.dash2-si-cat-amount{width:70px;text-align:right;font-size:.78rem;font-weight:600;color:var(--text-primary);flex-shrink:0}.dash2-si-cat-trend{width:50px;display:flex;align-items:center;gap:2px;font-size:.72rem;flex-shrink:0}.dash2-si-cat-trend.up{color:var(--negative)}.dash2-si-cat-trend.down{color:var(--positive)}.dash2-si-cat-trend.flat{color:var(--text-muted)}.dash2-spend-intel-footer{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.dash2-si-anomalies,.dash2-si-review-nudge,.dash2-si-all-good{display:flex;align-items:center;gap:6px;font-size:.78rem;padding:4px 8px;border-radius:6px}.dash2-si-anomalies{color:#f59e0b;background:color-mix(in srgb,#f59e0b 8%,var(--bg-card) 92%)}.dash2-si-review-nudge{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-card) 92%)}.dash2-si-all-good{color:var(--positive);background:color-mix(in srgb,var(--positive) 8%,var(--bg-card) 92%)}@media (max-width: 768px){.bm-merchant-subtabs{flex-direction:column}.bm-merchant-review-row{flex-wrap:wrap}.dash2-spend-intel-stats{gap:8px}.dash2-si-cat-name{width:80px}}.audit-section{display:flex;flex-direction:column;gap:20px}.audit-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--text-muted);font-size:14px}.audit-summary{display:flex;gap:12px;flex-wrap:wrap}.audit-card{flex:1;min-width:120px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;text-align:center}.audit-card-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.audit-card-value{font-size:22px;font-weight:700;color:var(--text-primary)}.audit-card-sub{font-size:11px;color:var(--text-muted);margin-top:2px}.audit-banner{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;border:1px solid var(--border);font-size:13px;color:var(--text-primary)}.audit-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.audit-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px}.audit-count{font-size:11px;color:var(--text-muted);background:var(--bg-hover);padding:2px 8px;border-radius:10px}.audit-search-input{padding:5px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-input, var(--bg-hover));color:var(--text-primary);font-size:12px;width:160px;outline:none;transition:border-color .15s}.audit-search-input:focus{border-color:var(--accent)}.audit-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.audit-btn:hover:not(:disabled){background:var(--bg-hover)}.audit-btn:disabled{opacity:.5;cursor:default}.audit-btn-fix{border-color:var(--accent);color:var(--accent)}.audit-btn-fix:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,var(--bg-card) 90%)}.audit-btn-sm{padding:3px 8px;font-size:11px}.audit-btn-optimize{border-color:var(--accent);color:var(--accent)}.audit-btn-optimize:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,var(--bg-card) 90%)}.audit-btn-apply{margin-top:12px;padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;gap:6px}.audit-btn-apply:hover{opacity:.9}.audit-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px;color:var(--positive);font-size:14px}.audit-empty p{color:var(--text-muted);margin:0}.audit-table-wrap{overflow-x:auto}.audit-table{width:100%;border-collapse:collapse;font-size:13px}.audit-table th{padding:8px 12px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);border-bottom:2px solid var(--border);background:var(--bg-hover)}.audit-table td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.audit-row{cursor:pointer;transition:background .1s}.audit-row:hover,.audit-row.expanded{background:var(--bg-hover)}.audit-merchant-cell{display:flex;align-items:center;gap:4px;font-weight:500}.audit-cat-badge{display:inline-block;padding:2px 8px;border-radius:10px;background:var(--bg-hover);font-size:11px;font-weight:500}.audit-consistency{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.audit-consistency.high{background:#22c55e1f;color:var(--positive)}.audit-consistency.med{background:#f59e0b1f;color:var(--warning, #f59e0b)}.audit-consistency.low{background:#ef44441f;color:var(--negative)}.audit-detail-row td{padding:0!important;border-bottom:2px solid var(--border)}.audit-detail{padding:12px 16px 16px;display:flex;flex-direction:column;gap:14px}.audit-detail strong{font-size:12px;color:var(--text-secondary);display:block;margin-bottom:6px}.audit-dist-bars{display:flex;flex-direction:column;gap:4px}.audit-dist-item{display:flex;align-items:center;gap:8px;font-size:12px}.audit-dist-label{width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.audit-dist-bar{flex:1;height:14px;background:var(--bg-hover);border-radius:3px;overflow:hidden;min-width:80px}.audit-dist-fill{height:100%;border-radius:3px;transition:width .3s}.audit-dist-count{font-size:11px;color:var(--text-muted);white-space:nowrap;min-width:80px;text-align:right}.audit-sample-list{display:flex;flex-direction:column;gap:3px}.audit-sample-item{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:11px;border-radius:4px;background:var(--bg-card)}.audit-sample-date{color:var(--text-muted);min-width:70px}.audit-sample-desc{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.audit-sample-cat{padding:1px 6px;border-radius:8px;background:#ef44441a;color:var(--negative);font-size:10px;text-decoration:line-through}.audit-sample-arrow{color:var(--text-muted)}.audit-sample-fix{padding:1px 6px;border-radius:8px;background:#22c55e1a;color:var(--positive);font-size:10px;font-weight:600}.audit-sample-amt{color:var(--text-muted);min-width:60px;text-align:right}.audit-progress{padding:12px 16px}.audit-progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:6px}.audit-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .2s ease}.audit-progress-text{font-size:12px;color:var(--text-muted)}.audit-optimize-result{padding:16px}.audit-optimize-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.audit-optimize-stat{text-align:center}.audit-optimize-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.audit-optimize-stat-value{font-size:20px;font-weight:700}.audit-weights-table-wrap{max-height:300px;overflow-y:auto;margin-bottom:12px}.audit-weights-table td{font-size:12px;padding:5px 10px}.audit-weights-table th{font-size:10px;padding:5px 10px;position:sticky;top:0;z-index:1}.audit-optimize-info{padding:16px;font-size:12px;color:var(--text-muted);font-style:italic}.audit-email-badge{display:inline-flex;align-items:center;color:var(--accent);margin-left:4px;opacity:.8}.audit-email-badge:hover{opacity:1}.audit-email-suggest{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:1px 7px;border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:10px;font-weight:600;white-space:nowrap}.audit-email-section{border-top:1px dashed var(--border);padding-top:10px}.audit-email-suggest-block{font-size:12px;color:var(--accent);padding:6px 10px;border-radius:6px;background:color-mix(in srgb,var(--accent) 6%,transparent);margin-bottom:6px}.audit-email-list{display:flex;flex-direction:column;gap:3px}.audit-email-record{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:11px;border-radius:4px;background:var(--bg-card)}.audit-email-date{color:var(--text-muted);min-width:70px}.audit-email-from{min-width:90px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.audit-email-amount{color:var(--text-primary);min-width:60px;text-align:right;font-weight:500}.audit-email-cat{padding:1px 6px;border-radius:8px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-size:10px;font-weight:500}.audit-email-autopay{padding:1px 5px;border-radius:8px;background:#22c55e1a;color:var(--positive);font-size:9px;font-weight:600;text-transform:uppercase}.audit-email-subject{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-style:italic}@media (max-width: 768px){.audit-summary{flex-direction:column}.audit-panel-header{flex-direction:column;align-items:flex-start}.audit-search-input{width:100%}.audit-optimize-summary{flex-direction:column}.audit-dist-label{width:100px}}.bm-dir-displayname-input{border:1px solid var(--accent);border-radius:4px;padding:2px 6px;font-size:.82rem;background:var(--bg-card);color:var(--text-primary);width:100%;max-width:180px;outline:none}.bm-dir-displayname-input:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.bm-dir-displayname-text{cursor:pointer;display:inline-flex;align-items:center;font-size:.82rem;padding:1px 4px;border-radius:3px}.bm-dir-displayname-text:hover{background:var(--bg-hover)}.bm-dir-displayname-text svg{opacity:0;transition:opacity .15s}.bm-dir-displayname-text:hover svg{opacity:.6}.audit-batch-panel{border:1px solid var(--border);border-radius:8px;background:var(--bg-card);margin-bottom:16px;overflow:hidden}.audit-batch-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:color-mix(in srgb,var(--accent) 6%,var(--bg-card));border-bottom:1px solid var(--border)}.audit-batch-progress{font-size:.85rem}.audit-batch-progress-detail{color:var(--text-muted);margin-left:4px}.audit-batch-controls select{border:1px solid var(--border);border-radius:4px;background:var(--bg-card);color:var(--text-primary);font-size:.78rem;padding:2px 4px}.audit-batch-table-wrap{max-height:320px;overflow-y:auto}.audit-batch-table{width:100%;border-collapse:collapse;font-size:.82rem}.audit-batch-table th{text-align:left;padding:6px 10px;font-weight:600;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-card)}.audit-batch-table td{padding:5px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.audit-batch-table tr:last-child td{border-bottom:none}.audit-cat-badge.old{text-decoration:line-through;opacity:.55;background:none;color:var(--text-muted)}.audit-batch-actions{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--accent) 4%,var(--bg-card))}.txn2-view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.txn2-view-btn{background:var(--bg-card);border:none;padding:4px 8px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;transition:background .15s,color .15s}.txn2-view-btn+.txn2-view-btn{border-left:1px solid var(--border)}.txn2-view-btn:hover{background:var(--bg-hover)}.txn2-view-btn.active{background:color-mix(in srgb,var(--accent) 15%,var(--bg-card));color:var(--accent)}.txn2-review-container{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-card)}.txn2-review-card{padding:6px 12px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);cursor:pointer;transition:background .1s}.txn2-review-card:last-child{border-bottom:none}.txn2-review-card:hover{background:var(--bg-hover)}.txn2-review-card.selected{background:color-mix(in srgb,var(--accent) 8%,var(--bg-card))}.txn2-review-card.focused{outline:2px solid var(--accent);outline-offset:-2px}.txn2-review-card.duplicate{border-left:3px solid var(--warning, #f59e0b);background:color-mix(in srgb,var(--warning, #f59e0b) 5%,var(--bg-card))}.txn2-icon-dup{color:var(--warning, #f59e0b)}.txn2-review-line1{display:flex;align-items:center;gap:8px}.txn2-review-line1 .txn2-check-btn{flex-shrink:0}.txn2-review-desc{flex:1;font-weight:500;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.txn2-review-amount{flex-shrink:0;font-weight:600;font-size:.85rem;font-variant-numeric:tabular-nums}.txn2-review-amount.negative{color:var(--negative)}.txn2-review-amount.positive{color:var(--positive)}.txn2-review-line2{display:flex;align-items:center;gap:8px;margin-top:2px;padding-left:30px;font-size:.78rem}.txn2-review-date{color:var(--text-muted);flex-shrink:0}.txn2-review-merchant{color:var(--text-muted);font-style:italic;flex-shrink:0;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.txn2-review-cat{display:inline-flex;align-items:center;gap:3px;background:color-mix(in srgb,var(--accent) 12%,var(--bg-card));color:var(--accent);padding:1px 8px;border-radius:10px;font-size:.76rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s}.txn2-review-cat:hover{background:color-mix(in srgb,var(--accent) 22%,var(--bg-card))}.txn2-review-cat svg{opacity:0;transition:opacity .15s}.txn2-review-cat:hover svg{opacity:.7}.txn2-review-cat-edit{display:inline-flex;align-items:center;gap:4px}.txn2-review-cat-edit select{border:1px solid var(--accent);border-radius:4px;background:var(--bg-card);color:var(--text-primary);font-size:.78rem;padding:1px 4px;max-width:160px}.txn2-review-cat-edit button{background:var(--accent);color:#fff;border:none;border-radius:4px;padding:2px 4px;cursor:pointer;display:flex;align-items:center}.txn2-review-account{color:var(--text-muted);margin-left:auto;flex-shrink:0;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.txn2-review-icons{display:flex;gap:4px;color:var(--text-muted);flex-shrink:0}.txn2-review-icons svg{opacity:.6}@media (max-width: 768px){.txn2-review-line2{padding-left:30px;flex-wrap:wrap}.txn2-review-account{display:none}.txn2-review-desc{max-width:200px}.txn2-review-merchant{display:none}}.diag-page{max-width:900px;margin:0 auto;padding:24px 20px}.diag-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.diag-title-row h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.diag-subtitle{font-size:.82rem;color:var(--text-muted);margin-top:2px;display:block}.diag-actions{display:flex;gap:8px;flex-shrink:0}.diag-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.diag-btn:disabled{opacity:.6;cursor:not-allowed}.diag-btn-primary{background:var(--accent, #4f8cff);color:#fff}.diag-btn-primary:hover:not(:disabled){filter:brightness(1.1)}.diag-btn-secondary{background:var(--bg-hover, #f0f0f0);color:var(--text-primary);border:1px solid var(--border, #ddd)}.diag-btn-secondary:hover:not(:disabled){background:var(--border, #e0e0e0)}.diag-progress-wrap{display:flex;align-items:center;gap:12px;margin-bottom:16px}.diag-progress-bar{flex:1;height:6px;background:var(--bg-hover, #eee);border-radius:3px;overflow:hidden}.diag-progress-fill{height:100%;background:var(--accent, #4f8cff);border-radius:3px;transition:width .3s ease}.diag-progress-label{font-size:.8rem;color:var(--text-muted);white-space:nowrap;min-width:100px}.diag-summary{display:flex;align-items:center;gap:16px;padding:10px 14px;background:var(--bg-card, #fff);border:1px solid var(--border, #e0e0e0);border-radius:10px;margin-bottom:16px;flex-wrap:wrap;font-size:.85rem}.diag-summary-item{display:inline-flex;align-items:center;gap:5px;font-weight:500}.diag-summary-pass{color:#22c55e}.diag-summary-warn{color:#f59e0b}.diag-summary-fail{color:#ef4444}.diag-summary-skip{color:var(--text-muted)}.diag-summary-time{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:.8rem}.diag-summary-spacer{flex:1}.diag-link-btn{background:none;border:none;color:var(--accent, #4f8cff);font-size:.8rem;cursor:pointer;padding:2px 6px;border-radius:4px}.diag-link-btn:hover{background:var(--bg-hover, #f0f0f0)}.diag-categories{display:flex;flex-direction:column;gap:8px}.diag-category{background:var(--bg-card, #fff);border:1px solid var(--border, #e0e0e0);border-radius:10px;overflow:hidden;transition:box-shadow .15s}.diag-category:hover{box-shadow:0 1px 4px #0000000f}.diag-category-header{display:flex;align-items:center;gap:8px;padding:12px 14px;width:100%;background:none;border:none;cursor:pointer;font-size:.9rem;color:var(--text-primary);text-align:left}.diag-category-header:hover{background:var(--bg-hover, #f8f8f8)}.diag-category-toggle{color:var(--text-muted);flex-shrink:0;display:flex}.diag-category-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.diag-dot-pass{background:#22c55e}.diag-dot-warn{background:#f59e0b}.diag-dot-fail{background:#ef4444}.diag-category-label{font-weight:600;flex:1}.diag-category-counts{display:flex;gap:10px;font-size:.78rem;font-weight:500}.diag-count-pass{color:#22c55e}.diag-count-warn{color:#f59e0b}.diag-count-fail{color:#ef4444}.diag-count-skip{color:var(--text-muted)}.diag-tests{border-top:1px solid var(--border, #e0e0e0);padding:6px 0}.diag-test-row{display:flex;align-items:flex-start;gap:8px;padding:6px 14px 6px 38px;font-size:.82rem;flex-wrap:wrap}.diag-test-row:hover{background:var(--bg-hover, #fafafa)}.diag-badge{display:inline-flex;align-items:center;gap:3px;font-size:.7rem;font-weight:600;padding:1px 6px;border-radius:4px;flex-shrink:0;text-transform:uppercase;letter-spacing:.03em}.diag-status-pass{color:#22c55e;background:#22c55e1a}.diag-status-warn{color:#f59e0b;background:#f59e0b1a}.diag-status-fail{color:#ef4444;background:#ef44441a}.diag-status-skip{color:var(--text-muted);background:var(--bg-hover, #f0f0f0)}.diag-test-label{font-weight:500;color:var(--text-primary);min-width:180px;flex-shrink:0}.diag-test-message{color:var(--text-muted);flex:1;min-width:0}.diag-test-timing{display:inline-flex;align-items:center;gap:3px;color:var(--text-muted);font-size:.72rem;opacity:.7;flex-shrink:0}.diag-test-details{width:100%;padding:4px 0 2px 56px;font-size:.78rem;color:var(--text-muted);white-space:pre-wrap;font-family:SF Mono,Fira Code,monospace;line-height:1.5}.diag-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.diag-empty p{margin:4px 0}.diag-empty-sub{font-size:.82rem;opacity:.7}@media (max-width: 768px){.diag-page{padding:16px 12px}.diag-header{flex-direction:column}.diag-test-label{min-width:120px}.diag-test-row{padding-left:20px}.diag-test-details{padding-left:28px}.diag-category-counts{gap:6px}}.categorize-page.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:var(--bg-primary);padding:12px 20px;overflow:auto}.categorize-page.fullscreen .page-header{padding:0 0 8px}.categorize-page.fullscreen .page-subtitle{display:none}.categorize-page.fullscreen .model-stats-grid{margin-bottom:8px}.categorize-page.fullscreen .stat-card{padding:8px 12px}.categorize-page.fullscreen .cat-learning-progress{margin-bottom:8px}.btn-tool.active{background:var(--accent-primary);color:#fff}.cat2-td-date{font-size:.82rem;color:var(--text-secondary);white-space:nowrap}.cat2-td-merchant{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.cat2-td-current{padding:4px 6px}.cat2-td-current .cat-pill{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.78rem;background:var(--bg-tertiary);color:var(--text-primary);max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat2-td-current .cat-pill.uncat{background:var(--warning-bg, #fef3c7);color:var(--warning-text, #92400e)}.cat2-td-conf,.cat2-td-similar{text-align:center}.cat2-td-similar .similar-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--accent-secondary-bg, #e0f2fe);color:var(--accent-secondary, #0284c7);font-size:.78rem;font-weight:600}.cat-controls-toggle{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:.85rem;color:var(--text-secondary);margin-bottom:8px;transition:background .15s}.cat-controls-toggle:hover{background:var(--bg-tertiary)}.cat-controls-toggle svg{transition:transform .2s}.cat-controls-toggle.collapsed svg{transform:rotate(-90deg)}.cat-controls-wrapper{overflow:hidden;transition:max-height .25s ease-out,opacity .2s}.cat-controls-wrapper.collapsed{max-height:0;opacity:0;margin:0}.categorize-page.fullscreen .cat2-table{font-size:.85rem}.categorize-page.fullscreen .cat2-th,.categorize-page.fullscreen .cat2-td{padding:6px 8px}.cat2-td-actions{white-space:nowrap}.cat2-td-actions .action-btn{padding:4px 6px}.ctx-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1099}.cat-context-menu{position:fixed;z-index:1100;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:180px;padding:6px 0;animation:ctx-menu-in .12s ease-out}@keyframes ctx-menu-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.ctx-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;border:none;background:none;font-size:.85rem;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .1s}.ctx-menu-item:hover{background:var(--bg-secondary)}.ctx-menu-item:disabled{opacity:.5;cursor:not-allowed}.ctx-menu-item svg{color:var(--text-secondary);flex-shrink:0}.ctx-menu-divider{height:1px;background:var(--border-color);margin:6px 0}.categorize-toolbar-v2.collapsed{display:none}.cat-toggle-count{margin-left:auto;font-size:.78rem;color:var(--text-muted);font-weight:500}.liquidity-dashboard{margin-bottom:1.5rem}.liquidity-dashboard .section-title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;margin-bottom:1.25rem;color:var(--text-primary)}.liquidity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.liquidity-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border-color)}.liquidity-card.total{background:linear-gradient(135deg,var(--bg-secondary),rgba(59,130,246,.08));border-color:#3b82f64d}.liquidity-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.liquidity-card.cash .liquidity-icon{background:#22c55e26;color:var(--positive)}.liquidity-card.credit .liquidity-icon{background:#3b82f626;color:#3b82f6}.liquidity-card.heloc .liquidity-icon{background:#a855f726;color:#a855f7}.liquidity-card.total .liquidity-icon{background:#3b82f633;color:#3b82f6}.liquidity-card.safe .liquidity-icon{background:#22c55e26;color:var(--positive)}.liquidity-card.runway .liquidity-icon{background:#eab30826;color:#eab308}.liquidity-content{display:flex;flex-direction:column;gap:.15rem;min-width:0}.liquidity-label{font-size:.75rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.02em}.liquidity-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.liquidity-value.positive{color:var(--positive)}.liquidity-value.negative{color:var(--negative)}.liquidity-value.warning{color:var(--warning)}.liquidity-value.highlight{color:#3b82f6}.liquidity-sub{font-size:.7rem;color:var(--text-muted)}.runway-viz{margin-top:.5rem}.runway-bar-container{padding:0 .5rem}.runway-bar{position:relative;height:12px;background:var(--bg-primary);border-radius:6px;overflow:visible}.runway-fill{height:100%;border-radius:6px;transition:width .5s ease}.runway-fill.danger{background:var(--negative)}.runway-fill.warning{background:var(--warning)}.runway-fill.good{background:#22c55e}.runway-fill.excellent{background:linear-gradient(90deg,#22c55e,#10b981)}.runway-markers{position:absolute;top:100%;left:0;right:0;padding-top:4px}.runway-markers .marker{position:absolute;transform:translate(-50%);font-size:.65rem;color:var(--text-muted)}.runway-markers .marker.recommended{color:var(--positive);font-weight:600}.runway-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.25rem;font-size:.7rem;color:var(--text-secondary)}.runway-legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.runway-legend .dot.danger{background:var(--negative)}.runway-legend .dot.warning{background:var(--warning)}.runway-legend .dot.good{background:#22c55e}.runway-legend .dot.excellent{background:#10b981}.cashflow-section{margin-bottom:1.5rem}.cashflow-section .section-title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;margin-bottom:1.25rem;color:var(--text-primary)}.cashflow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.25rem}.cashflow-card{padding:1rem;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border-color)}.cashflow-header{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:500}.cashflow-value{font-size:1.35rem;font-weight:700;color:var(--text-primary)}.cashflow-value.positive{color:var(--positive)}.cashflow-value.negative{color:var(--negative)}.cashflow-detail{font-size:.75rem;color:var(--text-muted);margin-top:.35rem}.cashflow-detail .positive{color:var(--positive)}.cashflow-detail .negative{color:var(--negative)}.upcoming-bills-preview{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.upcoming-bills-preview h4{font-size:.85rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary)}.bills-list{display:flex;flex-direction:column;gap:.5rem}.bill-item{display:grid;grid-template-columns:1fr auto auto;gap:1rem;padding:.5rem .75rem;background:var(--bg-primary);border-radius:6px;font-size:.8rem;align-items:center}.bill-name{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bill-due{color:var(--text-secondary);font-size:.75rem}.bill-amount{color:var(--text-primary);font-weight:600;text-align:right}.interest-optimization{margin-bottom:1.5rem}.interest-optimization .section-title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;margin-bottom:1.25rem;color:var(--text-primary)}.optimization-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.optimization-panel{padding:1rem;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border-color)}.optimization-panel h4{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.optimization-panel .panel-description{font-size:.75rem;color:var(--text-secondary);margin-bottom:.75rem}.priority-list{display:flex;flex-direction:column;gap:.5rem}.priority-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:var(--bg-primary);border-radius:6px}.priority-rank{font-size:.75rem;font-weight:700;color:var(--text-muted);width:24px}.priority-details{flex:1;min-width:0}.priority-name{display:block;font-size:.8rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.priority-balance{display:block;font-size:.7rem;color:var(--text-secondary)}.priority-rate{font-size:.85rem;font-weight:700;color:var(--negative)}.savings-calc{text-align:center}.savings-calc p{font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem}.savings-calc strong{color:var(--text-primary)}.savings-amount{font-size:1.5rem;font-weight:700;color:var(--positive);margin:.5rem 0}.savings-note{font-size:.7rem;color:var(--text-muted)}.arbitrage-info p{font-size:.8rem;color:var(--text-secondary);margin-bottom:.75rem}.rate-comparison{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.75rem}.rate-item{display:flex;flex-direction:column;align-items:center}.rate-label{font-size:.7rem;color:var(--text-muted)}.rate-value{font-size:1.1rem;font-weight:700}.rate-value.positive{color:var(--positive)}.rate-value.negative{color:var(--negative)}.rate-arrow{font-size:1.25rem;color:var(--text-muted)}.high-rate-warning{border-color:#ef44444d;background:#ef44440d}.high-rate-info{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem}.high-rate-amount{font-size:1.25rem;font-weight:700;color:var(--negative)}.high-rate-label{font-size:.8rem;color:var(--text-secondary)}@media (max-width: 768px){.liquidity-grid{grid-template-columns:repeat(2,1fr)}.cashflow-grid{grid-template-columns:1fr 1fr}.optimization-grid{grid-template-columns:1fr}.liquidity-value{font-size:1.1rem}.cashflow-value{font-size:1.15rem}}@media (max-width: 480px){.liquidity-grid,.cashflow-grid{grid-template-columns:1fr}.rate-comparison{flex-direction:column;gap:.5rem}.rate-arrow{transform:rotate(90deg)}}.categorize-v3{display:flex;flex-direction:column;height:100%}.cat3-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0}.cat3-title-row{display:flex;align-items:center;gap:1.5rem}.cat3-title-row h1{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;margin:0}.cat3-quick-stats{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.cat3-stat strong{color:var(--text-primary);font-weight:600}.cat3-stat-divider{color:var(--border-color)}.cat3-actions{display:flex;align-items:center;gap:.5rem}.cat3-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:all .15s}.cat3-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-muted)}.cat3-btn.active{background:var(--accent-bg);color:var(--accent);border-color:var(--accent)}.cat3-btn:disabled{opacity:.5;cursor:not-allowed}.cat3-btn.loading{background:var(--accent-bg)}.cat3-progress{position:relative;height:24px;background:var(--bg-primary);display:flex;align-items:center;padding:0 1rem;font-size:.75rem;color:var(--text-secondary);overflow:hidden}.cat3-progress-bar{position:absolute;left:0;top:0;bottom:0;background:#3b82f626;transition:width .3s}.cat3-progress span{position:relative;z-index:1}.cat3-tabs{display:flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:var(--bg-primary);border-bottom:1px solid var(--border-color);flex-shrink:0}.cat3-tab{padding:.5rem 1rem;font-size:.85rem;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:.35rem}.cat3-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.cat3-tab.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.cat3-tab.secondary{color:var(--text-muted);font-size:.8rem}.cat3-tab.secondary.active{background:var(--bg-secondary);color:var(--text-primary)}.cat3-tab-spacer{flex:1}.categorize-v3 .model-stats-grid,.categorize-v3 .cat-learning-progress,.categorize-v3 .training-progress-bar,.categorize-v3 .categorize-tabs,.categorize-v3 .page-header{display:none!important}.categorize-v3 .predictions-list-v2{flex:1;overflow:auto;padding:0}.categorize-v3 .cat2-table-wrap{height:100%}.categorize-v3 .categorize-toolbar-v2{padding:.5rem 1rem;gap:.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-primary)}.categorize-v3 .toolbar-filters{gap:.5rem}.categorize-v3 .filter-select-v2{padding:.4rem .6rem;font-size:.8rem}.categorize-v3 .search-box-v2{max-width:250px}.categorize-v3 .search-box-v2 input{padding:.4rem .5rem .4rem 2rem;font-size:.8rem}.categorize-v3 .cat2-table{font-size:.85rem}.categorize-v3 .cat2-th,.categorize-v3 .cat2-td{padding:.5rem .75rem}.categorize-v3 .cat2-td-current .cat-pill{background:var(--bg-secondary);border:1px solid var(--border-color);padding:.25rem .5rem;border-radius:4px;font-size:.75rem}.categorize-v3 .cat2-td-current .cat-pill.uncat{background:#ef44441a;border-color:#ef44444d;color:var(--negative)}.categorize-v3 .cat2-td-prediction .category-select{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:4px;padding:.25rem .4rem;font-size:.8rem;font-weight:500;color:var(--text-primary);cursor:pointer}.categorize-v3 .cat2-td-prediction .category-select:hover{border-color:var(--positive)}.categorize-v3 .batch-action-bar{position:sticky;bottom:0;z-index:100;background:var(--bg-secondary);border-top:2px solid var(--accent);padding:.75rem 1rem;box-shadow:0 -2px 10px #0000001a}.categorize-v3.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:var(--bg-primary)}.categorize-v3.fullscreen .cat3-header{padding:.5rem 1rem}.categorize-v3.fullscreen .cat3-tabs{padding:.35rem 1rem}.new-category-modal{max-width:480px;width:90%}.new-category-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.new-category-modal .modal-header h3{margin:0;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.new-category-modal .modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .15s}.new-category-modal .modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.new-category-modal .modal-body{padding:1.25rem}.new-category-modal .modal-hint{margin:0 0 1rem;padding:.75rem;background:var(--bg-secondary);border-radius:6px;font-size:.85rem;color:var(--text-secondary)}.new-category-modal .modal-hint strong{color:var(--text-primary)}.new-category-modal .form-group{margin-bottom:1rem}.new-category-modal .form-group label{display:block;margin-bottom:.35rem;font-size:.85rem;font-weight:500;color:var(--text-secondary)}.new-category-modal .form-group input,.new-category-modal .form-group select{width:100%;padding:.6rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--bg-primary);color:var(--text-primary);transition:border-color .15s}.new-category-modal .form-group input:focus,.new-category-modal .form-group select:focus{outline:none;border-color:var(--accent)}.new-category-modal .form-group .field-hint{display:block;margin:.35rem 0;font-size:.75rem;color:var(--text-muted)}.new-category-modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.new-category-modal .btn-secondary{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .15s}.new-category-modal .btn-secondary:hover{background:var(--bg-secondary);color:var(--text-primary)}.new-category-modal .btn-primary{padding:.5rem 1rem;border:none;border-radius:6px;background:var(--accent);color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:all .15s}.new-category-modal .btn-primary:hover:not(:disabled){filter:brightness(1.1)}.new-category-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}.category-select option[value=__new__]{font-weight:600;color:var(--accent)}.cat-picker{position:relative;display:inline-block;min-width:120px;max-width:180px}.cat-picker-trigger{width:100%;padding:.25rem .5rem;font-size:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.25rem;transition:all .15s;text-align:left;color:var(--text-primary)}.cat-picker-trigger:hover{border-color:var(--accent)}.cat-picker-trigger .has-value{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-picker-trigger .placeholder{color:var(--text-muted);font-style:italic}.cat-picker-trigger svg{flex-shrink:0;color:var(--text-muted);transition:transform .15s}.cat-picker-trigger svg.rotated{transform:rotate(180deg)}.cat-picker-dropdown{position:absolute;top:100%;left:0;z-index:1000;min-width:220px;max-width:300px;max-height:320px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 16px #00000026;margin-top:2px;display:flex;flex-direction:column;overflow:hidden}.cat-picker-search{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.cat-picker-search svg{color:var(--text-muted);flex-shrink:0}.cat-picker-search input{flex:1;border:none;background:transparent;font-size:.8rem;color:var(--text-primary);outline:none}.cat-picker-search input::placeholder{color:var(--text-muted)}.cat-picker-clear{padding:2px;background:var(--bg-tertiary);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.cat-picker-clear:hover{background:var(--danger);color:#fff}.cat-picker-list{flex:1;overflow-y:auto;padding:.25rem 0}.cat-picker-item{width:100%;padding:.4rem .75rem;font-size:.8rem;text-align:left;background:transparent;border:none;cursor:pointer;color:var(--text-primary);transition:background .1s;display:flex;align-items:center;gap:.5rem}.cat-picker-item:hover{background:var(--bg-hover)}.cat-picker-item.selected{background:var(--accent-muted);font-weight:500}.cat-picker-create{color:var(--accent);font-weight:500;border-bottom:1px solid var(--border-color);margin-bottom:.25rem}.cat-picker-create:hover{background:var(--accent-muted)}.cat-picker-empty{padding:1rem;text-align:center;color:var(--text-muted);font-size:.8rem;font-style:italic}.cat-picker-group{margin-bottom:.25rem}.cat-picker-group-header{width:100%;padding:.35rem .5rem;font-size:.75rem;font-weight:600;text-align:left;background:var(--bg-secondary);border:none;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;gap:.35rem;transition:background .1s}.cat-picker-group-header:hover{background:var(--bg-tertiary)}.cat-picker-group-header .group-name{flex:1}.cat-picker-group-header .group-count{font-size:.65rem;color:var(--text-muted);background:var(--bg-tertiary);padding:.1rem .35rem;border-radius:8px}.cat-picker-group-items{padding-left:.75rem}.cat-picker-group-items .cat-picker-item{font-size:.75rem;padding:.3rem .5rem}.cat-teach-card.expanded{grid-column:span 2}@media (max-width: 768px){.cat-teach-card.expanded{grid-column:span 1}}.cat-tc-header{cursor:pointer;transition:background .15s;border-radius:8px 8px 0 0;padding:10px 12px;margin:-10px -12px 8px}.cat-tc-header:hover{background:var(--bg-hover)}.cat-tc-count{display:flex;align-items:center;gap:4px}.cat-tc-count svg{color:var(--text-muted)}.cat-tc-expanded{margin:8px -12px;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.cat-tc-txn-list{max-height:200px;overflow-y:auto}.cat-tc-txn-row{display:grid;grid-template-columns:60px 1fr 100px 80px 20px;gap:8px;align-items:center;padding:8px 12px;font-size:12px;cursor:pointer;transition:background .1s;border-bottom:1px solid var(--border-color)}.cat-tc-txn-row:last-child{border-bottom:none}.cat-tc-txn-row:hover{background:var(--bg-hover)}.cat-tc-txn-date{color:var(--text-muted);font-size:11px}.cat-tc-txn-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.cat-tc-txn-account{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted);font-size:11px}.cat-tc-txn-amount{text-align:right;font-weight:500;font-variant-numeric:tabular-nums}.cat-tc-txn-amount.expense{color:var(--danger)}.cat-tc-txn-amount.income{color:var(--positive)}.cat-tc-txn-view{color:var(--text-muted);opacity:0;transition:opacity .15s}.cat-tc-txn-row:hover .cat-tc-txn-view{opacity:1;color:var(--accent)}.cat-tc-meta.expanded{padding:10px 12px;background:var(--bg-primary)}.cat-tc-ai-suggestion{display:flex;align-items:center;gap:8px;padding:10px 12px;margin:0 -12px;background:linear-gradient(135deg,#8b5cf614,#3b82f60f);border-top:1px solid rgba(139,92,246,.2);font-size:13px;color:var(--text-primary)}.cat-tc-ai-suggestion svg:first-child{color:#8b5cf6}.cat-tc-ai-suggestion .ai-business-type{color:var(--text-muted);font-size:11px}.cat-tc-ai-apply{margin-left:auto;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;background:#8b5cf6;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .15s}.cat-tc-ai-apply:hover:not(:disabled){filter:brightness(1.1)}.cat-tc-ask-ai{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .15s;font-weight:500}.cat-tc-ask-ai:hover:not(:disabled){filter:brightness(1.1);transform:scale(1.02)}.cat-tc-ask-ai:disabled{opacity:.6;cursor:not-allowed}.cat-tc-ask-ai .spinner{animation:spin 1s linear infinite}.anomaly-card.clickable{cursor:pointer}.anomaly-card.clickable:hover{background:var(--bg-hover);box-shadow:0 2px 8px #00000014}.anomaly-meta{display:flex;align-items:center;gap:12px;padding:6px 0;font-size:12px;color:var(--text-muted);border-bottom:1px solid var(--border-color);margin-bottom:6px}.anomaly-date{font-variant-numeric:tabular-nums}.anomaly-account{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anomaly-view-icon{opacity:0;transition:opacity .15s;color:var(--accent)}.anomaly-card.clickable:hover .anomaly-view-icon{opacity:1}.anomaly-card.amount-outlier .anomaly-meta{padding-top:8px}.duplicates-group h3 svg{color:var(--warning)}.duplicate-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:12px;margin-bottom:10px}.duplicate-card.exact{border-left:3px solid var(--danger)}.duplicate-card.likely{border-left:3px solid var(--warning)}.duplicate-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.dup-type-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.02em}.dup-type-badge.exact_id{background:#ef444426;color:var(--danger)}.dup-type-badge.likely{background:#f59e0b26;color:var(--warning)}.dup-count{font-size:12px;color:var(--text-muted)}.dup-total{margin-left:auto;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.dup-txn-id{font-size:11px;color:var(--text-muted);margin-bottom:8px;padding:4px 8px;background:var(--bg-secondary);border-radius:4px}.dup-txn-id code{font-family:SF Mono,Monaco,monospace;color:var(--accent);font-weight:500}.dup-transactions{border:1px solid var(--border-color);border-radius:6px;overflow:hidden;margin-bottom:8px}.dup-txn-row{display:grid;grid-template-columns:60px 1fr 100px 80px 20px;gap:8px;align-items:center;padding:8px 10px;font-size:12px;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .1s}.dup-txn-row:last-child{border-bottom:none}.dup-txn-row:hover{background:var(--bg-hover)}.dup-txn-date{color:var(--text-muted);font-size:11px}.dup-txn-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.dup-txn-account{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted);font-size:11px}.dup-txn-amount{text-align:right;font-weight:500;font-variant-numeric:tabular-nums}.dup-txn-amount.expense{color:var(--danger)}.dup-txn-amount.income{color:var(--positive)}.dup-view-icon{color:var(--text-muted);opacity:0;transition:opacity .15s}.dup-txn-row:hover .dup-view-icon{opacity:1;color:var(--accent)}.dup-reason{font-size:11px;color:var(--text-muted);font-style:italic}.recon-page{padding:24px 28px;max-width:1400px;margin:0 auto}.recon-header-left h1{font-size:1.6rem;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.recon-subtitle{font-size:.9rem;color:var(--text-muted);margin:0}.recon-status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.recon-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:4px}.recon-tab{padding:8px 16px;border:none;background:none;font-size:.88rem;color:var(--text-secondary);cursor:pointer;border-radius:6px 6px 0 0;transition:all .15s}.recon-tab.active{background:var(--accent);color:#fff}.recon-content{min-height:400px}.recon-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px}.recon-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px 20px;text-align:center}.recon-card.warning{border-color:var(--warning);background:var(--warning-bg, rgba(245, 158, 11, .08))}.recon-card.info{border-color:var(--accent);background:var(--accent-bg, rgba(79, 140, 255, .08))}.recon-card-value{font-size:1.8rem;font-weight:600;color:var(--text-primary)}.recon-card-label{font-size:.82rem;color:var(--text-muted);margin-top:2px}.recon-card-amount{font-size:.9rem;color:var(--text-secondary);margin-top:6px;font-weight:500}.recon-rules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:24px}.recon-rule-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;cursor:pointer;transition:all .15s}.recon-rule-card:hover{border-color:var(--accent);box-shadow:0 2px 8px #00000014}.recon-rule-card.has-issues{border-left:3px solid var(--warning)}.recon-rule-name{font-weight:600;font-size:.92rem;margin-bottom:6px}.recon-rule-stats{display:flex;gap:12px;font-size:.78rem;margin-bottom:4px}.recon-rule-stats .matched{color:var(--positive)}.recon-rule-stats .unmatched{color:var(--warning)}.recon-rule-amount{font-size:.85rem;color:var(--text-secondary);font-weight:500}.recon-suggestions{display:flex;flex-direction:column;gap:8px}.recon-suggestion{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-secondary);border-radius:8px;font-size:.85rem}.suggestion-type{padding:2px 8px;border-radius:4px;font-size:.72rem;font-weight:600;text-transform:uppercase;background:var(--accent);color:#fff}.suggestion-account{font-weight:500}.suggestion-sources{color:var(--text-muted);font-size:.8rem}.suggestion-flow{margin-left:auto;font-size:.8rem;color:var(--text-secondary)}.recon-rules{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px}.recon-rule-selector{display:flex;align-items:center;gap:12px;margin-bottom:20px}.recon-rule-selector label{font-weight:500;font-size:.9rem}.recon-rule-selector select{flex:1;max-width:300px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);font-size:.88rem}.recon-rule-header{margin-bottom:16px}.recon-rule-header h3{margin:0 0 4px;font-size:1.1rem}.recon-rule-header p{margin:0;color:var(--text-muted);font-size:.85rem}.recon-stats-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:12px 16px;background:var(--bg-secondary);border-radius:8px}.recon-stat{display:flex;flex-direction:column;align-items:center;min-width:80px}.recon-stat.warning .stat-value{color:var(--warning)}.stat-value{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.stat-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.recon-matches h4,.recon-unmatched h4{font-size:.95rem;margin:16px 0 10px;color:var(--text-primary)}.recon-match-list{display:flex;flex-direction:column;gap:6px}.recon-match{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:10px 14px;cursor:pointer;transition:all .15s}.recon-match:hover{border-color:var(--accent)}.recon-match.expanded{background:var(--bg-card)}.match-summary{display:flex;align-items:center;gap:16px}.match-date{font-size:.85rem;color:var(--text-secondary);min-width:70px}.match-amount{font-weight:600;font-size:.9rem;min-width:80px}.match-diff{font-size:.78rem;color:var(--text-muted);padding:2px 6px;background:var(--bg-tertiary);border-radius:4px}.match-details{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.match-txn{display:flex;align-items:center;gap:10px;font-size:.82rem;padding:6px 10px;background:var(--bg-primary);border-radius:6px}.match-txn.source{border-left:3px solid var(--danger)}.match-txn.dest{border-left:3px solid var(--positive)}.txn-label{font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);min-width:45px}.txn-acct{font-weight:500;min-width:140px}.txn-desc{color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.txn-cat{color:var(--text-muted);font-size:.78rem}.recon-unmatched{margin-top:20px}.recon-unmatched-list{display:flex;flex-direction:column;gap:4px}.unmatched-txn{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--warning-bg, rgba(245, 158, 11, .08));border-radius:6px;font-size:.82rem}.unmatched-txn .txn-date{color:var(--text-secondary);min-width:60px}.unmatched-txn .txn-amount{font-weight:600;min-width:80px}.unmatched-txn .txn-acct{min-width:130px;color:var(--text-primary)}.unmatched-txn .txn-desc{flex:1;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unmatched-txn .txn-cat{color:var(--text-muted);font-size:.78rem}.recon-custom{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px}.recon-custom h3{margin:0 0 4px;font-size:1.1rem}.recon-custom>p{margin:0 0 20px;color:var(--text-muted);font-size:.85rem}.recon-custom-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px}.recon-custom-form .form-group{display:flex;flex-direction:column;gap:6px;min-width:200px}.recon-custom-form label{font-size:.82rem;font-weight:500;color:var(--text-secondary)}.recon-custom-form select{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);font-size:.88rem}.recon-run-btn{padding:8px 20px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:filter .15s}.recon-run-btn:hover:not(:disabled){filter:brightness(1.1)}.recon-run-btn:disabled{opacity:.5;cursor:not-allowed}.recon-custom-results{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.recon-accounts{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px}.recon-accounts h3{margin:0 0 4px;font-size:1.1rem}.recon-accounts>p{margin:0 0 16px;color:var(--text-muted);font-size:.85rem}.recon-account-list{display:flex;flex-direction:column;gap:4px}.recon-account-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-secondary);border-radius:8px;font-size:.85rem}.recon-account-row .acct-name{font-weight:500;min-width:180px;flex:1}.recon-account-row .acct-type{padding:2px 8px;border-radius:4px;font-size:.72rem;font-weight:600;text-transform:uppercase;min-width:70px;text-align:center}.acct-type.cash{background:#dcfce7;color:#166534}.acct-type.wallet{background:#fef3c7;color:#92400e}.acct-type.credit{background:#fee2e2;color:#991b1b}.acct-type.loan{background:#fce7f3;color:#9d174d}.acct-type.mortgage{background:#ede9fe;color:#5b21b6}.acct-type.retirement{background:#dbeafe;color:#1e40af}.acct-type.brokerage{background:#e0f2fe;color:#0369a1}.recon-account-row .acct-txns{color:var(--text-muted);min-width:60px;text-align:right}.recon-account-row .acct-inflow{color:var(--positive);min-width:90px;text-align:right;font-weight:500}.recon-account-row .acct-outflow{color:var(--danger);min-width:90px;text-align:right;font-weight:500}.recon-type-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.legend-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;font-size:.82rem}.legend-badge{padding:2px 8px;border-radius:4px;font-size:.72rem;font-weight:600;text-transform:uppercase}.legend-item.type-cash .legend-badge{background:#dcfce7;color:#166534}.legend-item.type-wallet .legend-badge{background:#fef3c7;color:#92400e}.legend-item.type-credit .legend-badge{background:#fee2e2;color:#991b1b}.legend-item.type-loan .legend-badge{background:#fce7f3;color:#9d174d}.legend-item.type-mortgage .legend-badge{background:#ede9fe;color:#5b21b6}.legend-item.type-retirement .legend-badge{background:#dbeafe;color:#1e40af}.legend-item.type-brokerage .legend-badge{background:#e0f2fe;color:#0369a1}.legend-desc{color:var(--text-secondary)}.recon-issues{background:var(--warning-bg, rgba(245, 158, 11, .1));border:1px solid var(--warning);border-radius:10px;padding:14px 18px;margin-bottom:20px}.recon-issues h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:.95rem;color:var(--warning)}.recon-issue-list{display:flex;flex-direction:column;gap:6px}.recon-issue{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-card);border-radius:6px;font-size:.85rem}.recon-issue.severity-high{border-left:3px solid #ef4444}.recon-issue.severity-medium{border-left:3px solid #f59e0b}.recon-issue.severity-low{border-left:3px solid #6b7280}.issue-account{font-weight:600;min-width:140px}.issue-message{color:var(--text-secondary)}.recon-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.recon-card{display:flex;align-items:center;gap:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px 20px}.recon-card svg{color:var(--text-muted);flex-shrink:0}.recon-card.success{border-color:#22c55e}.recon-card.warning{border-color:#f59e0b}.recon-card.info{border-color:var(--accent)}.recon-card.info svg{color:var(--accent)}.recon-card-content{flex:1}.recon-card-value{font-size:1.3rem;font-weight:600;color:var(--text-primary);text-transform:capitalize}.recon-card-label{font-size:.78rem;color:var(--text-muted);margin-top:2px}.recon-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:0;overflow-x:auto}.recon-tab{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:none;font-size:.88rem;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap}.recon-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.recon-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:none}.recon-tab svg{opacity:.7}.recon-tab.active svg{opacity:1}.recon-section{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;overflow:hidden}.recon-section-header{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;background:none;border:none;cursor:pointer;font-size:.95rem;color:var(--text-primary);text-align:left}.recon-section-header:hover{background:var(--bg-hover)}.section-toggle{color:var(--text-muted);display:flex}.section-icon{color:var(--text-muted)}.section-title{font-weight:600;flex:1}.section-subtitle{font-size:.82rem;color:var(--text-muted)}.recon-section-content{padding:0 16px 16px;border-top:1px solid var(--border)}.recon-account-summary{padding:14px;background:var(--bg-secondary);border-radius:8px;margin-top:12px}.recon-account-summary:first-child{margin-top:0}.account-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.account-name{font-weight:600;flex:1}.match-rate{font-size:.82rem;color:var(--text-muted)}.account-metrics{display:flex;flex-wrap:wrap;gap:16px}.account-metrics .metric{display:flex;flex-direction:column;min-width:100px}.account-metrics .metric-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.account-metrics .metric-value{font-size:1rem;font-weight:600}.metric-value.income{color:var(--positive, #22c55e)}.metric-value.expense{color:var(--danger, #ef4444)}.metric-value.warning{color:var(--warning, #f59e0b)}.recon-detail-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}.detail-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.detail-header h3{margin:0;font-size:1.1rem;flex:1}.match-badge,.total-badge{font-size:.8rem;padding:4px 10px;background:var(--bg-secondary);border-radius:12px;color:var(--text-secondary)}.detail-summary{background:var(--bg-secondary);border-radius:8px;padding:12px 16px;margin-bottom:16px}.summary-row{display:flex;justify-content:space-between;padding:6px 0;font-size:.9rem}.summary-row.total{border-top:1px solid var(--border);margin-top:6px;padding-top:10px;font-weight:600}.summary-row .value{font-weight:500}.summary-row .value.income{color:var(--positive)}.summary-row .value.expense{color:var(--danger)}.recon-detail-card h4{font-size:.9rem;margin:16px 0 10px;color:var(--text-primary)}.monthly-table{font-size:.85rem}.monthly-header{display:grid;grid-template-columns:80px repeat(4,1fr);gap:8px;padding:8px 12px;background:var(--bg-secondary);border-radius:6px 6px 0 0;font-weight:600;font-size:.78rem;color:var(--text-muted);text-transform:uppercase}.monthly-row{display:grid;grid-template-columns:80px repeat(4,1fr);gap:8px;padding:8px 12px;border-bottom:1px solid var(--border)}.monthly-row:last-child{border-bottom:none}.monthly-row span{text-align:right}.monthly-row span:first-child{text-align:left;font-weight:500}.monthly-row .income{color:var(--positive)}.monthly-row .expense{color:var(--danger)}.txn-list{display:flex;flex-direction:column;gap:4px}.txn-list.warning{background:var(--warning-bg, rgba(245, 158, 11, .08));border-radius:8px;padding:8px}.txn-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-secondary);border-radius:6px;font-size:.82rem}.txn-date{color:var(--text-muted);min-width:60px}.txn-amount{font-weight:600;min-width:80px;text-align:right}.txn-amount.income{color:var(--positive)}.txn-amount.expense{color:var(--danger)}.txn-cat{padding:2px 8px;background:var(--bg-tertiary);border-radius:10px;font-size:.75rem;color:var(--text-secondary)}.txn-desc{flex:1;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-list{display:flex;flex-direction:column;gap:4px}.match-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;font-size:.85rem}.match-date{color:var(--text-muted);min-width:60px}.match-amount{font-weight:600;min-width:80px}.match-arrow{color:var(--text-muted);display:flex}.match-bank{flex:1;color:var(--text-secondary)}.match-diff{font-size:.75rem;padding:2px 6px;background:var(--bg-tertiary);border-radius:4px;color:var(--text-muted)}.match-diff.same{background:#dcfce7;color:#166534}.recon-transfer-pairs,.transfer-pairs-table{display:flex;flex-direction:column;gap:4px}.transfer-pair,.pair-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-secondary);border-radius:6px;font-size:.85rem}.pair-accounts,.pair-name{flex:1;font-weight:500}.pair-count{color:var(--text-muted);font-size:.8rem}.pair-total{font-weight:600;min-width:100px;text-align:right}.transfer-list{display:flex;flex-direction:column;gap:4px}.transfer-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;font-size:.85rem}.transfer-date{color:var(--text-muted);min-width:60px}.transfer-from,.transfer-to{min-width:140px}.transfer-from{color:var(--danger)}.transfer-to{color:var(--positive)}.transfer-arrow{color:var(--text-muted);display:flex}.transfer-amount{font-weight:600;min-width:90px;text-align:right}.transfer-diff{font-size:.75rem;padding:2px 6px;background:var(--bg-tertiary);border-radius:4px;color:var(--text-muted)}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.account-flow-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.afc-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.afc-type{padding:3px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.afc-name{font-weight:600;font-size:.9rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.afc-stats{display:flex;gap:12px}.afc-stat{display:flex;flex-direction:column;flex:1}.afc-stat .label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase}.afc-stat .value{font-size:.9rem;font-weight:600}.afc-stat .value.income{color:var(--positive)}.afc-stat .value.expense{color:var(--danger)}.recon-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:.95rem}@media (max-width: 768px){.recon-page{padding:16px 12px}.recon-tabs{overflow-x:auto;padding-bottom:8px}.recon-tab{padding:8px 12px;font-size:.82rem}.recon-summary-cards{grid-template-columns:repeat(2,1fr);gap:10px}.recon-card{padding:12px;flex-direction:column;text-align:center}.account-metrics{gap:10px}.account-metrics .metric{min-width:80px}.monthly-header,.monthly-row{grid-template-columns:60px repeat(4,1fr);font-size:.75rem}.txn-row{flex-wrap:wrap;gap:6px}.match-row,.transfer-row{flex-wrap:wrap}.accounts-grid{grid-template-columns:1fr}}:root{--mobile-spacing: 12px;--mobile-spacing-sm: 8px;--mobile-spacing-lg: 16px;--touch-target-min: 44px;--bottom-nav-height: 56px;--mobile-header-height: 56px;--mobile-border-radius: 12px;--mobile-card-shadow: 0 1px 3px rgba(0,0,0,.1)}.mobile-only{display:none!important}.desktop-only{display:block}@media (max-width: 768px){.mobile-only{display:block!important}.desktop-only{display:none!important}.mobile-flex{display:flex!important}.mobile-grid{display:grid!important}.mobile-hidden{display:none!important}}.view-toggle{display:inline-flex;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:3px;gap:2px}.view-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease;min-height:var(--touch-target-min)}.view-toggle-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.view-toggle-btn.active{background:var(--accent);color:#fff}.view-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.view-toggle-label{display:inline}.view-toggle-desktop-hint{color:#ffffffb3;margin-left:2px}.view-toggle-compact .view-toggle-btn{padding:8px}.view-toggle-compact .view-toggle-label{display:none}@media (max-width: 480px){.view-toggle-label{display:none}.view-toggle-btn{padding:8px 10px}}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:var(--bg-card);border-top:1px solid var(--border);z-index:900;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.bottom-nav-inner{display:flex;justify-content:space-around;align-items:center;height:100%;max-width:500px;margin:0 auto}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 12px;color:var(--text-muted);text-decoration:none;font-size:.68rem;font-weight:500;min-width:var(--touch-target-min);min-height:var(--touch-target-min);border-radius:8px;transition:color .15s,background .15s}.bottom-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-item.active .bottom-nav-icon{background:var(--accent-light);color:var(--accent)}.bottom-nav-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;position:relative}.bottom-nav-label{white-space:nowrap}.bottom-nav-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;background:var(--negative);color:#fff;font-size:.6rem;font-weight:600;border-radius:8px;display:flex;align-items:center;justify-content:center}@media (max-width: 768px){.bottom-nav{display:block}.main-content{padding-bottom:calc(var(--bottom-nav-height) + 16px)!important}.sidebar-footer{display:none}}.txn-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--mobile-border-radius);padding:var(--mobile-spacing);margin-bottom:8px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.txn-card:hover{border-color:var(--accent)}.txn-card:active{transform:scale(.995)}.txn-card.selected{border-color:var(--accent);background:var(--accent-light)}.txn-card.needs-review{border-left:3px solid var(--warning)}.txn-card-main{display:flex;align-items:center;gap:10px}.txn-card-checkbox{display:flex;align-items:center;justify-content:center;width:var(--touch-target-min);height:var(--touch-target-min);background:none;border:none;cursor:pointer;padding:0;flex-shrink:0}.txn-card-checkbox .checkbox-inner{width:20px;height:20px;border:2px solid var(--border);border-radius:4px;transition:all .15s}.txn-card-checkbox .checkbox-inner.checked{background:var(--accent);border-color:var(--accent)}.txn-card-checkbox .checkbox-inner.checked:after{content:"";display:block;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);margin:2px auto 0}.txn-card-content{flex:1;min-width:0}.txn-card-row1{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.txn-card-merchant{font-weight:600;font-size:.95rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.txn-card-amount{font-weight:700;font-size:1rem;white-space:nowrap}.txn-card-amount.positive{color:var(--positive)}.txn-card-amount.negative{color:var(--text-primary)}.txn-card-row2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.txn-card-date,.txn-card-account{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--text-muted)}.txn-card-category{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.txn-card-category:hover{border-color:var(--accent);color:var(--accent)}.txn-card-category-select{padding:4px 8px;font-size:.78rem;border:1px solid var(--accent);border-radius:8px;background:var(--bg-card);color:var(--text-primary);min-width:120px}.txn-card-indicators{display:flex;align-items:center;gap:4px;flex-shrink:0;color:var(--text-muted)}.txn-card-indicators .indicator-anomaly{color:var(--warning)}.txn-card-indicators .indicator-bill{color:var(--accent)}.txn-card-indicators .indicator-note{color:var(--text-muted)}.txn-card-indicators .indicator-review{color:var(--warning)}.txn-card-indicators .expand-icon{transition:transform .2s}.txn-card-indicators .expand-icon.rotated{transform:rotate(180deg)}.txn-card-details{margin-top:var(--mobile-spacing);padding-top:var(--mobile-spacing);border-top:1px solid var(--border)}.txn-card-detail-row{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0;font-size:.82rem}.txn-card-detail-row .detail-label{color:var(--text-muted);flex-shrink:0;margin-right:12px}.txn-card-detail-row .detail-value{color:var(--text-primary);text-align:right;word-break:break-word}.txn-card-detail-row .detail-value.mono{font-family:monospace;font-size:.75rem}.txn-card-detail-row.anomaly{background:var(--warning-bg);margin:4px -8px;padding:8px;border-radius:6px}.txn-card-detail-row.bill{background:var(--accent-light);margin:4px -8px;padding:8px;border-radius:6px}.txn-card-actions{display:flex;gap:8px;margin-top:var(--mobile-spacing);flex-wrap:wrap}.txn-card-action{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:all .15s;min-height:var(--touch-target-min)}.txn-card-action:hover{background:var(--bg-hover);border-color:var(--text-muted)}.txn-card-action.active{background:var(--warning-bg);border-color:var(--warning);color:var(--warning)}.txn-card-compact{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s}.txn-card-compact:hover{border-color:var(--accent)}.txn-compact-desc{flex:1;font-weight:500;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.txn-compact-date{font-size:.78rem;color:var(--text-muted)}.txn-compact-amount{font-weight:600;font-size:.9rem}.txn-compact-amount.positive{color:var(--positive)}.txn-compact-amount.negative{color:var(--text-primary)}@media (max-width: 768px){.mobile-header{height:var(--mobile-header-height);padding:0 var(--mobile-spacing);display:flex;align-items:center;gap:12px;background:var(--bg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.mobile-header .menu-button,.mobile-header .refresh-btn{min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.mobile-title{flex:1;display:flex;align-items:center;gap:8px;font-weight:600;font-size:1.1rem}}.card-list{display:flex;flex-direction:column;gap:8px;padding:var(--mobile-spacing)}.card-list-header{display:flex;justify-content:space-between;align-items:center;padding:var(--mobile-spacing);background:var(--bg-secondary);border-radius:var(--mobile-border-radius);margin-bottom:var(--mobile-spacing-sm)}.card-list-title{font-weight:600;font-size:.95rem}.card-list-count{font-size:.82rem;color:var(--text-muted)}@media (max-width: 768px){button,a,[role=button]{min-height:44px}.filter-pill,.status-pill,.tag-pill{padding:8px 14px;font-size:.85rem}input[type=text],input[type=number],input[type=date],input[type=search],select,textarea{font-size:16px;padding:12px;min-height:var(--touch-target-min)}.dropdown-menu{min-width:200px}.dropdown-item{padding:12px 16px;min-height:var(--touch-target-min)}}@media (max-width: 768px){.page-container,.dash2-page,.txn2-page,.acct2-page,.balhist2-page,.trend2-page,.budget-page,.equity-page,.payroll-page,.debt-page,.bill-manager-page,.review-page,.categorize-page,.training-page,.settings-page,.diag-page{padding:var(--mobile-spacing)!important;padding-bottom:calc(var(--bottom-nav-height) + var(--mobile-spacing-lg))!important}.page-header,.dash2-header,.txn2-header,.acct2-header{flex-direction:column;align-items:flex-start!important;gap:var(--mobile-spacing)!important}.page-title,h1{font-size:1.4rem!important}.dash2-grid,.card-grid,.widget-grid{grid-template-columns:1fr!important;gap:var(--mobile-spacing)!important}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--mobile-spacing));padding:0 var(--mobile-spacing)}.table-toolbar-desktop,.column-picker,.resize-handle{display:none}}@media (max-width: 768px){.sidebar{width:280px;transform:translate(-100%);transition:transform .3s ease;z-index:1001}.sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;opacity:1;transition:opacity .3s}.sidebar-nav{padding:var(--mobile-spacing)}.nav-item{min-height:var(--touch-target-min);padding:12px 16px}.sidebar-collapse-btn{display:none}}.duplicate-alert-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--warning-bg);border:1px solid var(--warning);border-radius:10px;margin-bottom:var(--mobile-spacing)}.duplicate-alert-icon{color:var(--warning);flex-shrink:0}.duplicate-alert-content{flex:1}.duplicate-alert-title{font-weight:600;font-size:.9rem;color:var(--text-primary)}.duplicate-alert-subtitle{font-size:.8rem;color:var(--text-secondary);margin-top:2px}.duplicate-alert-action{padding:8px 14px;background:var(--warning);color:#fff;border:none;border-radius:6px;font-size:.82rem;font-weight:500;cursor:pointer;white-space:nowrap}.duplicate-alert-action:hover{filter:brightness(1.1)}.empty-state-mobile{text-align:center;padding:40px 20px}.empty-state-icon{width:64px;height:64px;margin:0 auto 16px;color:var(--text-muted);opacity:.5}.empty-state-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-state-desc{font-size:.9rem;color:var(--text-muted);max-width:280px;margin:0 auto}.loading-skeleton{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-hover) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{height:80px;margin-bottom:8px;border-radius:var(--mobile-border-radius)}.skeleton-row{height:48px;margin-bottom:4px}.pull-indicator{text-align:center;padding:12px;color:var(--text-muted);font-size:.82rem}.pull-indicator svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.dash2-grid{display:flex!important;flex-direction:column;gap:var(--mobile-spacing)}.dash2-hero{flex-direction:column;gap:var(--mobile-spacing);padding:var(--mobile-spacing)}.dash2-hero-stat{width:100%;text-align:center}.dash2-card{margin-bottom:var(--mobile-spacing)}.dash2-bs-mini{padding:var(--mobile-spacing)}.dash2-bs-mini-grid{grid-template-columns:1fr!important;gap:var(--mobile-spacing-sm)}.dash2-recent-header{flex-direction:column;align-items:flex-start;gap:var(--mobile-spacing-sm)}.dash2-nw-chart{height:200px!important}.dash2-widget-toggle{flex-wrap:wrap;gap:var(--mobile-spacing-sm)}}@media (max-width: 768px){.acct2-page{padding:var(--mobile-spacing);padding-bottom:calc(var(--bottom-nav-height) + 24px)}.acct2-grid{grid-template-columns:1fr!important}.acct2-group-card{margin-bottom:var(--mobile-spacing)}.acct2-account-row{flex-wrap:wrap;gap:8px;padding:12px}.acct2-account-name{flex:1 1 100%;margin-bottom:4px}.acct2-account-balance{font-size:1.1rem}.acct2-trend-indicator{font-size:.75rem}.acct2-summary-bar{flex-wrap:wrap;gap:12px;padding:var(--mobile-spacing)}.acct2-summary-item{flex:1 1 45%;min-width:120px}}@media (max-width: 768px){.trend2-page{padding:var(--mobile-spacing);padding-bottom:calc(var(--bottom-nav-height) + 24px)}.trend2-controls-row{flex-direction:column;gap:var(--mobile-spacing)}.trend2-controls-left,.trend2-controls-right{width:100%;flex-wrap:wrap}.trend2-segment{width:100%;overflow-x:auto}.trend2-select-wrap{flex:1 1 100%}.trend2-chart-area{height:250px!important;margin:0 calc(-1 * var(--mobile-spacing));padding:0 var(--mobile-spacing)}.trend2-breakdown-grid{grid-template-columns:1fr!important}.trend2-drill-header{flex-direction:column;align-items:flex-start;gap:var(--mobile-spacing-sm)}}@media (max-width: 768px){.bm-page,.bill-manager-page{padding:var(--mobile-spacing);padding-bottom:calc(var(--bottom-nav-height) + 24px)}.bm-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin:0 calc(-1 * var(--mobile-spacing));padding-left:var(--mobile-spacing);padding-right:var(--mobile-spacing)}.bm-tab{white-space:nowrap;flex-shrink:0;min-height:var(--touch-target-min)}.bm-cards-grid{grid-template-columns:1fr!important}.bm-bill-card{padding:var(--mobile-spacing)}.bm-calendar-grid{font-size:.75rem}.bm-calendar-day{min-height:50px;padding:4px}}@media (max-width: 768px){.payroll-page{padding:var(--mobile-spacing);padding-bottom:calc(var(--bottom-nav-height) + 24px)}.payroll-header{flex-direction:column;align-items:flex-start;gap:var(--mobile-spacing)}.payroll-tables-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--mobile-spacing));padding:0 var(--mobile-spacing)}.payroll-table{min-width:600px;font-size:.78rem}.payroll-year-pills{flex-wrap:wrap;gap:var(--mobile-spacing-sm)}.payroll-charts{flex-direction:column}.payroll-chart{width:100%!important;height:200px!important}}@media (max-width: 768px){.equity-page{padding:var(--mobile-spacing);padding-bottom:calc(var(--bottom-nav-height) + 24px)}.equity-header{flex-direction:column;align-items:flex-start;gap:var(--mobile-spacing)}.equity-summary-cards{grid-template-columns:1fr 1fr!important;gap:var(--mobile-spacing-sm)}.equity-summary-card{padding:var(--mobile-spacing)}.equity-tables-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.equity-table{min-width:500px;font-size:.78rem}}@media (max-width: 768px){.settings-page{padding:var(--mobile-spacing);padding-bottom:calc(var(--bottom-nav-height) + 24px)}.settings-layout{flex-direction:column}.settings-sidebar{width:100%;position:static;border-right:none;border-bottom:1px solid var(--border);padding-bottom:var(--mobile-spacing);margin-bottom:var(--mobile-spacing)}.settings-sidebar-nav{display:flex;flex-wrap:wrap;gap:var(--mobile-spacing-sm)}.settings-sidebar-item{flex:1 1 auto;min-width:100px;text-align:center}.settings-content{padding:0}.settings-section{padding:var(--mobile-spacing)}}@media (max-width: 768px){.categorize-header{flex-direction:column;align-items:flex-start;gap:var(--mobile-spacing)}.categorize-controls{width:100%;flex-wrap:wrap;gap:var(--mobile-spacing-sm)}.categorize-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--mobile-spacing));padding:0 var(--mobile-spacing)}.categorize-drop-zones{flex-direction:column}.categorize-drop-zone{width:100%;min-height:150px}.categorize-v3{padding:var(--mobile-spacing);padding-bottom:calc(var(--bottom-nav-height) + 24px)}.cat3-header{flex-direction:column;gap:var(--mobile-spacing)}.cat3-title-row{flex-direction:column;align-items:flex-start;gap:8px}.cat3-title-row h1{font-size:1.25rem}.cat3-quick-stats{flex-wrap:wrap;gap:8px;font-size:.8rem}.cat3-actions{width:100%;flex-wrap:wrap;gap:var(--mobile-spacing-sm)}.cat3-btn{min-height:var(--touch-target-min);padding:10px 16px;flex:1 1 45%;justify-content:center}.cat3-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin:0 calc(-1 * var(--mobile-spacing));padding-left:var(--mobile-spacing);padding-right:var(--mobile-spacing)}.cat3-tab{white-space:nowrap;flex-shrink:0;min-height:var(--touch-target-min);padding:10px 16px}.categorize-v3 .categorize-toolbar-v2{flex-direction:column;gap:var(--mobile-spacing)}.categorize-v3 .toolbar-filters{width:100%;flex-wrap:wrap}.categorize-v3 .filter-select-v2{min-height:var(--touch-target-min);flex:1 1 45%;min-width:120px}.categorize-v3 .search-box-v2{width:100%}.categorize-v3 .search-box-v2 input{min-height:var(--touch-target-min)}.categorize-v3 .cat2-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--mobile-spacing));padding:0 var(--mobile-spacing)}.categorize-v3 .cat2-table{min-width:600px;font-size:.78rem}.categorize-v3 .cat2-td-prediction .category-select{min-height:var(--touch-target-min);font-size:.9rem}.categorize-v3 .batch-action-bar{flex-wrap:wrap;gap:var(--mobile-spacing-sm);padding:var(--mobile-spacing)}.categorize-v3 .batch-action-bar button{min-height:var(--touch-target-min);flex:1 1 45%}}@media (max-width: 768px){.review-header{flex-direction:column;align-items:flex-start;gap:var(--mobile-spacing)}.review-card{padding:var(--mobile-spacing)}.review-card-header{flex-wrap:wrap;gap:8px}.review-actions{width:100%;flex-wrap:wrap;gap:var(--mobile-spacing-sm)}.review-action-btn{flex:1 1 auto;min-width:100px;justify-content:center}}@media (max-width: 768px){.training-page{padding:var(--mobile-spacing);padding-bottom:calc(var(--bottom-nav-height) + 24px)}.training-header{flex-direction:column;align-items:flex-start;gap:var(--mobile-spacing)}.training-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin:0 calc(-1 * var(--mobile-spacing));padding-left:var(--mobile-spacing);padding-right:var(--mobile-spacing)}.training-tab{white-space:nowrap;flex-shrink:0;min-height:var(--touch-target-min);padding:10px 16px}.training-stats-grid{grid-template-columns:1fr 1fr!important;gap:var(--mobile-spacing-sm)}.training-stat-card{padding:var(--mobile-spacing)}.training-controls{flex-wrap:wrap;gap:var(--mobile-spacing-sm)}.training-controls button{min-height:var(--touch-target-min);flex:1 1 45%;justify-content:center}.training-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--mobile-spacing));padding:0 var(--mobile-spacing)}.training-table{min-width:500px;font-size:.78rem}.audit-merchant-row{flex-wrap:wrap;gap:8px;padding:var(--mobile-spacing)}.batch-review-panel{padding:var(--mobile-spacing)}.batch-review-panel button{min-height:var(--touch-target-min)}}@media (max-width: 768px){.balhist2-page{padding:var(--mobile-spacing);padding-bottom:calc(var(--bottom-nav-height) + 24px)}.balhist2-header{flex-direction:column;align-items:flex-start;gap:var(--mobile-spacing)}.balhist2-controls{width:100%;flex-wrap:wrap;gap:var(--mobile-spacing-sm)}.balhist2-chart-container{height:250px!important;margin:0 calc(-1 * var(--mobile-spacing));padding:0}.balhist2-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--mobile-spacing));padding:0 var(--mobile-spacing)}.balhist2-table{min-width:500px;font-size:.78rem}}@media (max-width: 768px){.diag-header{flex-direction:column;align-items:flex-start;gap:var(--mobile-spacing)}.diag-actions{width:100%;flex-wrap:wrap}.diag-btn{flex:1 1 auto;justify-content:center}.diag-summary{flex-wrap:wrap;gap:var(--mobile-spacing-sm);font-size:.78rem}.diag-category-header{padding:var(--mobile-spacing)}.diag-test-list{font-size:.82rem}}@media (max-width: 768px){.debt-page{padding:var(--mobile-spacing);padding-bottom:calc(var(--bottom-nav-height) + 24px)}.debt-header{flex-direction:column;align-items:flex-start;gap:var(--mobile-spacing)}.debt-summary-grid{grid-template-columns:1fr 1fr!important;gap:var(--mobile-spacing-sm)}.debt-summary-grid .summary-card{padding:var(--mobile-spacing);flex-direction:column;align-items:flex-start;gap:8px}.debt-summary-grid .summary-card.hero{grid-column:1 / -1;flex-direction:row;align-items:center}.debt-summary-grid .card-icon{width:36px;height:36px}.debt-summary-grid .card-content .label{font-size:.7rem}.debt-summary-grid .card-content .value{font-size:1rem}.debt-summary-cards{grid-template-columns:1fr 1fr!important;gap:var(--mobile-spacing-sm)}.debt-card{padding:var(--mobile-spacing)}.debt-charts{flex-direction:column;gap:var(--mobile-spacing)}.debt-chart-card{min-height:250px}.debt-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--mobile-spacing));padding:0 var(--mobile-spacing)}.debt-table{min-width:500px;font-size:.78rem}.debt-table .table-row{min-height:var(--touch-target-min)}.debt-group .group-header{min-height:var(--touch-target-min);padding:var(--mobile-spacing)}.debt-group .group-title h3{font-size:.9rem}.debt-liquidity-dashboard{grid-template-columns:1fr!important}.debt-actions button,.payoff-order .order-item{min-height:var(--touch-target-min)}}@media (max-width: 768px){.txn2-header{padding:var(--mobile-spacing)}.txn2-header-actions{width:100%;justify-content:space-between}.txn2-summary{flex-wrap:wrap;gap:var(--mobile-spacing-sm);padding:var(--mobile-spacing)}.txn2-summary-item{flex:1 1 30%;min-width:80px;text-align:center;flex-direction:column;align-items:center;gap:2px}.txn2-summary-sep{display:none}.txn2-filter-bar{flex-direction:column;gap:var(--mobile-spacing);padding:var(--mobile-spacing)}.txn2-search{width:100%}.txn2-filters{display:flex;flex-wrap:wrap;gap:var(--mobile-spacing-sm);width:100%}.txn2-filter-item{flex:1 1 45%;min-width:120px}.txn2-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--mobile-spacing));padding:0}.txn2-table{min-width:600px;font-size:.78rem}.txn2-review-container{padding:var(--mobile-spacing)}.txn2-review-card{padding:var(--mobile-spacing);margin-bottom:var(--mobile-spacing-sm)}.txn2-review-line1{flex-wrap:wrap;gap:8px}.txn2-review-line2{flex-wrap:wrap;gap:6px;margin-top:8px}.txn2-review-desc{flex:1 1 100%;margin-bottom:4px;font-size:.9rem}.txn2-review-amount{font-size:1.05rem;font-weight:600}.txn2-pagination{flex-wrap:wrap;gap:var(--mobile-spacing-sm);justify-content:center;padding:var(--mobile-spacing)}}.dash2-hero-mobile{grid-template-columns:1fr!important;gap:12px}.dash2-hero-mobile .dash2-hero-card{min-height:44px;padding:14px 16px}.dash2-hero-mobile .dash2-hero-label{font-size:.75rem}.dash2-hero-mobile .dash2-hero-value{font-size:1.4rem}@media (max-width: 768px){.dash2-page{padding:12px 12px 80px}.dash2-trend-row{grid-template-columns:1fr!important}.dash2-section{padding:14px}.dash2-vis-control{margin-bottom:12px}.dash2-vis-btn{min-height:44px;padding:10px 16px}.dash2-gear-btn,.dash2-see-all,.dash2-ws-close{min-width:44px;min-height:44px}}.budget-scroll-hint{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--accent-light);color:var(--accent);font-size:.78rem;font-weight:500;border-radius:8px;margin-bottom:8px;animation:budget-hint-fade 3s ease-out forwards}@keyframes budget-hint-fade{0%,70%{opacity:1}to{opacity:0;pointer-events:none}}.budget-scroll-hint svg{animation:budget-hint-bounce 1s ease-in-out infinite}@keyframes budget-hint-bounce{0%,to{transform:translate(0)}50%{transform:translate(4px)}}.budget-table-mobile{-webkit-overflow-scrolling:touch}@media (max-width: 768px){.budget-page{padding:8px}.budget-page .page-header{flex-direction:column;align-items:flex-start;gap:12px}.budget-page .toolbar{flex-wrap:wrap;gap:6px}.budget-page .toolbar .btn-tool{min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:8px}.budget-page .toolbar .segmented-control{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.budget-table-wrapper{margin:0 -8px;border-radius:0;border-left:none;border-right:none}.budget-table-light{font-size:.75rem}.budget-table-light .sticky-col{min-width:120px;max-width:140px}.budget-table-light th,.budget-table-light td{padding:6px 8px}.budget-table-light .cell-number{min-width:60px}.budget-table-light .row-header,.budget-table-light .row-group,.budget-table-light .row-detail{min-height:var(--touch-target-min)}.budget-summary-bar{flex-direction:column;gap:8px}.budget-summary-bar .metric{padding:8px 12px}.budget-table-light .analytics-gap{display:none}.budget-page .modal-light{max-width:100%;max-height:100%;border-radius:0;margin:0}}@media (max-width: 768px){.txn2-icon-btn{width:var(--touch-target-min);height:var(--touch-target-min)}.txn2-filter-btn{min-height:var(--touch-target-min);padding:10px 14px;font-size:.85rem}.txn2-filter-btn.compact{min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:10px}.txn2-view-toggle{gap:4px}.txn2-view-btn{min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:8px 12px}.txn2-check-btn{min-width:var(--touch-target-min);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.txn2-review-cat-edit select{min-height:var(--touch-target-min);padding:8px 12px;font-size:1rem}.txn2-review-cat{min-height:36px;padding:6px 10px;font-size:.85rem}.txn2-pagination button{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.txn2-pagination select{min-height:var(--touch-target-min);padding:8px 12px}.txn2-header{flex-direction:column;align-items:flex-start;gap:12px}.txn2-header-actions{width:100%;justify-content:space-between}.txn2-review-card{border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:10px;border:1px solid var(--border)}.txn2-review-card:active{transform:scale(.98);transition:transform .1s}.dash2-page{padding:var(--mobile-spacing);padding-bottom:calc(var(--bottom-nav-height) + 24px)}.dash2-section-title{font-size:1rem;padding:12px 0}.dash2-metric-card,.dash2-widget-card{border-radius:12px}.duplicate-alert-banner{flex-wrap:wrap;border-radius:12px}.duplicate-alert-action{min-height:var(--touch-target-min);width:100%;margin-top:8px}.bm-tab-btn{min-height:var(--touch-target-min);padding:10px 16px}.settings-section button,.settings-section select{min-height:var(--touch-target-min)}.modal-overlay{padding:var(--mobile-spacing);align-items:flex-end}.modal-content{border-radius:16px 16px 0 0;max-height:90vh;margin-bottom:0}.modal-header{padding:16px;position:sticky;top:0;background:var(--bg-card);z-index:10}.modal-close{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}button:not(.inline-btn):not(.link-btn){min-height:40px}select,input[type=text],input[type=search],input[type=number],input[type=date]{min-height:40px;padding:8px 12px}.acct2-account-card{min-height:var(--touch-target-min)}.txn2-review-card.duplicate{border-left:3px solid var(--warning);background:#ef44440d}.txn2-icon-dup{color:var(--warning)}.trend2-filters select,.trend2-filters button{min-height:var(--touch-target-min)}.pull-refresh-hint{text-align:center;padding:8px;color:var(--text-secondary);font-size:.75rem}}@media (max-width: 480px){.txn2-header h1{font-size:1.25rem}.txn2-count{font-size:.75rem}.txn2-summary{font-size:.8rem}.txn2-summary-value{font-size:1rem}.txn2-review-desc{font-size:.95rem;line-height:1.4}.txn2-review-amount{font-size:1.1rem}.txn2-filter-controls{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.txn2-filter-btn{justify-content:center}.dash2-hero{grid-template-columns:1fr!important}.dash2-metric-card,.dash2-widget-card{margin:0 calc(-1 * var(--mobile-spacing-sm));border-radius:0;border-left:none;border-right:none}}@media (max-width: 768px){.review-page-v2{padding:var(--mobile-spacing);padding-bottom:calc(var(--bottom-nav-height) + 24px)}.review-toolbar-v2{flex-direction:column;gap:var(--mobile-spacing)}.review-toolbar-v2 .search-box{width:100%}.review-toolbar-v2 .filters-row{width:100%;flex-wrap:wrap;gap:var(--mobile-spacing-sm)}.review-toolbar-v2 select,.review-toolbar-v2 .filter-select{min-height:var(--touch-target-min);flex:1 1 45%;min-width:120px}.review-row-v2{display:flex;flex-direction:column;gap:8px;padding:var(--mobile-spacing);margin-bottom:var(--mobile-spacing-sm);background:var(--bg-card);border-radius:12px;border:1px solid var(--border);box-shadow:0 1px 3px #00000014}.review-row-v2:active{transform:scale(.98);transition:transform .1s}.review-header{display:none}.row-description-v2{font-size:.95rem;font-weight:500;order:1}.row-status-v2{position:absolute;top:var(--mobile-spacing);right:var(--mobile-spacing)}.review-row-v2{position:relative}.row-amount-v2{font-size:1.1rem;font-weight:600;order:2}.row-date-v2,.row-account-v2{display:inline;font-size:.8rem;color:var(--text-secondary)}.row-category-v2{width:100%;order:4}.row-category-v2 .category-select{min-height:var(--touch-target-min);font-size:1rem;padding:10px 12px}.row-actions-v2{display:flex;gap:8px;order:5;margin-top:8px}.row-actions-v2 button{flex:1;min-height:var(--touch-target-min);justify-content:center}.review-bulk-bar{flex-wrap:wrap;gap:var(--mobile-spacing-sm);padding:var(--mobile-spacing)}.review-bulk-bar button{min-height:var(--touch-target-min);flex:1 1 45%}.review-info-banner{padding:var(--mobile-spacing);font-size:.85rem}.review-tabs,.tab-pills{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin:0 calc(-1 * var(--mobile-spacing));padding-left:var(--mobile-spacing);padding-right:var(--mobile-spacing)}.tab-pill{white-space:nowrap;flex-shrink:0;min-height:var(--touch-target-min);padding:10px 16px}}html,body{overflow-x:hidden!important;width:100%!important;max-width:100vw!important}@media (max-width: 1024px){.app-layout .sidebar:not(.open){display:none!important;visibility:hidden!important;width:0!important;transform:translate(-100%)!important}.app-layout .sidebar.open{display:flex!important;visibility:visible!important;width:var(--sidebar-width)!important;transform:translate(0)!important;position:fixed!important;top:0!important;left:0!important;height:100vh!important;z-index:9999!important}.sidebar-overlay{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;background:#00000080!important;z-index:9998!important}.app-layout .main-content{margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.app-layout{display:block!important;width:100%!important;max-width:100vw!important;overflow-x:hidden!important}.app-layout.sidebar-collapsed .main-content{margin-left:0!important;max-width:100%!important}}@media (max-width: 768px){.mobile-header{display:flex!important;position:fixed!important;top:0!important;left:0!important;right:0!important;height:56px!important;background:var(--bg-card)!important;border-bottom:1px solid var(--border)!important;z-index:100!important;padding:0 12px!important;align-items:center!important;justify-content:space-between!important}.bottom-nav{display:block!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important;height:56px!important;background:var(--bg-card)!important;border-top:1px solid var(--border)!important;z-index:1000!important;padding-bottom:env(safe-area-inset-bottom,0)!important}.bottom-nav-inner{display:flex!important;justify-content:space-around!important;align-items:center!important;height:100%!important}.app-layout .main-content{padding:68px 12px 72px!important;margin:0!important;width:100%!important;max-width:100%!important;min-height:100vh!important;box-sizing:border-box!important}.dash2-page,.txn2-page,.trend2-page,.acct2-page,.balhist2-page,.budget-page,.equity-page,.payroll-page,.debt-page,.bm-page,.review-page-v2,.categorize-page,.training-page,.settings-page,.diag-page,.recon-page{width:100%!important;max-width:100%!important;padding:0!important;margin:0!important;box-sizing:border-box!important;overflow-x:hidden!important}.budget-table,.payroll-table,.equity-table,.debt-table,.bm-table,table{display:block;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;max-width:100%!important}.page-header,.filter-bar,.controls-row,.header-actions,.txn2-filters{flex-wrap:wrap!important;gap:8px!important}.button-group,.action-buttons,.header-buttons{flex-wrap:wrap!important;gap:6px!important}.dash2-hero-cards,.stats-grid,.summary-cards{grid-template-columns:1fr 1fr!important;gap:8px!important}.dash2-widgets,.widget-grid{grid-template-columns:1fr!important;gap:12px!important}}@media (max-width: 480px){.app-layout .main-content{padding:62px 8px 68px!important}.dash2-hero-cards,.stats-grid{grid-template-columns:1fr!important}.dash2-hero-value{font-size:1.5rem!important}.bottom-nav-label{font-size:.65rem!important}.mobile-header .mobile-title span{font-size:.9rem!important}}.cat-mobile-cards,.cat-mobile-progress,.cat-mobile-bulk-bar,.review-mobile-cards,.txn-mobile-cards{display:none!important}.cat2-table-wrap{display:block}.review-header.review-desktop{display:grid}@media (max-width: 768px){.categorize-page .cat2-table-wrap{display:none!important}.categorize-page .cat-mobile-cards{display:flex!important;flex-direction:column;gap:12px;padding:0}.cat-mobile-progress,.cat-mobile-bulk-bar{display:flex!important}.cat-mobile-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.cat-mobile-card.selected{border-color:var(--accent);background:var(--bg-hover)}.cat-mobile-card-header{display:flex;align-items:flex-start;gap:10px}.cat-mobile-card-header input[type=checkbox]{width:22px;height:22px;margin-top:2px;flex-shrink:0}.cat-mobile-card-desc{flex:1;min-width:0}.cat-mobile-card-desc .desc-main{font-weight:600;font-size:.95rem;color:var(--text-primary);line-height:1.3;word-wrap:break-word}.cat-mobile-card-desc .desc-merchant{font-size:.8rem;color:var(--text-secondary);margin-top:2px}.cat-mobile-card-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.cat-mobile-card-date{color:var(--text-secondary)}.cat-mobile-card-amount{font-weight:600;font-size:1rem}.cat-mobile-card-amount.income{color:var(--positive)}.cat-mobile-card-amount.expense{color:var(--text-primary)}.cat-mobile-card-categories{display:flex;align-items:center;gap:8px;padding:10px;background:var(--bg-secondary);border-radius:8px;flex-wrap:wrap}.cat-mobile-current{display:flex;flex-direction:column;gap:2px;flex:1;min-width:100px}.cat-mobile-current-label{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.cat-mobile-current-value{font-size:.85rem;color:var(--text-secondary)}.cat-mobile-arrow{color:var(--text-tertiary);flex-shrink:0}.cat-mobile-proposed{display:flex;flex-direction:column;gap:2px;flex:1;min-width:100px}.cat-mobile-proposed-label{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.cat-mobile-proposed-value{display:flex;align-items:center;gap:6px}.cat-mobile-proposed-value select{flex:1;min-height:36px;font-size:.9rem;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary)}.cat-mobile-confidence{font-size:.75rem;padding:2px 6px;border-radius:4px;background:var(--bg-tertiary);color:var(--text-secondary);flex-shrink:0}.cat-mobile-confidence.high{background:var(--positive-bg, rgba(34, 197, 94, .15));color:var(--positive)}.cat-mobile-confidence.medium{background:var(--warning-bg, rgba(245, 158, 11, .15));color:var(--warning, #f59e0b)}.cat-mobile-card-actions{display:flex;gap:8px;margin-top:4px}.cat-mobile-card-actions button{flex:1;min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;font-size:.85rem;font-weight:500;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all .15s ease}.cat-mobile-card-actions button:active{transform:scale(.97)}.cat-mobile-card-actions .approve-btn{background:var(--positive);color:#fff;border-color:var(--positive)}.cat-mobile-card-actions .flag-btn{background:var(--warning-bg, rgba(245, 158, 11, .15));color:var(--warning, #f59e0b);border-color:var(--warning, #f59e0b)}.cat-mobile-card-actions .edit-btn{background:var(--bg-secondary)}.cat-mobile-badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.cat-mobile-badges span{font-size:.65rem;padding:2px 5px;border-radius:3px;font-weight:600}.cat-mobile-badges .rule-badge{background:var(--accent-bg, rgba(99, 102, 241, .15));color:var(--accent)}.cat-mobile-badges .history-badge{background:var(--info-bg, rgba(59, 130, 246, .15));color:var(--info, #3b82f6)}.cat-mobile-badges .ai-badge{background:linear-gradient(135deg,#a855f7,#ec4899);color:#fff}.categorize-toolbar-v2{flex-direction:column!important;gap:10px!important;padding:12px!important}.categorize-toolbar-v2 .toolbar-section{width:100%}.categorize-toolbar-v2 select,.categorize-toolbar-v2 input{min-height:44px!important;font-size:1rem!important}.categorize-toolbar-v2 button{min-height:44px!important;padding:0 16px!important}.cat3-stats-row{flex-wrap:wrap!important;gap:8px!important}.cat3-stats-row .stat-box{flex:1 1 45%!important;min-width:140px!important}.cat3-tabs{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;gap:4px!important;padding-bottom:4px!important}.cat3-tab{min-height:44px!important;padding:8px 14px!important;white-space:nowrap!important;font-size:.85rem!important}}@media (max-width: 768px){.modal-overlay{padding:0!important}.modal-content,.txn-edit-modal,.new-category-modal{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important;margin:0!important;display:flex!important;flex-direction:column!important}.modal-header,.txn-edit-modal-header{flex-shrink:0;padding:16px!important;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-header h2,.modal-header h3,.txn-edit-modal-header h3{font-size:1.1rem!important}.modal-body,.txn-edit-modal-body{flex:1;overflow-y:auto!important;padding:16px!important;-webkit-overflow-scrolling:touch}.modal-footer,.txn-edit-modal-footer{flex-shrink:0;padding:16px!important;border-top:1px solid var(--border);display:flex;gap:12px;background:var(--bg-card)}.modal-footer button,.txn-edit-modal-footer button{flex:1;min-height:48px!important;font-size:1rem!important}.form-group,.txn-edit-field{margin-bottom:16px!important}.form-group label,.txn-edit-field label{font-size:.85rem!important;margin-bottom:6px!important;display:block}.form-group input,.form-group select,.form-group textarea,.txn-edit-field input,.txn-edit-field select{min-height:48px!important;font-size:1rem!important;padding:12px!important;border-radius:8px!important;width:100%!important;box-sizing:border-box!important}}@media (max-width: 768px){.review-page-v2 .review-table-wrap,.review-page-v2 .review-header.review-desktop,.review-page-v2 .review-row-v2{display:none!important}.review-mobile-cards{display:flex!important;flex-direction:column;gap:12px}.review-mobile-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:14px}.review-mobile-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.review-mobile-card-desc{font-weight:600;font-size:.95rem;flex:1;margin-right:10px}.review-mobile-card-amount{font-weight:600;font-size:1rem;white-space:nowrap}.review-mobile-card-meta{display:flex;gap:12px;font-size:.8rem;color:var(--text-secondary);margin-bottom:10px;flex-wrap:wrap}.review-mobile-card-category{padding:10px;background:var(--bg-secondary);border-radius:8px;margin-bottom:10px}.review-mobile-card-category select{width:100%;min-height:44px;font-size:.95rem;padding:8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card)}.review-mobile-card-actions{display:flex;gap:8px}.review-mobile-card-actions button{flex:1;min-height:44px;border-radius:8px;font-size:.85rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer}.review-mobile-card-actions .unflag-btn{background:var(--positive-bg, rgba(34, 197, 94, .15));color:var(--positive);border-color:var(--positive)}.review-mobile-card-actions .edit-btn{background:var(--bg-secondary)}.review-mobile-card-header input[type=checkbox]{width:22px;height:22px;margin-right:10px;flex-shrink:0}.review-mobile-card.selected{border-color:var(--accent);background:var(--bg-hover)}.review-mobile-card-amount.income{color:var(--positive)}.review-mobile-card-category .ml-suggestion-btn{width:100%;min-height:44px;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer}.review-toolbar-v2{flex-direction:column!important;gap:10px!important}.review-toolbar-v2 .toolbar-filters{flex-direction:column!important;gap:8px!important;width:100%}.review-toolbar-v2 .search-box-v2{width:100%!important}.review-toolbar-v2 .search-box-v2 input{min-height:44px!important;font-size:1rem!important}.review-toolbar-v2 .filter-select-v2{width:100%!important;min-height:44px!important;font-size:1rem!important}}@media (max-width: 768px){.txn2-filters{flex-direction:column!important;gap:8px!important}.txn2-filters>*{width:100%!important}.txn2-filter-row{flex-direction:column!important;gap:8px!important}.txn2-filter-row select,.txn2-filter-row input{min-height:44px!important;font-size:1rem!important}.txn2-search{width:100%!important}.txn2-search input{width:100%!important;min-height:44px!important;font-size:1rem!important}.txn2-actions{flex-wrap:wrap!important;gap:8px!important}.txn2-actions button{min-height:44px!important;flex:1 1 auto!important}.txn2-table-wrap{display:none!important}.txn-card-list{display:flex!important;flex-direction:column;gap:10px}.txn-card{padding:14px!important;border-radius:12px!important}.txn-card-header{margin-bottom:8px!important}.txn-card-desc{font-size:.95rem!important;line-height:1.3!important}.txn-card-amount{font-size:1.05rem!important}.txn-card-meta{font-size:.8rem!important;gap:8px!important}.txn-card-category{min-height:36px!important;padding:6px 10px!important}}@media (max-width: 768px){.budget-header-actions{flex-wrap:wrap!important;gap:8px!important}.budget-header-actions button,.budget-header-actions select{min-height:44px!important;font-size:.9rem!important}.budget-month-selector{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;margin:-8px!important;padding:8px!important}.budget-month-selector button{min-height:44px!important;min-width:44px!important;flex-shrink:0!important}.budget-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;margin:0 -12px!important;padding:0 12px!important}.budget-table{min-width:600px!important;font-size:.8rem!important}.budget-table th,.budget-table td{padding:8px 6px!important;white-space:nowrap!important}.budget-table input{min-height:36px!important;width:70px!important;font-size:.85rem!important}.budget-summary-cards{grid-template-columns:1fr 1fr!important;gap:8px!important}.budget-summary-card{padding:12px!important}.budget-summary-card .value{font-size:1.1rem!important}}@media (max-width: 768px){.bm-tabs{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;flex-wrap:nowrap!important;padding-bottom:4px!important}.bm-tab{min-height:44px!important;white-space:nowrap!important;flex-shrink:0!important;padding:8px 14px!important}.bm-bill-list{gap:10px!important}.bm-bill-card{padding:14px!important;border-radius:12px!important}.bm-bill-card-header{flex-wrap:wrap!important;gap:8px!important}.bm-bill-card-actions{flex-wrap:wrap!important;gap:6px!important}.bm-bill-card-actions button{min-height:44px!important;flex:1 1 auto!important}.bm-calendar{font-size:.8rem!important}.bm-calendar-day{min-height:50px!important;padding:4px!important}}@media (max-width: 768px){.dash2-page{padding:0!important}.dash2-hero-cards{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;padding:0!important}.dash2-hero-card{padding:14px!important;border-radius:10px!important}.dash2-hero-label{font-size:.7rem!important}.dash2-hero-value{font-size:1.2rem!important}.dash2-widgets{display:flex!important;flex-direction:column!important;gap:12px!important}.dash2-widget{border-radius:12px!important}.dash2-widget-header{padding:12px 14px!important}.dash2-widget-body{padding:0 14px 14px!important}.dash2-txn-row{padding:10px 0!important}.dash2-txn-desc{font-size:.9rem!important}.dash2-txn-amount{font-size:.95rem!important}}@media (max-width: 768px){.trend2-filters{flex-direction:column!important;gap:8px!important}.trend2-filters select{width:100%!important;min-height:44px!important;font-size:1rem!important}.trend2-chart-container{height:250px!important;margin:0 -12px!important}.trend2-legend{flex-wrap:wrap!important;justify-content:center!important;gap:8px!important}}@media (max-width: 768px){.acct2-table-wrap,.balhist2-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;margin:0 -12px!important;padding:0 12px!important}.acct2-table,.balhist2-table{min-width:500px!important;font-size:.8rem!important}.acct2-table th,.acct2-table td,.balhist2-table th,.balhist2-table td{padding:10px 8px!important;white-space:nowrap!important}.acct2-summary-cards{grid-template-columns:1fr!important;gap:10px!important}}@media (max-width: 768px){.payroll-table-wrap,.equity-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;margin:0 -12px!important;padding:0 12px!important}.payroll-table,.equity-table{min-width:700px!important;font-size:.75rem!important}.payroll-tabs,.equity-tabs{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.payroll-tab,.equity-tab{min-height:44px!important;white-space:nowrap!important;flex-shrink:0!important}.payroll-year-pills,.equity-year-pills{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;padding-bottom:4px!important}.payroll-year-pills button,.equity-year-pills button{min-height:40px!important;min-width:70px!important;flex-shrink:0!important}}@media (max-width: 768px){.settings-page,.diag-page{padding:0!important}.settings-section,.diag-category{margin-bottom:16px!important;border-radius:12px!important}.settings-section-header,.diag-category-header{padding:14px!important}.settings-row{flex-direction:column!important;gap:8px!important;padding:12px 14px!important}.settings-row label{font-size:.9rem!important}.settings-row input,.settings-row select{width:100%!important;min-height:44px!important;font-size:1rem!important}.diag-test{padding:10px 14px!important}.diag-test-name{font-size:.85rem!important}.diag-test-status{min-width:24px!important;min-height:24px!important}}@media (max-width: 768px){.debt-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.debt-summary-cards{grid-template-columns:1fr 1fr!important;gap:8px!important}.debt-card{padding:14px!important;border-radius:10px!important}}@media (max-width: 768px){.training-tabs{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;flex-wrap:nowrap!important}.training-tab{min-height:44px!important;white-space:nowrap!important;flex-shrink:0!important;padding:8px 16px!important}.training-content{padding:12px!important}.training-stats-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.training-stat-card{padding:12px!important}}@media (max-width: 768px){button,.btn,[role=button]{min-height:44px}input[type=text],input[type=number],input[type=email],input[type=password],input[type=search],input[type=date],select,textarea{min-height:44px;font-size:16px}input[type=checkbox],input[type=radio]{min-width:22px;min-height:22px}a.btn,.nav-link,.tab-link{min-height:44px;display:inline-flex;align-items:center}.icon-btn,.action-btn,button:has(svg:only-child){min-width:44px;min-height:44px;padding:10px}}@media (max-width: 768px){.context-menu,.dropdown-menu,.popover{position:fixed!important;left:12px!important;right:12px!important;bottom:72px!important;top:auto!important;max-height:60vh!important;border-radius:12px!important;box-shadow:0 -4px 20px #00000026!important}.context-menu-item,.dropdown-item{min-height:48px!important;padding:12px 16px!important;font-size:1rem!important}}@media (max-width: 768px){.loading-screen,.error-screen{padding:24px!important}.loading-screen .spinner{width:48px!important;height:48px!important}.error-message{font-size:.9rem!important;text-align:center!important}.retry-btn{min-height:48px!important;min-width:120px!important}}@media (max-width: 768px){.cat-mobile-progress{position:sticky;top:56px;z-index:50;background:var(--bg-primary);padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.cat-mobile-progress-bar{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.cat-mobile-progress-fill{height:100%;background:linear-gradient(90deg,var(--positive),#10b981);border-radius:3px;transition:width .3s ease}.cat-mobile-progress-text{font-size:.75rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.cat-mobile-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:0;overflow:hidden;transition:all .15s ease}.cat-mobile-card:active{transform:scale(.99);background:var(--bg-hover)}.cat-mobile-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px #6366f133}.cat-mobile-card-main{display:grid;grid-template-columns:28px 1fr auto;gap:10px;padding:12px;align-items:start}.cat-mobile-card-main input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--accent);cursor:pointer}.cat-mobile-card-info{min-width:0;display:flex;flex-direction:column;gap:2px}.cat-mobile-card-title{font-weight:600;font-size:.9rem;color:var(--text-primary);line-height:1.25;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.cat-mobile-card-subtitle{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-tertiary)}.cat-mobile-card-subtitle .dot{width:3px;height:3px;background:var(--text-tertiary);border-radius:50%}.cat-mobile-card-subtitle .merchant{color:var(--text-secondary);font-weight:500}.cat-mobile-card-amount{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.cat-mobile-card-amount .value{font-weight:700;font-size:.95rem;font-variant-numeric:tabular-nums}.cat-mobile-card-amount .value.income{color:var(--positive)}.cat-mobile-card-amount .value.expense{color:var(--text-primary)}.cat-mobile-card-amount .conf-badge{font-size:.65rem;font-weight:600;padding:1px 5px;border-radius:3px;background:var(--bg-tertiary);color:var(--text-secondary)}.cat-mobile-card-amount .conf-badge.high{background:#22c55e26;color:var(--positive)}.cat-mobile-card-amount .conf-badge.medium{background:#f59e0b26;color:#f59e0b}.cat-mobile-card-amount .conf-badge.low{background:#ef444426;color:#ef4444}.cat-mobile-card-actions{display:grid;grid-template-columns:1fr auto;gap:8px;padding:0 12px 12px;align-items:center}.cat-mobile-picker{position:relative;flex:1}.cat-mobile-picker-btn{width:100%;min-height:44px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;font-size:.85rem;color:var(--text-primary);cursor:pointer;transition:all .15s ease}.cat-mobile-picker-btn:active{background:var(--bg-tertiary)}.cat-mobile-picker-btn .arrow{font-size:.7rem;color:var(--text-tertiary)}.cat-mobile-picker-btn .current{display:flex;align-items:center;gap:6px}.cat-mobile-picker-btn .current .from{color:var(--text-tertiary);text-decoration:line-through;font-size:.75rem}.cat-mobile-picker-btn .current .to{font-weight:600}.cat-mobile-quick-actions{display:flex;gap:6px}.cat-mobile-quick-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.cat-mobile-quick-btn:active{transform:scale(.95)}.cat-mobile-quick-btn.approve{background:var(--positive);border-color:var(--positive);color:#fff}.cat-mobile-quick-btn.flag{background:#f59e0b26;border-color:#f59e0b;color:#f59e0b}.cat-mobile-badges{display:flex;gap:4px;padding:0 12px 10px}.cat-mobile-badges .badge{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:3px}.cat-mobile-badges .badge.ai{background:linear-gradient(135deg,#a855f7,#ec4899);color:#fff}.cat-mobile-badges .badge.rule{background:#6366f126;color:var(--accent)}.cat-mobile-badges .badge.history{background:#3b82f626;color:#3b82f6}.cat-mobile-bulk-bar{position:fixed;bottom:56px;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border);padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:100;transform:translateY(100%);transition:transform .2s ease;box-shadow:0 -2px 10px #0000001a}.cat-mobile-bulk-bar.visible{transform:translateY(0)}.cat-mobile-bulk-bar .count{font-size:.85rem;font-weight:600;color:var(--text-primary)}.cat-mobile-bulk-bar .actions{display:flex;gap:8px}.cat-mobile-bulk-bar .bulk-btn{padding:8px 16px;min-height:44px;border-radius:8px;font-size:.85rem;font-weight:600;border:none;cursor:pointer;display:flex;align-items:center;gap:6px}.cat-mobile-bulk-bar .bulk-btn.approve-all{background:var(--positive);color:#fff}.cat-mobile-bulk-bar .bulk-btn.clear{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}}@media (max-width: 768px){.cat-picker-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;justify-content:flex-end}.cat-picker-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cat-picker-content{position:relative;background:var(--bg-card);border-radius:16px 16px 0 0;max-height:70vh;display:flex;flex-direction:column;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cat-picker-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:10px auto}.cat-picker-header{padding:0 16px 12px;border-bottom:1px solid var(--border)}.cat-picker-search{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--bg-secondary);color:var(--text-primary)}.cat-picker-search::placeholder{color:var(--text-tertiary)}.cat-picker-recent{padding:12px 16px;border-bottom:1px solid var(--border)}.cat-picker-recent-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:8px}.cat-picker-recent-items{display:flex;flex-wrap:wrap;gap:6px}.cat-picker-recent-item{padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;font-size:.8rem;color:var(--text-primary);cursor:pointer}.cat-picker-recent-item:active{background:var(--accent);color:#fff;border-color:var(--accent)}.cat-picker-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 0}.cat-picker-group{padding:0 16px}.cat-picker-group-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);padding:12px 0 6px;position:sticky;top:0;background:var(--bg-card)}.cat-picker-item{padding:12px 0;border-bottom:1px solid var(--border-light, rgba(0,0,0,.05));font-size:.95rem;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:space-between}.cat-picker-item:active{background:var(--bg-hover)}.cat-picker-item.selected{color:var(--accent);font-weight:600}.cat-picker-item .check{color:var(--accent)}}@media (max-width: 768px){.dash2-hero-cards{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.dash2-hero-card{padding:12px!important;border-radius:10px!important;display:flex;flex-direction:column;gap:2px}.dash2-hero-icon{display:none!important}.dash2-hero-label{font-size:.65rem!important;text-transform:uppercase;letter-spacing:.5px;opacity:.7}.dash2-hero-value{font-size:1.15rem!important;font-weight:700!important;font-variant-numeric:tabular-nums}.dash2-hero-change{font-size:.7rem!important;margin-top:2px}.dash2-widget{border-radius:10px!important;overflow:hidden}.dash2-widget-header{padding:10px 12px!important;min-height:auto!important}.dash2-widget-title{font-size:.8rem!important;font-weight:600}.dash2-widget-body{padding:0 12px 12px!important}.dash2-txn-list{gap:0!important}.dash2-txn-row{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;padding:10px 0!important;border-bottom:1px solid var(--border-light, rgba(0,0,0,.05))!important}.dash2-txn-row:last-child{border-bottom:none!important}.dash2-txn-info{min-width:0}.dash2-txn-desc{font-size:.85rem!important;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash2-txn-meta{font-size:.7rem!important;color:var(--text-tertiary);display:flex;gap:6px;align-items:center}.dash2-txn-amount{font-size:.9rem!important;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.dash2-chart-container{height:180px!important}}@media (max-width: 768px){.txn-card-list{gap:6px!important}.txn-card{padding:0!important;border-radius:10px!important;overflow:hidden}.txn-card-main{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px}.txn-card-info{min-width:0}.txn-card-desc{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.txn-card-meta{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-tertiary)}.txn-card-meta .dot{width:3px;height:3px;background:var(--text-tertiary);border-radius:50%}.txn-card-amount{text-align:right}.txn-card-amount .value{font-weight:700;font-size:.95rem;font-variant-numeric:tabular-nums}.txn-card-category{padding:8px 12px;background:var(--bg-secondary);border-top:1px solid var(--border-light, rgba(0,0,0,.05));display:flex;align-items:center;justify-content:space-between;gap:10px}.txn-card-category .cat-pill{font-size:.75rem;padding:4px 10px;border-radius:12px;background:var(--bg-tertiary)}.txn-card-category .account{font-size:.7rem;color:var(--text-tertiary)}}@media (max-width: 768px){.budget-mobile-view{display:flex;flex-direction:column;gap:8px}.budget-mobile-row{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:12px}.budget-mobile-row-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.budget-mobile-row-name{font-weight:600;font-size:.9rem}.budget-mobile-row-amounts{text-align:right}.budget-mobile-row-actual{font-size:.9rem;font-weight:600}.budget-mobile-row-budget{font-size:.75rem;color:var(--text-tertiary)}.budget-mobile-row-progress{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.budget-mobile-row-progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.budget-mobile-row-progress-fill.under{background:var(--positive)}.budget-mobile-row-progress-fill.over{background:var(--negative, #ef4444)}.budget-mobile-row-progress-fill.near{background:#f59e0b}}@media (max-width: 768px){.bm-bill-list{gap:8px!important}.bm-bill-card{padding:0!important;border-radius:10px!important;overflow:hidden}.bm-bill-card-main{display:grid;grid-template-columns:40px 1fr auto;gap:10px;padding:12px;align-items:center}.bm-bill-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:10px;color:var(--accent)}.bm-bill-card-info{min-width:0}.bm-bill-card-name{font-weight:600;font-size:.9rem;margin-bottom:2px}.bm-bill-card-due{font-size:.75rem;color:var(--text-tertiary)}.bm-bill-card-due.overdue{color:#ef4444;font-weight:500}.bm-bill-card-due.soon{color:#f59e0b;font-weight:500}.bm-bill-card-amount{text-align:right}.bm-bill-card-amount .value{font-weight:700;font-size:.95rem}.bm-bill-card-amount .type{font-size:.65rem;text-transform:uppercase;color:var(--text-tertiary)}.bm-bill-card-actions{padding:8px 12px;background:var(--bg-secondary);border-top:1px solid var(--border-light, rgba(0,0,0,.05));display:flex;gap:8px}.bm-bill-card-actions button{flex:1;min-height:36px;border-radius:6px;font-size:.8rem;font-weight:500;border:1px solid var(--border);background:var(--bg-card);cursor:pointer}}@media (max-width: 768px){.trend2-page{gap:12px!important}.trend2-header{flex-direction:column!important;gap:10px!important}.trend2-filters{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.trend2-filters select{min-height:40px!important;font-size:.9rem!important;padding:8px!important;border-radius:8px!important}.trend2-chart-card{border-radius:10px!important}.trend2-chart-header{padding:12px!important}.trend2-chart-title{font-size:.9rem!important}.trend2-chart-container{height:200px!important;padding:0 8px 8px!important}}@media (max-width: 768px){.review-mobile-card{padding:0!important;border-radius:10px!important;overflow:hidden}.review-mobile-card-header{display:grid!important;grid-template-columns:24px 1fr auto!important;gap:10px!important;padding:12px!important;align-items:start!important}.review-mobile-card-header input[type=checkbox]{width:20px!important;height:20px!important;margin:0!important;margin-top:2px}.review-mobile-card-desc{font-size:.9rem!important;font-weight:600!important;line-height:1.3}.review-mobile-card-amount{font-size:.95rem!important;font-weight:700!important;font-variant-numeric:tabular-nums}.review-mobile-card-meta{padding:0 12px 10px!important;margin-left:34px!important}.review-mobile-card-category{padding:10px 12px!important;background:var(--bg-secondary)!important;border-top:1px solid var(--border-light, rgba(0,0,0,.05))!important;display:flex;flex-direction:column;gap:8px}.review-mobile-card-category select{min-height:40px!important;font-size:.9rem!important}.review-mobile-card-category .ml-suggestion-btn{min-height:36px!important;font-size:.8rem!important}.review-mobile-card-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:10px 12px!important;background:var(--bg-card)!important}.review-mobile-card-actions button{min-height:40px!important;font-size:.85rem!important}}@media (max-width: 768px){*{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}input:focus,select:focus,button:focus{outline:none;box-shadow:0 0 0 2px #6366f14d}.loading-shimmer{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-tertiary) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pull-indicator{position:fixed;top:56px;left:50%;transform:translate(-50%) translateY(-100%);background:var(--bg-card);padding:8px 16px;border-radius:20px;box-shadow:0 2px 10px #0000001a;font-size:.8rem;color:var(--text-secondary);z-index:100;transition:transform .2s ease}.pull-indicator.visible{transform:translate(-50%) translateY(10px)}.fab{position:fixed;bottom:80px;right:16px;width:56px;height:56px;border-radius:16px;background:var(--accent);color:#fff;border:none;box-shadow:0 4px 12px #6366f166;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:90;transition:all .2s ease}.fab:active{transform:scale(.95);box-shadow:0 2px 8px #6366f14d}.toast{position:fixed;bottom:72px;left:12px;right:12px;background:var(--text-primary);color:var(--bg-card);padding:12px 16px;border-radius:10px;font-size:.9rem;font-weight:500;z-index:9999;display:flex;align-items:center;gap:10px;transform:translateY(100px);opacity:0;transition:all .3s ease}.toast.visible{transform:translateY(0);opacity:1}.toast.success{background:var(--positive)}.toast.error{background:#ef4444}.empty-state-mobile{text-align:center;padding:40px 24px}.empty-state-mobile .icon{width:64px;height:64px;margin:0 auto 16px;color:var(--text-tertiary);opacity:.5}.empty-state-mobile .title{font-size:1.1rem;font-weight:600;margin-bottom:8px}.empty-state-mobile .desc{font-size:.9rem;color:var(--text-secondary);margin-bottom:20px}.empty-state-mobile .action-btn{padding:12px 24px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer}.section-header-mobile{display:flex;align-items:center;justify-content:space-between;padding:16px 0 10px}.section-header-mobile .title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}.section-header-mobile .action{font-size:.8rem;color:var(--accent);font-weight:500}.badge-count{min-width:18px;height:18px;padding:0 5px;background:var(--accent);color:#fff;border-radius:9px;font-size:.65rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.badge-count.warning{background:#f59e0b}.badge-count.danger{background:#ef4444}}@media (max-width: 768px){.settings-page{gap:12px!important}.settings-section{border-radius:10px!important;overflow:hidden}.settings-section-header{padding:14px 16px!important;font-size:.9rem!important}.settings-row{padding:14px 16px!important;border-bottom:1px solid var(--border-light, rgba(0,0,0,.05))}.settings-row:last-child{border-bottom:none}.settings-row label{font-size:.9rem!important;margin-bottom:6px!important}.settings-row input,.settings-row select{min-height:44px!important;font-size:1rem!important;border-radius:8px!important}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px}.settings-toggle{width:50px;height:30px;border-radius:15px;background:var(--bg-tertiary);position:relative;cursor:pointer;transition:background .2s ease}.settings-toggle.on{background:var(--positive)}.settings-toggle:after{content:"";position:absolute;width:26px;height:26px;border-radius:13px;background:#fff;top:2px;left:2px;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.settings-toggle.on:after{transform:translate(20px)}}@media (max-width: 480px){.login-page{padding:.5rem;min-height:100dvh}.login-card{padding:2rem 1.25rem;border-radius:12px}.login-icon{width:72px;height:72px;border-radius:18px;margin-bottom:1rem}.login-icon svg{width:36px;height:36px}.login-header h1{font-size:1.5rem}.login-features{flex-direction:column;gap:1rem}.feature{flex-direction:row;gap:.75rem;font-size:.85rem}.google-button{padding:.875rem 1rem;min-height:48px}}@media (max-width: 360px){.login-card{padding:1.5rem 1rem}.login-header h1{font-size:1.35rem}.login-features{margin-top:1.5rem;padding-top:1.5rem}}.txn2-dup-badge.confirmed{background:#f59e0b1f;border-color:#f59e0b66;color:var(--warning, #f59e0b)}.txn2-dup-confirmed-label{display:block;font-weight:600;color:var(--success, #22c55e);margin-bottom:.25rem}.txn2-dup-actions{display:flex;gap:.35rem;margin-top:.35rem;padding-top:.3rem;border-top:1px solid var(--border)}.txn2-dup-action-btn{padding:.2rem .5rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-secondary);font-size:.68rem;cursor:pointer;transition:all .15s}.txn2-dup-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.txn2-dup-action-btn.confirm{background:#f59e0b1a;border-color:#f59e0b4d;color:var(--warning, #f59e0b)}.txn2-dup-action-btn.confirm:hover{background:#f59e0b33}.duplicate-alert-banner.muted{opacity:.65;border-color:var(--border)}.duplicate-alert-banner.muted .duplicate-alert-icon{color:var(--text-tertiary)}.duplicate-hidden-label{font-weight:400;font-size:.85em;color:var(--text-tertiary)}.duplicate-alert-action.secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;padding:.35rem .75rem;font-size:.8rem;cursor:pointer;transition:all .15s}.duplicate-alert-action.secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.duplicate-alert-action.secondary.active{background:var(--accent);color:#fff;border-color:var(--accent)}.cat-mobile-cards.force-show{display:flex!important;flex-direction:column;gap:0}.cat2-table-wrap.force-hide{display:none!important}.cat-mobile-bulk-bar.force-show{display:flex!important;position:sticky;bottom:0;z-index:20;background:var(--bg-card);border-top:1px solid var(--border);padding:10px 20px;justify-content:space-between;align-items:center;box-shadow:0 -4px 12px #0000000f}.cat-mobile-cards.force-show .cat-mobile-progress{display:flex!important}.cat-action-date,.cat-source-icon,.cat-approve-label{display:none}@media (min-width: 769px){.cat-mobile-cards.force-show{width:100%;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-card);box-shadow:0 1px 3px #0000000a}.cat-mobile-cards.force-show .cat-mobile-progress{padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);gap:12px;align-items:center}.cat-mobile-cards.force-show .cat-mobile-progress-bar{flex:1;max-width:200px;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.cat-mobile-cards.force-show .cat-mobile-progress-text{font-size:.75rem;font-weight:600;color:var(--text-secondary)}.cat-mobile-cards.force-show .cat-mobile-card{display:grid;grid-template-columns:22px 52px 1fr 66px 36px 146px auto 30px;grid-template-rows:1fr;align-items:center;column-gap:8px;padding:0 16px;min-height:48px;border:none;border-radius:0;border-bottom:1px solid rgba(128,128,128,.07);background:transparent;gap:0 8px;overflow:visible;transition:background .12s ease}.cat-mobile-cards.force-show .cat-mobile-card:nth-child(2n){background:#80808006}.cat-mobile-cards.force-show .cat-mobile-card:last-child{border-bottom:none}.cat-mobile-cards.force-show .cat-mobile-card:hover{background:#6366f10a}.cat-mobile-cards.force-show .cat-mobile-card.selected{background:#6366f112;box-shadow:inset 3px 0 0 var(--accent)}.cat-mobile-cards.force-show .cat-mobile-card-main,.cat-mobile-cards.force-show .cat-mobile-card-actions,.cat-mobile-cards.force-show .cat-mobile-quick-actions{display:contents}.cat-mobile-cards.force-show .cat-mobile-badges{display:none!important}.cat-mobile-cards.force-show .cat-mobile-card-main input[type=checkbox]{grid-column:1;grid-row:1;width:15px;height:15px;margin:0;accent-color:var(--accent);cursor:pointer;justify-self:center}.cat-mobile-cards.force-show .cat-action-date{display:block;grid-column:2;grid-row:1;font-size:.72rem;color:var(--text-tertiary);white-space:nowrap;letter-spacing:-.01em}.cat-mobile-cards.force-show .cat-source-icon{display:none}.cat-mobile-cards.force-show .cat-mobile-card-info{grid-column:3;grid-row:1;display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;padding:6px 0}.cat-mobile-cards.force-show .cat-mobile-card-title{font-weight:600;font-size:.8rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;-webkit-line-clamp:unset;-webkit-box-orient:unset;line-height:1.3}.cat-mobile-cards.force-show .cat-mobile-card-subtitle{display:flex;align-items:center;gap:4px;font-size:.68rem;color:var(--text-tertiary);white-space:nowrap;overflow:hidden}.cat-mobile-cards.force-show .cat-mobile-card-subtitle .date-text{display:none}.cat-mobile-cards.force-show .cat-mobile-card-subtitle .date-text+.dot{display:none}.cat-mobile-cards.force-show .cat-mobile-card-subtitle .dot{width:2px;height:2px;background:var(--text-tertiary);border-radius:50%;opacity:.4;flex-shrink:0}.cat-mobile-cards.force-show .cat-mobile-card-subtitle .merchant{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis}.cat-mobile-cards.force-show .cat-mobile-card-subtitle .account-text{font-size:.62rem;color:var(--text-tertiary);padding:1px 4px;background:#80808012;border-radius:3px;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;max-width:120px}.cat-mobile-cards.force-show .cat-mobile-card-amount{grid-column:4 / span 2;grid-row:1;display:flex;align-items:center;gap:6px;justify-content:flex-end}.cat-mobile-cards.force-show .cat-mobile-card-amount .value{font-weight:600;font-size:.82rem;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.cat-mobile-cards.force-show .cat-mobile-card-amount .value.income{color:var(--positive)}.cat-mobile-cards.force-show .cat-mobile-card-amount .value.expense{color:var(--text-primary)}.cat-mobile-cards.force-show .cat-mobile-card-amount .conf-badge{font-size:.6rem;font-weight:700;padding:2px 5px;border-radius:4px;min-width:28px;text-align:center;white-space:nowrap}.cat-mobile-cards.force-show .cat-mobile-card-amount .conf-badge.high{background:#22c55e1a;color:var(--positive)}.cat-mobile-cards.force-show .cat-mobile-card-amount .conf-badge.medium{background:#f59e0b1a;color:#f59e0b}.cat-mobile-cards.force-show .cat-mobile-card-amount .conf-badge.low{background:#ef44441a;color:#ef4444}.cat-mobile-cards.force-show .cat-mobile-picker{grid-column:6;grid-row:1}.cat-mobile-cards.force-show .cat-mobile-picker-btn{width:100%;min-height:30px;padding:4px 10px;display:flex;align-items:center;justify-content:space-between;gap:4px;background:#6366f10a;border:1px solid rgba(99,102,241,.18);border-radius:6px;font-size:.78rem;color:var(--text-primary);cursor:pointer;transition:all .12s ease}.cat-mobile-cards.force-show .cat-mobile-picker-btn:hover{border-color:var(--accent);background:#6366f114}.cat-mobile-cards.force-show .cat-mobile-picker-btn .current{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden}.cat-mobile-cards.force-show .cat-mobile-picker-btn .current .from{font-size:.62rem;color:var(--text-tertiary);text-decoration:line-through;white-space:nowrap}.cat-mobile-cards.force-show .cat-mobile-picker-btn .current .to{font-weight:600;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--accent)}.cat-mobile-cards.force-show .cat-mobile-picker-btn .arrow{font-size:.5rem;color:var(--text-tertiary);flex-shrink:0}.cat-mobile-cards.force-show .cat-mobile-quick-btn.approve{grid-column:7;grid-row:1;width:auto;height:30px;padding:0 14px 0 10px;gap:4px;border-radius:6px;background:#22c55e1f;color:var(--positive);font-size:.76rem;font-weight:600;display:flex;align-items:center;justify-content:center;border:1px solid rgba(34,197,94,.2);cursor:pointer;transition:all .12s ease;white-space:nowrap;opacity:1}.cat-mobile-cards.force-show .cat-mobile-quick-btn.approve:hover{background:#22c55e38;border-color:#22c55e59}.cat-mobile-cards.force-show .cat-mobile-quick-btn.approve:active{background:#22c55e4d;transform:scale(.97)}.cat-mobile-cards.force-show .cat-mobile-quick-btn.approve:disabled{opacity:.35;cursor:not-allowed}.cat-mobile-cards.force-show .cat-mobile-quick-btn.approve svg{width:14px;height:14px;flex-shrink:0}.cat-mobile-cards.force-show .cat-approve-label{display:inline}.cat-mobile-cards.force-show .cat-mobile-quick-btn.flag{grid-column:8;grid-row:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:5px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .12s ease;opacity:0}.cat-mobile-cards.force-show .cat-mobile-card:hover .cat-mobile-quick-btn.flag{opacity:.5}.cat-mobile-cards.force-show .cat-mobile-quick-btn.flag:hover{opacity:1!important;background:#f59e0b1a;color:#f59e0b}.cat-mobile-cards.force-show .cat-mobile-quick-btn.flag svg{width:14px;height:14px}.cat-mobile-bulk-bar.force-show{border-radius:0 0 10px 10px}.cat-mobile-bulk-bar.force-show .count{font-size:.78rem;font-weight:600;color:var(--text-secondary)}.cat-mobile-bulk-bar.force-show .actions{display:flex;gap:8px}.cat-mobile-bulk-bar.force-show .bulk-btn{font-size:.76rem;padding:5px 14px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .12s ease}.cat-mobile-bulk-bar.force-show .bulk-btn:hover{background:var(--bg-hover)}.cat-mobile-bulk-bar.force-show .bulk-btn.approve-all{background:var(--positive);color:#fff;border-color:var(--positive)}.cat-mobile-bulk-bar.force-show .bulk-btn.approve-all:hover{filter:brightness(1.1)}.cat-mobile-cards.force-show .cat-mobile-card{grid-template-columns:22px 52px 1fr 66px 36px minmax(80px,200px) 32px auto 30px}.cat-mobile-cards.force-show .cat-mobile-card.expanded{background:#6366f108;border-bottom:none}.cat-mobile-cards.force-show .cat-current-cat{display:flex;align-items:center;gap:4px;grid-column:6;grid-row:1;font-size:.68rem;white-space:nowrap;overflow:hidden;min-width:0}.cat-mobile-cards.force-show .cat-from-label{color:var(--text-tertiary);font-size:.67rem;overflow:hidden;text-overflow:ellipsis;max-width:80px;text-decoration:line-through;text-decoration-color:#8080804d}.cat-mobile-cards.force-show .cat-arrow-label{color:var(--text-tertiary);font-size:.72rem;flex-shrink:0;opacity:.5}.cat-mobile-cards.force-show .cat-to-label{color:var(--positive);font-size:.68rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;max-width:90px}.cat-mobile-cards.force-show .cat-mobile-picker-btn .current{display:none}.cat-mobile-cards.force-show .cat-mobile-picker-btn{min-height:26px;padding:4px 8px;width:auto;min-width:unset}.cat-mobile-cards.force-show .cat-mobile-picker-btn .arrow{font-size:.6rem;color:var(--text-tertiary)}.cat-mobile-cards.force-show .cat-mobile-picker{grid-column:7}.cat-mobile-cards.force-show .cat-mobile-quick-btn.approve{grid-column:8}.cat-mobile-cards.force-show .cat-mobile-quick-btn.flag{grid-column:9}.cat-sibling-badge{display:inline-flex;align-items:center;justify-content:center;background:#ffffff40;color:inherit;font-size:.65rem;font-weight:700;padding:0 4px;border-radius:8px;margin-left:3px;min-width:16px;height:16px;line-height:1}.cat-mobile-cards.force-show .cat-mobile-progress-bar{max-width:300px;height:6px;border-radius:3px}.cat-mobile-cards.force-show .cat-mobile-progress-text{font-size:.72rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.cat-expand-panel{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:16px;padding:12px 16px 16px;border-top:1px dashed var(--border);background:#6366f104;animation:catExpandIn .2s ease}@keyframes catExpandIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cat-expand-panel h4{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border)}.cat-expand-details{display:flex;flex-direction:column;gap:4px}.cat-expand-kv{display:flex;gap:8px;font-size:.73rem;line-height:1.5}.cat-expand-kv .k{color:var(--text-tertiary);min-width:70px;flex-shrink:0;font-weight:500}.cat-expand-kv .v{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-expand-siblings{display:flex;flex-direction:column;gap:3px}.cat-expand-sib-row{display:flex;align-items:center;gap:8px;font-size:.72rem;padding:3px 6px;border-radius:4px;background:#8080800a}.cat-expand-sib-row .sib-date{color:var(--text-tertiary);font-size:.68rem;min-width:48px;flex-shrink:0}.cat-expand-sib-row .sib-desc{color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-expand-sib-row .sib-amt{color:var(--text-primary);font-weight:600;font-size:.72rem;white-space:nowrap}.cat-expand-empty{font-size:.72rem;color:var(--text-tertiary);font-style:italic;padding:8px 0}.cat-expand-rules{display:flex;flex-direction:column;gap:6px}.cat-expand-rule-card{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;background:#10b9810f;border:1px solid rgba(16,185,129,.12)}.cat-expand-rule-card .rule-icon{color:#10b981;flex-shrink:0}.cat-expand-rule-card .rule-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.cat-expand-rule-card .rule-label{font-size:.72rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-expand-rule-card .rule-count{font-size:.66rem;color:var(--text-tertiary)}.rule-apply-btn{display:inline-flex;align-items:center;gap:3px;padding:4px 10px;font-size:.68rem;font-weight:600;color:#fff;background:#10b981;border:none;border-radius:5px;cursor:pointer;white-space:nowrap;transition:background .12s ease;flex-shrink:0}.rule-apply-btn:hover{background:#059669}.cat-expand-approve-single{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;font-size:.72rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;margin-top:6px;transition:all .12s ease}.cat-expand-approve-single:hover{background:var(--bg-hover);color:var(--text-primary)}.cat-expand-approve-single:disabled{opacity:.4;cursor:not-allowed}}.cat-current-cat,.cat-expand-panel,.cat-sibling-badge{display:none}@media (max-width: 700px){.dash2-scorecard{overflow-x:auto;-webkit-overflow-scrolling:touch}.dash2-scorecard-table{min-width:320px}.dash2-scorecard-eq-row{flex-direction:column;gap:10px}.dash2-scorecard-next-vest{display:flex;align-items:center;gap:10px;text-align:left}.dash2-scorecard-countdown{font-size:1.6rem}.dash2-scorecard-links{flex-wrap:wrap}.dash2-scorecard-links button{flex:1 1 auto;min-height:44px;justify-content:center}.dash2-scorecard-vest-chart{margin:0 -8px}.dash2-sc-rates{flex-wrap:wrap;gap:8px;font-size:.75rem}}@media (max-width: 480px){.dash2-scorecard-table{font-size:.7rem}.dash2-scorecard-table th,.dash2-scorecard-table td{padding:3px 4px}.dash2-sc-name{max-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width: 768px){.recon-page{padding:12px!important;padding-bottom:calc(var(--bottom-nav-height, 56px) + 24px)!important}.recon-header{flex-direction:column;gap:8px}.recon-header-left h1{font-size:1.25rem}.recon-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px}.recon-tab{min-height:44px;white-space:nowrap;flex-shrink:0;padding:8px 14px}.recon-summary-cards{grid-template-columns:1fr 1fr!important;gap:8px}.recon-card{padding:12px}.recon-card-value{font-size:1.3rem}.recon-rules-grid{grid-template-columns:1fr!important;gap:8px}.recon-section-header{min-height:44px;padding:10px 12px}.recon-section-content{padding:10px 12px}.recon-suggestion{flex-wrap:wrap;gap:8px;padding:10px}.recon-suggestion button{min-height:44px}.recon-review-item{flex-direction:column;align-items:flex-start;padding:10px}.recon-review-item-left{flex-wrap:wrap;gap:6px;width:100%}.recon-review-item-actions{width:100%;margin-top:8px;justify-content:flex-end}.recon-review-item-actions button{min-height:44px}.recon-body{overflow-x:auto;-webkit-overflow-scrolling:touch}.recon-table{min-width:400px;font-size:.75rem}.recon-table th,.recon-table td{padding:4px 6px}}@media (max-width: 768px){.bm-detail-charges{overflow-x:auto;-webkit-overflow-scrolling:touch}.bm-charges-table{min-width:360px}}@media (max-width: 768px){.batch-action-bar{bottom:calc(var(--bottom-nav-height) + 12px);left:12px;right:12px;transform:none;width:auto;gap:.75rem;padding:.75rem 1rem;z-index:950}.review-page .batch-action-bar,.categorize-v3 .batch-action-bar{bottom:calc(var(--bottom-nav-height) + 12px)}}@media (max-width: 768px){.calendar-weekdays,.calendar-days{gap:2px}.calendar-day{min-height:52px;padding:4px;font-size:.7rem}.calendar-day .bill-dot{width:6px;height:6px}.weekday{padding:4px 2px;font-size:.65rem}.budget-recon-body{overflow-x:auto;-webkit-overflow-scrolling:touch}}.cat3-view-toggle{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:500;padding:4px 10px;white-space:nowrap}.cat2-table-wrap{overflow-x:auto}.cat2-table{min-width:860px}.cat2-td-prediction{min-width:160px}.cat2-td-prediction .prediction-display{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow:hidden}.cat-picker{max-width:none;width:100%;min-width:0}.cat2-td-prediction .cat-picker{flex:1 1 0;min-width:0}.cat-picker-trigger{min-width:0}.cat-picker-trigger .has-value{min-width:0;flex:1 1 0}.prediction-display .conf-badge,.prediction-display .rule-badge,.prediction-display .history-badge,.prediction-display .learned-badge,.prediction-display .ai-badge{flex-shrink:0}.cat2-td-current .cat-pill{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.cat2-pill-reset{font-size:.7rem;opacity:.7;padding:3px 8px}.cat2-pill-reset:hover{opacity:1}.cat2-colpicker-hint{font-size:.65rem;color:var(--text-muted);padding:4px 10px 6px;border-bottom:1px solid var(--border);margin-bottom:4px;font-style:italic}.cat-to-label{font-weight:600;color:var(--accent);white-space:normal;word-break:break-word}.cat-from-label{color:var(--text-muted);text-decoration:line-through;font-size:.75em}.cat-current-cat{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:.75rem;margin-top:2px}.cat2-td-desc{min-width:140px}.cat2-td-desc .desc-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.cat-picker-dropdown{min-width:240px}.cat-mobile-picker-btn .to{white-space:normal;word-break:break-word}.recon-page{padding:20px;max-width:1400px;margin:0 auto}.recon-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.recon-header h1{margin:0 0 4px;font-size:1.6rem;color:var(--text-primary)}.recon-subtitle{color:var(--text-muted);margin:0;font-size:.9rem}.recon-summary-cards{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}.recon-card{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--bg-card, #fff);border-radius:12px;border:1px solid var(--border, #e0e0e0);min-width:180px}.recon-card.success{border-left:4px solid #22c55e}.recon-card.warning{border-left:4px solid #f59e0b}.recon-card.error{border-left:4px solid #ef4444}.recon-card.info{border-left:4px solid #0ea5e9}.recon-card svg{color:var(--text-muted)}.recon-card.success svg{color:#22c55e}.recon-card.warning svg{color:#f59e0b}.recon-card.error svg{color:#ef4444}.recon-card.info svg{color:#0ea5e9}.recon-card-content{display:flex;flex-direction:column}.recon-card-value{font-size:1.3rem;font-weight:600;color:var(--text-primary)}.recon-card-label{font-size:.8rem;color:var(--text-muted)}.recon-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border, #e0e0e0);padding-bottom:0;flex-wrap:wrap}.recon-tab{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.9rem;cursor:pointer;transition:all .15s;margin-bottom:-1px}.recon-tab:hover{color:var(--text-primary);background:var(--bg-hover, #f5f5f5)}.recon-tab.active{color:var(--accent, #4f8cff);border-bottom-color:var(--accent, #4f8cff);font-weight:500}.recon-balance-check{display:flex;flex-direction:column;gap:20px}.balance-check-banner{display:flex;align-items:center;gap:16px;padding:20px 24px;border-radius:12px;background:var(--bg-card, #fff);border:1px solid var(--border, #e0e0e0)}.balance-check-banner.success{background:linear-gradient(135deg,#dcfce7,#f0fdf4);border-color:#86efac}.balance-check-banner.error{background:linear-gradient(135deg,#fee2e2,#fef2f2);border-color:#fca5a5}.banner-icon svg{display:block}.balance-check-banner.success .banner-icon{color:#22c55e}.balance-check-banner.error .banner-icon{color:#ef4444}.banner-content{flex:1}.banner-title{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:6px}.banner-stats{display:flex;gap:16px;flex-wrap:wrap}.banner-stats .stat{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;font-weight:500}.banner-stats .stat.pass{color:#22c55e}.banner-stats .stat.expected{color:#6366f1}.banner-stats .stat.warn{color:#f59e0b}.banner-stats .stat.fail{color:#ef4444}.banner-stats .stat.nodata{color:var(--text-muted)}.balance-check-list{display:flex;flex-direction:column;gap:8px}.balance-check-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-card, #fff);border:1px solid var(--border, #e0e0e0);border-radius:10px;transition:all .15s}.balance-check-row:hover{box-shadow:0 2px 8px #0000000f}.balance-check-row.status-pass{border-left:4px solid #22c55e}.balance-check-row.status-expected{border-left:4px solid #6366f1}.balance-check-row.status-warn{border-left:4px solid #f59e0b}.balance-check-row.status-fail{border-left:4px solid #ef4444}.balance-check-row.status-no_balance_data{border-left:4px solid #9ca3af}.bcr-status{flex-shrink:0;width:24px;display:flex;align-items:center;justify-content:center}.bcr-status .icon-pass{color:#22c55e}.bcr-status .icon-expected{color:#6366f1}.bcr-status .icon-warn{color:#f59e0b}.bcr-status .icon-fail{color:#ef4444}.bcr-status .icon-nodata{color:#9ca3af}.bcr-account{flex:1;min-width:0}.bcr-name{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcr-message{font-size:.8rem;color:var(--text-muted);margin-top:2px}.bcr-details{display:flex;gap:16px;flex-wrap:wrap}.bcr-detail{display:flex;flex-direction:column;align-items:flex-end;min-width:80px}.bcr-detail .label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.bcr-detail .value{font-size:.9rem;font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums}.bcr-detail .value.income{color:#22c55e}.bcr-detail .value.expense{color:#ef4444}.bcr-detail .value.error{color:#ef4444;font-weight:600}.bcr-detail .value.warn{color:#f59e0b}.bcr-detail.delta{background:#fef3c7;padding:4px 8px;border-radius:6px;margin-left:8px}.bcr-txn-count{font-size:.8rem;color:var(--text-muted);white-space:nowrap;min-width:60px;text-align:right}.balance-check-footer{padding:16px;background:var(--bg-hover, #f9fafb);border-radius:10px;font-size:.85rem;color:var(--text-muted)}.balance-check-footer p{margin:0}.balance-check-item{margin-bottom:4px}.balance-check-row.clickable{cursor:pointer}.balance-check-row.clickable:hover{background:var(--bg-hover, #f3f4f6)}.bcr-expanded{background:var(--bg-secondary, #f9fafb);border-left:4px solid var(--border, #e5e7eb);margin-left:28px;padding:12px 16px;border-radius:0 8px 8px 0}.bcr-txn-header{font-size:.8rem;font-weight:500;color:var(--text-muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.03em}.bcr-txn-list{display:flex;flex-direction:column;gap:6px}.bcr-txn-row{display:grid;grid-template-columns:80px 90px 1fr 150px;gap:12px;font-size:.85rem;padding:6px 8px;background:var(--bg-primary, white);border-radius:6px;align-items:center}.bcr-txn-date{color:var(--text-muted);font-variant-numeric:tabular-nums}.bcr-txn-amt{font-weight:500;font-variant-numeric:tabular-nums;text-align:right}.bcr-txn-amt.income{color:#22c55e}.bcr-txn-amt.expense{color:#ef4444}.bcr-txn-desc{color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcr-txn-cat{color:var(--text-muted);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.balance-check-row{flex-wrap:wrap}.bcr-details{width:100%;margin-top:10px;padding-top:10px;border-top:1px solid var(--border, #e0e0e0);justify-content:space-between}.bcr-detail{min-width:60px;align-items:center}.bcr-txn-count{position:absolute;right:16px;top:14px}.balance-check-row{position:relative;padding-right:80px}}.rtm-page{display:flex;flex-direction:column;gap:16px}.rtm-banner{border-radius:10px;padding:16px 20px;border:1px solid var(--border, #e0e0e0)}.rtm-banner.success{background:var(--positive-bg, #dcfce7);border-color:#86efac}.rtm-banner.warning{background:var(--warning-bg, #fef9c3);border-color:#fde047}.rtm-banner-stats{display:flex;gap:32px;flex-wrap:wrap;margin-bottom:10px}.rtm-stat{display:flex;flex-direction:column;gap:2px}.rtm-stat-val{font-size:1.5rem;font-weight:700;line-height:1}.rtm-stat-lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #6b7280)}.rtm-banner-note{font-size:.8rem;color:var(--text-secondary, #6b7280);border-top:1px solid var(--border, #e0e0e0);padding-top:10px;margin-top:4px}.success-text{color:var(--positive, #22c55e)}.warn-text{color:#d97706}.error-text{color:var(--negative, #ef4444)}.muted-text{color:var(--text-secondary, #6b7280)}.rtm-venmo-box{border-radius:10px;border:1px solid var(--border, #e0e0e0);padding:16px;background:var(--surface, #f9fafb)}.rtm-venmo-box.untracked_spending{border-color:#fca5a5;background:#fff5f5}.rtm-venmo-box.balanced{border-color:#86efac;background:#f0fdf4}.rtm-venmo-box.near_balanced{border-color:#fde047;background:#fefce8}.rtm-venmo-box.no_data{opacity:.7}.rtm-venmo-header{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:12px}.rtm-venmo-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:.875rem;border-bottom:1px solid var(--border, #e0e0e0)}.rtm-venmo-row.total{font-weight:600;border-bottom:none;padding-top:10px}.rtm-venmo-row.total.warn{background:#fff7ed;border-radius:6px;padding:8px;margin-top:4px}.rtm-venmo-expenses{margin-top:12px}.rtm-venmo-exp-hdr{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #6b7280);margin-bottom:6px}.rtm-table-wrap{border:1px solid var(--border, #e0e0e0);border-radius:10px;overflow:hidden}.rtm-table-header,.rtm-row{display:grid;grid-template-columns:minmax(180px,2fr) 110px 90px 90px 90px 50px minmax(120px,1.5fr) 110px;gap:8px;align-items:center;padding:8px 14px}.rtm-table-header{background:var(--surface-2, #f3f4f6);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280);border-bottom:1px solid var(--border, #e0e0e0)}.rtm-row{border-bottom:1px solid var(--border, #e0e0e0);font-size:.85rem;transition:background .12s}.rtm-row:last-child{border-bottom:none}.rtm-row.clickable{cursor:pointer}.rtm-row.clickable:hover{background:var(--surface, #f9fafb)}.rtm-row.status-near_balanced{background:#fffbeb}.rtm-row.status-external{background:#fff5f5}.rtm-row.status-one_sided{background:#f5f3ff}.rtm-row-wrap.expanded .rtm-row{background:var(--surface, #f9fafb)}.rtm-col-cat{display:flex;align-items:center;gap:6px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rtm-chevron{flex-shrink:0;color:var(--text-secondary, #6b7280)}.rtm-col-num{text-align:right;font-variant-numeric:tabular-nums}.rtm-col-small{text-align:center;color:var(--text-secondary, #6b7280);font-size:.8rem}.rtm-col-accounts{font-size:.75rem;color:var(--text-secondary, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rtm-col-status{display:flex;justify-content:flex-end}.rtm-type-badge{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap}.rtm-type-badge.type-internal{background:#dcfce7;color:#16a34a}.rtm-type-badge.type-venmo{background:#ede9fe;color:#7c3aed}.rtm-type-badge.type-external_inflow{background:#dbeafe;color:#1d4ed8}.rtm-type-badge.type-external_outflow{background:#fee2e2;color:#dc2626}.rtm-expanded-txns{background:var(--surface, #f9fafb);border-bottom:1px solid var(--border, #e0e0e0);padding:4px 14px 12px 38px}.venmo-explainer{background:var(--surface, #f9fafb);border:1px solid var(--border, #e0e0e0);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:.85rem;color:var(--text-secondary, #6b7280);line-height:1.5}.venmo-explainer strong{color:var(--text, #1a1a1a)}.venmo-delta-note{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin:12px 0;font-size:.85rem;color:#92400e}.venmo-delta-note svg{flex-shrink:0;margin-top:1px}.summary-row.warning-row{background:#fff7ed;border-radius:6px;padding:6px 10px;margin:4px 0}.txn-acct{font-size:.78rem;color:var(--text-secondary, #6b7280);min-width:80px}@media (max-width: 768px){.rtm-table-header,.rtm-row{grid-template-columns:minmax(120px,1fr) 80px 75px 75px 75px}.rtm-col-small,.rtm-col-accounts,.rtm-col-status{display:none}.rtm-banner-stats{gap:20px}.rtm-stat-val{font-size:1.2rem}.rtm-venmo-box{padding:12px}.rtm-expanded-txns{padding-left:16px}}.more-indicator{display:flex;align-items:center;justify-content:center;gap:.75rem}.btn-show-more{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .75rem;font-size:.8125rem;font-weight:500;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:4px;cursor:pointer;transition:background .15s,color .15s}.btn-show-more:hover{background:var(--accent);color:#fff}
