/* e-PGM: hierarquia legivel, consulta rapida e detalhes sob demanda. */

.fila-nucleo > summary { cursor:pointer; padding:8px 0; color:var(--azul); }
.fila-subgrupo { margin:12px 0; border-top:1px solid var(--borda); }
.fila-subgrupo > summary { cursor:pointer; padding:12px 0; color:var(--azul); }
.fila-subgrupo > .grupo-fila > h3 { display:none; }
.fila-nucleo .fila-requerimentos { padding:12px 0; margin-bottom:16px; border-bottom:1px solid var(--borda); }
.fila-nucleo .fila-requerimentos h3 { margin-bottom:8px; }

.prazos-filtros { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:end; }
.prazos-filtros .prazo-busca { grid-column:span 2; }
.prazos-filtros .campo { min-width:0; width:auto; }
.prazos-filtros input, .prazos-filtros select { width:100%; }
.prazos-metricas { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:16px 0; }
.prazo-metrica { display:grid; gap:6px; padding:18px; text-align:left; cursor:pointer; color:var(--tinta); }
.prazo-metrica strong { font-size:24px; }
.prazo-metrica span { font-size:12px; }
.prazos-metricas > .prazo-metrica.cartao { margin:0; }
.prazo-atrasado { color:#b4232c; }
.prazos-grupo { margin-bottom:16px; }
.prazos-grupo > summary { cursor:pointer; padding:12px 0; }
.prazos-grupo > summary > span { margin-left:12px; font-variant-numeric:tabular-nums; }
.prazos-grupo > summary > small { margin-left:14px; color:var(--tinta-fraca); }
.prazos-grupo > article { margin-bottom:0; }
.prazo-item { display:grid; grid-template-columns:minmax(220px,1.7fr) minmax(150px,1fr) minmax(180px,.85fr); gap:20px; align-items:start; padding:18px 0; border-top:1px solid var(--borda,#d7e0e9); overflow-wrap:anywhere; }
.prazo-item p { margin:8px 0; }
.prazo-resumo { display:grid; gap:8px; }
.prazo-dialog { width:min(780px,calc(100vw - 32px)); max-height:85vh; box-sizing:border-box; padding:24px; border:1px solid var(--borda,#d7e0e9); border-radius:16px; background:var(--papel,#fff); color:var(--tinta,#193b59); box-shadow:0 20px 80px #0004; }
.prazo-dialog::backdrop { background:#122b4466; }
.prazo-dialog .campo { min-width:0; }
.prazo-dialog h2 { font-size:18px; }
.prazo-dialog input:not([type=checkbox]), .prazo-dialog select, .prazo-dialog textarea { width:100%; }
.historico-documentos > summary { cursor:pointer; margin-bottom:12px; }
@media(max-width:780px) {
  .prazos-filtros, .prazos-metricas { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .prazo-item { grid-template-columns:1fr; gap:12px; }
  .prazo-dialog { padding:16px; }
}
@media(max-width:440px) { .prazos-filtros { grid-template-columns:1fr; } .prazos-filtros .prazo-busca { grid-column:auto; } }

.cad-ordem-arquivos { border:1px solid var(--borda,#d7e0e9); border-radius:12px; padding:16px; margin:16px 0; }
.cad-arquivos-topo { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.cad-arquivos-topo h4 { margin:0 0 6px; }
.cad-arquivos-topo p { margin:0; }
.cad-fila-arquivos { list-style:none; margin:16px 0 10px; padding:0; display:grid; gap:10px; }
.cad-arquivo-item { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:14px; align-items:center; border:1px solid var(--borda,#d7e0e9); border-radius:10px; padding:12px; }
.cad-arquivo-item[draggable=true] { cursor:grab; }
.cad-arquivo-dados { min-width:0; display:grid; gap:5px; overflow-wrap:anywhere; }
.cad-arquivo-ordem { font-weight:600; white-space:nowrap; }
.cad-arquivo-status { font-size:12px; color:var(--tinta-fraca); }
.cad-arquivo-status.falhou { color:var(--vermelho); }
.cad-arquivo-acoes { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.cad-arquivo-acoes .acao { min-height:36px; margin:0; }
.cad-arquivo-acoes .acao:focus-visible { outline:2px solid var(--azul,#245d82); outline-offset:3px; }
@media(max-width:800px) {
  .cad-arquivos-topo { align-items:stretch; flex-direction:column; }
  .cad-arquivo-item { grid-template-columns:54px minmax(0,1fr); gap:10px; }
  .cad-arquivo-acoes { grid-column:1/-1; }
}

/* Livro consultivo: identificação, objeto, resultado e situação são eixos
   distintos. Nenhuma cor de resultado é herdada pela pendência do processo. */
.livro-filtros { padding: 18px; }
.livro-grupo { margin: 16px 0; }
.livro-grupo > summary { gap: 16px; }
.livro-grupo .livro-lista { padding: 0; }
.livro-alternador { display: inline-flex; align-items: center; justify-content: center; min-width: 76px; min-height: 32px; border: 1px solid var(--recolhivel-borda); border-radius: 18px; color: var(--recolhivel-tinta); background: var(--recolhivel-fundo); font-size: 12px; font-weight: 600; }
.livro-controles-grupos { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 18px; }
.livro-controles-grupos > .recuo { margin-right: auto; }
.livro-outras-lista article.livro-manifestacao { display: grid; grid-template-columns: minmax(180px,1fr) minmax(0,2fr) auto; align-items: start; }
.livro-manifestacao > div { min-width: 0; overflow-wrap: anywhere; }
.livro-manifestacao .etiqueta { margin-top: 8px; }
@media(max-width:700px) {
  .livro-outras-lista article.livro-manifestacao { grid-template-columns: 1fr; gap: 12px; }
  .livro-grupo > summary { flex-wrap: wrap; }
  .livro-grupo .resumo-recolhivel { margin-left: 0; }
}
.livro-busca.formulario { display: grid; grid-template-columns: minmax(240px,1fr) minmax(160px,210px) 110px auto auto; gap: 14px; align-items: end; margin: 0; }
.livro-busca .campo { width: auto; grid-column: auto; }
.livro-mais-filtros { margin-top: 14px; }
.livro-mais-filtros summary, .livro-dados-registro summary, .livro-ajuda summary { color: var(--azul); cursor: pointer; font-weight: 600; padding: 8px 0; }
.livro-mais-filtros[open] summary { margin-bottom: 12px; }
.livro-mais-filtros .formulario { grid-template-columns: repeat(3,minmax(0,1fr)); }
.livro-resumo { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 22px 2px 16px; flex-wrap: wrap; }
.livro-contexto { display: block; font-size: 12px; color: var(--tinta-fraca); margin-top: 6px; line-height: 1.5; overflow-wrap: anywhere; }
.livro-lista { padding: 18px; }
.livro-facetas { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.livro-faceta { display: inline-flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid var(--linha); border-radius: 7px; color: var(--tinta-fraca); background: var(--papel); font: inherit; font-size: 12px; cursor: pointer; min-height: 36px; }
.livro-faceta span { font-variant-numeric: tabular-nums; font-weight: 650; }
.livro-faceta[aria-pressed=true] { color: var(--azul); background: var(--azul-claro); border-color: var(--azul); }
.livro-faceta:hover { border-color: var(--azul); }
.livro-contagem { font-size: 12px; color: var(--tinta-fraca); margin: 12px 0; }
.livro-tabela { width: 100%; }
.livro-tabela table { table-layout: fixed; width: 100%; min-width: 0; }
.livro-tabela th { text-transform: none; font-size: 12px; font-weight: 600; padding: 12px; background: var(--superficie-secundaria); }
.livro-tabela th:nth-child(1) { width: 13%; }
.livro-tabela th:nth-child(2) { width: 26%; }
.livro-tabela th:nth-child(3) { width: 13%; }
.livro-tabela th:nth-child(4) { width: 20%; }
.livro-tabela th:nth-child(5) { width: 16%; }
.livro-tabela th:nth-child(6) { width: 12%; }
.livro-tabela td { padding: 18px 12px; vertical-align: top; white-space: normal; overflow-wrap: anywhere; line-height: 1.5; }
.livro-numero { border: 0; background: none; color: var(--azul); font: inherit; font-weight: 700; font-size: 15px; padding: 0; text-align: left; cursor: pointer; line-height: 1.5; }
.livro-numero:hover { text-decoration: underline; }
.livro-identidade { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.livro-tabela .dado-copiavel { flex-wrap: wrap; }
.livro-objeto { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-top: 7px; font-size: 13px; }
.livro-resultado .status-juridico { font-size: 12px; line-height: 1.4; text-transform: none; letter-spacing: normal; font-weight: 600; }
.livro-situacao { display: inline-block; border-radius: 4px; padding: 4px 7px; font-size: 12px; font-weight: 600; line-height: 1.4; border: 1px solid var(--linha); }
.livro-situacao-neutro { color: var(--tinta-fraca); background: var(--superficie-secundaria); }
.livro-situacao-ambar { color: var(--ambar); background: var(--ambar-claro); border-color: var(--ambar-borda); }
.livro-situacao-azul { color: var(--azul); background: var(--azul-claro); border-color: var(--recolhivel-borda); }
.livro-acoes { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.livro-acoes .acao { white-space: normal; text-align: left; line-height: 1.35; }
.livro-paginacao { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px; padding-top: 18px; margin-top: 4px; border-top: 1px solid var(--linha); font-size: 12px; }
.livro-paginacao label { display: inline-flex; align-items: center; gap: 8px; margin: 0 auto 0 0; }
.livro-paginacao select { width: 76px; min-height: 36px; }
.livro-paginacao button:disabled { opacity: .5; cursor: default; }
.livro-vazio { padding: 32px 12px; color: var(--tinta-fraca); text-align: center; }
.livro-outras { margin-top: 24px; }
.livro-outras-lista article { display: flex; justify-content: space-between; gap: 18px; border-top: 1px solid var(--linha); padding: 16px 0; }
.livro-dossie-resumo { display: grid; grid-template-columns: 1fr 1fr 2fr auto; gap: 22px; align-items: start; }
.livro-dossie-resumo .livro-contexto:first-child { margin: 0 0 8px; }
.livro-dados-registro { margin-bottom: 18px; }
.livro-dados { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 16px 0; }
.livro-dados dt { font-size: 12px; color: var(--tinta-fraca); margin-bottom: 6px; }
.livro-dados dd { margin: 0; overflow-wrap: anywhere; }
.livro-ajuda { margin: 0 0 18px; }
.somente-leitor { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
#corpoPareceres[aria-busy=true] > .livro-filtros { border-color: var(--azul); }
.livro-faceta:focus-visible, .livro-numero:focus-visible, .livro-paginacao select:focus-visible { outline: 2px solid var(--foco); outline-offset: 3px; }
.painel-indicadores .indicador-link { font: inherit; cursor: pointer; color: var(--tinta); text-align: center; }
.painel-indicadores .indicador-link:hover { border-color: var(--azul); }
.painel-indicadores .indicador-link:focus-visible { outline: 2px solid var(--foco); outline-offset: 3px; }
.painel-sem-pendencias { padding: 14px; border: 1px solid var(--linha); border-radius: 8px; color: var(--tinta-fraca); }
.painel-sem-pendencias strong { color: var(--tinta); margin-right: 8px; }
.fila-resumo-compacto { margin: 0 0 18px; }
.fila-resumo-compacto .indicador { box-shadow: none; padding: 16px; }
@media (max-width: 1050px) {
  .livro-busca.formulario { grid-template-columns: minmax(0,1fr) 170px 100px; }
  .livro-mais-filtros .formulario { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .livro-dossie-resumo { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 850px) {
  .livro-tabela thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .livro-tabela table, .livro-tabela tbody { display: block; }
  .livro-tabela tr { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 18px 0; border-top: 1px solid var(--linha); }
  .livro-tabela td { display: block; padding: 0; border: 0; }
  .livro-tabela td::before { content: attr(data-coluna); display: block; color: var(--tinta-fraca); font-size: 11px; margin-bottom: 7px; }
  .livro-tabela td:nth-child(2), .livro-tabela td:last-child { grid-column: 1/-1; }
  .livro-tabela td:first-child { grid-column: 1/-1; }
  .livro-acoes { flex-direction: row; flex-wrap: wrap; }
  .livro-objeto { display: block; }
}
@media (max-width: 560px) {
  .livro-filtros, .livro-lista { padding: 14px; }
  .livro-busca.formulario { grid-template-columns: 1fr 1fr; }
  .livro-busca .campo:first-child { grid-column: 1/-1; }
  .livro-mais-filtros .formulario, .livro-dossie-resumo, .livro-dados { grid-template-columns: 1fr; }
  .livro-outras-lista article { flex-direction: column; }
}

.fila-identificacao-contexto { margin-top: 8px; max-width: 28rem; min-width: 0; font-size: 12px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
.fila-identificacao-contexto ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.fila-identificacao-contexto li { padding-left: 8px; border-left: 2px solid var(--linha-forte); }
.fila-identificacao-contexto .fila-pa-origem { color: var(--azul); font-weight: 650; border-color: var(--azul); }
.fila-remessa, .fila-demandante { margin-top: 6px; color: var(--tinta-fraca); font-size: 11px; }

.rotulo-com-ajuda { display: flex; align-items: center; gap: 6px; min-width: 0; }
.campo .rotulo-com-ajuda > label { margin-bottom: 0; min-width: 0; }
.campo-opcional { font-weight: 400; font-size: 11px; text-transform: none; color: var(--tinta-fraca); }
.campo-opcional[hidden] { display: none !important; }
.ajuda-campo-botao { display: inline-flex; justify-content: center; align-items: center; flex: 0 0 22px; width: 22px; height: 22px; padding: 0; border: 1px solid var(--linha-forte); border-radius: 6px; background: var(--superficie-secundaria); color: var(--azul); font: 650 12px/1 system-ui,sans-serif; cursor: help; }
.ajuda-campo-botao:hover, .ajuda-campo-botao[aria-expanded=true] { background: var(--azul-claro); border-color: var(--azul); }
.ajuda-campo-botao:focus-visible { outline: 2px solid var(--foco); outline-offset: 2px; }
.ajuda-campo-tooltip { position: fixed; z-index: 2147483647; box-sizing: border-box; max-width: min(340px,calc(100vw - 16px)); max-height: calc(100vh - 16px); overflow: auto; padding: 12px 14px; border: 1px solid var(--linha-forte); border-radius: 9px; background: var(--superficie-elevada); color: var(--tinta); box-shadow: var(--sombra-elevada); font: 13px/1.55 system-ui,sans-serif; white-space: normal; overflow-wrap: anywhere; }
.ajuda-campo-tooltip[hidden] { display: none !important; }
@media (pointer: coarse) { .ajuda-campo-botao { width: 28px; height: 28px; flex-basis: 28px; } }

:root {
  color-scheme: light;
  /* Altura da navegação fixa; navegacao-rapida.js mede e atualiza. */
  --altura-navegacao-fixa: 0px;
  --tinta: #1d1d1f;
  --texto: #1d1d1f;
  --tinta-fraca: #626b75;
  --linha: #dfe3e8;
  --linha-forte: #c5ccd4;
  --borda: #dfe3e8;
  --destaque: #c8860a;
  --fundo: #f5f5f7;
  --papel: #ffffff;
  --superficie-secundaria: #f8f9fb;
  --superficie-terciaria: #eef2f5;
  --superficie-elevada: #ffffff;
  --azul: #1f4f73;
  --azul-claro: #eaf3fa;
  --azul-interativo: #176ca6;
  --nav-fundo: #1f3b57;
  --nav-secundario: #2c4b66;
  --vermelho: #a3242a;
  --vermelho-claro: #fff0f0;
  --vermelho-borda: #edb9bc;
  --ambar: #835800;
  --ambar-claro: #fff6e2;
  --ambar-borda: #ead29c;
  --verde: #176742;
  --verde-claro: #eaf7f0;
  --verde-borda: #acd6bf;
  --roxo: #66459a;
  --roxo-claro: #f1ecfb;
  --recolhivel-fundo: #edf4f9;
  --recolhivel-tinta: #275b7d;
  --recolhivel-borda: #cbdbe7;
  --sombra-suave: 0 1px 2px rgba(20, 32, 45, .05), 0 8px 24px rgba(20, 32, 45, .035);
  --sombra-elevada: 0 16px 44px rgba(13, 30, 47, .18);
  --foco: #1683d8;
  --raio: 9px;
  --raio-grande: 13px;
  --altura-rotulo: 22px;
}

html[data-tema="escuro"] {
  color-scheme: dark;
  --tinta: #f2f4f7;
  --texto: #f2f4f7;
  --tinta-fraca: #aeb7c2;
  --linha: #3a424c;
  --linha-forte: #55606c;
  --borda: #3a424c;
  --destaque: #f0b84a;
  --fundo: #111418;
  --papel: #1b2026;
  --superficie-secundaria: #21272e;
  --superficie-terciaria: #29313a;
  --superficie-elevada: #242b33;
  --azul: #78bce9;
  --azul-claro: #1c3447;
  --azul-interativo: #69b7ee;
  --nav-fundo: #142d42;
  --nav-secundario: #1b3b54;
  --vermelho: #ff9197;
  --vermelho-claro: #422429;
  --vermelho-borda: #794047;
  --ambar: #f1c362;
  --ambar-claro: #3d3320;
  --ambar-borda: #735f32;
  --verde: #71d59f;
  --verde-claro: #20382c;
  --verde-borda: #386b50;
  --roxo: #c7a6f1;
  --roxo-claro: #332a42;
  --recolhivel-fundo: #263746;
  --recolhivel-tinta: #a9d8f5;
  --recolhivel-borda: #426078;
  --sombra-suave: 0 1px 2px rgba(0, 0, 0, .24), 0 10px 28px rgba(0, 0, 0, .16);
  --sombra-elevada: 0 18px 52px rgba(0, 0, 0, .42);
  --foco: #64b5f2;
}

* { box-sizing: border-box; }
[hidden]:not([hidden="until-found"]) { display: none !important; }

/* Todo componente deve respeitar o espaco que recebeu. Fieldset, grid e
   conteudo flexivel conservam por padrao uma largura minima baseada no
   conteudo, o que fazia campos longos invadirem o vizinho. */
main, section, article, aside, nav, header, footer, form, fieldset, details,
.cartao, .grade, .formulario, .formulario > *, .campo, .acoes-linha {
  min-width: 0;
}
fieldset { min-inline-size: 0; max-width: 100%; }
img, video, iframe { max-width: 100%; }

body {
  margin: 0;
  font-family: "Segoe UI", Tahoma, Verdana, sans-serif;
  font-size: 14px;
  color: var(--tinta);
  background: var(--fundo);
}

.faixa-ambiente {
  background: #7a3100; color: #fff; min-height: 38px; padding: 7px 18px;
  display: flex; align-items: center; justify-content: center; gap: 14px;
  border-bottom: 3px solid #ffb000; letter-spacing: .2px;
}
.faixa-ambiente strong { letter-spacing: .8px; }
.faixa-ambiente span { font-size: 12.5px; }
body.ambiente-homologacao .topo { background: #433521; }
body.ambiente-homologacao .porta-entrada {
  background: linear-gradient(160deg, #4f2813 0%, #7a3b13 100%);
}
.marca-homologacao {
  position: fixed; z-index: 45; right: 16px; bottom: 14px;
  color: rgba(122,49,0,.26); border: 2px solid rgba(122,49,0,.2);
  transform: rotate(-5deg); font-weight: 800; text-align: center;
  padding: 7px 12px; pointer-events: none; letter-spacing: 1px;
}
.marca-homologacao small { font-size: 9px; }

/* ---------- topo ---------- */

.topo {
  display: flex; align-items: center; gap: 24px;
  background: var(--azul); color: #fff;
  padding: 10px 18px; position: relative; z-index: 40;
}
.marca strong { font-size: 19px; letter-spacing: 0.5px; }
.marca span { display: block; font-size: 11.5px; opacity: 0.82; margin-top: 1px; }

.busca-topo { display: flex; flex: 1; max-width: 720px; margin-left: auto; }
.busca-topo input {
  flex: 1; padding: 7px 11px; border: 1px solid #38566f; border-right: none;
  border-radius: var(--raio) 0 0 var(--raio); font-size: 13.5px; background: #fff;
}
.busca-topo button {
  padding: 7px 18px; border: 1px solid #38566f; background: #38566f; color: #fff;
  border-radius: 0 var(--raio) var(--raio) 0; cursor: pointer; font-size: 13.5px;
}
.busca-topo button:hover { background: #46657f; }

/* ---------- usuario no topo ---------- */

.usuario-topo {
  display: flex; align-items: center; gap: 10px; white-space: nowrap;
  font-size: 12.5px; padding-left: 6px;
}
.usuario-topo .quem { line-height: 1.25; }
.usuario-topo .quem strong { display: block; font-size: 13px; }
.usuario-topo .quem span { opacity: 0.8; font-size: 11.5px; }
.usuario-topo button {
  background: transparent; border: 1px solid #4d6a83; color: #cddbe7;
  border-radius: var(--raio); padding: 4px 10px; cursor: pointer; font-size: 12px;
  font-family: inherit;
}
.usuario-topo button:hover { background: #38566f; color: #fff; }
.usuario-topo .notificacao-topo {
  display: inline-flex; align-items: center; gap: 6px; color: #fff;
  border-color: #7890a4;
}
.usuario-topo .notificacao-topo span {
  min-width: 18px; padding: 1px 5px; border-radius: 10px;
  background: #d8e3ec; color: var(--azul); font-weight: 700; text-align: center;
}
.usuario-topo .notificacao-topo.tem-notificacao {
  border-color: #ffc857; box-shadow: 0 0 0 2px rgba(255,200,87,.2);
}
.usuario-topo .notificacao-topo.tem-notificacao span {
  background: #ffc857; color: #3b2a00;
}
.notificacoes-filtros,.notificacoes-paginacao { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.notificacoes-filtros { margin-bottom:16px; }
.notificacoes-filtros [aria-pressed="true"] { background:var(--azul-claro); border-color:var(--azul); color:var(--azul); }
.notificacoes-filtros span { font-variant-numeric:tabular-nums; margin-left:6px; }
.notificacao-item { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:20px 0; border-top:1px solid var(--linha); }
.notificacao-texto { flex:1; min-width:0; overflow-wrap:anywhere; }
.notificacao-texto p { margin:8px 0; line-height:1.5; }
.notificacao-texto small { color:var(--tinta-fraca); }
.notificacao-titulo { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.notificacao-item.nao-lida .notificacao-titulo > strong { color:var(--azul); }
.notificacao-item > .acoes-linha { flex-shrink:0; margin:0; }
.notificacoes-paginacao { border-top:1px solid var(--linha); padding-top:16px; }
@media(max-width:720px) { .notificacao-item { flex-direction:column; gap:14px; } .notificacao-item > .acoes-linha { width:100%; } }

.menu-usuario { position: relative; }
.menu-usuario > summary {
  display: flex; align-items: center; gap: 7px; min-width: 0;
  padding: 3px 6px; border: 1px solid transparent; border-radius: var(--raio);
  color: #fff; cursor: pointer; list-style: none;
}
.menu-usuario > summary::-webkit-details-marker { display: none; }
.menu-usuario > summary:hover,
.menu-usuario[open] > summary,
.menu-usuario.ativo > summary { background: #38566f; border-color: #5b7890; }
.menu-usuario-seta { color: #cddbe7; font-size: 14px; transition: transform .15s ease; }
.menu-usuario[open] .menu-usuario-seta { transform: rotate(180deg); }
.menu-usuario-painel {
  position: absolute; z-index: 80; top: calc(100% + 9px); right: 0;
  width: min(290px, calc(100vw - 24px)); padding: 7px;
  border: 1px solid #b8c5d0; border-radius: 6px; background: #fff;
  box-shadow: 0 12px 30px rgba(13,35,55,.28); color: var(--tinta);
}
.menu-usuario-identidade {
  display: flex; flex-direction: column; gap: 2px; padding: 8px 9px 10px;
  margin-bottom: 4px; border-bottom: 1px solid var(--linha);
}
.menu-usuario-identidade span { color: var(--tinta-fraca); font-size: 11.5px; }
.usuario-topo .menu-usuario-painel button {
  display: flex; width: 100%; flex-direction: column; align-items: flex-start;
  gap: 2px; padding: 8px 9px; border: 0; color: var(--tinta); text-align: left;
}
.usuario-topo .menu-usuario-painel button:hover { background: var(--azul-claro); color: var(--azul); }
.usuario-topo .menu-usuario-painel button span {
  color: var(--tinta-fraca); font-size: 11.5px; white-space: normal;
}
.usuario-topo .menu-usuario-painel .menu-usuario-sair {
  margin-top: 4px; border-top: 1px solid var(--linha); border-radius: 0;
  color: var(--vermelho);
}

/* ---------- porta de entrada ---------- */

.porta-entrada {
  position: fixed; inset: 0; z-index: 200;
  background: linear-gradient(160deg, #1f3b57 0%, #2c4b66 100%);
  display: flex; align-items: center; justify-content: center; padding: 20px;
}
.cartao-login {
  background: var(--papel); border-radius: 6px; padding: 26px 28px;
  width: min(420px, 100%); box-shadow: 0 10px 40px rgba(0,0,0,0.3);
}
.marca-login { margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--linha); }
.marca-login strong { font-size: 26px; color: var(--azul); letter-spacing: 0.5px; }
.marca-login span { display: block; font-size: 12px; color: var(--tinta-fraca); margin-top: 3px; }
.cartao-login .campo { margin-bottom: 12px; }
.cartao-login .campo input { width: 100%; padding: 8px 10px; font-size: 14px; }
.cartao-login button.principal { width: 100%; padding: 9px; font-size: 14px; margin-top: 4px; }
.aviso-login {
  background: var(--vermelho-claro); color: var(--vermelho); padding: 9px 12px;
  border-radius: var(--raio); font-size: 12.5px; margin-bottom: 12px;
  border-left: 3px solid var(--vermelho);
  display: flex; align-items: flex-start; gap: 12px;
}
.aviso-login.bom {
  background: var(--verde-claro); color: var(--verde); border-left-color: var(--verde);
}
.aviso-login-mensagem { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.aviso-login-dispensar {
  flex: 0 0 auto; border: 1px solid currentColor; border-radius: var(--raio);
  background: transparent; color: inherit; padding: 3px 7px; cursor: pointer;
  font: inherit; font-weight: 600;
}
.nota-login { font-size: 12px; color: var(--tinta-fraca); margin-top: 14px; line-height: 1.5; }

.etiqueta-perfil {
  display: inline-block; padding: 1px 7px; border-radius: 10px; font-size: 11px;
  font-weight: 600;
}
.etiqueta-perfil.administrador { background: var(--azul-claro); color: var(--azul); }
.etiqueta-perfil.assistente { background: var(--verde-claro); color: var(--verde); }
.etiqueta-perfil.leitura { background: #eceff1; color: var(--tinta-fraca); }

/* ---------- abas ---------- */

.navegacao-sistema {
  position: sticky; top: 0; z-index: 25; background: #2c4b66;
  box-shadow: 0 2px 5px rgba(20,43,62,.12);
}
.abas {
  display: flex; flex-wrap: nowrap; gap: 1px; overflow-x: auto;
  background: #2c4b66; padding: 0 12px;
  scrollbar-width: thin; scrollbar-color: #5b7890 transparent;
}
.abas button {
  display: inline-flex; align-items: center; justify-content: center; gap: 4px;
  flex: 0 0 auto; min-height: 40px;
  border: none; background: transparent; color: #cddbe7;
  padding: 9px 15px; cursor: pointer; font-size: 13.5px; font-family: inherit;
  border-bottom: 3px solid transparent;
}
.abas button:hover { background: #38566f; color: #fff; }
.abas button.ativa { color: #fff; border-bottom-color: #ffc857; font-weight: 600; }

.navegacao-secundaria {
  min-height: 36px; padding: 0 12px; overflow-x: auto;
  border-bottom: 1px solid #c8d2dc; background: #fff;
  scrollbar-width: thin; scrollbar-color: #aab8c4 transparent;
}
.grupo-secundario { display: none; width: max-content; min-width: 100%; gap: 1px; }
.grupo-secundario.ativo { display: flex; }
.grupo-secundario button {
  display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto;
  min-height: 35px; padding: 7px 13px; border: 0; border-bottom: 2px solid transparent;
  background: transparent; color: var(--tinta-fraca); cursor: pointer;
  font: inherit; font-size: 12.5px; white-space: nowrap;
}
.grupo-secundario button:hover { background: #eef3f7; color: var(--azul); }
.grupo-secundario button.ativa {
  border-bottom-color: var(--azul); color: var(--azul); font-weight: 700;
}

.selo {
  display: none; background: var(--vermelho); color: #fff; border-radius: 9px;
  padding: 1px 6px; font-size: 11px; margin-left: 4px;
}
.selo.visivel { display: inline-block; }
.selo-fila { background: #b8860b; }
.selo-supervisao { background: #9b5d00; }

/* ---------- aba pareceres ---------- */

.sub-abas {
  display: flex; gap: 2px; margin-bottom: 14px;
  border-bottom: 2px solid var(--linha);
}
.sub-abas button {
  border: none; background: transparent; color: var(--tinta-fraca);
  padding: 8px 16px; cursor: pointer; font-size: 13.5px; font-family: inherit;
  border-bottom: 3px solid transparent; margin-bottom: -2px;
}
.sub-abas button:hover { color: var(--tinta); background: #eef2f6; }
.sub-abas button.ativa {
  color: var(--azul); border-bottom-color: var(--azul); font-weight: 600;
}

.grupo-fila { margin-bottom: 20px; }
.grupo-fila > h3 {
  display: flex; align-items: baseline; gap: 10px;
  padding: 8px 12px; border-radius: var(--raio) var(--raio) 0 0; margin: 0;
  color: #fff;
}
.grupo-fila.heranca > h3 { background: #6b5b3e; }
.grupo-fila.atual > h3 { background: var(--azul); }
.grupo-fila.priorizada > h3 { background: var(--azul); }
.grupo-fila.fiscal > h3 { background: #1f4f73; }
.grupo-fila > h3 .conta { font-weight: 400; font-size: 12.5px; opacity: 0.9; }
.grupo-fila .corpo {
  border: 1px solid var(--linha); border-top: none;
  border-radius: 0 0 var(--raio) var(--raio); background: var(--papel);
}
.grupo-fila .explica {
  padding: 7px 12px; font-size: 12.5px; color: var(--tinta-fraca);
  border-bottom: 1px solid var(--linha); background: #fafbfc;
}

td.sem { text-align: center; }
.bolinha {
  display: inline-block; width: 10px; height: 10px; border-radius: 50%;
  vertical-align: middle;
}
.bolinha.verde { background: #2e9e5b; }
.bolinha.ambar { background: #d9a020; }
.bolinha.vermelho { background: var(--vermelho); }
.bolinha.sem_data { background: #b4bcc4; }

.etiqueta-gestao {
  font-size: 10.5px; padding: 1px 6px; border-radius: 3px; font-weight: 600;
  letter-spacing: 0.3px;
}
.etiqueta-gestao.heranca { background: #f0e6d2; color: #6b5b3e; }
.etiqueta-gestao.atual { background: var(--azul-claro); color: var(--azul); }

.faixa-acervo {
  background: #4a4a4a; color: #fff; padding: 8px 14px; font-size: 12.5px;
  border-radius: var(--raio); margin-bottom: 12px;
}
.fundo-acervo { background: #f7f5f0; }

/* ---------- estrutura ---------- */

main { padding: 16px 18px 60px; max-width: 1680px; margin: 0 auto; }

.carregando { padding: 40px; text-align: center; color: var(--tinta-fraca); }

h2 { font-size: 16px; margin: 0 0 10px; font-weight: 600; }
h3 { font-size: 13.5px; margin: 0 0 8px; font-weight: 600; color: var(--azul); }

.grade { display: grid; gap: 14px; }
.grade-2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); }
.grade-4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); }

.cartao {
  background: var(--papel); border: 1px solid var(--linha);
  border-radius: var(--raio); padding: 12px 14px;
}
.cartao-topo {
  display: flex; justify-content: space-between; align-items: baseline;
  flex-wrap: wrap; gap: 6px 12px; min-width: 0;
  margin-bottom: 9px; padding-bottom: 7px; border-bottom: 1px solid var(--linha);
}
.cartao-topo h3 { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.cartao-topo .contagem { font-size: 12px; color: var(--tinta-fraca); }
.cartao-interno {
  margin: 10px 0; padding: 12px; border: 1px solid var(--linha);
  border-radius: var(--raio); background: #f9fbfc;
}
.cartao-interno h4 { margin: 0 0 5px; color: var(--azul); }

/* Consulta universal. Os resultados usam fichas compactas em vez de uma
   tabela larga, para manter protocolo, contexto e andamento legiveis em
   monitores menores e no celular. */
.busca-universal .campo.largo { flex: 1 1 620px; }
.resultado-contagem { margin-bottom: 12px; }
.protocolo-explicacao { margin-bottom: 12px; }
.protocolo-pesquisa { margin-bottom: 12px; }
.protocolo-pesquisa .filtros { margin-bottom: 0; padding: 0; border: 0; }
.protocolo-conferencia { margin-bottom: 12px; padding-top: 0; }
.protocolo-conferencia > summary.cartao-topo {
  cursor: pointer; padding: 11px 2px 9px; margin: 0 -2px;
}
.protocolo-conferencia > summary .recuo { margin-top: 2px; font-weight: 400; }
.protocolo-conferencia > .nota { margin-top: 10px; }
.texto-conferencia-protocolo { min-height: 180px; }
.grupo-resultados-busca { margin-bottom: 12px; padding-top: 0; }
.grupo-resultados-busca > summary.cartao-topo {
  cursor: pointer; list-style-position: outside; margin: 0 -2px;
  padding: 11px 2px 9px;
}
.grupo-resultados-busca:not([open]) > summary.cartao-topo {
  border-bottom-color: transparent; padding-bottom: 11px;
}
.lista-resultados-busca { display: grid; gap: 9px; padding-top: 10px; }
.resultado-item {
  min-width: 0; padding: 11px 12px; border: 1px solid var(--linha);
  border-left: 4px solid #9db1c2; border-radius: var(--raio); background: #fbfcfd;
}
.resultado-item.resultado-urgente { border-left-color: var(--vermelho); }
.resultado-cabecalho {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 14px; min-width: 0;
}
.resultado-titulo { min-width: 0; }
.resultado-tipo {
  display: block; margin-bottom: 2px; color: var(--tinta-fraca);
  font-size: 10.5px; text-transform: uppercase; letter-spacing: .35px;
}
.resultado-titulo h4 {
  margin: 0; color: var(--azul); font-size: 14px; overflow-wrap: anywhere;
}
.resultado-titulo .recuo { margin-top: 3px; overflow-wrap: anywhere; }
.resultado-acoes {
  display: flex; align-items: center; justify-content: flex-end;
  flex: 0 0 auto; flex-wrap: wrap; gap: 6px;
}
.resultado-grade {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
  gap: 7px 14px; margin-top: 10px;
}
.resultado-campo { min-width: 0; }
.resultado-campo > span {
  display: block; color: var(--tinta-fraca); font-size: 10.5px;
  text-transform: uppercase; letter-spacing: .2px;
}
.resultado-campo > strong {
  display: block; margin-top: 1px; font-size: 12.5px; font-weight: 600;
  overflow-wrap: anywhere;
}
.resultado-resumo {
  margin-top: 9px; padding-top: 8px; border-top: 1px solid #e7edf2;
  font-size: 12.5px; line-height: 1.4; overflow-wrap: anywhere;
}
.resultado-andamento {
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 8px;
  align-items: baseline; margin-top: 9px; padding: 7px 9px;
  border-radius: var(--raio); background: #edf4f9; font-size: 12px;
}
.resultado-andamento strong { color: var(--azul); }
.resultado-andamento span, .resultado-andamento small { overflow-wrap: anywhere; }
.resultado-andamento small {
  grid-column: 2; color: var(--tinta-fraca); line-height: 1.35;
}
.resultado-andamento.sem-andamento { background: #f3f5f7; color: var(--tinta-fraca); }

@media (max-width: 700px) {
  .resultado-cabecalho { flex-direction: column; }
  .resultado-acoes { justify-content: flex-start; }
  .resultado-grade { grid-template-columns: minmax(0, 1fr); }
  .resultado-andamento { grid-template-columns: minmax(0, 1fr); }
  .resultado-andamento small { grid-column: 1; }
}
details.bloco-recolhivel > summary,
details.fila-contencioso > summary { cursor: pointer; list-style-position: outside; }
details.bloco-recolhivel:not([open]) > summary,
details.fila-contencioso:not([open]) > summary {
  margin-bottom: 0; padding-bottom: 0; border-bottom-color: transparent;
}
.corpo-recolhivel { min-width: 0; }
.grupo-emitidos > summary.cartao-topo { cursor: pointer; align-items: center; }
.grupo-emitidos .resumo-recolhivel {
  margin-left: auto; display: flex; align-items: center; gap: 10px;
  white-space: nowrap;
}
.grupo-emitidos .alternador-lista::after {
  content: "Esconder"; display: inline-block; min-width: 52px;
  color: var(--azul); font-size: 12px; text-align: right;
}
.grupo-emitidos:not([open]) .alternador-lista::after { content: "Mostrar"; }
@media (max-width: 700px) {
  .grupo-emitidos > summary.cartao-topo { align-items: flex-start; }
  .grupo-emitidos .resumo-recolhivel { margin-left: 0; }
}

.indicador { text-align: center; padding: 12px 8px; }
.indicador .numero { font-size: 26px; font-weight: 600; line-height: 1.1; }
.indicador .rotulo { font-size: 11.5px; color: var(--tinta-fraca); margin-top: 3px; }
.indicador.alerta .numero { color: var(--vermelho); }
.indicador.atencao .numero { color: var(--ambar); }
.indicador.bom .numero { color: var(--verde); }

/* ---------- tabelas ---------- */

table { width: 100%; border-collapse: collapse; font-size: 13px; }
th {
  text-align: left; font-weight: 600; font-size: 11.5px; text-transform: uppercase;
  letter-spacing: 0.3px; color: var(--tinta-fraca);
  padding: 5px 8px; border-bottom: 1.5px solid var(--linha); white-space: nowrap;
}
td { padding: 6px 8px; border-bottom: 1px solid #edf1f4; vertical-align: top; }
tbody tr:hover { background: #f8fafc; }
tr.clicavel { cursor: pointer; }
/* Contagens e sequências compartilham o eixo do cabeçalho, inclusive o zero.
 * Medidas (como tamanho em KB) conservam a comparação pela margem direita. */
td.numero, th.numero {
  text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums;
}
td.numero.medida, th.numero.medida { text-align: right; }
.rolagem { max-width: 100%; overflow-x: auto; }
.rolagem table { min-width: 100%; }
.rolagem-larga table,
.rolagem-muito-larga table {
  table-layout: fixed;
}
.rolagem-larga td,
.rolagem-muito-larga td {
  overflow-wrap: break-word;
  word-break: normal;
}
.rolagem-muito-larga {
  max-height: min(72vh, 760px); overflow: auto;
  border-bottom: 1px solid var(--linha);
}
.rolagem-muito-larga thead { position: sticky; top: 0; z-index: 4; }
.rolagem-muito-larga th { background: var(--papel); }
.rolagem-muito-larga th:first-child,
.rolagem-muito-larga td:first-child {
  position: sticky; left: 0; z-index: 2; background: var(--papel);
  box-shadow: 1px 0 0 var(--linha);
}
.rolagem-muito-larga th:first-child { z-index: 5; }
.rolagem-muito-larga tbody tr:hover td:first-child { background: #f8fafc; }

.vazio { padding: 18px; text-align: center; color: var(--tinta-fraca); font-style: italic; }

/* ---------- etiquetas ---------- */

.etiqueta {
  display: inline-block; padding: 1px 7px; border-radius: 10px;
  font-size: 11px; font-weight: 600; white-space: nowrap;
}
td .etiqueta {
  max-width: 100%; line-height: 1.25; text-align: left; vertical-align: top;
  white-space: normal;
}
.et-em_analise, .et-aguardando_analise { background: var(--azul-claro); color: var(--azul); }
.et-devolvido { background: var(--ambar-claro); color: var(--ambar); }
.et-respondido { background: var(--verde-claro); color: var(--verde); }
.et-retirado, .et-sobrestado { background: #eceff1; color: var(--tinta-fraca); }
.et-viabilidade { background: var(--verde-claro); color: var(--verde); }
.et-viabilidade_com_ressalvas, .et-viabilidade_condicionada { background: var(--ambar-claro); color: var(--ambar); }
.et-arquivo_localizado { background: #eef2f6; color: #475467; }
.et-inviabilidade { background: var(--vermelho-claro); color: var(--vermelho); }
.et-saneamento, .et-diligencia, .et-conclusivo { background: var(--azul-claro); color: var(--azul); }
.et-neutra { background: #eceff1; color: var(--tinta-fraca); }

.dias { font-weight: 600; }
.dias.d-verde { color: var(--verde); }
.dias.d-ambar { color: var(--ambar); }
.dias.d-vermelho { color: var(--vermelho); }

.marca-atencao {
  display: inline-block; font-size: 11px; padding: 0 5px; border-radius: 3px;
  background: var(--ambar-claro); color: var(--ambar); border: 1px solid #eddbb4;
}

/* ---------- alertas ---------- */

.alerta-item {
  border-left: 3px solid var(--ambar); background: var(--ambar-claro);
  padding: 8px 10px; margin-bottom: 7px; border-radius: 0 var(--raio) var(--raio) 0;
}
.alerta-item.grave { border-left-color: var(--vermelho); background: var(--vermelho-claro); }
.alerta-item .titulo { font-weight: 600; font-size: 12.5px; }
.alerta-item .texto { font-size: 12.5px; margin-top: 2px; }
.alerta-item .acoes { margin-top: 5px; }

/* ---------- supervisao ---------- */

.barra-acoes-supervisao {
  display: flex; align-items: center; justify-content: space-between;
  gap: 14px; margin-bottom: 12px; position: sticky; top: 43px; z-index: 10;
  box-shadow: 0 3px 10px rgba(22,32,43,.08);
}
.barra-acoes-supervisao .rotulo-checkbox {
  display: inline-flex; align-items: center; gap: 7px; white-space: nowrap;
}
.barra-acoes-supervisao input[type="checkbox"],
.supervisao-check { width: 16px; height: 16px; accent-color: var(--azul); }
.et-conferir, .et-conferida { background: var(--azul-claro); color: var(--azul); }
.et-aprovar, .et-aprovada { background: var(--verde-claro); color: var(--verde); }
.et-assinar, .et-assinada { background: #eee8f8; color: #533784; }
.et-dispensada, .et-cancelada { background: #eceff1; color: var(--tinta-fraca); }

@media (max-width: 760px) {
  .faixa-ambiente { align-items: flex-start; flex-direction: column; gap: 2px; }
  .topo { flex-wrap: wrap; gap: 8px; padding: 9px 12px; }
  .topo .marca { flex: 1 1 auto; }
  .usuario-topo {
    flex: 1 1 100%; order: 2; padding-left: 0; flex-wrap: wrap;
    white-space: normal;
  }
  .busca-topo { flex: 1 1 100%; order: 3; max-width: none; margin-left: 0; }
  .navegacao-sistema { position: static; }
  .abas, .navegacao-secundaria { padding: 0 7px; }
  .abas button { padding: 8px 10px; }
  .grupo-secundario button { padding: 7px 10px; }
  .menu-usuario-painel { left: 0; right: auto; }
  main { padding: 14px 10px 50px; }
  .barra-acoes-supervisao { align-items: flex-start; flex-direction: column; }
  .barra-acoes-supervisao .acoes-linha { width: 100%; }
}

/* ---------- controles ---------- */

button.acao, .botao {
  border: 1px solid var(--linha); background: var(--papel); color: var(--tinta);
  padding: 5px 12px; border-radius: var(--raio); cursor: pointer;
  font-size: 12.5px; font-family: inherit;
}
button.acao:hover, .botao:hover { background: var(--azul-claro); border-color: #b9c8d6; }
button.acao.principal { background: var(--azul); color: #fff; border-color: var(--azul); }
button.acao.principal:hover { background: #2c4b66; }
button.acao.perigo { color: #8b1e1e; border-color: #d8b5b5; background: #fffafa; }
button.acao.perigo:hover { background: #fbecec; border-color: #c88484; }
button.acao.discreta { border-color: transparent; background: transparent; color: var(--azul); text-decoration: underline; padding: 2px 4px; }
button.acao:disabled { opacity: 0.5; cursor: not-allowed; }

.filtros {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end;
  background: var(--papel); border: 1px solid var(--linha);
  border-radius: var(--raio); padding: 10px 12px; margin-bottom: 12px;
}
.filtro-area-pareceres { align-items: center; }
.filtro-area-pareceres .campo { min-width: 230px; }
.filtro-area-pareceres .explica {
  flex: 1 1 360px; color: var(--tinta-fraca); font-size: 12.5px; line-height: 1.35;
}
.escolha-atos {
  margin-bottom: 12px; padding: 12px; border: 1px solid var(--linha);
  border-radius: var(--raio); background: #f8fafc;
}
.escolha-atos > h3 { margin: 0 0 9px; font-size: 14px; }
.escolha-atos-grade {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 10px;
}
.escolha-ato {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 12px; align-items: center; min-width: 0; padding: 11px 12px;
  border: 1px solid var(--linha); border-radius: var(--raio);
  background: #fff; color: var(--tinta); text-align: left; cursor: pointer;
}
.escolha-ato strong { font-size: 14px; }
.escolha-ato span {
  grid-column: 1; color: var(--tinta-fraca); font-size: 12px; line-height: 1.35;
}
.escolha-ato b {
  grid-column: 2; grid-row: 1 / span 2; min-width: 28px; padding: 5px 7px;
  border-radius: 999px; background: var(--azul-claro); text-align: center;
}
.escolha-ato:hover { border-color: #9fb3c5; background: #f5f9fc; }
.escolha-ato.ativa {
  border-color: var(--azul); box-shadow: inset 4px 0 0 var(--azul); background: #edf4fa;
}
.acoes-manifestacao-posterior { align-items: center; }
.pareceres-lote { padding: 14px; }
.linhas-lote-parecer { display: grid; gap: 16px; margin-top: 14px; }
.parecer-lote-item {
  border: 1px solid var(--linha-forte); border-radius: var(--raio-grande);
  background: var(--superficie-secundaria); padding: 14px;
  box-shadow: var(--sombra-suave);
}
.parecer-lote-cabecalho {
  display: flex; justify-content: space-between; align-items: center;
  gap: 12px; padding-bottom: 11px; margin-bottom: 12px;
  border-bottom: 1px solid var(--linha);
}
.parecer-lote-cabecalho > div { display: flex; align-items: center; gap: 10px; }
.parecer-lote-cabecalho .etiqueta {
  background: var(--superficie-terciaria); color: var(--tinta-fraca);
  border-color: var(--linha-forte);
}
.parecer-lote-posicao {
  display: inline-flex; align-items: center; min-height: 32px; padding: 5px 10px;
  border-radius: 7px; background: var(--azul); color: var(--papel);
  font-weight: 800; font-variant-numeric: tabular-nums;
}
.formulario-lote-parecer {
  grid-template-columns: minmax(0, 2fr) minmax(160px, .7fr);
  gap: 12px 18px;
}
.parecer-lote-item .emissao-documento { background: var(--papel); }
.parecer-lote-item .emissao-despacho { margin-top: 12px; background: var(--papel); }
.acoes-lote-parecer {
  align-items: center;
  margin-top: 16px; padding: 10px; border: 1px solid var(--linha);
  border-radius: var(--raio); background: color-mix(in srgb, var(--papel) 94%, transparent);
  box-shadow: var(--sombra-suave);
}
.acoes-lote-parecer .principal { margin-left: auto; }
@media (max-width: 760px) {
  .formulario-lote-parecer { grid-template-columns: minmax(0, 1fr); }
  .acoes-lote-parecer .principal { margin-left: 0; }
  .parecer-lote-cabecalho { align-items: flex-start; }
}
.campo { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.campo label {
  min-width: 0; max-width: 100%; overflow-wrap: anywhere;
  font-size: 11px; color: var(--tinta-fraca); text-transform: uppercase;
  letter-spacing: 0.3px;
}
.campo select, .campo input:where(:not([type="checkbox"], [type="radio"])), .campo textarea {
  padding: 5px 8px; border: 1px solid var(--linha); border-radius: var(--raio);
  width: 100%; min-width: 0; box-sizing: border-box;
  font-size: 13px; font-family: inherit; background: #fff;
}
.campo select { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.seletor-pesquisavel {
  display: grid; grid-template-columns: minmax(0, 1fr) 34px;
  gap: 5px; width: 100%; min-width: 0;
}
.seletor-pesquisavel > select { grid-column: 1; min-width: 0; }
.lupa-menu {
  grid-column: 2; width: 34px; min-width: 34px; padding: 3px;
  border: 1px solid var(--linha); border-radius: var(--raio);
  background: #fff; color: var(--azul); cursor: pointer;
  font-size: 15px; line-height: 1;
}
.lupa-menu:hover, .lupa-menu[aria-expanded="true"] {
  background: var(--azul-claro); border-color: #9fb3c5;
}
.pesquisa-menu-painel {
  grid-column: 1 / -1; padding: 7px; border: 1px solid var(--linha);
  border-radius: var(--raio); background: #f8fafc; min-width: 0;
}
.pesquisa-menu-painel[hidden] { display: none !important; }
.pesquisa-menu-entrada { width: 100%; margin: 0 0 6px; }
.pesquisa-menu-resultados {
  display: flex; flex-direction: column; gap: 2px;
  max-height: 220px; overflow-y: auto;
}
.pesquisa-menu-opcao {
  width: 100%; padding: 6px 8px; border: 0; border-radius: 3px;
  background: transparent; color: var(--tinta); text-align: left;
  font: inherit; font-size: 12.5px; cursor: pointer; overflow-wrap: anywhere;
}
.pesquisa-menu-opcao:hover, .pesquisa-menu-opcao.selecionada {
  background: #e5eef6; color: #173b5d;
}
.pesquisa-menu-vazio {
  padding: 8px; color: var(--tinta-fraca); font-size: 12px; font-style: italic;
}
.campo input[type="file"] {
  display: block; width: 100%; min-width: 0; max-width: 100%; overflow: hidden;
}
.identificador-estruturado {
  display: grid; grid-template-columns: auto minmax(72px, 1fr) auto minmax(86px, .65fr);
  align-items: stretch; width: 100%; min-width: 0;
}
.identificador-estruturado.sem-prefixo {
  grid-template-columns: minmax(72px, 1fr) auto minmax(86px, .65fr);
}
.identificador-prefixo, .identificador-separador {
  display: flex; align-items: center; justify-content: center;
  min-width: 34px; padding: 5px 8px; border: 1px solid var(--linha);
  background: #edf3f8; color: var(--azul); font-weight: 700;
}
.identificador-prefixo {
  border-right: 0; border-radius: var(--raio) 0 0 var(--raio);
}
.identificador-separador { min-width: 24px; border-width: 1px 0; }
.campo .identificador-estruturado input {
  border-radius: 0; text-align: center; font-variant-numeric: tabular-nums;
}
.campo .identificador-estruturado input:last-child {
  border-radius: 0 var(--raio) var(--raio) 0;
}
.campo small {
  min-width: 0; max-width: 100%; overflow-wrap: anywhere;
  color: var(--tinta-fraca); line-height: 1.35;
}
.campo .rotulo-checkbox {
  display: inline-flex; flex-direction: row; align-items: center; gap: 7px;
  min-height: 30px; color: var(--tinta); font-size: 13px;
  text-transform: none; letter-spacing: 0; cursor: pointer;
}
/* Checkboxes e radios nao herdam as dimensoes dos campos de texto. */
.campo input[type="checkbox"], .campo input[type="radio"] {
  width: 16px; height: 16px; min-height: 16px; min-width: 0; padding: 0; margin: 0;
  flex: 0 0 16px; accent-color: var(--azul); cursor: pointer;
}
.campo textarea { min-height: 70px; resize: vertical; }
.campo #cadObjeto { min-height: 38px; }
.campo #cadObjeto[rows="6"] { min-height: 150px; }
.requerimento-pedido { white-space: pre-wrap; overflow-wrap: anywhere; }
.campo.largo { flex: 1; min-width: 0; }
.campo.largo input:where(:not([type="checkbox"], [type="radio"])),
.campo.largo textarea, .campo.largo select { width: 100%; }

.formulario {
  display: grid; gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
}
.formulario + button.acao, .formulario + .botao { margin-top: 10px; }
.formulario .linha-inteira { grid-column: 1 / -1; }
.formulario .campo-duplo { grid-column: span 2; }
.formulario .campo-triplo { grid-column: span 3; }
.formulario-parecer {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  column-gap: 18px; align-items: start;
}
.formulario-parecer .campo,
.formulario-parecer .campo.largo,
.formulario-parecer .bloco-secretarias { min-width: 0; }
@media (max-width: 1180px) {
  .formulario-parecer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.formulario-anexo-compacto {
  grid-template-columns: minmax(0, .65fr) minmax(0, 2fr);
  grid-template-areas: "anexo-categoria anexo-arquivo"
                       ". anexo-acao";
  align-items: start; column-gap: 10px; row-gap: 6px;
}
.formulario-anexo-compacto > .campo:nth-child(1) { grid-area: anexo-categoria; }
.formulario-anexo-compacto > .campo:nth-child(2) { grid-area: anexo-arquivo; }
.formulario-anexo-compacto .campo.largo { min-width: 0; }
.campo-acao-anexo {
  grid-area: anexo-acao; align-self: start; justify-self: start;
  min-width: max-content; margin-top: 0;
}

.bloco-protocolo-dossie {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-left: 4px solid var(--azul, #204564);
  margin-bottom: .85rem;
}

.formulario-autuacao-dossie {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.autuacao-dossie-documentos table {
  width: 100%;
  table-layout: fixed;
}

.autuacao-dossie-documentos th:nth-child(1),
.autuacao-dossie-documentos td:nth-child(1) { width: 4.5rem; text-align: center; }
.autuacao-dossie-documentos th:nth-child(2),
.autuacao-dossie-documentos td:nth-child(2) { width: 9rem; }
.autuacao-dossie-documentos th:nth-child(5),
.autuacao-dossie-documentos td:nth-child(5) { width: 19rem; }
.autuacao-dossie-documentos input,
.autuacao-dossie-documentos select { max-width: 100%; min-width: 0; }
.nome-arquivo-responsivo { overflow-wrap: anywhere; word-break: break-word; }

.lista-arrastavel .item-arrastavel { transition: opacity .12s ease, background-color .12s ease; }
.lista-arrastavel .item-arrastavel.arrastando { opacity: .42; background: #e7f1f8; }
.lista-arrastavel .item-arrastavel.alvo-arrastar {
  outline: 2px solid var(--azul); outline-offset: -2px; background: #eef6fb;
}
.lista-arrastavel .item-fora-da-ordem { opacity: .62; }
.ordem-arrastavel-controles {
  display: grid; grid-template-columns: 28px minmax(22px, auto) 25px 25px;
  align-items: center; gap: 3px; width: max-content; max-width: 100%;
}
.ordem-arrastavel-botao {
  min-width: 25px; min-height: 27px; padding: 2px 5px; border: 1px solid #c7d2dc;
  border-radius: 4px; background: #fff; color: var(--azul); cursor: pointer; font: inherit;
}
.ordem-arrastavel-botao:hover, .ordem-arrastavel-botao:focus-visible {
  border-color: var(--azul); background: var(--azul-claro); outline: none;
}
.ordem-arrastavel-botao.alca-arrastar { cursor: grab; font-size: 16px; touch-action: none; }
.ordem-arrastavel-botao.alca-arrastar:active { cursor: grabbing; }
.ordem-arrastavel-numero { text-align: center; font-variant-numeric: tabular-nums; }
.ordem-arrastavel-fora { color: var(--tinta-fraca); font-size: 11px; }
.ordem-arrastavel-ajuda { margin: -2px 0 8px; }

@media (max-width: 900px) {
  .bloco-protocolo-dossie { align-items: stretch; flex-direction: column; }
  .formulario-autuacao-dossie { grid-template-columns: 1fr; }
  .autuacao-dossie-documentos table { min-width: 760px; }
}
.campo-acao-anexo label { display: none; }
.campo-acao-anexo button { min-height: 31px; white-space: nowrap; }
.acoes-anexo {
  display: inline-flex; align-items: center; gap: 6px; margin-left: 6px;
  flex-wrap: wrap;
}

.participantes-agenda {
  margin: 0; padding: 9px 10px 10px; border: 1px solid var(--linha);
  border-radius: var(--raio); min-width: 0;
}
.participantes-agenda legend {
  padding: 0 5px; color: var(--tinta-fraca); font-size: 11px;
  text-transform: uppercase; letter-spacing: .04em;
}
.opcoes-marcaveis { display: flex; flex-wrap: wrap; gap: 7px; }
.opcao-marcavel {
  display: inline-flex; align-items: center; gap: 6px; min-height: 30px;
  padding: 4px 9px; border: 1px solid var(--linha); border-radius: 16px;
  background: var(--papel); cursor: pointer; font-size: 12.5px;
}
.opcao-marcavel:has(input:checked) {
  background: var(--azul-claro); border-color: #9fb8ce; color: var(--azul);
}
.opcao-marcavel input { width: auto; margin: 0; }
.formulario-documento, .formulario-processo {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
}
.formulario-publicacao {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}
.formulario-publicacao .campo.largo { min-width: 0; }
.formulario-expediente-cabecalho {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px; align-items: start;
}
.controle-numeracao-novo {
  margin-bottom: 14px; padding: 11px; border: 1px solid #c7d6e2;
  border-radius: var(--raio); background: #f5f9fc;
}
.numeracao-oficio-novo {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px;
}
.numeracao-oficio-novo > div {
  min-width: 0; padding: 9px 10px; border: 1px solid #d5e0e9;
  border-radius: var(--raio); background: #fff;
}
.numeracao-oficio-novo span {
  display: block; margin-bottom: 4px; color: var(--tinta-fraca); font-size: 11px;
  text-transform: uppercase; letter-spacing: .03em;
}
.numeracao-oficio-novo strong { display: block; overflow-wrap: anywhere; color: var(--azul); }
.controle-numeracao-novo > .recuo { margin-top: 7px; }
.formulario-expediente-vinculos {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px; align-items: start;
}
.formulario-edicao-expediente {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px; align-items: start;
}
.formulario-expediente-arquivos { grid-template-columns: minmax(0, 1fr); }
.formulario-expediente-caixa > .editor-rico-caixa { margin-top: 12px; }
.grupo-campos-grid { display: contents; }
.valor-informativo {
  display: flex; align-items: center; min-height: 36px; padding: 7px 9px;
  box-sizing: border-box; overflow-wrap: anywhere;
  border: 1px solid var(--linha); border-radius: 8px;
  background: var(--superficie-secundaria); color: var(--tinta); font-size: 13px;
}

@media (max-width: 1000px) {
  .formulario-documento, .formulario-processo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .formulario .campo-triplo { grid-column: 1 / -1; }
  .formulario-publicacao { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .formulario-parecer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .formulario-expediente-cabecalho,
  .formulario-expediente-vinculos,
  .formulario-edicao-expediente { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .formulario-expediente-cabecalho .campo-assunto-expediente { grid-column: 1 / -1; }
  .numeracao-oficio-novo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .formulario-documento, .formulario-processo { grid-template-columns: minmax(0, 1fr); }
  .formulario .campo-duplo, .formulario .campo-triplo { grid-column: 1 / -1; }
  .formulario-publicacao { grid-template-columns: minmax(0, 1fr); }
  .formulario-parecer { grid-template-columns: minmax(0, 1fr); }
  .formulario-parecer .campo-duplo { grid-column: 1 / -1; }
  .formulario-expediente-cabecalho,
  .formulario-expediente-vinculos,
  .formulario-edicao-expediente { grid-template-columns: minmax(0, 1fr); }
  .numeracao-oficio-novo { grid-template-columns: minmax(0, 1fr); }
}

/* Protocolo de manifestacoes do contencioso */
.protocolos-judiciais .cartao-topo { margin-bottom: 10px; }
.protocolo-judicial {
  border: 1px solid var(--linha); border-radius: 6px; margin-top: 9px;
  background: #fff; overflow: hidden;
}
.protocolo-judicial > summary {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  padding: 11px 12px; cursor: pointer; background: #f8fafc;
}
.protocolo-judicial-corpo { padding: 10px 12px; }
.protocolo-judicial-corpo > .acao,
.protocolo-judicial-corpo > .botao-anexos-zip { margin: 9px 8px 8px 0; }
.peticionamento-judicial fieldset {
  min-width: 0; margin: 14px 0; padding: 13px; border: 1px solid var(--linha);
  border-radius: 6px;
}
.peticionamento-judicial legend { padding: 0 7px; font-weight: 700; }
.grupo-upload-principal { border-left: 4px solid var(--azul) !important; }
.lista-anexos-peticionamento { display: grid; gap: 8px; margin-top: 12px; }
.anexo-peticionamento {
  display: grid; grid-template-columns: 34px 34px minmax(0,1fr) auto;
  align-items: center; gap: 8px; padding: 9px; border: 1px solid var(--linha);
  border-radius: 5px; background: #fff;
}
.anexo-peticionamento-dados { min-width: 0; }
.anexo-peticionamento-dados > strong {
  display: block; max-width: 100%; overflow-wrap: anywhere; margin-bottom: 6px;
}
.ordem-anexo {
  display: grid; place-items: center; width: 28px; height: 28px;
  border-radius: 50%; background: var(--azul); color: #fff; font-weight: 700;
}
.alca-arrastar { cursor: grab; border: 0; background: transparent; font-size: 18px; }
.alca-arrastar:active { cursor: grabbing; }

@media (max-width: 760px) {
  .anexo-peticionamento { grid-template-columns: 30px 30px minmax(0,1fr); }
  .anexo-peticionamento > .arquivo-acoes { grid-column: 3; justify-content: flex-start; }
  .protocolo-judicial > summary { align-items: flex-start; }
}

/* ---------- ficha em tela inteira ---------- */

.lateral {
  position: fixed; inset: 0; width: 100vw; height: 100vh;
  background: var(--fundo); z-index: 60;
  display: flex; flex-direction: column;
}
.lateral-topo {
  display: grid; grid-template-columns: minmax(100px, 1fr) minmax(0, 3fr) minmax(100px, 1fr);
  align-items: center; gap: 14px; flex: 0 0 auto;
  padding: 12px max(18px, calc((100vw - 1500px) / 2));
  background: var(--azul); color: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.18);
}
.lateral-topo strong {
  overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap;
  font-size: 16px;
}
.lateral-topo button {
  width: max-content; padding: 7px 11px; border: 1px solid rgba(255,255,255,.45);
  border-radius: var(--raio); background: transparent; color: #fff;
  font: inherit; cursor: pointer;
}
.lateral-topo button:hover { background: rgba(255,255,255,.13); }
.lateral-fechar { justify-self: end; }
#lateralCorpo {
  overflow-y: auto; width: min(1500px, 100%); margin: 0 auto;
  padding: 20px clamp(14px, 3vw, 42px) 64px; flex: 1;
}
#lateralCorpo.lateral-corpo-autos {
  display: flex; flex-direction: column; width: 100%; max-width: none;
  padding: 0; overflow: hidden; background: #4b4f54;
}
.autos-visualizador-topo {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 8px 14px; flex: 0 0 auto; background: #eef3f7; color: var(--texto);
  border-bottom: 1px solid var(--borda); font-size: 12px;
}
.visualizador-autos {
  display: block; width: 100%; min-height: 0; flex: 1 1 auto;
  border: 0; background: #fff;
}
.fundo-lateral { display: none; }
body.detalhe-aberto { overflow: hidden; }

@media (max-width: 620px) {
  .lateral-topo { grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; padding: 9px; }
  .lateral-topo button { padding: 6px 8px; font-size: 12px; }
  .lateral-topo strong { text-align: left; font-size: 13px; }
  #lateralCorpo { padding: 12px 10px 42px; }
  .autos-visualizador-topo { align-items: stretch; flex-direction: column; padding: 8px; }
}

/* ---------- dados copiaveis ---------- */

.dado-copiavel {
  display: inline-flex; align-items: flex-start; gap: 5px; max-width: 100%;
  min-width: 0; white-space: normal;
}
.dado-copiavel-texto {
  min-width: 0; overflow-wrap: normal; word-break: normal; white-space: normal;
}
.dado-copiavel-curto .dado-copiavel-texto {
  flex: 0 0 auto; white-space: nowrap;
}
.link-dossie {
  min-width: 0; padding: 0; border: 0; background: transparent;
  color: var(--azul); font: inherit; font-weight: 700; text-align: left;
  text-decoration: underline; text-decoration-thickness: 1px;
  text-underline-offset: 2px; overflow-wrap: normal; word-break: normal;
  white-space: normal; cursor: pointer;
}
.link-dossie:hover { color: #0c456f; text-decoration-thickness: 2px; }
.link-dossie:focus-visible {
  outline: 2px solid #337ca8; outline-offset: 2px; border-radius: 2px;
}
.botao-copiar {
  flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
  width: 25px; height: 25px; padding: 0; border: 1px solid var(--linha);
  border-radius: var(--raio); background: #fff; color: var(--azul); cursor: pointer;
  font-size: 14px; line-height: 1;
}
.botao-copiar:hover, .botao-copiar:focus { background: var(--azul-claro); border-color: #9fb2c3; }
.botao-copiar.copiado { background: var(--verde-claro); color: var(--verde); }
.id-epgm {
  display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px;
  margin-top: 3px; color: #52677a; font-size: 11px; font-weight: 600;
}
.id-epgm .botao-copiar { width: 21px; height: 21px; font-size: 12px; }

/* ---------- editor de ementa ---------- */

.editor-ementa-caixa { grid-column: 1 / -1; }
.editor-rico-caixa { min-width: 0; }
.editor-rico-barra {
  display: flex; flex-wrap: wrap; align-items: center; gap: 5px;
  padding: 7px 8px; border: 1px solid #bdc9d4; border-bottom: 0;
  border-radius: var(--raio) var(--raio) 0 0; background: #f4f7f9;
}
.editor-rico-grupo {
  display: inline-flex; flex-wrap: wrap; align-items: center; gap: 2px;
  min-width: 0; max-width: 100%; padding-right: 5px;
  border-right: 1px solid #d3dbe2;
}
.editor-rico-grupo:last-child { padding-right: 0; border-right: 0; }
.editor-rico-barra button, .editor-rico-barra select, .editor-rico-cor {
  min-height: 30px; padding: 4px 7px; border: 1px solid #c5d0da;
  border-radius: 3px; background: #fff; color: var(--tinta); font: inherit;
  font-size: 11.5px; cursor: pointer;
}
.editor-rico-barra select {
  flex: 0 1 auto; width: auto; min-width: 105px; max-width: min(180px, 100%);
}
.editor-rico-barra select[title="Fonte"] { min-width: 135px; }
.editor-rico-barra button:hover, .editor-rico-barra button:focus,
.editor-rico-barra select:hover, .editor-rico-barra select:focus,
.editor-rico-cor:hover { border-color: var(--azul); background: var(--azul-claro); }
.editor-rico-barra .formato-negrito { font-weight: 800; }
.editor-rico-barra .formato-italico { font-style: italic; }
.editor-rico-barra .formato-sublinhado { text-decoration: underline; }
.editor-rico-barra .formato-tachado { text-decoration: line-through; }
.editor-rico-cor {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 31px; padding: 2px 4px; font-weight: 750;
}
.editor-rico-cor input {
  position: absolute; inset: auto 3px 2px; width: 23px; height: 5px;
  padding: 0; border: 0; opacity: .9; cursor: pointer;
}
.editor-rico-cor.realce { background: #fff7bf; }
.editor-rico {
  display: block; width: 100%; min-height: 190px; max-height: 56vh;
  padding: 13px 14px; overflow: auto; outline: none;
  border: 1px solid #9eabb7; border-radius: 0 0 var(--raio) var(--raio);
  background: #fff; color: var(--tinta); line-height: 1.55;
  font-family: Arial, sans-serif; white-space: normal;
}
.editor-rico:focus { border-color: var(--azul); box-shadow: 0 0 0 2px rgba(31,59,87,.12); }
.editor-rico:empty::before { content: attr(data-placeholder); color: #7b8792; }
.editor-rico p { margin: 0 0 .7em; }
.editor-rico ul, .editor-rico ol { margin: .4em 0 .7em 1.8em; padding-left: 1em; }
.editor-rico blockquote { margin: .6em 1.5em; padding-left: 10px; border-left: 3px solid #aab7c2; }
.editor-rico table { width: 100%; border-collapse: collapse; margin: 8px 0; }
.editor-rico th, .editor-rico td { border: 1px solid #8c99a4; padding: 5px; }
.texto-rico-leitura {
  margin: 7px 0; overflow-wrap: anywhere; color: var(--tinta); line-height: 1.5;
}
.texto-rico-leitura p { margin: .35em 0; }
.texto-rico-leitura ul, .texto-rico-leitura ol { margin: .4em 0 .7em 1.7em; }
.texto-rico-leitura table { width: 100%; border-collapse: collapse; margin: 7px 0; }
.texto-rico-leitura th, .texto-rico-leitura td { border: 1px solid #a7b2bc; padding: 4px; }
.editor-ementa-rodape {
  display: flex; justify-content: space-between; gap: 10px; margin-top: 4px;
  color: var(--tinta-fraca); font-size: 11.5px;
}
@media (max-width: 620px) {
  .editor-rico { min-height: 220px; }
  .editor-rico-grupo { width: auto; }
  .editor-rico-barra select { max-width: 118px; }
}
.oculto { display: none !important; }

.campo-anexo-ordem {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.campo-anexo-ordem label {
  color: #5a6b7d;
  font-size: 12px;
}

.campo-anexo-ordem input {
  width: 92px;
}

.operacao-global {
  position: fixed;
  top: 12px;
  left: 50%;
  z-index: 1600;
  width: min(560px, calc(100vw - 28px));
  padding: 13px 16px 15px;
  transform: translateX(-50%);
  border: 1px solid rgba(31, 59, 87, .22);
  border-radius: 12px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 12px 38px rgba(16, 36, 54, .24);
}

.operacao-global.falhou { border-color: rgba(166, 45, 45, .5); }

.operacao-cabecalho {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: var(--azul);
}

.operacao-meta { display: flex; align-items: center; gap: 10px; }
.operacao-dispensar {
  border: 1px solid currentColor; border-radius: var(--raio); background: transparent;
  color: inherit; padding: 4px 8px; cursor: pointer; font: inherit; font-size: 12px;
  font-weight: 700;
}
.operacao-dispensar:hover { background: rgba(166, 45, 45, .08); }

.operacao-global.falhou .operacao-cabecalho { color: var(--vermelho); }

.operacao-cabecalho span {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.operacao-detalhe {
  overflow: hidden;
  margin: 5px 0 9px;
  color: var(--tinta-fraca);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.operacao-global.falhou .operacao-detalhe {
  overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere;
}

.operacao-trilho {
  height: 7px;
  overflow: hidden;
  border-radius: 99px;
  background: #e4eaf0;
}

.operacao-barra {
  height: 100%;
  min-width: 3px;
  border-radius: inherit;
  background: linear-gradient(90deg, #245b85, #3f8bc2);
  transition: width .18s ease;
}

.operacao-global.falhou .operacao-barra { background: var(--vermelho); }

.operacao-barra.indeterminada {
  width: 38%;
  background: linear-gradient(90deg, #245b85 0%, #67a9d6 50%, #245b85 100%);
  animation: operacao-andando 1.15s ease-in-out infinite;
}

body.lote-parecer-processando { overflow: hidden; }
.carregamento-lote-parecer {
  z-index: 1800;
  background: rgba(9, 19, 28, .66);
  backdrop-filter: blur(7px);
}
.cartao-carregamento-lote {
  width: min(570px, calc(100vw - 28px));
  padding: 26px;
  border: 1px solid var(--linha-forte);
  background: var(--superficie-elevada);
  color: var(--tinta);
}
.carregamento-lote-topo {
  display: flex;
  align-items: center;
  gap: 15px;
}
.carregamento-lote-topo h2 { margin: 3px 0 0; font-size: 20px; }
.carregamento-lote-etapa {
  color: var(--azul-interativo);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.carregamento-lote-icone {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  border: 3px solid color-mix(in srgb, var(--azul-interativo) 20%, transparent);
  border-top-color: var(--azul-interativo);
  border-radius: 50%;
  animation: carregamento-lote-girar .8s linear infinite;
}
.carregamento-lote-parecer.concluido .carregamento-lote-icone {
  display: grid;
  place-items: center;
  border-color: var(--verde);
  background: var(--verde);
  color: #fff;
  animation: none;
}
.carregamento-lote-parecer.concluido .carregamento-lote-icone::after {
  content: "✓";
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}
.carregamento-lote-detalhe {
  min-height: 40px;
  margin: 20px 0 14px;
  color: var(--tinta-fraca);
  line-height: 1.45;
}
.carregamento-lote-trilho {
  height: 9px;
  overflow: hidden;
  border-radius: 99px;
  background: color-mix(in srgb, var(--azul-interativo) 13%, var(--papel));
}
.carregamento-lote-barra {
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--azul), #42a0d8);
  transition: width .22s ease;
}
.carregamento-lote-rodape {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 10px;
  color: var(--tinta-fraca);
  font-size: 12px;
}
.carregamento-lote-rodape strong { color: var(--azul-interativo); }
@keyframes carregamento-lote-girar { to { transform: rotate(360deg); } }
.referencias-setor { container-type: inline-size; margin: 18px 0; padding: 16px; min-width: 0; border: 1px solid var(--borda); border-radius: 10px; background: var(--superficie-secundaria); }
.referencias-setor legend { padding: 0 6px; font-weight: 600; }
.referencias-setor-itens { display: grid; gap: 14px; margin-top: 14px; }
.referencia-setor-linha { display: grid; grid-template-columns: minmax(180px, 2fr) minmax(80px, .7fr) minmax(80px, .6fr) minmax(180px, 2fr) auto; gap: 12px; align-items: end; padding: 14px; border: 1px solid var(--borda); border-radius: 8px; background: var(--superficie-elevada); }
.referencia-setor-linha .campo { min-width: 0; margin: 0; }
.referencia-setor-remover[aria-hidden="true"] { visibility: hidden; }
.referencia-setor-linha input, .referencia-setor-linha select { width: 100%; min-width: 0; min-height: 36px; box-sizing: border-box; }
.referencia-setor-outro { grid-column: 1 / -1; grid-row: 2; }
.referencia-setor-outro[hidden] { display: none !important; }
.formulario-fluxo-dlc .campo[hidden] { display: none !important; }
.referencias-setor .acoes-linha { margin-top: 16px; }
.referencias-setor-resumo { display: flex; flex-wrap: wrap; gap: 8px 16px; list-style: none; padding: 0; margin: 16px 0; }
.referencias-setor-resumo li { padding: 8px 12px; border: 1px solid var(--borda); border-radius: 6px; background: var(--superficie-secundaria); overflow-wrap: anywhere; }
.referencias-setor-edicao { margin-top: 18px; }
.referencias-setor-edicao > summary { cursor: pointer; font-weight: 600; }
@container (max-width: 720px) {
  .referencia-setor-linha { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .referencia-setor-linha > .campo:first-child { grid-column: 1 / -1; }
  .referencia-setor-outro { grid-row: auto; }
  .referencia-setor-remover { justify-self: start; }
}
@container (max-width: 400px) {
  .referencia-setor-linha { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1050px) {
  .referencia-setor-linha { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .referencia-setor-linha > .campo:first-child { grid-column: 1 / -1; }
  .referencia-setor-outro { grid-row: auto; }
  .referencia-setor-remover { justify-self: start; }
}
@media (max-width: 540px) {
  .referencia-setor-linha { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .carregamento-lote-icone { animation-duration: 1.8s; }
}

.historico-cadastral .tabela-rolagem { overflow-x: auto; }
.historico-cadastral table { width: 100%; table-layout: fixed; }
.historico-cadastral th, .historico-cadastral td {
  white-space: normal; overflow-wrap: anywhere; vertical-align: top;
}
.historico-cadastral .acoes-linha { gap: 10px; margin: 14px 0; flex-wrap: wrap; }
.historico-cadastral section + section { margin-top: 18px; }
@media (max-width: 520px) {
  .cartao-carregamento-lote { padding: 21px; }
  .carregamento-lote-rodape { align-items: flex-start; flex-direction: column; gap: 3px; }
}

@keyframes operacao-andando {
  0% { transform: translateX(-115%); }
  100% { transform: translateX(265%); }
}

@media (max-width: 620px) {
  .operacao-global { top: 7px; }
  .operacao-detalhe { white-space: normal; }
}

.modal-seguro {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(15, 32, 45, .58);
  backdrop-filter: blur(2px);
}

.cartao-modal {
  width: min(460px, 100%);
  padding: 24px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
}

.cartao-modal h2 { margin-top: 0; }
.cartao-modal > .campo + .campo { margin-top: 14px; }
.cartao-modal-distribuicao { width: min(680px, calc(100vw - 24px)); }
.cartao-modal-recibo { width: min(760px, calc(100vw - 24px)); }
.recibo-selecao-topo {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin: 18px 0 8px;
}
.lista-vinculo-recibo {
  max-height: min(390px, 46vh); overflow: auto; padding: 6px;
  border: 1px solid var(--borda); border-radius: var(--raio);
  background: var(--superficie-secundaria);
}
.opcao-processo-recibo {
  display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start;
  gap: 10px; padding: 11px 10px; border-radius: 8px; cursor: pointer;
}
.opcao-processo-recibo + .opcao-processo-recibo { border-top: 1px solid var(--linha); }
.opcao-processo-recibo:hover { background: var(--azul-claro); }
.opcao-processo-recibo input { margin-top: 3px; }
.opcao-processo-recibo strong,
.opcao-processo-recibo small { display: block; }
.opcao-processo-recibo small { margin-top: 3px; color: var(--tinta-fraca); }
.recibo-mais-resultados { padding: 10px; text-align: center; }
.recibo-processos-vinculados {
  display: flex; flex-wrap: wrap; align-items: center; gap: 7px 10px;
  margin-top: 7px; color: var(--tinta-fraca); font-size: 11.5px;
}
.vinculo-recibo-anexo {
  margin: 14px 0 12px; padding: 14px;
  border: 1px solid var(--linha-forte); border-radius: var(--raio);
  background: var(--superficie-secundaria);
}
.vinculo-recibo-anexo .recibo-selecao-topo { margin-top: 0; }
.vinculo-recibo-anexo .lista-vinculo-recibo-anexo {
  max-height: min(250px, 34vh); margin-top: 8px; background: var(--papel);
}
.vinculo-recibo-anexo > .nota { margin: 12px 0 0; }
.cartao-modal-distribuicao select[size] {
  min-height: 210px;
  padding: 5px;
}
.cartao-modal-distribuicao select[size] option {
  padding: 9px 8px;
  border-bottom: 1px solid var(--borda);
}
.responsavel-distribuicao {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.responsavel-distribuicao .nome { font-weight: 600; }
.aviso-designacao {
  border-left: 3px solid var(--destaque);
  padding-left: 9px;
}

.bloco-ficha { margin-bottom: 18px; }
.gestao-registro {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 14px; border: 1px solid #b9cddd; border-radius: var(--raio);
  background: #f2f7fb;
}
.gestao-registro .recuo { margin-top: 4px; }
.gestao-registro > .acao { flex: 0 0 auto; max-width: 100%; margin: 0; }
.gestao-registro > .acoes-linha { flex: 0 0 auto; }
.resumo-fluxo-dlc-ficha {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 16px; padding: 14px;
  border: 1px solid var(--linha); border-radius: var(--raio);
  background: var(--superficie-secundaria);
}
.resumo-fluxo-dlc-ficha > div { flex: 1 1 320px; min-width: 0; }
.resumo-fluxo-dlc-ficha .recuo { margin-top: 4px; }
.resumo-fluxo-dlc-ficha > .acao { flex: 0 0 auto; max-width: 100%; margin: 0; }
@media (max-width: 720px) {
  .gestao-registro, .resumo-fluxo-dlc-ficha { align-items: stretch; flex-direction: column; }
  .resumo-fluxo-dlc-ficha > div { flex-basis: auto; }
  .gestao-registro > .acoes-linha { justify-content: flex-start; }
}
.bloco-ficha h3 {
  border-bottom: 1px solid var(--linha); padding-bottom: 4px; margin-bottom: 8px;
}
.formulario-gestao-fluxo {
  column-gap: 16px; row-gap: 14px; align-items: start;
}
.formulario-gestao-fluxo .responsavel-distribuicao {
  align-content: center; min-height: 36px;
}
.formulario-gestao-fluxo .campo-motivo-fluxo { margin-top: 1px; }
.acoes-gestao-fluxo {
  align-items: center; gap: 10px; margin: 10px 0 8px;
}
.acoes-gestao-fluxo .acao {
  display: inline-flex; align-items: center; justify-content: center; min-height: 36px;
}
.acoes-gestao-fluxo button.acao.discreta {
  min-height: 36px;
}
@media (max-width: 760px) {
  .formulario-gestao-fluxo { grid-template-columns: minmax(0, 1fr); }
  .acoes-gestao-fluxo { align-items: stretch; flex-direction: column; }
  .acoes-gestao-fluxo .acao { width: 100%; }
}
.pares { display: grid; grid-template-columns: auto 1fr; gap: 3px 12px; font-size: 13px; }
.pares dt { color: var(--tinta-fraca); white-space: nowrap; }
.pares dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }

.tempo { list-style: none; margin: 0; padding: 0 0 0 16px; border-left: 2px solid var(--linha); }
.tempo li { position: relative; padding: 0 0 12px 12px; font-size: 13px; }
.tempo li::before {
  content: ""; position: absolute; left: -21px; top: 4px;
  width: 9px; height: 9px; border-radius: 50%; background: var(--azul); border: 2px solid #fff;
}
.tempo .quando { font-weight: 600; }
.tempo .oque { color: var(--azul); font-weight: 600; }
.tempo .detalhe { color: var(--tinta-fraca); font-size: 12.5px; }

.condicionantes-editor {
  border: 1px solid var(--linha);
  border-radius: 4px;
  padding: 10px;
  background: #fbfcfd;
  min-width: 0;
}
.lista-condicionantes { display: grid; gap: 7px; margin: 8px 0; }
.condicionante-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  border-left: 4px solid var(--azul);
  background: #f5f8fb;
  padding: 8px 10px;
  min-width: 0;
}
.condicionante-item > div:first-child { min-width: 0; overflow-wrap: anywhere; }
.condicionante-item.bloco-B { border-left-color: var(--ambar); }
.condicionante-item.bloco-C { border-left-color: #6a7b87; }
.condicionante-item .acoes-linha { flex: 0 0 auto; margin: 0; }
.condicionante-formulario { margin-top: 8px; }
.condicionante-formulario > summary { cursor: pointer; font-weight: 600; }

@media (max-width: 760px) {
  .condicionante-item { flex-direction: column; }
  .condicionante-item .acoes-linha { align-self: flex-start; }
}

.arquivo-item {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  align-items: start; gap: 10px;
  padding: 6px 0; border-bottom: 1px solid #edf1f4; font-size: 12.5px;
}
.arquivo-item > :first-child { min-width: 0; }
.arquivo-item > :first-child strong,
.arquivo-item > strong:first-child {
  display: block; max-width: 100%; overflow-wrap: anywhere; word-break: normal;
}
.arquivo-acoes {
  display: flex; align-items: center; justify-content: flex-end;
  gap: 6px; flex-wrap: wrap; min-width: max-content;
}
.arquivo-acoes .acoes-anexo { margin-left: 0; }
.arquivo-item .caminho { color: var(--tinta-fraca); font-size: 11.5px; word-break: break-all; }
.zip-anexos-lote {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  margin: 4px 0 8px;
}
.zip-anexos-lote span { color: var(--tinta-fraca); font-size: 11.5px; }

@media (max-width: 620px) {
  .arquivo-item { grid-template-columns: minmax(0, 1fr); }
  .arquivo-acoes { justify-content: flex-start; min-width: 0; }
}

/* ---------- conferencia do oficio ---------- */

.tres-listas {
  display: grid; gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
}
.lista-resultado { border-top: 3px solid var(--linha); }
.lista-resultado.respondidos { border-top-color: var(--verde); }
.lista-resultado.pendentes { border-top-color: var(--vermelho); }
.lista-resultado.conferir { border-top-color: var(--ambar); }
.item-oficio { margin-top: 8px; padding: 10px; font-size: 12.5px; }
.item-oficio-topo {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 10px; min-width: 0;
}
.item-oficio .ref { font-weight: 600; }
.item-oficio .obs { color: var(--tinta-fraca); margin-top: 2px; }
.item-oficio .fonte {
  color: #758491; font-size: 11.5px; margin-top: 8px; padding-top: 7px;
  border-top: 1px solid #e7edf2; overflow-wrap: anywhere;
}
@media (max-width: 700px) {
  .tres-listas { grid-template-columns: minmax(0, 1fr); }
  .item-oficio-topo { flex-direction: column; }
}

/* ---------- diversos ---------- */

.aviso {
  position: fixed; bottom: 18px; left: 50%; transform: translateX(-50%);
  background: var(--tinta); color: #fff; padding: 10px 18px; border-radius: var(--raio);
  z-index: 90; font-size: 13px; max-width: 78vw; box-shadow: 0 3px 14px rgba(0,0,0,0.25);
  display: flex; align-items: flex-start; gap: 14px;
}
.aviso.erro { background: var(--vermelho); }
.aviso.bom { background: var(--verde); }
.aviso-mensagem { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.aviso-dispensar {
  flex: 0 0 auto; border: 1px solid rgba(255,255,255,.8); border-radius: var(--raio);
  background: transparent; color: #fff; padding: 4px 8px; cursor: pointer;
  font: inherit; font-weight: 700;
}
.aviso-dispensar:hover { background: rgba(255,255,255,.15); }

@media (max-width: 620px) {
  .aviso { width: calc(100vw - 28px); max-width: none; bottom: 12px; }
}

.nota {
  background: var(--azul-claro); border-left: 3px solid var(--azul);
  padding: 8px 11px; font-size: 12.5px; border-radius: 0 var(--raio) var(--raio) 0;
  min-width: 0; max-width: 100%; overflow-wrap: anywhere;
  margin-bottom: 12px;
}
.nota.atencao { background: var(--ambar-claro); border-left-color: var(--ambar); }

.barra { height: 7px; background: #e6ebf0; border-radius: 4px; overflow: hidden; min-width: 90px; }
.barra > span { display: block; height: 100%; background: var(--azul); }

.acoes-linha { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0; }

/* ---------- prioridade da fila ---------- */

.linha-urgente { box-shadow: inset 3px 0 0 #b42318; }
.prioridade-selo {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 50px; padding: 3px 7px; border-radius: 999px;
  font-size: 10.5px; font-weight: 750; letter-spacing: .02em; white-space: nowrap;
}
.prioridade-selo.urgente { color: #8f1710; background: #fee4e2; border: 1px solid #fda29b; }
.prioridade-selo.normal { color: #344054; background: #f2f4f7; border: 1px solid #d0d5dd; }
.controle-prioridade {
  display: flex; gap: 2px; flex-wrap: wrap; margin-top: 5px; max-width: 118px;
}
.controle-prioridade-botao {
  border: 1px solid #cbd5df; background: #fff; color: #344054;
  border-radius: 4px; padding: 2px 5px; font: inherit; font-size: 10px; cursor: pointer;
}
.controle-prioridade-botao:hover { border-color: var(--azul); color: var(--azul); }
.controle-prioridade .alca-arrastar { cursor: grab; font-size: 13px; }
.controle-prioridade .alca-arrastar:active { cursor: grabbing; }
.lista-arrastavel tr.arrastando td { background: #e7f1f8; }
.lista-arrastavel tr.alvo-arrastar td { border-top: 2px solid var(--azul); }
.prioridade-ficha {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 10px; flex-wrap: wrap; margin-bottom: 10px;
}
.prioridade-ficha .controle-prioridade { max-width: none; margin-top: 0; }

.cabecalho-tela {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 16px; margin-bottom: 12px;
}
.cabecalho-tela h2 { margin-bottom: 2px; }
.indicadores {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 125px), 1fr));
  gap: 9px; margin-bottom: 12px;
}
.indicadores .indicador {
  background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio);
}
.barra-lote {
  position: sticky; top: 0; z-index: 8; display: flex; flex-wrap: wrap;
  gap: 9px; align-items: center; background: #f4f8fb; border: 1px solid #c7d5e1;
  border-radius: var(--raio); padding: 9px 11px; margin-bottom: 10px;
}
.barra-lote input:not([type="checkbox"]):not([type="radio"]) {
  flex: 1 1 230px; min-width: min(230px, 100%); max-width: 100%;
}
.barra-lote select,
.barra-lote input:not([type="checkbox"]):not([type="radio"]) {
  padding: 6px 8px; border: 1px solid var(--linha); border-radius: var(--raio);
  font: inherit; background: #fff;
}
.barra-lote input[type="checkbox"], .barra-lote input[type="radio"] {
  flex: 0 0 16px; width: 16px; min-width: 16px; max-width: 16px;
  height: 16px; padding: 0; margin: 0; accent-color: var(--azul); cursor: pointer;
}
.barra-lote-pje { top: 43px; margin-top: 10px; }
.barra-lote-pje .rotulo-checkbox {
  display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
}
.barra-lote-pje .acoes-linha { margin: 0; }
.pje-lote-check, #pjeMarcarTodas {
  width: 16px; height: 16px; accent-color: var(--azul); cursor: pointer;
}
.coluna-selecao {
  width: 56px; min-width: 56px; max-width: 56px;
  padding-left: 0; padding-right: 0; text-align: center;
}
.grade-dois { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.contencioso-dia { margin-top: 2px; }
.divisao-contencioso { margin-top: 10px; align-items: start; }
.fila-contencioso {
  min-width: 0; border: 1px solid var(--linha); border-radius: var(--raio);
  background: var(--papel); overflow: hidden;
}
.fila-contencioso .cartao-topo { padding: 9px 11px; margin: 0; }
.fila-contencioso .cartao-topo h4 { margin: 0; }
.fila-contencioso .rolagem, .fila-contencioso .vazio { margin: 0; }
.fila-ciencia { border-top: 4px solid #3b82a0; }
.fila-ciencia .cartao-topo { background: var(--azul-claro); }
.fila-resposta { border-top: 4px solid var(--ambar); }
.fila-resposta .cartao-topo { background: var(--ambar-claro); }
.fila-evento { border-top: 4px solid #6b7280; }
details.bloco-ficha {
  border: 1px solid var(--linha); border-radius: var(--raio); padding: 9px 11px;
  background: var(--superficie-secundaria);
}
details.bloco-ficha summary { cursor: pointer; color: var(--azul); }
.catalogo-oficios { margin-top: 14px; }
.catalogo-oficios .rolagem table { min-width: 940px; }
.catalogo-oficios td { overflow-wrap: anywhere; }
.celula-situacao { display: grid; justify-items: start; gap: 5px; min-width: 0; }
.celula-situacao .recuo { margin: 0; padding-inline: 10px; line-height: 1.5; }
.et-enviado { background: var(--verde-claro); color: var(--verde); }
.et-emitido { background: var(--azul-claro); color: var(--azul); }
.catalogo-oficios .catalogo-retorno { min-height: 18px; margin: 8px 0; }
.catalogo-oficios [aria-busy=true] { opacity: .65; cursor: progress; }
.catalogo-oficios summary .contagem {
  color: var(--tinta-fraca); font-size: 12px; margin-left: 5px;
}
.catalogo-lacunas { margin: 2px 0 10px; }
.espaco-topo { margin-top: 10px; }

.triagem-saude {
  margin: 14px 0; border: 1px solid #d6c7a4;
  border-radius: var(--raio); background: var(--papel);
}
.triagem-saude > summary.cartao-topo {
  cursor: pointer; padding: 12px; margin: 0; list-style-position: inside;
  border-bottom: 0;
}
.triagem-saude[open] > summary.cartao-topo { border-bottom: 1px solid #e6dcc4; }
.triagem-saude > summary .contagem { margin-left: auto; white-space: nowrap; }
.alternador-saude::after {
  content: "Esconder"; display: inline-block; min-width: 52px; margin-left: 8px;
  color: var(--azul); font-size: 12px; text-align: right;
}
.triagem-saude:not([open]) .alternador-saude::after { content: "Mostrar"; }
.corpo-triagem-saude { padding: 12px; }
.triagem-saude tr.saude-critica { background: #fff0f0; }
.triagem-saude tr.saude-critica:hover { background: #ffe4e4; }
.triagem-saude tr.saude-critica td:first-child {
  border-left: 4px solid var(--vermelho); color: var(--vermelho);
}
.triagem-saude tr.saude-alta td:first-child {
  border-left: 4px solid var(--ambar); color: var(--ambar);
}
.fluxo-saude-oficio {
  border: 1px solid #d6c7a4; border-radius: var(--raio);
  background: #fffaf0; padding: 9px 11px;
}
.grupos-classe-judicial { padding: 0 12px 12px; }
.grupo-classe-judicial + .grupo-classe-judicial { margin-top: 8px; }
.grupo-classe-judicial > summary.cartao-topo { cursor: pointer; }
.grupo-classe-judicial > summary h4 { overflow-wrap: anywhere; }

@media (max-width: 780px) {
  .grade-dois { grid-template-columns: 1fr; }
  .cabecalho-tela { align-items: stretch; flex-direction: column; }
  .barra-lote { position: static; }
  .barra-carteira { align-items: stretch; flex-direction: column; }
  .faixa-ambiente { align-items: flex-start; flex-direction: column; gap: 1px; }
}

.pagina-verificacao { background: #eef3f7; }
.topo-publico { position: static; }
.verificacao-publica { width: min(880px, calc(100% - 28px)); margin: 28px auto 60px; }
.verificacao-publica h1 { margin-top: 0; }
.resultado-cabecalho { display: flex; justify-content: space-between; gap: 20px; }
.resultado-valido { border-left: 4px solid var(--verde); }
.resultado-invalido { border-left: 4px solid var(--vermelho); }
.qr-publico img { width: 150px; height: 150px; display: block; }
.conferir-arquivo { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--linha); }
.conferir-arquivo input { margin: 8px 0; }

code, .mono { font-family: Consolas, "Courier New", monospace; font-size: 12px; }
.recuo { color: var(--tinta-fraca); font-size: 12px; }

@media print {
  .faixa-ambiente { display: block !important; text-align: center; }
  .marca-homologacao { display: block !important; color: #b78061; }
}

/* ---------- editor institucional ---------- */

.editor-cabecalho {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 18px; margin-bottom: 12px;
}
.editor-cabecalho h2 { margin: 8px 0 2px; }
.editor-estado { margin-left: 8px; }
.editor-salvamento { align-self: center; color: var(--tinta-fraca); font-size: 12px; }
.editor-area {
  width: 100%; padding: 0 14px 28px;
  border: 1px solid #cbd5df; border-radius: var(--raio); background: #dfe5ea;
}
/* A folha A4 rola na horizontal dentro do próprio invólucro; a barra de
 * formatação fica fora dele para acompanhar a rolagem da página (um
 * contêiner com overflow prenderia o "sticky" dentro dele). */
.editor-rolagem { overflow-x: auto; overflow-y: hidden; padding-bottom: 6px; }

.editor-modelo-area {
  margin-top: 12px;
}

.editor-modelo-area .editor-pagina {
  min-height: 420px;
}

.bloco-modelo-parecer {
  margin: 14px 0;
  min-width: 0;
  border: 1px solid var(--borda);
  border-radius: 4px;
  padding: 12px;
}

.formulario-modelo-parecer {
  align-items: end;
  grid-template-columns: minmax(260px, 2fr) minmax(170px, 1fr);
}

.formulario-modelo-documento {
  grid-template-columns: minmax(280px, 2fr) minmax(220px, 1fr);
}

@media (max-width: 760px) {
  .formulario-modelo-parecer,
  .formulario-modelo-documento {
    grid-template-columns: minmax(0, 1fr);
  }
}
.editor-barra {
  /* Gruda logo abaixo da navegação fixa do sistema (altura medida em
   * navegacao-rapida.js), como a faixa de formatação do Word. */
  position: sticky; top: var(--altura-navegacao-fixa, 0px); z-index: 12; display: flex; flex-wrap: wrap;
  gap: 3px; align-items: center; margin: 0 -14px 18px; padding: 8px 12px;
  border-bottom: 1px solid #b8c4ce; background: #f9fbfc;
  box-shadow: 0 2px 7px rgba(20, 40, 58, .08);
}
.editor-barra button, .editor-barra select {
  min-height: 30px; padding: 4px 8px; border: 1px solid #c5d0da;
  border-radius: 3px; background: #fff; color: var(--tinta); font: inherit;
  font-size: 12px; cursor: pointer;
}
.editor-barra button:hover { border-color: var(--azul); background: var(--azul-claro); }
.editor-barra button:nth-of-type(3) { font-weight: 700; }
.editor-pagina {
  width: 210mm; min-height: 297mm; margin: 0 auto; padding: 38mm 30mm 27mm;
  outline: none; background: #fff url("timbre-prefeitura.png") center/100% 100% no-repeat;
  box-shadow: 0 5px 18px rgba(27, 43, 57, .2); color: #111;
  font: 12pt/1.5 Arial, sans-serif; text-align: justify;
}
.editor-pagina:focus { box-shadow: 0 0 0 3px rgba(31, 59, 87, .24), 0 5px 18px rgba(27,43,57,.2); }
.editor-pagina h1 { font-size: 14pt; text-align: center; margin: 12pt 0; }
.editor-pagina h2 { font-size: 13pt; margin: 12pt 0 7pt; }
.editor-pagina h3 { font-size: 12pt; margin: 10pt 0 6pt; }
.editor-pagina table { width: 100%; border-collapse: collapse; margin: 8pt 0; }
.editor-pagina th, .editor-pagina td { border: 1px solid #777; padding: 5px; vertical-align: top; }
.editor-pagina hr.page-break { border: 0; border-top: 2px dashed #8da0af; margin: 24px -10mm; }
.editor-rodape { margin-top: 14px; }
.assinaturas-previstas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 9px; margin: 10px 0;
}
.assinatura-prevista { padding: 12px; text-align: center; border: 1px solid #d1d7dd; border-radius: var(--raio); }
.assinatura-prevista span, .assinatura-prevista small { display: block; margin-top: 3px; }
.assinatura-prevista.pendente { color: #98a1aa; border-color: #e1e5e8; }
.assinatura-prevista.assinada { color: #111; border-color: #5f6d78; }
.grade-permissoes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 5px 12px; margin: 10px 0;
}
.grade-permissoes label { display: flex; gap: 6px; align-items: flex-start; font-size: 12px; }
.nota-projeto { padding: 9px 0; border-bottom: 1px solid var(--linha); }
.nota-projeto p { white-space: pre-wrap; margin: 5px 0; }
.nota-projeto small { color: var(--tinta-fraca); }
.linha-inteira { grid-column: 1 / -1; }
.permissoes-config { display: grid; gap: 10px; margin: 12px 0; }
.grupo-permissao { border: 1px solid var(--linha); border-radius: var(--raio); background: #fbfcfd; }
.grupo-permissao summary { padding: 9px 11px; cursor: pointer; color: var(--azul); font-weight: 700; }
.permissao-linha, .permissao-check {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
  padding: 8px 11px; border-top: 1px solid #e8edf1; font-size: 12px;
}
.permissao-linha > *, .permissao-check > * { min-width: 0; }
.permissao-linha small, .permissao-check small { display: block; margin-top: 2px; color: var(--tinta-fraca); font-weight: 400; }
.permissao-linha select { min-width: min(150px, 100%); max-width: 100%; }
.permissao-check { justify-content: flex-start; cursor: pointer; }
.permissao-check input { margin-top: 3px; }
.permissao-linha .etiqueta, .permissao-check .etiqueta { margin-left: 6px; }

/* ---------- acompanhamento da Licitacao e documento oficial ---------- */
.acompanhamento-atualizacao {
  display: flex; align-items: center; gap: 7px; margin: 8px 0 12px;
  color: var(--tinta-fraca); font-size: 12px;
}
.pulso-ativo {
  width: 8px; height: 8px; border-radius: 50%; background: var(--verde);
  box-shadow: 0 0 0 4px rgba(30, 132, 73, .12);
}
.lacre-oficial {
  display: inline-flex; padding: 3px 7px; border-radius: 999px;
  color: #155b33; background: #e8f6ed; border: 1px solid #a8d8b9;
  font-size: 10.5px; font-weight: 750; text-transform: uppercase;
}

.marca-cancelada {
  color: #8a1720;
  background: #fde8e9;
  border: 1px solid #e8aeb2;
  font-weight: 700;
}

.marca-cancelada-lista {
  color: #5f6872;
  background: #f1f3f5;
  border: 1px solid #d6dbe0;
  font-size: 9.5px;
  font-weight: 600;
  text-transform: lowercase;
}

.nota-cancelamento {
  margin-top: 7px;
  padding: 7px 9px;
  max-width: 360px;
  border-left: 3px solid #a61f2b;
  background: #fff2f2;
  color: #64131a;
  white-space: normal;
  overflow-wrap: anywhere;
}

.emissao-documento {
  margin-top: 12px;
  border-color: #c79322;
  background: var(--papel);
}
.emissao-documento, .emissao-despacho {
  min-width: 0; min-inline-size: 0; max-width: 100%; box-sizing: border-box;
}
.grade-emissao-documento {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 12px 18px; align-items: start;
}
.grade-emissao-despacho {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  align-items: start;
}
.grade-emissao-documento .campo,
.grade-emissao-despacho .campo,
.grade-emissao-documento .campo.largo,
.grade-emissao-despacho .campo.largo { min-width: 0; overflow: hidden; }
.grade-emissao-documento input[type="file"],
.grade-emissao-despacho input[type="file"] {
  display: block; width: 100%; min-width: 0; max-width: 100%; overflow: hidden;
}
.condicionantes-historicas {
  margin-top: 5px; padding: 8px 10px; border: 1px solid var(--linha);
  border-radius: var(--raio); background: #f8fafc;
}
.condicionantes-historicas > summary { cursor: pointer; font-weight: 600; }
.condicionantes-historicas .nota { margin: 8px 0; }
@media (max-width: 760px) {
  .grade-emissao-documento,
  .grade-emissao-despacho { grid-template-columns: minmax(0, 1fr); }
}
.auditoria-downloads .nome-arquivo-auditoria {
  max-width: 280px;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.auditoria-downloads td { vertical-align: top; }
.carteira-licitacao { border-color: #b9cad8; }
.carteira-licitacao > summary { align-items: flex-start; }
.barra-carteira { top: 43px; margin-top: 10px; padding-left: 0; }
.barra-carteira .rotulo-checkbox {
  display: grid; grid-template-columns: 56px max-content;
  align-items: center; gap: 9px; white-space: nowrap;
}
.barra-carteira .rotulo-checkbox input { justify-self: center; }
.barra-carteira input[type="checkbox"], .carteira-check {
  width: 16px; height: 16px; accent-color: var(--azul); cursor: pointer;
}
.barra-carteira .acoes-linha { margin: 0; }
.nota-publica-acompanhamento {
  margin-top: 5px; padding: 5px 7px; border-left: 2px solid #9eb6c9;
  background: #f3f7fa; color: #405469; font-size: 12px; white-space: pre-wrap;
}

.opcoes-retorno-publicacao {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap: 8px 14px;
  margin-top: 6px;
}

.resultado-ciclo-publicacao {
  min-width: 0;
  margin: 8px 0;
  padding: 12px;
  border: 1px solid var(--borda);
  border-radius: 4px;
}

.resumo-resultado-ciclo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}

.resumo-resultado-ciclo > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 10px;
  background: var(--azul-claro);
  border-radius: 4px;
}

.resultado-ciclo-lista {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 7px;
  min-width: 150px;
}

@media (max-width: 760px) {
  .resumo-resultado-ciclo { grid-template-columns: 1fr; }
}

.opcao-retorno {
  min-height: 34px;
  align-items: center;
}

.retorno-acompanhamento {
  margin-top: 7px;
  padding: 7px 9px;
  border-left: 3px solid #d59b16;
  background: #fff8e7;
  overflow-wrap: anywhere;
}

.retornos-programados-ficha details {
  margin-top: 8px;
  border: 1px solid #d5dee8;
  border-radius: 4px;
  background: #fff;
}

.retornos-programados-ficha summary,
.retornos-programados-ficha .corpo-recolhivel {
  padding: 9px 11px;
}

.historico-retorno {
  margin-top: 8px;
  display: grid;
  gap: 5px;
}
.historico-carteira {
  margin-top: 12px; padding-top: 9px; border-top: 1px solid var(--linha);
}
.historico-carteira > summary {
  cursor: pointer; color: var(--azul); font-weight: 600;
}
.formulario-acompanhamento { max-width: 1120px; }

/* Seleção institucional sem o comportamento pouco intuitivo do select
   múltiplo nativo. O painel abre no fluxo da página e não encobre campos. */
.bloco-secretarias { align-self: start; min-width: 0; }
.seletor-secretarias {
  width: 100%; min-width: 0; border: 1px solid var(--borda);
  border-radius: 4px; background: #fff;
}
.seletor-secretarias > summary {
  min-height: 34px; padding: 8px 10px; cursor: pointer;
  color: var(--azul); font-weight: 650; list-style-position: inside;
  overflow-wrap: anywhere;
}
.secretaria-lista {
  max-height: 310px; overflow: auto; border-top: 1px solid var(--borda);
  padding: 6px 10px 10px;
}
.pesquisa-secretaria {
  position: sticky; top: -6px; z-index: 1; display: grid;
  grid-template-columns: 24px minmax(0, 1fr); align-items: center;
  padding: 6px 2px; margin-bottom: 3px; background: #fff;
  border-bottom: 1px solid #e4eaf0;
}
.pesquisa-secretaria span { text-align: center; color: var(--azul); }
.pesquisa-secretaria input { min-width: 0; width: 100%; }
.pesquisa-secretaria-vazio {
  padding: 12px 4px; color: var(--tinta-fraca); font-style: italic;
}
.pesquisa-secretaria-vazio[hidden] { display: none !important; }
.secretaria-opcao {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px; align-items: center; padding: 7px 2px;
  border-bottom: 1px solid #edf1f5;
}
.secretaria-opcao[hidden] { display: none !important; }
.secretaria-opcao:last-child { border-bottom: 0; }
.secretaria-principal {
  display: inline-flex; gap: 5px; align-items: center;
  color: var(--tinta-fraca); white-space: nowrap;
}
.secretaria-orgao { grid-column: 1 / -1; min-width: 0; width: 100%; }
.secretaria-escolhidas {
  display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px;
}
.etiqueta-secretaria {
  display: inline-flex; align-items: center; padding: 4px 8px;
  border-radius: 999px; background: #e9eef4; color: #31465b; font-size: 12px;
}
.etiqueta-secretaria.principal {
  background: #dce9f6; color: #143b61; font-weight: 700;
}

/* Trabalho juridico posterior ao parecer principal. A tarefa fica visivel
   sem esconder o formulario em um menu recolhido. */
.manifestacoes-pendentes > h3 { background: #4b5f73; }
.manifestacao-form {
  margin-top: 14px; padding: 14px; border: 1px solid var(--linha);
  border-radius: var(--raio); background: var(--superficie-secundaria);
}
.manifestacao-form h4 { margin: 0 0 8px; color: var(--azul); }
.manifestacao-form .acoes-linha { margin: 12px 0 0; }

/* Reserva de elaboração. A presença aparece sem depender de atualizar a
   página e o nome nunca disputa espaço com os comandos da fila. */
.reserva-parecer { min-width: 0; width: 100%; line-height: 1.4; text-align: left; }
.reserva-identidade { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 6px; }
.reserva-identidade > strong { min-width: 0; overflow-wrap: break-word; }
.reserva-parecer .aviso-designacao { border: 0; padding: 0; margin: 0; }
.reserva-parecer .aviso-designacao > strong { display: block; }
.reserva-parecer > small {
  display: block; margin-top: 3px; color: var(--tinta-fraca); white-space: normal;
}
.reserva-presenca {
  display: inline-flex; align-items: center; gap: 4px; padding: 2px 6px;
  border-radius: 4px; background: var(--superficie-terciaria); color: var(--tinta-fraca);
  font-size: 10.5px; white-space: nowrap;
}
.reserva-presenca.ativa { background: var(--verde-claro); color: var(--verde); }
.reserva-presenca.ativa::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--verde);
  box-shadow: 0 0 0 3px rgba(30,132,73,.12);
}
.acoes-reserva { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; margin-top: 8px; }
.reserva-parecer .acoes-reserva button.acao {
  margin: 0; padding: 3px 0; border-width: 0; text-align: left;
  max-width: 100%; white-space: normal; line-height: 1.4; min-height: 28px;
}
.reserva-parecer .acoes-reserva button.acao:focus-visible { outline: 2px solid var(--foco); outline-offset: 2px; }

/* Autos administrativos digitais. A ordem processual fica legivel tanto em
   monitor grande quanto no painel estreito, sem tabela horizontal. */
.autos-digitais .cartao-topo { align-items: flex-start; gap: 12px; }
.autos-acoes { margin: 0; justify-content: flex-end; }
.lista-autos { margin-top: 10px; border-top: 1px solid var(--linha); }
.peca-autos {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px;
  align-items: center; padding: 10px 0; border-bottom: 1px solid var(--linha);
}
.peca-autos strong { overflow-wrap: anywhere; }
.peca-autos.peca-retirada { opacity: .68; background: #faf7f3; }
.formulario-peca-autos {
  grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(0, 1.5fr);
}
.trilha-dossie {
  display: grid; grid-template-columns: repeat(8, minmax(90px, 1fr));
  gap: 5px; margin: 13px 0; overflow-x: auto; padding-bottom: 3px;
}
.etapa-dossie {
  min-width: 92px; padding: 8px 7px; border: 1px solid #d4dde5;
  border-radius: 5px; background: #f7f9fb; color: var(--tinta-fraca);
}
.etapa-dossie span {
  display: block; width: 9px; height: 9px; margin-bottom: 5px;
  border-radius: 50%; background: #b9c5cf;
}
.etapa-dossie small { display: block; line-height: 1.25; }
.etapa-dossie.etapa-concluida,
.etapa-dossie.etapa-registrada { color: #24425c; background: #edf4f9; }
.etapa-dossie.etapa-concluida span,
.etapa-dossie.etapa-registrada span { background: var(--verde); }
.etapa-dossie.etapa-atual {
  color: #173d60; background: #e3eef7; border-color: #7fa1bd; font-weight: 700;
}
.etapa-dossie.etapa-atual span { background: var(--azul); box-shadow: 0 0 0 3px #c9dbe9; }
.lista-dossie { position: relative; margin: 12px 0 4px; }
.lista-dossie::before {
  content: ""; position: absolute; left: 7px; top: 10px; bottom: 10px;
  width: 2px; background: #d5dee6;
}
.item-dossie {
  position: relative; display: grid;
  grid-template-columns: 16px minmax(0, 1fr) auto; gap: 10px;
  align-items: center; padding: 9px 0;
}
.marco-dossie {
  z-index: 1; width: 10px; height: 10px; margin-left: 3px;
  border: 2px solid #fff; border-radius: 50%; background: var(--azul);
  box-shadow: 0 0 0 1px #9aafc0;
}
.capa-digital-dossie {
  margin: 4px 0; padding: 10px 9px 10px 0;
  border: 1px solid #b9ccdc; border-radius: 5px; background: #edf4f9;
}
.capa-digital-dossie .marco-dossie {
  width: 12px; height: 12px; margin-left: 2px; background: var(--verde);
}
.conteudo-dossie { min-width: 0; }
.conteudo-dossie strong, .conteudo-dossie .detalhe { overflow-wrap: anywhere; }
.acao-dossie {
  align-self: center; display: flex; flex-wrap: wrap; justify-content: flex-end;
  align-items: center; gap: 6px;
}
.dossie-acoes-fluxo {
  display: flex; align-items: center; justify-content: space-between;
  gap: 14px; margin: 12px 0; padding: 11px 12px;
  border: 1px solid #c8d6e1; border-radius: var(--raio); background: #f4f8fb;
}
.dossie-acoes-fluxo .acoes-linha { margin: 0; justify-content: flex-end; }
.autenticidade-processo-interna {
  display: grid; grid-template-columns: minmax(0, 1fr) 108px; gap: 18px;
  align-items: center; margin: 12px 0; padding: 14px 16px;
  border: 1px solid #aac4d7; border-left: 4px solid var(--azul);
  border-radius: var(--raio); background: #f4f8fb;
}

.lacre-processual {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(320px, 1.2fr);
  gap: 14px;
  align-items: start;
  margin-top: 12px;
  padding: 13px;
  border: 1px solid #9fc8ae;
  border-left: 4px solid var(--verde);
  background: var(--verde-claro);
}
.lacre-processual-lista { display: grid; gap: 8px; min-width: 0; }
.lacre-processual-lista > div {
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(25, 92, 60, .18);
  overflow-wrap: anywhere;
}
.lacre-processual-lista > div:last-child { border-bottom: 0; padding-bottom: 0; }
@media (max-width: 820px) {
  .lacre-processual { grid-template-columns: 1fr; }
}
.autenticidade-processo-texto { min-width: 0; }
.autenticidade-processo-codigos {
  display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 9px 0;
}
.qr-processo-interno {
  display: block; width: 104px; height: 104px; padding: 4px;
  border: 1px solid var(--linha); background: #fff;
}
.secao-destacada {
  outline: 3px solid rgba(31, 77, 115, .18); outline-offset: 3px;
  transition: outline-color .4s ease;
}
.historico-tecnico > summary {
  cursor: pointer; color: var(--azul); font-weight: 700;
}
.historico-tecnico[open] > summary { margin-bottom: 10px; }

@media (max-width: 980px) {
  .editor-cabecalho { flex-direction: column; }
  .editor-pagina { width: 100%; min-height: 0; padding: 90px 10% 80px; background-size: 100% auto; }
}

@media (max-width: 760px) {
  .escolha-atos-grade { grid-template-columns: 1fr; }
  .acoes-manifestacao-posterior { align-items: stretch; }
  .acoes-manifestacao-posterior .acao { width: 100%; }
  .seletor-pesquisavel { grid-template-columns: minmax(0, 1fr) 32px; }
  .lupa-menu { width: 32px; min-width: 32px; }
  .secretaria-opcao { grid-template-columns: 1fr auto; }
  .secretaria-orgao { grid-column: 1 / -1; }
  .formulario-anexo-compacto {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "anexo-categoria" "anexo-arquivo" "anexo-acao";
  }
  .campo-acao-anexo { width: auto; }
  .campo-acao-anexo button { width: auto; max-width: 100%; }
  .autos-digitais .cartao-topo { flex-direction: column; }
  .autos-acoes { justify-content: flex-start; }
  .peca-autos { grid-template-columns: minmax(0, 1fr); }
  .formulario-peca-autos { grid-template-columns: minmax(0, 1fr); }
  .item-dossie { grid-template-columns: 16px minmax(0, 1fr); }
  .acao-dossie { grid-column: 2; justify-content: flex-start; }
  .dossie-acoes-fluxo { align-items: flex-start; flex-direction: column; }
  .dossie-acoes-fluxo .acoes-linha { justify-content: flex-start; }
  .autenticidade-processo-interna { grid-template-columns: minmax(0, 1fr); }
  .qr-processo-interno { width: 92px; height: 92px; }
}

@media (max-width: 620px) {
  .pares { grid-template-columns: minmax(0, 1fr); gap: 1px; }
  .pares dt { margin-top: 6px; white-space: normal; }
  .permissao-linha { flex-direction: column; gap: 7px; }
  .permissao-linha select { width: 100%; min-width: 0; }
}

@media print {
  .topo, .navegacao-sistema, .editor-cabecalho, .editor-barra, .editor-rodape { display: none !important; }
  main, .editor-area { padding: 0; margin: 0; border: 0; background: #fff; }
  .editor-rolagem { overflow: visible; padding: 0; }
  .editor-pagina { box-shadow: none; width: 210mm; min-height: 297mm; }
}
.opcao-decisao {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 10px;
  row-gap: 4px;
  align-items: start;
  padding: 12px;
  margin: 8px 0;
  border: 1px solid var(--linha);
  border-radius: 6px;
  background: var(--papel);
  cursor: pointer;
}
.opcao-decisao input { margin-top: 3px; }
.opcao-decisao span {
  grid-column: 2;
  color: var(--tinta-fraca);
  line-height: 1.4;
}

/* Gestão interna da biblioteca pública. */
.filtros-orientacoes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  gap: 10px; align-items: end;
}
.filtros-orientacoes .largo { grid-column: span 2; }
.filtros-orientacoes > .acoes-linha { align-self: end; justify-content: flex-start; }
.lista-orientacoes-internas { display: grid; gap: 10px; margin-top: 12px; }
.orientacao-interna-card { min-width: 0; border-left: 4px solid var(--azul); }
.orientacao-interna-card h3 { margin: 8px 0 2px; }
.orientacao-interna-card p { line-height: 1.5; overflow-wrap: anywhere; }
.ori-cartao-cabecalho { display:flex; flex-wrap:wrap; align-items:flex-start; gap:18px 24px; }
.ori-cartao-titulo { flex:1 1 420px; min-width:0; overflow-wrap:anywhere; }
.ori-cartao-cabecalho .ori-acoes-cartao { margin:0; gap:12px; flex:0 1 auto; align-self:center; }
.ori-abrir { background:none; border:0; padding:0; font:inherit; font-weight:700; color:var(--azul-interativo,var(--azul)); cursor:pointer; text-align:left; text-decoration:underline; text-underline-offset:3px; }
.ori-abrir:hover { color:var(--azul); }
.ori-abrir:focus-visible { outline:2px solid var(--azul); outline-offset:5px; border-radius:3px; }
.ori-dica-edicao { margin-top:14px; padding-top:10px; border-top:1px solid var(--linha); color:var(--tinta-fraca); font-size:12px; line-height:1.5; }
.ori-manter-arquivos { margin-top:20px; padding:16px; border:1px solid var(--linha); border-radius:10px; background:var(--superficie-secundaria); }
.ori-manter-arquivos .recuo { margin-top:8px; }
.ori-salvar-acoes { padding-top:12px; gap:12px; }
.ori-ficha-cabecalho .acoes-linha { gap:12px; }
.ori-outras-acoes { margin:16px 0; }
.ori-outras-acoes > summary { cursor:pointer; color:var(--tinta-fraca); }
.ori-outras-acoes .acoes-linha { gap:12px; }
@media(max-width:760px) {
  .ori-cartao-cabecalho .ori-acoes-cartao { flex:1 1 100%; }
  .ori-acoes-cartao > button { flex:1 1 auto; }
}
.formulario-orientacao {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px;
}
.formulario-orientacao .linha-inteira { grid-column: 1 / -1; min-width: 0; }
.formulario-anexo-orientacao {
  display: grid; grid-template-columns: minmax(170px, .8fr) minmax(220px, 1.2fr)
    minmax(260px, 2fr) auto auto; align-items: end; gap: 10px;
}
.conteudo-orientacao-interna {
  margin-top: 18px; padding: 18px; border: 1px solid var(--linha);
  border-radius: var(--raio); background: #fff; line-height: 1.6;
  overflow-wrap: anywhere;
}
.conteudo-orientacao-interna table {
  display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse;
}
.conteudo-orientacao-interna td,
.conteudo-orientacao-interna th { padding: 6px; border: 1px solid var(--linha); }

@media (max-width: 1050px) {
  .formulario-orientacao { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .formulario-anexo-orientacao { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .formulario-anexo-orientacao .largo { grid-column: auto; }
}
@media (max-width: 760px) {
  .filtros-orientacoes, .formulario-orientacao,
  .formulario-anexo-orientacao { grid-template-columns: minmax(0, 1fr); }
  .formulario-orientacao .linha-inteira { grid-column: auto; }
}

/* Portal público. A camada externa reutiliza a identidade visual, mas não
   expõe a navegação nem qualquer informação reservada do ambiente interno. */
.topo-publico { min-height: 66px; align-items: center; }
.topo-publico .acao-publica {
  display: inline-flex; align-items: center; min-height: 34px; padding: 6px 12px;
  margin-left: auto; color: #fff; border: 1px solid rgba(255,255,255,.45);
  border-radius: var(--raio); background: rgba(255,255,255,.08); text-decoration: none;
}
.portal-publico, .portal-orientacoes, .portal-pareceres, .verificacao-publica {
  width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 28px 0 50px;
}
.hero-publico {
  position: relative; overflow: hidden; padding: clamp(28px, 6vw, 64px);
  border-radius: 10px; color: #fff;
  background: linear-gradient(120deg, #143b61, #1f4d73 62%, #27725d);
  box-shadow: 0 12px 30px rgba(20,59,97,.16);
}
.hero-publico::after {
  content: ""; position: absolute; width: 310px; height: 310px;
  right: -110px; top: -150px; border-radius: 50%;
  border: 54px solid rgba(255,255,255,.07);
}
.hero-publico > div { position: relative; z-index: 1; max-width: 760px; }
.hero-publico h1 { margin: 7px 0 12px; font-size: clamp(28px, 5vw, 46px); line-height: 1.08; }
.hero-publico p { margin: 0; max-width: 720px; font-size: clamp(15px, 2vw, 19px); line-height: 1.55; color: #e8f0f6; }
.sobretitulo-publico {
  display: block; color: #cfe1ee; font-size: 12px; font-weight: 800;
  letter-spacing: .09em; text-transform: uppercase;
}
.grade-servicos-publicos {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px; margin: 20px 0;
}
.servico-publico {
  display: flex; min-width: 0; flex-direction: column; padding: 22px;
  border: 1px solid var(--linha); border-radius: 8px; background: #fff;
  color: var(--tinta); text-decoration: none; box-shadow: 0 5px 18px rgba(24,51,74,.06);
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.servico-publico:hover { transform: translateY(-2px); border-color: #7f9db6; box-shadow: 0 9px 25px rgba(24,51,74,.11); }
.servico-publico h2 { margin: 12px 0 7px; color: var(--azul); font-size: 19px; }
.servico-publico p { flex: 1; margin: 0 0 18px; line-height: 1.5; color: var(--tinta-fraca); }
.servico-publico > strong { color: var(--azul); }
.servico-icone {
  display: inline-grid; place-items: center; width: 40px; height: 40px;
  border-radius: 8px; background: #e7f0f7; color: var(--azul); font-size: 22px; font-weight: 800;
}
.nota-publica { line-height: 1.55; }
.formulario-publico-verificacao {
  display: grid; grid-template-columns: minmax(240px, 2fr) minmax(180px, 1fr) auto;
  gap: 10px; align-items: end; margin-top: 18px;
}
.formulario-publico-verificacao .acao { min-height: 34px; }

/* Conferência pública de processos. O resultado principal vem antes dos
   detalhes técnicos, seguindo a jornada curta dos serviços públicos. */
.pagina-autenticidade {
  min-height: 100vh; background:
    radial-gradient(circle at 85% 8%, rgba(55, 118, 101, .08), transparent 24rem),
    #eef3f7;
}
.autenticidade-publica { width: min(1040px, calc(100% - 32px)); }
.hero-autenticidade {
  display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr);
  gap: clamp(24px, 5vw, 58px); align-items: center;
  margin-bottom: 18px; padding: clamp(28px, 5vw, 52px);
  border-radius: 10px; color: #fff;
  background: linear-gradient(125deg, #153c60, #1f4d73 62%, #276c5b);
  box-shadow: 0 14px 34px rgba(20, 59, 97, .17);
}
.hero-autenticidade h1 {
  margin: 7px 0 12px; font-size: clamp(28px, 5vw, 43px); line-height: 1.08;
  letter-spacing: -.02em;
}
.hero-autenticidade p {
  margin: 0; max-width: 650px; color: #e8f1f6;
  font-size: clamp(15px, 2vw, 18px); line-height: 1.55;
}
.passos-conferencia { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.passos-conferencia li {
  display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 11px;
  align-items: center; padding: 11px 12px; border: 1px solid rgba(255,255,255,.18);
  border-radius: 7px; background: rgba(255,255,255,.08);
}
.passos-conferencia li > span, .numero-etapa-publica {
  display: grid; place-items: center; width: 30px; height: 30px;
  border-radius: 50%; background: #fff; color: #194566; font-weight: 800;
}
.passos-conferencia strong, .passos-conferencia small { display: block; }
.passos-conferencia small { margin-top: 2px; color: #dce9f1; line-height: 1.35; }
.cartao-consulta-publica { padding: clamp(20px, 4vw, 30px); box-shadow: 0 5px 18px rgba(24,51,74,.07); }
.cabecalho-consulta-publica {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 18px;
}
.cabecalho-consulta-publica h2 { margin: 4px 0 4px; font-size: 23px; color: var(--azul); }
.cabecalho-consulta-publica p { margin: 0; color: var(--tinta-fraca); line-height: 1.5; }
.sobretitulo-publico.escuro { color: #48657d; }
.selo-consulta-publica {
  flex: 0 0 auto; padding: 5px 9px; border: 1px solid #abd0bd;
  border-radius: 999px; background: #eef8f2; color: #17613b;
  font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em;
}
.cartao-consulta-publica .formulario-publico-verificacao {
  grid-template-columns: minmax(280px, 1.7fr) minmax(220px, 1fr) auto;
  gap: 14px; margin-top: 22px;
}
.cartao-consulta-publica .campo small {
  display: block; margin-top: 5px; color: var(--tinta-fraca); line-height: 1.35;
}
.codigo-publico-input {
  min-height: 42px; padding: 9px 11px; font-family: Consolas, "Courier New", monospace;
  letter-spacing: .025em; font-size: 13px;
}
.codigo-confirmacao-input { text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
.botao-conferencia {
  min-height: 42px !important; display: inline-flex; align-items: center;
  justify-content: center; gap: 7px; padding-inline: 17px; white-space: nowrap;
}
.botao-conferencia:disabled { cursor: wait; opacity: .78; }
.indicador-botao {
  display: inline-block; width: 15px; height: 15px; border: 2px solid currentColor;
  border-right-color: transparent; border-radius: 50%; animation: girar .75s linear infinite;
}
@keyframes girar { to { transform: rotate(360deg); } }
.ajuda-codigos-publicos {
  margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--linha);
}
.ajuda-codigos-publicos summary { cursor: pointer; color: var(--azul); font-weight: 700; }
.ajuda-codigos-publicos p { max-width: 820px; margin: 9px 0 0; line-height: 1.55; color: var(--tinta-fraca); }
.resultado-consulta-publica { scroll-margin-top: 18px; }
.resultado-conferencia {
  margin-top: 18px; padding: clamp(20px, 4vw, 32px);
  box-shadow: 0 8px 24px rgba(24,51,74,.08);
}
.resultado-status-publico {
  display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 15px; align-items: start;
}
.status-simbolo {
  display: grid; place-items: center; width: 46px; height: 46px;
  border-radius: 50%; font-size: 24px; font-weight: 900;
}
.status-simbolo.sucesso { color: #155b36; background: #e1f2e8; border: 1px solid #99d0af; }
.status-simbolo.falha { color: #861d25; background: #fde9ea; border: 1px solid #e6abb0; }
.resultado-status-publico h2 { margin: 3px 0 5px; color: var(--azul); font-size: 25px; }
.resultado-status-publico p { max-width: 800px; margin: 0; line-height: 1.5; }
.consulta-realizada { display: block; margin-top: 7px; color: var(--tinta-fraca); font-size: 12px; }
.resumo-verificacao-publica {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px; margin: 22px 0; overflow: hidden;
  border: 1px solid var(--linha); border-radius: 7px; background: var(--linha);
}
.resumo-verificacao-item { min-width: 0; padding: 13px 14px; background: #f8fafb; }
.resumo-verificacao-item span, .resumo-verificacao-item strong { display: block; }
.resumo-verificacao-item span { color: var(--tinta-fraca); font-size: 11px; text-transform: uppercase; letter-spacing: .035em; }
.resumo-verificacao-item strong { margin-top: 5px; overflow-wrap: anywhere; font-size: 14px; }
.resumo-verificacao-item.destaque { background: #edf5fa; }
.resumo-verificacao-item.destaque strong { color: var(--azul); }
.grade-conferencia-publica {
  display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 28px;
  align-items: center; padding: 18px; border: 1px solid #d5e0e8;
  border-radius: 7px; background: #fbfcfd;
}
.dados-principais-conferencia h3 { margin: 0 0 12px; color: var(--azul); }
.dados-conferencia-publica {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px; margin: 0;
}
.dado-conferencia-publica { min-width: 0; padding-bottom: 8px; border-bottom: 1px solid #e5ebf0; }
.dado-conferencia-publica dt { color: var(--tinta-fraca); font-size: 11px; text-transform: uppercase; letter-spacing: .03em; }
.dado-conferencia-publica dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.externo-destinatario { border: 1px solid var(--linha); border-radius: 8px; padding: 14px; margin: 16px 0; min-width: 0; }
#dialogAutosPublicos form { gap: 12px; }
#dialogAutosPublicos form > p { margin: 4px 0; }
#dialogAutosPublicos { box-sizing: border-box; }
#dialogAutosPublicos .externo-dialog-topo { position: sticky; top: -24px; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; margin: -16px 0 12px; background: var(--papel, #fff); }
#dialogAutosPublicos .externo-dialog-topo h2 { min-width: 0; overflow-wrap: anywhere; }
#dialogAutosPublicos .externo-fechar { flex: 0 0 40px; width: 40px; height: 40px; padding: 0; font-size: 24px; line-height: 1; }
@media(max-width:500px){#dialogAutosPublicos .externo-dialog-topo {top:-16px;}}
.externo-grade { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.externo-destinatario legend { padding: 0 6px; font-weight: 600; }
#dialogAutosPublicos .externo-alcance .rotulo-checkbox { display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; }
#dialogAutosPublicos .externo-alcance input[type="checkbox"] { flex: 0 0 16px; width: 16px; height: 16px; margin: 3px 0 0; }
#dialogAutosPublicos .externo-alcance > small { display: block; margin: 8px 0 0 26px; color: var(--tinta-fraca); }
#dialogAutosPublicos .externo-alcance > p { margin: 14px 0 0; }
.externo-pessoa { border: 1px solid var(--linha); border-radius: 8px; padding: 12px; margin: 12px 0; overflow-wrap: anywhere; }
.externo-pessoa p { margin: 8px 0; }
.externo-novo { margin: 16px 0; }
@media (max-width: 560px) { .externo-grade { grid-template-columns: 1fr; } }
.acoes-link-publico { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.acoes-link-publico a.acao {
  display: inline-flex; align-items: center; min-height: 34px; padding: 5px 12px;
  border: 1px solid var(--linha); border-radius: var(--raio);
  background: var(--papel); color: var(--tinta); font-size: 12.5px;
  text-decoration: none;
}
.acoes-link-publico a.acao:hover { background: var(--azul-claro); border-color: #b9c8d6; }
.acoes-link-publico a.acao.principal {
  color: #fff; border-color: var(--azul); background: var(--azul);
}
.acoes-link-publico a.acao.principal:hover { background: #2c4b66; }
.qr-processo-publico { display: grid; place-items: center; min-height: 176px; }
.qr-link-publico { display: block; color: var(--azul); text-align: center; text-decoration: none; }
.qr-link-publico img {
  width: 154px; height: 154px; padding: 5px; border: 1px solid var(--linha);
  border-radius: 5px; background: #fff;
}
.qr-link-publico span { display: block; margin-top: 5px; font-size: 11px; font-weight: 700; }
.qr-carregando { color: var(--tinta-fraca); font-size: 12px; text-align: center; }
.conferir-arquivo-publico {
  display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 13px;
  margin-top: 20px; padding: 18px; border: 1px solid #d4e0e8;
  border-radius: 7px; background: #f7fafc;
}
.conferir-arquivo-publico .numero-etapa-publica { background: var(--azul); color: #fff; }
.conferir-arquivo-publico h3 { margin: 0 0 5px; color: var(--azul); }
.conferir-arquivo-publico p { max-width: 780px; margin: 0 0 12px; line-height: 1.5; color: var(--tinta-fraca); }
.seletor-arquivo-publico { display: block; margin-bottom: 5px; font-weight: 700; }
.conferir-arquivo-publico input[type="file"] {
  width: 100%; max-width: 680px; padding: 8px; border: 1px solid var(--linha);
  border-radius: 4px; background: #fff;
}
.mensagem-peca { margin-top: 10px; padding: 10px 12px; border-left: 4px solid; line-height: 1.45; }
.mensagem-peca strong, .mensagem-peca span { display: block; }
.mensagem-peca.sucesso { color: #174d31; border-color: var(--verde); background: var(--verde-claro); }
.mensagem-peca.falha { color: #7d1e25; border-color: var(--vermelho); background: var(--vermelho-claro); }
.dados-tecnicos-publicos { margin-top: 20px; border-top: 1px solid var(--linha); padding-top: 16px; }
.dados-tecnicos-publicos > summary { cursor: pointer; color: var(--azul); font-weight: 700; }
.carregando-publico {
  display: flex; align-items: center; justify-content: center; gap: 13px;
  min-height: 92px; margin-top: 18px; border: 1px solid var(--linha);
  border-radius: 7px; background: #fff;
}
.carregando-publico strong, .carregando-publico small { display: block; }
.carregando-publico small { margin-top: 3px; color: var(--tinta-fraca); }
.nota-limite-conferencia { margin-top: 18px; border-left-color: #7892a7; background: #f7fafc; }
.rodape-publico {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px;
  width: min(1040px, calc(100% - 32px)); margin: 0 auto; padding: 18px 0 32px;
  border-top: 1px solid #cad5de; color: var(--tinta-fraca); font-size: 12px;
}
.rodape-publico a { color: var(--azul); }
.mono.quebra, .quebra { overflow-wrap: anywhere; word-break: break-word; }
.tabela-responsiva { max-width: 100%; overflow-x: auto; }
.tabela-responsiva table { min-width: 760px; }
.hero-orientacoes { padding-top: 42px; padding-bottom: 42px; }
.categorias-publicas {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  margin-top: 16px; padding: 0 0 18px; border-bottom: 1px solid var(--linha);
}
.categorias-publicas .acao { white-space: normal; text-align: center; }
.categorias-publicas [aria-current="page"] {
  background: var(--azul); color: #fff; border-color: var(--azul); font-weight: 700;
}
.categorias-publicas .acao:focus-visible { outline: 3px solid var(--azul); outline-offset: 3px; }
.filtros-publicos {
  display: grid; grid-template-columns: repeat(4, minmax(155px, 1fr));
  gap: 10px; align-items: end; margin-top: 18px;
}
.filtros-publicos .largo { grid-column: span 2; }
.filtros-publicos .opcao-linha { align-self: center; margin: 0 4px 7px 0; }
.filtros-publicos-acoes { align-self: end; justify-content: flex-start; }
.resultado-publico-contagem { margin: 8px 0 12px; color: var(--tinta-fraca); }
.lista-orientacoes-publicas { display: grid; gap: 12px; }
.orientacao-publica-card {
  min-width: 0; padding: 20px 22px; border: 1px solid var(--linha);
  border-left: 4px solid var(--azul); border-radius: 7px; background: #fff;
}
.orientacao-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; color: var(--tinta-fraca); font-size: 12px; }
.orientacao-publica-card h2 { margin: 10px 0 2px; font-size: 18px; }
.orientacao-publica-card h2 a { color: var(--azul); }
.orientacao-publica-card h3 { margin: 2px 0 8px; font-size: 16px; }
.orientacao-publica-card p { margin: 0; line-height: 1.5; }
.orientacao-rodape { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-top: 14px; color: var(--tinta-fraca); }
.orientacao-publica-detalhe { padding: clamp(20px, 4vw, 42px); }
.orientacao-publica-detalhe > h1 { margin: 8px 0 10px; font-size: clamp(25px, 4vw, 38px); color: var(--azul); }
.orientacao-cabecalho-publico { display: grid; grid-template-columns: minmax(0,1fr) 180px; gap: 28px; align-items: start; }
.orientacao-cabecalho-publico h1 { margin: 8px 0 10px; font-size: clamp(25px,4vw,38px); color: var(--azul); }
.orientacao-verificador { display: grid; gap: 7px; justify-items: center; padding: 12px; border: 1px solid var(--linha); border-radius: 8px; text-align: center; background: #fff; }
.orientacao-verificador img { width: 144px; height: 144px; }
.orientacao-verificador small { line-height: 1.35; color: var(--tinta-fraca); }
.orientacao-conferencia input { display: block; margin: 12px 0; max-width: 100%; }
.ementa-publica { padding: 14px 16px; border-left: 3px solid #d49a17; background: #fff8e8; line-height: 1.55; }
.conteudo-orientacao-publica { margin-top: 24px; line-height: 1.65; font-size: 15px; }
.conteudo-orientacao-publica table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.conteudo-orientacao-publica td, .conteudo-orientacao-publica th { padding: 6px; border: 1px solid var(--linha); }
.documentos-publicos { margin: 0; padding: 0; list-style: none; }
.documentos-publicos li {
  display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center;
  gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--linha);
}
.documentos-publicos small, .documentos-publicos span { display: block; margin-top: 3px; color: var(--tinta-fraca); }

/* Catálogo externo de pareceres. A classificação de acesso não aparece como
   dado sensível: itens restritos simplesmente não chegam a esta camada. */
.hero-pareceres { background: linear-gradient(120deg, #143b61, #224d72 58%, #356956); }
.aviso-acesso-pareceres { margin: 18px 0 0; }
.filtros-pareceres-publicos { grid-template-columns: repeat(4, minmax(165px, 1fr)); }
.lista-pareceres-publicos { display: grid; gap: 12px; }
.parecer-publico-card {
  min-width: 0; padding: 20px 22px; border: 1px solid var(--linha);
  border-left: 4px solid var(--azul); border-radius: 8px; background: var(--papel);
  box-shadow: 0 4px 16px rgba(24,51,74,.045);
}
.parecer-publico-topo, .parecer-publico-rodape, .parecer-detalhe-cabecalho {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 14px;
}
.parecer-publico-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; color: var(--tinta-fraca); font-size: 12px; }
.parecer-publico-card h2 { margin: 12px 0 8px; font-size: 19px; }
.parecer-publico-card h2 a { color: var(--azul); }
.resumo-objeto-parecer { margin: 0; color: var(--tinta); line-height: 1.55; }
.resumo-objeto-parecer.destaque { max-width: 850px; margin-top: 12px; font-size: 16px; }
.parecer-publico-rodape {
  flex-wrap: wrap; justify-content: flex-start; margin-top: 15px; padding-top: 12px;
  border-top: 1px solid var(--linha); color: var(--tinta-fraca); font-size: 11.5px;
}
.parecer-publico-rodape span:last-child { margin-left: auto; }
.selo-resultado-parecer {
  display: inline-flex; align-items: center; max-width: 520px; padding: 5px 8px;
  border: 1px solid var(--linha); border-radius: 6px; font-size: 10.5px;
  font-weight: 750; line-height: 1.35; text-transform: uppercase;
}
.selo-resultado-parecer.resultado-viavel { color: var(--verde); border-color: var(--verde-borda); background: var(--verde-claro); }
.selo-resultado-parecer.resultado-ressalvas { color: var(--ambar); border-color: var(--ambar-borda); background: var(--ambar-claro); }
.selo-resultado-parecer.resultado-inviavel { color: var(--vermelho); border-color: var(--vermelho-borda); background: var(--vermelho-claro); }
.selo-resultado-parecer.resultado-neutro { color: var(--tinta-fraca); background: var(--superficie-secundaria); }
.paginacao-publica {
  display: flex; align-items: center; justify-content: center; gap: 14px;
  margin-top: 18px; color: var(--tinta-fraca);
}
.parecer-publico-detalhe { padding: clamp(20px, 4vw, 42px); }
.parecer-publico-detalhe h1 { margin: 7px 0 0; color: var(--azul); font-size: clamp(26px, 4vw, 38px); }
.parecer-detalhe-cabecalho > div:first-child { min-width: 0; }
.bloco-download-parecer {
  flex: 0 0 min(310px, 34%); display: grid; justify-items: stretch; gap: 10px;
  padding: 16px; border: 1px solid var(--linha); border-radius: 8px;
  background: var(--superficie-secundaria);
}
.bloco-download-parecer .selo-resultado-parecer { justify-content: center; text-align: center; }
.bloco-download-parecer .acao { display: inline-flex; justify-content: center; text-decoration: none; }
.bloco-download-parecer small { color: var(--tinta-fraca); text-align: center; }
.dados-parecer-publico {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px; margin: 24px 0 0; overflow: hidden; border: 1px solid var(--linha);
  border-radius: 8px; background: var(--linha);
}
.dado-parecer-publico { min-width: 0; padding: 12px 13px; background: var(--superficie-secundaria); }
.dado-parecer-publico dt { color: var(--tinta-fraca); font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .035em; }
.dado-parecer-publico dd { margin: 5px 0 0; overflow-wrap: anywhere; }
.parecer-publico-detalhe .ementa-publica strong, .parecer-publico-detalhe .ementa-publica p { display: block; }
.parecer-publico-detalhe .ementa-publica p { margin: 7px 0 0; }
.bloco-hash-parecer { display: grid; gap: 6px; margin-top: 12px; padding: 12px; border-radius: 7px; background: var(--superficie-secundaria); }
.atos-relacionados-publicos { margin: 0; padding: 0; list-style: none; }
.atos-relacionados-publicos li {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center;
  gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--linha);
}
.atos-relacionados-publicos li > div { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 10px; }
.atos-relacionados-publicos small { flex-basis: 100%; color: var(--tinta-fraca); }
.atos-relacionados-publicos li > section { grid-column: 1 / -1; min-width: 0; }
.elementos-parecer {
  display: grid; gap: 14px; padding: 16px; margin: 12px 0;
  border: 1px solid var(--linha); border-radius: var(--raio-grande);
  background: var(--superficie-secundaria); min-width: 0;
}
.elementos-parecer > legend { padding: 0 6px; font-weight: 700; }
.elementos-parecer > p { margin: 0; line-height: 1.5; }
.elementos-parecer > .rotulo-checkbox { display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; }
.elementos-parecer > .rotulo-checkbox input { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 3px; }
.elemento-parecer { padding: 14px; margin-top: 12px; border: 1px solid var(--linha); border-radius: 8px; background: var(--papel); min-width: 0; }
.elemento-parecer .cabecalho-tela { gap: 12px; flex-wrap: wrap; }
.elemento-parecer [draggable] { cursor: grab; padding: 8px; }
.elemento-parecer .caminho { display: block; overflow-wrap: anywhere; margin-top: 8px; }
.elemento-parecer .formulario { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) minmax(0, 1fr); }
.elemento-parecer .formulario > .campo { grid-column: auto; width: auto; max-width: none; }
.elemento-parecer .formulario > .linha-inteira { grid-column: 1 / -1; }
@media (max-width: 720px) {
  .elemento-parecer .formulario { grid-template-columns: minmax(0, 1fr); }
  .elementos-parecer { padding: 12px; }
}
fieldset.acesso-publicacao {
  display: grid; gap: 12px; padding: 14px; border: 1px solid var(--linha);
  border-radius: var(--raio-grande); background: var(--superficie-secundaria);
}
.acesso-publicacao > legend { padding: 0 6px; color: var(--tinta); font-weight: 750; }
.opcoes-acesso-publicacao { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.acesso-publicacao .opcoes-acesso-publicacao > label {
  display: grid; grid-template-columns: 16px minmax(0, 1fr); align-items: start;
  gap: 10px; min-width: 0; padding: 12px;
  border: 1px solid var(--linha); border-radius: 8px; background: var(--papel); cursor: pointer;
  color: var(--tinta); font-size: 13px; line-height: 1.45;
  text-transform: none; letter-spacing: 0; font-weight: 400;
}
.opcoes-acesso-publicacao > label:hover { border-color: var(--azul); }
.opcoes-acesso-publicacao > label:has(input:checked) {
  border-color: var(--azul); background: var(--azul-claro);
}
.opcoes-acesso-publicacao > label:focus-within {
  outline: 2px solid var(--foco); outline-offset: 2px;
}
.opcoes-acesso-publicacao input[type="radio"] { margin-top: 2px; }
.opcoes-acesso-publicacao span, .opcoes-acesso-publicacao small { display: block; min-width: 0; }
.opcoes-acesso-publicacao small {
  margin-top: 4px; color: var(--tinta-fraca); font-size: 12px; font-weight: 400; line-height: 1.4;
}
.campos-restricao-publicacao { grid-template-columns: minmax(220px, .7fr) minmax(340px, 1.3fr); align-items: start; }
.campos-restricao-publicacao[hidden] { display: none; }
.campos-restricao-publicacao textarea { min-height: 84px; }
.publicacoes-externas-gestao { margin-bottom: 22px; }
.filtros-publicacoes-externas { margin: 14px 0; }
.resumo-publicacoes-externas { margin-bottom: 12px; }
.titulo-secao-acompanhamento { margin: 26px 0 12px; }
.titulo-secao-acompanhamento h3 { margin: 0; color: var(--azul); }
.titulo-secao-acompanhamento p { margin: 4px 0 0; color: var(--tinta-fraca); }
.formulario-reclassificacao-publicacao { display: grid; gap: 12px; margin: 14px 0; }
.formulario-reclassificacao-publicacao .formulario { align-items: start; }
.formulario-reclassificacao-publicacao textarea { min-height: 84px; }
.formulario-reclassificacao-publicacao .ape-restricao[hidden] { display: none; }

@media (max-width: 900px) {
  .grade-servicos-publicos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filtros-publicos { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .filtros-publicos .largo { grid-column: 1 / -1; }
  .hero-autenticidade { grid-template-columns: minmax(0, 1fr); }
  .passos-conferencia { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .passos-conferencia li { align-items: start; grid-template-columns: minmax(0, 1fr); }
  .resumo-verificacao-publica { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cartao-consulta-publica .formulario-publico-verificacao {
    grid-template-columns: minmax(0, 1.5fr) minmax(210px, 1fr);
  }
  .cartao-consulta-publica .botao-conferencia { grid-column: 1 / -1; justify-self: start; }
  .filtros-pareceres-publicos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .opcoes-acesso-publicacao, .campos-restricao-publicacao { grid-template-columns: minmax(0, 1fr); }
  .parecer-detalhe-cabecalho { flex-direction: column; }
  .bloco-download-parecer { width: 100%; max-width: 520px; }
  .dados-parecer-publico { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .orientacao-cabecalho-publico { grid-template-columns: minmax(0,1fr); }
  .orientacao-verificador { justify-self: start; }
  .portal-publico, .portal-orientacoes, .portal-pareceres, .verificacao-publica { width: min(100% - 20px, 1180px); padding-top: 14px; }
  .topo-publico { padding: 10px; flex-wrap: wrap; }
  .formulario-publico-verificacao, .filtros-publicos { grid-template-columns: minmax(0,1fr); }
  .filtros-publicos .largo { grid-column: auto; }
  .filtros-orientacoes .largo { grid-column: auto; }
  .documentos-publicos li { grid-template-columns: minmax(0,1fr); }
  .documentos-publicos .acao { justify-self: start; }
  .hero-autenticidade { padding: 24px 20px; }
  .passos-conferencia { grid-template-columns: minmax(0, 1fr); }
  .passos-conferencia li { grid-template-columns: 32px minmax(0, 1fr); }
  .cabecalho-consulta-publica { flex-direction: column; }
  .cartao-consulta-publica .formulario-publico-verificacao {
    grid-template-columns: minmax(0, 1fr);
  }
  .cartao-consulta-publica .botao-conferencia { grid-column: auto; width: 100%; }
  .resultado-status-publico { grid-template-columns: 38px minmax(0, 1fr); gap: 11px; }
  .status-simbolo { width: 38px; height: 38px; font-size: 20px; }
  .resultado-status-publico h2 { font-size: 21px; }
  .resumo-verificacao-publica { grid-template-columns: minmax(0, 1fr); }
  .grade-conferencia-publica { grid-template-columns: minmax(0, 1fr); padding: 14px; }
  .dados-conferencia-publica { grid-template-columns: minmax(0, 1fr); }
  .qr-processo-publico { justify-items: start; }
  .conferir-arquivo-publico { grid-template-columns: minmax(0, 1fr); }
  .rodape-publico { width: min(100% - 20px, 1040px); }
  .grade-servicos-publicos, .filtros-pareceres-publicos,
  .dados-parecer-publico { grid-template-columns: minmax(0, 1fr); }
  .parecer-publico-topo { flex-direction: column; }
  .parecer-publico-rodape span:last-child { margin-left: 0; }
  .paginacao-publica { flex-wrap: wrap; }
  .atos-relacionados-publicos li { grid-template-columns: minmax(0, 1fr); }
  .atos-relacionados-publicos .acao { justify-self: start; }
}

/* ---------- sistema visual 3.59 ---------- */

html { background: var(--fundo); }
body {
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.42;
  background: var(--fundo); color: var(--tinta);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
a { color: var(--azul-interativo); text-underline-offset: 2px; }
a:hover { text-decoration-thickness: 2px; }

.topo {
  gap: 20px; min-height: 58px; padding: 9px 18px;
  background: var(--nav-fundo); box-shadow: 0 1px 0 rgba(255,255,255,.08);
}
.marca strong { font-size: 20px; font-weight: 760; letter-spacing: -.02em; }
.marca span { opacity: .78; }
.busca-topo input {
  min-height: 38px; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.98);
  box-shadow: inset 0 1px 1px rgba(16,24,40,.04);
}
.busca-topo button {
  min-height: 38px; border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.12);
  font-weight: 650;
}
.busca-topo button:hover { background: rgba(255,255,255,.2); }
.usuario-topo { gap: 7px; }
.usuario-topo > button { min-height: 32px; padding: 5px 9px; border-radius: 7px; }
.usuario-topo .tema-topo {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-width: 78px; color: #f2f6fa; border-color: rgba(255,255,255,.3);
}
.tema-icone { width: 16px; font-size: 16px; line-height: 1; }
.tema-rotulo { font-size: 11.5px; font-weight: 650; }
.menu-usuario > summary { min-height: 36px; padding: 4px 8px; border-radius: 8px; }
.menu-usuario-painel {
  padding: 8px; border-color: var(--linha); border-radius: var(--raio-grande);
  background: var(--superficie-elevada); box-shadow: var(--sombra-elevada); color: var(--tinta);
}

.navegacao-sistema { background: var(--nav-secundario); box-shadow: 0 4px 16px rgba(14,35,53,.1); }
.abas { gap: 2px; padding-inline: 18px; background: var(--nav-secundario); }
.abas button { min-height: 43px; padding: 10px 16px; border-bottom-width: 3px; }
.abas button:hover { background: rgba(255,255,255,.08); }
.navegacao-secundaria {
  min-height: 42px; padding-inline: 18px; border-bottom-color: var(--linha);
  background: color-mix(in srgb, var(--papel) 94%, transparent);
}
.grupo-secundario button { min-height: 41px; padding: 9px 14px; }
.grupo-secundario button:hover { background: var(--azul-claro); }

main { padding: 22px clamp(12px, 2vw, 28px) 72px; max-width: 1740px; }
h2 { font-size: 18px; letter-spacing: -.015em; }
h3 { font-size: 14px; letter-spacing: -.005em; }
.cabecalho-tela { gap: 18px; margin-bottom: 16px; }
.cabecalho-tela h2, .cabecalho-tela h3 { margin-bottom: 4px; }
.recuo { line-height: 1.45; }

.cartao {
  padding: 17px 18px; border-color: var(--linha); border-radius: var(--raio-grande);
  background: var(--papel); box-shadow: var(--sombra-suave);
}
.cartao + .cartao { margin-top: 14px; }
.cartao-topo {
  align-items: flex-start; gap: 10px 18px; margin-bottom: 14px; padding-bottom: 12px;
  border-bottom-color: var(--linha);
}
.cartao-topo h3 { line-height: 1.3; }
.cartao-interno {
  padding: 14px; border-radius: var(--raio); background: var(--superficie-secundaria);
}
.sub-abas {
  display: flex; flex-wrap: nowrap; gap: 6px; max-width: 100%; margin-bottom: 18px;
  overflow-x: auto; overflow-y: hidden; border-bottom-width: 1px;
  scrollbar-width: thin; scrollbar-color: var(--linha) transparent;
}
.sub-abas button {
  flex: 0 0 auto; min-height: 42px; padding: 10px 14px 9px; border-radius: 8px 8px 0 0;
  transition: background-color .14s ease, color .14s ease, border-color .14s ease;
}
.sub-abas button:hover { background: var(--azul-claro); color: var(--azul); }
.sub-abas button.ativa { border-bottom-width: 3px; font-weight: 700; }
.sub-abas-protocolo { flex-wrap: wrap; }

button.acao, .botao, a.acao {
  min-height: 34px; padding: 6px 12px; border-radius: 8px;
  transition: background-color .14s ease, border-color .14s ease, color .14s ease,
    box-shadow .14s ease, transform .08s ease;
}
button.acao:hover, .botao:hover, a.acao:hover { border-color: color-mix(in srgb, var(--azul) 38%, var(--linha)); }
button.acao:active, .botao:active, a.acao:active { transform: translateY(1px); }
button.acao.principal { background: #245b85; border-color: #245b85; font-weight: 650; }
button.acao.principal:hover { background: #194b72; border-color: #194b72; }
button.acao.discreta { min-height: 28px; padding: 3px 5px; color: var(--azul-interativo); }

.campo { gap: 5px; }
.campo label { font-size: 10.5px; font-weight: 650; letter-spacing: .045em; }
/* Uma unica faixa de rotulo por campo. A ajuda nao acrescenta margem e o
   aprimoramento progressivo iguala a altura real dos rotulos na mesma linha.
   Checkboxes, radios e o editor conservam seus componentes proprios. */
.campo:not(.campo-acao-anexo) > label:not(:has(input, select, textarea)):not([hidden]),
.campo:not(.campo-acao-anexo) > .rotulo-com-ajuda:not([hidden]) {
  display: flex; align-items: center; min-height: var(--altura-rotulo, 22px);
  margin: 0; line-height: 1.35; flex-shrink: 0;
}
.campo > .rotulo-com-ajuda > label { line-height: 1.35; }
.campo .seletor-pesquisavel > .lupa-menu { min-height: 36px; border-radius: 8px; }
.campo > .responsavel-distribuicao { min-height: 36px; gap: 8px 12px; }
.filtros > button.acao { min-height: 36px; }
.campo select, .campo input:where(:not([type="checkbox"], [type="radio"])), .campo textarea,
.editor-rico-barra button, .editor-rico-barra select, .editor-rico-cor {
  min-height: 36px; padding: 7px 9px; border-color: var(--linha); border-radius: 8px;
  background: var(--superficie-elevada); color: var(--tinta);
  box-shadow: inset 0 1px 1px rgba(16,24,40,.025);
}
.campo textarea { line-height: 1.5; }
.campo select:disabled, .campo input:disabled, .campo textarea:disabled {
  opacity: 1; color: var(--tinta-fraca); background: var(--superficie-terciaria);
}
.campo input::placeholder, .campo textarea::placeholder { color: color-mix(in srgb, var(--tinta-fraca) 78%, transparent); }
.campo input[type="file"] { padding: 3px 4px; }
input[type="file"]::file-selector-button {
  vertical-align: middle;
  min-height: 27px; margin-right: 8px; padding: 4px 10px; border: 1px solid var(--linha);
  border-radius: 6px; background: var(--superficie-secundaria); color: var(--tinta); cursor: pointer;
}
.formulario { gap: 14px; }
.filtros { gap: 12px; padding: 14px; border-radius: var(--raio-grande); box-shadow: var(--sombra-suave); }
.lupa-menu, .botao-copiar, .ordem-arrastavel-botao {
  border-color: var(--linha); background: var(--superficie-elevada); color: var(--azul-interativo);
}
.pesquisa-menu-painel { background: var(--superficie-secundaria); }
.pesquisa-menu-opcao { color: var(--tinta); }
.pesquisa-menu-opcao:hover, .pesquisa-menu-opcao.selecionada { background: var(--azul-claro); color: var(--azul); }

table { line-height: 1.4; }
th { padding: 8px 10px; font-size: 10.5px; letter-spacing: .055em; }
td { padding: 10px; border-bottom-color: var(--linha); }
tbody tr { transition: background-color .12s ease; }
tbody tr:hover { background: var(--superficie-secundaria); }
.rolagem { scrollbar-color: color-mix(in srgb, var(--tinta-fraca) 45%, transparent) transparent; }
.rolagem-muito-larga th, .rolagem-muito-larga td:first-child { background: var(--papel); }
.rolagem-muito-larga tbody tr:hover td:first-child { background: var(--superficie-secundaria); }

.etiqueta, .status-juridico, .status-publicacao, .lacre-oficial {
  display: inline-flex; align-items: center; gap: 6px; width: fit-content; max-width: 100%;
  min-height: 23px; padding: 3px 9px; border: 1px solid transparent; border-radius: 4px;
  font-size: 10.5px; font-weight: 750; line-height: 1.25; letter-spacing: .01em;
  white-space: normal;
}
.status-juridico::before, .status-publicacao::before {
  content: ""; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: currentColor;
}
.status-viavel { color: var(--verde); background: var(--verde-claro); border-color: var(--verde-borda); }
.status-ressalvas { color: var(--ambar); background: var(--ambar-claro); border-color: var(--ambar-borda); }
.status-inviavel { color: var(--vermelho); background: var(--vermelho-claro); border-color: var(--vermelho-borda); }
.status-andamento { color: var(--azul); background: var(--azul-claro); border-color: color-mix(in srgb, var(--azul) 26%, transparent); }
.status-neutro { color: var(--tinta-fraca); background: var(--superficie-terciaria); border-color: var(--linha); }
.status-informativo { color: var(--roxo); background: var(--roxo-claro); border-color: color-mix(in srgb, var(--roxo) 30%, transparent); }
.status-publicacao-lacrado { color: var(--verde); background: var(--verde-claro); border-color: var(--verde-borda); }
.status-publicacao-pendente { color: var(--ambar); background: var(--ambar-claro); border-color: var(--ambar-borda); }
.marca-atencao { margin-top: 4px; padding: 3px 8px; border-color: var(--ambar-borda); border-radius: 7px; line-height: 1.35; }

.nota {
  padding: 11px 13px; border-radius: 0 8px 8px 0;
  background: var(--azul-claro); border-left-color: var(--azul); line-height: 1.5;
}
.nota.atencao { background: var(--ambar-claro); border-left-color: var(--ambar); }
.alerta-item { border-radius: 0 8px 8px 0; }
.vazio { padding: 28px 18px; }

/* Ritmo do painel. Grades não herdam margens de cartões adjacentes e cada
   bloco conserva a altura exigida pelo próprio conteúdo. */
.grade > .cartao + .cartao,
.indicadores > .cartao + .cartao { margin-top: 0; }
.painel-conteudo {
  display: grid; gap: 20px; min-width: 0;
}
.painel-conteudo > * { margin-block: 0 !important; }
.painel-dia { padding: 19px 20px; }
.painel-dia-corpo { margin-top: 0; }
.painel-dia-corpo > .grade { gap: 14px; }
.painel-dia .contencioso-dia {
  padding: 14px; border-color: color-mix(in srgb, var(--linha) 82%, transparent);
  background: var(--superficie-secundaria); box-shadow: none;
}
.painel-dia .contencioso-dia > .cartao-topo { margin-bottom: 12px; }
.painel-dia .fila-contencioso {
  box-shadow: none; background: var(--papel);
}
.painel-dia .fila-contencioso .vazio { padding: 20px 14px; }
.painel-gestao-resumo {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px;
  min-height: 48px;
}
.painel-gestao-acao { flex: 0 0 auto; margin-left: auto; }
.painel-indicadores { gap: 14px; }
.painel-indicadores .indicador {
  display: grid; place-content: center; min-height: 82px; padding: 14px 12px;
}
.painel-pendencias { min-width: 0; }
.painel-pendencias > .cartao { margin: 0; }
.painel-grade-secundaria {
  grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 16px;
}
.painel-grade-secundaria.painel-grade-heranca {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.painel-grade-secundaria > .cartao { width: 100%; }
.painel-grade-secundaria .vazio { min-height: 58px; padding: 20px 14px; }

/* Mostrar e esconder usa um controle discreto com contraste próprio. */
.resumo-recolhivel {
  display: inline-flex; align-items: center; justify-content: flex-end;
  gap: 9px; margin-left: auto; white-space: nowrap;
}
.alternador-recolhivel::after,
.grupo-emitidos .alternador-lista::after,
.alternador-saude::after {
  content: "Esconder"; display: inline-flex; align-items: center; justify-content: center;
  min-width: 64px; min-height: 26px; margin: 0; padding: 3px 9px;
  border: 1px solid var(--recolhivel-borda); border-radius: 999px;
  background: var(--recolhivel-fundo); color: var(--recolhivel-tinta);
  font-size: 11px; font-weight: 700; line-height: 1; text-align: center;
}
details:not([open]) > summary .alternador-recolhivel::after,
.grupo-emitidos:not([open]) .alternador-lista::after,
.triagem-saude:not([open]) .alternador-saude::after { content: "Mostrar"; }
details.bloco-recolhivel > summary,
details.fila-contencioso > summary { list-style: none; }
details.bloco-recolhivel > summary::-webkit-details-marker,
details.fila-contencioso > summary::-webkit-details-marker { display: none; }
details.bloco-recolhivel:not([open]) > summary,
details.fila-contencioso:not([open]) > summary {
  margin-bottom: 0; padding-bottom: 0; border-bottom-color: transparent;
}
html[data-tema="escuro"] details.bloco-recolhivel > summary,
html[data-tema="escuro"] details.fila-contencioso > summary,
html[data-tema="escuro"] .triagem-saude > summary { color: var(--tinta); }

/* O resultado atual e o histórico recebem hierarquia própria. */
.classificacao-juridica { position: relative; overflow: hidden; }
.classificacao-juridica::before {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--azul);
}
.classificacao-viavel::before { background: var(--verde); }
.classificacao-ressalvas::before { background: var(--ambar); }
.classificacao-inviavel::before { background: var(--vermelho); }
.classificacao-andamento::before { background: var(--azul); }
.classificacao-juridica-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.ciclo-juridico { padding-bottom: 8px; }
.publicacao-detalhe { max-width: 260px; color: var(--tinta-fraca); font-size: 11px; overflow-wrap: anywhere; }
.link-download-ato { align-self: flex-end; }
.rotulo-metadado {
  display: block; margin-bottom: 6px; color: var(--tinta-fraca); font-size: 10px;
  font-weight: 700; letter-spacing: .055em; text-transform: uppercase;
}
.resultado-juridico { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.motivo-resultado {
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 5px 8px;
  max-width: 100%; padding: 7px 9px; border-radius: 7px;
  background: var(--ambar-claro); color: var(--ambar); font-size: 11.5px;
}
.motivo-resultado strong { font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.motivo-resultado span, .detalhe-resultado, .providencia-ato { overflow-wrap: anywhere; }
.detalhe-resultado { color: var(--tinta-fraca); font-size: 11.5px; line-height: 1.45; }
.providencia-ato { font-size: 12.5px; line-height: 1.5; }
.resultado-ciclo-lista { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; padding-block: 3px; }

/* Árvore genealógica das manifestações. O traçado representa somente os
   vínculos persistidos; a posição visual nunca cria parentesco por inferência. */
.arvore-manifestacoes-controles {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end;
  gap: 8px; margin-left: auto;
}
.arvore-manifestacoes { min-width: 0; margin-top: 14px; }
.arvore-manifestacoes ol { margin: 0; padding: 0; list-style: none; }
.arvore-manifestacoes-raizes { display: grid; gap: 14px; }
.arvore-manifestacao-item { min-width: 0; }
.arvore-manifestacoes-filhos {
  display: grid; gap: 0; margin: 0 0 0 25px !important;
}
.arvore-manifestacoes-filhos > .arvore-manifestacao-item {
  position: relative; padding: 13px 0 0 27px;
}
.arvore-manifestacoes-filhos > .arvore-manifestacao-item::before {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 1px;
  background: var(--linha);
}
.arvore-manifestacoes-filhos > .arvore-manifestacao-item::after {
  content: ""; position: absolute; top: 36px; left: 0; width: 20px; height: 1px;
  background: var(--linha);
}
.arvore-manifestacoes-filhos > .arvore-manifestacao-item:last-child::before {
  bottom: auto; height: 37px;
}
.ramo-manifestacao { min-width: 0; }
.ramo-manifestacao > summary {
  list-style: none; cursor: pointer;
}
.ramo-manifestacao > summary::-webkit-details-marker { display: none; }
.ramo-manifestacao-resumo {
  display: flex; align-items: center; gap: 11px; min-width: 0; padding: 12px 14px;
  border: 1px solid var(--linha); border-left: 4px solid var(--azul);
  border-radius: var(--raio-grande); background: var(--superficie-elevada);
  transition: background-color .14s ease, border-color .14s ease;
}
.ramo-manifestacao-resumo:hover { background: var(--superficie-secundaria); }
.ramo-manifestacao[open] > .ramo-manifestacao-resumo {
  border-radius: var(--raio-grande) var(--raio-grande) 0 0;
}
.ramo-manifestacao-seta {
  flex: 0 0 22px; display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 6px; background: var(--azul-claro);
  color: var(--azul); font-weight: 800;
}
.ramo-manifestacao-seta::before {
  content: "›"; transform: translateX(1px); transition: transform .14s ease;
}
.ramo-manifestacao[open] > summary .ramo-manifestacao-seta::before {
  transform: rotate(90deg) translateY(-1px);
}
.ramo-manifestacao-identidade {
  display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center;
  gap: 5px 9px; min-width: 0;
}
.ramo-manifestacao-identidade > strong { font-size: 14px; }
.ramo-manifestacao-identidade > span:not(.dado-copiavel) {
  color: var(--tinta-fraca); font-size: 12px;
}
.ramo-manifestacao-identidade time {
  flex: 1 1 100%; color: var(--tinta-fraca); font-size: 11px; font-weight: 650;
}
.ramo-manifestacao-estado {
  display: flex; flex: 0 0 auto; flex-direction: column; align-items: flex-end;
  gap: 4px; text-align: right;
}
.ramo-manifestacao-estado small { color: var(--tinta-fraca); font-size: 11px; }
.ramo-manifestacao-conteudo {
  min-width: 0; padding: 14px 15px 13px; border: 1px solid var(--linha);
  border-top: 0; border-left: 4px solid var(--azul);
  border-radius: 0 0 var(--raio-grande) var(--raio-grande);
  background: var(--superficie-secundaria);
}
.ramo-parecer-complementar > .ramo-manifestacao-resumo,
.ramo-parecer-complementar > .ramo-manifestacao-conteudo { border-left-color: var(--roxo); }
.ramo-despacho > .ramo-manifestacao-resumo,
.ramo-despacho > .ramo-manifestacao-conteudo { border-left-color: var(--azul); }
.ramo-cota-ratificacao > .ramo-manifestacao-resumo,
.ramo-cota-ratificacao > .ramo-manifestacao-conteudo { border-left-color: var(--ambar); }
.ramo-manifestacao.ato-viavel > .ramo-manifestacao-resumo,
.ramo-manifestacao.ato-viavel > .ramo-manifestacao-conteudo { border-left-color: var(--verde); }
.ramo-manifestacao.ato-ressalvas > .ramo-manifestacao-resumo,
.ramo-manifestacao.ato-ressalvas > .ramo-manifestacao-conteudo { border-left-color: var(--ambar); }
.ramo-manifestacao.ato-inviavel > .ramo-manifestacao-resumo,
.ramo-manifestacao.ato-inviavel > .ramo-manifestacao-conteudo { border-left-color: var(--vermelho); }
.ramo-manifestacao-grade {
  display: grid; grid-template-columns: minmax(260px, 1.45fr) repeat(2, minmax(150px, .72fr));
  gap: 14px;
}
.ramo-manifestacao-grade > div { min-width: 0; }
.ramo-manifestacao-grade strong {
  display: block; font-size: 12px; font-weight: 650; overflow-wrap: anywhere;
}
.condicionantes-no-arvore { margin-top: 12px; }
.condicionantes-no-arvore > summary { color: var(--azul); font-weight: 650; }
.ramo-manifestacao-rodape {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px;
  margin-top: 13px; padding-top: 11px; border-top: 1px solid var(--linha);
}
.arquivo-no-arvore {
  flex: 1 1 260px; min-width: 0; color: var(--tinta-fraca); font-size: 11.5px;
  overflow-wrap: anywhere;
}
.ramo-manifestacao-publicacao {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end;
  gap: 7px; margin-left: auto;
}
.ramo-manifestacao-publicacao .publicacao-detalhe { text-align: right; }
.nova-manifestacao-vinculada { scroll-margin-top: 100px; }
.nova-manifestacao-vinculada .manifestacao-form { margin-top: 4px; }

.lateral { background: var(--fundo); }
.lateral-topo { background: var(--nav-fundo); }
.modal-seguro { background: rgba(7, 14, 20, .55); backdrop-filter: blur(8px); }
.cartao-modal { border-radius: var(--raio-grande); background: var(--superficie-elevada); box-shadow: var(--sombra-elevada); }
.aviso { border-radius: 10px; box-shadow: var(--sombra-elevada); }

/* Superfícies legíveis no modo escuro, inclusive nos módulos mais antigos. */
html[data-tema="escuro"] .topo,
html[data-tema="escuro"] .lateral-topo { background: var(--nav-fundo); }
html[data-tema="escuro"] .navegacao-sistema,
html[data-tema="escuro"] .abas { background: var(--nav-secundario); }
html[data-tema="escuro"] .navegacao-secundaria { background: rgba(27,32,38,.96); }
html[data-tema="escuro"] .busca-topo input { background: #f7f8fa; color: #1d1d1f; }
html[data-tema="escuro"] .busca-topo input::placeholder { color: #626b75; }
html[data-tema="escuro"] :is(
  .cartao-interno, .resultado-item, .resultado-andamento, .resultado-andamento.sem-andamento,
  .grupo-fila .explica, .escolha-atos, .pesquisa-menu-painel, .controle-numeracao-novo,
  .protocolo-judicial > summary, .editor-rico-barra, .conferir-arquivo-publico,
  .resumo-verificacao-item, .grade-conferencia-publica, .carregando-publico,
  .nota-limite-conferencia, .item-acervo, .formulario-bloco, .nota-publica-acompanhamento
) { background: var(--superficie-secundaria); color: var(--tinta); }
html[data-tema="escuro"] :is(
  .escolha-ato, .protocolo-judicial, .anexo-peticionamento, .numeracao-oficio-novo > div,
  .orientacao-publica-card, .orientacao-verificador, .qr-link-publico img,
  .conferir-arquivo-publico input[type="file"], .opcao-marcavel, .botao-copiar,
  .ordem-arrastavel-botao, .lupa-menu
) { background: var(--superficie-elevada); color: var(--tinta); }
html[data-tema="escuro"] :is(.fundo-acervo, .fundo-publico) { background: var(--fundo); }
html[data-tema="escuro"] :is(.autos-visualizador-topo, .identificador-prefixo,
  .identificador-separador, .valor-informativo) { background: var(--azul-claro); color: var(--azul); }
html[data-tema="escuro"] .ementa-publica { background: var(--ambar-claro); color: var(--tinta); }
html[data-tema="escuro"] .editor-rico-grupo { border-right-color: var(--linha); }
html[data-tema="escuro"] .marca-homologacao { color: rgba(255,184,74,.24); border-color: rgba(255,184,74,.22); }
html[data-tema="escuro"] .visualizador-autos { background: #2a2f35; }
html[data-tema="escuro"] .menu-usuario > summary:hover,
html[data-tema="escuro"] .menu-usuario[open] > summary { background: rgba(255,255,255,.1); }

/* Respostas recebidas de oficios: conjunto documental unico e legivel. */
.respostas-oficio > .cartao-topo { margin-bottom: 10px; }
.respostas-oficio > .cartao-topo h3 { margin-bottom: 2px; border: 0; padding: 0; }
.respostas-oficio-lista { display: grid; gap: 12px; }
.resposta-oficio-card {
  position: relative; min-width: 0; padding: 14px 15px;
  border: 1px solid var(--linha); border-radius: var(--raio-grande);
  background: var(--superficie-secundaria); overflow: hidden;
}
.resposta-oficio-card::before {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 4px;
  background: var(--azul);
}
.resposta-oficio-card.resposta-integral::before { background: var(--verde); }
.resposta-oficio-card.resposta-parcial::before,
.resposta-oficio-card.resposta-exige_providencia_pgm::before { background: var(--ambar); }
.resposta-oficio-card.resposta-sem_atendimento::before { background: var(--vermelho); }
.resposta-oficio-topo {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 12px; margin-bottom: 10px;
}
.resposta-oficio-topo time { color: var(--tinta-fraca); font-size: 11px; }
.resposta-oficio-topo h4 { margin: 2px 0 0; font-size: 14px; }
.resposta-oficio-metadados { margin-bottom: 10px; }
.resposta-oficio-arquivos {
  padding: 3px 10px; border: 1px solid var(--linha); border-radius: var(--raio);
  background: var(--papel);
}
.resposta-oficio-arquivos .arquivo-item:last-child { border-bottom: 0; }
.resposta-oficio-complementar { margin-top: 10px; }
.resposta-oficio-complementar > summary {
  cursor: pointer; color: var(--azul); font-size: 12.5px; font-weight: 600;
}
.formulario-resposta-complementar { margin-top: 10px; }
.resposta-oficio-formulario {
  padding: 15px; border: 1px solid var(--linha); border-radius: var(--raio-grande);
  background: var(--superficie-secundaria);
}
.resposta-oficio-formulario > h3 { margin-top: 0; }
.formulario-resposta-oficio { margin-top: 12px; }
.formulario-resposta-oficio,
.formulario-resposta-complementar {
  width: 100%; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
}
.formulario-resposta-oficio > *,
.formulario-resposta-complementar > * { min-width: 0; max-width: 100%; }
.formulario-resposta-oficio input[type="file"],
.formulario-resposta-complementar input[type="file"] { width: 100%; max-width: 100%; }
.formulario-resposta-oficio .campo-acao-anexo,
.formulario-resposta-complementar .campo-acao-anexo {
  grid-area: auto; grid-column: 1 / -1; min-width: 0;
}
.resposta-oficio-formulario .nota { margin-top: 12px; }
html[data-tema="escuro"] .resposta-oficio-arquivos { background: var(--superficie-elevada); }

/* Instrução compartilhada entre o DLC e a PGM. A hierarquia visual separa
   documento, diligência, remessa e auditoria sem parecer outro processo. */
.workspace-dlc { display: grid; gap: 16px; }
.workspace-dlc > .cabecalho-tela { margin-bottom: 0; }
.acoes-cabecalho-dlc {
  display: flex; align-items: center; flex-wrap: wrap; gap: 12px;
  min-width: 0; margin: 0;
}
.acoes-cabecalho-dlc > .acao { max-width: 100%; margin: 0; }
@media (max-width: 540px) {
  .acoes-cabecalho-dlc { flex-direction: column; align-items: stretch; }
  .acoes-cabecalho-dlc > .acao { width: 100%; }
}
.cabecalho-identidade-dlc { display: grid; gap: 12px; min-width: 0; }
.cabecalho-identidade-dlc .voltar-dlc { justify-self: start; }
.cabecalho-identidade-dlc h2 { margin-top: 0; }
.nota-seguranca-dlc { border-left-color: var(--verde); }
.lista-fluxos-dlc { display: grid; gap: 10px; }
.filtros-fluxos-dlc {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(170px,220px) minmax(180px,260px) auto;
  gap: 12px; align-items: end;
}
.filtros-fluxos-dlc > .campo { min-width: 0; }
.sugestoes-aditivo-dlc { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 18px; }
.sugestoes-aditivo-dlc > .acao { margin: 0; }
@media (max-width: 720px) {
  .filtros-fluxos-dlc { grid-template-columns: minmax(0,1fr); }
  .filtros-fluxos-dlc > .acao { width: 100%; }
}
.resumo-lista-fluxos { margin-bottom: 12px; }
.grupo-fluxos-dlc { margin: 0 0 18px; }
.grupo-fluxos-dlc > summary {
  display: flex; align-items: center; gap: 12px; padding: 14px 16px; cursor: pointer;
  border: 1px solid var(--linha); border-radius: var(--raio-grande);
  background: var(--superficie-secundaria); color: var(--azul); list-style: none;
}
.grupo-fluxos-dlc > summary::-webkit-details-marker { display: none; }
.grupo-fluxos-dlc > summary::before { content: "▸"; flex: 0 0 auto; }
.grupo-fluxos-dlc[open] > summary::before { content: "▾"; }
.grupo-fluxos-titulo { flex: 1; min-width: 0; font-weight: 650; overflow-wrap: anywhere; }
.grupo-fluxos-toggle { font-size: 11px; }
.grupo-fluxos-dlc .quando-aberto, .grupo-fluxos-dlc[open] .quando-fechado { display: none; }
.grupo-fluxos-dlc[open] .quando-aberto { display: inline; }
.grupo-fluxos-dlc > .lista-fluxos-dlc { padding-top: 10px; }
.fluxo-dlc-card {
  position: relative; width: 100%; min-width: 0;
  border: 1px solid var(--linha); border-radius: var(--raio-grande);
  background: var(--papel); color: var(--tinta); text-align: left;
  box-shadow: var(--sombra-suave); overflow: hidden;
}
.fluxo-dlc-abrir {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px;
  width: 100%; min-height: 84px; margin: 0; padding: 15px 17px 15px 20px;
  background: transparent; color: inherit; border: 0; border-radius: 0;
  text-align: left; font: inherit; cursor: pointer;
}
.fluxo-dlc-abrir:hover { background: var(--superficie-secundaria); }
.fluxo-dlc-abrir:focus-visible { outline-offset: -3px; }
.fluxo-dlc-recebimentos { display: grid; gap: 12px; padding: 12px 17px 14px 20px; border-top: 1px solid var(--linha); }
.fluxo-dlc-recebimento { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.fluxo-dlc-recebimento > span { min-width: 0; font-size: 12px; color: var(--tinta-fraca); }
.fluxo-dlc-recebimento > .acao { flex: 0 0 auto; max-width: 100%; margin: 0; }
.fluxo-dlc-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--azul); }
.fluxo-dlc-card.fluxo-diligencia::before { background: var(--ambar); }
.fluxo-dlc-card.fluxo-concluido::before { background: var(--verde); }
.fluxo-dlc-card:hover { border-color: color-mix(in srgb, var(--azul) 42%, var(--linha)); transform: translateY(-1px); }
.fluxo-dlc-identidade, .fluxo-dlc-resumo { display: flex; flex-direction: column; min-width: 0; }
.fluxo-dlc-identidade { gap: 5px; }
.fluxo-dlc-identidade strong { color: var(--azul); font-size: 14px; }
.fluxo-dlc-identidade span { line-height: 1.45; overflow-wrap: anywhere; }
.fluxo-dlc-resumo { align-items: flex-end; gap: 4px; color: var(--tinta-fraca); font-size: 11px; text-align: right; }
.status-fluxo-dlc {
  display: inline-flex; width: fit-content; padding: 4px 8px; border: 1px solid var(--linha);
  border-radius: 7px; background: var(--azul-claro); color: var(--azul); font-size: 10.5px; font-weight: 700;
}
.status-fluxo-dlc.recebido { background: var(--verde-claro); color: var(--verde); }
.status-fluxo-dlc.aguardando, .alerta-fluxo { color: var(--ambar); font-weight: 700; }
.alerta-fluxo.vencido { color: var(--vermelho); }
.formulario-fluxo-dlc { margin-bottom: 14px; }
.formulario-fluxo-dlc .acoes { margin-top: 12px; }
.painel-fase-dlc {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
  padding: 14px 16px; border: 1px solid var(--linha); border-radius: var(--raio-grande);
  background: var(--superficie-secundaria);
}
.etapas-dlc {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px;
  margin: 0; padding: 0; list-style: none;
}
.etapas-dlc li {
  display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 9px 11px;
  border: 1px solid var(--linha); border-radius: 9px; color: var(--tinta-fraca);
  background: var(--papel); font-size: 11.5px;
}
.etapas-dlc li > span {
  display: grid; flex: 0 0 24px; height: 24px; place-items: center;
  border: 1px solid var(--linha); border-radius: 50%; background: var(--superficie-secundaria);
}
.etapas-dlc li.ativa { border-color: var(--azul); color: var(--azul); background: var(--azul-claro); }
.etapas-dlc li.ativa > span { border-color: var(--azul); background: var(--azul); color: white; }
.etapas-dlc li.concluida { color: var(--verde); }
.etapas-dlc li.concluida > span { border-color: var(--verde); background: var(--verde); color: white; }
.bloco-dlc { margin: 0; }
.bloco-dlc > .cartao-topo { margin-bottom: 12px; }
.documentos-dlc-lista, .diligencias-dlc-lista, .remessas-dlc-lista { display: grid; gap: 9px; }
.documento-dlc {
  display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 10px;
  align-items: center; min-width: 0; padding: 11px 12px;
  border: 1px solid var(--linha); border-radius: 9px; background: var(--superficie-secundaria);
}
.documento-dlc[draggable="true"] { cursor: grab; }
.documento-dlc.arrastando { opacity: .45; cursor: grabbing; }

.retificacao-ordem-resumo {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  margin: 12px 0; padding: 12px 14px; border: 1px solid var(--borda);
  border-left: 3px solid var(--azul); border-radius: var(--raio);
  background: var(--superficie-secundaria);
}
.retificacao-autos-cartao { margin-top: 14px; }
.lista-retificacao-autos { display: grid; gap: 8px; margin-top: 14px; }
.retificacao-autos-item {
  display: grid; grid-template-columns: auto 110px minmax(0, 1fr);
  align-items: center; gap: 12px; padding: 11px 12px;
  border: 1px solid var(--borda); border-radius: var(--raio);
  background: var(--papel);
}
.retificacao-autos-identidade { display: grid; gap: 2px; }
.retificacao-autos-identidade strong { color: var(--azul); }
.retificacao-autos-identidade span { color: var(--tinta-fraca); font-size: 11px; }
.retificacao-autos-dados { min-width: 0; }
.retificacao-autos-dados > strong { overflow-wrap: anywhere; }
.historico-retificacao-lista { display: grid; gap: 10px; margin-top: 12px; }
.historico-retificacao-item { padding-top: 10px; border-top: 1px solid var(--borda); }

@media (max-width: 720px) {
  .retificacao-ordem-resumo { align-items: flex-start; flex-direction: column; }
  .retificacao-autos-item { grid-template-columns: auto 88px minmax(0, 1fr); }
}
.documento-dlc.historico { opacity: .78; background: var(--papel); }
.alca-dlc { color: var(--tinta-fraca); font-weight: 800; text-align: center; }
.documento-dlc-corpo { display: flex; flex-direction: column; min-width: 0; gap: 3px; }
.documento-dlc-corpo strong, .documento-dlc-corpo span, .documento-dlc-corpo small { overflow-wrap: anywhere; }
.documento-dlc-corpo span { color: var(--tinta-fraca); font-size: 11.5px; }
.documento-dlc-corpo small { color: var(--tinta-fraca); font-size: 10.5px; }
.acoes-documento-dlc { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.documento-diligencia-dlc.retirado {
  opacity: .72; border-style: dashed; background: var(--superficie-secundaria);
}
.historico-versoes-dlc { margin-top: 10px; }
.historico-versoes-dlc > summary, .nova-diligencia-dlc > summary {
  cursor: pointer; color: var(--azul); font-size: 12px; font-weight: 700;
}
.historico-versoes-dlc[open] > summary { margin-bottom: 8px; }
.juntada-dlc, .remeter-dlc {
  margin-top: 14px; padding: 14px; border: 1px dashed var(--linha-forte);
  border-radius: var(--raio-grande); background: var(--papel);
}
.juntada-dlc h4, .remeter-dlc h4 { margin: 0 0 11px; }
.juntada-dlc .formulario { align-items: start; }
.formulario-juntada-dlc {
  column-gap: 12px; row-gap: 12px;
}
.formulario-juntada-dlc > .campo :is(input, select, .seletor-pesquisavel) {
  min-height: 36px;
}
.formulario-juntada-dlc > .campo .lupa-menu { min-height: 36px; }
.juntada-dlc .campo[hidden], .nova-diligencia-dlc .campo[hidden] { display: none; }
.dropzone-dlc {
  display: grid; place-items: center; gap: 4px; min-height: 112px; margin: 12px 0;
  padding: 18px; border: 1.5px dashed var(--azul); border-radius: var(--raio-grande);
  background: var(--azul-claro); color: var(--azul); text-align: center; cursor: pointer;
}
.dropzone-dlc.recebendo { border-style: solid; background: color-mix(in srgb, var(--azul-claro) 70%, var(--verde-claro)); }
.dropzone-dlc span, .dropzone-dlc small { color: var(--tinta-fraca); }
.modo-partes-dlc {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px;
  margin: 12px 0 0; padding: 12px; border: 1px solid var(--linha);
  border-radius: 9px; background: var(--superficie-secundaria);
}
.modo-partes-dlc legend { padding: 0 5px; color: var(--tinta-fraca); font-size: 11px; font-weight: 700; }
.modo-partes-dlc > label {
  display: flex; align-items: flex-start; gap: 8px; padding: 9px 10px;
  border: 1px solid var(--linha); border-radius: 8px; background: var(--papel); cursor: pointer;
}
.modo-partes-dlc > label span { display: flex; flex-direction: column; gap: 2px; }
.modo-partes-dlc > label small { color: var(--tinta-fraca); }
.campos-partes-dlc {
  grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px; padding-top: 10px; border-top: 1px solid var(--linha);
}
.campos-partes-dlc[hidden] { display: none; }
.campos-apenso-dlc {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;
  margin-top: 10px; padding: 12px; border: 1px solid var(--linha);
  border-radius: 9px; background: var(--superficie-secundaria);
}
.campos-apenso-dlc[hidden] { display: none; }
.apensos-dlc-lista, .apensos-processuais { display: grid; gap: 10px; }
.apensos-dlc-lista { margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--linha); }
.apensos-dlc-lista > h4 { margin: 0; }
.apenso-card {
  padding: 14px; border: 1px solid var(--linha); border-left: 4px solid var(--roxo, #7560a8);
  border-radius: var(--raio-grande); background: var(--superficie-secundaria);
}
.apenso-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.apenso-topo h4 { margin: 7px 0 3px; }
.citacao-apenso {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 11px 0;
  padding: 9px 11px; border-radius: 8px; background: var(--papel);
  color: var(--tinta); font-size: 11.5px;
}
.citacao-apenso > span:first-child { color: var(--tinta-fraca); font-weight: 700; }
.apenso-documentos { display: grid; gap: 7px; }
html[data-tema="escuro"] :is(.apenso-card, .campos-apenso-dlc) {
  background: var(--superficie-elevada); color: var(--tinta);
}
.fila-arquivos-dlc { display: grid; gap: 7px; margin: 0 0 12px; }
.arquivo-fila-dlc {
  display: grid; grid-template-columns: 24px minmax(0, 1fr) auto auto; align-items: center;
  gap: 9px; padding: 9px 10px; border: 1px solid var(--linha); border-radius: 8px;
  background: var(--superficie-secundaria); cursor: grab;
}
.arquivo-fila-dlc:active { cursor: grabbing; }
.arquivo-fila-dlc strong { min-width: 0; overflow-wrap: anywhere; }
.arquivo-fila-dlc small { color: var(--tinta-fraca); white-space: nowrap; }
.arquivo-fila-dlc .acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.arquivo-fila-dlc.arquivo-grande { border-color: var(--vermelho-borda); background: var(--vermelho-claro); }
.resumo-partes-dlc { display: grid; gap: 7px; margin-top: 10px; }
.resumo-partes-dlc .nota { display: flex; align-items: baseline; gap: 7px; margin: 0; }
.resumo-partes-dlc .nota:not(.boa) { border-left-color: var(--ambar); background: var(--ambar-claro); }
.diligencia-dlc {
  position: relative; padding: 13px 14px 13px 17px; border: 1px solid var(--linha);
  border-radius: var(--raio-grande); background: var(--superficie-secundaria); overflow: hidden;
}
.diligencia-dlc::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--ambar); }
.diligencia-dlc.prazo-vencido::before { width: 6px; background: var(--vermelho); }
.diligencia-dlc.prazo-hoje::before { width: 6px; background: #d14d36; }
.diligencia-dlc.prazo-urgente::before { background: #d56a18; }
.diligencia-dlc.prazo-alta::before, .diligencia-dlc.prazo-proximo::before { background: var(--ambar); }
.diligencia-dlc.prazo-programado::before { background: var(--azul-interativo); }
.diligencia-dlc.prazo-a-definir::before { background: var(--roxo); }
.diligencia-dlc.prazo-sem-prazo::before { background: var(--tinta-fraca); }
.diligencia-dlc.estado-concluida::before, .diligencia-dlc.estado-respondida::before { background: var(--verde); }
.diligencia-dlc.estado-cancelada::before { background: var(--tinta-fraca); }
.diligencia-dlc-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.diligencia-dlc h4 { margin: 6px 0 2px; }
.diligencia-dlc p { line-height: 1.5; }
.diligencia-dlc .acoes { margin-top: 10px; }
.marcadores-controle-dlc { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.marcador-prazo-dlc, .legenda-prazos-dlc span, .prazo-contagem {
  display: inline-flex; align-items: center; min-height: 24px; padding: 3px 8px;
  border: 1px solid var(--linha); border-radius: 6px; font-size: 10.5px; font-weight: 750;
}
.marcador-prazo-dlc.prazo-vencido, .legenda-prazos-dlc .prazo-vencido,
.prazo-contagem.vencido { color: var(--vermelho); border-color: var(--vermelho-borda); background: var(--vermelho-claro); }
.marcador-prazo-dlc.prazo-hoje, .legenda-prazos-dlc .prazo-hoje {
  color: #a43a28; border-color: #e6a79a; background: #fff0ec;
}
.marcador-prazo-dlc.prazo-urgente, .legenda-prazos-dlc .prazo-urgente,
.prazo-contagem.urgente { color: #9a470a; border-color: #e3b489; background: #fff1e4; }
.marcador-prazo-dlc.prazo-alta, .marcador-prazo-dlc.prazo-proximo,
.legenda-prazos-dlc :is(.prazo-alta, .prazo-proximo) {
  color: var(--ambar); border-color: var(--ambar-borda); background: var(--ambar-claro);
}
.marcador-prazo-dlc.prazo-programado, .legenda-prazos-dlc .prazo-programado {
  color: var(--azul); border-color: var(--recolhivel-borda); background: var(--azul-claro);
}
.marcador-prazo-dlc.prazo-a-definir, .legenda-prazos-dlc .prazo-a-definir,
.prazo-contagem.a-definir { color: var(--roxo); border-color: #cbbbe3; background: var(--roxo-claro); }
.marcador-prazo-dlc.prazo-sem-prazo, .legenda-prazos-dlc .prazo-sem-prazo,
.prazo-contagem.sem-prazo { color: var(--tinta-fraca); background: var(--superficie-terciaria); }
.marcador-prazo-dlc.prazo-concluido { color: var(--verde); border-color: var(--verde-borda); background: var(--verde-claro); }
.metadados-controle-dlc { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 10px 0; color: var(--tinta-fraca); font-size: 11px; }
.metadados-controle-dlc strong { color: var(--tinta); }
.resumo-controle-prazos-dlc {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 12px 0;
}
.controle-unidade-dlc {
  display: flex; align-items: center; flex-wrap: wrap; gap: 6px 9px; padding: 10px 12px;
  border: 1px solid var(--linha); border-radius: 9px; background: var(--superficie-secundaria);
}
.controle-unidade-dlc > strong { min-width: 38px; color: var(--azul); }
.controle-unidade-dlc > span:not(.prazo-contagem) { color: var(--tinta-fraca); font-size: 11px; }
.resumo-controle-prazos-dlc.compacto { display: flex; flex-direction: column; gap: 4px; margin: 2px 0; }
.resumo-controle-prazos-dlc.compacto .controle-unidade-dlc { padding: 4px 6px; gap: 4px 6px; border-radius: 6px; }
.resumo-controle-prazos-dlc.compacto .prazo-contagem { min-height: 20px; padding: 2px 5px; }
.legenda-prazos-dlc { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 13px; }
.legenda-prazos-dlc span { min-height: 21px; padding: 2px 7px; font-weight: 650; }
.editar-controle-dlc { flex-basis: 100%; margin-top: 4px; padding-top: 8px; border-top: 1px solid var(--linha); }
.editar-controle-dlc > summary { cursor: pointer; color: var(--azul-interativo); font-weight: 700; }
.formulario-controle-dlc { margin-top: 10px; align-items: start; }
.eventos-diligencia-dlc { display: grid; gap: 6px; margin-top: 8px; }
.eventos-diligencia-dlc > div { display: grid; grid-template-columns: 120px 90px minmax(0, 1fr); gap: 8px; font-size: 11px; }
.documentos-diligencia-dlc { display: grid; gap: 7px; margin: 12px 0; }
.documento-diligencia-dlc {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center;
  gap: 10px; padding: 9px 11px; border: 1px solid var(--linha); border-radius: 8px;
  background: var(--fundo); color: var(--tinta); text-decoration: none;
}
.documento-diligencia-dlc:hover { border-color: var(--azul); background: var(--azul-claro); }
.documento-diligencia-dlc span { color: var(--tinta-fraca); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.documento-diligencia-dlc strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.documento-diligencia-dlc small { color: var(--tinta-fraca); font-variant-numeric: tabular-nums; }
.nova-diligencia-dlc { margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--linha); }
.nova-diligencia-dlc .formulario { margin: 13px 0 16px; align-items: start; }
.acoes-formulario-dlc, .acoes-remessa-dlc {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px;
}
.remeter-dlc > .campo { margin-bottom: 0; }
.remeter-dlc textarea { min-height: 84px; }
.modo-justificativa-dlc { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 14px; }
.modo-justificativa-dlc small { color: var(--tinta-fraca); line-height: 1.35; }
.remeter-dlc .editor-rico-caixa { margin-top: 0; }
.remeter-dlc .editor-rico { min-height: 150px; }
.campo-senha-justificativa { max-width: 520px; margin: 14px 0 0; }
.confirmacao-autos-consolidados-dlc {
  display: grid; gap: 12px; margin-top: 14px; padding: 14px;
  border: 1px solid var(--linha); border-radius: var(--raio);
  background: var(--superficie-secundaria);
}
.confirmacao-autos-consolidados-dlc .rotulo-checkbox {
  display: flex; align-items: flex-start; gap: 10px; color: var(--tinta);
  line-height: 1.45; cursor: pointer;
}
.confirmacao-autos-consolidados-dlc .rotulo-checkbox input {
  flex: 0 0 17px; width: 17px; height: 17px; margin: 2px 0 0;
  accent-color: var(--azul); cursor: pointer;
}
.confirmacao-autos-consolidados-dlc > small {
  color: var(--tinta-fraca); line-height: 1.4;
}
.confirmacao-autos-consolidados-dlc .campo-senha-justificativa { margin-top: 2px; }
.conferencia-documentos-base-dlc { display: grid; gap: 9px; }
.conferencia-documento-base-dlc {
  display: grid; gap: 11px; padding: 12px 13px; border: 1px solid var(--linha);
  border-radius: var(--raio); background: var(--superficie-elevada);
}
.conferencia-documento-base-topo {
  display: grid; grid-template-columns: minmax(220px, 1fr) minmax(280px, .8fr);
  gap: 14px; align-items: end;
}
.conferencia-documento-base-topo > strong { align-self: center; line-height: 1.35; }
.conferencia-documento-base-dlc .campo { margin: 0; min-width: 0; }
.justificativa-documento-base-dlc {
  display: grid; grid-template-columns: minmax(260px, .8fr) minmax(320px, 1.5fr);
  gap: 12px; padding-top: 11px; border-top: 1px solid var(--linha);
}
.justificativa-documento-base-dlc[hidden] { display: none; }
.justificativa-documento-base-dlc textarea { min-height: 88px; resize: vertical; }
.justificativa-documento-base-dlc small {
  display: block; margin-top: 5px; color: var(--tinta-fraca); line-height: 1.35;
}
.arquivo-justificativa-dlc {
  display: grid; gap: 13px; margin-top: 2px; padding: 14px;
  border: 1px solid var(--linha);
  border-radius: var(--raio); background: var(--superficie-secundaria);
}
.arquivo-justificativa-dlc[hidden] { display: none; }
.arquivo-justificativa-dlc .campo { margin: 0; }
.arquivo-justificativa-dlc small { display: block; margin-top: 6px; color: var(--tinta-fraca); }
.dados-assinatura-fisica-dlc {
  display: grid; grid-template-columns: minmax(230px, 1fr) minmax(230px, 1fr) minmax(180px, .55fr);
  gap: 12px; align-items: end; padding-top: 13px; border-top: 1px solid var(--linha);
}
.dados-assinatura-fisica-dlc[hidden] { display: none; }
.conferencia-assinatura-fisica-dlc {
  grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 10px;
  padding: 11px 12px; border: 1px solid var(--linha); border-radius: var(--raio);
  background: var(--superficie-elevada); line-height: 1.4; cursor: pointer;
}
.conferencia-assinatura-fisica-dlc input {
  flex: 0 0 17px; width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--azul);
}
.conferencia-assinatura-fisica-dlc span,
.conferencia-assinatura-fisica-dlc strong { display: block; }
.link-peca-remessa { align-self: flex-start; margin-top: 3px; font-size: 11px; font-weight: 700; }
.remessa-dlc {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center;
  padding: 12px 13px; border: 1px solid var(--linha); border-radius: 9px; background: var(--superficie-secundaria);
}
.remessa-dlc > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.remessa-dlc small { color: var(--tinta-fraca); overflow-wrap: anywhere; }
.remessa-dlc-recebimento { align-items: flex-end; text-align: right; }
.requisitos-dlc { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.requisito-ausente { padding: 4px 7px; border-radius: 6px; background: var(--ambar-claro); color: var(--ambar); font-size: 11px; font-weight: 650; }
.nota.boa { border-left-color: var(--verde); background: var(--verde-claro); }
.resumo-autos-consolidados-dlc { display: grid; gap: 5px; }
.resumo-autos-consolidados-dlc > strong,
.resumo-autos-consolidados-dlc > span { display: block; min-width: 0; }
.resumo-autos-consolidados-dlc .requisitos-dlc { margin-top: 3px; }
.desfecho-dlc { border-left: 4px solid var(--verde); }
.desfecho-dlc.desfecho-inviavel { border-left-color: var(--vermelho); }
.desfecho-dlc .acoes { margin-top: 12px; }
.auditoria-dlc > summary { cursor: pointer; list-style: none; }
.auditoria-dlc > summary::-webkit-details-marker { display: none; }
.auditoria-dlc[open] > summary { padding-bottom: 11px; border-bottom: 1px solid var(--linha); }
.linha-tempo-dlc { display: grid; margin-top: 12px; }
.linha-tempo-dlc > div {
  position: relative; display: grid; grid-template-columns: 130px 180px minmax(0, 1fr);
  gap: 8px 12px; padding: 0 0 15px 22px; border-left: 2px solid var(--linha);
}
.ponto-tempo-dlc { position: absolute; top: 3px; left: -6px; width: 10px; height: 10px; border: 2px solid var(--papel); border-radius: 50%; background: var(--azul); box-shadow: 0 0 0 1px var(--azul); }
.linha-tempo-dlc p { grid-column: 3; margin: 0; line-height: 1.45; }
.linha-tempo-dlc small { grid-column: 3; color: var(--tinta-fraca); }
html[data-tema="escuro"] :is(.fluxo-dlc-card, .etapas-dlc li, .juntada-dlc, .remeter-dlc,
  .documento-dlc.historico) { background: var(--superficie-elevada); color: var(--tinta); }
html[data-tema="escuro"] :is(.dropzone-dlc, .status-fluxo-dlc) { color: var(--azul); }
html[data-tema="escuro"] :is(.marcador-prazo-dlc.prazo-hoje, .legenda-prazos-dlc .prazo-hoje) {
  color: #ffac9d; border-color: #7f493f; background: #432721;
}
html[data-tema="escuro"] :is(.marcador-prazo-dlc.prazo-urgente,
  .legenda-prazos-dlc .prazo-urgente, .prazo-contagem.urgente) {
  color: #ffc08d; border-color: #79502e; background: #432d1c;
}

:where(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--foco) 72%, transparent);
  outline-offset: 2px;
}

@media (max-width: 980px) {
  .ramo-manifestacao-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ramo-manifestacao-grade > div:first-child { grid-column: 1 / -1; }
  .modo-justificativa-dlc { grid-template-columns: 1fr; }
  .painel-grade-secundaria,
  .painel-grade-secundaria.painel-grade-heranca {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .etapas-dlc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .resumo-controle-prazos-dlc { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .topo { gap: 8px; }
  .usuario-topo .tema-topo { min-width: 38px; }
  .tema-rotulo { display: none; }
  .abas, .navegacao-secundaria { padding-inline: 8px; }
  main { padding: 16px 10px 54px; }
  .cartao { padding: 14px 13px; border-radius: 11px; }
  .classificacao-juridica-grade { grid-template-columns: minmax(0, 1fr); }
  .link-download-ato { align-self: flex-start; }
  .arvore-manifestacoes-controles {
    width: 100%; justify-content: space-between; margin-left: 0;
  }
  .arvore-manifestacoes-filhos { margin-left: 8px !important; }
  .arvore-manifestacoes-filhos > .arvore-manifestacao-item { padding-left: 19px; }
  .arvore-manifestacoes-filhos > .arvore-manifestacao-item::after { width: 13px; }
  .ramo-manifestacao-resumo { align-items: flex-start; flex-wrap: wrap; padding: 11px; }
  .ramo-manifestacao-seta { margin-top: 1px; }
  .ramo-manifestacao-identidade { flex: 1 1 calc(100% - 36px); }
  .ramo-manifestacao-estado {
    flex: 1 1 100%; align-items: flex-start; margin-left: 33px; text-align: left;
  }
  .ramo-manifestacao-conteudo { padding: 12px 11px; }
  .ramo-manifestacao-grade { grid-template-columns: minmax(0, 1fr); }
  .ramo-manifestacao-grade > div:first-child { grid-column: auto; }
  .ramo-manifestacao-rodape { align-items: flex-start; flex-direction: column; }
  .ramo-manifestacao-publicacao {
    justify-content: flex-start; width: 100%; margin-left: 0;
  }
  .ramo-manifestacao-publicacao .publicacao-detalhe { text-align: left; }
  .motivo-resultado { grid-template-columns: minmax(0, 1fr); }
  .painel-conteudo { gap: 14px; }
  .painel-dia { padding: 14px 13px; }
  .painel-dia .contencioso-dia { padding: 10px; }
  .painel-gestao-resumo { align-items: flex-start; }
  .painel-gestao-acao { width: 100%; margin-left: 0; }
  .painel-indicadores { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .painel-indicadores .indicador { min-height: 74px; }
  .painel-grade-secundaria,
  .painel-grade-secundaria.painel-grade-heranca { grid-template-columns: minmax(0, 1fr); }
  .resumo-recolhivel { width: 100%; justify-content: space-between; margin-left: 0; }
  .resposta-oficio-topo { flex-direction: column; }
  .resposta-oficio-card { padding: 13px 12px 13px 15px; }
  .fluxo-dlc-abrir, .remessa-dlc { grid-template-columns: minmax(0, 1fr); }
  .fluxo-dlc-recebimento { flex-direction: column; align-items: stretch; }
  .fluxo-dlc-resumo, .remessa-dlc-recebimento { align-items: flex-start; text-align: left; }
  .painel-fase-dlc, .etapas-dlc { grid-template-columns: minmax(0, 1fr); }
  .documento-dlc { grid-template-columns: 22px minmax(0, 1fr); }
  .acoes-documento-dlc { grid-column: 2; justify-content: flex-start; }
  .modo-partes-dlc, .campos-partes-dlc, .campos-apenso-dlc { grid-template-columns: minmax(0, 1fr); }
  .conferencia-documento-base-topo,
  .justificativa-documento-base-dlc,
  .dados-assinatura-fisica-dlc { grid-template-columns: minmax(0, 1fr); }
  .campos-partes-dlc { grid-column: 1; }
  .apenso-topo { flex-direction: column; }
  .arquivo-fila-dlc { grid-template-columns: 22px minmax(0, 1fr); }
  .arquivo-fila-dlc small, .arquivo-fila-dlc .acoes { grid-column: 2; }
  .resumo-partes-dlc .nota { align-items: flex-start; flex-direction: column; }
  .eventos-diligencia-dlc > div, .linha-tempo-dlc > div { grid-template-columns: minmax(0, 1fr); }
  .documento-diligencia-dlc { grid-template-columns: minmax(0, 1fr); }
  .documento-diligencia-dlc strong { white-space: normal; }
  .linha-tempo-dlc p, .linha-tempo-dlc small { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
/* Reforma consultiva: campos alinhados e detalhes sob demanda. */
.campo > .limpar-fonte-arquivo {
  justify-self: start; align-self: start; width: auto; max-width: 100%;
  margin: 8px 0 0; min-height: 30px; padding: 5px 10px;
  font-size: 12px; line-height: 1.4; white-space: normal;
}
.consultivo-modelo { padding: 16px; border: 1px solid var(--linha); border-radius: 10px; min-width: 0; }
.consultivo-modelo > .formulario,
.consultivo-modelo .linha-inteira > .formulario,
.consultivo-modelo fieldset > .formulario { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
.consultivo-modelo .campo > label { display: flex; align-items: center; gap: 8px; min-height: 32px; line-height: 1.4; margin: 0 0 8px; }
.consultivo-modelo .consultivo-texto { grid-column: 1 / -1; }
.consultivo-modelo fieldset,.cd-quesito { border: 1px solid var(--linha); border-radius: 8px; padding: 16px; min-width: 0; }
.consultivo-modelo fieldset legend,.cd-quesito legend { padding: 0 6px; }
.consultivo-modelo .acao:not(.principal),.cd-quesito .acao:not(.principal) { background: var(--papel); color: var(--tinta); border: 1px solid var(--linha); }
html[data-tema="escuro"] .consultivo-modelo button.acao:not(.principal),
html[data-tema="escuro"] .cotas-consultivo button.acao:not(.principal) { background: var(--superficie-elevada); color: var(--tinta); border-color: var(--linha); }
.consultivo-modelo .campo input,.consultivo-modelo .campo select { min-height: 38px; }
.consultivo-modelo input,.consultivo-modelo textarea { font-weight: 400; }
.consultivo-item { display: grid; gap: 10px; margin: 12px 0; }
.consultivo-item label,.consultivo-efeito label,.cd-quesito label { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.consultivo-item .acao { justify-self: start; }
.consultivo-modelo [hidden] { display: none !important; }
.consultivo-resumo { display: grid; grid-template-columns: minmax(0,1fr); gap: 6px; min-width: 0; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.consultivo-resumo > * { display: block; min-width: 0; margin: 0; }
.cota-conclusao { border: 1px solid var(--linha); border-radius: 8px; padding: 16px; min-width: 0; background: var(--papel); color: var(--tinta); }
.cota-conclusao > legend { padding: 0 6px; }
.cota-conclusao[hidden],.cota-conclusao [hidden] { display: none !important; }
.cota-conclusao > .formulario { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; align-items: start; }
.cota-conclusao .campo > label,.cota-conclusao .rotulo-com-ajuda { min-height: 40px; line-height: 1.4; }
.cota-conclusao .campo select { width: 100%; min-width: 0; }
.cota-conclusao-prevista { display: block; padding: 10px 12px; border: 1px solid var(--linha); border-radius: 6px; line-height: 1.5; font-weight: 600; overflow-wrap: anywhere; }
.cota-condicao { display: grid; gap: 6px; margin-bottom: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.cota-condicao > strong { font-size: 12px; color: var(--tinta-fraca); }
@media(max-width: 720px) { .cota-conclusao > .formulario { grid-template-columns: minmax(0,1fr); } }
.consultivo-efeito.formulario { grid-template-columns: repeat(4,minmax(0,1fr)); }
.consultivo-efeito > .acao { grid-column: 1 / -1; justify-self: start; }
.cd-quesito .formulario { grid-template-columns: repeat(2,minmax(0,1fr)); }
.livro-familias { margin-bottom: 20px; }
.cotas-alertas { padding-left: 22px; display: grid; gap: 10px; }
.cotas-consultivo [hidden] { display: none !important; }
.cotas-consultivo .formulario { grid-template-columns: repeat(2,minmax(0,1fr)); }
.cotas-consultivo .consultivo-texto { grid-column: 1 / -1; }
.cotas-consultivo > .cartao-topo,.cota-nova > .cartao-topo { flex-wrap: wrap; gap: 14px; }
.cota-nova { margin: 20px 0; padding: 20px; border: 1px solid var(--linha); border-radius: 10px; background: var(--superficie-secundaria); scroll-margin-top: 100px; }
.cota-nova .campo { min-width: 0; margin: 0; }
.cota-nova .campo > label { display: flex; flex-direction: row; justify-content: flex-start; margin: 0 0 8px; line-height: 1.4; text-align: left; }
.cota-nova .formulario { align-items: start; gap: 16px; }
.cota-nova .cd-quesito { margin: 12px 0; }
.cota-nova h4,.cotas-lista-titulo { margin-top: 22px; }
.cota-assinatura { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--linha); }
.cota-assinatura .campo { flex: 1 1 240px; max-width: 420px; }
.cotas-vazio { color: var(--tinta-fraca); padding: 12px 0; }
.cotas-atalho-pa { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.cotas-atalho-pa > div { flex: 1 1 260px; }
.cotas-atalho-pa .recuo { margin-top: 4px; }
.cotas-atalho-pa > .acao { flex: 0 0 auto; max-width: 100%; margin: 0; }
@media (max-width: 720px) {
  .cotas-atalho-pa { flex-direction: column; align-items: stretch; }
  .cotas-atalho-pa > div { flex-basis: auto; min-width: 0; }
}
.cota-resumo-pa { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 14px 0; border-bottom: 1px solid var(--linha); }
.cota-resumo-pa > strong { flex: 1 1 240px; }
.cota-resumo-pa > span { color: var(--tinta-fraca); }
.cotas-dossie .cota-nova { scroll-margin-top: 24px; }
.cota-pdf { margin-top: 18px; }
.cota-arquivo { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cota-arquivo input[type="file"] { flex: 1 1 260px; min-width: 0; width: 100%; }
.cota-arquivo .acao { flex: 0 0 auto; }
.cota-nova .cota-confirmacao, .cota-ciencia-externa .cota-confirmacao { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0 0; text-transform: none; font-weight: 400; line-height: 1.5; }
.cota-nova .cota-confirmacao input[type="checkbox"], .cota-ciencia-externa .cota-confirmacao input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; }
.cota-ciencia-externa { border: 1px solid var(--linha); border-radius: 12px; padding: 18px; min-width: 0; }
.cota-ciencia-externa .campo, .cota-ciencia-externa .formulario { min-width: 0; }
.cota-ciencia-externa small, .cota-comprovantes .acao { overflow-wrap: anywhere; white-space: normal; }
.cota-ciencia-externa small { display: block; margin-top: 8px; }
.cota-ciencia-externa .formulario { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cota-resumo-pa > .cota-comprovantes { flex: 1 0 100%; }
@media(max-width: 640px) { .cota-ciencia-externa .formulario { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 720px) {
  .consultivo-modelo > .formulario,.consultivo-modelo .linha-inteira > .formulario,.consultivo-modelo fieldset > .formulario { grid-template-columns: minmax(0,1fr); }
  .consultivo-efeito.formulario,.cd-quesito .formulario { grid-template-columns: minmax(0,1fr); }
  .cotas-consultivo .formulario { grid-template-columns: minmax(0,1fr); }
  .cota-nova { padding: 14px; }
  .consultivo-modelo { padding: 12px; }
}
:root {
  --recebimento-borda: var(--borda, #dce2ea);
}
/* Comprovantes: controles isolados para não herdar dimensões de outros modais. */
.recebimento-dialog { width:min(760px,calc(100vw - 32px)); max-height:90vh; box-sizing:border-box;
  border:1px solid var(--recebimento-borda); border-radius:18px; padding:24px;
  background:var(--superficie-elevada,#fff); color:var(--texto,#20384e); box-shadow:0 20px 70px #0003; }
.recebimento-dialog::backdrop { background:#14263866; }
.recebimento-dialog h2 { margin:0; font-size:18px; }
.recebimento-dialog .acao:not(.principal) { background:var(--superficie-elevada); color:var(--azul); border-color:var(--linha); }
.recebimento-dialog .acao.discreta { background:transparent; }
.recebimento-dialog .et-neutra { background:var(--superficie-terciaria); color:var(--tinta-fraca); }
.recebimento-dialog button:disabled { opacity:.55; cursor:wait; }
.recebimento-cabecalho,.recebimento-resumo { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.recebimento-cabecalho .acao { flex-shrink:0; }
.recebimento-alvo { margin:18px 0; overflow-wrap:anywhere; line-height:1.55; }
.recebimento-cartao { padding:14px; margin:12px 0; border:1px solid var(--recebimento-borda); border-radius:12px; }
.recebimento-cartao > a { display:block; margin:8px 0 4px; overflow-wrap:anywhere; }
.recebimento-meta { margin-top:10px; font-size:12px; line-height:1.6; }
.recebimento-observacao { white-space:pre-wrap; overflow-wrap:anywhere; }
.recebimento-acoes { display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
.recebimento-dialog fieldset { padding:16px; margin-top:22px; border:1px solid var(--recebimento-borda); border-radius:12px; min-width:0; }
.recebimento-dialog legend { font-weight:600; padding:0 5px; }
.recebimento-dialog .campo { display:flex; flex-direction:column; gap:6px; margin-bottom:16px; min-width:0; }
.recebimento-dialog label { display:block; margin:0; font-size:12px; line-height:1.5; }
.recebimento-dialog input,.recebimento-dialog select,.recebimento-dialog textarea { width:100%; min-width:0; box-sizing:border-box; }
.recebimento-dialog input[type=file] { padding:8px; }
.recebimento-fonte { display:flex; align-items:center; gap:8px; min-width:0; }
.recebimento-fonte > input,.recebimento-fonte > select { flex:1; width:0; }
.recebimento-fonte .acao { flex-shrink:0; }
.recebimento-dialog [hidden] { display:none !important; }
.recebimento-grade { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.recebimento-dialog details textarea { margin-top:10px; }
#recebimentoStatus { margin:16px 0 0; line-height:1.5; overflow-wrap:anywhere; }
.recebimento-resumo { padding:14px 0; border-bottom:1px solid var(--recebimento-borda); }
.recebimento-resumo > div { min-width:0; overflow-wrap:anywhere; }
.recebimento-resumo .acao { flex-shrink:0; }
.recebimentos-resumo details { margin-top:14px; }
@media(max-width:600px) {
  .recebimento-dialog { padding:16px; width:calc(100vw - 16px); }
  .recebimento-grade { grid-template-columns:1fr; gap:0; }
  .recebimento-fonte,.recebimento-resumo { flex-direction:column; align-items:stretch; }
  .recebimento-fonte > input,.recebimento-fonte > select { width:100%; flex:auto; }
}

/* Continuidade de autos: identificação primeiro, histórico sob demanda. */
.dlc-anterior-dialog{width:min(980px,94vw);max-height:88vh;border:1px solid var(--linha);border-radius:16px;padding:24px;color:var(--tinta);background:var(--papel);overflow:auto}
.dlc-anterior-dialog::backdrop{background:rgba(15,30,44,.45)}
.dlc-anterior-ajuda{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:6px;border:1px solid var(--linha);border-radius:6px;color:var(--azul);cursor:help}
.dlc-anterior-topo,.dlc-anterior-resultado,.dlc-historico-documento{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.dlc-anterior-topo h3{margin:0}.dlc-anterior-topo p{margin:8px 0 20px;color:var(--tinta-fraca)}
.dlc-anterior-busca{display:flex;align-items:flex-end;gap:12px}.dlc-anterior-busca .campo{flex:1}
.dlc-anterior-resultado{padding:16px 0;border-top:1px solid var(--linha,#dbe2eb)}
.dlc-anterior-resultado>div{min-width:0;flex:1}.dlc-anterior-resultado p{margin:8px 0;overflow-wrap:anywhere}
.dlc-anterior-resultado small{display:block;color:var(--tinta-fraca);line-height:1.5}
.dlc-anterior-parecer{margin-left:12px;color:var(--azul,#245775)}.dlc-anterior-resultado button{flex-shrink:0}
#dlcAnteriorConfirmacao{margin-top:20px;padding:20px;border:1px solid var(--linha,#dbe2eb);border-radius:12px}
#dlcAnteriorConfirmacao h4{margin-top:0}#dlcAnteriorConfirmacao .campo{margin:16px 0}#dlcAnteriorConfirmacao button{margin-top:12px}
.dlc-anterior-impedimento{color:var(--tinta-fraca);font-size:.9em}
.dlc-historico-anterior h3{margin:0}.dlc-historico-anterior>p{margin:12px 0}.dlc-historico-anterior summary{cursor:pointer;padding:12px 0}
.dlc-historico-documento{padding:12px 0;border-top:1px solid var(--linha,#dbe2eb)}.dlc-historico-documento small{display:block;margin-top:6px}
@media(max-width:640px){.dlc-anterior-dialog{padding:16px}.dlc-anterior-resultado{flex-direction:column;gap:10px}.dlc-anterior-parecer{display:block;margin:6px 0 0}.dlc-anterior-busca{flex-wrap:wrap}.dlc-anterior-busca .campo{flex-basis:100%}}
/* Peças oficiais: acesso direto, com localização fora do PDF assinado. */
.pecas-pgm-dlc > summary { display:flex; align-items:center; gap:10px; cursor:pointer; padding:4px 0; }
.pecas-pgm-dlc > summary::before { content:'▸'; }
.pecas-pgm-dlc[open] > summary::before { content:'▾'; }
.pecas-pgm-lista { list-style:none; margin:0; padding:0; }
.pecas-pgm-lista > li { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; border-top:1px solid var(--linha); }
.peca-pgm-identidade { display:grid; gap:5px; min-width:0; overflow-wrap:anywhere; }
.peca-pgm-acoes { display:flex; align-items:center; flex-wrap:wrap; gap:8px; flex-shrink:0; }
.peca-pgm-acoes .acao { margin:0; }
.peca-pgm-visualizador { width:min(1200px, 96vw); max-width:96vw; height:92vh; max-height:92vh; margin:auto; padding:0; border:1px solid var(--linha); border-radius:12px; color:var(--tinta); background:var(--papel); }
.peca-pgm-visualizador::backdrop { background:rgba(16,32,48,.55); }
.peca-pgm-janela { height:100%; display:flex; flex-direction:column; min-height:0; }
.peca-pgm-janela header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; border-bottom:1px solid var(--linha); }
.peca-pgm-janela header h2 { margin:0; font-size:17px; overflow-wrap:anywhere; }
.peca-pgm-janela header button { flex-shrink:0; margin:0; }
.peca-pgm-contexto { display:grid; gap:10px; padding:14px 16px; }
.peca-pgm-referencia { font-weight:600; }
.peca-pgm-janela iframe { display:block; flex:1; width:100%; min-height:120px; border:0; background:#edf0f4; }
@media(max-width:700px) {
  .pecas-pgm-lista > li { align-items:flex-start; flex-direction:column; gap:10px; }
  .peca-pgm-contexto { padding:12px; }
  .peca-pgm-janela header { padding:12px; }
}
/* Consulta de pendências e conflitos: nenhuma ação primária misturada à busca. */
.busca-pendencias { margin: 16px 0; }
.busca-pendencias > form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:end; }
.busca-pendencias > form > .acoes-linha { margin:0; padding:0; align-self:end; }
.busca-pendencias .campo { min-width:0; }
.busca-pendencias input,.busca-pendencias select { width:100%; max-width:100%; box-sizing:border-box; }
.busca-pendencias-avancada { grid-column:1 / -1; }
.busca-pendencias-avancada summary { cursor:pointer; padding:8px 0; }
.busca-pendencias .busca-pendencias-avancada .formulario { margin-top:12px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:end; }
.busca-pendencia-item,.cadastro-conflitos article { border-top:1px solid var(--borda,#d7dfe8); padding:16px 0; }
.busca-pendencia-item { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.busca-pendencia-item > div { min-width:0; }
.busca-pendencia-item .etiqueta { display:inline-block; margin-left:12px; }
.busca-pendencia-item p,.cadastro-conflitos p { margin:8px 0; }
.busca-pendencia-item small,.cadastro-conflitos small { overflow-wrap:anywhere; }
.cadastro-conflitos { border-left:4px solid #a96700; margin:16px 0; scroll-margin-top:16px; }
.cadastro-conflitos:focus { outline:2px solid #256086; outline-offset:3px; }
.cadastro-conflitos textarea { width:100%; box-sizing:border-box; }
[data-cota-busca][hidden],#bfVisaoPadrao[hidden] { display:none!important; }
@media(max-width:700px) {
  .busca-pendencias > form { grid-template-columns:minmax(0,1fr); }
  .busca-pendencias .acoes-linha { flex-wrap:wrap; }
  .busca-pendencias .busca-pendencias-avancada .formulario { grid-template-columns:minmax(0,1fr); }
  .busca-pendencia-item { flex-direction:column; align-items:stretch; }
  .busca-pendencia-item .etiqueta { margin:8px 0 0; display:block; }
}
/* Devolução por suspeição: ações espaçadas e leitura sem ambiguidade. */
.suspeicao-card {display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--borda,#d9e1e9);border-left:4px solid #936e27;border-radius:12px;background:var(--papel,#fff);margin:16px 0;min-width:0;overflow-wrap:anywhere}
.suspeicao-card p {margin:0}
.suspeicao-card .acoes-linha,.suspeicao-dialog .acoes-linha {display:flex;gap:12px;flex-wrap:wrap}
.suspeicao-motivo {white-space:pre-wrap}
.ct-filtros {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:12px 0 18px}
.ct-filtros .campo {min-width:0;display:flex;flex-direction:column;gap:8px}
.ct-filtros .campo label {min-height:20px;margin:0}
.ct-filtros .ct-busca {grid-column:span 4}
.ct-avancados {margin:12px 0}
.ct-avancados summary,.ct-ajuda summary {cursor:pointer}
.ct-recorte {border-top:1px solid var(--borda);padding-top:16px}
.ct-abas {display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
.ct-abas .acao {gap:8px}
.ct-metricas {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}
.ct-metrica {display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;border:1px solid var(--borda);border-radius:12px;background:var(--papel);color:inherit;cursor:pointer;font:inherit;text-align:left}
.ct-metrica strong {font-size:24px}.ct-metrica span {font-size:13px}
.ct-metrica[aria-pressed="true"] {outline:2px solid var(--azul,#245c7f);outline-offset:1px}
.ct-resultados {margin-top:18px}.ct-resultados td {vertical-align:top}.ct-resultados td .acoes-linha {gap:12px;flex-wrap:wrap}
.ct-paginacao {display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.ct-vencido {color:#ad3535;font-size:12px;margin-top:6px}
#centralContencioso[aria-busy="true"] .ct-resultados {opacity:.55}
#centralContencioso[aria-busy="true"] #ct-carregamento::after {content:"Atualizando…"}
#cjErro {color:#ad3535}
@media(max-width:800px){.ct-filtros{grid-template-columns:repeat(2,minmax(0,1fr))}.ct-filtros .ct-busca{grid-column:span 2}.ct-metricas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.ct-filtros{grid-template-columns:1fr}.ct-filtros .ct-busca{grid-column:auto}.ct-abas .acao{flex:1 1 auto}.ct-metrica{padding:14px}}
.suspeicao-dialog {width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:24px;border:1px solid var(--borda,#d9e1e9);border-radius:16px;color:inherit;background:var(--papel,#fff);box-shadow:0 20px 60px #0003}
.suspeicao-dialog::backdrop {background:#12233480}
.suspeicao-dialog form {display:flex;flex-direction:column;gap:18px}
.suspeicao-dialog h2,.suspeicao-dialog p {margin:0}
.suspeicao-dialog .campo,.suspeicao-remessa .campo {min-width:0;display:flex;flex-direction:column;gap:8px}
.suspeicao-dialog textarea,.suspeicao-dialog select {width:100%;box-sizing:border-box}
.suspeicao-confirmacao {display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5}
.suspeicao-confirmacao input {flex:0 0 auto;width:18px;height:18px;margin:2px 0}
#suspeicaoErro {color:#a3242b}
.suspeicao-remessa {padding:16px;border:1px solid var(--borda,#d9e1e9);border-radius:10px;display:grid;gap:16px;margin-bottom:16px}
@media(max-width:500px){.suspeicao-dialog{padding:16px}.suspeicao-card{padding:16px}.suspeicao-dialog .acoes-linha button{flex:1 1 100%}}
/* Orientações: cópia verificável e original assinado têm ações distintas. */
.documentos-publicos .orientacao-arquivo-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  flex: 0 0 auto;
}
@media (max-width: 700px) {
  .documentos-publicos > li { flex-wrap: wrap; gap: 14px; }
  .documentos-publicos .orientacao-arquivo-acoes { flex: 1 1 100%; }
}
/* Confirmação de recebimento: separa a prova da explicação sem colar os textos. */
.recebimento-dossie > small { display:block; margin-top:4px; }
.recebimento-dossie > button { margin-left:8px; }
.cancelamento-dlc-acoes {display:flex;justify-content:flex-end;gap:12px;padding:0 16px 14px}
.cancelamento-dlc-acoes:empty {display:none}
.assinatura-a3-acoes {display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-top:12px}
.assinatura-a3-acoes > small {flex:1 1 180px;padding-top:8px;color:var(--tinta-fraca)}
.assinatura-a3-acoes [data-resultado-a3] {flex:1 1 100%;display:grid;gap:10px;overflow-wrap:anywhere}
.assinatura-a3-acoes [data-resultado-a3]:empty {display:none}
.assinatura-a3-acoes .acoes-linha {gap:10px;flex-wrap:wrap}
.assinatura-a3-dialog {width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 40px);box-sizing:border-box;overflow:auto;padding:24px;border:1px solid var(--borda);border-radius:14px;background:var(--papel);color:var(--tinta);box-shadow:var(--sombra-elevada)}
.assinatura-a3-dialog::backdrop {background:#12233480}
.assinatura-a3-dialog h2 {margin:0 0 16px;font-size:20px}
.assinatura-a3-dialog p {line-height:1.6;overflow-wrap:anywhere}
.assinatura-a3-dialog details {margin-top:18px;padding:12px;background:var(--fundo);border-radius:8px}
.assinatura-a3-dialog .acoes-linha {display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.assinatura-a3-dialog [data-estado-a3] {padding:12px;border-left:3px solid var(--azul);background:var(--fundo)}
@media(max-width:500px){.assinatura-a3-dialog{padding:16px}.assinatura-a3-dialog .acoes-linha button{flex:1 1 100%}}
.cancelamento-dlc-dialog {width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);box-sizing:border-box;overflow-y:auto;padding:24px;border:1px solid var(--borda);border-radius:14px;background:var(--papel);color:var(--tinta);box-shadow:var(--sombra-elevada)}
.cancelamento-dlc-dialog::backdrop {background:#12233480}
.cancelamento-dlc-dialog form {display:flex;flex-direction:column;gap:16px;min-width:0}
.cancelamento-dlc-dialog h2,.cancelamento-dlc-dialog p {margin:0;overflow-wrap:anywhere}
.cancelamento-dlc-identidade {padding:14px;background:var(--superficie-secundaria);border-radius:9px;display:grid;gap:6px}
.cancelamento-dlc-dialog .campo {display:flex;flex-direction:column;gap:8px;min-width:0}
.cancelamento-dlc-dialog .campo[hidden] {display:none}
.cancelamento-dlc-dialog input,.cancelamento-dlc-dialog select,.cancelamento-dlc-dialog textarea {box-sizing:border-box;width:100%}
.cancelamento-dlc-confirmacao {display:flex;align-items:flex-start;gap:12px;line-height:1.5}
.cancelamento-dlc-confirmacao input {flex:0 0 18px;width:18px;height:18px;margin:3px 0}
.cancelamento-dlc-dialog .acoes-linha {display:flex;gap:12px;flex-wrap:wrap}
#cancelarDlcErro {color:var(--vermelho)}
@media(max-width:500px){.cancelamento-dlc-dialog{padding:16px}.cancelamento-dlc-dialog .acoes-linha button{flex:1 1 100%}}

/* Número previsto: informativo, independente dos campos e sem ocupar uma etapa. */
.previa-numero-pa {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--borda);border-radius:10px;background:var(--fundo);min-width:0;margin-bottom:16px}
.previa-numero-pa-info {display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}
.previa-numero-pa-titulo {font-size:12px;color:var(--tinta-fraca);line-height:1.4}
.previa-numero-pa strong {font-size:17px;line-height:1.4;font-variant-numeric:tabular-nums}
.previa-numero-pa small {font-size:12px;line-height:1.5;color:var(--tinta-fraca)}
.previa-numero-pa > button {flex:0 0 auto;white-space:nowrap}
#cadNumeroAutomatico .previa-numero-pa {margin-bottom:0;height:100%;box-sizing:border-box}
@media(max-width:600px){.previa-numero-pa{align-items:flex-start;flex-direction:column;gap:12px}.previa-numero-pa > button{align-self:flex-start}}
/* Despacho vinculado a parecer já publicado, com outro aguardando despacho. */
.aviso-vinculo-despacho { display: block; margin-top: 4px; color: #8a4b00; font-weight: 600; }
.aviso-vinculo-despacho[hidden] { display: none; }
html[data-tema="escuro"] .aviso-vinculo-despacho { color: #f6d58a; }
/* Ato derivado com emissão cancelada (histórico, sem efeito) e o diálogo do cancelamento. */
.status-publicacao-cancelado { color: var(--vermelho); background: var(--vermelho-claro); border-color: var(--vermelho-borda); }
.ato-cancelado-nota { margin-top: 10px; }
.dialogo-cancelar-emissao { width: min(620px, calc(100vw - 32px)); max-height: 85vh; box-sizing: border-box; padding: 24px; border: 1px solid var(--borda, #d7e0e9); border-radius: 16px; background: var(--papel, #fff); color: var(--tinta, #193b59); }
.dialogo-cancelar-emissao::backdrop { background: #122b4466; }
.dialogo-cancelar-emissao h2 { margin: 0 0 10px; }
.dialogo-cancelar-emissao .cancelar-outros { display: grid; gap: 6px; margin: 12px 0; padding: 10px 12px; border: 1px solid var(--borda, #d7e0e9); border-radius: 10px; }
.dialogo-cancelar-emissao textarea { width: 100%; box-sizing: border-box; }
/* Portal: nova versão de parecer complementar substituído depois de publicado. */
.nota-versao-parecer { display: block; margin: 4px 0 0; color: #5b6b78; font-size: 13px; }
html[data-tema="escuro"] .nota-versao-parecer, html[data-tema-portal="escuro"] .nota-versao-parecer { color: #a8b3bf; }
/* Substituição integral do complementar: versão anterior e nova versão. */
.status-publicacao-substituido { color: #5b6b78; background: #f1f3f5; border-color: #d5dbe1; }
html[data-tema="escuro"] .status-publicacao-substituido { color: #b5bec8; background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); }
.ato-substituido-nota, .ato-nova-versao-nota { margin-top: 10px; }
.substituir-outros { display: grid; gap: 6px; padding: 10px 12px; border: 1px solid var(--borda, #d7e0e9); border-radius: 10px; }
/* Despacho emitido junto com o complementar (mesmo clique, já vinculado). */
.despacho-junto { min-width: 0; margin: 4px 0 0; padding: 12px 14px; border: 1px solid var(--borda); border-radius: 10px; }
.despacho-junto[hidden] { display: none; }
.despacho-junto legend { padding: 0 6px; font-weight: 600; }
.despacho-junto-campos { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.despacho-junto > small { display: block; margin-top: 8px; color: var(--tinta-fraca); }
/* Substituição desfeita: o ato anterior voltou a valer. */
.ato-substituicao-desfeita-nota { margin-top: 10px; }
