/* e-PGM · quadro da "Instrução DLC-PGM".
 *
 * Carregada depois de quadro-nucleos.css, quadro-painel.css e
 * quadro-consultivo.css, com as mesmas peças: colunas (.quadro-coluna),
 * cartões (.quadro-cartao), filtros (.fila-filtro), próximo passo
 * (.quadro-proximo) e "Continuar do próximo" (.fila-proximo). Aqui ficam só
 * as diferenças: a cor de cada etapa, o topo (frase, próximo passo e "Nova
 * remessa à PGM"), a busca em uma linha, cinco colunas lado a lado a partir
 * de 1100 px, os alvos de arrastar PDFs e o realce do bloco da instrução
 * aberto por um cartão. Usa só os tokens de vidro.css. Remover o <link>
 * deixa a tela legível, com as colunas de quadro-painel.css. */

@layer telas {

/* ---------- cor de cada etapa ---------- */

.dlc-quadro-pagina {
  --quadro-laranja: var(--atencao); --quadro-laranja-claro: var(--atencao-suave);
  --quadro-ambar: var(--atencao); --quadro-ambar-claro: var(--atencao-suave);
  --quadro-cinza: var(--texto-3); --quadro-cinza-claro: var(--neutro-suave);
}
html[data-tema="escuro"] .dlc-quadro-pagina {
  --quadro-laranja: var(--atencao); --quadro-laranja-claro: var(--atencao-suave);
  --quadro-ambar: var(--atencao); --quadro-ambar-claro: var(--atencao-suave);
  --quadro-cinza: var(--texto-2); --quadro-cinza-claro: var(--neutro-suave);
}
.dlc-quadro-pagina [data-coluna] { --cor-coluna: var(--texto-3); --cor-coluna-claro: var(--neutro-suave); }
/* No DLC: azul do Departamento. Na Procuradoria: índigo do Consultivo.
 * Diligência: vermelho a âmbar (prazo). Parecer emitido: verde. */
.dlc-quadro-pagina [data-coluna="dlc"] { --cor-coluna: var(--texto-3); --cor-coluna-claro: var(--neutro-suave); }
.dlc-quadro-pagina [data-coluna="pgm"] {
  --cor-coluna: var(--texto-3); --cor-coluna-claro: var(--neutro-suave);
}
.dlc-quadro-pagina [data-coluna="diligencia"] { --cor-coluna: var(--quadro-laranja); --cor-coluna-claro: var(--quadro-laranja-claro); }
.dlc-quadro-pagina [data-coluna="emitido"] { --cor-coluna: var(--ok); --cor-coluna-claro: var(--ok-suave); }
.dlc-quadro-pagina [data-coluna="concluidos"] { --cor-coluna: var(--quadro-cinza); --cor-coluna-claro: var(--quadro-cinza-claro); }
.dlc-quadro-pagina .quadro-painel .quadro-coluna { --cor-nucleo: var(--cor-coluna); --cor-nucleo-claro: var(--cor-coluna-claro); }
.dlc-quadro-pagina .quadro-coluna[data-coluna="diligencia"] > .quadro-coluna-topo {
  box-shadow: none;
  background: linear-gradient(90deg, var(--vencido), var(--quadro-ambar)) top / 100% 3px no-repeat, var(--quadro-topo-fundo);
}
.dlc-quadro-pagina .quadro-coluna[data-coluna="diligencia"] > .quadro-coluna-topo h3::before {
  background: linear-gradient(135deg, var(--vencido), var(--quadro-ambar));
}

/* ---------- credenciamento: vencimento do edital e checklist ---------- */

.credenciamento-dlc .cartao-topo { align-items: flex-start; }
.credenciamento-folga { display: inline-block; padding: 1px var(--e-2); border-radius: var(--raio-pilula); font-weight: 600; }
.credenciamento-folga.vermelho { color: var(--vencido); background: var(--vencido-suave); }
.credenciamento-folga.ambar { color: var(--atencao); background: var(--atencao-suave); }
.credenciamento-folga.verde { color: var(--ok); background: var(--ok-suave); }
.checklist-credenciamento { display: grid; gap: var(--e-2); margin: var(--e-3) 0 0; padding: 0; list-style: none; }
.checklist-credenciamento li {
  display: flex; align-items: center; gap: var(--e-3); min-height: 38px; padding: var(--e-2) var(--e-3);
  border-radius: var(--raio-2); background: var(--superficie-2);
}
.checklist-credenciamento li > span:first-child {
  display: inline-grid; flex: none; place-items: center; width: 22px; height: 22px;
  border-radius: 50%; font-size: var(--fs-1); font-weight: 600;
}
.checklist-credenciamento li.ok > span:first-child { color: var(--ok); background: var(--ok-suave); }
.checklist-credenciamento li.falta > span:first-child { color: var(--atencao); background: var(--atencao-suave); }
.checklist-credenciamento li.facultativo > span:first-child { color: var(--texto-2); background: var(--superficie-3); }
.checklist-credenciamento li > span:nth-child(2) { flex: 1 1 auto; min-width: 0; }
.checklist-credenciamento small { color: var(--texto-2); }
.checklist-credenciamento .acao { flex: none; margin: 0; }

/* ---------- página ---------- */

.dlc-quadro-pagina { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--e-3); }
.dlc-quadro-pagina > * { min-width: 0; margin-block: 0; }
.dlc-quadro-pagina > .cabecalho-tela.dlc-cabecalho {
  display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-start; justify-content: space-between;
  gap: var(--e-3) var(--e-5); margin: 0 0 2px;
}
.dlc-cabecalho-texto { flex: 1 1 520px; min-width: 0; }
.dlc-cabecalho-texto h2 { margin: 0; }
.dlc-cabecalho-texto > .recuo { margin: var(--e-1) 0 0; }
.dlc-frase { margin: var(--e-2) 0 0; }
.dlc-frase:empty { display: none; }
.dlc-cabecalho > .acao { flex: none; margin: 0; }

