/* Compact, centered language control shared by original auth and role forms. */
html body.login form.language-switcher,html body .mauto-join488 .language-switcher{position:relative;width:max-content;max-width:100%;gap:0;margin-left:auto;margin-right:auto}
html body.login form.language-switcher label,html body .mauto-join488 .language-switcher label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
html body.login form.language-switcher select,html body .mauto-join488 .language-switcher select{flex:none;width:158px;max-width:100%;min-height:44px;height:44px;padding:8px 30px 8px 42px;border:1px solid #d4e2f2;border-radius:14px;background-color:#fff;color:#253e61;font-size:14px;line-height:20px}
.mauto-language-icon580{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:21px;height:21px;pointer-events:none;color:#253e61}
.mauto-language-icon580 svg{display:block;width:100%;height:100%}
html body.login form.language-switcher .mauto-language-icon580{margin-top:2px}
html:has(.mauto-join488 .join-roles),html body:has(.mauto-join488 .join-roles){overscroll-behavior:none;overflow-x:clip}
html.mauto-role-fits580,html.mauto-role-fits580 body{overflow-y:hidden;overscroll-behavior:none}
html body .mauto-join488:has(.join-roles){min-height:100dvh!important}
html body .mauto-join488 .join-welcome-art{max-width:260px;max-height:260px}

html body.login form.language-switcher{border:0;box-shadow:none;background:transparent;padding:8px 0 max(4px,env(safe-area-inset-bottom));width:158px}html body.login form.language-switcher select{flex:none;margin:0}

/* Fill role space with useful choices; retain short-screen/text-zoom fallback. */
html body .mauto-join488 .join-role-option{min-height:clamp(58px,9dvh,80px);padding:9px 12px}
html body .mauto-join488 .join-welcome-art{width:clamp(100px,calc(100dvh - 515px),250px);height:clamp(100px,calc(100dvh - 515px),250px)}
html body .mauto-join488 .join-form-head{margin-bottom:4px;gap:8px}
html body .mauto-join488 .join-form-art{width:112px;height:112px;margin:2px auto}
html body .mauto-join488 .join-profile-form{gap:6px}
html body .mauto-join488 .join-profile-form label{gap:3px}
html body .mauto-join488 .join-profile-form input:not([type=checkbox]){min-height:44px;padding:8px 12px}
@media(max-height:680px){html body .mauto-join488 .join-role-option{min-height:54px;padding:6px 10px}}
