*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family: Arial, sans-serif;
}

body {
    margin: 0;
    background-color: #f3f3f3;
    font-family: Arial, sans-serif;
}

/* Contenedor principal */
.main-login{
    display:flex;
    justify-content:center;
    align-items:center;
    padding:60px 20px;
}

.main-header {
   width: 100%;
       background: #243B63;
       min-height: 95px;
       display: flex;
       align-items: center;
       padding-left: 50px;
       box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.header-container {
    display: flex;
    align-items: center;
    width: 100%;
}

.header-logo {
    height: 90px; /* ajusta según el tamaño deseado */
    width: auto;
    object-fit: contain;
}

/* Card */
.login-container{
    width:100%;
    max-width:420px;
    background:white;
    border:1px solid #d9e2ec;
    border-radius:18px;
    padding:45px;
    box-shadow:
        0 15px 35px rgba(0,0,0,.12);
}

/* Título */
.login-container h1{
    text-align:center;
    color:#223b5f;
    margin-bottom:35px;
    font-size:2rem;
}

/* Formulario */
.login-form{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.form-group{
    display:flex;
    flex-direction:column;
}

.form-group label{
    font-size:14px;
    font-weight:600;
    margin-bottom:8px;
    color:#222;
}

.form-group input{
    padding:14px;
    border:2px solid #1d8ad8;
    border-radius:10px;
    outline:none;
    transition:.3s;
    font-size:14px;
}

.form-group input:focus{
    border-color:#0a67b3;
    box-shadow:0 0 6px rgba(0,132,255,.25);
}

/* Recuperar contraseña */
.forgot-password{
    font-size:14px;
    color:#000;
    text-decoration:underline;
    margin-top:-5px;
}

.forgot-password:hover{
    color:#0a67b3;
}

/* Botón */
button{
    margin-top:15px;
    border:none;
    border-radius:10px;
    padding:15px;
    font-size:18px;
    font-weight:600;
    color:white;
    cursor:pointer;

    background:linear-gradient(
            90deg,
            #223b5f,
            #0f8fd3
    );

    transition:.3s;
}

button:hover{
    transform:translateY(-2px);
    box-shadow:0 5px 15px rgba(0,0,0,.2);
}

/* Mensajes */
.error-message{
    background:#ffe5e5;
    color:#b10000;
    padding:12px;
    border-radius:8px;
    margin-bottom:20px;
}

.success-message{
    background:#e4ffe8;
    color:#1c7c26;
    padding:12px;
    border-radius:8px;
    margin-bottom:20px;
}