/* Catálogo virtual — lado do vendedor (prefixo lnk-) */

.lnk-nav-badge { font-size: .7rem; vertical-align: top; margin-left: 4px; }

/* seção na barra lateral */
.lnk-lateral-texto { font-size: .78rem; color: #666; margin: 0 0 .6rem; line-height: 1.35; }

/* tela cheia, no mesmo molde da tela de modelos */
.lnk-screen { position: fixed; inset: 0; background: #f4f5f7; z-index: 1000; overflow-y: auto; }
.lnk-screen-inner { max-width: 1240px; margin: 0 auto; padding: 1.25rem 1rem 3rem; }
.lnk-titulo { font-size: 1.15rem; font-weight: 700; margin: 0; }
.lnk-frase { color: #666; font-size: .85rem; margin: .15rem 0 0; }

/* KPI = rótulo, valor, legenda, estado */
.lnk-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; margin: 1rem 0; }
.lnk-kpi {
  background: #fff; border: 1px solid #e5e7eb; border-left: 4px solid #adb5bd; border-radius: 8px;
  padding: .7rem .85rem; text-align: left; width: 100%;
}
button.lnk-kpi { cursor: pointer; }
button.lnk-kpi:hover { box-shadow: 0 2px 10px rgba(0,0,0,.07); }
.lnk-kpi--info   { border-left-color: #adb5bd; }
.lnk-kpi--good   { border-left-color: #198754; }
.lnk-kpi--warn   { border-left-color: #e0a800; }
.lnk-kpi--danger { border-left-color: #dc3545; }
.lnk-kpi-rotulo { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #6c757d; }
.lnk-kpi-valor  { font-size: 1.45rem; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; }
.lnk-kpi-legenda { font-size: .75rem; color: #6c757d; line-height: 1.3; }
.lnk-kpi-estado { font-size: .72rem; font-weight: 600; }
.lnk-kpi--good .lnk-kpi-estado { color: #198754; }
.lnk-kpi--warn .lnk-kpi-estado { color: #9a7400; }
.lnk-kpi--danger .lnk-kpi-estado { color: #dc3545; }

.lnk-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 1rem; margin-bottom: 1rem; }
.lnk-card-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; }
.lnk-card-titulo { font-size: 1rem; font-weight: 700; margin: 0; }
.lnk-card-desc { font-size: .8rem; color: #6c757d; margin: .1rem 0 0; }
.lnk-contador { font-size: .8rem; color: #6c757d; white-space: nowrap; }

.lnk-filtros { display: flex; flex-wrap: wrap; gap: 6px; margin: .75rem 0; }
.lnk-filtro { border: 1px solid #ced4da; background: #fff; border-radius: 16px; padding: .2rem .7rem; font-size: .8rem; }
.lnk-filtro[aria-pressed="true"] { background: #212529; border-color: #212529; color: #fff; }

.lnk-ativo-filtro { font-size: .8rem; background: #fff3cd; border-radius: 6px; padding: .35rem .6rem;
                    display: inline-flex; gap: .5rem; align-items: center; margin-bottom: .5rem; }

/* tabela rola dentro do card, nunca a página */
.lnk-tabela-wrap { overflow-x: auto; }
.lnk-tabela { width: 100%; font-size: .84rem; border-collapse: collapse; }
.lnk-tabela th { font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; color: #6c757d;
                 font-weight: 700; padding: .45rem .5rem; border-bottom: 2px solid #e5e7eb; white-space: nowrap; text-align: left; }
.lnk-tabela td { padding: .5rem; border-bottom: 1px solid #f0f0f0; vertical-align: middle; }
.lnk-tabela .lnk-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lnk-tabela .lnk-data { white-space: nowrap; }
.lnk-tabela tbody tr:hover { background: #fafafa; }
.lnk-tabela td:first-child { min-width: 190px; }   /* no celular a tabela rola; o nome não quebra palavra a palavra */
.lnk-cliente { font-weight: 600; max-width: 280px; overflow-wrap: anywhere; }
.lnk-sub { font-size: .75rem; color: #6c757d; }
.lnk-falta { color: #dc3545; font-weight: 700; }
.lnk-mudou { color: #9a7400; font-weight: 700; }
.lnk-qtd-aprovar { width: 78px; text-align: right; }

/* conferência: miniatura da cor + código em cima, descrição embaixo */
.lnk-tabela td.lnk-prod-cel { min-width: 300px; }
.lnk-prod { display: flex; align-items: center; gap: .65rem; }
.lnk-mini-btn { flex: 0 0 auto; line-height: 0; border-radius: 6px; padding: 0; border: 0; background: none; cursor: zoom-in; }
.lnk-mini-btn:focus-visible { outline: 2px solid #dc3545; outline-offset: 2px; }

/* foto ampliada sobre a tela (fecha no clique, Esc ou X) */
.lnk-foto-corpo { padding: .5rem; background: #fff; }
.lnk-foto-grande { display: block; max-width: 100%; max-height: 75vh; margin: 0 auto; object-fit: contain; cursor: zoom-out; }
.lnk-foto-titulo { font-size: .95rem; font-weight: 700; margin: 0; font-variant-numeric: tabular-nums; }
.lnk-mini { width: 48px; height: 48px; border-radius: 6px; border: 1px solid #e5e7eb;
            object-fit: cover; background: #f8f9fa; display: block; }
.lnk-mini--vazia { display: flex; align-items: center; justify-content: center; color: #adb5bd; font-size: 1.1rem; }
.lnk-ref { font-weight: 700; font-variant-numeric: tabular-nums; }
.lnk-desc { font-size: .78rem; color: #495057; overflow-wrap: anywhere; }

/* impressão do pedido: documento próprio num iframe fora da tela */
.lnk-imprimir-frame { position: fixed; right: 0; bottom: 0; width: 0; height: 0; border: 0; }

/* situação = texto + ícone, nunca só cor */
.lnk-sit { display: inline-flex; align-items: center; gap: 4px; font-size: .75rem; font-weight: 600;
           border-radius: 10px; padding: .1rem .5rem; white-space: nowrap; }
.lnk-sit--neutro  { background: #eef0f2; color: #495057; }
.lnk-sit--info    { background: #e7f1ff; color: #0b5ed7; }
.lnk-sit--ok      { background: #e6f4ea; color: #146c2e; }
.lnk-sit--aviso   { background: #fff3cd; color: #7a5b00; }
.lnk-sit--perigo  { background: #fde7e5; color: #b02a37; }

.lnk-vazio { text-align: center; color: #6c757d; padding: 2rem 1rem; }
.lnk-vazio-titulo { color: #212529; font-weight: 700; margin-bottom: .25rem; }
.lnk-metodo { font-size: .78rem; color: #6c757d; margin: .75rem 0 0; }
.lnk-recarregando { opacity: .55; transition: opacity .15s; }

/* modal gerar link */
.lnk-busca-lista { max-height: 260px; overflow-y: auto; border: 1px solid #e5e7eb; border-radius: 6px; }
.lnk-busca-item { display: block; width: 100%; text-align: left; border: 0; border-bottom: 1px solid #f0f0f0;
                  background: #fff; padding: .5rem .7rem; font-size: .85rem; }
.lnk-busca-item:last-child { border-bottom: 0; }
.lnk-busca-item:hover:not(:disabled) { background: #fff5f5; }
.lnk-busca-item:disabled { color: #999; }
.lnk-escolhido { border: 1px solid #e30613; border-radius: 6px; padding: .55rem .7rem; background: #fff8f8;
                 display: flex; justify-content: space-between; gap: .5rem; align-items: center; }
.lnk-url { font-family: Consolas, monospace; font-size: .85rem; }
.lnk-resumo-numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: .75rem 0; }
.lnk-resumo-numeros div { background: #f8f9fa; border-radius: 6px; padding: .5rem; text-align: center; }
.lnk-resumo-numeros strong { display: block; font-size: 1.2rem; }
.lnk-resumo-numeros span { font-size: .72rem; color: #6c757d; }

.lnk-qr { max-width: 260px; width: 100%; border: 1px solid #e5e7eb; border-radius: 8px; }
.lnk-tecnico { font-size: .75rem; color: #6c757d; }

@media (max-width: 576px) {
  .lnk-screen-inner { padding: 1rem .75rem 3rem; }
  .lnk-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lnk-kpi-valor { font-size: 1.2rem; }
  .lnk-resumo-numeros { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
