
/*==================================================
    BACKGROUND
==================================================*/

.authBackground{

    position:fixed;

    inset:0;

    z-index:-2;

    background:
        radial-gradient(circle at left,
        rgba(34,197,94,.20) 0%,
        transparent 42%),

        radial-gradient(circle at right,
        rgba(37,99,235,.16) 0%,
        transparent 40%),

        #060606;

}

.authBackground::before{

    content:'';

    position:absolute;

    inset:0;

    background:

        linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);

    background-size:80px 80px;

    opacity:.20;

}

.authBackground::after{

    content:'';

    position:absolute;

    width:900px;
    height:900px;

    left:50%;
    top:50%;

    transform:translate(-50%,-50%);

    background:

        radial-gradient(circle,
        rgba(255,255,255,.05),
        transparent 70%);

    filter:blur(120px);

    opacity:.30;

}

/*==================================================
    WRAPPER
==================================================*/

.authWrapper{

    width:100%;
    min-height:100vh;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:60px;

}

.authGrid{

    width:100%;
    max-width:1450px;

    display:grid;
    grid-template-columns:560px 1fr;

    gap:90px;

    align-items:center;

}

/*==================================================
    LEFT SIDE
==================================================*/

.authLeft{

    width:100%;

}

.authLogo{

    display:inline-flex;

    margin-bottom:40px;

}

.authLogo img{

    width:185px;

    object-fit:contain;

}

.authCard{

    background:rgba(18,18,18,.88);

    border:1px solid rgba(255,255,255,.07);

    backdrop-filter:blur(24px);

    border-radius:32px;

    padding:48px;

    box-shadow:

        0 40px 100px rgba(0,0,0,.40),
        inset 0 1px 0 rgba(255,255,255,.04);

}

.authBadge{

    display:inline-flex;
    align-items:center;

    gap:10px;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.06);

    color:#cfcfcf;

    font-size:13px;
    font-weight:600;

    margin-bottom:28px;

}

.authBadge span{

    width:9px;
    height:9px;

    border-radius:50%;

    background:#22c55e;

    box-shadow:0 0 12px #22c55e;

}

.authCard h1{

    font-size:48px;

    line-height:1.05;

    font-weight:800;

    letter-spacing:-2px;

    margin-bottom:18px;

}

.authDescription{

    color:#bdbdbd;

    font-size:17px;

    line-height:1.8;

    margin-bottom:42px;

}

/*==================================================
    RIGHT SIDE
==================================================*/

.authRight{

    position:relative;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    min-height:780px;

}

.phoneWrapper{

    position:relative;

    width:100%;
    max-width:620px;

    display:flex;
    align-items:center;
    justify-content:center;

}

.phoneGlow{

    position:absolute;

    width:560px;
    height:560px;

    border-radius:50%;

    background:

        radial-gradient(circle,
        rgba(34,197,94,.25),
        transparent 70%);

    filter:blur(70px);

    z-index:0;

}

.phoneImage{

    position:relative;

    width:390px;

    z-index:2;

    object-fit:contain;

    animation:phoneFloat 5s ease-in-out infinite;

}

@keyframes phoneFloat{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-10px);

    }

    100%{

        transform:translateY(0px);

    }

}



/*==================================================
    FORM
==================================================*/

.authForm{

    display:flex;
    flex-direction:column;

    gap:24px;

}

.authField{

    display:flex;
    flex-direction:column;

    gap:12px;

}

.authField label{

    color:#d8d8d8;

    font-size:14px;

    font-weight:600;

}

.authInput{

    position:relative;

    display:flex;
    align-items:center;

    height:62px;

    border-radius:18px;

    background:#141414;

    border:1px solid rgba(255,255,255,.08);

    transition:.25s;

}

.authInput:hover{

    border-color:rgba(255,255,255,.15);

}

.authInput:focus-within{

    border-color:#22c55e;

    box-shadow:0 0 0 4px rgba(34,197,94,.14);

}

