/* Protocolo Assistencial — Configurador (Task 4, spec 1.9).
   Prefixo exclusivo `.pa-`. Segue o "Consultório Editorial" (DESIGN.md):
   navy/dourado/cream, cantos 2px, tarja dourada de 3px em cards/tabelas.
   Nenhuma cor é calculada em JS aqui — todos os estados dinâmicos (activo,
   erro, guardado) usam classes. */

.pa-overlay { z-index: 1200; }

.pa-configurador {
  position: fixed; inset: 0; margin: auto;
  width: 100%; height: 100%; max-width: 100%; max-height: 100%;
  background: var(--cor-fundo);
  display: flex; flex-direction: column;
  font-family: var(--fonte);
  outline: none;
}
.pa-configurador * { box-sizing: border-box; }

/* Foco visível em todo o controlo focável, no Configurador e na Central
   operacional (revisão visual T3F, 2026-08-20): nenhum estilo acima remove
   o outline nativo, mas o navy sobre navy do cabeçalho e o branco denso da
   fila tornavam o outline por defeito do browser pouco legível. */
.pa-configurador button:focus-visible,
.pa-configurador a:focus-visible,
.pa-configurador input:focus-visible,
.pa-configurador select:focus-visible,
.pa-configurador textarea:focus-visible,
.pa-configurador [role="tab"]:focus-visible,
.pa-configurador [tabindex]:focus-visible,
.pa-toolbar button:focus-visible,
.pa-filtros-painel select:focus-visible,
.pa-fila-busca input:focus-visible,
.pa-fila-card:focus-visible,
.pa-mobile-tabs [role="tab"]:focus-visible,
.pa-contexto-tabs [role="tab"]:focus-visible,
.pa-contexto-rodape button:focus-visible,
.pa-drawer-abrir:focus-visible,
.pa-erro-link:focus-visible {
  outline: 2px solid var(--gold); outline-offset: 2px;
}

.pa-header {
  display: flex; justify-content: space-between; align-items: center;
  gap: 16px; flex-wrap: wrap;
  padding: 14px 24px;
  background: var(--navy);
  border-bottom: 3px solid var(--gold);
  color: #fff;
}
.pa-header-titulo {
  font-family: var(--fonte-serif); font-size: 20px; font-weight: 700;
}
.pa-header-badges { margin-top: 4px; display: flex; gap: 8px; flex-wrap: wrap; }
.pa-badge {
  display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; padding: 3px 9px; border-radius: var(--raio-borda);
}
.pa-badge-publicada { background: rgba(61,107,74,.25); color: var(--cor-sucesso-texto-claro); }
.pa-badge-rascunho { background: var(--gold-faint); color: var(--gold-2); }

