/* V1631 — Planejamento da Qualidade (peças, revisões, características, FMEA/Plano por peça).
   Tokens do padrão visual V1490 (--tq-*), com valores de reserva. Sem rolagem horizontal. */
.pq { --pq-borda: var(--tq-borda, #d5dde8); --pq-texto: var(--tq-texto, #0f172a); --pq-texto2: var(--tq-texto-2, #475569); --pq-muted: var(--text-muted, #64748b);
  --pq-azul: var(--tq-azul-600, #1766b3); --pq-azul-50: var(--tq-azul-50, #eff6ff); --pq-laranja: var(--tq-laranja-500, #f28c28); --pq-fundo: var(--tq-fundo-2, #f6f8fb); }
.pq .pq-card { padding: 16px 18px; }
.pq-muted { color: var(--pq-muted, #64748b); font-size: 12.5px; }
.pq-erro { color: #b42318; font-size: 12.5px; }
.pq-ok { color: #15803d; font-size: 12.5px; font-weight: 600; }
.pq-mono { font-variant-numeric: tabular-nums; font-weight: 600; }
.pq-dir { text-align: right; }
.pq-flex { flex: 1; }
.pq-mt4 { margin-top: 4px; }
.pq-mt12 { margin-top: 12px; }
.pq-h3 { margin: 0; font-size: 14px; font-weight: 700; color: var(--pq-texto); }
.pq-h4 { margin: 12px 0 6px; font-size: 13px; }
.pq-rot { display: block; font-size: 11.5px; font-weight: 600; color: var(--pq-texto2); text-transform: uppercase; letter-spacing: .02em; margin-bottom: 4px; }
.pq-ul { margin: 0; padding-left: 18px; font-size: 13px; }
.pq-ul li { margin: 3px 0; }

/* filtros e barra de ações */
.pq-filtros { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.pq-filtros label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 600; color: var(--pq-texto2); }
.pq-filtros input { min-width: 300px; max-width: 100%; }
.pq-barra { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.pq-barra > .pq-muted { flex: 1 1 320px; }
.pq-barra-acoes { display: flex; gap: 8px; flex-wrap: wrap; }

/* botões próprios (fora do normalizador global) */
.pq button.pq-btn-pri, .pq-drawer button.pq-btn-pri { height: 34px; padding: 0 14px; border-radius: 8px; border: 1px solid var(--tq-laranja-500, #f28c28); background: var(--tq-laranja-500, #f28c28); color: #fff; font-weight: 700; font-size: 13px; cursor: pointer; white-space: nowrap; }
.pq button.pq-btn-pri:hover, .pq-drawer button.pq-btn-pri:hover { filter: brightness(.95); }
.pq button.pq-btn-sec, .pq-drawer button.pq-btn-sec { height: 34px; padding: 0 12px; border-radius: 8px; border: 1px solid var(--tq-borda, #d5dde8); background: #fff; color: var(--tq-azul-600, #1766b3); font-weight: 600; font-size: 13px; cursor: pointer; white-space: nowrap; }
.pq button.pq-btn-sec:hover, .pq-drawer button.pq-btn-sec:hover { border-color: var(--tq-azul-600, #1766b3); background: var(--tq-azul-50, #eff6ff); }
.pq button.pq-btn-p, .pq-drawer button.pq-btn-p { height: 30px; font-size: 12.5px; padding: 0 10px; }
.pq-drawer button.pq-btn-perigo { height: 34px; padding: 0 12px; border-radius: 8px; border: 1px solid #fecaca; background: #fff; color: #b42318; font-weight: 600; font-size: 13px; cursor: pointer; }
.pq button.pq-ic, .pq-drawer button.pq-ic { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; border: 1px solid var(--tq-borda, #d5dde8); border-radius: 8px; background: #fff; color: var(--tq-azul-600, #1766b3); cursor: pointer; flex: none; }
.pq button.pq-ic:hover, .pq-drawer button.pq-ic:hover { background: var(--tq-azul-50, #eff6ff); border-color: var(--tq-azul-600, #1766b3); }
.pq-ic svg, .pq-voltar svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.pq button.pq-link, .pq-drawer button.pq-link { border: 0; background: none; padding: 0; height: auto; min-height: 0; color: var(--tq-azul-600, #1766b3); font-weight: 600; font-size: inherit; cursor: pointer; }
.pq button.pq-link:hover { text-decoration: underline; }
.pq button.pq-voltar { display: inline-flex; align-items: center; gap: 4px; border: 0; background: none; padding: 0; height: auto; min-height: 0; color: var(--tq-azul-600, #1766b3); font-weight: 600; font-size: 12.5px; cursor: pointer; margin-bottom: 4px; }
.pq-acoes-linha { display: flex; gap: 6px; justify-content: flex-end; align-items: center; flex-wrap: wrap; }

/* pílulas, classes e tags */
.pq-pill { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 700; background: #eef2f7; color: #475569; white-space: nowrap; }
.pq-pill-ok { background: #e8f7ee; color: #15803d; }
.pq-pill-am { background: #fff4e5; color: #b45309; }
.pq-pill-err { background: #fdecec; color: #b42318; }
.pq-pill-off { background: #f1f5f9; color: #94a3b8; }
.pq-classe { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 22px; padding: 0 6px; border-radius: 6px; font-size: 11.5px; font-weight: 800; }
.pq-classe.cc { background: #fdecec; color: #b42318; border: 1px solid #f5b5b5; }
.pq-classe.sc { background: #fff4e5; color: #b45309; border: 1px solid #f8cf9a; }
.pq-tag-alt { display: inline-block; margin-left: 4px; padding: 0 6px; border-radius: 4px; background: #eef4ff; color: #1d4ed8; font-size: 10.5px; font-weight: 700; }
.pq-tag-esp { display: inline-block; padding: 0 6px; border-radius: 4px; background: #fdecec; color: #b42318; font-size: 10.5px; font-weight: 700; }
.pq-rev { display: inline-block; padding: 2px 8px; border-radius: 6px; background: var(--tq-azul-50, #eff6ff); color: var(--tq-azul-600, #1766b3); font-weight: 700; font-size: 12px; }
.pq-aviso { display: inline-flex; width: 18px; height: 18px; align-items: center; justify-content: center; border-radius: 50%; background: #fff4e5; color: #b45309; font-weight: 800; font-size: 11px; cursor: help; }

/* tabelas sem rolagem horizontal */
.pq-tab { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: 13px; }
.pq-tab th { text-align: left; font-size: 11.5px; font-weight: 700; color: var(--pq-texto2, #475569); text-transform: uppercase; letter-spacing: .02em; padding: 8px 10px; background: var(--pq-fundo, #f6f8fb); border-bottom: 1px solid var(--pq-borda, #d5dde8); }
.pq-tab td { padding: 10px; border-bottom: 1px solid #edf1f6; vertical-align: top; overflow-wrap: anywhere; }
.pq-tab td small { display: block; color: var(--pq-muted, #64748b); font-size: 12px; margin-top: 2px; }
.pq-tab tr:last-child td { border-bottom: 0; }
.pq-tab input, .pq-tab select { width: 100%; max-width: 100%; box-sizing: border-box; }
.pq-linha-click { cursor: pointer; }
.pq-linha-click:hover td { background: #f8fbff; }
.pq-linha-click:focus-visible { outline: 2px solid var(--tq-azul-600, #1766b3); outline-offset: -2px; }
.pq-abrir { color: var(--tq-azul-600, #1766b3); font-weight: 600; font-size: 12.5px; }
.pq-tab-pecas col.c1 { width: 36%; } .pq-tab-pecas col.c2 { width: 22%; } .pq-tab-pecas col.c3 { width: 20%; } .pq-tab-pecas col.c4 { width: 14%; } .pq-tab-pecas col.c5 { width: 8%; }
.pq-tab-car col.c-bal { width: 7%; } .pq-tab-car col.c-car { width: 29%; } .pq-tab-car col.c-esp { width: 19%; } .pq-tab-car col.c-cls { width: 8%; } .pq-tab-car col.c-met { width: 19%; } .pq-tab-car col.c-uso { width: 11%; } .pq-tab-car col.c-ac { width: 7%; }
.pq-tab-rot col.c-op { width: 9%; } .pq-tab-rot col.c-desc { width: 38%; } .pq-tab-rot col.c-tipo { width: 16%; } .pq-tab-rot col.c-loc { width: 30%; } .pq-tab-rot col.c-ac { width: 7%; }
.pq-tab-num col.c-cli { width: 30%; } .pq-tab-num col.c-num { width: 26%; } .pq-tab-num col.c-desc { width: 37%; } .pq-tab-num col.c-ac { width: 7%; }
.pq-tab-doc col.c-doc { width: 34%; } .pq-tab-doc col.c-info { width: 24%; } .pq-tab-doc col.c-sit { width: 13%; } .pq-tab-doc col.c-ac2 { width: 29%; }
.pq-tab-itens col.c-it { width: 30%; } .pq-tab-itens col.c-ctl { width: 34%; } .pq-tab-itens col.c-car2 { width: 36%; }
.pq-in-mini { max-width: 70px; }

/* topo, revisões e abas */
.pq-topo h1 { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.pq-h1-desc { font-weight: 500; color: var(--pq-texto2, #475569); font-size: .8em; }
.pq-revs { display: flex; flex-direction: column; gap: 12px; }
.pq-revs-lista { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.pq button.pq-rev-chip { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 1px; height: auto; min-height: 0; padding: 6px 12px; border-radius: 10px; border: 1px solid var(--pq-borda, #d5dde8); background: #fff; cursor: pointer; text-align: left; }
.pq-rev-chip strong { font-size: 13px; color: var(--pq-texto, #0f172a); }
.pq-rev-chip span { font-size: 11px; color: var(--pq-muted, #64748b); }
.pq-rev-chip.s-vigente span { color: #15803d; font-weight: 700; }
.pq-rev-chip.s-em_desenvolvimento span { color: #b45309; font-weight: 700; }
.pq-rev-chip.s-obsoleta { opacity: .7; }
.pq button.pq-rev-chip.is-sel { border-color: var(--tq-azul-600, #1766b3); box-shadow: 0 0 0 2px rgba(23, 102, 179, .15); background: var(--tq-azul-50, #eff6ff); opacity: 1; }
.pq-rev-info { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; flex-wrap: wrap; border-top: 1px solid #edf1f6; padding-top: 10px; }
.pq-rev-info p { margin: 4px 0 0; font-size: 13px; color: var(--pq-texto2, #475569); }
.pq-rev-acoes { display: flex; gap: 8px; flex-wrap: wrap; }
.pq-abas { display: flex; gap: 6px; flex-wrap: wrap; margin: 4px 0 10px; }
.pq button.pq-aba { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px; border-radius: 10px; border: 1px solid var(--pq-borda, #d5dde8); background: #fff; color: var(--pq-texto2, #475569); font-weight: 600; font-size: 13px; cursor: pointer; }
.pq button.pq-aba.is-on { background: var(--tq-azul-600, #1766b3); border-color: var(--tq-azul-600, #1766b3); color: #fff; }
.pq-aba-n { display: inline-flex; min-width: 20px; height: 20px; padding: 0 6px; align-items: center; justify-content: center; border-radius: 999px; background: rgba(15, 23, 42, .08); font-size: 11.5px; }
.pq-aba.is-on .pq-aba-n { background: rgba(255, 255, 255, .25); }

/* documentos */
.pq-docs { display: flex; flex-direction: column; gap: 18px; }
.pq-doc-bloco + .pq-doc-bloco { border-top: 1px solid #edf1f6; padding-top: 14px; }
.pq-dica { margin: 8px 0 0; font-size: 12.5px; color: var(--pq-muted, #64748b); }
.pq-valid { padding: 10px 12px; border-radius: 10px; font-size: 13px; margin-bottom: 12px; }
.pq-valid.ok { background: #e8f7ee; color: #166534; border: 1px solid #b7e4c7; }
.pq-valid.err { background: #fdecec; color: #8a1c13; border: 1px solid #f5b5b5; }
.pq-valid small { display: block; margin-top: 4px; color: #8a5a00; }

/* painel lateral */
.pq-drawer-fundo { position: fixed; inset: 0; background: rgba(15, 23, 42, .35); z-index: 9000; display: flex; justify-content: flex-end; }
.pq-drawer { width: min(var(--pq-largura, 640px), 100vw); height: 100%; background: #fff; display: flex; flex-direction: column; box-shadow: -8px 0 24px rgba(15, 23, 42, .18); }
.pq-drawer-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-bottom: 1px solid #edf1f6; }
.pq-drawer-cab h3 { margin: 0; font-size: 15px; }
.pq-drawer button.pq-x { width: 32px; height: 32px; border: 0; background: none; font-size: 22px; line-height: 1; color: #64748b; cursor: pointer; padding: 0; min-height: 0; }
.pq-drawer-corpo { flex: 1; overflow-y: auto; padding: 16px 18px; }
.pq-drawer-rodape { display: flex; gap: 8px; justify-content: flex-end; align-items: center; padding: 12px 18px; border-top: 1px solid #edf1f6; }
.pq-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.pq-form-3 { grid-template-columns: 1fr 1fr 2fr; align-items: end; }
.pq-form label, .pq-lf-corpo label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 600; color: var(--pq-texto2, #475569); min-width: 0; }
.pq-form label small { font-weight: 400; color: var(--pq-muted, #64748b); }
.pq-form input, .pq-form select, .pq-form textarea, .pq-lf-corpo input, .pq-lf-corpo select { width: 100%; box-sizing: border-box; }
.pq-form .pq-span2 { grid-column: 1 / -1; }
.pq-form label.pq-check, .pq label.pq-check { flex-direction: row; align-items: center; gap: 8px; font-weight: 500; }
.pq label.pq-check input, .pq-drawer label.pq-check input { width: auto; }
.pq-import { width: 100%; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; margin: 8px 0; }
.pq-escolha { display: flex; flex-direction: column; gap: 6px; }
.pq-escolha-l { display: flex !important; flex-direction: row !important; gap: 10px; align-items: flex-start; padding: 8px 10px; border: 1px solid var(--pq-borda, #d5dde8); border-radius: 8px; cursor: pointer; }
.pq-escolha-l input { width: auto !important; margin-top: 3px; }
.pq-escolha-l small { display: block; color: #64748b; font-weight: 400; }
.pq-equipe { display: flex; flex-direction: column; gap: 6px; }
.pq-equipe-l { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }

/* linhas do FMEA */
.pq-linhas { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.pq-lf { border: 1px solid var(--pq-borda, #d5dde8); border-radius: 10px; padding: 10px 12px; }
.pq-lf header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
.pq-lf header p { margin: 2px 0 0; font-size: 12.5px; color: #475569; }
.pq-lf-sod { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; font-size: 12px; font-weight: 600; color: #334155; }
.pq-lf-corpo { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto; gap: 10px; align-items: end; margin-top: 10px; }
.pq-lf-corpo .pq-lf-just { grid-column: 1 / -1; }
.pq-lf-corpo .pq-lf-just[hidden] { display: none !important; }
.pq-lf-reav-in { display: flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; flex-wrap: wrap; }
.pq-in-sod { width: 38px !important; text-align: center; padding: 4px !important; }
.pq-lf-acao { margin: 8px 0 0; font-size: 12.5px; color: #475569; }
.pq-lf-acao .pq-rot { display: inline; margin-right: 4px; }

/* configuração */
.pq-segs { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px; margin: 10px 0 18px; }
.pq-seg { display: flex; gap: 8px; align-items: center; padding: 8px 10px; border: 1px solid var(--pq-borda, #d5dde8); border-radius: 8px; font-size: 13px; cursor: pointer; }
.pq-seg input { width: auto; }

@media (max-width: 760px) {
  .pq-form, .pq-form-3 { grid-template-columns: 1fr; }
  .pq-lf-corpo { grid-template-columns: 1fr; }
  .pq-filtros input { min-width: 0; width: 100%; }
  .pq-tab { table-layout: auto; }
  .pq-tab colgroup { display: none; }
}

/* V1704 — Inspeção contínua e CEP (Multiprocesso Fase 2) */
.qi { display:flex; flex-direction:column; gap:14px; }
.qi-gerar { display:flex; flex-direction:column; gap:12px; }
.qi-gerar h3 { margin:0 0 4px; }
.qi-gerar-form { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.qi-gerar-form select { min-width:min(460px,100%); flex:1 1 360px; }
.qi-tipos { display:flex; gap:14px; flex-wrap:wrap; color:#64748b; font-size:11.5px; }
.qi-planos { display:flex; flex-direction:column; gap:8px; }
.qi-plano { display:grid; grid-template-columns:minmax(0,1fr) auto 20px; align-items:center; gap:12px; width:100%; min-height:58px; padding:10px 12px; border:1px solid #dbe3ed; border-radius:10px; background:#fff; color:#172b45; text-align:left; cursor:pointer; }
.qi-plano:hover { border-color:#1d5b96; background:#f8fbff; }
.qi-plano span { display:flex; flex-direction:column; gap:3px; }
.qi-plano small { color:#64748b; font-size:11.5px; }
.qi-plano b { color:#1d5b96; font-size:20px; }
.qi-acoes { display:flex; gap:8px; flex-wrap:wrap; }
.qi-resumo { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.qi-resumo>div { display:flex; flex-direction:column; gap:3px; padding:12px 14px; background:#f4f7fb; border:1px solid #e1e8f0; border-radius:10px; }
.qi-resumo strong { color:#173b63; font-size:22px; font-variant-numeric:tabular-nums; }
.qi-resumo small { color:#64748b; font-size:11.5px; }
.qi-itens { display:flex; flex-direction:column; gap:10px; }
.qi-item { border:1px solid #dbe3ed; border-radius:10px; padding:12px 14px; display:flex; flex-direction:column; gap:9px; }
.qi-item-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; flex-wrap:wrap; }
.qi-item-head>div:first-child { min-width:240px; flex:1; }
.qi-item-head strong { color:#173b63; font-size:13px; }
.qi-item-head small { display:block; color:#64748b; font-size:11.5px; margin-top:3px; }
.qi-item-head>div:last-child { display:flex; gap:5px; flex-wrap:wrap; }
.qi-metricas { display:flex; gap:8px; flex-wrap:wrap; }
.qi-metricas>span { min-width:72px; padding:6px 9px; border-radius:8px; background:#f5f7fa; display:flex; flex-direction:column; gap:2px; }
.qi-metricas b { color:#173b63; font-size:15px; font-variant-numeric:tabular-nums; }
.qi-metricas small { color:#64748b; font-size:10.5px; }
.qi-chart { width:100%; max-height:190px; display:block; border:1px solid #edf1f6; border-radius:8px; background:#fff; }
.qi-chart-empty { border:1px dashed #d3dce7; border-radius:8px; padding:18px; color:#64748b; font-size:12px; text-align:center; }
.qi-alertas { display:flex; flex-direction:column; gap:4px; padding:8px 10px; border-radius:8px; background:#fff8ed; }
.qi-alertas p { margin:0; color:#92400e; font-size:12px; }
.qi-item-foot { display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; }
.qi-item-foot small { color:#64748b; }
.qi-sinais,.qi-historico { display:flex; flex-direction:column; gap:8px; }
.qi-sinais article,.qi-historico article { padding:10px 12px; border:1px solid #e1e8f0; border-radius:9px; background:#fff; }
.qi-sinais header { display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.qi-sinais p { margin:7px 0 4px; font-size:12.5px; color:#334155; }
.qi-sinais small,.qi-historico small { display:block; color:#64748b; font-size:11.5px; margin-top:4px; }
.qi-capturas { display:flex; flex-direction:column; gap:10px; margin-top:12px; }
.qi-captura { padding:12px; border:1px solid #dbe3ed; border-radius:9px; display:flex; flex-direction:column; gap:7px; }
.qi-captura>strong { color:#173b63; font-size:13px; }
.qi-captura>small { color:#64748b; font-size:11.5px; }
.qi-captura label { display:flex; flex-direction:column; gap:4px; font-size:12px; color:#475569; font-weight:600; }
.qi-captura label small { color:#64748b; font-weight:400; }
.qi-captura .pq-form { margin-top:4px; }
.qi-form-meta { padding-bottom:12px; border-bottom:1px solid #edf1f6; }
@media(max-width:700px) {
  .qi-resumo { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .qi-plano { grid-template-columns:minmax(0,1fr) 20px; }
  .qi-plano>span:nth-child(2) { grid-column:1; grid-row:2; flex-direction:row; align-items:center; flex-wrap:wrap; }
  .qi-plano>b { grid-column:2; grid-row:1 / span 2; }
  .qi-gerar-form { align-items:stretch; }
  .qi-gerar-form button { width:100%; }
}
.qi-defeitos { display:flex; flex-direction:column; gap:6px; margin:10px 0; }
.qi-defeitos>div { padding:8px 10px; border:1px solid #e1e8f0; border-radius:8px; }
.qi-defeitos small { display:block; color:#64748b; font-size:11.5px; margin-top:3px; }

/* V1704 — duas cartas complementares no CEP e catálogo de defeitos múltiplos */
.qi-chart-stack{display:grid;grid-template-columns:1fr;gap:10px;margin-top:8px}.qi-chart-panel{min-width:0;border:1px solid #dce5f0;border-radius:9px;background:#fff;padding:8px 10px}.qi-chart-panel>strong{display:block;font-size:12px;color:#43566e;margin:0 0 4px}.qi-defeito-row{display:grid;grid-template-columns:minmax(170px,1.5fr) minmax(65px,.45fr) minmax(130px,1fr) minmax(145px,1fr);gap:7px;margin:6px 0}.qi-defeito-row input,.qi-defeito-row select{min-width:0;width:100%}@media(max-width:760px){.qi-defeito-row{grid-template-columns:1fr 90px}.qi-defeito-row input[type=file]{grid-column:1/-1}}

/* V1704 — permite selecionar apenas as características devidas na frequência desta coleta. */
.qi-incluir { display:flex; align-items:center; gap:8px; margin:0 0 8px; color:var(--texto-secundario,#64748b); font-size:12px; }
.qi-incluir input { accent-color:var(--laranja,#f58220); }
