/* Вход, приглашение, сброс пароля (boot.js — форма входа; auth-pages.js — публичные экраны в #public):
   карточка по центру экрана, бренд, поля, ошибка role=alert, подпись «Забыли пароль?». Только токены. */
.auth { --auth-card-w: 420px;
  min-height: 100vh; display: grid; place-items: center; padding: var(--s4); background: var(--bg); }
.auth-card { width: min(var(--auth-card-w), 100%); display: flex; flex-direction: column; gap: var(--s4);
  --card-pad: var(--s5); --card-shadow: var(--shadow-md); }
.auth-brand { display: flex; align-items: center; gap: var(--s2); }
.auth-brand .brand-mark { width: 36px; height: 36px; font-size: var(--fs-sm); border-radius: var(--r); }
.auth-brand .brand-name { font-size: var(--fs-lg); }
.auth-title { font-size: var(--fs-xl); }
.auth-sub { color: var(--fg-muted); font-size: var(--fs-md); margin-top: var(--s1); }
.auth-card .btn.primary { width: 100%; }
.auth-foot { font-size: var(--fs-sm); color: var(--fg-muted); line-height: var(--lh-body); }
.auth-card .error:empty { min-height: 0; }
@media (max-width: 480px) {
  .auth { place-items: start center; padding-top: var(--s6); }
  .auth-card { --card-pad: var(--s4); }
}
