/* Screening Animation Styles - Fully Scoped */
.screening-animation,
.screening-animation *,
.screening-animation *::before,
.screening-animation *::after {
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: none !important;
}

.screening-animation {
  min-height: 100vh !important;
  width: 100% !important;
  background: #000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Space Grotesk', sans-serif !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 999999 !important;
}

.screening-animation .container {
  width: 100% !important;
  max-width: 36rem !important;
  margin: 0 auto !important;
  padding: 10rem 1rem !important;
  text-align: center !important;
  background: transparent !important;
}

/* Spinner */
.screening-animation .spinner-wrapper {
  display: inline-block !important;
  position: relative !important;
  margin-bottom: 3rem !important;
}

.screening-animation .spinner-glow {
  position: absolute !important;
  inset: 0 !important;
  background: #06b6d4 !important;
  filter: blur(60px) !important;
  opacity: 0.1 !important;
  animation: screening-pulse 2s ease-in-out infinite !important;
}

.screening-animation .spinner {
  position: relative !important;
  width: 5rem !important;
  height: 5rem !important;
  border: 2px solid rgba(6, 182, 212, 0.2) !important;
  border-top-color: #06b6d4 !important;
  border-radius: 50% !important;
  animation: screening-spin 1s linear infinite !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.screening-animation .spinner-dot {
  width: 0.5rem !important;
  height: 0.5rem !important;
  background: #06b6d4 !important;
  border-radius: 50% !important;
  animation: screening-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite !important;
}

/* Title */
.screening-animation .title {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  margin-bottom: 2rem !important;
  color: #fff !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  background: transparent !important;
}

/* Stages */
.screening-animation .stages {
  max-width: 24rem !important;
  margin: 0 auto !important;
  text-align: left !important;
  background: transparent !important;
}

.screening-animation .stage {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  margin-bottom: 1rem !important;
  transition: all 0.5s ease !important;
  opacity: 0 !important;
  transform: translateX(0.5rem) !important;
  background: transparent !important;
}

.screening-animation .stage.active {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

.screening-animation .stage.completed {
  opacity: 0.4 !important;
  transform: translateX(-0.5rem) !important;
}

.screening-animation .stage.hidden {
  opacity: 0 !important;
  transform: translateX(0.5rem) !important;
}

.screening-animation .stage-dot {
  width: 0.25rem !important;
  height: 0.25rem !important;
  border-radius: 50% !important;
  background: #1f2937 !important;
  flex-shrink: 0 !important;
  transition: all 0.3s ease !important;
}

.screening-animation .stage.completed .stage-dot {
  background: #06b6d4 !important;
}

.screening-animation .stage.active .stage-dot {
  background: #06b6d4 !important;
  box-shadow: 0 0 8px #06b6d4 !important;
}

.screening-animation .stage-text {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #6b7280 !important;
  transition: color 0.3s ease !important;
  background: transparent !important;
}

.screening-animation .stage.active .stage-text {
  color: #22d3ee !important;
}

/* Animations */
@keyframes screening-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes screening-pulse {
  0%, 100% {
    opacity: 0.1;
  }
  50% {
    opacity: 0.2;
  }
}

@keyframes screening-ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
