.filter-controls{margin-bottom:25px;padding:20px;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;flex-wrap:wrap;align-items:center;gap:15px}.product-table{width:100%;border-collapse:collapse;margin-top:20px;box-shadow:0 2px 8px #00000012;border-radius:6px;overflow:hidden}.product-table th,.product-table td{border:none;border-bottom:1px solid #dee2e6;padding:12px 15px;text-align:left;vertical-align:middle;font-size:.9rem}.product-table td:first-child,.product-table th:first-child{padding-left:20px}.product-table td:last-child,.product-table th:last-child{padding-right:20px}.product-table th{background-color:#e9ecef;color:#495057;font-weight:600;cursor:pointer;white-space:nowrap}.product-table th:hover{background-color:#dce3e9}.product-table tbody tr:nth-child(2n){background-color:#fdfdfd}.product-table tbody tr:hover{background-color:#f1f3f5;cursor:pointer}.product-table img{width:50px;height:50px;border-radius:4px;object-fit:cover;border:1px solid #e0e0e0}.pagination-controls{margin-top:25px;padding-bottom:20px;text-align:center}.pagination-controls button{margin:0 8px}.pagination-info{margin:0 12px;font-weight:500}.pagination-summary{font-size:.9em;color:#555;margin-top:10px}.filter-controls .export-csv-button{padding:8px 12px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9em;margin-left:10px}.filter-controls .export-csv-button:disabled{background-color:#ccc;cursor:not-allowed}.filter-controls select[title="Filter by AI Description Status"]{margin-left:10px}.batch-actions-bar{margin:15px 0;padding:10px;background-color:#f8f9fa;border-radius:4px;display:flex;align-items:center;gap:15px}.batch-generate-desc-button,.generate-single-desc-button,.regenerate-single-desc-button{padding:6px 10px;font-size:.85em;border-radius:4px;cursor:pointer;border:1px solid #ccc}.batch-generate-desc-button{background-color:#17a2b8;color:#fff;border-color:#17a2b8}.batch-generate-desc-button:disabled{background-color:#6c757d;border-color:#6c757d}.generate-single-desc-button{background-color:#28a745;color:#fff;border-color:#28a745}.regenerate-single-desc-button{background-color:#ffc107;color:#212529;border-color:#ffc107}.generate-single-desc-button:disabled,.regenerate-single-desc-button:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed}.batch-status-message{font-style:italic;font-size:.9em}.batch-status-message.pending{color:#007bff}.batch-status-message.success{color:green}.batch-status-message.error{color:red}.ai-generated-badge{display:inline-block;background-color:#007bff;color:#fff;font-size:.7em;padding:2px 5px;border-radius:3px;margin-left:5px;vertical-align:middle}.sync-brand-button{background-color:#007bff;color:#fff}.sync-brand-button:disabled{background-color:#6caddf}.actions-cell{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center}.actions-cell button{padding:3px 6px;font-size:.8em;min-width:60px;cursor:pointer}.sync-single-button{background-color:#17a2b8;color:#fff;border:1px solid #138496;border-radius:3px}.sync-single-button:disabled{background-color:#83ddea;cursor:not-allowed}.status-badge{padding:4px 8px;border-radius:12px;font-size:.8em;font-weight:700;text-transform:uppercase}.status-badge.status-new{background-color:#e0f2fe;color:#0c546e}.status-badge.status-existing{background-color:#d4edda;color:#155724}.sync-single-button.create{background-color:#28a745}.sync-single-button.update{background-color:#ffc107;color:#212529}.product-table th,.product-table td{padding:8px 12px;border-bottom:1px solid #e0e0e0;text-align:left;vertical-align:middle}.price-cell-container{display:flex;flex-direction:column;justify-content:center;gap:2px}.main-price{font-weight:500}.price-description{font-size:.8em;color:#666;font-style:italic}.status-cell{text-align:center}.status-badge{padding:4px 10px;border-radius:12px;font-size:.75em;font-weight:700;text-transform:uppercase;white-space:nowrap}.status-badge.status-new{background-color:#e0f2fe;color:#0c546e;border:1px solid #bce8f1}.status-badge.status-existing{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.actions-container{display:flex;flex-direction:column;align-items:center;gap:4px}.actions-container button{width:80px;padding:4px 8px;font-size:.85em;border-radius:4px;border:1px solid #ccc;cursor:pointer}.sync-single-button.create{background-color:#28a745;color:#fff;border-color:#218838}.sync-single-button.update{background-color:#ffc107;color:#212529;border-color:#e0a800}.regenerate-button{background-color:#f0f0f0;color:#333}.actions-container button:disabled{background-color:#e9ecef;border-color:#ced4da;cursor:not-allowed}.batch-generate-desc-button.danger{background-color:#dc3545;border-color:#dc3545}.batch-generate-desc-button.danger:hover{background-color:#c82333}.action-center{padding:15px;background-color:#f7f9fc;border:1px solid #e1e4e8;border-radius:8px;margin-bottom:20px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;align-items:center;margin-bottom:15px}.filter-grid input[type=text],.filter-grid select{width:100%;padding:8px 10px;border-radius:5px;border:1px solid #ccc;font-size:.9em}.filter-grid .filter-label{display:flex;align-items:center;gap:5px;font-size:.9em}.batch-actions-grid{display:flex;flex-wrap:wrap;gap:10px;padding-top:15px;border-top:1px solid #e1e4e8}.batch-actions-grid button{padding:8px 15px;border-radius:5px;border:none;cursor:pointer;font-size:.9em;transition:background-color .2s;background-color:#28a745;color:#fff}.batch-actions-grid button:disabled{background-color:#ccc;cursor:not-allowed}.batch-actions-grid button.danger{background-color:#dc3545}.batch-actions-grid button.export{background-color:#17a2b8}.operation-status-container{margin-top:15px;padding:12px;background-color:#e9ecef;border-radius:6px;text-align:center;height:60px;display:flex;flex-direction:column;justify-content:center;transition:opacity .3s}.operation-status-container.idle{opacity:0;height:0;padding:0;margin:0;overflow:hidden}.operation-status-container p{margin:0 0 5px;font-weight:700;color:#495057}.operation-status-container progress{width:100%;height:10px}.image-preview-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000a6;display:flex;justify-content:center;align-items:center;z-index:1000;pointer-events:none}.image-preview-overlay img{max-width:75%;max-height:80%;border:3px solid white;border-radius:8px;box-shadow:0 8px 25px #0000004d;object-fit:contain}body{margin:0;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-color:#f4f7f6;color:#333;line-height:1.6}.App{max-width:1600px;margin:0 auto;padding:0}.App-header{background-color:#2c3e50;padding:20px 40px;color:#fff;text-align:center;margin-bottom:20px}.App-header h1{margin:0;font-size:1.8em}.App-main-content{padding:20px 40px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;margin:0 20px}input[type=text],input[type=number],select,textarea{padding:10px 12px;border:1px solid #ccc;border-radius:5px;font-size:.95em;margin-right:10px;margin-bottom:10px;box-sizing:border-box}button{padding:10px 18px;border:none;border-radius:5px;cursor:pointer;font-size:1em;transition:background-color .2s ease-in-out,box-shadow .2s ease;background-color:#007bff;color:#fff;box-shadow:0 2px 4px #0000001a}button:hover:not(:disabled){background-color:#0056b3;box-shadow:0 4px 8px #00000026}button:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed;box-shadow:none}
