body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.transaction-detail-edit{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;margin:20px 0;padding:25px}.transaction-detail-edit h3{border-bottom:2px solid #dee2e6;color:#333;font-size:20px;margin:0 0 20px;padding-bottom:10px}.readonly-fields{grid-gap:15px;background:#fff;border:1px solid #dee2e6;border-radius:8px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px;padding:15px}.readonly-field{display:flex;flex-direction:column}.readonly-field label{color:#6c757d;font-size:12px;font-weight:600;margin-bottom:5px;text-transform:uppercase}.readonly-field span{color:#495057;font-size:14px}.account-edit-info,.readonly-field span{border-bottom:1px solid #e9ecef;padding:8px 0}.account-edit-info{display:flex;flex-direction:column;gap:4px}.account-name-edit{color:#495057;font-size:14px;font-weight:600}.account-meta-edit{color:#6c757d;font-size:12px;font-style:italic}.editable-fields{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px}.editable-fields,.form-group{margin-bottom:20px}.form-group label{color:#495057;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group textarea{border:2px solid #e9ecef;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-group input.error,.form-group textarea.error{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.form-group input:disabled,.form-group textarea:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.form-group textarea{font-family:inherit;min-height:80px;resize:vertical}.error-text{color:#dc3545;display:block;font-size:12px;font-weight:500;margin-top:5px}.form-actions{border-top:2px solid #e9ecef;display:flex;gap:15px;justify-content:flex-end;padding-top:20px}.btn-cancel,.btn-save{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;min-width:120px;padding:12px 24px;transition:all .3s ease}.btn-cancel{background-color:#6c757d;color:#fff}.btn-cancel:hover:not(:disabled){background-color:#5a6268;transform:translateY(-1px)}.btn-save{background-color:#28a745;color:#fff}.btn-save:hover:not(:disabled){background-color:#218838;transform:translateY(-1px)}.btn-cancel:disabled,.btn-save:disabled{cursor:not-allowed;opacity:.6;transform:none}.form-group label:after{content:""}.form-group label[for=transaction_date]:after{color:#dc3545;content:" *"}@media (max-width:768px){.transaction-detail-edit{margin:10px 0;padding:15px}.readonly-fields{gap:10px;grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-cancel,.btn-save{width:100%}}.btn-save:disabled{background-color:#6c757d}.form-group input:valid:not(:placeholder-shown),.form-group textarea:valid:not(:placeholder-shown){border-left:4px solid #28a745}.readonly-fields:before{color:#6c757d;content:"Read-Only Information";grid-column:1/-1;margin-bottom:10px}.editable-fields:before,.readonly-fields:before{border-bottom:1px solid #dee2e6;font-size:12px;font-weight:600;padding-bottom:8px;text-transform:uppercase}.editable-fields:before{color:#495057;content:"Editable Fields";display:block;margin-bottom:15px}.multi-file-csv-import{margin:0 auto;max-width:800px;padding:20px}.import-header h2{color:#333;margin-bottom:10px}.help-text{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;color:#1565c0;margin-bottom:25px;padding:15px}.help-text strong{color:#0d47a1}.file-drop-zone{background:#fafafa;border:2px dashed #ccc;border-radius:12px;cursor:pointer;margin-bottom:25px;padding:40px;text-align:center;transition:all .3s ease}.file-drop-zone.drag-over,.file-drop-zone:hover{background:#f3f9ff;border-color:#2196f3;box-shadow:0 4px 12px #2196f31a;transform:translateY(-2px)}.file-drop-zone svg{color:#666;margin-bottom:15px}.file-drop-zone h3{color:#333;margin-bottom:8px}.file-drop-zone p{color:#666;margin-bottom:20px}.file-select-button{background:#2196f3;border:none;border-radius:6px;font-weight:500;padding:12px 24px;transition:background .3s ease}.file-select-button:hover{background:#1976d2}.file-list{margin-bottom:25px}.file-list h3{border-bottom:2px solid #e0e0e0;color:#333;margin-bottom:15px;padding-bottom:8px}.file-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px;transition:all .3s ease}.file-item:hover{box-shadow:0 2px 8px #0000001a}.file-item.pending{border-left:4px solid #6c757d}.file-item.processing{background:#f8f9ff;border-left:4px solid #007bff}.file-item.completed{background:#f8fff9;border-left:4px solid #28a745}.file-item.error{background:#fff8f8;border-left:4px solid #dc3545}.file-info{align-items:center;display:flex;flex:1 1}.file-info svg{margin-right:12px;width:20px}.file-details{flex:1 1}.file-name{align-items:center;color:#333;display:flex;font-weight:500;gap:10px;margin-bottom:4px}.file-type{background:#e3f2fd;border-radius:12px;color:#1565c0;font-size:12px;font-weight:600;padding:2px 8px}.file-date-range{color:#666;font-size:13px;margin-bottom:2px}.file-date-range svg{margin-right:6px;width:12px}.file-result{color:#28a745;font-size:13px;font-weight:500}.file-result svg{margin-right:6px;width:12px}.file-error{color:#dc3545;font-size:13px;font-weight:500}.remove-file-btn{background:none;border:none;border-radius:4px;color:#dc3545;cursor:pointer;padding:8px;transition:background .3s ease}.remove-file-btn:hover{background:#fff5f5}.remove-file-btn:disabled{cursor:not-allowed;opacity:.5}.import-actions{margin-bottom:25px;text-align:center}.process-all-btn{align-items:center;background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;gap:10px;padding:15px 30px;transition:all .3s ease}.process-all-btn:hover:not(:disabled){background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.process-all-btn:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.global-results{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:20px}.global-results h3{color:#333;margin-bottom:15px;text-align:center}.summary-grid{grid-gap:15px;gap:15px}.summary-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:15px;text-align:center}.summary-item.full-width{grid-column:1/-1}.summary-item label{color:#666;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.summary-item span{font-size:24px}.summary-item .positive{color:#28a745}.summary-item .neutral{color:#6c757d}.summary-item .negative{color:#dc3545}@media (max-width:768px){.multi-file-csv-import{padding:15px}.file-drop-zone{padding:30px 15px}.file-item{align-items:flex-start;flex-direction:column;gap:10px}.file-info{width:100%}.summary-grid{grid-template-columns:1fr}}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.file-item.processing{animation:pulse 2s infinite}.import-mode-selector{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-bottom:30px;padding:20px}.import-mode-selector h2{color:#333;margin:0 0 20px;text-align:center}.mode-buttons{display:flex;gap:15px;justify-content:center;margin-bottom:15px}.mode-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#666;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:10px;padding:15px 25px;transition:all .3s ease}.mode-btn:hover{background:#f3f9ff;box-shadow:0 4px 12px #2196f31a}.mode-btn.active,.mode-btn:hover{border-color:#2196f3;transform:translateY(-2px)}.mode-btn.active{background:#2196f3;box-shadow:0 4px 12px #2196f34d;color:#fff}.mode-btn.active:hover{background:#1976d2;border-color:#1976d2}.mode-description{color:#666;font-style:italic;margin:0;text-align:center}@media (max-width:768px){.mode-buttons{align-items:stretch;flex-direction:column}.mode-btn{justify-content:center}}.csv-import .import-mode-selector+div h3{margin-top:0}.tag-manager{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:800px;padding:20px}.tag-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:16px}.section-title{color:#374151;font-weight:600;margin-bottom:12px}.tag{align-items:center;border-radius:16px;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:4px;margin:2px;padding:4px 8px;transition:all .2s}.tag:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.tag.selected{border:2px solid #fff;box-shadow:0 0 0 1px #0000001a}.tag.suggested{background:#f3f4f6;border:1px dashed #6366f1;color:#6366f1}.tag.available{background:#f9fafb;border:1px solid #d1d5db;color:#374151}.tag-close{color:#fffc;cursor:pointer;margin-left:4px}.tag-close:hover{color:#fff}.tag-controls{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{color:#6b7280;font-size:12px}.form-group input,.form-group select{padding:6px 8px}.form-group input,.form-group select,.tag-button{border:1px solid #d1d5db;border-radius:4px;font-size:14px}.tag-button{background:#fff;cursor:pointer;padding:6px 12px;transition:all .2s}.tag-button:hover{background:#f3f4f6}.tag-button.primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.tag-button.primary:hover{background:#2563eb}.color-picker{border:1px solid #d1d5db;border-radius:4px;cursor:pointer;height:32px;width:40px}.loading{opacity:.6;pointer-events:none}.transaction-info{color:#64748b;font-size:14px;margin-bottom:16px}.new-tag-form,.transaction-info{background:#f8fafc;border-radius:6px;padding:12px}.accounts-manager{margin:0 auto;max-width:1200px;padding:20px}.accounts-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.accounts-header h2{color:#2c3e50;margin:0}.refresh-btn{align-items:center;background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:10px 20px;transition:background-color .3s}.refresh-btn:hover:not(:disabled){background:#2980b9}.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.account-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.summary-card{background:#fff;border-left:4px solid #3498db;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.summary-card.total{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-left-color:#27ae60}.summary-card h3{align-items:center;color:#2c3e50;display:flex;font-size:16px;gap:8px;margin:0 0 10px}.summary-card .amount{color:#27ae60;font-size:24px;font-weight:700;margin-bottom:5px}.summary-card .meta{color:#7f8c8d;font-size:14px;margin-bottom:10px}.summary-card .last-updated{align-items:center;color:#95a5a6;display:flex;font-size:12px;gap:5px}.accounts-section{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.accounts-section h3{color:#2c3e50;margin:0 0 20px}.no-accounts{color:#7f8c8d;padding:40px;text-align:center}.no-accounts p{margin:10px 0}.accounts-table-container{overflow-x:auto}.accounts-table{border-collapse:collapse;margin-bottom:20px;width:100%}.accounts-table td,.accounts-table th{border-bottom:1px solid #ecf0f1;padding:12px;text-align:left}.accounts-table th{background:#f8f9fa;color:#2c3e50;font-weight:600;position:-webkit-sticky;position:sticky;top:0}.accounts-table tr:hover{background:#f8f9fa}.account-info .account-name{color:#2c3e50;font-weight:600;margin-bottom:4px}.account-info .account-meta{color:#95a5a6;font-size:12px}.account-type{align-items:center;color:#7f8c8d;display:flex;font-size:14px;gap:8px}.balance{color:#27ae60;font-weight:600;text-align:right}.balance.negative{color:#e74c3c}.balance-change{text-align:right}.balance-change .positive{color:#27ae60}.balance-change .negative,.balance-change .positive{align-items:center;display:flex;gap:4px;justify-content:flex-end}.balance-change .negative{color:#e74c3c}.balance-change .no-change{color:#95a5a6}.view-history-btn{background:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .3s}.view-history-btn:hover{background:#2980b9}.modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;display:flex;flex-direction:column;max-height:80vh;max-width:800px;overflow:hidden;width:100%}.modal-header{align-items:center;border-bottom:1px solid #ecf0f1;display:flex;justify-content:space-between;padding:20px}.modal-header h3{color:#2c3e50;margin:0}.close-btn{align-items:center;background:none;border:none;color:#95a5a6;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.close-btn:hover{color:#e74c3c}.modal-body{flex:1 1;overflow-y:auto;padding:20px}.snapshots-table-container{overflow-x:auto}.snapshots-table{border-collapse:collapse;width:100%}.snapshots-table td,.snapshots-table th{border-bottom:1px solid #ecf0f1;padding:10px;text-align:left}.snapshots-table th{background:#f8f9fa;color:#2c3e50;font-weight:600}.snapshots-table tr:hover{background:#f8f9fa}.loading{color:#7f8c8d;padding:40px}.error,.loading{text-align:center}.error{background:#ffe6e6;border-radius:8px;color:#e74c3c;padding:20px}@media (max-width:768px){.accounts-manager{padding:10px}.accounts-header{align-items:stretch;flex-direction:column;gap:15px}.refresh-btn{justify-content:center}.account-summary{grid-template-columns:1fr}.accounts-table{font-size:14px}.accounts-table td,.accounts-table th{padding:8px}.modal-content{margin:10px;max-height:90vh}.modal-body,.modal-header{padding:15px}}.rbc-integration{margin:0 auto;max-width:800px;padding:20px}.rbc-header h2{color:#333;margin-bottom:10px}.rbc-description{background:#e8f5e8;border-left:4px solid #28a745;border-radius:8px;color:#155724;margin-bottom:25px;padding:15px}.rbc-description strong{color:#0d4613}.error-message{gap:10px;padding:12px 15px}.error-message,.health-status{align-items:center;display:flex}.health-status{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;gap:20px;margin-bottom:25px;padding:15px}.health-indicator{align-items:center;display:flex;font-weight:500;gap:8px}.health-indicator.healthy{color:#28a745}.health-indicator.unhealthy{color:#dc3545}.tech-status{align-items:center;color:#6c757d;display:flex;font-size:14px;gap:8px}.account-balances{margin-bottom:30px}.account-balances h3{border-bottom:2px solid #e0e0e0;color:#333;margin-bottom:15px;padding-bottom:8px}.balance-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:15px;padding:20px}.balance-info{display:flex;flex-direction:column;gap:4px}.account-name{color:#333;font-size:16px;font-weight:500}.account-number{color:#666;font-family:monospace;font-size:13px}.last-updated{color:#999;font-size:12px}.balance-amount .amount{color:#28a745;font-size:18px;font-weight:600}.current-session{margin-bottom:30px}.current-session h3{border-bottom:2px solid #e0e0e0;color:#333;margin-bottom:15px;padding-bottom:8px}.session-item{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:20px}.session-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.session-status{align-items:center;display:flex;font-size:16px;font-weight:600;gap:8px}.session-time{color:#666;font-size:13px}.session-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:15px}.stat{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;justify-content:space-between;padding:10px}.stat .label{color:#666;font-size:14px}.stat .value{color:#333;font-size:16px;font-weight:600}.session-error{align-items:center;background:#f8d7da;border-radius:6px;color:#721c24;display:flex;font-size:14px;gap:10px;padding:10px 15px}.scraping-section{background:#f8f9fa;border:2px dashed #ccc;border-radius:12px;padding:30px;text-align:center}.start-scraping-btn{align-items:center;background:#003d70;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;gap:10px;margin-bottom:25px;padding:15px 30px;transition:all .3s ease}.start-scraping-btn:hover:not(:disabled){background:#002a4a;box-shadow:0 4px 12px #003d704d;transform:translateY(-2px)}.start-scraping-btn:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.scraping-info{margin:0 auto;max-width:500px;text-align:left}.scraping-info h4{color:#333;margin-bottom:10px}.scraping-info ul{color:#666;margin-bottom:20px;padding-left:20px}.scraping-info li{line-height:1.4;margin-bottom:8px}.security-note{align-items:flex-start;background:#e3f2fd;border-left:4px solid #003d70;border-radius:8px;display:flex;gap:12px;padding:15px}.security-note svg{color:#003d70;flex-shrink:0;margin-top:2px}.security-note div{color:#1565c0;font-size:14px;line-height:1.4}.security-note strong{color:#0d47a1}@media (max-width:768px){.rbc-integration{padding:15px}.balance-item,.health-status{align-items:flex-start;flex-direction:column;gap:10px}.balance-amount{align-self:stretch;text-align:right}.session-header{align-items:flex-start;flex-direction:column;gap:10px}.session-stats{grid-template-columns:1fr}.scraping-section{padding:20px}}.method-selector{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:20px}.method-selector h4{color:#333;font-size:16px;margin:0 0 15px}.method-options{display:flex;flex-wrap:wrap;gap:15px}.method-option{align-items:flex-start;background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;flex:1 1;gap:12px;min-width:280px;padding:15px;transition:all .2s ease}.method-option:hover{border-color:#007bff;box-shadow:0 2px 4px #007bff1a}.method-option.selected{background:#f0f8ff;border-color:#007bff;box-shadow:0 2px 8px #007bff26}.method-option input[type=radio]{accent-color:#007bff;margin:2px 0 0}.method-info strong{color:#333;display:block;font-size:14px;margin-bottom:5px}.method-info p{color:#666;font-size:13px;line-height:1.4;margin:0}.scraping-progress{align-items:center;background:#e3f2fd;border:1px solid #90caf9;border-radius:6px;color:#1976d2;display:flex;font-weight:500;gap:10px;margin-bottom:15px;padding:12px 15px}.scraping-progress svg{color:#1976d2}@media (max-width:768px){.method-options{flex-direction:column}.method-option{min-width:100%}}.bookmarklet-option{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-top:20px;padding:15px}.method-info.alternative{margin:0;padding:0}.method-info.alternative strong{color:#856404;display:block;margin-bottom:8px}.method-info.alternative p{color:#6c4e00;margin-bottom:12px}.bookmarklet-link{background:#ffc107;border-radius:6px;color:#212529;display:inline-block;font-size:14px;font-weight:600;padding:10px 20px;text-decoration:none;transition:all .2s ease}.bookmarklet-link:hover{background:#e0a800;color:#212529;text-decoration:none;transform:translateY(-1px)}.system-status{margin:0 auto;max-width:900px;padding:20px}.system-status h2{color:#333;margin-bottom:20px;text-align:center}.status-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.status-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:20px}.status-card.success{background:#f8fff9;border-left:4px solid #28a745}.status-card.warning{background:#fffef5;border-left:4px solid #ffc107}.status-card.info{background:#f0fdff;border-left:4px solid #17a2b8}.status-header{align-items:center;display:flex;gap:10px;margin-bottom:10px}.status-card.success .status-header svg{color:#28a745}.status-card.warning .status-header svg{color:#ffc107}.status-card.info .status-header svg{color:#17a2b8}.status-header h3{color:#333;font-size:16px;margin:0}.status-card p{color:#666;line-height:1.4;margin:8px 0}.status-card ul{color:#666;margin:8px 0;padding-left:20px}.status-card li{line-height:1.4;margin:4px 0}.technical-notes{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:20px}.technical-notes h3{color:#333;margin-bottom:15px}.technical-notes ul{color:#666;padding-left:20px}.technical-notes li{line-height:1.5;margin:8px 0}.technical-notes strong{color:#333}@media (max-width:768px){.system-status{padding:15px}.status-cards{grid-template-columns:1fr}}*{box-sizing:border-box}.App{background-color:#f5f5f5;display:flex;min-height:100vh;text-align:center;transition:margin-left .3s ease}.App.sidebar-open{margin-left:0}.sidebar-toggle{background:#2c3e50;border:none;border-radius:50%;box-shadow:0 2px 10px #0003;color:#fff;cursor:pointer;font-size:18px;height:50px;left:20px;position:fixed;top:20px;transition:all .3s ease;width:50px;z-index:1001}.sidebar-toggle:hover{background:#34495e;transform:scale(1.1)}.sidebar-toggle.open{left:270px}.sidebar-overlay{background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.sidebar{background:#2c3e50;box-shadow:2px 0 10px #0000001a;color:#fff;height:100vh;left:-280px;overflow-y:auto;position:fixed;top:0;transition:left .3s ease;width:280px;z-index:1000}.sidebar.open{left:0}.sidebar-header{border-bottom:1px solid #34495e;padding:2rem 1.5rem 1.5rem}.sidebar-header h2{align-items:center;display:flex;font-size:1.5rem;gap:.5rem;margin:0}.sidebar-logo{color:#3498db}.sidebar-nav{padding:1rem 0}.sidebar-menu{list-style:none;margin:0;padding:0}.sidebar-menu-item{margin:0}.sidebar-menu-link{align-items:center;background:none;border:none;color:#ecf0f1;cursor:pointer;display:flex;font-size:1rem;gap:1rem;padding:1rem 1.5rem;text-align:left;text-decoration:none;transition:all .3s ease;width:100%}.sidebar-menu-link:hover{background:#34495e;color:#3498db}.sidebar-menu-icon{text-align:center;width:20px}.sidebar-section{margin-bottom:.5rem}.sidebar-section-header{align-items:center;background:none;border:none;color:#95a5a6;cursor:pointer;display:flex;font-size:.75rem;font-weight:600;justify-content:space-between;letter-spacing:.05em;margin-bottom:0;padding:.75rem 1.5rem;text-align:left;text-transform:uppercase;transition:all .2s ease;width:100%}.sidebar-section-header:hover{background:#ffffff0d;color:#bdc3c7}.section-toggle-icon{font-size:.6rem;transition:transform .2s ease}.sidebar-section-items{border-top:1px solid #34495e;list-style:none;margin:0;overflow:hidden;padding:0;transition:max-height .3s ease-out}.sidebar-section-items.collapsed{max-height:0}.sidebar-section-items.expanded{max-height:1000px}.sidebar-footer{border-top:1px solid #34495e;bottom:0;left:0;padding:1.5rem;position:absolute;right:0}.tagging-rules-manager{padding:1rem}.tagging-rules-manager .section-header{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.tagging-rules-manager .section-actions{display:flex;gap:.5rem}.tagging-rules-manager .rules-sections{display:flex;flex-direction:column;gap:2rem}.tagging-rules-manager .rules-section h4{color:#2c3e50;margin-bottom:.5rem}.tagging-rules-manager .section-info{background:#f8f9fa;border-left:3px solid #17a2b8;border-radius:4px;color:#6c757d;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.tagging-rules-manager .empty-state{background:#f8f9fa;border-radius:4px;color:#6c757d;font-style:italic;padding:2rem;text-align:center}.rules-table{overflow-x:auto}.rules-table table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;width:100%}.rules-table td,.rules-table th{border-bottom:1px solid #e1e5e9;padding:.75rem;text-align:left}.rules-table th{color:#495057;font-weight:600}.rules-table th,.rules-table tr:hover{background:#f8f9fa}.rules-table tr.inactive{opacity:.6}.rules-table code{background:#e9ecef;border-radius:3px;font-family:Courier New,monospace;font-size:.9rem;padding:.2rem .4rem}.rules-table .rule-description{color:#6c757d;font-size:.8rem;margin-top:.25rem}.rules-table .tag-name{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:.85rem;font-weight:500;padding:.2rem .5rem}.rules-table .status-toggle{border:none;border-radius:12px;cursor:pointer;font-size:.8rem;font-weight:500;padding:.25rem .75rem;transition:all .2s ease}.rules-table .status-toggle.active{background:#d4edda;color:#155724}.rules-table .status-toggle.inactive{background:#f8d7da;color:#721c24}.rules-table .status-badge{border-radius:12px;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.rules-table .status-badge.active{background:#d4edda;color:#155724}.rules-table .status-badge.inactive{background:#f8d7da;color:#721c24}.rules-table .btn-sm{font-size:.8rem;margin-right:.25rem;padding:.25rem .5rem}.rule-form{gap:1rem}.rule-form,.rule-form .form-group{display:flex;flex-direction:column}.rule-form label{color:#495057;font-weight:600;margin-bottom:.25rem}.rule-form input,.rule-form textarea{border:1px solid #ced4da;border-radius:4px;font-size:.9rem;padding:.5rem}.rule-form input:focus,.rule-form textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.rule-form small{color:#6c757d;font-size:.8rem;margin-top:.25rem}.rule-form .form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.test-form{display:flex;flex-direction:column;gap:1rem}.test-results{background:#f8f9fa;border-left:3px solid #28a745;border-radius:4px;margin-top:1rem;padding:1rem}.test-results h5,.test-results h6{color:#495057;margin-bottom:.5rem}.test-results p{margin-bottom:.5rem}.matching-rules{margin-top:1rem}.rule-match{align-items:center;background:#fff;border-radius:4px;display:flex;gap:.5rem;margin-bottom:.25rem;padding:.5rem}.rule-match .keyword{background:#e9ecef;border-radius:3px;font-family:Courier New,monospace;font-size:.9rem;padding:.2rem .4rem}.rule-match .tag{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:.85rem;font-weight:500;padding:.2rem .5rem}.rule-match .priority{color:#6c757d;font-size:.8rem}.rule-match .system-badge{background:#fff3cd;border-radius:12px;color:#856404;font-size:.75rem;font-weight:500;padding:.2rem .5rem}@media (max-width:768px){.tagging-rules-manager .section-header{align-items:stretch;flex-direction:column;gap:1rem}.tagging-rules-manager .section-actions{justify-content:center}.rules-table{font-size:.9rem}.rules-table td,.rules-table th{padding:.5rem .25rem}}.sidebar-user{background:#ffffff0d;border-radius:6px;font-size:.9rem;margin-bottom:.75rem;opacity:.8;padding:.5rem}.sidebar-logout,.sidebar-user{align-items:center;display:flex;gap:.5rem}.sidebar-logout{background:#ffffff1a;border:none;border-radius:6px;color:#ffffffe6;cursor:pointer;font-size:.875rem;padding:.75rem;transition:all .2s ease;width:100%}.sidebar-logout:hover{background:#fff3;color:#fff}.main-container{flex:1 1;min-height:100vh;transition:margin-left .3s ease}.App.sidebar-open .main-container{margin-left:280px}.App-header{align-items:center;background-color:#282c34;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:2rem}.header-left{flex:1 1}.header-right{flex:0 0 auto}.App-header h1{font-size:2.5rem;margin:0 0 .5rem}.App-header p{font-size:1.2rem;margin:0;opacity:.8}.user-dropdown{position:relative}.user-dropdown-trigger{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.75rem 1rem;transition:all .2s ease}.user-dropdown-trigger:hover{background:#ffffff26;border-color:#ffffff4d}.user-name{font-weight:500}.dropdown-arrow{font-size:.75rem;transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown-menu{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 4px 20px #00000026;margin-top:.5rem;min-width:180px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.user-dropdown-item{align-items:center;background:none;border:none;color:#2d3748;cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.user-dropdown-item:hover{background:#f7fafc;color:#2b6cb0}.user-dropdown-item.logout{color:#e53e3e}.user-dropdown-item.logout:hover{background:#fed7d7;color:#c53030}.user-dropdown-divider{background:#e2e8f0;height:1px;margin:.25rem 0}.App-main{margin:0 auto;max-width:1200px;padding:2rem}.error,.loading{border-radius:8px;font-size:1.2rem;margin:2rem;padding:2rem}.loading{background-color:#e3f2fd;color:#1976d2}.error{background-color:#ffebee;color:#c62828}.summary{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-bottom:2rem;padding:2rem;text-align:left}.summary h3{color:#2c3e50;font-size:1.5rem;margin:0 0 1.5rem}.summary-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-item{display:flex;flex-direction:column;gap:.5rem}.summary-item label{color:#7f8c8d;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.summary-item span{font-size:1.2rem;font-weight:700}.transactions-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:2rem;text-align:left}.transactions-section h2{color:#2c3e50;font-size:1.5rem;margin:0 0 1.5rem}.table-container{border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.transactions-table{background:#fff;border-collapse:collapse;width:100%}.transactions-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.transactions-table td{border-bottom:1px solid #f1f3f4;font-size:.95rem;padding:1rem}.transactions-table tr:hover{background-color:#f8f9fa}.transactions-table tr.credit{border-left:4px solid #27ae60}.transactions-table tr.debit{border-left:4px solid #e74c3c}.account-info{display:flex;flex-direction:column;gap:4px}.account-name{color:#2c3e50;font-size:.95rem;font-weight:600;line-height:1.2}.account-details{color:#6b7280;font-size:.8rem;font-style:italic}.account-details:before{content:"";display:inline-block;width:0}@media (max-width:768px){.account-info{gap:2px}.account-name{font-size:.85rem}.account-details{font-size:.75rem}}.account-detail-info{display:flex;flex-direction:column;gap:6px;margin-top:4px}.account-name-detail{color:#2c3e50;font-size:1rem;font-weight:600;line-height:1.3}.account-meta-detail{color:#6b7280;font-size:.9rem;font-style:italic}.account-institution-detail{color:#8b95a1;font-size:.85rem;font-weight:500}.transaction-tags{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.mini-tag{border-radius:8px;display:inline-block;padding:2px 6px;white-space:nowrap}.mini-tag,.tag-count{font-size:10px;font-weight:500}.tag-count{color:#6b7280}.no-tags{color:#9ca3af}.amount.positive{color:#27ae60;font-weight:600}.amount.negative{color:#e74c3c;font-weight:600}.positive{color:#27ae60;font-weight:600}.negative{color:#e74c3c;font-weight:600}.no-data{color:#7f8c8d;font-style:italic;padding:3rem;text-align:center}.view-detail-btn{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem .75rem;transition:all .3s ease}.view-detail-btn:hover{background:#2980b9;transform:translateY(-1px)}.transaction-detail{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:2rem;text-align:left}.transaction-detail-header{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.header-actions{align-items:center;display:flex;flex:1 1;gap:1rem}.header-actions h1{color:#2c3e50;flex:1 1;font-size:1.8rem;margin:0;text-align:left}.edit-button{align-items:center;background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;min-width:80px;padding:.75rem 1rem;transition:all .3s ease}.edit-button:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.edit-button:disabled{background:#6c757d;cursor:not-allowed;transform:none}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;font-size:14px;margin-bottom:20px;padding:12px}.back-button{align-items:center;background:#95a5a6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.75rem 1rem;transition:all .3s ease}.back-button:hover{background:#7f8c8d}.transaction-detail h1{color:#2c3e50;font-size:1.8rem;margin:0}.transaction-detail-card{background:#f8f9fa;border-radius:8px;padding:2rem}.transaction-amount{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:2rem;text-align:center}.amount-icon{color:#3498db;font-size:2rem;margin-bottom:1rem}.transaction-amount .amount{display:block;font-size:3rem;font-weight:700;margin-bottom:.5rem}.transaction-type{color:#7f8c8d;display:block;font-size:1.2rem;letter-spacing:1px;text-transform:uppercase}.transaction-info-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.info-item{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.info-item label{color:#7f8c8d;display:block;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.info-item span{color:#2c3e50;font-size:1.1rem;font-weight:500}.transaction-descriptions{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:2rem}.transaction-descriptions h3{color:#2c3e50;margin:0 0 1.5rem}.description-item{margin-bottom:1rem}.description-item label{color:#7f8c8d;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.description-item p{color:#2c3e50;font-size:1rem;line-height:1.5;margin:0}.api-test-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:2rem;text-align:left}.api-test-section h2{color:#2c3e50;font-size:1.5rem;margin:0 0 1.5rem}.api-links-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.api-link{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;color:#495057;display:flex;font-weight:500;gap:.75rem;padding:1rem;text-decoration:none;transition:all .3s ease}.api-link:hover{background:#3498db;border-color:#3498db;box-shadow:0 4px 12px #3498db4d;color:#fff;transform:translateY(-2px)}.placeholder-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:3rem;text-align:center}.placeholder-section h2{color:#2c3e50;font-size:2rem;margin:0 0 1rem}.placeholder-section p{color:#7f8c8d;font-size:1.1rem;margin:0}@media (max-width:768px){.App-main{padding:1rem}.sidebar-toggle.open{left:20px}.App.sidebar-open .main-container{margin-left:0}.App-header{align-items:flex-start;flex-direction:column;gap:1rem;padding:1rem}.header-right{align-self:flex-end}.App-header h1{font-size:1.75rem}.user-dropdown-trigger{font-size:.8rem;padding:.5rem .75rem}.user-name{display:none}.api-links-grid,.summary-grid,.transaction-info-grid{grid-template-columns:1fr}.transactions-table{font-size:.85rem}.transactions-table td,.transactions-table th{padding:.75rem .5rem}.transaction-amount .amount{font-size:2rem}}@media (max-width:480px){.App-header h1{font-size:1.8rem}.App-header p{font-size:1rem}.transaction-detail-header{align-items:flex-start;flex-direction:column;gap:1rem}}.auth-screen{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:1rem}.auth-container{max-width:400px;width:100%}.auth-form{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;padding:2rem;width:100%}.auth-form h2{color:#1a202c;font-size:1.875rem;font-weight:700;margin-bottom:.5rem;text-align:center}.auth-subtitle{color:#718096;font-size:.875rem;margin-bottom:2rem;text-align:center}.form-group{margin-bottom:1.5rem}.form-group label{align-items:center;color:#374151;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:.5rem}.form-group input{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background-color:#f9fafb;cursor:not-allowed}.password-input{position:relative}.password-input input{padding-right:3rem}.password-toggle{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;padding:.25rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:color .2s}.password-toggle:hover{color:#374151}.password-toggle:disabled{cursor:not-allowed}.auth-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.75rem;transition:transform .2s,box-shadow .2s;width:100%}.auth-button:hover:not(:disabled){box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-1px)}.auth-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.auth-switch{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem;text-align:center}.auth-switch p{color:#6b7280;font-size:.875rem;margin:0}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:.875rem;font-weight:600;text-decoration:underline}.link-button:hover:not(:disabled){color:#5a67d8}.link-button:disabled{cursor:not-allowed;opacity:.6}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;margin-bottom:1rem;padding:.75rem;text-align:center}@media (prefers-color-scheme:dark){.auth-form{background:#1f2937}.auth-form,.auth-form h2{color:#f9fafb}.form-group label{color:#d1d5db}.form-group input{background:#374151;border-color:#4b5563;color:#f9fafb}.form-group input:focus{border-color:#667eea}.password-toggle{color:#9ca3af}.password-toggle:hover{color:#d1d5db}.auth-switch{border-top-color:#4b5563}.auth-switch p{color:#9ca3af}}@media (max-width:640px){.auth-screen{padding:.5rem}.auth-form{padding:1.5rem}}.csv-import{margin:0 auto;max-width:600px;padding:2rem}.csv-import h3{color:#2c3e50;margin-bottom:2rem;text-align:center}.file-upload-area{background:#f8f9fa;border:2px dashed #bdc3c7;border-radius:12px;cursor:pointer;margin-bottom:1.5rem;padding:3rem 2rem;text-align:center;transition:all .3s ease}.file-upload-area.drag-over,.file-upload-area:hover{background:#f0f2ff;border-color:#667eea;box-shadow:0 8px 25px #667eea26;transform:translateY(-2px)}.file-upload-area svg{color:#667eea;margin-bottom:1rem}.file-upload-area p{color:#7f8c8d;font-size:1.1rem;margin-bottom:1.5rem}.file-select-button{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-weight:600;padding:.75rem 1.5rem;transition:transform .2s,box-shadow .2s}.file-select-button:hover{box-shadow:0 5px 15px #667eea4d;transform:translateY(-1px)}.file-info{background:#e8f4fd;border:1px solid #bee5eb;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.file-info p{color:#0c5460;margin:.25rem 0}.import-button{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;margin-bottom:1.5rem;padding:.75rem 1.5rem;transition:transform .2s,box-shadow .2s;width:100%}.import-button:hover{box-shadow:0 5px 15px #28a7454d;transform:translateY(-1px)}.loading-message{align-items:center;color:#667eea;display:flex;font-size:1.1rem;gap:.5rem;justify-content:center;padding:2rem;text-align:center}.import-result{background:#d4edda;border:1px solid #c3e6cb;border-radius:12px;margin-bottom:2rem;padding:2rem}.import-result h4{align-items:center;color:#155724;display:flex;gap:.5rem;margin-bottom:1.5rem}.result-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:1.5rem}.stat-item{background:#fff;border-radius:8px;padding:1rem;text-align:center}.stat-item.success{border-left:4px solid #28a745}.stat-item.warning{border-left:4px solid #ffc107}.stat-item.error{border-left:4px solid #dc3545}.stat-item.info{border-left:4px solid #17a2b8}.stat-number{display:block;font-size:2rem;font-weight:700;margin-bottom:.25rem}.stat-item.success .stat-number{color:#28a745}.stat-item.warning .stat-number{color:#ffc107}.stat-item.error .stat-number{color:#dc3545}.stat-item.info .stat-number{color:#17a2b8}.stat-label{color:#6c757d;font-size:.875rem;font-weight:500}.import-errors{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:1rem}.import-errors h5{color:#721c24;margin-bottom:.5rem}.import-errors ul{margin:0;padding-left:1.5rem}.import-errors li{color:#721c24;margin-bottom:.25rem}.csv-format-help{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;margin-top:2rem;padding:2rem}.csv-format-help h4{color:#495057;margin-bottom:1rem}.csv-format-help p{color:#6c757d;margin-bottom:1rem}.csv-format-help ul{padding-left:1.5rem}.csv-format-help li{color:#6c757d;margin-bottom:.5rem}.csv-format-help strong{color:#495057}@media (max-width:768px){.csv-import{padding:1rem}.file-upload-area{padding:2rem 1rem}.result-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.result-stats{grid-template-columns:1fr}}.testing-section{margin:0 auto;max-width:800px;padding:2rem}.testing-section h2{color:#2c3e50;font-size:2rem;margin-bottom:1rem}.warning-banner{background:#fff3cd;border:1px solid #ffeaa7;border-radius:.5rem;margin-bottom:2rem;padding:1rem;text-align:left}.warning-banner p{color:#856404;font-weight:500;margin:0}.testing-actions{display:flex;flex-direction:column;gap:2rem}.testing-action{background:#fff;border-radius:.5rem;box-shadow:0 2px 10px #0000001a;padding:1.5rem;text-align:left}.testing-action h3{color:#2c3e50;margin-bottom:.5rem;margin-top:0}.testing-action p{color:#666;line-height:1.5;margin-bottom:1rem}@media (max-width:768px){.testing-section{padding:1rem}.testing-section h2{font-size:1.5rem}.testing-action{padding:1rem}}.admin-section{background:#f8f9fa;border-radius:.5rem;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:800px;padding:2rem}.admin-section h2{color:#2c3e50;font-size:2rem;margin-bottom:1.5rem;text-align:center}.info-banner{background:#d1ecf1;border:1px solid #bee5eb;border-radius:.375rem;margin-bottom:2rem;padding:1rem;text-align:left}.info-banner p{color:#0c5460;font-weight:500;margin:0}.admin-actions{display:flex;flex-direction:column;gap:2rem}.admin-action{background:#fff;border-radius:.5rem;box-shadow:0 2px 10px #0000001a;padding:1.5rem;text-align:left}.admin-action h3{color:#2c3e50;margin-bottom:.5rem;margin-top:0}.admin-action p{color:#666;line-height:1.5;margin-bottom:1rem}.retag-all-btn{background:#3498db;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.retag-all-btn:hover:not(:disabled){background:#2980b9;transform:translateY(-1px)}.retag-all-btn:disabled{background:#bdc3c7;cursor:not-allowed;transform:none}.retag-result{border-radius:.375rem;font-weight:500;margin-top:1rem;padding:.75rem}.retag-result:contains("✅"){background:#d4edda;border:1px solid #c3e6cb;color:#155724}.retag-result:contains("❌"){background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.tag-manager-container{background:#f8f9fa;border:1px solid #dee2e6;border-radius:.375rem;margin-top:1rem;padding:1rem}.admin-action.danger-zone{background:#fdf2f2;border:2px solid #e74c3c}.admin-action.danger-zone h3{color:#e74c3c}.delete-all-btn{background:#e74c3c;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.delete-all-btn:hover:not(:disabled){background:#c0392b;transform:translateY(-1px)}.delete-all-btn:disabled{background:#bdc3c7;cursor:not-allowed;transform:none}.delete-result{border-radius:.375rem;font-weight:500;margin-top:1rem;padding:.75rem}.delete-result:contains("✅"){background:#d4edda;border:1px solid #c3e6cb;color:#155724}.delete-result:contains("❌"){background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}@media (max-width:768px){.admin-section{padding:1rem}.admin-section h2{font-size:1.5rem}.admin-action{padding:1rem}}.transaction-tags-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:.5rem;margin-top:2rem;padding:1.5rem}.tags-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.tags-header h3{color:#2c3e50;font-size:1.25rem;margin:0}.add-tag-btn{align-items:center;background:#28a745;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.add-tag-btn:hover{background:#218838;transform:scale(1.1)}.current-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.transaction-tag{align-items:center;background:#6c757d;border-radius:1rem;color:#fff;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.375rem .75rem}.transaction-tag .tag-name{flex:1 1}.remove-tag-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:18px;justify-content:center;padding:.125rem;transition:background-color .2s ease;width:18px}.remove-tag-btn:hover{background:#fff3}.remove-tag-btn:disabled{cursor:not-allowed;opacity:.6}.no-tags{color:#6c757d;font-style:italic;padding:.5rem 0}.tag-selector{background:#fff;border:1px solid #dee2e6;border-radius:.5rem;margin-top:1rem;padding:1rem}.tag-selector h4{color:#2c3e50;font-size:1rem;margin:0 0 1rem}.available-tags{display:flex;flex-wrap:wrap;gap:.5rem}.available-tag{align-items:center;background:#fff;border:2px solid #6c757d;border-radius:1rem;color:#2c3e50;cursor:pointer;display:flex;font-size:.875rem;gap:.25rem;padding:.375rem .75rem;transition:all .2s ease}.available-tag:hover:not(:disabled){background:#f8f9fa;transform:translateY(-1px)}.available-tag:disabled{cursor:not-allowed;opacity:.6}.available-tag .tag-category{color:#6c757d;font-size:.75rem;font-weight:400}.no-available-tags{color:#6c757d;font-style:italic;margin:0;padding:1rem;text-align:center}@media (max-width:768px){.transaction-tags-section{padding:1rem}.tags-header{align-items:flex-start;flex-direction:column;gap:.5rem}.available-tags,.current-tags{justify-content:center}}.transaction-tag-manager{margin-top:1rem}.transaction-tag-manager.compact{position:relative}.transaction-tag-manager.compact .current-tags{align-items:center;display:flex;flex-wrap:wrap;gap:.25rem}.transaction-tag-mini{background:#6c757d;border-radius:.5rem;color:#fff;font-size:.75rem;font-weight:500;max-width:80px;overflow:hidden;padding:.125rem .375rem;text-overflow:ellipsis;white-space:nowrap}.edit-tags-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:.25rem;color:#6c757d;cursor:pointer;font-size:.75rem;padding:.125rem .25rem;transition:all .2s ease}.edit-tags-btn:hover{background:#e9ecef;color:#495057}.tag-selector-popup{background:#fff;border:1px solid #dee2e6;border-radius:.5rem;box-shadow:0 4px 12px #00000026;left:0;margin-top:.25rem;min-width:300px;padding:1rem;position:absolute;right:0;top:100%;z-index:1000}.tag-selector-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.tag-selector-header h5{color:#2c3e50;margin:0}.close-selector-btn{background:none;border:none;border-radius:.25rem;color:#6c757d;cursor:pointer;padding:.25rem;transition:color .2s ease}.close-selector-btn:hover{color:#495057}.available-tags-section,.current-tags-section{margin-bottom:1rem}.available-tags-section h6,.current-tags-section h6{color:#495057;font-size:.875rem;font-weight:600;margin:0 0 .5rem}.tag-list{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem}.tag-item{background:#6c757d;border-radius:.75rem;font-size:.75rem;gap:.25rem;padding:.25rem .5rem}.tag-item,.tag-item .remove-tag-btn{align-items:center;color:#fff;display:flex}.tag-item .remove-tag-btn{background:none;border:none;border-radius:50%;cursor:pointer;font-size:.625rem;height:16px;justify-content:center;padding:.125rem;width:16px}.tag-item .remove-tag-btn:hover{background:#fff3}.tag-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;font-size:.875rem;margin-top:.5rem;padding:.5rem}@media (max-width:768px){.tag-selector-popup{left:50%;max-height:80vh;max-width:400px;overflow-y:auto;position:fixed;right:auto;top:50%;transform:translate(-50%,-50%);width:90vw}.transaction-tag-mini{max-width:60px}}.tag-search{margin-bottom:1rem}.tag-search-input{background:#fff;border:1px solid #dee2e6;border-radius:.375rem;color:#495057;font-size:.875rem;padding:.5rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.tag-search-input:focus{border-color:#007bff;box-shadow:0 0 0 .125rem #007bff40;outline:none}.tag-search-input::placeholder{color:#6c757d;font-style:italic}@media (max-width:768px){.tag-search-input{font-size:16px}}.pagination-container{align-items:center;border-bottom:1px solid #e9ecef;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;margin:1rem 0;padding:1rem 0}.pagination-info{align-items:center;color:#6c757d;display:flex;font-size:.875rem;gap:1rem}.items-per-page-select{background:#fff;border:1px solid #ced4da;border-radius:.25rem;cursor:pointer;font-size:.875rem;padding:.25rem .5rem}.items-per-page-select:disabled{background-color:#e9ecef;cursor:not-allowed}.pagination-controls{align-items:center;display:flex;gap:.25rem}.pagination-btn{background:#fff;border:1px solid #dee2e6;border-radius:.25rem;color:#007bff;cursor:pointer;font-size:.875rem;min-width:44px;padding:.5rem .75rem;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#e7f1ff;border-color:#b6d7ff}.pagination-btn:disabled{background:#e9ecef;border-color:#dee2e6;color:#6c757d;cursor:not-allowed}.pagination-btn.active{background:#007bff;border-color:#007bff;color:#fff}.pagination-btn.active:hover{background:#0056b3;border-color:#0056b3}.pagination-ellipsis{color:#6c757d;font-size:.875rem;padding:.5rem .25rem}.transactions-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.transactions-summary{color:#6c757d;font-size:.875rem;font-weight:500}.loading-overlay{align-items:center;display:flex;justify-content:center;min-height:200px;position:relative}.loading-overlay .loading{background:#ffffffe6;border-radius:.5rem;box-shadow:0 2px 10px #0000001a;padding:1rem 2rem}@media (max-width:768px){.pagination-container{align-items:stretch;flex-direction:column;gap:1rem}.pagination-controls,.pagination-info{flex-wrap:wrap;justify-content:center}.pagination-btn{font-size:.75rem;min-width:36px;padding:.375rem .5rem}.transactions-header{align-items:stretch;flex-direction:column;gap:.5rem;text-align:center}}@media (max-width:480px){.items-per-page-select,.pagination-info{font-size:.75rem}.pagination-btn{font-size:.625rem;min-width:32px;padding:.25rem .375rem}}.analytics-dashboard{margin:0 auto;max-width:1200px;padding:1.5rem}.analytics-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.analytics-header h2{color:#2c3e50;font-size:1.75rem;margin:0}.analytics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.analytics-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem}.analytics-card.wide{grid-column:1/-1}.analytics-card h3{color:#2c3e50;font-size:1.1rem;margin:0 0 1rem}.analytics-empty{color:#7f8c8d;font-style:italic;padding:2rem;text-align:center}.analytics-loading{color:#7f8c8d;font-size:1.1rem;padding:3rem;text-align:center}.analytics-error{background:#fdf2f2;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;margin-bottom:1rem;padding:1rem}.analytics-filter{align-items:flex-end;display:flex;flex-direction:column;gap:.75rem}.preset-buttons{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.preset-btn{background:#fff;border:1px solid #dee2e6;border-radius:.375rem;color:#495057;cursor:pointer;font-size:.875rem;padding:.375rem .75rem;transition:all .2s ease}.preset-btn:hover{background:#e9ecef}.preset-btn.active{background:#4f86c6;border-color:#4f86c6;color:#fff}.custom-range{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.custom-range label{align-items:center;color:#495057;display:flex;font-size:.875rem;gap:.5rem}.custom-range input[type=date]{border:1px solid #ced4da;border-radius:.375rem;font-size:.875rem;padding:.375rem .5rem}.apply-btn{background:#4f86c6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.375rem .875rem;transition:background .2s ease}.apply-btn:hover:not(:disabled){background:#3a6fa8}.apply-btn:disabled{background:#bdc3c7;cursor:not-allowed}.top-categories-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.top-category-item{display:flex;flex-direction:column;gap:.25rem}.top-category-header{align-items:center;display:flex;gap:.5rem}.top-category-rank{color:#7f8c8d;font-size:.875rem;font-weight:700;min-width:2rem}.top-category-name{color:#2c3e50;flex:1 1;font-weight:500}.top-category-amount{color:#e07b54;font-weight:600}.top-category-bar-bg{background:#ecf0f1;border-radius:3px;height:6px;overflow:hidden}.top-category-bar-fill{background:#4f86c6;border-radius:3px;height:100%;transition:width .4s ease}.net-worth-cards-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.net-worth-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;padding:1.25rem;text-align:center}.net-worth-card.card-assets{border-left:4px solid #5cb85c}.net-worth-card.card-liabilities{border-left:4px solid #e07b54}.net-worth-card.card-net-worth{border-left:4px solid #4f86c6}.net-worth-card-label{color:#7f8c8d;font-size:.875rem;font-weight:500;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.net-worth-card-value{font-size:1.5rem;font-weight:700}.net-worth-card-value.positive{color:#27ae60}.net-worth-card-value.negative{color:#e74c3c}@media (max-width:768px){.analytics-grid{grid-template-columns:1fr}.analytics-card.wide{grid-column:1}.net-worth-cards-row{grid-template-columns:1fr}.analytics-header{flex-direction:column}.analytics-filter,.analytics-header{align-items:stretch}.preset-buttons{justify-content:flex-start}}
/*# sourceMappingURL=main.8612592b.css.map*/