/* Variáveis de Cores (as mesmas do painel.css para consistência) */
:root{
  --preto: #0a0a0a;
  --cinza-chumbo: #141414;
  --cinza-medio: #202020;
  --vermelho: #e63946;
  --vermelho-forte: #ff1f2d;
  --amarelo: #ffd60a;
  --branco: #f5f5f5;
  --texto-cinza: #b0b0b0;
}

/* Reset Básico e Fontes */
*{ box-sizing: border-box; margin:0; padding:0; }
body{
  font-family: 'Roboto', Arial, sans-serif;
  line-height: 1.6;
  background-color: var(--preto);
  color: var(--branco);
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 20px;
}
h1, h2, h3, h4, h5{
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
a{ text-decoration:none; color: inherit; }

/* Estilos Gerais de Botões (copiados do painel.css) */
.btn{
  padding: 10px 20px;
  border-radius: 4px;
  font-size: 0.85rem;
  text-transform: uppercase;
  font-weight: 600;
  cursor:pointer;
  border: none;
  transition: 0.3s;
  display: inline-block;
}
.btn-cta{
  background: var(--vermelho-forte);
  color: #fff;
}
.btn-cta:hover{ background: #d4141f; }
.btn-small{ margin-top: 12px; padding: 8px 16px; font-size: 0.8rem; }
.btn-outline{
  background: transparent;
  border: 1px solid var(--branco);
  color: var(--branco);
}
.btn-outline:hover{ background: var(--branco); color: var(--preto); }
.pulse {
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 31, 45, 0.7); } /* Cor do vermelho-forte */
  70% { transform: scale(1); box-shadow: 0 0 0 15px rgba(255, 31, 45, 0); }
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 31, 45, 0); }
}

/* Estilos Específicos para Páginas de Autenticação */
.auth-page{
  width: 100%;
  max-width: 400px; /* Largura máxima para a caixa de autenticação */
}
.auth-box{
  background: var(--cinza-medio);
  border-top: 4px solid var(--vermelho-forte); /* Borda superior com cor de destaque */
  border-radius: 8px;
  padding: 30px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.5);
  text-align: center;
}
.auth-box .logo{
  font-family: 'Oswald', sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 1px;
  color: var(--branco);
  margin-bottom: 25px;
}
.auth-box .logo span{
  color: var(--amarelo); /* Cor de destaque para o span do logo */
}
.auth-box h3{
  margin-bottom: 25px;
  color: var(--branco);
}
.auth-box form{
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.auth-box input{
  padding: 12px;
  border-radius: 4px;
  border: 1px solid #333;
  background: var(--cinza-chumbo);
  color: var(--branco);
  font-family: inherit;
  font-size: 1rem;
}
.auth-box input::placeholder{
  color: var(--texto-cinza);
}
.auth-box input:focus{
  outline: none;
  border-color: var(--vermelho-forte);
  box-shadow: 0 0 0 2px rgba(255, 31, 45, 0.3);
}
.auth-msg{
  text-align: center;
  margin-top: 15px;
  font-size: 0.9rem;
  min-height: 20px; /* Para evitar que o layout "pule" quando a mensagem aparece */
}
.auth-link{
  margin-top: 20px;
  font-size: 0.9rem;
  color: var(--texto-cinza);
}
.auth-link a{
  color: var(--amarelo); /* Cor de destaque para links */
  text-decoration: underline;
}
.auth-link a:hover{
  color: var(--branco);
}