/* Email-link sign-in screens. The email button is the one rust action on each screen; everything else is neutral. */
.auth { font-family: var(--font-body, "Source Sans 3", system-ui, sans-serif); color: var(--color-text, #2B2623); }
.auth *, .auth *::before, .auth *::after { box-sizing: border-box; }
.auth__inner { max-width: 480px; margin: 0 auto; padding: var(--space-7, 48px) var(--space-5, 24px); }
.auth__title { margin: 0 0 var(--space-3, 12px); font-family: var(--font-display, "Rubik", system-ui, sans-serif); font-size: 32px; font-weight: 600; line-height: 1.2; }
.auth__title:focus { outline: none; }
.auth__title:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }
.auth__lede { margin: 0 0 var(--space-4, 16px); }
.auth__field { margin-top: var(--space-4, 16px); }
.auth__label { display: block; margin-bottom: var(--space-1, 4px); font-weight: 600; }
.auth__hint { margin: 0 0 var(--space-1, 4px); font-size: 14px; color: var(--color-text-muted, #5E5853); }
.auth__input { display: block; width: 100%; min-height: 44px; padding: var(--space-2, 8px) var(--space-3, 12px); border: 1px solid var(--color-border, #7A736C); border-radius: 4px; background: var(--color-surface-raised, #FFFFFF); color: var(--color-text, #2B2623); font: inherit; font-size: 16px; }
.auth__input[aria-invalid="true"] { border: 2px solid var(--color-accent, #A7410E); }
.auth__actions { display: flex; flex-wrap: wrap; gap: var(--space-3, 12px); margin-top: var(--space-5, 24px); }
.auth__form .auth__primary { margin-top: var(--space-5, 24px); }
.auth__btn, .auth__primary {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 var(--space-5, 24px);
  border: 1px solid var(--color-border, #7A736C); border-radius: 4px; background: transparent; color: var(--color-text, #2B2623);
  font: inherit; font-size: 16px; font-weight: 600; text-decoration: none; cursor: pointer;
}
.auth__btn:hover { background: var(--color-surface-raised, #FFFFFF); }
.auth__btn[aria-disabled="true"], .auth__primary[aria-disabled="true"] { cursor: default; opacity: 0.7; }
.auth__primary { border-color: var(--color-accent, #A7410E); background: var(--color-accent, #A7410E); color: #FFFFFF; }
.auth__primary:hover { background: #8F360A; border-color: #8F360A; }
.auth__msg { margin: var(--space-3, 12px) 0 0; font-weight: 600; }
.auth__msg:empty { display: none; }
.auth a:focus-visible, .auth button:focus-visible, .auth input:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }
.auth .pl-summary { margin-bottom: 0; }
@media (max-width: 760px) { .auth__inner { padding: var(--space-5, 24px) var(--space-4, 16px); } .auth__title { font-size: 26px; } .auth__actions > * { flex: 1 1 100%; } .auth__primary { width: 100%; } }
