/* Autenticação e fluxos de senha/e-mail — mockup `Auth Pages`, sobre os tokens de site.css. */
body.auth-page {
    min-height: 100vh; background: var(--bg); color: var(--ink-strong);
    display: flex; flex-direction: column;
}
.auth-page .site-header { position: relative; background: transparent; border: 0; box-shadow: none; padding-top: 44px; }
.auth-page .site-header .barra { min-height: 0; max-width: none; padding: 0; justify-content: center; }
.auth-page .site-header .wordmark { font-size: 1.5rem; }
.auth-page .site-header .site-nav,
.auth-page .site-header .nav-toggle { display: none !important; }
.auth-page .site-header .nav-actions { position: absolute; right: 24px; top: 40px; margin: 0; }

.auth-page main { display: flex; flex: 1; align-items: flex-start; justify-content: center; padding: 28px 20px 56px; }
.auth-page .secao { width: 100%; padding: 0; }
.auth-page .card-auth {
    width: min(100%, 400px); margin: 0 auto; padding: 36px;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 12px; box-shadow: var(--sombra-flutuante);
}
.auth-page .card-auth h1 { margin: 0 0 6px; font-size: 1.7rem; font-weight: 500; letter-spacing: -.015em; }
.auth-page .card-auth > .lead,
.auth-page [role=tabpanel] > .lead { margin: 0 0 26px; color: var(--ink-meta); font-size: .875rem; line-height: 1.55; }
.auth-page .form { gap: 16px; }
.auth-page .btn-primario { min-height: 46px; font-size: .94rem; box-shadow: none; }
.auth-page .linha-links { margin-top: 2px; justify-content: center; text-align: center; }
.auth-page .linha-links a:first-child { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.auth-page .senha-label-row a { color: var(--primary); font-size: .78rem; }
.auth-page .trial-note { margin: 0; color: var(--ink-meta); font-size: .78rem; text-align: center; }

.auth-page .site-footer { border: 0; background: transparent; color: var(--ink-meta); padding: 0 20px 24px; }
.auth-page .site-footer nav,
.auth-page .site-footer .interno > p:first-child { display: none; }
.auth-page .site-footer .interno { min-height: 0; padding: 0; text-align: center; }
.auth-page .site-footer .interno > p:last-child { font-size: .69rem; }

@media (max-width: 520px) {
    .auth-page .site-header { padding-top: 28px; }
    .auth-page .site-header .nav-actions { right: 16px; top: 24px; }
    .auth-page main { padding-top: 22px; }
    .auth-page .card-auth { padding: 26px 22px; }
    .auth-page .card-auth h1 { font-size: 1.5rem; }
}
