/* =========================================================
| AUTH WRAPPER
========================================================= */

.sg-auth-wrapper{

    position:relative;

    min-height:100vh;

    overflow:hidden;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:40px 20px;

    background:
        linear-gradient(
            135deg,
            #020617 0%,
            #081226 40%,
            #0f172a 100%
        );
}

/* =========================================================
| PARTICLES
========================================================= */

#particles-js{

    position:absolute;

    inset:0;

    z-index:1;
}

/* =========================================================
| GLOW EFFECT
========================================================= */

.sg-auth-glow{

    position:absolute;

    border-radius:50%;

    filter:blur(60px);

    opacity:.16;

    z-index:1;
}

.sg-auth-glow-1{

    width:340px;
    height:340px;

    top:-100px;
    left:-100px;

    background:
        radial-gradient(
            #2563eb,
            transparent
        );
}

.sg-auth-glow-2{

    width:320px;
    height:320px;

    bottom:-120px;
    right:-120px;

    background:
        radial-gradient(
            #06b6d4,
            transparent
        );
}

/* =========================================================
| THEME TOGGLE
========================================================= */

.sg-theme-toggle{

    position:absolute;

    top:30px;
    right:30px;

    width:52px;
    height:52px;

    border:none;

    outline:none;

    border-radius:50%;

    cursor:pointer;

    z-index:10;

    display:flex;

    align-items:center;

    justify-content:center;

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

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

    backdrop-filter:blur(12px);

    color:#fff;

    font-size:18px;

    transition:.35s ease;
}

.sg-theme-toggle:hover{

    transform:
        rotate(180deg)
        scale(1.06);

    background:#2563eb;
}

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

.sg-auth-container{

    position:relative;

    z-index:5;

    width:100%;

    max-width:1320px;

    display:grid;

    grid-template-columns:
        1.1fr
        .9fr;

    border-radius:36px;

    overflow:hidden;

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

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

    backdrop-filter:blur(16px);

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

/* =========================================================
| LEFT SIDE
========================================================= */

.sg-auth-left{

    position:relative;

    min-height:760px;

    overflow:hidden;

    background:
        linear-gradient(
            rgba(2,6,23,.76),
            rgba(37,99,235,.70)
        ),
        url('https://images.unsplash.com/photo-1523050854058-8df90110c9f1?q=80&w=1400&auto=format&fit=crop')
        center/cover no-repeat;
}

/* =========================================================
| OVERLAY
========================================================= */

.sg-auth-overlay{

    position:relative;

    z-index:5;

    width:100%;
    height:100%;

    padding:90px 70px;

    display:flex;

    flex-direction:column;

    justify-content:center;
}

/* =========================================================
| BADGE
========================================================= */

.sg-auth-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    width:max-content;

    padding:12px 22px;

    border-radius:50px;

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

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

    color:#fff;

    font-size:13px;

    font-weight:700;

    margin-bottom:30px;
}

/* =========================================================
| TITLE
========================================================= */

.sg-auth-overlay h1{

    font-size:72px;

    line-height:1.05;

    font-weight:900;

    color:#fff;

    margin-bottom:26px;
}

.sg-auth-overlay h1 span{

    background:
        linear-gradient(
            135deg,
            #60a5fa,
            #38bdf8,
            #ffffff
        );

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;
}

/* =========================================================
| DESCRIPTION
========================================================= */

.sg-auth-overlay p{

    max-width:620px;

    font-size:18px;

    line-height:1.9;

    color:
        rgba(255,255,255,.82);

    margin-bottom:50px;
}

/* =========================================================
| STATS
========================================================= */

.sg-auth-stats{

    display:flex;

    align-items:center;

    gap:26px;

    flex-wrap:wrap;
}

.sg-auth-stat{

    min-width:140px;

    padding:24px;

    border-radius:24px;

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

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

    backdrop-filter:blur(10px);
}

.sg-auth-stat h3{

    margin:0 0 10px;

    font-size:36px;

    font-weight:900;

    color:#fff;
}

.sg-auth-stat span{

    color:
        rgba(255,255,255,.72);

    font-size:14px;
}

/* =========================================================
| RIGHT SIDE
========================================================= */

.sg-auth-right{

    display:flex;

    align-items:center;

    justify-content:center;

    padding:60px;
}

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

.sg-login-card{

    width:100%;

    max-width:460px;
}

/* =========================================================
| LOGO
========================================================= */

.sg-login-logo{

    width:90px;
    height:90px;

    margin:0 auto 26px;

    border-radius:28px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #38bdf8
        );

    color:#fff;

    font-size:42px;

    box-shadow:
        0 20px 45px rgba(37,99,235,.30);
}

/* =========================================================
| TITLE
========================================================= */

.sg-login-title{

    text-align:center;

    font-size:42px;

    font-weight:900;

    color:#fff;

    margin-bottom:14px;
}

.sg-login-subtitle{

    text-align:center;

    color:
        rgba(255,255,255,.70);

    font-size:16px;

    margin-bottom:40px;
}

/* =========================================================
| INPUT GROUP
========================================================= */