/* Próximo passo ao lado de "Nova remessa à PGM". */
.dlc-destaque { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: var(--e-3) var(--e-4); }
.dlc-destaque.sem-remessa { grid-template-columns: minmax(0, 1fr); }
.dlc-destaque > * { min-width: 0; }
.dlc-proximo { display: grid; }
.dlc-proximo:empty { display: none; }
.dlc-proximo > .quadro-proximo { min-height: 100%; }

.dlc-nova-remessa {
  position: relative; display: grid; align-content: center; gap: var(--e-2); min-width: 0; margin: 0;
  padding: var(--e-3) var(--e-4) var(--e-3) var(--e-4); border: 1px solid var(--linha); border-radius: var(--raio-3);
  background: var(--superficie); box-shadow: var(--sombra-1);
  transition: border-color .15s ease, background-color .15s ease, box-shadow .18s ease;
}
.dlc-nova-remessa::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; border-radius: var(--raio-3) 0 0 var(--raio-3); background: var(--acao);
}
.dlc-nova-remessa-topo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--e-1) var(--e-4); }
.dlc-nova-remessa h3 {
  margin: 0; color: var(--texto-3); font-size: var(--fs-1); font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
}
/* Quatro começos (contratação, aditivo, credenciamento e correções): quebram
   de linha quando falta espaço, sem empurrar a página para o lado. */
.dlc-nova-remessa .acoes-cabecalho-dlc { flex-wrap: wrap; }
.dlc-nova-remessa .acoes-cabecalho-dlc > .acao { white-space: nowrap; }
.dlc-soltar {
  display: inline-flex; align-items: center; gap: var(--e-2); min-height: 26px; padding: 2px var(--e-3); margin: 0;
  border: 1px dashed var(--linha-forte); border-radius: var(--raio-pilula); background: transparent;
  color: var(--texto-2); font: inherit; font-size: var(--fs-1); font-weight: 600; cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
.dlc-soltar span { font-size: var(--fs-2); line-height: 1; }
.dlc-soltar:hover { border-color: var(--acao); background: var(--acao-suave); color: var(--link); }

/* Busca em uma linha, ao lado de Quadro | Lista e dos filtros rápidos. */
.dlc-ferramentas { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-3) var(--e-4); }
.dlc-barra { flex: 1 1 480px; min-width: 0; }
.dlc-barra .fila-barra { margin: 0; }
.dlc-barra .fila-filtro-resumo { margin: var(--e-2) 0 0; }
/* .filtros só para "Atualizar" não confundir filtro com formulário não salvo. */
.dlc-quadro-pagina .filtros.dlc-busca {
  display: flex; flex-wrap: nowrap; align-items: center; gap: var(--e-2); flex: 1 1 560px; max-width: 700px; min-width: 0;
  margin: 0 0 0 auto; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none;
}
.dlc-busca input { flex: 1 1 200px; min-width: 0; min-height: 36px; }
.dlc-busca select { flex: 0 1 172px; min-width: 0; min-height: 36px; }
.dlc-busca > .acao { flex: none; margin: 0; }
.dlc-quadro-pagina .fila-filtro-vez::before { background: var(--acao); border-radius: 50%; box-shadow: inset 0 0 0 2px var(--superficie); }
.dlc-quadro-pagina .fila-filtro-vencendo::before { background: var(--quadro-laranja); box-shadow: 0 0 0 2px var(--quadro-laranja-claro); }
.dlc-quadro-pagina .fila-filtro-parado::before { background: var(--neutro-medio); border-radius: var(--raio-1); }

