/* Fundo em degradê "azul" estilo referência */
.login-bg {
  /* degrade vertical do mais escuro ao mais claro */
  background: linear-gradient(180deg, #4a90e2 0%, #63a4ff 35%, #8bb8ff 70%, #b3d1ff 100%);
  min-height: 100vh;
}

body.login-bg {
  background: linear-gradient(180deg, #4a90e2 0%, #63a4ff 35%, #8bb8ff 70%, #b3d1ff 100%);
  min-height: 100vh;
  margin: 0;
  padding: 0;
}

/* Card central do formulário */
.login-card {
  width: 100%;
  max-width: 520px;        /* largura parecida com o modelo */
  border-radius: 1rem;     /* cantos mais suaves */
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Selo/ícone da marca (substitua por logo se quiser) */
.brand-badge {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #ffffff;
  display: grid;
  place-items: center;
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}
.brand-letter {
  font-weight: 800;
  letter-spacing: .5px;
  color: #2c5aa0;
}

/* Logo da marca nas telas de autenticação/contato */
/* Logo Ajustada: reduzir para tamanho mais equilibrado */
.brand-logo {
  height: 96px; /* antes: 168px */
  max-height: 96px;
  width: auto;
  object-fit: contain;
}
@media (max-width: 576px) {
  .brand-logo { height: 84px; max-height: 84px; }
}

/* Ícones dentro dos inputs */
.icon, .icon-sm {
  display: inline-block;
  width: 18px; /* largura razoável */
  height: 18px;
  object-fit: contain;
}
.input-group-text img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: brightness(0.6) contrast(1.2);
}

/* Aparência dos inputs */
.input-group-text {
  background: #f8f9fa;
  border-right: 0;
}
.input-group .form-control {
  border-left: 0;
}
.input-group .form-control:focus {
  box-shadow: none;
  border-color: #86b7fe;
}

/* Botão de revelar senha colado ao input */
.toggle-pass {
  border-left: 0;
}

/* Botão primário mais destacado */
.btn-primary {
  background-color: #4a90e2;
  border-color: #4a90e2;
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: #357abd;
  border-color: #357abd;
}