/* ===== Fondo suave tipo banco ===== */
body.bg-light {
  min-height: 100vh;
  background:
    radial-gradient(1000px 500px at 15% 25%, rgba(120,210,255,.25), transparent 60%),
    radial-gradient(900px 450px at 85% 35%, rgba(140,240,200,.20), transparent 55%),
    linear-gradient(180deg, #f6fbff 0%, #eef6fb 45%, #f7fbff 100%);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* ===== Card principal ===== */
.card {
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,.6);
  box-shadow: 0 20px 45px rgba(15,35,55,.15);
}

/* ===== Logo ===== */
.card-body img {
  filter: drop-shadow(0 6px 15px rgba(0,0,0,.12));
}

/* ===== Títulos ===== */
h4 {
  font-weight: 800;
  letter-spacing: .3px;
  color: #0f2436;
}

h5 {
  font-weight: 700;
  color: #0f2436;
}

/* ===== Input group ===== */
.input-group {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 22px rgba(15,35,55,.06);
}

/* Icono */
.input-group-text {
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(20,40,55,.15);
  border-right: none;
  color: rgba(40,70,90,.55);
}

/* Input */
.form-control {
  height: 52px;
  border-radius: 0 14px 14px 0;
  border: 1px solid rgba(20,40,55,.15);
  background: rgba(255,255,255,.9);
}

.form-control:focus {
  border-color: rgba(46,107,255,.55);
  box-shadow: 0 0 0 .25rem rgba(46,107,255,.18);
  background: #fff;
}

/* ===== Botón ===== */
.btn-outline-secondary {
  height: 52px;
  border-radius: 14px;
  font-weight: 700;
  letter-spacing: .3px;
  border: none;
  color: #fff;
  background: linear-gradient(90deg, #2e6bff 0%, #17c4a7 100%);
  box-shadow: 0 16px 28px rgba(46,107,255,.22);
}

.btn-outline-secondary:hover {
  filter: brightness(1.05);
}

/* ===== Links ===== */
a {
  color: #2e6bff;
  font-weight: 600;
}

a:hover {
  text-decoration: underline;
}

/* ===== Errores ===== */
.invalid-feedback {
  font-weight: 600;
}
