/* Telas de entrada (casais e administrador). Usa os tokens de styles.css. */
body.auth { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; }
.auth-wrap { width: min(920px, 100%); display: grid; grid-template-columns: 1fr 1fr; background: #fff; border-radius: 28px; overflow: hidden; box-shadow: 0 12px 40px rgba(70, 50, 40, .12); }
.auth-art { background: linear-gradient(150deg, #e3655b, #c9877b 55%, var(--primary)); color: #fff; padding: 48px 40px; display: grid; align-content: center; gap: 14px; }
.auth-art h2 { font-size: 28px; line-height: 1.25; }
.auth-art p { opacity: .92; margin: 0; }
.auth-card { box-shadow: none; border-radius: 0; padding: 44px 40px; display: grid; gap: 10px; align-content: center; }
.auth-card h1 { font-size: 26px; }
.auth-card > .muted { margin: 0 0 8px; }
.form-msg { margin: 0; min-height: 0; font-size: 14px; font-weight: 700; color: var(--accent); }
.form-msg:empty { display: none; }
.form-msg.ok { color: var(--primary-dark); }
.divider { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 13px; }
.divider::before, .divider::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.link-btn { border: 0; background: none; color: var(--primary); font-weight: 700; cursor: pointer; padding: 6px; }
.link-btn:hover { text-decoration: underline; }
.slug-hint { margin: -6px 0 0; }
.slug-hint code { background: var(--bg); padding: 2px 6px; border-radius: 6px; }
.done-icon { width: 64px; height: 64px; border-radius: 50%; background: var(--primary-soft); color: var(--primary-dark); display: grid; place-items: center; font-size: 30px; font-weight: 700; }
.auth-single { width: min(440px, 100%); grid-template-columns: 1fr; }
@media (max-width: 760px) {
  .auth-wrap { grid-template-columns: 1fr; }
  .auth-art { padding: 28px 24px; }
  .auth-art h2 { font-size: 22px; }
  .auth-card { padding: 28px 22px; }
}
