/* login.css : tela de entrada. */
.login-page {
  min-height: 100vh;
  display: grid; place-items: center; padding: 24px;
  background: linear-gradient(135deg, var(--cor-primaria-escura), #0f2f57);
}
.login-wrap {
  display: flex; flex-direction: column; align-items: center; gap: 18px;
  width: min(420px, 100%);
}
.login-cd {
  width: min(420px, 100%);
  background: var(--branco);
  border-radius: var(--raio-lg);
  box-shadow: var(--sombra-lg);
  padding: 32px;
  display: flex; flex-direction: column; gap: 14px;
  animation: loginSobe .35s ease;
}
@keyframes loginSobe {
  from { opacity: 0; transform: translateY(16px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.login-cd h1 { font-size: 22px; }
.login-cd .campo { display: flex; flex-direction: column; gap: 5px; }
/* Label moderno (Padrao_Formulario, correcao 26/07/2026): 13px/600, SEM uppercase, SEM letter-spacing. */
.login-cd label {
  font-size: 13px; font-weight: 600; color: var(--texto-secundario);
}
.login-cd .input {
  transition: border-color var(--transicao), box-shadow var(--transicao), transform var(--transicao);
}
.login-cd .input:focus {
  transform: translateY(-1px);
}
.login-logo {
  width: 58px; height: 58px; border-radius: var(--raio);
  background: var(--cor-primaria-suave); color: var(--cor-primaria);
  display: grid; place-items: center; font-size: 28px;
  transition: transform var(--transicao), box-shadow var(--transicao);
}
.login-logo img { width: 32px; height: 32px; object-fit: contain; }
.login-logo:hover {
  transform: scale(1.05) rotate(-3deg);
  box-shadow: 0 4px 16px rgba(51, 135, 233, .25);
}
.login-cd .btn {
  margin-top: 4px;
  transition: transform var(--transicao), box-shadow var(--transicao);
}
.login-cd .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(51, 135, 233, .3);
}
.login-cd .btn:active {
  transform: translateY(0) scale(.98);
}
.login-selo {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  opacity: .9;
}
.login-selo span { font-size: 11px; color: rgba(255, 255, 255, .75); }
.login-selo img { height: 34px; width: auto; }
