/* V1655 — Indicadores da carteira: tabela sem barra de rolagem; cartões por fornecedor em telas menores. */
#main .table-wrap:has(> table.gpi-v1655) { overflow: visible !important; }
#main table.gpn-indicadores-carteira.gpi-v1655 { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; border-collapse: separate; border-spacing: 0; }
#main table.gpi-v1655 th.gpi-forn { width: 17%; }
#main table.gpi-v1655 th.gpi-acao { width: 96px; }
#main table.gpi-v1655 > thead > tr > th { white-space: normal !important; overflow-wrap: normal; word-break: normal; hyphens: manual; vertical-align: bottom; line-height: 1.25; font-size: 10px !important; letter-spacing: 0 !important; padding: 10px 6px !important; text-align: center; }
#main table.gpi-v1655 > thead > tr > th.gpi-forn { text-align: left; }
#main table.gpi-v1655.gpi-v1655.gpi-v1655.gpi-v1655 > tbody > tr > td { padding: 10px 6px !important; vertical-align: middle; text-align: center; }
#main table.gpi-v1655.gpi-v1655.gpi-v1655.gpi-v1655 > tbody > tr > td.gpi-forn { text-align: left; }
#main table.gpi-v1655 td.gpi-forn strong { display: block; line-height: 1.25; color: #13254a; }
#main table.gpi-v1655 td.gpi-forn small { display: block; margin: 2px 0 5px; color: #718096; font-size: 11.5px; }
#main table.gpi-v1655 td.gpi-forn .gpn-selo { display: inline-block; }
#main table.gpi-v1655 .gpn-med td { background: #f4f7fb !important; font-weight: 700; color: #1d3a5f; }
#main table.gpi-v1655 .gpn-med td.gpi-forn small { margin: 2px 0 0; font-weight: 400; }
/* sem coluna fixa: com a tabela inteira na tela a ação fica no fim da linha */
#main table.gpi-v1655 th:last-child, #main table.gpi-v1655 td:last-child { position: static !important; box-shadow: none !important; min-width: 0 !important; }
#main table.gpi-v1655 td.gpi-acao { text-align: right; }
#main table.gpi-v1655 td.gpi-acao button { white-space: nowrap; }
#main table.gpi-v1655 .gpn-cel { min-width: 0; max-width: 100%; padding: 4px 8px; font-size: 12.5px; }
#main table.gpi-v1655 .gpn-nl { white-space: normal; max-width: 100%; font-size: 10.5px; line-height: 1.25; }

/* Telas menores: cada fornecedor vira um cartão com a grade dos indicadores */
@media (max-width: 1180px) {
  #main table.gpi-v1655, #main table.gpi-v1655 > tbody { display: block; }
  #main table.gpi-v1655 > thead, #main table.gpi-v1655 > tbody > tr.gpn-med { display: none; }
  #main table.gpi-v1655 > tbody { display: grid; gap: 12px; }
  #main table.gpi-v1655 > tbody > tr { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; padding: 14px; border: 1px solid #e3e9f1; border-radius: 12px; background: #fff; }
  #main table.gpi-v1655.gpi-v1655.gpi-v1655.gpi-v1655 > tbody > tr > td { display: block; border: 0 !important; padding: 0 !important; background: transparent !important; }
  #main table.gpi-v1655.gpi-v1655.gpi-v1655.gpi-v1655 > tbody > tr > td.gpi-forn { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding-bottom: 8px !important; border-bottom: 1px solid #eef2f6 !important; }
  #main table.gpi-v1655.gpi-v1655.gpi-v1655.gpi-v1655 > tbody > tr > td.gpi-forn small { margin: 0; }
  #main table.gpi-v1655.gpi-v1655.gpi-v1655.gpi-v1655 > tbody > tr > td.gpi-ind { display: flex; flex-direction: column; justify-content: space-between; gap: 6px; padding: 10px 10px 8px !important; border: 1px solid #eef2f6 !important; border-radius: 10px; background: #fafbfd !important; text-align: left; }
  #main table.gpi-v1655.gpi-v1655.gpi-v1655.gpi-v1655 > tbody > tr > td.gpi-ind::before { content: attr(data-label); font-size: 10.5px; font-weight: 700; color: #5b6b80; text-transform: uppercase; letter-spacing: .03em; line-height: 1.25; }
  #main table.gpi-v1655.gpi-v1655.gpi-v1655.gpi-v1655 > tbody > tr > td.gpi-ind::after { content: "mediana " attr(data-med); font-size: 11px; color: #8a97a8; }
  #main table.gpi-v1655.gpi-v1655.gpi-v1655.gpi-v1655 > tbody > tr > td.gpi-ind .gpn-cel, #main table.gpi-v1655.gpi-v1655.gpi-v1655.gpi-v1655 > tbody > tr > td.gpi-ind .gpn-nl { align-self: flex-start; }
  #main table.gpi-v1655.gpi-v1655.gpi-v1655.gpi-v1655 > tbody > tr > td.gpi-acao { grid-column: 1 / -1; text-align: right; }
}

/* V1657 — cabeçalho do panorama com metadados em selos e legenda dos indicadores fora da tabela */
.gpn-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.gpn-meta > span { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border: 1px solid #e3e9f1; border-radius: 999px; background: #f8fafd; font-size: 12px; color: #5b6b80; white-space: nowrap; }
.gpn-meta > span strong { color: #13254a; }
.gpi-legenda { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 0 0 12px; padding: 10px 14px; border: 1px solid #e3e9f1; border-radius: 10px; background: #fafbfd; font-size: 12px; color: #5b6b80; line-height: 1.4; }
.gpi-legenda > span { display: inline-flex; align-items: center; gap: 6px; }
.gpi-legenda .gpi-leg-t { font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: #13254a; padding-right: 4px; border-right: 1px solid #dfe5ec; margin-right: 2px; }
.gpi-legenda b { font-family: "JetBrains Mono", monospace; color: #13254a; }
.gpi-sw { display: inline-block; width: 14px; height: 14px; border-radius: 4px; }
.gpi-sw-ok { background: var(--tq-verde-100, #e3f4ea); border: 1px solid #b9dfc8; }
.gpi-sw-at { background: var(--tq-amarelo-100, #fff4cc); border: 1px solid #f0d98a; }
.gpi-sw-al { background: var(--tq-vermelho-100, #fbe3e1); border: 1px solid #f1bdb7; }
/* tabela: cabeçalho alinhado à base, faixa da mediana destacada, primeira coluna com respiro */
#main table.gpi-v1655 > thead > tr > th { color: #42536a !important; background: #f4f7fb !important; }
#main table.gpi-v1655.gpi-v1655.gpi-v1655.gpi-v1655 > tbody > tr > td.gpi-forn, #main table.gpi-v1655 > thead > tr > th.gpi-forn { padding-left: 14px !important; }
#main table.gpi-v1655.gpi-v1655.gpi-v1655.gpi-v1655 > tbody > tr.gpn-med > td { border-bottom: 2px solid #dbe5f0 !important; }
