/* ============================================================
   SARA na linguagem da Casa (13/10/2026)

   Ivo: "precisamos manter o nosso CSS padrão; o SARA pode ser um
   pouquinho mais moderno que os demais" e "esse padrão azul não é o
   nosso". Régua da Casa (ANA, SIAT, Gabinete; referência viva:
   ana/public/styles/base.css): papel branco, barra lateral clara com
   faixa navy no topo e o logo em cartão branco, rótulos em versalete,
   títulos em Lora, um botão navy por tela, acento do sistema só em
   filetes e fundos leves; azul só no conteúdo escrito pela IA.
   O SARA, um pouco mais moderno que os demais: cantos de 8 px, sombra
   leve, faixa navy em degradê com filete do acento e transições suaves.
   Acento do SARA: dourado (o da capa e do emblema do relatório).

   Esta folha vem por último e só sobrepõe; para voltar ao visual
   anterior basta tirar o <link> dela do index.html.
   ============================================================ */

:root {
  --casa-navy: #1b2a4a;
  --casa-navy-escuro: #0f172a;
  --casa-navy-claro: #2b3e64;
  --casa-navy-suave: #eef2f7;
  --casa-papel: #ffffff;
  --casa-papel-suave: #fbfcfd;
  --casa-fundo: #f4f6f9;
  --casa-tinta: #19293d;
  --casa-cinza: #526278;
  --casa-cinza-claro: #7d8ca1;
  --casa-linha: #d9e1e9;
  --casa-linha-suave: #e8edf3;
  --casa-borda-campo: #bfcbd8;
  --casa-acento: #c5a55a;
  --casa-acento-tinta: #8a6b28;
  --casa-acento-suave: #f8f1e2;
  --casa-serifa: 'Lora', Georgia, 'Times New Roman', serif;
  --casa-raio: 8px;
  --casa-sombra: 0 1px 3px rgba(15, 23, 42, 0.06);
  --casa-sombra-m: 0 6px 18px rgba(15, 23, 42, 0.08);

  /* Os tokens do SARA passam a apontar para a Casa */
  --primary: var(--casa-navy);
  --primary-hover: var(--casa-navy-escuro);
  --primary-light: var(--casa-navy-claro);
  --primary-50: var(--casa-navy-suave);
  --primary-200: #c6d2e0;
  --bg: var(--casa-fundo);
  --text: var(--casa-tinta);
  --text-secondary: var(--casa-cinza);
  --text-muted: var(--casa-cinza-claro);
  --border: var(--casa-linha);
  --border-light: var(--casa-linha-suave);
  --radius: 8px;
  --radius-lg: 10px;
  --sara-navy: var(--casa-navy);
  --sara-gold: var(--casa-acento);
}

body { background: var(--casa-fundo); color: var(--casa-tinta); }

/* ---------- Barra lateral clara, faixa navy no topo ---------- */
.sidebar {
  background: var(--casa-papel) !important;
  color: var(--casa-tinta);
  border-right: 1px solid var(--casa-linha);
}
.sidebar::before, .sidebar::after { display: none !important; }
.sidebar-header {
  background: linear-gradient(160deg, var(--casa-navy) 0%, var(--casa-navy-escuro) 100%) !important;
  border-bottom: 2px solid var(--casa-acento) !important;
  padding: 16px 18px 14px !important;
}
.sidebar-header img { border-radius: 6px !important; }
.sidebar-brand h2 {
  font-family: var(--casa-serifa) !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  background: none !important;
  -webkit-text-fill-color: #ffffff !important;
  color: #ffffff !important;
}
.sidebar-brand small { color: rgba(255, 255, 255, 0.72) !important; opacity: 1 !important; }
.nav-section {
  color: var(--casa-cinza-claro) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1.6px !important;
  padding: 18px 20px 8px !important;
}
.nav-item {
  color: var(--casa-tinta) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  padding: 10px 20px !important;
  border-left: 3px solid transparent !important;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease !important;
}
.nav-item:hover { background: var(--casa-papel-suave) !important; color: var(--casa-navy) !important; }
.nav-item.active {
  background: var(--casa-acento-suave) !important;
  color: var(--casa-navy) !important;
  font-weight: 600 !important;
  border-left-color: var(--casa-acento) !important;
}
.nav-item .nav-icon { color: var(--casa-cinza) !important; }
.nav-item.active .nav-icon { color: var(--casa-acento-tinta) !important; }
.sidebar-footer { border-top: 1px solid var(--casa-linha-suave) !important; color: var(--casa-cinza-claro) !important; }
.btn-trocar-perfil {
  background: var(--casa-papel) !important;
  border: 1px solid var(--casa-borda-campo) !important;
  color: var(--casa-navy) !important;
}
.btn-trocar-perfil:hover { background: var(--casa-navy-suave) !important; }
.sidebar :where(a, button, [tabindex]):focus-visible { outline: 2px solid var(--casa-acento-tinta) !important; outline-offset: -2px; }

/* ---------- Barra superior ---------- */
.top-bar { background: var(--casa-papel) !important; border-bottom: 1px solid var(--casa-linha) !important; box-shadow: none !important; }
.top-bar-title, #top-title {
  font-family: var(--casa-serifa) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: var(--casa-navy) !important;
  letter-spacing: 0 !important;
}

/* ---------- Títulos em Lora ---------- */
.template-page-title, .aud-cab h1, .aud-pcab h2, .admin-toolbar h3,
#view-configuracoes h3, .rr-card .card-header h3 {
  font-family: var(--casa-serifa) !important;
  color: var(--casa-navy) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
.template-page-title, .aud-cab h1 { font-size: 22px !important; }
.aud-pcab h2 { font-size: 17px !important; }

