/* Tela de login (Devise): cartão centralizado; cores pelos tokens --ui-* do tema. */

.auth { max-width: 420px; margin: 56px auto 0; padding: 0 16px 24px; }
.auth, .auth * { box-sizing: border-box; }
.auth-card { padding: 28px; overflow: visible; }
.auth .auth-title { margin: 0 0 4px; font-family: var(--ui-font-display); font-size: 26px; line-height: 1.2; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--ui-fg); }
.auth .auth-sub { margin: 0 0 22px; color: var(--ui-muted); }
.auth-field { margin-bottom: 18px; text-align: left; }
.auth .auth-field label { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 500; color: var(--ui-fg); }
.auth .auth-field input[type=email], .auth .auth-field input[type=password] {
  display: block; width: 100%; height: auto; min-height: 42px; margin: 0; padding: 10px 12px; font: inherit; color: var(--ui-fg);
  background-color: var(--ui-surface); border: 1px solid var(--ui-line); border-radius: 8px; box-shadow: none; }
.auth .auth-field input:focus { outline: 2px solid var(--ui-accent); outline-offset: 1px; border-color: var(--ui-accent); }
.auth .forgot-password { display: inline-block; margin-top: 8px; font-size: 13px; }
.auth .auth-remember { display: flex; align-items: center; gap: 8px; margin-bottom: 22px; }
.auth .auth-remember input { width: 16px; height: 16px; margin: 0; }
.auth .auth-remember label { margin: 0; font-size: 14px; font-weight: 400; text-transform: none; letter-spacing: 0; }
.auth-actions { display: flex; justify-content: center; }
body.site .auth-submit { min-width: 160px; padding: 11px 28px; }
