:root { --sidebar-width: 280px; }
body { font-family: 'Inter', -apple-system, sans-serif; background-color: #f8f9fa; }
.sidebar { width: var(--sidebar-width); height: 100vh; position: fixed; top: 0; left: 0; background: linear-gradient(180deg, #1a1d29 0%, #2a2d3a 100%); z-index: 1000; box-shadow: 4px 0 12px rgba(0,0,0,0.1); overflow-y: auto; }
.sidebar-header { padding: 1.5rem; text-align: center; border-bottom: 1px solid rgba(255,255,255,0.1); }
.sidebar-header .logo { max-width: 85%; filter: brightness(0) invert(1); }
.sidebar .nav-link { color: rgba(255,255,255,0.7); padding: 0.9rem 1.5rem; border-radius: 0.5rem; margin: 0.3rem 0.75rem; transition: all 0.3s ease; font-weight: 500; display: flex; align-items: center; }
.sidebar .nav-link i { margin-right: 0.85rem; width: 24px; font-size: 1.2rem; }
.sidebar .nav-link:hover { background: rgba(255,255,255,0.1); color: white; transform: translateX(5px); }
.sidebar .nav-link.active { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4); }
.main-content { margin-left: var(--sidebar-width); padding: 2rem; }
.top-bar { background-color: white; padding: 1rem 2rem; border-radius: 1rem; box-shadow: 0 2px 12px rgba(0,0,0,0.08); margin-bottom: 2rem; display: flex; justify-content: space-between; align-items: center; }
.stat-card { background-color: white; border-radius: 1rem; box-shadow: 0 2px 12px rgba(0,0,0,0.08); padding: 1.5rem; }
.page-content { animation: fadeInUp 0.4s ease; }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

.validation-section { background: white; border-radius: 1rem; padding: 1.5rem; margin-bottom: 2rem; box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
.validation-item { background: white; border: 2px solid #e0e0e0; border-radius: 0.5rem; padding: 1rem; margin-bottom: 1rem; cursor: move; transition: all 0.3s; }
.validation-item:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.validation-item.sortable-ghost { opacity: 0.4; }
.validation-item.sortable-drag { box-shadow: 0 8px 24px rgba(0,0,0,0.2); }

.section-validated { border-left: 4px solid #28a745; }
.section-pending { border-left: 4px solid #ffc107; }
.section-blacklist { border-left: 4px solid #dc3545; }

.product-mini { display: inline-block; width: 40px; height: 40px; object-fit: cover; border-radius: 4px; margin-right: 4px; }

.product-edit-item { display: flex; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid #dee2e6; border-radius: .5rem; margin-bottom: 1rem; background-color: white; }
.product-edit-item.draggable { cursor: grab; }
.product-edit-item img { width: 60px; height: 60px; object-fit: contain; border-radius: .25rem; background-color: white; }
.product-edit-item .handle { font-size: 1.5rem; color: #6c757d; cursor: grab; }

.product-comparison-card { border: 1px solid #dee2e6; border-radius: .5rem; padding: 0.75rem; margin-bottom: .5rem; }
.product-comparison-card img { width: 100%; height: 120px; object-fit: contain; }

.progress-bar-container { position: fixed; top: 0; left: var(--sidebar-width); right: 0; z-index: 9999; background: rgba(0,0,0,0.9); padding: 1rem; display: none; }

.query-test-item { border: 1px solid #dee2e6; border-radius: .5rem; padding: 1rem; margin-bottom: 1rem; background: white; }
.query-test-item.processing { background: #fff3cd; border-color: #ffc107; }
.query-test-item.completed { background: #d1e7dd; border-color: #28a745; }

.nav-link.disabled { opacity: 0.5; pointer-events: none; }

.filter-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.15); }
.filter-card.inactive { opacity: 0.4; }
.filter-card.active { box-shadow: 0 2px 8px rgba(0,0,0,0.1); }

/* Animations bandeau de statut */
@keyframes slideDown { from { transform: translateY(-100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes slideUp { from { transform: translateY(0); opacity: 1; } to { transform: translateY(-100%); opacity: 0; } }
