/* ==========================================================================
   Login del sistema - panel dividido con imagen de empresa + tarjeta de acceso
   Reutiliza la paleta definida en landing.css (azul marino + dorado)
   ========================================================================== */

html, body.pagina-login {
  height: 100%;
}

body.pagina-login {
  margin: 0;
  display: flex;
  background-color: var(--color-fondo-alterno);
}

.login-envoltorio {
  display: flex;
  min-height: 100vh;
  width: 100%;
}

.login-panel-imagen {
  flex: 1 1 55%;
  position: relative;
  background-color: var(--color-primario-oscuro);
  background-size: cover;
  background-position: center;
  display: none;
}

.login-panel-imagen-superposicion {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 32, 59, 0.85) 0%, rgba(8, 32, 59, 0.55) 45%, rgba(8, 32, 59, 0.9) 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2.5rem;
  color: #fff;
}

.login-marca {
  color: #fff;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.login-panel-imagen-texto h1 {
  font-size: 2.25rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.login-panel-imagen-texto p {
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.85);
  max-width: 30rem;
}

.login-volver-inicio {
  color: var(--color-acento);
  font-weight: 600;
}

.login-volver-inicio:hover,
.login-volver-inicio:focus {
  color: #fff;
}

.login-panel-formulario {
  flex: 1 1 45%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1.25rem;
}

.login-tarjeta {
  width: 100%;
  max-width: 26rem;
  background-color: var(--color-fondo);
  border-radius: 1rem;
  box-shadow: var(--sombra-suave);
  padding: 2.5rem 2rem;
}

.login-encabezado {
  text-align: center;
  margin-bottom: 1.75rem;
}

.login-icono {
  font-size: 2rem;
  color: var(--color-acento);
  margin-bottom: 0.5rem;
}

.login-encabezado h2 {
  color: var(--color-primario);
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.login-encabezado p {
  color: var(--color-texto-claro);
  margin-bottom: 0;
}

.login-input-group .input-group-text {
  background-color: var(--color-fondo-alterno);
  border-color: var(--color-borde);
  color: var(--color-primario);
}

.login-input-group .form-control {
  border-color: var(--color-borde);
}

.login-input-group .form-control:focus {
  border-color: var(--color-primario-claro);
  box-shadow: 0 0 0 0.2rem rgba(27, 74, 122, 0.15);
}

.login-input-group .btn-outline-secondary {
  border-color: var(--color-borde);
  color: var(--color-texto-claro);
}

.login-boton-ingresar {
  background-color: var(--color-primario);
  border-color: var(--color-primario);
  color: #fff;
  font-weight: 600;
  padding: 0.65rem 1.75rem;
  border-radius: var(--radio-borde);
  transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}

.login-boton-ingresar:hover,
.login-boton-ingresar:focus {
  background-color: var(--color-primario-claro);
  border-color: var(--color-primario-claro);
  color: #fff;
}

.login-nota-pie {
  text-align: center;
  color: var(--color-texto-claro);
  font-size: 0.875rem;
  margin: 1.5rem 0 0;
}

@media (min-width: 992px) {
  .login-panel-imagen {
    display: block;
  }
}
