/* Email Writer v3 — layered on aiwa-paraphrase.css (shared app shell) */
.email-writer-page #emPurposeMenu { width: 620px; }
.em-purpose-list { grid-template-columns: 1fr 1fr; }
.em-purpose-dd .pp-mode-btn-text b, .email-writer-page #ppModeDd .pp-mode-btn-text b { max-width: 170px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.em-extras { gap: 14px; }
.em-length .pp-synonyms-value { min-width: 62px; }
.em-details-btn { display: inline-flex; align-items: center; gap: 7px; height: 36px; max-width: 260px; padding: 0 13px; border: 1px solid var(--aiwa-line); border-radius: 999px; background: #fff; color: var(--aiwa-text); font: inherit; font-size: 12.5px; font-weight: 650; white-space: nowrap; cursor: pointer; transition: background-color 140ms, border-color 140ms, color 140ms; }
.em-details-btn span { overflow: hidden; text-overflow: ellipsis; }
.em-details-btn .aiwa-ui-icon { width: 14px; height: 14px; flex: 0 0 auto; }
.em-details-btn:hover { border-color: #9bc7aa; background: var(--aiwa-brand-soft); color: var(--aiwa-brand-dark); }
.em-details-btn.is-on { border-color: var(--aiwa-brand); background: var(--aiwa-brand); color: #fff; }
.em-details-btn.is-on .aiwa-ui-icon { filter: invert(1); }
.em-in-tools { right: 14px; }
.em-in-tools[hidden] { display: none !important; }
.email-writer-page .pp-pane-in .pp-out-tools { display: flex; }
.email-writer-page.has-incoming .pp-input { padding-top: 50px; }
.em-output { padding: 0; display: flex; flex-direction: column; }
.em-output.empty { display: grid; padding: 22px 26px; }
.em-output.is-working .em-draft { padding-top: 50px; }
.em-head { flex: 0 0 auto; padding: 50px 26px 12px; border-bottom: 1px solid var(--aiwa-line); background: #fbfcfb; }
.em-head[hidden] { display: none; }
.em-field { display: flex; align-items: center; gap: 10px; }
.em-field > span { flex: 0 0 auto; color: var(--aiwa-muted); font-size: 11px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.em-field input { flex: 1; min-width: 0; height: 36px; padding: 0 10px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: var(--aiwa-ink); font: inherit; font-size: 16px; font-weight: 750; outline: 0; }
.em-field input:hover { border-color: var(--aiwa-line); background: #fff; }
.em-field input:focus { border-color: var(--aiwa-brand); background: #fff; box-shadow: 0 0 0 3px rgba(19, 122, 61, 0.14); }
.em-field small { flex: 0 0 auto; color: var(--aiwa-muted); font-size: 11px; font-weight: 650; white-space: nowrap; }
.em-alts { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.em-alts[hidden] { display: none; }
.em-alts > span { color: var(--aiwa-muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; margin-right: 2px; }
.em-alts button { max-width: 100%; min-height: 28px; padding: 3px 11px; border: 1px solid var(--aiwa-line); border-radius: 999px; background: #fff; color: var(--aiwa-text); font: inherit; font-size: 12.5px; font-weight: 600; text-align: left; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.em-alts button:hover { border-color: #9bc7aa; background: var(--aiwa-brand-soft); color: var(--aiwa-brand-dark); }
.em-draft { flex: 1 1 auto; min-height: 0; padding: 20px 26px 40px; overflow: auto; color: var(--aiwa-ink); font-size: 16px; line-height: 1.85; white-space: pre-wrap; overflow-wrap: anywhere; outline: 0; }
.em-draft[hidden] { display: none; }
.em-draft[contenteditable="true"]:focus, .em-draft[contenteditable="plaintext-only"]:focus { box-shadow: inset 0 0 0 2px rgba(19, 122, 61, 0.22); }
.em-refine-menu { left: auto; right: 0; min-width: 190px; }
.em-stat b { color: var(--aiwa-brand-dark); }
.em-dialog-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.em-dialog label { display: grid; gap: 5px; color: var(--aiwa-muted); font-size: 11.5px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.em-dialog input { height: 40px; padding: 0 12px; border: 1px solid var(--aiwa-line); border-radius: 10px; background: #fbfcfb; color: var(--aiwa-ink); font: inherit; font-size: 14px; outline: 0; }
.em-dialog input:focus, .em-dialog textarea:focus { border-color: var(--aiwa-brand); box-shadow: 0 0 0 3px rgba(19, 122, 61, 0.14); background: #fff; }
.em-dialog textarea { min-height: 150px; }
.em-dialog-reply { margin-top: 2px; }
@media (max-width: 1500px) { .em-purpose-dd .pp-mode-btn-text b, .email-writer-page #ppModeDd .pp-mode-btn-text b { max-width: 130px; } .em-details-btn { max-width: 200px; } }
@media (max-width: 900px) {
  .email-writer-page #emPurposeMenu { width: auto; }
  .em-purpose-list { grid-template-columns: 1fr; }
  .em-extras { flex: 1 1 100%; }
  .em-details-btn { max-width: none; }
  .em-head { padding: 46px 16px 10px; }
  .em-field input { font-size: 15px; }
  .em-draft { padding: 16px 16px 32px; }
  .em-dialog-grid { grid-template-columns: 1fr; }
  .hm-dialog { width: calc(100vw - 24px); }
}
/* dialog (shared with humanizer) */
.hm-dialog { width: min(560px, calc(100vw - 32px)); padding: 0; border: 1px solid var(--aiwa-line); border-radius: 18px; background: #fff; color: var(--aiwa-text); box-shadow: 0 28px 70px rgba(10, 40, 24, 0.26); }
.hm-dialog::backdrop { background: rgba(14, 30, 20, 0.42); backdrop-filter: blur(2px); }
.hm-dialog-in { margin: 0; padding: 18px 20px 16px; display: grid; gap: 12px; }
.hm-dialog-head { display: flex; align-items: flex-start; gap: 12px; }
.hm-dialog-head > .aiwa-ui-icon { flex: 0 0 auto; width: 34px; height: 34px; padding: 8px; border-radius: 10px; background: var(--aiwa-brand-soft); filter: invert(35%) sepia(70%) saturate(680%) hue-rotate(97deg) brightness(91%); }
.hm-dialog-head h2 { margin: 0 0 2px; font-size: 16px; font-weight: 800; color: var(--aiwa-ink); }
.hm-dialog-head p { margin: 0; color: var(--aiwa-muted); font-size: 12.5px; line-height: 1.45; }
.hm-dialog-close { margin-left: auto; flex: 0 0 auto; width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 8px; background: transparent; cursor: pointer; }
.hm-dialog-close:hover { background: var(--aiwa-bg); }
.hm-dialog-close .aiwa-ui-icon { width: 12px; height: 12px; }
.hm-dialog textarea { width: 100%; min-height: 170px; padding: 12px 14px; border: 1px solid var(--aiwa-line); border-radius: 12px; background: #fbfcfb; color: var(--aiwa-ink); font: inherit; font-size: 14px; line-height: 1.6; resize: vertical; outline: 0; }
.hm-dialog textarea:focus { border-color: var(--aiwa-brand); box-shadow: 0 0 0 3px rgba(19, 122, 61, 0.14); background: #fff; }
.hm-dialog-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.hm-dialog-foot > span { color: var(--aiwa-muted); font-size: 12px; font-weight: 650; }
.hm-dialog-actions { display: flex; gap: 8px; margin-left: auto; }
.hm-dialog-actions [hidden] { display: none; }
@media (max-width: 900px) {
  .hm-extras { flex: 1 1 100%; justify-content: space-between; }
  .hm-score { font-size: 10.5px; }
  .hm-dialog { width: calc(100vw - 24px); }
  .hm-dialog textarea { min-height: 150px; }
  .hm-voice-btn span { max-width: 140px; overflow: hidden; text-overflow: ellipsis; }
}
.hm-dialog-actions button { min-height: 38px; display: inline-flex; align-items: center; gap: 7px; padding: 8px 16px; border: 1px solid var(--aiwa-line); border-radius: 10px; background: #fff; color: var(--aiwa-ink); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: background-color 140ms, border-color 140ms; }
.hm-dialog-actions button:hover { background: var(--aiwa-bg); }
.hm-dialog-actions button.primary { border-color: var(--aiwa-brand); background: var(--aiwa-brand); color: #fff; }
.hm-dialog-actions button.primary:hover { background: var(--aiwa-brand-dark); border-color: var(--aiwa-brand-dark); }
.hm-dialog-actions button.primary .aiwa-ui-icon { width: 14px; height: 14px; filter: invert(1); }
.hm-dialog-actions button[hidden] { display: none; }
.em-refine-menu { top: calc(100% + 6px); bottom: auto; }
.em-output:not(.empty) .result-empty { display: none; }
.email-writer-page .aiwa-doc-head { min-width: 120px; }
@media (max-width: 1500px) { .aiwa-app-shell.email-writer-page .aiwa-doc-kicker { display: none; } .aiwa-app-shell.email-writer-page .aiwa-doc-title { font-size: 14px; } .em-length .pp-range { width: 90px; } }
