@font-face {
    font-family: 'Nexa';
    src: url('fonts/Nexa-ExtraLight.ttf') format('truetype');
    font-weight: 200; /* Mapeo a ExtraLight */
    font-style: normal;
}

@font-face {
    font-family: 'Nexa';
    src: url('fonts/Nexa-Heavy.ttf') format('truetype');
    font-weight: 800; /* Mapeo a Heavy */
    font-style: normal;
}
:root{
--primary-bg-color: #f0f0f0; /* Fondo claro para la tarjeta */
--secondary-bg-color: #cccccc; /* Fondo del botón */
--input-bg-color: #4a5c6a; /* Fondo oscuro del campo de entrada */
--input-text-color:black; /* Texto blanco para los campos de entrada */
--VERDE-DH: #016d3c; /* Verde Institucional */
--WHITE: #ffffff; /* Color del texto del botón de inicio de sesión */
--observer-button-bg: #999999; /* Botón de observador verde */
--observer-button-text: #ffffff; /* Texto blanco para el botón de observador */
--dark-text-color: #333333; /* Texto oscuro para títulos/pie de página */
--container-bg-color: #e0e0e0; /* Color de fondo detrás de la tarjeta */
--card-border-radius: 20px;
--button-border-radius: 18px;
--button-border-radius2: 6px;
--input-border-radius: 6px;
}
body{
margin: 0;
padding: 0;
font-family: 'Nexa', sans-serif;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
/* --- INICIO: Cambios para la imagen de fondo --- */
background-color: #555555; /* Color de respaldo si la imagen no carga */
background-image: url('images/fondo_nuevo.png'); /* ¡IMPORTANTE: Reemplaza con la ruta a tu imagen! */
background-size: cover; /* Ajusta la imagen para cubrir todo el fondo */
background-position: center center; /* Centra la imagen horizontal y verticalmente */
background-repeat: no-repeat; /* Evita que la imagen se repita */
background-attachment: fixed; /* Mantiene la imagen fija al hacer scroll (opcional, pero común) */
/* --- FIN: Cambios para la imagen de fondo --- */
box-sizing: border-box;
}
.login-container{
background-color: transparent;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
box-sizing: border-box;
}
.login-container2{
background-color: transparent;
border: solid 3px white;
padding: 30px;
padding-right: 50px;
width: 90%; /* Start with a percentage for responsiveness */
max-width: 550px; /* Max width for desktop */
min-height:630px;
text-align: center;
box-sizing: border-box;
}
.logo{
text-align: center;
margin-top: 20px;

}
.logo img{
width: 400px;
height: 100px;
object-fit: contain;
/* background-color: #ab8a4b; */
/* If you have a transparent logo, you can set a background color like this */
}
.login-box{
padding: 30px 25px;
width: 100%;
box-sizing: border-box;
}
.txt_administradores{
color: white;
font-weight: 400;
}
.login-box h1{
color: var(--dark-text-color);
font-size: 2em;
margin-bottom: 25px;
letter-spacing: 1px;
}
.input-group{
display: flex;
align-items: center;
background-color: transparent;
border-radius: var(--input-border-radius);
margin-bottom: 15px;
padding: 10px 15px;
}
.input-group i{
color: var(--input-text-color);
margin-right: 10px;
font-size: 1.1em;
}
.input-group input{
border: solid 1px white;
flex-grow: 1;
background: transparent;
outline: none;
color: var(--input-text-color);
font-size: 1em;
padding: 8px;
border-radius: var(--input-border-radius);
}
.input-group input::placeholder{
color: rgba(0, 0, 0, 0.6);
}
.login-button{
width: 90%;
padding: 12px 20px;
border: 1px solid var(--WHITE);
border-radius: var(--button-border-radius2);
font-size: 1.6em;
cursor: pointer;
transition: background-color 0.3s ease;
font-weight: bold;
letter-spacing: 0.5px;
}
.login-button{
background-color: transparent;
color: black;
margin-top: 10px; /* Space between inputs and login button */
}
.login-button:hover{
background-color: white;
color: var(--VERDE-DH);
}
.font-light{
font-weight:200;
}
.observer-button{
background-color: var(--observer-button-bg);
color: var(--observer-button-text);
width:80%; max-width:300px;
padding: 12px 20px 25px 20px;
border: none;
border-radius: 0px 0px 25px 25px;
-webkit-border-radius: 0px 0px 25px 25px;
-moz-border-radius: 0px 0px 25px 25px;
font-size: 1em;
transition: background-color 0.3s ease;
font-weight: bold;
letter-spacing: 0.5px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.footer{
margin-top: 30px;
color: var(--dark-text-color);
font-size: 0.95em;
line-height: 1.4;
font-weight:bold;
}

















/* --- Media Query para Pantallas Amplias (Desktop) --- */
@media (min-width: 1024px){
body{
    justify-content: flex-start; /* Alinea el contenido hacia la izquierda */
    padding-left: 8%; /* Añade espacio desde el borde izquierdo (aproximadamente un tercio) */
}
.login-container{
    margin-left: 0; /* Elimina margen izquierdo para que esté más pegado al borde */
}
.footer{
    margin-top: 20px; /* Reduce el espacio para que quede más cerca del recuadro */
}
}

/* --- Responsiveness (Media Queries) --- */

/* For smaller screens, adjust padding and font sizes */
@media (max-width: 600px){
.login-container{
    width: 100%;
    padding: 0px;
}
.login-container2{
    width: 95%;
    padding: 10px;
}
.logo{
    margin-bottom: 20px;
}
.logo img{
    width: 80px;
    height: 80px;
}
.login-box{
    padding: 20px 15px;
}
.login-box h1{
    font-size: 1em;
    margin-bottom: 20px;
}
.input-group{
    padding: 8px 12px;
}
.input-group i{
    font-size: 1em;
}
.input-group input{
    font-size: 0.9em;
}
.login-button, .observer-button{
    padding: 10px 15px;
    font-size: 0.9em;
}
.footer{
    margin-top: 20px;
    font-size: 0.7em;
}
}
/* Further adjustments for very small screens (e.g., old mobile phones) */
@media (max-width: 380px){
.login-container{
    padding: 15px;
}
.login-box{
    padding: 15px 10px;
}
}