/* Livro de emitidos (23/10/2026): abas por espécie, tabela densa e ordenável,
 * agrupamento por mês e painel lateral de detalhe (livro-emitidos.js).
 * Carregado depois de estilo.css e vidro.css; usa só os tokens de cor deles,
 * que já trazem o tema escuro. Sem este arquivo a tela continua utilizável. */

@layer telas {

/* ---------- filtros em uso: chips de um clique ---------- */
.livro-chips-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2); margin-top: var(--e-3); }
.livro-chip-filtro {
  display: inline-flex; align-items: center; gap: var(--e-1); padding: var(--e-1) var(--e-2) var(--e-1) var(--e-3); border-radius: var(--raio-pilula);
  border: 1px solid var(--acao-linha); background: var(--acao-suave); color: var(--link);
  font: inherit; font-size: var(--fs-2); line-height: 1.4; cursor: pointer; max-width: 100%;
}
.livro-chip-filtro strong { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 26ch; }
.livro-chip-filtro span { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; font-size: var(--fs-3); }
.livro-chip-filtro:hover span { background: var(--acao-suave); }

/* ---------- abas por espécie ---------- */
.livro-abas {
  display: flex; gap: 2px; margin: var(--e-5) 0 0; border-bottom: 1px solid var(--linha-forte);
  overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain;
}
.livro-abas::-webkit-scrollbar { display: none; }
.livro-aba {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: var(--e-2); margin-bottom: -1px;
  padding: var(--e-3) var(--e-4); border: 0; border-bottom: 2px solid transparent; background: none;
  color: var(--texto-2); font: inherit; font-size: var(--fs-3); font-weight: 600; white-space: nowrap; cursor: pointer;
}
.livro-aba:hover { color: var(--texto); }
.livro-aba[aria-selected=true] { color: var(--texto); border-bottom-color: var(--acao, var(--link)); }
.livro-aba-conta {
  min-width: 22px; padding: 1px var(--e-2); border-radius: var(--raio-pilula); text-align: center; font-size: var(--fs-1); font-weight: 600;
  font-variant-numeric: tabular-nums; background: var(--neutro-suave, var(--superficie-3)); color: var(--texto-2);
}
.livro-aba[aria-selected=true] .livro-aba-conta { background: var(--acao-suave); color: var(--link); }

/* ---------- barra de cada aba ---------- */
.livro-barra { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-3) var(--e-4); padding: var(--e-4) 0 var(--e-3); }
.livro-barra .livro-facetas { margin: 0; gap: var(--e-2); }
.livro-barra .livro-faceta { padding: var(--e-1) var(--e-3); border-radius: var(--raio-pilula); font-size: var(--fs-2); }
.livro-barra-direita { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2) var(--e-4); margin-left: auto; }
.livro-familias { display: flex; flex-wrap: wrap; gap: var(--e-2) var(--e-3); }
.livro-select-compacto { display: inline-flex; align-items: center; gap: var(--e-2); font-size: var(--fs-2); color: var(--texto-2); }
.livro-select-compacto select { width: auto; max-width: 220px; min-height: 32px; padding: var(--e-1) var(--e-6) var(--e-1) var(--e-2); font-size: var(--fs-2); }
.livro-proximo { font-size: var(--fs-2); color: var(--texto-2); white-space: nowrap; }
.livro-proximo strong { color: var(--texto); font-variant-numeric: tabular-nums; }
.livro-nota-especie { margin: 0; font-size: var(--fs-2); color: var(--texto-2); }
.livro-alternar-mes { display: inline-flex; align-items: center; gap: var(--e-2); margin-left: auto; font-size: var(--fs-2); color: var(--texto-2); white-space: nowrap; cursor: pointer; }
.livro-barra-direita ~ .livro-alternar-mes { margin-left: 0; }
.livro-alternar-mes input { width: 16px; height: 16px; margin: 0; }

