/* Compras (todas as abas). Tudo preso a #view-compras: as classes cp-barra/cp-tab também existem na planilha de
   preços do Catálogo (style.css) e não podem mudar lá.
   Análise e sugestão: grade com o cabeçalho (2 linhas) e o produto fixos — a grade rola por dentro, na altura
   da tela, por isso o cabeçalho continua visível ao descer a lista. */

/* abas da tela: estilo de guias, a ativa com o sublinhado laranja */
#view-compras .wm-abas { gap: 2px; margin-bottom: 14px; border-bottom: 2px solid var(--borda); }
#view-compras .wm-abas .btn { margin-bottom: -2px; padding: 9px 16px; border: 0; border-bottom: 3px solid transparent; border-radius: 8px 8px 0 0; background: transparent; color: var(--cinza); font-weight: 600; }
#view-compras .wm-abas .btn:hover { background: #eef2f8; color: var(--texto); }
#view-compras .wm-abas .btn.primario { background: var(--branco); color: var(--azul); border-bottom-color: var(--laranja); box-shadow: none; }

/* barra de filtros da análise: uma grade alinhada (rótulo em cima, campo embaixo, tudo da mesma altura) */
#view-compras .cp-barra { padding: 12px 16px; margin-bottom: 12px; }
#view-compras .cp-barra .filtros { display: grid; grid-template-columns: minmax(240px, 2.2fr) repeat(5, minmax(120px, 1fr)); gap: 10px 12px; align-items: end; margin: 0 0 10px; padding: 0; border: 0; border-radius: 0; background: transparent; }
#view-compras .cp-barra .filtros .linha-form { min-width: 0; }
#view-compras .cp-barra .filtros input, #view-compras .cp-barra .filtros select { height: 38px; }
@media (max-width: 1250px) { #view-compras .cp-barra .filtros { grid-template-columns: repeat(3, minmax(140px, 1fr)); } #view-compras .cp-barra .filtros .busca { grid-column: 1 / -1; } }
#view-compras .cp-acoes { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding-top: 10px; border-top: 1px solid var(--borda); }
#view-compras .cp-sel { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
#view-compras .cp-selinfo { font-size: 13px; color: var(--cinza); }
#view-compras .cp-selinfo b { color: var(--azul); }

/* tabelas de Compras (análise, solicitações, pedidos, comparação): mesmo cabeçalho e mesmas linhas */
#view-compras .tabela th { background: #eef2f8; color: #3b4b60; font-size: 10.5px; border-bottom: 2px solid #cfd9e8; }
#view-compras .tabela td, #view-compras .tabela th { padding: 7px 9px; font-size: 12.5px; }
#view-compras .tabela td { border-bottom: 1px solid #edf0f4; }
#view-compras .tabela tbody tr:nth-child(even) td { background: #fafbfd; }
#view-compras .tabela tbody tr:hover td { background: #f1f5fc; }
#view-compras .tabela tbody tr.sel td { background: #fff5ea; }

#view-compras .cp-grade { max-height: calc(100vh - 150px); box-shadow: 0 1px 3px rgba(15, 37, 68, .07); }
#view-compras .cp-tab { border-collapse: separate; border-spacing: 0; }
#view-compras .cp-tab thead th { z-index: 3; }
#view-compras .cp-tab tr.cp-grupos th { top: 0; height: 28px; padding: 0 9px; line-height: 28px; background: var(--azul); color: #fff; letter-spacing: .09em; text-align: center; border-bottom: 0; }
#view-compras .cp-tab tr.cp-cols th { top: 28px; }
#view-compras .cp-tab tr.cp-grupos th.g-ini { border-left: 1px solid rgba(255, 255, 255, .2); }
#view-compras .cp-tab th.g-ini, #view-compras .cp-tab td.g-ini { border-left: 1px solid #dfe5ee; }

/* colunas fixas à esquerda na análise: seleção + produto */
#view-compras .cp-tab .cp-fixo1 { position: sticky; left: 0; width: 38px; min-width: 38px; text-align: center; }
#view-compras .cp-tab .cp-fixo2 { position: sticky; left: 38px; min-width: 270px; max-width: 360px; white-space: normal; box-shadow: 1px 0 0 #dfe5ee; }
#view-compras .cp-tab td.cp-fixo1, #view-compras .cp-tab td.cp-fixo2 { z-index: 1; background: var(--branco); }
#view-compras .cp-tab thead .cp-fixo1, #view-compras .cp-tab thead .cp-fixo2 { z-index: 4; }
#view-compras .cp-tab tr.cp-grupos .cp-fixo2 { text-align: left; }
#view-compras .cp-tab tbody tr.sel td.cp-fixo1 { box-shadow: inset 3px 0 0 var(--laranja); }
#view-compras .cp-tab tbody tr.sel, #view-compras .cp-tab tbody tr.sel:hover { box-shadow: none; }

#view-compras .cp-nome { display: block; color: var(--azul); font-weight: 700; line-height: 1.25; text-decoration: none; }
#view-compras .cp-nome:hover { color: var(--laranja); text-decoration: underline; }
#view-compras .cp-meta { margin-top: 2px; font-size: 11px; line-height: 1.3; color: var(--cinza); }
#view-compras .cp-meta .tag { padding: 1px 6px; font-size: 10px; }
#view-compras .cp-forn { max-width: 210px; overflow: hidden; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
#view-compras .cp-zero { color: #c3ccd8; }
#view-compras .cp-tab a[data-mm] { text-decoration: none; border-bottom: 1px dashed currentColor; }
#view-compras .cp-abc { display: inline-block; width: 22px; height: 22px; border-radius: 6px; background: #eef2f8; color: var(--cinza); font-size: 11.5px; font-weight: 800; line-height: 22px; text-align: center; }
#view-compras .cp-abc-A { background: #e2f6ea; color: var(--verde); }
#view-compras .cp-abc-B { background: #e6eefb; color: var(--azul-claro); }
#view-compras .cp-abc-C { background: #f1f3f6; color: #8a96a6; }
#view-compras .cp-qtd { width: 84px; height: 30px; font-weight: 700; }
#view-compras .cp-qtd.sug { border-color: var(--laranja); background: #fff8f0; }

/* Pedidos de compra / Comparar cotações: cartões com cabeçalho separado e a tabela de itens colada no cartão */
#view-compras #cpCorpo > .cartao { padding: 0; overflow: hidden; }
#view-compras #cpCorpo > .cartao > .res-cab { padding: 12px 16px; border-bottom: 1px solid var(--borda); background: #f9fbfd; align-items: center; }
#view-compras #cpCorpo > .cartao > .res-cab h3 { font-size: 15px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
#view-compras #cpCorpo > .cartao > .res-cab .botoes b { font-size: 16px; color: var(--azul); margin-right: 4px; }
#view-compras #cpCorpo > .cartao > .tabela-caixa { border: 0; border-radius: 0; }
#view-compras #cpCorpo > .cartao > :not(.res-cab):not(.tabela-caixa) { padding-left: 16px; padding-right: 16px; }
#view-compras #cpCorpo > .cartao > :last-child:not(.tabela-caixa) { padding-bottom: 14px; }
#view-compras #cpCorpo > .cartao > :first-child:not(.res-cab) { padding-top: 14px; }
#view-compras #cpCorpo > .cartao:not(:has(> *)) { padding: 14px 16px; }   /* "Carregando…" e avisos só de texto */

@media print { #view-compras .cp-grade { max-height: none; overflow: visible; } #view-compras .cp-tab .cp-fixo1, #view-compras .cp-tab .cp-fixo2, #view-compras .cp-tab thead th { position: static; } }

/* grade de itens do orçamento/pedido de compra (compras-itens.js): a descrição não quebra palavra por palavra (22/10/2026) */
.cpi-grade td:first-child { min-width: 260px; }
.cpi-grade td:nth-child(2) { white-space: nowrap; }
.cpi-grade input.cp-qtd { width: 88px; }
/* janela do novo/alterar pedido de compra: mais larga que as outras, porque a grade tem 10 colunas */
.modal-caixa:has(.cpi-grade) { max-width: min(1360px, 96vw); }
