/* Indicadores de ações e de NC (NC-3b) — gráficos SVG/HTML próprios. */
/* .q-ind-pagina: margem, gap e coluna vêm do container padrão .q-pagina (qualidade.css). */
.q-ind-filtros { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; }
.q-ind-filtros label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--wf-text-subtle); }
.q-ind-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
.q-ind-cartao { background: var(--wf-surface); border: 1px solid var(--wf-border); border-radius: 8px; padding: 12px; }
.q-ind-cartao-valor { font-size: 26px; font-weight: 700; color: var(--wf-text); }
.q-ind-cartao-rotulo { font-size: 12px; color: var(--wf-text-subtle); }
.q-ind-cartao--erro .q-ind-cartao-valor { color: var(--wf-danger); }
.q-ind-cartao-atrasos { display: flex; gap: 8px; font-size: 12px; margin-top: 4px; }
.q-ind-atraso-etapa { color: var(--wf-warning); } .q-ind-atraso-nc { color: var(--wf-danger); }
.q-ind-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; }
.q-ind-secao { background: var(--wf-surface); border: 1px solid var(--wf-border); border-radius: 8px; padding: 12px 14px; min-width: 0; }
.q-ind-secao h3 { font-size: 13px; font-weight: 600; margin: 0 0 10px; color: var(--wf-text); }
.q-ind-grafico { display: flex; flex-direction: column; gap: 6px; }
.q-ind-colunas { width: 100%; height: 180px; display: block; }
.q-ind-colunas-rotulos { display: grid; text-align: center; font-size: 11px; color: var(--wf-text-subtle); }
.q-ind-colunas-rotulos b { display: block; color: var(--wf-text); font-weight: 600; }
.q-ind-legenda { display: flex; flex-wrap: wrap; gap: 12px; font-size: 11px; color: var(--wf-text-subtle); }
.q-ind-legenda i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 4px; vertical-align: -1px; }
.q-ind-barras { display: flex; flex-direction: column; gap: 6px; }
.q-ind-barra { display: grid; grid-template-columns: minmax(90px, 30%) 1fr 32px; gap: 8px; align-items: center; font-size: 12px; }
.q-ind-barra-rotulo { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--wf-text); }
.q-ind-barra-trilho { display: flex; height: 12px; background: var(--wf-surface-alt); border-radius: 3px; overflow: hidden; }
.q-ind-barra-total { text-align: right; color: var(--wf-text); }
.q-ind-vazio { padding: 24px; text-align: center; color: var(--wf-text-subtle); font-size: 12px; }
.q-ind-tabela { width: 100%; border-collapse: collapse; font-size: 12px; }
.q-ind-tabela th { text-align: left; color: var(--wf-text-subtle); font-weight: 600; border-bottom: 1px solid var(--wf-border); padding: 6px; }
.q-ind-tabela td { border-bottom: 1px solid var(--wf-border); padding: 6px; vertical-align: top; color: var(--wf-text); }
.q-ind-tabela-rolagem { overflow-x: auto; }
.q-ind-num { text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) { .q-ind-pagina { padding: 12px; } .q-ind-grade { grid-template-columns: 1fr; } }

/* Impressão A4 (padrão da impressão da NC) — página nomeada própria. Folha intencionalmente clara (papel). */
@page indicadores-retrato { size: A4 portrait; margin: 12mm; }
/* Folha sempre clara: redefine os tokens do tema (no escuro, --wf-text é quase branco) para valores fixos de papel. */
.q-ind-print-pagina, .q-ind-folha {
  --wf-text: #0A1628; --wf-text-muted: #4B5868; --wf-text-subtle: #4B5868; --wf-surface: #fff; --wf-surface-alt: #EEF1F5;
  --wf-border: #D1D5DB; --wf-success: #16A34A; --wf-warning: #D97706; --wf-danger: #DC2626; --wf-brand-accent: #2B7FD9;
}
.q-ind-print-pagina { background: #fff; color: #0A1628; }
.q-ind-folha { page: indicadores-retrato; width: 210mm; margin: 0 auto 16px; padding: 12mm; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.15); }
.q-ind-print-acoes { max-width: 210mm; margin: 16px auto; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
@media print {
  .q-ind-print-acoes { display: none; }
  .q-ind-tabela-rolagem { overflow: visible; }
  .q-ind-folha { box-shadow: none; margin: 0; padding: 0; width: auto; }
  .q-ind-secao { break-inside: avoid; }
  .q-ind-folha .q-ind-grade { grid-template-columns: 1fr 1fr; }
}

/* Widgets da Qualidade no Início */
.q-wid-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.q-wid-lista a { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 6px; color: var(--wf-text); text-decoration: none; font-size: 13px; }
.q-wid-lista a:hover { background: var(--wf-surface-alt, var(--wf-border)); }
.q-wid-lista a span:first-child { flex: 1; }
.q-wid-selo { font-size: 11px; color: var(--wf-danger); font-weight: 600; }
.q-wid-rodape { display: inline-block; margin-top: 8px; font-size: 12px; color: var(--wf-brand-accent); }
.q-wid-vazio { padding: 16px; text-align: center; color: var(--wf-text-subtle); font-size: 12px; }
