.auth-overlay{z-index:2147483000!important;isolation:isolate}
.auth-modal{position:relative;width:min(430px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto}
.auth-close{position:absolute;top:12px;right:12px;display:grid;width:44px;min-height:44px;padding:0;place-items:center;border:0;border-radius:11px;background:transparent;color:var(--text-secondary,#6f675a);font:inherit;font-size:24px;line-height:1;cursor:pointer}
.auth-close:hover{background:var(--bg-secondary,#f7f3eb);color:var(--text-primary,#2f291f)}
.auth-close:focus-visible,.auth-method-tab:focus-visible,.auth-code-btn:focus-visible,.auth-optional-toggle:focus-visible,.auth-btn-submit:focus-visible{outline:2px solid var(--accent-start,#b2782a);outline-offset:2px}
.auth-form-group input{min-height:44px}
.auth-btn-submit{min-height:44px}
.auth-methods{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:14px 0;background:rgba(121,94,41,.08);border:1px solid rgba(121,94,41,.16);border-radius:12px}
.auth-method-tab{min-height:40px;border:0;border-radius:9px;background:transparent;color:var(--text-secondary,#6f675a);font:inherit;cursor:pointer}
.auth-method-tab.active{background:#fff;color:#9a6515;box-shadow:0 1px 5px rgba(70,48,12,.1)}
.auth-code-row{display:grid;grid-template-columns:1fr 116px;gap:8px}
.auth-code-btn{min-height:44px;border:1px solid rgba(178,121,31,.42);border-radius:10px;background:rgba(204,145,44,.08);color:#9a6515;font-weight:600;cursor:pointer}
.auth-code-btn:disabled{opacity:.56;cursor:not-allowed}
.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:13px}
.auth-links a,.auth-switch a{color:#9a6515;cursor:pointer}
.auth-error.auth-success{color:#287b4b;background:rgba(40,123,75,.08);border-color:rgba(40,123,75,.2)}
.auth-security-note{font-size:12px;line-height:1.6;color:var(--text-muted,#8b8377);margin:10px 2px}
.auth-optional-toggle{width:100%;min-height:44px;padding:0;border:0;background:transparent;font:inherit;text-align:left}
.auth-uppercase{text-transform:uppercase}
@media(max-width:560px){.auth-overlay{align-items:flex-end}.auth-modal{width:100%;max-height:92vh;border-radius:20px 20px 0 0;padding-bottom:max(24px,env(safe-area-inset-bottom))}.auth-code-row{grid-template-columns:1fr 108px}}
/* ACCOUNT-UI-039: shared customer auth, approved black/cyan account palette. */
#authOverlay {background:rgba(3,7,11,.76);backdrop-filter:blur(10px);padding:20px;align-items:center;justify-content:center;overflow-y:auto;color-scheme:dark;}
#authOverlay .auth-studio-shell {--auth-shell-width:800px;box-sizing:border-box;width:min(var(--auth-shell-width),100%);max-width:var(--auth-shell-width);max-height:calc(100dvh - 40px);margin:auto;padding:0;display:grid;grid-template-columns:320px minmax(0,1fr);overflow:auto;background:#0d1219;border:1px solid #293740;border-radius:22px;box-shadow:0 24px 90px #0009;color:#e7eff3;text-align:left;font-family:inherit;}
#authOverlay .auth-studio-visual {padding:28px 16px 20px;background:radial-gradient(ellipse at 30% 0%,#133039 0%,#080f15 65%);border-right:1px solid #24313b;min-width:0;}
#authOverlay .auth-studio-brand {display:flex;align-items:center;gap:12px;margin:0 2px 22px;font-size:15px;font-weight:600;line-height:1.5;}
#authOverlay .auth-studio-brand>span {display:grid;place-items:center;flex:0 0 38px;height:38px;border:1px solid #347381;border-radius:12px;color:#b6f7fa;font-size:13px;}
#authOverlay .auth-studio-brand small {display:block;font-size:10px;font-weight:400;color:#95abb8;margin-top:5px;}
#authOverlay .auth-film-host {min-height:468px;}
#authOverlay .auth-film-host iframe {display:block;width:100%;height:486px;border:1px solid #2a3b44;border-radius:12px;background:#070b10;box-sizing:border-box;}
#authOverlay .auth-studio-panel {padding:40px 32px 28px;min-width:0;position:relative;align-self:center;}
#authOverlay h2 {font-size:26px;line-height:1.3;letter-spacing:-.6px;font-weight:650;text-align:left;color:#edf5f7;margin:0 0 10px;padding-right:38px;}
#authOverlay .auth-subtitle {font-size:13px;color:#aab7c2;line-height:1.75;margin:0 0 26px;text-align:left;}
#authOverlay .auth-close {color:#aab7c2;background:transparent;border:1px solid #293740;border-radius:10px;right:14px;top:12px;width:36px;height:36px;min-height:36px;line-height:1;}
#authOverlay .auth-methods {display:grid;grid-template-columns:1fr 1fr;border:1px solid #28353f;border-radius:10px;padding:4px;gap:4px;background:#080d13;margin-bottom:22px;}
#authOverlay .auth-method-tab {border:0;border-radius:7px;background:transparent;color:#aab7c2;min-height:42px;box-shadow:none;font-size:13px;}
#authOverlay .auth-method-tab.active {color:#c1fcff;background:#17333e;box-shadow:inset 0 0 0 1px #285665;}
#authOverlay .auth-form-group {margin-bottom:16px;}
#authOverlay .auth-form-group label {display:block;margin-bottom:8px;color:#bbc7d0;font-size:12px;line-height:1.5;}
#authOverlay .auth-form-group input {box-sizing:border-box;width:100%;min-width:0;height:46px;border:1px solid #303b45;border-radius:10px;background:#080d13;color:#edf5f7;font-size:14px;padding:0 12px;box-shadow:none;outline:none;}
#authOverlay input::placeholder {color:#8494a2;}
#authOverlay input:focus {border-color:#7cdee4;box-shadow:0 0 0 3px #75e0e415;}
#authOverlay button {font-family:inherit;cursor:pointer;}
#authOverlay button:disabled {cursor:wait;opacity:.55;}
#authOverlay button:focus-visible {outline:2px solid #8ae9ed;outline-offset:3px;}
#authOverlay .auth-password-field {position:relative;}
#authOverlay .auth-password-field input {padding-right:58px;}
#authOverlay .auth-password-field button {position:absolute;right:3px;top:3px;height:40px;min-width:48px;border:0;border-radius:7px;background:transparent;color:#b8edef;font-size:12px;}
#authOverlay .auth-code-row {grid-template-columns:minmax(0,1fr) 108px;gap:8px;}
#authOverlay .auth-code-btn {height:46px;padding:0 8px;border:1px solid #305463;border-radius:10px;background:#142630;color:#b6e8ed;font-size:12px;white-space:nowrap;}
#authOverlay .auth-btn-submit {width:100%;height:46px;margin-top:6px;border:1px solid #adf2f4;border-radius:10px;background:linear-gradient(115deg,#d9f9fb,#9eeaef);color:#102a32;box-shadow:none;font-size:14px;font-weight:650;}
#authOverlay .auth-btn-submit:hover {filter:brightness(1.07);transform:none;}
#authOverlay .auth-links {display:flex;justify-content:space-between;gap:12px;margin-top:12px;}
#authOverlay .auth-text-link,#authOverlay .auth-optional-toggle {border:0;background:transparent;color:#a2e6ec;font-size:13px;padding:8px 0;min-height:40px;}
#authOverlay .auth-switch {color:#aab7c2;font-size:13px;text-align:center;margin-top:12px;}
#authOverlay .auth-error {border:1px solid #8b4c53;background:#311b24;color:#ffd3d7;border-radius:9px;line-height:1.6;font-size:12px;padding:10px 12px;margin-bottom:16px;}
#authOverlay .auth-error.auth-success {border-color:#2f6558;background:#112e29;color:#ade8cf;}
#authOverlay .auth-error:not(.visible) {display:none;}
#authOverlay .auth-security-note {font-size:11px;line-height:1.8;color:#9aaab7;margin:8px 0 18px;}
@media(max-width:650px){
 #authOverlay {padding:12px;align-items:center;}
 #authOverlay .auth-studio-shell {display:block;width:min(430px,100%);max-height:calc(100dvh - 24px);border-radius:18px;}
 #authOverlay .auth-studio-visual {display:none;}
 #authOverlay .auth-studio-panel {padding:36px 22px 24px;}
 #authOverlay h2 {font-size:24px;}
 #authOverlay .auth-subtitle {margin-bottom:22px;}
}
