/* Split-panel auth screens (login, two-factor). Loaded only for guest pages via AuthAsset. */

:root{
    --auth-brand: #0f6b72;
    --auth-brand-dark: #0a3f44;
    --auth-brand-light: #1b8f98;
    --auth-ink: #16242a;
    --auth-muted: #5b6b70;
    --auth-panel-bg: #ffffff;
    --auth-page-bg: #eef1f2;
}

.auth-body{
    margin: 0;
    background: var(--auth-page-bg);
    font-family: "Public Sans", "Be Vietnam Pro", sans-serif;
    color: var(--auth-ink);
}

.auth-split{
    display: flex;
    min-height: 100vh;
}

.auth-split__brand{
    flex: 0 0 42%;
    max-width: 520px;
    background: linear-gradient(155deg, var(--auth-brand-dark) 0%, var(--auth-brand) 55%, var(--auth-brand-light) 100%);
    color: #eafbfa;
    padding: 48px 44px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.auth-split__wordmark{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: "Manrope", sans-serif;
    font-weight: 800;
    font-size: 1.15rem;
    color: #eafbfa;
    text-decoration: none;
}

.auth-split__pitch h1{
    font-family: "Manrope", sans-serif;
    font-weight: 800;
    font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.15rem);
    line-height: 1.2;
    margin: 28px 0 10px;
    color: #eafbfa;
}

.auth-split__pitch p{
    color: #c6ece9;
    max-width: 34ch;
    line-height: 1.55;
    font-size: .96rem;
    margin: 0;
}

.auth-split__tags{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.auth-split__tags span{
    font-size: .75rem;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #eafbfa;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .18);
    padding: 5px 10px;
    border-radius: 999px;
}

.auth-split__credit{
    font-size: .78rem;
    color: #8fd6cf;
    margin: 0;
}

.auth-split__credit a{
    color: #eafbfa;
}

.auth-split__panel{
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    background: var(--auth-panel-bg);
}

.auth-split__panel-inner{
    width: 100%;
    max-width: 380px;
}

.auth-eyebrow{
    display: block;
    color: var(--auth-brand);
    font-weight: 700;
    font-size: .76rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.auth-form-head h2{
    font-family: "Manrope", sans-serif;
    font-weight: 800;
    font-size: 1.5rem;
    margin: 0 0 6px;
}

.auth-form-head p{
    margin-bottom: 24px;
}

.auth-pass-wrap{
    position: relative;
}

.auth-pass-wrap input.form-control{
    padding-right: 2.75rem;
}

.auth-pass-toggle{
    position: absolute;
    top: 0;
    right: 0;
    height: calc(1.5em + .75rem + 2px);
    width: 2.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    padding: 0;
    color: var(--auth-muted);
    cursor: pointer;
}

.auth-pass-toggle:hover{
    color: var(--auth-brand);
}

.auth-pass-toggle:focus-visible{
    outline: 2px solid var(--auth-brand);
    outline-offset: -2px;
    border-radius: 6px;
}

.auth-recaptcha{
    margin: 1rem 0;
}

.auth-btn{
    background: var(--auth-brand);
    border-color: var(--auth-brand);
    color: #fff;
    font-weight: 600;
    padding: .6rem 1rem;
}

.auth-btn:hover,
.auth-btn:active{
    background: #0c565c;
    border-color: #0c565c;
    color: #fff;
}

.auth-btn:focus{
    box-shadow: 0 0 0 .2rem rgba(15, 107, 114, .35);
}

@media (max-width: 991px){
    .auth-split{
        flex-direction: column;
    }

    .auth-split__brand{
        flex: 0 0 auto;
        max-width: none;
        padding: 32px 24px;
    }

    .auth-split__pitch p{
        max-width: none;
    }

    .auth-split__panel{
        padding: 36px 20px;
    }
}