/* ---------- Cabeçalho de página: papel branco com filete dourado ---------- */
.template-page-hero, .aud-cab {
  background: var(--casa-papel) !important;
  border: 1px solid var(--casa-linha) !important;
  border-top: 3px solid var(--casa-acento) !important;
  border-radius: var(--casa-raio) !important;
  box-shadow: var(--casa-sombra) !important;
}
.template-page-kicker, .aud-trilha, .aud-trilha a {
  color: var(--casa-acento-tinta) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1.6px !important;
}
.template-page-copy, .aud-meta { color: var(--casa-cinza) !important; }
.aud-meta b, .template-stat-label, .aud-vers, .proc-ficha dt {
  color: var(--casa-cinza-claro) !important;
  font-weight: 600 !important;
  letter-spacing: 1.2px !important;
}

/* ---------- Guias ---------- */
.aud-guia { color: var(--casa-cinza) !important; }
.aud-guia:hover { color: var(--casa-navy) !important; }
.aud-guia[aria-selected="true"], .proc-tab.active, .builder-tab.active {
  color: var(--casa-navy) !important;
  font-weight: 600 !important;
  border-bottom-color: var(--casa-acento) !important;
}
.aud-guia .aud-c:not(:empty), .proc-tab-counter { background: var(--casa-navy-suave) !important; color: var(--casa-cinza) !important; }
.aud-guia[aria-selected="true"] .aud-c:not(:empty), .proc-tab.active .proc-tab-counter {
  background: var(--casa-acento-suave) !important;
  color: var(--casa-acento-tinta) !important;
}

/* ---------- Cartões: papel branco, borda de linha ---------- */
.template-card, .template-stat-card, .fisc-card, .proc-ficha, .proc-zona-perigo, #proc-relatorios-card,
.proc-doc-papel, .campo-papel, .card, #tpl-builder-view .sec-accordion {
  background: var(--casa-papel);
  border-color: var(--casa-linha) !important;
  border-radius: var(--casa-raio) !important;
  box-shadow: var(--casa-sombra) !important;
}
.template-card:hover, #tpl-builder-view .sec-accordion:hover { box-shadow: var(--casa-sombra-m) !important; border-color: #c6d2e0 !important; }
.template-card::before { background: var(--casa-acento) !important; }
.template-card-icon { background: var(--casa-acento-suave) !important; color: var(--casa-acento-tinta) !important; border-radius: 8px !important; }
.template-card-title, .aud-tit .aud-t { color: var(--casa-tinta) !important; }
.template-chip { background: var(--casa-navy-suave) !important; color: var(--casa-cinza) !important; }

/* Filete e número dos cartões da auditoria: acento nos papéis, seções e
   capítulos de texto; cor de decisão só nas constatações; azul só na IA. */
#tpl-builder-view [data-tipo="secao"], #tpl-builder-view [data-tipo="inspecao"],
#tpl-builder-view [data-tipo="entrevista"], #tpl-builder-view [data-tipo="documento"],
#tpl-builder-view [data-tipo="dados"], #tpl-builder-view [data-origem="misto"] {
  --aud-filete: var(--casa-acento); --aud-tile-fundo: var(--casa-acento-suave); --aud-tile-tinta: var(--casa-acento-tinta);
}
#tpl-builder-view [data-origem="texto_fixo"] { --aud-filete: var(--casa-navy); --aud-tile-fundo: var(--casa-navy-suave); --aud-tile-tinta: var(--casa-navy); }
#tpl-builder-view [data-origem="automatico"], #tpl-builder-view [data-tipo="informacao"] { --aud-filete: #b4b8bd; --aud-tile-fundo: #f3f4f6; --aud-tile-tinta: #5b6170; }
#tpl-builder-view [data-origem="ia"] { --aud-filete: #2b5c9e; --aud-tile-fundo: rgba(43, 92, 158, 0.08); --aud-tile-tinta: #1f4f8f; }
#tpl-builder-view [data-tipo="achado"] { --aud-filete: #a22c28; --aud-tile-fundo: #fcefed; --aud-tile-tinta: #a22c28; }
#tpl-builder-view [data-tipo="ponto_atencao"] { --aud-filete: #b7791f; --aud-tile-fundo: #fff4de; --aud-tile-tinta: #83540f; }
#tpl-builder-view [data-tipo="boa_pratica"] { --aud-filete: #19634c; --aud-tile-fundo: #e8f4ee; --aud-tile-tinta: #19634c; }
.campo-papel::before { background: var(--casa-acento) !important; }

/* Cartões de processo: cor da situação sem azul nem roxo */
.card-accent-blue { border-left-color: var(--casa-navy) !important; }
.card-accent-purple { border-left-color: var(--casa-acento) !important; }

