/* Telas de acesso (Login, MFA, Esqueci minha senha, Redefinir): sem barra lateral, nenhuma empresa. */
body.auth { margin: 0; min-height: 100%; background: var(--bg-canvas); color: var(--text-default); font-family: var(--font-family); }
.auth-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); padding: var(--space-6) var(--space-10) 0; max-width: 1440px; margin: 0 auto; }
.auth-marca { display: grid; grid-template-columns: auto 1fr; column-gap: var(--space-3); row-gap: 2px; text-decoration: none; color: var(--text-default); min-height: 44px; align-items: center; }
.auth-marca > span:nth-child(2) { font-size: 24px; line-height: 28px; font-weight: 700; align-self: end; }
.auth-marca > span:nth-child(2) b { font-weight: 700; }
.auth-marca .auth-logo { grid-row: span 2; width: 36px; height: 36px; font-size: 15px; }
.auth-marca .auth-sub { grid-column: 2; align-self: start; }
.auth-sub { font-size: 10px; font-weight: 600; letter-spacing: .04em; color: var(--text-secondary); }
.auth-topo .ajuda-btn { position: static; width: 44px; height: 44px; flex: none; background: var(--bg-surface); border: 1px solid var(--border-default); border-radius: var(--radius-control); color: var(--action-primary); font-size: 18px; font-weight: 600; }
.auth-main { display: grid; justify-items: center; padding: 64px var(--space-4) var(--space-10); }
.auth-card { width: 100%; max-width: 532px; display: grid; gap: var(--space-4); padding: var(--space-8); background: var(--bg-surface); border: 1px solid var(--border-default); border-radius: var(--radius-large); }
.auth-logo { display: grid; place-items: center; width: 42px; height: 42px; border-radius: var(--radius-surface); background: var(--action-primary); color: var(--action-on-primary); font-size: 16px; font-weight: 700; }
.auth-cab h1 { margin: 0; font-size: 24px; line-height: 32px; font-weight: 600; text-align: left; }
.auth-cab .sub, .auth-card .sub { margin: var(--space-2) 0 0; text-align: left; font-size: 13px; line-height: 20px; color: var(--text-secondary); }
.auth-card .login-form { display: grid; gap: var(--space-4); }
.auth-card .lf-action { width: 100%; }
.auth-card .btn { width: 100%; justify-content: center; min-height: 44px; }
.auth-card .lf-field--plain { gap: 6px; }
.auth-card .lf-field input { font-size: 16px; }
.auth-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; font-weight: 600; color: var(--action-primary); text-decoration: none; }
.auth-link:focus-visible, .auth-recuperacao summary:focus-visible, .auth-marca:focus-visible { outline: 3px solid var(--state-focus); outline-offset: 2px; }
.auth-card .login-links { text-align: left; margin: 0; }
.auth-prot { margin: 0; font-size: 12px; line-height: 18px; color: var(--text-secondary); }
.auth-estado { margin: 0; min-height: 0; font-size: 12px; color: var(--text-secondary); }
.auth-estado:empty { display: none; }
.auth-recuperacao { margin: 0; }
.auth-recuperacao summary { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; font-weight: 600; color: var(--action-primary); cursor: pointer; }
.auth-recuperacao p { margin: 0; font-size: 12px; line-height: 18px; color: var(--text-secondary); }
.auth-tentativa { display: grid; gap: var(--space-1); padding-top: var(--space-4); border-top: 1px solid var(--border-default); }
.auth-tentativa h2 { margin: 0; font-size: 13px; font-weight: 600; }
.auth-tentativa p { margin: 0; font-size: 13px; line-height: 20px; }
.auth-tentativa .sub { margin: 0; font-size: 12px; }
.auth-alerta { color: var(--status-warning); font-size: 12px !important; font-weight: 500; }
.auth-saidas { display: grid; gap: 0; }
.auth-card .notice { margin: 0; }
.auth-card .divisor { color: var(--text-secondary); }
@media (max-width: 959px) {
  .auth-topo { padding: var(--space-4) var(--space-4) 0; }
  .auth-main { padding: var(--space-6) var(--space-4) var(--space-8); }
  .auth-card { padding: var(--space-4); border-radius: var(--radius-surface); }
  .auth-cab h1 { font-size: 25px; }
  .auth-marca > span:nth-child(2) { font-size: 21px; }
}