/* ---------- área: tabela e, ao lado, o detalhe ---------- */
.livro-area { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--e-4); align-items: start; }
.livro-area.com-painel { grid-template-columns: minmax(0, 1fr) minmax(320px, 400px); }
.livro-principal { min-width: 0; }
.livro-grade-moldura {
  border: 1px solid var(--linha); border-radius: var(--raio-3); background: var(--superficie);
  box-shadow: var(--sombra-1); overflow: clip;
}
.livro-grade { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: var(--fs-3); }
.livro-grade thead th {
  position: sticky; top: var(--altura-navegacao-fixa, 0px); z-index: 2; padding: 0; text-align: left;
  background: var(--superficie-2); border-bottom: 1px solid var(--linha-forte);
}
.livro-grade th.livro-col-numero { width: 104px; }
.livro-grade th.livro-col-ato { width: 156px; }
.livro-grade th.livro-col-data { width: 102px; }
.livro-grade th.livro-col-familia { width: 27%; }
.livro-grade th.livro-col-secretaria { width: 19%; }
.livro-grade th.livro-col-situacao { width: 190px; }
.livro-grade th.livro-col-acoes { width: 128px; }
.livro-area:not(.com-painel) .livro-grade th.livro-col-situacao:nth-child(4) { width: 300px; }
.livro-ordenar, .livro-th-texto {
  display: flex; align-items: center; gap: var(--e-1); width: 100%; padding: var(--e-2) var(--e-3); border: 0; background: none;
  color: var(--texto-2); font: inherit; font-size: var(--fs-1); font-weight: 600; text-align: left; white-space: nowrap;
}
.livro-ordenar { cursor: pointer; }
.livro-ordenar:hover { color: var(--texto); }
.livro-seta { font-size: var(--fs-1); opacity: .45; }
th[aria-sort=ascending] .livro-ordenar, th[aria-sort=descending] .livro-ordenar { color: var(--texto); }
th[aria-sort=ascending] .livro-seta, th[aria-sort=descending] .livro-seta { opacity: 1; color: var(--link); }
.livro-col-acoes .livro-th-texto { justify-content: flex-end; }

.livro-grade td {
  padding: var(--e-2) var(--e-3); vertical-align: middle; border-bottom: 1px solid var(--linha);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.4;
}
.livro-grade tbody tr:last-child td { border-bottom: 0; }
.livro-grade tr.livro-linha { cursor: pointer; transition: background-color .12s ease; }
.livro-grade tr.livro-linha:hover { background: color-mix(in srgb, var(--acao) 4%, transparent); }
.livro-grade tr.livro-linha:focus-within { background: color-mix(in srgb, var(--acao) 6%, transparent); }
.livro-grade tr.livro-linha.selecionada { background: var(--acao-suave); }
.livro-grade tr.livro-linha.selecionada td:first-child { box-shadow: inset 3px 0 0 var(--acao, var(--link)); }
.livro-grade tr.livro-mes th {
  padding: var(--e-4) var(--e-3) var(--e-2); text-align: left; font-size: var(--fs-1); font-weight: 600; color: var(--texto-2);
  background: var(--superficie-2); border-bottom: 1px solid var(--linha); text-transform: none;
}
.livro-grade tr.livro-mes th::first-letter { text-transform: uppercase; }
.livro-grade tr.livro-mes span { font-weight: 500; }

