.phone-auth [hidden] { display: none !important; }
.phone-auth .phone-prefix-field { display: flex; align-items: center; gap: .7rem; }
.phone-auth .phone-country { flex-shrink: 0; font-size: .9rem; color: var(--color-muted); }
.phone-auth .phone-prefix-field input { min-width: 0; flex: 1; }
.phone-auth .phone-consent { align-items: flex-start; font-size: .82rem; line-height: 1.55; }
.phone-auth .phone-consent input { margin-top: .3rem; flex-shrink: 0; }
.phone-auth .phone-code { font-size: 1.4rem; letter-spacing: .24em; font-variant-numeric: tabular-nums; }
.phone-auth .phone-status { margin: .2rem 0; font-size: .9rem; line-height: 1.5; }
.phone-auth .phone-auth-error { color: #a22c20; }
.phone-auth .phone-secondary { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }
.phone-auth .phone-cooldown { margin: 0; min-height: 1.5em; }
.phone-auth .phone-captcha { max-width: 100%; overflow-x: auto; }
.phone-auth button:disabled { cursor: wait; opacity: .6; }
.phone-auth input[readonly] { background: var(--color-paper); }
.phone-password-fallback { border-top: 1px solid var(--color-rule-on-paper); margin-top: 1.5rem; padding-top: 1.2rem; }
.phone-password-fallback summary { cursor: pointer; font-weight: 700; font-size: .9rem; }
.phone-password-fallback[open] summary { margin-bottom: 1.2rem; }
