html, body {
    margin: 0;
    padding: 0;
    height: 100%; /* Asegura que el html y body siempre llenen la pantalla */
    overflow: hidden;
}
body {
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(135deg, #3976b9, #000000);
    /* Deja min-height como fallback */
    min-height: 100vh;
    position: relative; /* Para evitar scroll */
}
* {	
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
}
.empresa {
    width: 300px; /* Ancho deseado */
    height: 225px; /* Alto deseado */
}
.container{
    width: 100vw;
    height: 100vh;
    display: grid;
    grid-gap :7rem;
    padding: 0 2rem;
}
.login-content{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	position: relative;
    z-index: 2;
}
form {
	width: 25rem;
}
.login-content img{
    height: 50px;
}
/* tituloooooooooooooooo */
.login-content h2{
	margin: 15px 0;
	color: #3e8299;
	font-size: 2.9rem;
	font-weight: bold; /* pone el texto en negrita */
}
/* color fijo barra */
.login-content .input-div{
	position: relative;
    display: grid;
    grid-template-columns: 7% 93%;
    margin: 25px 0;
    padding: 5px 0 0 0;
    border-bottom: 2px solid #33547b;
}
.login-content .input-div.one{
	margin-top: 3rem;
}
/* iconos fijo */
.i{
	color: #bcdbff;
	display: flex;
	justify-content: center;
	align-items: center;
}
/* ojooooooooooooo */
.eye-icon-container {
    position: absolute;
    right: 10px;
    top: 5px;
    height: 40px;
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    color: #bcdbff;
	border-radius: 50%;
}
.eye-icon-container:hover {
	background-color: #2b537d;
}
.eye-icon-container i {
    font-size: 1.2rem; /* Ajustamos el tamaño del icono según sea necesario */
}
.i i{
	transition: .3s;
}
.input-div > div{
    position: relative;
	height: 45px;
	left: 5px;
}
/* username & password */
.input-div > div > h5{
	position: absolute;
	left: 10px;
	top: -5px;
	transform: translateY(-50%);
	color: #ffffff;
	font-size: .875rem;
	transition: .3s;
	cursor: default;
	font-weight: 500;
}
/* color barra al toque */
.input-div:before, .input-div:after{
	content: '';
	position: absolute;
	bottom: -2px;
	width: 0%;
	height: 2px;
	background-color: #43668f ;
	transition: .4s;
}
.input-div:before{
	right: 50%;
}
.input-div:after{
	left: 50%;
}
.input-div.focus:before, .input-div.focus:after{
	width: 50%;
}
/* iconos al click */
.input-div.focus > .i > i{
	color: #3e8299;
}
/* palito de escribir y letra de texto */
.input-div > div > input{
	position: absolute;
	left: 0;
	top: 0;
	width: 98%;
	height: 100%;
	border: none;
	outline: none;
	background: none;
	padding: 0.5rem 0.7rem;
	font-size: .875rem;
	color: #ffffff;
	font-weight: 400;
}
.input-div > div > input[name="password"]{
	width: 86%;
}
.input-div.pass{
	margin-bottom: 4px;
}
a{
	display: block;
	text-decoration: none;
	color: #d6e9ff;
	font-size: 0.9rem;
	transition: .3s;
	margin-block: 1rem;
}
a:hover{
	color: #edf4ff;
}
form#login-form a {
    justify-self: end;
}
/* botonnnnnnnnnnnnnnnnnnnnnnnnnnnn */
.btn-log, .btn-log:hover, .btn-log:hover:after, .btn-log:after, .btn-log:active, .btn-log:active::after {
	color:#ffffff !important;
	background-color: #2b577e !important;
}
.btn-log {
	min-width: -webkit-fill-available;
	font-weight: 600;
	transition: all 0.3s ease;
	position: relative;
	display: inline-block;
	border-radius: .375rem;
	border: none;
	font-size: .875rem;
	padding-block: .375rem;
    padding-inline: .75rem;
	user-select: none;
}
.btn-log:hover {
	padding-right: 24px;
	padding-left:8px;
}
.btn-log:hover:after {
	opacity: 1;
	right: 1.5rem;
}
.btn-log:after {
	font-family: "Font Awesome 5 Free";
	content: "\f2f6";
	position: absolute;
	opacity: 0;
	font-size: .875rem;
	line-height: 2rem;
	top: 0;
	right: -20px;
	transition: 0.4s;
}
.btn-log:not(:disabled):not(.disabled):active {
	background: #2a608f !important;
	color: #ffffff;
}
.btn-log.processing,.btn-log.processing:hover, .btn-log.processing:active {
    background-color: #ccc; /* Cambia el color para indicar que está deshabilitado */
    cursor: not-allowed; /* Cambia el cursor para indicar que está deshabilitado */
    padding-right: 10px; /* Ajusta el padding para que no se mueva */
    padding-left: 10px; /* Ajusta el padding para que no se mueva */
    transition: none; /* Elimina la transición para detener la animación */
	filter: opacity(0.7);
}

