code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.App{display:flex;flex-direction:column;min-height:100vh}.App-header{align-items:center;background:#fff;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.App-header h1{color:#333;font-size:24px;margin:0}.App-main{flex:1 1;margin:0 auto;max-width:1400px;padding:20px;width:100%}.upload-section{margin:40px auto;max-width:600px}.results-section{width:100%}.error-message{background:#ffebee;border:1px solid #ffcdd2;color:#c62828;margin-top:20px;padding:16px}.error-message p{margin:0}.metadata-summary{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.metadata-summary h3{color:#333;font-size:18px;margin:0 0 16px}.metadata-summary p{color:#666;font-size:14px;margin:8px 0}@media (max-width:768px){.App-header{flex-direction:column;gap:16px}.App-header h1{font-size:20px}.App-main{padding:16px}.upload-section{margin:20px auto}}.file-upload-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.dropzone{background:#fafafa;border:2px dashed #ccc;border-radius:8px;cursor:pointer;padding:40px;text-align:center;transition:all .3s}.dropzone:hover{background:#f5f5f5;border-color:#999}.dropzone.active{background:#e8f5e9;border-color:#4caf50}.dropzone svg{color:#999;margin-bottom:16px}.dropzone-text{color:#333;font-size:16px;margin-bottom:8px}.dropzone-hint{color:#666;font-size:14px}.selected-files{margin-top:20px}.selected-files h3{color:#333;font-size:16px;margin-bottom:12px}.file-list{list-style:none;margin:0 0 20px;max-height:300px;overflow-y:auto;padding:0}.file-item{align-items:center;background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;display:flex;margin-bottom:8px;padding:10px}.file-item svg{color:#666;flex-shrink:0;margin-right:10px}.file-name{color:#333;flex:1 1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#666;font-size:12px;margin:0 10px}.remove-file{background:none;border:none;border-radius:4px;color:#999;cursor:pointer;padding:4px;transition:all .2s}.remove-file:hover{background:#ffebee;color:#d32f2f}.upload-button{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px;transition:all .2s;width:100%}.upload-button:hover:not(:disabled){background:#45a049}.upload-button:disabled{background:#ccc;cursor:not-allowed}@media (max-width:768px){.dropzone{padding:30px 20px}.dropzone-text{font-size:14px}.dropzone-hint{font-size:12px}}.modal-content{max-height:80vh;max-width:500px;width:90%}.manual-match-modal{padding:0}.donation-info{background-color:#f9f9f9;border:1px solid #eee;border-radius:4px;margin-bottom:15px;padding:10px}.donation-info p{margin:5px 0}.search-input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:1em;padding:10px;width:100%}.error-message,.loading-indicator,.no-results{border-radius:4px;margin-bottom:15px;padding:10px;text-align:center}.loading-indicator{background-color:#e0e0e0;color:#333}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.no-results{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404}.results-list{border:1px solid #eee;border-radius:4px;list-style-type:none;margin:0;max-height:300px;overflow-y:auto;padding:0}.result-item{border-bottom:1px solid #eee;cursor:pointer;padding:10px}.result-item:last-child{border-bottom:none}.result-item:hover{background-color:#f0f0f0}.result-item strong{font-weight:700}.close-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;font-size:1em;margin-left:auto;margin-top:15px;padding:10px 15px}.close-button:hover{background-color:#0056b3}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px}.modal-header h2{margin:0}.close-button-icon{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:center;padding:5px;transition:background-color .2s}.close-button-icon:hover{background-color:#f0f0f0}.search-container{flex:1 1;overflow:visible;padding:20px;position:relative}.search-input-wrapper{position:relative;width:100%}.search-spinner{position:absolute;right:10px;top:50%;transform:translateY(-50%)}.dropdown-results{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 6px #0000001a;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.dropdown-item.new-customer{align-items:center;background-color:#f8f9fa;color:#06c;display:flex;font-weight:500;gap:8px}.dropdown-item.new-customer:hover{background-color:#e7f1ff}.customer-name{color:#333;font-weight:500}.customer-email{color:#666;font-size:.85em;margin-top:2px}.modal-footer{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.modal-content{box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;max-width:700px;padding:20px;width:80%}.modal-content h2,.report-textarea{margin-bottom:15px}.report-textarea{border:1px solid #ccc;border-radius:4px;font-family:monospace;font-size:.9em;height:400px;padding:10px;resize:vertical;width:100%}.modal-actions .button{border:none;border-radius:4px;cursor:pointer;font-size:1em;padding:10px 15px}.modal-actions .button.primary{background-color:#007bff;color:#fff}.modal-actions .button:not(.primary){background-color:#f0f0f0;color:#333}.donations-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.table-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.action-button{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:8px 16px;transition:all .2s}.action-button:hover{background:#f5f5f5;border-color:#999}.action-button.primary{background:#4caf50;border-color:#4caf50;color:#fff}.action-button.primary:hover{background:#45a049;border-color:#45a049}.table-wrapper{border:1px solid #e0e0e0;border-radius:6px;overflow-x:auto}.donations-table{border-collapse:collapse;font-size:14px;width:100%}.donations-table th{background:#f5f5f5;border-bottom:2px solid #e0e0e0;font-weight:600;padding:12px 8px;text-align:left;white-space:nowrap}.donations-table td{border-bottom:1px solid #f0f0f0;padding:10px 8px}.donations-table tbody tr:hover{background:#f9f9f9}.donations-table tbody tr:last-child td{border-bottom:none}.edit-input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:4px 8px;width:100%}.edit-input:focus{border-color:#4caf50;outline:none}.status-badges{display:flex;flex-wrap:wrap;gap:4px}.badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;text-transform:uppercase}.badge-matched{background:#e3f2fd;color:#1976d2}.badge-new{background:#fff3e0;color:#f57c00}.badge-sent{background:#e8f5e9;color:#388e3c}.badge-updated{background:#f3e5f5;color:#7b1fa2}.badge-edited{background:#fce4ec;color:#c2185b}.actions-cell{white-space:nowrap}.icon-button{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;margin:0 2px;padding:4px;transition:all .2s}.icon-button:hover{background:#f0f0f0;color:#333}.icon-button.danger:hover{background:#ffebee;color:#d32f2f}@media (max-width:768px){.table-actions{justify-content:center}.donations-table{font-size:12px}.donations-table td,.donations-table th{padding:8px 4px}}.address-with-history{display:flex;flex-direction:column;gap:4px}.current-address{font-weight:500}.previous-address{align-items:center;background:#f5f5f5;border-radius:4px;color:#666;display:flex;font-size:12px;gap:4px;padding:2px 6px}.old-label{color:#999;font-weight:600}.address-actions{display:flex;gap:4px;margin-top:4px}.address-action-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;font-size:11px;font-weight:500;gap:3px;padding:2px 8px;transition:all .2s}.address-action-btn:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.address-action-btn.keep{border-color:#4caf50;color:#388e3c}.address-action-btn.keep:hover{background:#e8f5e9;border-color:#388e3c}.address-action-btn.revert{border-color:#2196f3;color:#1976d2}.address-action-btn.revert:hover{background:#e3f2fd;border-color:#1976d2}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 15px #0003;max-height:90vh;max-width:600px;min-width:450px;overflow-y:auto;padding:25px}.modal-content h2{color:#333;font-size:1.5em;margin-bottom:20px;margin-top:0;text-align:center}.modal-content form div:not(.modal-actions){margin-bottom:15px}.modal-content label{color:#555;display:block;font-weight:700;margin-bottom:6px}.modal-content input[type=email],.modal-content input[type=tel],.modal-content input[type=text]{border:1px solid #ccc;border-radius:4px;font-size:1em;padding:10px;width:calc(100% - 20px)}.modal-content input[type=email]:focus,.modal-content input[type=tel]:focus,.modal-content input[type=text]:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40;outline:none}.modal-content .error-message{background-color:#ffd2d2;border:1px solid #d8000c;border-radius:4px;color:#d8000c;margin-bottom:15px;padding:10px;text-align:center}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.modal-content button{border:none;border-radius:4px;cursor:pointer;font-size:1em;padding:10px 15px;transition:background-color .3s ease}.modal-content button.button-primary{background-color:#007bff;color:#fff}.modal-content button.button-primary:hover{background-color:#0056b3}.modal-content button.button-secondary{background-color:#6c757d;color:#fff}.modal-content button.button-secondary:hover{background-color:#545b62}.qb-connection-wrapper{align-items:flex-start;display:inline-flex;flex-direction:column;gap:8px}.qb-connection-button{align-items:center;background:#0077c5;border:none;border-radius:6px;box-shadow:0 2px 4px #0077c533;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;padding:12px 24px;transition:all .3s}.qb-connection-button:hover:not(:disabled){background:#005a95;box-shadow:0 4px 8px #0077c54d;transform:translateY(-1px)}.qb-connection-button:active:not(:disabled){box-shadow:0 2px 4px #0077c533;transform:translateY(0)}.qb-connection-button.connected{background:#4caf50;box-shadow:0 2px 4px #4caf5033}.qb-connection-button.connected:hover:not(:disabled){background:#45a049;box-shadow:0 4px 8px #4caf504d;transform:translateY(-1px)}.qb-connection-button.authenticating{background:#6b7280;cursor:wait}.qb-connection-button.local-dev,.qb-connection-button.local-dev:hover{background:#6366f1}.local-dev-notice{background:#f3f4f6;border-radius:4px;color:#6b7280;padding:4px 12px}.qb-connection-button:disabled{cursor:not-allowed;opacity:.8}.qb-connection-button svg{flex-shrink:0}.spinner-small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.auth-error{align-items:center;color:#ef4444;display:flex;font-size:14px;gap:4px;margin-top:4px}@media (max-width:768px){.qb-connection-button{font-size:14px;padding:10px 20px}}.qb-connection-button.local-dev{background-color:#6b7280;cursor:default}.qb-connection-button.local-dev:hover{background-color:#6b7280;transform:none}.local-dev-notice{align-items:center;background-color:#fef3c7;border-radius:6px;color:#92400e;display:flex;font-size:13px;font-weight:500;gap:6px;margin-top:8px;padding:8px 12px}.local-dev-notice svg{flex-shrink:0}.send-to-qb-modal{max-height:90vh;max-width:700px;overflow-y:auto;width:90%}.send-to-qb-modal .modal-body{padding:1.5rem}.send-to-qb-modal .section{margin-bottom:2rem}.send-to-qb-modal .section:last-child{margin-bottom:0}.send-to-qb-modal .section h3{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.send-to-qb-modal .form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.send-to-qb-modal .form-group{display:flex;flex-direction:column}.send-to-qb-modal .form-group.full-width{grid-column:1/-1}.send-to-qb-modal .form-group.small{max-width:120px}.send-to-qb-modal .form-group label{color:#555;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.send-to-qb-modal .form-group input,.send-to-qb-modal .form-group select{border:1px solid #ddd;border-radius:4px;font-size:.875rem;padding:.5rem;transition:border-color .2s}.send-to-qb-modal .form-group input:focus,.send-to-qb-modal .form-group select:focus{border-color:#007bff;outline:none}.send-to-qb-modal .form-group input:disabled,.send-to-qb-modal .form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.send-to-qb-modal .loading-accounts{align-items:center;color:#666;display:flex;gap:.5rem;padding:1rem}.send-to-qb-modal .error-message{align-items:center;background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;display:flex;font-size:.875rem;gap:.5rem;margin:0 1.5rem;padding:.75rem 1rem}.send-to-qb-modal .modal-footer{border-top:1px solid #eee;display:flex;gap:.5rem;justify-content:flex-end;padding:1rem 1.5rem}.searchable-dropdown,.searchable-input-wrapper{position:relative;width:100%}.searchable-input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:1em;padding:10px 40px 10px 10px;transition:border-color .2s;width:100%}.searchable-input:focus{border-color:#06c;outline:none}.input-icons{align-items:center;display:flex;gap:8px;pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.search-spinner{animation:spin 1s linear infinite}.dropdown-icon{color:#666}.dropdown-error{color:#d32f2f;font-size:.875em;margin-top:4px}.searchable-dropdown-results{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 6px #0000001a;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:10}.dropdown-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 16px;transition:background-color .2s}.dropdown-item:hover{background-color:#f5f5f5}.dropdown-item.selected{background-color:#e3f2fd}.dropdown-item:last-child{border-bottom:none}.item-name{color:#333;font-weight:500}.item-detail{color:#666;font-size:.85em;margin-top:2px}.no-results{color:#666;font-style:italic;padding:16px;text-align:center}.bulk-send-to-qb-modal{max-width:600px;width:90%}.bulk-send-to-qb-modal .modal-body{padding:1.5rem}.bulk-send-to-qb-modal .section{margin-bottom:2rem}.bulk-send-to-qb-modal .section:last-child{margin-bottom:0}.bulk-send-to-qb-modal .section h3{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.bulk-send-to-qb-modal .summary-info{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:1rem}.bulk-send-to-qb-modal .summary-info p{color:#495057;margin:.5rem 0}.bulk-send-to-qb-modal .summary-info p:first-child{margin-top:0}.bulk-send-to-qb-modal .summary-info p:last-child{margin-bottom:0}.bulk-send-to-qb-modal .summary-info strong{color:#212529}.bulk-send-to-qb-modal .already-sent{color:#6c757d;font-style:italic}.bulk-send-to-qb-modal .info-text{color:#666;font-size:.9rem;margin-bottom:1rem}.bulk-send-to-qb-modal .form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.bulk-send-to-qb-modal .form-group{display:flex;flex-direction:column}.bulk-send-to-qb-modal .form-group label{color:#555;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.bulk-send-to-qb-modal .form-group select{background-color:#fff;border:1px solid #ddd;border-radius:4px;font-size:.875rem;padding:.5rem;transition:border-color .2s}.bulk-send-to-qb-modal .form-group select:focus{border-color:#007bff;outline:none}.bulk-send-to-qb-modal .form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.bulk-send-to-qb-modal .help-text{color:#6c757d;font-size:.8rem;font-style:italic;margin-top:1rem}.bulk-send-to-qb-modal .loading-accounts{align-items:center;color:#666;display:flex;gap:.5rem;padding:1rem}.bulk-send-to-qb-modal .error-message{align-items:center;background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;display:flex;font-size:.875rem;gap:.5rem;margin:0 1.5rem;padding:.75rem 1rem}.bulk-send-to-qb-modal .modal-footer{border-top:1px solid #eee;display:flex;gap:.5rem;justify-content:flex-end;padding:1rem 1.5rem}.processing-status{justify-content:center;margin:0 auto;max-width:500px;padding:60px 20px;text-align:center}.processing-header,.processing-status{align-items:center;display:flex;flex-direction:column}.processing-header{gap:12px;margin-bottom:24px}.processing-header h3{color:#1f2937;font-size:20px;font-weight:600;margin:0}.status-icon{flex-shrink:0}.status-icon.success{color:#10b981}.status-icon.error{color:#ef4444}.progress-container{align-items:center;display:flex;gap:12px;margin-bottom:16px;width:100%}.progress-bar{background-color:#e5e7eb;border-radius:4px;flex:1 1;height:8px;overflow:hidden;position:relative}.progress-fill{background-color:#3b82f6;border-radius:4px;height:100%;transition:width .3s ease}.progress-text{color:#6b7280;font-size:14px;font-weight:600;min-width:40px;text-align:right}.processing-message{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.error-message{align-items:center;background-color:#fee2e2;border-radius:6px;color:#991b1b;display:flex;gap:8px;margin-top:16px;padding:12px 16px}.error-message svg{flex-shrink:0}.spinner{animation:spin 1.5s linear infinite;color:#3b82f6}.processing-status p{color:#333;font-size:18px;margin:0 0 8px}.processing-hint{color:#666!important;font-size:14px!important;margin-bottom:0!important}.auth-callback-container{align-items:center;background-color:#f5f5f5;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh}.auth-callback-content{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:400px;padding:40px;text-align:center;width:100%}.auth-callback-content h1{color:#333;font-size:24px;margin:0 0 30px}.auth-status{align-items:center;display:flex;flex-direction:column;gap:20px}.auth-status p{color:#666;font-size:18px;margin:0}.auth-status .subtext{color:#999;font-size:14px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3b82f6;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-status.success .checkmark{align-items:center;animation:scaleIn .3s ease-out;background-color:#10b981;border-radius:50%;color:#fff;display:flex;font-size:36px;height:60px;justify-content:center;width:60px}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.auth-status.error .error-icon{align-items:center;background-color:#ef4444;border-radius:50%;color:#fff;display:flex;font-size:36px;height:60px;justify-content:center;width:60px}.error-message{color:#ef4444;font-size:14px;margin-top:10px}.auth-status.error button{background-color:#6b7280;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;margin-top:20px;padding:10px 20px;transition:background-color .2s}.auth-status.error button:hover{background-color:#4b5563}
/*# sourceMappingURL=main.dfa02ee0.css.map*/