/* ==========================================================
   LOGIN PAGE
========================================================== */

:root{

    --primary:#0B1F3A;
    --secondary:#4656A3;
    --accent:#2C74B3;

    --light:#FFFFFF;
    --dark:#121212;

    --gray:#777777;
    --light-gray:#F6F8FB;

    --shadow:0 20px 60px rgba(0,0,0,.08);

    --radius:20px;

}


/* ==========================================================
   AUTH SECTION
========================================================== */

.auth{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:120px 20px 70px;

    position:relative;

    overflow:hidden;

    background:
    linear-gradient(
    135deg,
    #f8faff,
    #edf3ff
    );

}


/* ==========================================================
   BACKGROUND BLOBS
========================================================== */

.auth::before{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    border-radius:50%;

    background:rgba(70,86,163,.08);

    top:-180px;

    right:-160px;

    filter:blur(30px);

}

.auth::after{

    content:"";

    position:absolute;

    width:350px;

    height:350px;

    border-radius:50%;

    background:rgba(44,116,179,.08);

    bottom:-120px;

    left:-100px;

    filter:blur(25px);

}


/* ==========================================================
   CONTAINER
========================================================== */

.auth-container{

    position:relative;

    z-index:2;

    width:100%;

    max-width:1250px;

    display:grid;

    grid-template-columns:1.05fr .95fr;

    background:#fff;

    border-radius:32px;

    overflow:hidden;

    box-shadow:
    0 30px 80px rgba(0,0,0,.08);

}


/* ==========================================================
   LEFT PANEL
========================================================== */

.auth-left{

    position:relative;

    padding:70px;

    background:
    linear-gradient(
    145deg,
    var(--primary),
    #17325d
    );

    color:#fff;

    overflow:hidden;

}

.auth-left::before{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    top:-90px;

    right:-90px;

}

.auth-left::after{

    content:"";

    position:absolute;

    width:220px;

    height:220px;

    border-radius:50%;

    background:rgba(255,255,255,.04);

    bottom:-60px;

    left:-60px;

}

.auth-left>*{

    position:relative;

    z-index:2;

}

.auth-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 22px;

    border-radius:40px;

    background:rgba(255,255,255,.10);

    backdrop-filter:blur(12px);

    margin-bottom:30px;

    font-weight:600;

}

.auth-left h1{

    font-size:3.5rem;

    line-height:1.15;

    margin-bottom:25px;

}

.auth-left p{

    font-size:1.05rem;

    line-height:1.9;

    opacity:.9;

    max-width:520px;

}


/* ==========================================================
   FEATURE LIST
========================================================== */

.auth-features{

    margin-top:45px;

    display:grid;

    gap:22px;

}

.auth-feature{

    display:flex;

    align-items:flex-start;

    gap:18px;

}

.auth-feature i{

    width:55px;

    height:55px;

    border-radius:18px;

    background:rgba(255,255,255,.10);

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    font-size:1.2rem;

}

.auth-feature h4{

    margin-bottom:8px;

    font-size:1.15rem;

}

.auth-feature p{

    margin:0;

    font-size:.95rem;

    opacity:.8;

}


/* ==========================================================
   RIGHT PANEL
========================================================== */

.auth-right{

    display:flex;

    align-items:center;

    justify-content:center;

    padding:70px;

    background:#fff;

}


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

.login-card{

    width:100%;

    max-width:460px;

}

.login-card h2{

    font-size:2.3rem;

    color:var(--primary);

    margin-bottom:12px;

}

.login-card>p{

    color:var(--gray);

    margin-bottom:40px;

    line-height:1.8;

}


/* ==========================================================
   FORM
========================================================== */

.auth-form{

    display:grid;

    gap:25px;

}

.form-group{

    display:flex;

    flex-direction:column;

}

.form-group label{

    color:var(--primary);

    font-weight:600;

    margin-bottom:10px;

}

.form-group input{

    width:100%;

    height:60px;

    border-radius:16px;

    border:1px solid rgba(0,0,0,.08);

    background:#fff;

    padding:0 20px;

    font-size:1rem;

    transition:.3s;

}

.form-group input:focus{

    outline:none;

    border-color:var(--secondary);

    box-shadow:
    0 0 0 4px rgba(70,86,163,.10);

}


/* ==========================================================
   PASSWORD FIELD
========================================================== */

.password-box{

    position:relative;

}

.password-box input{

    padding-right:60px;

}

.password-toggle{

    position:absolute;

    top:50%;

    right:20px;

    transform:translateY(-50%);

    cursor:pointer;

    color:#888;

    transition:.3s;

}

.password-toggle:hover{

    color:var(--secondary);

}


/* ==========================================================
   OPTIONS
========================================================== */

.auth-options{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-top:-5px;

}

.remember{

    display:flex;

    align-items:center;

    gap:10px;

    color:var(--gray);

    font-size:.95rem;

}

.remember input{

    width:18px;

    height:18px;

    accent-color:var(--secondary);

}

.forgot{

    color:var(--secondary);

    font-weight:600;

    transition:.3s;

}

.forgot:hover{

    color:var(--primary);

}


/* ==========================================================
   BUTTON
========================================================== */

.login-btn{

    width:100%;

    height:60px;

    border:none;

    border-radius:18px;

    background:
    linear-gradient(
    135deg,
    var(--secondary),
    var(--accent)
    );

    color:#fff;

    font-size:1rem;

    font-weight:600;

    cursor:pointer;

    transition:.35s;

    box-shadow:
    0 15px 35px rgba(70,86,163,.25);

}

.login-btn:hover{

    transform:translateY(-4px);

    box-shadow:
    0 25px 45px rgba(70,86,163,.30);

}


