/**
 * Verification Tab Styles
 * 
 * Drag & drop zone, loading states, forensic-grade styling
 * Mobile-first, Apple-inspired design
 */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   DROP ZONE
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.verify-drop-zone {
  position: relative;
  border: 2px dashed var(--gray-300, #d1d5db);
  border-radius: 12px;
  padding: var(--space-4, 24px) var(--space-3, 16px);
  text-align: center;
  cursor: pointer;
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
  background: var(--bg-panel, #f8fafc);
}

.verify-drop-zone:hover {
  border-color: var(--primary-400, #60a5fa);
  background: var(--primary-50, #eff6ff);
}

.verify-drop-zone--dragover {
  border-color: var(--primary-500, #3b82f6);
  background: var(--primary-100, #dbeafe);
  border-style: solid;
  transform: scale(1.02);
  box-shadow: 0 4px 20px rgba(59, 130, 246, 0.2);
}

@media (prefers-color-scheme: dark) {
  .verify-drop-zone {
    background: var(--bg-panel, #1e293b);
    border-color: var(--gray-700, #374151);
  }
  
  .verify-drop-zone:hover {
    border-color: var(--primary-500, #3b82f6);
    background: rgba(59, 130, 246, 0.1);
  }
  
  .verify-drop-zone--dragover {
    background: rgba(59, 130, 246, 0.15);
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   LOADING STATE
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.verification-loading {
  padding: var(--space-6, 40px) var(--space-4, 24px);
  text-align: center;
  animation: fadeIn 300ms ease;
}

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

.verification-loading-spinner {
  margin: 0 auto var(--space-4, 24px);
  width: 48px;
  height: 48px;
  color: var(--primary-500, #3b82f6);
}

.verification-loading-title {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: var(--space-4, 24px);
  color: var(--text-primary, #0f172a);
}

@media (prefers-color-scheme: dark) {
  .verification-loading-title {
    color: var(--text-primary, #e5e7eb);
  }
}

.verification-loading-steps {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: var(--space-4, 24px);
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

.verification-step {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: var(--bg-panel, #f8fafc);
  border-radius: 8px;
  font-size: 14px;
  color: var(--text-secondary, #64748b);
  opacity: 0.5;
  transition: all 200ms ease;
}

.verification-step--active {
  opacity: 1;
  background: var(--primary-50, #eff6ff);
  color: var(--primary-700, #1d4ed8);
  font-weight: 500;
}

.verification-step-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}

.verification-step-icon svg {
  width: 18px;
  height: 18px;
  color: currentColor;
}

.verification-step-text {
  flex: 1;
  text-align: left;
}

@media (prefers-color-scheme: dark) {
  .verification-step {
    background: var(--bg-panel, #1e293b);
    color: var(--text-secondary, #94a3b8);
  }
  
  .verification-step--active {
    background: rgba(59, 130, 246, 0.15);
    color: var(--primary-400, #60a5fa);
  }
}

.verification-loading-filename {
  font-size: 13px;
  color: var(--text-muted, #94a3b8);
  font-family: 'Courier New', monospace;
  word-break: break-all;
  max-width: 400px;
  margin: 0 auto;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SPINNER ANIMATION
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.spinner {
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RESPONSIVE
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (max-width: 640px) {
  .verify-drop-zone {
    padding: var(--space-3, 16px);
  }
  
  .verification-loading {
    padding: var(--space-4, 24px) var(--space-3, 16px);
  }
  
  .verification-loading-steps {
    gap: 8px;
  }
  
  .verification-step {
    padding: 10px 12px;
    font-size: 13px;
  }
  
  .verification-step-icon {
    font-size: 18px;
  }
}

