#auth-root:empty { display: none; }
.auth-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 20% 10%, #f7c757 0, transparent 28%), radial-gradient(circle at 85% 85%, #d34b36 0, transparent 26%), var(--papel); }
.auth-card { width: min(100%, 430px); display: grid; gap: 22px; padding: 34px; border: 1px solid var(--linha); border-radius: 24px; background: color-mix(in srgb, var(--painel) 94%, transparent); box-shadow: 0 24px 70px rgb(59 28 14 / .2); text-align: center; }
.auth-logo { width: 112px; height: 112px; margin: -4px auto 0; object-fit: cover; border-radius: 24px; box-shadow: 0 8px 28px rgb(59 28 14 / .15); }
.auth-kicker { color: var(--pimenta); font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.auth-card h1 { font: 800 32px/1.1 var(--f-display); }
.auth-sub { color: var(--texto-2); margin-top: 5px; }
.auth-card form { display: grid; gap: 14px; text-align: left; }
.auth-card label { display: grid; gap: 6px; font-weight: 700; }
.auth-card .campo, .auth-card .btn { width: 100%; }
.auth-error { min-height: 22px; color: var(--pimenta); font-size: 14px; }
@media (max-width: 520px) { .auth-card { padding: 26px 20px; border-radius: 18px; } .auth-logo { width: 92px; height: 92px; } }
