* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: sans-serif;
}
body {
  min-height: 100vh;
  background-image: url();
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.container {
 border: 2px solid rgb(255, 255, 255);
 width: 90%;
 max-width: 450px;
 padding: 30px 40px;
 border-radius: 10px;
 color: #000000;
 backdrop-filter: blur(20px);
 box-shadow: 0 0 10px rgb(255, 255, 255);
}
.container h1 {
    text-align: center;
    margin-bottom: 35px;
}
form {
    display: flex;
    flex-direction: column;
    gap:30px;
}
form a {
    text-decoration: none;
    color: #000000;
}
.input-box {
    border: 2px solid rgba(0, 0, 0, 0.110);
    display: flex;
    align-items: center;
    height: 60px;
    border-radius: 40px;
    padding: 20px;
}
.input-box input {
    flex: 1;
    background-color: rgba(255, 255, 255, 0.2);
    border: 0;
    outline: 0;
    font-size: 16px;
    color: #000000;
    min-width: 0;
}
.input-box input::placeholder {
color: #9b9b9b;
}
.remembre-password {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 15px;
    font-size: 14.5px;

}
.remembre-password label {
    display: flex;
    align-items: center;
}
.remembre-password input {
    margin-right: 10px;
}
form a:hover {
    text-decoration: underline;

}
.btn {
     font-size: 16px;
    color: #ffff;
    border: 0;
    border-radius: 30px;
    padding: 10px;
    background-color: #51d945;
    box-shadow: 0 0 20px rgba(25, 254, 0, 0.4);
    cursor: pointer;
}
.register-link {
    text-align: center;
    font-size: 14.5px;
}
.register-link a {
    margin-left: 12px;
}
.password-box{
    position: relative;
}

.toggle-lock{
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 18px;
    color: #555;
}

.toggle-lock:hover{
    color: #000;
}

.logo {
    text-align: center;
    margin-bottom: -115px;
}

.logo img {
    width: 500px;   /* Ajusta el tamaño aquí */
    max-width: 100%;
}
.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7); /* Fondo semi-transparente */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999; /* Por encima de todo */
    backdrop-filter: blur(5px); /* Efecto de desenfoque */
}

.spinner {
    width: 60px;
    height: 60px;
    border: 6px solid rgb(255, 255, 255); /* Fondo tenue */
    border-top: 6px solid #1a3a6d; /* El azul oscuro de tu marca */
    border-radius: 50%;
    animation: spin 0.8s ease-in-out infinite; /* Animación más suave */
    margin: 0 auto 15px;
}

.loader-content {
    text-align: center;
    color: white; /* Esto pone en blanco el h2 y el p al mismo tiempo */
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Si quieres que el título sea un poco más brillante que el párrafo */
.loader-content h2 {
    color: #ffffff;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1.2rem;
}

.loader-content p {
    color: #e0e0e0; /* Un blanco ligeramente grisáceo para que no canse la vista */
    margin-top: 10px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}