/* ==========================================================
   LOGIN PAGE
========================================================== */

.login-page{

    width:100%;

    min-height:100vh;

    display:flex;

    overflow:hidden;

}

/* ==========================================================
   LEFT PANEL
========================================================== */

.login-left{

    position:relative;

    flex:1;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:80px;

    background:url("../images/desktop-bg.jpeg")
               center center / cover no-repeat;

    animation:bgZoom 18s ease-in-out infinite alternate;

}

.left-overlay{

    display:none;

}

.left-content{

    position:relative;

    z-index:5;

    max-width:650px;

    color:#FFFFFF;

}

.logo{

    width:320px;

    margin-bottom:28px;

}

.system-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 24px;

    border-radius:999px;

    background:rgba(255,255,255,.16);

    backdrop-filter:blur(18px);

    margin-bottom:30px;

    font-size:14px;

    font-weight:600;

}

.left-content h1{

    font-size:64px;

    line-height:1.15;

    font-weight:800;

    margin-bottom:18px;

}

.left-content p{

    font-size:20px;

    line-height:1.8;

    opacity:.92;

}

/* ==========================================================
   RIGHT PANEL
========================================================== */

.login-right{

    width:520px;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:40px;

    background:transparent;

}

/* ==========================================================
   LOGIN CARD
========================================================== */

.login-card{

    position:relative;

    overflow:hidden;

    width:100%;

    max-width:460px;

    padding:46px;

    border-radius:30px;

    background:rgba(255,255,255,.18);

    backdrop-filter:blur(25px);

    border:1px solid rgba(255,255,255,.25);

    box-shadow:var(--shadow-lg);

    animation:

        fadeIn .8s ease,

        floating 6s ease-in-out infinite;

}

.login-card::before{

    content:"";

    position:absolute;

    top:-40%;

    left:-80%;

    width:180px;

    height:220%;

    background:rgba(255,255,255,.12);

    transform:rotate(25deg);

    transition:1s;

}

.login-card:hover::before{

    left:130%;

}

/* ==========================================================
   HEADER
========================================================== */

.login-header{

    margin-bottom:35px;

}

.login-header h2{

    color:var(--primary);

    font-size:36px;

    font-weight:700;

    margin-bottom:8px;

}

.login-header p{

    color:var(--text-light);

    font-size:15px;

    line-height:1.6;

}

/* ==========================================================
   FORM
========================================================== */

.input-group{

    margin-bottom:22px;

}

.input-group label{

    display:block;

    margin-bottom:10px;

    color:var(--text-dark);

    font-size:14px;

    font-weight:600;

}

.input-icon{

    position:relative;

}

.input-icon i{

    position:absolute;

    left:18px;

    top:50%;

    transform:translateY(-50%);

    color:#94A3B8;

}

.input-icon input{

    width:100%;

    height:58px;

    padding:0 18px 0 50px;

    border-radius:16px;

    border:1px solid var(--border);

    background:#FFFFFF;

    transition:var(--transition);

}

.input-icon input:hover{

    border-color:var(--accent);

}

.input-icon input:focus{

    border-color:var(--primary-light);

    box-shadow:0 0 0 5px rgba(30,136,229,.15);

}

/* ==========================================================
   PASSWORD
========================================================== */

.password-box{

    position:relative;

}

.password-box input{

    width:100%;

    height:58px;

    padding:0 60px 0 50px;

    border-radius:16px;

    border:1px solid var(--border);

    background:#FFFFFF;

    transition:var(--transition);

}

.password-box input:hover{

    border-color:var(--accent);

}

.password-box input:focus{

    border-color:var(--primary-light);

    box-shadow:0 0 0 5px rgba(30,136,229,.15);

}

.input-lock{

    position:absolute;

    left:18px;

    top:50%;

    transform:translateY(-50%);

    color:#94A3B8;

}

.toggle-password{

    position:absolute;

    right:18px;

    top:50%;

    transform:translateY(-50%);

    color:#94A3B8;

    transition:var(--transition);

}

.toggle-password:hover{

    color:var(--primary);

}

/* ==========================================================
   OPTIONS
========================================================== */

.login-options{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin:26px 0 34px;

    font-size:14px;

}

.remember-me{

    display:flex;

    align-items:center;

    gap:10px;

    cursor:pointer;

}

.forgot-password{

    color:var(--primary);

    font-weight:600;

}

.forgot-password:hover{

    color:var(--primary-light);

}

/* ==========================================================
   BUTTON
========================================================== */

.login-btn{

    width:100%;

    height:58px;

    border-radius:16px;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    color:#FFFFFF;

    font-size:16px;

    font-weight:600;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-light)
    );

    transition:var(--transition);

}

.login-btn:hover{

    transform:translateY(-3px);

    box-shadow:0 20px 45px rgba(10,61,145,.30);

}

/* ==========================================================
   FOOTER
========================================================== */

.login-footer{

    margin-top:28px;

    text-align:center;

    color:var(--text-light);

    font-size:13px;

}

/* ==========================================================
   ANIMATIONS
========================================================== */

@keyframes fadeIn{

    from{

        opacity:0;

        transform:translateY(35px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

@keyframes floating{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-8px);

    }

    100%{

        transform:translateY(0);

    }

}

@keyframes bgZoom{

    from{

        background-size:100%;

    }

    to{

        background-size:110%;

    }

}

/* ==========================================================
   TABLET
========================================================== */

@media(max-width:992px){

    .login-right{

        width:460px;

        padding:30px;

    }

    .left-content h1{

        font-size:48px;

    }

    .left-content p{

        font-size:18px;

    }

    .logo{

        width:250px;

    }

}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width:768px){

    .mobile-logo{
        display:block;
    }

}

@media(max-width:768px){

    body{

        overflow:auto;

    }

    .login-left{

        display:none;

    }

    .login-page{

        justify-content:center;

        align-items:center;

        background:url("../images/mobile-bg.jpeg")
        center center / cover no-repeat;

    }

    .login-right{

        width:100%;

        padding:20px;

    }

    .login-card{

        max-width:360px;

        padding:30px;

    }

    .login-header{

        text-align:center;

    }

    .login-footer{

        display:none;

    }

}

/* ==========================================================
   SMALL PHONE
========================================================== */

@media(max-width:380px){

    .login-card{

        max-width:320px;

        padding:24px;

    }

}