.dlc-quadro-pagina > .nota-seguranca-dlc { margin-top: 2px; }
.dlc-quadro-pagina > #novoFluxoDlc:empty { display: none; }
.dlc-quadro-pagina #novoFluxoDlc .formulario-fluxo-dlc { margin: 0; }

/* ---------- o quadro: cinco etapas lado a lado ---------- */

@media (min-width: 1100px) {
  .dlc-quadro-pagina .quadro-painel[data-colunas="4"] { --quadro-por-linha: 4; }
  .dlc-quadro-pagina .quadro-painel[data-colunas="5"] { --quadro-por-linha: 5; }
}
/* Cabeçalho da coluna em duas linhas: etapa e contagem em cima; a
 * providência e as pílulas embaixo. Nada se corta na coluna estreita. */
.dlc-quadro-pagina .quadro-coluna-topo.qc-com-sub { flex-wrap: wrap; row-gap: var(--e-1); }
.dlc-quadro-pagina .quadro-coluna-topo.qc-com-sub h3 { flex: 0 1 auto; max-width: calc(100% - 44px); }
.dlc-quadro-pagina .quadro-coluna-topo.qc-com-sub .dlc-quebra { order: 2; flex-basis: 100%; height: 0; }
.dlc-quadro-pagina .quadro-coluna-topo.qc-com-sub .qc-coluna-sub {
  order: 3; flex: 1 1 0; min-width: 0; margin: 0 0 0 var(--e-4); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.dlc-quadro-pagina .quadro-coluna-topo.qc-com-sub .quadro-pilulas { order: 4; flex-wrap: nowrap; min-height: 22px; }
/* Concluídos: apagado, só consulta. */
.dlc-quadro-pagina .quadro-coluna[data-coluna="concluidos"] .quadro-cartao { background: transparent; box-shadow: none; }
.dlc-quadro-pagina .quadro-coluna[data-coluna="concluidos"] .quadro-cartao-objeto { color: var(--texto-2); }
.dlc-quadro-pagina .quadro-coluna-recolhida .quadro-coluna-expandir-titulo { color: var(--texto-2); }
/* Número do PA: selecionável e copiável, sem abrir o dossiê do perfil DLC. */
.dlc-quadro-pagina .quadro-cartao-id .dado-copiavel-texto { color: var(--texto); font-size: var(--fs-3); font-weight: 600; letter-spacing: .003em; }

/* ---------- arrastar PDFs para um cartão ou para a nova remessa ---------- */

.dlc-recebendo-arquivos .quadro-cartao:not([data-aceita-arquivos="1"]) { opacity: .45; }
.dlc-recebendo-arquivos .quadro-cartao[data-aceita-arquivos="1"] {
  border-style: dashed; border-color: color-mix(in srgb, var(--acao) 55%, var(--quadro-cartao-borda));
}
.dlc-recebendo-arquivos #dlcNovaRemessa { border-style: dashed; border-color: color-mix(in srgb, var(--acao) 60%, transparent); }
.quadro-cartao.dlc-alvo-arquivos, #dlcNovaRemessa.dlc-alvo-arquivos {
  border-style: solid; border-color: var(--acao); background: color-mix(in srgb, var(--acao-suave) 60%, var(--quadro-cartao-fundo, var(--superficie)));
  box-shadow: 0 0 0 3px var(--acao-suave);
}
.quadro-cartao.dlc-alvo-arquivos::after, #dlcNovaRemessa.dlc-alvo-arquivos::after {
  content: "Solte para juntar a este PA"; position: absolute; right: 10px; bottom: 8px; z-index: 2;
  padding: var(--e-1) var(--e-3); border-radius: var(--raio-pilula); background: var(--acao); color: var(--texto-sobre-acao);
  font-size: var(--fs-1); font-weight: 600; pointer-events: none;
}
#dlcNovaRemessa.dlc-alvo-arquivos::after { content: "Solte para iniciar uma nova contratação"; bottom: auto; top: 8px; }
.dlc-arquivos-aguardando { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--e-3); margin: 0 0 var(--e-3); }
.dlc-arquivos-aguardando > div { display: grid; gap: var(--e-1); min-width: 0; }
.dlc-arquivos-aguardando span { color: var(--texto-2); font-size: var(--fs-2); overflow-wrap: anywhere; }
.dlc-arquivos-aguardando small { color: var(--texto-3); font-size: var(--fs-1); }
.dlc-arquivos-aguardando > .acao { flex: none; margin: 0; }

