/* Final production pass for the reference modal: form controls have a stable
   rhythm on a narrow screen and no legacy field can re-enter the flow. */
.modal--auth { padding:28px; }
.modal--auth [data-auth-step]:not([hidden]) { display:grid; gap:14px; }
.modal--auth .form-label { margin:0; }
.modal--auth .form-hint,
.modal--auth .email-status { margin:0; }
.modal--auth .auth-continue { min-height:48px; margin:2px 0 0; }
.modal--auth .auth-phone-summary { margin:0 !important; }
.modal--auth .auth-phone-summary .link-button { min-height:32px; padding:4px 0; }
.modal--auth .auth-api-error:empty { display:none; }
.modal--auth .auth-api-error:not(:empty) { padding:10px 12px; border:1px solid #f0c4ba; border-radius:10px; color:#9c3d2f; background:#fff3f0; }
.modal--auth .auth-delivery-status { padding:11px 12px; border:1px solid #e2e7ed; border-radius:10px; color:#596270; background:#f7f9fb; }
.modal--auth .auth-delivery-status::before { display:block; margin-bottom:3px; color:#20242c; content:'Подтверждение номера'; font-weight:700; }

@media (max-width:560px) {
  .modal--auth { padding:24px 18px max(24px, calc(24px + env(safe-area-inset-bottom))); }
  .modal--auth [data-auth-step]:not([hidden]) { gap:13px; }
  .modal--auth .auth-progress { margin-bottom:18px; }
  .modal--auth .auth-phone-summary { padding:10px; }
}
