.external-sign-in { display:grid; gap:12px; margin:1.25rem 0; }
.provider-button { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:44px; padding:10px 12px; border:1px solid #747775; border-radius:4px; background:#fff; color:#1f1f1f; cursor:pointer; font:500 14px/20px Arial,sans-serif; }
.provider-button img { flex:0 0 20px; object-fit:contain; }
.provider-button:hover { background:#f2f2f2; }
.provider-button:disabled { opacity:.65; cursor:wait; }
.provider-microsoft { font-family:'Segoe UI',Arial,sans-serif; font-weight:600; color:#5e5e5e; border-color:#8c8c8c; }
.provider-apple { background:#000; color:#fff; border-color:#000; font-family:-apple-system,BlinkMacSystemFont,Arial,sans-serif; }
.provider-apple:hover { background:#222; }
.auth-separator { display:flex; align-items:center; gap:1rem; color:var(--color-text-muted); margin:1.5rem 0; font-size:.9rem; }
.auth-separator::before,.auth-separator::after { content:''; height:1px; background:var(--color-border); flex:1; }
.email-code-form, .external-account-link form { margin:1rem 0; }
.email-code-form button { width:100%; }
.room-join-landing { margin:2rem auto; width:100%; max-width:540px; }
.room-join-landing > a { margin:.5rem .25rem .5rem 0; }
.password-strength { color:var(--color-text-muted); font-size:.85rem; margin:.5rem 0 1rem; }
.provider-button.provider-google { font-family:'Google Sans',Arial,sans-serif; }
@font-face { font-family:'Google Sans'; font-style:normal; font-weight:500; font-display:swap; src:url('/auth-provider-icons/google-sans-500.ttf') format('truetype'); }
