.phone-login { margin-top:24px; }
.phone-login[hidden] { display:none; }
.phone-login .phone-start { margin-top:0; }
.phone-login [data-phone-status]:empty { display:none; }
.phone-pending { margin-top:16px; padding:16px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface); }
.phone-pending[hidden], .phone-approval-actions[hidden], [data-phone-login-link][hidden], [data-phone-details][hidden], [data-phone-retry][hidden] { display:none; }
.phone-pending p { margin:0; color:var(--sub); font-size:12px; }
.phone-code { display:block; margin:8px 0; color:var(--purple-deep); font:600 32px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; font-variant-numeric:tabular-nums; letter-spacing:.12em; }
.phone-pending-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.phone-pending-footer .quiet-action { padding-inline:8px; }
.phone-details { margin:24px 0; padding:16px 0; border-block:1px solid var(--line); }
.phone-details dl { margin:0; display:grid; grid-template-columns:64px minmax(0,1fr); gap:12px 16px; font-size:13px; }
.phone-details dt { color:var(--soft); }
.phone-details dd { margin:0; overflow-wrap:anywhere; }
.phone-approval-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.phone-approval-actions button { justify-content:center; margin:0; }
.phone-approval-help { margin:12px 0 0; color:var(--soft); font-size:12px; }
@media(max-width:360px) { .phone-approval-actions { grid-template-columns:1fr; } }
