/* ===========================
   GOOGLE FONT
=========================== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

/* ===========================
   RESET
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{

    min-height:100vh;

    display:flex;
    justify-content:center;
    align-items:center;

    overflow:hidden;

    background:linear-gradient(
        135deg,
        #0A2342 0%,
        #061329 55%,
        #030C1B 100%
    );

    position:relative;

}

/* ===========================
   BACKGROUND BLUR
=========================== */

body::before{

    content:"";

    position:absolute;

    width:700px;
    height:700px;

    background:#2563eb;

    filter:blur(170px);

    opacity:.18;

    border-radius:50%;

    top:-250px;
    right:-180px;

}

body::after{

    content:"";

    position:absolute;

    width:550px;
    height:550px;

    background:#3b82f6;

    filter:blur(170px);

    opacity:.12;

    border-radius:50%;

    left:-180px;
    bottom:-180px;

}

/* ===========================
   CONTAINER
=========================== */

.login-container{

    width:100%;

    display:flex;
    justify-content:center;
    align-items:center;

    position:relative;
    z-index:2;

    padding:30px;

}

/* ===========================
   LOGIN CARD
=========================== */

.login-card{

    width:420px;

    padding:45px 40px;

    border-radius:28px;

    background:rgba(255,255,255,.07);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.15);

    box-shadow:

        0 20px 45px rgba(0,0,0,.35),

        inset 0 1px 0 rgba(255,255,255,.15);

    animation:fadeUp .8s ease;

}

/* ===========================
   LOGO
=========================== */

.logo{

    text-align:center;

    margin-bottom:28px;

}

.logo img{

    width:90px;

    margin-bottom:18px;

    filter:drop-shadow(0 10px 18px rgba(0,0,0,.35));

}

.logo h2{

    color:#fff;

    font-size:30px;

    font-weight:700;

    letter-spacing:1px;

}

.logo p{

    color:#cbd5e1;

    margin-top:6px;

    font-size:14px;

}

/* ===========================
   TITLE
=========================== */

.login-title{

    text-align:center;

    margin-bottom:30px;

}

.login-title h3{

    color:#ffffff;

    font-size:21px;

    letter-spacing:3px;

    font-weight:600;

}

.title-line{

    width:90px;

    height:3px;

    margin:12px auto 0;

    background:#D4AF37;

    border-radius:20px;

}

/* ===========================
   FORM
=========================== */

.login-form{

    margin-top:35px;

}

.input-group{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:22px;

}

.icon{

    width:55px;

    height:55px;

    background:#ffffff;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#0A7C86;

    font-size:20px;

    flex-shrink:0;

    box-shadow:0 8px 20px rgba(0,0,0,.25);

}

.input-group input{

    flex:1;

    height:55px;

    border:none;

    outline:none;

    border-radius:50px;

    background:#ffffff;

    padding:0 22px;

    font-size:15px;

    color:#0A2342;

    box-shadow:0 8px 20px rgba(0,0,0,.25);

    transition:.3s;

}

.input-group input::placeholder{

    color:#0A7C86;

}

.input-group input:focus{

    transform:translateY(-2px);

    box-shadow:0 10px 28px rgba(37,99,235,.35);

}

/* ===========================
   BUTTON
=========================== */

.login-btn{

    display:flex;

    align-items:center;

    gap:15px;

    margin-top:8px;

}

.login-btn .icon{

    cursor:pointer;

    transition:.3s;

}

.login-btn button{

    flex:1;

    height:55px;

    border:none;

    border-radius:50px;

    background:#ffffff;

    color:#0A7C86;

    font-size:16px;

    font-weight:700;

    letter-spacing:1px;

    cursor:pointer;

    transition:.35s;

    box-shadow:0 8px 20px rgba(0,0,0,.25);

}

.login-btn button:hover{

    background:#2563eb;

    color:#ffffff;

    transform:translateY(-3px);

}

.login-btn .icon:hover{

    background:#2563eb;

    color:#ffffff;

}

/* ===========================
   FORGOT PASSWORD
=========================== */

.forgot{

    margin-top:25px;

    text-align:center;

}

.forgot a{

    color:#D4AF37;

    text-decoration:none;

    font-size:14px;

    transition:.3s;

    font-weight:500;

}

.forgot a:hover{

    color:#ffffff;

    text-decoration:underline;

}

/* ===========================
   FOOTER
=========================== */

.login-footer{

    margin-top:35px;

    text-align:center;

}

.login-footer p{

    color:#ffffff;

    font-size:13px;

    font-weight:500;

}

.login-footer span{

    display:block;

    margin-top:4px;

    color:#bfc7d5;

    font-size:12px;

}

/* ===========================
   BUTTON FIX
=========================== */

.login-btn{

    display:flex;

    align-items:center;

}

.login-btn button{

    display:flex;

    justify-content:center;

    align-items:center;

}

/* ===========================
   ANIMATION
=========================== */

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/* ===========================
   RESPONSIVE
=========================== */

@media(max-width:768px){

    .login-card{

        width:95%;

        padding:35px 25px;

    }

    .icon{

        width:50px;

        height:50px;

    }

    .input-group input{

        height:50px;

    }

    .login-btn button{

        height:50px;

    }

}

@media(max-width:480px){

    .login-title h2{

    color:#ffffff;

    font-size:28px;

    letter-spacing:3px;

    font-weight:700;

}