.auth-page{
    min-height:100vh;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    background:#fff;
}

.auth-visual{
    position:relative;
    min-height:100vh;
    padding:48px;
    color:#fff;
    overflow:hidden;
    background:
        linear-gradient(135deg,rgba(138,35,135,.82),rgba(233,64,87,.78)),
        linear-gradient(30deg,#8a2387,#e94057);
}

.auth-visual:after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    right:-120px;
    top:14%;
}

.auth-brand{
    font-size:29px;
    font-weight:900;
    position:relative;
    z-index:2;
}

.auth-visual-content{
    position:absolute;
    left:48px;
    right:48px;
    bottom:70px;
    z-index:2;
    max-width:550px;
}

.auth-visual-content h1{
    font-size:clamp(42px,5vw,68px);
    line-height:1.04;
    margin-bottom:18px;
}

.auth-visual-content p{
    font-size:18px;
    opacity:.92;
}

.auth-form-area{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:36px;
}

.auth-form-wrapper{
    width:100%;
    max-width:470px;
}

.mobile-brand{
    display:none;
}

.auth-heading{
    margin-bottom:26px;
}

.auth-heading h2{
    font-size:32px;
    color:var(--dark);
    margin-bottom:8px;
}

.auth-heading p,
.auth-footer{
    color:var(--muted);
}

.auth-footer{
    text-align:center;
    margin-top:22px;
}

.auth-footer a,
.auth-link{
    color:var(--primary);
    font-weight:800;
}

/* Password field */
.password-wrap{
    position:relative;
    display:block;
    width:100%;
}

.password-wrap .form-control{
    width:100%;
    padding-right:78px;
}

.password-toggle{
    position:absolute;
    top:50%;
    right:12px;
    transform:translateY(-50%);
    z-index:3;

    border:0;
    background:transparent;
    color:var(--primary);

    padding:7px 8px;
    margin:0;

    font-size:13px;
    line-height:1;
    font-weight:800;

    border-radius:8px;
    cursor:pointer;

    appearance:none;
    -webkit-appearance:none;
}

.password-toggle:hover,
.password-toggle:focus{
    background:#fff0f3;
    outline:none;
}

.password-toggle:focus-visible{
    box-shadow:0 0 0 3px rgba(233,64,87,.13);
}

/* Make sure browser button styles cannot break layout */
.password-wrap button{
    width:auto;
    min-width:auto;
    height:auto;
}

@media(max-width:900px){
    .auth-page{
        grid-template-columns:1fr;
    }

    .auth-visual{
        display:none;
    }

    .auth-form-area{
        min-height:100vh;
        padding:28px 18px;
    }

    .mobile-brand{
        display:block;
        text-align:center;
        color:var(--primary);
        font-size:27px;
        font-weight:900;
        margin-bottom:28px;
    }
}

@media(max-width:520px){
    .auth-form-area{
        align-items:flex-start;
        padding-top:34px;
    }

    .auth-form-wrapper{
        max-width:100%;
    }

    .auth-heading h2{
        font-size:29px;
    }

    .password-toggle{
        right:10px;
        padding:8px 7px;
    }

    .password-wrap .form-control{
        padding-right:72px;
    }
}
