/* Compositor isolado: usa a identidade e os tokens existentes do gerencial. */
.msg-compositor { color:var(--ink,#1f2430); font:inherit; max-width:1080px; margin:0 auto; padding:28px; }
.msg-compositor *, .msg-compositor *::before, .msg-compositor *::after { box-sizing:border-box; }
.msg-compositor [hidden] { display:none!important; }
.msg-cabecalho { padding:0 0 28px; max-width:690px; }
.msg-cabecalho h2 { font-size:28px; line-height:1.2; letter-spacing:-.7px; margin:10px 0; font-weight:650; }
.msg-cabecalho p, .msg-ajuda { color:var(--gray,#6b7280); font-size:13px; line-height:1.65; margin:0; }
.msg-canal { color:var(--vio,#6d28d9); font-size:10px; font-weight:750; letter-spacing:1.4px; }
.msg-composicao { border:1px solid var(--line,#e9e7f2); border-radius:16px; padding:0; margin:0; display:grid; grid-template-columns:minmax(245px, .8fr) minmax(0,1.5fr); background:var(--surface,#fff); overflow:hidden; }
.msg-publico, .msg-escrita { padding:26px; min-width:0; }
.msg-publico { background:var(--bg,#f7f7fb); border-right:1px solid var(--line,#e9e7f2); }
.msg-compositor h3 { font-size:15px; letter-spacing:-.2px; margin:0 0 7px; }
.msg-campo { display:flex; flex-direction:column; gap:8px; margin-top:22px; }
.msg-campo label { font-size:12px; font-weight:650; }
.msg-input { width:100%; padding:11px 12px; border:1px solid var(--line,#e9e7f2); border-radius:8px; color:inherit; background:var(--surface,#fff); font:inherit; font-size:13px; line-height:1.65; }
textarea.msg-input { min-height:215px; resize:vertical; }
.msg-compositor :where(button,input,textarea,summary):focus-visible { outline:3px solid var(--vio,#6d28d9); outline-offset:3px; }
.msg-selecao-acoes { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.msg-btn { padding:9px 12px; border-radius:8px; border:1px solid var(--line,#e9e7f2); background:var(--surface,#fff); color:var(--ink,#1f2430); font:inherit; font-size:12px; font-weight:650; cursor:pointer; }
.msg-btn:hover:not(:disabled) { border-color:var(--vio,#6d28d9); }
.msg-btn:disabled { opacity:.5; cursor:not-allowed; }
.msg-primario { color:#fff; background:var(--vio,#6d28d9); border-color:var(--vio,#6d28d9); padding:11px 18px; }
.msg-contagem { font-size:11px; font-weight:650; margin:22px 0 10px; }
.msg-lista { display:grid; align-content:start; gap:4px; max-height:325px; overflow:auto; padding:3px; margin:-3px; }
.msg-clinica { display:flex; align-items:flex-start; gap:10px; padding:11px 9px; background:var(--surface,#fff); border:1px solid transparent; border-radius:7px; cursor:pointer; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.msg-clinica:has(input:checked) { border-color:var(--vio,#6d28d9); background:var(--tint,#f5f3ff); }
.msg-clinica input, .msg-ciencia input { flex:none; margin:2px 0 0; accent-color:var(--vio,#6d28d9); width:15px; height:15px; }
.msg-vazio { color:var(--gray,#6b7280); font-size:12px; line-height:1.7; margin:12px 0; }
.msg-caracteres { text-align:right; color:var(--gray,#6b7280); font-size:10px; margin:8px 0 0; }
.msg-rodape { margin-top:26px; padding-top:20px; border-top:1px solid var(--line,#e9e7f2); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.msg-erro { padding:12px 16px; border:1px solid #fecaca; border-radius:8px; background:#fef2f2; color:#991b1b; font-size:13px; margin:0 0 20px; }
.msg-revisao { padding:28px; border:1px solid var(--line,#e9e7f2); border-radius:16px; background:var(--surface,#fff); }
.msg-destinatarios-revisao { margin:20px 0; padding:16px; background:var(--bg,#f7f7fb); border-radius:10px; }
.msg-destinatarios-revisao summary { font-size:13px; font-weight:650; cursor:pointer; }
.msg-destinatarios-revisao ul { padding:8px 0 0 18px; margin:0; font-size:12px; line-height:1.9; max-height:180px; overflow:auto; }
.msg-carta { border-left:3px solid var(--vio,#6d28d9); padding:20px 24px; background:var(--tint,#f5f3ff); border-radius:0 10px 10px 0; }
.msg-carta h4 { font-size:19px; margin:12px 0; overflow-wrap:anywhere; }
.msg-carta p { font-size:14px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; margin:0; }
.msg-ciencia { display:flex; gap:10px; font-size:12px; line-height:1.65; margin-top:24px; cursor:pointer; }
.msg-situacao { color:var(--gray,#6b7280); font-size:12px; line-height:1.7; margin:18px 0 0; overflow-wrap:anywhere; }
.msg-sucesso { padding:12px 16px; border-radius:8px; color:#166534; background:#ecfdf3; }
.msg-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:680px) {
  .msg-compositor { padding:18px 12px; }
  .msg-cabecalho h2 { font-size:24px; }
  .msg-composicao { grid-template-columns:1fr; }
  .msg-publico { border-right:0; border-bottom:1px solid var(--line,#e9e7f2); }
  .msg-publico, .msg-escrita, .msg-revisao { padding:20px; }
  .msg-lista { max-height:215px; }
  .msg-rodape { flex-wrap:wrap; }
  .msg-rodape .msg-primario { margin-left:auto; }
}
@media(prefers-reduced-motion:reduce) { .msg-compositor * { scroll-behavior:auto; } }