/* ---------- Botões: o navy da Casa ---------- */
.btn-primary {
  background: var(--casa-navy) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.18) !important;
  transition: background 0.18s ease, box-shadow 0.18s ease !important;
}
.btn-primary:hover:not(:disabled) { background: var(--casa-navy-claro) !important; }
.btn-secondary, .aud-btn-leve {
  background: var(--casa-papel) !important;
  color: var(--casa-navy) !important;
  border: 1px solid var(--casa-borda-campo) !important;
}
.btn-secondary:hover:not(:disabled), .aud-btn-leve:hover { background: var(--casa-navy-suave) !important; border-color: #93a5bb !important; }
.btn-ghost { color: var(--casa-cinza) !important; }
.btn-ghost:hover { color: var(--casa-navy) !important; }

/* ---------- Campos ---------- */
.form-control { border-color: var(--casa-borda-campo); }
.form-control:focus { border-color: var(--casa-navy) !important; box-shadow: 0 0 0 3px rgba(27, 42, 74, 0.1) !important; }

/* ---------- App de campo: faixa navy da Casa ---------- */
.campo-header {
  background: linear-gradient(135deg, var(--casa-navy) 0%, var(--casa-navy-escuro) 100%) !important;
  border-bottom: 2px solid var(--casa-acento);
}
body.campo-mode .wizard-steps { background: var(--casa-papel) !important; border-bottom: 1px solid var(--casa-linha); }
.wiz-title { font-family: var(--casa-serifa) !important; color: var(--casa-navy) !important; font-weight: 600 !important; }

/* ---------- Ícones e janelas sem o azul antigo ---------- */
/* Ícones de metadado que vinham com cor própria (azul, roxo, verde) */
svg[stroke="#3b82f6"], svg[stroke="#8b5cf6"], svg[stroke="#10b981"], svg[stroke="#6366f1"] { stroke: var(--casa-cinza-claro) !important; }
.modal-head-icon { background: var(--casa-navy-suave) !important; color: var(--casa-navy) !important; }
.empty-icon-blue { background: var(--casa-navy-suave) !important; color: var(--casa-navy) !important; }
.modal-section-title { color: var(--casa-cinza-claro) !important; letter-spacing: 1.2px !important; }
.modal-header h3, .modal-title, [id^="modal-"][id$="-title"] { font-family: var(--casa-serifa) !important; color: var(--casa-navy) !important; font-weight: 600 !important; }
.empty-icon, [class*="empty-icon-"] { background: var(--casa-navy-suave) !important; color: var(--casa-navy) !important; }

/* ---------- App de campo: tokens do modo campo na régua ---------- */
:root {
  --campo: var(--casa-navy);
  --campo-hover: var(--casa-navy-escuro);
  --campo-light: var(--casa-navy-claro);
  --campo-50: var(--casa-navy-suave);
  --campo-100: #dde5ef;
  --campo-200: #c6d2e0;
  --campo-dark: var(--casa-navy);
  --campo-darker: var(--casa-navy-escuro);
  --campo-gold: var(--casa-acento);
}
body.campo-mode .form-card { border-color: var(--casa-linha) !important; background: var(--casa-papel) !important; backdrop-filter: none !important; border-radius: 10px !important; }
body.campo-mode .btn-green { background: var(--casa-navy) !important; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.18) !important; }

