/* Authentication: preview behind a single content panel. */
body:has(.profile-login) { background: #fff; }
#contentLAYOUT:has(.profile-login) { scroll-snap-type: none; }
.profile-login { position: relative; min-height: 100vh; background: #fff; }
.profile-preview { width: 100%; overflow: hidden; pointer-events: none; }
.profile-preview iframe { display: block; width: 100vw; height: 100vh; border: 0; }
.auth-content {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    /*width: min(430px, calc(100% - 48px));*/
    padding: 24px;
    background: #fff;
    text-transform: uppercase;
    box-shadow: 0 0 123px 172px rgba(255,255,255,1),
                0 0 201px 119px rgba(255,255,255,.35),
                0 0 223px 120px rgba(255,255,255,.12);
}
.auth-brand { display: flex; flex-direction: column; margin-bottom: 40px; margin-left: 0; padding-left: 0; }
.auth-logo { position: absolute; top: 24px; right: 24px; display: block; width: 80px; height: auto; }
.auth-brand h1 { margin-left: 0; padding-left: 0; color: #111; font-size: 56px; font-weight: 400 !important; line-height: 1 !important; letter-spacing: -.04em; text-transform: none; }
.auth-login h2, .register h2 { margin-bottom: 10px; color: #111; font-size: 13px; font-weight: 600 !important; letter-spacing: .08em; text-transform: uppercase; }
.auth-content .intro { margin-bottom: 16px; color: #222; font-size: 12px; line-height: 1.6; }
.auth-content form > .wrap { display: flex; flex-direction: column; align-items: flex-start; }
.auth-content label { display: block; width: 100%; padding-top: 10px; color: #222; font-size: 11px; line-height: 1.5; letter-spacing: .06em; text-transform: uppercase; }
.auth-content .title { margin-bottom: 40px; font-weight: 400 !important; }
.auth-content input, .auth-content select {
    width: 100%;
    padding: 4px 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #111;
    border-radius: 0;
    color: #111;
    font-size: 16px;
    line-height: 24px;
}
.auth-content input::placeholder { text-transform: uppercase; }
.auth-content .primary {
    min-height: 32px;
    margin-top: 12px;
    padding: 0 18px;
    background: #111;
    border: 0;
    border-radius: 8px;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 24px;
    text-transform: uppercase;width: 100%;
}
.auth-content .primary:hover { background: #333; }
.auth-content .primary:disabled { opacity: .5; cursor: wait; }
.auth-content [hidden] { display: none !important; }
.auth-login[hidden], .register[hidden] { display: none !important; }
.auth-install {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 20px 0 0;
    padding: 0;
    background: transparent;
    border: 0;
    color: #111;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .06em;
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
}
.auth-install img { width: 32px; height: 32px; border-radius: 8px; }
.auth-install span { text-decoration: underline; }
.auth-install-hint { margin: 10px 0 0; color: #222; font-size: 12px; line-height: 1.5; text-transform: none; }
.login-feedback, .register-feedback { margin-top: 8px; color: #9b1c1c; font-size: 12px; }
.register {
    width: 100%;
    margin-top: 80px;
}
.register > .wrap > .intro { margin-bottom: 14px; }
.register-errors { color: #9b1c1c; font-size: 12px; line-height: 1.5; }
.register-errors li { padding: 0; }
.register-verified-email { margin-bottom: 20px; font-size: 12px; }
.register-back, .register-login-back { margin-top: 16px; padding: 0; color: #111; font-size: 11px; text-decoration: underline; }
.register-terms { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0 20px; font-size: 12px; line-height: 1.5; }
.register-terms input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; }
.register-terms label { margin: 0; text-transform: none; letter-spacing: 0; font-weight: 400; }
.register-terms a, .auth-legal a { color: inherit; text-decoration: underline; }
.auth-legal { margin-top: 14px; color: #444; font-size: 11px; line-height: 1.5; }
