/* assets/css/auth.css - VERSÃO SIMPLES E MODERNA */
:root {
  --bg-page: #ffffff;
  --line-color: rgba(59, 130, 246, 0.15);
  --line-color-2: rgba(99, 102, 241, 0.08);
}

body {
  background: var(--bg-page);
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

/* Container do fundo animado */
#bg-animated {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

/* Linhas horizontais sutis */
.bg-line {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--line-color), transparent);
  animation: slideLine 20s linear infinite;
  opacity: 0.6;
}

/* Linhas verticais ainda mais sutis */
.bg-line.vertical {
  width: 1px;
  height: 100%;
  background: linear-gradient(transparent, var(--line-color-2), transparent);
  animation: slideVertical 25s linear infinite;
}

/* Animações suaves */
@keyframes slideLine {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100vw); }
}

@keyframes slideVertical {
  0% { transform: translateY(-100%); }
  100% { transform: translateY(100vh); }
}

/* Efeito de grid muito sutil */
.bg-grid {
  position: absolute;
  inset: 0;
  background-image: 
    linear-gradient(var(--line-color-2) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-color-2) 1px, transparent 1px);
  background-size: 50px 50px;
  opacity: 0.3;
  animation: gridMove 40s linear infinite;
}

@keyframes gridMove {
  0% { transform: translate(0, 0); }
  100% { transform: translate(50px, 50px); }
}

/* Card principal */
.login-shell { 
  position: relative; 
  z-index: 20; 
}

.card-glow {
  position: absolute; 
  inset: -1px; 
  border-radius: 1.5rem;
  background: radial-gradient(600px 200px at 50% -10%, rgba(59, 130, 246, 0.1), transparent 70%);
  filter: blur(30px); 
  opacity: 0.5; 
  pointer-events: none;
  z-index: -1;
}

/* Respeita redução de movimento */
@media (prefers-reduced-motion: reduce) {
  .bg-line, .bg-line.vertical, .bg-grid {
    animation: none;
  }
}