@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400;700&family=Roboto:wght@400;500;700&display=swap');

/* NOTA: No redefinimos body/html aquí para no chocar con styles.css, 
   usamos clases específicas para el contexto de login */

/* --- Contenedor Principal (Fondo) --- */
.login-container {
  height: 100vh;
  width: 100%;       /* CAMBIO: De '100vw' a '100%' para eliminar scroll horizontal */
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #f0f2f5;
  background-image: radial-gradient(#dee2e6 1px, transparent 1px);
  background-size: 20px 20px;
  position: fixed;   /* CAMBIO: De 'absolute' a 'fixed' para anclarlo a la ventana */
  top: 0;
  left: 0;
  z-index: 2000;
  overflow: hidden;  /* NUEVO: Fuerza a ocultar cualquier barra de desplazamiento */
}

/* --- Tarjeta de Login --- */
.login-card {
  width: 100%;
  max-width: 310px;
  
  /* 1. Definimos una altura mínima para que se vea más alta */
  min-height: 370px; /* Puedes ajustar este valor (ej: 450px, 550px) */
  
  /* 2. Usamos Flexbox para ordenar el contenido verticalmente */
  display: flex;
  flex-direction: column;
  justify-content: center; /* Esto centra todo el contenido verticalmente */
  
  padding: 2rem 3.5rem 1.5rem 3.5rem;
  border: none !important;
  box-shadow: 0 10px 25px rgba(0,0,0,0.05);
  border-top: 5px solid #016d38 !important; 
  background-color: #ffffff;
  border-radius: 6px !important;
}

/* --- Elementos Internos --- */
.login-logo {
  height: 45px;
  margin-bottom: 3.2rem;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.login-title {
  text-align: center;
  color: #016d38;
  font-weight: bold;
  font-size: 1.5rem;
  margin-bottom: 2rem;
  font-family: "Roboto Condensed", Roboto, sans-serif !important;
}

.login-subtitle {
  text-align: center;
  color: #6c757d;
  font-size: 1rem;
  margin-bottom: 2rem;
  font-family: "Roboto Condensed", Roboto, sans-serif !important;
}

.login-subtitle-a {
  text-align: center;
  color: #6c757d;
  font-size: 1rem;
  margin-bottom: 1px;
  font-family: "Roboto Condensed", Roboto, sans-serif !important;
}

/* Estilos para el input de OTP */
.otp-input-style {
  font-size: 18px !important;
  font-weight: bold !important;
  text-align: center !important;
  letter-spacing: 11px !important;
  /* Separa los números */
  color: #016d38 !important;
  border: 2px solid #dee2e6;
  background-color: #f8fcf9;
  padding-left: 15px;
  /* Compensación visual por el letter-spacing */
  border-radius: 8px !important;
  height: 40px;
  transition: all 0.3s ease;
}

.otp-input-style:focus {
  border-color: #016d38 !important;
  box-shadow: 0 0 0 0.2rem rgba(1, 109, 56, 0.15) !important;
  outline: none;
  background-color: #ffffff;
}

.fade-in-element {
  animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}