/* Produtos (8d), a grade (18a), o Estoque (8e) e as Tabelas de preço no /nova (frontend/nova/produtos.js). Os tokens do /nova; a cor
   nunca é a única pista (a etiqueta e o texto dizem o estado). Nada se mexe sozinho. */
.nv-pr-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
.nv-pr-cartao { display: grid; gap: 6px; align-content: start; text-align: left; padding: 12px 14px; border-radius: 14px; cursor: pointer;
  background: var(--nv-vidro-claro); border: 1px solid var(--nv-borda); color: var(--nv-txt-1); font: 400 13px/1.3 var(--sans, system-ui); }
.nv-pr-cartao:hover, .nv-pr-cartao:focus-visible { border-color: rgba(205, 182, 255, .55); outline: none; background: rgba(184, 153, 255, .1); }
.nv-pr-cartao[aria-pressed="true"] { border-color: var(--nv-lilas-forte); }
.nv-pr-nome { font: 600 15px/1.2 var(--sans, system-ui); }
.nv-pr-cartao small { color: var(--nv-txt-3); }
.nv-pr-linha { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.nv-pr-preco { font: 600 15px/1.1 var(--sans, system-ui); color: var(--nv-txt-1); font-variant-numeric: tabular-nums; }
.nv-pr-canais { font-size: 11.5px; }
.nv-pr-ficha { margin-top: 12px; padding: 14px; border-radius: 14px; background: rgba(20, 15, 40, .55); border: 1px solid var(--nv-borda); display: grid; gap: 12px; }
.nv-pr-ficha-cabeca { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.nv-pr-ficha-cabeca h3 { margin: 0; font: 600 18px/1.2 var(--sans, system-ui); color: var(--nv-txt-1); }
.nv-pr-ficha-cabeca .nv-link { margin-left: auto; }
.nv-pr-ficha-colunas { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 12px; align-items: start; }
.nv-pr-muda, .nv-pr-fixo { display: grid; gap: 10px; }
.nv-pr-fixo .nv-pr-preco { font-size: 22px; margin: 2px 0 6px; }
.nv-pr-saida p { margin: 4px 0; font-size: 13px; color: var(--nv-txt-2); }
.nv-pr-chaves { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.nv-pr-chave { display: inline-flex; gap: 6px; align-items: center; font-size: 13px; color: var(--nv-txt-2); cursor: pointer; }
.nv-pr-saber { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 6px; }
.nv-pr-saber li { display: grid; gap: 2px; font-size: 13px; color: var(--nv-txt-2); }
.nv-pr-saber b { color: var(--nv-txt-1); font-weight: 600; }
.nv-pr-rolo { overflow-x: auto; }
.nv-pr-grade { border-collapse: collapse; font-size: 12.5px; }
.nv-pr-grade th { padding: 4px 8px; color: var(--nv-txt-3); font-weight: 500; text-align: center; }
.nv-pr-grade th[scope="row"] { text-align: right; color: var(--nv-txt-2); }
.nv-pr-grade td { padding: 3px; }
.nv-pr-cel { display: grid; gap: 1px; min-width: 92px; padding: 6px 8px; border-radius: 9px; border: 1px solid var(--nv-borda); background: rgba(184, 153, 255, .08); color: var(--nv-txt-1); cursor: pointer; text-align: center; }
.nv-pr-cel b { font: 600 15px/1.1 var(--sans, system-ui); font-variant-numeric: tabular-nums; }
.nv-pr-cel small { font-size: 10.5px; color: var(--nv-txt-3); }
.nv-pr-cel[data-ativo="0"] { opacity: .5; border-style: dashed; }
.nv-pr-cel:hover, .nv-pr-cel:focus-visible { border-color: var(--nv-lilas-forte); outline: none; }
.nv-pr-celula { margin-top: 8px; padding: 10px; border-radius: 10px; background: rgba(184, 153, 255, .06); border: 1px solid var(--nv-borda); display: grid; gap: 6px; }
.nv-pr-celula h4 { margin: 0; font: 600 13px var(--sans, system-ui); color: var(--nv-txt-1); }
.nv-pr-etiquetas { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.nv-pr-etiqueta { margin: 0; padding: 6px; border-radius: 6px; background: #fff; color: #111; display: grid; gap: 2px; width: 170px; }
.nv-pr-etiqueta figcaption { font: 500 10px/1.2 var(--sans, system-ui); color: #111; }
.nv-pr-barras { width: 100%; height: auto; display: block; }
.nv-pr-pedidos { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.nv-pr-pedidos li { display: grid; gap: 4px; padding: 8px; border-radius: 10px; border: 1px solid var(--nv-borda); font-size: 12.5px; color: var(--nv-txt-2); }
.nv-pr-pedidos li b { color: var(--nv-txt-1); font-weight: 600; }
.nv-pr-pedidos li[data-estado="cancelado"] { opacity: .6; }
@media (max-width: 760px) { .nv-pr-ficha-colunas { grid-template-columns: 1fr; } .nv-pr-cartoes { grid-template-columns: 1fr 1fr; } }
@media print { body * { visibility: hidden; } .nv-pr-etiquetas, .nv-pr-etiquetas * { visibility: visible; } .nv-pr-etiquetas { position: absolute; left: 0; top: 0; } .nv-pr-etiquetas > button { display: none; } }
