/* =========================================================
   LOGIN - CSS COMPLETO (mantendo o fundo atual)
   ========================================================= */

/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Fundo (MANTIDO exatamente como você pediu) */
body {
  background: linear-gradient(135deg, rgba(65, 75, 183, 0.733) 0%, #f0f0f0 100%);
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

/* Card/Form */
.container {
  width: 100%;
  max-width: 500px;
  background: #fff;
  border-radius: 15px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
  padding: 20px 40px 25px;
}

/* Logo (opcional, melhora o visual sem mudar HTML) */
.container img {
  border-radius: 12px;
}

/* Título (se existir) */
.container h2 {
  font-weight: 800;
  letter-spacing: .2px;
  color: #0f172a;
}

/* Alertas (se você usa Bootstrap alerts) */
.container .alert {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .10);
  box-shadow: 0 10px 22px rgba(2, 6, 23, .10);
}

/* Inputs com label flutuante */
.input-group {
  position: relative;
}

.input-group input {
  width: 100%;
  padding: 15px;
  font-size: 16px;
  color: #333;
  border: 1px solid #bbb;
  border-radius: 8px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
  background: #fff;
}

.input-group input:focus {
  border-color: #2575fc;
  box-shadow: 0 0 0 2px rgba(37, 117, 252, 0.2);
}

.input-group label {
  position: absolute;
  top: 15px;
  left: 15px;
  font-size: 16px;
  color: #999;
  pointer-events: none;
  transition: all 0.2s ease;
}

/* Label flutuante */
.input-group input:focus + label,
.input-group input:not(:placeholder-shown) + label {
  top: -10px;
  left: 10px;
  font-size: 15px;
  color: #2575fc;
  background: white;
  padding: 0 8px;
}

/* Invalid feedback (Bootstrap) */
.invalid-feedback {
  margin-top: 6px;
}

/* Remover o olho nativo do Microsoft Edge */
input[type="password"]::-ms-reveal {
  display: none;
}

/* Remover o olho nativo de outros navegadores baseados em Webkit */
input[type="password"]::-webkit-contacts-auto-fill-button,
input[type="password"]::-webkit-credentials-auto-fill-button {
  visibility: hidden;
  display: none !important;
  pointer-events: none;
  position: absolute;
  right: -1000px;
}

input {
  border-radius: 8px !important;
}

/* Botão (se você usa Bootstrap .btn / .btn-primary) */
.btn {
  border-radius: 12px;
  font-weight: 600;
}

.btn-primary {
  box-shadow: 0 10px 22px rgba(2, 6, 23, .12);
}

.btn:active {
  transform: translateY(1px);
}

/* Link "Redefinir senha" (se estiver usando .footer-text) */
.footer-text a {
  font-weight: 600;
  color: #1d4ed8;
  text-decoration: none;
}

.footer-text a:hover {
  text-decoration: underline;
}

/* =========================================================
   CHECKBOX (suas regras)
   ========================================================= */

/* Mantém a cor do label mesmo quando o checkbox está desabilitado */
.form-check-input:disabled ~ .form-check-label {
  opacity: 1;
}

/* NÃO mudar a cor do texto quando o checkbox estiver marcado */
.form-check-input:checked ~ .form-check-label {
  color: inherit !important;
}

/* ...exceto quando B estiver "muted" por A estar desmarcado */
.form-check-input:checked ~ .form-check-label.muted {
  color: var(--bs-secondary-color) !important;
}

/* Classe para "texto desabilitado" visual do label de B quando A não está marcado */
.form-check-label.muted {
  color: var(--bs-secondary-color) !important;
}

/* =========================================================
   Responsivo
   ========================================================= */
@media (max-width: 576px) {
  .container {
    padding: 18px 18px 20px;
  }
}