.authInput i{

    width:60px;

    text-align:center;

    color:#7a7a7a;

    font-size:17px;

    transition:.25s;

}

.authInput:focus-within i{

    color:#22c55e;

}

.authInput input{

    outline:none;

    border:none;

    box-shadow:none;

    background:transparent;

}

.authInput input{

    flex:1;

    height:100%;

    border:none;

    background:transparent;

    color:#fff;

    font-size:15px;

    padding-right:22px;

}

.authInput input::placeholder{

    color:#707070;

}

/*==================================================
    OPTIONS
==================================================*/

.authOptions{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

}

.rememberMe{

    display:flex;

    align-items:center;

    gap:10px;

    cursor:pointer;

    color:#bdbdbd;

    font-size:14px;

}

.rememberMe input{

    width:17px;
    height:17px;

    accent-color:#22c55e;

}

.authOptions a{

    color:#22c55e;

    font-size:14px;

    font-weight:600;

    transition:.25s;

}

.authOptions a:hover{

    color:#36d96a;

}

/*==================================================
    LOGIN BUTTON
==================================================*/

.authButton{

    height:64px;

    border-radius:18px;

    margin-top:8px;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:12px;

    background:#22c55e;

    color:#fff;

    font-size:16px;

    font-weight:700;

    transition:.28s;

    box-shadow:

        0 20px 40px rgba(34,197,94,.18);

}

.authButton:hover{

    transform:translateY(-3px);

    background:#28d462;

    box-shadow:

        0 25px 50px rgba(34,197,94,.35);

}

.authButton i{

    transition:.25s;

}

.authButton:hover i{

    transform:translateX(4px);

}

/*==================================================
    DIVIDER
==================================================*/

.authDivider{

    display:flex;

    align-items:center;

    gap:18px;

    margin:34px 0;

    color:#757575;

    font-size:14px;

}

.authDivider::before,
.authDivider::after{

    content:'';

    flex:1;

    height:1px;

    background:rgba(255,255,255,.08);

}

/*==================================================
    GOOGLE BUTTON
==================================================*/

.googleButton{

    width:100%;

    height:62px;

    border-radius:18px;

    border:1px solid rgba(255,255,255,.08);

    background:#151515;

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:14px;

    font-size:15px;

    font-weight:600;

    transition:.28s;

}

.googleButton:hover{

    transform:translateY(-2px);

    border-color:rgba(255,255,255,.14);

    background:#1b1b1b;

}

.googleButton img{

    width:22px;

    height:22px;

    object-fit:contain;

}

/*==================================================
    BOTTOM LINK
==================================================*/

.authBottom{

    margin-top:36px;

    text-align:center;

    color:#9f9f9f;

    font-size:15px;

}

.authBottom a{

    margin-left:6px;

    color:#22c55e;

    font-weight:700;

    transition:.25s;

}

.authBottom a:hover{

    color:#37d96c;

}

/*==================================================
    STATS
==================================================*/

.authStats{

    margin-top:50px;

    width:100%;

    max-width:650px;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;

}

.statBox{

    background:rgba(255,255,255,.03);

    border:1px solid rgba(255,255,255,.06);

    border-radius:22px;

    padding:28px;

    text-align:center;

    transition:.28s;

}

.statBox:hover{

    transform:translateY(-4px);

    border-color:rgba(34,197,94,.25);

    background:rgba(34,197,94,.05);

}

.statBox h3{

    font-size:32px;

    font-weight:800;

    color:#fff;

    margin-bottom:10px;

}

.statBox span{

    color:#9a9a9a;

    font-size:14px;

}



/*==================================================
    FLOATING CARDS
==================================================*/

.floatingCard{

    position:absolute;

    display:flex;
    align-items:center;

    gap:16px;

    background:rgba(18,18,18,.95);

    border:1px solid rgba(255,255,255,.08);

    border-radius:22px;

    padding:18px 22px;

    backdrop-filter:blur(18px);

    box-shadow:
        0 20px 45px rgba(0,0,0,.35);

    z-index:5;

    animation:floatingCard 5s ease-in-out infinite;

}

