/* ========== BULK IMPORT STYLES ========== */
#bulkImportModal {
  display: none !important;
  position: fixed;
  inset: 0;
  z-index: 9999;
}
#bulkImportModal.active {
  display: flex !important;
  align-items: center;
  justify-content: center;
}
#bulkImportModal .modal-overlay {
  display: none;
}
#bulkImportModal.active .modal-overlay {
  display: flex;
}
#bulkImportModal .modal-content {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  z-index: 1;
}

.import-step { padding: 20px 0; }
.import-step h4 { 
  color: var(--primary); 
  margin-bottom: 15px; 
  padding-bottom: 10px; 
  border-bottom: 2px solid var(--primary-light);
}

.file-upload-zone {
  border: 2px dashed var(--border-color);
  border-radius: 10px;
  padding: 40px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  background: var(--bg-body);
}
.file-upload-zone:hover, .file-upload-zone.dragover {
  border-color: var(--primary);
  background: var(--primary-light);
}
.file-upload-zone i { font-size: 48px; color: var(--primary); margin-bottom: 15px; }

.info-box {
  background: #e3f2fd;
  border-left: 4px solid #2196f3;
  padding: 12px 15px;
  margin-top: 15px;
  border-radius: 4px;
  display: flex;
  align-items: center;
}

.preview-info { 
  background: var(--bg-body); 
  padding: 12px 16px; 
  border-radius: 8px; 
  margin-bottom: 15px; 
  font-weight: 600; 
}
.text-success { color: var(--secondary); }
.text-danger { color: var(--danger); }

.import-options { 
  background: var(--bg-body); 
  padding: 12px 16px; 
  border-radius: 8px; 
}

.result-summary { 
  background: #e8f5e9; 
  border-left: 4px solid #4caf50; 
  padding: 16px; 
  border-radius: 8px; 
  margin-bottom: 15px; 
}

.error-log { 
  background: #ffebee; 
  border-left: 4px solid #f44336; 
  padding: 16px; 
  border-radius: 8px; 
  margin-bottom: 15px; 
}
.error-log pre { 
  background: rgba(0,0,0,0.05); 
  padding: 12px; 
  border-radius: 4px; 
  overflow-x: auto; 
  font-size: 0.85rem; 
  margin-top: 8px; 
}

.progress-overlay {
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  border-radius: inherit;
}
.progress-content { text-align: center; }
.progress-bar-container {
  width: 100%;
  height: 8px;
  background: #e0e0e0;
  border-radius: 4px;
  overflow: hidden;
  margin: 15px 0;
}
.progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--primary), var(--accent));
  transition: width 0.3s ease;
}

.modal-lg { width: 90%; max-width: 900px; }
.ml-2 { margin-left: 10px; }
.ml-3 { margin-left: 15px; }
.mt-3 { margin-top: 15px; }
.mb-3 { margin-bottom: 15px; }
.d-flex { display: flex; }
.gap-2 { gap: 10px; }
.checkbox-inline { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; }
.table-responsive { overflow-x: auto; }

/* Stat Popup Styles */
.stat-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(4px);
  z-index: 300;
  display: none;
  align-items: center;
  justify-content: center;
  animation: fadeIn 0.25s ease;
}
.stat-popup-overlay.active { display: flex; }
.stat-popup-box {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  width: 90%;
  max-width: 500px;
  box-shadow: var(--shadow-xl);
  animation: slideUp 0.3s ease;
}
.stat-popup-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border-color);
}
.stat-popup-header h3 { margin: 0; font-size: 1.1rem; font-weight: 700; }
.stat-popup-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: var(--text-muted);
  transition: color 0.2s;
}
.stat-popup-close:hover { color: var(--danger); }
.stat-popup-body { padding: 24px; }

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes slideUp {
  from { transform: translateY(20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
