/* =====================================================================
   Infall Recepção · S.O.F.I.A. 2R — SÓ o que é próprio da Recepção (js/recepcao.js).
   A base (menu, cartões, botões, .seg, .chat/.msg, login, janelas) vem de css/infall.css = cópia do CRM.
   ===================================================================== */
.rc-sub { margin: -8px 0 12px; }
.rc-aviso { margin: 0 0 12px; padding: 8px 12px; border-radius: 10px; background: var(--warn-bg); color: var(--warn); font-size: 13px; }
.rc-pill { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--gray-bg); color: var(--muted); white-space: nowrap; }
.rc-pill.ok { background: var(--ok-bg); color: var(--ok); }
.rc-pill.warn { background: var(--warn-bg); color: var(--warn); }
.rc-pill.bad { background: var(--bad-bg); color: var(--bad); }
.rc-clinica { display: inline-block; padding: 1px 8px; border-radius: 6px; background: var(--navy); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.rc-tag { display: inline-block; margin: 1px 0; padding: 0 7px; border-radius: 6px; font-size: 12px; background: var(--gray-bg); color: var(--text); font-style: normal; font-weight: 500; }
.rc-tag.sinal { background: var(--bad-bg); color: var(--bad); }
.rc-sit { display: inline-block; padding: 1px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--gray-bg); white-space: nowrap; }
.rc-sit.sit-acolhimento_ia { background: var(--info-bg); color: var(--info); }
.rc-sit.sit-aguardando_identificacao { background: var(--warn-bg); color: var(--warn); }
.rc-sit.sit-aguardando_humano { background: var(--bad-bg); color: var(--bad); }
.rc-sit.sit-atendimento_humano { background: var(--ok-bg); color: var(--ok); }
.rc-sit.sit-encerrado { color: var(--muted); }
.rc-txt-bad { color: var(--bad); }
.rc-txt-ok { color: var(--ok); }
.rc-a-ia { color: var(--info); }
.rc-a-eq { color: #0f7b6c; }
.rc-amb button { font-size: 13px; }

/* ---------- Conversas: conexões resumidas + filtros ---------- */
.rc-conlinha { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-bottom: 10px; }
.rc-conmini { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: #fff;
  border: 1px solid rgba(0, 101, 238, .2); color: var(--text); text-decoration: none; font-size: 13px; }
.rc-conmini:hover { border-color: var(--navy-2); }
.rc-conobs { flex: 1 1 260px; }
.card.rc-filtros { display: flex; flex-direction: column; gap: 10px; padding: 12px 14px; margin-bottom: 14px; }
.rc-filtros-l1 { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; }
.rc-fcampo { display: flex; flex-direction: column; gap: 3px; font-size: 12px; color: var(--muted); }
.rc-fcampo select { min-width: 210px; max-width: 280px; padding: 6px 8px; font-size: 14px; color: var(--text); }
.rc-alertas { margin-left: auto; }
.rc-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.rc-chip { display: inline-flex; align-items: center; gap: 5px; padding: 4px 11px; border-radius: 999px; font-size: 13px;
  border: 1px solid rgba(0, 101, 238, .22); background: #fff; color: var(--text); cursor: pointer; }
.rc-chip:hover { border-color: var(--navy-2); }
.rc-chip b { font-weight: 700; color: var(--navy); }
.rc-chip.on { border-color: var(--navy); background: linear-gradient(180deg, #0a3a9e, var(--navy)); color: #fff; box-shadow: inset 0 -2px 0 var(--neon-2); }
.rc-chip.on b { color: #fff; }
.rc-chip.alerta { border-color: #f0c4bf; }
.rc-chip.alerta.on { border-color: var(--bad); background: var(--bad); color: #fff; box-shadow: none; }

/* ---------- Conversas: caixa de entrada em 2 colunas ---------- */
.rc-caixa { display: grid; grid-template-columns: minmax(300px, 400px) minmax(0, 1fr); gap: 14px; align-items: start; }
.card.rc-lista { padding: 0; overflow: hidden; }
.rc-lista-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.rc-lista-head b { color: var(--navy); }
.rc-itens { max-height: calc(100vh - 150px); overflow-y: auto; }
.rc-item { display: flex; flex-direction: column; gap: 4px; padding: 11px 14px; border-bottom: 1px solid var(--line); cursor: pointer; border-left: 3px solid transparent; }
.rc-item:hover, .rc-item:focus-visible { background: #f3f8ff; outline: none; }
.rc-item.sel { background: #e8f1ff; border-left-color: var(--neon-2); }
.rc-item.fechada { opacity: .65; }
.rc-item-l1 { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.rc-nome { font-size: 15px; color: var(--navy); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-item-l2 { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.rc-un { font-weight: 700; color: var(--navy); }
.rc-item-hora { margin-left: auto; }
.rc-item-prev { font-size: 13px; color: #344054; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rc-autor { font-weight: 600; }
.rc-item-tags { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.rc-pag { display: flex; align-items: center; gap: 8px; justify-content: center; padding: 10px 0; }

.card.rc-detalhe { position: sticky; top: 10px; display: flex; flex-direction: column; gap: 10px; min-height: 420px; max-height: calc(100vh - 20px); }
.rc-vazio { margin: auto; text-align: center; color: var(--muted); display: flex; flex-direction: column; gap: 4px; padding: 40px 16px; }
.rc-vazio b { color: var(--navy); font-size: 16px; }
.rc-voltar { display: none; align-self: flex-start; }
.rc-cab { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
.rc-cab-quem { min-width: 0; }
.rc-cab-nome { margin: 4px 0 2px; font-size: 18px; color: var(--navy); }
.card .rc-cab-nome::after { display: none; }
.rc-cab-dir { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.rc-acoes { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.rc-resumo { border: 1px solid rgba(0, 101, 238, .15); border-radius: 10px; background: #f7faff; font-size: 14px; flex: none; }
.rc-resumo summary { cursor: pointer; padding: 7px 12px; font-weight: 600; color: var(--navy); font-size: 13px; }
.rc-resumo-corpo { padding: 0 12px 10px; display: flex; flex-direction: column; gap: 4px; max-height: 26vh; overflow-y: auto; }
.rc-chat.chat { flex: 1 1 auto; min-height: 220px; max-height: none; }
.rc-chat .msg { max-width: 82%; }
.rc-chat .msg .who .rc-tag { margin-left: 4px; font-size: 11px; }
.msg.rc-supr { opacity: .6; border-style: dashed; }
.rc-audio { display: block; font-size: 13px; }
.rc-evento { align-self: center; font-size: 12px; color: var(--muted); padding: 2px 10px; border-radius: 999px; background: rgba(255, 255, 255, .85); text-align: center; }
.rc-evento.bad { color: var(--bad); background: var(--bad-bg); }
.rc-responder { display: flex; gap: 8px; align-items: flex-end; flex: none; }
.rc-responder textarea { flex: 1; min-height: 52px; }
.rc-fim { padding: 4px 0; }
.rc-x { border: 0; background: transparent; color: inherit; cursor: pointer; padding: 0 2px; font-weight: 700; }

/* confirmação de envio */
.rc-destaque { padding: 10px 12px; border: 2px solid var(--navy-2); border-radius: 10px; background: var(--info-bg); margin-bottom: 10px; }
.rc-destaque-clinica { font-size: 18px; font-weight: 800; color: var(--navy); }
.rc-destaque-num { font-size: 15px; margin: 2px 0 4px; }
.rc-previa { white-space: pre-wrap; padding: 8px 10px; border-radius: 8px; background: var(--ok-bg); margin-bottom: 8px; }

/* ---------- Conexões WhatsApp ---------- */
.rc-conexoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.rc-conexoes .card + .card { margin-top: 0; }
.rc-con { display: flex; flex-direction: column; gap: 8px; }
.rc-con-cab { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.card .rc-con-nome { margin: 0; font-size: 16px; color: var(--navy); }
.rc-con-dl { display: grid; grid-template-columns: auto 1fr; gap: 3px 12px; margin: 0; font-size: 13px; }
.rc-con-dl dt { color: var(--muted); }
.rc-con-dl dd { margin: 0; }
.rc-con-acoes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 6px; }
.rc-con-obs { margin: auto 0 0; }
.rc-qr { display: flex; justify-content: center; padding: 8px 0; }
.rc-qr img { width: 260px; height: 260px; max-width: 100%; image-rendering: pixelated; background: #fff; }

/* ---------- Números internos ---------- */
.rc-explica p { margin: 0 0 6px; }
.rc-explica p:last-child { margin: 0; }
.rc-tel { white-space: nowrap; }
.rc-int-acao { text-align: right; }

/* ---------- celular / tela estreita ---------- */
@media (max-width: 900px) {
  .rc-caixa { grid-template-columns: 1fr; scroll-margin-top: 150px; }   /* abaixo da barra do menu (fixa no topo) */
  .rc-itens { max-height: none; }
  .card.rc-detalhe { position: static; max-height: none; min-height: 0; }
  .rc-caixa:not(.com-conversa) .rc-detalhe { display: none; }
  .rc-caixa.com-conversa .rc-lista { display: none; }
  .rc-voltar { display: inline-flex; }
  .rc-chat.chat { max-height: 60vh; }
  .rc-cab-dir { align-items: flex-start; }
  .rc-acoes { justify-content: flex-start; }
  .rc-alertas { margin-left: 0; }
}
@media (max-width: 640px) {
  .rc-fcampo, .rc-fcampo select { width: 100%; max-width: none; }
  .rc-amb { width: 100%; }
  .rc-amb button { flex: 1; padding: 7px 6px; font-size: 12px; }
  .rc-chat .msg { max-width: 92%; }
  .rc-int-tbl th:nth-child(1), .rc-int-tbl td:nth-child(1) { white-space: nowrap; }
}

/* login por link no e-mail (o resto do login vem do CRM: .lg-*) */
.lg-dica { margin: 4px 0 0; text-align: center; color: #8fa3c4; font-size: 13px; }

/* marca do menu: "CRM RECEPÇÃO" embaixo de INFALL, um pouco mais junto para caber na largura do INFALL */
.brand-wordmark .bw-crm { letter-spacing: .07em; margin-right: -.07em; }

/* ---------- Equipe (R003) ---------- */
.rc-eq-acessos { display: flex; flex-direction: column; gap: 6px; }
.rc-eq-acesso { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.rc-eq-acesso.off .rc-clinica { background: var(--muted); }
.rc-eq-tbl td:first-child { min-width: 180px; }
@media (max-width: 640px) {
  /* celular: cada pessoa vira um bloco (sem rolar para o lado) */
  .rc-eq-tbl thead { display: none; }
  .rc-eq-tbl tr, .rc-eq-tbl td { display: block; }
  .rc-eq-tbl td { border-bottom: 0; padding: 4px 10px; }
  .rc-eq-tbl tr { border-bottom: 1px solid var(--line); padding: 6px 0; }
  .rc-eq-tbl td.rc-int-acao { text-align: left; }
}

/* ---------- bloco 2a (R003): resumo do painel, pedidos, fila, expediente, mensagens internas ---------- */
.rc-resumo-linha { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.rc-kpi { display: inline-flex; align-items: baseline; gap: 5px; padding: 5px 12px; border-radius: 10px; background: #fff; font-size: 13px;
  border: 1px solid rgba(0, 101, 238, .2); color: var(--text); text-decoration: none; }
a.rc-kpi:hover { border-color: var(--navy-2); }
.rc-kpi b { font-size: 16px; color: var(--navy); }
.rc-kpi.warn { background: var(--warn-bg); border-color: #f2d49b; }
.rc-kpi.warn b { color: var(--warn); }
.rc-tag.ped { background: var(--info-bg); color: var(--info); }
.rc-tag.classif { background: var(--warn-bg); color: var(--warn); }

.rc-pedidos { flex: none; border: 1px solid rgba(0, 101, 238, .15); border-radius: 10px; padding: 8px 10px; background: #fff;
  max-height: 32vh; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; }
.rc-ped-cab { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rc-ped-cab b { color: var(--navy); }
.rc-ped-cab .btn { margin-left: auto; }
.rc-ped { border: 1px solid var(--line); border-left: 4px solid var(--line); border-radius: 8px; padding: 8px 10px; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.rc-ped.prio-clinica_prioritaria, .rc-fila-item.prio-clinica_prioritaria { border-left-color: var(--bad); }
.rc-ped.prio-administrativa_prioritaria, .rc-fila-item.prio-administrativa_prioritaria { border-left-color: #e0a100; }
.rc-ped.fechado { opacity: .6; }
.rc-ped-l1 { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.rc-ped-quando { margin-left: auto; }
.rc-ped-res { color: #344054; }
.rc-ped-acoes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.rc-ped-vazio { padding: 4px 0; }
.rc-motivos { border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; margin: 0 0 12px; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 4px 10px; font-size: 14px; }
.rc-motivos legend { font-size: 13px; color: var(--muted); padding: 0 4px; }
.rc-motivos label { display: flex; gap: 6px; align-items: center; }
.rc-ped-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.rc-chip.prio-clinica_prioritaria:not(.on) { border-color: #f0c4bf; }
.rc-chip.prio-administrativa_prioritaria:not(.on) { border-color: #f2d49b; }

.card.rc-fila-lista { padding: 0; overflow: hidden; }
.rc-fila-item { display: flex; flex-direction: column; gap: 4px; padding: 11px 14px; border-bottom: 1px solid var(--line); border-left: 4px solid transparent; }
.rc-fila-abrir { margin-left: auto; }

.rc-exp-topo { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin-bottom: 14px; }
.rc-exp-dest { flex: 1 1 320px; padding: 10px 14px; border-radius: 10px; font-size: 15px; border: 1px solid; }
.rc-exp-dest.ok { background: var(--ok-bg); color: var(--ok); border-color: #b7e2c8; }
.rc-exp-dest.warn { background: var(--warn-bg); color: var(--warn); border-color: #f2d49b; }
.rc-exp-dest.bad { background: var(--bad-bg); color: var(--bad); border-color: #f0c4bf; }
.rc-exp-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; align-items: start; }
.rc-exp-grid .card + .card { margin-top: 0; }

.rc-int-lista { display: flex; flex-direction: column; }
.rc-int-msg { display: flex; flex-direction: column; gap: 4px; padding: 10px 2px; border-bottom: 1px solid var(--line); }
.rc-int-msg:last-child { border-bottom: 0; }
.rc-int-msg.ok { opacity: .75; }
.rc-int-txt { white-space: pre-wrap; font-size: 14px; padding: 6px 10px; border-radius: 8px; background: #f7faff; }
.rc-int-rodape { display: flex; justify-content: flex-end; }

@media (max-width: 900px) {
  .rc-exp-grid { grid-template-columns: 1fr; }
  .rc-pedidos { max-height: none; }
}
@media (max-width: 640px) {
  .rc-ped-2col { grid-template-columns: 1fr; }
  .rc-ped-quando { margin-left: 0; }
}

/* =====================================================================
   Central de atendimento (3 colunas) · js/recepcao-central.js
   ===================================================================== */
.rc-demo-bar { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 12px; letter-spacing: .02em; }
.rc-demo-sub { opacity: .8; }
.rc-demo-ver { margin-left: auto; }
.rc-demo-ver a { color: var(--warn); }
.rc-central-head { margin-bottom: 12px; }
.rc-central-head h1 { font-size: 24px; }
.rc-topbar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; align-items: stretch; }
.rc-in { height: 42px; padding: 0 12px; border-radius: 10px; border: 1px solid rgba(0, 101, 238, .22); background: #fff; font-size: 14px; min-width: 200px; width: auto; }
.rc-busca { flex: 1 1 260px; display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 12px; border-radius: 10px;
  border: 1px solid rgba(0, 101, 238, .22); background: #fff; color: var(--muted); }
.rc-busca input { flex: 1; border: 0; outline: 0; height: 100%; padding: 0; background: transparent; font-size: 14px; min-width: 0; }
.rc-busca:focus-within { border-color: var(--navy-2); box-shadow: 0 0 0 3px rgba(0, 101, 238, .12); }
.rc-mais-btn { height: 42px; padding: 0 16px; font-weight: 600; color: var(--navy); border-color: rgba(0, 101, 238, .3); }
.rc-maisf { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: flex-end; padding: 10px 14px; margin-bottom: 10px; border-radius: 12px; background: #fff; border: 1px solid rgba(0, 101, 238, .15); }
.rc-check { display: flex; align-items: center; gap: 6px; font-size: 14px; height: 42px; }
.rc-abas { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.rc-aba { border: 1px solid rgba(0, 101, 238, .22); background: #fff; border-radius: 999px; padding: 8px 18px; font-size: 14px; font-weight: 600; color: var(--text); cursor: pointer; }
.rc-aba.on { background: linear-gradient(180deg, #0a3a9e, var(--navy)); border-color: var(--navy); color: #fff; box-shadow: inset 0 -2px 0 var(--neon-2); }

.rc-central { display: grid; grid-template-columns: minmax(280px, 340px) minmax(0, 1fr) minmax(300px, 380px); gap: 12px; align-items: start; }
.rc-col { min-width: 0; }
.card.rc-col-fila { padding: 0; overflow: hidden; }
.rc-col-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 14px 16px 10px; border-bottom: 1px solid var(--line); }
.rc-col-head b { font-size: 17px; color: var(--navy); }
.rc-fila-at { max-height: calc(100vh - 250px); min-height: 320px; overflow-y: auto; }
.rc-fi { display: flex; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--line); cursor: pointer; border-left: 4px solid transparent; }
.rc-fi:hover, .rc-fi:focus-visible { background: #f3f8ff; outline: none; }
.rc-fi.sel { background: #e8f1ff; box-shadow: inset 0 0 0 1.5px var(--navy-2); }
.rc-fi.prio-clinica_prioritaria { border-left-color: var(--bad); }
.rc-fi.prio-administrativa_prioritaria { border-left-color: #e0a100; }
.rc-fi.fechada { opacity: .7; }
.rc-av { flex: none; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: #e6effa; color: var(--navy-2); }
.rc-av .ico { width: 20px; height: 20px; }
.rc-av.grande { width: 46px; height: 46px; }
.rc-fi-corpo { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 3px; }
.rc-fi-l1, .rc-fi-l2 { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; }
.rc-fi .rc-nome { font-size: 15px; }
.rc-esp { font-weight: 800; font-size: 14px; white-space: nowrap; }
.rc-esp.ok { color: var(--ok); }
.rc-esp.warn { color: #c77700; }
.rc-esp.bad { color: var(--bad); }
.rc-esp-tipo { font-size: 11px; font-weight: 600; white-space: nowrap; color: var(--muted); }
.rc-esp-tipo.bad { color: var(--bad); }
.rc-esp-tipo.warn { color: #c77700; }
.rc-fi-res { font-size: 13px; color: #344054; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rc-fi-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 2px; }
.rc-tag.mot { background: #eef2ff; color: #3730a3; }
.rc-tag.prio.clinica_prioritaria { background: var(--bad-bg); color: var(--bad); font-weight: 600; }
.rc-tag.prio.administrativa_prioritaria { background: var(--warn-bg); color: var(--warn); font-weight: 600; }

.card.rc-col-conversa { display: flex; flex-direction: column; gap: 10px; min-height: 520px; max-height: calc(100vh - 200px); position: sticky; top: 10px; }
.rc-cv-cab { display: flex; gap: 12px; align-items: flex-start; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.rc-cv-quem { flex: 1; min-width: 0; }
.rc-cv-quem .rc-cab-nome { margin: 0 0 3px; font-size: 19px; }
.rc-cv-clin { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.rc-cv-badges { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.rc-pill.info { background: var(--info-bg); color: var(--info); }
.rc-pill.pausa { background: #fff1e6; color: #a34700; border: 1px solid #f6c79b; }
.rc-pill .ico { width: 13px; height: 13px; vertical-align: -2px; margin-right: 3px; }
.rc-menu-wrap { position: relative; }
.rc-kebab { border: 0; background: transparent; border-radius: 8px; padding: 4px; cursor: pointer; color: var(--muted); }
.rc-kebab:hover { background: #eef4ff; color: var(--navy); }
.rc-menu { position: absolute; right: 0; top: 30px; z-index: 30; min-width: 220px; background: #fff; border-radius: 12px; padding: 6px;
  box-shadow: 0 16px 36px -14px rgba(0, 40, 130, .45); border: 1px solid rgba(0, 101, 238, .2); display: flex; flex-direction: column; }
.rc-menu[hidden] { display: none; }
.rc-menu button { text-align: left; border: 0; background: none; padding: 9px 10px; border-radius: 8px; cursor: pointer; font-size: 14px; }
.rc-menu button:hover { background: #eef4ff; }
.rc-menu button.perigo { color: var(--bad); }
.rc-chat.chat { flex: 1 1 auto; min-height: 200px; max-height: none; }
.rc-dia { align-self: center; font-size: 12px; color: var(--muted); padding: 2px 10px; }
.rc-ia-linha { display: flex; align-items: flex-end; gap: 6px; align-self: flex-end; max-width: 86%; }
.rc-ia-linha .msg { max-width: none; }
.rc-ia-av { width: 30px; height: 30px; border-radius: 50%; flex: none; background: #fff; border: 1px solid rgba(0, 101, 238, .25); padding: 3px; }
.rc-resumo summary { display: flex; align-items: center; gap: 8px; }
.rc-resumo summary .ico { width: 16px; height: 16px; }
.rc-eventos { margin: 4px 0 0; padding-left: 18px; font-size: 13px; display: flex; flex-direction: column; gap: 2px; }
.rc-resp { flex: none; border: 1px solid rgba(0, 101, 238, .22); border-radius: 12px; padding: 8px 10px; background: #fff; }
.rc-resp textarea { width: 100%; border: 0; outline: 0; min-height: 52px; resize: vertical; padding: 4px; }
.rc-resp-pe { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.rc-resp-pe .btn .ico { width: 16px; height: 16px; }

.rc-col-direita { display: flex; flex-direction: column; gap: 12px; position: sticky; top: 10px; max-height: calc(100vh - 20px); overflow-y: auto; }
.rc-col-direita .card + .card { margin-top: 0; }
.rc-card-tit { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; }
.rc-card-tit h2 { margin: 0; font-size: 17px; color: var(--navy); display: flex; align-items: center; gap: 8px; }
.card .rc-card-tit h2::after { display: none; }
.rc-card-tit h2 .ico { width: 20px; height: 20px; color: var(--navy-2); }
.rc-oq { display: flex; gap: 10px; padding: 10px 0; border-top: 1px solid var(--line); }
.rc-oq.fechado { opacity: .65; }
.rc-oq-ico { flex: none; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: #eef4ff; color: var(--navy-2); }
.rc-oq.prio-clinica_prioritaria .rc-oq-ico { background: var(--bad-bg); color: var(--bad); }
.rc-oq.prio-administrativa_prioritaria .rc-oq-ico { background: var(--warn-bg); color: var(--warn); }
.rc-oq-corpo { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; font-size: 14px; }
.rc-oq-l1 { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.rc-oq-l1 b { color: var(--navy); }
.rc-oq-res { color: #344054; font-size: 13px; }
.rc-oq-prox { color: var(--navy); }
.rc-oq-acoes { display: flex; flex-wrap: wrap; gap: 4px 6px; margin-top: 4px; align-items: center; }
.btn.rc-concluir { border-color: var(--navy-2); color: var(--navy-2); font-weight: 700; }
.btn.rc-concluir:hover { background: #eef4ff; }
.rc-oq-vazio { padding: 6px 0 10px; }
.rc-oq-fechados summary { cursor: pointer; font-size: 13px; color: var(--muted); padding: 8px 0 2px; }
.rc-oq-nota { margin: 10px 0 4px; }
.rc-encerrar-at { color: var(--bad); padding-left: 0; }
.rc-dontus .rc-dt-sec { border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; margin-top: 8px; }
.rc-dt-h { font-weight: 700; color: var(--navy); font-size: 14px; margin-bottom: 4px; }
.rc-dt-itens { list-style: none; margin: 6px 0 4px; padding: 0; display: flex; flex-direction: column; gap: 5px; font-size: 14px; }
.rc-dt-itens li { display: flex; align-items: center; gap: 8px; }
.rc-dt-itens li .rc-pill { margin-left: auto; }
.rc-dt-dot { width: 14px; height: 14px; border-radius: 50%; background: #c9d1dc; flex: none; }
.rc-dt-dot.ok { background: var(--ok); box-shadow: inset 0 0 0 3px #e5f5ec; }
.rc-dt-aviso { display: flex; gap: 8px; align-items: center; margin-top: 10px; padding: 8px 10px; border-radius: 10px; font-size: 13px; }
.rc-dt-aviso .ico { width: 18px; height: 18px; flex: none; }
.rc-dt-aviso.warn { background: var(--warn-bg); color: var(--warn); border: 1px solid #f2d49b; }
.rc-dt-aviso.bad { background: var(--bad-bg); color: var(--bad); border: 1px solid #f0c4bf; }
.rc-dt-cands { display: flex; flex-direction: column; gap: 6px; }
.rc-dt-cands .btn { justify-content: flex-start; }

/* menu: grupo Configurações + luzes do WhatsApp da recepção */
.nav-cfg { flex: none; border-top: 1px solid rgba(255, 255, 255, .15); padding-top: 8px; }
.nav-cfg-btn { width: 100%; display: flex; align-items: center; gap: 10px; background: none; border: 0; color: #d3deec; padding: 10px 12px; border-radius: 8px; cursor: pointer; font-size: 14px; }
.nav-cfg-btn:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.nav-cfg-btn > .ico:last-child { margin-left: auto; transition: transform .15s; }
.nav-cfg-btn.aberto > .ico:last-child { transform: rotate(180deg); }
.nav-sub { padding-left: 10px; flex: none; }
.side .nav { flex: 0 1 auto; }
.side-wa { flex: none; display: flex; flex-direction: column; gap: 4px; margin-top: auto; }
.side-wa-tit { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #8fc8ff; padding: 0 8px; }
.wa-pill { margin: 0; text-align: left; border: 1.5px solid rgba(255, 255, 255, .18); }
.wa-pill .ia-pill-lbl { display: flex; flex-direction: column; line-height: 1.2; font-size: 12px; }
.wa-pill .ia-pill-lbl small { font-size: 11px; opacity: .9; }
.wa-pill.ok .ia-dot, .rc-con-luz.ok .ia-dot { background: #25d366; box-shadow: 0 0 6px rgba(37, 211, 102, .9); }
.wa-pill.ok small { color: #7dffb0; }
.wa-pill.bad small { color: #ffb4b4; }
.wa-pill.pause .ia-dot, .rc-con-luz.pause .ia-dot { background: #f5a300; box-shadow: 0 0 6px rgba(245, 163, 0, .9); }
.wa-pill.pause small { color: #ffd98a; }
.wa-pill.off .ia-dot, .rc-con-luz.off .ia-dot { background: #9aa6b8; box-shadow: none; }
.rc-con-luz.bad .ia-dot { background: #ff4d4f; box-shadow: 0 0 6px rgba(255, 77, 79, .9); }
.rc-con-luz { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 5px 12px; border-radius: 999px; font-weight: 700; font-size: 13px;
  border: 1px solid var(--line); background: #f7faff; cursor: pointer; color: var(--text); }
.rc-con-luz.ok { color: var(--ok); background: var(--ok-bg); border-color: #b7e2c8; }
.rc-con-luz.bad { color: var(--bad); background: var(--bad-bg); border-color: #f0c4bf; }
.rc-con-luz.pause { color: var(--warn); background: var(--warn-bg); border-color: #f2d49b; }
/* janela de conexão (mesmo visual .qr-back/.qr-card do CRM) */
.wa-tit { font-weight: 800; font-size: 17px; margin: 4px 0 6px; }
.wa-tit.ok { color: var(--ok); }
.wa-tit.bad { color: var(--bad); }
.wa-tit.warn { color: var(--warn); }
.wa-big { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; font-size: 36px; font-weight: 800; }
.wa-big.ok { background: var(--ok-bg); color: var(--ok); }
.wa-dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; text-align: left; margin: 8px auto 12px; max-width: 300px; font-size: 14px; }
.wa-dl dt { color: var(--muted); }
.wa-dl dd { margin: 0; }
.wa-bts { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 8px; }

@media (min-width: 901px) {
  body.side-collapsed .wa-pill { justify-content: center; padding: 8px 0; }
  body.side-collapsed .side-wa-tit, body.side-collapsed .nav-cfg-btn > span, body.side-collapsed .nav-cfg-btn > .ico:last-child { display: none; }
  body.side-collapsed .nav-cfg-btn { justify-content: center; padding: 10px 0; }
  body.side-collapsed .nav-sub { padding-left: 0; }
}
@media (max-width: 1280px) {
  .rc-central { grid-template-columns: minmax(260px, 320px) minmax(0, 1fr); }
  .rc-col-direita { grid-column: 2; position: static; max-height: none; overflow: visible; }
  .card.rc-col-conversa { position: static; max-height: 80vh; }
}
@media (max-width: 900px) {
  .rc-central { grid-template-columns: 1fr; scroll-margin-top: 150px; }
  .rc-col-direita { grid-column: 1; }
  .rc-fila-at { max-height: none; min-height: 0; }
  .rc-central:not(.com-conversa) .rc-col-conversa, .rc-central:not(.com-conversa) .rc-col-direita { display: none; }
  .rc-central.com-conversa .rc-col-fila { display: none; }
  .card.rc-col-conversa { max-height: none; min-height: 0; }
  .rc-chat.chat { max-height: 60vh; }
  .rc-cv-badges { align-items: flex-start; }
  .rc-cv-cab { flex-wrap: wrap; }
  .side-wa { order: 5; width: 100%; flex-direction: row; flex-wrap: wrap; margin: 0; }
  .side-wa-tit { width: 100%; }
  .wa-pill { flex: 1 1 100px; padding: 4px 8px; }
  .nav-cfg { order: 4; width: 100%; border-top: 0; padding-top: 0; }
  .nav-sub { flex-direction: row; padding-left: 0; }
  .rc-demo-ver { margin-left: 0; }
}
@media (max-width: 640px) {
  .rc-in { flex: 1 1 100%; min-width: 0; }
  .rc-mais-btn { flex: 1 1 100%; justify-content: center; }
  .rc-aba { padding: 7px 12px; font-size: 13px; }
  .rc-central-head h1 { font-size: 18px; }
}
@media (max-width: 900px) {
  /* celular: o menu (com as luzes do WhatsApp) rola junto com a página, para não cobrir a conversa */
  .side { position: relative; }
  .rc-central { scroll-margin-top: 10px; }
  .side-wa-tit { display: none; }
  .wa-pill { flex: 1 1 0; min-width: 0; padding: 4px 8px; gap: 6px; }
  .wa-pill .ia-pill-lbl { font-size: 11px; }
  .wa-pill .ia-pill-lbl b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .nav-cfg-btn { padding: 6px 10px; }
  .rc-cv-quem { flex: 1 1 calc(100% - 110px); }
  .rc-cv-badges { order: 3; width: 100%; flex-direction: row; flex-wrap: wrap; }
}

/* login com senha (casco.js) */
.lg-link { background: none; border: 0; padding: 0; color: #9fd4ff; text-decoration: underline; cursor: pointer; font: inherit; }
.lg-dica-forte { color: #fff; font-size: 15px; margin: 0 0 4px; }

/* login: "CRM" grande e "RECEPÇÃO" menor embaixo, alinhados à direita do INFALL (como a arte aprovada) */
.lg-sub { font-family: "Montserrat", system-ui, sans-serif; font-weight: 600; color: #1a9bff; font-size: clamp(13px, 1.3vw, 22px);
  letter-spacing: .16em; margin-right: -.16em; line-height: 1; margin-top: .35em; }
@media (max-width: 760px) { .lg-sub { margin: .35em 0 0 .06em; color: #5cc0ff; text-shadow: 0 0 2px rgba(0, 10, 40, .9), 0 0 12px rgba(0, 10, 40, .85); } }

/* luzes do WhatsApp no TOPO do menu (como a luz da S.O.F.I.A. no Infall agendamento) */
.side-wa { margin-top: 0; }
.side .nav-cfg { margin-top: auto; }
@media (max-width: 900px) { .side-wa { order: 2; margin: 0; } .side .nav-cfg { margin-top: 0; } }

/* luz única "IA da Recepção" no topo do menu (como "S.O.F.I.A conectada" no Infall agendamento) */
.rc-ia-pill { width: calc(100% - 12px); margin: -6px 6px 0; }
.rc-ia-pill.ok .ia-dot { background: #25d366; box-shadow: 0 0 6px rgba(37, 211, 102, .9); }
.rc-ia-pill.ok .ia-pill-lbl { color: #7dffb0; font-weight: 700; }
.rc-ia-pill.bad .ia-pill-lbl { color: #ffb4b4; font-weight: 700; }
.rc-ia-pill.pause .ia-dot { background: #f5a300; box-shadow: 0 0 6px rgba(245, 163, 0, .9); animation: none; }
.rc-ia-pill.pause .ia-pill-lbl { color: #ffd98a; }
.rc-ia-pill.off .ia-dot { background: #9aa6b8; box-shadow: none; }
.rc-ia-card { width: min(520px, 100%); }
.rc-ia-lista { display: flex; flex-direction: column; gap: 8px; margin: 6px 0 4px; text-align: left; }
.rc-ia-linha-cl { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #d9e6f7; border-radius: 12px; background: #f7faff; }
.rc-ia-linha-cl .rc-con-luz { padding: 4px; }
.rc-ia-cl-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.rc-ia-cl-txt b { color: var(--navy); }
.rc-ia-cl-txt small { color: var(--muted); font-size: 12px; }
@media (max-width: 900px) { .rc-ia-pill { width: auto; margin: 0; } }
@media (max-width: 640px) { .rc-ia-linha-cl { flex-wrap: wrap; } .rc-ia-linha-cl .btn { width: 100%; } }

/* luz "IA da Recepção" em duas linhas: título fixo + situação curta */
.rc-ia-pill { align-items: center; text-align: left; padding: 8px 12px; }
.rc-ia-pill .ia-pill-lbl { display: flex; flex-direction: column; gap: 1px; line-height: 1.25; min-width: 0; }
.rc-ia-pill .ia-pill-lbl b { color: #fff; font-size: 13px; font-weight: 700; white-space: nowrap; }
.rc-ia-pill .ia-pill-lbl small { font-size: 12px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-ia-pill.ok .ia-pill-lbl small { color: #7dffb0; }
.rc-ia-pill.bad .ia-pill-lbl small { color: #ffb4b4; }
.rc-ia-pill.pause .ia-pill-lbl small { color: #ffd98a; }
.rc-ia-pill.off .ia-pill-lbl small { color: #c9d1dc; }
.rc-ia-pill .ia-pill-lbl { color: inherit; }
/* R005: retomar contato num atendimento encerrado com pedido pendente */
.rc-retomar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 8px; padding: 8px 10px;
  border: 1px solid var(--warn, #c98a00); border-radius: 10px; background: color-mix(in srgb, var(--warn, #c98a00) 10%, transparent); }
/* R006: nome do WhatsApp quando é diferente do cadastro no Dontus */
.rc-fi .rc-zap { margin-top: 1px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* cabeçalho da conversa em coluna estreita: o nome nunca fica espremido; as etiquetas descem para a linha de baixo */
.rc-cv-cab { flex-wrap: wrap; }
.rc-cv-quem { flex: 1 1 170px; }
.rc-cv-badges { flex: 0 1 auto; flex-wrap: wrap; }
/* R009: janela "Marcar como mensagem interna" */
.rc-lista-simples { margin: 6px 0 10px; padding-left: 18px; display: grid; gap: 6px; }
/* R009 rev. 2: conversas internas em "Mensagens internas" */
.rc-int-hist { display: grid; gap: 3px; margin: 6px 0; padding: 6px 8px; border-radius: 8px; background: var(--bg-soft, rgba(0,0,0,.03)); font-size: 13px; }
.rc-int-linha.novo { font-weight: 600; }
.rc-int-nums { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--line); display: grid; gap: 4px; }
.rc-modal-check, label.rc-check.small { height: auto; align-items: flex-start; font-size: 13px; line-height: 1.4; margin-top: 6px; }

/* ===== Pedidos (layout 17/10): resumo, filtros compactos, pedidos alinhados ===== */
.rc-ped-head { align-items: flex-start; }
.rc-ped-sub { margin: 2px 0 0; }
.rc-ped-atual { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.rc-ped-atual .btn .ico { width: 16px; height: 16px; margin-right: 4px; }
.rc-pq-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.rc-pq-card { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: var(--card); border: 1px solid var(--line); border-radius: 14px;
  box-shadow: var(--shadow); text-align: left; font: inherit; color: var(--text); cursor: pointer; }
.rc-pq-card:disabled { cursor: default; }
.rc-pq-card:not(:disabled):hover { border-color: var(--navy-2); }
.rc-pq-card > span:last-child { display: flex; flex-direction: column; line-height: 1.2; }
.rc-pq-card b { font-size: 26px; color: var(--navy); }
.rc-pq-card-ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; flex: none; }
.rc-pq-card-ico .ico { width: 24px; height: 24px; }
.rc-pq-card.azul .rc-pq-card-ico { background: var(--info-bg); color: var(--info); }
.rc-pq-card.verm .rc-pq-card-ico { background: var(--bad-bg); color: var(--bad); }
.rc-pq-card.amar .rc-pq-card-ico { background: var(--warn-bg); color: var(--warn); }
.rc-ped-filtros { padding: 12px 14px; margin-bottom: 12px; display: grid; gap: 10px; }
.rc-ped-f1 { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.rc-ped-abas { display: flex; flex-wrap: wrap; gap: 8px; }
.rc-ped-abas button { padding: 7px 14px; border: 1px solid var(--line); border-radius: 9px; background: var(--card); color: var(--text); font: inherit; cursor: pointer; }
.rc-ped-abas button.on { background: var(--navy-2); border-color: var(--navy-2); color: #fff; font-weight: 600; }
.rc-ped-busca { flex: 0 1 380px; min-width: 220px; }
.rc-ped-f2 { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
.rc-ped-f2 label { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); }
.rc-ped-f2 select { padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--card); color: var(--text); font: inherit; font-size: 14px; min-width: 130px; }
.rc-ped-lista { padding: 0; overflow: hidden; }
.rc-ped-lista .rc-lista-head { padding: 12px 16px; border-bottom: 1px solid var(--line); }
.rc-ped-row { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.9fr) minmax(120px, .7fr) 170px; gap: 14px; align-items: center;
  padding: 14px 16px; border-bottom: 1px solid var(--line); border-left: 4px solid var(--info); }
.rc-ped-row.prio-clinica_prioritaria { border-left-color: var(--bad); }
.rc-ped-row.prio-administrativa_prioritaria { border-left-color: #e0a100; }
.rc-ped-row > div + div { border-left: 1px solid var(--line); padding-left: 14px; }
.rc-ped-l1 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.rc-ped-tit { font-weight: 700; color: var(--navy); margin-top: 3px; }
.rc-ped-res { font-size: 13px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.rc-ped-prio { display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--info-bg); color: var(--info); }
.rc-ped-prio .ico { width: 14px; height: 14px; }
.rc-ped-prio.p-clinica_prioritaria { background: var(--bad-bg); color: var(--bad); }
.rc-ped-prio.p-administrativa_prioritaria { background: var(--warn-bg); color: var(--warn); }
.rc-ped-meio { display: grid; grid-template-columns: auto auto; justify-content: start; gap: 6px 14px; }
.rc-ped-dest { display: flex; flex-direction: column; gap: 3px; }
.rc-ped-rot { font-size: 11px; color: var(--muted); }
.rc-ped-badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 8px; font-size: 13px; background: var(--gray-bg); color: var(--text); white-space: nowrap; }
.rc-ped-badge .ico { width: 15px; height: 15px; }
.rc-ped-badge.d-equipe_clinica { background: var(--info-bg); color: var(--info); }
.rc-ped-badge.d-financeiro { background: #f1e9fb; color: #6b3fa0; }
.rc-ped-badge.d-administracao { background: var(--ok-bg); color: var(--ok); }
.rc-ped-badge.d-atendimento_agendamento { background: #e8f1fb; color: var(--navy-2); }
.rc-ped-badge.s-warn { background: var(--warn-bg); color: var(--warn); }
.rc-ped-badge.s-info { background: var(--info-bg); color: var(--info); }
.rc-ped-badge.s-ok { background: var(--ok-bg); color: var(--ok); }
.rc-ped-prox, .rc-ped-aviso { grid-column: 1 / -1; display: flex; gap: 6px; align-items: flex-start; color: var(--muted); }
.rc-ped-prox .ico, .rc-ped-aviso .ico { width: 15px; height: 15px; flex: none; margin-top: 2px; }
.rc-ped-aviso { background: var(--warn-bg); color: var(--warn); padding: 5px 9px; border-radius: 8px; font-weight: 600; }
.rc-ped-esp { display: flex; gap: 8px; align-items: flex-start; }
.rc-ped-esp > .ico { width: 20px; height: 20px; flex: none; margin-top: 3px; color: var(--navy); }
.rc-ped-esp > span { display: flex; flex-direction: column; }
.rc-ped-esp b { font-size: 20px; color: var(--navy); }
.rc-ped-acoes { display: flex; flex-direction: column; gap: 6px; align-items: stretch; }
.rc-ped-acoes .btn { justify-content: center; gap: 4px; }
.rc-ped-acoes .ico { width: 16px; height: 16px; }
.rc-ped-nota { display: flex; gap: 6px; align-items: flex-start; margin: 10px 2px; }
.rc-ped-nota .ico { width: 16px; height: 16px; flex: none; margin-top: 1px; }
.rc-ver-ped h4 { margin: 12px 0 4px; font-size: 13px; color: var(--navy); }
.rc-ver-ped p { margin: 0; }
.rc-ver-l1 { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.rc-ver-acoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; padding-top: 10px; border-top: 1px solid var(--line); }
@media (max-width: 1100px) {
  .rc-ped-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .rc-ped-row > div + div { border-left: 0; padding-left: 0; }
  .rc-ped-esp, .rc-ped-acoes { border-top: 1px dashed var(--line); padding-top: 8px; }
  .rc-ped-acoes { flex-direction: row; justify-content: flex-end; }
}
@media (max-width: 640px) {
  .rc-pq-cards { grid-template-columns: 1fr; gap: 8px; }
  .rc-pq-card { padding: 10px 12px; }
  .rc-pq-card b { font-size: 22px; }
  .rc-ped-row { grid-template-columns: 1fr; gap: 10px; }
  .rc-ped-acoes { flex-direction: row; justify-content: stretch; }
  .rc-ped-acoes .btn { flex: 1; }
  .rc-ped-busca { flex: 1 1 100%; min-width: 0; }
  .rc-ped-f2 label { flex: 1 1 140px; }
  .rc-ped-f2 select { flex: 1; min-width: 0; }
}
/* R010: sugestão da IA (modo sombra) e avisos da IA dentro da conversa */
.msg.ai.rc-sugestao { background: transparent; border: 1.5px dashed var(--info); color: var(--muted); font-style: italic; }
.msg.ai.rc-sugestao .who { color: var(--info); font-style: normal; }
.rc-ev-ia { align-self: center; margin: 4px auto; padding: 4px 10px; border-radius: 999px; background: var(--gray-bg); color: var(--muted); font-size: 12px; text-align: center; max-width: 90%; }
.rc-ev-ia.erro { background: var(--bad-bg); color: var(--bad); }
/* Conexões: controle da IA */
.rc-con.ia-ativa { border-color: var(--ok); box-shadow: 0 0 0 2px var(--ok-bg), var(--shadow); }
.rc-modo-atual.m-acolhimento { color: var(--ok); }
.rc-modo-atual.m-sombra { color: var(--info); }
.rc-ia-ctrl { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); display: grid; gap: 8px; }
.rc-ia-ctrl-tit { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.rc-modo-seg { display: flex; flex-wrap: wrap; }
.rc-modo-seg button { flex: 1 1 auto; }
.rc-modo-seg button:disabled { opacity: .45; cursor: not-allowed; }
.rc-modo-seg button.m-acol.active { background: var(--ok); border-color: var(--ok); color: #fff; }
.rc-ia-ctrl-exp { margin: 0; }
.rc-ia-parar, .btn.danger.rc-ia-parar { width: 100%; justify-content: center; padding: 12px; font-size: 15px; font-weight: 700; background: var(--bad); border-color: var(--bad); color: #fff; }
.btn.danger.rc-ia-parar:hover { background: #a3291e; }

/* ===== Harmonização dos textos em todas as telas (17/10, pedido da Bruna) =====
   Títulos de seção: um estilo só (frase normal, azul-marinho, 17px, sem maiúsculas), como nos modelos da Central e de Pedidos.
   Títulos de página continuam no estilo do Infall CRM. Textos de apoio: 14px; detalhes: 13px; tudo com o mesmo espaçamento. */
#view .card-head h2, #view .card > h2, #view .rc-card-tit h2, #view .rc-con-nome, #view .rc-col-head b, #view .rc-lista-head b, #view .rc-ia-ctrl-tit b {
  font-family: inherit; text-transform: none; letter-spacing: 0; font-size: 17px; font-weight: 700; color: var(--navy); padding-bottom: 0; line-height: 1.3; }
#view .card-head h2::after, #view .card > h2::after, #view .rc-con-nome::after { display: none; }
#view .rc-ia-ctrl-tit b { font-size: 15px; }
#view .rc-sub, #view .rc-ped-sub { font-size: 14px; line-height: 1.5; color: var(--muted); max-width: 980px; margin: 2px 0 14px; }
#view .small { font-size: 13px; line-height: 1.45; }
#view .card p { line-height: 1.5; }
/* cabeçalho da fila: título numa linha e a explicação embaixo (não espreme) */
.rc-col-head { flex-direction: column; align-items: flex-start; gap: 2px; }
.rc-col-head b { white-space: nowrap; }
/* linha da clínica na fila: o nome encurta com "…" e a situação fica inteira à direita */
.rc-fi-l2 > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-fi-l2 > .rc-esp-tipo { flex: none; }
.rc-conexoes { align-items: start; }
/* R013: números de teste da IA (a Bruna responde só eles) */
.rc-ia-teste { display: grid; gap: 6px; padding-top: 8px; border-top: 1px dashed var(--line); }
.rc-ia-teste-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.rc-ia-teste-lista li { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 14px; }
.rc-ia-teste-add { display: flex; gap: 6px; flex-wrap: wrap; }
.rc-ia-teste-add input { flex: 1 1 180px; min-width: 0; padding: 6px 9px; border: 1px solid var(--line); border-radius: 8px; font: inherit; font-size: 14px; background: var(--card); color: var(--text); }
.rc-ia-aviso { padding: 7px 10px; border-radius: 8px; font-size: 13px; font-weight: 600; line-height: 1.4; }
.rc-ia-aviso.teste { background: var(--ok-bg); color: var(--ok); }
.rc-ia-aviso.todos { background: var(--bad-bg); color: var(--bad); }
.rc-ia-aviso.todos-off { background: var(--warn-bg); color: var(--warn); }
