*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}#root{max-width:1400px;margin:0 auto}.container{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;padding:40px;margin-bottom:20px}.header{text-align:center;margin-bottom:40px}.header h1{color:#333;font-size:2.5rem;margin-bottom:10px}.header p{color:#666;font-size:1.1rem}.upload-section{margin-bottom:40px}.upload-area{border:3px dashed #667eea;border-radius:8px;padding:60px 20px;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8f9ff}.upload-area:hover,.upload-area.dragging{border-color:#764ba2;background:#f0f2ff}.upload-area h3{color:#667eea;font-size:1.5rem;margin-bottom:10px}.upload-area p{color:#666;margin-bottom:20px}.upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 30px;border-radius:6px;font-size:1rem;cursor:pointer;transition:transform .2s ease}.upload-btn:hover{transform:translateY(-2px)}.upload-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.file-input{display:none}.selected-file{margin-top:20px;padding:15px;background:#e8f5e9;border-radius:6px;display:flex;align-items:center;justify-content:space-between}.selected-file span{color:#2e7d32;font-weight:500}.remove-btn{background:#d32f2f;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.9rem}.process-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:15px 40px;border-radius:6px;font-size:1.1rem;cursor:pointer;width:100%;margin-top:20px;transition:transform .2s ease}.process-btn:hover:not(:disabled){transform:translateY(-2px)}.process-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.progress-section{margin-bottom:40px}.progress-bar{width:100%;height:30px;background:#f0f0f0;border-radius:15px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .3s ease;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600}.progress-status{color:#666;font-size:.9rem;text-align:center}.results-section{margin-top:40px}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.results-header h2{color:#333}.download-btn{background:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:1rem}.download-btn:hover{background:#45a049}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:8px;text-align:center}.stat-card h3{font-size:2rem;margin-bottom:5px}.stat-card p{font-size:.9rem;opacity:.9}.results-table{width:100%;border-collapse:collapse;margin-top:20px;overflow-x:auto;display:block}.results-table table{width:100%;min-width:1000px}.results-table th,.results-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.results-table th{background:#f5f5f5;font-weight:600;color:#333;position:sticky;top:0;cursor:pointer;-webkit-user-select:none;user-select:none}.results-table th:hover{background:#eee}.results-table tr:hover{background:#f9f9f9}.status-badge{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;display:inline-block}.status-qualified{background:#e8f5e9;color:#2e7d32}.status-unqualified{background:#fff3e0;color:#e65100}.status-no-results{background:#f3e5f5;color:#6a1b9a}.status-error{background:#ffebee;color:#c62828}.rating-badge{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;display:inline-block}.rating-excellent{background:#c8e6c9;color:#1b5e20}.rating-good{background:#b3e5fc;color:#01579b}.rating-poor{background:#ffccbc;color:#bf360c}.message-cell{max-width:400px;word-wrap:break-word;line-height:1.4;font-size:.9rem}.error-message{background:#ffebee;border-left:4px solid #c62828;padding:15px;border-radius:4px;color:#c62828;margin-bottom:20px}.warning-message{background:#fff3e0;border-left:4px solid #ff9800;padding:20px;border-radius:8px;margin-bottom:30px;box-shadow:0 2px 8px #ff98001a}.warning-message strong{color:#e65100;font-size:1.1rem;display:block;margin-bottom:8px}.warning-message p{color:#666;margin:0;line-height:1.5}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite;margin-right:10px}@keyframes spin{to{transform:rotate(360deg)}}.link{color:#667eea;text-decoration:none}.link:hover{text-decoration:underline}.stat-card.clickable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;position:relative}.stat-card.clickable:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0003}.stat-card .card-hint{display:block;font-size:.75rem;margin-top:5px;opacity:0;transition:opacity .2s ease}.stat-card.clickable:hover .card-hint{opacity:1}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 30px;border-bottom:2px solid #f0f0f0}.modal-header h2{color:#333;margin:0;font-size:1.8rem}.modal-close{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close:hover{background:#f5f5f5;color:#333}.modal-description{padding:16px 30px;color:#666;font-size:.95rem;background:#f9f9f9;border-bottom:1px solid #e0e0e0}.modal-body{padding:20px 30px;overflow-y:auto;flex:1}.empty-message{text-align:center;color:#999;padding:40px;font-size:1.1rem}.seller-details-list{display:flex;flex-direction:column;gap:20px}.seller-detail-card{border:2px solid #e0e0e0;border-radius:8px;padding:20px;transition:all .2s ease}.seller-detail-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea1a}.seller-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #f0f0f0}.seller-header h3{color:#667eea;font-size:1.3rem;margin:0 0 8px}.product-title{color:#333;font-size:1rem;margin:5px 0;font-weight:500}.upc-code{color:#999;font-size:.85rem;margin:5px 0;font-family:monospace}.view-listing{color:#667eea;text-decoration:none;font-size:.9rem;margin-top:8px;display:inline-block;transition:color .2s ease}.view-listing:hover{color:#764ba2;text-decoration:underline}.status-badge.status-qualified{background:#e8f5e9;color:#2e7d32}.status-badge.status-unqualified{background:#fff3e0;color:#e65100}.status-badge.status-noResults{background:#f3e5f5;color:#6a1b9a}.status-badge.status-errors{background:#ffebee;color:#c62828}.seller-metrics{margin-top:15px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;margin-bottom:20px}.metric{background:#f8f9ff;padding:15px;border-radius:8px;text-align:center}.metric label{display:block;color:#666;font-size:.85rem;margin-bottom:8px}.metric strong{display:block;color:#333;font-size:1.2rem}.thresholds{margin-top:20px;padding:15px;background:#f9f9f9;border-radius:8px}.thresholds h4{color:#333;font-size:1rem;margin-bottom:12px}.threshold-list{display:flex;flex-direction:column;gap:10px}.threshold-item{display:flex;align-items:center;gap:10px;font-size:.9rem;padding:8px;background:#fff;border-radius:6px}.threshold-icon{font-size:1.1rem;min-width:24px}.threshold-value{margin-left:auto;color:#666;font-family:monospace;font-size:.85rem}.qualification-reason{margin-top:20px;padding:15px;background:#e8f5e9;border-left:4px solid #4caf50;border-radius:6px}.qualification-reason h4{color:#2e7d32;font-size:1rem;margin-bottom:8px}.qualification-reason p{color:#333;font-size:.9rem;line-height:1.5}.error-details{margin-top:20px;padding:15px;background:#ffebee;border-left:4px solid #f44336;border-radius:6px}.error-details h4{color:#c62828;font-size:1rem;margin-bottom:8px}.error-details p{color:#333;font-size:.9rem;line-height:1.5}.outreach-message{margin-top:20px;padding:15px;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:6px}.outreach-message h4{color:#1565c0;font-size:1rem;margin-bottom:8px}.message-preview{color:#333;font-size:.9rem;line-height:1.6;white-space:pre-wrap}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000026;padding:40px;width:100%;max-width:450px}.auth-card h2{color:#333;font-size:2rem;margin-bottom:10px;text-align:center}.auth-subtitle{color:#666;text-align:center;margin-bottom:30px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#333;font-weight:600;font-size:.9rem}.form-group input,.form-group select{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-group input:disabled,.form-group select:disabled{background:#f5f5f5;cursor:not-allowed}.form-group small{color:#999;font-size:.85rem}.auth-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 20px;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s ease;margin-top:10px}.auth-button:hover:not(:disabled){transform:translateY(-2px)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-footer{margin-top:20px;text-align:center;color:#666}.link-button{background:none;border:none;color:#667eea;cursor:pointer;text-decoration:underline;font-size:inherit;padding:0}.link-button:hover:not(:disabled){color:#764ba2}.link-button:disabled{opacity:.5;cursor:not-allowed}.auth-loading{text-align:center;padding:40px;color:#666;font-size:1.1rem}.header-content{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.header-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.ebay-status-indicator{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#f8f9ff;border-radius:8px;border:2px solid #e0e0e0}.status-dot{width:12px;height:12px;border-radius:50%;animation:pulse 2s ease-in-out infinite}.status-dot.connected{background:#4caf50;box-shadow:0 0 #4caf50b3}.status-dot.disconnected{background:#ff9800;box-shadow:0 0 #ff9800b3;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%{box-shadow:0 0 #4caf50b3}50%{box-shadow:0 0 0 8px #4caf5000}to{box-shadow:0 0 #4caf5000}}.status-text{color:#333;font-weight:600;font-size:.9rem}.ebay-connect-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease;white-space:nowrap}.ebay-connect-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.ebay-connect-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.user-info{color:#333;font-weight:500;display:flex;align-items:center;gap:8px}.admin-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.logout-btn,.user-mgmt-btn{background:#667eea;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.logout-btn:hover,.user-mgmt-btn:hover{background:#764ba2;transform:translateY(-1px)}.user-mgmt-btn{background:#4caf50}.user-mgmt-btn:hover{background:#45a049}.user-management{margin-top:30px}.user-management h2{color:#333;margin-bottom:20px}.user-management-header{margin-bottom:20px}.create-user-btn{background:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s ease}.create-user-btn:hover{background:#45a049;transform:translateY(-1px)}.create-user-form{background:#f8f9ff;padding:20px;border-radius:8px;margin-bottom:30px}.create-user-form h3{color:#333;margin-bottom:20px}.create-user-form .form-group{margin-bottom:15px}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:1rem;transition:transform .2s ease}.submit-btn:hover:not(:disabled){transform:translateY(-2px)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.users-table{margin-top:20px;overflow-x:auto}.users-table table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.users-table th{background:#f5f5f5;font-weight:600;color:#333}.users-table tr:hover{background:#f9f9f9}.role-badge{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;display:inline-block;text-transform:uppercase}.role-badge.role-admin{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.role-badge.role-user{background:#e0e0e0;color:#666}.actions{display:flex;gap:10px;align-items:center}.action-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:6px;border-radius:4px;transition:all .2s ease}.action-btn:hover{background:#f0f0f0;transform:scale(1.1)}.delete-btn:hover{background:#ffebee}.current-user-badge{color:#667eea;font-weight:600;font-size:.85rem}.no-users{text-align:center;color:#999;padding:40px;font-size:1rem}.profile-btn{background:#ff9800;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.profile-btn:hover{background:#f57c00;transform:translateY(-1px)}.profile-container{margin-top:30px}.profile-container h2{color:#333;margin-bottom:30px;font-size:2rem}.profile-info{margin-bottom:40px;padding:20px;background:#f8f9ff;border-radius:8px}.profile-info label{display:block;color:#666;font-size:.85rem;font-weight:600;text-transform:uppercase;margin-bottom:8px}.profile-email{color:#333;font-size:1.1rem;font-weight:500;margin:0}.profile-section{margin-bottom:30px}.profile-section h3{color:#333;margin-bottom:20px;font-size:1.5rem;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.password-form{max-width:500px}.password-form .form-group{margin-bottom:20px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease;width:100%;margin-top:10px}.btn-primary:hover:not(:disabled){transform:translateY(-2px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.success-message{background:#e8f5e9;border-left:4px solid #4caf50;padding:15px;border-radius:4px;color:#2e7d32;margin-bottom:20px;font-weight:500}.view-tabs{display:flex;gap:10px;margin:20px 0;border-bottom:2px solid #e0e0e0}.tab-button{background:none;border:none;padding:12px 24px;font-size:1rem;font-weight:600;color:#666;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s ease;position:relative;bottom:-2px}.tab-button:hover{color:#667eea;background:#f8f9ff}.tab-button.active{color:#667eea;border-bottom-color:#667eea;background:#f8f9ff}.filters-section{display:flex;gap:15px;margin:20px 0;padding:20px;background:#f8f9ff;border-radius:8px;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:200px}.filter-group label{color:#333;font-weight:600;font-size:.9rem}.filter-input{padding:10px 14px;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .2s ease}.filter-input:focus{outline:none;border-color:#667eea}.clear-filters-btn{background:#ff9800;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease;white-space:nowrap}.clear-filters-btn:hover{background:#f57c00;transform:translateY(-1px)}.pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;padding:20px;background:#f8f9ff;border-radius:8px;flex-wrap:wrap}.pagination-btn{background:#667eea;color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#764ba2;transform:translateY(-1px)}.pagination-btn:disabled{background:#e0e0e0;color:#999;cursor:not-allowed;transform:none}.pagination-info{color:#333;font-weight:500;padding:0 10px}.empty-results{text-align:center;padding:60px 20px;color:#666}.empty-results p{font-size:1.1rem}@media (max-width: 768px){.header-content{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:flex-start}.ebay-status-indicator{width:100%;justify-content:space-between}.users-table{font-size:.9rem}.auth-card{padding:30px 20px}.filters-section{flex-direction:column}.filter-group{width:100%;min-width:auto}.pagination{font-size:.85rem}.pagination-btn{padding:8px 12px;font-size:.85rem}.view-tabs{flex-direction:column;gap:0}.tab-button{border-bottom:none;border-left:3px solid transparent;text-align:left}.tab-button.active{border-left-color:#667eea;border-bottom-color:transparent}}
