/* ====== Base del fondo ====== */
.login-body {
  min-height: 100vh;
  margin: 0;
  /* Degradado en línea con los colores de marca */
  background: radial-gradient(1200px 600px at 20% 0%, rgba(15, 54, 110, 0.25), transparent 60%),
              linear-gradient(145deg, #153a6b 0%, #0f366e 35%, #e09a22 36%, #e09a22 40%, #0f366e 41%, #0f366e 100%);
  background-color: #0f366e; /* fallback */
  display: grid;
  place-items: center;
  padding: 32px 16px;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

/* Wrapper para separar la card del footer logo */
.login-wrapper {
  width: 100%;
  max-width: 460px;
  display: grid;
  gap: 28px;
}

/* ====== Card ====== */
.login-card {
  background: #ffffff;
  border-radius: 18px;
  padding: 28px 26px 26px;
  position: relative;
  overflow: hidden;
}

/* Borde decorativo superior fino en dorado */
.login-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 18px;
  padding: 1px;
  background: linear-gradient(135deg, rgba(224,154,34,.85), rgba(41,73,124,.85));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}

/* ====== Logo Photopro (dentro de card) ====== */
.login-logo {
  display: grid;
  place-items: center;
  margin-bottom: 8px;
}
.login-logo img {
  max-width: 220px;
  width: 75%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}

/* ====== Textos ====== */
.login-title {
  font-size: 1.35rem;
  font-weight: 700;
  color: #153a6b;
  text-align: center;
  margin: 6px 0 2px;
}
.login-subtitle {
  color: #5c6b83;
  text-align: center;
  margin-bottom: 18px;
}

/* ====== Inputs y botón ====== */
.form-label {
  font-weight: 600;
  color: #214a86;
}
.form-control {
  border-radius: 10px;
  border: 1px solid #e3e7ef;
  padding: 10px 12px;
}
.form-control:focus {
  border-color: #e09a22;
  box-shadow: 0 0 0 0.2rem rgba(224,154,34,0.2);
}

.btn-login {
  background: linear-gradient(135deg, #e09a22, #ffb53d);
  color: #0f2f5d;
  font-weight: 800;
  border: none;
  border-radius: 12px;
  padding: 12px 16px;
  letter-spacing: .2px;
  transition: transform .08s ease, filter .2s ease;
}
.btn-login:hover {
  filter: brightness(1.02) saturate(1.03);
}
.btn-login:active {
  transform: translateY(1px);
}

/* Links */
.login-link {
  color: #214a86;
  text-decoration: none;
}
.login-link:hover {
  text-decoration: underline;
}

/* ====== Logo IGD (debajo de la card) ====== */
.brand-footer {
  display: grid;
  place-items: center;
}
.brand-footer img {
  max-width: 180px;
  width: 60%;
  height: auto;
  opacity: .95;
}

/* ====== Responsive ====== */
@media (max-width: 420px) {
  .login-card { padding: 22px 18px 20px; }
  .login-title { font-size: 1.2rem; }
  .login-logo img { width: 82%; max-width: 200px; }
  .brand-footer img { width: 70%; max-width: 160px; }
}