/* Sem espaço na coluna, "ant." desce para a linha de baixo em vez de invadir o PA (5.14.1). */
.livro-ident { display: flex; flex-wrap: wrap; align-items: center; gap: 2px var(--e-2); min-width: 0; }
.livro-linha-abrir {
  border: 0; padding: 2px 0; background: none; color: var(--link); font: inherit; font-weight: 600;
  font-variant-numeric: tabular-nums; cursor: pointer; white-space: nowrap;
}
.livro-linha-abrir:hover { text-decoration: underline; }
.livro-linha-abrir:focus-visible, .livro-ordenar:focus-visible, .livro-aba:focus-visible,
.livro-chip-filtro:focus-visible, .livro-painel-fechar:focus-visible, .livro-painel h3:focus-visible {
  outline: 2px solid var(--acao); outline-offset: 2px; border-radius: var(--raio-1);
}
.livro-marca-discreta { font-size: var(--fs-1); color: var(--texto-2); }
.livro-especie {
  flex: 0 0 auto; padding: 1px var(--e-2); border-radius: var(--raio-1); font-size: var(--fs-1); font-weight: 600; letter-spacing: .01em;
  color: var(--link); background: var(--acao-suave);
}
.livro-especie-nota_juridica { color: var(--texto-2); background: var(--neutro-suave); }
.livro-especie-decisao_administrativa { color: var(--ok); background: var(--ok-suave); }
.livro-especie-informacao_juridica, .livro-especie-cota_juridica { color: var(--atencao); background: var(--atencao-suave); }
.livro-especie-despacho_juridico { color: var(--texto-2); background: var(--superficie-3); }
.livro-col-data, .livro-col-data time { color: var(--texto-2); font-variant-numeric: tabular-nums; }
.livro-grade td.livro-col-pa { white-space: normal; }
.livro-pa { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.livro-pa .dado-copiavel { flex-wrap: nowrap; max-width: 100%; align-items: center; }
/* O número do PA não parte em duas linhas: encurta com reticências se faltar espaço. */
.livro-grade .livro-pa .dado-copiavel-texto, .livro-grade .livro-pa .link-dossie { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.livro-pa .link-dossie { font-weight: 600; }
.livro-objeto-linha { margin-top: 2px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: var(--fs-2); color: var(--texto-2); }
.livro-sem { color: var(--texto-2); }
.livro-texto-linha { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.livro-chips-linha { display: flex; align-items: center; gap: var(--e-2); min-width: 0; overflow: hidden; }
.livro-chips-linha > * { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Em coluna estreita, a família encurta com reticências; o resultado jurídico fica inteiro. */
.livro-familia { flex: 0 1 auto; font-size: var(--fs-2); color: var(--texto-2); }
.livro-chips-linha > .livro-resultado-linha { flex: none; max-width: 100%; }
.livro-grade .status-juridico { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-size: var(--fs-1); padding: 2px var(--e-2); border-radius: var(--raio-pilula); letter-spacing: 0; text-transform: none; vertical-align: middle; }
.livro-resultado-linha { display: inline-flex; min-width: 0; }
.livro-grade .livro-situacao { padding: 2px var(--e-2); border-radius: var(--raio-pilula); font-size: var(--fs-1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; vertical-align: middle; }
.livro-situacao-verde { color: var(--ok); background: var(--ok-suave); border-color: var(--ok-linha); }
/* "Cancelada" segue a mesma grafia dos demais chips de situação (a marca antiga forçava minúsculas). */
.livro-situacao.marca-cancelada-lista { text-transform: none; }
.livro-acoes-linha { display: flex; justify-content: flex-end; gap: var(--e-2); }
.livro-acao { min-height: 28px; padding: var(--e-1) var(--e-3); font-size: var(--fs-2); white-space: nowrap; }

.livro-vazio { display: grid; justify-items: center; gap: var(--e-2); padding: var(--e-7) var(--e-4); border: 1px dashed var(--linha-forte);
  border-radius: var(--raio-3); color: var(--texto-2); text-align: center; }
.livro-vazio strong { color: var(--texto); }

.livro-resultados .livro-paginacao {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--e-3) var(--e-4);
  margin: 0; padding: var(--e-3) 2px 0; border: 0;
}
.livro-resultados .livro-paginacao .livro-contagem { margin: 0 auto 0 0; font-size: var(--fs-2); font-variant-numeric: tabular-nums; }
.livro-resultados .livro-paginacao label { margin: 0; font-size: var(--fs-2); color: var(--texto-2); }
.livro-pagina-atual { font-size: var(--fs-2); color: var(--texto-2); font-variant-numeric: tabular-nums; }

/* ---------- painel lateral de detalhe ---------- */
.livro-painel {
  position: sticky; top: calc(var(--altura-navegacao-fixa, 0px) + 12px);
  max-height: calc(100vh - var(--altura-navegacao-fixa, 0px) - 24px); overflow: auto; overscroll-behavior: contain;
  padding: var(--e-4) var(--e-4) var(--e-5); border: 1px solid var(--linha); border-radius: var(--raio-3);
  background: var(--superficie); box-shadow: var(--sombra-1);
}
.livro-painel[hidden] { display: none; }
.livro-painel-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--e-3); }
.livro-painel-cab { min-width: 0; }
.livro-painel h3 { margin: var(--e-2) 0 var(--e-2); font-size: var(--fs-5); line-height: 1.3; overflow-wrap: anywhere; }
.livro-painel h4 { margin: 0 0 var(--e-2); font-size: var(--fs-1); font-weight: 600; color: var(--texto-2); text-transform: none; letter-spacing: 0; }
.livro-painel section { margin-top: var(--e-4); padding-top: var(--e-3); border-top: 1px solid var(--linha); min-width: 0; }
.livro-painel-acoes { display: flex; flex-wrap: wrap; gap: var(--e-2); margin-top: var(--e-3); }
.livro-painel-fechar {
  flex: 0 0 auto; width: 32px; height: 32px; border: 0; border-radius: 50%; cursor: pointer;
  background: var(--neutro-suave, var(--superficie-3)); color: var(--texto-2); font-size: var(--fs-5); line-height: 1;
}
.livro-painel-fechar:hover { background: var(--neutro-medio, var(--superficie-3)); color: var(--texto); }
.livro-objeto-painel, .livro-ementa-painel { margin: var(--e-2) 0 0; line-height: 1.55; overflow-wrap: anywhere; }
.livro-familia-painel { margin: var(--e-2) 0 0; font-size: var(--fs-2); color: var(--texto-2); overflow-wrap: anywhere; }
.livro-dados-painel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--e-3) var(--e-4); margin: 0; }
.livro-dados-painel dt { font-size: var(--fs-1); color: var(--texto-2); }
.livro-dados-painel dd { margin: 2px 0 0; overflow-wrap: anywhere; }
.livro-painel .consultivo-resumo { margin-top: 2px; }

