.auth-mail-icon { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 24px; border-radius: 24px; color: #4f213b; background: #ffe4ee; font-size: 36px; transform: rotate(-6deg); }
.auth-email { overflow-wrap: anywhere; }
.auth-code-error { padding: 14px 18px; border-radius: 14px; background: #fff0f5; color: #8b294a; font-size: 14px; line-height: 1.6; }
.consent-page { padding: 48px 24px 72px; color: #4f213b; }
.consent-shell { max-width: 1080px; margin: auto; display: grid; grid-template-columns: 1fr 1.1fr; border: 1px solid #eee3e9; border-radius: 32px; overflow: hidden; background: white; box-shadow: 0 24px 80px #4f213b0d; }
.consent-welcome { position: relative; padding: 40px; background: linear-gradient(145deg, #4f213b, #74445f); color: white; overflow: hidden; }
.consent-welcome .public-auth-eyebrow { color: #f8c3d7; }
.consent-welcome h1 { position: relative; font-size: clamp(30px, 4vw, 48px); letter-spacing: -.04em; line-height: 1.1; margin: 30px 0 18px; }
.consent-welcome > p:not(.public-auth-eyebrow) { color: #f3dce6; font-size: 16px; line-height: 1.7; max-width: 330px; }
.consent-welcome-tag { display: inline-block; padding: 10px 16px; margin-top: 24px; border: 1px solid #ffffff30; border-radius: 24px; font-size: 12px; color: #f8d8e5; }
.consent-art { position: relative; height: 205px; margin-top: 32px; }
.consent-art-arch { position: absolute; width: 150px; height: 205px; left: 16%; background: linear-gradient(150deg, #eeb2c8, #b87994); border-radius: 90px 90px 0 0; }
.consent-art-circle { position: absolute; width: 105px; height: 105px; background: #f9d8b8; border-radius: 50%; top: 22px; right: 10%; box-shadow: 0 12px 44px #2c122330; }
.consent-art-seat { position: absolute; width: 190px; height: 84px; background: #fa83ad; border-radius: 30px 30px 12px 12px; left: 30%; bottom: -6px; box-shadow: 0 16px 30px #33142640; transform: rotate(-5deg); }
.consent-art-spark { position: absolute; top: -15px; left: 2%; font-size: 62px; color: #ffdfed; }
.consent-content { padding: 42px; min-width: 0; }
.consent-content h2 { font-size: 29px; line-height: 1.25; margin: 0 0 16px; overflow-wrap: anywhere; }
.consent-intro { color: #8e6b7f; line-height: 1.65; margin-bottom: 28px; }
.consent-form { display: grid; gap: 20px; }
.consent-choice { display: flex; align-items: flex-start; gap: 14px; padding: 18px; border: 1px solid #eadde5; border-radius: 18px; background: #fffafc; font-size: 14px; line-height: 1.65; }
.consent-choice input { flex-shrink: 0; width: 20px; height: 20px; margin-top: 3px; accent-color: #4f213b; }
.consent-choice:has(input:checked) { border-color: #fa83ad; background: #fff3f8; }
.consent-choice label { cursor: pointer; }
.consent-choice a { color: #4f213b; text-underline-offset: 3px; }
.consent-form select { width: 100%; border: 1px solid #eadde5; border-radius: 14px; padding: 14px 10px; color: #4f213b; background: white; font: inherit; font-size: 14px; }
.consent-exit { text-align: center; margin-top: 22px; }
.consent-exit button { border: 0; background: none; color: #8e6b7f; text-decoration: underline; font: inherit; font-size: 13px; cursor: pointer; }
@media (max-width: 760px) { .consent-page { padding: 24px 16px 48px; } .consent-shell { grid-template-columns: 1fr; } .consent-welcome { padding: 28px; } .consent-art { display: none; } .consent-welcome h1 { margin-top: 20px; } .consent-welcome-tag { margin-top: 8px; } .consent-content { padding: 28px 22px; } }
