/* Local component only. Approved white CTA retains its documented contrast limit. */
.moderation-rejection-dialog, .moderation-chat-notification, .moderation-rejection-noscript { box-sizing: border-box; font-family: Onest, Arial, sans-serif; text-align: left; color: #212121; }
.moderation-rejection-dialog { width: min(32.5rem, calc(100% - 32px)); max-width: none; height: auto; top: 50%; bottom: auto; transform: translateY(-50%); max-height: calc(100dvh - 32px); overflow-y: auto; margin: auto; padding: 36px; border: 0; border-radius: 24px; background: #fff; box-shadow: 0 24px 100px rgba(16,35,44,.20); }
.moderation-rejection-dialog::backdrop { background: rgba(16,35,44,.60); }
.moderation-rejection-title-group { margin: 0 28px 16px 0; }
.moderation-rejection-dialog h2 { margin: 0; font: 500 1.75rem/1.2 Onest, Arial, sans-serif; color: #212121; min-width: 0; overflow-wrap: break-word; }
.moderation-rejection-dialog h2:focus, .moderation-chat-notification h2:focus { outline: none; }
#moderation-rejection-description { margin: 0 0 24px; font-size: 1rem; line-height: 1.5; color: #4f575c; overflow-wrap: anywhere; }
#moderation-rejection-note { margin: 12px 0 16px; font-size: .875rem; line-height: 1.5; color: #61666b; overflow-wrap: anywhere; }
.moderation-rejection-chat { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; gap: 16px; padding: 10px 20px; border: 0; border-radius: 88px; background: #00a6de; color: #fff; font: 400 1.25rem/normal Onest, Arial, sans-serif; white-space: normal; cursor: pointer; transition: background-color 200ms; }
.moderation-rejection-chat > span { min-width: 0; overflow-wrap: anywhere; }
.moderation-rejection-chat > svg { flex: 0 0 24px; width: 24px; height: 24px; }
.moderation-rejection-email { display: flex; align-items: center; width: fit-content; max-width: 100%; min-height: 44px; font-size: .875rem; line-height: 1.5; color: #007fa9; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; border-radius: 4px; }
.moderation-rejection-email:visited { color: #5d4a83; }
.moderation-rejection-close { position: absolute; top: 12px; right: 16px; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #666; font: 400 28px/1 Onest, Arial, sans-serif; cursor: pointer; }
.moderation-rejection-dialog button:focus-visible, .moderation-rejection-email:focus-visible, .moderation-chat-notification button:focus-visible, .moderation-rejected-action:focus-visible { outline: 3px solid #0087b5; outline-offset: 3px; }
.moderation-chat-notification { position: fixed; z-index: 9999; right: 24px; bottom: var(--moderation-chat-bottom, max(24px, calc(env(safe-area-inset-bottom, 0px) + 16px))); width: min(360px, calc(100% - 32px)); max-height: calc(100dvh - var(--moderation-chat-bottom, 24px) - 16px); overflow-y: auto; padding: 24px; border-radius: 20px; border: 1px solid #d8e0e4; background: #fff; box-shadow: 0 16px 48px rgba(16,35,44,.15); }
.moderation-chat-notification[hidden] { display: none; }
.moderation-chat-notification .moderation-rejection-close { top: 8px; right: 8px; }
.moderation-chat-notification h2 { margin: 0 32px 12px 0; font-size: 1.25rem; font-weight: 500; line-height: 1.3; overflow-wrap: anywhere; }
.moderation-chat-status { font-size: .875rem; line-height: 1.5; color: #4f575c; margin-bottom: 12px; overflow-wrap: anywhere; }
.moderation-chat-progress { display: flex; align-items: center; gap: 8px; }
.moderation-chat-spinner { flex: 0 0 16px; width: 16px; height: 16px; border: 2px solid #007fa930; border-top-color: #007fa9; border-radius: 50%; animation: moderation-chat-spin 800ms linear infinite; }
.moderation-chat-error .moderation-chat-status { padding: 12px 14px; border-radius: 12px; background: #fff1ee; color: #923526; }
.moderation-chat-error .moderation-rejection-email { width: 100%; min-height: 50px; padding: 12px 16px; justify-content: center; border: 1px solid #007fa9; background: #fff; border-radius: 24px; color: #007fa9; text-decoration: none; }
/* Keep the pre-existing blocked button appearance; rejected now opens help. */
.moderation-rejected-action { cursor: pointer !important; }
.moderation-rejected-action.moderation-tooltip-dismissed .recording-moderation-tooltip { display: none; }
.moderation-rejection-noscript { margin: 16px; padding: 24px; background: #eef9fd; border-radius: 16px; }
@media (hover:hover) {
 .moderation-rejection-chat:hover { background: rgba(0,166,222,.8); }
 .moderation-rejection-email:hover { color: #005f7f; }
 .moderation-rejection-close:hover { background: #f1f5f7; }
 .moderation-chat-error .moderation-rejection-email:hover { background: #eef9fd; color: #006b91; }
}
.moderation-rejection-chat:active { background: #0096c9; }
.moderation-rejection-email:active { color: #004d69; }
.moderation-rejection-close:active { background: #e3eef3; color: #212121; }
.moderation-chat-error .moderation-rejection-email:active { background: #e3eef3; color: #005f7f; }
@keyframes moderation-chat-spin { to { transform: rotate(360deg); } }
@media(max-width:540px) {
 .moderation-rejection-dialog { padding: 28px 22px 24px; border-radius: 22px; }
 .moderation-rejection-dialog h2 { font-size: 1.5625rem; }
 .moderation-rejection-dialog .moderation-rejection-close { right: 12px; }
 .moderation-chat-notification { left: 16px; right: 16px; padding: 22px; }
}
@media(prefers-reduced-motion:reduce) {
 .moderation-rejection-chat { transition: none; }
 .moderation-chat-spinner { animation: none; }
}
@media(forced-colors:active) {
 .moderation-rejection-dialog, .moderation-chat-notification, .moderation-rejection-noscript, .moderation-chat-status, .moderation-rejected-tooltip { background: Canvas; color: CanvasText; border: 1px solid CanvasText; box-shadow: none; }
 .moderation-rejection-chat, .moderation-rejection-close, .moderation-rejected-action { background: Canvas !important; color: ButtonText !important; border: 1px solid ButtonText !important; }
 .btn-primary.recording-moderation-blocked.moderation-rejected-action, .btn.live-ready.recording-moderation-blocked.moderation-rejected-action { background: Canvas !important; color: ButtonText !important; border: 1px solid ButtonText !important; }
 .moderation-rejection-email, .moderation-chat-error .moderation-rejection-email { color: LinkText; background: Canvas; border-color: ButtonText; }
 .moderation-chat-spinner { border-color: CanvasText; }
 .moderation-rejection-dialog button:focus-visible, .moderation-rejection-email:focus-visible, .moderation-chat-notification button:focus-visible, .moderation-rejected-action:focus-visible { outline-color: Highlight; }
}