/* ==========================================================
   FLOATING ANIMATION
========================================================== */

@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

    100%{

        transform:translateY(0);

    }

}

.floating-card{

    animation:float 5s ease-in-out infinite;

}
/* ==========================================================
   DIVIDER
========================================================== */

.auth-divider{

    display:flex;

    align-items:center;

    gap:15px;

    margin:35px 0;

    color:var(--gray);

    font-size:.95rem;

}

.auth-divider::before,
.auth-divider::after{

    content:"";

    flex:1;

    height:1px;

    background:#e5e7eb;

}


/* ==========================================================
   GOOGLE LOGIN
========================================================== */

.google-btn{

    width:100%;

    height:58px;

    border:1px solid #e4e7ef;

    background:#fff;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:15px;

    font-weight:600;

    color:var(--primary);

    cursor:pointer;

    transition:.35s;

}

.google-btn:hover{

    transform:translateY(-3px);

    border-color:var(--secondary);

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.google-btn img{

    width:22px;

}


/* ==========================================================
   SIGNUP LINK
========================================================== */

.auth-footer{

    margin-top:35px;

    text-align:center;

    color:var(--gray);

}

.auth-footer a{

    color:var(--secondary);

    font-weight:700;

    transition:.3s;

}

.auth-footer a:hover{

    color:var(--primary);

}



/* ==========================================================
   SECURITY CARD
========================================================== */

.security-card{

    margin-top:35px;

    display:flex;

    gap:18px;

    padding:22px;

    border-radius:18px;

    background:rgba(70,86,163,.06);

}

.security-card i{

    width:55px;

    height:55px;

    border-radius:16px;

    background:var(--secondary);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    font-size:1.3rem;

}

.security-card h4{

    color:var(--primary);

    margin-bottom:8px;

}

.security-card p{

    color:var(--gray);

    line-height:1.7;

}



/* ==========================================================
   FLOATING STATUS CARDS
========================================================== */

.status-card{

    position:absolute;

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(14px);

    border:1px solid rgba(255,255,255,.12);

    padding:18px 22px;

    border-radius:18px;

    display:flex;

    align-items:center;

    gap:15px;

    animation:float 6s ease-in-out infinite;

}

.status-card i{

    width:46px;

    height:46px;

    border-radius:14px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#fff;

    color:var(--secondary);

}

.status-card h5{

    margin-bottom:5px;

    font-size:1rem;

}

.status-card span{

    opacity:.85;

    font-size:.9rem;

}

.card-one{

    top:90px;

    right:-40px;

}

.card-two{

    bottom:90px;

    left:-40px;

    animation-delay:2s;

}



/* ==========================================================
   INPUT STATES
========================================================== */

.form-group input:hover{

    border-color:#c9d3ef;

}

.form-group input.error{

    border-color:#dc3545;

    box-shadow:0 0 0 4px rgba(220,53,69,.10);

}

.form-group input.success{

    border-color:#28a745;

    box-shadow:0 0 0 4px rgba(40,167,69,.10);

}



/* ==========================================================
   LOADING BUTTON
========================================================== */

.login-btn.loading{

    pointer-events:none;

    opacity:.9;

}

.login-btn.loading::after{

    content:"";

    width:18px;

    height:18px;

    margin-left:12px;

    border:2px solid rgba(255,255,255,.4);

    border-top:2px solid #fff;

    border-radius:50%;

    display:inline-block;

    animation:spin .8s linear infinite;

}

@keyframes spin{

    to{

        transform:rotate(360deg);

    }

}



/* ==========================================================
   MICRO ANIMATIONS
========================================================== */

.form-group{

    transition:.3s;

}

.form-group:focus-within{

    transform:translateY(-2px);

}

.login-card{

    animation:fadeUp .8s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.auth-left{

    animation:slideLeft .8s ease;

}

@keyframes slideLeft{

    from{

        opacity:0;

        transform:translateX(-50px);

    }

    to{

        opacity:1;

        transform:translateX(0);

    }

}



/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:1100px){

.auth-container{

grid-template-columns:1fr;

max-width:700px;

}

.auth-left{

padding:55px;

text-align:center;

}

.auth-right{

padding:55px;

}

.auth-features{

max-width:500px;

margin:40px auto 0;

}

.status-card{

display:none;

}

}



@media(max-width:768px){

.auth{

padding:110px 20px 60px;

}

.auth-left{

padding:45px;

}

.auth-right{

padding:40px 30px;

}

.auth-left h1{

font-size:2.7rem;

}

.login-card h2{

font-size:2rem;

}

.auth-feature{

gap:15px;

}

.auth-feature i{

width:48px;

height:48px;

font-size:1rem;

}

}



@media(max-width:576px){

.auth-left{

display:none;

}

.auth-container{

border-radius:24px;

}

.auth-right{

padding:35px 24px;

}

.login-card h2{

font-size:1.8rem;

}

.auth-options{

flex-direction:column;

align-items:flex-start;

gap:15px;

}

.form-group input{

height:56px;

}

.login-btn{

height:56px;

}

.google-btn{

height:56px;

}

.security-card{

flex-direction:column;

text-align:center;

align-items:center;

}

}

.error-message{
    background:#fee2e2;
    color:#b91c1c;
    padding:12px 16px;
    border-radius:10px;
    margin-bottom:20px;
    border:1px solid #fecaca;
    font-size:0.95rem;
}

.success-message{
    background:#fee2e2;
    color:#31b91c;
    padding:12px 16px;
    border-radius:10px;
    margin-bottom:20px;
    border:1px solid #fecaca;
    font-size:0.95rem;
}

.blue{
    color:rgb(0, 204, 255);
}