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}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.dashboard{margin:0 auto;max-width:1200px;padding:2rem}.dashboard.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.dashboard-header{margin-bottom:3rem;text-align:center}.dashboard-header h1{color:#2c3e50;font-size:2.5rem;margin-bottom:.5rem}.dashboard-header p{color:#7f8c8d;font-size:1.1rem}.dashboard-stats{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:3rem}.stat-card{background:#fff;border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:2rem;text-align:center}.stat-card h3{color:#34495e;font-size:1rem;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.stat-number{color:#3498db;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-description{color:#7f8c8d;font-size:.9rem}.dashboard-actions{margin-bottom:3rem}.dashboard-actions h2{color:#2c3e50;font-size:1.8rem;margin-bottom:2rem}.action-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.action-card{background:#fff;border:1px solid #e1e8ed;border-radius:8px;padding:2rem;transition:all .3s ease}.action-card,.action-card:hover{color:inherit;text-decoration:none}.action-card:hover{box-shadow:0 4px 20px #00000026;transform:translateY(-2px)}.action-card h3{color:#2c3e50;font-size:1.3rem;margin-bottom:1rem}.action-card p{color:#7f8c8d;line-height:1.6;margin:0}.dashboard-recent{background:#fff;border:1px solid #e1e8ed;border-radius:8px;padding:2rem}.dashboard-recent h2{color:#2c3e50;font-size:1.5rem;margin-bottom:1.5rem}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{background:#f8f9fa;border-radius:6px;display:flex;gap:1rem;padding:1rem}.activity-date{color:#3498db;font-weight:600;min-width:100px}.activity-description{color:#5d6d7e}@media (max-width:768px){.dashboard{padding:1rem}.action-grid,.dashboard-stats{gap:1rem;grid-template-columns:1fr}.action-card,.stat-card{padding:1.5rem}}.file-upload{margin:0 auto;max-width:800px;padding:2rem}.file-upload.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.file-upload-header{margin-bottom:3rem;text-align:center}.file-upload-header h1{color:#2c3e50;font-size:2.2rem;margin-bottom:.5rem}.file-upload-header p{color:#7f8c8d;font-size:1.1rem;line-height:1.6}.upload-section{background:#fff;border:2px dashed #bdc3c7;border-radius:8px;margin-bottom:2rem;padding:3rem;text-align:center;transition:all .3s ease}.upload-section.drag-over{background-color:#ebf3fd;border-color:#3498db}.upload-icon{color:#bdc3c7;font-size:3rem;margin-bottom:1rem}.upload-text{color:#5d6d7e;font-size:1.1rem;margin-bottom:1.5rem}.upload-text strong{color:#2c3e50}.file-input-wrapper{display:inline-block;position:relative}.file-input{left:-9999px;opacity:0;position:absolute}.btn-upload{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 2rem;transition:background .3s ease}.btn-upload:hover{background:#2980b9}.btn-upload:disabled{background:#bdc3c7;cursor:not-allowed}.upload-requirements{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-bottom:2rem;padding:1.5rem}.upload-requirements h3{color:#2c3e50;font-size:1.1rem;margin-bottom:1rem}.upload-requirements ul{color:#5d6d7e;margin:0;padding-left:1.5rem}.upload-requirements li{line-height:1.5;margin-bottom:.5rem}.uploaded-files{margin-top:2rem}.uploaded-files h3{color:#2c3e50;margin-bottom:1rem}.file-list{display:flex;flex-direction:column;gap:1rem}.file-item{background:#fff;border:1px solid #e1e8ed;border-radius:6px;justify-content:space-between;padding:1rem}.file-info,.file-item{align-items:center;display:flex}.file-info{gap:1rem}.file-icon{color:#27ae60;font-size:1.2rem}.file-details{display:flex;flex-direction:column;gap:.25rem}.file-name{color:#2c3e50;font-weight:600}.file-meta{color:#7f8c8d;font-size:.9rem}.file-actions{display:flex;gap:.5rem}.btn-preview,.btn-remove{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.btn-preview{background:#f8f9fa;border:1px solid #e9ecef;color:#5d6d7e}.btn-preview:hover{background:#e9ecef}.btn-remove{background:#e74c3c;color:#fff}.btn-remove:hover{background:#c0392b}.upload-actions{margin-top:2rem;text-align:center}.btn-process{background:#27ae60;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.1rem;padding:1rem 2rem;transition:background .3s ease}.btn-process:hover{background:#229954}.btn-process:disabled{background:#bdc3c7;cursor:not-allowed}.error-message{background:#fee;border-radius:6px;color:#e74c3c;margin-top:1rem;padding:1rem}.platform-instructions{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:2rem;padding:2rem}.platform-instructions h3{color:#2c3e50;font-size:1.3rem;margin-bottom:1.5rem;text-align:center}.instructions-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.platform-instruction{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:1.5rem}.platform-instruction h4{border-bottom:2px solid #e9ecef;color:#3498db;font-size:1.1rem;margin-bottom:1rem;padding-bottom:.5rem}.platform-instruction ol{color:#5d6d7e;margin:0;padding-left:1.2rem}.platform-instruction li{line-height:1.5;margin-bottom:.8rem}.platform-instruction strong{color:#2c3e50;font-weight:600}@media (max-width:768px){.file-upload{padding:1rem}.upload-section{padding:2rem 1rem}.file-item{align-items:flex-start;flex-direction:column;gap:1rem}.file-actions{align-self:stretch}.instructions-content{gap:1rem;grid-template-columns:1fr}.platform-instructions{padding:1.5rem}}.field-mapping{margin:0 auto;max-width:1200px;padding:2rem}.field-mapping.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.field-mapping-header{margin-bottom:3rem;text-align:center}.field-mapping-header h1{color:#2c3e50;font-size:2.2rem;margin-bottom:.5rem}.field-mapping-header p{color:#7f8c8d;font-size:1.1rem}.platform-selector{background:#fff;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:2rem;padding:2rem}.platform-selector h2{color:#2c3e50;font-size:1.5rem;margin-bottom:1.5rem}.platform-buttons{display:flex;flex-wrap:wrap;gap:1rem}.platform-btn{background:#fff;border:2px solid #e1e8ed;border-radius:6px;color:#5d6d7e;cursor:pointer;font-size:1rem;font-weight:500;padding:1rem 2rem;transition:all .3s ease}.platform-btn:hover{border-color:#3498db;color:#3498db}.platform-btn.active{background:#3498db;border-color:#3498db;color:#fff}.mapping-editor{background:#fff;border:1px solid #e1e8ed;border-radius:8px;padding:2rem}.mapping-editor h2{color:#2c3e50;font-size:1.5rem;margin-bottom:2rem}.mapping-panel{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr auto 1fr;margin-bottom:3rem}.source-panel,.target-panel{background:#f8f9fa;border-radius:6px;max-height:500px;overflow-y:auto;padding:1.5rem;position:relative;scroll-behavior:smooth}.source-panel::-webkit-scrollbar,.target-panel::-webkit-scrollbar{width:8px}.source-panel::-webkit-scrollbar-track,.target-panel::-webkit-scrollbar-track{background:#e9ecef;border-radius:4px}.source-panel::-webkit-scrollbar-thumb,.target-panel::-webkit-scrollbar-thumb{background:#bdc3c7;border-radius:4px}.source-panel::-webkit-scrollbar-thumb:hover,.target-panel::-webkit-scrollbar-thumb:hover{background:#95a5a6}.source-panel h3,.target-panel h3{background:#f8f9fa;border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:1.2rem;margin-bottom:1rem;padding-bottom:.5rem;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:1}.source-panel:after,.target-panel:after{background:#f8f9fae6;border-radius:3px;bottom:10px;color:#7f8c8d;content:"↕ Scroll for more fields";font-size:.7rem;padding:2px 6px;pointer-events:none;position:absolute;right:10px}.field-list{display:flex;flex-direction:column;gap:.75rem}.field-item{background:#fff;border:1px solid #e9ecef;border-radius:4px;padding:1rem;transition:all .3s ease}.field-item:hover{border-color:#3498db;transform:translateX(2px)}.field-name{color:#2c3e50;font-family:Courier New,monospace;font-weight:500}.field-item.required{border-left:4px solid #e74c3c}.required-indicator{color:#e74c3c;font-weight:700;margin-left:.5rem}.field-type{color:#7f8c8d;font-size:.85rem;font-style:italic;margin-left:.5rem}.source-field{cursor:grab;position:relative;-webkit-user-select:none;user-select:none}.source-field:active{cursor:grabbing}.source-field.dragging{opacity:.5;transform:rotate(5deg)}.source-field.mapped{background:#d5f4e6;border-color:#27ae60}.mapped-indicator{color:#27ae60;font-weight:700;margin-left:.5rem}.target-field{position:relative}.target-field.drag-over{background:#ebf3fd;border-color:#3498db;transform:scale(1.02)}.target-field.can-drop{border-style:dashed}.target-field.mapped{background:#d5f4e6;border-color:#27ae60}.target-field.platform-mapped{background:#e8f4f8;border-color:#3498db;border-left:4px solid #3498db}.target-field.platform-mapped .mapped-from{color:#3498db;font-weight:700}.mapping-info{align-items:center;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;margin-top:.5rem;padding-top:.5rem}.mapped-from{color:#27ae60;font-size:.8rem;font-style:italic}.clear-mapping{align-items:center;background:#e74c3c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;transition:background .3s ease;width:20px}.clear-mapping:hover{background:#c0392b}.mapping-status{align-items:center;background:#f8f9fa;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.mapping-count{color:#2c3e50;font-weight:500}.btn-clear{background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.btn-clear:hover{background:#c0392b}.instruction{color:#7f8c8d;font-size:.8rem;font-style:italic;margin-top:.5rem;text-align:center}.btn-primary:disabled:hover{background:#bdc3c7}.no-file-message{align-items:center;display:flex;justify-content:center;min-height:400px}.message-box{background:#fff;border:1px solid #e1e8ed;border-radius:8px;max-width:500px;padding:3rem;text-align:center}.message-box h3{color:#2c3e50;margin-bottom:1rem}.message-box p{color:#7f8c8d;margin-bottom:2rem}.status-info{display:flex;flex-direction:column;gap:.25rem}.required-status{color:#7f8c8d;font-size:.9rem}.mapping-arrows{align-items:center;display:flex;justify-content:center;padding-top:3rem}.arrow{color:#3498db;font-size:2rem;font-weight:700}.mapping-actions-top{background:#fff;border:1px solid #e1e8ed;border-radius:8px;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1.5rem}.action-buttons,.mapping-actions{flex-wrap:wrap;gap:1rem;justify-content:center}.mapping-actions{display:flex}@media (max-width:1024px){.mapping-panel{gap:1.5rem;grid-template-columns:1fr}.mapping-arrows{margin:1rem 0;order:-1;padding:0}.arrow{transform:rotate(90deg)}}@media (max-width:768px){.field-mapping{padding:1rem}.platform-buttons{flex-direction:column}.platform-btn{text-align:center}.mapping-actions{flex-direction:column}.source-panel,.target-panel{padding:1rem}}.data-preview{margin:0 auto;max-width:1400px;padding:2rem}.data-preview.error,.data-preview.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.error-message{background:#fff;border:1px solid #e1e8ed;max-width:500px;padding:3rem}.error-message h3{color:#e74c3c;margin-bottom:1rem}.error-message p{color:#7f8c8d;margin-bottom:2rem}.preview-header{margin-bottom:3rem;text-align:center}.preview-header h1{color:#2c3e50;font-size:2.2rem;margin-bottom:.5rem}.preview-header p{color:#7f8c8d;font-size:1.1rem}.file-info{background:#e8f5e8;border:1px solid #27ae60;margin-bottom:2rem;padding:1.5rem}.file-info h3{color:#27ae60;font-size:1.3rem;margin-bottom:.5rem}.file-info p{color:#2c3e50;font-size:.95rem;margin:0}.preview-actions{align-items:center;background:#fff;border:1px solid #e1e8ed;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.btn-primary,.btn-secondary{padding:.75rem 2rem}.btn-primary:hover{background:#229954}.data-table-container{background:#fff;border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.data-table{border-collapse:collapse;font-size:.9rem;width:100%}.data-table th{background:#f8f9fa;border-bottom:2px solid #e9ecef;border-right:1px solid #e9ecef;color:#2c3e50;font-weight:600;padding:1rem .75rem;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:1}.data-table th:last-child{border-right:none}.data-table th .required{color:#e74c3c;font-weight:700;margin-left:.25rem}.data-table td{border-bottom:1px solid #e9ecef;border-right:1px solid #e9ecef;max-width:200px;overflow:hidden;padding:.75rem;text-overflow:ellipsis;white-space:nowrap}.data-table td:last-child{border-right:none}.data-table tbody tr:hover{background:#f8f9fa}.data-table tbody tr:nth-child(2n){background:#fdfdfd}.data-table tbody tr:nth-child(2n):hover{background:#f8f9fa}.no-data{background:#fff;border:1px solid #e1e8ed;border-radius:8px;padding:4rem 2rem;text-align:center}.no-data h3{color:#7f8c8d;margin-bottom:1rem}.no-data p{color:#95a5a6}.data-table-container{max-height:600px;overflow:auto}.export-note{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;font-size:.9rem;margin-bottom:1rem;padding:1rem}.export-note p{color:#856404;margin:0}.mapped-field{background:#d4edda!important;border-color:#c3e6cb!important}.unmapped-field{background:#f8d7da!important;border-color:#f5c6cb!important}.calculated-field{background:#fff3cd!important;border-color:#ffeaa7!important}.unmapped-indicator{color:#721c24;font-size:.8rem;font-style:italic}.calculated-indicator{color:#856404;font-size:.8rem;font-style:italic}.mapped-cell{background:#f8fff9}.unmapped-cell{background:#fff5f5;color:#999;font-style:italic}.calculated-cell{background:#fffbf0;color:#856404;font-weight:500}@media (max-width:1024px){.data-preview{padding:1rem}.preview-actions{flex-direction:column;gap:1rem}.data-table-container{overflow-x:auto}.data-table{min-width:800px}}@media (max-width:768px){.preview-header h1{font-size:1.8rem}.btn-primary,.btn-secondary{font-size:.9rem;padding:.5rem 1.5rem}.data-table td,.data-table th{font-size:.8rem;padding:.5rem}}.settings{margin:0 auto;max-width:800px;padding:2rem}.settings.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.settings-header{margin-bottom:3rem;text-align:center}.settings-header h1{color:#2c3e50;font-size:2.2rem;margin-bottom:.5rem}.settings-header p{color:#7f8c8d;font-size:1.1rem}.settings-sections{display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem}.settings-section{background:#fff;border:1px solid #e1e8ed;border-radius:8px;padding:2rem}.settings-section h2{border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:1.4rem;margin-bottom:1.5rem;padding-bottom:.5rem}.setting-item{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.setting-item:last-child{margin-bottom:0}.setting-item label{color:#34495e;font-size:1rem;font-weight:600}.setting-item input[type=number],.setting-item select{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.setting-item input[type=number]:focus,.setting-item select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.setting-item input[type=checkbox]{accent-color:#3498db;height:18px;margin-right:.5rem;width:18px}.setting-item .checkbox-container{align-items:center;display:flex;gap:.5rem}.setting-description{color:#7f8c8d;font-size:.9rem;font-style:italic}.settings-actions{border-top:1px solid #e9ecef;display:flex;gap:1rem;justify-content:center;padding-top:2rem}.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;padding:1rem 2rem;transition:all .3s ease}.btn-primary{background:#27ae60}.btn-primary:hover:not(:disabled){background:#229954}.btn-primary:disabled{background:#bdc3c7;cursor:not-allowed}.setting-item input[type=checkbox]{appearance:none;-webkit-appearance:none;background:#fff;border:2px solid #ddd;border-radius:3px;cursor:pointer;height:20px;position:relative;transition:all .3s ease;width:20px}.setting-item input[type=checkbox]:checked{background:#3498db;border-color:#3498db}.setting-item input[type=checkbox]:checked:after{color:#fff;content:"✓";font-size:14px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.setting-item input[type=checkbox]:focus{box-shadow:0 0 0 2px #3498db33;outline:none}@media (max-width:768px){.settings{padding:1rem}.settings-section{padding:1.5rem}.settings-actions{flex-direction:column;gap:.5rem}.btn-primary,.btn-secondary{width:100%}}.vendor-management{margin:0 auto;max-width:1400px;padding:2rem}.vendor-management.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.vendor-management-header{margin-bottom:3rem;text-align:center}.vendor-management-header h1{color:#2c3e50;font-size:2.2rem;margin-bottom:.5rem}.vendor-management-header p{color:#7f8c8d;font-size:1.1rem}.alert{align-items:center;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem;position:relative}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1.2rem;margin-left:1rem;padding:0}.vendor-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.search-filter{display:flex;flex:1 1;gap:1rem;min-width:300px}.action-buttons{display:flex;gap:.5rem}.category-filter,.search-input{border:2px solid #e9ecef;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.category-filter:focus,.search-input:focus{border-color:#3498db;outline:none}.search-input{min-width:200px}.category-filter{min-width:150px}.vendor-form{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;margin-bottom:2rem;padding:2rem}.vendor-form h3{color:#2c3e50;font-size:1.4rem;margin-bottom:1.5rem;margin-top:0}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{color:#2c3e50;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.form-input{border:2px solid #e9ecef;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.form-input:focus{border-color:#3498db;outline:none}.form-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-delete,.btn-edit,.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;text-align:center;text-decoration:none;transition:all .3s ease}.btn-primary{background-color:#3498db}.btn-primary:hover{background-color:#2980b9;transform:translateY(-1px)}.btn-secondary{background-color:#95a5a6}.btn-secondary:hover{background-color:#7f8c8d;transform:translateY(-1px)}.btn-edit{background-color:#f39c12;color:#fff;font-size:.9rem;padding:.5rem 1rem}.btn-edit:hover{background-color:#e67e22}.btn-delete{background-color:#e74c3c;color:#fff;font-size:.9rem;padding:.5rem 1rem}.btn-delete:hover{background-color:#c0392b}.vendor-list{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.vendor-list-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:1rem 1.5rem}.vendor-count{color:#2c3e50;font-weight:600}.vendor-table{width:100%}.vendor-table-header{background:#34495e;color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.vendor-row,.vendor-table-header{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:2fr 2fr 1.5fr 1fr 1fr;padding:1rem 1.5rem}.vendor-row{align-items:center;border-bottom:1px solid #e9ecef;transition:background-color .2s ease}.vendor-row:hover{background-color:#f8f9fa}.vendor-row:last-child{border-bottom:none}.col-import,.col-vendor{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-import{color:#2c3e50;font-family:Courier New,monospace;font-size:.9rem}.col-vendor{color:#34495e}.col-location{color:#7f8c8d;font-size:.9rem}.col-actions{display:flex;gap:.5rem;justify-content:flex-end}.category-badge{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.3rem .8rem;text-transform:uppercase;white-space:nowrap}.category-inventory-purchases{background-color:#e8f5e8;color:#2e7d32}.category-shipping-fees{background-color:#e3f2fd;color:#1565c0}.category-subscriptions-dues{background-color:#f3e5f5;color:#7b1fa2}.category-personal{background-color:#fff3e0;color:#ef6c00}.category-storage-auction{background-color:#fce4ec;color:#c2185b}.category-meals{background-color:#e0f2f1;color:#00695c}.category-unk{background-color:#f5f5f5;color:#616161}.category-payment-delete{background-color:#ffebee;color:#d32f2f}.new-category-input{flex-direction:column}.new-category-actions,.new-category-input{display:flex;gap:.5rem}.btn-add-category,.btn-cancel-category{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.btn-add-category{background-color:#27ae60;color:#fff}.btn-add-category:hover{background-color:#219a52}.btn-cancel-category{background-color:#95a5a6;color:#fff}.btn-cancel-category:hover{background-color:#7f8c8d}.add-new-option{color:#27ae60;font-style:italic;font-weight:700}.no-vendors{color:#7f8c8d;font-style:italic;padding:3rem;text-align:center}@media (max-width:1200px){.vendor-row,.vendor-table-header{font-size:.9rem;grid-template-columns:1.5fr 1.5fr 1fr .8fr 1fr}}@media (max-width:900px){.vendor-management{padding:1rem}.form-grid{grid-template-columns:1fr}.vendor-controls{align-items:stretch}.search-filter,.vendor-controls{flex-direction:column}.vendor-row,.vendor-table-header{gap:.5rem;grid-template-columns:1fr}.vendor-table-header{display:none}.vendor-row{background:#fff;border:1px solid #e9ecef;border-radius:8px;grid-template-columns:1fr;margin-bottom:1rem;padding:1rem}.col-import:before{color:#2c3e50;content:"Import Name: ";font-weight:700}.col-vendor:before{color:#2c3e50;content:"Vendor: ";font-weight:700}.col-location:before{color:#2c3e50;content:"Location: ";font-weight:700}.col-actions{justify-content:flex-start;margin-top:.5rem}}@media (max-width:600px){.vendor-management-header h1{font-size:1.8rem}.action-buttons,.col-actions,.form-actions{flex-direction:column}.col-actions{gap:.3rem}.btn-delete,.btn-edit{text-align:center;width:100%}}.history{margin:0 auto;max-width:1400px;padding:2rem}.history.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.loading-spinner{color:#666;font-size:1.1rem}.history-header{margin-bottom:3rem;text-align:center}.history-header h1{color:#2c3e50;font-size:2.2rem;margin-bottom:.5rem}.history-header p{color:#7f8c8d;font-size:1.1rem}.notification{align-items:center;animation:slideIn .3s ease-out;border:1px solid;border-radius:6px;display:flex;font-size:1rem;justify-content:space-between;margin-bottom:2rem;padding:1rem 1.5rem}.notification-success{background:#d4edda;border-color:#c3e6cb;color:#155724}.notification-error{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.notification-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1.5rem;line-height:1;margin-left:1rem;padding:0}.notification-close:hover{opacity:.7}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.history-filters{background:#fff;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:2rem;padding:2rem}.filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.filter-row:last-child{margin-bottom:0}.filter-row input,.filter-row select{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:1rem;min-width:120px;padding:.75rem}.filter-row input:focus,.filter-row select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.search-input{flex:1 1;min-width:250px}.btn-danger,.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover{background:#2980b9}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.history-summary{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:2rem;padding:1.5rem}.summary-stat{display:flex;gap:.5rem}.stat-label{color:#7f8c8d;font-weight:500}.stat-value{color:#2c3e50;font-weight:600}.transaction-table{background:#fff;border:1px solid #e1e8ed;border-radius:8px;margin-bottom:2rem;overflow:hidden}.table-header,.transaction-row{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:120px 100px 120px 2fr 100px 120px 100px;padding:1rem 1.5rem}.table-header{background:#f8f9fa;border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.transaction-row{border-bottom:1px solid #f1f3f4;font-size:.95rem;transition:background .2s ease}.transaction-row:hover{background:#f8f9fa}.transaction-row:last-child{border-bottom:none}.col-id{color:#7f8c8d;font-family:Courier New,monospace;font-size:.85rem}.col-amount{color:#2c3e50;font-weight:600;text-align:right}.platform-badge{border-radius:20px;display:inline-block;font-size:.8rem;font-weight:500;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.platform-depop{background:#d5f4e6;color:#27ae60}.platform-facebook{background:#ebf3fd;color:#3498db}.platform-credit_card{background:#fef9e7;color:#f39c12}.status-badge{border-radius:20px;display:inline-block;font-size:.8rem;font-weight:500;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.status-processed{background:#d5f4e6;color:#27ae60}.status-pending{background:#fef9e7;color:#f39c12}.status-error{background:#fadbd8;color:#e74c3c}.pagination{align-items:center;display:flex;gap:1rem;justify-content:center;padding:2rem 0}.pagination-btn{background:#fff;border:1px solid #ddd;border-radius:6px;color:#5d6d7e;cursor:pointer;padding:.75rem 1.5rem;transition:all .3s ease}.pagination-btn:hover:not(:disabled){background:#f8f9fa;border-color:#3498db;color:#3498db}.pagination-btn:disabled{background:#f8f9fa;color:#bdc3c7;cursor:not-allowed}.pagination-info{color:#7f8c8d;font-size:.95rem}@media (max-width:1200px){.table-header,.transaction-row{gap:.5rem;grid-template-columns:1fr;text-align:left}.table-header{display:none}.transaction-row{display:block;padding:1.5rem}.transaction-row>div{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.25rem 0}.transaction-row>div:before{color:#7f8c8d;content:attr(data-label);font-size:.9rem;font-weight:600}.col-id:before{content:"ID: "}.col-date:before{content:"Date: "}.col-platform:before{content:"Platform: "}.col-description:before{content:"Description: "}.col-amount:before{content:"Amount: "}.col-category:before{content:"Category: "}.col-status:before{content:"Status: "}.col-amount{text-align:left}}@media (max-width:768px){.history{padding:1rem}.history-filters{padding:1.5rem}.filter-row{align-items:stretch;flex-direction:column}.btn-danger,.btn-primary,.btn-secondary,.filter-row input,.filter-row select{min-width:auto;width:100%}.history-summary{flex-direction:column;gap:1rem}.pagination{flex-direction:column;gap:.5rem}.pagination-info{order:-1;text-align:center}}.clear-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.clear-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-height:80vh;max-width:500px;overflow-y:auto;padding:2rem;width:90%}.clear-modal h3{color:#e74c3c;font-size:1.5rem;margin:0 0 1rem}.clear-modal p{color:#333;font-size:1rem;line-height:1.5;margin-bottom:1.5rem}.transaction-count{background:#f8f9fa;border-left:4px solid #e74c3c;border-radius:4px;color:#333;font-size:.95rem;margin-bottom:1.5rem;padding:1rem}.cancel-btn,.clear-confirm-btn{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.clear-confirm-btn{background:#e74c3c;color:#fff}.clear-confirm-btn:hover{background:#c0392b}@media (max-width:768px){.clear-modal{margin:1rem;padding:1.5rem}.modal-actions{flex-direction:column;gap:.75rem}.cancel-btn,.clear-confirm-btn{width:100%}}.credit-card-validation{margin:0 auto;max-width:1400px;padding:20px}.validation-header{border-bottom:2px solid #e0e0e0;margin-bottom:30px;padding-bottom:20px}.validation-header h1{color:#333;font-size:28px;margin-bottom:10px}.validation-header p{color:#666;font-size:16px;margin-bottom:15px}.file-info{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;font-size:14px;padding:10px 15px}.loading p{color:#666;font-size:16px}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;padding:40px 20px;text-align:center}.error-message h2{margin-bottom:15px}.transactions-table{border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;overflow-x:auto}.transactions-table table{background:#fff;border-collapse:collapse;min-width:800px;width:100%}.transactions-table td,.transactions-table th{border-bottom:1px solid #e0e0e0;padding:12px 15px;text-align:left}.transactions-table th{background:#f8f9fa;color:#333;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}.transactions-table tr:hover{background:#f8f9fa}.description-cell{cursor:help;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amount-cell{font-family:Courier New,monospace;font-weight:600;text-align:right}.category-select{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .2s ease;width:100%}.category-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.category-select.required-field{background-color:#fff3cd;border-color:#ffc107}.vendor-input-container{align-items:center;display:flex;gap:8px}.vendor-input{background:#fff3cd;border:2px solid #ffc107;border-radius:4px;flex:1 1;font-size:14px;padding:8px 12px;transition:border-color .2s ease}.vendor-input:focus{border-color:#f80;box-shadow:0 0 0 2px #ffc10740;outline:none}.save-mapping-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.save-mapping-btn:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.save-mapping-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.validation-actions{align-items:center;border-top:2px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 0}.back-btn,.export-btn{border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.back-btn{background:#6c757d;color:#fff}.back-btn:hover{background:#545b62;transform:translateY(-1px)}.export-btn{background:#007bff;color:#fff}.export-btn:hover{background:#0056b3;transform:translateY(-1px)}.back-btn:disabled,.export-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.credit-card-validation{padding:15px}.validation-header h1{font-size:24px}.validation-actions{flex-direction:column;gap:15px}.back-btn,.export-btn{width:100%}.transactions-table{font-size:14px}.transactions-table td,.transactions-table th{padding:8px 10px}.description-cell{max-width:200px}}.delete-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.delete-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-height:80vh;max-width:500px;overflow-y:auto;padding:30px;width:90%}.delete-modal h3{color:#d32f2f;font-size:24px;margin:0 0 15px}.delete-modal p{color:#333;font-size:16px;margin-bottom:20px}.transaction-details{background:#f5f5f5;border-left:4px solid #d32f2f;border-radius:4px;font-size:14px;line-height:1.6;margin-bottom:25px;padding:15px}.modal-actions{gap:15px}.cancel-btn,.delete-confirm-btn{border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.cancel-btn:hover{transform:translateY(-1px)}.delete-confirm-btn{background:#d32f2f;color:#fff}.delete-confirm-btn:hover{background:#b71c1c;transform:translateY(-1px)}.cancel-btn:disabled,.delete-confirm-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.save-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.save-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-height:80vh;max-width:600px;overflow-y:auto;padding:30px;width:90%}.save-modal h3{color:#007bff;font-size:24px;margin:0 0 15px}.save-modal p{color:#333;font-size:16px;margin-bottom:20px}.changes-summary{background:#f8f9fa;border-left:4px solid #007bff;border-radius:4px;margin-bottom:20px;max-height:200px;overflow-y:auto;padding:15px}.change-item{border-bottom:1px solid #e0e0e0;margin-bottom:12px;padding-bottom:8px}.change-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.change-item strong{color:#333;display:block;font-size:14px;margin-bottom:4px}.change-details{color:#666;font-size:13px}.more-changes{color:#666;font-size:14px;font-style:italic;margin-top:10px;text-align:center}.save-modal .modal-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.no-btn,.yes-btn{border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;min-width:120px;padding:12px 20px;transition:all .2s ease}.yes-btn{background:#28a745;color:#fff}.yes-btn:hover{background:#218838;transform:translateY(-1px)}.no-btn{background:#ffc107;color:#212529}.no-btn:hover{background:#e0a800;transform:translateY(-1px)}.no-btn:disabled,.yes-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.save-modal{padding:20px}.save-modal .modal-actions{flex-direction:column;gap:10px}.no-btn,.save-modal .cancel-btn,.yes-btn{min-width:auto;width:100%}.changes-summary{max-height:150px}}.vendor-name-auto-filled{background:#d4edda;border:2px solid #28a745;border-radius:4px;box-sizing:border-box;color:#155724;display:inline-block;font-size:14px;font-weight:500;line-height:1.4;min-height:38px;padding:8px 12px;text-align:left;width:100%}.vendor-name-matched{color:#333;font-weight:500}.category-confirm-modal-overlay,.new-category-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.category-confirm-modal,.new-category-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-height:80vh;max-width:500px;overflow-y:auto;padding:2rem;width:90%}.category-confirm-modal h3,.new-category-modal h3{color:#2c3e50;font-size:1.4rem;margin:0 0 1rem}.category-confirm-modal p,.new-category-modal p{color:#555;line-height:1.5;margin-bottom:1.5rem}.form-field{margin-bottom:1.5rem}.form-field label{color:#333;display:block;font-weight:600;margin-bottom:.5rem}.category-description,.category-input{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.category-description:focus,.category-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.category-description{min-height:80px;resize:vertical}.category-description-preview{background:#f8f9fa;border-left:4px solid #3498db;border-radius:4px;margin-bottom:1.5rem;padding:1rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.modal-actions button{border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.cancel-btn{background:#6c757d;color:#fff}.cancel-btn:hover{background:#545b62}.confirm-btn,.continue-btn{background:#28a745;color:#fff}.confirm-btn:hover,.continue-btn:hover{background:#218838}@media (max-width:768px){.category-confirm-modal,.new-category-modal{margin:1rem;padding:1.5rem;width:calc(100% - 2rem)}.modal-actions{flex-direction:column;gap:.75rem}.modal-actions button{width:100%}}.credit-card-import{margin:0 auto;max-width:1200px;padding:20px}.import-header{border-bottom:2px solid #e0e0e0;margin-bottom:40px;padding-bottom:20px;text-align:center}.import-header h1{color:#333;font-size:32px;margin-bottom:10px}.import-header p{color:#666;font-size:18px;margin:0 auto;max-width:600px}.loading{padding:60px 20px;text-align:center}.loading h2{color:#333;margin-bottom:15px}.no-data-section{align-items:center;display:flex;justify-content:center;min-height:400px}.no-data-message{background:#f8f9fa;border:2px dashed #007bff;border-radius:12px;max-width:600px;padding:40px;text-align:center}.no-data-message h2{color:#333;font-size:28px;margin-bottom:15px}.no-data-message>p{color:#666;font-size:16px;margin-bottom:30px}.upload-instructions{background:#fff;border-left:4px solid #007bff;border-radius:8px;margin:30px 0;padding:20px;text-align:left}.upload-instructions h3{color:#333;margin-bottom:15px}.upload-instructions ol{color:#555;line-height:1.6}.upload-instructions li{margin-bottom:8px}.upload-btn{background:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:15px 30px;transition:all .2s ease}.upload-btn:hover{background:#0056b3;box-shadow:0 4px 12px #007bff4d;transform:translateY(-2px)}.recent-files-section{margin-bottom:40px}.recent-files-section h2{color:#333;margin-bottom:10px}.recent-files-section>p{color:#666;margin-bottom:25px}.files-list{grid-gap:20px;display:grid;gap:20px;margin-bottom:30px}.file-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;padding:20px;transition:box-shadow .2s ease}.file-card:hover{box-shadow:0 4px 12px #0000001a}.file-info h3{color:#333;font-size:18px;margin-bottom:10px}.file-stats{display:flex;flex-wrap:wrap;gap:20px}.stat{color:#666;font-size:14px}.stat strong{color:#333}.validate-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s ease}.validate-btn:hover{background:#218838;transform:translateY(-1px)}.upload-new-section{border-top:1px solid #e0e0e0;padding:20px;text-align:center}.upload-new-btn{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease}.upload-new-btn:hover{background:#545b62;transform:translateY(-1px)}.info-section{border-top:2px solid #e0e0e0;margin-top:40px;padding-top:30px}.info-section h3{color:#333;font-size:24px;margin-bottom:20px;text-align:center}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.info-card{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;padding:20px;text-align:center}.info-card h4{color:#333;font-size:18px;margin-bottom:10px}.info-card p{color:#666;line-height:1.5}@media (max-width:768px){.credit-card-import{padding:15px}.import-header h1{font-size:28px}.import-header p{font-size:16px}.no-data-message{padding:30px 20px}.no-data-message h2{font-size:24px}.file-card{align-items:flex-start;flex-direction:column;gap:15px}.file-stats{flex-direction:column;gap:5px}.validate-btn{align-self:stretch}.info-grid{grid-template-columns:1fr}}.navbar{background:#2c3e50;box-shadow:0 2px 4px #0000001a;padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.navbar-brand{align-items:center;display:flex;font-size:1.4rem;font-weight:600;gap:.5rem}.navbar-brand,.navbar-brand:hover{color:#fff;text-decoration:none}.brand-icon{font-size:1.6rem}.navbar-nav{align-items:center;display:flex;gap:0;list-style:none;margin:0;padding:0}.nav-item{margin:0}.nav-link{border-bottom:3px solid #0000;color:#bdc3c7;display:block;font-weight:500;padding:1.25rem 1.5rem;text-decoration:none;transition:all .3s ease}.nav-link:hover{text-decoration:none}.nav-link.active,.nav-link:hover{background-color:#ffffff1a;color:#fff}.nav-link.active{border-bottom-color:#3498db}.mobile-menu-toggle{background:none;border:none;color:#fff;cursor:pointer;display:none;font-size:1.5rem;padding:.5rem}@media (max-width:768px){.navbar-container{padding:0 1rem}.mobile-menu-toggle{display:block}.navbar-nav{background:#2c3e50;box-shadow:0 2px 4px #0000001a;flex-direction:column;left:0;opacity:0;position:absolute;right:0;top:100%;transform:translateY(-100%);transition:all .3s ease;visibility:hidden}.navbar-nav.mobile-open{opacity:1;transform:translateY(0);visibility:visible}.nav-link{border-bottom:1px solid #ffffff1a;border-right:none;padding:1rem 2rem}.nav-link.active{border-bottom-color:#ffffff1a;border-left:3px solid #3498db}}@media (max-width:480px){.navbar-container{padding:0 .5rem}.navbar-brand{font-size:1.2rem}.brand-icon{font-size:1.4rem}}
/*# sourceMappingURL=main.2039c882.css.map*/