.pa-header-acoes { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pa-status { font-size: 11px; color: var(--gold-2); min-width: 70px; }

.pa-btn-gold {
  background: var(--gold); border: 1px solid var(--gold); color: var(--navy);
  font-weight: 700; padding: 8px 16px; border-radius: var(--raio-borda); cursor: pointer;
  /* Alvo de toque WCAG 2.5.5 (44px) — a Central é usada em tablet, não só desktop
     com rato (achado P2 do audit `impeccable`, 2026-08-20). */
  min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
}
.pa-btn-gold:hover { background: var(--gold-2); }

.pa-fechar {
  background: transparent; border: 1px solid rgba(255,255,255,.3); color: #fff;
  border-radius: var(--raio-borda); cursor: pointer;
  /* Alvo de toque WCAG 2.5.5 (44px) — revisão visual T3F, 2026-08-20. */
  width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
}
.pa-fechar:hover { border-color: var(--gold); color: var(--gold); }

.pa-body { flex: 1; display: flex; min-height: 0; overflow: hidden; }

.pa-config-nav {
  width: 230px; flex: none; background: var(--navy); color: #fff;
  overflow-y: auto; padding: 10px 0;
}
.pa-config-tab {
  display: flex; align-items: center; width: 100%; min-height: 44px;
  text-align: left; padding: 11px 20px;
  background: transparent; border: none; border-left: 3px solid transparent;
  color: rgba(255,255,255,.75); font-size: 13px; cursor: pointer;
}
.pa-config-tab:hover { color: #fff; }
.pa-config-tab.is-activa {
  background: rgba(191,164,95,.14); border-left-color: var(--gold); color: #fff; font-weight: 700;
}

.pa-config-conteudo {
  flex: 1; overflow-y: auto; padding: 20px 24px; background: var(--cor-fundo); overflow-x: auto;
}

.pa-card {
  background: var(--cor-superficie); border: 1px solid var(--cor-borda);
  border-top: 3px solid var(--gold); border-radius: var(--raio-borda);
  padding: 18px; margin-bottom: 16px;
}
.pa-resumo-ok { border-top-color: var(--cor-sucesso); color: var(--cor-sucesso); }
.pa-resumo-titulo { font-weight: 700; color: var(--cor-perigo); margin-bottom: 8px; }

.pa-campo { margin-bottom: 14px; }
.pa-campo label { display: block; font-size: 12px; font-weight: 700; margin-bottom: 4px; }
.pa-campo input[type="text"], .pa-campo input[type="number"], .pa-campo textarea, .pa-campo select {
  width: 100%; padding: 8px 10px; border: 1px solid var(--cor-borda);
  border-radius: var(--raio-borda); font-size: 13px; font-family: var(--fonte);
}
.pa-radio, .pa-checkbox { display: inline-flex; align-items: center; gap: 5px; margin-right: 14px; font-size: 13px; min-height: 44px; padding: 6px 0; }

.pa-tabela { width: 100%; border-collapse: collapse; margin-bottom: 12px; }
.pa-tabela th {
  text-align: left; padding: 8px 10px; font-size: 10px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--gold-texto);
  border-bottom: 1px solid var(--cor-borda);
}
.pa-tabela td { padding: 9px 10px; border-bottom: 1px solid var(--cor-borda); font-size: 13px; }
.pa-tabela .pa-acoes { white-space: nowrap; text-align: right; }
.pa-vazio { text-align: center; color: var(--cor-texto-secundario); font-style: italic; padding: 18px; }
.pa-vazio p { margin: 0 0 12px; }
.pa-vazio .btn { font-style: normal; }
.pa-vazio-nota { font-size: 12px; }
/* I4 (review ronda 1): estado discreto de carregamento — nunca skeleton
   completo, só o suficiente para nunca deixar coluna/painel em branco ou
   com conteúdo antigo enquanto o fetch está em curso. */
.pa-loading { text-align: center; color: var(--cor-texto-secundario); padding: 18px; }

.pa-btn-icone {
  background: transparent; border: 1px solid var(--cor-borda); border-radius: var(--raio-borda);
  display: inline-flex; align-items: center; justify-content: center;
  /* Era 28x28 -- abaixo dos 44px. Crescer o alvo real em vez de aumentar o
     desenho: linhas com 4 botoes lado a lado (subir/descer/editar/remover
     em protocolo_configurador.js) nao tem folga para margem negativa sem
     sobrepor o alvo do vizinho, por isso aqui e so min-width/min-height. */
  min-width: 44px; min-height: 44px; cursor: pointer; color: var(--cor-texto);
}
.pa-btn-icone:hover { border-color: var(--gold); color: var(--gold-texto); }
.pa-btn-icone:disabled { opacity: .35; cursor: not-allowed; }

.pa-papeis-linha { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; flex-wrap: wrap; }
.pa-papeis-linha > span:first-child { width: 70px; font-size: 12px; font-weight: 700; text-transform: capitalize; }

.pa-lista-erros { list-style: none; padding: 0; margin: 0; }
.pa-lista-erros li { margin-bottom: 6px; }
.pa-erro-link {
  background: transparent; border: none; color: var(--cor-perigo); text-decoration: underline;
  cursor: pointer; font-size: 13px; padding: 4px 0; text-align: left;
  min-height: 44px; display: inline-flex; align-items: center;
}

.pa-drawer h3, .pa-preview h3 { font-family: var(--fonte-serif); margin-top: 0; }
.pa-drawer { width: 520px; max-width: 100%; }
.pa-preview { width: 640px; max-width: 100%; max-height: 88vh; overflow: auto; }
.pa-preview h4 { font-family: var(--fonte-serif); margin: 14px 0 6px; }

/* Botão "Configurar Protocolo" na tabela de procedimentos — sem estilo
   inline (contrato visual, Step 5 do brief). */
.pa-btn-tabela { margin-left: 4px; }

/* Modal "Enviar para Pré-Triagem" (Task 9, spec 1.7) — casca partilhada de
   `componentes/modal.js`, só o miolo usa este prefixo. */
.pa-enc-aviso {
  display: flex; align-items: flex-start; gap: 8px;
  background: var(--gold-faint); color: var(--navy);
  border-radius: var(--raio-borda); padding: 10px 12px;
  font-size: 13px; line-height: 1.45; margin-bottom: 16px;
}
.pa-enc-aviso .ti { margin-top: 2px; color: var(--gold-texto); }
.pa-enc-erro {
  background: rgba(178,58,58,.08); color: var(--cor-perigo);
  border: 1px solid rgba(178,58,58,.3); border-radius: var(--raio-borda);
  padding: 8px 10px; font-size: 13px; margin-bottom: 4px;
}
.pa-enc-vazio {
  margin-top: 6px; font-size: 12px; line-height: 1.45;
  color: var(--cor-texto-secundario); font-style: italic;
}

/* Confirmação de origem e canal (spec §14.1): quem confirma tem de ver de
   que conversa/Lead se trata, não só um aviso genérico. */
.pa-enc-origem {
  border: 1px solid var(--cor-borda); border-left: 3px solid var(--gold);
  border-radius: var(--raio-borda); padding: 10px 12px; margin-bottom: 14px;
  background: var(--cor-fundo-suave, #f6f6f3);
}
.pa-enc-origem-linha { display: flex; gap: 10px; font-size: 13px; line-height: 1.7; }
.pa-enc-origem-rotulo {
  flex: 0 0 76px; text-transform: uppercase; letter-spacing: .08em;
  font-size: 10px; font-weight: 700; color: var(--gold-texto); align-self: center;
}
.pa-enc-origem-valor { color: var(--navy); font-weight: 600; }

/* Viewport reduzido (spec: 820px sem overflow horizontal). */
@media (max-width: 900px) {
  .pa-body { flex-direction: column; overflow-y: auto; }
  .pa-config-nav {
    width: 100%; display: flex; overflow-x: auto; padding: 0;
    border-bottom: 3px solid var(--gold);
  }
  .pa-config-tab { flex: none; border-left: none; border-bottom: 3px solid transparent; white-space: nowrap; }
  .pa-config-tab.is-activa { border-left-color: transparent; border-bottom-color: var(--gold); }
  .pa-header { padding: 12px 14px; }
  .pa-config-conteudo { padding: 14px; }
}

/* ── Central operacional (Task 11b, spec 1.2 e 1.6) ─────────────────────────
   `overflow-x: hidden` na raiz e em cada coluna: nenhuma largura de conteúdo
   (nomes longos, textos de guia) pode empurrar a página inteira para o lado
   — a exigência "nenhum scroll horizontal na página" do §1.6. */
.pa-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.pa-fases { display: flex; gap: 2px; overflow-x: hidden; }
.pa-fases [role="tab"] {
  background: transparent; border: none; padding: 8px 14px; font: inherit; font-size: 13px;
  color: var(--navy); cursor: pointer; border-radius: var(--raio-borda);
  /* Alvo de toque WCAG 2.5.5 (44px) — revisão visual T3F, 2026-08-20. */
  min-height: 44px; display: inline-flex; align-items: center;
}
.pa-fases [role="tab"][aria-selected="true"] { background: var(--navy); color: #fff; }
.pa-fase-contador {
  margin-left: 6px; font-weight: 700; font-size: 10px;
  /* Era var(--gold-2) sobre fundo branco (~2:1, falha WCAG AA) — corrigido
     para --gold-texto, o mesmo dourado escurecido usado no resto do sistema
     para texto sobre claro. Revisão visual T3F, 2026-08-20. */
  color: var(--gold-texto);
}
.pa-fases [role="tab"][aria-selected="true"] .pa-fase-contador { color: var(--gold); }
.pa-btn-filtros {
  background: transparent; border: 1px solid var(--cor-borda); border-radius: var(--raio-borda);
  padding: 7px 14px; font-size: 13px; cursor: pointer;
  /* Alvo de toque WCAG 2.5.5 (44px) — revisão visual T3F, 2026-08-20. */
  min-height: 44px; display: inline-flex; align-items: center;
}

.pa-filtros-painel {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end;
  padding: 12px; margin-bottom: 10px;
  background: var(--cream, #f5f4ee); border: 1px solid var(--cor-borda);
  border-top: 3px solid var(--gold); border-radius: var(--raio-borda);
}
.pa-filtros-painel[hidden] { display: none; }
.pa-filtros-painel label {
  display: flex; flex-direction: column; gap: 4px;
  font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  color: var(--cor-texto-secundario);
}
.pa-filtros-painel select {
  padding: 6px 8px; border: 1px solid var(--cor-borda);
  border-radius: var(--raio-borda); font: inherit; font-size: 13px;
  /* Alvo de toque WCAG 2.5.5 (44px) — revisão visual T3F, 2026-08-20. */
  min-height: 44px;
}

.pa-guia-etapa, .pa-guia-resposta { padding: 8px 0; border-bottom: 1px solid var(--cor-borda); }
/* I2 (review ronda 1): checklist accionável da subtab ETAPAS — gating por
   `permissoes` fica nos próprios botões (`disabled` + `title`), nunca
   escondendo a acção por completo. */
.pa-guia-etapa-cabecalho { display: flex; align-items: center; gap: 8px; }
.pa-guia-etapa-acoes { display: flex; align-items: center; gap: 8px; margin-top: 6px; flex-wrap: wrap; }
.pa-guia-etapa-acoes .pa-btn-icone { width: auto; min-height: 44px; padding: 4px 10px; font-size: 11px; }
.pa-guia-etapa-motivo { display: flex; align-items: center; gap: 6px; width: 100%; margin-top: 4px; }
.pa-guia-etapa-motivo[hidden] { display: none; }
.pa-guia-etapa-motivo input {
  flex: 1; padding: 6px 8px; border: 1px solid var(--cor-borda);
  border-radius: var(--raio-borda); font: inherit; font-size: 12px;
}
.pa-guia-documentos-lista { display: flex; flex-direction: column; gap: 4px; }
.pa-guia-documento {
  display: flex; align-items: center; gap: 8px; padding: 7px 0;
  border-bottom: 1px solid var(--cor-borda); font-size: 13px;
}
.pa-guia-documento-titulo { flex: 1; min-width: 0; }
.pa-guia-documento .pa-btn-icone { width: auto; min-height: 44px; padding: 4px 10px; font-size: 11px; }
/* Viewer "lado a lado" (Task 12): fica no mesmo painel PDF da GUIA, abaixo
   da lista — nunca substitui a tab inteira. */
.pa-guia-viewer { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.pa-guia-viewer[hidden] { display: none; }
.pa-guia-viewer-frame {
  width: 100%; min-height: 360px; border: 1px solid var(--cor-borda);
  border-radius: var(--raio-borda); background: #fff;
}
.pa-guia-resposta-texto { font-size: 12px; color: var(--cor-texto-secundario); margin: 4px 0 6px; }
.pa-questionario-lista dt { font-weight: 700; font-size: 12px; margin-top: 8px; }
.pa-questionario-lista dd { margin: 2px 0 0; font-size: 13px; }
.pa-historico-item { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.pa-historico-autor { font-weight: 700; font-size: 12px; }
.pa-historico-resultado { font-size: 11px; font-weight: 700; color: var(--gold-texto, var(--gold)); }

/* Deep-link legado `?apc=<id>`: o atendimento pedido não existe como
   execução, por isso a fila auto-selecciona outro. Isso tem de se ver. */
.pa-aviso-legado {
  background: rgba(181, 137, 58, .12); border-left: 3px solid var(--cor-aviso, #b5893a);
  color: var(--cor-aviso); padding: 9px 12px; font-size: 13px; margin-bottom: 10px;
  border-radius: var(--raio-borda);
}
.pa-aviso-legado[hidden] { display: none; }

.pa-mobile-tabs { display: none; }
.pa-drawer-abrir { display: none; }

.pa-central { overflow-x: hidden; background: #fff; border: 1px solid var(--cor-borda); }
.pa-central * { box-sizing: border-box; }

.pa-fila { background: #fafafa; border-right: 1px solid var(--cor-borda); overflow-y: auto; }
.pa-fila-busca { padding: 10px; }
.pa-fila-busca input { width: 100%; padding: 6px 8px; border: 1px solid var(--cor-borda); border-radius: var(--raio-borda); }
.pa-fila-card {
  border-left: 5px solid transparent; border-bottom: 1px solid var(--cor-borda);
  padding: 10px 12px; cursor: pointer;
}
.pa-fila-card[aria-current="true"] { outline: 2px solid var(--gold); outline-offset: -2px; }
.pa-fila-nome { font-weight: 700; font-size: 13px; color: var(--navy); }
.pa-fila-proc, .pa-fila-etapa { font-size: 11px; color: var(--cor-texto-secundario); }
.pa-fila-rotulo { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-top: 4px; }
.pa-fila-tempo { font-size: 11px; color: var(--cor-texto-secundario); margin-top: 2px; }
.pa-fila-vazio { padding: 24px 12px; text-align: center; color: var(--cor-texto-secundario); font-style: italic; }

/* Tarefa 8 (spec ecrã 4): tarja vermelha do SLA — sempre com rótulo textual,
   nunca só a cor (WCAG 1.4.1). Sobrepõe-se a qualquer cor de `risco` porque
   é a mais urgente das duas condições do cartão. */
.pa-fila-card.pa-flag-vermelha {
  background: #fff5f4 !important; border-left-color: var(--cor-perigo) !important;
}
.pa-flag-rotulo {
  display: flex; align-items: center; gap: 4px; margin-top: 5px;
  font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em;
  color: #a52020;
}
.pa-flag-rotulo i { font-size: 12px; }

.pa-chat { display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.pa-chat-cabecalho { background: var(--navy); color: #fff; padding: 10px 16px; }
.pa-chat-corpo { flex: 1; overflow-y: auto; min-height: 0; }

.pa-contexto { display: flex; flex-direction: column; border-left: 1px solid var(--cor-borda); overflow: hidden; }
.pa-contexto-topo { padding: 10px 14px 0; }
.pa-protocolo-versao { font-family: var(--fonte-serif); font-size: 13px; font-weight: 700; color: var(--navy); }
.pa-contexto-tabs { display: flex; border-bottom: 1px solid var(--cor-borda); }
.pa-contexto-tabs [role="tab"] {
  background: transparent; border: none; border-bottom: 3px solid transparent;
  padding: 9px 12px; font-size: 11px; font-weight: 700; letter-spacing: .04em; cursor: pointer;
  /* Alvo de toque WCAG 2.5.5 (44px) — revisão visual T3F, 2026-08-20. */
  min-height: 44px; display: inline-flex; align-items: center;
}
.pa-contexto-tabs [role="tab"].is-activa { border-bottom-color: var(--gold); color: var(--navy); }
.pa-contexto-corpo { flex: 1; overflow-y: auto; padding: 12px 14px; }
.pa-contexto-rodape {
  display: flex; gap: 8px; padding: 10px 14px; border-top: 1px solid var(--cor-borda);
  flex-wrap: wrap;
}
.pa-btn-perigo {
  background: transparent; border: 1px solid var(--cor-perigo); color: var(--cor-perigo);
  border-radius: var(--raio-borda); padding: 8px 14px; cursor: pointer; margin-left: auto;
  /* Mesmo alvo de toque de 44px que .pa-btn-gold (achado P2 do audit, 2026-08-20). */
  min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
}
.pa-btn-perigo:disabled { opacity: .5; cursor: not-allowed; }

.pa-classificacao { border-radius: var(--raio-borda); padding: 10px 12px; margin: 12px 0; }
.pa-classificacao-vermelho { background: #fff0f0; border: 1px solid #e6b0b0; color: var(--cor-perigo); }
.pa-classificacao-amarelo, .pa-classificacao-revisao { background: #fff6df; border: 1px solid #e3cf9a; color: var(--cor-aviso); }
.pa-classificacao-verde { background: #eef8f1; border: 1px solid #b9dcc4; color: var(--cor-sucesso); }
.pa-classificacao-titulo { font-weight: 700; font-size: 13px; }
.pa-classificacao-razoes { margin: 6px 0 0; padding-left: 18px; font-size: 12px; }
.pa-classificacao-sugestao { margin: 8px 0 0; padding-top: 8px; border-top: 1px solid rgba(0, 0, 0, .08); }
.pa-classificacao-sugestao-titulo { font-weight: 600; font-size: 12px; }
.pa-classificacao-sugestao-texto { font-size: 12px; margin: 4px 0 6px; }

.pa-triagem-intro { font-size: 12px; color: var(--cor-texto-secundario); margin-bottom: 12px; }
.pa-campo-temperatura-linha { display: flex; align-items: center; gap: 8px; }
[aria-invalid="true"] { border-color: var(--cor-perigo) !important; }

/* `900-1179px`: fila estreita, painel direito vira drawer de 360px. */
@media (min-width: 900px) and (max-width: 1179px) {
  .pa-central {
    display: grid; grid-template-columns: 190px minmax(320px, 1fr);
    min-height: 635px; height: calc(100vh - 210px);
  }
  .pa-drawer-abrir {
    display: inline-block; background: transparent; border: 1px solid var(--cor-borda);
    border-radius: var(--raio-borda); padding: 7px 14px; cursor: pointer;
  }
  .pa-contexto {
    display: none; position: fixed; top: 0; right: 0; bottom: 0; width: 360px;
    z-index: 1100; background: #fff; box-shadow: -8px 0 24px -12px rgba(9,16,38,.4);
  }
  .pa-contexto.is-aberta { display: flex; }
}

/* `>= 1180px`: desktop completo, três colunas fixas (contrato exacto §1.2). */
@media (min-width: 1180px) {
  .pa-central {
    display: grid;
    grid-template-columns: 220px minmax(390px, 1fr) 330px;
    min-height: 635px;
    height: calc(100vh - 210px);
  }
}

/* `< 900px`: uma região por vez, com barra segmentada Fila | Conversa | Protocolo. */
@media (max-width: 899px) {
  .pa-central { display: block; height: auto; min-height: 0; }
  .pa-fila, .pa-chat, .pa-contexto { display: none; border: none; }
  .pa-fila.is-activa, .pa-chat.is-activa, .pa-contexto.is-activa { display: flex; flex-direction: column; }
  .pa-mobile-tabs {
    display: flex; position: sticky; top: 0; z-index: 5; background: #fff;
    border-bottom: 1px solid var(--cor-borda);
  }
  .pa-mobile-tabs [role="tab"] {
    flex: 1; background: transparent; border: none; padding: 10px; font-size: 12px;
    font-weight: 700; cursor: pointer;
    /* Alvo de toque WCAG 2.5.5 (44px) — revisão visual T3F, 2026-08-20. */
    min-height: 44px;
  }
  .pa-mobile-tabs [role="tab"][aria-selected="true"] { border-bottom: 3px solid var(--gold); }
  .pa-contexto-rodape { position: sticky; bottom: 0; background: #fff; }
}

/* Banner de alerta persistente (Tarefa 3, achado real 2026-08-21): estas
   classes vêm de protocolo_alertas.js e não tinham NENHUMA regra CSS —
   renderizavam como HTML nu, sem cor/estrutura/alvo de toque. */
.pa-alerta {
  display: flex; flex-direction: column; gap: 8px;
  background: #fff; border: 1px solid var(--cor-borda);
  border-top: 3px solid var(--gold); border-radius: var(--raio-borda);
  padding: 12px 14px; margin-bottom: 10px;
}
.pa-alerta-vermelho { border-left: 3px solid var(--cor-perigo); }
.pa-alerta-amarelo { border-left: 3px solid var(--cor-aviso); }
.pa-alerta-corpo { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.pa-alerta-titulo { font-weight: 700; font-size: 13px; color: var(--navy); }
.pa-alerta-estado {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
  color: var(--cor-texto-secundario);
}
.pa-alerta-acoes { display: flex; gap: 8px; flex-wrap: wrap; }
.pa-alerta-acoes button {
  min-height: 44px; padding: 8px 14px; border-radius: var(--raio-borda);
  border: 1px solid var(--cor-borda-forte); background: transparent; color: var(--navy);
  cursor: pointer; font: inherit; font-size: 12px; font-weight: 600;
}
.pa-alerta-acoes button:hover { border-color: var(--gold); }
.pa-alerta-acoes button:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }

/* Rampa densa aplicada às classes de chat/guia/triagem que caíam sem regra
   nenhuma no body{font-size:15px} de leitura — misturando as duas rampas. */
.pa-chat-nome { font-size: 13px; font-weight: 700; }
.pa-chat-meta, .pa-chat-janela, .pa-chat-resp { font-size: 12px; color: rgba(255,255,255,.75); }
/* Item 4: botão discreto no cabeçalho do chat (fundo navy) — `.btn-secundario`
   por omissão usa texto/borda navy, invisível aqui. Mesma forma, cores claras. */
.pa-chat-dados-btn {
  margin-top: 6px; border-color: rgba(255,255,255,.4); color: #fff;
}
.pa-chat-dados-btn:hover { border-color: var(--gold); color: var(--gold); }
.pa-guia-cabecalho, .pa-paciente-nome { font-size: 13px; font-weight: 700; color: var(--navy); }
.pa-paciente-identidade { font-size: 12px; color: var(--cor-texto-secundario); }
.pa-guia-etapa-titulo { font-size: 12px; font-weight: 700; }
.pa-triagem-erro-msg { font-size: 12px; color: var(--cor-perigo); }
