/* Consultas de transparência (PublicSoft): despesas orçamentárias. Layout 0.15: filtros em destaque, totais em cartões, resultado enxuto e detalhe em blocos. */
.cces-ps {
  --ps-line: var(--cces-line, #d9e8dd);
  --ps-ink: var(--cces-ink, #18362a);
  --ps-muted: var(--cces-muted, #56685b);
  --ps-green: var(--cces-green, #007a2e);
  --ps-deep: #06432c; /* verde-escuro da Transparência (o --cces-green-950 do tema, #04221a, parece preto na tela) */
  --ps-lime: var(--cces-lime, #89ff00);
  --ps-blue: var(--cces-blue-brand, #00aaff);
  --ps-paper: var(--cces-paper, #f5faf5);
  --ps-radius: 18px;
}
.cces-ps-icon { flex: none; }

/* ---- filtros ---- */
.cces-ps-filter { margin: 1.2rem 0 1.6rem; padding: 1.1rem 1.2rem 1.2rem; border: 1px solid var(--ps-line); border-radius: var(--ps-radius); background: #fff; box-shadow: 0 10px 28px rgba(14, 54, 28, .06); }
.cces-ps-filter-title { display: flex; align-items: center; gap: .5rem; margin: 0 0 .9rem; color: var(--ps-green); font-family: var(--cces-font-display, inherit); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cces-ps-filter-main { display: grid; grid-template-columns: minmax(110px, .7fr) minmax(150px, 1fr) minmax(120px, .8fr) minmax(220px, 2fr); gap: .8rem; align-items: end; }
.cces-ps-filter label { display: grid; gap: .3rem; color: var(--ps-ink); font-size: .8rem; font-weight: 700; }
.cces-ps-filter select, .cces-ps-filter input { width: 100%; min-height: 44px; padding: .5rem .7rem; border: 1px solid #b9cfbf; border-radius: 12px; background: #fff; color: var(--ps-ink); font: inherit; font-weight: 500; }
.cces-ps-filter select:focus-visible, .cces-ps-filter input:focus-visible { border-color: var(--ps-green); outline: 3px solid rgba(0, 170, 255, .35); outline-offset: 1px; }
.cces-ps-advanced { margin-top: .9rem; border-top: 1px dashed var(--ps-line); padding-top: .8rem; }
.cces-ps-advanced summary { display: inline-flex; align-items: center; gap: .45rem; cursor: pointer; color: var(--ps-green); font-size: .86rem; font-weight: 800; }
.cces-ps-filter-adv { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: .8rem; }
.cces-ps-filter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1rem; }
.cces-ps-submit { display: inline-flex; align-items: center; gap: .5rem; min-height: 46px; padding: .55rem 1.4rem; border: 0; border-radius: 999px; background: var(--ps-lime); color: var(--ps-deep); font: inherit; font-family: var(--cces-font-display, inherit); font-size: .92rem; font-weight: 800; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.cces-ps-submit:hover, .cces-ps-submit:focus-visible { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(0, 122, 46, .25); }
.cces-ps-filter-actions a { color: var(--ps-muted); font-size: .86rem; font-weight: 700; }

/* ---- totais ---- */
.cces-ps-totals { margin: 1.6rem 0 1rem; }
.cces-ps-totals h3 { margin: 0 0 .7rem; font-family: var(--cces-font-display, inherit); font-size: 1.05rem; font-weight: 800; }
.cces-ps-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0; }
.cces-ps-kpi { position: relative; overflow: hidden; padding: 1.1rem 1.2rem 1rem; border: 1px solid var(--ps-line); border-radius: var(--ps-radius); background: #fff; }
.cces-ps-kpi::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: var(--ps-green); }
.cces-ps-kpi.is-liquidado::before { background: var(--ps-blue); }
.cces-ps-kpi.is-pago::before { background: var(--ps-lime); }
.cces-ps-kpi dt { color: var(--ps-muted); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cces-ps-kpi dd { margin: 0; }
.cces-ps-kpi-value { margin-top: .3rem !important; color: var(--ps-ink); font-family: var(--cces-font-display, inherit); font-size: clamp(1.05rem, 1.55vw, 1.3rem); font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1.2; white-space: nowrap; }
.cces-ps-count { margin-top: .25rem !important; color: var(--ps-muted); font-size: .8rem; }
.cces-ps-monthly { margin: .9rem 0 1.2rem; }
.cces-ps-monthly summary { cursor: pointer; color: var(--ps-green); font-weight: 800; }

/* ---- barra de ações e resultado ---- */
.cces-ps-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem 1rem; margin: 1.6rem 0 .4rem; }
.cces-ps-result-count { margin: 0; color: var(--ps-muted); font-size: .95rem; }
.cces-ps-result-count strong { color: var(--ps-ink); font-family: var(--cces-font-display, inherit); font-size: 1.3rem; }
.cces-ps-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; }
.cces-ps-button { display: inline-flex; align-items: center; gap: .5rem; min-height: 42px; padding: .5rem 1.05rem; border: 2px solid var(--ps-deep); border-radius: 999px; background: var(--ps-deep); color: #fff; font: inherit; font-size: .84rem; font-weight: 800; text-decoration: none; cursor: pointer; transition: background .15s ease, color .15s ease; }
.cces-ps-button.is-light { background: #fff; color: var(--ps-deep); }
.cces-ps-button:hover, .cces-ps-button:focus-visible { border-color: var(--ps-green); background: var(--ps-green); color: #fff; }
.cces-ps-hint { margin: 0 0 1rem; color: var(--ps-muted); font-size: .84rem; line-height: 1.5; }

.cces-ps-table-wrap { position: relative; overflow-x: auto; border: 1px solid var(--ps-line); border-radius: var(--ps-radius); background: #fff; } /* position: textos so para leitor de tela (position:absolute) ficam presos aqui e nao alargam a pagina */
.cces-ps-table-wrap:focus-visible { outline: 3px solid var(--ps-blue); outline-offset: 2px; }
.cces-ps-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.cces-ps-table th, .cces-ps-table td { padding: .8rem .9rem; border-bottom: 1px solid var(--ps-line); text-align: left; vertical-align: top; }
.cces-ps-table thead th { background: var(--ps-deep); color: #fff; font-family: var(--cces-font-display, inherit); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.cces-ps-table tbody tr:last-child td, .cces-ps-table tbody tr:last-child th { border-bottom: 0; }
.cces-ps-table tbody tr:hover { background: #f1f9f2; }
.cces-ps-table .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cces-ps-results { min-width: 0; }
.cces-ps-results th, .cces-ps-results td { padding: .75rem .7rem; }
.cces-ps-col-emp { white-space: nowrap; color: var(--ps-green); }
.cces-ps-col-date { white-space: nowrap; color: var(--ps-muted); }
.cces-ps-col-cred { min-width: 180px; }
.cces-ps-col-cred strong { font-weight: 800; }
.cces-ps-col-val { color: var(--ps-ink); font-weight: 800; }
.cces-ps-doc { color: var(--ps-muted); font-size: .76rem; }
.cces-ps-hist { min-width: 190px; max-width: 360px; color: #2d4a3a; font-size: .86rem; line-height: 1.45; }
.cces-ps-col-act { white-space: nowrap; }
.cces-ps-more { display: inline-flex; align-items: center; gap: .3rem; padding: .3rem .65rem; border: 1.5px solid var(--ps-green); border-radius: 999px; color: var(--ps-green); font-size: .82rem; font-weight: 800; text-decoration: none; transition: background .15s ease, color .15s ease; }
.cces-ps-more:hover, .cces-ps-more:focus-visible { background: var(--ps-green); color: #fff; }
.cces-ps-more svg { width: 15px; height: 15px; }
.cces-ps-table-compact { min-width: 0; }
.cces-ps-table-compact thead th { background: var(--ps-paper); color: var(--ps-ink); }

/* ---- detalhe do empenho ---- */
.cces-ps-backwrap { margin: 0 0 1rem; }
.cces-ps-back { display: inline-flex; align-items: center; gap: .4rem; color: var(--ps-green); font-weight: 800; text-decoration: none; }
.cces-ps-back:hover { text-decoration: underline; }
.cces-ps-detail-head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; padding: 1.3rem 1.4rem; border-radius: var(--ps-radius); background: radial-gradient(circle at 92% 0%, rgba(137, 255, 0, .28), transparent 42%), linear-gradient(135deg, #06432c 0%, #007a2e 100%); color: #fff; }
.cces-ps-eyebrow { margin: 0; color: var(--ps-lime); font-family: var(--cces-font-display, inherit); font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cces-ps-detail-head h3 { margin: .15rem 0 .3rem; color: #fff; font-family: var(--cces-font-display, inherit); font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; }
.cces-ps-detail-meta { margin: 0; color: rgba(255, 255, 255, .88); font-size: .95rem; }
.cces-ps-detail-head .cces-ps-button { border-color: #fff; background: #fff; color: var(--ps-deep); }
.cces-ps-detail-head .cces-ps-button:hover { background: var(--ps-lime); border-color: var(--ps-lime); color: var(--ps-deep); }
.cces-ps-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0 0 .8rem; }
.cces-ps-tile { padding: 1rem 1.2rem; border: 1px solid var(--ps-line); border-left: 6px solid var(--ps-green); border-radius: 16px; background: #fff; }
.cces-ps-tile.is-liquidado { border-left-color: var(--ps-blue); }
.cces-ps-tile.is-pago { border-left-color: var(--ps-lime); }
.cces-ps-tile dt { color: var(--ps-muted); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cces-ps-tile dd { margin: .25rem 0 0; color: var(--ps-ink); font-family: var(--cces-font-display, inherit); font-size: clamp(1.15rem, 2vw, 1.5rem); font-weight: 800; font-variant-numeric: tabular-nums; }
.cces-ps-balances { display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; margin: 0 0 1.4rem; color: var(--ps-muted); font-size: .9rem; }
.cces-ps-balances strong { color: var(--ps-ink); font-variant-numeric: tabular-nums; }
.cces-ps-card { margin-bottom: 1.1rem; padding: 1.1rem 1.2rem 1.2rem; border: 1px solid var(--ps-line); border-radius: var(--ps-radius); background: #fff; }
.cces-ps-card h4 { margin: 0 0 .8rem; padding-bottom: .55rem; border-bottom: 2px solid var(--ps-lime); color: var(--ps-ink); font-family: var(--cces-font-display, inherit); font-size: 1rem; font-weight: 800; }
.cces-ps-dl { display: grid; gap: 0; margin: 0; }
.cces-ps-dl > div { display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr); gap: 1rem; padding: .6rem 0; border-bottom: 1px solid #edf3ee; }
.cces-ps-dl > div:last-child { border-bottom: 0; }
.cces-ps-dl dt { color: var(--ps-muted); font-size: .82rem; font-weight: 800; }
.cces-ps-dl dd { margin: 0; overflow-wrap: anywhere; }

.cces-ps-note, .cces-ps-source { margin: 1rem 0 0; color: var(--ps-muted); font-size: .82rem; line-height: 1.55; }
.cces-ps-asterisk { color: var(--ps-ink); }
.cces-ps-warning { margin: 1rem 0; padding: .8rem 1rem; border: 1px solid #e0b64a; border-left: 5px solid #e0a100; border-radius: 12px; background: #fff8e1; color: #4a3b00; }

@media (max-width: 1100px) {
  .cces-ps-filter-main { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cces-ps-filter-main .cces-ps-wide { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
  .cces-ps-kpis, .cces-ps-tiles, .cces-ps-filter-adv { grid-template-columns: minmax(0, 1fr); }
  .cces-ps-dl > div { grid-template-columns: minmax(0, 1fr); gap: .15rem; }
}
/* celular: cada empenho vira um cartão em vez de uma tabela larga */
@media (max-width: 760px) {
  .cces-ps-filter-main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .cces-ps-table-wrap { overflow: visible; border: 0; background: transparent; }
  .cces-ps-results { min-width: 0; }
  .cces-ps-results thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .cces-ps-results, .cces-ps-results tbody, .cces-ps-results tr, .cces-ps-results td { display: block; width: 100%; }
  .cces-ps-results tr { margin-bottom: .9rem; padding: .9rem 1rem; border: 1px solid var(--ps-line); border-radius: 16px; background: #fff; }
  .cces-ps-results td { display: grid; grid-template-columns: 7.4rem minmax(0, 1fr); gap: .6rem; padding: .3rem 0; border: 0; text-align: left; }
  .cces-ps-results td::before { content: attr(data-label); color: var(--ps-muted); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding-top: .15rem; }
  .cces-ps-results td.num { text-align: left; }
  .cces-ps-results .cces-ps-hist { max-width: none; min-width: 0; }
  .cces-ps-results .cces-ps-col-cred { min-width: 0; }
  .cces-ps-results .cces-ps-col-act { padding-top: .6rem; }
}
@media (max-width: 480px) {
  .cces-ps-filter-main { grid-template-columns: minmax(0, 1fr); }
  .cces-ps-actions { width: 100%; }
  .cces-ps-button { flex: 1 1 auto; justify-content: center; }
}
@media print {
  .cces-transparency-sidebar, .cces-ps-filter, .cces-ps-actions, .cces-ps-hint, .cces-doc-pagination, .site-header, .site-footer, .utility-bar, .skip-link, .cces-ps-backwrap { display: none !important; }
  .cces-transparency-layout { display: block; }
  .cces-ps-table-wrap { overflow: visible; border: 0; }
  .cces-ps-results { min-width: 0; font-size: 9pt; }
  .cces-ps-table thead th { background: #eee; color: #000; }
  .cces-ps-detail-head { background: none; color: #000; padding: 0; }
  .cces-ps-detail-head h3, .cces-ps-detail-meta { color: #000; }
}

/* ---- consultas de receitas, extra-orçamentárias e previsões (0.17) ---- */
.cces-ps-kpis { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.cces-psq-chip { display: inline-block; padding: .1rem .55rem; border-radius: 999px; background: #e6f6ea; color: var(--ps-green); font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; vertical-align: middle; }
.cces-psq-chip.is-ded { background: #fdeceb; color: #a3261c; }
.cces-psq-neg { color: #a3261c; font-weight: 800; }
.cces-psq-grouped .cces-psq-group th, .cces-psq-grouped .cces-psq-group td { background: #eaf6ec; color: var(--ps-deep); font-family: var(--cces-font-display, inherit); font-weight: 800; border-top: 2px solid var(--ps-lime); }
.cces-psq-grouped .cces-psq-total th, .cces-psq-grouped .cces-psq-total td { background: var(--ps-deep); color: #fff; font-weight: 800; }
.cces-psq-grouped .cces-ps-col-date { width: 1%; }
.cces-psq-meter { display: block; width: 100%; height: 5px; margin-top: .35rem; border-radius: 999px; background: #e3eee6; overflow: hidden; }
.cces-psq-meter i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #00c600, #89ff00); }
.cces-psq-despesa .cces-ps-col-cred { min-width: 240px; }
@media (max-width: 760px) {
  .cces-psq-grouped .cces-psq-group, .cces-psq-grouped .cces-psq-total, .cces-psq-grouped .cces-psq-subtotal { padding: .8rem 1rem; border-top: 3px solid var(--ps-lime); }
  .cces-psq-grouped .cces-psq-group { background: #eaf6ec; }
  .cces-psq-grouped .cces-psq-subtotal { background: #f1f7f2; }
  .cces-psq-grouped .cces-psq-total { background: var(--ps-deep); color: #fff; border-color: var(--ps-deep); }
  .cces-psq-grouped .cces-psq-group th, .cces-psq-grouped .cces-psq-total th, .cces-psq-grouped .cces-psq-subtotal th { display: block; width: auto; padding: 0 0 .35rem; border: 0; background: transparent; text-align: left; font-size: 1rem; }
  .cces-psq-grouped .cces-psq-group td, .cces-psq-grouped .cces-psq-total td, .cces-psq-grouped .cces-psq-subtotal td { display: grid; grid-template-columns: 7.4rem minmax(0, 1fr); width: auto; padding: .15rem 0; border: 0; background: transparent; }
  .cces-psq-grouped .cces-psq-total td::before { color: #cfe8d6; }
  .cces-psq-grouped .cces-psq-group td:empty, .cces-psq-grouped .cces-psq-total td:empty, .cces-psq-grouped .cces-psq-subtotal td:empty { display: none; }
}
.cces-psq-grouped .cces-psq-subtotal th, .cces-psq-grouped .cces-psq-subtotal td { background: #f1f7f2; font-weight: 800; border-top: 2px solid var(--ps-line); }
@media (max-width: 760px) {
  .cces-psq-grouped .cces-psq-subtotal th, .cces-psq-grouped .cces-psq-subtotal td { background: transparent; border: 0; }
}

/* =====================================================================================================
   0.18 Legibilidade das consultas (ver as regras no fim de portal.css): rótulos e cabeçalhos na fonte do texto,
   em negrito, sem caixa-alta; células de tabela em 16 px; nada abaixo de 14 px.
   ===================================================================================================== */
.cces-ps-filter-title { font-size: .875rem; letter-spacing: .08em; }
.cces-ps-filter label { font-size: 1rem; }
.cces-ps-filter select, .cces-ps-filter input { min-height: 48px; font-size: 1rem; }
.cces-ps-advanced summary { font-size: 1rem; }
.cces-ps-submit { min-height: 48px; font-size: 1rem; }
.cces-ps-filter-actions a { font-size: 1rem; }
.cces-ps-totals h3 { font-size: 1.2rem; }
.cces-ps-kpi dt, .cces-ps-tile dt { font-size: .9375rem; font-weight: 700; letter-spacing: .01em; text-transform: none; }
.cces-ps-kpi-value { font-size: clamp(1.3rem, 2vw, 1.7rem); }
.cces-ps-tile dd { font-size: clamp(1.25rem, 2.2vw, 1.65rem); }
.cces-ps-count { font-size: .9375rem; }
.cces-ps-monthly summary { font-size: 1.0625rem; }
.cces-ps-result-count { font-size: 1.0625rem; }
.cces-ps-result-count strong { font-size: 1.5rem; }
.cces-ps-button { min-height: 46px; font-size: .95rem; }
.cces-ps-hint { font-size: .9375rem; }
.cces-ps table.cces-ps-table, .entry-content table.cces-ps-table { font-size: 1rem; line-height: 1.45; } /* o tema define .entry-content table em .93rem */
.cces-ps table.cces-ps-table th, .cces-ps table.cces-ps-table td { padding: .85rem .9rem; }
.cces-ps table.cces-ps-results th, .cces-ps table.cces-ps-results td { padding: .8rem .75rem; }
.cces-ps table.cces-ps-table thead th { font-family: var(--cces-font-body, inherit); font-size: .9375rem; font-weight: 700; letter-spacing: .01em; text-transform: none; }
.cces-ps-doc { font-size: .875rem; }
.cces-ps-hist { font-size: 1rem; line-height: 1.5; }
.cces-ps-more { padding: .4rem .8rem; font-size: .9375rem; }
.cces-ps-eyebrow { font-size: .8125rem; }
.cces-ps-detail-meta { font-size: 1.0625rem; }
.cces-ps-balances { font-size: 1rem; }
.cces-ps-card h4 { font-size: 1.15rem; }
.cces-ps-dl dt { font-size: .9375rem; }
.cces-ps-note, .cces-ps-source { font-size: .9375rem; line-height: 1.6; }
.cces-psq-chip { padding: .15rem .6rem; font-size: .75rem; letter-spacing: .04em; }
@media (max-width: 760px) {
  .cces-ps-results td { grid-template-columns: 8.2rem minmax(0, 1fr); }
  .cces-ps-results td::before { font-size: .875rem; font-weight: 700; letter-spacing: .01em; text-transform: none; }
  .cces-psq-grouped .cces-psq-group td, .cces-psq-grouped .cces-psq-total td, .cces-psq-grouped .cces-psq-subtotal td { grid-template-columns: 8.2rem minmax(0, 1fr); }
}
/* tabelas agrupadas (previsão da receita): no computador o nome da receita é o link e a coluna "Detalhe" some, para a tabela caber sem rolagem lateral */
@media (min-width: 761px) {
  .cces-psq-grouped thead th:last-child, .cces-psq-grouped tbody td:last-child, .cces-psq-despesa thead th:last-child, .cces-psq-despesa tbody td:last-child { display: none; }
  .cces-psq-grouped .cces-ps-col-cred a, .cces-psq-despesa .cces-ps-col-cred a { color: var(--ps-ink); text-decoration: underline; text-decoration-color: rgba(0, 122, 46, .45); text-decoration-thickness: 2px; text-underline-offset: 4px; }
  .cces-psq-grouped .cces-ps-col-cred a:hover, .cces-psq-grouped .cces-ps-col-cred a:focus-visible, .cces-psq-despesa .cces-ps-col-cred a:hover, .cces-psq-despesa .cces-ps-col-cred a:focus-visible { color: var(--ps-green); text-decoration-color: var(--ps-green); }
}
@media (max-width: 760px) { .cces-psq-grouped .cces-ps-col-cred a, .cces-psq-despesa .cces-ps-col-cred a { color: inherit; text-decoration: none; } }


/* ---- licitações, contratos e folha de pagamento (Elmar, 0.18) ---- */
.cces-el-pill { display: inline-flex; align-items: center; gap: .25rem; margin: .15rem .35rem .15rem 0; padding: .3rem .8rem; border: 1.5px solid var(--ps-green); border-radius: 999px; color: var(--ps-green); font-size: .9375rem; font-weight: 800; line-height: 1.2; text-decoration: none; white-space: nowrap; transition: background .15s ease, color .15s ease; }
.cces-el-pill:hover, .cces-el-pill:focus-visible { background: var(--ps-green); color: #fff; }
.cces-el-pills { display: flex; flex-wrap: wrap; gap: .3rem; margin: 0; }
.cces-el-status { display: inline-block; padding: .2rem .7rem; border-radius: 999px; background: #edf1ee; color: #3a4a41; font-size: .9375rem; font-weight: 800; line-height: 1.3; }
.cces-el-status.is-open { background: #e1f7e7; color: #00642a; }
.cces-el-status.is-done { background: #e3f3ff; color: #00507c; }
.cces-el-status.is-off { background: #fdeceb; color: #a3261c; }
.cces-el-obj { display: block; margin-top: .25rem; color: #2d4a3a; font-size: .9375rem; line-height: 1.45; }
.cces-el-table .cces-ps-col-act { white-space: normal; }
.cces-el-table .cces-ps-col-emp a { color: var(--ps-green); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.cces-el-table .cces-ps-col-emp a:hover, .cces-el-table .cces-ps-col-emp a:focus-visible { color: var(--ps-deep); }
.cces-el-sub { display: block; color: var(--ps-muted); font-size: .875rem; line-height: 1.45; }
.cces-el-money { font-variant-numeric: tabular-nums; }
.cces-el-files { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.cces-el-files a { display: flex; align-items: center; gap: .75rem; padding: .75rem 1rem; border: 1px solid var(--ps-line); border-radius: 14px; background: #fff; color: var(--ps-ink); font-weight: 700; text-decoration: none; transition: border-color .15s ease, background .15s ease; }
.cces-el-files a:hover, .cces-el-files a:focus-visible { border-color: var(--ps-green); background: #f1f9f2; }
.cces-el-file-ico { display: inline-grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 10px; background: #e6f6ea; color: var(--ps-green); }
.cces-el-file-name { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; line-height: 1.35; }
.cces-el-file-ext { flex: none; padding: .1rem .55rem; border-radius: 999px; background: #edf1ee; color: #3a4a41; font-size: .8125rem; font-weight: 800; letter-spacing: .04em; }
.cces-el .cces-ps-filter-main { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.cces-el .cces-ps-filter-main .cces-ps-wide { grid-column: 1 / -1; }
@media (max-width: 760px) { .cces-el .cces-ps-filter-main { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cces-el-table .cces-ps-col-emp { min-width: 8.5rem; white-space: normal; }
.cces-el-table .cces-ps-col-emp strong { white-space: nowrap; }
.cces-el-table .cces-ps-col-cred { min-width: 16rem; }
.cces-el-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.4rem 0 .2rem; }
.cces-el-tabs a { display: inline-flex; align-items: center; min-height: 44px; padding: .45rem 1.15rem; border: 2px solid var(--ps-line); border-radius: 999px; background: #fff; color: var(--ps-ink); font-family: var(--cces-font-display, inherit); font-size: .95rem; font-weight: 800; text-decoration: none; transition: border-color .15s ease, background .15s ease; }
.cces-el-tabs a:hover, .cces-el-tabs a:focus-visible { border-color: var(--ps-green); }
.cces-el-tabs a.is-active { border-color: var(--ps-lime); background: var(--ps-lime); color: var(--ps-deep); }
.cces-el-fiscal { margin: .7rem 0; border: 1px solid var(--ps-line); border-radius: var(--ps-radius); background: #fff; overflow: hidden; }
.cces-el-fiscal summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem 1rem; padding: .95rem 1.2rem; cursor: pointer; list-style: none; }
.cces-el-fiscal summary::-webkit-details-marker { display: none; }
.cces-el-fiscal summary::after { content: "+"; flex: none; margin-left: auto; color: var(--ps-green); font-size: 1.5rem; font-weight: 800; line-height: 1; }
.cces-el-fiscal[open] summary::after { content: "−"; }
.cces-el-fiscal summary:hover, .cces-el-fiscal summary:focus-visible { background: #f1f9f2; }
.cces-el-fiscal summary > span:first-child { display: grid; gap: .1rem; }
.cces-el-fiscal summary small { color: var(--ps-muted); font-size: .9375rem; font-weight: 600; }
.cces-el-count { color: var(--ps-green); font-size: .9375rem; font-weight: 800; }
.cces-el-fiscal ul { margin: 0; padding: .3rem 1.2rem 1rem; list-style: none; border-top: 1px solid var(--ps-line); }
.cces-el-fiscal li { padding: .75rem 0; border-bottom: 1px solid #edf3ee; font-size: 1rem; line-height: 1.5; }
.cces-el-fiscal li:last-child { border-bottom: 0; }
.cces-el-pessoal .num strong { display: block; font-variant-numeric: tabular-nums; }
@media (max-width: 760px) {
  .cces-el-tabs a { flex: 1 1 auto; justify-content: center; }
  .cces-el-fiscal summary { padding: .85rem 1rem; }
  .cces-el-pill { white-space: normal; }
}

/* consultas sem o terceiro filtro (ex.: documentos pagos): a busca ocupa o espaço que sobra */
@media (min-width: 1101px) {
  .cces-ps-filter.has-no-extra .cces-ps-filter-main { grid-template-columns: minmax(110px, .7fr) minmax(150px, 1fr) minmax(280px, 3fr); }
}

/* ---------- ordem cronológica dos pagamentos: situação ---------- */
.cces-oc-sit { display: inline-block; padding: .15rem .6rem; border-radius: 999px; font-size: .875rem; font-weight: 800; white-space: nowrap; }
.cces-oc-sit.is-paga { background: #e0f6e6; color: #0b5a2b; }
.cces-oc-sit.is-parcial { background: #fff1d6; color: #7a4f00; }
.cces-oc-sit.is-apagar { background: #fde8e4; color: #9a2d1b; }
.cces-ps-list { margin: 0; padding-left: 1.2rem; }

/* consultas com vários filtros extras (ex.: ordem cronológica: fonte, categoria e situação): duas fileiras de três campos iguais */
.cces-ps-filter.has-many-extra .cces-ps-filter-main { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cces-ps-filter.has-many-extra .cces-ps-filter-main .cces-ps-wide { grid-column: auto; }
@media (max-width: 760px) { .cces-ps-filter.has-many-extra .cces-ps-filter-main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
@media (max-width: 480px) { .cces-ps-filter.has-many-extra .cces-ps-filter-main { grid-template-columns: minmax(0, 1fr); } }

/* cartões de totais: a fonte do valor acompanha a largura do cartão (milhões com asterisco não encostam na borda) */
.cces-ps-kpi { container-type: inline-size; }
@supports (font-size: 1cqi) { .cces-ps-kpi-value { font-size: clamp(1.15rem, 9.6cqi, 1.7rem); } }

/* documentos pagos e ordem cronológica: coluna do credor com largura mínima e CNPJ sem quebrar no meio;
   no computador o nome do credor é o link do detalhe e a coluna "Detalhe" some (no celular o botão continua no cartão) */
.cces-ps-col-credor { min-width: 15rem; }
.cces-ps-col-credor .cces-ps-doc { white-space: nowrap; }
@media (min-width: 761px) {
  .cces-psq-linked thead th:last-child, .cces-psq-linked tbody td:last-child { display: none; }
  .cces-psq-linked .cces-ps-col-credor strong a { color: var(--ps-ink); text-decoration: underline; text-decoration-color: rgba(0, 122, 46, .45); text-decoration-thickness: 2px; text-underline-offset: 4px; }
  .cces-psq-linked .cces-ps-col-credor strong a:hover, .cces-psq-linked .cces-ps-col-credor strong a:focus-visible { color: var(--ps-green); text-decoration-color: var(--ps-green); }
}
@media (max-width: 760px) {
  .cces-psq-linked .cces-ps-col-credor strong a { color: inherit; text-decoration: none; }
  .cces-ps-col-credor { min-width: 0; }
  .cces-ps-col-credor .cces-ps-doc { white-space: normal; }
}