/* Botão verde do portal vira a ação principal navy (um botão navy por tela) */
.btn-green { background: var(--casa-navy) !important; color: #ffffff !important; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.18) !important; }
.btn-green:hover:not(:disabled) { background: var(--casa-navy-claro) !important; }

/* Texto escrito pela IA na revisão: azul translúcido da régua, para o
   auditor ver o que veio da IA; ao editar, o texto continua ali. */
.rr-textarea { background: rgba(43, 92, 158, 0.04) !important; border-color: rgba(43, 92, 158, 0.24) !important; }
.rr-textarea:focus { background: #ffffff !important; border-color: var(--casa-navy) !important; box-shadow: 0 0 0 3px rgba(27, 42, 74, 0.1) !important; }

/* ---------- Ficha da unidade (janela "Ver unidade") ---------- */
.modal.modal-ficha-un {
  max-width: 1080px; width: calc(100vw - 32px); max-height: 90vh;
  overflow-y: auto; padding: 0 !important; border-radius: 10px;
}
.ficha-un-cab {
  position: sticky; top: 0; z-index: 2;
  display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
  padding: 20px 28px 16px; background: var(--casa-papel);
  border-top: 3px solid var(--casa-acento); border-bottom: 1px solid var(--casa-linha);
}
.ficha-un-id { min-width: 0; }
.ficha-un-kicker {
  font-size: 12px; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase;
  color: var(--casa-acento-tinta); margin-bottom: 4px;
}
.ficha-un-titulo {
  font-family: var(--casa-serifa); font-size: 24px; font-weight: 600; line-height: 1.25;
  color: var(--casa-navy); margin: 0 0 6px; text-wrap: balance;
}
.ficha-un-meta { display: flex; flex-wrap: wrap; gap: 4px 0; font-size: 13.5px; color: var(--casa-cinza); }
.ficha-un-meta > span + span::before { content: "\00B7"; margin: 0 8px; color: var(--casa-cinza-claro); }
.ficha-un-envio { font-weight: 600; }
.ficha-un-envio[data-envio="enviado"] { color: #19634c; }
.ficha-un-envio[data-envio="rascunho"] { color: #83540f; }
.ficha-un-envio[data-envio="devolvido"] { color: #a22c28; }
.ficha-un-corpo { display: flex; flex-direction: column; gap: 20px; padding: 18px 28px 28px; background: var(--casa-fundo); }
.ficha-un-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.ficha-un-acoes .btn + .btn { margin-left: 0; }
.ficha-un-numeros {
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; margin: 0;
  background: var(--casa-papel); border: 1px solid var(--casa-linha); border-radius: var(--casa-raio);
  box-shadow: var(--casa-sombra); overflow: hidden;
}
.ficha-un-numeros > div { padding: 12px 16px; border-left: 1px solid var(--casa-linha-suave); }
.ficha-un-numeros > div:first-child { border-left: 0; }
.ficha-un-numeros dt {
  font-size: 11.5px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase;
  color: var(--casa-cinza-claro); margin: 0 0 2px;
}
.ficha-un-numeros dd {
  margin: 0; font-family: var(--casa-serifa); font-size: 24px; font-weight: 600;
  color: var(--casa-navy); font-variant-numeric: tabular-nums;
}
.ficha-un-numeros dd small { font-family: inherit; font-size: 13px; font-weight: 500; color: var(--casa-cinza-claro); }
.ficha-un-numeros [data-tom="problema"] dd { color: #a22c28; }
.ficha-un-numeros [data-tom="atencao"] dd { color: #83540f; }
.ficha-un-sec { display: flex; flex-direction: column; gap: 10px; }
.ficha-un-sec-tit {
  display: flex; align-items: baseline; gap: 8px; margin: 0;
  font-family: var(--casa-serifa); font-size: 17px; font-weight: 600; color: var(--casa-navy);
}
.ficha-un-sec-tit span {
  font-family: Inter, system-ui, sans-serif; font-size: 12px; font-weight: 600;
  color: var(--casa-acento-tinta); background: var(--casa-acento-suave);
  border-radius: 999px; padding: 1px 8px;
}
.ficha-un-vazio { margin: 0; font-size: 14px; color: var(--casa-cinza); }
.ficha-un-consts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ficha-un-const {
  --filete: #a22c28; --tipo-fundo: #fcefed; --tipo-tinta: #a22c28;
  background: var(--casa-papel); border: 1px solid var(--casa-linha); border-left: 3px solid var(--filete);
  border-radius: var(--casa-raio); padding: 12px 14px; box-shadow: var(--casa-sombra); min-width: 0;
}
.ficha-un-const[data-tipo="ponto_atencao"] { --filete: #b7791f; --tipo-fundo: #fff4de; --tipo-tinta: #83540f; }
.ficha-un-const[data-tipo="boa_pratica"] { --filete: #19634c; --tipo-fundo: #e8f4ee; --tipo-tinta: #19634c; }
.ficha-un-const[data-tipo="informacao"] { --filete: #b4b8bd; --tipo-fundo: #f3f4f6; --tipo-tinta: #5b6170; }
.ficha-un-const-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 4px; }
.ficha-un-const-cod { font-size: 12.5px; font-weight: 700; color: var(--casa-tinta); font-variant-numeric: tabular-nums; }
.ficha-un-const-tipo, .ficha-un-const-mon {
  font-size: 11px; font-weight: 600; letter-spacing: 0.6px; text-transform: uppercase;
  border-radius: 4px; padding: 1px 6px;
}
.ficha-un-const-tipo { background: var(--tipo-fundo); color: var(--tipo-tinta); }
.ficha-un-const-mon { background: var(--casa-acento-suave); color: var(--casa-acento-tinta); }
.ficha-un-const-tit { font-size: 14.5px; font-weight: 600; line-height: 1.4; color: var(--casa-tinta); }
.ficha-un-const-det { margin: 6px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--casa-cinza); }
.ficha-un-fotos { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.ficha-un-foto {
  display: flex; flex-direction: column; background: var(--casa-papel); border: 1px solid var(--casa-linha);
  border-radius: var(--casa-raio); overflow: hidden; text-decoration: none; box-shadow: var(--casa-sombra);
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.ficha-un-foto:hover { box-shadow: var(--casa-sombra-m); transform: translateY(-1px); }
.ficha-un-foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--casa-navy-suave); display: block; }
.ficha-un-foto span { padding: 8px 10px; font-size: 12.5px; line-height: 1.4; color: var(--casa-cinza); }
.ficha-un-papel {
  background: var(--casa-papel); border: 1px solid var(--casa-linha); border-left: 3px solid var(--casa-acento);
  border-radius: var(--casa-raio); box-shadow: var(--casa-sombra);
}
.ficha-un-papel[data-tipo="outros"] { border-left-color: #b4b8bd; }
.ficha-un-papel > summary {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; padding: 12px 16px;
  cursor: pointer; list-style: none;
}
.ficha-un-papel > summary::-webkit-details-marker { display: none; }
.ficha-un-papel > summary::before {
  content: ""; width: 7px; height: 7px; border-right: 2px solid var(--casa-cinza-claro); border-bottom: 2px solid var(--casa-cinza-claro);
  transform: rotate(-45deg); transition: transform 0.18s ease; align-self: center;
}
.ficha-un-papel[open] > summary::before { transform: rotate(45deg); }
.ficha-un-papel-nome { font-weight: 600; font-size: 14.5px; color: var(--casa-tinta); }
.ficha-un-papel-tipo {
  font-size: 11.5px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; color: var(--casa-acento-tinta);
}
.ficha-un-papel-conta { margin-left: auto; font-size: 13px; color: var(--casa-cinza); font-variant-numeric: tabular-nums; }
.ficha-un-itens { display: flex; flex-direction: column; gap: 8px; padding: 0 16px 16px; }
.ficha-un-item {
  border: 1px solid var(--casa-linha-suave); border-left: 3px solid #b4b8bd; border-radius: 6px;
  padding: 10px 12px; background: var(--casa-papel-suave);
}
.ficha-un-item[data-resultado="conforme"] { border-left-color: #19634c; }
.ficha-un-item[data-resultado="nao_conforme"] { border-left-color: #a22c28; }
.ficha-un-item-editando { border-left-color: var(--casa-navy); background: var(--casa-papel); }
.ficha-un-item-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-bottom: 4px; }
.ficha-un-item-cod { font-size: 12.5px; font-weight: 700; color: var(--casa-tinta); }
.ficha-un-item-res { font-size: 12.5px; font-weight: 600; color: var(--casa-cinza); }
.ficha-un-item[data-resultado="conforme"] .ficha-un-item-res { color: #19634c; }
.ficha-un-item[data-resultado="nao_conforme"] .ficha-un-item-res { color: #a22c28; }
.ficha-un-item-modo { font-size: 12px; color: var(--casa-cinza-claro); }
.ficha-un-item-modo::before { content: "\00B7"; margin-right: 6px; }
.ficha-un-item-texto { font-size: 14px; line-height: 1.45; color: var(--casa-tinta); }
.ficha-un-item-campo { margin-top: 4px; font-size: 13px; line-height: 1.45; color: var(--casa-cinza); }
.ficha-un-item-campo b { font-weight: 600; color: var(--casa-tinta); margin-right: 4px; }
@media (max-width: 860px) {
  .ficha-un-numeros { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ficha-un-numeros > div:nth-child(4) { border-left: 0; }
  .ficha-un-numeros > div:nth-child(n+4) { border-top: 1px solid var(--casa-linha-suave); }
  .ficha-un-consts { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .modal.modal-ficha-un { width: 100vw; max-height: 100vh; border-radius: 0; }
  .ficha-un-cab { padding: 16px 16px 12px; }
  .ficha-un-corpo { padding: 14px 16px 20px; }
  .ficha-un-titulo { font-size: 20px; }
  .ficha-un-meta { gap: 2px 14px; }
  .ficha-un-meta > span + span::before { content: none; }
  .ficha-un-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ficha-un-numeros > div { border-left: 0 !important; border-top: 1px solid var(--casa-linha-suave); }
  .ficha-un-numeros > div:nth-child(-n+2) { border-top: 0; }
  .ficha-un-numeros > div:nth-child(even) { border-left: 1px solid var(--casa-linha-suave) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .ficha-un-foto, .ficha-un-papel > summary::before { transition: none; }
  .ficha-un-foto:hover { transform: none; }
}

/* ---------- Sobre / Ajuda (13/10/2026) ---------- */
.ajuda { display: flex; flex-direction: column; gap: 20px; max-width: 1180px; }
.ajuda-cab {
  background: var(--casa-papel); border: 1px solid var(--casa-linha); border-top: 3px solid var(--casa-acento);
  border-radius: var(--casa-raio); box-shadow: var(--casa-sombra); padding: 24px 28px 0;
}
.ajuda-kicker { font-size: 12px; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase; color: var(--casa-acento-tinta); }
.ajuda-titulo { font-family: var(--casa-serifa); font-size: 28px; font-weight: 600; color: var(--casa-navy); margin: 6px 0 6px; text-wrap: balance; }
.ajuda-sub { margin: 0 0 16px; max-width: 72ch; font-size: 15px; line-height: 1.6; color: var(--casa-cinza); }
.ajuda-guias { display: flex; flex-wrap: wrap; gap: 4px 20px; border-top: 1px solid var(--casa-linha-suave); }
.ajuda-guia {
  background: none; border: 0; border-bottom: 2px solid transparent; padding: 12px 2px 10px; margin-bottom: -1px;
  font: inherit; font-size: 14.5px; color: var(--casa-cinza); cursor: pointer; transition: color 0.18s ease, border-color 0.18s ease;
}
.ajuda-guia:hover { color: var(--casa-navy); }
.ajuda-guia[aria-selected="true"] { color: var(--casa-navy); font-weight: 600; border-bottom-color: var(--casa-acento); }
.ajuda-painel { display: flex; flex-direction: column; gap: 20px; }
.ajuda-painel[hidden] { display: none; }
.ajuda-h3 { font-family: var(--casa-serifa); font-size: 19px; font-weight: 600; color: var(--casa-navy); margin: 0 0 12px; }
.ajuda-passos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.ajuda-passos li {
  display: flex; gap: 12px; align-items: flex-start; background: var(--casa-papel); border: 1px solid var(--casa-linha);
  border-radius: var(--casa-raio); box-shadow: var(--casa-sombra); padding: 16px; min-width: 0;
}
.ajuda-num {
  flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: var(--casa-acento-suave); color: var(--casa-acento-tinta); font-family: var(--casa-serifa); font-weight: 600; font-size: 15px;
}
.ajuda-passos h4 { margin: 3px 0 4px; font-size: 15px; font-weight: 600; color: var(--casa-tinta); }
.ajuda-passos p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--casa-cinza); }
.ajuda-duas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ajuda-bloco {
  background: var(--casa-papel); border: 1px solid var(--casa-linha); border-radius: var(--casa-raio);
  box-shadow: var(--casa-sombra); padding: 20px 22px; min-width: 0;
}
.ajuda-def { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.ajuda-def > div { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 12px; align-items: baseline; }
.ajuda-def dt { font-size: 14px; font-weight: 600; color: var(--casa-tinta); }
.ajuda-def dd { margin: 0; font-size: 14px; line-height: 1.55; color: var(--casa-cinza); }
.ajuda-def-larga > div { grid-template-columns: 190px minmax(0, 1fr); padding-bottom: 10px; border-bottom: 1px solid var(--casa-linha-suave); }
.ajuda-def-larga > div:last-child { border-bottom: 0; padding-bottom: 0; }
.ajuda-tipos > div { border-left: 3px solid var(--filete, #b4b8bd); padding-left: 10px; }
.ajuda-tipos [data-tipo="achado"] { --filete: #a22c28; }
.ajuda-tipos [data-tipo="ponto_atencao"] { --filete: #b7791f; }
.ajuda-tipos [data-tipo="boa_pratica"] { --filete: #19634c; }
.ajuda-tipos [data-tipo="informacao"] { --filete: #b4b8bd; }
.ajuda-tipos > div { grid-template-columns: 140px minmax(0, 1fr); }
.ajuda-nota { margin: 14px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--casa-cinza); }
.ajuda-ia { border-left: 3px solid rgba(43, 92, 158, 0.55); }
.ajuda-ia p { margin: 0 0 10px; font-size: 14.5px; line-height: 1.6; color: var(--casa-tinta); max-width: 90ch; }
.ajuda-lista { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; }
.ajuda-lista li { font-size: 14px; line-height: 1.55; color: var(--casa-cinza); }
.ajuda-rodape { font-size: 12.5px; color: var(--casa-cinza-claro); padding: 4px 2px 16px; }
@media (max-width: 860px) {
  .ajuda-duas { grid-template-columns: minmax(0, 1fr); }
  .ajuda-def > div, .ajuda-def-larga > div, .ajuda-tipos > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .ajuda-cab { padding: 18px 16px 0; }
  .ajuda-titulo { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) { .ajuda-guia { transition: none; } }

/* Resumo do checklist no campo: cores de estado da régua. */
.checklist-summary-val.val-conforme { color: #19634c !important; }
.checklist-summary-val.val-nao-conforme { color: #a22c28 !important; }
.checklist-summary-val.val-na { color: var(--casa-cinza-claro) !important; }
.checklist-summary-val.val-pendente { color: #83540f !important; }
.checklist-summary-val { font-family: var(--casa-serifa); font-variant-numeric: tabular-nums; }

/* Excluir nos cartões de unidade: ação destrutiva discreta (o vermelho cheio fica para a confirmação). */
.fisc-card-actions .btn-danger { background: var(--casa-papel) !important; color: #a22c28 !important; border: 1px solid #e3b4b0 !important; box-shadow: none !important; }
.fisc-card-actions .btn-danger:hover { background: #fcefed !important; border-color: #a22c28 !important; }

/* Lista de auditorias: um botão navy por tela (o "+ Nova auditoria"); Abrir em contorno e Excluir discreto. */
.template-card .btn-primary { background: var(--casa-papel) !important; color: var(--casa-navy) !important; border: 1px solid var(--casa-borda-campo) !important; box-shadow: none !important; }
.template-card .btn-primary:hover:not(:disabled) { background: var(--casa-navy-suave) !important; border-color: #93a5bb !important; }
.template-card .btn-danger { background: var(--casa-papel) !important; color: #a22c28 !important; border: 1px solid #e3b4b0 !important; box-shadow: none !important; }
.template-card .btn-danger:hover { background: #fcefed !important; border-color: #a22c28 !important; }

/* Cartões de processo: selos de abrangência neutros, barra de envio navy e Excluir discreto. */
.badge-campo, .badge-relatorio { background: var(--casa-navy-suave) !important; color: var(--casa-cinza) !important; border: 1px solid #d5dde8 !important; }
.progress-bar-fill.green { background: var(--casa-navy) !important; }
#proc-list .btn-primary { background: var(--casa-papel) !important; color: var(--casa-navy) !important; border: 1px solid var(--casa-borda-campo) !important; box-shadow: none !important; }
#proc-list .btn-primary:hover:not(:disabled) { background: var(--casa-navy-suave) !important; }
#proc-list .btn-danger { background: var(--casa-papel) !important; color: #a22c28 !important; border: 1px solid #e3b4b0 !important; box-shadow: none !important; }
#proc-list .btn-danger:hover { background: #fcefed !important; border-color: #a22c28 !important; }
svg[stroke="#8b5cf6"], svg[stroke="#10b981"] { stroke: var(--casa-cinza-claro) !important; }

/* ---------- Seções de análise: cabeçalho e "o que esta seção recebe" (13/10/2026) ---------- */
/* O título não divide mais a linha com os papéis: resumo e papéis vão embaixo dele. */
#tpl-builder-view .sec-accordion-head.aud-head-secao {
  grid-template-columns: minmax(34px, max-content) minmax(0, 1fr) 24px;
  align-items: start;
}
#tpl-builder-view .aud-head-secao .sec-num { margin-top: 1px; }
#tpl-builder-view .aud-head-secao .sec-toggle { margin-top: 2px; }
.aud-chips.aud-chips-secao { justify-content: flex-start; margin-top: 8px; gap: 6px; }
.aud-chips.aud-chips-secao:empty { display: none; }
.aud-chips-secao .aud-chip { background: var(--casa-papel); border-color: var(--casa-linha); color: var(--casa-cinza); }
.aud-chips-secao .aud-chip b { font-weight: 700; color: var(--casa-tinta); margin-left: 3px; }

.aud-recebe {
  display: flex; flex-direction: column; gap: 8px;
  background: var(--casa-papel-suave); border: 1px solid var(--casa-linha); border-radius: 8px; padding: 14px 16px;
}
.aud-recebe-tit { font-size: 11.5px; font-weight: 600; letter-spacing: 1.3px; text-transform: uppercase; color: var(--casa-acento-tinta); }
.aud-recebe-nota { margin: 0; font-size: 13px; line-height: 1.5; color: var(--casa-cinza); max-width: 90ch; }
.aud-recebe-papel { background: var(--casa-papel); border: 1px solid var(--casa-linha-suave); border-left: 3px solid var(--casa-acento); border-radius: 6px; }
.aud-recebe-papel > summary {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 8px 12px; cursor: pointer; list-style: none;
}
.aud-recebe-papel > summary::-webkit-details-marker { display: none; }
.aud-recebe-papel > summary::before {
  content: ""; width: 6px; height: 6px; border-right: 2px solid var(--casa-cinza-claro); border-bottom: 2px solid var(--casa-cinza-claro);
  transform: rotate(-45deg); transition: transform 0.18s ease; align-self: center;
}
.aud-recebe-papel[open] > summary::before { transform: rotate(45deg); }
.aud-recebe-nome { font-weight: 600; font-size: 13.5px; color: var(--casa-tinta); }
.aud-recebe-tipo { font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--casa-acento-tinta); }
.aud-recebe-qtd { margin-left: auto; font-size: 12.5px; color: var(--casa-cinza); font-variant-numeric: tabular-nums; }
.aud-recebe ul { list-style: none; margin: 0; padding: 0 12px 8px; display: flex; flex-direction: column; }
.aud-recebe li {
  display: grid; grid-template-columns: 64px minmax(0, 1fr) auto auto; gap: 10px; align-items: baseline;
  padding: 6px 0; border-top: 1px solid var(--casa-linha-suave); font-size: 13px;
}
.aud-recebe li:first-child { border-top: 0; }
.aud-recebe li .aud-item-cod { font-weight: 600; color: var(--casa-tinta); font-variant-numeric: tabular-nums; }
.aud-recebe-texto { color: var(--casa-tinta); line-height: 1.45; }
.aud-recebe-sub { font-size: 12.5px; font-weight: 600; color: var(--casa-cinza); margin-top: 6px; }
.aud-recebe ul.aud-recebe-const {
  padding: 4px 12px; background: var(--casa-papel); border: 1px solid var(--casa-linha-suave); border-radius: 6px;
}
.aud-recebe-const li { border-left: 0; }
.aud-recebe-const li[data-tipo="achado"] .aud-item-cod { color: #a22c28; }
.aud-recebe-const li[data-tipo="ponto_atencao"] .aud-item-cod { color: #83540f; }
.aud-recebe-const li[data-tipo="boa_pratica"] .aud-item-cod { color: #19634c; }
.aud-aviso-secao {
  margin: 0 0 12px; padding: 10px 14px; border: 1px solid #ecd9a8; border-left: 3px solid #b7791f;
  border-radius: 6px; background: #fff8e8; color: #83540f; font-size: 13.5px; line-height: 1.5;
}
@media (max-width: 780px) {
  .aud-recebe li { grid-template-columns: 52px minmax(0, 1fr); }
  .aud-recebe li > :nth-child(n+3) { grid-column: 2; justify-self: start; }
}
@media (prefers-reduced-motion: reduce) { .aud-recebe-papel > summary::before { transition: none; } }

/* Excluir seção: ação destrutiva discreta, como nas listas. */
#tpl-builder-view .aud-rodape .btn-danger { background: var(--casa-papel) !important; color: #a22c28 !important; border: 1px solid #e3b4b0 !important; box-shadow: none !important; }
#tpl-builder-view .aud-rodape .btn-danger:hover { background: #fcefed !important; border-color: #a22c28 !important; }

/* Guia Constatações do processo (constatação por tópico, 13/10/2026).
   Régua: achado vermelho, ponto de atenção âmbar, indeterminada cinza,
   positiva verde, boa prática verde forte. */
.top-resumo { margin: 0 0 14px; font-size: 14px; color: var(--casa-cinza); }
.top-vazio { margin: 0; font-size: 14px; color: var(--casa-cinza); }
.top-erro { margin: 0; font-size: 14px; color: #a22c28; }
.top-secao { display: flex; flex-direction: column; gap: 10px; margin: 0 0 22px; }
.top-secao-tit {
  display: flex; align-items: baseline; gap: 10px; margin: 0;
  font-family: var(--casa-serifa); font-size: 18px; font-weight: 600; color: var(--casa-navy);
}
.top-secao-tit span {
  font-family: Inter, system-ui, sans-serif; font-size: 12.5px; font-weight: 700; font-variant-numeric: tabular-nums;
  color: var(--casa-acento-tinta); background: var(--casa-acento-suave); border-radius: 999px; padding: 1px 9px;
}
.top-cartao, .top-chip {
  --filete: #a22c28; --res-fundo: #fcefed; --res-tinta: #a22c28;
}
.top-cartao[data-res="ponto_atencao"], .top-chip[data-res="ponto_atencao"] { --filete: #b7791f; --res-fundo: #fff4de; --res-tinta: #83540f; }
.top-cartao[data-res="indeterminada"], .top-chip[data-res="indeterminada"] { --filete: #9aa3ae; --res-fundo: #f1f3f5; --res-tinta: #4d5664; }
.top-cartao[data-res="positiva"], .top-chip[data-res="positiva"] { --filete: #3f8f6b; --res-fundo: #eaf5ef; --res-tinta: #19634c; }
.top-cartao[data-res="boa_pratica"], .top-chip[data-res="boa_pratica"] { --filete: #19634c; --res-fundo: #d8eee2; --res-tinta: #0f4a38; }
.top-cartao {
  display: flex; flex-direction: column; gap: 8px; min-width: 0;
  background: var(--casa-papel); border: 1px solid var(--casa-linha); border-left: 3px solid var(--filete);
  border-radius: var(--casa-raio); padding: 14px 16px; box-shadow: var(--casa-sombra);
}
.top-cartao[data-confirmado="nao"] { background: var(--casa-papel-suave); border-style: solid dashed dashed solid; }
.top-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.top-perg {
  font-size: 11.5px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; color: var(--casa-cinza-claro);
}
.top-cod { font-size: 12.5px; font-weight: 700; color: var(--casa-tinta); font-variant-numeric: tabular-nums; }
.top-chip {
  font-size: 11.5px; font-weight: 600; letter-spacing: 0.6px; text-transform: uppercase;
  border-radius: 4px; padding: 2px 7px; background: var(--res-fundo); color: var(--res-tinta);
}
.top-chip-leve { background: transparent; border: 1px solid var(--filete); margin-right: 8px; }
.top-status { margin-left: auto; font-size: 12.5px; color: var(--casa-cinza); }
.top-cartao[data-confirmado="nao"] .top-status { color: #83540f; font-weight: 600; }
.top-pergunta {
  margin: 0; font-family: var(--casa-serifa); font-size: 16px; font-weight: 600; line-height: 1.45;
  color: var(--casa-navy); text-wrap: balance;
}
.top-const, .top-bp { margin: 0; font-size: 14px; line-height: 1.5; color: var(--casa-tinta); }
.top-const span, .top-bp span {
  display: inline-block; margin-right: 8px; font-size: 11.5px; font-weight: 600; letter-spacing: 1px;
  text-transform: uppercase; color: var(--casa-cinza-claro);
}
.top-bp { font-size: 13.5px; color: var(--casa-cinza); }
.top-sugestao { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--casa-cinza); }
.top-sugestao em { font-style: normal; font-weight: 600; color: var(--casa-acento-tinta); }
.top-decisao {
  display: grid; grid-template-columns: minmax(170px, 220px) minmax(0, 1fr) auto; gap: 10px 14px; align-items: end;
  padding: 10px 12px; border: 1px solid var(--casa-linha-suave); border-radius: 6px; background: var(--casa-papel-suave);
}
.top-campo { display: flex; flex-direction: column; gap: 4px; margin: 0; min-width: 0; }
.top-campo > span { font-size: 12px; font-weight: 600; color: var(--casa-cinza); }
.top-campo textarea { resize: vertical; min-height: 38px; }
.top-botoes { display: flex; flex-wrap: wrap; gap: 6px; }
.top-fatos { border-top: 1px solid var(--casa-linha-suave); padding-top: 6px; }
.top-fatos > summary {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; cursor: pointer; list-style: none;
  font-size: 13px; font-weight: 600; color: var(--casa-navy);
}
.top-fatos > summary::-webkit-details-marker { display: none; }
.top-fatos > summary::before {
  content: ""; width: 6px; height: 6px; border-right: 2px solid var(--casa-cinza-claro); border-bottom: 2px solid var(--casa-cinza-claro);
  transform: rotate(-45deg); transition: transform 0.18s ease; align-self: center;
}
.top-fatos[open] > summary::before { transform: rotate(45deg); }
.top-fatos > summary span { font-weight: 500; color: var(--casa-cinza); }
.top-fatos-corpo { display: flex; flex-direction: column; gap: 8px; padding-top: 10px; }
.top-numeros {
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 0;
  border: 1px solid var(--casa-linha-suave); border-radius: 6px; overflow: hidden; background: var(--casa-papel);
}
.top-numeros > div { padding: 8px 10px; border-left: 1px solid var(--casa-linha-suave); }
.top-numeros > div:first-child { border-left: 0; }
.top-numeros dt { font-size: 11px; font-weight: 600; letter-spacing: 0.6px; text-transform: uppercase; color: var(--casa-cinza-claro); }
.top-numeros dd { margin: 0; font-family: var(--casa-serifa); font-size: 19px; font-weight: 600; color: var(--casa-navy); font-variant-numeric: tabular-nums; }
.top-numeros [data-tom="problema"] dd { color: #a22c28; }
.top-numeros [data-tom="atencao"] dd { color: #83540f; }
.top-fato-tit { margin: 4px 0 0; font-size: 12.5px; font-weight: 600; color: var(--casa-cinza); }
.top-fato-linha { margin: 0; font-size: 13px; line-height: 1.5; color: var(--casa-cinza); }
.top-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.top-lista li {
  display: grid; grid-template-columns: minmax(120px, 190px) minmax(0, 1fr) minmax(120px, 210px); gap: 2px 12px;
  padding: 6px 0 6px 10px; border-top: 1px solid var(--casa-linha-suave); border-left: 3px solid #a22c28; font-size: 13px;
}
.top-lista li:first-child { border-top: 0; }
.top-lista li[data-verificado="nao"] { border-left-color: #b7791f; }
.top-lista-curta li { grid-template-columns: minmax(120px, 190px) minmax(0, 1fr); border-left-color: #9aa3ae; }
.top-onde { font-weight: 600; color: var(--casa-tinta); }
.top-item { color: var(--casa-tinta); line-height: 1.45; }
.top-resp { color: var(--casa-cinza); }
.top-obs { grid-column: 2 / -1; color: var(--casa-cinza); font-size: 12.5px; }
@media (max-width: 860px) {
  .top-decisao { grid-template-columns: minmax(0, 1fr); }
  .top-numeros { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .top-numeros > div:nth-child(4) { border-left: 0; }
  .top-lista li, .top-lista-curta li { grid-template-columns: minmax(0, 1fr); }
  .top-obs { grid-column: 1; }
  .top-status { margin-left: 0; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .top-fatos > summary::before { transition: none; } }
.ajuda-tipos [data-tipo="positiva"] { --filete: #3f8f6b; }

/* Análise documental: papel recolhido, com contagem (revisão fina 14/10/2026). */
details.proc-doc-papel { padding-bottom: 0.85rem; }
details.proc-doc-papel > summary.proc-doc-papel-cab { cursor: pointer; list-style: none; margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
details.proc-doc-papel[open] > summary.proc-doc-papel-cab { margin-bottom: 0.65rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--casa-linha-suave); }
details.proc-doc-papel > summary::-webkit-details-marker { display: none; }
details.proc-doc-papel > summary::before {
  content: ""; width: 7px; height: 7px; border-right: 2px solid var(--casa-cinza-claro); border-bottom: 2px solid var(--casa-cinza-claro);
  transform: rotate(-45deg); transition: transform 0.18s ease; flex: none;
}
details.proc-doc-papel[open] > summary::before { transform: rotate(45deg); }
details.proc-doc-papel > summary strong { flex: 1; font-size: 15px; font-weight: 600; }
details.proc-doc-papel > summary em { font-style: normal; font-size: 13px; color: var(--casa-cinza); }
@media (prefers-reduced-motion: reduce) { details.proc-doc-papel > summary::before { transition: none; } }

/* Análise documental: seção com nome, salvar sempre à vista, campos baixos. */
.proc-doc-secao { font-size: 13px; font-weight: 600; color: var(--casa-navy); margin: 4px 0 8px; }
#proc-tab-docs .proc-bloco > .aud-pcab {
  position: sticky; top: var(--header-height, 56px); z-index: 5;
  background: var(--casa-fundo); padding-block: 10px; margin-bottom: 8px;
  border-bottom: 1px solid var(--casa-linha-suave);
}
#proc-doc-checklist textarea.form-control { min-height: 40px; }

/* Constatação aberta no construtor: descrição, critérios e encaminhamento em
   uma coluna, na largura do cartão (revisão fina 14/10/2026). */
#tpl-builder-view .aud-cols-uma { grid-template-columns: minmax(0, 1fr); gap: 14px; }
#tpl-builder-view .aud-cols-uma .aud-txt { font-size: 14px; line-height: 1.55; }

/* Campo: a ação do cartão de processo como botão de toque; a barra de baixo
   não cobre o último campo (revisão fina 14/10/2026). */
.campo-cta-processo { margin-top: 12px; min-height: 44px; display: flex; align-items: center; justify-content: center; font-size: 15px; pointer-events: none; }
body.campo-mode .content-area { padding-bottom: calc(var(--campo-bottom-h) + 32px); }
