/* ========================================= */
/* RESET */
/* ========================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html,
body{
    width:100%;
    height:100%;
    overflow:hidden;
    font-family:'Poppins',sans-serif;
    background:#f4f6f9;
}

/* ========================================= */
/* CONTENEDOR PRINCIPAL */
/* ========================================= */

.login-container{
    display:flex;
    height:100dvh;
    width:100%;
}

/* ========================================= */
/* PANEL IZQUIERDO */
/* ========================================= */

.left-panel{

    flex:1;

    background-image:
    linear-gradient(
        rgba(7,20,43,.88),
        rgba(7,20,43,.92)
    ),
    url('../img/granja-avicola.png');

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    position:relative;
}

/* ========================================= */
/* OVERLAY */
/* ========================================= */

.overlay{

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    padding:40px;

    color:white;

    text-align:center;
}

/* ========================================= */
/* LOGO */
/* ========================================= */

.logo{
    width:80px;
    height:80px;

    border:3px solid white;
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0 auto 20px auto; /* <-- importante */
}

.logo i{
    font-size:35px;
}

/* ========================================= */
/* TEXTO IZQUIERDO */
/* ========================================= */

.brand h1{

    font-size:clamp(28px,2.5vw,42px);

    font-weight:700;

    margin-bottom:10px;
}

.brand h2{

    font-size:clamp(16px,1.2vw,22px);

    font-weight:600;

    color:#3b82f6;
}

/* Línea azul */

.line{

    width:80px;
    height:4px;

    background:#3b82f6;

    border-radius:10px;

    margin:20px auto;
}

/* ocultamos texto largo */

/* ========================================= */
/* EMPRESA */
/* ========================================= */

.empresa{

    position:absolute;

    bottom:30px;

    left:40px;

    display:flex;

    align-items:center;

    gap:10px;

    font-size:18px;

    opacity:.9;
}

/* ========================================= */
/* PANEL DERECHO */
/* ========================================= */

.right-panel{

    flex:1;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:30px;

    background:#f8fafc;
}

/* ========================================= */
/* LOGIN CARD */
/* ========================================= */

.login-card{

    width:100%;
    max-width:460px;

    background:#fff;

    border-radius:24px;

    padding:30px;

    box-shadow:
    0 10px 40px rgba(0,0,0,.08);
}

/* ========================================= */
/* TITULOS */
/* ========================================= */

.login-card h2{

    text-align:center;

    font-size:36px;

    color:#0f172a;

    margin-bottom:8px;
}

.login-card p{

    text-align:center;

    color:#64748b;

    margin-bottom:25px;

    font-size:15px;
}

/* ========================================= */
/* LABELS */
/* ========================================= */

.login-card label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

    color:#1e293b;
}

/* ========================================= */
/* INPUTS */
/* ========================================= */

.input-group{

    display:flex;

    align-items:center;

    border:1px solid #dbe2ea;

    border-radius:12px;

    height:55px;

    padding:0 18px;

    margin-bottom:15px;

    transition:.3s;
}

.input-group:focus-within{

    border-color:#2563eb;

    box-shadow:
    0 0 0 4px rgba(37,99,235,.1);
}

.input-group i{

    color:#64748b;

    font-size:18px;
}

.input-group input{

    flex:1;

    border:none;

    outline:none;

    background:none;

    padding:0 12px;

    font-size:15px;

    font-family:'Poppins',sans-serif;
}

/* ========================================= */
/* RECORDAR */
/* ========================================= */

.remember{

    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:20px;

    color:#475569;

    font-size:14px;
}

/* ========================================= */
/* BOTON */
/* ========================================= */

button{

    width:100%;

    height:55px;

    border:none;

    border-radius:12px;

    background:#2563eb;

    color:white;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;
}

button:hover{

    background:#1d4ed8;
}

button i{
    margin-right:10px;
}

/* ========================================= */
/* SEGURIDAD */
/* ========================================= */

.secure{

    text-align:center;

    margin-top:18px;

    color:#64748b;

    font-size:14px;
}

.secure i{
    display:none;
}

/* ========================================= */
/* FOOTER */
/* ========================================= */

.footer{

    margin-top:20px;

    text-align:center;

    color:#94a3b8;

    font-size:12px;
}

.version{

    display:inline-block;

    margin-top:8px;

    padding:5px 12px;

    background:#e0ecff;

    color:#2563eb;

    border-radius:20px;

    font-size:11px;

    font-weight:600;
}

/* ========================================= */
/* TABLET */
/* ========================================= */

@media(max-width:1024px){

    .brand h1{
        font-size:34px;
    }

    .empresa{
        font-size:16px;
    }

    .login-card{
        max-width:420px;
    }
}

/* ========================================= */
/* MOVIL */
/* ========================================= */

@media(max-width:768px){

    html,
    body{
        overflow:auto;
    }

    .login-container{
        flex-direction:column;
        height:auto;
    }

    .left-panel{
        min-height:260px;
    }

    .overlay{
        padding:30px 20px;
    }

    .brand h1{
        font-size:30px;
    }

    .brand h2{
        font-size:16px;
    }

    .empresa{
        display:none;
    }

    .right-panel{
        padding:20px;
    }

    .login-card{
        max-width:100%;
        padding:25px;
    }

    .login-card h2{
        font-size:30px;
    }
}

/* ========================================= */
/* CELULARES PEQUEÑOS */
/* ========================================= */

@media(max-width:480px){

    .left-panel{
        min-height:220px;
    }

    .logo{
        width:70px;
        height:70px;
    }

    .logo i{
        font-size:30px;
    }

    .brand h1{
        font-size:26px;
    }

    .login-card{
        padding:20px;
    }

    .login-card h2{
        font-size:26px;
    }
}