.transaction-list{margin-top:2rem}.transaction-list h2{margin-bottom:1rem;color:#333}.filters-container{background-color:#fff;padding:15px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.filter-row{display:flex;flex-wrap:wrap;gap:15px;margin-top:10px;align-items:center}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:.9rem;color:#495057;white-space:nowrap}.filter-group input,.filter-group select{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;min-width:120px}.filter-group input[type=date]{min-width:150px}.search-input{flex-grow:1;max-width:300px;position:relative}.search-input input{width:100%;padding:8px 12px 8px 35px;border:1px solid #ced4da;border-radius:4px;font-size:.9rem}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#6c757d}.reset-filters-btn{padding:8px 15px;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.reset-filters-btn:hover{background-color:#5a6268}.transaction-table-container{overflow-x:auto;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.transaction-table{width:100%;border-collapse:collapse;min-width:800px}.transaction-table th,.transaction-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.transaction-table th{background-color:#f8f9fa;font-weight:600;color:#495057;position:sticky;top:0;z-index:10}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable:hover{background-color:#e9ecef}.sort-indicator{margin-left:5px;font-size:.8rem}.transaction-table tr:hover{background-color:#f5f5f5}.transaction-table .income{border-left:4px solid #28a745}.transaction-table .expense{border-left:4px solid #dc3545}.transaction-table .transfer{border-left:4px solid #17a2b8}.no-transactions{text-align:center;padding:30px;color:#6c757d;font-style:italic}.transaction-description{display:flex;flex-direction:column}.description-text{font-weight:500}.merchant-text{font-size:.8rem;color:#6c757d;margin-top:3px}.amount{font-weight:600;text-align:right}.amount.income{color:#28a745}.amount.expense{color:#dc3545}.amount.transfer{color:#17a2b8}.category-badge{display:inline-block;padding:3px 8px;border-radius:12px;background-color:#e9ecef;font-size:.8rem;color:#495057}.category-badge.food{background-color:#ffc107;color:#212529}.category-badge.groceries{background-color:#28a745;color:#fff}.category-badge.entertainment{background-color:#6f42c1;color:#fff}.category-badge.utilities{background-color:#17a2b8;color:#fff}.category-badge.transportation{background-color:#fd7e14;color:#fff}.category-badge.housing{background-color:#20c997;color:#fff}.category-badge.healthcare{background-color:#e83e8c;color:#fff}.category-badge.education{background-color:#007bff;color:#fff}.category-badge.shopping{background-color:#dc3545;color:#fff}.category-badge.income{background-color:#28a745;color:#fff}.user-modified-badge{display:inline-block;margin-left:5px;font-size:.7rem;color:#28a745;cursor:help}.actions{display:flex;gap:5px;justify-content:center}.edit-btn,.delete-btn{padding:5px;border:none;border-radius:4px;cursor:pointer;font-size:1rem;background:none;transition:transform .2s}.edit-btn:hover,.delete-btn:hover{transform:scale(1.2)}.edit-form-cell{background-color:#f8f9fa}.edit-form{display:flex;flex-direction:column;gap:15px;padding:15px}.form-row{display:flex;gap:15px;flex-wrap:wrap}.form-group{display:flex;flex-direction:column;flex:1;min-width:120px}.description-group,.merchant-group{flex:2}.form-group label{margin-bottom:5px;font-size:.9rem;color:#495057}.form-group input,.form-group select{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:.9rem}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:5px}.save-btn,.cancel-btn{padding:8px 15px;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.save-btn{background-color:#28a745;color:#fff}.cancel-btn{background-color:#6c757d;color:#fff}.save-btn:hover{background-color:#218838}.cancel-btn:hover{background-color:#5a6268}.pagination{display:flex;justify-content:center;margin-top:20px;gap:5px}.pagination button{padding:8px 12px;border:1px solid #dee2e6;background-color:#fff;color:#007bff;cursor:pointer;border-radius:4px;transition:background-color .2s;min-width:40px}.pagination button:hover{background-color:#e9ecef}.pagination button.active{background-color:#007bff;color:#fff;border-color:#007bff}.pagination button:disabled{color:#6c757d;cursor:not-allowed;background-color:#e9ecef}.items-per-page{display:flex;align-items:center;justify-content:flex-end;margin-top:15px;font-size:.9rem;color:#495057}.items-per-page label{margin-right:8px}.items-per-page select{padding:5px 8px;border:1px solid #ced4da;border-radius:4px;margin-right:15px}.showing-text{color:#6c757d}@media (max-width: 768px){.filter-row{flex-direction:column;align-items:stretch}.filter-group{width:100%}.search-input{max-width:100%}.form-row{flex-direction:column}.form-group{width:100%}}@media (max-width: 768px){.summary-cards{grid-template-columns:1fr}}.add-transaction-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.add-transaction-content{background:white;border-radius:12px;box-shadow:0 10px 30px #0003;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.add-transaction-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.add-transaction-header h2{margin:0;color:#1f2937;font-size:1.5rem;font-weight:600}.add-transaction-form{padding:0 24px 24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.form-group label{font-weight:500;color:#374151;margin-bottom:6px;font-size:.875rem}.form-group input,.form-group select{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:all .2s ease;background-color:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input::placeholder{color:#9ca3af}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:6px;margin-bottom:20px;font-size:.875rem}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:20px;border-top:1px solid #e5e7eb}.cancel-btn,.submit-btn{padding:10px 20px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.cancel-btn{background-color:#f9fafb;color:#374151;border:1px solid #d1d5db}.cancel-btn:hover:not(:disabled){background-color:#f3f4f6}.submit-btn{background-color:#3b82f6;color:#fff}.submit-btn:hover:not(:disabled){background-color:#2563eb}.cancel-btn:disabled,.submit-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.add-transaction-modal{padding:10px}.add-transaction-content{max-height:95vh}.form-row{grid-template-columns:1fr;gap:12px}.add-transaction-header{padding:20px 20px 0}.add-transaction-form{padding:0 20px 20px}.form-actions{flex-direction:column-reverse}.cancel-btn,.submit-btn{width:100%;padding:12px}}.form-group input:invalid{border-color:#ef4444}.form-group input:valid{border-color:#10b981}.submit-btn:disabled{position:relative}.submit-btn:disabled:after{content:"";position:absolute;width:16px;height:16px;margin:auto;border:2px solid transparent;border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;top:0;left:0;bottom:0;right:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.category-manager-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}.category-manager-content{background:white;border-radius:12px;width:90%;max-width:600px;max-height:80vh;overflow:hidden;box-shadow:0 20px 40px #0000001a;animation:slideIn .3s ease-out}.category-manager-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.category-manager-header h2{margin:0;color:#1f2937;font-size:1.5rem;font-weight:600}.category-manager-body{padding:24px;max-height:calc(80vh - 140px);overflow-y:auto}.add-category-section{margin-bottom:32px}.add-category-section h3{margin:0 0 16px;color:#1f2937;font-size:1.1rem;font-weight:600}.add-category-form{display:flex;gap:12px}.add-category-form input{flex:1;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s ease}.add-category-form input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.add-btn{background-color:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.add-btn:hover{background-color:#2563eb}.categories-section h3{margin:0 0 16px;color:#1f2937;font-size:1.1rem;font-weight:600}.categories-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.category-item{border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;background-color:#fafafa;transition:all .2s ease}.category-item:hover{background-color:#f3f4f6;border-color:#d1d5db}.category-display{display:flex;justify-content:space-between;align-items:center}.category-name{font-size:14px;color:#374151;font-weight:500}.category-actions{display:flex;gap:8px}.edit-btn,.delete-btn{background:none;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s ease}.edit-btn:hover{background-color:#dbeafe}.delete-btn:hover{background-color:#fee2e2}.category-edit{display:flex;gap:12px;align-items:center}.category-edit input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.category-edit input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.edit-actions{display:flex;gap:4px}.save-btn,.cancel-btn{background:none;border:none;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;transition:background-color .2s ease}.save-btn{color:#059669}.save-btn:hover{background-color:#d1fae5}.cancel-btn{color:#dc2626}.cancel-btn:hover{background-color:#fee2e2}.category-manager-footer{margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb}.note{font-size:12px;color:#6b7280;margin:0;line-height:1.5}@media (max-width: 768px){.category-manager-content{width:95%;max-height:90vh;margin:20px}.category-manager-header{padding:16px 20px}.category-manager-header h2{font-size:1.3rem}.category-manager-body{padding:20px}.add-category-form{flex-direction:column}.add-category-form input{margin-bottom:8px}.category-display{flex-direction:column;align-items:flex-start;gap:8px}.category-actions{align-self:flex-end}.category-edit{flex-direction:column;align-items:stretch}.edit-actions{align-self:flex-end}}@media (max-width: 480px){.category-manager-content{width:100%;height:100vh;max-height:100vh;border-radius:0}.categories-list{max-height:250px}}.auto-categorize-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}.auto-categorize-content{background:white;border-radius:12px;width:90%;max-width:900px;max-height:85vh;overflow:hidden;box-shadow:0 20px 40px #0000001a;animation:slideIn .3s ease-out}.auto-categorize-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.auto-categorize-header h2{margin:0;color:#1f2937;font-size:1.5rem;font-weight:600}.close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-btn:hover{background-color:#f3f4f6;color:#374151}.auto-categorize-body{padding:24px;max-height:calc(85vh - 140px);overflow-y:auto}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:8px;margin-bottom:20px;font-size:14px}.categorize-info{background-color:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;padding:16px;border-radius:8px;margin-bottom:24px}.categorize-info p{margin:0;font-size:14px;line-height:1.5}.no-transactions{text-align:center;padding:40px;color:#6b7280}.no-transactions p{font-size:16px;margin:0}.transactions-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.transaction-item{border:1px solid #e5e7eb;border-radius:8px;padding:16px;background-color:#fafafa;transition:all .2s ease}.transaction-item:hover{background-color:#f3f4f6;border-color:#d1d5db}.transaction-info{margin-bottom:16px}.transaction-description{font-size:16px;font-weight:500;color:#1f2937;margin-bottom:8px}.transaction-details{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;color:#6b7280}.amount{font-weight:600;color:#059669}.date{color:#6b7280}.current-category{color:#7c3aed;font-weight:500}.categorization-section{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start}.suggestion-info{display:flex;flex-direction:column;gap:8px}.suggested-category{font-size:14px;font-weight:600;color:#1f2937}.confidence-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;color:#fff;width:fit-content}.matched-keywords{font-size:12px;color:#6b7280;font-style:italic}.category-selection{display:flex;gap:8px;align-items:center}.category-selection select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background-color:#fff;min-width:150px}.category-selection select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.apply-single-btn{background-color:#059669;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.apply-single-btn:hover:not(:disabled){background-color:#047857}.apply-single-btn:disabled{background-color:#d1d5db;color:#9ca3af;cursor:not-allowed}.auto-categorize-footer{border-top:1px solid #e5e7eb;padding:16px 0 0;text-align:center}.apply-all-btn{background-color:#3b82f6;color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.apply-all-btn:hover:not(:disabled){background-color:#2563eb}.apply-all-btn:disabled{background-color:#d1d5db;color:#9ca3af;cursor:not-allowed}.loading{text-align:center;padding:40px;color:#6b7280;font-size:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.auto-categorize-content{width:95%;max-height:90vh;margin:20px}.auto-categorize-header{padding:16px 20px}.auto-categorize-header h2{font-size:1.3rem}.auto-categorize-body{padding:20px}.categorization-section{grid-template-columns:1fr;gap:12px}.category-selection{flex-direction:column;align-items:stretch}.category-selection select{min-width:auto}.transaction-details{flex-direction:column;gap:4px}.suggestion-info{margin-bottom:12px}}@media (max-width: 480px){.auto-categorize-content{width:100%;height:100vh;max-height:100vh;border-radius:0}.transaction-item{padding:12px}.apply-all-btn{width:100%}}.dashboard{max-width:1200px;margin:0 auto;padding:2rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard h1{margin:0;text-align:left}.header-buttons{display:flex;gap:12px}.add-transaction-btn,.manage-categories-btn,.smart-categorize-btn{border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.add-transaction-btn{background-color:#3b82f6;color:#fff}.add-transaction-btn:hover{background-color:#2563eb;transform:translateY(-1px)}.manage-categories-btn{background-color:#6b7280;color:#fff}.manage-categories-btn:hover{background-color:#4b5563;transform:translateY(-1px)}.smart-categorize-btn{background-color:#7c3aed;color:#fff}.smart-categorize-btn:hover{background-color:#6d28d9;transform:translateY(-1px)}.add-transaction-btn:active,.manage-categories-btn:active,.smart-categorize-btn:active{transform:translateY(0)}.loading{display:flex;justify-content:center;align-items:center;height:300px;font-size:1.2rem;color:#7f8c8d}.error{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin:1rem 0;text-align:center}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background-color:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 10px #0000001a;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.charts-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:2rem;margin-bottom:2rem}.chart-card{background-color:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 10px #0000001a}.chart-card h2{margin-bottom:1rem;color:#2c3e50;font-size:1.5rem;text-align:center}.chart-wrapper{height:300px;position:relative}.summary-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #00000026}.summary-card h3{margin-top:0;margin-bottom:1rem;color:#2c3e50;font-size:1.2rem}.summary-card .amount{font-size:2rem;font-weight:700;margin:0}.summary-card .positive{color:#27ae60}.summary-card .negative{color:#e74c3c}.summary-card .card-icon{position:absolute;top:1rem;right:1rem;font-size:2rem;opacity:.2}.summary-card.income{background-color:#e8f7f0;border-left:5px solid #27ae60}.summary-card.expenses{background-color:#fdeaea;border-left:5px solid #e74c3c}.summary-card.balance{background-color:#eaf2f8;border-left:5px solid #3498db}.charts-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:2rem;margin-bottom:3rem}.chart{background-color:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 10px #0000001a}.chart h2{margin-top:0;margin-bottom:1.5rem;color:#2c3e50;font-size:1.5rem;text-align:center}.transaction-list-container{background-color:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 10px #0000001a}.transaction-list-container h2{margin-top:0;margin-bottom:1.5rem;color:#2c3e50;font-size:1.5rem}.transaction-table th{background-color:#f8f9fa;padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e9ecef}.transaction-table td{padding:1rem;border-bottom:1px solid #e9ecef}.transaction-table tr.income{background-color:#27ae600d}.category-icon{margin-right:.5rem;font-size:1.2rem}.income-amount{color:#27ae60;font-weight:600}.action-buttons{display:flex;gap:.5rem}.edit-btn,.delete-btn{padding:.25rem .5rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background-color .3s ease}.edit-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:1rem;background-color:#f8f9fa;border-radius:4px}.form-group label{margin-bottom:.5rem;font-weight:500;color:#2c3e50}.form-group input,.form-group select{padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.form-actions{grid-column:span 2;display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.save-btn,.cancel-btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s ease}.save-btn{background-color:#27ae60;color:#fff}.save-btn:hover{background-color:#219653}.cancel-btn{background-color:#95a5a6;color:#fff}.cancel-btn:hover{background-color:#7f8c8d}@media (max-width: 768px){.dashboard{padding:1rem}.dashboard-header{flex-direction:column;align-items:stretch;gap:1rem}.dashboard h1{font-size:2rem;text-align:center}.header-buttons{flex-direction:column;gap:8px}.add-transaction-btn,.manage-categories-btn,.smart-categorize-btn{width:100%;justify-content:center}.summary-cards,.charts-container{grid-template-columns:1fr}}.no-transactions{text-align:center;padding:3rem;color:#7f8c8d;font-size:1.2rem;background-color:#f8f9fa;border-radius:8px;margin-top:2rem}@media (max-width: 768px){.dashboard{padding:1rem}.charts-container,.edit-form{grid-template-columns:1fr}.form-actions{grid-column:1}}.file-upload-container{max-width:800px;margin:0 auto;padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a}.upload-instructions{margin-bottom:1.5rem;color:#555;font-size:1.1rem}.dropzone{border:2px dashed #3498db;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;margin-bottom:1.5rem;background-color:#f8fafc}.dropzone:hover{border-color:#2980b9;background-color:#f0f8ff}.dropzone.disabled{opacity:.6;cursor:not-allowed}.dropzone-content{display:flex;flex-direction:column;align-items:center;justify-content:center}.upload-icon{font-size:3rem;margin-bottom:1rem;color:#3498db}.file-list-container{margin:1.5rem 0}.file-count{font-size:.9rem;color:#666;font-weight:400}.file-list{list-style:none;padding:0;margin:0}.file-item{display:flex;align-items:center;padding:.75rem;border:1px solid #eee;border-radius:4px;margin-bottom:.5rem;background-color:#f9f9f9}.file-info{display:flex;align-items:center;width:100%}.file-icon{font-size:1.5rem;margin-right:.75rem}.file-name{flex-grow:1;font-weight:500;word-break:break-all}.file-size{color:#777;font-size:.85rem;margin-left:1rem}.progress-container{margin:1.5rem 0}.progress-bar{height:10px;background-color:#eee;border-radius:5px;overflow:hidden}.progress-fill{height:100%;background-color:#3498db;transition:width .3s ease}.progress-text{text-align:center;margin-top:.5rem;font-size:.9rem;color:#666}.action-buttons{display:flex;gap:1rem;margin:1.5rem 0}.upload-button{padding:.75rem 1.5rem;background-color:#3498db;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.clear-button{padding:.75rem 1.5rem;background-color:#e74c3c;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.clear-button:hover{background-color:#c0392b}.status-message{padding:1rem;border-radius:4px;margin:1rem 0}.status-message.info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.status-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.status-message.warning{background-color:#fff3cd;color:#856404;border:1px solid #ffeeba}.validation-errors{background-color:#fff3cd;border:1px solid #ffeeba;border-radius:4px;padding:1rem;margin:1rem 0}.validation-errors h4{color:#856404;margin-top:0;margin-bottom:.5rem}.validation-errors ul{margin:0;padding-left:1.5rem}.error-message{color:#721c24;margin-bottom:.25rem}@media (max-width: 768px){.file-upload-container{padding:1rem}.action-buttons{flex-direction:column;gap:.5rem}}*{box-sizing:border-box;margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}body{background-color:#f8f9fa;color:#333}.container{max-width:1200px;margin:0 auto;padding:20px}.navbar{background-color:#2c3e50;height:80px;display:flex;justify-content:center;align-items:center;position:sticky;top:0;z-index:999;box-shadow:0 2px 10px #0000001a}.navbar-container{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px;padding:0 20px}.navbar-logo{color:#fff;text-decoration:none;font-size:1.8rem;font-weight:700}.nav-menu{display:flex;list-style:none}.nav-item{margin-left:20px}.nav-links{color:#fff;text-decoration:none;padding:10px 15px;border-radius:4px;transition:background-color .3s ease}.nav-links:hover{background-color:#ffffff1a}.dashboard{padding:20px 0}.dashboard h1{margin-bottom:30px;color:#2c3e50;text-align:center}.loading,.error{text-align:center;padding:20px;font-size:1.2rem}.error{color:#e74c3c}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.summary-card{background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 4px 6px #0000001a;position:relative;overflow:hidden;transition:transform .3s ease}.summary-card:hover{transform:translateY(-5px)}.summary-card h3{font-size:1.2rem;margin-bottom:10px;color:#7f8c8d}.summary-card .amount{font-size:2rem;font-weight:700;margin-bottom:5px}.summary-card.income{border-top:4px solid #2ecc71}.summary-card.expenses{border-top:4px solid #e74c3c}.summary-card.balance{border-top:4px solid #3498db}.amount.positive{color:#2ecc71}.amount.negative{color:#e74c3c}.card-icon{position:absolute;top:20px;right:20px;font-size:2rem;opacity:.2}.charts-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:30px}.chart{background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 4px 6px #0000001a}.chart h2{font-size:1.4rem;margin-bottom:20px;color:#2c3e50;text-align:center}.transaction-list-container{background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 4px 6px #0000001a}.transaction-list-container h2{font-size:1.4rem;margin-bottom:20px;color:#2c3e50}.transaction-table{width:100%;border-collapse:collapse}.transaction-table th{background-color:#f8f9fa;padding:12px;text-align:left;font-weight:600;color:#7f8c8d;border-bottom:2px solid #ecf0f1}.transaction-table td{padding:12px;border-bottom:1px solid #ecf0f1}.transaction-table tr:hover{background-color:#f8f9fa}.transaction-table tr.income{background-color:#2ecc710d}.transaction-table tr.expense{background-color:#e74c3c0d}.income-amount{color:#2ecc71;font-weight:600}.expense-amount{color:#e74c3c;font-weight:600}.category-icon{margin-right:8px}.action-buttons button{padding:6px 12px;margin-right:5px;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s ease}.edit-btn{background-color:#3498db;color:#fff}.edit-btn:hover{background-color:#2980b9}.delete-btn{background-color:#e74c3c;color:#fff}.delete-btn:hover{background-color:#c0392b}.no-transactions{text-align:center;padding:40px 0;color:#7f8c8d;font-size:1.1rem}.edit-form{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;padding:15px;background-color:#f8f9fa;border-radius:8px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:5px;font-weight:600;color:#7f8c8d}.form-group input,.form-group select{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-actions{grid-column:span 2;display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.save-btn{background-color:#2ecc71;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.cancel-btn{background-color:#95a5a6;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.file-upload-container{max-width:800px;margin:0 auto;padding:20px}.file-upload-container h1{margin-bottom:20px;color:#2c3e50;text-align:center}.upload-instructions{text-align:center;margin-bottom:30px;color:#7f8c8d}.dropzone{border:2px dashed #3498db;border-radius:8px;padding:40px;text-align:center;cursor:pointer;margin-bottom:20px;transition:border-color .3s ease;background-color:#3498db0d}.dropzone:hover{border-color:#2980b9;background-color:#3498db1a}.dropzone p{font-size:1.2rem;margin-bottom:10px;color:#2c3e50}.dropzone em{color:#7f8c8d;font-size:.9rem}.file-list-container{margin-bottom:20px}.file-list{list-style:none;background-color:#fff;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000001a}.file-item{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid #ecf0f1}.file-item:last-child{border-bottom:none}.file-name{font-weight:600;margin-right:10px}.file-size{color:#7f8c8d;font-size:.9rem}.upload-button{display:block;width:100%;padding:12px;background-color:#3498db;color:#fff;border:none;border-radius:4px;font-size:1.1rem;cursor:pointer;transition:background-color .3s ease;margin-bottom:20px}.upload-button:hover{background-color:#2980b9}.upload-button:disabled{background-color:#95a5a6;cursor:not-allowed}.status-message{padding:15px;border-radius:4px;margin-bottom:15px;font-weight:500}.status-message.info{background-color:#3498db33;color:#2980b9}.status-message.success{background-color:#2ecc7133;color:#27ae60}.status-message.error{background-color:#e74c3c33;color:#c0392b}@media screen and (max-width: 768px){.charts-container,.edit-form{grid-template-columns:1fr}.form-actions{grid-column:1}.transaction-table{display:block;overflow-x:auto}}
