/* SGCQ · telas do Sistema de Gestão da Qualidade (10/11/2026): liberação de acesso, agenda, indicadores do SGQ,
   auditorias e a pasta do setor. Tokens do Nexus; texto sempre em ink ou --nx-info (contraste nos dois temas). */

/* Sem acesso */
.cq-sem-acesso { display: flex; gap: 18px; align-items: flex-start; max-width: 640px; margin: 8vh auto 0; padding: 28px; }
.cq-sem-acesso > .pi { display: grid; flex: none; width: 46px; height: 46px; border-radius: 14px; background: var(--nx-surface-2); color: var(--nx-info); font-size: 20px; place-items: center; }
.cq-sem-acesso h1 { margin: 0 0 6px; font-size: 19px; }
.cq-sem-acesso p { margin: 0 0 14px; color: var(--nx-ink-2); font-size: 13.4px; line-height: 1.6; }

/* Liberação de acesso */
.lb { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 16px; align-items: start; }
.lb-lista { display: grid; gap: 8px; position: sticky; top: 76px; }
.lb-perfil { display: grid; gap: 2px; padding: 12px 14px; border: 1px solid var(--nx-line); border-radius: 12px; background: var(--nx-surface); color: var(--nx-ink); font: inherit; text-align: left; cursor: pointer; transition: border-color var(--vz-rapido, .16s), background var(--vz-rapido, .16s); }
.lb-perfil:hover { border-color: color-mix(in srgb, var(--nx-teal-500) 45%, var(--nx-line)); }
.lb-perfil--on { border-color: var(--nx-teal-600); background: color-mix(in srgb, var(--nx-teal-500) 8%, var(--nx-surface)); box-shadow: inset 3px 0 0 var(--nx-teal-600); }
.lb-perfil b { font-size: 13.4px; }
.lb-perfil small { color: var(--nx-ink-3); font-size: 11.6px; }
.lb-novo { justify-content: center; margin-top: 4px; }
.lb-perfil-ed { display: grid; gap: 16px; padding: 20px; }
.lb-perfil-ed__cab { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; justify-content: space-between; }
.lb-perfil-ed__cab h2 { margin: 0 0 4px; font-size: 17px; }
.lb-perfil-ed__cab p { max-width: 560px; margin: 0; color: var(--nx-ink-2); font-size: 12.8px; line-height: 1.55; }
.lb-perfil-ed__cab .cq-acoes { margin: 0; }
.lb-chaves { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.lb-chave { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--nx-line); border-radius: 12px; background: var(--nx-surface-2); cursor: pointer; }
.lb-chave input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--nx-teal-600); }
.lb-chave__txt { display: grid; gap: 3px; }
.lb-chave__txt b { font-size: 13px; }
.lb-chave__txt small { color: var(--nx-ink-2); font-size: 12px; line-height: 1.45; }
.lb-grade th[scope=row] b { display: block; font-size: 13px; }
.lb-grade th[scope=row] small, .lb-pessoas th[scope=row] small { display: block; margin-top: 2px; color: var(--nx-ink-3); font-size: 11.6px; font-weight: 400; line-height: 1.4; }
.lb-grade th[scope=row] { text-align: left; font-weight: 600; }
.lb-nivel { width: 118px; text-align: center; }
.lb-opcao { display: inline-flex; gap: 6px; align-items: center; justify-content: center; min-height: 32px; padding: 4px 10px; border: 1px solid transparent; border-radius: 999px; color: var(--nx-ink-2); font-size: 12px; font-weight: 600; cursor: pointer; }
.lb-opcao input { width: 15px; height: 15px; margin: 0; accent-color: var(--nx-teal-600); }
.lb-opcao:has(input:checked) { border-color: var(--nx-line); background: var(--nx-surface-2); color: var(--nx-ink); }
.lb-opcao--editar:has(input:checked) { border-color: color-mix(in srgb, var(--nx-ok) 50%, var(--nx-line)); background: color-mix(in srgb, var(--nx-ok) 10%, var(--nx-surface)); }
.lb-opcao--ver:has(input:checked) { border-color: color-mix(in srgb, var(--nx-teal-500) 45%, var(--nx-line)); background: color-mix(in srgb, var(--nx-teal-500) 9%, var(--nx-surface)); }
.lb-opcao:has(input:focus-visible) { outline: 2px solid var(--nx-teal-500); outline-offset: 2px; }
.lb-exc { display: flex; flex-wrap: wrap; gap: 6px; }
.lb-acao { width: 1%; white-space: nowrap; }
.lb-pessoas .nx-select { min-width: 220px; }
.lb-exc-ed { display: grid; gap: 8px; }
.lb-exc-ed__linha { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--nx-line); border-radius: 12px; }
.lb-exc-ed__linha b { display: block; font-size: 13px; }
.lb-exc-ed__linha small { color: var(--nx-ink-3); font-size: 11.6px; }
.lb-exc-ed__linha select[data-marcada] { border-color: var(--nx-teal-600); box-shadow: inset 3px 0 0 var(--nx-teal-600); }

