/* TsQualy V1642 — Pesquisa de satisfação (NPS): telas internas revistas.
   Mesmos tokens do sistema (laranja #e87524, azul-escuro #25364a, bordas #e3e7ed); sem rolagem horizontal até 900px. */
.nps-mod { --n-or: #e87524; --n-or-50: #fff4ec; --n-tx: var(--text, #25364a); --n-tx2: #536174; --n-mut: var(--text-muted, #667085); --n-bd: var(--border, #e3e7ed); --n-bg: #f6f8fb;
  --n-ok: #1f8a57; --n-ok-50: #e8f5ee; --n-am: #a86b06; --n-am-50: #fff4dd; --n-err: #c23b3b; --n-err-50: #fdecec; --n-az: #2563b0; --n-az-50: #eaf2fd; }
.nps-mod .nps-content { display: grid; gap: 16px; }
.nps-mod .nps-card { background: var(--surface, #fff); border: 1px solid var(--n-bd); border-radius: 12px; padding: 18px 20px; min-width: 0; }
.nps-mod .nps-card h4 { margin: 0 0 10px; font-size: 12px; font-weight: 600; color: var(--n-tx2); text-transform: uppercase; letter-spacing: .03em; }
.nps-ico { width: 16px; height: 16px; flex: none; vertical-align: -3px; }

/* abas */
.nps-mod .nps-tabs { display: flex; gap: 4px; margin: 0 0 16px; padding: 6px; background: var(--surface, #fff); border: 1px solid var(--n-bd); border-radius: 12px; overflow-x: auto; scrollbar-width: none; }
.nps-mod .nps-tab { border: 0; background: transparent; color: var(--n-mut); padding: 9px 14px; border-radius: 8px; font: 500 13px Inter, Arial, sans-serif; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.nps-mod .nps-tab:hover { background: #f3f5f8; color: var(--n-tx); }
.nps-mod .nps-tab.active { background: var(--n-or); color: #fff; }
.nps-tab-n { min-width: 20px; padding: 1px 6px; border-radius: 10px; background: #eef1f5; color: var(--n-tx2); font-size: 11px; font-weight: 600; text-align: center; }
.nps-tab.active .nps-tab-n { background: rgba(255, 255, 255, .25); color: #fff; }

/* botões */
.nps-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 8px; border: 1px solid var(--n-bd, #d9dee5); background: #fff; color: var(--n-tx, #25364a); font: 600 13px Inter, Arial, sans-serif; cursor: pointer; white-space: nowrap; text-decoration: none; }
.nps-btn:hover { border-color: #c5ccd6; background: #fafbfc; }
.nps-btn.pri { background: #e87524; border-color: #e87524; color: #fff; }
.nps-btn.pri:hover { background: #d4661a; }
.nps-btn.perigo { background: #c23b3b; border-color: #c23b3b; color: #fff; }
.nps-btn.peq { height: 30px; padding: 0 10px; font-size: 12px; }
.nps-btn.on { border-color: #e87524; color: #c2581a; background: #fff4ec; }
.nps-btn:disabled { opacity: .55; cursor: not-allowed; }
.nps-ic { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 8px; border: 1px solid transparent; background: transparent; color: #536174; cursor: pointer; }
.nps-ic:hover { background: #f1f4f8; border-color: #e3e7ed; color: #25364a; }
.nps-ic.perigo:hover { background: #fdecec; color: #c23b3b; border-color: #f5c9c9; }
.nps-ic:disabled { opacity: .3; cursor: default; }
.nps-acoes { display: flex; gap: 4px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }

/* cabeçalhos de seção */
.nps-sec-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.nps-sec-cab h3 { margin: 0 0 3px; font-size: 15px; font-weight: 700; color: var(--n-tx); }
.nps-sec-cab p { margin: 0; font-size: 12.5px; color: var(--n-mut); }
.nps-sec-acoes { display: flex; gap: 8px; }

/* resumo (termômetro, distribuição, taxa) */
.nps-resumo { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, .9fr); gap: 16px; }
.nps-gauge { display: flex; flex-direction: column; align-items: center; }
.nps-gauge svg { width: 100%; max-width: 250px; height: auto; display: block; }
.nps-gauge-val { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-top: 4px; }
.nps-gauge-val strong { font: 700 34px "Space Grotesk", Inter, sans-serif; color: var(--n-tx); line-height: 1; }
.nps-gauge-val small { color: var(--n-mut); font-size: 12px; }
.nps-zona { padding: 3px 10px; border-radius: 12px; font-size: 11.5px; font-weight: 700; }
.z-critica { background: #fdecec; color: #c23b3b; } .z-aperf { background: #fff4dd; color: #a86b06; } .z-qualidade { background: #eef8e6; color: #4a8a24; }
.z-excelencia { background: #e3f4ea; color: #1f8a57; } .z-encantamento { background: #d7efe2; color: #15653f; } .z-sem { background: #eef1f5; color: #667085; }
.nps-dist-barra { display: flex; height: 16px; border-radius: 8px; overflow: hidden; background: #eef1f5; margin: 4px 0 14px; }
.nps-dist-barra i { display: block; height: 100%; }
.d-pro { background: #1f8a57; } .d-neu { background: #e0a43a; } .d-det { background: #d14a4a; }
.nps-dist-l { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto 36px; align-items: center; gap: 8px; padding: 7px 0; border-bottom: 1px solid #eef1f5; font-size: 13px; color: var(--n-tx); }
.nps-dist-l:last-child { border-bottom: 0; }
.nps-dist-l strong { font-size: 15px; } .nps-dist-l small { color: var(--n-mut); text-align: right; }
.nps-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.nps-big { display: block; font: 700 34px "Space Grotesk", Inter, sans-serif; color: var(--n-tx); line-height: 1.1; }
.nps-res-taxa small { display: block; color: var(--n-mut); font-size: 12px; margin: 4px 0 10px; }
.nps-res-taxa p { font-size: 12.5px; margin: 0 0 10px; display: flex; gap: 6px; align-items: center; }
.nps-mini-kpis { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid #eef1f5; padding-top: 10px; font-size: 12.5px; color: var(--n-tx2); }
.nps-mini-kpis b { color: var(--n-tx); font-size: 14px; }

/* primeiros passos */
.nps-passos-l { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; counter-reset: p; }
.nps-passos-l li { counter-increment: p; border: 1px solid var(--n-bd); border-radius: 10px; padding: 14px; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.nps-passos-l li::before { content: counter(p); width: 26px; height: 26px; border-radius: 50%; background: #fff4ec; color: #c2581a; font-weight: 700; display: flex; align-items: center; justify-content: center; font-size: 13px; }
.nps-passos-l li.feito::before { content: "✓"; background: #e8f5ee; color: #1f8a57; }
.nps-passos-l strong { font-size: 13.5px; color: var(--n-tx); } .nps-passos-l span { font-size: 12px; color: var(--n-mut); }

/* pontos de atenção */
.nps-atencao { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.nps-atencao li { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 10px; font-size: 13px; color: var(--n-tx); border-left: 3px solid; }
.nps-atencao li.n-alto { background: #fdf1f1; border-color: #d14a4a; } .nps-atencao li.n-alto .nps-ico { color: #c23b3b; }
.nps-atencao li.n-medio { background: #fff8ec; border-color: #e0a43a; } .nps-atencao li.n-medio .nps-ico { color: #a86b06; }
.nps-atencao li.n-baixo { background: #f3f6fa; border-color: #9fb3cc; } .nps-atencao li.n-baixo .nps-ico { color: #536174; }
.nps-ok { color: #1f8a57; font-size: 13px; display: flex; gap: 6px; align-items: center; margin: 0; }
.nps-venc { color: #c23b3b !important; }
.nps-mut { color: var(--n-mut, #667085); font-size: 12.5px; }
.nps-erro { color: #c23b3b; }

/* gráfico */
.nps-graf { width: 100%; height: auto; max-height: 280px; display: block; }
.nps-vazio-graf { padding: 28px; text-align: center; color: var(--n-mut); background: var(--n-bg); border-radius: 10px; font-size: 13px; }
.nps-metodo { background: #f3f6fa; border: 1px solid #e0e6ed; border-radius: 10px; padding: 12px 16px; color: #516072; font-size: 12.5px; }
.nps-metodo summary { cursor: pointer; font-weight: 600; color: var(--n-tx); display: flex; gap: 6px; align-items: center; }
.nps-metodo p { margin: 8px 0 0; line-height: 1.55; }

/* tabelas (sem rolagem horizontal no desktop) */
.nps-tab-wrap { width: 100%; }
.nps-mod .nps-table { min-width: 0; width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13px; table-layout: fixed; }
.nps-mod .nps-table th { background: #f3f5f8; color: #536174; text-align: left; padding: 10px 12px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.nps-mod .nps-table th:first-child { border-radius: 8px 0 0 8px; } .nps-mod .nps-table th:last-child { border-radius: 0 8px 8px 0; }
.nps-mod .nps-table td { padding: 11px 12px; border-bottom: 1px solid #eef1f5; color: var(--n-tx); vertical-align: middle; overflow-wrap: anywhere; }
.nps-mod .nps-table td small { display: block; color: var(--n-mut); font-size: 11.5px; margin-top: 3px; }
.nps-mod .nps-table tr:last-child td { border-bottom: 0; }
.nps-mod .nps-table tr.inativa td:not(.nps-dir) { opacity: .55; }
.nps-dir { text-align: right; }
.nps-linha { cursor: pointer; } .nps-linha:hover td { background: #fafbfc; } .nps-linha:focus-visible td { background: #fff4ec; outline: none; }
.nps-t-camp-res col, .nps-t-camp-res th:nth-child(1) { width: 34%; } .nps-t-camp-res th:nth-child(2) { width: 30%; } .nps-t-camp-res th:nth-child(3) { width: 11%; } .nps-t-camp-res th:nth-child(4) { width: 12%; } .nps-t-camp-res th:nth-child(5) { width: 13%; }
.nps-t-perg th:nth-child(1) { width: 37%; } .nps-t-perg th:nth-child(2) { width: 20%; } .nps-t-perg th:nth-child(3) { width: 9%; } .nps-t-perg th:nth-child(4) { width: 11%; } .nps-t-perg th:nth-child(5) { width: 10%; } .nps-t-perg th:nth-child(6) { width: 13%; }
.nps-t-camp th:nth-child(1) { width: 28%; } .nps-t-camp th:nth-child(2) { width: 12%; } .nps-t-camp th:nth-child(3) { width: 18%; } .nps-t-camp th:nth-child(4) { width: 8%; } .nps-t-camp th:nth-child(5) { width: 10%; } .nps-t-camp th:nth-child(6) { width: 24%; }
.nps-t-camp .nps-acoes { flex-wrap: nowrap; }
.nps-t-resp th:nth-child(1) { width: 20%; } .nps-t-resp th:nth-child(2) { width: 10%; } .nps-t-resp th:nth-child(3) { width: 11%; } .nps-t-resp th:nth-child(4) { width: 31%; } .nps-t-resp th:nth-child(5) { width: 14%; } .nps-t-resp th:nth-child(6) { width: 14%; }
.nps-t-trat th:nth-child(1) { width: 30%; } .nps-t-trat th:nth-child(2) { width: 22%; } .nps-t-trat th:nth-child(3) { width: 14%; } .nps-t-trat th:nth-child(4) { width: 12%; } .nps-t-trat th:nth-child(5) { width: 14%; } .nps-t-trat th:nth-child(6) { width: 8%; }
.nps-t-conv th:nth-child(1) { width: 32%; } .nps-t-conv th:nth-child(2) { width: 30%; } .nps-t-conv th:nth-child(3) { width: 26%; } .nps-t-conv th:nth-child(4) { width: 12%; }
.nps-q { font-weight: 600; } .nps-coment { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--n-tx2); font-size: 12.5px; }

/* pílulas, notas, chips */
.nps-pill { display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 12px; font-size: 11px; font-weight: 600; background: #eef1f5; color: #586579; white-space: nowrap; }
.nps-pill.s-ok { background: #e8f5ee; color: #1f7a4d; } .nps-pill.s-am { background: #fff4dd; color: #95610f; } .nps-pill.s-err { background: #fdecec; color: #b83d3d; }
.nps-pill.s-azul { background: #eaf2fd; color: #2563b0; } .nps-pill.s-off { background: #eef1f5; color: #667085; }
.nps-npsv { display: inline-block; min-width: 46px; text-align: center; padding: 3px 8px; border-radius: 8px; font-weight: 700; font-size: 13px; }
.nps-nota { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 8px; font-weight: 700; font-size: 14px; color: #fff; }
.nps-nota.promotor { background: #1f8a57; } .nps-nota.neutro { background: #e0a43a; } .nps-nota.detrator { background: #d14a4a; }
.nps-nota.mini { width: 20px; height: 20px; font-size: 11px; border-radius: 5px; vertical-align: 0; }
.nps-nota.grande { width: 52px; height: 52px; font-size: 24px; border-radius: 12px; }
.nps-chip { display: inline-block; padding: 1px 8px; margin-right: 6px; border-radius: 10px; background: #eef1f5; color: #536174; font-size: 11px; font-weight: 600; }
.nps-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.nps-card > .nps-chips { margin-bottom: 12px; }
.nps-chip-b { height: 30px; padding: 0 12px; border-radius: 15px; border: 1px solid var(--n-bd, #d9dee5); background: #fff; color: #536174; font: 500 12.5px Inter, Arial, sans-serif; cursor: pointer; }
.nps-chip-b.on { background: #25364a; border-color: #25364a; color: #fff; }
.nps-escala { font-variant-numeric: tabular-nums; font-weight: 600; }

/* filtros */
.nps-filtros { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.nps-filtros select { height: 36px; border: 1px solid #d9dee5; border-radius: 8px; padding: 0 10px; font: 13px Inter, Arial, sans-serif; color: #25364a; background: #fff; }
.nps-busca { position: relative; display: flex; align-items: center; flex: 1 1 240px; max-width: 380px; }
.nps-busca .nps-ico { position: absolute; left: 10px; color: #98a2b3; }
.nps-busca input { width: 100%; height: 36px; border: 1px solid #d9dee5; border-radius: 8px; padding: 0 10px 0 32px; font: 13px Inter, Arial, sans-serif; }
.nps-check { display: inline-flex !important; flex-direction: row !important; align-items: center; gap: 8px; font-size: 13px; font-weight: 500 !important; color: #25364a; cursor: pointer; }
.nps-check input { width: 16px; height: 16px; accent-color: #e87524; margin: 0; }
.nps-cont { margin-left: auto; font-size: 12px; color: var(--n-mut); }

/* progresso de respostas */
.nps-prog { display: flex; flex-direction: column; gap: 4px; }
.nps-prog-barra { position: relative; height: 8px; border-radius: 4px; background: #eef1f5; }
.nps-prog-barra i { display: block; height: 100%; border-radius: 4px; background: #e0a43a; }
.nps-prog-barra i.ok { background: #1f8a57; }
.nps-prog-barra b { position: absolute; top: -3px; width: 2px; height: 14px; background: #25364a; border-radius: 1px; }
.nps-prog small { font-size: 11.5px; color: var(--n-mut); margin: 0 !important; }

/* modelos */
.nps-modelos { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }
.nps-modelo { border: 1px solid var(--n-bd); border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; }
.nps-modelo header { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.nps-modelo header strong { font-size: 14px; color: var(--n-tx); } .nps-modelo header p { margin: 3px 0 0; font-size: 12px; color: var(--n-mut); }
.nps-modelo-info { list-style: none; margin: 0; padding: 0; display: flex; gap: 14px; flex-wrap: wrap; font-size: 12.5px; color: var(--n-tx2); }
.nps-modelo-set { margin: 0; } .nps-modelo footer { display: flex; gap: 6px; flex-wrap: wrap; margin-top: auto; }
.nps-aviso { display: flex; gap: 8px; align-items: flex-start; background: #f3f6fa; border: 1px solid #dfe6ef; border-radius: 8px; padding: 9px 11px; font-size: 12.5px; color: #3c4d63; margin: 0; }
.nps-aviso .nps-ico { color: #2563b0; margin-top: 1px; }

/* vazio */
.nps-vazio { text-align: center; padding: 30px 16px; color: var(--n-mut); }
.nps-vazio strong { display: block; color: var(--n-tx); font-size: 14px; margin-bottom: 4px; } .nps-vazio p { margin: 0 0 12px; font-size: 13px; }

/* resultados */
.nps-res-cab { padding: 14px 20px; }
.nps-res-titulo { display: flex; gap: 16px; align-items: flex-end; flex-wrap: wrap; justify-content: space-between; }
.nps-sel-camp { display: flex; flex-direction: column; gap: 5px; font-size: 12px; font-weight: 600; color: var(--n-tx2); flex: 1 1 320px; max-width: 520px; }
.nps-sel-camp select { height: 38px; border: 1px solid #d9dee5; border-radius: 8px; padding: 0 10px; font: 600 14px Inter, Arial, sans-serif; color: #25364a; background: #fff; }
.nps-res-meta { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; font-size: 12.5px; color: var(--n-tx2); }
.nps-proc { display: flex; flex-direction: column; gap: 10px; }
.nps-proc-l { display: grid; grid-template-columns: minmax(150px, 1.3fr) minmax(0, 2fr) 42px minmax(120px, 1fr); gap: 12px; align-items: center; font-size: 13px; }
.nps-proc-n { color: var(--n-tx); font-weight: 500; }
.nps-proc-barra { height: 10px; border-radius: 5px; background: #eef1f5; overflow: hidden; }
.nps-proc-barra i { display: block; height: 100%; border-radius: 5px; background: #9fb3cc; }
.nps-proc-barra i.bom { background: #1f8a57; } .nps-proc-barra i.medio { background: #e0a43a; } .nps-proc-barra i.ruim { background: #d14a4a; }
.nps-proc-l strong { text-align: right; font-variant-numeric: tabular-nums; } .nps-proc-l small { color: var(--n-mut); font-size: 11.5px; }

/* tratativas */
.nps-kpis4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.nps-kpis4 .nps-card { display: flex; flex-direction: column; gap: 4px; padding: 14px 18px; }
.nps-kpis4 span { font-size: 12px; color: var(--n-mut); font-weight: 600; } .nps-kpis4 strong { font: 700 26px "Space Grotesk", Inter, sans-serif; color: var(--n-tx); }
.nps-kpis4 .alerta strong { color: #c23b3b; } .nps-kpis4 .aviso strong { color: #a86b06; }

/* painel lateral */
.nps-drawer-fundo { position: fixed; inset: 0; background: rgba(23, 37, 54, 0); z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 24px; transition: background .18s; }
.nps-drawer-fundo.aberto { background: rgba(23, 37, 54, .42); }
.nps-drawer { width: min(var(--nps-dw, 640px), calc(100vw - 48px)); max-height: calc(100vh - 48px); background: #fff; display: flex; flex-direction: column; border-radius: 14px; overflow: hidden; box-shadow: 0 24px 70px rgba(21, 37, 58, .28); transform: translateY(12px) scale(.98); opacity: 0; transition: transform .18s, opacity .18s; font-family: Inter, Arial, sans-serif; color: #25364a; }
.nps-drawer-fundo.aberto .nps-drawer { transform: none; opacity: 1; }
.nps-drawer-cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid #e6eaf0; }
.nps-drawer-cab h3 { margin: 0; font-size: 16px; font-weight: 700; color: #1d3a5f; }
.nps-drawer-corpo { flex: 1; overflow-y: auto; padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; font-size: 13px; }
.nps-drawer-corpo h4 { margin: 8px 0 0; font-size: 13px; color: #25364a; }
.nps-drawer-corpo p { margin: 0; line-height: 1.5; }
.nps-drawer-rodape { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px; border-top: 1px solid #e6eaf0; background: #fafbfc; flex-wrap: wrap; }

/* formulários */
.nps-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.nps-form .span2 { grid-column: 1 / -1; }
.nps-form label { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 600; color: #25364a; min-width: 0; }
.nps-rot { display: block; font-size: 12px; font-weight: 600; color: #25364a; margin-bottom: 6px; }
.nps-form input:not([type=checkbox]):not([type=radio]), .nps-form select, .nps-form textarea, .nps-drawer-corpo textarea { width: 100%; border: 1px solid #d9dee5; border-radius: 8px; background: #fff; color: #25364a; padding: 9px 11px; font: 400 13px Inter, Arial, sans-serif; min-height: 38px; box-sizing: border-box; }
.nps-form textarea { resize: vertical; }
.nps-form input:focus, .nps-form select:focus, .nps-form textarea:focus { outline: 2px solid #e8752433; border-color: #e87524; }
.nps-form select:disabled { background: #f3f5f8; color: #98a2b3; }
.nps-form small { font-weight: 400; color: #667085; font-size: 11.5px; }
.nps-escala-ops { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.nps-inline { flex-direction: row !important; align-items: center; gap: 6px !important; font-weight: 500 !important; }
.nps-inline input { width: 54px !important; text-align: center; }
.nps-esc-prev, .nps-prev-esc { display: flex; gap: 5px; flex-wrap: wrap; }
.nps-esc-prev span, .nps-prev-esc span { width: 32px; height: 30px; border: 1px solid #d9dee5; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; color: #344054; background: #fff; }
.nps-mt8 { margin-top: 8px; } .nps-mt12 { margin-top: 12px; }

/* editor de modelo */
.nps-mod-cols { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 16px; }
.nps-mod-cols > section { border: 1px solid #e6eaf0; border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.nps-mod-cab { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.nps-mod-cab h4 { margin: 0 !important; }
.nps-sel { display: flex; flex-direction: column; gap: 6px; }
.nps-sel-l { display: grid; grid-template-columns: 24px minmax(0, 1fr) 84px auto; gap: 8px; align-items: center; padding: 8px; border: 1px solid #eef1f5; border-radius: 8px; background: #fbfcfd; }
.nps-sel-n { width: 22px; height: 22px; border-radius: 50%; background: #fff4ec; color: #c2581a; font-weight: 700; font-size: 11px; display: flex; align-items: center; justify-content: center; }
.nps-sel-t strong { display: block; font-size: 12.5px; font-weight: 600; line-height: 1.35; } .nps-sel-t small { color: #667085; font-size: 11px; }
.nps-peso { display: flex; flex-direction: row !important; align-items: center; gap: 3px; }
.nps-peso input { width: 60px; height: 32px; border: 1px solid #d9dee5; border-radius: 6px; text-align: right; padding: 0 7px; font: 600 13px Inter, Arial, sans-serif; }
.nps-sel-vazio { padding: 20px; text-align: center; border: 1px dashed #d9dee5; border-radius: 8px; }
.nps-peso-tot { display: flex; flex-direction: column; gap: 5px; font-size: 12.5px; color: #536174; }
.nps-peso-barra { height: 8px; border-radius: 4px; background: #eef1f5; overflow: hidden; }
.nps-peso-barra i { display: block; height: 100%; background: #e0a43a; } .nps-peso-barra i.ok { background: #1f8a57; } .nps-peso-barra i.excesso { background: #d14a4a; }
.nps-peso-tot strong.ok { color: #1f8a57; } .nps-peso-tot strong.falta { color: #c2581a; }
.nps-banco { max-height: 420px; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; }
.nps-banco-g h5 { margin: 0 0 6px; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: #667085; }
.nps-banco-q { width: 100%; display: flex; gap: 8px; align-items: flex-start; text-align: left; padding: 8px; border: 1px solid #eef1f5; border-radius: 8px; background: #fff; cursor: pointer; margin-bottom: 5px; font-family: inherit; }
.nps-banco-q:hover { border-color: #e87524; background: #fff9f4; }
.nps-banco-q .nps-ico { color: #e87524; margin-top: 2px; }
.nps-banco-q strong { display: block; font-size: 12.5px; font-weight: 500; color: #25364a; } .nps-banco-q small { color: #667085; font-size: 11px; }

/* pré-visualização */
.nps-prev { display: flex; flex-direction: column; gap: 0; border: 1px solid #e6eaf0; border-radius: 10px; padding: 4px 16px; }
.nps-prev article { padding: 14px 0; border-bottom: 1px solid #eef1f5; } .nps-prev article:last-child { border-bottom: 0; }
.nps-prev h5 { margin: 0 0 8px; font-size: 13.5px; color: #25364a; } .nps-prev h5 em { font-weight: 400; color: #667085; font-style: normal; font-size: 12px; }
.nps-prev p { color: #667085; font-size: 12px; margin: -4px 0 8px !important; }
.nps-prev-esc.nps span.e-d { border-color: #f1b8b8; } .nps-prev-esc.nps span.e-n { border-color: #f1d49a; } .nps-prev-esc.nps span.e-p { border-color: #9fd6b9; }
.nps-prev-ext { display: flex; justify-content: space-between; font-size: 11px; color: #667085; margin-top: 6px; }
.nps-prev-peso { display: block; margin-top: 6px; color: #98a2b3; font-size: 11px; }
.nps-prev-txt { border: 1px dashed #d9dee5; border-radius: 8px; padding: 14px; color: #98a2b3; font-size: 12px; }

/* campanha */
.nps-canais { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.nps-canal { position: relative; border: 1px solid #d9dee5; border-radius: 10px; padding: 10px 12px 10px 34px !important; cursor: pointer; gap: 3px !important; }
.nps-canal input { position: absolute; left: 11px; top: 12px; accent-color: #e87524; }
.nps-canal strong { font-size: 13px; } .nps-canal span { font-weight: 400; font-size: 11.5px; color: #667085; }
.nps-canal:has(input:checked) { border-color: #e87524; background: #fff9f4; }
.nps-cli-barra { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; }
.nps-cli-barra .nps-busca { max-width: 240px; }
.nps-cli-lista { max-height: 300px; overflow-y: auto; border: 1px solid #e6eaf0; border-radius: 10px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
.nps-cli { flex-direction: row !important; align-items: flex-start; gap: 9px !important; padding: 9px 12px; border-bottom: 1px solid #f0f2f5; cursor: pointer; font-weight: 400 !important; }
.nps-cli:hover { background: #fafbfc; } .nps-cli.on { background: #fff8f2; }
.nps-cli input { margin-top: 2px; accent-color: #e87524; width: 16px; height: 16px; }
.nps-cli strong { display: block; font-size: 13px; font-weight: 600; } .nps-cli small { display: flex; flex-wrap: wrap; gap: 4px 10px; color: #667085; font-size: 11.5px; }
.nps-cli small .nps-ico { width: 13px; height: 13px; margin-right: 3px; } .nps-cli em { color: #b4691d; font-style: normal; }
.nps-cli-res { margin: 8px 0 0 !important; font-size: 12.5px; color: #536174; }

/* envio / convites */
.nps-env-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; }
.nps-env-kpis div { border: 1px solid #e6eaf0; border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; }
.nps-env-kpis strong { font: 700 22px "Space Grotesk", Inter, sans-serif; } .nps-env-kpis span { font-size: 11.5px; color: #667085; }
.nps-env-kpis .err strong { color: #c23b3b; }
.nps-falhas, .nps-links, .nps-trat-mini { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.nps-falhas li { display: flex; gap: 8px; align-items: flex-start; background: #fdf1f1; border-radius: 8px; padding: 8px 10px; font-size: 12.5px; } .nps-falhas .nps-ico { color: #c23b3b; }
.nps-links li, .nps-trat-mini li { display: flex; justify-content: space-between; align-items: center; gap: 10px; border: 1px solid #eef1f5; border-radius: 8px; padding: 8px 10px; }
.nps-links small, .nps-trat-mini small { display: block; color: #667085; font-size: 11.5px; }
.nps-trat-mini li > span:nth-child(2) { flex: 1; min-width: 0; }
.nps-wa { display: flex; flex-wrap: wrap; gap: 6px; }
.nps-t-conv small .nps-ico { width: 13px; height: 13px; margin-right: 3px; }

/* resposta */
.nps-resp-cab { display: flex; gap: 12px; align-items: center; } .nps-resp-cab strong { font-size: 15px; } .nps-resp-cab small { display: block; color: #667085; font-size: 12px; }
.nps-feedback { margin: 0; padding: 12px 14px; border-left: 3px solid #e87524; background: #fff9f4; border-radius: 0 8px 8px 0; font-size: 13.5px; color: #3c4d63; line-height: 1.5; }
.nps-det { display: flex; flex-direction: column; gap: 6px; }
.nps-det article { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid #eef1f5; border-radius: 8px; }
.nps-det strong { display: block; font-size: 13px; font-weight: 600; } .nps-det small { color: #667085; font-size: 11.5px; } .nps-det p { margin: 6px 0 0 !important; font-size: 12.5px; color: #3c4d63; }
.nps-det-nota { font: 700 18px "Space Grotesk", Inter, sans-serif; color: #25364a; min-width: 28px; text-align: right; }

/* confirmação */
.nps-conf-fundo { position: fixed; inset: 0; background: rgba(23, 37, 54, .45); z-index: 10010; display: flex; align-items: center; justify-content: center; padding: 16px; }
.nps-conf { width: min(440px, 100%); background: #fff; border-radius: 14px; padding: 20px; box-shadow: 0 18px 60px rgba(21, 37, 58, .25); font-family: Inter, Arial, sans-serif; }
.nps-conf h3 { margin: 0 0 8px; font-size: 16px; color: #1d3a5f; } .nps-conf p { margin: 0 0 18px; font-size: 13.5px; color: #3c4d63; line-height: 1.5; }
.nps-conf-acoes { display: flex; justify-content: flex-end; gap: 8px; }

/* responsivo: tablet e celular */
@media (max-width: 1100px) {
  .nps-resumo { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .nps-resumo > .nps-res-taxa { grid-column: 1 / -1; }
  .nps-mod-cols { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .nps-mod .nps-table, .nps-mod .nps-table tbody, .nps-mod .nps-table tr, .nps-mod .nps-table td { display: block; width: 100% !important; }
  .nps-mod .nps-table thead { display: none; }
  .nps-mod .nps-table tr { border: 1px solid #e6eaf0; border-radius: 10px; padding: 8px 4px; margin-bottom: 8px; }
  .nps-mod .nps-table td { border: 0; padding: 5px 10px; }
  .nps-dir { text-align: left; } .nps-acoes { justify-content: flex-start; }
  .nps-kpis4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nps-passos-l { grid-template-columns: minmax(0, 1fr); }
  .nps-proc-l { grid-template-columns: minmax(0, 1fr) 42px; } .nps-proc-barra { grid-column: 1 / -1; grid-row: 2; } .nps-proc-l small { grid-column: 1 / -1; }
  .nps-canais, .nps-cli-lista { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .nps-resumo { grid-template-columns: minmax(0, 1fr); }
  .nps-form { grid-template-columns: minmax(0, 1fr); }
  .nps-mod .nps-card { padding: 14px; }
  .nps-sel-l { grid-template-columns: 24px minmax(0, 1fr); } .nps-sel-l .nps-peso, .nps-sel-l .nps-acoes { grid-column: 2; justify-content: flex-start; }
  .nps-busca { max-width: none; } .nps-cont { margin-left: 0; }
  .nps-drawer-rodape .nps-btn { flex: 1 1 auto; }
}

/* ajustes de convivência com os estilos globais */
.nps-mod .nps-filtros select { width: auto; min-width: 200px; }
.nps-busca { flex-direction: row !important; gap: 0 !important; }
.nps-mod-cols .nps-busca { flex: none; max-width: none; }
.nps-cli-barra .nps-busca { flex: 1 1 200px; }
.nps-canal { display: grid !important; grid-template-columns: 18px minmax(0, 1fr); column-gap: 8px !important; row-gap: 2px !important; padding: 10px 12px !important; align-items: start; }
.nps-canal input { position: static !important; grid-row: 1 / span 2; width: 16px !important; height: 16px !important; min-height: 0 !important; margin: 2px 0 0 !important; padding: 0 !important; }
.nps-canal strong, .nps-canal span { grid-column: 2; }
.nps-falhas-mais summary { cursor: pointer; font-size: 12.5px; color: #536174; margin: 4px 0; }
.nps-form .nps-busca input, .nps-drawer .nps-busca input { padding-left: 32px !important; }
.nps-falhas small { display: block; color: #8a3a3a; font-size: 12px; margin-top: 2px; }

/* V1642 (ajuste): painéis sem barra de rolagem visível; cadastro de pergunta compacto, orientação logo abaixo da pergunta */
.nps-drawer-corpo { scrollbar-width: none; -ms-overflow-style: none; }
.nps-drawer-corpo::-webkit-scrollbar { display: none; width: 0; height: 0; }
.nps-form-compacto { gap: 10px 14px; }
.nps-form-compacto textarea { min-height: 54px !important; }
.nps-form-compacto .nps-rot { margin-bottom: 6px; }
.nps-opc { font-weight: 400; color: #667085; }
.nps-escala-linha { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.nps-escala-linha .nps-esc-prev span { width: 28px; height: 28px; font-size: 11.5px; }
.nps-escala-ops { flex-wrap: nowrap; }
.nps-escala-ops .nps-btn { flex: 1 1 0; height: 38px; }
.nps-checks { display: flex; gap: 8px 24px; flex-wrap: wrap; }

/* V1643: janelas centralizadas e maiores (no celular ocupam a tela inteira) */
@media (max-width: 600px) { .nps-drawer-fundo { padding: 0; } .nps-drawer { width: 100vw; max-height: 100vh; height: 100vh; border-radius: 0; } }

/* V1645: editor de modelo — topo em uma linha, colunas ocupando a altura da janela, listas com rolagem própria sem barra */
.nps-drawer.nps-drawer-alto { height: calc(100vh - 48px); }
.nps-drawer-alto .nps-drawer-corpo { gap: 12px; }
.nps-mod-topo { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 14px; }
.nps-mod-topo label { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 600; color: #25364a; }
.nps-mod-topo input { width: 100%; height: 38px; border: 1px solid #d9dee5; border-radius: 8px; padding: 0 11px; font: 13px Inter, Arial, sans-serif; color: #25364a; box-sizing: border-box; }
.nps-mod-topo input:focus { outline: 2px solid #e8752433; border-color: #e87524; }
.nps-drawer-alto .nps-mod-cols { flex: 1 1 auto; min-height: 210px; }
.nps-mod-col { min-height: 0; }
.nps-mod-cab h4 { display: flex; align-items: center; gap: 6px; }
.nps-rolagem { flex: 1 1 auto; min-height: 0; overflow-y: auto; scrollbar-width: none; }
.nps-rolagem::-webkit-scrollbar { display: none; }
.nps-banco { max-height: none; }
.nps-banco-g h5 { display: flex; justify-content: space-between; align-items: center; gap: 8px; position: sticky; top: 0; background: #fff; padding: 4px 0; z-index: 1; }
.nps-banco-g h5 em { font-style: normal; color: #98a2b3; font-weight: 600; }
.nps-link-b { border: 0; background: none; padding: 0; color: #c2581a; font: 600 11.5px Inter, Arial, sans-serif; cursor: pointer; text-transform: none; letter-spacing: 0; }
.nps-banco-q { padding: 7px 9px; margin-bottom: 4px; }
.nps-banco-q strong { display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.35; }
.nps-sel-vazio { display: flex; flex-direction: column; gap: 4px; align-items: center; justify-content: center; text-align: center; padding: 24px 16px; border: 1px dashed #d9dee5; border-radius: 10px; color: #667085; font-size: 12.5px; min-height: 120px; }
.nps-sel-vazio strong { color: #25364a; font-size: 13px; }
.nps-mod-extra { border: 1px solid #e6eaf0; border-radius: 10px; padding: 10px 12px; }
.nps-mod-extra summary { cursor: pointer; font-size: 13px; font-weight: 600; color: #25364a; }
@media (max-width: 760px) { .nps-mod-topo { grid-template-columns: minmax(0, 1fr); } .nps-drawer.nps-drawer-alto { height: 100vh; } .nps-drawer-alto .nps-mod-cols { flex: none; } .nps-rolagem { max-height: 360px; } }
.nps-drawer-alto .nps-mod-cols { grid-template-rows: minmax(0, 1fr); } .nps-drawer-alto .nps-mod-col { overflow: hidden; }

/* V1647 — tratativa abre ocorrência (RQ) */
.nps-oc-link { display: inline-flex; align-items: center; gap: 4px; margin: 4px 4px 0 0; padding: 2px 8px; border: 1px solid #f3c9a8; border-radius: 999px; background: #fff4ec; color: #b4531a; font: 600 11.5px Inter, Arial, sans-serif; cursor: pointer; white-space: nowrap; }
.nps-oc-link:hover { background: #ffe7d6; border-color: #e87524; }
.nps-oc-link .nps-ico { width: 12px; height: 12px; }
.nps-oc-link.sem { background: #fff; border-style: dashed; border-color: #cfd6df; color: #5b6b80; }
.nps-oc-link.sem:hover { border-color: #e87524; color: #b4531a; }
.nps-trat-mini .nps-oc-link { margin-top: 6px; }
.nps-oc-box { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding: 10px 12px; border: 1px solid #f3dcc9; border-radius: 10px; background: #fffaf6; font-size: 13px; color: #3c4d63; }
.nps-oc-box > .nps-ico { flex: none; width: 18px; height: 18px; color: #e87524; }
.nps-oc-box.sem { border-color: #e3e8ee; background: #fafbfc; }
.nps-oc-box.sem > span { flex: 1; }
.nps-oc-box small { display: block; color: #667085; font-size: 12px; margin-top: 2px; line-height: 1.45; }
.nps-oc-check { cursor: pointer; align-items: flex-start; }
.nps-oc-check input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: #e87524; }

/* V1648 — Nova ocorrência pré-carregada a partir da Pesquisa NPS (tela do módulo de ocorrências) */
.oc-precarga { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 14px; padding: 12px 16px; border: 1px solid #f3d3b8; border-left: 4px solid #e87524; border-radius: 10px; background: #fff8f2; color: #3c4d63; }
.oc-precarga-ic { flex: none; width: 24px; height: 24px; border-radius: 50%; background: #e87524; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; }
.oc-precarga strong { display: block; font-size: 14px; color: #1d3a5f; }
.oc-precarga small { display: block; margin-top: 2px; font-size: 12.5px; line-height: 1.5; color: #5b6b80; }
.oc-ctx-desc { white-space: pre-line; }  /* quebras de linha da descrição (ex.: ocorrência vinda da pesquisa NPS) */

/* V1650 — mais ênfase nas abas e nos títulos dos cartões */
.nps-mod .nps-tabs .nps-tab { color: #34465c; font-weight: 600; font-size: 14px; padding: 10px 16px; }
.nps-mod .nps-tabs .nps-tab:hover { background: #fff4ec; color: #c2581a; }
.nps-mod .nps-tabs .nps-tab.active { background: #e87524; color: #fff; box-shadow: 0 2px 6px rgba(232, 117, 36, .3); }
.nps-mod .nps-tabs .nps-tab-n { min-width: 22px; padding: 2px 7px; background: #fff1e6; color: #c2581a; font-size: 11.5px; font-weight: 700; border: 1px solid #f6d2b6; }
.nps-mod .nps-tabs .nps-tab.active .nps-tab-n { background: rgba(255, 255, 255, .28); color: #fff; border-color: transparent; }
.nps-mod .nps-card > h4,
.nps-mod .nps-card h4:first-child { margin: 0 0 14px !important; padding-left: 10px; border-left: 3px solid #e87524; font-size: 14.5px !important; font-weight: 700 !important; color: #1d3a5f !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.3; }
.nps-mod .nps-sec-cab h3 { padding-left: 10px; border-left: 3px solid #e87524; font-size: 16px; color: #1d3a5f; }