/* Bloco da instrução aberto por uma ação do cartão. */
@media (prefers-reduced-motion: no-preference) {
  .dlc-secao-realce { animation: dlc-secao-realce 1.6s var(--mov-curva, ease-out); }
  @keyframes dlc-secao-realce {
    0% { box-shadow: 0 0 0 3px var(--acao-suave), 0 0 0 3px color-mix(in srgb, var(--acao) 45%, transparent); }
    100% { box-shadow: 0 0 0 3px transparent, 0 0 0 14px transparent; }
  }
}
@media (prefers-reduced-motion: reduce) {
  .dlc-secao-realce { box-shadow: 0 0 0 3px var(--acao-suave); }
  .dlc-nova-remessa, .dlc-soltar { transition: none; }
}

/* ---------- telas menores ---------- */

/* Entre 1100 e 1280 px, com Concluídos aberto, as cinco etapas continuam
 * lado a lado e o quadro desliza por dentro, sem rolar a página. */
@media (min-width: 1100px) and (max-width: 1279.98px) {
  .dlc-quadro-pagina .quadro-painel[data-colunas="5"] .quadro-trilho {
    grid-template-columns: repeat(5, minmax(236px, 1fr)); overflow-x: auto; padding-bottom: var(--e-2);
    scroll-snap-type: x proximity; overscroll-behavior-x: contain;
  }
  .dlc-quadro-pagina .quadro-painel[data-colunas="5"] .quadro-coluna { scroll-snap-align: start; }
}
@media (max-width: 1279.98px) {
  .dlc-destaque { grid-template-columns: minmax(0, 1fr); }
  .dlc-quadro-pagina .filtros.dlc-busca { order: -1; flex: 1 1 100%; max-width: none; margin: 0; }
  .dlc-barra { flex-basis: 100%; }
  .dlc-nova-remessa { grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--e-2) var(--e-4); }
  .dlc-nova-remessa-topo { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 760px) {
  .dlc-nova-remessa { grid-template-columns: minmax(0, 1fr); }
  .dlc-nova-remessa-topo { flex-direction: row; align-items: center; }
  .dlc-nova-remessa .acoes-cabecalho-dlc { flex-wrap: wrap; }
  .dlc-quadro-pagina .filtros.dlc-busca { flex-wrap: wrap; }
  .dlc-busca input { flex-basis: 100%; }
  .dlc-busca select { flex: 1 1 0; }
}
@media (max-width: 640px) {
  .dlc-quadro-pagina .painel-dia-frase { gap: var(--e-2); font-size: var(--fs-3); }
  .dlc-nova-remessa { padding: var(--e-3) var(--e-3) var(--e-3) var(--e-4); }
  .dlc-soltar { display: none; }
  .dlc-barra { flex-basis: 100%; }
  .dlc-quadro-pagina .quadro-seletor button { gap: var(--e-1); padding: var(--e-2) var(--e-2); font-size: var(--fs-2); }
  .dlc-quadro-pagina .quadro-seletor-conta { min-width: 20px; padding: 0 var(--e-1); }
  .dlc-arquivos-aguardando { flex-direction: column; }
}

/* SEFIN (23/10/2026): referências do Coplan em linhas editáveis e atribuição ao Fiscal. */
.ref-fiscais .rotulo-campo { display: block; font-weight: 600; margin-bottom: var(--e-1); }
.ref-fiscais .ref-fiscal-linha { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr) 7em auto; gap: var(--e-2); align-items: center; margin-bottom: var(--e-2); }
@media (max-width: 640px) { .ref-fiscais .ref-fiscal-linha { grid-template-columns: 1fr 1fr; } }
.bloco-financas .formulario-atribuicao { display: flex; flex-wrap: wrap; gap: var(--e-2) var(--e-3); align-items: flex-end; margin-top: var(--e-3); }
.bloco-financas .formulario-atribuicao .campo { flex: 0 1 360px; margin: 0; }
.bloco-financas .lista-simples { margin: var(--e-1) 0 var(--e-2); padding-left: var(--e-5); }

}
