/* 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. */

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

.dlc-quadro-pagina {
  --quadro-laranja: #d9480f; --quadro-laranja-claro: rgba(217, 72, 15, .1);
  --quadro-ambar: #b76e00; --quadro-ambar-claro: rgba(214, 139, 0, .12);
  --quadro-cinza: #7a7d85; --quadro-cinza-claro: rgba(118, 118, 128, .12);
}
html[data-tema="escuro"] .dlc-quadro-pagina {
  --quadro-laranja: #ff8f5a; --quadro-laranja-claro: rgba(255, 143, 90, .15);
  --quadro-ambar: #f5b942; --quadro-ambar-claro: rgba(245, 185, 66, .14);
  --quadro-cinza: #a1a4ad; --quadro-cinza-claro: rgba(255, 255, 255, .08);
}
.dlc-quadro-pagina [data-coluna] { --cor-coluna: var(--acento); --cor-coluna-claro: var(--acento-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(--azul); --cor-coluna-claro: var(--azul-claro); }
.dlc-quadro-pagina [data-coluna="pgm"] {
  --cor-coluna: var(--nucleo-consultivo, #5b5bd6); --cor-coluna-claro: var(--nucleo-consultivo-claro, rgba(91, 91, 214, .1));
}
.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(--verde); --cor-coluna-claro: var(--verde-claro); }
.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(--vermelho), 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(--vermelho), var(--quadro-ambar));
}

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

.dlc-quadro-pagina { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.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: 10px 24px; 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: 3px 0 0; }
.dlc-frase { margin: 8px 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: 12px 16px; }
.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: 9px; min-width: 0; margin: 0;
  padding: 11px 14px 13px 16px; border: 1px solid var(--vidro-contorno); border-radius: 16px;
  background: var(--superficie-cartao); box-shadow: var(--sombra-cartao);
  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: 16px 0 0 16px; background: var(--azul);
}
.dlc-nova-remessa-topo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 14px; }
.dlc-nova-remessa h3 {
  margin: 0; color: var(--tinta-terciaria); font-size: 11px; font-weight: 720; letter-spacing: .06em; text-transform: uppercase;
}
.dlc-nova-remessa .acoes-cabecalho-dlc { flex-wrap: nowrap; }
.dlc-nova-remessa .acoes-cabecalho-dlc > .acao { white-space: nowrap; }
.dlc-soltar {
  display: inline-flex; align-items: center; gap: 6px; min-height: 26px; padding: 2px 10px; margin: 0;
  border: 1px dashed var(--linha-forte); border-radius: 999px; background: transparent;
  color: var(--tinta-fraca); font: inherit; font-size: 12px; font-weight: 560; cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
.dlc-soltar span { font-size: 13px; line-height: 1; }
.dlc-soltar:hover { border-color: var(--acento); background: var(--acento-suave); color: var(--azul-interativo); }

/* 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: 10px 16px; }
.dlc-barra { flex: 1 1 480px; min-width: 0; }
.dlc-barra .fila-barra { margin: 0; }
.dlc-barra .fila-filtro-resumo { margin: 8px 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: 8px; 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(--acento); border-radius: 50%; box-shadow: inset 0 0 0 2px var(--papel); }
.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(--tinta-terciaria); border-radius: 2px; }

.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: 3px; }
.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 18px; 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(--tinta-fraca); }
.dlc-quadro-pagina .quadro-coluna-recolhida .quadro-coluna-expandir-titulo { color: var(--tinta-fraca); }
/* 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(--tinta); font-size: 13.5px; font-weight: 700; letter-spacing: .003em; }
.dlc-quadro-pagina .quadro-chip.especie { font-weight: 600; }

/* ---------- 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(--acento) 55%, var(--quadro-cartao-borda));
}
.dlc-recebendo-arquivos #dlcNovaRemessa { border-style: dashed; border-color: color-mix(in srgb, var(--acento) 60%, transparent); }
.quadro-cartao.dlc-alvo-arquivos, #dlcNovaRemessa.dlc-alvo-arquivos {
  border-style: solid; border-color: var(--acento); background: color-mix(in srgb, var(--acento-suave) 60%, var(--quadro-cartao-fundo, var(--papel)));
  box-shadow: 0 0 0 3px var(--acento-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: 3px 10px; border-radius: 999px; background: var(--acento); color: #fff;
  font-size: 11.5px; font-weight: 650; 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: 12px; margin: 0 0 12px; }
.dlc-arquivos-aguardando > div { display: grid; gap: 3px; min-width: 0; }
.dlc-arquivos-aguardando span { color: var(--tinta-fraca); font-size: 12.5px; overflow-wrap: anywhere; }
.dlc-arquivos-aguardando small { color: var(--tinta-terciaria); font-size: 12px; }
.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(--acento-suave), 0 0 0 3px color-mix(in srgb, var(--acento) 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(--acento-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: 6px;
    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: 8px 16px; }
  .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: 6px; font-size: 13.5px; }
  .dlc-nova-remessa { padding: 11px 12px 12px 14px; }
  .dlc-soltar { display: none; }
  .dlc-barra { flex-basis: 100%; }
  .dlc-quadro-pagina .quadro-seletor button { gap: 5px; padding: 6px 6px; font-size: 12.5px; }
  .dlc-quadro-pagina .quadro-seletor-conta { min-width: 20px; padding: 0 5px; }
  .dlc-arquivos-aguardando { flex-direction: column; }
}