.floatingCard strong{

    display:block;

    font-size:15px;

    font-weight:700;

    color:#fff;

    margin-bottom:4px;

}

.floatingCard small{

    color:#9d9d9d;

    font-size:13px;

}

.floatingCard.top{

    top:40px;

    left:-30px;

    animation-delay:0s;

}

.floatingCard.middle{

    right:-60px;

    top:240px;

    animation-delay:1.5s;

}

.floatingCard.bottom{

    left:-40px;

    bottom:60px;

    animation-delay:3s;

}

@keyframes floatingCard{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-8px);

    }

    100%{

        transform:translateY(0px);

    }

}

/*==================================================
    FLOATING ICONS
==================================================*/

.floatingIcon{

    width:54px;
    height:54px;

    border-radius:16px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:18px;

    flex-shrink:0;

}

.floatingIcon.success{

    background:rgba(34,197,94,.16);

    color:#22c55e;

}

.floatingIcon.danger{

    background:rgba(239,68,68,.15);

    color:#ef4444;

}

.floatingIcon.chat{

    background:rgba(37,99,235,.16);

    color:#3b82f6;

}

/*==================================================
    RESPONSIVE
==================================================*/

@media(max-width:1300px){

    .authGrid{

        gap:60px;

    }

    .phoneImage{

        width:340px;

    }

    .floatingCard.top{

        left:0;

    }

    .floatingCard.middle{

        right:0;

    }

    .floatingCard.bottom{

        left:0;

    }

}

@media(max-width:1100px){

    .authGrid{

        grid-template-columns:1fr;

        max-width:620px;

    }

    .authLeft{

        order:2;

    }

    .authRight{

        order:1;

        min-height:auto;

        margin-bottom:50px;

    }

    .authLogo{

        display:flex;

        justify-content:center;

    }

    .authCard{

        padding:40px;

    }

}

@media(max-width:768px){

    .authWrapper{

        padding:30px 20px;

    }

    .authCard{

        padding:30px 24px;

        border-radius:24px;

    }

    .authCard h1{

        font-size:38px;

    }

    .authDescription{

        font-size:15px;

        line-height:1.7;

    }

    .phoneImage{

        width:270px;

    }

    .floatingCard{

        position:relative;

        left:auto !important;

        right:auto !important;

        top:auto !important;

        bottom:auto !important;

        margin-top:18px;

        width:100%;

        animation:none;

    }

    .phoneWrapper{

        display:flex;

        flex-direction:column;

    }

    .phoneGlow{

        width:360px;

        height:360px;

    }

    .authStats{

        grid-template-columns:1fr;

        margin-top:35px;

    }

    .statBox{

        padding:22px;

    }

}

@media(max-width:520px){

    .authWrapper{

        padding:18px;

    }

    .authCard{

        padding:24px 20px;

    }

    .authCard h1{

        font-size:32px;

        letter-spacing:-1px;

    }

    .authBadge{

        font-size:12px;

    }

    .authInput{

        height:58px;

    }

    .authButton{

        height:58px;

    }

    .googleButton{

        height:58px;

    }

    .authOptions{

        flex-direction:column;

        align-items:flex-start;

        gap:14px;

    }

    .phoneImage{

        width:220px;

    }

    .phoneGlow{

        width:280px;

        height:280px;

    }

    .floatingCard{

        padding:16px;

    }

    .floatingIcon{

        width:48px;

        height:48px;

        font-size:16px;

    }

}

.authInput input,
.authInput input:-webkit-autofill,
.authInput input:-webkit-autofill:hover,
.authInput input:-webkit-autofill:focus,
.authInput input:-webkit-autofill:active{

    -webkit-box-shadow:0 0 0 1000px #141414 inset !important;
    -webkit-text-fill-color:#fff !important;

    background:#141414 !important;

    caret-color:#fff;

    transition:background-color 99999s;

}