/* =========================================
   LOGIN PREMIUM
========================================= */

body.login-body{
    display:flex;
    justify-content:center;
    align-items:center;
}

/* CARD */

.card-custom{

    background:rgba(255,255,255,0.96);

    border-radius:30px;

    box-shadow:
        0 20px 40px
        rgba(0,0,0,0.18);

    overflow:hidden;

    width:100%;

    position:relative;

    backdrop-filter:blur(10px);
}

/* BORDE SUPERIOR */

.card-custom::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:5px;

    background:
        linear-gradient(
            90deg,
            #22c55e,
            #2563eb
        );
}

/* HEADER */

.card-header-custom{

    text-align:center;

    padding:
        2rem
        1.5rem
        1rem;
}

/* LOGO */

.card-header-custom img{

    width: 250px;

    height:auto;

    object-fit:contain;

    margin-bottom:15px;
}

/* TITULO */

.card-header-custom h3{

    color:#004085;

    font-weight:800;

    margin-bottom:8px;
}

/* TEXTO */

.card-header-custom p{

    color:#2563eb;

    font-size:14px;
}

/* BODY */

.card-body-custom{

    padding:2rem;
}

/* PASSWORD */

.input-password{

    position:relative;
}

.input-password input{

    padding-right:45px;
}

/* OJO */

.toggle-password{

    position:absolute;

    right:15px;

    top:50%;

    transform:translateY(-50%);

    cursor:pointer;

    color:#6c757d;

    font-size:16px;

    transition:0.2s;
}

.toggle-password:hover{

    color:#198754;
}

/* RESPONSIVE */

@media (max-width:768px){

    .card-custom{

        border-radius:22px;
    }

    .card-header-custom{

        padding:
            1.5rem
            1rem
            .8rem;
    }

    .card-header-custom h3{

        font-size:22px;
    }

    .card-body-custom{

        padding:1.5rem;
    }

}

@media (max-width:576px){

    .card-custom{

        border-radius:18px;
    }

    .card-header-custom img{

        width:200px;
    }

    .card-body-custom{

        padding:1.2rem;
    }

}