.ot-auth-shell {
    --ot-login-background: none;
    min-height: 100vh;
    min-height: 100dvh;
    box-sizing: border-box;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 32px;
    position: relative;
    isolation: isolate;
    background-color: #e9eef5;
    background-image: var(--ot-login-background);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.ot-auth-shell.ot-auth-position-left { justify-content: flex-start; }
.ot-auth-shell.ot-auth-position-center { justify-content: center; }
.ot-auth-shell.ot-auth-position-right { justify-content: flex-end; }
.ot-auth-shell > .ot-auth-video { position:fixed; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:var(--login-focus,center); z-index:-2; pointer-events:none; }
.ot-auth-video-toggle { position:absolute; bottom:16px; left:16px; width:44px; height:44px; border:1px solid #d7e0eb; border-radius:6px; background:#fff; color:#171717; display:grid; place-items:center; font-size:20px; z-index:2; }
.ot-auth-video-toggle:focus-visible { outline:2px solid var(--vera-text,#171717); outline-offset:3px; }
.ot-auth-video[hidden], .ot-auth-video-toggle[hidden] { display:none; }
.ot-auth-audio-toggle { left:68px; }
.ot-auth-overlay { position: fixed; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8, 19, 32, .2), rgba(8, 19, 32, .05)); }
.ot-auth-panel { flex: 0 0 auto; min-width: 0; max-width: 100%; box-sizing: border-box; }
.ot-auth-panel { width: min(100%, 440px); padding: clamp(28px, 4vw, 44px); background: #fff; border: 1px solid #d7e0eb; border-radius: 8px; box-shadow: 0 20px 55px rgba(17, 24, 39, .18); }
.ot-auth-brand { text-align: left; margin-bottom: 24px; }
.ot-auth-brand .ot-login-logo { width: auto; max-width: 220px; max-height: 72px; object-fit: contain; }
.ot-auth-brand h1 { margin: 16px 0 6px; font-size: calc(24px * var(--vera-font-scale, 1)); line-height: 1.2; }
.ot-auth-brand p { margin: 0; max-width: 42ch; color: #667085; line-height: 1.5; }
.ot-auth-form .h2 { margin: 0 0 20px !important; font-size: calc(17px * var(--vera-font-scale, 1)); text-align: left !important; }
.ot-auth-form form > .d-flex { flex-wrap: wrap; gap: 12px; }
.ot-auth-form .form-footer { margin-top:24px; }
.ot-auth-form .form-control { min-height:44px; }
.ot-auth-form .btn[type="submit"] { min-height:44px; }
.ot-auth-panel :is(a,button,input):focus-visible { outline:2px solid var(--login-text,#171717); outline-offset:3px; }
.ot-auth-panel { overflow-wrap:anywhere; }
body:has(.ot-auth-shell) { display:flex; flex-direction:column; min-height:100dvh; }
body:has(.ot-auth-shell) .ot-auth-shell { flex:1; min-height:calc(100dvh - 48px); }
body:has(.ot-auth-shell) .footer { position:static; min-height:48px; padding:12px 16px; background:var(--vera-surface,#fff); color:var(--vera-text,#171717); }
.ot-auth-shell { align-items:var(--login-vertical,center); background-position:var(--login-focus,center); }
.ot-auth-shell .ot-auth-overlay { background:color-mix(in srgb,#000 var(--login-overlay,15%),transparent); }
.ot-auth-shell .ot-auth-panel { width:min(100%,var(--login-width,440px)); padding:var(--login-padding,32px); border-radius:var(--login-radius,8px); background:color-mix(in srgb,var(--login-surface,#fff) var(--login-opacity,100%),transparent); color:var(--login-text,#171717); box-shadow:var(--login-shadow,none); }
.ot-auth-shell .ot-auth-brand .ot-login-logo { width:var(--login-logo_width,220px); max-width:100%; max-height:var(--login-logo_height,72px); }
.ot-auth-shell .ot-auth-brand p, .ot-auth-shell .ot-auth-brand h1, .ot-auth-shell .ot-auth-form h2, .ot-auth-shell .form-label { color:var(--login-text,#171717); }
@media (max-width: 767.98px) {
    .ot-auth-shell { justify-content: center !important; padding: 20px; background-position: center; }
    .ot-auth-overlay { background: rgba(8, 19, 32, .22); }
    .ot-auth-shell .ot-auth-panel { padding: 28px 22px; }
    .ot-auth-shell { padding-bottom: 80px; }
    .ot-auth-video-toggle { bottom: 48px; }
}