/* Agenda */
.ag-quem { display: inline-flex; gap: 8px; align-items: center; color: var(--nx-info); }
.ag-quem .nx-select { min-width: 200px; }
.ag-legenda { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0 14px; }
.ag-tipo { display: inline-flex; gap: 7px; align-items: center; min-height: 30px; padding: 4px 12px 4px 10px; border: 1px solid var(--nx-line); border-left: 4px solid var(--ag-cor); border-radius: 999px; background: var(--nx-surface); color: var(--nx-ink); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.ag-tipo .pi { color: var(--ag-cor); font-size: 12px; }
.ag-tipo--on { background: color-mix(in srgb, var(--ag-cor) 14%, var(--nx-surface)); border-color: var(--ag-cor); }
.ag-tipo--fixo { cursor: default; }
.ag-topo { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 14px; margin-bottom: 14px; }
.ag-bloco { padding: 16px 18px; }
.ag-bloco h2 { display: flex; gap: 8px; align-items: center; margin: 0 0 10px; font-size: 14px; }
.ag-bloco h2 .pi { color: var(--nx-info); }
.ag-bloco--alerta { border-color: color-mix(in srgb, var(--nx-crit) 40%, var(--nx-line)); }
.ag-bloco--alerta h2 .pi { color: var(--nx-crit); }
.ag-lista { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ag-lista li { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 10px; align-items: center; }
.ag-lista__dia { color: var(--nx-ink-3); font-size: 11.6px; font-weight: 700; text-transform: capitalize; }
.ag-vazio { margin: 0; font-size: 12.6px; }
.ag-item { display: flex; gap: 6px; align-items: center; width: 100%; min-height: 26px; padding: 3px 8px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--ag-cor) 35%, var(--nx-line)); border-left: 4px solid var(--ag-cor); border-radius: 7px; background: color-mix(in srgb, var(--ag-cor) 10%, var(--nx-surface)); color: var(--nx-ink); font: inherit; font-size: 11.8px; text-align: left; cursor: pointer; }
.ag-item .pi { flex: none; color: var(--ag-cor); font-size: 11px; }
.ag-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ag-item:hover, .ag-item:focus-visible { background: color-mix(in srgb, var(--ag-cor) 18%, var(--nx-surface)); outline: none; box-shadow: 0 0 0 2px color-mix(in srgb, var(--ag-cor) 45%, transparent); }
.ag-item--auto { border-style: dashed; border-left-style: solid; background: var(--nx-surface); }
.ag-item--feito span { text-decoration: line-through; color: var(--nx-ink-3); }
.ag-item--cancelado { opacity: .6; }
.ag-item--urgente { border-color: var(--nx-crit); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--nx-crit) 40%, transparent); }
.ag-item--urgente .pi { color: var(--nx-crit); }
.ag-cal { padding: 16px 18px; }
.ag-nav { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.ag-nav__ir { display: flex; gap: 6px; align-items: center; }
.ag-nav__ir h2 { margin: 0 0 0 8px; font-size: 16px; }
.ag-mes { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--nx-line); border-left: 1px solid var(--nx-line); }
.ag-mes__sem { padding: 6px 8px; border-right: 1px solid var(--nx-line); border-bottom: 1px solid var(--nx-line); background: var(--nx-surface-2); color: var(--nx-ink-3); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ag-dia { display: grid; align-content: start; gap: 4px; min-height: 104px; padding: 6px; border-right: 1px solid var(--nx-line); border-bottom: 1px solid var(--nx-line); }
.ag-dia__n { color: var(--nx-ink-2); font-size: 12px; font-weight: 700; }
.ag-dia--fora { background: color-mix(in srgb, var(--nx-surface-2) 60%, transparent); }
.ag-dia--fora .ag-dia__n { color: var(--nx-ink-4); }
.ag-dia--hoje { box-shadow: inset 0 0 0 2px var(--nx-teal-600); }
.ag-dia--hoje .ag-dia__n { color: var(--nx-info); }
.ag-mais { justify-self: start; padding: 2px 8px; border: 0; border-radius: 6px; background: var(--nx-surface-2); color: var(--nx-info); font: inherit; font-size: 11.4px; font-weight: 700; cursor: pointer; }
.ag-semana { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.ag-semana__dia { display: grid; align-content: start; gap: 6px; min-height: 220px; padding: 10px; border: 1px solid var(--nx-line); border-radius: 12px; }
.ag-semana__dia h3 { margin: 0 0 4px; color: var(--nx-ink-3); font-size: 11.4px; text-transform: uppercase; }
.ag-semana__dia h3 b { color: var(--nx-ink); }
.ag-kv { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 6px 12px; margin: 0 0 12px; font-size: 13px; }
.ag-kv dt { color: var(--nx-ink-3); font-weight: 700; }
.ag-kv dd { margin: 0; }
.ag-desc { padding: 10px 12px; border-radius: 10px; background: var(--nx-surface-2); font-size: 13px; line-height: 1.55; }
.ag-urgente { display: flex; gap: 8px; align-items: center; }
.ag-urgente .pi { color: var(--nx-crit); margin-right: 4px; }
@media (max-width: 900px) { .ag-topo { grid-template-columns: minmax(0, 1fr); } .ag-semana { grid-template-columns: minmax(0, 1fr); } .ag-semana__dia { min-height: 0; } .lb { grid-template-columns: minmax(0, 1fr); } .lb-lista { position: static; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); } .lb-chaves { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .ag-dia { min-height: 64px; padding: 4px; } .ag-dia .ag-item span { display: none; } .ag-dia .ag-item { justify-content: center; padding: 3px; } .lb-exc-ed__linha { grid-template-columns: minmax(0, 1fr); } }

/* Indicadores do SGQ */
.isg-sug { padding: 16px 18px; margin-bottom: 14px; }
.isg-sug h2 { display: flex; gap: 8px; align-items: center; margin: 0 0 10px; font-size: 14px; }
.isg-sug h2 .pi { color: var(--nx-warn); }
.isg-sug ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.isg-sug li { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 8px 10px; border: 1px solid var(--nx-line); border-radius: 10px; }
.isg-sug li b { display: block; font-size: 13px; }
.isg-sug li small { color: var(--nx-ink-3); font-size: 11.4px; }
.isg-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.isg { display: grid; grid-template-rows: auto auto 1fr auto auto; gap: 12px; padding: 16px 18px; }
.isg > header { display: flex; gap: 10px; align-items: flex-start; justify-content: space-between; }
.isg > header b { display: block; font-size: 14px; }
.isg > header small { display: block; margin-top: 2px; color: var(--nx-ink-3); font-size: 12px; line-height: 1.4; }
.isg-valor strong { font-size: 30px; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.isg-valor span { display: block; color: var(--nx-ink-3); font-size: 12px; }
.isg-graf { position: relative; display: flex; gap: 4px; align-items: flex-end; height: 70px; padding: 0 2px; border-bottom: 1px solid var(--nx-line); }
.isg-graf--vazio { align-items: center; justify-content: center; font-size: 12px; }
.isg-graf__b { flex: 1; min-width: 6px; border-radius: 4px 4px 0 0; background: var(--nx-teal-600); }
.isg-graf__b--crit { background: var(--nx-crit); } .isg-graf__b--mu { background: var(--nx-line); }
.isg-graf__meta { position: absolute; right: 0; left: 0; border-top: 2px dashed var(--nx-ink-3); }
.isg-kv { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 4px 10px; margin: 0; font-size: 12.2px; }
.isg-kv dt { color: var(--nx-ink-3); font-weight: 700; }
.isg-kv dd { margin: 0; color: var(--nx-ink-2); }
.isg > footer { display: flex; flex-wrap: wrap; gap: 8px; }

/* Auditorias */
.aud-tab tbody tr { cursor: pointer; }
.aud-tab tbody tr:hover td { background: var(--nx-surface-2); }
.aud-setores { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 6px 12px; margin: 0; padding: 10px 12px; border: 1px solid var(--nx-line); border-radius: 12px; }
.aud-setores legend { padding: 0 6px; color: var(--nx-ink-2); font-size: 12.4px; font-weight: 600; }
.aud-setores label { display: flex; gap: 6px; align-items: center; font-size: 12.6px; }
.aud-const { display: grid; gap: 8px; margin: 0 0 14px; padding: 0; list-style: none; }
.aud-const li { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--nx-line); border-radius: 10px; }
.aud-const b { display: block; font-size: 13px; }
.aud-const small { color: var(--nx-ink-3); font-size: 11.6px; }
.aud-nova-const { padding-top: 12px; border-top: 1px solid var(--nx-line); }

/* Pasta do setor: documentos */
.st-docs__cab { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; justify-content: space-between; padding: 16px 18px 12px; }
.st-docs__cab h2 { display: flex; gap: 8px; align-items: center; margin: 0 0 4px; font-size: 15px; }
.st-docs__cab h2 .pi { color: var(--nx-info); }
.st-docs__cab p { max-width: 680px; margin: 0; color: var(--nx-ink-2); font-size: 12.6px; line-height: 1.5; }
section.nx-card:not(.cq-tabela-card) > .st-docs__cab { padding: 0 0 12px; }
.st-doc-tab td { vertical-align: middle; }
.st-doc-tab .nx-input, .st-doc-tab .nx-select { min-height: 32px; font-size: 12.4px; }
.st-doc-versao { width: 84px; }
.st-doc-arq { white-space: nowrap; }
.st-doc-arq > * + * { margin-left: 6px; }
.st-doc-tab { min-width: 880px; }
.st-doc-tab code { white-space: nowrap; }
.st-doc-tab th:nth-child(2), .st-doc-tab td:nth-child(2) { min-width: 280px; }
.st-doc-pend { margin-top: 4px; font-size: 11.8px; }
.st-doc-pend summary { display: inline-flex; gap: 6px; align-items: center; color: var(--nx-warn); font-weight: 600; cursor: pointer; }
.st-doc-pend ul { margin: 6px 0 0; padding-left: 18px; color: var(--nx-ink-2); line-height: 1.45; }
.st-subtit { display: flex; gap: 8px; align-items: baseline; margin: 22px 0 10px; font-size: 14px; }
.st-subtit small { color: var(--nx-ink-3); font-size: 11.6px; font-weight: 500; }
.st-versoes { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.st-versoes li { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 10px 12px; border: 1px solid var(--nx-line); border-radius: 10px; }
.st-versoes b { margin-right: 6px; }
.st-versoes small { display: block; color: var(--nx-ink-3); font-size: 11.6px; }
.cq-tabela-card + .cq-tabela-card, .cq-tabela-card + .nx-card { margin-top: 14px; }
@media print { .st-doc-arq label, .lb-novo { display: none; } }

/* Barra do topo em telas médias (até 1280 px com o menu aberto): o seletor de cliente cede espaço e o selo da origem
   dos dados sai, para nada passar da borda (a mesma informação está na faixa do cliente). */
.cq-cliente { flex: 0 1 auto; }
.cq-cliente label { flex: 1 1 auto; }
.cq-cliente .nx-select { width: 100%; }
@media (max-width: 1280px) { .cq-topo .nx-tag { display: none; } .cq-cliente .nx-select { min-width: 200px; } }

/* Link dentro de tabela: a cor de informação do tema (o azul padrão do navegador some no escuro). */
#app td a:not(.nx-btn) { color: var(--nx-info); }

/* Fileira de abas longa (a pasta do setor tem 12): rola dentro dela, sem empurrar a página. */
#app > * { min-width: 0; }
.cq-cfg-abas { max-width: 100%; min-width: 0; }
.cq-topo__tit { flex: 1 1 160px; min-width: 120px; }
.st-docs { min-width: 0; max-width: 100%; }
.st-docs .cq-rola { max-width: 100%; overflow-x: auto; }
/* O campo de arquivo escondido (cq-sr, posição absoluta) fica preso ao quadro que rola, sem esticar a página. */
.cq-rola { position: relative; }
label.nx-btn { position: relative; }

/* ---------- 2ª entrega: RNC, riscos, CDG, plano de ação, transição, assistente ---------- */
a.st-hero__volta.rnc-volta { position: static; display: inline-flex; margin: 0 0 10px; color: var(--nx-info); }
a.st-hero__volta.rnc-volta:hover { color: var(--nx-ink); }
.rnc-cab h1 { font-size: 20px; }
.rnc-cab .cq-cab__acoes { gap: 6px; }
.rnc-passos { margin: 14px 0; }
.rnc-sec { display: grid; gap: 12px; margin-top: 14px; padding: 18px 20px; }
.rnc-sec > header { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.rnc-sec > header h2 { display: flex; gap: 10px; align-items: center; margin: 0; font-size: 15px; }
.rnc-sec > header h2 span { display: grid; flex: none; width: 26px; height: 26px; border-radius: 8px; background: linear-gradient(135deg, var(--nx-teal-600), var(--nx-teal-700)); color: #fff; font-size: 12.5px; place-items: center; }
.rnc-sec .cq-h4 { margin: 4px 0 0; }
.rnc-tab tbody tr, .rs-tab tbody tr, .cdg-tab tbody tr, .ac-tab tbody tr { cursor: pointer; }
.rnc-tab tbody tr:hover td, .rs-tab tbody tr:hover td, .cdg-tab tbody tr:hover td, .ac-tab tbody tr:hover td { background: var(--nx-surface-2); }
.rnc-marca { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.45; cursor: pointer; }
.rnc-marca input { flex: none; width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--nx-teal-600); }
.rnc-marcas { display: grid; gap: 8px; padding: 10px 12px; border-left: 3px solid var(--nx-warn); border-radius: 0 10px 10px 0; background: var(--nx-surface-2); }
.rnc-sf { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 170px; gap: 12px; align-items: end; }
.rnc-sf label { display: grid; gap: 4px; font-size: 12.6px; font-weight: 600; }
.rnc-prio { display: grid; gap: 4px; justify-items: start; padding: 10px 12px; border: 1px solid var(--nx-line); border-radius: 12px; }
.rnc-prio small { color: var(--nx-ink-3); font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.rnc-prio strong { font-size: 26px; line-height: 1; font-variant-numeric: tabular-nums; }
.rnc-porques { display: grid; gap: 6px; margin: 0; padding-left: 22px; }
.rnc-porques li::marker { color: var(--nx-info); font-weight: 700; }
.rnc-ishi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.rnc-ishi > div { display: grid; align-content: start; gap: 6px; padding: 10px 12px; border: 1px solid var(--nx-line); border-radius: 12px; background: var(--nx-surface); }
.rnc-ishi b { color: var(--nx-info); font-size: 11.6px; letter-spacing: .05em; text-transform: uppercase; }
.rnc-ishi ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; font-size: 12.6px; }
.rnc-ishi li { display: flex; gap: 6px; align-items: center; justify-content: space-between; padding: 4px 6px 4px 8px; border-radius: 8px; background: var(--nx-surface-2); }
.rnc-ishi .nx-input { min-height: 30px; font-size: 12.4px; }
.rnc-acoes td { vertical-align: top; font-size: 12.4px; }
.rnc-acao-bt { width: 1%; white-space: nowrap; }
.rnc-acao-bt > * + * { margin-left: 4px; }
.rnc-veredito { display: flex; gap: 10px; align-items: flex-start; margin: 0; padding: 12px 14px; border-radius: 12px; font-size: 13px; }
.rnc-veredito--eficaz { background: color-mix(in srgb, var(--nx-ok) 12%, var(--nx-surface)); }
.rnc-veredito--eficaz .pi { color: var(--nx-ok); }
.rnc-veredito--nao-eficaz { background: color-mix(in srgb, var(--nx-crit) 10%, var(--nx-surface)); }
.rnc-veredito--nao-eficaz .pi { color: var(--nx-crit); }
.rs-corpo { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 14px; align-items: start; margin-top: 14px; }
.rs-mapa-card { display: grid; gap: 10px; padding: 16px; }
.rs-mapa-card h2 { margin: 0; font-size: 14px; }
.rs-mapa { position: relative; display: grid; grid-template-columns: 22px repeat(5, minmax(0, 1fr)); gap: 4px; padding: 0 0 18px 18px; }
.rs-mapa__eixo { position: absolute; color: var(--nx-ink-3); font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.rs-mapa__eixo--p { top: 50%; left: -26px; transform: rotate(-90deg); transform-origin: center; }
.rs-mapa__eixo--i { right: 0; bottom: 0; }
.rs-mapa__rot { display: grid; color: var(--nx-ink-3); font-size: 11px; font-weight: 700; place-items: center; }
.rs-cel { aspect-ratio: 1; min-height: 34px; border: 0; border-radius: 8px; color: #10292e; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.rs-cel--baixo { background: #cfe9d9; } .rs-cel--medio { background: #f6e2a6; } .rs-cel--alto { background: #f3bd8a; } .rs-cel--critico { background: #ec9b92; }
[data-theme=dark] .rs-cel--baixo { background: #2c5a42; color: #fff; } [data-theme=dark] .rs-cel--medio { background: #6d5a1f; color: #fff; } [data-theme=dark] .rs-cel--alto { background: #7a4a1e; color: #fff; } [data-theme=dark] .rs-cel--critico { background: #8a3128; color: #fff; }
.rs-cel--on { outline: 3px solid var(--nx-ink); outline-offset: 1px; }
.rs-cel:focus-visible { outline: 3px solid var(--nx-teal-500); outline-offset: 1px; }
.rs-legenda { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; font-size: 12px; color: var(--nx-ink-2); }
.rs-legenda li { display: flex; gap: 6px; align-items: center; }
.rs-legenda li::before { width: 12px; height: 12px; border-radius: 4px; content: ""; }
.rs-legenda--baixo::before { background: #cfe9d9; } .rs-legenda--medio::before { background: #f6e2a6; } .rs-legenda--alto::before { background: #f3bd8a; } .rs-legenda--critico::before { background: #ec9b92; }
.cdg-tit { margin: 22px 0 10px; font-size: 15px; }
.cdg-pauta { display: grid; gap: 12px; }
.cdg-item { display: grid; gap: 10px; padding: 16px 18px; }
.cdg-item > header { display: flex; gap: 12px; align-items: flex-start; }
.cdg-item > header b { display: block; font-size: 14px; }
.cdg-item > header small { color: var(--nx-info); font-size: 11.6px; font-weight: 700; }
.cdg-item__n { display: grid; flex: none; width: 26px; height: 26px; border: 1px solid var(--nx-line); border-radius: 8px; color: var(--nx-info); font-size: 12.5px; font-weight: 800; place-items: center; }
.cdg-dados { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 10px; background: var(--nx-surface-2); font-size: 12.6px; line-height: 1.55; }
.cdg-dados .pi { margin-top: 3px; color: var(--nx-info); }
.cdg-dados p { margin: 0; color: var(--nx-ink-2); }
.cdg-aprovar { align-items: center; margin-top: 16px; }
.ac-filtros { display: flex; flex-wrap: wrap; gap: 10px 18px; justify-content: space-between; margin: 0 0 12px; }
.ac-vencida td:first-child { color: var(--nx-crit); font-weight: 700; }
.ac-origem { display: inline-flex; gap: 6px; align-items: center; color: var(--nx-ink-2); font-size: 12.4px; }
.ac-origem .pi { color: var(--nx-info); }
.tr-linha { padding: 16px 18px; margin-bottom: 14px; }
.tr-linha h2, .tr-etapas h2 { display: flex; gap: 8px; align-items: center; margin: 0 0 10px; font-size: 15px; }
.tr-marcos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: m; }
.tr-marco { position: relative; display: grid; align-content: start; gap: 3px; padding: 12px 12px 12px 14px; border: 1px solid var(--nx-line); border-top: 3px solid var(--nx-line); border-radius: 12px; }
.tr-marco--feito { border-top-color: var(--nx-teal-600); }
.tr-marco__data { color: var(--nx-info); font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; }
.tr-marco b { font-size: 12.8px; line-height: 1.35; }
.tr-marco small { color: var(--nx-ink-3); font-size: 11.6px; line-height: 1.4; }
.tr-tab td { vertical-align: top; font-size: 12.4px; }
.tr-tab .nx-input, .tr-tab .nx-select { min-height: 32px; min-width: 130px; font-size: 12.4px; }
.tr-etapas { padding: 16px 18px; margin-top: 14px; }
.tr-etapas__l { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.tr-etapas__l label { display: flex; gap: 10px; align-items: flex-start; height: 100%; padding: 10px 12px; border: 1px solid var(--nx-line); border-radius: 12px; cursor: pointer; }
.tr-etapas__l input { flex: none; width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--nx-teal-600); }
.tr-etapas__l b { display: block; font-size: 12.8px; }
.tr-etapas__l small { color: var(--nx-ink-3); font-size: 11.6px; }
.tr-etapa--feita label { background: color-mix(in srgb, var(--nx-ok) 9%, var(--nx-surface)); }
.tr-etapa--atrasada label { border-color: color-mix(in srgb, var(--nx-crit) 45%, var(--nx-line)); }
.aud-req summary { cursor: pointer; font-size: 12.6px; font-weight: 600; }
.aud-req summary small { color: var(--nx-ink-3); font-weight: 500; }
.aud-req .aud-setores { max-height: 260px; margin-top: 8px; overflow: auto; }
.aud-check td { vertical-align: middle; font-size: 12.4px; }
.aud-check .nx-select, .aud-check .nx-input { min-height: 30px; font-size: 12.4px; }
.aud-prog { padding: 0 0 16px; margin-bottom: 14px; }
.aud-prog > .st-docs__cab .ag-nav__ir { gap: 4px; }
.aud-meses { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; padding: 0 18px; }
.aud-mes { display: grid; align-content: start; gap: 4px; min-height: 70px; padding: 6px; border: 1px solid var(--nx-line); border-radius: 10px; }
.aud-mes small { color: var(--nx-ink-3); font-size: 10.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.aud-chip { overflow: hidden; padding: 3px 5px; border: 1px solid var(--nx-line); border-left: 3px solid var(--nx-info); border-radius: 6px; background: var(--nx-surface-2); color: var(--nx-ink); font: inherit; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.aud-chip--concluida { border-left-color: var(--nx-ok); } .aud-chip--realizada { border-left-color: var(--nx-warn); }
.aud-cob { display: flex; gap: 10px; align-items: center; padding: 12px 18px 0; color: var(--nx-ink-2); font-size: 12px; }
.aud-cob .pl-medidor { flex: 0 0 180px; }
.isg-regra { margin: 0; font-size: 12.4px; }
.cq-claude { border-color: color-mix(in srgb, #8b5cf6 40%, var(--nx-line)); color: var(--nx-ink); }
.cq-claude .pi { color: #7c4ddb; }
[data-theme=dark] .cq-claude .pi { color: #c4a8ff; }
.cl-cfg__linhas { display: grid; gap: 10px; }
.cl-cfg__linha { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; padding: 12px 14px; border: 1px solid var(--nx-line); border-radius: 12px; }
.cl-cfg__linha > span:first-child { display: grid; gap: 3px; max-width: 560px; }
.cl-cfg__linha b { font-size: 13px; }
.cl-cfg__linha small { color: var(--nx-ink-2); font-size: 12px; line-height: 1.45; }
.cl-cfg__linha input[type=checkbox] { width: 20px; height: 20px; accent-color: var(--nx-teal-600); }
.cl-cfg__chave { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cl-cfg__chave .nx-input { min-width: 260px; }
@media (max-width: 1100px) { .rs-corpo { grid-template-columns: minmax(0, 1fr); } .rs-mapa-card { max-width: 420px; } .tr-marcos { grid-template-columns: repeat(3, minmax(0, 1fr)); } .aud-meses { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 720px) { .rnc-sf { grid-template-columns: minmax(0, 1fr); } .rnc-ishi { grid-template-columns: minmax(0, 1fr); } .tr-marcos, .tr-etapas__l { grid-template-columns: minmax(0, 1fr); } .aud-meses { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.rs-mapa-card > small { line-height: 1.4; }
.rs-faixas td { vertical-align: middle; }
.rs-faixas .nx-input[type=number] { width: 72px; }
.rs-faixa-nome { display: inline-flex; gap: 6px; align-items: center; }
.rs-faixa-nome::before { width: 12px; height: 12px; border-radius: 4px; content: ""; }

/* ---------- acervo do SGQ: Lista Mestra, arquivos, matriz, manual da auditoria, planos (11/11/2026) ---------- */
.lm-filtros { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--nx-line); }
.lm-filtros .nx-select { width: auto; min-width: 0; max-width: 100%; flex: 0 1 220px; }
.lm-filtros > .cq-mu { margin-left: auto; font-size: 12.4px; white-space: nowrap; }
.lm-busca { position: relative; display: flex; flex: 1 1 240px; min-width: 0; align-items: center; }
.lm-busca .pi { position: absolute; left: 11px; color: var(--nx-ink-3); font-size: 13px; pointer-events: none; }
.lm-busca .nx-input { width: 100%; padding-left: 32px; }
.lm-tab td, .lm-plano td, .lm-req td { vertical-align: top; }
.lm-tab code { white-space: nowrap; }
.lm-tab td:nth-child(2) { min-width: 240px; }
.lm-lacunas { display: grid; gap: 6px; margin: 0 0 14px; padding: 0; list-style: none; }
.lm-lacunas li { display: flex; gap: 10px; align-items: baseline; padding: 8px 12px; border: 1px solid var(--nx-line); border-radius: 10px; background: var(--nx-surface-2); font-size: 12.8px; line-height: 1.5; }
.lm-setor { flex: none; min-width: 58px; padding: 1px 8px; border-radius: 999px; background: var(--nx-info-bg); color: var(--nx-info-forte); font-size: 11px; font-weight: 700; text-align: center; text-decoration: none; }
.lm-setor:hover { background: var(--nx-info-forte-bg); }
.cq-h4 small { margin-left: 4px; color: var(--nx-ink-3); font-weight: 600; }
.lm-matriz { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; }
.lm-matriz small { color: var(--nx-ink-3); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.lm-matriz h2 { margin: 2px 0 4px; font-size: 15.5px; }
.lm-matriz p { max-width: 720px; margin: 0; color: var(--nx-ink-2); font-size: 12.8px; line-height: 1.5; }
.lm-matriz__acoes { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.lm-manual { border-top: 1px solid var(--nx-line); }
.lm-manual > summary { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 12px 2px; cursor: pointer; list-style: none; }
.lm-manual > summary::-webkit-details-marker { display: none; }
.lm-manual > summary::before { flex: none; color: var(--nx-ink-3); font-family: primeicons; font-size: 12px; content: "\e901"; transition: transform .15s; }
.lm-manual[open] > summary::before { transform: rotate(90deg); }
.lm-manual > summary > span:first-of-type { display: grid; flex: 1; min-width: 0; gap: 2px; }
.lm-manual > summary small { color: var(--nx-ink-2); font-size: 12px; }
.lm-manual > :not(summary) { margin-bottom: 12px; }
.lm-req ul { display: grid; gap: 4px; margin: 0; padding-left: 16px; font-size: 12.6px; line-height: 1.45; }
.lm-req td:nth-child(2) { min-width: 220px; }
.lm-req td:nth-child(3), .lm-req td:nth-child(4) { min-width: 240px; }
.lm-plano td:nth-child(2) { min-width: 260px; }
.lm-plano .nx-select { min-width: 132px; }
.st-obsoletos, .st-lacunas { border-top: 1px solid var(--nx-line); }
.st-obsoletos > summary, .st-lacunas > summary { display: flex; gap: 10px; align-items: center; padding: 12px 18px; color: var(--nx-ink-2); font-size: 12.8px; font-weight: 600; cursor: pointer; }
.st-lacunas { border-top: 0; }
.st-lacunas > summary { padding: 0; color: var(--nx-ink); }
.st-lacunas > summary .pi { color: var(--nx-warn); font-size: 18px; }
.st-lacunas > summary span { display: grid; gap: 2px; }
.st-lacunas > summary small { color: var(--nx-ink-2); font-weight: 400; }
.st-lacunas[open] > summary { margin-bottom: 12px; }
.rs-matriz { margin-top: 14px; padding: 12px 14px; border: 1px solid var(--nx-line); border-radius: 12px; background: var(--nx-surface-2); }
.rs-matriz > summary { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 13px; font-weight: 700; cursor: pointer; }
.rs-matriz > summary small { color: var(--nx-ink-2); font-weight: 400; }
.rs-matriz .ag-kv { grid-template-columns: 190px minmax(0, 1fr); margin: 12px 0 0; }
tr[data-plano-abrir] { cursor: pointer; }
@media (max-width: 720px) {
    .rs-matriz .ag-kv { grid-template-columns: 1fr; gap: 2px 0; }
    .rs-matriz .ag-kv dd { margin-bottom: 8px; }
    .lm-filtros > .cq-mu { margin-left: 0; }
    .lm-filtros .nx-select { flex: 1 1 100%; }
}
.cq-tabela td code { white-space: nowrap; }
