:root{--primary-color: #667eea;--primary-dark: #764ba2;--success-color: #4CAF50;--danger-color: #F44336;--text-primary: #1a1a2e;--text-secondary: #666;--bg-primary: #f8f9fa;--bg-card: #ffffff;--bg-hover: #f0f0f0;--border-color: #e0e0e0;--shadow: 0 2px 8px rgba(0, 0, 0, .1)}[data-theme=dark]{--primary-color: #818cf8;--primary-dark: #a78bfa;--success-color: #4ade80;--danger-color: #f87171;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--bg-primary: #0f172a;--bg-card: #1e293b;--bg-hover: #334155;--border-color: #334155;--shadow: 0 2px 8px rgba(0, 0, 0, .3)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.app-header h1{font-size:1.5rem;font-weight:600}.app-logo{display:flex;align-items:center;gap:.75rem}.app-logo svg{flex-shrink:0}.logo-container{display:flex;align-items:center;gap:.75rem}.logo-container svg{flex-shrink:0}.logo-container .brand-name{font-size:1.5rem;font-weight:600;margin:0}.brand-name span{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-header .brand-name span{background:none;-webkit-text-fill-color:rgba(255,255,255,.9)}.brand-name-inline{font-weight:600}.brand-name-inline span{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-nav{display:flex;gap:.5rem}.app-nav button{background:#fff3;border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s}.app-nav button:hover{background:#ffffff4d}.app-nav button.active{background:#fff;color:var(--primary-color)}.app-main{flex:1;padding:1.5rem;max-width:1400px;margin:0 auto;width:100%}.upload-section{margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.file-upload-container{display:flex;flex-direction:column;gap:.75rem;flex:1;min-width:280px;max-width:400px}.account-selector{display:flex;flex-direction:column;gap:.35rem}.account-selector label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.account-selector-row{display:flex;align-items:center;gap:.5rem}.account-select{flex:1;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--bg-card);color:var(--text-primary);cursor:pointer}.account-select:focus{outline:none;border-color:var(--primary-color)}.account-color-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.new-account-inline{display:flex;gap:.5rem;flex-wrap:wrap}.new-account-inline input{flex:1;min-width:120px;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.85rem;background:var(--bg-card);color:var(--text-primary)}.new-account-inline input:focus{outline:none;border-color:var(--primary-color)}.new-account-inline select{padding:.5rem;border:1px solid var(--border-color);border-radius:6px;font-size:.85rem;background:var(--bg-card);color:var(--text-primary);cursor:pointer}.btn-create-inline{padding:.5rem .75rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500}.btn-create-inline:hover:not(:disabled){background:var(--primary-dark)}.btn-create-inline:disabled{opacity:.6;cursor:not-allowed}.btn-cancel-inline{padding:.5rem .75rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:.85rem}.btn-cancel-inline:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-primary)}.file-upload{border:2px dashed var(--border-color);border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg-card)}.file-upload:hover,.file-upload.dragging{border-color:var(--primary-color);background:#667eea0d}.file-upload.loading{opacity:.6;pointer-events:none}.upload-icon{font-size:2.5rem;margin-bottom:.5rem}.upload-hint{color:var(--text-secondary);font-size:.85rem}.error-message{background:#ffebee;color:var(--danger-color);padding:.75rem 1rem;border-radius:8px;font-size:.9rem}.clear-btn{background:var(--danger-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:opacity .2s}.clear-btn:hover{opacity:.9}.dashboard{background:var(--bg-card);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow)}.dashboard.empty{display:flex;align-items:center;justify-content:center;min-height:60vh}.empty-state{text-align:center;padding:3rem;background:var(--card-bg);border-radius:16px;box-shadow:var(--shadow-sm);max-width:500px;width:100%}.empty-state h2{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem}.empty-state p{color:var(--text-secondary);margin-bottom:1.5rem}.import-btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;padding:.875rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .2s}.import-btn-primary:hover{opacity:.95;transform:translateY(-1px)}.import-btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:.875rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.import-btn-secondary:hover{background:var(--bg-secondary);color:var(--text-primary)}.import-panel-empty{margin-top:1.5rem;text-align:left}.dashboard-header{margin-bottom:1.5rem}.dashboard-filters{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.import-csv-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:linear-gradient(135deg,var(--primary-color) 0%,#5a8fd8 100%);border:none;border-radius:8px;font-size:.85rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #4a90e24d;margin-left:auto}.import-csv-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4a90e266}.import-csv-btn:active{transform:translateY(0)}.import-csv-btn .import-icon{font-size:1rem;font-weight:700;line-height:1}.import-panel-inline{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1rem;margin-bottom:1rem}.month-selector{display:flex;flex-wrap:wrap;gap:.5rem}.month-selector button{background:var(--bg-primary);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.month-selector button:hover{border-color:var(--primary-color)}.month-selector button.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.month-dropdown{background:var(--bg-primary);border:1px solid var(--border-color);padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:.85rem;color:var(--text-primary)}.month-dropdown:focus{outline:none;border-color:var(--primary-color)}.insights-panel{background:var(--bg-primary);border-radius:12px;margin-bottom:1.5rem;overflow:hidden;border:1px solid var(--border-color)}.insights-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.insights-header:hover{background:var(--bg-secondary)}.insights-title{display:flex;align-items:center;gap:.75rem}.insights-title h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.insights-icon{font-size:1.25rem}.insights-badge{background:var(--primary-color);color:#fff;font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:10px;min-width:1.5rem;text-align:center}.insights-toggle{background:none;border:none;color:var(--text-secondary);font-size:.75rem;cursor:pointer;padding:.25rem}.insights-content{padding:0 1.25rem 1.25rem}.insights-list{display:flex;flex-direction:column;gap:.75rem}.insight-card{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border-left:4px solid var(--border-color);transition:transform .15s,box-shadow .15s}.insight-card.clickable{cursor:pointer}.insight-card.clickable:hover{transform:translate(4px);box-shadow:0 2px 8px #00000014}.insight-card.info{border-left-color:#3b82f6}.insight-card.warning{border-left-color:#f59e0b;background:#f59e0b0d}.insight-card.success{border-left-color:#10b981;background:#10b9810d}.insight-icon{font-size:1.5rem;flex-shrink:0;line-height:1}.insight-body{flex:1;min-width:0}.insight-title{font-weight:600;font-size:.95rem;color:var(--text-primary);margin-bottom:.25rem}.insight-message{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.insight-action{color:var(--text-secondary);font-size:1rem;align-self:center}.insights-notification{position:relative}.insights-notification-btn{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s}.insights-notification-btn:hover{border-color:var(--primary-color);background:var(--bg-secondary)}.insights-notification-btn .insights-icon{font-size:1.1rem}.insights-notification-badge{background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:8px;min-width:1.2rem;text-align:center}.insights-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.insights-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:450px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #00000026;z-index:100;overflow:hidden;display:flex;flex-direction:column}.insights-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.insights-dropdown-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.insights-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.insights-close:hover{color:var(--text-primary)}.insights-dropdown-content{padding:.75rem;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.insights-dropdown-content .insight-card{padding:.75rem;gap:.75rem}.insights-dropdown-content .insight-icon{font-size:1.25rem}.insights-dropdown-content .insight-title{font-size:.85rem}.insights-dropdown-content .insight-message{font-size:.8rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:var(--bg-primary);padding:1.25rem;border-radius:10px;text-align:center}.summary-card h3{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:500}.summary-card .amount{font-size:1.75rem;font-weight:700}.summary-card.spending .amount{color:var(--danger-color)}.summary-card.income .amount{color:var(--success-color)}.summary-card.clickable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.summary-card.clickable:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.summary-card.clickable:active{transform:translateY(0)}.summary-card.balance .amount.positive{color:var(--success-color)}.summary-card.balance .amount.negative{color:var(--danger-color)}.summary-card.transfers{background:linear-gradient(135deg,#607d8b,#455a64);color:#fff}.summary-card.transfers h3{color:#ffffffe6}.summary-card.transfers .amount{color:#fff}.summary-card .subtext{font-size:.8rem;opacity:.8;margin-top:.25rem}.charts-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.chart-section{background:var(--bg-primary);padding:1.25rem;border-radius:10px}.chart-section h3{font-size:1rem;margin-bottom:1rem;color:var(--text-primary)}.no-data{text-align:center;color:var(--text-secondary);padding:2rem}.category-breakdown{margin-top:1.5rem}.category-breakdown h3{font-size:1rem;margin-bottom:1rem}.breakdown-list{display:flex;flex-direction:column;gap:.75rem}.breakdown-item{display:flex;align-items:center;gap:1rem}.breakdown-label{display:flex;align-items:center;gap:.5rem;min-width:120px}.color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.category-name{font-size:.9rem}.breakdown-bar-container{flex:1;height:8px;background:var(--bg-primary);border-radius:4px;overflow:visible;position:relative}.breakdown-bar{height:100%;border-radius:4px;transition:width .3s ease}.breakdown-amount{font-size:.9rem;font-weight:600;min-width:80px;text-align:right}.category-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color);flex-shrink:0}.breakdown-item.excluded{opacity:.5}.breakdown-item.excluded .breakdown-bar{background-color:var(--text-secondary)!important}.breakdown-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.breakdown-header h3{margin-bottom:0}.show-hidden-toggle{background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:4px 10px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.show-hidden-toggle:hover{background:var(--bg-primary);color:var(--text-primary)}.budget-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-left:6px;flex-shrink:0}.budget-status-dot.safe{background:#4caf50}.budget-status-dot.warning{background:#ff9800}.budget-status-dot.exceeded{background:#f44336}.budget-limit-marker{position:absolute;width:2px;height:14px;background:var(--text-secondary);top:-3px;border-radius:1px;opacity:.7}.breakdown-item.over-budget{border-left:3px solid #F44336;padding-left:8px;margin-left:-11px}.breakdown-item.warning-budget{border-left:3px solid #FF9800;padding-left:8px;margin-left:-11px}.breakdown-amount-container{display:flex;align-items:baseline;gap:4px;min-width:140px;justify-content:flex-end}.budget-limit-text{font-size:.75rem;color:var(--text-secondary)}.budget-limit-text.exceeded{color:#f44336}.budget-limit-text.warning{color:#ff9800}.budget-limit-text.safe{color:#4caf50}.account-breakdown{margin-top:1.5rem}.account-breakdown h3{font-size:1rem;margin-bottom:1rem}.breakdown-item.account-item{cursor:pointer;padding:.5rem;margin:-.5rem;border-radius:6px;transition:background .15s}.breakdown-item.account-item:hover{background:var(--bg-primary)}.account-name{font-size:.9rem}.transaction-list{background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.transaction-list.empty{text-align:center;padding:3rem;color:var(--text-secondary)}.transaction-filters{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-primary);border-bottom:1px solid var(--border-color);gap:1rem;flex-wrap:wrap}.filter-group{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.search-input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;min-width:200px;background:var(--bg-card);color:var(--text-primary)}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.search-input::placeholder{color:var(--text-secondary)}.category-filter{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--bg-card);color:var(--text-primary);cursor:pointer;min-width:150px}.category-filter:focus{outline:none;border-color:var(--primary-color)}.source-filter{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--bg-card);color:var(--text-primary);cursor:pointer;min-width:120px}.source-filter:focus{outline:none;border-color:var(--primary-color)}.month-filter{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--bg-card);color:var(--text-primary);cursor:pointer;min-width:120px}.month-filter:focus{outline:none;border-color:var(--primary-color)}.account-filter{display:flex;align-items:center;gap:.5rem}.account-filter-select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--bg-card);color:var(--text-primary);cursor:pointer;min-width:130px}.account-filter-select:focus{outline:none;border-color:var(--primary-color)}.account-filter-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.account-filter-multi{position:relative}.account-filter-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--bg-card);color:var(--text-primary);cursor:pointer;min-width:150px;justify-content:space-between;transition:border-color .2s,background .2s}.account-filter-toggle:hover{border-color:var(--primary-color)}.account-filter-label{display:flex;align-items:center;gap:.5rem}.account-colors{display:flex;align-items:center;gap:2px}.account-colors .color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.account-colors .color-dot.more{width:auto;height:auto;background:var(--bg-secondary);padding:1px 4px;font-size:.7rem;color:var(--text-secondary);border-radius:3px}.dropdown-arrow{font-size:.7rem;color:var(--text-secondary);transition:transform .2s}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.account-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;overflow:hidden}.account-dropdown-item{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;cursor:pointer;transition:background .15s;border:none;background:none;width:100%;font-size:.9rem;color:var(--text-primary);text-align:left}.account-dropdown-item:hover{background:var(--bg-secondary)}.account-dropdown-item.select-all{border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.85rem}.account-dropdown-item input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--primary-color)}.account-dropdown-item .color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.account-dropdown-item .account-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clear-filters-btn{padding:.5rem .75rem;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;transition:all .2s}.clear-filters-btn:hover{background:var(--danger-color);border-color:var(--danger-color);color:#fff}.filter-results{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.85rem;color:var(--text-secondary)}.filter-results .total-amount{font-weight:600;font-size:.9rem}.filter-results .total-amount.positive{color:var(--success-color)}.filter-results .total-amount.negative{color:var(--danger-color)}.export-btn{padding:.4rem .75rem;font-size:.85rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;color:var(--text-primary);transition:all .2s;white-space:nowrap}.export-btn:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color);color:#fff}.export-btn:disabled{opacity:.5;cursor:not-allowed}.delete-filtered-btn{padding:.4rem .75rem;font-size:.85rem;background:var(--bg-card);border:1px solid var(--danger-color, #dc3545);border-radius:6px;cursor:pointer;color:var(--danger-color, #dc3545);transition:all .2s;white-space:nowrap}.delete-filtered-btn:hover{background:var(--danger-color, #dc3545);color:#fff}.no-results{text-align:center;padding:3rem;color:var(--text-secondary)}.no-results button{margin-top:1rem;padding:.5rem 1rem;background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem}.no-results button:hover{background:var(--primary-dark)}.transaction-header,.transaction-row{display:grid;grid-template-columns:100px 1fr 100px 140px 40px;gap:1rem;padding:.75rem 1rem;align-items:center}.transaction-header{background:var(--bg-primary);font-weight:600;font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.transaction-row{border-bottom:1px solid var(--border-color)}.transaction-row:last-child{border-bottom:none}.transaction-row:hover{background:#667eea08}.col-date{font-size:.85rem;color:var(--text-secondary)}.col-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.col-amount{font-weight:600;text-align:right;font-size:.9rem}.col-amount.positive{color:var(--success-color)}.col-amount.negative{color:var(--danger-color)}.col-category select{width:100%;padding:.4rem .5rem;border:2px solid var(--border-color);border-radius:6px;font-size:.85rem;background:#fff;cursor:pointer}.col-category select:focus{outline:none;border-color:var(--primary-color)}.col-actions{display:flex;justify-content:center;align-items:center}.delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;opacity:0;transition:all .2s ease}.transaction-row:hover .delete-btn{opacity:1}.delete-btn:hover{background:#ef44441a;color:var(--danger-color)}.delete-btn:disabled{cursor:not-allowed;opacity:.5}.delete-btn svg{width:16px;height:16px}.delete-spinner{font-size:12px;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.transaction-row.deleting{opacity:.5;pointer-events:none}.blurred-amount{display:inline-flex;flex-direction:column;align-items:flex-end;background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit}.blur-text{filter:blur(8px);-webkit-user-select:none;user-select:none;transition:filter .2s ease}.blurred-amount:hover .blur-text{filter:blur(6px)}.reveal-hint{font-size:.65rem;color:var(--text-secondary);opacity:0;transition:opacity .2s ease;margin-top:2px}.blurred-amount:hover .reveal-hint{opacity:1}.revealed-amount{transition:all .2s ease}.revealed-amount:hover{opacity:.7}.pagination{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:var(--bg-primary);border-radius:0 0 12px 12px;flex-wrap:wrap;gap:1rem}.pagination-info{font-size:.85rem;color:var(--text-secondary)}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:6px;background:#fff;cursor:pointer;font-size:1rem;color:var(--text-primary);transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color);color:#fff}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-current{font-size:.9rem;padding:0 .75rem;color:var(--text-primary)}.pagination-size{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.pagination-size select{padding:.35rem .5rem;border:1px solid var(--border-color);border-radius:6px;background:#fff;font-size:.85rem;cursor:pointer}.pagination-size select:focus{outline:none;border-color:var(--primary-color)}@media(max-width:768px){.app-header{padding:1rem;flex-direction:column;text-align:center}.app-main{padding:1rem}.file-upload-container{max-width:100%}.file-upload{max-width:100%;padding:1.5rem}.new-account-inline{flex-direction:column}.new-account-inline input,.new-account-inline select{width:100%}.transaction-header,.transaction-row{grid-template-columns:1fr;gap:.5rem}.transaction-header{display:none}.transaction-row{padding:1rem}.col-date{font-size:.8rem;order:1}.col-desc{order:2;white-space:normal;font-weight:500}.col-amount{order:3;text-align:left;font-size:1.1rem}.col-category{order:4}.col-actions{order:5;justify-content:flex-start;margin-top:.5rem}.col-actions .delete-btn{opacity:1}.transaction-filters,.filter-group{flex-direction:column;align-items:stretch}.search-input,.category-filter,.source-filter,.month-filter{min-width:100%;width:100%}.clear-filters-btn{align-self:flex-start}.pagination{flex-direction:column;align-items:center;gap:.75rem}.pagination-info{order:1}.pagination-controls{order:2}.pagination-size{order:3}.filter-results{text-align:center}.breakdown-item{flex-wrap:wrap}.breakdown-label{min-width:100%}.breakdown-bar-container{order:3;flex-basis:100%}.summary-cards,.charts-container{grid-template-columns:1fr}}@media(max-width:480px){.app-header h1{font-size:1.25rem}.month-selector button{padding:.4rem .75rem;font-size:.8rem}.summary-card .amount{font-size:1.5rem}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);padding:1rem}.auth-card{background:#fff;border-radius:16px;padding:2.5rem;width:100%;max-width:400px;box-shadow:0 10px 40px #0003}.auth-card h1{text-align:center;color:var(--primary-color);margin-bottom:.5rem;font-size:1.75rem}.auth-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem}.auth-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.auth-tabs button{flex:1;padding:.75rem;border:2px solid var(--border-color);background:#fff;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.auth-tabs button:hover{border-color:var(--primary-color)}.auth-tabs button.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:var(--text-primary)}.form-group input{padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--primary-color)}.auth-error{background:#ffebee;color:var(--danger-color);padding:.75rem 1rem;border-radius:8px;font-size:.9rem;text-align:center}.auth-message{background:#e8f5e9;color:var(--success-color);padding:.75rem 1rem;border-radius:8px;font-size:.9rem;text-align:center}.auth-submit{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;padding:.875rem 1rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;margin-top:.5rem}.auth-submit:hover{opacity:.95}.auth-submit:active{transform:scale(.98)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.google-signin-btn{width:100%;padding:.875rem 1rem;background:#fff;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.5rem;transition:background-color .2s,box-shadow .2s}.google-signin-btn:hover{background:#f8f9fa;box-shadow:0 1px 3px #0000001a}.google-signin-btn:disabled{opacity:.6;cursor:not-allowed}.auth-divider{display:flex;align-items:center;margin:1rem 0;color:var(--text-secondary)}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.auth-divider span{padding:0 1rem;font-size:.85rem}.loading-screen{display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.loading-spinner{font-size:1.25rem;color:var(--primary-color)}.sign-out-btn{background:#ffffff26!important;border:1px solid rgba(255,255,255,.3)!important}.sign-out-btn:hover{background:#ffffff40!important}.category-pill{display:inline-block;padding:.35rem .75rem;border-radius:20px;border:2px solid;color:#fff;font-size:.8rem;font-weight:500;cursor:pointer;transition:opacity .2s,transform .1s}.category-pill:hover{opacity:.85;transform:scale(1.02)}.ai-badge{display:inline-flex;align-items:center;justify-content:center;background:#ffffff40;font-size:.6rem;font-weight:700;padding:.1rem .35rem;border-radius:4px;margin-left:.4rem;text-transform:uppercase;letter-spacing:.5px}.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:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:1.25rem;margin:0}.modal-close{background:none;border:none;font-size:1.75rem;cursor:pointer;color:var(--text-secondary);line-height:1;padding:0}.modal-close:hover{color:var(--text-primary)}.modal-close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);line-height:1;padding:.25rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.confirm-modal{background:#fff;border-radius:12px;padding:1.5rem 2rem;max-width:400px;width:90%;box-shadow:0 20px 40px #0000004d}.confirm-modal h3{margin:0 0 .75rem;font-size:1.25rem;color:#1a1a2e;font-weight:600}.confirm-modal p{margin:0 0 1.5rem;color:#4a4a5a;line-height:1.5}.confirm-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-secondary{padding:.625rem 1.25rem;border:1px solid var(--border-color);background:transparent;color:var(--text-primary);border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.btn-secondary:hover{background:var(--bg-primary)}.btn-danger{padding:.625rem 1.25rem;border:none;background:#dc3545;color:#fff;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.btn-danger:hover{background:#c82333}.modal-body{padding:1.5rem}.transaction-preview{background:var(--bg-primary);padding:1rem;border-radius:10px;margin-bottom:1.5rem}.preview-description{font-weight:600;margin-bottom:.25rem;word-break:break-word}.preview-details{font-size:.85rem;color:var(--text-secondary)}.category-select-group{margin-bottom:1.5rem}.category-select-group label{display:block;font-weight:500;margin-bottom:.75rem;font-size:.9rem}.category-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.category-btn{padding:.5rem 1rem;border:2px solid var(--border-color);border-radius:8px;background:#fff;cursor:pointer;font-size:.85rem;transition:all .15s}.category-btn:hover{border-color:var(--primary-color)}.category-btn.selected{color:#fff;border-color:transparent}.apply-all-section{border-top:1px solid var(--border-color);padding-top:1.25rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.95rem}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.matching-transactions{margin-top:1rem;background:var(--bg-primary);border-radius:10px;padding:1rem}.matching-header{font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem}.matching-list{max-height:200px;overflow-y:auto}.matching-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border-color);font-size:.85rem}.matching-item:last-child{border-bottom:none}.matching-date{color:var(--text-secondary);min-width:80px}.matching-amount{font-weight:600;min-width:80px}.matching-amount.positive{color:var(--success-color)}.matching-amount.negative{color:var(--danger-color)}.matching-category{padding:.2rem .5rem;border-radius:12px;color:#fff;font-size:.75rem;margin-left:auto}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color)}.btn-cancel{padding:.625rem 1.25rem;border:2px solid var(--border-color);border-radius:8px;background:#fff;cursor:pointer;font-size:.9rem;font-weight:500}.btn-cancel:hover{border-color:var(--text-secondary)}.btn-apply{padding:.625rem 1.25rem;border:none;border-radius:8px;background:var(--primary-color);color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;transition:opacity .2s}.btn-apply:hover{opacity:.9}@media(max-width:768px){.modal-content{max-height:85vh}.category-buttons{gap:.4rem}.category-btn{padding:.4rem .75rem;font-size:.8rem}}.import-summary-modal{background:#fff;border-radius:16px;width:100%;max-width:400px;padding:2rem;box-shadow:0 20px 60px #0000004d;text-align:center}.import-summary-header{margin-bottom:1.5rem}.import-success-icon{width:56px;height:56px;background:linear-gradient(135deg,#10b981,#34d399);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.75rem;color:#fff}.import-summary-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.import-summary-stats{background:var(--bg-primary);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.stat-row.total{display:flex;align-items:baseline;justify-content:center;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.stat-row .stat-value{font-size:2rem;font-weight:700;color:var(--primary-color)}.stat-row .stat-label{font-size:1rem;color:var(--text-secondary)}.stat-details{display:flex;flex-direction:column;gap:.5rem}.stat-item{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.stat-item .stat-dot{width:8px;height:8px;border-radius:50%}.stat-item.categorized .stat-dot{background:#10b981}.stat-item.uncategorized .stat-dot{background:#f59e0b}.import-ai-prompt{background:linear-gradient(135deg,#667eea14,#764ba214);border:1px solid rgba(102,126,234,.2);border-radius:12px;padding:1rem;margin-bottom:1.5rem}.ai-prompt-content{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.75rem;font-weight:500;color:var(--text-primary)}.ai-sparkle{font-size:1.1rem}.import-summary-actions{display:flex;flex-direction:column;gap:.75rem}.view-transactions-btn{width:100%;padding:.875rem 1.5rem;border:2px solid var(--border-color);border-radius:10px;background:#fff;color:var(--text-primary);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.view-transactions-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}@media(max-width:480px){.import-summary-modal{padding:1.5rem;margin:.5rem}.stat-row .stat-value{font-size:1.75rem}}.categorization-progress-modal{background:#fff;border-radius:16px;width:100%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden;position:relative}.categorization-progress-header{padding:1.5rem 2rem;text-align:center;border-bottom:1px solid var(--border-color)}.categorization-success-icon{width:56px;height:56px;background:linear-gradient(135deg,#10b981,#34d399);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.75rem;color:#fff}.categorization-ai-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--primary-color),#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.75rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.categorization-progress-header h2{margin:0;font-size:1.35rem;color:var(--text-primary)}.categorization-progress-bar-container{padding:1rem 2rem;background:var(--bg-primary);position:relative}.categorization-progress-bar{height:8px;background:linear-gradient(90deg,var(--primary-color),#764ba2);border-radius:4px;transition:width .3s ease}.categorization-progress-text{display:block;text-align:center;font-size:.85rem;color:var(--text-secondary);margin-top:.5rem}.categorization-error{margin:0 2rem;padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#dc2626;display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.categorization-error button{background:none;border:none;color:#dc2626;font-size:1.25rem;cursor:pointer;padding:0;line-height:1}.categorization-table-container{flex:1;overflow-y:auto;padding:0 1rem;max-height:400px}.categorization-table{width:100%;border-collapse:collapse;font-size:.9rem}.categorization-table thead{position:sticky;top:0;background:#fff;z-index:1}.categorization-table th{text-align:left;padding:.75rem .5rem;font-weight:600;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color)}.categorization-table td{padding:.75rem .5rem;border-bottom:1px solid var(--border-color)}.categorization-table tr.pending{opacity:.6}.categorization-table tr.categorized{opacity:1}.categorization-table .date-cell{color:var(--text-secondary);white-space:nowrap;width:80px}.categorization-table .description-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.categorization-table .amount-cell{font-weight:600;text-align:right;white-space:nowrap;width:100px}.categorization-table .amount-cell.positive{color:var(--success-color)}.categorization-table .amount-cell.negative{color:var(--text-primary)}.categorization-table .category-cell{width:140px;text-align:right}.categorization-table .category-pill{display:inline-block;padding:.25rem .6rem;border-radius:12px;color:#fff;font-size:.75rem;font-weight:500;white-space:nowrap}.categorization-table .category-pending{color:var(--text-secondary);font-size:1.25rem;letter-spacing:2px}.categorization-table-more{text-align:center;padding:1rem;color:var(--text-secondary);font-size:.9rem}.categorization-progress-actions{padding:1.5rem 2rem;border-top:1px solid var(--border-color);text-align:center}.categorization-note{margin:.75rem 0 0;font-size:.85rem;color:var(--text-secondary)}@media(max-width:600px){.categorization-progress-modal{max-width:100%;max-height:90vh;margin:.5rem;border-radius:12px}.categorization-progress-header{padding:1.25rem 1rem}.categorization-progress-header h2{font-size:1.1rem}.categorization-progress-bar-container{padding:.75rem 1rem}.categorization-table-container{padding:0 .5rem}.categorization-table .description-cell{max-width:120px}.categorization-progress-actions{padding:1rem}}.smart-categorize-card{background:#fff;border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000f;border:1px solid #e5e7eb}.smart-categorize-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.smart-categorize-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.smart-categorize-title-row{display:flex;align-items:center;gap:.75rem}.dismiss-smart-categorize-btn{background:none;border:none;color:#9ca3af;font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;border-radius:4px;transition:all .15s ease}.dismiss-smart-categorize-btn:hover{background:#f3f4f6;color:#6b7280}.uncategorized-badge{background:#f3f4f6;color:#6b7280;font-size:.8rem;padding:.25rem .75rem;border-radius:12px;font-weight:500}.smart-categorize-description{color:var(--text-secondary);font-size:.9rem;margin:0 0 1rem}.start-categorize-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.6rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.start-categorize-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.categorization-inline-progress{display:flex;align-items:center;gap:.75rem;background:#f8f7ff;padding:.75rem 1rem;border-radius:8px;border:1px solid #e5e3f7}.progress-spinner{width:20px;height:20px;border:2px solid #e5e3f7;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.progress-text{color:#5b4ba2;font-size:.9rem;font-weight:500;white-space:nowrap}.progress-bar-inline{flex:1;height:6px;background:#e5e3f7;border-radius:3px;overflow:hidden;min-width:100px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px;transition:width .3s ease}.cancel-categorize-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#9ca3af;font-size:1.25rem;cursor:pointer;border-radius:4px;transition:all .2s ease;flex-shrink:0}.cancel-categorize-btn:hover{background:#fee2e2;color:#ef4444}@media(max-width:640px){.smart-categorize-card{padding:1rem}.categorization-inline-progress{flex-wrap:wrap}.progress-bar-inline{width:100%;order:3;margin-top:.5rem}}.category-detail-modal{background:#fff;border-radius:16px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.category-detail-title{display:flex;align-items:center;gap:.75rem}.month-filter-badge{font-size:.75rem;font-weight:500;padding:.25rem .5rem;background:#667eea26;color:var(--primary-color);border-radius:4px;margin-left:.25rem}.category-color-dot{width:16px;height:16px;border-radius:50%;flex-shrink:0}.category-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--bg-primary);padding:1rem;border-radius:10px;text-align:center}.stat-label{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:.25rem}.stat-value{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.category-chart-section{margin-bottom:2rem}.category-chart-section h3{font-size:1rem;margin-bottom:1rem}.category-breakdown-section{margin-bottom:2rem}.category-breakdown-section h3{font-size:1rem;margin-bottom:.5rem}.category-breakdown-section .breakdown-hint{font-size:.8rem;color:var(--text-secondary);margin-bottom:1rem}.monthly-breakdown-list{display:flex;flex-direction:column;gap:.5rem}.monthly-breakdown-item{display:flex;align-items:center;gap:1rem}.monthly-breakdown-item.clickable{cursor:pointer;padding:.5rem;margin:-.5rem;border-radius:6px;transition:background .15s}.monthly-breakdown-item.clickable:hover{background:var(--bg-primary)}.monthly-breakdown-item.selected{background:#667eea1a;border:1px solid rgba(102,126,234,.3)}.breakdown-month{min-width:60px;font-size:.85rem;color:var(--text-secondary)}.breakdown-bar-wrapper{flex:1;height:20px;background:var(--bg-primary);border-radius:4px;overflow:hidden}.breakdown-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.category-transactions-section .transactions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.category-transactions-section h3{font-size:1rem;margin:0}.clear-month-btn{background:none;border:1px solid var(--border-color);border-radius:4px;padding:.25rem .5rem;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.clear-month-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.no-transactions{color:var(--text-secondary);font-size:.9rem;text-align:center;padding:1rem}.category-transactions-list{display:flex;flex-direction:column;gap:.5rem}.category-transaction-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-primary);border-radius:8px}.transaction-info{display:flex;flex-direction:column;gap:.25rem;overflow:hidden}.transaction-desc{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-date{font-size:.8rem;color:var(--text-secondary)}.transaction-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.transaction-amount{font-weight:600;color:var(--danger-color);white-space:nowrap}.recategorize-btn{background:none;border:1px solid var(--border-color);border-radius:4px;padding:.25rem .5rem;font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.recategorize-btn:hover{background:var(--bg-card);color:var(--primary-color);border-color:var(--primary-color)}.category-select-inline{padding:.25rem .5rem;font-size:.8rem;border:1px solid var(--primary-color);border-radius:4px;background:var(--bg-card);color:var(--text-primary);cursor:pointer;min-width:100px}.category-select-inline:focus{outline:none;box-shadow:0 0 0 2px #667eea33}.no-data-message{text-align:center;padding:3rem;color:var(--text-secondary)}.breakdown-item.clickable{cursor:pointer;padding:.5rem;margin:-.5rem;border-radius:8px;transition:background .15s}.breakdown-item.clickable:hover{background:#667eea14}.breakdown-hint{font-size:.8rem;color:var(--text-secondary);margin-bottom:1rem}@media(max-width:768px){.category-detail-modal{max-height:85vh}.category-stats{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:1.1rem}.monthly-breakdown-item{flex-wrap:wrap}.breakdown-bar-wrapper{order:3;flex-basis:100%;margin-top:.25rem}}.action-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.manage-categories-btn{padding:.5rem 1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.9rem;transition:all .2s}.manage-categories-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.category-manager-modal{background:var(--bg-card);border-radius:12px;max-width:600px;width:95%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.category-manager-modal .modal-body{overflow-y:auto;flex:1;min-height:0}.category-create-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.category-create-section h3,.category-list-section h3{font-size:1rem;margin-bottom:1rem;color:var(--text-primary)}.category-form{display:flex;flex-direction:column;gap:1rem}.category-form input{padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;background:var(--bg-primary);color:var(--text-primary)}.category-form input:focus{outline:none;border-color:var(--primary-color)}.color-picker{display:flex;flex-wrap:wrap;gap:.5rem}.color-picker.compact{gap:.35rem}.color-option{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--text-primary);transform:scale(1.15)}.color-picker.compact .color-option{width:22px;height:22px}.no-categories{color:var(--text-secondary);font-size:.9rem;padding:1rem 0}.category-list{display:flex;flex-direction:column;gap:.5rem}.category-list.default{opacity:.7}.category-list-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-primary);border-radius:8px}.category-list-item.default{background:transparent;padding:.5rem .75rem}.category-info{display:flex;align-items:center;gap:.75rem}.category-info .category-color-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0}.category-info .category-name{font-size:.95rem}.category-actions{display:flex;gap:.5rem}.btn-edit,.btn-delete{padding:.35rem .75rem;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background .2s}.btn-edit{background:#667eea1a;color:var(--primary-color)}.btn-edit:hover{background:#667eea33}.btn-delete{background:#f443361a;color:var(--danger-color)}.btn-delete:hover{background:#f4433633}.category-edit-form{display:flex;flex-direction:column;gap:.75rem;width:100%}.category-edit-form input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--bg-card);color:var(--text-primary)}.category-edit-form input:focus{outline:none;border-color:var(--primary-color)}.edit-actions{display:flex;gap:.5rem}.btn-save{padding:.4rem .75rem;background:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.btn-save:hover{background:var(--primary-dark)}.category-list-section{margin-bottom:1.5rem}.category-list-section:last-child{margin-bottom:0}@media(max-width:768px){.category-manager-modal{max-height:90vh}.category-list-item{flex-direction:column;align-items:flex-start;gap:.75rem}.category-actions{width:100%}.category-actions button{flex:1}}.smart-categorize-buttons{display:flex;gap:0}.smart-categorize-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px 0 0 6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.smart-categorize-preview-btn{padding:.5rem .75rem;background:#667eea26;border:1px solid rgba(102,126,234,.3);border-left:none;border-radius:0 6px 6px 0;color:var(--primary-color);cursor:pointer;font-size:.85rem;transition:all .2s}.smart-categorize-preview-btn:hover{background:#667eea40}.smart-categorize-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.smart-categorize-btn:disabled{opacity:.7;cursor:not-allowed}.smart-categorize-btn .ai-icon{font-size:1rem}.smart-categorize-btn .spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.smart-categorize-error{color:var(--danger-color);font-size:.85rem;margin-left:.5rem}.smart-categorize-error-container{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f443361a;border-radius:6px}.dismiss-error{background:none;border:none;color:var(--danger-color);cursor:pointer;font-size:1.1rem;line-height:1;padding:0}.dismiss-error:hover{opacity:.7}.smart-categorize-status{display:flex;align-items:center;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid rgba(102,126,234,.3);border-radius:6px}.status-content{display:flex;align-items:center;gap:.75rem;width:100%}.status-content .spinner{width:16px;height:16px;border:2px solid rgba(102,126,234,.3);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.status-text{font-size:.9rem;color:var(--primary-color);font-weight:500}.progress-bar{flex:1;height:6px;background:#667eea33;border-radius:3px;overflow:hidden;min-width:80px}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px;transition:width .3s ease}.cancel-job-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.25rem;line-height:1;padding:0 .25rem;margin-left:.5rem;transition:color .2s}.cancel-job-btn:hover{color:var(--danger-color)}.smart-categorize-modal{background:var(--bg-card);border-radius:12px;max-width:600px;width:95%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.suggestion-intro{color:var(--text-secondary);margin-bottom:1rem;font-size:.95rem}.suggestion-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.suggestion-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-primary);border-radius:8px;gap:1rem}.suggestion-description{flex:1;font-size:.9rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-category{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.category-badge{padding:.25rem .75rem;border-radius:20px;color:#fff;font-size:.8rem;font-weight:500}.confidence{font-size:.75rem;color:var(--text-secondary);min-width:80px;text-align:right}.llm-indicator{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;color:var(--primary-color);margin-left:.5rem}.llm-indicator:before{content:"✨";font-size:.65rem}@media(max-width:768px){.smart-categorize-modal{max-height:85vh}.suggestion-item{flex-direction:column;align-items:flex-start;gap:.5rem}.suggestion-description{white-space:normal}.suggestion-category{width:100%;justify-content:space-between}}.manage-accounts-btn{padding:.5rem 1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.9rem;transition:all .2s}.manage-accounts-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.account-manager-modal{background:var(--bg-card);border-radius:12px;max-width:650px;width:95%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.account-create-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.account-create-section h3,.account-list-section h3{font-size:1rem;margin-bottom:1rem;color:var(--text-primary)}.account-form{display:flex;flex-direction:column;gap:1rem}.account-form input{padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;background:var(--bg-primary);color:var(--text-primary)}.account-form input:focus{outline:none;border-color:var(--primary-color)}.account-form-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.account-type-select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;min-width:140px}.account-type-select:focus{outline:none;border-color:var(--primary-color)}.no-accounts{color:var(--text-secondary);font-size:.9rem;padding:1rem 0}.account-list{display:flex;flex-direction:column;gap:.5rem}.account-list-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-primary);border-radius:8px}.account-info{display:flex;align-items:center;gap:.75rem}.account-color-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0}.account-details{display:flex;flex-direction:column;gap:.15rem}.account-name{font-size:.95rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.default-badge{font-size:.7rem;font-weight:600;padding:.15rem .4rem;background:#667eea26;color:var(--primary-color);border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.account-type{font-size:.8rem;color:var(--text-secondary)}.account-txn-count{margin-left:.5rem;font-size:.75rem}.account-actions{display:flex;gap:.5rem}.btn-default{padding:.35rem .75rem;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;background:#667eea1a;color:var(--primary-color);transition:background .2s}.btn-default:hover{background:#667eea33}.account-edit-form{display:flex;flex-direction:column;gap:.75rem;width:100%}.account-edit-form input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--bg-card);color:var(--text-primary)}.account-edit-form input:focus{outline:none;border-color:var(--primary-color)}.delete-modal-overlay{z-index:1100}.delete-account-modal{background:var(--bg-card);border-radius:12px;max-width:500px;width:95%;max-height:80vh;overflow:hidden}.delete-warning{margin-bottom:1.25rem;line-height:1.5}.delete-warning strong{color:var(--danger-color)}.delete-options{display:flex;flex-direction:column;gap:.75rem}.delete-option{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.75rem;background:var(--bg-primary);border-radius:8px;transition:background .15s}.delete-option:hover{background:#667eea14}.delete-option input[type=radio]{margin-top:.15rem;cursor:pointer}.delete-option span{font-size:.9rem}.delete-option-danger{border:1px solid rgba(244,67,54,.3)}.delete-option-danger:hover{background:#f4433614}.move-target-select{margin-left:.5rem;padding:.35rem .5rem;border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;background:var(--bg-card);color:var(--text-primary)}.btn-delete-confirm{padding:.625rem 1.25rem;border:none;border-radius:8px;background:var(--danger-color);color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;transition:opacity .2s}.btn-delete-confirm:hover{opacity:.9}@media(max-width:768px){.account-manager-modal{max-height:90vh}.account-list-item{flex-direction:column;align-items:flex-start;gap:.75rem}.account-actions{width:100%}.account-actions button{flex:1}.account-form-row{flex-direction:column;align-items:stretch}.account-type-select{min-width:100%}}.detect-transfers-btn{padding:.5rem 1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.9rem;transition:all .2s}.detect-transfers-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.transfer-manager-modal{background:var(--bg-card);border-radius:12px;max-width:700px;width:95%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.transfer-stats{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#607d8b1a;border-radius:8px;color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.stats-icon{font-size:1.1rem}.transfer-info{margin-bottom:1rem;font-size:.95rem}.no-transfers{text-align:center;padding:2rem;color:var(--text-secondary)}.no-transfers .hint{font-size:.85rem;margin-top:.75rem;opacity:.8}.transfer-pairs-list{display:flex;flex-direction:column;gap:1rem;max-height:50vh;overflow-y:auto;padding-right:.5rem}.transfer-pair{background:var(--bg-primary);border-radius:10px;padding:1rem;border:1px solid var(--border-color);transition:opacity .2s}.transfer-pair.processing{opacity:.6;pointer-events:none}.pair-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.confidence-badge{font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.date-diff{font-size:.8rem;color:var(--text-secondary)}.pair-transactions{display:flex;flex-direction:column;gap:.5rem}.pair-txn{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:var(--bg-card);border-radius:6px}.account-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.txn-details{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.txn-account{font-size:.75rem;color:var(--text-secondary);font-weight:500}.txn-desc{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.txn-date{font-size:.75rem;color:var(--text-secondary)}.txn-amount{font-weight:600;font-size:.95rem;white-space:nowrap}.txn-amount.positive{color:var(--success-color)}.txn-amount.negative{color:var(--danger-color)}.pair-arrow{text-align:center;font-size:1.2rem;color:var(--text-secondary);padding:.25rem 0}.pair-actions{margin-top:.75rem;display:flex;justify-content:flex-end}.btn-confirm-transfer{padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:background .2s}.btn-confirm-transfer:hover:not(:disabled){background:var(--primary-dark)}.btn-confirm-transfer:disabled{opacity:.6;cursor:not-allowed}.btn-confirm-all{padding:.625rem 1.25rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:background .2s}.btn-confirm-all:hover:not(:disabled){background:var(--primary-dark)}.btn-confirm-all:disabled{opacity:.6;cursor:not-allowed}.transaction-row.is-transfer{background:#607d8b0d}.transfer-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:.75rem;background:#607d8b26;color:#607d8b;border-radius:4px;margin-right:.5rem;flex-shrink:0}@media(max-width:768px){.transfer-manager-modal{max-height:90vh}.transfer-pairs-list{max-height:45vh}.pair-txn{flex-wrap:wrap}.txn-details{flex:0 0 calc(100% - 25px);order:1}.txn-amount{order:2;margin-left:auto;margin-top:.25rem}}.bulk-assign-btn{position:relative;padding:.5rem 1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.9rem;transition:all .2s}.bulk-assign-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.bulk-assign-btn.has-unassigned{border-color:#ff9800}.unassigned-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;background:#ff9800;color:#fff;border-radius:10px;font-size:.75rem;font-weight:600}.bulk-assign-modal{background:var(--bg-card);border-radius:12px;max-width:750px;width:95%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.unassigned-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#ff98001a;border-radius:8px;color:#ff9800;font-size:.9rem;margin-bottom:1rem}.notice-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#ff9800;color:#fff;border-radius:50%;font-size:.75rem;font-weight:700}.bulk-filters{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.filter-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.filter-row label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.filter-row select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--bg-primary);color:var(--text-primary);cursor:pointer}.filter-row select:focus{outline:none;border-color:var(--primary-color)}.bulk-search{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--bg-primary);color:var(--text-primary)}.bulk-search:focus{outline:none;border-color:var(--primary-color)}.bulk-search::placeholder{color:var(--text-secondary)}.bulk-transaction-list{flex:1;min-height:200px;max-height:40vh;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary)}.no-transactions{display:flex;align-items:center;justify-content:center;height:150px;color:var(--text-secondary);font-size:.95rem}.bulk-list-header{position:sticky;top:0;background:var(--bg-card);padding:.75rem 1rem;border-bottom:1px solid var(--border-color);z-index:1}.select-all{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--text-primary)}.select-all input{cursor:pointer}.bulk-list-items{padding:.5rem}.bulk-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:6px;cursor:pointer;transition:background .15s}.bulk-item:hover{background:var(--bg-card)}.bulk-item input{cursor:pointer;flex-shrink:0}.bulk-item-account{width:8px;height:8px;border-radius:50%;flex-shrink:0}.bulk-item-date{font-size:.8rem;color:var(--text-secondary);min-width:70px;flex-shrink:0}.bulk-item-desc{flex:1;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.bulk-item-amount{font-size:.9rem;font-weight:500;white-space:nowrap;flex-shrink:0}.bulk-item-amount.positive{color:var(--success-color)}.bulk-item-amount.negative{color:var(--danger-color)}.bulk-list-truncated{padding:1rem;text-align:center;font-size:.85rem;color:var(--text-secondary);background:var(--bg-card);border-radius:6px;margin:.5rem}.bulk-assign-controls{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem}.assign-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.assign-row label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.assign-row select{flex:1;min-width:150px;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--bg-primary);color:var(--text-primary);cursor:pointer}.assign-row select:focus{outline:none;border-color:var(--primary-color)}.btn-assign{padding:.5rem 1.25rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.btn-assign:hover:not(:disabled){background:var(--primary-dark)}.btn-assign:disabled{opacity:.6;cursor:not-allowed}.btn-clear-account{padding:.5rem 1rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s;align-self:flex-start}.btn-clear-account:hover:not(:disabled){border-color:var(--danger-color);color:var(--danger-color)}.btn-clear-account:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.bulk-assign-modal{max-height:90vh}.bulk-transaction-list{max-height:35vh}.bulk-item{flex-wrap:wrap}.bulk-item-desc{flex:0 0 calc(100% - 30px);order:3;margin-left:22px}.bulk-item-amount{order:4;margin-left:auto;margin-top:.25rem}.assign-row{flex-direction:column;align-items:stretch}.assign-row select,.btn-assign{width:100%}}.compact-import{margin-bottom:1rem}.import-toggle-btn{padding:.5rem 1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;font-size:.9rem;color:var(--text-primary);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.import-toggle-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.import-toggle-btn:before{content:"+";font-size:1.1rem;font-weight:600}.import-panel{margin-top:.75rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.import-panel .file-upload-container{max-width:none}.import-panel .file-upload{padding:1.5rem}.compact-import .error-message{margin-top:.75rem}.settings{max-width:900px;margin:0 auto}.settings-section{margin-bottom:2rem}.settings-section h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.settings-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.settings-card.wide{grid-column:1 / -1}.settings-card-header{display:flex;justify-content:space-between;align-items:center}.settings-card-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.settings-count{font-size:.8rem;padding:.2rem .5rem;background:var(--bg-hover);border-radius:4px;color:var(--text-secondary)}.settings-count.warning{background:#ff980026;color:#ff9800}.settings-card p{font-size:.9rem;color:var(--text-secondary);margin:0;line-height:1.4}.settings-btn{padding:.6rem 1rem;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;font-size:.9rem;color:var(--text-primary);cursor:pointer;transition:all .2s;margin-top:auto}.settings-btn:hover,.settings-btn.has-action{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.settings-btn.has-action:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.settings-btn.danger{background:#f443361a;border-color:#f443364d;color:#f44336}.settings-btn.danger:hover{background:#f44336;border-color:#f44336;color:#fff}.settings-btn.danger-outline{background:transparent;border-color:var(--border-color);color:var(--text-secondary)}.settings-btn.danger-outline:hover{border-color:#f44336;color:#f44336}.data-summary{display:flex;flex-direction:column;gap:.5rem}.summary-row{display:flex;justify-content:space-between;font-size:.9rem;padding:.35rem 0;border-bottom:1px dashed var(--border-color)}.summary-row:last-child{border-bottom:none}.summary-row span:first-child{color:var(--text-secondary)}.summary-row span:last-child{font-weight:500;color:var(--text-primary)}.settings-card.danger-zone{border-color:#f443364d}.settings-card.danger-zone .settings-card-header h3{color:#f44336}.danger-buttons{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.settings-card .smart-categorize{margin-top:auto}.settings-card .smart-categorize-btn{width:100%;justify-content:center}@media(max-width:768px){.settings-grid{grid-template-columns:1fr}.settings-card.wide{grid-column:1}.danger-buttons{flex-direction:column}.danger-buttons .settings-btn{width:100%}}.auth-forgot-link{background:none;border:none;color:var(--primary-color);font-size:.9rem;cursor:pointer;margin-top:.5rem;padding:.5rem}.auth-forgot-link:hover{text-decoration:underline}.auth-back-link{background:none;border:none;color:var(--text-secondary);font-size:.9rem;cursor:pointer;margin-top:.5rem;padding:.5rem}.auth-back-link:hover{color:var(--text-primary)}.auth-forgot-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.auth-forgot-desc{font-size:.9rem;color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.5}.password-modal{background:var(--bg-card);border-radius:12px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto}.password-form{padding:1.5rem}.password-form .form-group{margin-bottom:1rem}.password-form .form-group label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.35rem;color:var(--text-primary)}.password-form .form-group input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background:var(--bg-primary);color:var(--text-primary)}.password-form .form-group input:focus{outline:none;border-color:var(--primary-color)}.password-form .auth-error{background:#f443361a;color:#f44336;padding:.75rem;border-radius:6px;font-size:.9rem;margin-bottom:1rem}.password-form .auth-message{background:#4caf501a;color:#4caf50;padding:.75rem;border-radius:6px;font-size:.9rem;margin-bottom:1rem}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem}.modal-actions .btn-cancel{flex:1;padding:.75rem 1rem;background:transparent;border:1px solid var(--border-color);border-radius:8px;font-size:.9rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.modal-actions .btn-cancel:hover{border-color:var(--text-secondary);color:var(--text-primary)}.modal-actions .btn-primary{flex:1;padding:.75rem 1rem;background:var(--primary-color);border:none;border-radius:8px;font-size:.9rem;color:#fff;cursor:pointer;font-weight:500;transition:all .2s}.modal-actions .btn-primary:hover:not(:disabled){background:var(--primary-dark)}.modal-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.bank-detection-preview{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1rem;margin-bottom:1rem}.bank-detection-banner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;margin-bottom:1rem}.detected-bank{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.bank-icon{font-size:1.25rem}.confidence-badge{padding:.2rem .6rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.confidence-badge.high{background:#dcfce7;color:#166534}.confidence-badge.medium{background:#fef9c3;color:#854d0e}.confidence-badge.low{background:#fee2e2;color:#991b1b}.change-bank-btn{background:none;border:1px solid var(--primary-color);color:var(--primary-color);padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.change-bank-btn:hover{background:var(--primary-color);color:#fff}.bank-selector{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:.75rem;background:var(--bg-secondary);border-radius:8px}.bank-option{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s}.bank-option:hover{border-color:var(--primary-color)}.bank-option.selected{border-color:var(--primary-color);background:#6366f11a}.bank-name{font-weight:500}.bank-short{font-size:.8rem;color:var(--text-secondary)}.preview-info{padding:.75rem 0;border-top:1px solid var(--border-color);margin-top:.5rem}.preview-info p{margin:.25rem 0;color:var(--text-secondary);font-size:.9rem}.preview-actions{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.preview-actions .btn-cancel{flex:1;padding:.75rem 1rem;background:transparent;border:1px solid var(--border-color);border-radius:8px;font-size:.9rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.preview-actions .btn-cancel:hover{border-color:var(--text-secondary);color:var(--text-primary)}.preview-actions .btn-import{flex:2;padding:.75rem 1rem;background:var(--primary-color);border:none;border-radius:8px;font-size:.9rem;color:#fff;cursor:pointer;font-weight:500;transition:all .2s}.preview-actions .btn-import:hover:not(:disabled){background:var(--primary-dark)}.preview-actions .btn-import:disabled{opacity:.6;cursor:not-allowed}.supported-banks{font-size:.75rem!important;color:var(--text-muted)!important;margin-top:.5rem!important}.subscription-dashboard-modal{background:var(--bg-card);border-radius:12px;max-width:900px;width:95%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.subscription-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1rem 1.5rem;background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.subscription-summary-card{text-align:center;padding:.75rem}.subscription-summary-card .summary-label{font-size:.8rem;color:var(--text-secondary);margin-bottom:.25rem}.subscription-summary-card .summary-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.subscription-tabs{display:flex;gap:.5rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.subscription-tabs button{padding:.5rem 1rem;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.9rem;border-radius:6px;transition:all .2s}.subscription-tabs button:hover{background:var(--bg-primary);color:var(--text-primary)}.subscription-tabs button.active{background:var(--primary-color);color:#fff}.subscription-list{flex:1;overflow-y:auto;padding:1rem 1.5rem;max-height:400px}.subscription-empty{text-align:center;padding:2rem;color:var(--text-secondary)}.subscription-empty p{margin-bottom:.5rem}.subscription-empty-hint{font-size:.85rem;opacity:.7}.subscription-controls{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.ai-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:var(--text-secondary)}.ai-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-primary);cursor:pointer}.ai-toggle input[type=checkbox]:disabled{opacity:.5}.btn-rescan{padding:.4rem .8rem;font-size:.85rem;background:var(--accent-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.btn-rescan:hover:not(:disabled){background:var(--accent-primary-hover)}.btn-rescan:disabled{opacity:.6;cursor:not-allowed}.subscription-control-buttons{display:flex;gap:.5rem}.btn-reset{padding:.4rem .8rem;font-size:.85rem;background:var(--danger-bg);color:var(--danger-color);border:1px solid var(--danger-color);border-radius:6px;cursor:pointer;transition:all .2s}.btn-reset:hover:not(:disabled){background:var(--danger-color);color:#fff}.btn-reset:disabled{opacity:.5;cursor:not-allowed}.btn-unconfirm{padding:.35rem .6rem;font-size:.8rem;background:#fff7ed;color:#c2410c;border:1px solid #fb923c;border-radius:4px;cursor:pointer;transition:all .2s}.btn-unconfirm:hover:not(:disabled){background:#fb923c;color:#fff}.btn-unconfirm:disabled{opacity:.6;cursor:not-allowed}.subscription-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;gap:1rem;text-align:center;color:var(--text-secondary)}.loading-spinner-icon{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.detection-progress{width:200px;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.detection-progress-bar{height:100%;background:var(--accent-primary);transition:width .3s ease}.detection-progress-text{font-size:.85rem;opacity:.7}.subscription-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-primary);border-radius:10px;margin-bottom:.75rem;transition:opacity .2s}.subscription-card.processing{opacity:.6;pointer-events:none}.subscription-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.subscription-info{flex:1;min-width:0}.subscription-name{font-weight:600;font-size:.95rem;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subscription-details{font-size:.8rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.subscription-separator{opacity:.5}.subscription-amount-section{text-align:right;min-width:80px}.subscription-amount{font-size:1.1rem;font-weight:700}.subscription-monthly{font-size:.75rem;color:var(--text-secondary)}.subscription-badges{display:flex;gap:.5rem;align-items:center;min-width:70px}.subscription-confidence{padding:.2rem .5rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.subscription-confidence.high{background:#4caf5026;color:#4caf50}.subscription-confidence.medium{background:#ff980026;color:#ff9800}.subscription-confidence.low{background:#9e9e9e26;color:#9e9e9e}.subscription-alert-badge{font-size:.85rem}.subscription-actions{display:flex;gap:.5rem;flex-shrink:0}.subscription-actions button{padding:.4rem .75rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-confirm{background:var(--primary-color);color:#fff;border:none}.btn-confirm:hover:not(:disabled){background:var(--primary-dark)}.btn-dismiss{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-dismiss:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-primary)}.subscription-edit-form{display:flex;flex-direction:column;gap:.5rem;width:100%}.subscription-edit-form input,.subscription-edit-form select{padding:.4rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.85rem;background:var(--bg-card);color:var(--text-primary)}.subscription-edit-form input:focus,.subscription-edit-form select:focus{outline:none;border-color:var(--primary-color)}.subscription-alert-card{margin-bottom:1rem}.subscription-alert-details{padding:.75rem 1rem;background:#f443360d;border-radius:0 0 10px 10px;margin-top:-.5rem}.alert-detail{display:flex;align-items:center;gap:1rem;font-size:.85rem;padding:.5rem 0}.alert-detail.price_increase{color:#f44336}.alert-detail.price_decrease{color:#4caf50}.alert-detail.trial_ending{color:#ff9800}.alert-message{flex:1}.alert-amounts{font-weight:600}.alert-date{color:var(--text-secondary);font-size:.8rem}@media(max-width:768px){.subscription-dashboard-modal{max-height:85vh}.subscription-card{flex-wrap:wrap}.subscription-info{flex-basis:calc(100% - 60px)}.subscription-amount-section{order:3;flex-basis:50%;text-align:left;margin-top:.5rem}.subscription-badges{order:4;flex-basis:auto;margin-top:.5rem}.subscription-actions{order:5;flex-basis:100%;margin-top:.75rem;justify-content:flex-end}.subscription-summary{grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.75rem 1rem}.subscription-summary-card .summary-value{font-size:1.2rem}}.error-fallback{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:2rem}.error-fallback-content{text-align:center;max-width:400px}.error-fallback h2{color:var(--text-primary);font-size:1.5rem;margin-bottom:.5rem}.error-fallback p{color:var(--text-secondary);margin-bottom:1.5rem}.error-fallback button{background:var(--primary-color);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .2s}.error-fallback button:hover{background:var(--primary-dark)}.landing-page{min-height:100vh;background:#fff}.landing-nav{position:fixed;top:0;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:100}.landing-nav-content{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.landing-logo{display:flex;align-items:center;gap:.75rem}.landing-logo-text{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.landing-logo-text span{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-nav-cta{background:transparent;border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1.25rem;font-size:.95rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease}.landing-nav-cta:hover{border-color:var(--primary-color);color:var(--primary-color)}.landing-hero{padding:10rem 2rem 4rem;background:linear-gradient(180deg,#f8fafc,#fff);overflow:hidden}.landing-hero-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.landing-hero-content{text-align:left}.hero-preview{position:relative;display:flex;flex-direction:column;gap:1.5rem}.preview-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 20px 60px #0000001a,0 8px 20px #0000000d;border:1px solid rgba(0,0,0,.05)}.preview-chart-card{animation:float 6s ease-in-out infinite}.preview-ai-card{animation:float 6s ease-in-out infinite .5s;margin-left:2rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.preview-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.preview-card-title{font-weight:600;color:var(--text-primary);font-size:.95rem}.preview-card-period{font-size:.8rem;color:var(--text-secondary);background:#f1f5f9;padding:.25rem .75rem;border-radius:20px}.preview-chart-container{display:flex;align-items:center;gap:1.5rem}.preview-pie-chart{width:120px;height:120px;transform:rotate(-90deg)}.pie-segment{transition:stroke-dasharray .3s ease}.preview-chart-legend{flex:1;display:flex;flex-direction:column;gap:.5rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.legend-label{color:var(--text-secondary);flex:1}.legend-value{font-weight:600;color:var(--text-primary)}.ai-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.ai-sparkle{width:20px;height:20px}.ai-badge{font-size:.8rem;font-weight:600;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-demo-transaction{display:flex;align-items:center;gap:1rem}.ai-demo-original{display:flex;flex-direction:column;gap:.25rem}.ai-demo-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.ai-demo-text{font-size:.85rem;font-weight:500;color:var(--text-primary);font-family:monospace;background:#f8fafc;padding:.35rem .6rem;border-radius:6px}.ai-arrow{width:24px;height:24px;color:var(--primary-color);flex-shrink:0}.ai-demo-result{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#667eea1a,#764ba21a);padding:.5rem 1rem;border-radius:20px;border:1px solid rgba(102,126,234,.2)}.ai-category-icon{font-size:1.1rem}.ai-category-name{font-weight:600;font-size:.9rem;color:var(--primary-color)}.landing-headline{font-size:3.5rem;font-weight:700;color:var(--text-primary);line-height:1.1;margin-bottom:1.5rem;letter-spacing:-.02em}.landing-subheadline{font-size:1.25rem;color:var(--text-secondary);line-height:1.6;margin-bottom:2.5rem;max-width:500px;margin-left:auto;margin-right:auto}.landing-cta{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #667eea66}.landing-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.landing-cta-note{font-size:.875rem;color:var(--text-secondary);margin-top:1rem}.landing-features{padding:4rem 2rem;max-width:1200px;margin:0 auto}.landing-features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.feature-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:2rem;text-align:center;transition:all .2s ease}.feature-card:hover{border-color:var(--primary-color);box-shadow:0 8px 30px #00000014;transform:translateY(-4px)}.feature-icon{width:56px;height:56px;margin:0 auto 1.25rem;background:linear-gradient(135deg,#f0f4ff,#e8efff);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--primary-color)}.feature-icon svg{width:28px;height:28px}.feature-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.feature-description{font-size:.95rem;color:var(--text-secondary);line-height:1.6}.landing-ai-section{background:linear-gradient(180deg,#1e1b4b,#312e81);padding:5rem 2rem}.ai-section-content{max-width:1100px;margin:0 auto}.ai-section-header{text-align:center;margin-bottom:3rem}.ai-section-badge{display:inline-block;padding:.5rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:20px;font-size:.85rem;font-weight:600;color:#c4b5fd;margin-bottom:1rem}.ai-section-title{font-size:2.25rem;font-weight:700;color:#fff;margin:0 0 1rem}.ai-section-subtitle{font-size:1.1rem;color:#a5b4fc;max-width:600px;margin:0 auto}.ai-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.ai-feature-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;text-align:center;transition:all .3s ease}.ai-feature-card:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-4px)}.ai-feature-icon{width:56px;height:56px;margin:0 auto 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:14px;display:flex;align-items:center;justify-content:center}.ai-feature-icon svg{width:28px;height:28px;color:#fff}.ai-feature-title{font-size:1.25rem;font-weight:600;color:#fff;margin:0 0 .75rem}.ai-feature-description{font-size:.95rem;color:#c7d2fe;line-height:1.6;margin:0}.landing-trust{background:linear-gradient(180deg,#fff,#f8fafc);padding:5rem 2rem}.trust-content{max-width:600px;margin:0 auto;text-align:center}.trust-badge{width:72px;height:72px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:20px;display:flex;align-items:center;justify-content:center;color:#059669}.trust-badge svg{width:36px;height:36px}.trust-headline{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.trust-description{font-size:1.05rem;color:var(--text-secondary);line-height:1.7;margin-bottom:2rem}.trust-points{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.trust-point{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--text-primary);font-weight:500}.trust-point svg{width:18px;height:18px;color:#059669}.landing-testimonials{padding:5rem 2rem;background:#f8fafc}.testimonials-title{text-align:center;font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:3rem}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1100px;margin:0 auto}.testimonial-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #0000000f}.testimonial-stars{color:#f59e0b;font-size:1.2rem;margin-bottom:1rem;letter-spacing:2px}.testimonial-text{font-size:1rem;line-height:1.7;color:var(--text-primary);margin-bottom:1.5rem;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:.5rem}.testimonial-name{font-weight:600;color:var(--text-primary)}.testimonial-location{color:var(--text-secondary);font-size:.9rem}.testimonial-location:before{content:"•";margin-right:.5rem}.landing-social-proof{padding:3rem 2rem;background:#fff}.social-proof-badges{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.social-proof-badge{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--text-secondary);font-weight:500}.sticky-mobile-cta{display:none}.landing-footer{padding:5rem 2rem;text-align:center;background:#fff}.landing-footer-headline{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.landing-footer-subheadline{font-size:1.1rem;color:var(--text-secondary);margin-bottom:2rem}@media(max-width:1024px){.landing-features-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1024px){.landing-hero-container{grid-template-columns:1fr;gap:3rem}.landing-hero-content{text-align:center}.hero-preview{max-width:400px;margin:0 auto}.preview-ai-card{margin-left:0}}@media(max-width:768px){.landing-hero{padding:7rem 1.5rem 3rem}.landing-headline{font-size:2.5rem}.landing-subheadline{font-size:1.1rem}.preview-chart-container{flex-direction:column;gap:1rem}.preview-pie-chart{width:100px;height:100px}.ai-demo-transaction{flex-direction:column;gap:.75rem}.ai-arrow{transform:rotate(90deg)}.landing-features{padding:3rem 1.5rem}.landing-features-grid{grid-template-columns:1fr;gap:1.5rem}.feature-card{padding:1.5rem}.landing-ai-section{padding:3rem 1.5rem}.ai-section-title{font-size:1.75rem}.ai-features-grid{grid-template-columns:1fr;gap:1.5rem}.ai-feature-card{padding:1.5rem}.landing-trust{padding:3rem 1.5rem}.trust-points{flex-direction:column;gap:1rem}.landing-footer{padding:3rem 1.5rem 6rem}.landing-footer-headline{font-size:1.5rem}.testimonials-grid{grid-template-columns:1fr;gap:1.5rem}.testimonial-card{padding:1.5rem}.landing-testimonials{padding:3rem 1.5rem}.testimonials-title{font-size:1.5rem;margin-bottom:2rem}.social-proof-badges{flex-direction:column;gap:1rem;align-items:center}.sticky-mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem 1.5rem;z-index:1000;box-shadow:0 -4px 20px #00000026}.sticky-mobile-cta button{width:100%;background:#fff;color:#667eea;border:none;padding:1rem 2rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer}}.budget-progress-section{background:var(--bg-card);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow);margin-top:1.5rem}.budget-progress-section h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.1rem}.budget-progress-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.budget-progress-card{background:var(--bg-primary);border-radius:8px;padding:1rem;border:1px solid var(--border-color);transition:transform .2s,box-shadow .2s}.budget-progress-card.clickable{cursor:pointer}.budget-progress-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.budget-progress-card .budget-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.budget-progress-card .category-name{flex:1;font-weight:500;color:var(--text-primary)}.budget-progress-card .budget-percentage{font-size:.9rem;font-weight:600}.budget-progress-card.safe .budget-percentage{color:var(--success-color)}.budget-progress-card.warning .budget-percentage{color:#f59e0b}.budget-progress-card.exceeded .budget-percentage{color:var(--danger-color)}.budget-bar-container{height:8px;background:var(--bg-hover);border-radius:4px;overflow:hidden;position:relative;margin-bottom:.5rem}.budget-bar{height:100%;border-radius:4px;transition:width .3s ease}.budget-bar.safe{background:var(--success-color)}.budget-bar.warning{background:#f59e0b}.budget-bar.exceeded{background:var(--danger-color)}.budget-bar-overflow{position:absolute;top:0;left:100%;height:100%;background:repeating-linear-gradient(-45deg,var(--danger-color),var(--danger-color) 4px,rgba(255,0,0,.3) 4px,rgba(255,0,0,.3) 8px);border-radius:0 4px 4px 0}.budget-amounts{display:flex;justify-content:space-between;font-size:.85rem}.budget-amounts span{color:var(--text-secondary)}.budget-amounts .over-budget{color:var(--danger-color);font-weight:500}.budget-limit{color:var(--text-secondary)}.budget-warning{margin-top:.5rem;padding:.5rem;background:#ef44441a;border-radius:4px;color:var(--danger-color);font-size:.8rem;font-weight:500;text-align:center}.budget-manager-modal{background:var(--bg-card);border-radius:12px;max-width:550px;width:95%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.budget-manager-modal .modal-body{overflow-y:auto;flex:1;min-height:0}.budget-create-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.budget-create-section h3,.budget-list-section h3{font-size:1rem;margin-bottom:1rem;color:var(--text-primary)}.budget-create-form{display:flex;flex-direction:column;gap:1rem}.budget-form-field{display:flex;flex-direction:column;gap:.5rem}.budget-form-field label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.budget-form-field select,.budget-form-field input{padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;background:var(--bg-primary);color:var(--text-primary)}.budget-form-field select:focus,.budget-form-field input:focus{outline:none;border-color:var(--primary-color)}.budget-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.input-with-prefix,.input-with-suffix{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);overflow:hidden}.input-with-prefix:focus-within,.input-with-suffix:focus-within{border-color:var(--primary-color)}.input-with-prefix input,.input-with-suffix input{border:none;flex:1;padding:.75rem;min-width:0}.input-with-prefix input:focus,.input-with-suffix input:focus{outline:none}.input-prefix,.input-suffix{padding:.75rem;background:var(--bg-hover);color:var(--text-secondary);font-size:.9rem;font-weight:500}.all-budgeted-message,.no-budgets-message{text-align:center;color:var(--text-secondary);padding:2rem 1rem;font-style:italic}.budget-list{display:flex;flex-direction:column;gap:.75rem}.budget-list-item{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-color)}.budget-list-item.inactive{opacity:.6}.budget-item-main{display:flex;align-items:center;gap:.75rem}.budget-category-name{font-weight:600;color:var(--text-primary);font-size:1rem}.budget-item-details{display:flex;gap:1.5rem;padding-left:1.75rem}.budget-limit{font-weight:600;color:var(--primary-color);font-size:.95rem}.budget-threshold{font-size:.85rem;color:var(--text-secondary)}.budget-item-actions{display:flex;gap:.5rem;padding-left:1.75rem}.budget-item-actions button{padding:.4rem .75rem;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:.8rem;transition:all .2s}.budget-item-actions button:hover{background:var(--bg-hover)}.budget-item-actions .btn-toggle{min-width:65px}.budget-item-actions .btn-toggle.active{background:var(--success-color);color:#fff;border-color:var(--success-color)}.budget-item-actions .btn-delete:hover{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.budget-edit-mode{display:flex;flex-direction:column;gap:1rem}.budget-edit-header{display:flex;align-items:center;gap:.75rem}.budget-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.budget-form-field.compact label{font-size:.8rem}.budget-form-field.compact .input-with-prefix input,.budget-form-field.compact .input-with-suffix input,.budget-form-field.compact .input-prefix,.budget-form-field.compact .input-suffix{padding:.5rem}.budget-edit-actions{display:flex;gap:.5rem}.budget-edit-actions .btn-save,.budget-edit-actions .btn-cancel{padding:.5rem 1rem;border-radius:4px;border:none;cursor:pointer;font-size:.85rem;font-weight:500}.budget-edit-actions .btn-save{background:var(--success-color);color:#fff}.budget-edit-actions .btn-save:hover{opacity:.9}.budget-edit-actions .btn-cancel{background:var(--bg-hover);color:var(--text-secondary)}@media(max-width:768px){.budget-progress-grid,.budget-form-row,.budget-edit-fields{grid-template-columns:1fr}.budget-item-details{flex-direction:column;gap:.25rem}.budget-item-actions{flex-wrap:wrap}}
