/* Email actions extend the existing dialogs, without changing the page identity. */
.email-composer { border-top: 1px solid var(--line); margin-top: var(--space-8); padding-top: var(--space-6); }
.email-composer h3 { font-family: var(--font-body); font-size: var(--text-lg); line-height: 1.3; margin-bottom: var(--space-3); }
.email-composer .email-intro, .email-composer .email-status { font-size: var(--text-sm); line-height: 1.6; }
.email-composer .email-address-row { display: flex; gap: var(--space-3); align-items: stretch; flex-wrap: wrap; }
.dialog .email-address-row input { flex: 1 1 240px; min-width: 0; width: auto; }
.email-address-row .button { flex: 0 1 auto; }
.email-preview { margin-top: var(--space-6); padding: var(--space-5); border-radius: var(--space-6); background: var(--surface); border: 1px solid var(--line); }
.email-envelope { margin-block: var(--space-3) var(--space-5); }
.email-envelope div { display: grid; grid-template-columns: 5rem minmax(0,1fr); gap: var(--space-2); padding-block: var(--space-1); font-size: var(--text-sm); }
.email-envelope dt { font-weight: 700; }
.email-envelope dd { margin: 0; overflow-wrap: anywhere; }
.dialog .email-preview textarea { font-size: var(--text-sm); min-height: 220px; }
.dialog .email-consent { display: flex; gap: var(--space-3); align-items: flex-start; font-size: var(--text-sm); font-weight: 400; line-height: 1.6; margin-block: var(--space-5); cursor: pointer; }
.dialog .email-consent input { flex: 0 0 22px; width: 22px; height: 22px; min-height: 22px; margin-top: 2px; padding: 0; accent-color: var(--blue); }
.email-consent span { flex: 1; }
.email-composer .email-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.email-composer button { min-height: 44px; }
.email-composer [disabled] { cursor: not-allowed; }
.email-composer button[disabled] { opacity: .65; }
.email-composer .email-status { margin-top: var(--space-4); overflow-wrap: anywhere; }
.email-status:empty { display: none; }
.email-status[data-error="true"] { padding-left: var(--space-3); border-left: 3px solid var(--blue); }
.email-status[data-success="true"] { padding: var(--space-4); border-radius: var(--space-4); border: 1px solid var(--line); background: var(--surface); }
.email-notice { margin-top: var(--space-4); font-size: var(--text-sm); line-height: 1.6; }
.email-notice summary { font-weight: 700; padding-block: var(--space-3); cursor: pointer; }
.email-notice p { font-size: var(--text-sm); margin-bottom: var(--space-3); overflow-wrap: anywhere; }
.email-notice summary:focus-visible, .email-preview:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.email-honeypot { position: absolute; height: 1px; width: 1px; overflow: hidden; clip-path: inset(50%); }
.email-reviewing .email-address-form,
.email-reviewing .email-intro,
.email-reviewing .email-composer > h3,
.email-reviewing [id$="-email-transparency"],
.email-reviewing #share-text,
.email-reviewing label[for="share-text"],
.email-reviewing #share-text + .dialog-actions,
.email-reviewing #invite-form,
.email-reviewing #invite-output,
.email-reviewing label[for="invite-output"],
.email-reviewing #copy-invite { display: none; }
.email-reviewing .email-composer { margin-top: var(--space-4); padding-top: var(--space-3); }
.email-reviewing .email-preview { margin-top: var(--space-3); }
@media (max-width: 600px) {
  .email-address-row .button { width: 100%; }
  .email-preview { padding: var(--space-4); border-radius: var(--space-4); }
  .email-envelope div { grid-template-columns: 1fr; gap: 0; }
  .email-actions { flex-direction: column; align-items: stretch !important; }
}
