/* Catalis — só o que o app.css da plataforma não tem.

   Tudo o mais (cartão, métrica, chip, linha de lista, título de página) vem
   das classes `wf-*` de sempre: o Catalis é outra porta da mesma casa, e
   precisa parecer da casa. As cores são as da marca, que já são as da
   W Fintechs (ver docs/catalis/brand/tokens.css). */
:root {
  --catalis-verde: #2FF08A;
  --catalis-azul: #0A9FF5;
  --catalis-tinta: #0C1C2E;
}

/* aviso de conteúdo de exemplo: enquanto o conteúdo for inventado, a tela
   diz isso no topo, sem cerimônia */
.cat-exemplo {
  display: flex; align-items: center; gap: 9px;
  padding: 9px 14px; margin-bottom: 18px;
  border: 1px dashed var(--line-3); border-radius: var(--r-2);
  color: var(--muted); font-size: var(--wf-fs-apoio);
}

.cat-cabeca { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; }

.cat-metricas { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-bottom: 16px; }
.cat-metricas .wf-card__body { padding: 16px 18px; }

.cat-duas { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 16px; }

/* o bloco da prova do Brasil: é o diferencial, e é o único bloco escuro */
.cat-prova { background: var(--catalis-tinta); color: #fff; border-radius: var(--r-3); padding: 20px 22px; }
.cat-prova__titulo { color: var(--catalis-verde); font-weight: 600; font-size: var(--wf-fs-forte); margin: 0 0 4px; }
.cat-prova__sub { color: #93a3b5; font-size: var(--wf-fs-apoio); margin: 0 0 14px; }
.cat-prova__num { font-family: var(--mono); font-size: var(--wf-fs-display); font-weight: 600; line-height: 1.1; }
.cat-prova__rot { color: #93a3b5; font-size: var(--wf-fs-apoio); margin-top: 2px; }
.cat-prova hr { border-color: #21374d; opacity: 1; margin: 14px 0; }

/* etiquetas do "o que esta norma habilita" */
.cat-tag { display: inline-block; min-width: 76px; text-align: center; padding: 3px 9px; border-radius: 6px;
  font-size: var(--wf-fs-micro); font-weight: 600; }
.cat-tag--dado { background: var(--catalis-verde); color: var(--catalis-tinta); }
.cat-tag--api { background: var(--catalis-azul); color: #fff; }
.cat-tag--obrigacao { background: var(--warn-bg); color: var(--warn); border: 1px solid #ecdcb6; }

.cat-norma { cursor: pointer; }
.cat-norma.is-ativa { background: var(--accent-sf); }

@media (max-width: 900px) {
  .cat-metricas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cat-duas { grid-template-columns: minmax(0, 1fr); }
}

/* O ITEM ATIVO do menu do Catalis é verde, com texto e ícone escuros — o
   destaque da página. O menu em si continua azul, igual ao da plataforma
   (29/09/2026: o menu inteiro verde foi experimentado e desfeito — a pedido,
   o verde fica só no destaque).

   Só nesta página: este arquivo não carrega no resto da plataforma, onde o
   ativo continua a faixa translúcida de `app.css`. O ícone precisa ir
   junto: lá ele é verde (`--accent-lt`), e verde sobre verde some. */
.wf-rail__item.is-active,
.wf-rail__item.is-active:hover { background: var(--catalis-verde); color: var(--catalis-tinta); font-weight: 600; }
.wf-rail__item.is-active i { color: var(--catalis-tinta); }

/* ── F0 (29/09/2026): grupos do menu ──
   No rail recolhido (e na barra de baixo do celular) o grupo é só uma linha
   fina, como o separador; no rail expandido do desktop, vira o nome do
   grupo. 901px é o limite de `isDesktopRail()` no app.js e do app.css. */
.wf-rail__grupo { height: 1px; background: rgba(255,255,255,.18); margin: 8px 16px; font-size: 0; overflow: hidden; }
@media (min-width: 901px) {
  .wf-rail.is-expanded .wf-rail__grupo {
    height: auto; background: none; overflow: visible; margin: 16px 13px 6px;
    font-size: var(--wf-fs-micro); font-weight: 600; color: #8FA9CC;
  }
}
@media (max-width: 900px) {
  .wf-rail__grupo { display: none; }
}
/* 30/09/2026: com as seções da F3 o menu do Catalis ficou mais alto que a
   tela, e o flex do rail espremia o que cedesse primeiro — o logo foi a
   0px. Nada no rail encolhe; o que não couber rola. Só no desktop: no
   celular o rail é a barra de baixo. */
@media (min-width: 901px) {
  /* a barra de rolagem fica escondida: no rail recolhido ela comia a
     largura e cortava os rótulos. Roda do mouse e trackpad rolam igual. */
  .wf-rail { overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; }
  .wf-rail::-webkit-scrollbar { display: none; }
  .wf-rail > * { flex-shrink: 0; }
}

/* ── F0: o seletor de país ── */
.cat-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 16px; }
.cat-pais-btn, .cat-comparar-btn {
  display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid var(--line-3); border-radius: var(--r-2); background: var(--surface, #fff);
  padding: 7px 12px; font-size: var(--wf-fs-corpo); color: var(--ink, inherit);
}
.cat-pais-btn { font-weight: 600; }
.cat-comparar-btn { color: var(--muted); }
.cat-pais-btn:hover, .cat-comparar-btn:hover { border-color: var(--catalis-azul); }
.cat-pais-btn:focus-visible, .cat-comparar-btn:focus-visible { outline: 2px solid var(--catalis-azul); outline-offset: 1px; }
.cat-bandeira { font-size: 1.05em; line-height: 1; }
.cat-conta { background: var(--catalis-tinta); color: #fff; border-radius: 999px; padding: 0 7px; font-size: var(--wf-fs-micro); font-weight: 600; }
.cat-pais-menu { min-width: 240px; }
.cat-pais-op { display: flex; align-items: center; gap: 8px; }
.cat-pais-op.is-sel { background: var(--accent-sf); font-weight: 600; }
.cat-comparar-op { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.cat-comparar-op input { margin: 0; }
.cat-comparar-rodape { display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 6px 16px 2px; border-top: 1px solid var(--line-3); margin-top: 4px; color: var(--muted); font-size: var(--wf-fs-apoio); }
.cat-chip-pais { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 3px 4px 3px 10px;
  background: var(--accent-sf); font-size: var(--wf-fs-apoio); }
.cat-chip-pais button { border: 0; background: none; padding: 0 4px; line-height: 1; color: var(--muted); }
.cat-chip-pais button:hover { color: var(--down); }

/* ── F1 (29/09/2026): as telas de conteúdo ── */
.cat-acoes { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cat-acoes .btn i, .cat-exportar .btn i, .cat-seguir i { margin-right: 6px; }
.cat-exportar { display: inline-flex; gap: 8px; }
.cat-texto { line-height: 1.6; white-space: pre-line; }
.cat-unidade { font-size: .55em; color: var(--muted); font-weight: 500; }
.cat-subtitulo { font-size: var(--wf-fs-forte); font-weight: 600; margin: 20px 0 10px; }
.cat-voltar { display: inline-flex; align-items: center; gap: 6px; font-size: var(--wf-fs-apoio); margin-bottom: 10px; text-decoration: none; }

.cat-abas { display: flex; gap: 4px; border-bottom: 1px solid var(--line-3); margin-bottom: 16px; }
.cat-aba { padding: 8px 14px; color: var(--muted); text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; font-weight: 500; }
.cat-aba:hover { color: var(--catalis-tinta); }
.cat-aba.is-on { color: var(--catalis-tinta); border-bottom-color: var(--catalis-azul); }

.cat-linha { display: flex; align-items: center; justify-content: space-between; gap: 12px; text-decoration: none; color: inherit; }
.cat-linha:hover { background: var(--accent-sf); }
.cat-linha__titulo { font-weight: 500; }
.cat-prazo { display: flex; gap: 14px; align-items: baseline; }
.cat-prazo__data { flex: 0 0 96px; font-family: var(--mono); font-size: var(--wf-fs-apoio); color: var(--muted); }

.cat-cronograma { list-style: none; margin: 0; padding: 6px 18px 12px; }
.cat-marco { display: grid; grid-template-columns: 78px 1fr auto; gap: 12px; padding: 8px 0 8px 14px; border-left: 2px solid var(--line-3); position: relative; font-size: var(--wf-fs-corpo); }
.cat-marco::before { content: ""; position: absolute; left: -6px; top: 13px; width: 10px; height: 10px; border-radius: 50%; background: #fff; border: 2px solid var(--line-3); }
.cat-marco--concluido::before { background: var(--catalis-verde); border-color: var(--catalis-verde); }
.cat-marco--previsto::before { border-color: var(--catalis-azul); }
.cat-marco--adiado::before { border-color: var(--warn); }
.cat-marco__data { font-family: var(--mono); font-size: var(--wf-fs-apoio); color: var(--muted); }
.cat-marco__sit { font-size: var(--wf-fs-micro); color: var(--muted); white-space: nowrap; }

.cat-caps { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.cat-cap { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border: 1px solid var(--line-3); border-radius: var(--r-2); background: #fff; color: inherit; text-decoration: none; }
.cat-cap:hover { border-color: var(--catalis-azul); }
.cat-cap i { color: var(--catalis-azul); }
.cat-cap__nome { font-weight: 600; }
.cat-cap__desc { font-size: var(--wf-fs-micro); color: var(--muted); font-weight: 400; margin-top: 2px; }

.cat-sit { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: var(--wf-fs-micro); font-weight: 600; white-space: nowrap; align-self: flex-start; }
.cat-sit--producao { background: var(--catalis-verde); color: var(--catalis-tinta); }
.cat-sit--cronograma { background: #E1F1FD; color: #075985; }
.cat-sit--definicao { background: var(--warn-bg); color: var(--warn); }
.cat-sit--nao { background: #EEF0F2; color: var(--muted); }
.cat-sit--vazio { color: var(--muted); padding: 2px 0; }
.cat-sit__quando { font-size: var(--wf-fs-micro); color: var(--muted); margin-top: 3px; }

.cat-matriz th[scope="row"] a { color: inherit; font-weight: 600; text-decoration: none; }
.cat-matriz th[scope="row"] a:hover { color: var(--catalis-azul); }
.cat-matriz th[scope="row"] { font-weight: 400; min-width: 240px; }
.cat-grupo th { background: var(--accent-sf); font-size: var(--wf-fs-micro); font-weight: 600; color: var(--muted); }
.cat-comparacao th[scope="row"] { width: 180px; color: var(--muted); font-weight: 500; }
.cat-comparacao td { vertical-align: top; font-size: var(--wf-fs-apoio); line-height: 1.5; }
.cat-clicavel { cursor: pointer; }
.cat-clicavel:hover, .cat-clicavel.is-sel { background: var(--accent-sf); }

.cat-cap-pais { display: grid; grid-template-columns: 130px 1fr; gap: 12px; align-items: start; }
.cat-cap-pais__detalhe { font-size: var(--wf-fs-apoio); margin-top: 6px; line-height: 1.5; }

.cat-filtros { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 12px; }
.cat-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.cat-filtro-cap { width: auto; min-width: 200px; }
.cat-filtro-q { width: 260px; max-width: 100%; }
.cat-norma-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; text-decoration: none; color: inherit; }
.cat-norma-item:hover { background: var(--accent-sf); }
.cat-norma-item__resumo { font-size: var(--wf-fs-apoio); color: var(--muted); margin-top: 2px; }
.cat-tipo { margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: #EEF0F2; font-size: var(--wf-fs-micro); }
.cat-tag-cap { display: inline-block; margin: 0 4px 4px 0; padding: 1px 8px; border-radius: 6px; background: #E1F1FD; color: #075985; font-size: var(--wf-fs-micro); }
.cat-meta { display: flex; flex-wrap: wrap; gap: 24px; }

.cat-grafico { width: 100%; height: 140px; display: block; }
.cat-rank { flex: 0 0 22px; font-family: var(--mono); color: var(--muted); }

@media (max-width: 900px) {
  .cat-marco { grid-template-columns: 90px 1fr; }
  .cat-marco__sit { display: none; }
  .cat-cap-pais { grid-template-columns: 1fr; }
}

/* PDF: a ficha, sem menu, topo, seletor nem botões */
@media print {
  .wf-rail, .wf-topbar, #wf-tabs, .cat-barra, .cat-abas, .cat-acoes, .cat-voltar, .cat-exportar { display: none !important; }
  .wf-main { margin: 0 !important; padding: 0 !important; }
  .wf-canvas { padding: 0 !important; }
  .wf-card { break-inside: avoid; box-shadow: none !important; }
  .cat-duas { grid-template-columns: 1fr 1fr; }
}

/* Capacidades (29/09/2026, ajuste de desenho pedido pelo dono) */
.cat-caps--matriz { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); margin-bottom: 8px; }
.cat-cap__topo { display: flex; align-items: center; gap: 8px; }
.cat-cap__sit { margin-top: auto; padding-top: 6px; }
.cat-matriz-card { overflow-x: auto; }
.cat-matriz { table-layout: fixed; width: 100%; min-width: 560px; }
.cat-matriz__cap { width: 42%; }
.cat-matriz th, .cat-matriz td { padding: 12px 16px; vertical-align: top; }
.cat-matriz thead th { font-size: var(--wf-fs-apoio); }
.cat-grupo th { padding: 8px 16px; }

/* ── F2 (30/09/2026): Casos de uso e Use Case Studio ── */
.cat-casos { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; margin-bottom: 8px; }
.cat-caso { position: relative; display: flex; flex-direction: column; border: 1px solid var(--line-3); border-radius: var(--r-2); background: #fff; }
.cat-caso:hover { border-color: var(--catalis-azul); }
.cat-caso__marcar { position: absolute; top: 10px; right: 12px; }
.cat-caso__corpo { display: flex; flex-direction: column; gap: 6px; padding: 14px 40px 8px 14px; color: inherit; text-decoration: none; }
.cat-caso__corpo i { color: var(--catalis-azul); }
.cat-caso__pe { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 14px 12px; margin-top: auto; }
.cat-caso__paises { display: flex; flex-wrap: wrap; gap: 6px; }
.cat-caso__pais { display: inline-flex; align-items: center; gap: 4px; }
.cat-caso__pe .btn i { margin-right: 6px; }
.cat-comparar-casos { margin-bottom: 12px; font-size: var(--wf-fs-apoio); color: var(--muted); }
.cat-exige { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.cat-exige a { color: inherit; text-decoration: none; font-weight: 500; }
.cat-exige__paises { display: flex; flex-wrap: wrap; gap: 6px; }

.cat-passos { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0 0 16px; }
.cat-passo { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line-3); background: #fff; border-radius: 999px; padding: 5px 14px 5px 5px; font-size: var(--wf-fs-apoio); color: var(--muted); }
.cat-passo span { display: inline-flex; width: 22px; height: 22px; border-radius: 50%; align-items: center; justify-content: center; background: #EEF0F2; font-weight: 600; }
.cat-passo.is-on { border-color: var(--catalis-tinta); color: var(--catalis-tinta); font-weight: 600; }
.cat-passo.is-on span { background: var(--catalis-tinta); color: #fff; }
.cat-passo.is-feito span { background: var(--catalis-verde); color: var(--catalis-tinta); }
.cat-passo:disabled { opacity: .5; }
.cat-navegar { display: flex; justify-content: space-between; margin-top: 16px; }
.cat-temos { display: flex; justify-content: space-between; align-items: center; cursor: pointer; }

.cat-fones { display: flex; gap: 16px; overflow-x: auto; padding-bottom: 6px; }
.cat-fone { flex: 0 0 200px; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.cat-fone__tela { height: 360px; border: 8px solid var(--catalis-tinta); border-radius: 26px; background: #fff; padding: 22px 14px 14px; display: flex; flex-direction: column; gap: 8px; }
.cat-fone__titulo { font-weight: 600; font-size: 15px; }
.cat-fone__texto { font-size: 13px; color: var(--muted); line-height: 1.45; }
.cat-fone__botao { margin-top: auto; text-align: center; border-radius: 10px; padding: 9px; background: var(--catalis-tinta); color: #fff; font-size: 13px; font-weight: 600; }
.cat-fone__botao.is-destaque { background: var(--catalis-verde); color: var(--catalis-tinta); }
.cat-fone__exige { font-size: 12px; color: var(--muted); line-height: 1.4; display: flex; gap: 6px; }
.cat-fone__exige i { color: var(--catalis-azul); }

.cat-viab { display: flex; align-items: center; gap: 12px; }
.cat-viab__icone.is-ok { color: #12a150; }
.cat-viab__icone.is-falta { color: var(--warn); }
.cat-ref { display: flex; align-items: center; gap: 12px; }

.cat-one { background: #fff; border: 1px solid var(--line-3); border-radius: var(--r-3); padding: 28px 30px; }
.cat-one__topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; border-bottom: 2px solid var(--catalis-verde); padding-bottom: 14px; margin-bottom: 18px; }
.cat-one__topo h2 { font-size: 22px; margin: 4px 0 0; }
.cat-one__marca { height: 28px; background: var(--catalis-tinta); padding: 6px 10px; border-radius: 6px; }
.cat-one__grade { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 28px; }
/* sem caixa alta: rótulo com só a primeira maiúscula (regra da casa) */
.cat-one__bloco h3 { font-size: 13px; font-weight: 600; color: var(--muted); margin: 0 0 6px; }
.cat-one__bloco p, .cat-one__bloco li { font-size: 14px; line-height: 1.55; }
.cat-one__bloco ul { padding-left: 18px; margin: 0; }
.cat-one > .cat-one__bloco { margin-top: 18px; }
.cat-salvar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cat-salvar .form-control { max-width: 320px; }
@media (max-width: 900px) { .cat-one__grade { grid-template-columns: 1fr; } }
@media print {
  .cat-passos, .cat-navegar, .cat-salvar, .cat-caso__marcar { display: none !important; }
  .cat-one { border: 0; padding: 0; }
}

/* Seguindo (30/09/2026) */
.cat-seguido { display: flex; align-items: center; gap: 14px; }
.cat-seguido__link { color: inherit; text-decoration: none; }
.cat-seguido__link:hover strong { color: var(--catalis-azul); }
.cat-seguido .btn i { margin-right: 6px; }

/* Personalizar (30/09/2026, F3) */
.cat-progresso { height: 8px; border-radius: 999px; background: #EEF0F2; overflow: hidden; }
.cat-progresso span { display: block; height: 100%; background: var(--catalis-verde); }
.cat-perfil-pais { display: flex; gap: 16px; align-items: flex-start; }
.cat-perfil-pais__nome { flex: 0 0 140px; font-weight: 600; padding-top: 4px; }
.cat-perfil-caps { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px 16px; }
.cat-perfil-caps .bi { color: var(--catalis-azul); }
.cat-oport__topo { display: flex; gap: 12px; align-items: flex-start; }
.cat-oport__icone { color: var(--catalis-azul); font-size: 1.2rem; }
.cat-oport__nome { font-weight: 600; color: inherit; text-decoration: none; }
.cat-oport__nome:hover { color: var(--catalis-azul); }
.cat-oport__porque { margin-top: 12px; padding: 10px 14px; border-left: 3px solid var(--catalis-verde); background: var(--accent-sf); border-radius: 0 8px 8px 0; }
.cat-oport__porque ul { margin: 0; padding-left: 18px; font-size: var(--wf-fs-apoio); line-height: 1.55; }
.cat-oport__caps { display: flex; flex-direction: column; gap: 6px; margin-top: 12px; }
.cat-tag-cap.is-tem { background: #e8f3ec; color: var(--up); }
.cat-tag-cap.is-falta { background: var(--warn-bg); color: var(--warn); }
.cat-oport .cat-acoes .btn i { margin-right: 6px; }
.cat-motivo { margin-top: 12px; max-width: 520px; }
.cat-mapa { width: 100%; height: 220px; display: block; }
.cat-est-pesos { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: flex-end; }
.cat-est-pesos label { display: flex; flex-direction: column; gap: 4px; min-width: 150px; }
.cat-faixas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cat-faixa { background: #F6F7F9; border-radius: var(--r-3); padding: 12px; }
.cat-faixa__titulo { font-size: var(--wf-fs-forte); font-weight: 600; margin: 0 0 10px; }
.cat-est-item { background: #fff; border: 1px solid var(--line-3); border-radius: 10px; padding: 12px; margin-bottom: 10px; }
.cat-est-nota { font-family: var(--mono); font-weight: 600; font-size: 18px; color: var(--catalis-tinta); }
.cat-est-notas { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px; }
.cat-est-notas label { display: flex; flex-direction: column; justify-content: space-between; gap: 2px; color: var(--muted); }
.cat-forn__logo { width: 28px; height: 28px; border-radius: 6px; object-fit: contain; background: #fff; border: 1px solid var(--line-3); }
.cat-forn__logo--vazio { display: inline-flex; align-items: center; justify-content: center; color: var(--muted); }
.cat-forn__motivos { margin: 4px 0 0; padding-left: 18px; font-size: var(--wf-fs-apoio); color: var(--ink, inherit); line-height: 1.5; font-weight: 400; }
.cat-caso .bi-patch-check-fill, .cat-cabeca .bi-patch-check-fill { color: var(--catalis-azul); }
.cat-afeta { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--catalis-verde); color: var(--catalis-tinta); font-size: var(--wf-fs-micro); font-weight: 600; }
@media (max-width: 900px) { .cat-faixas { grid-template-columns: 1fr; } .cat-perfil-pais { flex-direction: column; gap: 6px; } }
@media print { .cat-est-pesos, .cat-est-item select, .cat-oport .cat-acoes, .cat-motivo { display: none !important; } }

/* Executar (30/09/2026, F4) */
.cat-req { display: block; padding: 0; }
.cat-req__topo { display: flex; align-items: center; gap: 12px; width: 100%; background: none; border: 0; padding: 12px 18px; color: inherit; }
.cat-req__topo:hover { background: var(--accent-sf); }
.cat-req.is-aberto { background: #FAFBFC; }
.cat-req.is-fora .cat-linha__titulo { color: var(--muted); }
.cat-req__detalhe { padding: 4px 18px 18px; }
.cat-revisar { color: var(--warn); }
.cat-revisar-n { color: var(--catalis-verde); }
.cat-eixo { display: grid; grid-template-columns: 110px 1fr 44px; gap: 10px; align-items: center; margin-bottom: 8px; font-size: var(--wf-fs-apoio); }
.cat-eixo .cat-progresso { height: 6px; }
.cat-comentario { display: flex; gap: 10px; align-items: flex-start; }
.cat-mencao { color: var(--catalis-azul); }
.cat-mencoes { position: absolute; left: 0; top: 100%; z-index: 20; }
.cat-pipeline { display: grid; grid-template-columns: repeat(6, minmax(170px, 1fr)); gap: 12px; overflow-x: auto; padding-bottom: 6px; }
.cat-ini { display: flex; flex-direction: column; gap: 4px; background: #fff; border: 1px solid var(--line-3); border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; color: inherit; text-decoration: none; }
.cat-ini:hover { border-color: var(--catalis-azul); }
.cat-ini__titulo { font-weight: 600; font-size: var(--wf-fs-apoio); }
.cat-ini__pe { display: flex; justify-content: space-between; gap: 6px; font-size: var(--wf-fs-micro); color: var(--muted); }
.cat-tri { display: grid; grid-template-columns: 110px 1fr; gap: 12px; padding: 12px 18px; border-bottom: 1px solid var(--line-3); }
.cat-tri:last-child { border-bottom: 0; }
.cat-tri__rot { font-family: var(--mono); font-weight: 600; }
.cat-tri__itens { display: flex; flex-direction: column; gap: 6px; }
.cat-tri__item { display: flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; font-size: var(--wf-fs-apoio); }
.cat-tri__item:hover span:not(.cat-sit) { color: var(--catalis-azul); }
.cat-legenda { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 6px; }
.cat-bc-grafico { width: 100%; height: 160px; display: block; }
.cat-one__num, .cat-one__bloco p.cat-one__num { font-family: var(--mono); font-size: 32px; line-height: 1.1; font-weight: 600; margin: 0; color: var(--catalis-tinta); }
.cat-one__grade--3 { grid-template-columns: repeat(3, 1fr); }
.cat-etapas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.cat-etapas .cat-one__num { font-size: 22px; }
.cat-perfil-time { display: grid; grid-template-columns: 1fr 200px; gap: 8px 16px; align-items: center; }
@media (max-width: 900px) { .cat-pipeline { grid-template-columns: repeat(6, 220px); } .cat-one__grade--3 { grid-template-columns: 1fr; } .cat-tri { grid-template-columns: 1fr; } }
@media print { .cat-req__detalhe textarea, .cat-req__detalhe select, .cat-comentar, [data-pptx], .cat-filtros, .cat-abas { display: none !important; } }
/* ícone seguido de texto (o texto é nó solto, então :only-child não serve);
   botão só de ícone (lixeira, "+") fica sem margem */
#cat-tela .btn > i.bi { margin-right: 6px; }
#cat-tela .btn-link > i.bi, #cat-tela [data-add-acao] > i.bi { margin-right: 0; }
.cat-bc-cen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--line-3); }
.cat-bc-cen__item { padding: 14px 16px; border-right: 1px solid var(--line-3); }
.cat-bc-cen__item:last-child { border-right: 0; }
.cat-bc-cen__vpl { font-size: 17px; font-weight: 600; margin: 4px 0 0; color: var(--catalis-tinta); }
.cat-bc-tabela th, .cat-bc-tabela td { padding: 8px 12px; font-size: var(--wf-fs-apoio); }
/* F5: botão dentro de linha de lista não quebra ("Lista curta") */
#cat-tela .wf-list-row .btn { white-space: nowrap; flex-shrink: 0; }
.cat-propostas { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.cat-proposta.is-escolhido { border-color: var(--catalis-verde); box-shadow: 0 0 0 1px var(--catalis-verde); }
.cat-one__marca--cliente { background: none; height: 36px; padding: 0; }

/* Medir (30/09/2026, F6) */
.cat-desvio { display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: 999px; font-size: var(--wf-fs-micro); font-weight: 600; }
.cat-desvio.is-mais { background: #e8f3ec; color: var(--up); }
.cat-desvio.is-menos { background: var(--warn-bg); color: var(--warn); }
.cat-bench { position: relative; height: 14px; background: #EEF0F2; border-radius: 999px; }
.cat-bench__faixa { position: absolute; top: 0; bottom: 0; background: #cfe6f7; border-radius: 999px; }
.cat-bench__mediana { position: absolute; top: -4px; width: 2px; height: 22px; background: var(--catalis-tinta); }
.cat-bench__sua { position: absolute; top: -3px; width: 20px; height: 20px; margin-left: -10px; border-radius: 50%; background: var(--catalis-verde); border: 2px solid var(--catalis-tinta); }
.cat-codigo { background: #0C1C2E; color: #d9f5e6; border-radius: 8px; padding: 12px 14px; font-size: 12px; white-space: pre-wrap; word-break: break-all; margin: 0; }
.cat-indice-comp { margin-bottom: 14px; }
.cat-indice-comp .cat-progresso { display: block; margin: 6px 0 4px; }
.cat-indice-rank.is-sel { background: var(--accent-sf); }
.cat-impactos { border-left: 3px solid var(--warn); }

/* F7 · aviso de bloco (país membro da União Europeia) e filtro de tema */
.cat-aviso-bloco{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:10px 14px;border:1px solid var(--wf-border);border-radius:10px;background:var(--accent-sf);font-size:13px}
.cat-aviso-bloco .bi{color:var(--accent)}
.cat-temas{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.cat-tema{border:1px solid var(--wf-border);background:transparent;border-radius:999px;padding:3px 12px;font-size:13px;color:inherit}
.cat-tema.is-sel{background:var(--accent);border-color:var(--accent);color:#fff}
.cat-tema-rot{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}