.sg-input-group{

    position:relative;

    margin-bottom:28px;
}

/* =========================================================
| INPUT
========================================================= */

.sg-input-field{

    width:100%;

    height:68px;

    border:none;

    outline:none;

    border-radius:22px;

    padding:
        0 60px
        0 60px;

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

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

    color:#fff;

    font-size:15px;

    transition:.35s ease;
}

.sg-input-field:focus{

    border-color:#2563eb;

    box-shadow:
        0 0 0 4px rgba(37,99,235,.16);
}

/* =========================================================
| LABEL
========================================================= */

.sg-input-group label{

    position:absolute;

    top:50%;
    left:60px;

    transform:translateY(-50%);

    color:
        rgba(255,255,255,.58);

    pointer-events:none;

    transition:.3s ease;
}

.sg-input-field:focus + label,
.sg-input-field:not(:placeholder-shown) + label{

    top:12px;

    left:22px;

    font-size:12px;

    color:#60a5fa;
}

/* =========================================================
| ICON
========================================================= */

.sg-input-icon{

    position:absolute;

    top:50%;
    left:22px;

    transform:translateY(-50%);

    color:#60a5fa;

    font-size:18px;

    z-index:5;
}

/* =========================================================
| PASSWORD TOGGLE
========================================================= */

.sg-password-toggle{

    position:absolute;

    top:50%;
    right:20px;

    transform:translateY(-50%);

    border:none;

    background:none;

    color:#94a3b8;

    cursor:pointer;

    font-size:18px;
}

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

.sg-login-options{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    margin-bottom:34px;

    flex-wrap:wrap;
}

/* =========================================================
| REMEMBER
========================================================= */

.sg-remember{

    display:flex;

    align-items:center;

    gap:10px;

    color:
        rgba(255,255,255,.74);

    font-size:14px;
}

.sg-remember input{

    accent-color:#2563eb;
}

/* =========================================================
| FORGOT
========================================================= */

.sg-forgot-link{

    color:#60a5fa;

    text-decoration:none;

    font-size:14px;

    font-weight:600;
}

.sg-forgot-link:hover{

    color:#fff;
}

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

.sg-login-btn{

    width:100%;

    height:64px;

    border:none;

    outline:none;

    cursor:pointer;

    border-radius:22px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    background:
        linear-gradient(
            135deg,
            #2563eb,
            #38bdf8
        );

    color:#fff;

    font-size:16px;

    font-weight:800;

    transition:.35s ease;

    box-shadow:
        0 18px 40px rgba(37,99,235,.30);
}

.sg-login-btn:hover{

    transform:
        translateY(-4px);

    box-shadow:
        0 28px 60px rgba(37,99,235,.40);
}

/* =========================================================
| FOOTER
========================================================= */

.sg-login-footer{

    margin-top:28px;

    text-align:center;
}

.sg-login-footer p{

    color:
        rgba(255,255,255,.55);

    font-size:13px;
}

/* =========================================================
| DARK MODE
========================================================= */

body.dark-mode{

    filter:
        hue-rotate(180deg)
        invert(.92);
}

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

@media(max-width:1200px){

    .sg-auth-overlay h1{

        font-size:56px;
    }
}

@media(max-width:991px){

    .sg-auth-container{

        grid-template-columns:1fr;
    }

    .sg-auth-left{

        min-height:500px;
    }

    .sg-auth-overlay{

        padding:70px 40px;
    }

    .sg-auth-overlay h1{

        font-size:48px;
    }

    .sg-auth-right{

        padding:50px 30px;
    }
}

@media(max-width:768px){

    .sg-auth-wrapper{

        padding:20px;
    }

    .sg-auth-overlay{

        padding:60px 28px;
    }

    .sg-auth-overlay h1{

        font-size:38px;
    }

    .sg-auth-overlay p{

        font-size:15px;
    }

    .sg-auth-stats{

        gap:14px;
    }

    .sg-auth-stat{

        min-width:120px;

        padding:18px;
    }

    .sg-login-title{

        font-size:34px;
    }

    .sg-auth-right{

        padding:40px 24px;
    }
}

@media(max-width:576px){

    .sg-auth-wrapper{

        padding:14px;
    }

    .sg-auth-container{

        border-radius:26px;
    }

    .sg-auth-left{

        min-height:420px;
    }

    .sg-auth-overlay{

        padding:50px 22px;
    }

    .sg-auth-overlay h1{

        font-size:30px;
    }

    .sg-auth-overlay p{

        font-size:14px;

        line-height:1.8;
    }

    .sg-auth-stats{

        flex-direction:column;

        align-items:flex-start;
    }

    .sg-auth-stat{

        width:100%;
    }

    .sg-login-title{

        font-size:28px;
    }

    .sg-input-field{

        height:60px;

        border-radius:18px;
    }

    .sg-login-btn{

        height:58px;

        border-radius:18px;
    }

    .sg-login-options{

        flex-direction:column;

        align-items:flex-start;
    }

    .sg-theme-toggle{

        width:46px;
        height:46px;

        top:18px;
        right:18px;
    }
}