/* Sign-in, registration, password recovery and unsubscribe pages. */
body { margin: 0; overflow-wrap: anywhere; }
input, select, textarea, button { font: inherit; }
input:not([type="checkbox"]):not([type="radio"]), select, textarea { font-size: 16px; min-height: 44px; max-width: 100%; }
button, a.underline { min-height: 44px; }
button { white-space: normal; }
:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
@media (max-width: 639px) {
 .min-h-screen { min-height: 100vh; min-height: 100dvh; padding-top: max(1.5rem, env(safe-area-inset-top)); padding-bottom: max(1.5rem, env(safe-area-inset-bottom)); }
 .items-center.justify-end { flex-wrap: wrap; gap: 1rem; }
 .items-center.justify-end > button { margin-left: 0; width: 100%; justify-content: center; }
 .items-center.justify-end > a { display: inline-flex; align-items: center; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
.unsubscribe-page { min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.unsubscribe-card { width: 100%; background: #fff; box-shadow: 0 8px 32px #33415524; }
.unsubscribe-card .card-body { padding: 2rem 1.5rem; text-align: center; }
.unsubscribe-card h4 { font-size: 1.4rem; font-weight: 700; margin: .75rem 0; }
.unsubscribe-card p { color: #475569; margin: .75rem 0 1.25rem; }
.unsubscribe-card button { display: block; width: 100%; padding: .75rem 1rem; color: #fff; background: #b91c1c; border: 0; }
label.inline-flex { min-height: 44px; }
input[type="checkbox"] { width: 18px; height: 18px; }