/* Telas médias: o detalhe vira gaveta à direita, sobre a lista. */
@media (max-width: 1180px) {
  .livro-area.com-painel { grid-template-columns: minmax(0, 1fr); }
  .livro-painel {
    position: fixed; top: 0; right: 0; bottom: 0; z-index: 55; width: min(440px, 100vw); max-height: none;
    border-radius: var(--raio-3) 0 0 var(--raio-3); box-shadow: var(--sombra-2);
    background: var(--superficie);
  }
  .livro-grade th.livro-col-familia { width: 30%; }
}

/* Tabela estreita (ao lado do detalhe ou em tela média): colunas fixas mais justas,
   para o PA · objeto, que é o que identifica o ato, não ser espremido. */
.livro-area.com-painel .livro-grade th.livro-col-numero { width: 92px; }
.livro-area.com-painel .livro-grade th.livro-col-ato { width: 140px; }
.livro-area.com-painel .livro-grade th.livro-col-data { width: 100px; }
.livro-area.com-painel .livro-grade th.livro-col-familia { width: 23%; }
.livro-area.com-painel .livro-grade th.livro-col-situacao { width: 178px; }
.livro-area.com-painel .livro-grade th.livro-col-acoes { width: 108px; }

@media (max-width: 1000px) {
  .livro-grade th.livro-col-secretaria { width: 0; }
  .livro-grade td.livro-col-secretaria, .livro-grade th.livro-col-secretaria { display: none; }
  .livro-grade th.livro-col-numero, .livro-area.com-painel .livro-grade th.livro-col-numero { width: 88px; }
  .livro-grade th.livro-col-ato, .livro-area.com-painel .livro-grade th.livro-col-ato { width: 136px; }
  .livro-grade th.livro-col-data, .livro-area.com-painel .livro-grade th.livro-col-data { width: 100px; }
  .livro-grade th.livro-col-familia, .livro-area.com-painel .livro-grade th.livro-col-familia { width: 22%; }
  .livro-grade th.livro-col-situacao, .livro-area.com-painel .livro-grade th.livro-col-situacao { width: 178px; }
  .livro-area:not(.com-painel) .livro-grade th.livro-col-situacao:nth-child(4) { width: 210px; }
  .livro-grade th.livro-col-acoes, .livro-area.com-painel .livro-grade th.livro-col-acoes { width: 104px; }
}

/* Tablet: resultado em cima e família embaixo (como PA · objeto), para sobrar espaço ao número do PA. */
@media (min-width: 761px) and (max-width: 900px) {
  .livro-grade th.livro-col-familia, .livro-area.com-painel .livro-grade th.livro-col-familia { width: 128px; }
  .livro-grade td.livro-col-familia .livro-chips-linha { flex-direction: column-reverse; align-items: flex-start; gap: 2px; }
  .livro-grade td.livro-col-familia .livro-familia { max-width: 100%; font-size: var(--fs-1); }
}

/* Celular: cada linha vira um cartão compacto, sem rolagem lateral. */
@media (max-width: 760px) {
  .livro-grade-moldura { border-radius: var(--raio-2); }
  .livro-grade thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .livro-grade, .livro-grade tbody { display: block; }
  .livro-grade tr.livro-linha {
    display: grid; grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "num data" "pa pa" "extra extra" "sit acoes"; gap: var(--e-1) var(--e-3); padding: var(--e-3) var(--e-4);
    border-bottom: 1px solid var(--linha);
  }
  .livro-grade tr.livro-linha:last-child { border-bottom: 0; }
  .livro-grade td { display: block; padding: 0; border: 0; overflow: hidden; }
  .livro-grade td.livro-col-numero, .livro-grade td.livro-col-ato { grid-area: num; }
  .livro-grade td.livro-col-data { grid-area: data; justify-self: end; font-size: var(--fs-2); }
  .livro-grade td.livro-col-pa { grid-area: pa; }
  .livro-grade td.livro-col-familia, .livro-grade td.livro-col-secretaria { grid-area: extra; display: block; }
  .livro-grade td.livro-col-situacao { grid-area: sit; align-self: center; }
  .livro-grade td.livro-col-acoes { grid-area: acoes; align-self: center; }
  .livro-grade tr.livro-mes, .livro-grade tr.livro-mes th { display: block; }
  .livro-grade tr.livro-linha.selecionada td:first-child { box-shadow: none; }
  .livro-grade tr.livro-linha.selecionada { box-shadow: inset 3px 0 0 var(--acao, var(--link)); }
  .livro-barra-direita { margin-left: 0; }
  .livro-alternar-mes { margin-left: 0; }
  .livro-painel { width: 100vw; border-radius: 0; }
  .livro-dados-painel { grid-template-columns: minmax(0, 1fr); }
  .livro-resultados .livro-paginacao .livro-contagem { flex-basis: 100%; }
}

}