.btn-log.processing:after {
    opacity: 0; /* Elimina el ícono al procesar */
}

@media screen and (max-width: 1050px){
	.container{
		grid-gap: 5rem;
	}
}

@media screen and (max-width: 1000px){
	.login-content h2{
        font-size: 2.4rem;
        margin: 8px 0;
	}

	.img img{
		width: 250px;
	}
}

@media screen and (max-width: 900px){
	.container{
		grid-template-columns: 1fr;
	}

	.img{
		display: none;
	}

	.wave{
		display: none;
	}

	.login-content{
		justify-content: center;
	}
}
/* Estilos para pantallas pequeñas */
@media screen and (max-width: 600px) {
    .error-message {
        width: 80%; /* Reducir el ancho del mensaje para pantallas más pequeñas */
    }
	.container {
		padding: 0;
	}
	#login-form{
		width: 100%;
	}
}
@media screen and (max-width: 575px) {
	.btn-log {
		min-width: calc(100% - 2.3rem);
	}
	a {
		margin-inline: 1.15rem;
	}
}
/* Estilos para el mensaje de error */
.error-message {
	margin-top: 15px;
    font-size: 14px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%; /* Ajusta el ancho del mensaje según sea necesario */
    z-index: 1;
    text-align: center; /* Centra el texto horizontalmente */
    text-shadow: none; /* Elimina la sombra del texto si es necesario */
}
/* Estilos para animación de desvanecimiento */
@keyframes fadeOut {
    0% { opacity: 1; }
    100% { opacity: 0; }
}
/* Estilos para el mensaje de éxito */
.success-message {
    margin-top: 15px;
    font-size: 14px;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%; /* Ajusta el ancho del mensaje según sea necesario */
    z-index: 100;
    text-align: center; /* Centra el texto horizontalmente */
    text-shadow: none; /* Elimina la sombra del texto si es necesario */
}
/* Estilos para eliminar el fondo feo de autocompletado */
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus {
    -webkit-text-fill-color: #e0e0e0 !important;
    -webkit-box-shadow: 0 0 0px 1000px transparent inset;
    transition: background-color 5000s ease-in-out 0s;
}
input:-webkit-autofill-selected,
input:-webkit-autofill-selected:hover,
input:-webkit-autofill-selected:focus {
    -webkit-text-fill-color: #e0e0e0 !important;
}
input[type="password"]::-ms-reveal {
	display: none;
}
#circles-background {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
	overflow: hidden;
}
.circle {
	position: absolute;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.1); /* Círculos opacos */
	opacity: 0.6; /* Transparencia suave */
	filter: blur(50px); /* Desenfoque */
	animation: moveCircle 20s infinite ease-in-out;
}
.circle:nth-child(1) {
	width: 200px;
	height: 200px;
	top: 10%;
	left: 20%;
}
.circle:nth-child(2) {
	width: 300px;
	height: 300px;
	top: 40%;
	left: 60%;
}
.circle:nth-child(3) {
	width: 250px;
	height: 250px;
	top: 60%;
	left: 30%;
}
.circle:nth-child(4) {
	width: 350px;
	height: 350px;
	top: 20%;
	left: 70%;
}
.circle:nth-child(5) {
	width: 150px;
	height: 150px;
	top: 80%;
	left: 40%;
}
@keyframes moveCircle {
	0% {
		transform: translate(0, 0) scale(1);
	}
	50% {
		transform: translate(50px, -50px) scale(1.2); /* Cambio de tamaño y movimiento */
	}
	100% {
		transform: translate(0, 0) scale(1);
	}
}