:root {
  --bg: #f5f7fb;
  --panel: #ffffff;
  --line: #dbe2ea;
  --text: #1e293b;
  --muted: #64748b;
  --primary: #2f6fd0;
  --primary-dark: #245bb4;
  --danger: #b91c1c;
  --success: #047857;
  --sidebar: #303e68;
  --sidebar-muted: #94a3b8;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; background: var(--bg); color: var(--text); }
a { text-decoration: none; }
.app-shell { min-height: 100vh; display: flex; }
.sidebar { width: 280px; background: var(--sidebar); color: #fff; padding: 20px 16px; position: sticky; top: 0; height: 100vh; overflow-y: auto; }
.sidebar__brand { padding: 8px 8px 24px; border-bottom: 1px solid rgba(255,255,255,.08); margin-bottom: 18px; }
.brand__title { font-size: 24px; font-weight: bold; }
.brand__subtitle { color: var(--sidebar-muted); font-size: 12px; margin-top: 4px; }
.menu__grupo { margin-bottom: 18px; }
.menu__titulo { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--sidebar-muted); margin: 12px 8px; }
.menu__link { display: block; color: #fff; padding: 10px 12px; border-radius: 10px; margin-bottom: 4px; }
.menu__link:hover { background: rgba(255,255,255,.08); }
.main-area { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.topbar { background: var(--panel); border-bottom: 1px solid var(--line); padding: 16px 24px; display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 5; }
.topbar__title { font-size: 20px; font-weight: bold; }
.topbar__user { display: flex; gap: 12px; align-items: center; }
.content-area { padding: 24px; }
.alerta { padding: 14px 16px; border-radius: 12px; margin-bottom: 16px; }
.alerta--erro { background: #fee2e2; color: #7f1d1d; border: 1px solid #fecaca; }
.alerta--sucesso { background: #dcfce7; color: #14532d; border: 1px solid #bbf7d0; }
.pagina-topo { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; }
.pagina-topo h2 { margin: 0 0 6px; font-size: 18px; }
.pagina-topo p { margin: 0; color: var(--muted); }
.pagina-topo__acoes { display: flex; gap: 8px; flex-wrap: wrap; }
.cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-bottom: 20px; }
.card { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 10px 20px rgba(15,23,42,.04); }
.card__body { padding: 18px; }
.card h3 { margin-top: 0; margin-bottom: 8px; font-size: 20px; }
.botao { display: inline-flex; align-items: center; justify-content: center; background: var(--primary); color: #fff; border: 0; border-radius: 10px; padding: 11px 16px; cursor: pointer; font-weight: bold; }
.botao:hover { background: var(--primary-dark); }
.botao--inline { padding: 9px 14px; }
.botao--secundario { background: #fff; color: var(--text); border: 1px solid var(--line); }
.botao--secundario:hover { background: #f8fafc; }
.botao--topo { padding: 8px 12px; }
.formulario { display: flex; flex-direction: column; gap: 14px; }
.formulario__grid { display: grid; gap: 14px; }
.formulario__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.formulario__grupo { display: flex; flex-direction: column; gap: 6px; }
.formulario__grupo--grow { flex: 1; }
.formulario__grupo--full { grid-column: 1 / -1; }
.formulario__grupo label { font-size: 14px; font-weight: bold; }
.formulario input, .formulario select, .formulario textarea { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 11px 12px; font-size: 14px; background: #fff; }
.formulario textarea { min-height: 110px; resize: vertical; }
.formulario__acoes { display: flex; gap: 10px; justify-content: flex-end; margin-top: 10px; }
.formulario--linha { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: end; gap: 12px; }
.formulario__acoes--filtro { margin-top: 0; }
.tabela-wrapper { overflow-x: auto; }
.tabela { width: 100%; border-collapse: collapse; }
.tabela th, .tabela td { padding: 12px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.tabela th { background: #f8fafc; }
.tabela__acoes { min-width: 180px; }
.tabela td .link-acao { margin-right: 8px; }
.link-acao { color: var(--primary); background: none; border: 0; padding: 0; cursor: pointer; font: inherit; }
.link-acao--perigo { color: var(--danger); }
.badge { display: inline-block; padding: 4px 8px; border-radius: 999px; background: #e2e8f0; font-size: 12px; }
.login-page { min-height: calc(100vh - 48px); display: flex; align-items: center; justify-content: center; }
.login-card { width: 100%; max-width: 420px; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 28px; box-shadow: 0 20px 50px rgba(15,23,42,.08); }
.login-card h1 { margin-top: 0; }
.detalhes-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; }
.detalhes-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Ajuste visual do construtor da anamnese */
.card--resumo-anamnese .card__body { padding: 22px; }
.resumo-anamnese {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.resumo-anamnese__item {
  background: #f8fafc;
  border: 1px solid #e5edf5;
  border-radius: 14px;
  padding: 14px 16px;
  min-height: 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.resumo-anamnese__item--full {
  grid-column: 1 / -1;
  min-height: auto;
}
.resumo-anamnese__rotulo {
  display: block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
  margin-bottom: 8px;
}
.resumo-anamnese__valor {
  display: block;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--text);
}
.resumo-anamnese__descricao {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.resumo-anamnese__descricao p {
  margin: 8px 0 0;
  line-height: 1.6;
  color: var(--text);
}
.cards-grid--builder { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.builder-step { display: inline-block; padding: 4px 10px; border-radius: 999px; background: #edf4ff; color: var(--primary); font-size: 12px; font-weight: bold; margin-bottom: 10px; }
.builder-qtd { color: var(--muted); margin-bottom: 10px; font-size: 14px; }
.builder-texto { color: var(--muted); min-height: 42px; margin-bottom: 16px; line-height: 1.5; }
.builder-acoes { display: flex; gap: 8px; flex-wrap: wrap; }
.card--builder-destaque { border-color: #b8cef0; box-shadow: 0 10px 20px rgba(29,78,216,.08); }
.card--steps { border-style: dashed; }
.steps-list { margin: 0; padding-left: 22px; color: var(--text); }
.steps-list li { margin-bottom: 10px; line-height: 1.6; }
.secao-cabecalho-inline { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 16px; }
.texto-suporte { color: var(--muted); font-size: 13px; }
.lista-opcoes { display: flex; flex-direction: column; gap: 14px; }
.opcao-item { border: 1px solid var(--line); border-radius: 14px; padding: 14px; background: #f8fafc; }
.opcao-item__topo { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 12px; }
.mt-16 { margin-top: 16px; }

@media (max-width: 1000px) {
  .sidebar { width: 240px; }
  .formulario__grid--2, .detalhes-grid, .detalhes-grid--3, .resumo-anamnese { grid-template-columns: 1fr; }
  .resumo-anamnese__item--full { grid-column: auto; }
}
@media (max-width: 768px) {
  .app-shell { flex-direction: column; }
  .sidebar { width: 100%; height: auto; position: relative; }
  .topbar { position: relative; }
  .pagina-topo, .secao-cabecalho-inline { flex-direction: column; align-items: stretch; }
  .resumo-anamnese__valor { font-size: 20px; }
}

/* Construtor da avaliação */
.resumo-anamnese__valor--sm {
  font-size: 18px;
  font-weight: 600;
}


/* ===== Pulsar | Menu lateral azul claro plugado ===== */
:root {
  --pulsar-menu-bg: #edf4ff;
  --pulsar-menu-bg-2: #f7fbfb;
  --pulsar-menu-card: rgba(255,255,255,.72);
  --pulsar-menu-line: #cbdcf5;
  --pulsar-menu-blue: #2f6fd0;
  --pulsar-menu-blue-dark: #303e68;
  --pulsar-menu-blue-soft: #e7f0ff;
  --pulsar-menu-text: #1d2f4f;
  --pulsar-menu-muted: #60708f;
}

.sidebar {
  width: 286px;
  background: linear-gradient(180deg, var(--pulsar-menu-bg) 0%, var(--pulsar-menu-bg-2) 100%) !important;
  color: var(--pulsar-menu-text) !important;
  padding: 18px 12px;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  border-right: 1px solid var(--pulsar-menu-line);
}

.sidebar__brand {
  padding: 10px 12px 18px;
  border-bottom: 1px solid rgba(47,110,234,.16);
  margin-bottom: 12px;
}

.brand__title {
  font-size: 24px;
  font-weight: 900;
  color: var(--pulsar-menu-blue-dark);
  letter-spacing: -.02em;
}

.brand__subtitle {
  color: var(--pulsar-menu-muted);
  font-size: 12px;
  margin-top: 4px;
}

.sidebar__menu {
  display: grid;
  gap: 10px;
}

.menu__grupo {
  margin-bottom: 0;
  border: 1px solid rgba(47,110,234,.16);
  border-radius: 16px;
  background: var(--pulsar-menu-card);
  overflow: hidden;
  box-shadow: 0 8px 18px rgba(23,59,122,.045);
}

.menu__titulo {
  width: 100%;
  appearance: none;
  border: 0;
  margin: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 12px 13px;
  background: linear-gradient(135deg, var(--pulsar-menu-blue-soft) 0%, #f6faff 100%);
  color: var(--pulsar-menu-blue-dark);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
  text-align: left;
  cursor: pointer;
}

.menu__titulo::after {
  content: "▾";
  font-size: 11px;
  color: var(--pulsar-menu-blue);
  transform: rotate(-90deg);
  transition: transform .18s ease;
}

.menu__grupo.is-open .menu__titulo::after {
  transform: rotate(0deg);
}

.menu__itens {
  display: none;
  padding: 8px;
  background: rgba(255,255,255,.68);
}

.menu__grupo.is-open .menu__itens {
  display: grid;
  gap: 5px;
}

.menu__link {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  color: var(--pulsar-menu-text);
  padding: 9px 11px;
  border-radius: 11px;
  margin-bottom: 0;
  font-size: 13px;
  line-height: 1.25;
  transition: background .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}

.menu__link::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 999px;
  background: var(--pulsar-menu-blue);
  opacity: .64;
}

.menu__link:hover {
  background: #ffffff;
  color: var(--pulsar-menu-blue);
  transform: translateX(2px);
}

.menu__link.is-active,
.menu__link[aria-current="page"] {
  background: #ffffff;
  color: var(--pulsar-menu-blue-dark);
  box-shadow: inset 3px 0 0 var(--pulsar-menu-blue), 0 6px 14px rgba(47,110,234,.10);
  font-weight: 800;
}

@media (max-width: 860px) {
  .app-shell {
    display: block;
  }

  .sidebar {
    width: 100%;
    height: auto;
    position: relative;
    border-right: 0;
    border-bottom: 1px solid var(--pulsar-menu-line);
  }

  .sidebar__menu {
    grid-template-columns: 1fr;
  }
}
/* ===== Fim | Menu lateral azul claro plugado ===== */

/* ===== Pulsar v2 | Camada guiada funcional ===== */
.pulsar-choice-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}
.pulsar-choice {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f8fbfb;
  cursor: pointer;
}
.pulsar-choice:hover { border-color: #8db3ff; box-shadow: 0 8px 18px rgba(29,78,216,.08); }
.pulsar-choice input { margin-top: 4px; width: auto; }
.pulsar-choice strong { display: block; color: var(--text); margin-bottom: 4px; }
.pulsar-choice small { display: block; color: var(--muted); line-height: 1.45; }
.pulsar-checkbox { display:flex; gap:10px; align-items:flex-start; padding: 13px 14px; border: 1px dashed #bdd1f7; border-radius: 14px; background:#f8fbfb; }
.pulsar-checkbox input { width:auto; margin-top: 4px; }
.pulsar-mini-metrics { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.pulsar-mini-metrics span { display:inline-flex; gap:4px; align-items:center; padding:6px 9px; border-radius:999px; background:#edf8f8; color:#1d3f73; font-size:12px; }
.publico-vlibras-spacer { min-height: 1px; }

/* Novo Pulsar | Cadastro orientado */
.cadastro-orientado {
    margin-bottom: 18px;
    border: 1px solid #bfd7ff;
    background: linear-gradient(180deg, #f8fbfb 0%, #ffffff 100%);
}
.cadastro-orientado__cabecalho strong {
    display: block;
    font-size: 17px;
    color: #303e68;
    margin-bottom: 4px;
}
.cadastro-orientado__cabecalho p {
    margin: 0;
    color: #49627f;
    line-height: 1.45;
}
.cadastro-orientado__passos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
    margin-top: 14px;
}
.cadastro-orientado__passo {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px;
    border: 1px solid #d6e4f7;
    border-radius: 14px;
    background: #ffffff;
}
.cadastro-orientado__passo > span {
    min-width: 38px;
    height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    background: #1f57d6;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 800;
}
.cadastro-orientado__passo strong {
    display: block;
    color: #0b1f3a;
    font-size: 14px;
}
.cadastro-orientado__passo small {
    display: block;
    color: #536b88;
    margin-top: 2px;
    line-height: 1.35;
}
.campo-etapa {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #eef5ff;
    color: #1f57d6;
    border: 1px solid #cbdcf5;
    font-size: 11px;
    font-weight: 800;
    vertical-align: middle;
}

/* ===== Novo Pulsar | Navegação por aplicações/hubs ===== */
.menu__grupo--direto .menu__titulo--link {
  text-decoration: none;
}
.menu__grupo--direto .menu__titulo--link::after {
  content: "›";
  transform: none;
}
.menu__grupo--direto .menu__titulo--link.is-active,
.menu__grupo--direto .menu__titulo--link[aria-current="page"] {
  background: #ffffff;
  color: var(--pulsar-menu-blue-dark);
  box-shadow: inset 3px 0 0 var(--pulsar-menu-blue), 0 6px 14px rgba(47,110,234,.10);
}
.pulsar-hub-hero {
  background: linear-gradient(135deg, #ffffff 0%, #f2f9f9 100%);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 22px;
  margin-bottom: 18px;
  box-shadow: 0 10px 24px rgba(15,23,42,.04);
}
.pulsar-hub-hero h2 { margin: 0 0 8px; }
.pulsar-hub-hero p { margin: 0; color: var(--muted); line-height: 1.55; }
.pulsar-hub-kicker {
  display: inline-block;
  margin-bottom: 10px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #edf4ff;
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.pulsar-flow-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}
.pulsar-flow-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 190px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 10px 20px rgba(15,23,42,.04);
}
.pulsar-flow-card h3 { margin: 0; font-size: 18px; }
.pulsar-flow-card p { margin: 0; color: var(--muted); line-height: 1.5; }
.pulsar-flow-card__acoes { margin-top: auto; display: flex; gap: 8px; flex-wrap: wrap; }
.pulsar-flow-card__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #edf4ff;
  color: var(--primary);
  font-weight: 900;
}
.pulsar-flow-steps {
  margin: 18px 0 0;
  padding: 16px 18px;
  border: 1px dashed #b8cef0;
  border-radius: 16px;
  background: #f8fbfb;
}
.pulsar-flow-steps ol { margin: 8px 0 0; padding-left: 22px; }
.pulsar-flow-steps li { margin: 6px 0; line-height: 1.5; }
/* ===== Fim | Navegação por aplicações/hubs ===== */

/* Ajuste visual dos cards internos da aplicação Anamneses */
.pulsar-flow-card__tag {
  width: auto;
  min-width: 30px;
  padding: 0 10px;
}
.pulsar-flow-card--featured {
  border-color: #a9c3ff;
  background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
}

/* ===== Refinos UI/UX | hubs, topbar, login e consultas ===== */
.topbar {
  padding: 14px 24px;
}
.topbar__title {
  font-size: 18px;
  font-weight: 800;
  color: #12284a;
}
.topbar-user-menu {
  position: relative;
}
.topbar-user-menu summary {
  list-style: none;
}
.topbar-user-menu summary::-webkit-details-marker {
  display: none;
}
.topbar-user-menu__summary {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 14px;
  transition: background .16s ease;
}
.topbar-user-menu__summary:hover,
.topbar-user-menu[open] .topbar-user-menu__summary {
  background: #f3f7ff;
}
.topbar-user-menu__avatar {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #2f6fd0 0%, #1744b6 100%);
  color: #fff;
  font-weight: 800;
  letter-spacing: .02em;
  box-shadow: 0 8px 18px rgba(47,110,234,.22);
}
.topbar-user-menu__avatar--lg {
  width: 44px;
  height: 44px;
}
.topbar-user-menu__meta {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.topbar-user-menu__meta strong {
  color: #14284b;
  font-size: 14px;
}
.topbar-user-menu__meta small {
  color: var(--muted);
  font-size: 12px;
}
.topbar-user-menu__dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 240px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 18px 35px rgba(15,23,42,.12);
  z-index: 12;
}
.topbar-user-menu__header {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 8px;
  border-bottom: 1px solid #eef2f7;
  margin-bottom: 6px;
}
.topbar-user-menu__header strong,
.topbar-user-menu__header small {
  display: block;
}
.topbar-user-menu__header small {
  color: var(--muted);
  margin-top: 2px;
}
.topbar-user-menu__item {
  display: block;
  padding: 10px 12px;
  border-radius: 12px;
  color: #183156;
  font-size: 14px;
}
.topbar-user-menu__item:hover {
  background: #f5fbfb;
}
.topbar-user-menu__item--danger {
  color: #c62828;
}

.pulsar-hub-hero {
  padding: 24px;
}
.pulsar-flow-card {
  gap: 14px;
  min-height: 210px;
  padding: 20px;
}
.pulsar-flow-card__tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 34px;
  padding: 7px 14px;
  border-radius: 999px;
  background: #e9f1ff;
  color: #1f57d6;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
}
.pulsar-flow-card h3 {
  display: none;
}
.pulsar-flow-card__acoes .botao {
  min-width: 118px;
}
.pulsar-flow-card--dashboard {
  background: linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
  border-color: #b8cef0;
}
.dashboard-preview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: -2px;
}
.dashboard-preview__metric {
  padding: 12px;
  border: 1px solid #dbe7ff;
  border-radius: 14px;
  background: rgba(255,255,255,.78);
}
.dashboard-preview__metric small {
  display: block;
  color: var(--muted);
  margin-bottom: 6px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.dashboard-preview__metric strong {
  display: block;
  color: #18305c;
  font-size: 15px;
  margin-bottom: 8px;
}
.dashboard-preview__metric span {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2f6fd0 0%, #7cb2ff 100%);
}
.dashboard-preview__metric:nth-child(2) span { width: 72%; }
.dashboard-preview__metric:nth-child(1) span { width: 84%; }
.dashboard-preview__metric:nth-child(3) span { width: 64%; }

.tabela--consultas tbody tr:hover td {
  background: #fbfdff;
}
.tabela__sort {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #183156;
  font-weight: 800;
}
.tabela__sort strong {
  font-size: 11px;
  color: #6b7b90;
}
.tabela__sort.is-active,
.tabela__sort:hover {
  color: var(--primary);
}
.tabela__sort.is-active strong,
.tabela__sort:hover strong {
  color: var(--primary);
}
.tabela--consultas td:first-child,
.tabela--consultas th:first-child {
  padding-left: 12px;
}

.login-split {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  background: #fff;
}
.login-split__showcase {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.20) 0 8%, transparent 9%),
    radial-gradient(circle at 82% 70%, rgba(255,255,255,.12) 0 10%, transparent 11%),
    linear-gradient(145deg, rgba(255,56,89,.95) 0%, rgba(234,38,73,.94) 38%, rgba(186,22,69,.94) 100%);
}
.login-showcase__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(255,255,255,.08) 20%, transparent 20% 52%, rgba(255,255,255,.08) 52% 58%, transparent 58%),
    radial-gradient(circle at 25% 30%, rgba(255,255,255,.18), transparent 45%);
}
.login-showcase__content {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 56px 64px;
  color: #fff;
}
.login-showcase__tag {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 18px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.18);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.login-showcase__content h1 {
  margin: 0 0 14px;
  font-size: 42px;
  line-height: 1.05;
}
.login-showcase__content p {
  max-width: 520px;
  margin: 0;
  color: rgba(255,255,255,.92);
  line-height: 1.7;
  font-size: 16px;
}
.login-showcase__highlights {
  margin: 26px 0 0;
  padding-left: 18px;
  line-height: 1.8;
  color: rgba(255,255,255,.95);
}
.login-split__panel {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 28px;
  background: #f7f8fb;
}
.login-card--split {
  max-width: 460px;
  width: 100%;
  padding: 32px;
  border-radius: 22px;
}
.login-card--split h2 {
  margin: 6px 0 8px;
  font-size: 30px;
}
.login-card--split p {
  color: var(--muted);
  line-height: 1.55;
  margin: 0 0 14px;
}
.login-kicker {
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  background: #edf8f8;
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.formulario__acoes--login {
  justify-content: stretch;
}
.formulario__acoes--login .botao {
  width: 100%;
}

@media (max-width: 980px) {
  .dashboard-preview {
    grid-template-columns: 1fr;
  }
  .login-split {
    grid-template-columns: 1fr;
  }
  .login-split__showcase {
    min-height: 280px;
  }
  .login-showcase__content {
    padding: 36px 28px;
  }
}
/* ===== Fim | refinamentos UI/UX ===== */


/* ===== Novo Pulsar | UX/UI dos hubs, login, topo e consultas ===== */
.is-guest .topbar { display: none; }
.is-guest .content-area { padding: 0; min-height: 100vh; }
.is-guest .main-area { width: 100%; }

.pulsar-flow-card {
  min-height: 174px;
  border-color: #dce7f6;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.pulsar-flow-card:hover {
  transform: translateY(-2px);
  border-color: #b9cff8;
  box-shadow: 0 16px 32px rgba(15,23,42,.08);
}
.pulsar-flow-card__tag {
  display: block;
  width: auto;
  height: auto;
  min-width: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #303e68;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.25;
  text-align: left;
}
.pulsar-flow-card h3 { display: none; }
.pulsar-flow-card__acoes .botao {
  min-height: 38px;
}
.pulsar-flow-card__acoes .botao--secundario {
  background: #ffffff;
  color: #1f2a44;
  border: 1px solid #d4dfed;
}
.pulsar-flow-card--dashboard {
  background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
}
.dashboard-preview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 6px 0 2px;
}
.dashboard-preview__metric {
  padding: 10px;
  border: 1px solid #d7e4f7;
  border-radius: 14px;
  background: #fff;
}
.dashboard-preview__metric small {
  display: block;
  color: #66758b;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .035em;
}
.dashboard-preview__metric strong {
  display: block;
  margin-top: 4px;
  color: #303e68;
  font-size: 15px;
}
.dashboard-preview__metric span {
  display: block;
  height: 6px;
  margin-top: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2f6fd0 0%, #8ac8cc 70%, #e5edff 70%);
}

.topbar-user-menu {
  position: relative;
}
.topbar-user-menu__summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  padding: 6px 8px;
  border: 1px solid #d7e4f7;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(15,23,42,.04);
}
.topbar-user-menu__summary::-webkit-details-marker { display: none; }
.topbar-user-menu__avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #2f6fd0, #2aa2ab);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .03em;
  flex: 0 0 auto;
}
.topbar-user-menu__avatar--lg {
  width: 42px;
  height: 42px;
}
.topbar-user-menu__meta {
  display: flex;
  flex-direction: column;
  padding-right: 6px;
}
.topbar-user-menu__meta strong {
  font-size: 13px;
  color: #303e68;
}
.topbar-user-menu__meta small {
  font-size: 11px;
  color: #64748b;
}
.topbar-user-menu__dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: 260px;
  padding: 10px;
  border: 1px solid #dbe5f2;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 22px 48px rgba(15,23,42,.16);
  z-index: 40;
}
.topbar-user-menu__header {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 8px;
  border-bottom: 1px solid #edf2f7;
  margin-bottom: 6px;
}
.topbar-user-menu__header strong,
.topbar-user-menu__header small {
  display: block;
}
.topbar-user-menu__header small {
  margin-top: 2px;
  color: #64748b;
}
.topbar-user-menu__item {
  display: block;
  padding: 10px 12px;
  border-radius: 12px;
  color: #1f2a44;
  font-weight: 700;
}
.topbar-user-menu__item:hover {
  background: #f2f9f9;
  color: #2f6fd0;
}
.topbar-user-menu__item--danger {
  color: #b91c1c;
}
.topbar-user-menu__item--danger:hover {
  background: #fff1f2;
  color: #b91c1c;
}

.login-split {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(360px, 1.1fr) minmax(340px, .9fr);
  background: #f5f7fb;
}
.login-split__showcase {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 56px;
  color: #fff;
  background:
    radial-gradient(circle at 25% 20%, rgba(255,255,255,.24), transparent 28%),
    radial-gradient(circle at 75% 35%, rgba(125,175,255,.26), transparent 30%),
    linear-gradient(135deg, #303e68 0%, #2f6fd0 58%, #32a9b1 100%);
}
.login-showcase__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(15,23,42,.86), rgba(29,78,216,.24)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0, rgba(255,255,255,.06) 1px, transparent 1px, transparent 18px);
}
.login-showcase__content {
  position: relative;
  z-index: 1;
  max-width: 620px;
}
.login-showcase__tag,
.login-kicker {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 6px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.login-showcase__tag {
  background: rgba(255,255,255,.16);
  color: #fff;
  border: 1px solid rgba(255,255,255,.24);
}
.login-showcase__content h1 {
  margin: 0 0 12px;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1;
  letter-spacing: -.04em;
}
.login-showcase__content p {
  margin: 0;
  max-width: 560px;
  color: rgba(255,255,255,.84);
  font-size: 17px;
  line-height: 1.6;
}
.login-showcase__highlights {
  display: grid;
  gap: 10px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.login-showcase__highlights li {
  display: flex;
  gap: 10px;
  align-items: center;
  color: rgba(255,255,255,.9);
  font-weight: 700;
}
.login-showcase__highlights li::before {
  content: "✓";
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.18);
}
.login-split__panel {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 44px;
}
.login-card--split {
  max-width: 440px;
  border-radius: 28px;
  padding: 34px;
  box-shadow: 0 26px 70px rgba(15,23,42,.12);
}
.login-card--split h2 {
  margin: 0 0 8px;
  font-size: 30px;
  letter-spacing: -.03em;
}
.login-card--split p {
  margin: 0 0 24px;
  color: #64748b;
  line-height: 1.55;
}
.login-kicker {
  background: #edf4ff;
  color: #2f6fd0;
}
.formulario__acoes--login {
  justify-content: stretch;
}
.formulario__acoes--login .botao {
  width: 100%;
  min-height: 46px;
}

.tabela--consultas th {
  white-space: nowrap;
}
.tabela__sort {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #1f2a44;
  font-weight: 900;
}
.tabela__sort strong {
  color: #8a99ad;
  font-size: 12px;
}
.tabela__sort.is-active strong {
  color: #2f6fd0;
}
.tabela--consultas tbody tr:nth-child(even) td {
  background: #fbfdff;
}
.tabela--consultas tbody tr:hover td {
  background: #f2f9f9;
}
.tabela--linhas-destaque {
  border-collapse: separate;
  border-spacing: 0 10px;
}
.tabela--linhas-destaque th,
.tabela--linhas-destaque td {
  border-bottom: 0;
}
.tabela--linhas-destaque tbody tr {
  box-shadow: 0 10px 22px rgba(15,23,42,.04);
}

@media (max-width: 920px) {
  .login-split {
    grid-template-columns: 1fr;
  }
  .login-split__showcase {
    min-height: 330px;
    padding: 34px;
  }
  .login-split__panel {
    padding: 28px;
  }
  .dashboard-preview {
    grid-template-columns: 1fr;
  }
  .topbar-user-menu__meta {
    display: none;
  }
}

/* ===== Ajustes finais | login, topo e painel gerencial ===== */
.topbar-user-menu__item--disabled {
  color: #475569;
}
.topbar-user-menu__item--disabled:hover {
  background: #f8fafc;
  color: #1f2a44;
}

.login-showcase__content--brand {
  align-items: flex-start;
  justify-content: center;
  gap: 26px;
  max-width: 620px;
  min-height: 100%;
}
.login-brand-logo {
  width: min(420px, 85%);
  height: auto;
  display: block;
  filter: drop-shadow(0 10px 28px rgba(15,23,42,.18));
}
.login-brand-message {
  max-width: 560px;
  margin: 0;
  color: rgba(255,255,255,.96);
  font-size: clamp(28px, 3.5vw, 46px);
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -.03em;
}
.login-password-wrap {
  position: relative;
}
.login-password-wrap input {
  padding-right: 94px;
}
.password-toggle {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: #2f6fd0;
  font-weight: 800;
  cursor: pointer;
}
.password-toggle:hover {
  color: #303e68;
}
.login-card__links {
  margin-top: 14px;
  text-align: center;
}
.login-help-link {
  color: #2f6fd0;
  font-weight: 700;
}
.login-help-link:hover {
  color: #303e68;
  text-decoration: underline;
}
@media (max-width: 920px) {
  .login-showcase__content--brand {
    gap: 18px;
  }
  .login-brand-logo {
    width: min(300px, 90%);
  }
}


/* ===== Ajustes finos solicitados | Dashboard, Login e Topo ===== */
.topbar__actions .botao--topo {
  display: none !important;
}

.dashboard-preview {
  display: none !important;
}

.login-split__showcase {
  background:
    radial-gradient(circle at 18% 18%, rgba(29,78,216,.08), transparent 28%),
    radial-gradient(circle at 82% 72%, rgba(14,165,233,.12), transparent 26%),
    linear-gradient(145deg, #ffffff 0%, #f6fbff 48%, #eaf5ff 100%) !important;
  color: #303e68 !important;
  align-items: center !important;
}

.login-showcase__overlay {
  background:
    linear-gradient(120deg, rgba(15,23,42,.03), rgba(29,78,216,.05)),
    repeating-linear-gradient(135deg, rgba(29,78,216,.035) 0, rgba(29,78,216,.035) 1px, transparent 1px, transparent 22px) !important;
}

.login-showcase__content--brand {
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 26px;
  max-width: 760px;
  margin: 0 auto;
}

.login-brand-logo {
  width: min(680px, 94%);
  height: auto;
  display: block;
  filter: drop-shadow(0 18px 34px rgba(15,23,42,.12));
}

.login-brand-message {
  max-width: 760px;
  margin: 0;
  color: #303e68;
  font-family: "Trebuchet MS", "Segoe UI", Arial, Helvetica, sans-serif;
  font-size: clamp(25px, 3vw, 42px);
  line-height: 1.18;
  font-weight: 500;
  letter-spacing: -.03em;
}

.login-card--split h2 {
  white-space: nowrap;
  font-size: clamp(24px, 2vw, 30px);
}

.login-card--split > p {
  display: none;
}

.login-password-wrap {
  position: relative;
}

.login-password-wrap input {
  padding-right: 54px;
}

.password-toggle {
  position: absolute;
  top: 50%;
  right: 12px;
  width: 34px;
  height: 34px;
  transform: translateY(-50%);
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.password-toggle svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
}

.password-toggle:hover,
.password-toggle.is-visible {
  background: #edf8f8;
  color: #2f6fd0;
}

/* Dashboard geral mais visual */
.dashboard-hero {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 18px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff 0%, #f2f9f9 100%);
  box-shadow: 0 14px 30px rgba(15,23,42,.06);
  margin-bottom: 18px;
}

.dashboard-hero h2 {
  margin: 0 0 8px;
  font-size: 28px;
  letter-spacing: -.03em;
}

.dashboard-hero p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.dashboard-hero__summary {
  min-width: 190px;
  border-radius: 20px;
  padding: 18px;
  background: linear-gradient(135deg, #2f6fd0 0%, #0aa0aa 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: 0 16px 30px rgba(29,78,216,.22);
}

.dashboard-hero__summary strong {
  font-size: 38px;
  line-height: 1;
}

.dashboard-hero__summary span {
  margin-top: 6px;
  opacity: .9;
  font-weight: 700;
}

.dashboard-visual-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(320px, .8fr);
  gap: 16px;
}

.dashboard-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 14px 30px rgba(15,23,42,.05);
}

.dashboard-panel--wide {
  grid-row: span 2;
}

.dashboard-panel__header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.dashboard-panel h3,
.dashboard-panel__header h3 {
  margin: 0 0 5px;
  font-size: 20px;
  color: #303e68;
}

.dashboard-panel p,
.dashboard-panel__header p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.dashboard-bars {
  display: grid;
  gap: 16px;
}

.dashboard-bar__info {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
  color: #303e68;
}

.dashboard-bar__info span {
  font-weight: 800;
}

.dashboard-bar__info strong {
  font-size: 18px;
}

.dashboard-bar__track {
  height: 14px;
  border-radius: 999px;
  overflow: hidden;
  background: #e8eef7;
}

.dashboard-bar__track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2f6fd0 0%, #0aa0aa 100%);
}

.dashboard-donut {
  width: 220px;
  height: 220px;
  margin: 18px auto;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #ffffff 0 52%, transparent 53%),
    conic-gradient(#2f6fd0 0 calc(var(--p1) * 1%), #0aa0aa 0 calc((var(--p1) + var(--p2)) * 1%), #94a3b8 0 calc((var(--p1) + var(--p2) + var(--p3)) * 1%), #e8eef7 0);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 0 1px #dbe5f2;
}

.dashboard-donut div {
  text-align: center;
}

.dashboard-donut strong {
  display: block;
  font-size: 38px;
  color: #303e68;
}

.dashboard-donut span {
  display: block;
  color: var(--muted);
  font-weight: 800;
}

.dashboard-legend {
  display: grid;
  gap: 8px;
}

.dashboard-legend span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #475569;
  font-weight: 700;
}

.dashboard-legend i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #2f6fd0;
}

.dashboard-legend span:nth-child(2) i { background: #0aa0aa; }
.dashboard-legend span:nth-child(3) i { background: #94a3b8; }

.dashboard-big-number {
  margin: 16px 0 20px;
  padding: 18px;
  border-radius: 18px;
  background: #f5fbfb;
  border: 1px solid #dbe7ff;
}

.dashboard-big-number strong {
  display: block;
  font-size: 42px;
  color: #2f6fd0;
}

.dashboard-big-number span {
  color: var(--muted);
  font-weight: 800;
}

.dashboard-panel--steps {
  margin-top: 16px;
}

.dashboard-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: step;
}

.dashboard-steps li {
  counter-increment: step;
  padding: 14px 14px 14px 46px;
  border: 1px solid #dbe7ff;
  border-radius: 16px;
  background: #f8fbfb;
  color: #1f2a44;
  position: relative;
  font-weight: 700;
}

.dashboard-steps li::before {
  content: counter(step);
  position: absolute;
  left: 14px;
  top: 13px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #2f6fd0;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 900;
}

@media (max-width: 1000px) {
  .dashboard-hero {
    flex-direction: column;
  }
  .dashboard-visual-grid {
    grid-template-columns: 1fr;
  }
  .dashboard-panel--wide {
    grid-row: auto;
  }
}

@media (max-width: 920px) {
  .login-card--split h2 {
    white-space: normal;
  }
}

/* ===== Correção visual: dashboard e login ===== */
.dashboard-visual-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, .9fr);
  gap: 18px;
  align-items: stretch;
}
.dashboard-panel--metric {
  min-height: 142px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfb 100%);
}
.dashboard-panel--metric span {
  color: #64748b;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .035em;
  font-size: 12px;
}
.dashboard-panel--metric strong {
  font-size: 44px;
  line-height: 1;
  color: #303e68;
}
.dashboard-panel--metric small {
  color: #64748b;
}
.dashboard-panel--wide {
  grid-row: span 2;
}
.dashboard-bars {
  gap: 14px;
}
.dashboard-bar__track {
  height: 13px;
}
.dashboard-bar__track span {
  box-shadow: 0 4px 10px rgba(29,78,216,.22);
}

.login-split__showcase {
  background: linear-gradient(135deg, #f8fbfb 0%, #eaf4ff 48%, #d9eeff 100%) !important;
  color: #303e68 !important;
}
.login-showcase__overlay {
  background:
    radial-gradient(circle at 72% 22%, rgba(27,116,220,.14), transparent 25%),
    repeating-linear-gradient(135deg, rgba(16,33,63,.035) 0, rgba(16,33,63,.035) 1px, transparent 1px, transparent 18px) !important;
}
.login-showcase__content--brand {
  align-items: center !important;
  text-align: center !important;
  justify-content: center !important;
  gap: 22px !important;
  max-width: none !important;
  width: 100%;
  padding: 52px 64px !important;
}
.login-brand-logo {
  width: min(680px, 82%) !important;
  max-height: 280px !important;
  object-fit: contain !important;
  filter: none !important;
  background: #ffffff;
  padding: 18px 24px;
  border-radius: 0;
  box-shadow: 0 20px 55px rgba(15,23,42,.08);
}
.login-brand-message {
  max-width: 760px !important;
  color: #303e68 !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(20px, 2vw, 30px) !important;
  line-height: 1.28 !important;
  font-weight: 600 !important;
  letter-spacing: -.015em !important;
  text-shadow: none !important;
}
.login-card--split h2 {
  font-size: 25px !important;
  line-height: 1.15 !important;
  white-space: nowrap;
  letter-spacing: -.035em;
}
.login-card--split {
  max-width: 480px !important;
}
.password-toggle {
  width: 42px;
  height: 42px;
  right: 8px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #64748b !important;
}
.password-toggle svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
}
.password-toggle:hover,
.password-toggle.is-visible {
  color: #2f6fd0 !important;
}
@media (max-width: 1100px) {
  .login-card--split h2 { white-space: normal; }
}
@media (max-width: 920px) {
  .dashboard-visual-grid { grid-template-columns: 1fr; }
  .dashboard-panel--wide { grid-row: auto; }
  .login-brand-logo { width: min(420px, 92%) !important; }
  .login-showcase__content--brand { padding: 34px 24px !important; }
}

/* ===== Piloto UX/UI | consulta Empresas / Organizações ===== */
.breadcrumb-pulsar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: -6px 0 16px;
  color: #64748b;
  font-size: 14px;
  font-weight: 700;
}
.breadcrumb-pulsar a {
  color: #2f6fd0;
}
.breadcrumb-pulsar a:hover {
  text-decoration: underline;
}
.breadcrumb-pulsar span {
  color: #94a3b8;
  font-size: 18px;
  line-height: 1;
}
.breadcrumb-pulsar strong {
  color: #303e68;
}
.pagina-topo--consulta-piloto {
  align-items: flex-start;
  margin-bottom: 16px;
}
.pagina-topo--consulta-piloto h2 {
  font-size: 22px;
  color: #071c3d;
  margin-bottom: 6px;
}
.pagina-topo--consulta-piloto p {
  max-width: 780px;
  line-height: 1.5;
}
.consulta-filtros-card {
  margin-bottom: 14px;
}
.consulta-filtros-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1.4fr) minmax(180px, .9fr) minmax(170px, .85fr) minmax(130px, .55fr) auto;
  gap: 12px;
  align-items: end;
}
.consulta-filtro label {
  color: #303e68;
  font-size: 13px;
  font-weight: 900;
}
.consulta-filtro input,
.consulta-filtro select {
  min-height: 43px;
  border-radius: 12px;
  border: 1px solid #d6e0ee;
  background: #fff;
  padding: 10px 12px;
  font-size: 14px;
  width: 100%;
}
.consulta-filtro input:focus,
.consulta-filtro select:focus {
  outline: 3px solid rgba(47, 110, 234, .14);
  border-color: #7aa2ff;
}
.consulta-filtros-acoes {
  display: flex;
  align-items: end;
}
.consulta-filtros-acoes .botao {
  min-height: 43px;
  white-space: nowrap;
}
.consulta-filtros-hint {
  display: block;
  margin-top: 10px;
}
.consulta-tabela-card--piloto .card__body {
  padding: 18px 20px 20px;
}
.consulta-resultado-info {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
  color: #64748b;
  font-size: 13px;
}
.consulta-resultado-info strong {
  color: #303e68;
}
.tabela--consulta-piloto {
  border-collapse: separate;
  border-spacing: 0;
}
.tabela--consulta-piloto th {
  background: #f8fbfb;
  border-bottom: 1px solid #d7e2f0;
  color: #303e68;
  font-size: 14px;
}
.tabela--consulta-piloto td {
  border-bottom: 1px solid #e3ebf5;
  color: #303e68;
}
.tabela--consulta-piloto tbody tr:nth-child(even) td {
  background: #fbfdff;
}
.tabela--consulta-piloto tbody tr:hover td {
  background: #f2f9f9;
}
.tabela--consulta-piloto tbody tr[hidden] {
  display: none !important;
}
.tabela--consulta-piloto .tabela__acoes {
  min-width: 120px;
}
.acoes-icones {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}
.acoes-icones form {
  margin: 0;
  display: inline-flex;
}
.acao-icone {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d8e2ef;
  background: #fff;
  color: #1f2a44;
  font-size: 17px;
  line-height: 1;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(15,23,42,.04);
}
.acao-icone:hover {
  border-color: #9fb9f5;
  color: #2f6fd0;
  background: #f7fbfb;
}
.acao-icone--perigo {
  color: #b91c1c;
}
.acao-icone--perigo:hover {
  color: #b91c1c;
  background: #fff5f5;
  border-color: #fecaca;
}
.link-navegacao-global,
a.botao.link-navegacao-global,
a.pa-btn.link-navegacao-global {
  min-height: auto;
  padding: 3px 1px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--primary, #2f6fd0);
  font-weight: 750;
  text-decoration: none;
}
.link-navegacao-global:hover,
a.botao.link-navegacao-global:hover,
a.pa-btn.link-navegacao-global:hover {
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #045f68;
  text-decoration: underline;
  transform: none;
}
.tabela .acoes-icones { gap: 6px; }
.tabela .acao-icone { margin: 0; text-decoration: none; }
.consulta-sem-resultados {
  margin: 16px 0 0;
  padding: 16px;
  border-radius: 14px;
  background: #f8fafc;
  color: #64748b;
  border: 1px dashed #d6e0ee;
  text-align: center;
  font-weight: 700;
}

@media (max-width: 1180px) {
  .consulta-filtros-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .consulta-filtros-acoes {
    justify-content: flex-start;
  }
}
@media (max-width: 720px) {
  .consulta-filtros-grid {
    grid-template-columns: 1fr;
  }
  .pagina-topo--consulta-piloto {
    gap: 12px;
  }
}
/* ===== Fim | Piloto UX/UI consulta Empresas / Organizações ===== */

/* ===== Ajuste piloto v2 | Consulta/Inclusão Empresas ===== */
.consulta-piloto-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -4px 0 16px;
}
.consulta-piloto-topo .breadcrumb-pulsar {
  margin: 0;
}
.consulta-piloto-topo__acoes {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.consulta-piloto-topo--form {
  margin-bottom: 14px;
}
.form-card--piloto-empresas .card__body {
  padding: 22px 20px 20px;
}
.form-piloto-cabecalho {
  margin: 0 0 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e4ecf7;
}
.form-piloto-cabecalho h2 {
  margin: 0 0 6px;
  font-size: 22px;
  color: #071c3d;
  letter-spacing: -.02em;
}
.form-piloto-cabecalho p {
  margin: 0;
  color: #5f7088;
  line-height: 1.45;
}
.formulario__acoes--piloto {
  justify-content: flex-end;
  border-top: 1px solid #e4ecf7;
  padding-top: 16px;
}
@media (max-width: 720px) {
  .consulta-piloto-topo {
    align-items: stretch;
    flex-direction: column;
  }
  .consulta-piloto-topo__acoes .botao {
    width: 100%;
  }
}
/* ===== Fim | Ajuste piloto v2 ===== */

/* ===== Piloto Empresas v3 | formulário slim ===== */
.content-area:has(.form-card--piloto-empresas) {
  background: #ffffff;
}
.form-card--piloto-empresas {
  max-width: 1040px;
  border: 1px solid #e3ebf5;
  border-radius: 16px;
  box-shadow: none;
  background: #ffffff;
}
.form-card--piloto-empresas .card__body {
  padding: 20px 20px 18px;
}
.form-card--piloto-empresas .form-piloto-cabecalho {
  margin: 0 0 16px;
  padding: 0 0 14px;
  border-bottom: 1px solid #edf2f7;
}
.form-card--piloto-empresas .form-piloto-cabecalho h2 {
  font-size: 20px;
  line-height: 1.25;
  margin-bottom: 4px;
}
.form-card--piloto-empresas .form-piloto-cabecalho p {
  max-width: 760px;
  font-size: 14px;
  color: #65758c;
}
.form-card--piloto-empresas .formulario__grid {
  gap: 14px 16px;
}
.form-card--piloto-empresas .formulario__grupo label {
  font-size: 13px;
  color: #303e68;
}
.form-card--piloto-empresas .formulario input,
.form-card--piloto-empresas .formulario select,
.form-card--piloto-empresas .formulario textarea {
  min-height: 42px;
  border-radius: 10px;
  border-color: #d8e2ef;
  background: #ffffff;
  box-shadow: none;
}
.form-card--piloto-empresas .formulario input:focus,
.form-card--piloto-empresas .formulario select:focus,
.form-card--piloto-empresas .formulario textarea:focus {
  outline: 3px solid rgba(47,110,234,.12);
  border-color: #7ba4ff;
}
.form-card--piloto-empresas .texto-suporte {
  font-size: 12px;
  color: #6b7b90;
}
.form-card--piloto-empresas .formulario__acoes--piloto {
  margin-top: 4px;
  padding-top: 14px;
  border-top: 1px solid #edf2f7;
}
.form-card--piloto-empresas .botao {
  min-height: 40px;
  border-radius: 10px;
}
.consulta-piloto-topo--form {
  margin-bottom: 12px;
}
/* ===== Fim | Piloto Empresas v3 ===== */


/* ===== Piloto Empresas v4 | ajuste de fundo e cabeçalho slim ===== */
.content-area:has(.form-card--piloto-empresas) {
  background: #eef3f9;
}
.consulta-piloto-topo--form {
  display: block;
  margin: -4px 0 14px;
}
.consulta-piloto-topo--form .breadcrumb-pulsar {
  margin-bottom: 10px;
}
.form-piloto-descricao {
  margin: 0;
  max-width: 820px;
  color: #5f7088;
  font-size: 14px;
  line-height: 1.5;
}
.form-card--piloto-empresas {
  margin-top: 12px;
}
.form-card--piloto-empresas .card__body {
  padding-top: 18px;
}
.form-card--piloto-empresas .formulario__grid {
  padding-top: 0;
}
/* ===== Fim | Piloto Empresas v4 ===== */


/* ===== Cadastros | aplicação global do padrão slim validado ===== */
.consulta-cadastro-topo {
  margin-bottom: 16px;
}

.form-card--cadastro-slim .card__body {
  padding: 18px 20px 20px;
}

.orientacoes-cadastro {
  margin-top: 20px;
  padding: 14px 16px;
  border: 1px solid #dbe5f2;
  border-radius: 14px;
  background: #f8fafc;
}

.orientacoes-cadastro strong {
  display: block;
  margin-bottom: 8px;
  color: #303e68;
  font-size: 14px;
  font-weight: 900;
}

.orientacoes-cadastro ul {
  margin: 0;
  padding-left: 18px;
  color: #53657c;
  line-height: 1.5;
}

.orientacoes-cadastro li {
  margin: 5px 0;
}

.consulta-filtros-grid .consulta-filtro {
  min-width: 220px;
}

@media (max-width: 920px) {
  .consulta-filtros-grid .consulta-filtro {
    min-width: 100%;
  }
}


/* ===== Planos de Ação Pulsar | aplicação gerencial exclusiva ===== */
.planos-pulsar-topo p {
  max-width: 980px;
}
.planos-pulsar-metricas {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 16px;
}
.consulta-filtros-grid--planos {
  grid-template-columns: minmax(220px, 1.1fr) minmax(180px, .9fr) minmax(180px, .9fr) minmax(220px, 1fr) minmax(150px, .75fr) auto;
}
.tabela--planos-pulsar th,
.tabela--planos-pulsar td {
  vertical-align: middle;
}
.tabela--planos-pulsar small {
  color: #64748b;
}
.planos-pulsar-meta {
  margin-top: 0;
}
.planos-pulsar-cards {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.badge--neutro { background: #e2e8f0; color: #334155; }
.badge--alerta { background: #fef3c7; color: #92400e; }
.badge--info { background: #dff1f2; color: #2f6fd0; }
.badge--perigo { background: #fee2e2; color: #991b1b; }
.badge--sucesso { background: #dcfce7; color: #166534; }
.planos-pulsar-resumo {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 14px;
}
.planos-pulsar-resumo span {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: #edf8f8;
  color: #1d3f73;
  font-size: 13px;
}
.planos-pulsar-atividades {
  display: grid;
  gap: 14px;
}
.planos-pulsar-atividade .card__body {
  padding: 18px 20px;
}
.planos-pulsar-atividade__topo {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.planos-pulsar-atividade__topo > div {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.planos-pulsar-atividade h4 {
  margin: 8px 0 12px;
  color: #071c3d;
  line-height: 1.45;
}
.planos-pulsar-atividade__meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 10px 0;
}
.planos-pulsar-atividade__meta span {
  background: #f8fafc;
  border: 1px solid #e5edf5;
  border-radius: 12px;
  padding: 9px 10px;
  font-size: 13px;
  color: #52657d;
}
.planos-pulsar-atividade__meta strong {
  color: #303e68;
}
.planos-pulsar-andamento {
  margin-top: 12px;
  border-top: 1px solid #e5edf5;
  padding-top: 12px;
}
.planos-pulsar-andamento summary {
  cursor: pointer;
  color: #2f6fd0;
  font-weight: 800;
}
.planos-pulsar-andamento .formulario {
  margin-top: 12px;
}
@media (max-width: 1180px) {
  .planos-pulsar-metricas,
  .planos-pulsar-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .consulta-filtros-grid--planos,
  .planos-pulsar-atividade__meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .planos-pulsar-metricas,
  .planos-pulsar-cards,
  .consulta-filtros-grid--planos,
  .planos-pulsar-atividade__meta {
    grid-template-columns: 1fr;
  }
}
/* ===== Fim | Planos de Ação Pulsar ===== */

/* ===== Eixo Nexus | Plano de Ação incorporado ===== */
/* Plano de Ação — estilos incorporados ao tema principal */
.pa-page {
  --pa-navy: #303e68;
  --pa-blue: #2f6fd0;
  --pa-blue-dark: #245bb4;
  --pa-text: #13213a;
  --pa-muted: #64748b;
  --pa-border: #dce5f1;
  --pa-bg: #f4f7fb;
  --pa-soft: #f8fbfb;
  --pa-white: #ffffff;
  --pa-shadow: 0 12px 30px rgba(25, 45, 85, .07);
  width: 100%;
  color: var(--pa-text);
}
.pa-page *, .pa-page *::before, .pa-page *::after { box-sizing: border-box; }
.pa-page svg { width: 18px; height: 18px; fill: currentColor; flex: 0 0 auto; }

.pa-breadcrumb {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 2px 0 10px;
  color: #7a899d;
  font-size: 14px;
  font-weight: 700;
}
.pa-breadcrumb a { color: var(--pa-blue); text-decoration: none; }
.pa-breadcrumb a:hover { text-decoration: underline; }
.pa-breadcrumb span { color: #a5b1c2; font-size: 18px; line-height: 1; }
.pa-breadcrumb strong { color: var(--pa-navy); }

.pa-intro { margin: 0 0 18px; max-width: 1020px; }
.pa-intro p { margin: 0; color: #5e7089; font-size: 15px; line-height: 1.55; }

.pa-card {
  background: var(--pa-white);
  border: 1px solid var(--pa-border);
  border-radius: 18px;
  box-shadow: var(--pa-shadow);
}
.pa-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid #e8eef6;
}
.pa-card__header h2 { margin: 0 0 4px; color: var(--pa-navy); font-size: 17px; letter-spacing: -.015em; }
.pa-card__header p { margin: 0; color: var(--pa-muted); font-size: 13px; line-height: 1.45; }
.pa-card__header--list { align-items: center; }

.pa-filter-card { margin-bottom: 16px; overflow: hidden; }
.pa-filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px 16px;
  padding: 18px 22px 20px;
  align-items: end;
}
.pa-field { min-width: 0; }
.pa-field--wide { grid-column: span 2; }
.pa-field--full { grid-column: 1 / -1; }
.pa-field label {
  display: block;
  margin: 0 0 7px;
  color: #172743;
  font-size: 13px;
  font-weight: 800;
}
.pa-field input,
.pa-field select,
.pa-field textarea {
  display: block;
  width: 100%;
  min-height: 43px;
  padding: 10px 12px;
  border: 1px solid #cfdbea;
  border-radius: 11px;
  background: #fff;
  color: #172033;
  font: inherit;
  font-size: 14px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .02);
}
.pa-field textarea { min-height: auto; resize: vertical; }
.pa-field input:focus,
.pa-field select:focus,
.pa-field textarea:focus {
  outline: 3px solid rgba(7, 129, 139, .14);
  border-color: #68aeb4;
}
.pa-filter-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 2px;
}
.pa-btn {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 15px;
  border: 1px solid transparent;
  border-radius: 11px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: .16s ease;
}
.pa-btn--primary { background: var(--pa-blue); color: #fff; border-color: var(--pa-blue); }
.pa-btn--primary:hover { background: var(--pa-blue-dark); border-color: var(--pa-blue-dark); transform: translateY(-1px); }
.pa-btn--secondary { background: #fff; color: var(--pa-blue); border-color: #cbd8eb; }
.pa-btn--secondary:hover { background: #edf8f8; border-color: #8fc5c9; transform: translateY(-1px); }

.pa-list-card { overflow: hidden; }
.pa-result-count {
  min-width: 98px;
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 5px;
  color: var(--pa-muted);
  white-space: nowrap;
}
.pa-result-count strong { color: var(--pa-navy); font-size: 20px; }
.pa-result-count span { font-size: 12px; }
.pa-table-wrap { width: 100%; overflow-x: auto; }
.pa-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 1120px;
}
.pa-table th {
  padding: 12px 14px;
  background: #f7faff;
  color: #263650;
  border-bottom: 1px solid #dbe5f1;
  text-align: left;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.pa-table td {
  padding: 14px;
  border-bottom: 1px solid #e7edf5;
  color: #18243a;
  font-size: 13px;
  vertical-align: middle;
}
.pa-table tbody tr:nth-child(even) td { background: #fbfdff; }
.pa-table tbody tr:hover td { background: #eef8f8; }
.pa-table tbody tr:last-child td { border-bottom: 0; }
.pa-table tbody tr[hidden] { display: none !important; }
.pa-table__actions { width: 74px; text-align: center !important; }
.pa-sort {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  cursor: pointer;
}
.pa-sort span { color: #8fa2bd; font-size: 11px; }
.pa-sort.is-active { color: var(--pa-blue); }
.pa-primary-cell, .pa-stack-cell { display: grid; gap: 4px; }
.pa-primary-cell strong, .pa-stack-cell strong { color: #0d1f3d; line-height: 1.28; }
.pa-primary-cell span, .pa-stack-cell span { color: var(--pa-muted); font-size: 12px; line-height: 1.25; }
.pa-date-cell { display: block; min-width: 130px; line-height: 1.35; }
.pa-progress-cell { min-width: 115px; }
.pa-progress-cell > div:first-child { display: flex; align-items: baseline; gap: 3px; }
.pa-progress-cell strong { color: var(--pa-navy); font-size: 15px; }
.pa-progress-cell span, .pa-progress-cell small { color: var(--pa-muted); font-size: 11px; }
.pa-progress { width: 100%; height: 6px; margin: 6px 0 4px; overflow: hidden; border-radius: 999px; background: #e6edf7; }
.pa-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #303e68, #2f6fd0); }
.pa-activity-cell { display: grid; gap: 2px; }
.pa-activity-cell strong { color: var(--pa-navy); font-size: 16px; }
.pa-activity-cell span { color: var(--pa-muted); font-size: 11px; }
.pa-icon-btn {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d3dfed;
  border-radius: 10px;
  background: #fff;
  color: var(--pa-blue);
  text-decoration: none;
  cursor: pointer;
  transition: .16s ease;
}
.pa-icon-btn:hover { background: #e8f5f5; border-color: #8fc5c9; transform: translateY(-1px); }

.pa-status, .pa-priority, .pa-origin {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 26px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
}
.pa-status--neutral { background: #e9eef5; color: #42526a; }
.pa-status--warning { background: #fff3ce; color: #865b00; }
.pa-status--info { background: #e0f1f2; color: #245bb4; }
.pa-status--danger { background: #ffe3e3; color: #a11c1c; }
.pa-status--success { background: #def7e8; color: #17643a; }
.pa-priority--low { background: #edf2f7; color: #53657a; }
.pa-priority--medium { background: #e4f3f4; color: #245bb4; }
.pa-priority--high { background: #fff0d6; color: #9a5b00; }
.pa-priority--critical { background: #ffe0e0; color: #aa1d1d; }
.pa-origin { background: #f2f4f8; color: #5b687c; }

.pa-empty-state {
  padding: 38px 24px;
  text-align: center;
  color: var(--pa-muted);
}
.pa-empty-state__icon {
  width: 46px;
  height: 46px;
  margin: 0 auto 12px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e8f5f5;
  color: var(--pa-blue);
  font-size: 24px;
  font-weight: 800;
}
.pa-empty-state strong { display: block; color: var(--pa-navy); font-size: 15px; }
.pa-empty-state p { margin: 5px 0 0; font-size: 13px; }
.pa-empty-state--inline { padding: 16px 20px; border-top: 1px solid #e7edf5; }

/* Detalhamento */
.pa-detail-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 8px;
}
.pa-detail-topline .pa-breadcrumb { margin: 0; }
.pa-top-actions, .pa-section-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pa-section-actions form { margin: 0; }

.pa-hero-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px 24px;
  padding: 24px;
  border: 1px solid #d7e2ef;
  border-radius: 20px;
  background: linear-gradient(135deg, #ffffff 0%, #f2f9f9 100%);
  box-shadow: var(--pa-shadow);
}
.pa-hero-card__main { min-width: 0; }
.pa-eyebrow, .pa-section__eyebrow {
  display: block;
  margin-bottom: 6px;
  color: var(--pa-blue);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pa-hero-card h1 { margin: 0 0 7px; color: var(--pa-navy); font-size: clamp(22px, 2vw, 30px); line-height: 1.15; letter-spacing: -.025em; }
.pa-hero-card__main p { margin: 0; color: #576b85; font-size: 15px; font-weight: 700; }
.pa-hero-card__status { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; }
.pa-hero-card__status small { color: var(--pa-muted); font-size: 11px; }
.pa-hero-meta {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding-top: 18px;
  border-top: 1px solid #dfe8f3;
}
.pa-hero-meta div {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #e1e8f2;
  border-radius: 12px;
  background: rgba(255,255,255,.78);
}
.pa-hero-meta span { display: block; margin-bottom: 4px; color: #718198; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.pa-hero-meta strong { display: block; color: #17243a; font-size: 13px; line-height: 1.35; }

.pa-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 13px;
  margin: 16px 0;
}
.pa-kpi-card {
  position: relative;
  overflow: hidden;
  padding: 17px 18px;
  border: 1px solid #dce5f1;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(23, 44, 82, .05);
}
.pa-kpi-card::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: #6e89bb; }
.pa-kpi-card--success::before { background: #30a46c; }
.pa-kpi-card--warning::before { background: #d69a1f; }
.pa-kpi-card--info::before { background: #3971df; }
.pa-kpi-card span { display: block; color: #64758c; font-size: 12px; font-weight: 800; }
.pa-kpi-card strong { display: block; margin: 6px 0 2px; color: var(--pa-navy); font-size: 27px; line-height: 1; }
.pa-kpi-card small { color: #8390a3; font-size: 11px; }

.pa-section-nav {
  display: flex;
  gap: 6px;
  margin: 0 0 16px;
  padding: 7px;
  overflow-x: auto;
  border: 1px solid #dae4f0;
  border-radius: 14px;
  background: #fff;
}
.pa-section-nav a {
  flex: 1 0 auto;
  padding: 9px 13px;
  border-radius: 9px;
  color: #52657d;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}
.pa-section-nav a:hover { background: #edf8f8; color: var(--pa-blue); }

.pa-section {
  scroll-margin-top: 20px;
  margin: 0 0 18px;
  padding: 22px;
  border: 1px solid var(--pa-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--pa-shadow);
}
.pa-section__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 18px;
  padding-bottom: 15px;
  border-bottom: 1px solid #e7edf5;
}
.pa-section__header--actions { align-items: center; }
.pa-section__header h2 { margin: 0 0 5px; color: var(--pa-navy); font-size: 20px; letter-spacing: -.018em; }
.pa-section__header p { margin: 0; color: var(--pa-muted); font-size: 13px; line-height: 1.45; }

.pa-result-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); gap: 16px; }
.pa-result-main, .pa-result-side { border: 1px solid #dfe7f1; border-radius: 16px; background: #fbfdff; }
.pa-result-main { padding: 20px; }
.pa-result-main__label { color: #6b7b90; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.pa-result-main > h3 { margin: 6px 0 18px; color: var(--pa-navy); font-size: 22px; line-height: 1.25; }
.pa-result-block { padding: 13px 0; border-top: 1px solid #e4ebf4; }
.pa-result-block span { display: block; margin-bottom: 5px; color: #52657c; font-size: 12px; font-weight: 900; }
.pa-result-block p { margin: 0; color: #21304a; font-size: 14px; line-height: 1.58; }
.pa-result-block--highlight { margin: 0 -4px; padding: 13px 14px; border: 1px solid #dce7fb; border-radius: 12px; background: #f1f6ff; }
.pa-result-block--action { margin-top: 2px; padding: 14px; border: 1px solid #d7e9dd; border-radius: 12px; background: #f1faf5; }
.pa-result-block--action span { color: #247147; }
.pa-result-side { overflow: hidden; }
.pa-result-side > h3 { margin: 0; padding: 17px 18px; color: var(--pa-navy); font-size: 15px; background: #f2f6fc; border-bottom: 1px solid #dfe7f1; }
.pa-result-metric { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 18px; border-bottom: 1px solid #e8eef5; }
.pa-result-metric span { color: #63748a; font-size: 12px; }
.pa-result-metric strong { color: #17243b; font-size: 13px; text-align: right; }
.pa-result-side__footer { padding: 16px 18px; background: #fff; }
.pa-result-side__footer span { display: block; margin-bottom: 6px; color: #52657c; font-size: 12px; font-weight: 900; }
.pa-result-side__footer p { margin: 0; color: #27364e; font-size: 13px; line-height: 1.5; }
.pa-alert { display: flex; gap: 12px; align-items: flex-start; margin-top: 14px; padding: 13px 15px; border-radius: 12px; }
.pa-alert svg { margin-top: 1px; }
.alerta--contextual {
  margin: 0 0 16px;
  border-left: 4px solid var(--brand-teal, #2f6fd0);
  box-shadow: 0 8px 22px rgba(15, 45, 75, .06);
}
.pa-alert strong { display: block; margin-bottom: 3px; }
.pa-alert p { margin: 0; font-size: 13px; line-height: 1.45; }
.pa-alert--warning { border: 1px solid #f1dca8; background: #fff8e8; color: #735416; }

.pa-area-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pa-area-card { padding: 17px; border: 1px solid #dfe7f1; border-radius: 15px; background: #fbfdff; }
.pa-area-card__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.pa-area-card__header h3 { margin: 0; color: var(--pa-navy); font-size: 15px; line-height: 1.3; }
.pa-area-card__header span { color: var(--pa-muted); font-size: 11px; white-space: nowrap; }
.pa-area-progress { height: 6px; margin: 13px 0 15px; overflow: hidden; border-radius: 999px; background: #e6edf6; }
.pa-area-progress span { display: block; height: 100%; background: #4775df; border-radius: inherit; }
.pa-area-details { display: grid; gap: 9px; margin: 0; }
.pa-area-details div { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px dashed #e0e8f2; }
.pa-area-details div:last-child { border-bottom: 0; padding-bottom: 0; }
.pa-area-details dt { color: #6b7b90; font-size: 11px; }
.pa-area-details dd { margin: 0; color: #21304a; font-size: 12px; font-weight: 800; text-align: right; }
.pa-area-card__alert { margin: 13px 0 0; padding: 10px; border-radius: 10px; background: #fff5e3; color: #775717; font-size: 12px; line-height: 1.4; }

.pa-plan-summary { display: flex; gap: 9px; flex-wrap: wrap; margin: 0 0 14px; }
.pa-plan-summary span { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #e0e7f1; border-radius: 999px; background: #f8fafc; color: #52657c; font-size: 12px; }
.pa-plan-summary strong { color: var(--pa-navy); }
.pa-dot { width: 8px; height: 8px; border-radius: 50%; }
.pa-dot--warning { background: #d59a20; }
.pa-dot--info { background: #3e72dd; }
.pa-dot--success { background: #2fa56b; }
.pa-dot--danger { background: #d34848; }

.pa-activity-list { display: grid; gap: 13px; }
.pa-activity-card { position: relative; display: grid; grid-template-columns: 5px minmax(0, 1fr); overflow: hidden; border: 1px solid #dce5ef; border-radius: 16px; background: #fff; box-shadow: 0 6px 18px rgba(25, 45, 85, .045); }
.pa-activity-card__accent { width: 100%; height: 100%; background: #5a76a5; }
.pa-activity-card__accent.pa-priority--low { background: #8594a8; }
.pa-activity-card__accent.pa-priority--medium { background: #3f70dc; }
.pa-activity-card__accent.pa-priority--high { background: #db9620; }
.pa-activity-card__accent.pa-priority--critical { background: #d84646; }
.pa-activity-card__content { padding: 17px 18px 18px; }
.pa-activity-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.pa-activity-card__badges { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.pa-activity-card h3 { margin: 13px 0 14px; color: #10213d; font-size: 16px; line-height: 1.5; }
.pa-activity-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.pa-activity-meta div { min-width: 0; padding: 10px 11px; border: 1px solid #e3eaf3; border-radius: 11px; background: #f8fafc; }
.pa-activity-meta span { display: block; margin-bottom: 3px; color: #758399; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.pa-activity-meta strong { display: block; color: #21304a; font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; }
.pa-activity-notes { margin-top: 13px; padding: 12px 14px; border-left: 3px solid #b9c9df; border-radius: 0 10px 10px 0; background: #f8fafc; }
.pa-activity-notes p { margin: 0 0 7px; color: #485b73; font-size: 12px; line-height: 1.48; }
.pa-activity-notes p:last-child { margin-bottom: 0; }
.pa-followup { margin-top: 14px; padding-top: 13px; border-top: 1px solid #e4ebf3; }
.pa-followup summary { color: var(--pa-blue); font-size: 13px; font-weight: 850; cursor: pointer; }
.pa-followup-form { margin-top: 13px; padding: 15px; border: 1px solid #dfe7f1; border-radius: 13px; background: #f8fafc; }
.pa-followup-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.pa-followup-actions { display: flex; justify-content: flex-end; margin-top: 13px; }

.pa-participants-card { overflow: hidden; box-shadow: none; }
.pa-table--compact { min-width: 760px; }
.pa-table--compact th, .pa-table--compact td { padding-top: 11px; padding-bottom: 11px; }

@media (max-width: 1250px) {
  .pa-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pa-field--wide { grid-column: span 1; }
  .pa-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pa-area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pa-activity-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .pa-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pa-detail-topline, .pa-section__header--actions { align-items: stretch; flex-direction: column; }
  .pa-top-actions, .pa-section-actions { justify-content: flex-start; }
  .pa-hero-card { grid-template-columns: 1fr; }
  .pa-hero-card__status { align-items: flex-start; }
  .pa-hero-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pa-result-layout { grid-template-columns: 1fr; }
  .pa-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .pa-filter-grid, .pa-hero-meta, .pa-kpi-grid, .pa-area-grid, .pa-activity-meta, .pa-followup-grid { grid-template-columns: 1fr; }
  .pa-filter-actions, .pa-top-actions, .pa-section-actions { flex-direction: column; align-items: stretch; }
  .pa-btn { width: 100%; }
  .pa-card__header, .pa-section, .pa-hero-card { padding-left: 16px; padding-right: 16px; }
  .pa-card__header--list { align-items: flex-start; }
  .pa-result-count { justify-content: flex-start; }
  .pa-activity-card__top { flex-direction: column; }
  .pa-activity-card__top .pa-icon-btn { align-self: flex-end; }
}

@media print {
  .sidebar, .topbar, .pa-detail-topline, .pa-section-nav, .pa-section-actions, .pa-followup, .pa-icon-btn { display: none !important; }
  .main-area, .content-area { margin: 0 !important; padding: 0 !important; width: 100% !important; }
  .pa-section, .pa-hero-card, .pa-kpi-card { box-shadow: none !important; break-inside: avoid; }
  .pa-page { color: #000; }
}

/* ===== Eixo Nexus | Identidade visual global ===== */
:root {
  --brand-navy: #303e68;
  --brand-navy-deep: #222f50;
  --brand-teal: #2f6fd0;
  --brand-teal-dark: #245bb4;
  --brand-teal-soft: #edf4ff;
  --brand-navy-soft: #eaf0f6;
  --primary: var(--brand-teal);
  --primary-dark: var(--brand-teal-dark);
  --sidebar: var(--brand-navy);
  --pulsar-menu-bg: #eaf5f5;
  --pulsar-menu-bg-2: #f8fbfb;
  --pulsar-menu-card: rgba(255,255,255,.78);
  --pulsar-menu-line: #cbdcf5;
  --pulsar-menu-blue: var(--brand-teal);
  --pulsar-menu-blue-dark: var(--brand-navy);
  --pulsar-menu-blue-soft: #e7f0ff;
  --pulsar-menu-text: #17324d;
  --pulsar-menu-muted: #60758a;
}
.sidebar__brand {
  padding: 8px 8px 22px !important;
  text-align: center;
}
.sidebar__brand-logo {
  display: block;
  width: min(230px, 100%);
  max-height: 92px;
  margin: 0 auto 8px;
  object-fit: contain;
}
.sidebar__brand .brand__subtitle {
  color: #567083 !important;
  font-size: 10px;
  line-height: 1.35;
  letter-spacing: .025em;
}
.botao,
.pa-btn--primary { background: var(--brand-teal); }
.botao:hover,
.pa-btn--primary:hover { background: var(--brand-teal-dark); }
.link-acao,
.breadcrumb-pulsar a,
.login-help-link,
.password-toggle:hover,
.password-toggle.is-visible { color: var(--brand-teal) !important; }
.topbar-user-menu__avatar,
.dashboard-hero__summary,
.dashboard-bar__track span,
.dashboard-preview__metric span,
.dashboard-steps li::before {
  background: linear-gradient(135deg, var(--brand-navy), var(--brand-teal)) !important;
}
.topbar-user-menu__item:hover { color: var(--brand-teal); background: #edf8f8; }
.login-split__showcase {
  background:
    radial-gradient(circle at 18% 18%, rgba(7,129,139,.14), transparent 28%),
    radial-gradient(circle at 82% 72%, rgba(18,45,84,.12), transparent 26%),
    linear-gradient(145deg, #ffffff 0%, #f2f9f9 48%, #e3f2f3 100%) !important;
}
.login-showcase__overlay {
  background:
    linear-gradient(120deg, rgba(18,45,84,.025), rgba(7,129,139,.045)),
    repeating-linear-gradient(135deg, rgba(7,129,139,.035) 0, rgba(7,129,139,.035) 1px, transparent 1px, transparent 22px) !important;
}
.login-brand-logo {
  width: min(520px, 88%) !important;
  max-height: 460px !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: drop-shadow(0 18px 38px rgba(18,45,84,.13)) !important;
}
.login-brand-message { color: var(--brand-navy) !important; }
.login-kicker { background: var(--brand-teal-soft); color: var(--brand-teal-dark); }
.login-card--split h2 { color: var(--brand-navy); }
.dashboard-donut {
  background:
    radial-gradient(circle at center, #ffffff 0 52%, transparent 53%),
    conic-gradient(var(--brand-navy) 0 calc(var(--p1) * 1%), var(--brand-teal) 0 calc((var(--p1) + var(--p2)) * 1%), #94a3b8 0 calc((var(--p1) + var(--p2) + var(--p3)) * 1%), #e8eef7 0) !important;
}
.dashboard-legend i { background: var(--brand-navy); }
.dashboard-legend span:nth-child(2) i { background: var(--brand-teal); }
.dashboard-big-number strong { color: var(--brand-teal); }
.pulsar-flow-card--dashboard,
.dashboard-hero { background: linear-gradient(135deg, #ffffff 0%, #eef8f8 100%); }
.card--builder-destaque { border-color: #b8cef0; box-shadow: 0 10px 20px rgba(7,129,139,.09); }
.builder-step { background: var(--brand-teal-soft); color: var(--brand-teal-dark); }
@media (max-width: 920px) {
  .sidebar__brand-logo { width: min(210px, 78%); }
}


/* ===== Estilos legados centralizados do Portal do Avaliado ===== */
/* Centralizado de app/Views/portal/avaliacao.php */
.resultado-destaque { margin-top: 14px; padding: 16px; border-radius: 14px; background: linear-gradient(180deg, #eff6ff 0%, #f8fbfb 100%); border: 1px solid #bfdbfe; box-shadow: 0 10px 24px rgba(29, 78, 216, 0.08); }
.resultado-destaque__rotulo { display: inline-block; margin-bottom: 10px; padding: 4px 10px; border-radius: 999px; background: #dff1f2; color: #2f6fd0; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.resultado-destaque__grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.resultado-destaque__caixa { padding: 12px 14px; border-radius: 12px; background: #ffffff; border: 1px solid #dff1f2; }
.resultado-destaque__caixa--full { grid-column: 1 / -1; }
.resultado-destaque__subtitulo { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #475569; }
.resultado-destaque__texto { margin: 0; line-height: 1.65; color: #1e293b; font-weight: 700; }
.resultado-destaque__texto--normal { font-weight: 400; }
@media (max-width: 700px) { .resultado-destaque__grade { grid-template-columns: 1fr; } }

/* Centralizado de app/Views/portal/responder.php */
.pergunta-bloco { border: 1px solid #dbe2ea; border-radius: 14px; padding: 18px; background: #fff; margin-bottom: 16px; }
.pergunta-bloco__titulo { margin: 0 0 6px; font-size: 17px; }
.pergunta-bloco__codigo { display: inline-block; margin-bottom: 8px; padding: 4px 8px; border-radius: 999px; background: #edf8f8; color: #2f6fd0; font-size: 12px; font-weight: 700; }
.pergunta-bloco__ajuda { margin: 8px 0 0; color: #64748b; font-size: 13px; }
.opcoes-lista { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.opcao-item { border: 1px solid #e5edf5; border-radius: 12px; background: #f8fafc; padding: 10px 12px; }
.opcao-linha { display: flex; gap: 10px; align-items: flex-start; }
.subpergunta-wrap { margin-top: 12px; margin-left: 30px; padding: 14px; border-radius: 12px; background: #ffffff; border: 1px dashed #b8cef0; }
.subpergunta-wrap.condicional-oculta { display: none; }

/* Centralizado de app/Views/portal_drps/dashboard.php */
.drps-nav { display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.drps-nav__brand h2 { margin:0; color:#303e68; }
.drps-nav__brand p { margin:4px 0 0; color:#526171; }
.drps-nav__actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.drps-portal-hero { border:1px solid #dbe4f0; border-radius:18px; background:#fff; padding:20px; margin-bottom:20px; box-shadow:0 8px 20px rgba(15,35,70,.04); }
.drps-portal-hero h2 { margin:4px 0; color:#303e68; }
.drps-portal-hero p { margin:0; color:#526171; }
.drps-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin-top:16px; }
.drps-kpi { border:1px solid #e4eaf2; background:#f8fafc; border-radius:14px; padding:14px 16px; }
.drps-kpi span { display:block; color:#5f6f83; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.drps-kpi strong { display:block; color:#303e68; font-size:1.18rem; margin-top:6px; }
.drps-section { margin-top:22px; }
.drps-section__header { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.drps-section__header h3 { margin:0; color:#303e68; }
.drps-section__header p { margin:4px 0 0; color:#526171; }
.drps-lista { display:grid; grid-template-columns:1fr; gap:16px; }
.drps-card { border:1px solid #dbe4f0; border-radius:18px; background:#fff; padding:20px; box-shadow:0 8px 20px rgba(15,35,70,.04); }
.drps-card--ok { background:linear-gradient(180deg,#ffffff 0%,#fbfffd 100%); }
.drps-card__topo { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:flex-start; }
.drps-card h3 { margin:8px 0 8px; color:#303e68; }
.drps-card p { color:#526171; }
.drps-badge { display:inline-flex; border-radius:999px; padding:5px 10px; font-size:.78rem; font-weight:800; background:#edf8f8; color:#2456d8; }
.drps-badge--ok { background:#ecfdf3; color:#27743b; }
.drps-badge--pendente { background:#fff7ed; color:#a14e08; }
.drps-resumo { border:1px solid #e4eaf2; border-radius:14px; background:#f8fafc; padding:14px 16px; margin:14px 0; }
.drps-progresso { height:10px; border-radius:999px; background:#e8eef7; overflow:hidden; margin-top:10px; }
.drps-progresso span { display:block; height:100%; background:#2f6fd0; }
.drps-vazio { border:1px solid #dbe4f0; border-radius:16px; background:#fff; padding:24px; color:#526171; }
@media (max-width: 760px) { .drps-nav { align-items:flex-start; } .drps-nav__actions .botao { width:100%; text-align:center; } }

/* Centralizado de app/Views/portal_drps/avaliacao.php */
.drps-nav { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.drps-nav__crumb { color:#526171; font-size:.95rem; }
.drps-nav__crumb strong { color:#303e68; }
.drps-nav__actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.drps-hero { border:1px solid #dbe4f0; border-radius:18px; background:#fff; padding:20px; margin-bottom:20px; box-shadow:0 8px 20px rgba(15,35,70,.04); }
.drps-hero__topo { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:flex-start; }
.drps-eyebrow { font-size:.8rem; color:#6547d8; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.drps-hero h1 { margin:5px 0 8px; color:#303e68; font-size:2rem; line-height:1.15; }
.drps-hero p { margin:0; color:#526171; }
.drps-grid-info { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin-top:18px; }
.drps-info { border:1px solid #e4eaf2; background:#f8fafc; border-radius:14px; padding:14px 16px; }
.drps-info span { display:block; color:#5f6f83; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.drps-info strong { display:block; margin-top:6px; color:#303e68; }
.drps-progress-box { border:1px solid #dbe4f0; border-radius:18px; background:#fff; padding:18px 20px; margin-bottom:20px; }
.drps-progress-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.drps-progresso { height:12px; border-radius:999px; background:#e8eef7; overflow:hidden; margin-top:12px; }
.drps-progresso span { display:block; height:100%; background:#2f6fd0; }
.drps-progresso--menor { height:9px; margin-top:10px; }
.drps-section { margin-top:22px; }
.drps-section__header { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.drps-section__header h3 { margin:0; color:#303e68; }
.drps-section__header p { margin:4px 0 0; color:#526171; }
.drps-grupos { display:grid; grid-template-columns:repeat(auto-fit,minmax(330px,1fr)); gap:16px; }
.drps-grupo { border:1px solid #dbe4f0; border-radius:18px; background:#fff; padding:20px; box-shadow:0 8px 20px rgba(15,35,70,.04); }
.drps-grupo--ok { background:linear-gradient(180deg,#ffffff 0%,#fbfffd 100%); }
.drps-grupo__topo { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.drps-grupo h3 { margin:14px 0 10px; color:#303e68; }
.drps-grupo p { color:#526171; margin:0; }
.drps-grupo__acoes { margin-top:14px; display:flex; gap:10px; flex-wrap:wrap; }
.drps-badge { display:inline-flex; border-radius:999px; padding:5px 10px; font-size:.78rem; font-weight:900; background:#edf8f8; color:#2456d8; }
.drps-badge--ok { background:#ecfdf3; color:#27743b; }
.drps-badge--pendente { background:#fff7ed; color:#a14e08; }
.drps-aviso { border:1px solid #dbe4f0; background:#f8fafc; color:#526171; border-radius:14px; padding:12px 14px; margin-top:12px; }
.drps-vazio { border:1px solid #dbe4f0; border-radius:16px; background:#fff; padding:24px; color:#526171; }
.drps-dimensoes-lista { display:flex; flex-direction:column; gap:8px; margin-top:14px; }
.drps-dimensao-item { border:1px solid #e4eaf2; background:#f8fafc; border-radius:12px; padding:10px 12px; display:flex; justify-content:space-between; gap:12px; align-items:center; }
.drps-dimensao-item--ok { background:#f3fbf6; border-color:#ccebd5; }
.drps-dimensao-item strong { display:block; color:#303e68; font-size:.94rem; line-height:1.25; }
.drps-dimensao-item small { display:block; color:#607080; margin-top:3px; }
.drps-dimensao-item a { font-weight:800; text-decoration:none; white-space:nowrap; }
.drps-status-mini { font-size:.78rem; font-weight:900; border-radius:999px; padding:5px 9px; background:#eef2f7; color:#526171; white-space:nowrap; }
@media (max-width: 760px) {
    .drps-nav__actions .botao, .drps-progress-actions .botao, .drps-grupo__acoes .botao { width:100%; text-align:center; }
    .drps-hero h1 { font-size:1.6rem; }
    .drps-grupos { grid-template-columns:1fr; }
    .drps-dimensao-item { align-items:flex-start; flex-direction:column; }
}

/* Centralizado de app/Views/portal_drps/perfil.php */
.drps-nav { display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.drps-nav__brand h2 { margin:0; color:#303e68; }
.drps-nav__brand p { margin:4px 0 0; color:#526171; }
.drps-nav__actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.drps-card { border:1px solid #dbe4f0; border-radius:18px; background:#fff; padding:20px; box-shadow:0 8px 20px rgba(15,35,70,.04); margin-bottom:18px; }
.drps-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.drps-info { border:1px solid #e4eaf2; background:#f8fafc; border-radius:14px; padding:14px 16px; }
.drps-info span { display:block; color:#5f6f83; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.drps-info strong { display:block; margin-top:6px; color:#303e68; }
.drps-badge { display:inline-flex; border-radius:999px; padding:5px 10px; font-size:.78rem; font-weight:900; background:#edf8f8; color:#2456d8; }
@media (max-width: 760px) { .drps-nav__actions .botao { width:100%; text-align:center; } }

/* Centralizado de app/Views/portal_drps/responder_grupo.php */
.drps-responder-nav { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.drps-responder-nav__actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.drps-card { border:1px solid #dbe4f0; border-radius:18px; background:#fff; padding:20px; margin-bottom:18px; box-shadow:0 8px 20px rgba(15,35,70,.04); }
.drps-eyebrow { font-size:.8rem; color:#6547d8; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.drps-card h1, .drps-card h2, .drps-card h3 { color:#303e68; margin:6px 0 8px; }
.drps-card p { color:#526171; margin:0; }
.drps-info-line { color:#526171; margin-top:8px; }
.drps-dimensao-bloco { border:1px solid #e4eaf2; border-radius:16px; padding:18px; margin-top:16px; background:#fbfdff; }
.drps-dimensao-bloco h3 { margin:0 0 4px; }
.drps-pergunta { border:1px solid #e4eaf2; border-radius:14px; background:#fff; padding:16px; margin-top:14px; }
.drps-pergunta__texto { font-weight:800; color:#303e68; margin-bottom:12px; }
.drps-opcoes { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; }
.drps-opcao { border:1px solid #dbe4f0; border-radius:12px; padding:10px 12px; display:flex; gap:8px; align-items:flex-start; cursor:pointer; background:#f8fafc; }
.drps-opcao input { margin-top:3px; }
.drps-input { width:100%; border:1px solid #dbe4f0; border-radius:12px; padding:12px 14px; font:inherit; }
.drps-actions-fixed { position:sticky; bottom:0; background:rgba(248,250,252,.96); border-top:1px solid #dbe4f0; padding:14px 0; margin-top:20px; display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.drps-alerta { border:1px solid #dbe4f0; background:#f8fafc; color:#526171; border-radius:14px; padding:12px 14px; margin-top:12px; }
@media (max-width:760px) { .drps-responder-nav__actions .botao, .drps-actions-fixed .botao { width:100%; text-align:center; } .drps-opcoes { grid-template-columns:1fr; } }

/* ======================================================================
   PORTAL DO AVALIADO — EIXO NEXUS
   Layout compartilhado, login, dashboards, formulários e acessibilidade
   ====================================================================== */
.portal-body {
  --portal-navy: #303e68;
  --portal-navy-2: #183f6f;
  --portal-teal: #2f6fd0;
  --portal-teal-dark: #245bb4;
  --portal-teal-soft: #eaf7f7;
  --portal-bg: #f3f7fa;
  --portal-panel: #ffffff;
  --portal-line: #d9e4ec;
  --portal-text: #19324b;
  --portal-muted: #60758a;
  --portal-success: #18794e;
  --portal-warning: #a65a08;
  --portal-danger: #b42318;
  margin: 0;
  min-height: 100vh;
  color: var(--portal-text);
  background:
    radial-gradient(circle at 4% 0%, rgba(7,129,139,.08), transparent 24rem),
    linear-gradient(180deg, #f8fbfd 0%, var(--portal-bg) 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}
.portal-body *,
.portal-body *::before,
.portal-body *::after { box-sizing: border-box; }
.portal-body a { color: inherit; text-decoration: none; }
.portal-body svg { display: block; fill: currentColor; }
.portal-body button,
.portal-body input,
.portal-body select,
.portal-body textarea { font: inherit; }
.portal-body :focus-visible {
  outline: 3px solid rgba(7,129,139,.35);
  outline-offset: 3px;
}
.portal-skip-link {
  position: fixed;
  z-index: 100000;
  left: 16px;
  top: 12px;
  transform: translateY(-160%);
  padding: 10px 14px;
  border-radius: 9px;
  color: #fff !important;
  background: var(--portal-navy);
  font-weight: 800;
  transition: transform .18s ease;
}
.portal-skip-link:focus { transform: translateY(0); }
.portal-shell { min-height: 100vh; display: flex; flex-direction: column; }
.portal-topbar {
  position: sticky;
  z-index: 1000;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 76px;
  padding: 12px clamp(18px, 3vw, 44px);
  border-bottom: 1px solid rgba(18,45,84,.10);
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 35px rgba(18,45,84,.06);
  backdrop-filter: blur(16px);
}
.portal-brand--eixo {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.portal-brand__logo {
  display: block;
  width: clamp(150px, 17vw, 210px);
  max-height: 50px;
  object-fit: contain;
  object-position: left center;
}
.portal-brand__divisor { width: 1px; height: 34px; background: #d5e1e8; }
.portal-brand__subtitulo {
  color: var(--portal-muted);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
}
.portal-topbar__acoes {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
}
.portal-acessibilidade-aviso,
.portal-nav-link,
.portal-user-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  border-radius: 12px;
}
.portal-acessibilidade-aviso {
  padding: 8px 11px;
  color: var(--portal-teal-dark);
  background: var(--portal-teal-soft);
  font-size: .78rem;
  font-weight: 800;
}
.portal-acessibilidade-aviso svg,
.portal-nav-link svg { width: 18px; height: 18px; flex: 0 0 auto; }
.portal-nav-link {
  padding: 9px 12px;
  color: var(--portal-navy);
  border: 1px solid transparent;
  font-size: .86rem;
  font-weight: 750;
  transition: .18s ease;
}
.portal-nav-link:hover { color: var(--portal-teal-dark); background: var(--portal-teal-soft); }
.portal-nav-link--sair { color: #7c3140; }
.portal-nav-link--sair:hover { color: #992d41; background: #fff1f3; }
.portal-user-chip {
  padding: 5px 10px 5px 5px;
  border: 1px solid var(--portal-line);
  background: #fff;
  box-shadow: 0 5px 18px rgba(18,45,84,.04);
}
.portal-user-chip__avatar {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, var(--portal-navy), var(--portal-teal));
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .02em;
}
.portal-user-chip__texto { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.portal-user-chip__texto small { color: var(--portal-muted); font-size: .68rem; }
.portal-user-chip__texto strong {
  max-width: 170px;
  overflow: hidden;
  color: var(--portal-navy);
  font-size: .8rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.portal-container {
  width: min(1240px, calc(100% - 36px));
  flex: 1;
  margin: 28px auto 48px;
}
.portal-container--login { width: 100%; margin: 0; }
.portal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px clamp(18px, 3vw, 44px);
  color: var(--portal-muted);
  border-top: 1px solid rgba(18,45,84,.08);
  background: rgba(255,255,255,.72);
  font-size: .78rem;
}
.portal-footer div { display: flex; align-items: center; gap: 10px; }
.portal-footer strong { color: var(--portal-navy); }
.portal-body--login .portal-footer { display: none; }
.portal-body--login { height: 100dvh; min-height: 0; overflow: hidden; }
.portal-body--login .portal-shell { height: 100dvh; min-height: 0; overflow: hidden; }
.portal-body--login .portal-container--login { flex: 1 1 auto; height: 100%; min-height: 0; overflow: hidden; }
.portal-body--login .portal-alerta {
  position: fixed;
  z-index: 10020;
  top: 14px;
  left: 50%;
  width: min(680px, calc(100% - 32px));
  margin: 0;
  transform: translateX(-50%);
}
.portal-alerta {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  max-width: 680px;
  margin: 18px auto 0;
  padding: 13px 15px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(18,45,84,.06);
}
.portal-alerta strong { flex: 0 0 auto; }
.portal-body .alerta--erro { color: #8a2235; border: 1px solid #f2c6ce; background: #fff3f5; }
.portal-body .alerta--sucesso { color: #17623f; border: 1px solid #c7e8d7; background: #effaf4; }

/* Login */
.portal-login {
  display: grid;
  grid-template-columns: minmax(420px, 1.08fr) minmax(420px, .92fr);
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: #fff;
}
.portal-login__visual {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  min-height: 0;
  padding: clamp(24px, 4vh, 44px) clamp(34px, 5vw, 72px);
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 72% 20%, rgba(23,207,210,.28), transparent 24rem),
    radial-gradient(circle at 18% 82%, rgba(7,129,139,.36), transparent 24rem),
    linear-gradient(145deg, #0c2444 0%, #123963 54%, #075e69 100%);
}
.portal-login__visual::before,
.portal-login__visual::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.09);
}
.portal-login__visual::before { width: 520px; height: 520px; right: -250px; top: -150px; }
.portal-login__visual::after { width: 380px; height: 380px; left: -180px; bottom: -120px; }
.portal-login__visual-conteudo { position: relative; z-index: 1; width: min(610px, 100%); margin: 0 auto; }
.portal-login__logo-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(360px, 72%);
  margin-bottom: clamp(18px, 2.6vh, 26px);
  padding: 16px 22px;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 24px 70px rgba(0,0,0,.18);
}
.portal-login__logo-card img { display: block; width: 100%; max-height: 190px; object-fit: contain; }
.portal-login__kicker,
.portal-login__etiqueta,
.portal-dashboard-hero__kicker,
.portal-section-heading__kicker {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.portal-login__kicker { color: #b9ffff; background: rgba(255,255,255,.09); }
.portal-login__visual h1 {
  max-width: 630px;
  margin: 14px 0 10px;
  color: #fff;
  font-size: clamp(2rem, 3.25vw, 3.3rem);
  line-height: 1.02;
  letter-spacing: -.04em;
}
.portal-login__visual > div > p,
.portal-login__visual-conteudo > p {
  max-width: 580px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: clamp(.88rem, 1.05vw, 1rem);
  line-height: 1.55;
}
.portal-login__beneficios { display: grid; gap: 7px; margin-top: clamp(16px, 2.4vh, 24px); }
.portal-login__beneficios span { display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.88); font-size: .82rem; font-weight: 700; }
.portal-login__beneficios svg { width: 18px; height: 18px; color: #68e1df; }
.portal-login__painel {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 0;
  padding: clamp(22px, 4vh, 42px) clamp(34px, 5vw, 72px);
  background:
    radial-gradient(circle at 100% 0%, rgba(7,129,139,.08), transparent 22rem),
    #fff;
}
.portal-login__card { width: min(480px, 100%); }
.portal-login__mobile-brand { display: none; }
.portal-login__etiqueta { color: var(--portal-teal-dark); background: var(--portal-teal-soft); }
.portal-login__card h2 {
  margin: 13px 0 6px;
  color: var(--portal-navy);
  font-size: clamp(1.75rem, 2.5vw, 2.35rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.portal-login__introducao { margin: 0 0 20px; color: var(--portal-muted); font-size: .94rem; }
.portal-login__formulario { gap: 14px; }
.portal-login__formulario .formulario__grupo { gap: 6px; }
.portal-login__formulario label { color: var(--portal-navy); font-size: .86rem; font-weight: 800; }
.portal-input-com-icone { position: relative; }
.portal-input-com-icone svg {
  position: absolute;
  z-index: 2;
  left: 15px;
  top: 50%;
  width: 20px;
  height: 20px;
  color: #7790a4;
  transform: translateY(-50%);
  pointer-events: none;
}
.portal-input-com-icone input {
  width: 100%;
  min-height: 48px;
  padding: 10px 14px 10px 44px !important;
  color: var(--portal-text);
  border: 1px solid #ccd9e3 !important;
  border-radius: 13px !important;
  background: #fbfdfe !important;
  box-shadow: 0 1px 0 rgba(18,45,84,.02);
  transition: .18s ease;
}
.portal-input-com-icone input:hover { border-color: #a9c2d1 !important; }
.portal-input-com-icone input:focus {
  border-color: var(--portal-teal) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(7,129,139,.11) !important;
  outline: 0;
}
.portal-login__botao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  margin-top: 0;
  border-radius: 13px !important;
  background: linear-gradient(135deg, var(--portal-teal), #086e78) !important;
  box-shadow: 0 12px 25px rgba(7,129,139,.20);
}
.portal-login__botao:hover { transform: translateY(-1px); box-shadow: 0 15px 30px rgba(7,129,139,.24); }
.portal-login__botao svg { width: 19px; height: 19px; }
.portal-login__ajuda {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin-top: 16px;
  padding: 11px 13px;
  color: var(--portal-muted);
  border: 1px solid #dce8ef;
  border-radius: 13px;
  background: #f7fafc;
}
.portal-login__ajuda svg { flex: 0 0 auto; width: 21px; height: 21px; color: var(--portal-teal); }
.portal-login__ajuda p { margin: 0; font-size: .82rem; line-height: 1.5; }
.portal-login__ajuda strong { color: var(--portal-navy); }
.portal-login__privacidade { margin: 12px 0 0; color: #8192a2; font-size: .72rem; text-align: center; }

/* Componentes gerais do portal */
.portal-body .card {
  border: 1px solid var(--portal-line);
  border-radius: 18px;
  background: var(--portal-panel);
  box-shadow: 0 10px 30px rgba(18,45,84,.045);
}
.portal-body .card__body { padding: 21px; }
.portal-body .botao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 15px;
  color: #fff;
  border: 0;
  border-radius: 11px;
  background: var(--portal-teal);
  font-weight: 800;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.portal-body .botao:hover { color: #fff; background: var(--portal-teal-dark); transform: translateY(-1px); }
.portal-body .botao--secundario { color: var(--portal-navy); border: 1px solid var(--portal-line); background: #fff; }
.portal-body .botao--secundario:hover { color: var(--portal-teal-dark); background: var(--portal-teal-soft); }
.portal-body .pagina-topo { margin-bottom: 20px; }
.portal-body .pagina-topo h2 { color: var(--portal-navy); font-size: clamp(1.5rem, 2.5vw, 2rem); letter-spacing: -.025em; }
.portal-body .pagina-topo p,
.portal-body .texto-suporte { color: var(--portal-muted); }
.portal-body .formulario input,
.portal-body .formulario select,
.portal-body .formulario textarea,
.portal-body .drps-input {
  color: var(--portal-text);
  border: 1px solid #cad8e2;
  border-radius: 11px;
  background: #fff;
}
.portal-body .formulario input:focus,
.portal-body .formulario select:focus,
.portal-body .formulario textarea:focus,
.portal-body .drps-input:focus {
  border-color: var(--portal-teal);
  box-shadow: 0 0 0 4px rgba(7,129,139,.10);
  outline: none;
}
.portal-body .builder-step,
.portal-body .drps-badge,
.portal-body .pergunta-bloco__codigo {
  color: var(--portal-teal-dark);
  background: var(--portal-teal-soft);
}
.portal-body .card--builder-destaque { border-color: #b8cef0; box-shadow: 0 12px 30px rgba(7,129,139,.09); }
.portal-body .resumo-item { border-color: #dce7ee; background: #f7fafc; }
.portal-body .resumo-item__rotulo { color: var(--portal-muted); }
.portal-body .resumo-item__valor { color: var(--portal-navy); }
.portal-body .resultado-destaque {
  border-color: #cce4e6;
  background: linear-gradient(180deg, #edf9f9 0%, #f9fcfd 100%);
  box-shadow: 0 10px 24px rgba(7,129,139,.07);
}
.portal-body .pergunta-bloco,
.portal-body .drps-pergunta,
.portal-body .drps-dimensao-bloco { border-color: var(--portal-line); box-shadow: 0 7px 24px rgba(18,45,84,.03); }
.portal-body .opcao-item,
.portal-body .drps-opcao { border-color: #dce6ed; background: #f7fafc; transition: .16s ease; }
.portal-body .opcao-item:hover,
.portal-body .drps-opcao:hover { border-color: #b8cef0; background: #eef8f8; }

/* Dashboard */
.portal-dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr);
  gap: 30px;
  align-items: center;
  margin-bottom: 18px;
  padding: clamp(26px, 4vw, 42px);
  overflow: hidden;
  color: #fff;
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 12%, rgba(63,231,226,.24), transparent 17rem),
    linear-gradient(135deg, #112e54 0%, #18456f 56%, #08717a 100%);
  box-shadow: 0 22px 55px rgba(18,45,84,.16);
}
.portal-dashboard-hero__kicker { color: #bdf8f6; background: rgba(255,255,255,.10); }
.portal-dashboard-hero h1 { margin: 14px 0 8px; color: #fff; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.08; letter-spacing: -.04em; }
.portal-dashboard-hero p { margin: 0; color: rgba(255,255,255,.78); font-size: 1rem; }
.portal-dashboard-hero__progresso {
  padding: 18px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 17px;
  background: rgba(255,255,255,.09);
  backdrop-filter: blur(8px);
}
.portal-dashboard-hero__progresso-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.portal-dashboard-hero__progresso-topo span { color: rgba(255,255,255,.78); font-size: .82rem; font-weight: 800; }
.portal-dashboard-hero__progresso-topo strong { color: #fff; font-size: 1.25rem; }
.portal-dashboard-hero__progresso small { display: block; margin-top: 9px; color: rgba(255,255,255,.68); }
.portal-progress { width: 100%; height: 9px; overflow: hidden; border-radius: 999px; background: #e6edf2; }
.portal-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--portal-teal), #30b7b4); }
.portal-progress--hero { margin-top: 10px; background: rgba(255,255,255,.17); }
.portal-progress--hero span { background: linear-gradient(90deg, #4fe4de, #d4ffff); }
.portal-dashboard-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 34px; }
.portal-kpi-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--portal-line);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 8px 25px rgba(18,45,84,.04);
}
.portal-kpi-card__icone {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border-radius: 13px;
}
.portal-kpi-card__icone svg { width: 23px; height: 23px; }
.portal-kpi-card__icone--total { color: var(--portal-navy); background: #eaf0f6; }
.portal-kpi-card__icone--pendente { color: var(--portal-warning); background: #fff4e8; }
.portal-kpi-card__icone--concluido { color: var(--portal-success); background: #eaf8f0; }
.portal-kpi-card div { display: flex; flex-direction: column; }
.portal-kpi-card strong { color: var(--portal-navy); font-size: 1.55rem; line-height: 1; }
.portal-kpi-card span:last-child { margin-top: 5px; color: var(--portal-muted); font-size: .8rem; }
.portal-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}
.portal-section-heading__kicker { color: var(--portal-teal-dark); background: var(--portal-teal-soft); }
.portal-section-heading h2 { margin: 10px 0 4px; color: var(--portal-navy); font-size: 1.6rem; letter-spacing: -.025em; }
.portal-section-heading p { margin: 0; color: var(--portal-muted); }
.portal-profile-summary { display: flex; flex-direction: column; align-items: flex-end; min-width: 0; color: var(--portal-navy); }
.portal-profile-summary span { font-weight: 850; }
.portal-profile-summary small { max-width: 260px; overflow: hidden; color: var(--portal-muted); text-overflow: ellipsis; white-space: nowrap; }
.portal-avaliacoes-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.portal-avaliacao-card {
  display: flex;
  flex-direction: column;
  min-height: 320px;
  padding: 22px;
  border: 1px solid var(--portal-line);
  border-radius: 19px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(18,45,84,.045);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.portal-avaliacao-card:hover { transform: translateY(-2px); border-color: #b7d4dc; box-shadow: 0 16px 38px rgba(18,45,84,.08); }
.portal-avaliacao-card--concluida { background: linear-gradient(180deg, #fff 0%, #fbfffd 100%); }
.portal-avaliacao-card__topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.portal-avaliacao-card__modulo { color: var(--portal-teal-dark); font-size: .76rem; font-weight: 900; letter-spacing: .045em; text-transform: uppercase; }
.portal-status { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 999px; font-size: .72rem; font-weight: 900; }
.portal-status--pendente { color: #98510b; background: #fff4e8; }
.portal-status--andamento { color: #126172; background: #eaf7f7; }
.portal-status--concluida { color: #17623f; background: #eaf8f0; }
.portal-avaliacao-card h3 { margin: 16px 0 10px; color: var(--portal-navy); font-size: 1.2rem; line-height: 1.3; }
.portal-avaliacao-card__instituicao { display: flex; align-items: flex-start; gap: 7px; margin: 0 0 12px; color: var(--portal-muted); font-size: .82rem; }
.portal-avaliacao-card__instituicao svg { flex: 0 0 auto; width: 17px; height: 17px; color: var(--portal-teal); }
.portal-avaliacao-card__descricao { margin: 0 0 20px; color: var(--portal-muted); font-size: .88rem; line-height: 1.58; }
.portal-avaliacao-card__progresso { margin-top: auto; padding: 14px; border: 1px solid #e0e9ef; border-radius: 13px; background: #f7fafc; }
.portal-avaliacao-card__progresso > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; color: var(--portal-muted); font-size: .78rem; }
.portal-avaliacao-card__progresso strong { color: var(--portal-navy); }
.portal-avaliacao-card__progresso small { display: block; margin-top: 7px; color: var(--portal-muted); font-size: .72rem; }
.portal-avaliacao-card__acao { gap: 8px; width: 100%; margin-top: 14px; }
.portal-avaliacao-card__acao svg { width: 18px; height: 18px; }
.portal-empty-state { padding: 54px 24px; border: 1px dashed #bfd0dc; border-radius: 18px; background: rgba(255,255,255,.72); text-align: center; }
.portal-empty-state__icone { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 15px; color: var(--portal-teal); border-radius: 16px; background: var(--portal-teal-soft); }
.portal-empty-state__icone svg { width: 27px; height: 27px; }
.portal-empty-state h3 { margin: 0 0 6px; color: var(--portal-navy); }
.portal-empty-state p { margin: 0; color: var(--portal-muted); }

/* DRPS no mesmo padrão visual */
.portal-body .drps-nav,
.portal-body .drps-responder-nav {
  padding: 14px 16px;
  border: 1px solid var(--portal-line);
  border-radius: 15px;
  background: rgba(255,255,255,.82);
}
.portal-body .drps-nav__brand h2,
.portal-body .drps-hero h1,
.portal-body .drps-card h1,
.portal-body .drps-card h2,
.portal-body .drps-card h3,
.portal-body .drps-section__header h3,
.portal-body .drps-grupo h3,
.portal-body .drps-info strong,
.portal-body .drps-kpi strong,
.portal-body .drps-dimensao-item strong { color: var(--portal-navy); }
.portal-body .drps-eyebrow { color: var(--portal-teal-dark); }
.portal-body .drps-hero,
.portal-body .drps-card,
.portal-body .drps-portal-hero,
.portal-body .drps-progress-box,
.portal-body .drps-grupo {
  border-color: var(--portal-line);
  border-radius: 19px;
  box-shadow: 0 10px 30px rgba(18,45,84,.045);
}
.portal-body .drps-hero,
.portal-body .drps-portal-hero {
  background:
    radial-gradient(circle at 95% 5%, rgba(7,129,139,.10), transparent 18rem),
    #fff;
}
.portal-body .drps-info,
.portal-body .drps-kpi,
.portal-body .drps-resumo,
.portal-body .drps-aviso,
.portal-body .drps-alerta { border-color: #dce7ee; background: #f7fafc; }
.portal-body .drps-progresso span { background: linear-gradient(90deg, var(--portal-teal), #2fb2af); }
.portal-body .drps-badge { color: var(--portal-teal-dark); background: var(--portal-teal-soft); }
.portal-body .drps-badge--ok { color: #17623f; background: #eaf8f0; }
.portal-body .drps-badge--pendente { color: #98510b; background: #fff4e8; }
.portal-body .drps-actions-fixed { z-index: 20; border-color: var(--portal-line); background: rgba(243,247,250,.95); backdrop-filter: blur(10px); }

/* VLibras */
.portal-body [vw-access-button] { z-index: 9998 !important; }
.portal-body [vw-plugin-wrapper] { z-index: 9999 !important; }

@media (min-width: 901px) and (max-height: 850px) {
  .portal-login__visual { padding-top: 22px; padding-bottom: 22px; }
  .portal-login__logo-card { width: min(330px, 68%); padding: 13px 18px; margin-bottom: 18px; }
  .portal-login__logo-card img { max-height: 170px; }
  .portal-login__visual h1 { margin-top: 11px; font-size: clamp(1.9rem, 3vw, 2.9rem); }
  .portal-login__visual-conteudo > p { font-size: .88rem; line-height: 1.45; }
  .portal-login__beneficios { margin-top: 14px; gap: 5px; }
  .portal-login__beneficios span { font-size: .77rem; }
  .portal-login__painel { padding-top: 18px; padding-bottom: 18px; }
  .portal-login__card h2 { font-size: 2rem; }
  .portal-login__introducao { margin-bottom: 16px; }
  .portal-login__formulario { gap: 11px; }
  .portal-login__ajuda { margin-top: 12px; padding: 9px 12px; }
  .portal-login__privacidade { margin-top: 9px; }
}
@media (min-width: 901px) and (max-height: 700px) {
  .portal-login__logo-card { width: min(270px, 58%); margin-bottom: 12px; padding: 10px 14px; }
  .portal-login__logo-card img { max-height: 130px; }
  .portal-login__visual h1 { margin: 9px 0 7px; font-size: clamp(1.65rem, 2.65vw, 2.45rem); }
  .portal-login__visual-conteudo > p { font-size: .8rem; }
  .portal-login__beneficios { margin-top: 10px; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
  .portal-login__beneficios span { align-items: flex-start; font-size: .69rem; line-height: 1.25; }
  .portal-login__card h2 { margin-top: 9px; font-size: 1.75rem; }
  .portal-login__introducao { margin-bottom: 11px; font-size: .84rem; }
  .portal-login__formulario { gap: 8px; }
  .portal-login__formulario .texto-suporte { font-size: .7rem; }
  .portal-input-com-icone input, .portal-login__botao { min-height: 44px; }
  .portal-login__ajuda { margin-top: 9px; }
  .portal-login__privacidade { display: none; }
}
@media (max-width: 1100px) {
  .portal-acessibilidade-aviso { display: none; }
  .portal-user-chip__texto { display: none; }
  .portal-user-chip { padding-right: 5px; }
  .portal-dashboard-hero { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .portal-body--login,
  .portal-body--login .portal-shell,
  .portal-body--login .portal-container--login { height: auto; min-height: 100%; overflow: visible; }
  .portal-login { grid-template-columns: 1fr; height: auto; min-height: 100vh; overflow: visible; }
  .portal-login__visual { display: none; }
  .portal-login__painel { min-height: 100vh; padding: 28px 20px; }
  .portal-login__mobile-brand { display: block; margin-bottom: 28px; }
  .portal-login__mobile-brand img { display: block; width: min(260px, 75%); max-height: 72px; object-fit: contain; object-position: left center; }
  .portal-avaliacoes-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .portal-topbar { position: relative; align-items: flex-start; min-height: auto; padding: 12px 14px; }
  .portal-brand__logo { width: 145px; }
  .portal-brand__divisor,
  .portal-brand__subtitulo,
  .portal-nav-link:not(.portal-nav-link--sair) { display: none; }
  .portal-topbar__acoes { gap: 6px; }
  .portal-user-chip__avatar { width: 32px; height: 32px; }
  .portal-nav-link { min-height: 38px; padding: 8px 9px; }
  .portal-container { width: min(100% - 20px, 100%); margin-top: 20px; }
  .portal-dashboard-hero { padding: 24px 20px; border-radius: 20px; }
  .portal-dashboard-kpis { grid-template-columns: 1fr; }
  .portal-section-heading { align-items: flex-start; flex-direction: column; }
  .portal-profile-summary { align-items: flex-start; }
  .portal-footer { align-items: flex-start; flex-direction: column; }
  .portal-footer div { align-items: flex-start; flex-direction: column; gap: 2px; }
}
@media (max-width: 520px) {
  .portal-login__painel { padding: 22px 16px; }
  .portal-login__card h2 { font-size: 1.8rem; }
  .portal-avaliacao-card { min-height: 0; padding: 18px; }
  .portal-dashboard-hero h1 { font-size: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .portal-body *,
  .portal-body *::before,
  .portal-body *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* ===== Portal do Avaliado | Login alinhado ao padrão administrativo ===== */
.portal-login-admin-pattern.login-split {
  width: 100%;
  height: 100%;
  min-height: 0;
  grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr);
  overflow: hidden;
}
.portal-login-admin-pattern__showcase,
.portal-login-admin-pattern__panel {
  height: 100%;
  min-height: 0;
}
.portal-login-admin-pattern__showcase {
  align-items: center !important;
  padding: clamp(28px, 4vh, 48px) clamp(34px, 5vw, 68px) !important;
}
.portal-login-admin-pattern__brand {
  gap: clamp(16px, 2.5vh, 24px) !important;
  padding: 0 !important;
}
.portal-login-admin-pattern__logo {
  width: min(560px, 78%) !important;
  max-height: clamp(250px, 39vh, 410px) !important;
  object-fit: contain !important;
}
.portal-login-admin-pattern__mensagem {
  display: grid;
  gap: 9px;
  max-width: 720px;
  text-align: center;
}
.portal-login-admin-pattern__mensagem .login-brand-message {
  max-width: 720px !important;
  font-size: clamp(24px, 2.45vw, 36px) !important;
  line-height: 1.2 !important;
}
.portal-login-admin-pattern__brand-support {
  max-width: 640px;
  margin: 0 auto;
  color: #526c80;
  font-size: clamp(.86rem, 1.05vw, 1rem);
  line-height: 1.55;
}
.portal-login-admin-pattern__panel {
  padding: clamp(24px, 4vh, 44px) clamp(28px, 4vw, 54px) !important;
  overflow: hidden;
}
.portal-login-admin-pattern__card {
  width: min(500px, 100%);
  max-width: 500px !important;
  padding: clamp(28px, 4vh, 38px) !important;
}
.portal-login-admin-pattern__card h2 {
  margin-bottom: 8px !important;
  white-space: normal !important;
}
.portal-login-admin-pattern__intro {
  display: block !important;
  margin: 0 0 21px !important;
  color: #64748b !important;
  font-size: .94rem;
  line-height: 1.5;
}
.portal-login-admin-pattern__form {
  gap: 15px;
}
.portal-login-admin-pattern__form .formulario__grupo {
  gap: 6px;
}
.portal-login-admin-pattern__form label {
  color: var(--brand-navy);
  font-weight: 800;
}
.portal-login-admin-pattern__form input {
  min-height: 48px;
}
.portal-login-admin-pattern__form .texto-suporte {
  color: #718096;
  font-size: .75rem;
  line-height: 1.4;
}
.portal-login-admin-pattern__ajuda {
  display: grid;
  gap: 3px;
  margin-top: 17px;
  padding: 12px 14px;
  border: 1px solid #dce7ee;
  border-radius: 14px;
  background: #f7fafc;
  color: #64748b;
  font-size: .79rem;
  line-height: 1.45;
}
.portal-login-admin-pattern__ajuda strong {
  color: var(--brand-navy);
}
.portal-login-admin-pattern__privacidade {
  margin: 13px 0 0;
  color: #8192a2;
  font-size: .72rem;
  text-align: center;
}
@media (min-width: 921px) and (max-height: 800px) {
  .portal-login-admin-pattern__showcase {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }
  .portal-login-admin-pattern__logo {
    width: min(470px, 70%) !important;
    max-height: 300px !important;
  }
  .portal-login-admin-pattern__mensagem .login-brand-message {
    font-size: clamp(21px, 2.1vw, 30px) !important;
  }
  .portal-login-admin-pattern__brand-support {
    font-size: .82rem;
  }
  .portal-login-admin-pattern__panel {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
  .portal-login-admin-pattern__card {
    padding: 27px 31px !important;
  }
  .portal-login-admin-pattern__intro {
    margin-bottom: 15px !important;
  }
  .portal-login-admin-pattern__form {
    gap: 10px;
  }
  .portal-login-admin-pattern__form input {
    min-height: 44px;
  }
  .portal-login-admin-pattern__ajuda {
    margin-top: 11px;
    padding: 9px 12px;
  }
  .portal-login-admin-pattern__privacidade {
    margin-top: 9px;
  }
}
@media (min-width: 921px) and (max-height: 650px) {
  .portal-login-admin-pattern__logo {
    width: min(390px, 62%) !important;
    max-height: 230px !important;
  }
  .portal-login-admin-pattern__brand-support,
  .portal-login-admin-pattern__privacidade {
    display: none;
  }
  .portal-login-admin-pattern__mensagem .login-brand-message {
    font-size: clamp(19px, 1.8vw, 26px) !important;
  }
  .portal-login-admin-pattern__card {
    padding: 22px 28px !important;
  }
  .portal-login-admin-pattern__card h2 {
    font-size: 1.55rem !important;
  }
  .portal-login-admin-pattern__intro {
    font-size: .82rem;
    margin-bottom: 10px !important;
  }
  .portal-login-admin-pattern__form .texto-suporte {
    font-size: .68rem;
  }
  .portal-login-admin-pattern__ajuda {
    margin-top: 8px;
  }
}
@media (max-width: 920px) {
  .portal-login-admin-pattern.login-split {
    height: auto;
    min-height: 100vh;
    grid-template-columns: 1fr;
    overflow: visible;
  }
  .portal-login-admin-pattern__showcase {
    min-height: 290px;
    padding: 30px 24px !important;
  }
  .portal-login-admin-pattern__logo {
    width: min(330px, 72%) !important;
    max-height: 205px !important;
  }
  .portal-login-admin-pattern__mensagem .login-brand-message {
    font-size: clamp(1.5rem, 5vw, 2.1rem) !important;
  }
  .portal-login-admin-pattern__brand-support {
    font-size: .82rem;
  }
  .portal-login-admin-pattern__panel {
    min-height: 0;
    padding: 28px 20px !important;
    overflow: visible;
  }
}
@media (max-width: 520px) {
  .portal-login-admin-pattern__showcase {
    min-height: 230px;
  }
  .portal-login-admin-pattern__logo {
    width: min(270px, 78%) !important;
    max-height: 165px !important;
  }
  .portal-login-admin-pattern__brand-support {
    display: none;
  }
  .portal-login-admin-pattern__card {
    padding: 25px 21px !important;
  }
}

/* Portal do Avaliado — contraste do texto institucional no login */
.portal-login-admin-pattern__mensagem .portal-login-admin-pattern__brand-support {
  color: #526c80 !important;
}

/* Homologação 01 — campos obrigatórios e validação dos cadastros */
.form-obrigatorios-aviso {
  margin: 0 0 14px;
  color: #526171;
  font-size: .86rem;
}
.form-obrigatorios-aviso span,
.campo-obrigatorio {
  color: #b42318;
  font-weight: 800;
}
.campo-erro {
  display: none;
  color: #b42318;
  font-size: .75rem;
  font-weight: 700;
  margin-top: 4px;
}
.formulario__grupo--invalido .campo-erro {
  display: block;
}
.formulario__grupo--invalido input,
.formulario__grupo--invalido select,
.formulario__grupo--invalido textarea {
  border-color: #d92d20 !important;
  box-shadow: 0 0 0 3px rgba(217, 45, 32, .10) !important;
}
select:disabled {
  background: #f3f6f8;
  color: #7b8794;
  cursor: not-allowed;
}

/* Portal do Avaliado — confirmação institucional sem exposição de resultado */
.portal-confirmacao-participacao {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  align-items: start;
  margin: 0 0 18px;
  padding: 18px 20px;
  border: 1px solid #b7dfe1;
  border-radius: 16px;
  background: #eff9f9;
  color: #12324d;
}
.portal-confirmacao-participacao__icone {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #087f88;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 900;
}
.portal-confirmacao-participacao h3,
.portal-confirmacao-participacao strong {
  display: block;
  margin-bottom: 4px;
  color: #0d3856;
  font-size: 1rem;
}
.portal-confirmacao-participacao p {
  margin: 0;
  line-height: 1.55;
}
.portal-resposta-concluida {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f1f7f7;
  border: 1px solid #d4e8e9;
  color: #315668;
  font-size: .88rem;
}

/* Perfil administrativo e Perfil do Avaliado */
.perfil-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 20px;
  align-items: start;
}
.perfil-card {
  padding: 24px;
}
.perfil-card--form {
  max-width: 720px;
}
.perfil-card h2 {
  margin-top: 0;
  color: var(--brand-navy);
}
.perfil-card--apoio {
  background: linear-gradient(145deg, #ffffff, #f1f8f8);
}
.perfil-informacoes {
  display: grid;
  gap: 12px;
  margin: 18px 0;
}
.perfil-informacoes div {
  display: grid;
  gap: 3px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dbe5ee;
}
.perfil-informacoes span {
  color: #64748b;
  font-size: .84rem;
}
.perfil-informacoes strong {
  color: var(--brand-navy);
}
.recuperacao-acesso {
  margin: 24px 0;
}
.recuperacao-acesso__botao {
  width: 100%;
  justify-content: center;
}
@media (max-width: 900px) {
  .perfil-layout {
    grid-template-columns: 1fr;
  }
}

/* ===== Relatórios gerenciais | padrão documental de impressão ===== */
.print-document-header,
.print-document-footer {
  display: none;
}

@media print {
  @page {
    size: A4 portrait;
    margin: 13mm 11mm 17mm;
  }

  html,
  body {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #17263c !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9.5pt !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .sidebar,
  .topbar,
  .breadcrumb-pulsar,
  .formulario__acoes,
  .builder-acoes,
  .sat-acoes,
  .pa-detail-topline,
  .pa-section-nav,
  .pa-section-actions,
  .pa-followup,
  .pa-icon-btn,
  button,
  .botao {
    display: none !important;
  }

  .app-shell,
  .main-area,
  .content-area {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }

  .print-document-header {
    display: grid !important;
    grid-template-columns: 42mm 1fr auto;
    align-items: center;
    gap: 8mm;
    min-height: 24mm;
    margin: 0 0 7mm;
    padding: 0 0 4mm;
    border-bottom: 1.5pt solid #2f6fd0;
  }
  .print-document-header img {
    display: block;
    width: 40mm;
    max-height: 20mm;
    object-fit: contain;
  }
  .print-document-header__text {
    display: grid;
    gap: 1mm;
  }
  .print-document-header__text span,
  .print-document-header__date span {
    color: #2f6fd0;
    font-size: 7.5pt;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .print-document-header__text strong {
    color: #303e68;
    font-size: 15pt;
    line-height: 1.15;
  }
  .print-document-header__text small {
    color: #5f7088;
    font-size: 8pt;
  }
  .print-document-header__date {
    display: grid;
    gap: 1mm;
    text-align: right;
  }
  .print-document-header__date strong {
    color: #303e68;
    font-size: 8pt;
  }
  .print-document-footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: -12mm;
    display: flex !important;
    justify-content: space-between;
    padding-top: 2mm;
    border-top: .5pt solid #bfd3dd;
    color: #60758a;
    font-size: 7pt;
  }

  .sat-filtros form,
  .clima-filtros form,
  .sat-filtros .texto-suporte,
  .clima-filtros .texto-suporte {
    display: none !important;
  }
  .sat-filtros,
  .clima-filtros {
    margin: 0 0 5mm !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  .sat-filtros .card__body,
  .clima-filtros .card__body {
    padding: 0 !important;
  }
  .sat-filtros h2,
  .clima-filtros h2,
  .pagina-topo h2,
  .relatorio-topo h2 {
    margin: 0 0 2mm !important;
    color: #303e68 !important;
    font-size: 16pt !important;
  }
  .pagina-topo,
  .relatorio-topo,
  .pa-intro {
    margin: 0 0 5mm !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .relatorio-meta,
  .gestao-cards,
  .clima-grid,
  .sat-grid,
  .pa-kpi-grid,
  .pa-hero-meta {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 3mm !important;
  }
  .relatorio-meta__item,
  .gestao-card,
  .clima-card,
  .sat-card,
  .pa-kpi-card,
  .pa-hero-meta > div {
    min-height: 0 !important;
    padding: 3mm !important;
    border: .6pt solid #cbd9e5 !important;
    border-radius: 2mm !important;
    background: #f7fafc !important;
    box-shadow: none !important;
    break-inside: avoid;
  }
  .clima-card__valor,
  .sat-card__valor,
  .gestao-card__valor,
  .pa-kpi-card__value {
    font-size: 15pt !important;
    line-height: 1.15 !important;
  }

  .clima-secao,
  .sat-secao,
  .gestao-secao,
  .pa-section,
  .card,
  .consolidado-card,
  .painel-areas__card,
  .pa-hero-card,
  .pa-activity-card {
    margin: 5mm 0 0 !important;
    padding: 4mm !important;
    border: .6pt solid #cbd9e5 !important;
    border-radius: 2mm !important;
    background: #fff !important;
    box-shadow: none !important;
  }
  .clima-secao__topo,
  .sat-secao__topo,
  .gestao-secao__topo,
  .pa-section__header {
    margin-bottom: 3mm !important;
    padding-bottom: 2mm !important;
    border-bottom: .6pt solid #dbe5ee !important;
  }
  h3 {
    color: #303e68 !important;
    font-size: 11.5pt !important;
    break-after: avoid;
  }
  p,
  li,
  td,
  th {
    line-height: 1.35 !important;
  }

  .tabela-wrapper,
  [style*="overflow:auto"],
  [style*="overflow: auto"] {
    overflow: visible !important;
  }
  table,
  .tabela,
  .clima-tabela {
    width: 100% !important;
    border-collapse: collapse !important;
    table-layout: auto !important;
    font-size: 8pt !important;
  }
  thead {
    display: table-header-group;
  }
  tr {
    break-inside: avoid;
  }
  th {
    padding: 2.2mm !important;
    background: #edf4ff !important;
    color: #303e68 !important;
    border: .5pt solid #bfd3dd !important;
  }
  td {
    padding: 2.2mm !important;
    border: .5pt solid #d7e1e9 !important;
    vertical-align: top !important;
  }

  .clima-bloco,
  .sat-barra,
  .consolidado-card__item,
  .painel-areas__item,
  .pa-result-block,
  .pa-area-card {
    break-inside: avoid;
    box-shadow: none !important;
  }
  .clima-preenchimento,
  .sat-barra__preenchimento,
  .pa-area-progress span {
    background: #2f6fd0 !important;
  }
  a {
    color: inherit !important;
    text-decoration: none !important;
  }
}
/* ===== Fim | padrão documental de impressão ===== */

/* ===== Eixo Nexus | padrão enxuto de instruções e navegação ===== */
.pagina-topo--enxuto,
.consulta-piloto-topo--enxuto {
  align-items: flex-start;
}
.pagina-topo--enxuto .breadcrumb-pulsar,
.consulta-piloto-topo--enxuto .breadcrumb-pulsar {
  margin-bottom: 8px;
}
.pagina-topo--enxuto h2,
.consulta-piloto-topo--enxuto h2 {
  margin: 0;
  color: #303e68;
  font-size: 20px;
}
.pagina-topo--enxuto .pagina-topo__acoes,
.consulta-piloto-topo--enxuto .consulta-piloto-topo__acoes {
  flex: 0 0 auto;
}
.botao--instrucoes {
  min-height: 38px;
  padding: 8px 12px;
  background: #fff;
  color: #2f6fd0;
  border: 1px solid #b9d8da;
  box-shadow: none;
}
.botao--instrucoes:hover {
  background: #f3fbfb;
  color: #245bb4;
  border-color: #83bdc1;
}
.instrucoes-dialog {
  width: min(720px, calc(100vw - 32px));
  max-height: min(78vh, 720px);
  padding: 0;
  border: 0;
  border-radius: 16px;
  color: var(--text);
  box-shadow: 0 24px 70px rgba(15, 23, 42, .24);
}
.instrucoes-dialog::backdrop {
  background: rgba(15, 23, 42, .46);
}
.instrucoes-dialog__cabecalho {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
}
.instrucoes-dialog__cabecalho h3 {
  margin: 0;
  color: #303e68;
  font-size: 18px;
}
.instrucoes-dialog__fechar {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 9px;
  background: #f1f5f9;
  color: #475569;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
}
.instrucoes-dialog__conteudo {
  padding: 18px 20px 20px;
  overflow: auto;
}
.instrucoes-dialog__conteudo > p:first-child {
  margin-top: 0;
}
.instrucoes-dialog__conteudo ul,
.instrucoes-dialog__conteudo ol {
  margin: 10px 0 0;
  padding-left: 22px;
}
.instrucoes-dialog__conteudo li {
  margin-bottom: 9px;
  line-height: 1.45;
}
.instrucoes-dialog__grupo + .instrucoes-dialog__grupo {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #e7edf4;
}
.instrucoes-dialog__grupo strong {
  display: block;
  margin-bottom: 7px;
  color: #303e68;
}
.campo-acao-inline {
  display: flex;
  align-items: end;
  gap: 10px;
}
.campo-acao-inline > .formulario__grupo {
  flex: 1 1 auto;
}
.campo-acao-inline > .botao {
  flex: 0 0 auto;
  min-height: 42px;
  white-space: nowrap;
}
.formulario__acoes--enxuto {
  justify-content: flex-end;
}
.formulario__acoes--enxuto .botao--secundario,
.formulario__acoes--enxuto .link-navegacao-global {
  display: none;
}
@media (max-width: 720px) {
  .pagina-topo--enxuto,
  .consulta-piloto-topo--enxuto,
  .campo-acao-inline {
    flex-direction: column;
    align-items: stretch;
  }
  .botao--instrucoes,
  .campo-acao-inline > .botao {
    width: 100%;
  }
}
/* ===== Fim | padrão enxuto de instruções e navegação ===== */

/* Resumos compactos usados após seletores de vínculo. */
.selecao-resumo {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid #e1eaf0;
  border-radius: 10px;
  background: #f8fbfc;
  color: #526171;
  font-size: 13px;
}
.selecao-resumo[hidden] {
  display: none !important;
}
.selecao-resumo strong {
  color: #303e68;
}
.selecao-resumo span:empty {
  display: none;
}
.selecao-resumo--compacta {
  margin-top: 8px;
}

/* ===== Eixo Nexus | homologação UI enxuta global v3 ===== */
.is-authenticated .content-area {
  padding: 18px;
}
.is-authenticated .pagina-topo,
.is-authenticated .consulta-piloto-topo {
  margin-bottom: 14px;
}
.is-authenticated .card__body {
  padding: 14px 16px;
}
.is-authenticated .formulario,
.is-authenticated .formulario__grid {
  gap: 10px 12px;
}
.is-authenticated .formulario input,
.is-authenticated .formulario select,
.is-authenticated .formulario textarea {
  padding: 9px 10px;
}
.is-authenticated .formulario textarea {
  min-height: 88px;
}
.is-authenticated .formulario__acoes {
  margin-top: 6px;
}
.ui-page-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 38px;
  margin: 0 0 12px;
}
.ui-page-tools .breadcrumb-pulsar {
  margin: 0;
}
.ui-page-tools > .botao--instrucoes {
  margin-left: auto;
}
.ui-breadcrumb-auto strong {
  max-width: min(52vw, 680px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.link-navegacao-global--oculto,
.link-navegacao-global--oculto[hidden] {
  display: none !important;
}
.is-authenticated .nr1-section {
  margin-top: 14px;
}
.is-authenticated .nr1-card {
  padding-top: 14px;
  padding-bottom: 14px;
}
@media (max-width: 720px) {
  .is-authenticated .content-area {
    padding: 14px;
  }
  .ui-page-tools {
    align-items: stretch;
    flex-direction: column;
  }
  .ui-page-tools > .botao--instrucoes {
    margin-left: 0;
    width: 100%;
  }
  .ui-breadcrumb-auto strong {
    max-width: 68vw;
  }
}
/* ===== Fim | homologação UI enxuta global v3 ===== */

/* ===== Eixo Nexus | refinamentos UI v4 ===== */
.pagina-topo__acoes,
.consulta-piloto-topo__acoes,
.avaliacao-guiada-topo__acoes,
.nr1-drps-header__acoes,
.nr1-header-card__acoes {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 8px;
}
.botao--instrucoes {
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
  border-radius: 10px;
}
.avaliacao-modelo-acao {
  font-size: 11px;
}
.avaliacao-modelo-acoes__botoes {
  gap: 6px;
}
@media (max-width: 720px) {
  .pagina-topo__acoes,
  .consulta-piloto-topo__acoes,
  .avaliacao-guiada-topo__acoes,
  .nr1-drps-header__acoes,
  .nr1-header-card__acoes {
    width: 100%;
  }
  .pagina-topo__acoes .botao--instrucoes,
  .consulta-piloto-topo__acoes .botao--instrucoes,
  .avaliacao-guiada-topo__acoes .botao--instrucoes,
  .nr1-drps-header__acoes .botao--instrucoes,
  .nr1-header-card__acoes .botao--instrucoes {
    margin-left: auto;
  }
}
/* ===== Fim | refinamentos UI v4 ===== */

/* ===== Eixo Nexus | Avaliações v7 ===== */
/* Lista de avaliações no mesmo padrão tipográfico das consultas enxutas. */
.consulta-avaliacoes-topo h2 {
  font-size: 20px;
  line-height: 1.25;
}
.botao--compacto-primary {
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 800;
}
.consulta-avaliacoes-filtros .card__body {
  padding: 14px 16px;
}
.consulta-avaliacoes-filtros .formulario--linha {
  gap: 10px 12px;
}
.consulta-avaliacoes-filtros .formulario__grupo label {
  color: #303e68;
  font-size: 13px;
  font-weight: 800;
}
.consulta-avaliacoes-filtros .formulario__grupo input,
.consulta-avaliacoes-filtros .formulario__grupo select {
  min-height: 40px;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 14px;
}
.consulta-avaliacoes-filtros .formulario__acoes--filtro .botao {
  min-height: 36px;
  padding: 7px 12px;
  font-size: 13px;
}
.consulta-avaliacoes-tabela .card__body {
  padding: 14px 16px 16px;
}
.consulta-avaliacoes-tabela .tabela--consulta-piloto th,
.consulta-avaliacoes-tabela .tabela--consulta-piloto td {
  padding: 10px 9px;
  font-size: 14px;
  line-height: 1.35;
}
.consulta-avaliacoes-tabela .tabela--consulta-piloto th {
  font-weight: 800;
}
.consulta-avaliacoes-tabela .acao-icone {
  width: 32px;
  height: 32px;
}

/* Hub de Avaliações: mesma escala tipográfica dos controles de Avaliação Específica. */
.avaliacoes-hub-hero {
  padding: 18px 20px;
  margin-bottom: 14px;
}
.avaliacoes-hub-hero .pulsar-hub-kicker {
  margin-bottom: 8px;
  font-size: 11px;
}
.avaliacoes-hub-hero h2 {
  margin-bottom: 6px;
  font-size: 20px;
  line-height: 1.25;
}
.avaliacoes-hub-hero p {
  font-size: 14px;
  line-height: 1.45;
}
.avaliacoes-hub-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.avaliacoes-hub-grid .pulsar-flow-card {
  min-height: 150px;
  gap: 10px;
  padding: 16px;
}
.avaliacoes-hub-grid .pulsar-flow-card__tag {
  font-size: 16px;
  line-height: 1.25;
}
.avaliacoes-hub-grid .pulsar-flow-card p {
  font-size: 14px;
  line-height: 1.45;
}
.avaliacoes-hub-grid .pulsar-flow-card__acoes .botao {
  min-width: 0;
  min-height: 34px;
  padding: 7px 12px;
  font-size: 13px;
}
@media (max-width: 820px) {
  .avaliacoes-hub-grid {
    grid-template-columns: 1fr;
  }
}
/* ===== Fim | Avaliações v7 ===== */

/* ===== Eixo Nexus | Gestão de Anamnese v8 ===== */
.consulta-anamneses-cliente-topo h2 {
  font-size: 20px;
  line-height: 1.25;
}
.consulta-anamneses-cliente-filtros .card__body {
  padding: 12px 14px;
}
.consulta-filtros-grid--anamneses-cliente {
  grid-template-columns: repeat(5, minmax(150px, 1fr)) auto;
  gap: 8px 10px;
}
.consulta-anamneses-cliente-filtros .consulta-filtro label {
  font-size: 12px;
  font-weight: 800;
}
.consulta-anamneses-cliente-filtros .consulta-filtro input,
.consulta-anamneses-cliente-filtros .consulta-filtro select {
  min-height: 36px;
  padding: 7px 9px;
  border-radius: 9px;
  font-size: 13px;
}
.consulta-anamneses-cliente-filtros .consulta-filtros-acoes .botao {
  min-height: 34px;
  padding: 6px 10px;
  border-radius: 9px;
  font-size: 12px;
}
.consulta-anamneses-cliente-tabela .card__body {
  padding: 13px 15px 15px;
}
.consulta-anamneses-cliente-tabela .tabela--consulta-piloto th,
.consulta-anamneses-cliente-tabela .tabela--consulta-piloto td {
  padding: 9px 8px;
  font-size: 13px;
  line-height: 1.35;
}
@media (max-width: 1180px) {
  .consulta-filtros-grid--anamneses-cliente {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
  }
}
@media (max-width: 760px) {
  .consulta-filtros-grid--anamneses-cliente {
    grid-template-columns: 1fr;
  }
}
/* ===== Fim | Gestão de Anamnese v8 ===== */

/* ========================================================================== 
   Eixo Nexus | Design System visual global v9
   Padronização de tipografia, botões, cards, consultas e formulários.
   Regra: esta camada deve prevalecer sobre estilos legados específicos de módulos.
   ========================================================================== */
:root {
  --ui-font-page-title: 22px;
  --ui-font-section-title: 18px;
  --ui-font-card-title: 18px;
  --ui-font-body: 14px;
  --ui-font-label: 13px;
  --ui-font-small: 12px;
  --ui-font-kicker: 11px;
  --ui-font-table: 14px;

  --ui-control-height: 40px;
  --ui-button-height: 36px;
  --ui-button-compact-height: 34px;
  --ui-icon-button-size: 32px;

  --ui-radius-control: 10px;
  --ui-radius-card: 16px;
  --ui-card-padding: 16px;
  --ui-section-gap: 14px;
}

/* Base tipográfica da área autenticada. */
.is-authenticated .content-area {
  font-size: var(--ui-font-body);
  line-height: 1.45;
}
.is-authenticated .topbar__title {
  font-size: var(--ui-font-section-title) !important;
  line-height: 1.25;
  font-weight: 800;
}

/* Breadcrumb único para todas as áreas. */
.is-authenticated .breadcrumb-pulsar,
.is-authenticated .breadcrumb-pulsar a,
.is-authenticated .breadcrumb-pulsar strong {
  font-size: var(--ui-font-label) !important;
  line-height: 1.3;
}

/* Títulos de página: consultas, inclusões, avaliações, NR-1 e construtores. */
.is-authenticated .pagina-topo h1,
.is-authenticated .pagina-topo h2,
.is-authenticated .consulta-piloto-topo h1,
.is-authenticated .consulta-piloto-topo h2,
.is-authenticated .avaliacao-guiada-topo h1,
.is-authenticated .avaliacao-guiada-topo h2,
.is-authenticated .nr1-drps-header h1,
.is-authenticated .nr1-drps-header h2,
.is-authenticated .nr1-header-card h1,
.is-authenticated .nr1-header-card h2,
.is-authenticated .form-piloto-cabecalho h1,
.is-authenticated .form-piloto-cabecalho h2,
.is-authenticated .construtor-resumo-head h2,
.is-authenticated .pulsar-hub-hero h2 {
  margin-top: 0;
  font-size: var(--ui-font-page-title) !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
  color: #303e68;
}

/* Descrições e textos de apoio. */
.is-authenticated .pagina-topo p,
.is-authenticated .consulta-piloto-topo p,
.is-authenticated .form-piloto-cabecalho p,
.is-authenticated .avaliacao-guiada-descricao,
.is-authenticated .pulsar-hub-hero p,
.is-authenticated .pulsar-flow-card p,
.is-authenticated .builder-texto,
.is-authenticated .builder-qtd,
.is-authenticated .construtor-resumo-head p {
  font-size: var(--ui-font-body) !important;
  line-height: 1.45 !important;
}
.is-authenticated .texto-suporte,
.is-authenticated small.texto-suporte,
.is-authenticated .form-obrigatorios-aviso,
.is-authenticated .consulta-resultado-info,
.is-authenticated .consulta-filtros-hint {
  font-size: var(--ui-font-small) !important;
  line-height: 1.4;
}

/* Etiquetas/kickers/badges: mesma escala em todos os módulos. */
.is-authenticated .pulsar-hub-kicker,
.is-authenticated .builder-step,
.is-authenticated .badge,
.is-authenticated [class*="__tag"]:not(.pulsar-flow-card__tag) {
  font-size: var(--ui-font-kicker) !important;
  line-height: 1.2;
}

/* Hubs e cards: mesmo componente visual em Cadastros, Anamneses e Avaliações. */
.is-authenticated .pulsar-hub-hero,
.is-authenticated .avaliacoes-hub-hero {
  padding: 18px 20px !important;
  margin-bottom: var(--ui-section-gap) !important;
  border-radius: var(--ui-radius-card) !important;
}
.is-authenticated .pulsar-hub-kicker {
  margin-bottom: 8px !important;
}
.is-authenticated .pulsar-flow-grid,
.is-authenticated .avaliacoes-hub-grid {
  gap: 12px !important;
}
.is-authenticated .pulsar-flow-card,
.is-authenticated .avaliacoes-hub-grid .pulsar-flow-card {
  min-height: 166px !important;
  padding: 16px !important;
  gap: 10px !important;
  border-radius: var(--ui-radius-card) !important;
}
.is-authenticated .pulsar-flow-card__tag,
.is-authenticated .avaliacoes-hub-grid .pulsar-flow-card__tag {
  display: block;
  width: auto;
  height: auto;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #303e68;
  font-size: var(--ui-font-card-title) !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: 0;
}
.is-authenticated .pulsar-flow-card__acoes {
  gap: 8px !important;
}

/* Cards genéricos e internos. */
.is-authenticated .card {
  border-radius: var(--ui-radius-card);
}
.is-authenticated .card__body {
  padding: var(--ui-card-padding) !important;
}
.is-authenticated .card h3,
.is-authenticated .secao-cabecalho-inline h3,
.is-authenticated .construtor-fluxo-card h3,
.is-authenticated .cards-grid--builder-slim h3 {
  font-size: var(--ui-font-section-title) !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  color: #303e68;
}

/* Botão-base: uma única escala para ações normais. */
.is-authenticated .botao,
.is-authenticated button.botao,
.is-authenticated a.botao {
  min-height: var(--ui-button-height) !important;
  padding: 7px 14px !important;
  border-radius: var(--ui-radius-control) !important;
  font-size: var(--ui-font-label) !important;
  line-height: 1.2;
  font-weight: 800 !important;
  white-space: nowrap;
}
.is-authenticated .botao--inline,
.is-authenticated .pulsar-flow-card__acoes .botao,
.is-authenticated .builder-acoes .botao {
  min-width: 0 !important;
  min-height: var(--ui-button-height) !important;
  padding: 7px 14px !important;
}

/* Barra superior: Instruções e ação principal têm exatamente a mesma altura. */
.is-authenticated .botao--instrucoes,
.is-authenticated .botao--compacto-primary,
.is-authenticated .pagina-topo__acoes > .botao,
.is-authenticated .consulta-piloto-topo__acoes > .botao,
.is-authenticated .avaliacao-guiada-topo__acoes > .botao,
.is-authenticated .nr1-drps-header__acoes > .botao,
.is-authenticated .nr1-header-card__acoes > .botao {
  min-height: var(--ui-button-compact-height) !important;
  padding: 6px 11px !important;
  font-size: var(--ui-font-small) !important;
}

/* Formulários de inclusão/edição. */
.is-authenticated .formulario,
.is-authenticated .formulario__grid {
  gap: 10px 12px !important;
}
.is-authenticated .formulario__grupo {
  gap: 5px;
}
.is-authenticated .formulario__grupo label,
.is-authenticated .consulta-filtro label,
.is-authenticated .consulta-filtros-card label {
  color: #303e68;
  font-size: var(--ui-font-label) !important;
  line-height: 1.3;
  font-weight: 800 !important;
}
.is-authenticated .formulario input:not([type="checkbox"]):not([type="radio"]),
.is-authenticated .formulario select,
.is-authenticated .consulta-filtro input,
.is-authenticated .consulta-filtro select,
.is-authenticated .consulta-filtros-card input,
.is-authenticated .consulta-filtros-card select {
  min-height: var(--ui-control-height) !important;
  padding: 8px 10px !important;
  border-radius: var(--ui-radius-control) !important;
  font-size: var(--ui-font-body) !important;
  line-height: 1.25;
}
.is-authenticated .formulario textarea {
  min-height: 88px !important;
  padding: 9px 10px !important;
  border-radius: var(--ui-radius-control) !important;
  font-size: var(--ui-font-body) !important;
  line-height: 1.4;
}
.is-authenticated .formulario__acoes,
.is-authenticated .formulario__acoes--piloto {
  gap: 8px !important;
  margin-top: 6px !important;
  padding-top: 12px !important;
}

/* Consultas e filtros. */
.is-authenticated .consulta-filtros-card .card__body,
.is-authenticated .consulta-avaliacoes-filtros .card__body,
.is-authenticated .consulta-anamneses-cliente-filtros .card__body {
  padding: 12px 14px !important;
}
.is-authenticated .consulta-filtros-grid,
.is-authenticated .formulario--linha {
  gap: 8px 10px !important;
}
.is-authenticated .consulta-filtros-acoes .botao,
.is-authenticated .formulario__acoes--filtro .botao {
  min-height: var(--ui-button-compact-height) !important;
  padding: 6px 11px !important;
  font-size: var(--ui-font-label) !important;
}

/* Tabelas: mesma densidade em todos os cadastros/consultas. */
.is-authenticated .tabela th,
.is-authenticated .tabela td,
.is-authenticated .tabela--consulta-piloto th,
.is-authenticated .tabela--consulta-piloto td,
.is-authenticated .tabela--consultas th,
.is-authenticated .tabela--consultas td {
  padding: 9px 8px !important;
  font-size: var(--ui-font-table) !important;
  line-height: 1.35 !important;
}
.is-authenticated .tabela th,
.is-authenticated .tabela--consulta-piloto th,
.is-authenticated .tabela--consultas th {
  font-size: var(--ui-font-label) !important;
  font-weight: 800 !important;
  color: #303e68;
}

/* Ações em tabela: somente ícones compactos. */
.is-authenticated .acao-icone,
.is-authenticated .tabela .acao-icone {
  width: var(--ui-icon-button-size) !important;
  height: var(--ui-icon-button-size) !important;
  min-width: var(--ui-icon-button-size) !important;
  min-height: var(--ui-icon-button-size) !important;
  padding: 0 !important;
  border-radius: 9px !important;
  font-size: 15px !important;
}
.is-authenticated .acoes-icones {
  gap: 6px !important;
}

/* Construtor da Anamnese também obedece à escala global. */
.is-authenticated .construtor-anamnese-topo .botao,
.is-authenticated .cards-grid--builder-slim .builder-acoes .botao {
  min-height: var(--ui-button-compact-height) !important;
  padding: 6px 11px !important;
  font-size: var(--ui-font-small) !important;
}
.is-authenticated .construtor-resumo-card .card__body,
.is-authenticated .construtor-fluxo-card .card__body,
.is-authenticated .cards-grid--builder-slim .card__body,
.is-authenticated .construtor-perguntas-card .card__body {
  padding: 14px 16px !important;
}
.is-authenticated .detalhes-grid--anamnese strong {
  font-size: var(--ui-font-kicker) !important;
}
.is-authenticated .detalhes-grid--anamnese span,
.is-authenticated .fluxo-setas__item span,
.is-authenticated .cards-grid--builder-slim .builder-qtd,
.is-authenticated .cards-grid--builder-slim .builder-texto {
  font-size: var(--ui-font-body) !important;
}

/* Diálogo de instruções no mesmo padrão tipográfico. */
.is-authenticated .instrucoes-dialog__cabecalho h3 {
  font-size: var(--ui-font-section-title) !important;
}
.is-authenticated .instrucoes-dialog__conteudo {
  font-size: var(--ui-font-body);
}

/* Responsividade: preserva densidade sem transformar botões compactos em blocos gigantes. */
@media (max-width: 720px) {
  .is-authenticated .content-area {
    padding: 14px !important;
  }
  .is-authenticated .pagina-topo__acoes,
  .is-authenticated .consulta-piloto-topo__acoes,
  .is-authenticated .avaliacao-guiada-topo__acoes {
    width: 100%;
  }
  .is-authenticated .pagina-topo__acoes > .botao,
  .is-authenticated .consulta-piloto-topo__acoes > .botao,
  .is-authenticated .avaliacao-guiada-topo__acoes > .botao {
    width: auto !important;
  }
  .is-authenticated .pulsar-flow-grid,
  .is-authenticated .avaliacoes-hub-grid {
    grid-template-columns: 1fr !important;
  }
}
/* ===== Fim | Design System visual global v9 ===== */


/* ===== Eixo Nexus | aviso global de Modo de consulta v10 ===== */
.is-authenticated .alerta--modo-consulta {
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid #f2c36b;
  border-left: 4px solid #f59e0b;
  border-radius: 10px;
  background: #fff7ed;
  color: #7c4a03;
  font-size: var(--ui-font-label, 13px);
  font-weight: 500;
  line-height: 1.45;
  box-shadow: none;
}
.is-authenticated .alerta--modo-consulta strong {
  color: #9a5700;
  font-weight: 800;
}
/* ===== Fim | aviso global de Modo de consulta v10 ===== */

/* ===== Eixo Nexus | Gestão de Anamnese e Construtor v11 ===== */
/* Construtor: cards com mesma altura, ações alinhadas e títulos em uma linha no desktop. */
.is-authenticated .cards-grid--builder-slim .card--builder {
  min-height: 178px !important;
}
.is-authenticated .cards-grid--builder-slim .card__body {
  display: flex !important;
  flex-direction: column;
  height: 100%;
}
.is-authenticated .cards-grid--builder-slim h3 {
  margin: 7px 0 7px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.is-authenticated .cards-grid--builder-slim .builder-qtd {
  margin-bottom: 7px !important;
}
.is-authenticated .cards-grid--builder-slim .builder-texto {
  min-height: 0 !important;
  margin-bottom: 12px !important;
}
.is-authenticated .cards-grid--builder-slim .builder-acoes {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 7px !important;
}
.is-authenticated .cards-grid--builder-slim .builder-acoes .botao {
  min-height: var(--ui-button-compact-height) !important;
  padding: 6px 11px !important;
  font-size: var(--ui-font-small) !important;
}

/* Consultas internas do Construtor: os filtros ocupam colunas previsíveis e o botão não invade campos. */
.is-authenticated .consulta-filtros-grid--construtor-anamnese {
  grid-template-columns: repeat(4, minmax(160px, 1fr)) minmax(124px, auto) !important;
  gap: 8px 10px !important;
  align-items: end !important;
}
.is-authenticated .consulta-filtros-acoes--construtor-anamnese {
  min-width: 124px;
  align-self: end;
  justify-content: flex-start;
}
.is-authenticated .consulta-filtros-acoes--construtor-anamnese .botao {
  width: auto !important;
  max-width: 100%;
}

/* Gestão de Anamnese do Cliente: distribuição responsiva sem sobreposição. */
.is-authenticated .consulta-filtros-grid--anamneses-cliente {
  grid-template-columns: repeat(4, minmax(180px, 1fr)) !important;
  gap: 10px 12px !important;
  align-items: end !important;
}
.is-authenticated .consulta-filtros-grid--anamneses-cliente .consulta-filtros-acoes {
  justify-content: flex-start;
}

@media (max-width: 1180px) {
  .is-authenticated .consulta-filtros-grid--construtor-anamnese,
  .is-authenticated .consulta-filtros-grid--anamneses-cliente {
    grid-template-columns: repeat(2, minmax(180px, 1fr)) !important;
  }
}
@media (max-width: 720px) {
  .is-authenticated .consulta-filtros-grid--construtor-anamnese,
  .is-authenticated .consulta-filtros-grid--anamneses-cliente {
    grid-template-columns: 1fr !important;
  }
  .is-authenticated .cards-grid--builder-slim h3 {
    white-space: normal;
  }
}
/* ===== Fim | Gestão de Anamnese e Construtor v11 ===== */


/* ===== Eixo Nexus | Planos de Ação - consulta enxuta v15 ===== */
.is-authenticated .pa-filter-grid--planos-enxuto {
  grid-template-columns: minmax(190px, 1fr) minmax(190px, 1fr) minmax(220px, 1.2fr) minmax(320px, 1.55fr) auto;
  gap: 10px 12px;
  align-items: end;
}
.is-authenticated .pa-filter-grid--planos-enxuto .pa-field--periodo {
  min-width: 0;
}
.is-authenticated .pa-period-filter {
  display: grid;
  grid-template-columns: repeat(2, minmax(135px, 1fr));
  gap: 8px;
}
.is-authenticated .pa-period-filter > div {
  min-width: 0;
  position: relative;
}
.is-authenticated .pa-period-filter > div > span {
  position: absolute;
  top: 3px;
  left: 10px;
  z-index: 1;
  color: #718096;
  font-size: 10px;
  font-weight: 700;
  pointer-events: none;
}
.is-authenticated .pa-period-filter input {
  min-height: var(--ui-control-height, 40px);
  padding-top: 15px;
  padding-bottom: 4px;
}
.is-authenticated .pa-filter-actions--inline {
  grid-column: auto;
  padding-top: 0;
  align-self: end;
  white-space: nowrap;
}
.is-authenticated .pa-filter-actions--inline .pa-btn {
  min-height: var(--ui-button-height, 36px);
  padding: 7px 11px;
  font-size: var(--ui-font-label, 13px);
}
.is-authenticated .pa-list-card .pa-table {
  min-width: 820px;
}
.is-authenticated .pa-period-cell {
  display: grid;
  gap: 4px;
  min-width: 104px;
}
.is-authenticated .pa-period-cell > span {
  display: flex;
  align-items: baseline;
  gap: 6px;
  white-space: nowrap;
}
.is-authenticated .pa-period-cell small {
  min-width: 34px;
  color: var(--pa-muted);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}
.is-authenticated .pa-period-cell strong {
  color: var(--pa-navy);
  font-size: var(--ui-font-label, 13px);
}
@media (max-width: 1240px) {
  .is-authenticated .pa-filter-grid--planos-enxuto {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
  .is-authenticated .pa-filter-actions--inline {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }
}
@media (max-width: 720px) {
  .is-authenticated .pa-filter-grid--planos-enxuto {
    grid-template-columns: 1fr;
  }
  .is-authenticated .pa-period-filter {
    grid-template-columns: 1fr 1fr;
  }
  .is-authenticated .pa-filter-actions--inline {
    grid-column: auto;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}
/* ===== Fim | Planos de Ação - consulta enxuta v15 ===== */


/* ===== Eixo Nexus | padrao de busca em consultas v16 ===== */
.is-authenticated .pa-filter-grid--planos-enxuto .pa-filter-actions--inline {
  grid-column: 1 / -1 !important;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: 100%;
  min-width: 0;
  overflow: visible;
  white-space: normal;
}
.is-authenticated .pa-filter-grid--planos-enxuto .pa-filter-actions--inline .pa-btn {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
  white-space: nowrap;
}
@media (max-width: 720px) {
  .is-authenticated .pa-filter-grid--planos-enxuto .pa-filter-actions--inline {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}
/* ===== Fim | padrao de busca em consultas v16 ===== */

/* ========================================================================== 
   Eixo Nexus | NR-1 - Padrao visual global v19
   Escopo somente das telas autenticadas /nr1. Mantem regras de negocio intactas.
   ========================================================================== */
@media screen {
  body.is-nr1.is-authenticated .content-area {
    font-size: var(--ui-font-body) !important;
    line-height: 1.45 !important;
  }

  /* Topos, cabecalhos e breadcrumbs */
  body.is-nr1.is-authenticated .pagina-topo,
  body.is-nr1.is-authenticated .nr1-page-intro,
  body.is-nr1.is-authenticated .nr1-drps-header,
  body.is-nr1.is-authenticated .nr1-header-card {
    margin-bottom: var(--ui-section-gap) !important;
  }

  body.is-nr1.is-authenticated .nr1-drps-header,
  body.is-nr1.is-authenticated .nr1-header-card {
    padding: 16px 18px !important;
    border-radius: var(--ui-radius-card) !important;
    box-shadow: none !important;
  }

  body.is-nr1.is-authenticated .pagina-topo h1,
  body.is-nr1.is-authenticated .pagina-topo h2,
  body.is-nr1.is-authenticated .nr1-page-intro h1,
  body.is-nr1.is-authenticated .nr1-page-intro h2,
  body.is-nr1.is-authenticated .nr1-drps-header h1,
  body.is-nr1.is-authenticated .nr1-drps-header h2,
  body.is-nr1.is-authenticated .nr1-header-card h1,
  body.is-nr1.is-authenticated .nr1-header-card h2,
  body.is-nr1.is-authenticated .nr1-header-card__estabelecimento {
    margin-top: 0 !important;
    font-size: var(--ui-font-page-title) !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
    color: #303e68 !important;
  }

  body.is-nr1.is-authenticated .nr1-eyebrow,
  body.is-nr1.is-authenticated .nr1-drps-eyebrow,
  body.is-nr1.is-authenticated .nr1-header-card__empresa {
    margin-bottom: 5px !important;
    font-size: var(--ui-font-kicker) !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
  }

  body.is-nr1.is-authenticated .nr1-drps-header p,
  body.is-nr1.is-authenticated .nr1-header-card__pgr,
  body.is-nr1.is-authenticated .nr1-page-intro p {
    font-size: var(--ui-font-body) !important;
    line-height: 1.45 !important;
  }

  body.is-nr1.is-authenticated .nr1-drps-header__top,
  body.is-nr1.is-authenticated .nr1-header-card__top {
    gap: 12px !important;
  }

  body.is-nr1.is-authenticated .nr1-drps-header__acoes,
  body.is-nr1.is-authenticated .nr1-header-card__acoes,
  body.is-nr1.is-authenticated .pagina-topo__acoes,
  body.is-nr1.is-authenticated .nr1-projetos-acoes,
  body.is-nr1.is-authenticated .nr1-actions,
  body.is-nr1.is-authenticated .nr1-action-buttons,
  body.is-nr1.is-authenticated .nr1-acoes-inline {
    gap: 8px !important;
  }

  /* Titulos de secoes e cards */
  body.is-nr1.is-authenticated .nr1-section-title,
  body.is-nr1.is-authenticated .nr1-section__header h3,
  body.is-nr1.is-authenticated .nr1-card h3,
  body.is-nr1.is-authenticated .nr1-ghe-lista-titulo,
  body.is-nr1.is-authenticated .nr1-ghe-card h3,
  body.is-nr1.is-authenticated .nr1-risco-lista h3,
  body.is-nr1.is-authenticated .nr1-empresa-card h3,
  body.is-nr1.is-authenticated .nr1-instrumento-card h3,
  body.is-nr1.is-authenticated .nr1-import-card h3,
  body.is-nr1.is-authenticated .nr1-opcao-card h3,
  body.is-nr1.is-authenticated .nr1-acao-card h3,
  body.is-nr1.is-authenticated .nr1-exec-card h3 {
    margin-top: 0 !important;
    font-size: var(--ui-font-section-title) !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #303e68 !important;
  }

  body.is-nr1.is-authenticated .nr1-card h4,
  body.is-nr1.is-authenticated .nr1-inline-form h4,
  body.is-nr1.is-authenticated .nr1-ghe-titulo,
  body.is-nr1.is-authenticated .nr1-funcao-card h4,
  body.is-nr1.is-authenticated .nr1-mapeamento h4,
  body.is-nr1.is-authenticated .nr1-conceito h4 {
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    color: #303e68 !important;
  }

  body.is-nr1.is-authenticated .nr1-section__header p,
  body.is-nr1.is-authenticated .nr1-card p,
  body.is-nr1.is-authenticated .nr1-inline-form__intro,
  body.is-nr1.is-authenticated .nr1-ghe-descricao,
  body.is-nr1.is-authenticated .nr1-help,
  body.is-nr1.is-authenticated .nr1-muted,
  body.is-nr1.is-authenticated .nr1-vazio,
  body.is-nr1.is-authenticated .nr1-empty {
    font-size: var(--ui-font-body) !important;
    line-height: 1.45 !important;
  }

  body.is-nr1.is-authenticated .nr1-help,
  body.is-nr1.is-authenticated .nr1-multi-hint,
  body.is-nr1.is-authenticated .nr1-nota,
  body.is-nr1.is-authenticated .nr1-nota-validacao,
  body.is-nr1.is-authenticated .nr1-instrumento-meta,
  body.is-nr1.is-authenticated .nr1-import-meta,
  body.is-nr1.is-authenticated .nr1-candidato__meta,
  body.is-nr1.is-authenticated .nr1-vinculado-meta {
    font-size: var(--ui-font-small) !important;
    line-height: 1.4 !important;
  }

  /* Cards e agrupamentos */
  body.is-nr1.is-authenticated .nr1-section {
    margin-top: var(--ui-section-gap) !important;
    margin-bottom: var(--ui-section-gap) !important;
  }

  body.is-nr1.is-authenticated .nr1-card,
  body.is-nr1.is-authenticated .nr1-mini-card,
  body.is-nr1.is-authenticated .nr1-ghe-card,
  body.is-nr1.is-authenticated .nr1-funcao-card,
  body.is-nr1.is-authenticated .nr1-mapeamento,
  body.is-nr1.is-authenticated .nr1-instrumento-card,
  body.is-nr1.is-authenticated .nr1-empresa-card,
  body.is-nr1.is-authenticated .nr1-opcao-card,
  body.is-nr1.is-authenticated .nr1-import-card,
  body.is-nr1.is-authenticated .nr1-acao-card,
  body.is-nr1.is-authenticated .nr1-exec-card,
  body.is-nr1.is-authenticated .nr1-conceito,
  body.is-nr1.is-authenticated .nr1-inline-form {
    border-radius: var(--ui-radius-card) !important;
    box-shadow: none !important;
  }

  body.is-nr1.is-authenticated .nr1-card,
  body.is-nr1.is-authenticated .nr1-mini-card,
  body.is-nr1.is-authenticated .nr1-instrumento-card,
  body.is-nr1.is-authenticated .nr1-empresa-card,
  body.is-nr1.is-authenticated .nr1-opcao-card,
  body.is-nr1.is-authenticated .nr1-import-card,
  body.is-nr1.is-authenticated .nr1-acao-card,
  body.is-nr1.is-authenticated .nr1-exec-card,
  body.is-nr1.is-authenticated .nr1-conceito {
    padding: 14px 16px !important;
  }

  body.is-nr1.is-authenticated .nr1-ghe-card__header,
  body.is-nr1.is-authenticated .nr1-ghe-card__body,
  body.is-nr1.is-authenticated .nr1-ghe-risco__head,
  body.is-nr1.is-authenticated .nr1-ghe-risco__body,
  body.is-nr1.is-authenticated .nr1-funcao-card,
  body.is-nr1.is-authenticated .nr1-mapeamento {
    padding: 14px 16px !important;
  }

  body.is-nr1.is-authenticated .nr1-card-grid,
  body.is-nr1.is-authenticated .nr1-grid,
  body.is-nr1.is-authenticated .nr1-mini-grid,
  body.is-nr1.is-authenticated .nr1-exec-grid,
  body.is-nr1.is-authenticated .nr1-conceitos,
  body.is-nr1.is-authenticated .nr1-avaliados-grid {
    gap: 12px !important;
  }

  /* KPIs compactos */
  body.is-nr1.is-authenticated .nr1-kpis {
    gap: 10px !important;
    margin-top: 12px !important;
  }

  body.is-nr1.is-authenticated .nr1-kpi {
    min-height: 0 !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
  }

  body.is-nr1.is-authenticated .nr1-kpi strong {
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }

  body.is-nr1.is-authenticated .nr1-kpi span {
    font-size: var(--ui-font-small) !important;
    line-height: 1.35 !important;
  }

  /* Formularios e controles NR-1 */
  body.is-nr1.is-authenticated .nr1-form-grid,
  body.is-nr1.is-authenticated .nr1-form-linha,
  body.is-nr1.is-authenticated .nr1-library-inline__grid {
    gap: 10px 12px !important;
  }

  body.is-nr1.is-authenticated .formulario__grupo label,
  body.is-nr1.is-authenticated .nr1-form-section label,
  body.is-nr1.is-authenticated .nr1-check,
  body.is-nr1.is-authenticated .nr1-avaliado-check {
    font-size: var(--ui-font-label) !important;
    line-height: 1.35 !important;
  }

  body.is-nr1.is-authenticated .formulario input:not([type="checkbox"]):not([type="radio"]),
  body.is-nr1.is-authenticated .formulario select,
  body.is-nr1.is-authenticated .nr1-form-section input:not([type="checkbox"]):not([type="radio"]),
  body.is-nr1.is-authenticated .nr1-form-section select,
  body.is-nr1.is-authenticated .nr1-library-inline input:not([type="checkbox"]):not([type="radio"]),
  body.is-nr1.is-authenticated .nr1-library-inline select {
    min-height: var(--ui-control-height) !important;
    padding: 8px 10px !important;
    border-radius: var(--ui-radius-control) !important;
    font-size: var(--ui-font-body) !important;
  }

  body.is-nr1.is-authenticated .formulario textarea,
  body.is-nr1.is-authenticated .nr1-form-section textarea,
  body.is-nr1.is-authenticated .nr1-library-inline textarea {
    min-height: 88px !important;
    padding: 9px 10px !important;
    border-radius: var(--ui-radius-control) !important;
    font-size: var(--ui-font-body) !important;
    line-height: 1.4 !important;
  }

  /* Botoes proprios da NR-1 passam a seguir a mesma escala global. */
  body.is-nr1.is-authenticated .nr1-ghe-botao,
  body.is-nr1.is-authenticated .nr1-risco-btn,
  body.is-nr1.is-authenticated .nr1-proxima-acao__link {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: var(--ui-button-height) !important;
    padding: 7px 14px !important;
    border-radius: var(--ui-radius-control) !important;
    font-size: var(--ui-font-label) !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap;
  }

  body.is-nr1.is-authenticated .nr1-header-card__acoes .nr1-ghe-botao,
  body.is-nr1.is-authenticated .nr1-header-card__acoes .nr1-risco-btn,
  body.is-nr1.is-authenticated .nr1-drps-header__acoes .nr1-ghe-botao,
  body.is-nr1.is-authenticated .nr1-drps-header__acoes .nr1-risco-btn {
    min-height: var(--ui-button-compact-height) !important;
    padding: 6px 11px !important;
    font-size: var(--ui-font-small) !important;
  }

  body.is-nr1.is-authenticated .nr1-library-link {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    font-size: var(--ui-font-small) !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
  }

  body.is-nr1.is-authenticated .nr1-library-inline__acoes {
    gap: 8px !important;
  }

  body.is-nr1.is-authenticated .nr1-acao-icone {
    width: var(--ui-icon-button-size) !important;
    height: var(--ui-icon-button-size) !important;
    min-width: var(--ui-icon-button-size) !important;
    min-height: var(--ui-icon-button-size) !important;
    padding: 0 !important;
    border-radius: 9px !important;
  }

  body.is-nr1.is-authenticated .nr1-acao-icone svg {
    width: 15px !important;
    height: 15px !important;
  }

  /* Tabelas */
  body.is-nr1.is-authenticated .nr1-tabela-wrap,
  body.is-nr1.is-authenticated .tabela-wrapper {
    border-radius: var(--ui-radius-card) !important;
  }

  body.is-nr1.is-authenticated .nr1-tabela th,
  body.is-nr1.is-authenticated .nr1-tabela td,
  body.is-nr1.is-authenticated .tabela--projetos-nr1 th,
  body.is-nr1.is-authenticated .tabela--projetos-nr1 td {
    padding: 9px 10px !important;
    font-size: var(--ui-font-table) !important;
    line-height: 1.35 !important;
  }

  body.is-nr1.is-authenticated .nr1-tabela th,
  body.is-nr1.is-authenticated .tabela--projetos-nr1 th {
    font-size: var(--ui-font-label) !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #303e68 !important;
  }

  /* Badges, status e marcadores */
  body.is-nr1.is-authenticated .nr1-badge,
  body.is-nr1.is-authenticated .nr1-ghe-badge,
  body.is-nr1.is-authenticated .nr1-modalidade,
  body.is-nr1.is-authenticated .nr1-status,
  body.is-nr1.is-authenticated .nr1-etapa-num,
  body.is-nr1.is-authenticated .nr1-contador {
    font-size: var(--ui-font-kicker) !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }

  body.is-nr1.is-authenticated .nr1-etapa,
  body.is-nr1.is-authenticated .nr1-grupo-item,
  body.is-nr1.is-authenticated .nr1-vinculado-item,
  body.is-nr1.is-authenticated .nr1-candidato {
    border-radius: 12px !important;
  }

  /* Mensagens e alertas mantem semantica, mas usam escala unica. */
  body.is-nr1.is-authenticated .nr1-alerta,
  body.is-nr1.is-authenticated .alerta--modo-consulta,
  body.is-nr1.is-authenticated .nr1-sucesso {
    padding: 10px 12px !important;
    border-radius: 12px !important;
    font-size: var(--ui-font-body) !important;
    line-height: 1.4 !important;
  }

  /* Resumos, previews e blocos tecnicos */
  body.is-nr1.is-authenticated .nr1-preview,
  body.is-nr1.is-authenticated .nr1-resumo-item,
  body.is-nr1.is-authenticated .nr1-dado,
  body.is-nr1.is-authenticated .nr1-quality,
  body.is-nr1.is-authenticated .nr1-validacao-resumo {
    border-radius: 12px !important;
    font-size: var(--ui-font-body) !important;
    line-height: 1.45 !important;
  }

  /* Fluxos/etapas mais enxutos */
  body.is-nr1.is-authenticated .nr1-etapas {
    gap: 8px !important;
  }

  body.is-nr1.is-authenticated .nr1-etapa {
    padding: 9px 12px !important;
    font-size: var(--ui-font-label) !important;
    line-height: 1.3 !important;
  }

  body.is-nr1.is-authenticated .nr1-funcoes-summary,
  body.is-nr1.is-authenticated .nr1-mapeamentos-summary {
    padding: 10px 12px !important;
    font-size: var(--ui-font-label) !important;
    line-height: 1.35 !important;
  }

  /* Acoes no topo sempre compactas. */
  body.is-nr1.is-authenticated .pagina-topo__acoes > .botao,
  body.is-nr1.is-authenticated .nr1-projetos-acoes > .botao,
  body.is-nr1.is-authenticated .nr1-drps-header__acoes > .botao,
  body.is-nr1.is-authenticated .nr1-header-card__acoes > .botao,
  body.is-nr1.is-authenticated .nr1-drps-header__top > .botao {
    min-height: var(--ui-button-compact-height) !important;
    padding: 6px 11px !important;
    font-size: var(--ui-font-small) !important;
  }

  @media (max-width: 900px) {
    body.is-nr1.is-authenticated .nr1-drps-header__top,
    body.is-nr1.is-authenticated .nr1-header-card__top,
    body.is-nr1.is-authenticated .nr1-section__header {
      align-items: stretch !important;
    }

    body.is-nr1.is-authenticated .nr1-drps-header__acoes,
    body.is-nr1.is-authenticated .nr1-header-card__acoes,
    body.is-nr1.is-authenticated .nr1-projetos-acoes {
      width: 100%;
    }
  }

  @media (max-width: 720px) {
    body.is-nr1.is-authenticated .nr1-drps-header,
    body.is-nr1.is-authenticated .nr1-header-card,
    body.is-nr1.is-authenticated .nr1-card,
    body.is-nr1.is-authenticated .nr1-mini-card {
      padding: 14px !important;
    }

    body.is-nr1.is-authenticated .nr1-ghe-botao,
    body.is-nr1.is-authenticated .nr1-risco-btn,
    body.is-nr1.is-authenticated .nr1-proxima-acao__link {
      white-space: normal !important;
      text-align: center !important;
    }
  }
}
/* ===== Fim | NR-1 Padrao visual global v19 ===== */

/* ===== NR-1 | cadastro de estabelecimento v22 ===== */
.formulario__grupo--textarea-compacto textarea {
  min-height: 68px !important;
  height: 68px;
  resize: vertical;
}
/* ===== Fim | cadastro de estabelecimento v22 ===== */


/* ===== NR-1 | estabelecimento compacto v23 ===== */
body.is-nr1.is-authenticated .formulario__grupo--textarea-compacto textarea {
  min-height: 48px !important;
  height: 48px !important;
  max-height: 96px;
  resize: vertical;
}
/* ===== Fim | estabelecimento compacto v23 ===== */

/* ===== NR-1 | campos de endereco no formato DRPS v24 ===== */
.is-authenticated .formulario__ajuda {
  display: block;
  margin-top: 2px;
  color: #5f7395;
  font-size: 12px;
  line-height: 1.45;
}
/* ===== Fim | campos de endereco no formato DRPS v24 ===== */


/* ===== NR-1 | Caracterização separada GHE x Funções/Cargos v25 ===== */
body.is-nr1.is-authenticated .nr1-carac-page-topo {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
body.is-nr1.is-authenticated .nr1-carac-page-topo h2 {
  margin:8px 0 0;
  color:#303e68;
  font-size:var(--ui-font-page-title);
  line-height:1.2;
}
body.is-nr1.is-authenticated .nr1-carac-page-topo__acoes {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
body.is-nr1.is-authenticated .nr1-carac-page-topo__acoes > .botao {
  min-height:var(--ui-button-compact-height) !important;
  padding:6px 11px !important;
  font-size:var(--ui-font-small) !important;
}
body.is-nr1.is-authenticated .nr1-carac-contexto {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  margin-bottom:16px;
  border:1px solid #dce6f0;
  border-radius:var(--ui-radius-card);
  background:#fff;
}
body.is-nr1.is-authenticated .nr1-carac-contexto > div {
  display:grid;
  gap:3px;
}
body.is-nr1.is-authenticated .nr1-carac-contexto span {
  color:#62748a;
  font-size:var(--ui-font-kicker);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
body.is-nr1.is-authenticated .nr1-carac-contexto strong {
  color:#303e68;
  font-size:18px;
  line-height:1.25;
}
body.is-nr1.is-authenticated .nr1-carac-contexto small {
  color:#53657c;
  font-size:var(--ui-font-body);
}
body.is-nr1.is-authenticated .nr1-carac-contexto--compacto {
  padding:11px 14px;
}
body.is-nr1.is-authenticated .nr1-carac-contexto--ghe {
  background:#f8fbfc;
}
body.is-nr1.is-authenticated .nr1-carac-section-title {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:16px 0 10px;
}
body.is-nr1.is-authenticated .nr1-carac-section-title h3 {
  margin:0;
  color:#303e68;
  font-size:var(--ui-font-section-title);
}
body.is-nr1.is-authenticated .nr1-carac-section-title p {
  margin:4px 0 0;
  color:#607189;
  font-size:var(--ui-font-body);
}
body.is-nr1.is-authenticated .nr1-carac-count {
  color:#2f6fd0;
  font-size:var(--ui-font-small);
  font-weight:800;
}
body.is-nr1.is-authenticated .nr1-carac-ghe-lista {
  display:grid;
  gap:10px;
}
body.is-nr1.is-authenticated .nr1-carac-ghe-card {
  padding:14px 16px;
  border:1px solid #dce6f0;
  border-radius:var(--ui-radius-card);
  background:#fff;
}
body.is-nr1.is-authenticated .nr1-carac-ghe-card__conteudo {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
body.is-nr1.is-authenticated .nr1-carac-ghe-card__principal {
  min-width:0;
}
body.is-nr1.is-authenticated .nr1-carac-ghe-card h4 {
  margin:0;
  color:#303e68;
  font-size:16px;
  line-height:1.25;
}
body.is-nr1.is-authenticated .nr1-carac-ghe-card p {
  margin:4px 0 0;
  color:#586a80;
  font-size:var(--ui-font-body);
  line-height:1.4;
}
body.is-nr1.is-authenticated .nr1-carac-ghe-card__meta {
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin-top:8px;
}
body.is-nr1.is-authenticated .nr1-carac-ghe-card__acoes,
body.is-nr1.is-authenticated .nr1-carac-acoes-icones {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex:0 0 auto;
}
body.is-nr1.is-authenticated .nr1-carac-ghe-card__acoes form,
body.is-nr1.is-authenticated .nr1-carac-acoes-icones form {
  margin:0;
}
body.is-nr1.is-authenticated .nr1-carac-ghe-card__acoes > .botao {
  min-height:var(--ui-button-compact-height) !important;
  padding:6px 11px !important;
  font-size:var(--ui-font-small) !important;
}
body.is-nr1.is-authenticated .nr1-acao-icone {
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:var(--ui-icon-button-size);
  height:var(--ui-icon-button-size);
  min-width:var(--ui-icon-button-size);
  min-height:var(--ui-icon-button-size);
  padding:0;
  border:1px solid #d7e2ef;
  border-radius:9px;
  background:#fff;
  color:#31506f;
  text-decoration:none;
  cursor:pointer;
}
body.is-nr1.is-authenticated .nr1-acao-icone:hover {
  background:#f1f7fb;
  border-color:#a9c2d8;
  color:#2f6fd0;
}
body.is-nr1.is-authenticated .nr1-acao-icone--perigo { color:#b42318; }
body.is-nr1.is-authenticated .nr1-acao-icone--perigo:hover {
  background:#fff4f2;
  border-color:#f0b6ae;
  color:#9b1c13;
}
body.is-nr1.is-authenticated .nr1-acao-icone svg {
  width:15px;
  height:15px;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.is-nr1.is-authenticated .nr1-carac-empty {
  text-align:center;
  color:#5d6e83;
}
body.is-nr1.is-authenticated .nr1-carac-empty strong {
  color:#303e68;
  font-size:15px;
}
body.is-nr1.is-authenticated .nr1-carac-empty p {
  margin:5px 0 0;
  font-size:var(--ui-font-body);
}
body.is-nr1.is-authenticated .nr1-carac-empty--interno {
  padding:20px 10px;
}
body.is-nr1.is-authenticated .nr1-carac-form-card {
  max-width:980px;
}
body.is-nr1.is-authenticated .nr1-carac-form-card textarea {
  min-height:72px !important;
}
body.is-nr1.is-authenticated .nr1-carac-table-card .card__body {
  padding:12px 14px !important;
}
body.is-nr1.is-authenticated .nr1-carac-tabela th:last-child,
body.is-nr1.is-authenticated .nr1-carac-tabela td:last-child {
  width:92px;
  text-align:center;
}
body.is-nr1.is-authenticated .nr1-carac-tabela td:first-child strong {
  display:block;
  color:#303e68;
  font-weight:800;
}
body.is-nr1.is-authenticated .nr1-carac-tabela td:first-child small {
  display:block;
  max-width:720px;
  margin-top:3px;
  color:#66778c;
  font-size:var(--ui-font-small);
  line-height:1.35;
}
@media (max-width:800px) {
  body.is-nr1.is-authenticated .nr1-carac-page-topo,
  body.is-nr1.is-authenticated .nr1-carac-ghe-card__conteudo,
  body.is-nr1.is-authenticated .nr1-carac-contexto {
    align-items:stretch;
    flex-direction:column;
  }
  body.is-nr1.is-authenticated .nr1-carac-page-topo__acoes,
  body.is-nr1.is-authenticated .nr1-carac-ghe-card__acoes {
    justify-content:flex-start;
  }
}
/* ===== Fim | Caracterização separada GHE x Funções/Cargos v25 ===== */


/* ===== NR-1 | vínculo de avaliados por GHE v26 ===== */
body.is-nr1.is-authenticated .nr1-avaliados-topo {
  align-items: flex-start;
}
body.is-nr1.is-authenticated .nr1-avaliados-topo__acoes {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
body.is-nr1.is-authenticated .nr1-avaliados-resumo {
  margin-bottom: 12px !important;
}
body.is-nr1.is-authenticated .nr1-avaliados-kpis {
  grid-template-columns: repeat(3, minmax(160px, 1fr));
}
body.is-nr1.is-authenticated .nr1-regra-curta {
  margin: 0 0 12px;
  padding: 8px 11px;
  border-left: 3px solid #0b8d96;
  border-radius: 8px;
  background: #f3fafb;
  color: #42566f;
  font-size: var(--ui-font-small);
}
body.is-nr1.is-authenticated .nr1-seletor-ghe-card {
  margin-bottom: 12px;
}
body.is-nr1.is-authenticated .nr1-seletor-ghe-card .card__body {
  padding: 12px 14px !important;
}
body.is-nr1.is-authenticated .nr1-seletor-ghe__titulo {
  margin-bottom: 8px;
  color: #303e68;
  font-size: var(--ui-font-label);
  font-weight: 800;
}
body.is-nr1.is-authenticated .nr1-seletor-ghe {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.is-nr1.is-authenticated .nr1-ghe-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid #d7e2ed;
  border-radius: 10px;
  background: #fff;
  color: #18345f;
  text-decoration: none;
  font-size: var(--ui-font-label);
  font-weight: 800;
}
body.is-nr1.is-authenticated .nr1-ghe-tab small {
  color: #718096;
  font-size: 11px;
  font-weight: 700;
}
body.is-nr1.is-authenticated .nr1-ghe-tab.is-active {
  border-color: #0b8d96;
  background: #edf9fa;
  color: #087983;
}
body.is-nr1.is-authenticated .nr1-ghe-tab.is-active small {
  color: #087983;
}
body.is-nr1.is-authenticated .nr1-vinculo-ghe-card {
  overflow: hidden;
}
body.is-nr1.is-authenticated .nr1-vinculo-ghe-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 16px;
  border-bottom: 1px solid #e8eef5;
}
body.is-nr1.is-authenticated .nr1-vinculo-ghe-header h3 {
  margin: 0 0 4px;
  color: #303e68;
  font-size: var(--ui-font-section-title);
}
body.is-nr1.is-authenticated .nr1-vinculo-ghe-header p {
  margin: 0;
  color: #5f7086;
  font-size: var(--ui-font-body);
}
body.is-nr1.is-authenticated .nr1-vinculo-duas-colunas {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 12px;
  padding: 14px 16px 16px;
}
body.is-nr1.is-authenticated .nr1-vinculo-painel {
  min-width: 0;
  padding: 12px;
  border: 1px solid #dfe8f1;
  border-radius: 12px;
  background: #fff;
}
body.is-nr1.is-authenticated .nr1-vinculo-painel--vinculados {
  background: #fbfcfe;
}
body.is-nr1.is-authenticated .nr1-vinculo-painel__cabecalho {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
}
body.is-nr1.is-authenticated .nr1-vinculo-painel__cabecalho h4 {
  margin: 0 0 2px;
  color: #18345f;
  font-size: 15px;
}
body.is-nr1.is-authenticated .nr1-vinculo-painel__cabecalho small {
  color: #718096;
  font-size: 11px;
}
body.is-nr1.is-authenticated .nr1-avaliados-busca {
  margin-bottom: 8px;
}
body.is-nr1.is-authenticated .nr1-avaliados-busca label {
  display: block;
  margin-bottom: 4px;
  color: #303e68;
  font-size: var(--ui-font-label);
  font-weight: 800;
}
body.is-nr1.is-authenticated .nr1-avaliados-busca input,
body.is-nr1.is-authenticated .nr1-vinculo-opcoes select {
  width: 100%;
  min-height: var(--ui-control-height);
  padding: 8px 10px;
  border: 1px solid #d6e0eb;
  border-radius: var(--ui-radius-control);
  background: #fff;
  font-size: var(--ui-font-body);
}
body.is-nr1.is-authenticated .nr1-avaliados-disponiveis,
body.is-nr1.is-authenticated .nr1-vinculados-lista {
  max-height: 300px;
  overflow: auto;
  border-top: 1px solid #edf1f6;
}
body.is-nr1.is-authenticated .nr1-avaliado-linha,
body.is-nr1.is-authenticated .nr1-vinculado-linha {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 9px 4px;
  border-bottom: 1px solid #edf1f6;
}
body.is-nr1.is-authenticated .nr1-avaliado-linha[hidden] {
  display: none !important;
}
body.is-nr1.is-authenticated .nr1-avaliado-linha input {
  flex: 0 0 auto;
  margin-top: 3px;
}
body.is-nr1.is-authenticated .nr1-avaliado-linha__dados,
body.is-nr1.is-authenticated .nr1-vinculado-linha > div {
  min-width: 0;
  flex: 1 1 auto;
}
body.is-nr1.is-authenticated .nr1-avaliado-linha strong,
body.is-nr1.is-authenticated .nr1-vinculado-linha strong {
  display: block;
  color: #303e68;
  font-size: var(--ui-font-body);
  line-height: 1.3;
}
body.is-nr1.is-authenticated .nr1-avaliado-linha small,
body.is-nr1.is-authenticated .nr1-vinculado-linha small {
  display: block;
  margin-top: 2px;
  color: #6a7a8d;
  font-size: var(--ui-font-small);
  line-height: 1.35;
}
body.is-nr1.is-authenticated .nr1-vinculado-linha {
  justify-content: space-between;
}
body.is-nr1.is-authenticated .nr1-vinculo-opcoes {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #edf1f6;
}
body.is-nr1.is-authenticated .nr1-vinculo-ajuda,
body.is-nr1.is-authenticated .nr1-vinculo-vazio {
  display: block;
  color: #66778c;
  font-size: var(--ui-font-small);
  line-height: 1.45;
}
body.is-nr1.is-authenticated .nr1-vinculo-vazio {
  padding: 12px;
  border-radius: 10px;
  background: #f8fafc;
}
body.is-nr1.is-authenticated .nr1-alerta--compacto {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
body.is-nr1.is-authenticated .nr1-acao-icone--perigo {
  border: 1px solid #f2c7c7 !important;
  background: #fff7f7 !important;
  color: #c62828 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}
@media (max-width: 900px) {
  body.is-nr1.is-authenticated .nr1-vinculo-duas-colunas,
  body.is-nr1.is-authenticated .nr1-avaliados-kpis {
    grid-template-columns: 1fr;
  }
  body.is-nr1.is-authenticated .nr1-avaliados-topo__acoes {
    width: 100%;
    justify-content: flex-start;
  }
}
/* ===== Fim | vínculo de avaliados por GHE v26 ===== */


/* ===== NR-1 | ajustes Avaliados + Avaliação Psicossocial v27 ===== */
body.is-nr1.is-authenticated .nr1-avaliados-contexto-card {
  display: grid;
  grid-template-columns: minmax(280px, 1.15fr) minmax(460px, .85fr);
  gap: 18px;
  align-items: center;
  margin-bottom: 12px;
  padding: 14px 16px;
  border: 1px solid #dce6f0;
  border-radius: var(--ui-radius-card);
  background: #fff;
}
body.is-nr1.is-authenticated .nr1-avaliados-contexto__identidade {
  min-width: 0;
}
body.is-nr1.is-authenticated .nr1-avaliados-contexto__identidade > span {
  display: block;
  margin-bottom: 3px;
  color: #2f6fd0;
  font-size: var(--ui-font-kicker);
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
body.is-nr1.is-authenticated .nr1-avaliados-contexto__identidade h3 {
  margin: 0;
  color: #303e68;
  font-size: 20px;
  line-height: 1.2;
}
body.is-nr1.is-authenticated .nr1-avaliados-contexto__identidade p {
  margin: 3px 0 0;
  color: #334b67;
  font-size: var(--ui-font-body);
  font-weight: 700;
}
body.is-nr1.is-authenticated .nr1-avaliados-contexto__identidade small {
  display: block;
  margin-top: 2px;
  color: #68798e;
  font-size: var(--ui-font-small);
  line-height: 1.35;
}
body.is-nr1.is-authenticated .nr1-avaliados-contexto__metricas {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 8px;
}
body.is-nr1.is-authenticated .nr1-avaliados-metrica {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #e0e8f0;
  border-radius: 11px;
  background: #f8fafc;
}
body.is-nr1.is-authenticated .nr1-avaliados-metrica strong {
  display: block;
  color: #303e68;
  font-size: 20px;
  line-height: 1;
  font-weight: 800;
}
body.is-nr1.is-authenticated .nr1-avaliados-metrica span {
  display: block;
  margin-top: 4px;
  color: #5d6f85;
  font-size: 11px;
  line-height: 1.3;
  font-weight: 700;
}
body.is-nr1.is-authenticated .nr1-avaliados-topo__acoes > .botao {
  white-space: nowrap;
}

/* Instrumento DRPS: rádio alinhado ao conteúdo do card. */
body.is-nr1.is-authenticated .nr1-instrumento-card--selecao {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start !important;
  column-gap: 10px;
  row-gap: 0;
  cursor: pointer;
}
body.is-nr1.is-authenticated .nr1-instrumento-card--selecao .nr1-instrumento-radio {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  margin: 3px 0 0 !important;
  padding: 0 !important;
  align-self: start;
}
body.is-nr1.is-authenticated .nr1-instrumento-card__conteudo {
  display: grid;
  min-width: 0;
  gap: 3px;
}
body.is-nr1.is-authenticated .nr1-instrumento-card__nome {
  color: #303e68;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 800;
}
body.is-nr1.is-authenticated .nr1-instrumento-card__conteudo > small {
  color: #64768b;
  font-size: var(--ui-font-small);
  line-height: 1.35;
}
body.is-nr1.is-authenticated .nr1-instrumento-card__conteudo .nr1-instrumento-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 5px;
}

@media (max-width: 1050px) {
  body.is-nr1.is-authenticated .nr1-avaliados-contexto-card {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  body.is-nr1.is-authenticated .nr1-avaliados-contexto__metricas {
    grid-template-columns: 1fr;
  }
  body.is-nr1.is-authenticated .nr1-avaliados-topo__acoes {
    flex-wrap: wrap;
  }
}
/* ===== Fim | ajustes Avaliados + Avaliação Psicossocial v27 ===== */


/* ===== NR-1 | Instrumento DRPS - seletor corrigido v28 ===== */
body.is-nr1.is-authenticated .nr1-instrumento-lista {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 10px !important;
  margin-top: 8px !important;
}
body.is-nr1.is-authenticated .nr1-instrumento-card--selecao {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 14px 16px !important;
  overflow: visible !important;
}
body.is-nr1.is-authenticated .nr1-instrumento-card--selecao .nr1-instrumento-radio {
  position: static !important;
  inset: auto !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  min-height: 17px !important;
  max-width: 17px !important;
  max-height: 17px !important;
  margin: 3px 0 0 !important;
  padding: 0 !important;
  transform: none !important;
  align-self: start !important;
  justify-self: start !important;
}
body.is-nr1.is-authenticated .nr1-instrumento-card--selecao .nr1-instrumento-card__conteudo {
  display: block !important;
  min-width: 0 !important;
  width: auto !important;
  overflow: visible !important;
}
body.is-nr1.is-authenticated .nr1-instrumento-card--selecao .nr1-instrumento-card__nome {
  display: block !important;
  margin: 0 0 4px !important;
  color: #303e68 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
body.is-nr1.is-authenticated .nr1-instrumento-card--selecao .nr1-instrumento-card__conteudo > small {
  display: block !important;
  margin: 2px 0 0 !important;
  color: #64768b !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  word-break: normal !important;
}
body.is-nr1.is-authenticated .nr1-instrumento-card--selecao .nr1-instrumento-card__conteudo > small strong {
  display: inline !important;
  margin: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 800 !important;
}
body.is-nr1.is-authenticated .nr1-instrumento-card--selecao .nr1-instrumento-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 5px !important;
  margin-top: 8px !important;
}
body.is-nr1.is-authenticated .nr1-instrumento-card--selecao:has(.nr1-instrumento-radio:checked) {
  border-color: #078d96 !important;
  background: #f3fbfb !important;
  box-shadow: 0 0 0 2px rgba(7, 141, 150, .08) !important;
}
body.is-nr1.is-authenticated .nr1-instrumento-card--selecao:has(.nr1-instrumento-radio:disabled) {
  cursor: not-allowed;
  opacity: .7;
}
@media (max-width: 720px) {
  body.is-nr1.is-authenticated .nr1-instrumento-lista {
    grid-template-columns: 1fr !important;
  }
}
/* ===== Fim | Instrumento DRPS - seletor corrigido v28 ===== */


/* ===== NR-1 | responsável técnico herdado do Projeto DRPS v29 ===== */
body.is-nr1.is-authenticated .nr1-responsavel-herdado {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin: 12px 0 14px;
  padding: 12px 14px !important;
  border: 1px solid #dbe4f0;
  border-radius: 12px;
  background: #f8fafc;
}
body.is-nr1.is-authenticated .nr1-responsavel-herdado > span {
  color: #607080;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
}
body.is-nr1.is-authenticated .nr1-responsavel-herdado > strong {
  color: #303e68;
  font-size: 14px;
  line-height: 1.35;
}
body.is-nr1.is-authenticated .nr1-responsavel-herdado > small {
  color: #607080;
  font-size: 12px;
  line-height: 1.4;
}
body.is-nr1.is-authenticated .nr1-responsavel-herdado > .nr1-responsavel-herdado__alerta {
  margin-top: 4px;
  color: #9a5700;
}
/* ===== Fim | responsável técnico herdado do Projeto DRPS v29 ===== */

/* ===== NR-1 | navegação do Plano de Ação DRPS v35 ===== */
body.is-nr1.is-authenticated .breadcrumb-pulsar + .nr1-drps-header,
body.is-nr1.is-authenticated .breadcrumb-pulsar + .rel-actions {
  margin-top: 0;
}
body.is-nr1.is-authenticated .breadcrumb-pulsar {
  flex-wrap: wrap;
}
/* ===== Fim | navegação do Plano de Ação DRPS v35 ===== */

/* ===== Eixo Nexus | Fluxo técnico NR-1 Psicossocial ===== */
body.is-nr1.is-authenticated .nr1-psico-hero {
  display:flex; justify-content:space-between; gap:20px; align-items:flex-start;
  padding:22px 24px; margin-bottom:14px; border:1px solid #dbe4f0; border-radius:18px;
  background:linear-gradient(135deg,#ffffff 0%,#f4fbfb 100%); box-shadow:0 8px 24px rgba(15,35,70,.045);
}
body.is-nr1.is-authenticated .nr1-psico-hero h2 { margin:5px 0 8px; color:#303e68; font-size:22px; }
body.is-nr1.is-authenticated .nr1-psico-hero p { margin:0; max-width:850px; color:#526171; line-height:1.55; }
body.is-nr1.is-authenticated .nr1-psico-kicker { display:block; color:#2f6fd0; font-size:11px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
body.is-nr1.is-authenticated .nr1-psico-hero__actions { display:flex; gap:8px; flex-wrap:wrap; }
body.is-nr1.is-authenticated .nr1-psico-stepper { display:grid; grid-template-columns:repeat(7,minmax(100px,1fr)); gap:8px; margin:0 0 14px; }
body.is-nr1.is-authenticated .nr1-psico-step { position:relative; display:flex; align-items:center; gap:8px; min-height:46px; padding:9px 11px; border:1px solid #e4eaf2; border-radius:12px; background:#fff; color:#69778b; font-size:12px; }
body.is-nr1.is-authenticated .nr1-psico-step__dot { width:10px; height:10px; flex:0 0 10px; border-radius:50%; background:#cbd5e1; }
body.is-nr1.is-authenticated .nr1-psico-step.is-done { border-color:#cde8d5; background:#f4fbf6; color:#27743b; }
body.is-nr1.is-authenticated .nr1-psico-step.is-done .nr1-psico-step__dot { background:#20a35a; }
body.is-nr1.is-authenticated .nr1-psico-step.is-active { border-color:#9fd4d7; background:#edf8f8; color:#075f66; box-shadow:inset 0 0 0 1px rgba(7,129,139,.08); }
body.is-nr1.is-authenticated .nr1-psico-step.is-active .nr1-psico-step__dot { background:#2f6fd0; }
body.is-nr1.is-authenticated .nr1-psico-progress-card { display:grid; grid-template-columns:minmax(220px,360px) 1fr; align-items:center; gap:18px; padding:14px 18px; margin-bottom:14px; border:1px solid #dbe4f0; border-radius:14px; background:#fff; }
body.is-nr1.is-authenticated .nr1-psico-progress-card span { color:#68778a; font-size:12px; }
body.is-nr1.is-authenticated .nr1-psico-progress-card strong { display:block; margin-top:2px; color:#303e68; }
body.is-nr1.is-authenticated .nr1-psico-progress { height:8px; border-radius:999px; background:#e9eef5; overflow:hidden; }
body.is-nr1.is-authenticated .nr1-psico-progress span { display:block; height:100%; background:#2f6fd0; }
body.is-nr1.is-authenticated .nr1-psico-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:16px; align-items:start; }
body.is-nr1.is-authenticated .nr1-psico-side, body.is-nr1.is-authenticated .nr1-psico-card, body.is-nr1.is-authenticated .nr1-psico-context, body.is-nr1.is-authenticated .nr1-psico-results-preview { border:1px solid #dbe4f0; border-radius:16px; background:#fff; box-shadow:0 6px 18px rgba(15,35,70,.035); }
body.is-nr1.is-authenticated .nr1-psico-side { position:sticky; top:82px; overflow:hidden; }
body.is-nr1.is-authenticated .nr1-psico-side__head { padding:14px 15px; border-bottom:1px solid #edf1f6; background:#f8fafc; }
body.is-nr1.is-authenticated .nr1-psico-side__head strong, body.is-nr1.is-authenticated .nr1-psico-side__head small { display:block; }
body.is-nr1.is-authenticated .nr1-psico-side__head small { margin-top:3px; color:#748196; }
body.is-nr1.is-authenticated .nr1-psico-ghe-list { display:grid; gap:0; }
body.is-nr1.is-authenticated .nr1-psico-ghe { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid #edf1f6; color:#273957; text-decoration:none; }
body.is-nr1.is-authenticated .nr1-psico-ghe:last-child { border-bottom:0; }
body.is-nr1.is-authenticated .nr1-psico-ghe:hover { background:#f8fbfc; }
body.is-nr1.is-authenticated .nr1-psico-ghe.is-active { background:#edf8f8; box-shadow:inset 3px 0 0 #2f6fd0; }
body.is-nr1.is-authenticated .nr1-psico-ghe strong, body.is-nr1.is-authenticated .nr1-psico-ghe small { display:block; }
body.is-nr1.is-authenticated .nr1-psico-ghe small { margin-top:3px; color:#7a8798; font-size:11px; }
body.is-nr1.is-authenticated .nr1-status-dot { width:9px; height:9px; border-radius:50%; background:#f59e0b; }
body.is-nr1.is-authenticated .nr1-status-dot.is-ok { background:#20a35a; }
body.is-nr1.is-authenticated .nr1-psico-main { display:grid; gap:14px; min-width:0; }
body.is-nr1.is-authenticated .nr1-psico-context { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 18px; }
body.is-nr1.is-authenticated .nr1-psico-context h3 { margin:4px 0; color:#303e68; font-size:18px; }
body.is-nr1.is-authenticated .nr1-psico-context p { margin:0; color:#69778b; }
body.is-nr1.is-authenticated .nr1-psico-context__badges { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
body.is-nr1.is-authenticated .nr1-psico-results-preview { overflow:hidden; }
body.is-nr1.is-authenticated .nr1-psico-results-preview summary { cursor:pointer; padding:13px 16px; font-weight:800; color:#314463; background:#f8fafc; }
body.is-nr1.is-authenticated .nr1-psico-results-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:8px; padding:12px; }
body.is-nr1.is-authenticated .nr1-psico-results-grid article { padding:11px 12px; border:1px solid #edf1f6; border-radius:12px; background:#fff; }
body.is-nr1.is-authenticated .nr1-psico-results-grid article strong, body.is-nr1.is-authenticated .nr1-psico-results-grid article small { display:block; margin-top:6px; }
body.is-nr1.is-authenticated .nr1-psico-results-grid article small { color:#718096; }
body.is-nr1.is-authenticated .nr1-psico-form { display:grid; gap:14px; }
body.is-nr1.is-authenticated .nr1-psico-card { padding:18px; }
body.is-nr1.is-authenticated .nr1-psico-card__head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
body.is-nr1.is-authenticated .nr1-psico-card__head > div { display:flex; align-items:center; gap:9px; }
body.is-nr1.is-authenticated .nr1-psico-card__head > div > span { display:inline-flex; width:26px; height:26px; align-items:center; justify-content:center; border-radius:9px; background:#edf8f8; color:#2f6fd0; font-weight:900; }
body.is-nr1.is-authenticated .nr1-psico-card__head h4 { margin:0; color:#303e68; font-size:17px; }
body.is-nr1.is-authenticated .nr1-psico-card__head small { color:#7b8796; }
body.is-nr1.is-authenticated .nr1-form-modern-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
body.is-nr1.is-authenticated .nr1-form-modern-grid label { display:grid; gap:5px; color:#314463; font-size:13px; font-weight:800; }
body.is-nr1.is-authenticated .nr1-form-modern-grid label.is-full { grid-column:1/-1; }
body.is-nr1.is-authenticated .nr1-form-modern-grid input, body.is-nr1.is-authenticated .nr1-form-modern-grid select, body.is-nr1.is-authenticated .nr1-form-modern-grid textarea { width:100%; border:1px solid #cfd9e6; border-radius:10px; background:#fff; padding:10px 11px; font-family:inherit; font-size:inherit; font-weight:400; color:#263a58; }
body.is-nr1.is-authenticated .nr1-form-modern-grid select, body.is-nr1.is-authenticated .nr1-form-modern-grid input { min-height:40px; }
body.is-nr1.is-authenticated .nr1-form-modern-grid textarea { resize:vertical; line-height:1.45; }
body.is-nr1.is-authenticated .nr1-form-modern-grid input:focus, body.is-nr1.is-authenticated .nr1-form-modern-grid select:focus, body.is-nr1.is-authenticated .nr1-form-modern-grid textarea:focus { outline:2px solid rgba(7,129,139,.16); border-color:#2f6fd0; }
body.is-nr1.is-authenticated .nr1-check-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:8px; }
body.is-nr1.is-authenticated .nr1-check-card { display:flex; align-items:center; gap:8px; min-height:42px; padding:9px 11px; border:1px solid #dbe4f0; border-radius:10px; background:#fbfcfe; color:#384b67; font-size:13px; cursor:pointer; }
body.is-nr1.is-authenticated .nr1-check-card:has(input:checked) { border-color:#9fd4d7; background:#edf8f8; }
body.is-nr1.is-authenticated .nr1-check-card input { width:16px; height:16px; }
body.is-nr1.is-authenticated .nr1-toggle-row { display:flex; gap:18px; flex-wrap:wrap; margin-top:14px; padding-top:14px; border-top:1px solid #edf1f6; }
body.is-nr1.is-authenticated .nr1-toggle-row label { display:flex; align-items:center; gap:7px; color:#44556d; font-size:13px; font-weight:700; }
body.is-nr1.is-authenticated .nr1-psico-sticky-actions { position:sticky; bottom:10px; z-index:8; display:flex; justify-content:space-between; align-items:center; gap:14px; padding:12px 14px; border:1px solid #cfdbe8; border-radius:14px; background:rgba(255,255,255,.96); box-shadow:0 12px 32px rgba(15,35,70,.12); backdrop-filter:blur(10px); }
body.is-nr1.is-authenticated .nr1-psico-sticky-actions strong, body.is-nr1.is-authenticated .nr1-psico-sticky-actions small { display:block; }
body.is-nr1.is-authenticated .nr1-psico-sticky-actions small { color:#788598; margin-top:2px; }
@media (max-width:1100px) { body.is-nr1.is-authenticated .nr1-psico-stepper { grid-template-columns:repeat(4,1fr); } body.is-nr1.is-authenticated .nr1-psico-layout { grid-template-columns:1fr; } body.is-nr1.is-authenticated .nr1-psico-side { position:static; } }
@media (max-width:760px) { body.is-nr1.is-authenticated .nr1-psico-hero, body.is-nr1.is-authenticated .nr1-psico-context, body.is-nr1.is-authenticated .nr1-psico-sticky-actions { flex-direction:column; align-items:stretch; } body.is-nr1.is-authenticated .nr1-psico-stepper { grid-template-columns:1fr 1fr; } body.is-nr1.is-authenticated .nr1-psico-progress-card { grid-template-columns:1fr; } body.is-nr1.is-authenticated .nr1-form-modern-grid { grid-template-columns:1fr; } body.is-nr1.is-authenticated .nr1-psico-context__badges { justify-content:flex-start; } }
body.is-nr1.is-authenticated .nr1-psico-next-action { display:flex; justify-content:space-between; align-items:center; gap:18px; margin:14px 0 20px; padding:17px 18px; border:1px solid #9fd4d7; border-radius:16px; background:linear-gradient(135deg,#edf8f8 0%,#f8fcfc 100%); }
body.is-nr1.is-authenticated .nr1-psico-next-action h3 { margin:4px 0 5px; color:#303e68; font-size:18px; }
body.is-nr1.is-authenticated .nr1-psico-next-action p { margin:0; color:#526171; max-width:900px; }
@media (max-width:760px) { body.is-nr1.is-authenticated .nr1-psico-next-action { flex-direction:column; align-items:stretch; } }
body.is-nr1.is-authenticated .nr1-psico-aep-summary { padding:15px 17px; border:1px solid #cfe7e8; border-radius:14px; background:#f4fbfb; }
body.is-nr1.is-authenticated .nr1-psico-aep-summary strong { display:block; margin-top:3px; color:#303e68; }
body.is-nr1.is-authenticated .nr1-psico-aep-summary p { margin:8px 0 0; color:#526171; line-height:1.5; }
body.is-nr1.is-authenticated .nr1-risk-list { display:grid; gap:10px; }
body.is-nr1.is-authenticated .nr1-risk-card { border:1px solid #dbe4f0; border-radius:14px; background:#fff; overflow:hidden; box-shadow:0 5px 16px rgba(15,35,70,.03); }
body.is-nr1.is-authenticated .nr1-risk-card > summary { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:13px 15px; cursor:pointer; list-style:none; background:#fbfcfe; }
body.is-nr1.is-authenticated .nr1-risk-card > summary::-webkit-details-marker { display:none; }
body.is-nr1.is-authenticated .nr1-risk-card[open] > summary { border-bottom:1px solid #edf1f6; background:#f8fbfc; }
body.is-nr1.is-authenticated .nr1-risk-card__title { display:flex; align-items:center; gap:10px; min-width:0; }
body.is-nr1.is-authenticated .nr1-risk-card__title > span:last-child { min-width:0; }
body.is-nr1.is-authenticated .nr1-risk-card__title strong, body.is-nr1.is-authenticated .nr1-risk-card__title small { display:block; overflow-wrap:anywhere; }
body.is-nr1.is-authenticated .nr1-risk-card__title strong { color:#303e68; }
body.is-nr1.is-authenticated .nr1-risk-card__title small { margin-top:3px; color:#718096; }
body.is-nr1.is-authenticated .nr1-risk-card__meta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
body.is-nr1.is-authenticated .nr1-risk-card__meta small { color:#708095; }
body.is-nr1.is-authenticated .nr1-risk-card__body { padding:15px; }
body.is-nr1.is-authenticated .nr1-risk-suggestion { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:13px; padding:10px 12px; border:1px solid #dbe7ff; border-radius:11px; background:#f5f8ff; color:#3b4f73; }
body.is-nr1.is-authenticated .nr1-risk-suggestion strong { color:#303e68; }
body.is-nr1.is-authenticated .nr1-risk-suggestion small { flex-basis:100%; color:#687890; }
@media (max-width:760px) { body.is-nr1.is-authenticated .nr1-risk-card > summary { align-items:flex-start; flex-direction:column; } body.is-nr1.is-authenticated .nr1-risk-card__meta { justify-content:flex-start; } }
body.is-nr1.is-authenticated .nr1-history-list { display:grid; gap:10px; }
body.is-nr1.is-authenticated .nr1-history-card { border:1px solid #dbe4f0; border-radius:14px; background:#fff; overflow:hidden; }
body.is-nr1.is-authenticated .nr1-history-card summary { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 16px; cursor:pointer; background:#f8fafc; }
body.is-nr1.is-authenticated .nr1-history-card summary strong, body.is-nr1.is-authenticated .nr1-history-card summary small { display:block; }
body.is-nr1.is-authenticated .nr1-history-card summary small { margin-top:3px; color:#718096; }
body.is-nr1.is-authenticated .nr1-history-card__body { padding:14px 16px; }
body.is-nr1.is-authenticated .nr1-inventory-grid { display:grid; gap:10px; }
body.is-nr1.is-authenticated .nr1-inventory-item { border:1px solid #dbe4f0; border-radius:14px; background:#fff; overflow:hidden; }
body.is-nr1.is-authenticated .nr1-inventory-item summary { display:grid; grid-template-columns:minmax(160px,1fr) minmax(220px,2fr) repeat(3,auto); align-items:center; gap:12px; padding:13px 15px; cursor:pointer; background:#fbfcfe; }
body.is-nr1.is-authenticated .nr1-inventory-item[open] summary { border-bottom:1px solid #edf1f6; }
body.is-nr1.is-authenticated .nr1-inventory-item summary strong, body.is-nr1.is-authenticated .nr1-inventory-item summary small { display:block; }
body.is-nr1.is-authenticated .nr1-inventory-item summary small { margin-top:3px; color:#748196; }
body.is-nr1.is-authenticated .nr1-inventory-item__body { padding:15px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
body.is-nr1.is-authenticated .nr1-inventory-field { padding:11px 12px; border:1px solid #edf1f6; border-radius:11px; background:#fbfcfe; }
body.is-nr1.is-authenticated .nr1-inventory-field.is-full { grid-column:1/-1; }
body.is-nr1.is-authenticated .nr1-inventory-field span { display:block; color:#718096; font-size:11px; text-transform:uppercase; letter-spacing:.04em; font-weight:800; }
body.is-nr1.is-authenticated .nr1-inventory-field p { margin:5px 0 0; color:#334762; line-height:1.45; white-space:pre-line; }
@media (max-width:900px) { body.is-nr1.is-authenticated .nr1-inventory-item summary { grid-template-columns:1fr 1fr; } body.is-nr1.is-authenticated .nr1-inventory-item__body { grid-template-columns:1fr; } body.is-nr1.is-authenticated .nr1-inventory-field.is-full { grid-column:auto; } }
/* ===== Eixo Nexus | PSICO-04 Plano de Ação + eficácia ===== */
body.is-nr1.is-authenticated .nr1-plan-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(360px,1fr)); gap:14px; }
body.is-nr1.is-authenticated .nr1-plan-card { display:flex; flex-direction:column; gap:12px; padding:17px; border:1px solid #dbe4f0; border-radius:16px; background:#fff; box-shadow:0 6px 18px rgba(15,35,70,.035); }
body.is-nr1.is-authenticated .nr1-plan-card__top { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
body.is-nr1.is-authenticated .nr1-plan-card__top h3 { margin:4px 0 0; color:#303e68; font-size:17px; }
body.is-nr1.is-authenticated .nr1-plan-card__suggestion { margin:0; padding:11px 12px; border-radius:11px; background:#f8fafc; color:#40536d; line-height:1.45; }
body.is-nr1.is-authenticated .nr1-plan-meta { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
body.is-nr1.is-authenticated .nr1-plan-meta span { padding:9px 10px; border:1px solid #edf1f6; border-radius:10px; background:#fbfcfe; }
body.is-nr1.is-authenticated .nr1-plan-meta small, body.is-nr1.is-authenticated .nr1-plan-meta strong { display:block; }
body.is-nr1.is-authenticated .nr1-plan-meta small { color:#718096; font-size:10px; text-transform:uppercase; font-weight:800; letter-spacing:.03em; }
body.is-nr1.is-authenticated .nr1-plan-meta strong { margin-top:3px; color:#233a5a; font-size:12px; }
body.is-nr1.is-authenticated .nr1-plan-card__actions { display:flex; gap:7px; flex-wrap:wrap; margin-top:auto; padding-top:3px; }
body.is-nr1.is-authenticated .nr1-pill { display:inline-flex; align-items:center; min-height:27px; padding:4px 9px; border-radius:999px; background:#eef4f8; color:#50647d; font-size:11px; font-weight:800; white-space:nowrap; }
body.is-nr1.is-authenticated .nr1-pill--warn { background:#fff7ed; color:#9a5700; }
body.is-nr1.is-authenticated .nr1-plan-config-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:16px; align-items:start; }
body.is-nr1.is-authenticated .nr1-plan-origin { display:grid; gap:0; padding:8px 14px 14px; }
body.is-nr1.is-authenticated .nr1-plan-origin span { margin-top:10px; color:#718096; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
body.is-nr1.is-authenticated .nr1-plan-origin strong { margin-top:2px; color:#253b59; font-size:13px; }
body.is-nr1.is-authenticated .nr1-callout-text { margin:0 0 7px; padding:12px 14px; border-left:3px solid #2f6fd0; border-radius:0 10px 10px 0; background:#f3fbfb; color:#334b65; line-height:1.55; }
@media (max-width:900px) { body.is-nr1.is-authenticated .nr1-plan-config-layout { grid-template-columns:1fr; } body.is-nr1.is-authenticated .nr1-plan-meta { grid-template-columns:1fr 1fr; } }
@media (max-width:620px) { body.is-nr1.is-authenticated .nr1-plan-grid { grid-template-columns:1fr; } body.is-nr1.is-authenticated .nr1-plan-meta { grid-template-columns:1fr; } }
/* ===== Fim PSICO-04 ===== */

body.is-nr1.is-authenticated .nr1-psico-autofill-note { margin:0 0 14px; padding:10px 12px; border:1px solid #cfe6e7; border-radius:10px; background:#f4fbfb; color:#3f5d66; font-size:12px; font-weight:500; }

/* ===== NR1 Psicossocial · redesign da tela de avaliação de risco (v42) ===== */
body.is-nr1.is-authenticated .nr1-risk-purpose-card {
  display:grid;
  grid-template-columns:minmax(260px,1.2fr) minmax(280px,1fr);
  gap:16px;
  margin:0 0 14px;
  padding:16px 18px;
  border:1px solid #dbe4f0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 18px rgba(15,35,70,.035);
}
body.is-nr1.is-authenticated .nr1-risk-purpose-card__intro h3 { margin:4px 0 6px; color:#303e68; font-size:18px; }
body.is-nr1.is-authenticated .nr1-risk-purpose-card__intro p { margin:0; color:#526171; line-height:1.55; }
body.is-nr1.is-authenticated .nr1-risk-purpose-card__stats {
  display:grid;
  grid-template-columns:repeat(2,minmax(120px,1fr));
  gap:10px;
  align-content:start;
}
body.is-nr1.is-authenticated .nr1-risk-purpose-card__stats article,
body.is-nr1.is-authenticated .nr1-risk-overview-card {
  padding:12px 14px;
  border:1px solid #e5ebf3;
  border-radius:14px;
  background:#fbfcfe;
}
body.is-nr1.is-authenticated .nr1-risk-purpose-card__stats strong,
body.is-nr1.is-authenticated .nr1-risk-overview-card strong { display:block; color:#303e68; font-size:24px; line-height:1; }
body.is-nr1.is-authenticated .nr1-risk-purpose-card__stats span,
body.is-nr1.is-authenticated .nr1-risk-overview-card span { display:block; margin-top:6px; color:#6b7a8d; font-size:12px; }
body.is-nr1.is-authenticated .nr1-risk-overview-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(130px,1fr));
  gap:12px;
}
body.is-nr1.is-authenticated .nr1-risk-overview-card.is-danger { border-color:#f2d4d8; background:#fff8f8; }
body.is-nr1.is-authenticated .nr1-risk-overview-card.is-warning { border-color:#f5e1b8; background:#fffaf1; }
body.is-nr1.is-authenticated .nr1-risk-overview-card.is-success { border-color:#d7ecdc; background:#f7fcf8; }
body.is-nr1.is-authenticated .nr1-risk-table-card {
  border:1px solid #dbe4f0;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(15,35,70,.035);
}
body.is-nr1.is-authenticated .nr1-risk-table-card__head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:16px 18px;
  border-bottom:1px solid #edf1f6;
  background:#fbfcfe;
}
body.is-nr1.is-authenticated .nr1-risk-table-card__head h4 { margin:0 0 4px; color:#303e68; font-size:18px; }
body.is-nr1.is-authenticated .nr1-risk-table-card__head p { margin:0; color:#67778a; }
body.is-nr1.is-authenticated .nr1-risk-table-card__legend { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
body.is-nr1.is-authenticated .nr1-risk-table-wrap { overflow:auto; }
body.is-nr1.is-authenticated .nr1-risk-table {
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
body.is-nr1.is-authenticated .nr1-risk-table thead th {
  position:sticky;
  top:0;
  z-index:2;
  padding:12px 14px;
  background:#f8fafc;
  color:#516174;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
  text-align:left;
  border-bottom:1px solid #e7edf4;
}
body.is-nr1.is-authenticated .nr1-risk-table tbody td {
  padding:14px;
  vertical-align:top;
  border-bottom:1px solid #eef2f6;
  color:#23354f;
}
body.is-nr1.is-authenticated .nr1-risk-table tbody td strong,
body.is-nr1.is-authenticated .nr1-risk-table tbody td small { display:block; }
body.is-nr1.is-authenticated .nr1-risk-table tbody td small { margin-top:4px; color:#6f7f92; line-height:1.45; }
body.is-nr1.is-authenticated .nr1-risk-table .is-actions { width:130px; text-align:right; white-space:nowrap; }
body.is-nr1.is-authenticated .botao--mini { padding:8px 12px; min-height:auto; font-size:13px; }
body.is-nr1.is-authenticated .nr1-risk-table__detail { display:none; }
body.is-nr1.is-authenticated .nr1-risk-table__detail.is-open { display:table-row; }
body.is-nr1.is-authenticated .nr1-risk-table__detail td { padding:0; background:#fbfdff; }
body.is-nr1.is-authenticated .nr1-risk-editor { padding:16px; }
body.is-nr1.is-authenticated .nr1-risk-editor__header {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}
body.is-nr1.is-authenticated .nr1-risk-editor__header strong { color:#303e68; font-size:16px; }
body.is-nr1.is-authenticated .nr1-risk-editor__header small { display:block; margin-top:3px; color:#6f7f92; }
body.is-nr1.is-authenticated .nr1-risk-editor__badges { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
@media (max-width:1100px) {
  body.is-nr1.is-authenticated .nr1-risk-purpose-card,
  body.is-nr1.is-authenticated .nr1-risk-overview-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
  body.is-nr1.is-authenticated .nr1-risk-purpose-card,
  body.is-nr1.is-authenticated .nr1-risk-overview-grid { grid-template-columns:1fr; }
  body.is-nr1.is-authenticated .nr1-risk-table-card__head,
  body.is-nr1.is-authenticated .nr1-risk-editor__header { flex-direction:column; align-items:stretch; }
  body.is-nr1.is-authenticated .nr1-risk-table .is-actions { width:auto; text-align:left; }
}

/* Semântica visual local da avaliação de risco */
body.is-nr1.is-authenticated .nr1-badge { display:inline-flex; align-items:center; min-height:24px; padding:4px 9px; border-radius:999px; font-size:11px; font-weight:700; line-height:1.2; }
body.is-nr1.is-authenticated .nr1-badge--critico { background:#fff1f2; color:#b42343; }
body.is-nr1.is-authenticated .nr1-badge--atencao { background:#fff7ed; color:#9a5700; }
body.is-nr1.is-authenticated .nr1-badge--ok { background:#eefaf2; color:#287846; }
body.is-nr1.is-authenticated .nr1-badge--neutro { background:#f1f5f9; color:#607087; }


/* NR-1 DRPS — central de entregáveis da aplicação */
body.is-nr1.is-authenticated .nr1-entregaveis-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
body.is-nr1.is-authenticated .nr1-entregavel-card {
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:132px;
  padding:17px 18px;
  border:1px solid #dce6ef;
  border-radius:16px;
  background:#fff;
  text-decoration:none;
  box-shadow:0 7px 18px rgba(15,35,70,.035);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
body.is-nr1.is-authenticated a.nr1-entregavel-card.is-ready:hover {
  transform:translateY(-2px);
  border-color:#83cbd0;
  box-shadow:0 10px 24px rgba(15,35,70,.08);
}
body.is-nr1.is-authenticated .nr1-entregavel-card strong {
  margin-top:16px;
  color:#303e68;
  font-size:15px;
  font-weight:800;
}
body.is-nr1.is-authenticated .nr1-entregavel-card small {
  margin-top:5px;
  color:#68788d;
  font-size:12px;
  font-weight:400;
  line-height:1.45;
}
body.is-nr1.is-authenticated .nr1-entregavel-card__status {
  align-self:flex-start;
  padding:4px 8px;
  border-radius:999px;
  background:#edf8f8;
  color:#087b83;
  font-size:11px;
  font-weight:700;
}
body.is-nr1.is-authenticated .nr1-entregavel-card.is-primary {
  border-color:#9bd5d9;
  background:linear-gradient(180deg,#f5fcfc 0%,#fff 100%);
}
body.is-nr1.is-authenticated .nr1-entregavel-card.is-primary .nr1-entregavel-card__status {
  background:#078d97;
  color:#fff;
}
body.is-nr1.is-authenticated .nr1-entregavel-card.is-disabled {
  background:#f7f9fb;
  border-style:dashed;
  box-shadow:none;
  opacity:.7;
}
body.is-nr1.is-authenticated .nr1-entregavel-card.is-disabled .nr1-entregavel-card__status {
  background:#edf1f5;
  color:#7b8796;
}
@media (max-width:1100px) {
  body.is-nr1.is-authenticated .nr1-entregaveis-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  body.is-nr1.is-authenticated .nr1-entregaveis-grid { grid-template-columns:1fr; }
}


/* ===== Health View | Rebranding global e Central de Entregáveis v47 ===== */
:root{
  --brand-navy:#303e68;
  --brand-navy-deep:#222f50;
  --brand-teal:#2f6fd0;
  --brand-teal-dark:#245bb4;
  --brand-teal-soft:#edf4ff;
  --brand-cyan:#3fb5ad;
  --brand-blue:#2f6fd0;
  --primary:var(--brand-blue);
  --primary-dark:#245bb4;
  --sidebar:var(--brand-navy);
}
.health-view-brand-lockup{display:flex;align-items:center;gap:10px;justify-content:center;text-align:left}.health-view-brand-lockup .sidebar__brand-logo{width:58px!important;height:58px!important;margin:0!important;max-height:none!important;border-radius:14px;background:#fff}.health-view-brand-text strong{display:block;color:#303e68;font-size:22px;line-height:1}.health-view-brand-text strong span{color:#2f6fd0}.health-view-brand-text small{display:block;margin-top:6px;color:#64748b;font-size:9px;line-height:1.25}.portal-brand__logo{width:46px!important;height:46px!important;max-height:46px!important;object-fit:contain;background:#fff;border-radius:10px}.health-view-brand-name{font-weight:900;color:#303e68;font-size:18px;white-space:nowrap}.health-view-brand-name strong{color:#2f6fd0}.login-brand-logo{width:min(380px,80%)!important;border-radius:24px!important;max-height:390px!important}.nr1-central-bloco{border:1px solid #dbe4f0;border-radius:16px;background:#fff;padding:16px;margin-top:12px}.nr1-central-bloco--docs{background:linear-gradient(135deg,#fff 0%,#f6f9ff 100%)}.nr1-central-bloco__titulo{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#53637a;margin-bottom:10px}.nr1-central-acoes{display:flex;gap:8px;flex-wrap:wrap}.nr1-entregaveis-grid--documentos{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.nr1-entregavel-card{display:flex!important;flex-direction:column;min-height:185px}.nr1-entregavel-card__acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:14px}.nr1-entregavel-card__acoes a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border-radius:9px;border:1px solid #bcd0ef;background:#fff;color:#2f6fd0;font-size:12px;font-weight:800;text-decoration:none}.nr1-entregavel-card__acoes a:hover{background:#edf4ff;border-color:#2f6fd0}.nr1-entregavel-card.is-primary .nr1-entregavel-card__acoes a{border-color:rgba(255,255,255,.65);background:rgba(255,255,255,.95)}.nr1-central-aux{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:12px;font-size:12px}.nr1-central-aux a{color:#2f6fd0;font-weight:800;text-decoration:none}.topbar-user-menu__avatar,.portal-user-chip__avatar{background:linear-gradient(135deg,#303e68,#2f6fd0)!important}.botao,.pa-btn--primary{background:#2f6fd0}.botao:hover,.pa-btn--primary:hover{background:#245bb4}.nr1-progresso span{background:linear-gradient(90deg,#3fb5ad,#2f6fd0)}


/* ===== Health View | Correções cumulativas de UX v48 ===== */
/* O rebranding v47 não pode sobrescrever a semântica dos botões secundários/instruções. */
.is-authenticated .botao.botao--instrucoes,
.is-authenticated button.botao.botao--instrucoes,
.is-authenticated a.botao.botao--instrucoes {
  background:#fff !important;
  color:#2f6fd0 !important;
  border:1px solid #bcd0ef !important;
  box-shadow:none !important;
}
.is-authenticated .botao.botao--instrucoes:hover,
.is-authenticated button.botao.botao--instrucoes:hover,
.is-authenticated a.botao.botao--instrucoes:hover {
  background:#edf4ff !important;
  color:#245bb4 !important;
  border-color:#7fa8e9 !important;
}
.is-authenticated .botao.botao--secundario,
.is-authenticated button.botao.botao--secundario,
.is-authenticated a.botao.botao--secundario {
  background:#fff !important;
  color:#303e68 !important;
  border:1px solid #d4deeb !important;
}
.is-authenticated .botao.botao--secundario:hover,
.is-authenticated button.botao.botao--secundario:hover,
.is-authenticated a.botao.botao--secundario:hover {
  background:#f5f8ff !important;
  color:#2f6fd0 !important;
  border-color:#a9c1e8 !important;
}

/* Projetos NR-1: preserva o layout homologado com etapa/proxima ação/outras ações. */
body.is-nr1.is-authenticated .tabela--projetos-nr1 { table-layout:auto; }
body.is-nr1.is-authenticated .tabela--projetos-nr1 td { min-width:0; }
body.is-nr1.is-authenticated .nr1-etapa-atual { min-width:180px; }
body.is-nr1.is-authenticated .nr1-proxima-acao { min-width:190px; }
body.is-nr1.is-authenticated .nr1-proxima-acao__link { background:#2f6fd0; border-color:#2f6fd0; }
body.is-nr1.is-authenticated .nr1-proxima-acao__link:hover { background:#245bb4; }

/* Inventário/Plano: os indicadores não podem aparecer como textos soltos. */
body.is-nr1.is-authenticated .nr1-mini-grid {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(120px,1fr));
  gap:10px !important;
  margin-top:12px;
}
body.is-nr1.is-authenticated .nr1-mini-card {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  min-height:82px;
  padding:12px 14px !important;
  border:1px solid #dbe4f0;
  border-radius:13px;
  background:#fff;
  box-shadow:0 4px 14px rgba(20,39,75,.03);
}
body.is-nr1.is-authenticated .nr1-mini-card strong {
  display:block;
  color:#303e68;
  font-size:22px;
  line-height:1.1;
  font-weight:800;
}
body.is-nr1.is-authenticated .nr1-mini-card span {
  display:block;
  margin-top:5px;
  color:#66768b;
  font-size:12px;
  font-weight:500;
}

/* Gestão do Plano: cards responsivos e conteúdo sempre contido. */
body.is-nr1.is-authenticated .nr1-plan-grid {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr)) !important;
  align-items:stretch;
}
body.is-nr1.is-authenticated .nr1-plan-card {
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
body.is-nr1.is-authenticated .nr1-plan-card__top > div,
body.is-nr1.is-authenticated .nr1-plan-card__suggestion,
body.is-nr1.is-authenticated .nr1-plan-meta span {
  min-width:0;
  overflow-wrap:anywhere;
}
body.is-nr1.is-authenticated .nr1-plan-meta {
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
body.is-nr1.is-authenticated .nr1-plan-card__actions .botao {
  min-width:0 !important;
  max-width:100%;
  white-space:normal !important;
  text-align:center;
}

/* Avaliação de riscos: botão final não deve disputar espaço com o rodapé do card. */
body.is-nr1.is-authenticated .nr1-risk-validation-bar {
  gap:10px;
  flex-wrap:wrap;
}

@media (max-width:900px) {
  body.is-nr1.is-authenticated .nr1-mini-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  body.is-nr1.is-authenticated .nr1-mini-grid,
  body.is-nr1.is-authenticated .nr1-plan-meta { grid-template-columns:1fr !important; }
}
/* ===== Fim Health View v48 ===== */

/* ========================================================================== */
/* Health View v49 - Jornada DRPS centralizada                               */
/* ========================================================================== */
.hv-jornada{
    display:grid;
    grid-template-columns:repeat(9,minmax(120px,1fr));
    gap:10px;
    margin-top:12px;
    overflow-x:auto;
    padding-bottom:4px;
}
.hv-jornada__etapa{
    min-width:120px;
    min-height:76px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px;
    border:1px solid #dbe5f3;
    border-radius:14px;
    background:#fff;
    color:#19335f;
    text-decoration:none;
    transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
a.hv-jornada__etapa:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(19,53,103,.08);text-decoration:none}
.hv-jornada__numero{
    flex:0 0 30px;
    width:30px;
    height:30px;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-weight:900;
    background:#edf2f8;
    color:#60738d;
}
.hv-jornada__etapa strong{display:block;font-size:13px;line-height:1.2}
.hv-jornada__etapa small{display:block;margin-top:4px;color:#718198;font-size:11px;line-height:1.2}
.hv-jornada__etapa.is-concluida{background:#f3fbf7;border-color:#cdebd8}
.hv-jornada__etapa.is-concluida .hv-jornada__numero{background:#e4f7eb;color:#14834a}
.hv-jornada__etapa.is-atual{background:#eef9fb;border-color:#78cfd4;box-shadow:0 0 0 2px rgba(30,151,160,.07)}
.hv-jornada__etapa.is-atual .hv-jornada__numero{background:#1b98a1;color:#fff}
.hv-jornada__etapa.is-bloqueada{opacity:.56;background:#f7f9fc;cursor:not-allowed}
.hv-proxima-acao{
    margin-top:16px;
    padding:16px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    border:1px solid #b8e1e5;
    border-radius:16px;
    background:#f3fbfc;
}
.hv-proxima-acao>div>span{display:block;color:#1b7f89;font-size:11px;font-weight:900;letter-spacing:.08em}
.hv-proxima-acao>div>strong{display:block;margin:4px 0 3px;color:#17345f;font-size:18px}
.hv-proxima-acao>div>small{display:block;color:#60738d;line-height:1.45}
.hv-lock-badge{display:inline-flex;align-items:center;padding:9px 12px;border-radius:999px;background:#eef2f7;color:#526171;font-size:12px;font-weight:800}
.nr1-alerta--congelado{border-color:#b9d8f5;background:#f1f7fd;color:#244c78}
.nr1-alerta__nota{margin-top:8px;font-size:12px;color:#526f8f}
.nr1-psico-next-action.is-locked{border-color:#cdd9e8;background:#f6f8fb}
.nr1-psico-form.is-readonly input,
.nr1-psico-form.is-readonly select,
.nr1-psico-form.is-readonly textarea,
.nr1-psico-form.is-readonly button:not([type="button"]){pointer-events:none}
.nr1-psico-form.is-readonly input,
.nr1-psico-form.is-readonly select,
.nr1-psico-form.is-readonly textarea{background:#f6f8fb;color:#4c5f78;box-shadow:none}
@media(max-width:1100px){.hv-jornada{grid-template-columns:repeat(9,150px)}}
@media(max-width:760px){.hv-proxima-acao{align-items:stretch;flex-direction:column}.hv-proxima-acao .botao{width:100%;text-align:center}}


/* ========================================================================== */
/* Health View v52 - refinamento de cadastros, breadcrumbs e Jornada DRPS     */
/* ========================================================================== */

/* Breadcrumb: rótulos e página atual no mesmo corpo; apenas o separador cresce. */
.is-authenticated .breadcrumb-pulsar,
.is-authenticated .breadcrumb-pulsar a,
.is-authenticated .breadcrumb-pulsar strong,
.is-authenticated .breadcrumb-pulsar span:not([aria-hidden="true"]) {
  font-size: var(--ui-font-label) !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}
.is-authenticated .breadcrumb-pulsar span:not([aria-hidden="true"]) { color: #64748b !important; }
.is-authenticated .breadcrumb-pulsar span[aria-hidden="true"] {
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: #94a3b8 !important;
}

/* Ações auxiliares de cadastro: visíveis sem competir com a ação principal. */
.botao--acao-cadastro,
a.botao--acao-cadastro {
  background: #eef8fb !important;
  border: 1px solid #8ccfd5 !important;
  color: #176f78 !important;
}
.botao--acao-cadastro:hover,
a.botao--acao-cadastro:hover { background: #def2f5 !important; color: #125d64 !important; }

/* Caracterização: novo GHE junto do bloco que ele realmente altera. */
.nr1-carac-section-title__acoes { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.nr1-carac-section-title__acoes .botao { min-height:36px; }

/* Cabeçalho do acompanhamento fora do breadcrumb e sem repetição de empresa/unidade. */
.nr1-breadcrumb-externo { margin-bottom: 10px !important; }
body.is-nr1.is-authenticated .nr1-drps-header { padding:18px 20px; }
body.is-nr1.is-authenticated .nr1-drps-header h2 { margin:4px 0 5px; }
body.is-nr1.is-authenticated .nr1-drps-header .nr1-eyebrow { color: var(--brand-teal); }

/* Jornada: sem rolagem horizontal; leitura em blocos compactos. */
.hv-jornada {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  overflow: visible !important;
  gap: 10px !important;
  padding-bottom: 0 !important;
}
.hv-jornada__etapa { min-width:0 !important; min-height:68px; padding:10px 12px; }
.hv-jornada__etapa strong { font-size:12.5px; }
.hv-jornada__etapa small { font-size:10.5px; }
.hv-proxima-acao { align-items:center; }
.hv-proxima-acao .botao--secundario { flex:0 0 auto; }

.lookup-status:empty { display:none; }

@media (max-width: 900px) {
  .hv-jornada { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .nr1-carac-section-title__acoes { justify-content:flex-start; }
}
@media (max-width: 560px) {
  .hv-jornada { grid-template-columns: 1fr !important; }
}
/* ===== Fim Health View v52 ===== */

/* ========================================================================== */
/* Health View v54 - Jornada DRPS simplificada                               */
/* ========================================================================== */

body.is-nr1.is-authenticated .hv-kpi-com-popover {
  position: relative;
  cursor: help;
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
body.is-nr1.is-authenticated .hv-kpi-com-popover:hover,
body.is-nr1.is-authenticated .hv-kpi-com-popover:focus-visible {
  border-color: rgba(40,111,216,.45);
  box-shadow: 0 8px 22px rgba(26,64,119,.10);
  transform: translateY(-1px);
}
body.is-nr1.is-authenticated .hv-kpi-com-popover span em {
  display: inline-block;
  margin-left: 5px;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  color: #2b6fd8;
}
body.is-nr1.is-authenticated .hv-kpi-popover {
  position: absolute;
  z-index: 80;
  left: 14px;
  top: calc(100% + 8px);
  width: min(290px, calc(100vw - 48px));
  padding: 12px 14px;
  border: 1px solid #d7e2f1;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(18,50,94,.18);
  color: #17345f;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity .14s ease, visibility .14s ease, transform .14s ease;
  pointer-events: none;
}
body.is-nr1.is-authenticated .hv-kpi-com-popover:hover .hv-kpi-popover,
body.is-nr1.is-authenticated .hv-kpi-com-popover:focus .hv-kpi-popover,
body.is-nr1.is-authenticated .hv-kpi-com-popover:focus-within .hv-kpi-popover {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
body.is-nr1.is-authenticated .hv-kpi-popover b {
  display: block;
  margin-bottom: 7px;
  font-size: 12px;
}
body.is-nr1.is-authenticated .hv-kpi-popover ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
body.is-nr1.is-authenticated .hv-kpi-popover li {
  padding: 4px 0;
  border-bottom: 1px solid #eef3f8;
  font-size: 12px;
  line-height: 1.25;
}
body.is-nr1.is-authenticated .hv-kpi-popover li:last-child { border-bottom: 0; }
body.is-nr1.is-authenticated .hv-kpi-popover small,
body.is-nr1.is-authenticated .hv-kpi-popover__vazio {
  display: block;
  margin-top: 6px;
  color: #687c96;
  font-size: 11px;
}

body.is-nr1.is-authenticated .hv-proxima-acao__aux {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 4px;
  color: #286fd8;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
body.is-nr1.is-authenticated .hv-proxima-acao__aux:hover { text-decoration: underline; }

/* O Plano continua sendo uma tela operacional, mas a Jornada DRPS é o hub. */
body.is-nr1.is-authenticated .hv-plan-filtros {
  margin: 16px 0;
  padding: 16px;
  border: 1px solid #dbe5f2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(17,51,96,.04);
}
body.is-nr1.is-authenticated .hv-plan-filtros__cabecalho {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
body.is-nr1.is-authenticated .hv-plan-filtros__cabecalho strong {
  display: block;
  color: #17345f;
  font-size: 15px;
}
body.is-nr1.is-authenticated .hv-plan-filtros__cabecalho small {
  display: block;
  margin-top: 2px;
  color: #687c96;
  font-size: 11px;
}
body.is-nr1.is-authenticated .hv-plan-filtros__cabecalho > span {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef5ff;
  color: #286fd8;
  font-size: 11px;
  font-weight: 900;
}
body.is-nr1.is-authenticated .hv-plan-filtros__campos {
  display: grid;
  grid-template-columns: minmax(220px,1.5fr) repeat(3,minmax(150px,.8fr)) auto;
  gap: 10px;
  align-items: end;
}
body.is-nr1.is-authenticated .hv-plan-filtros__campos label { display: block; min-width: 0; }
body.is-nr1.is-authenticated .hv-plan-filtros__campos label > span {
  display: block;
  margin-bottom: 5px;
  color: #526883;
  font-size: 11px;
  font-weight: 800;
}
body.is-nr1.is-authenticated .hv-plan-filtros__campos input,
body.is-nr1.is-authenticated .hv-plan-filtros__campos select {
  width: 100%;
  min-width: 0;
  height: 40px;
  padding: 0 11px;
  border: 1px solid #d8e2ef;
  border-radius: 10px;
  background: #fff;
  color: #1c355c;
  font-weight: 400;
}
body.is-nr1.is-authenticated .hv-plan-filtros__limpar { min-height: 40px; white-space: nowrap; }
body.is-nr1.is-authenticated .nr1-plan-card[hidden] { display: none !important; }
body.is-nr1.is-authenticated .hv-plan-sem-resultados {
  margin: 14px 0;
  padding: 18px;
  border: 1px dashed #cfdbea;
  border-radius: 14px;
  background: #f9fbfd;
  color: #60758e;
  text-align: center;
}

@media (max-width: 1180px) {
  body.is-nr1.is-authenticated .hv-plan-filtros__campos {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  body.is-nr1.is-authenticated .hv-plan-filtros__limpar { width: 100%; }
}
@media (max-width: 680px) {
  body.is-nr1.is-authenticated .hv-plan-filtros__campos { grid-template-columns: 1fr; }
  body.is-nr1.is-authenticated .hv-kpi-popover { left: 0; }
}

/* Health View v58 — criação da Avaliação Psicossocial */
.nr1-drps-header--avaliacao .nr1-kpis--avaliacao {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.nr1-avaliacao-criacao-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr);
    gap: 18px;
    align-items: start;
}
.nr1-card--avaliacao-config,
.nr1-card--populacao {
    border: 1px solid #dce6f3;
    border-radius: 18px;
    background: #fff;
    padding: 22px;
}
.nr1-card__titulo-linha,
.nr1-instrumento-secao__cabecalho,
.nr1-responsavel-resumo,
.nr1-instrumento-card__linha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}
.nr1-card__titulo-linha {
    margin-bottom: 18px;
}
.nr1-card__titulo-linha h3,
.nr1-instrumento-secao__cabecalho h4 {
    margin: 3px 0 0;
}
.nr1-card__kicker,
.nr1-responsavel-resumo__rotulo {
    display: block;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
    color: #4f6785;
}
.nr1-status-chip {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}
.nr1-status-chip--pronto {
    color: #14743d;
    background: #eaf8ef;
}
.nr1-status-chip--info {
    color: #2456a6;
    background: #edf4ff;
}
.nr1-form-datas {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.nr1-responsavel-resumo {
    margin: 16px 0 22px;
    padding: 14px 16px;
    border: 1px solid #dce6f3;
    border-radius: 14px;
    background: #f8fbff;
}
.nr1-responsavel-resumo strong,
.nr1-responsavel-resumo small {
    display: block;
}
.nr1-responsavel-resumo strong {
    margin-top: 4px;
    color: #17345e;
}
.nr1-responsavel-resumo small {
    margin-top: 3px;
    color: #64748b;
}
.nr1-instrumento-secao {
    padding-top: 18px;
    border-top: 1px solid #e8eef6;
}
.nr1-instrumento-lista--compacta {
    grid-template-columns: 1fr;
}
.nr1-instrumento-lista--compacta .nr1-instrumento-card {
    min-height: auto;
    padding: 15px 16px;
}
.nr1-instrumento-card__linha {
    justify-content: flex-start;
    flex-wrap: wrap;
}
.nr1-instrumento-card__linha small {
    margin: 0;
}
.nr1-instrumento-card--desabilitado {
    opacity: .62;
    cursor: not-allowed;
}
.nr1-avaliacao-criar-acoes {
    justify-content: flex-end;
    padding-top: 18px;
}
.nr1-card--populacao {
    position: sticky;
    top: 18px;
}
.nr1-populacao-total {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 8px 0 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e8eef6;
}
.nr1-populacao-total strong {
    font-size: 32px;
    color: #163b70;
}
.nr1-populacao-total span {
    color: #64748b;
}
.nr1-grupos-lista--compacta {
    gap: 8px;
}
.nr1-grupo-item--compacto {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
}
.nr1-grupo-item--compacto span {
    color: #64748b;
    font-size: 13px;
}
.nr1-link-discreto {
    display: inline-flex;
    margin-top: 16px;
    font-size: 13px;
    font-weight: 700;
    color: #2d68c4;
}
@media (max-width: 980px) {
    .nr1-avaliacao-criacao-grid { grid-template-columns: 1fr; }
    .nr1-card--populacao { position: static; }
}
@media (max-width: 720px) {
    .nr1-drps-header--avaliacao .nr1-kpis--avaliacao,
    .nr1-form-datas { grid-template-columns: 1fr; }
    .nr1-card__titulo-linha,
    .nr1-instrumento-secao__cabecalho,
    .nr1-responsavel-resumo { align-items: flex-start; flex-direction: column; }
}

/* Base visual da criação da Avaliação Psicossocial (movido da view no v58) */
.nr1-drps-header { border:1px solid #dbe4f0; border-radius:16px; background:#fff; padding:20px; margin-bottom:18px; box-shadow:0 8px 20px rgba(15,35,70,.04); }
.nr1-drps-header__top { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:flex-start; }
.nr1-drps-eyebrow { font-size:.8rem; font-weight:800; color:#2d68c4; text-transform:uppercase; letter-spacing:.04em; }
.nr1-drps-header h2 { margin:4px 0; color:#203e70; }
.nr1-drps-contexto { margin:0; color:#526171; }
.nr1-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; margin-top:16px; }
.nr1-kpi { border:1px solid #e4eaf2; background:#f8fafc; border-radius:12px; padding:12px 14px; }
.nr1-kpi strong { display:block; font-size:1.4rem; color:#203e70; }
.nr1-kpi span { color:#5d6b80; font-size:.9rem; }
.nr1-alerta { border:1px solid #f0d5a8; background:#fff8ed; color:#614214; border-radius:12px; padding:14px 16px; margin-bottom:16px; }
.nr1-alerta--ok { border-color:#bfe5c8; background:#f1fbf4; color:#215b2f; }
.nr1-alerta a { font-weight:800; }
.nr1-card { border:1px solid #dbe4f0; border-radius:16px; background:#fff; padding:18px 20px; }
.nr1-card h3 { margin:0 0 14px; color:#203e70; }
.nr1-grupos-lista { display:flex; flex-direction:column; gap:10px; }
.nr1-grupo-item { border:1px solid #e4eaf2; background:#fbfcff; border-radius:12px; padding:12px 14px; }
.nr1-grupo-item strong { color:#203e70; }
.nr1-grupo-item small { display:block; color:#607080; margin-top:3px; }
.nr1-instrumento-lista { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:12px; margin-top:10px; }
.nr1-instrumento-card { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:12px; position:relative; border:1px solid #dbe4f0; border-radius:14px; padding:14px 16px; background:#fff; cursor:pointer; transition:.15s ease; min-height:0; }
.nr1-instrumento-card:hover { border-color:#79aeea; background:#f8fbff; }
.nr1-instrumento-card input { position:static; width:17px; height:17px; margin:3px 0 0; padding:0; }
.nr1-instrumento-card:has(input:checked) { border-color:#3377d6; background:#f3f8ff; box-shadow:0 0 0 2px rgba(51,119,214,.08); }
.nr1-instrumento-card strong { color:#203e70; }
.nr1-instrumento-card small { display:block; color:#607080; margin-top:3px; }
.nr1-instrumento-meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.nr1-badge { display:inline-flex; align-items:center; border-radius:999px; padding:3px 8px; font-size:.75rem; font-weight:800; margin-top:6px; }
.nr1-badge--perguntas { background:#edf4ff; color:#2456a6; }
.nr1-badge--alerta { background:#fff3d8; color:#946000; }
.nr1-form-linha { display:grid; grid-template-columns:1fr; gap:8px; margin-bottom:12px; }
.nr1-form-linha label { font-weight:800; color:#1c3458; }
.nr1-form-linha input { width:100%; }

/* ======================================================================
   v113 — PORTAL DO AVALIADO | PADRÃO VISUAL OFICIAL
   Hierarquia: toolbar/breadcrumb -> contexto -> conteúdo -> ações.
   Mantém os motores e regras de resposta sem alteração funcional.
   ====================================================================== */
.portal-body--autenticado .portal-container {
  width: min(1440px, calc(100% - 32px));
  margin: 18px auto 40px;
}
.portal-page-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 42px;
  margin: 0 0 12px;
}
.portal-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  color: var(--portal-muted);
  font-size: .85rem;
}
.portal-breadcrumb a {
  color: var(--portal-teal-dark);
  font-weight: 750;
}
.portal-breadcrumb a:hover { text-decoration: underline; }
.portal-breadcrumb strong {
  max-width: min(640px, 58vw);
  overflow: hidden;
  color: var(--portal-navy);
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.portal-page-toolbar__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
}
.portal-page-toolbar .botao {
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 10px;
  font-size: .82rem;
}
.portal-context-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 360px);
  align-items: center;
  gap: 26px;
  margin-bottom: 16px;
  padding: 20px 22px;
  border: 1px solid var(--portal-line);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 7px 24px rgba(18,45,84,.035);
}
.portal-context-card--responder { grid-template-columns: 1fr; }
.portal-context-card__main { min-width: 0; }
.portal-context-card__main h1 {
  margin: 0;
  color: var(--portal-navy);
  font-size: clamp(1.45rem, 2vw, 1.8rem);
  line-height: 1.2;
  letter-spacing: -.025em;
}
.portal-context-card__main > p {
  max-width: 920px;
  margin: 6px 0 0;
  color: var(--portal-muted);
  font-size: .93rem;
  line-height: 1.5;
}
.portal-context-card__title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.portal-context-meta {
  display: flex;
  gap: 18px;
  margin-top: 12px;
  color: var(--portal-muted);
  font-size: .8rem;
}
.portal-context-meta--wrap { flex-wrap: wrap; }
.portal-context-meta strong { color: var(--portal-navy); font-weight: 800; }
.portal-context-progress {
  padding: 14px 16px;
  border: 1px solid #e1e9f0;
  border-radius: 13px;
  background: #f8fafc;
}
.portal-context-progress__topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  color: var(--portal-muted);
  font-size: .78rem;
}
.portal-context-progress__topo strong { color: var(--portal-navy); font-size: .9rem; }
.portal-context-progress small { display: block; margin-top: 7px; color: var(--portal-muted); font-size: .72rem; }

/* Dashboard: mais executivo e menos promocional. */
.portal-dashboard-kpis {
  gap: 12px;
  margin-bottom: 22px;
}
.portal-kpi-card {
  min-height: 76px;
  padding: 14px 16px;
  border-radius: 14px;
  box-shadow: none;
}
.portal-kpi-card__icone { width: 42px; height: 42px; border-radius: 11px; }
.portal-kpi-card strong { font-size: 1.35rem; }
.portal-section-heading--compact {
  align-items: center;
  margin: 8px 0 12px;
}
.portal-section-heading--compact h2 {
  margin: 0 0 3px;
  font-size: 1.25rem;
}
.portal-section-heading--compact p { font-size: .86rem; }
.portal-avaliacoes-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.portal-avaliacao-card {
  min-height: 0;
  padding: 18px;
  border-radius: 16px;
  box-shadow: 0 5px 20px rgba(18,45,84,.035);
}
.portal-avaliacao-card:hover { transform: none; box-shadow: 0 8px 24px rgba(18,45,84,.06); }
.portal-avaliacao-card h3 { margin: 12px 0 8px; font-size: 1.1rem; }
.portal-avaliacao-card__descricao { margin-bottom: 14px; }
.portal-avaliacao-card__progresso { padding: 11px 12px; border-radius: 11px; }
.portal-avaliacao-card__acao { min-height: 40px; margin-top: 12px; }

/* Detalhe da avaliação. */
.portal-feedback,
.portal-confirmacao-participacao {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid #cfe2da;
  border-radius: 14px;
  background: #f3faf6;
  box-shadow: none;
}
.portal-feedback--info { border-color: #d8e4ef; background: #f6f9fc; }
.portal-feedback__icone,
.portal-confirmacao-participacao__icone {
  display: grid;
  place-items: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  color: #fff;
  background: var(--portal-success);
  font-weight: 900;
}
.portal-feedback--info .portal-feedback__icone { background: var(--portal-teal); }
.portal-feedback h3,
.portal-confirmacao-participacao h3 { margin: 0 0 3px; color: var(--portal-navy); font-size: .98rem; }
.portal-feedback p,
.portal-confirmacao-participacao p { margin: 0; color: var(--portal-muted); font-size: .83rem; }
.portal-etapas-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.portal-etapa-card {
  display: flex;
  flex-direction: column;
  min-height: 230px;
  padding: 18px;
  border: 1px solid var(--portal-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 5px 20px rgba(18,45,84,.035);
}
.portal-etapa-card--concluida { background: linear-gradient(180deg,#fff 0%,#fbfffd 100%); }
.portal-etapa-card__topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.portal-etapa-card__ordem { color: var(--portal-teal-dark); font-size: .76rem; font-weight: 850; }
.portal-etapa-card h3 { margin: 12px 0 10px; color: var(--portal-navy); font-size: 1.08rem; line-height: 1.3; }
.portal-etapa-card__dimensao { display: flex; flex-direction: column; gap: 2px; margin: 0 0 10px; color: var(--portal-muted); font-size: .78rem; }
.portal-etapa-card__dimensao strong { color: var(--portal-navy); font-size: .86rem; }
.portal-etapa-card__texto { margin: 0 0 14px; color: var(--portal-muted); font-size: .82rem; }
.portal-etapa-card__acao { align-self: flex-start; margin-top: auto; }

/* Resposta da etapa. */
.portal-guidance {
  margin: 0 0 14px;
  padding: 11px 14px;
  color: var(--portal-muted);
  border: 1px solid #dce6ee;
  border-radius: 12px;
  background: #f8fafc;
  font-size: .82rem;
}
.portal-guidance strong { color: var(--portal-navy); }
.portal-body .pergunta-bloco {
  margin-bottom: 12px;
  padding: 0;
  border-radius: 15px;
  box-shadow: none;
}
.portal-body .pergunta-bloco .card__body { padding: 18px 20px; }
.portal-body .pergunta-bloco__codigo { display: none; }
.portal-body .pergunta-bloco__titulo {
  margin: 0 0 5px;
  color: var(--portal-navy);
  font-size: 1rem;
  line-height: 1.42;
}
.portal-body .pergunta-bloco__titulo > span { color: var(--portal-danger); }
.portal-body .pergunta-bloco__ajuda { margin-top: 4px; }
.portal-body .opcoes-lista { gap: 8px; margin-top: 12px; }
.portal-body .pergunta-bloco .opcao-item {
  padding: 9px 11px;
  border-radius: 10px;
  background: #fafbfd;
}
.portal-body .pergunta-bloco .opcao-item:hover { background: #f3f7fb; }
.portal-body .opcao-linha { min-height: 28px; }
.portal-body .opcao-linha input { flex: 0 0 auto; }
.portal-responder-actions {
  position: sticky;
  z-index: 30;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding: 12px 0;
  border-top: 1px solid rgba(217,228,236,.95);
  background: rgba(243,247,250,.94);
  backdrop-filter: blur(10px);
}
.portal-responder-actions__primary { display: flex; align-items: center; gap: 9px; }

/* Formulários do portal. */
.portal-profile-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 14px;
}
.portal-form-card {
  overflow: hidden;
  border: 1px solid var(--portal-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 5px 20px rgba(18,45,84,.035);
}
.portal-form-card__header {
  padding: 16px 18px 13px;
  border-bottom: 1px solid #e6edf2;
  background: #fbfcfd;
}
.portal-form-card__header h2 { margin: 0 0 3px; color: var(--portal-navy); font-size: 1.05rem; }
.portal-form-card__header p { margin: 0; color: var(--portal-muted); font-size: .8rem; }
.portal-form-card__body { padding: 18px; }
.portal-form-card--support .perfil-informacoes > div { padding: 10px 0; border-bottom: 1px solid #edf1f5; }
.portal-profile-note { margin-top: 14px; }
.portal-form-actions { margin-top: 16px; }
.portal-complementar-card > .portal-form-card__body { padding: 16px; }
.portal-complementar-form { gap: 12px; }
.portal-complementar-form .portal-form-section {
  margin: 0 0 12px !important;
  border-radius: 14px;
  box-shadow: none;
}
.portal-complementar-form .portal-form-section > .card__body { padding: 16px 18px; }
.portal-complementar-form .portal-form-section h3 { margin: 0 0 13px !important; color: var(--portal-navy); font-size: 1rem !important; }
.portal-inline-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.portal-inline-section-header h3 { margin-bottom: 3px !important; }

/* DRPS usa o mesmo portal visual; só o motor permanece especializado. */
.portal-body .drps-kpis.portal-drps-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 20px;
}
.portal-body .drps-kpi,
.portal-body .drps-info {
  padding: 13px 14px;
  border-radius: 12px;
  box-shadow: none;
}
.portal-body .drps-kpi span,
.portal-body .drps-info span {
  font-size: .72rem;
  letter-spacing: 0;
  text-transform: none;
}
.portal-body .drps-kpi strong,
.portal-body .drps-info strong { margin-top: 4px; font-size: .95rem; }
.portal-body .drps-progress-box {
  margin-bottom: 14px;
  padding: 14px 16px;
  border-radius: 13px;
  box-shadow: none;
}
.portal-body .drps-section { margin-top: 18px; }
.portal-body .drps-section__header { margin-bottom: 10px; }
.portal-body .drps-section__header h3 { font-size: 1.12rem; }
.portal-body .drps-section__header p { font-size: .82rem; }
.portal-body .drps-grupos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.portal-body .drps-grupo,
.portal-body .drps-card,
.portal-body .drps-dimensao-bloco {
  padding: 17px;
  border-radius: 15px;
  box-shadow: none;
}
.portal-body .drps-dimensao-bloco { margin-top: 12px; background: #fff; }
.portal-body .drps-pergunta { margin-top: 10px; padding: 14px; border-radius: 12px; }
.portal-body .drps-opcoes { gap: 7px; }
.portal-body .drps-opcao { padding: 9px 10px; border-radius: 9px; background: #fafbfd; }
.portal-body .drps-actions-fixed {
  z-index: 30;
  padding: 12px 0;
  background: rgba(243,247,250,.94);
}
.portal-profile-info-grid { margin-bottom: 14px; }

@media (max-width: 980px) {
  .portal-context-card { grid-template-columns: 1fr; gap: 14px; }
  .portal-profile-layout { grid-template-columns: 1fr; }
  .portal-body .drps-kpis.portal-drps-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .portal-body--autenticado .portal-container { width: min(100% - 20px, 100%); margin-top: 12px; }
  .portal-page-toolbar { align-items: flex-start; flex-direction: column; gap: 8px; }
  .portal-page-toolbar__actions { width: 100%; justify-content: flex-start; }
  .portal-breadcrumb strong { max-width: 78vw; }
  .portal-context-card { padding: 17px; border-radius: 14px; }
  .portal-context-card__title-row { align-items: flex-start; flex-direction: column; gap: 8px; }
  .portal-context-meta { gap: 7px 14px; }
  .portal-dashboard-kpis,
  .portal-avaliacoes-grid,
  .portal-etapas-grid,
  .portal-body .drps-grupos { grid-template-columns: 1fr; }
  .portal-responder-actions { align-items: stretch; flex-direction: column-reverse; }
  .portal-responder-actions__primary { display: grid; grid-template-columns: 1fr 1fr; }
  .portal-responder-actions > .botao,
  .portal-responder-actions__primary .botao { width: 100%; }
  .portal-body .drps-kpis.portal-drps-kpis { grid-template-columns: 1fr; }
  .portal-inline-section-header { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 480px) {
  .portal-responder-actions__primary { grid-template-columns: 1fr; }
}
.portal-context-card > .portal-context-card__main:only-child { grid-column: 1 / -1; }

/* ==========================================================================
   Health View v114 — RESTAURAÇÃO DO PADRÃO GLOBAL DE CONSULTAS
   Recupera regras homologadas v88-v94 perdidas na substituição do app.css v113.
   ========================================================================== */
/* Biblioteca de Anamneses segue o mesmo padrão de consulta: filtros acima, ação abaixo. */
.is-authenticated [data-biblioteca-anamneses] .biblioteca-filtros-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px 12px;
  align-items: end;
}
.is-authenticated [data-biblioteca-anamneses] .consulta-filtros-acoes--linha {
  display: flex;
  justify-content: flex-start;
  margin-top: 12px;
}
.is-authenticated [data-biblioteca-anamneses] .consulta-filtros-acoes--linha .botao {
  width: auto !important;
  min-height: 36px;
  padding: 7px 12px;
}
@media (max-width: 720px) {
  .is-authenticated [data-biblioteca-anamneses] .biblioteca-filtros-grid {
    grid-template-columns: 1fr;
  }
}

/* HV v88 — padrão de consulta NR-1: filtros, tabela confortável e ordenável */
.hv-consulta-hero { margin-bottom: 14px; }
.hv-consulta-filtros {
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 18px;
    padding: 16px 18px;
    margin: 0 0 16px;
    box-shadow: 0 6px 18px rgba(15, 35, 70, .035);
}
.hv-consulta-filtros__campos {
    display: grid;
    gap: 12px;
    align-items: end;
}
.hv-consulta-filtros__campos--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hv-consulta-filtros__campos label { display: grid; gap: 6px; min-width: 0; }
.hv-consulta-filtros__campos label > span { color: #26385e; font-size: .88rem; font-weight: 800; }
.hv-consulta-filtros__campos input,
.hv-consulta-filtros__campos select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #cad7e8;
    border-radius: 12px;
    background: #fff;
    padding: 9px 12px;
    color: #1e3153;
    font: inherit;
}
.hv-consulta-filtros__acoes {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
}
.hv-consulta-contagem { color: #64758a; font-size: .88rem; }
.hv-consulta-tabela-wrap { margin-top: 4px; }
.hv-consulta-tabela-scroll { overflow-x: auto; padding: 0 1px 4px; }
.hv-consulta-tabela {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 8px;
    table-layout: fixed;
}
.hv-consulta-tabela thead th {
    padding: 0 14px 5px;
    text-align: left;
    color: #42536d;
    font-size: .8rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .025em;
    white-space: nowrap;
}
.hv-consulta-tabela th:nth-child(1) { width: 27%; }
.hv-consulta-tabela th:nth-child(2) { width: 18%; }
.hv-consulta-tabela th:nth-child(3) { width: 17%; }
.hv-consulta-tabela th:nth-child(4) { width: 15%; }
.hv-consulta-tabela th:nth-child(5) { width: 12%; }
.hv-consulta-tabela th:nth-child(6) { width: 145px; }
.hv-consulta-tabela tbody td {
    padding: 15px 14px;
    background: #fff;
    border-top: 1px solid #e3e9f1;
    border-bottom: 1px solid #e3e9f1;
    vertical-align: middle;
    color: #35465f;
    font-weight: 400;
    line-height: 1.35;
}
.hv-consulta-tabela tbody td:first-child {
    border-left: 1px solid #e3e9f1;
    border-radius: 14px 0 0 14px;
}
.hv-consulta-tabela tbody td:last-child {
    border-right: 1px solid #e3e9f1;
    border-radius: 0 14px 14px 0;
}
.hv-consulta-tabela tbody tr:hover td { background: #fbfcfe; }
.hv-consulta-tabela__principal { color: #21345b !important; font-weight: 650 !important; }
.hv-consulta-tabela__acao { text-align: right !important; }
.hv-consulta-tabela__acao .botao { display: inline-flex; justify-content: center; white-space: nowrap; padding: 9px 14px; min-height: auto; }
.hv-sort {
    appearance: none;
    border: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    cursor: pointer;
    display: inline-flex;
    gap: 6px;
    align-items: center;
}
.hv-sort span { color: #91a0b4; font-size: .9em; }
.hv-sort.is-asc span::before { content: '↑'; }
.hv-sort.is-desc span::before { content: '↓'; }
.hv-sort.is-asc span,
.hv-sort.is-desc span { font-size: 0; color: #2f6fd0; }
.hv-sort.is-asc span::before,
.hv-sort.is-desc span::before { font-size: .9rem; }
.hv-participacao-cell { display: grid; gap: 7px; }
.hv-participacao-cell > span { white-space: nowrap; }
.hv-participacao-cell__barra { height: 5px; border-radius: 999px; overflow: hidden; background: #e7edf6; }
.hv-participacao-cell__barra span { display: block; height: 100%; border-radius: inherit; background: #2f6fd0; }
.hv-consulta-vazio { padding: 22px; text-align: center; color: #64758a; background: #fff; border: 1px dashed #cdd8e7; border-radius: 14px; }
.nr1-badge { display: inline-flex; align-items: center; width: max-content; border-radius: 999px; padding: 5px 10px; font-size: .78rem; font-weight: 800; }
.nr1-badge--ok { background:#ecfdf3; color:#27743b; }
.nr1-badge--andamento { background:#edf8f8; color:#2456d8; }
.nr1-badge--neutro { background:#eef2f7; color:#526171; }

/* Gestão de Planos DRPS — filtros da listagem de aplicações */
.hv-drps-planos-filtros { margin: 14px 0 16px; }
.hv-drps-plano-aplicacao[hidden] { display: none !important; }
.hv-drps-planos-vazio { margin-top: 12px; }

@media (max-width: 980px) {
    .hv-consulta-filtros__campos--3 { grid-template-columns: 1fr 1fr; }
    .hv-consulta-filtros__campos--3 label:last-child { grid-column: 1 / -1; }
    .hv-consulta-tabela { min-width: 980px; }
}
@media (max-width: 640px) {
    .hv-consulta-filtros__campos--3 { grid-template-columns: 1fr; }
    .hv-consulta-filtros__campos--3 label:last-child { grid-column: auto; }
    .hv-consulta-filtros__acoes { align-items: stretch; flex-direction: column; }
    .hv-consulta-filtros__acoes .botao { width: 100%; justify-content: center; }
}

/* ===== Health View v89 | piloto padrão de consultas — Projetos NR-1 ===== */
.consulta-padrao-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 40px;
  margin: 0 0 10px;
}
.consulta-padrao-toolbar .breadcrumb-pulsar {
  margin: 0;
}
.consulta-padrao-toolbar__acoes {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-left: auto;
}
.botao--padrao-topo {
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}
.consulta-novo-menu {
  position: relative;
}
.consulta-novo-menu > summary {
  list-style: none;
  cursor: pointer;
}
.consulta-novo-menu > summary::-webkit-details-marker {
  display: none;
}
.consulta-novo-menu__gatilho::after {
  content: '▾';
  margin-left: 7px;
  font-size: 10px;
}
.consulta-novo-menu[open] .consulta-novo-menu__gatilho::after {
  content: '▴';
}
.consulta-novo-menu__lista {
  position: absolute;
  z-index: 30;
  top: calc(100% + 7px);
  right: 0;
  width: 290px;
  padding: 7px;
  border: 1px solid #dbe5ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(27, 52, 83, .14);
}
.consulta-novo-menu__lista a {
  display: block;
  padding: 10px 11px;
  border-radius: 9px;
  color: #24385d;
  text-decoration: none;
}
.consulta-novo-menu__lista a:hover {
  background: #f4f8fd;
}
.consulta-novo-menu__lista strong,
.consulta-novo-menu__lista small {
  display: block;
}
.consulta-novo-menu__lista strong {
  font-size: 13px;
  font-weight: 700;
}
.consulta-novo-menu__lista small {
  margin-top: 3px;
  color: #687a92;
  font-size: 11px;
  line-height: 1.35;
}
.consulta-padrao-intro {
  margin-bottom: 12px;
}
.consulta-padrao-intro .card__body {
  padding: 15px 18px;
}
.consulta-padrao-intro h2 {
  margin: 0;
  color: #25385e;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.015em;
}
.consulta-padrao-intro p {
  max-width: 1050px;
  margin: 5px 0 0;
  color: #62758e;
  font-size: 13px;
  line-height: 1.5;
}
.consulta-padrao-filtros {
  margin-bottom: 12px;
}
.consulta-padrao-filtros .card__body {
  padding: 14px 16px;
}
.consulta-padrao-filtros__grid {
  display: grid;
  grid-template-columns: minmax(190px, 1.25fr) repeat(4, minmax(145px, 1fr));
  gap: 10px 12px;
  align-items: end;
}
.consulta-padrao-filtros .consulta-filtro label {
  display: block;
  margin: 0 0 5px;
  color: #34476a;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: 0;
}
.consulta-padrao-filtros .consulta-filtro input,
.consulta-padrao-filtros .consulta-filtro select {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #d5e0ec;
  border-radius: 10px;
  background: #fff;
  color: #24385d;
  font-size: 13px;
}
.consulta-padrao-filtros .consulta-filtro input:focus,
.consulta-padrao-filtros .consulta-filtro select:focus {
  border-color: #6f9ee8;
  box-shadow: 0 0 0 3px rgba(47, 111, 208, .10);
  outline: 0;
}
.consulta-padrao-filtros__acoes {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-top: 10px;
}
.botao--padrao-filtro {
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 700;
}
.consulta-padrao-tabela-card .card__body {
  padding: 12px 14px 14px;
}
.consulta-padrao-resultado {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin: 0 0 9px;
  color: #687a92;
  font-size: 12px;
}
.consulta-padrao-resultado strong {
  color: #30456c;
  font-size: 12px;
  font-weight: 700;
}
.tabela--consulta-padrao {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}
.tabela--consulta-padrao th {
  padding: 9px 10px;
  border-bottom: 1px solid #dce5ee;
  background: #f7f9fc;
  color: #536782;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.25;
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
  vertical-align: middle;
}
.tabela--consulta-padrao td {
  padding: 11px 10px;
  border-bottom: 1px solid #e7edf4;
  background: #fff;
  color: #31435f;
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.4;
  vertical-align: middle;
}
.tabela--consulta-padrao tbody tr:hover td {
  background: #fafcff;
}
.tabela--consulta-padrao tbody tr:last-child td {
  border-bottom: 0;
}
.tabela--consulta-padrao tr[hidden] {
  display: none;
}
.consulta-sort {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
}
.consulta-sort span {
  color: #91a2b8;
  font-size: 10px;
}
.consulta-projeto-nome {
  color: #24385d !important;
  font-weight: 600 !important;
}
.consulta-etapa span,
.consulta-etapa small {
  display: block;
}
.consulta-etapa span {
  color: #31435f;
  font-weight: 500;
}
.consulta-etapa small {
  margin-top: 2px;
  color: #71829a;
  font-size: 11px;
}
.consulta-badge {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.1;
  white-space: nowrap;
}
.consulta-badge--modalidade {
  background: #f0f5fb;
  color: #3d5f88;
}
.consulta-badge--status {
  background: #eef8f6;
  color: #2e6d65;
}
.tabela--consulta-padrao .botao--compacto-primary {
  min-height: 32px;
  padding: 7px 10px;
  border-radius: 9px;
  font-size: 11.5px;
  white-space: normal;
  text-align: center;
}
.consulta-coluna-acoes {
  text-align: center !important;
  white-space: nowrap;
}
.consulta-acoes-linha {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.consulta-acoes-linha form {
  margin: 0;
}
.consulta-acoes-linha .acao-icone {
  width: 31px;
  height: 31px;
  border-radius: 8px;
}
.consulta-padrao-vazio {
  display: grid;
  gap: 3px;
  padding: 18px 4px;
  color: #667990;
  font-size: 13px;
}
.consulta-padrao-vazio strong {
  color: #30456c;
  font-weight: 700;
}
.consulta-sem-resultados {
  padding: 18px !important;
  color: #71829a !important;
  text-align: center !important;
}
@media (max-width: 1280px) {
  .consulta-padrao-filtros__grid {
    grid-template-columns: repeat(3, minmax(170px, 1fr));
  }
}
@media (max-width: 820px) {
  .consulta-padrao-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .consulta-padrao-toolbar__acoes {
    margin-left: 0;
  }
  .consulta-padrao-filtros__grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 560px) {
  .consulta-padrao-toolbar__acoes,
  .consulta-padrao-filtros__grid {
    grid-template-columns: 1fr;
    width: 100%;
  }
  .consulta-padrao-toolbar__acoes {
    display: grid;
  }
  .consulta-padrao-toolbar__acoes > *,
  .consulta-padrao-toolbar__acoes .botao,
  .consulta-novo-menu {
    width: 100%;
  }
  .consulta-novo-menu__gatilho {
    justify-content: center;
  }
  .consulta-novo-menu__lista {
    left: 0;
    right: auto;
    width: 100%;
  }
}
/* ===== Fim | Health View v89 ===== */

/* ===== Health View v90 | padrão aprovado de consultas ===== */
/* O limpar filtros é uma ação operacional primária em todas as consultas. */
.botao--padrao-filtro,
.consulta-padrao-filtros .botao--padrao-filtro,
.consulta-padrao-filtros__acoes .botao,
.consulta-filtros-acoes .botao[data-grid-clear] {
  background: var(--primary) !important;
  color: #fff !important;
  border-color: var(--primary) !important;
}
.botao--padrao-filtro:hover,
.consulta-padrao-filtros .botao--padrao-filtro:hover,
.consulta-padrao-filtros__acoes .botao:hover,
.consulta-filtros-acoes .botao[data-grid-clear]:hover {
  background: var(--primary-dark) !important;
  color: #fff !important;
}
/* Faz as consultas genéricas herdarem a mesma régua visual do piloto NR-1. */
.consulta-padrao-filtros.consulta-filtros-card .card__body { padding: 14px 16px; }
.consulta-padrao-filtros .consulta-filtros-grid,
.consulta-padrao-filtros .consulta-avaliacoes-filtros__form {
  gap: 10px 12px;
}
.consulta-padrao-filtros .formulario__grupo label {
  margin-bottom: 5px;
  color: #34476a;
  font-size: 12px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}
.consulta-padrao-filtros .formulario__grupo input,
.consulta-padrao-filtros .formulario__grupo select {
  min-height: 40px;
  border-radius: 10px;
  font-size: 13px;
}
.consulta-padrao-tabela-card .tabela--consultas td { font-weight: 400; }
.consulta-padrao-tabela-card .tabela--consultas td strong { font-weight: 600; }
/* ===== Fim | Health View v90 ===== */

/* ===== Health View v92 | consultas do módulo Clima ===== */
.consulta-padrao-filtros__grid--2 { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
.consulta-padrao-filtros__grid--3 { grid-template-columns: minmax(220px, 1.2fr) repeat(2, minmax(180px, 1fr)); }
@media (max-width: 820px) {
  .consulta-padrao-filtros__grid--2,
  .consulta-padrao-filtros__grid--3 { grid-template-columns: 1fr; }
}
/* ===== Fim | Health View v92 ===== */

/* Garantias finais do padrão oficial de consultas. */
@media (min-width: 1281px) {
  .consulta-padrao-filtros__grid:not(.consulta-padrao-filtros__grid--2):not(.consulta-padrao-filtros__grid--3) {
    grid-template-columns: minmax(190px, 1.3fr) repeat(4, minmax(145px, 1fr));
  }
  .consulta-padrao-filtros__grid--3 {
    grid-template-columns: minmax(220px, 1.2fr) repeat(2, minmax(180px, 1fr));
  }
  .consulta-padrao-filtros__grid--2 {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

/* Cabeçalhos ordenáveis devem parecer texto, nunca botão de formulário. */
.consulta-sort,
.hv-sort,
.pa-sort,
.tabela__sort {
  appearance: none;
  -webkit-appearance: none;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.consulta-sort:focus-visible,
.hv-sort:focus-visible,
.pa-sort:focus-visible,
.tabela__sort:focus-visible {
  outline: 2px solid rgba(47,111,208,.35);
  outline-offset: 3px;
  border-radius: 3px !important;
}

/* Breadcrumb à esquerda e ações à direita nas consultas administrativas. */
.consulta-padrao-toolbar {
  width: 100%;
}
.consulta-padrao-toolbar__acoes {
  margin-left: auto;
}

/* Biblioteca usa a mesma linha de filtros no desktop. */
@media (min-width: 1001px) {
  .is-authenticated [data-biblioteca-anamneses] .biblioteca-filtros-grid {
    grid-template-columns: minmax(260px, 1.4fr) repeat(2, minmax(190px, .8fr)) auto;
  }
}
/* ===== Fim | Health View v114 ===== */

/* ===== Health View v115 | Inteligência da Instituição e análise gerencial =====
   Restaura a camada visual das classes hv-* já presentes na view
   app/Views/gestao/resultados_consolidados.php. Este bloco é exclusivamente
   visual: não altera consultas, processamento, status nem regras de negócio. */

/* Seleção da instituição */
.hv-seletor-instituicao .card__body {
  padding: 18px;
}
.hv-seletor-instituicao__linha {
  display: flex;
  align-items: flex-end;
  gap: 18px;
}
.hv-seletor-instituicao__linha > .formulario__grupo {
  flex: 1 1 520px;
  min-width: 0;
}
.hv-seletor-instituicao__apoio {
  flex: 0 0 auto;
  min-width: 220px;
  padding: 10px 14px;
  border-left: 3px solid var(--primary);
  background: #f8fafc;
  border-radius: 0 10px 10px 0;
}
.hv-seletor-instituicao__apoio span,
.hv-seletor-instituicao__apoio strong {
  display: block;
}
.hv-seletor-instituicao__apoio span {
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.hv-seletor-instituicao__apoio strong {
  color: var(--text);
  font-size: 14px;
}

/* Estado inicial */
.hv-inteligencia-boas-vindas {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 10px 20px rgba(15,23,42,.04);
}
.hv-inteligencia-boas-vindas__icone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #edf4ff;
  color: var(--primary);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .05em;
}
.hv-inteligencia-boas-vindas h3 {
  margin: 1px 0 7px;
  color: var(--text);
  font-size: 18px;
}
.hv-inteligencia-boas-vindas p {
  max-width: 920px;
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

/* Cabeçalho e indicadores da visão institucional */
.hv-inteligencia-cabecalho {
  margin: 2px 0 14px;
}
.hv-inteligencia-cabecalho h3 {
  margin: 0 0 6px;
  color: var(--text);
  font-size: 22px;
  line-height: 1.25;
}
.hv-inteligencia-cabecalho p {
  max-width: 1050px;
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}
.hv-inteligencia-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.hv-inteligencia-kpis > div,
.hv-avaliacao-card__meta > div,
.hv-avaliacao-detalhe-meta > div,
.hv-evolucao-kpi {
  min-width: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 7px 16px rgba(15,23,42,.035);
}
.hv-inteligencia-kpis > div {
  padding: 14px 15px;
}
.hv-inteligencia-kpis span,
.hv-avaliacao-card__meta span,
.hv-avaliacao-detalhe-meta span,
.hv-evolucao-kpi > span {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1.35;
  text-transform: uppercase;
}
.hv-inteligencia-kpis strong {
  display: block;
  color: var(--text);
  font-size: 23px;
  line-height: 1.1;
}

/* Lista de estudos/avaliações */
.hv-avaliacoes-inteligencia {
  display: grid;
  gap: 16px;
}
.hv-avaliacao-card {
  overflow: hidden;
  padding: 20px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 10px 22px rgba(15,23,42,.045);
}
.hv-avaliacao-card--sem-analise {
  border-color: #d9e2ee;
}
.hv-avaliacao-card__topo,
.hv-avaliacao-detalhe-cabecalho,
.hv-grafico-card__topo,
.hv-avaliacao-andamento__topo,
.hv-anamnese-detalhe-card__topo,
.hv-distribuicao-item__topo,
.hv-evolucao-ciclo__cabecalho {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
.hv-avaliacao-card__topo > div,
.hv-avaliacao-detalhe-cabecalho > div:first-child,
.hv-grafico-card__topo > div,
.hv-anamnese-detalhe-card__topo > div {
  min-width: 0;
}
.hv-avaliacao-card__topo h3 {
  margin: 4px 0 6px;
  color: var(--text);
  font-size: 20px;
  line-height: 1.3;
}
.hv-avaliacao-card__topo p {
  max-width: 900px;
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}
.hv-kicker,
.hv-grafico-card__eyebrow {
  display: block;
  color: var(--primary);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .07em;
  line-height: 1.3;
  text-transform: uppercase;
}
.hv-status-avaliacao,
.hv-badge-nivel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  border: 1px solid #d9e2ee;
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}
.hv-status-avaliacao--ativa {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1d4ed8;
}
.hv-status-avaliacao--finalizada {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}
.hv-status-avaliacao--rascunho {
  border-color: #e2e8f0;
  background: #f8fafc;
  color: #64748b;
}

/* Cadeia de reavaliações */
.hv-cadeia-avaliacao {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 16px;
  padding: 12px 14px;
  border: 1px solid #dbe7f7;
  border-radius: 12px;
  background: #f8fbff;
}
.hv-cadeia-avaliacao > div {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.hv-cadeia-avaliacao__selo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: #e8f1ff;
  color: #245bb4;
  font-size: 11px;
  font-weight: 800;
}
.hv-cadeia-avaliacao details {
  flex: 0 0 auto;
}
.hv-cadeia-avaliacao summary {
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.hv-cadeia-avaliacao__historico {
  display: grid;
  gap: 7px;
  min-width: 220px;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15,23,42,.08);
}
.hv-cadeia-avaliacao__historico > span {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 7px;
  border-bottom: 1px solid #eef2f7;
}
.hv-cadeia-avaliacao__historico > span:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.hv-cadeia-avaliacao__historico small {
  color: var(--muted);
}

/* Métricas e síntese de cada estudo */
.hv-avaliacao-card__meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}
.hv-avaliacao-card__meta > div {
  padding: 12px 13px;
  background: #f8fafc;
  box-shadow: none;
}
.hv-avaliacao-card__meta strong {
  display: block;
  color: var(--text);
  font-size: 19px;
}
.hv-sintese-executiva,
.hv-sintese-avaliacao-detalhe {
  border: 1px solid #cfe0f8;
  background: linear-gradient(180deg, #f7faff 0%, #fff 100%);
  border-radius: 14px;
}
.hv-sintese-executiva {
  margin-top: 14px;
  padding: 15px 16px;
}
.hv-sintese-executiva > span {
  display: block;
  margin-bottom: 6px;
  color: #245bb4;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.hv-sintese-executiva p {
  margin: 0;
  color: #334155;
  line-height: 1.6;
}
.hv-anamneses-resumo {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.hv-anamnese-resumo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 13px;
  border: 1px solid #e5edf5;
  border-radius: 11px;
  background: #fff;
}
.hv-anamnese-resumo > div:first-child {
  min-width: 0;
}
.hv-anamnese-resumo strong,
.hv-anamnese-resumo small {
  display: block;
}
.hv-anamnese-resumo > div:first-child > strong {
  color: var(--text);
  font-size: 13px;
}
.hv-anamnese-resumo small {
  margin-top: 3px;
  color: var(--muted);
  line-height: 1.4;
}
.hv-anamnese-resumo__resultado {
  flex: 0 0 auto;
  max-width: 42%;
  color: #334155;
  font-size: 12px;
  font-weight: 800;
  text-align: right;
}
.hv-principais-achados {
  margin-top: 12px;
  padding: 13px 15px;
  border: 1px solid #e5edf5;
  border-radius: 12px;
  background: #fbfcfe;
}
.hv-principais-achados > strong {
  display: block;
  margin-bottom: 7px;
  color: var(--text);
  font-size: 13px;
}
.hv-principais-achados ul {
  margin: 0;
  padding-left: 19px;
  color: #475569;
  line-height: 1.55;
}
.hv-principais-achados li + li {
  margin-top: 4px;
}
.hv-principais-achados--destaque {
  margin: 0;
  background: #fff;
}
.hv-avaliacao-card__acoes {
  display: flex;
  justify-content: flex-end;
  margin-top: 15px;
  padding-top: 14px;
  border-top: 1px solid #edf1f5;
}

/* Avaliação ainda sem análise disponível */
.hv-avaliacao-andamento {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 14px;
  padding: 14px 15px;
  border: 1px solid #dbe7f7;
  border-radius: 12px;
  background: #f8fbff;
}
.hv-avaliacao-andamento > strong {
  color: var(--text);
  font-size: 14px;
}
.hv-avaliacao-andamento > span,
.hv-avaliacao-andamento small,
.hv-avaliacao-andamento__topo span {
  color: var(--muted);
  line-height: 1.45;
}
.hv-avaliacao-andamento__topo > div {
  min-width: 0;
}
.hv-avaliacao-andamento__topo strong,
.hv-avaliacao-andamento__topo span {
  display: block;
}
.hv-avaliacao-andamento__topo strong {
  margin-bottom: 3px;
  color: var(--text);
}
.hv-avaliacao-andamento__topo b {
  flex: 0 0 auto;
  color: var(--primary);
  font-size: 18px;
}
.hv-progresso-coleta,
.hv-barra {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: #e8eef6;
}
.hv-progresso-coleta > span,
.hv-barra__preenchimento {
  display: block;
  height: 100%;
  border-radius: inherit;
}
.hv-progresso-coleta > span {
  background: linear-gradient(90deg, #3fb5ad, var(--primary));
}

/* Cabeçalho da análise detalhada */
.hv-avaliacao-detalhe-cabecalho {
  margin-bottom: 14px;
  padding: 20px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 10px 20px rgba(15,23,42,.04);
}
.hv-avaliacao-detalhe-cabecalho h3 {
  margin: 4px 0 6px;
  color: var(--text);
  font-size: 23px;
  line-height: 1.25;
}
.hv-avaliacao-detalhe-cabecalho p {
  max-width: 820px;
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}
.hv-voltar-inteligencia {
  display: inline-flex;
  margin-bottom: 12px;
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
}
.hv-voltar-inteligencia:hover {
  text-decoration: underline;
}
.hv-avaliacao-detalhe-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(110px, 1fr));
  gap: 9px;
  flex: 0 1 440px;
  min-width: 340px;
}
.hv-avaliacao-detalhe-meta > div {
  padding: 12px;
  background: #f8fafc;
  box-shadow: none;
}
.hv-avaliacao-detalhe-meta strong {
  display: block;
  color: var(--text);
  font-size: 17px;
}
.hv-sintese-avaliacao-detalhe {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
  gap: 18px;
  margin-bottom: 18px;
  padding: 18px;
}
.hv-sintese-avaliacao-detalhe__texto p {
  margin: 8px 0 0;
  color: #334155;
  line-height: 1.65;
}

/* Leitura por anamnese */
.hv-anamneses-detalhe-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.hv-anamnese-detalhe-card {
  padding: 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 7px 16px rgba(15,23,42,.035);
}
.hv-anamnese-detalhe-card__topo h4 {
  margin: 4px 0 0;
  color: var(--text);
  font-size: 16px;
}
.hv-anamnese-detalhe-card__achado {
  margin: 12px 0;
  color: #475569;
  line-height: 1.55;
}
.hv-anamnese-detalhe-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  padding-top: 10px;
  border-top: 1px solid #edf1f5;
  color: var(--muted);
  font-size: 12px;
}

/* Navegação entre visões: discreta, sem aparência de chip chamativo */
.hv-visoes-nav {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  margin: 4px 0 18px;
  padding: 0 2px 9px;
  border-bottom: 1px solid var(--line);
  scrollbar-width: thin;
}
.hv-visoes-nav a {
  flex: 0 0 auto;
  padding: 5px 0;
  border-bottom: 2px solid transparent;
  color: #526174;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}
.hv-visoes-nav a:hover,
.hv-visoes-nav a:focus-visible {
  border-bottom-color: var(--primary);
  color: var(--primary);
}

/* Dashboard gráfico */
.hv-dashboard-grid,
.hv-evolucao-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.hv-grafico-card,
.hv-distribuicao-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 8px 18px rgba(15,23,42,.04);
}
.hv-grafico-card {
  padding: 17px;
}
.hv-distribuicao-card {
  margin-top: 14px;
  padding: 17px;
}
.hv-grafico-card__topo {
  align-items: flex-end;
  margin-bottom: 14px;
}
.hv-grafico-card__topo h4 {
  margin: 4px 0 0;
  color: var(--text);
  font-size: 16px;
}
.hv-grafico-card__topo > strong {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 12px;
}
.hv-grafico-lista {
  display: grid;
  gap: 13px;
}
.hv-grafico-linha {
  min-width: 0;
}
.hv-grafico-linha__meta {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 6px;
  color: #475569;
  font-size: 12px;
}
.hv-grafico-linha__meta span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hv-grafico-linha__meta strong {
  flex: 0 0 auto;
  color: var(--text);
  font-size: 12px;
}
.hv-barra--alta {
  height: 10px;
}
.hv-barra__preenchimento {
  min-width: 2px;
  background: var(--primary);
}
.hv-barra__preenchimento--nivel-1 { background: #2f8f83; }
.hv-barra__preenchimento--nivel-2 { background: #5d9c65; }
.hv-barra__preenchimento--nivel-3 { background: #c3942d; }
.hv-barra__preenchimento--nivel-4 { background: #d97732; }
.hv-barra__preenchimento--nivel-5 { background: #c44c4c; }

/* Distribuição por nível */
.hv-distribuicao-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.hv-distribuicao-item {
  min-width: 0;
  padding: 12px;
  border: 1px solid #e5edf5;
  border-radius: 12px;
  background: #f8fafc;
}
.hv-distribuicao-item__topo {
  justify-content: flex-start;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  margin-bottom: 7px;
  color: #526174;
  font-size: 12px;
}
.hv-distribuicao-item > strong,
.hv-distribuicao-item > small {
  display: block;
}
.hv-distribuicao-item > strong {
  color: var(--text);
  font-size: 22px;
}
.hv-distribuicao-item > small {
  margin-top: 2px;
  color: var(--muted);
}
.hv-nivel-dot {
  display: inline-block;
  flex: 0 0 9px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #94a3b8;
}
.hv-nivel-dot--1 { background: #2f8f83; }
.hv-nivel-dot--2 { background: #5d9c65; }
.hv-nivel-dot--3 { background: #c3942d; }
.hv-nivel-dot--4 { background: #d97732; }
.hv-nivel-dot--5 { background: #c44c4c; }

/* Tabelas analíticas */
.hv-tabela-analitica,
.hv-tabela-evolucao,
.hv-heatmap {
  font-size: 13px;
}
.hv-tabela-analitica th,
.hv-tabela-evolucao th,
.hv-heatmap th {
  color: #435269;
  font-size: 12px;
  font-weight: 800;
}
.hv-indice-inline {
  display: grid;
  grid-template-columns: auto minmax(70px, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 150px;
}
.hv-indice-inline > strong {
  white-space: nowrap;
}
.hv-badge-nivel--1 { border-color: #b6ddd8; background: #edf8f6; color: #276f67; }
.hv-badge-nivel--2 { border-color: #cae4cd; background: #f2f8f2; color: #47794d; }
.hv-badge-nivel--3 { border-color: #ecdba8; background: #fffaf0; color: #8b6a1f; }
.hv-badge-nivel--4 { border-color: #f2c8a9; background: #fff7ed; color: #a7551d; }
.hv-badge-nivel--5 { border-color: #efb9b9; background: #fff2f2; color: #a43838; }
.hv-subinfo {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

/* Matriz Dimensão × Área/Turma */
.hv-matriz-filtros {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 12px;
  max-width: 760px;
  margin-bottom: 14px;
}
.hv-matriz-filtros select {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  padding: 9px 11px;
  color: var(--text);
  font-size: 13px;
}
.hv-matriz-wrapper {
  border: 1px solid var(--line);
  border-radius: 12px;
}
.hv-heatmap th:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  min-width: 190px;
  background: #f8fafc;
}
.hv-heatmap tbody th {
  color: var(--text);
  background: #fff;
}
.hv-heatmap__cell {
  min-width: 112px;
  text-align: center !important;
  border-left: 1px solid #edf1f5;
}
.hv-heatmap__cell strong,
.hv-heatmap__cell small {
  display: block;
}
.hv-heatmap__cell strong {
  font-size: 14px;
}
.hv-heatmap__cell small {
  margin-top: 3px;
  font-size: 10px;
  opacity: .82;
}
.hv-heatmap__cell--nivel-1 { background: #eef8f6; color: #276f67; }
.hv-heatmap__cell--nivel-2 { background: #f2f8f2; color: #47794d; }
.hv-heatmap__cell--nivel-3 { background: #fffaf0; color: #8b6a1f; }
.hv-heatmap__cell--nivel-4 { background: #fff5eb; color: #a7551d; }
.hv-heatmap__cell--nivel-5 { background: #fff0f0; color: #a43838; }
.hv-heatmap__cell--vazia { background: #fafbfc; color: #94a3b8; }
.hv-matriz-legenda {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 12px;
  color: var(--muted);
  font-size: 11px;
}
.hv-matriz-legenda > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Painel por Área/Turma */
.hv-area-resumo {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
.hv-area-resumo > div {
  padding: 10px 11px;
  border: 1px solid #e5edf5;
  border-radius: 10px;
  background: #f8fafc;
}
.hv-area-resumo span,
.hv-area-resumo strong {
  display: block;
}
.hv-area-resumo span {
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.hv-area-resumo strong {
  color: var(--text);
  font-size: 13px;
  line-height: 1.35;
}
.hv-area-dimensoes {
  display: grid;
  gap: 10px;
  margin-top: 13px;
  padding-top: 12px;
  border-top: 1px solid #edf1f5;
}
.hv-area-dimensoes__titulo {
  color: #526174;
  font-size: 11px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.hv-area-dimensao > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 5px;
  color: #475569;
  font-size: 11px;
}
.hv-area-dimensao > div:first-child strong {
  flex: 0 0 auto;
  color: var(--text);
}

/* Evolução e reavaliações */
.hv-evolucao-resumo {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.hv-evolucao-kpi {
  padding: 15px;
}
.hv-evolucao-kpi > strong {
  display: block;
  color: var(--text);
  font-size: 24px;
  line-height: 1.15;
}
.hv-evolucao-kpi > small {
  display: block;
  margin-top: 6px;
  line-height: 1.4;
}
.hv-texto-melhora { color: #17735f !important; }
.hv-texto-piora { color: #b44747 !important; }
.hv-evolucao-geral {
  margin-bottom: 14px;
}
.hv-evolucao-ciclos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}
.hv-evolucao-ciclo {
  padding: 13px;
  border: 1px solid #e5edf5;
  border-radius: 12px;
  background: #f8fafc;
}
.hv-evolucao-ciclo__cabecalho {
  align-items: center;
}
.hv-evolucao-ciclo__cabecalho strong,
.hv-evolucao-ciclo__cabecalho small {
  display: block;
}
.hv-evolucao-ciclo__cabecalho small {
  margin-top: 2px;
  color: var(--muted);
}
.hv-evolucao-valor {
  margin: 14px 0 8px;
  color: var(--text);
  font-size: 25px;
  font-weight: 900;
}
.hv-evolucao-valor small {
  margin-left: 2px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.hv-evolucao-dimensoes {
  display: grid;
  gap: 11px;
}
.hv-evolucao-dimensao {
  padding: 12px;
  border: 1px solid #e5edf5;
  border-radius: 11px;
  background: #f8fafc;
}
.hv-evolucao-dimensao > strong {
  display: block;
  margin-bottom: 9px;
  color: var(--text);
  font-size: 13px;
}
.hv-evolucao-dimensao__ciclos {
  display: grid;
  gap: 8px;
}
.hv-evolucao-mini > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
}
.hv-evolucao-mini > div:first-child strong {
  color: var(--text);
}

/* Lista nominal recolhida por padrão */
.hv-avaliados-analise {
  padding-bottom: 2px;
}
.hv-avaliados-toggle {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.hv-avaliados-toggle summary {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 13px 15px;
  color: var(--primary);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.hv-avaliados-toggle summary::-webkit-details-marker {
  display: none;
}
.hv-avaliados-toggle summary::after {
  content: '▾';
  margin-left: auto;
  color: #64748b;
  transition: transform .15s ease;
}
.hv-avaliados-toggle[open] summary::after {
  transform: rotate(180deg);
}
.hv-avaliados-toggle summary small {
  color: var(--muted);
  font-weight: 600;
}
.hv-avaliados-toggle__ocultar {
  display: none;
}
.hv-avaliados-toggle[open] .hv-avaliados-toggle__mostrar {
  display: none;
}
.hv-avaliados-toggle[open] .hv-avaliados-toggle__ocultar {
  display: inline;
}
.hv-avaliados-toggle__conteudo {
  padding: 0 14px 14px;
  border-top: 1px solid #edf1f5;
}

/* Responsividade */
@media (max-width: 1280px) {
  .hv-inteligencia-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hv-distribuicao-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
  .hv-avaliacao-detalhe-cabecalho { flex-direction: column; }
  .hv-avaliacao-detalhe-meta { width: 100%; min-width: 0; }
  .hv-sintese-avaliacao-detalhe { grid-template-columns: 1fr; }
  .hv-dashboard-grid,
  .hv-evolucao-grid { grid-template-columns: 1fr; }
  .hv-area-resumo { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .hv-seletor-instituicao__linha,
  .hv-cadeia-avaliacao,
  .hv-avaliacao-card__topo,
  .hv-anamnese-detalhe-card__topo {
    align-items: stretch;
    flex-direction: column;
  }
  .hv-seletor-instituicao__apoio { min-width: 0; }
  .hv-inteligencia-kpis,
  .hv-avaliacao-card__meta,
  .hv-evolucao-resumo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hv-anamneses-detalhe-grid { grid-template-columns: 1fr; }
  .hv-matriz-filtros { grid-template-columns: 1fr; }
  .hv-distribuicao-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .hv-inteligencia-boas-vindas { padding: 18px; }
  .hv-inteligencia-boas-vindas__icone { display: none; }
  .hv-inteligencia-kpis,
  .hv-avaliacao-card__meta,
  .hv-avaliacao-detalhe-meta,
  .hv-evolucao-resumo,
  .hv-distribuicao-grid { grid-template-columns: 1fr; }
  .hv-avaliacao-detalhe-meta { min-width: 0; }
  .hv-avaliacao-card,
  .hv-avaliacao-detalhe-cabecalho,
  .hv-sintese-avaliacao-detalhe { padding: 15px; }
  .hv-anamnese-resumo { align-items: flex-start; flex-direction: column; }
  .hv-anamnese-resumo__resultado { max-width: 100%; text-align: left; }
  .hv-grafico-linha__meta { align-items: flex-start; flex-direction: column; gap: 3px; }
  .hv-grafico-linha__meta span { white-space: normal; }
  .hv-avaliados-toggle summary { flex-wrap: wrap; }
}
/* ===== Fim | Health View v115 ===== */

/* ===== Health View v116 | restauração visual completa do Clima Organizacional =====
   Recompõe as classes utilizadas pelas views atuais de Clima que não possuíam
   definição no CSS consolidado. Bloco exclusivamente visual. */

/* Compatibilidade dos formulários legados/especializados com o Design System atual. */
.form-grupo {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.form-grupo--full {
  grid-column: 1 / -1;
}
.form-grupo > label {
  color: #303e68;
  font-size: var(--ui-font-label, 13px);
  font-weight: 800;
  line-height: 1.3;
}
.form-grupo > input,
.form-grupo > select,
.form-grupo > textarea {
  width: 100%;
  min-height: var(--ui-control-height, 40px);
  padding: 8px 10px;
  border: 1px solid #d5e0ec;
  border-radius: var(--ui-radius-control, 10px);
  background: #fff;
  color: #24385d;
  font: inherit;
  font-size: var(--ui-font-body, 13px);
  outline: 0;
}
.form-grupo > textarea {
  min-height: 88px;
  resize: vertical;
}
.form-grupo > input:focus,
.form-grupo > select:focus,
.form-grupo > textarea:focus {
  border-color: #6f9ee8;
  box-shadow: 0 0 0 3px rgba(47, 111, 208, .10);
}
.grid-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
}

/* Ferramentas e espaçamento compartilhado das telas de Clima. */
.clima-page-tools {
  width: 100%;
}
.clima-page-tools__acoes {
  margin-left: auto;
}
.clima-page-header--hero,
.clima-section-card,
.clima-empresa-ciclos,
.clima-overview-empty,
.clima-next-action,
.clima-filter-card,
.clima-relatorios-contexto {
  margin-bottom: 14px;
}
.clima-section-card h2,
.clima-empresa-ciclos h2,
.clima-overview-empty h2,
.clima-next-action h2,
.clima-chart-card h2,
.clima-entregavel-card h2 {
  margin: 0 0 6px;
  color: #303e68;
  font-size: var(--ui-font-section-title, 18px);
  line-height: 1.25;
  font-weight: 800;
}
.clima-section-card p,
.clima-empresa-ciclos p,
.clima-overview-empty p,
.clima-next-action p,
.clima-entregavel-card p {
  line-height: 1.5;
}

/* Visão Geral — ciclos da empresa. */
.clima-empresa-ciclos .secao-cabecalho-inline {
  margin-bottom: 12px;
}
.clima-empresa-ciclos .secao-cabecalho-inline h2,
.clima-empresa-ciclos .secao-cabecalho-inline p {
  margin-top: 0;
}
.clima-empresa-ciclos__lista {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.clima-empresa-ciclos__lista > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid #dce6f1;
  border-radius: 12px;
  background: #fbfdff;
  color: #30456c;
  text-decoration: none;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.clima-empresa-ciclos__lista > a:hover {
  border-color: #a9c4ec;
  background: #f6f9ff;
  box-shadow: 0 6px 16px rgba(47, 111, 208, .07);
  transform: translateY(-1px);
}
.clima-empresa-ciclos__lista > a > div {
  min-width: 0;
}
.clima-empresa-ciclos__lista strong,
.clima-empresa-ciclos__lista span {
  display: block;
}
.clima-empresa-ciclos__lista strong {
  overflow: hidden;
  color: #303e68;
  font-size: 13px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.clima-empresa-ciclos__lista span,
.clima-empresa-ciclos__lista small {
  color: #71829a;
  font-size: 11.5px;
  line-height: 1.35;
}
.clima-empresa-ciclos__lista span {
  margin-top: 3px;
}
.clima-empresa-ciclos__lista small {
  flex: 0 0 auto;
  max-width: 150px;
  padding: 5px 8px;
  border-radius: 999px;
  background: #edf4ff;
  color: #2f6fd0;
  font-weight: 700;
  text-align: center;
}

/* Visão Geral — contexto do panorama e KPIs. */
.clima-overview-contexto {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 12px;
  padding: 13px 15px;
  border: 1px solid #dbe5ef;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 16px rgba(15, 23, 42, .035);
}
.clima-overview-contexto > div:first-child {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 8px;
  min-width: 0;
}
.clima-overview-contexto__label {
  flex-basis: 100%;
  color: #6b7e96;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.clima-overview-contexto strong {
  color: #303e68;
  font-size: 15px;
  font-weight: 800;
}
.clima-overview-contexto > div:first-child > span:not(.clima-overview-contexto__label) {
  color: #71829a;
  font-size: 12px;
}
.clima-overview-contexto__acoes {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
}
.clima-overview-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.clima-overview-kpi {
  min-width: 0;
  padding: 14px 15px;
  border: 1px solid #dbe5ef;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 16px rgba(15, 23, 42, .035);
}
.clima-overview-kpi > span {
  display: block;
  margin-bottom: 7px;
  color: #6b7e96;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.clima-overview-kpi > strong {
  display: block;
  margin-bottom: 5px;
  color: #303e68;
  font-size: 25px;
  line-height: 1.05;
  font-weight: 900;
}
.clima-overview-kpi > small {
  display: block;
  color: #71829a;
  font-size: 11.5px;
  line-height: 1.4;
}
.clima-overview-empty .card__body {
  padding: 20px !important;
}
.clima-overview-empty--compacto .card__body {
  padding: 16px 18px !important;
}

/* Visão Geral — cards analíticos e gráficos. */
.clima-overview-grid {
  display: grid;
  gap: 12px;
  margin-bottom: 12px;
}
.clima-overview-grid--principal {
  grid-template-columns: minmax(300px, .85fr) minmax(440px, 1.4fr);
}
.clima-overview-grid--secundario {
  grid-template-columns: minmax(460px, 1.35fr) minmax(300px, .85fr);
}
.clima-chart-card {
  min-width: 0;
  margin: 0;
  overflow: hidden;
}
.clima-chart-card .card__body {
  height: 100%;
  padding: 16px !important;
}
.clima-chart-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.clima-chart-card__header > div {
  min-width: 0;
}
.clima-chart-card__header .pulsar-hub-kicker {
  margin-bottom: 5px !important;
}
.clima-chart-card__header > strong {
  flex: 0 0 auto;
  color: #536782;
  font-size: 11.5px;
  font-weight: 800;
  line-height: 1.35;
  text-align: right;
}
.clima-chart-empty {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 150px;
  padding: 18px;
  border: 1px dashed #cfdae7;
  border-radius: 12px;
  background: #fafcff;
  color: #71829a;
  text-align: center;
}
.clima-chart-empty strong,
.clima-chart-empty span,
.clima-chart-empty a {
  display: block;
}
.clima-chart-empty strong {
  margin-bottom: 5px;
  color: #405475;
  font-size: 13px;
}
.clima-chart-empty span {
  font-size: 12px;
  line-height: 1.45;
}
.clima-chart-empty a {
  margin-top: 8px;
  color: #2f6fd0;
  font-size: 12px;
  font-weight: 800;
}

/* Donut de favorabilidade. */
.clima-donut-wrap {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  min-height: 190px;
}
.clima-donut {
  position: relative;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: conic-gradient(
    #2f8d72 0 var(--fav, 0%),
    #d7a43b var(--fav, 0%) var(--neu-end, 0%),
    #c65c5c var(--neu-end, 0%) 100%
  );
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .05);
}
.clima-donut::after {
  content: '';
  position: absolute;
  inset: 27px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 1px #edf1f6;
}
.clima-donut > div {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.clima-donut > div strong {
  color: #303e68;
  font-size: 25px;
  line-height: 1;
  font-weight: 900;
}
.clima-donut > div span {
  margin-top: 5px;
  color: #71829a;
  font-size: 10.5px;
}
.clima-donut-legend {
  display: grid;
  gap: 8px;
}
.clima-donut-legend > span {
  display: grid;
  grid-template-columns: 9px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #e1e8f0;
  border-radius: 10px;
  background: #fbfdff;
}
.clima-donut-legend i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}
.clima-donut-legend i.is-favoravel { background: #2f8d72; }
.clima-donut-legend i.is-neutro { background: #d7a43b; }
.clima-donut-legend i.is-desfavoravel { background: #c65c5c; }
.clima-donut-legend strong {
  color: #405475;
  font-size: 11.5px;
}
.clima-donut-legend b {
  color: #303e68;
  font-size: 12px;
}

/* Linha histórica. */
.clima-line-chart {
  width: 100%;
  min-height: 230px;
  padding: 4px 2px 0;
}
.clima-line-chart svg {
  display: block;
  width: 100%;
  height: 230px;
  overflow: visible;
}
.clima-line-chart__grid {
  stroke: #e3eaf2;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}
.clima-line-chart__axis,
.clima-line-chart__date {
  fill: #8493a8;
  font-size: 9px;
  font-family: Arial, Helvetica, sans-serif;
}
.clima-line-chart__line {
  fill: none;
  stroke: #2f6fd0;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.clima-line-chart__point {
  fill: #fff;
  stroke: #2f6fd0;
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}
.clima-line-chart__value {
  fill: #303e68;
  font-size: 10px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 800;
}

/* Radar de dimensões — evita o SVG ocupar a tela e o polígono assumir preto. */
.clima-radar-layout {
  display: grid;
  grid-template-columns: minmax(290px, 340px) minmax(220px, 1fr);
  align-items: center;
  gap: 20px;
}
.clima-radar {
  display: block;
  width: 100%;
  max-width: 340px;
  height: auto;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  overflow: visible;
}
.clima-radar__grade {
  fill: rgba(248, 250, 252, .55);
  stroke: #dbe5ef;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}
.clima-radar__eixo {
  stroke: #d3deea;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}
.clima-radar__area {
  fill: rgba(47, 111, 208, .18);
  stroke: #2f6fd0;
  stroke-width: 2.5;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.clima-radar__label {
  fill: #536782;
  font-size: 9.5px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
}
.clima-radar-ranking {
  display: grid;
  gap: 7px;
}
.clima-radar-ranking > div {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  padding: 8px 9px;
  border: 1px solid #e1e8f0;
  border-radius: 10px;
  background: #fbfdff;
}
.clima-radar-ranking > div > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  border-radius: 9px;
  background: #edf4ff;
  color: #2f6fd0;
  font-size: 11px;
  font-weight: 900;
}
.clima-radar-ranking p,
.clima-radar-ranking strong,
.clima-radar-ranking small {
  display: block;
  margin: 0;
}
.clima-radar-ranking strong {
  color: #405475;
  font-size: 11.5px;
  line-height: 1.3;
}
.clima-radar-ranking small {
  margin-top: 2px;
  color: #71829a;
  font-size: 10.5px;
}

/* Sparklines dos indicadores. */
.clima-indicadores-sparklines {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.clima-indicadores-sparklines > article {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #e1e8f0;
  border-radius: 11px;
  background: #fbfdff;
}
.clima-indicador-spark__meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
.clima-indicador-spark__meta span {
  overflow: hidden;
  color: #536782;
  font-size: 10.5px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.clima-indicador-spark__meta strong {
  flex: 0 0 auto;
  color: #303e68;
  font-size: 12px;
}
.clima-indicadores-sparklines svg {
  display: block;
  width: 100%;
  height: 42px;
  margin: 5px 0 3px;
}
.clima-indicador-spark__line {
  fill: none;
  stroke: #2f6fd0;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.clima-indicador-spark__sem-serie {
  display: flex;
  align-items: center;
  min-height: 42px;
  margin: 5px 0 3px;
  color: #8796aa;
  font-size: 10.5px;
}
.clima-indicadores-sparklines > article > small {
  color: #8796aa;
  font-size: 10px;
}

/* Ciclo — cabeçalho, jornada e próxima ação. */
.clima-ciclo-cabecalho__linha {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.clima-ciclo-cabecalho__linha > div:first-child {
  min-width: 0;
}
.clima-ciclo-cabecalho__meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  flex: 0 0 auto;
}
.clima-ciclo-cabecalho__meta > span:not(.badge) {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  padding: 6px 9px;
  border-radius: 9px;
  background: #f5f8fc;
  color: #657991;
  font-size: 11.5px;
}
.clima-ciclo-cabecalho__meta > span > strong {
  color: #303e68;
  font-size: 15px;
}
.clima-ciclo-etapas {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
  margin: 0 0 12px;
}
.clima-ciclo-etapa {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  min-height: 76px;
  padding: 10px;
  border: 1px solid #dfe7f0;
  border-radius: 12px;
  background: #fff;
}
.clima-ciclo-etapa > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  border-radius: 8px;
  background: #edf2f7;
  color: #6d7f96;
  font-size: 10.5px;
  font-weight: 900;
}
.clima-ciclo-etapa > div {
  min-width: 0;
}
.clima-ciclo-etapa strong,
.clima-ciclo-etapa small {
  display: block;
}
.clima-ciclo-etapa strong {
  color: #4a5d78;
  font-size: 11.5px;
  line-height: 1.3;
}
.clima-ciclo-etapa small {
  margin-top: 3px;
  color: #8190a3;
  font-size: 9.8px;
  line-height: 1.35;
}
.clima-ciclo-etapa--concluida {
  border-color: #c8e6df;
  background: #f7fcfa;
}
.clima-ciclo-etapa--concluida > span {
  background: #e4f5f0;
  color: #26705f;
}
.clima-ciclo-etapa--atual {
  border-color: #a9c4ec;
  background: #f6f9ff;
  box-shadow: inset 0 0 0 1px rgba(47, 111, 208, .08);
}
.clima-ciclo-etapa--atual > span {
  background: #2f6fd0;
  color: #fff;
}
.clima-ciclo-etapa--atual strong {
  color: #303e68;
}
.clima-next-action {
  border-color: #bfd3ef;
  background: linear-gradient(135deg, #ffffff 0%, #f7faff 100%);
}
.clima-next-action .card__body {
  padding: 16px 18px !important;
}
.clima-next-action__etapa {
  display: block;
  margin-bottom: 5px;
  color: #2f6fd0;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.clima-next-action h2 {
  margin-bottom: 5px;
}
.clima-next-action p {
  max-width: 900px;
  margin: 0;
  color: #63758d;
  font-size: 12.5px;
}
.clima-next-action__acoes {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.clima-inline-form {
  display: inline-flex;
  margin: 0;
}

/* Ciclo — resumos, participantes e recursos. */
.clima-ciclo-resumo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.clima-ciclo-resumo-grid > .card {
  min-width: 0;
  margin: 0;
}
.clima-ciclo-resumo-grid h3 {
  margin-bottom: 8px !important;
}
.clima-ciclo-resumo-grid .card__body > strong {
  display: block;
  color: #405475;
  font-size: 13px;
  line-height: 1.4;
}
.clima-ciclo-resumo-grid .card__body > small {
  color: #7b8ca1;
  font-size: 11px;
}
.clima-participantes-resumo {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.clima-participantes-resumo > span {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  padding: 6px 9px;
  border: 1px solid #dce6f1;
  border-radius: 999px;
  background: #f8fafc;
  color: #63758d;
  font-size: 11px;
}
.clima-participantes-resumo strong {
  color: #303e68;
  font-size: 12px;
}
.clima-participantes-detalhes {
  overflow: hidden;
  border: 1px solid #e0e7ef;
  border-radius: 11px;
  background: #fff;
}
.clima-participantes-detalhes > summary {
  padding: 9px 11px;
  background: #f8fafc;
  color: #405475;
  font-size: 11.5px;
  font-weight: 800;
  cursor: pointer;
}
.clima-participantes-detalhes[open] > summary {
  border-bottom: 1px solid #e0e7ef;
}
.clima-ciclo-atalhos__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 10px;
}
.clima-ciclo-atalhos__grid > a {
  display: flex;
  flex-direction: column;
  min-height: 92px;
  padding: 11px 12px;
  border: 1px solid #dce6f1;
  border-radius: 11px;
  background: #fbfdff;
  color: #405475;
  text-decoration: none;
}
.clima-ciclo-atalhos__grid > a:hover {
  border-color: #aec7eb;
  background: #f5f9ff;
}
.clima-ciclo-atalhos__grid strong,
.clima-ciclo-atalhos__grid span {
  display: block;
}
.clima-ciclo-atalhos__grid strong {
  color: #303e68;
  font-size: 12px;
}
.clima-ciclo-atalhos__grid span {
  margin-top: 5px;
  color: #71829a;
  font-size: 11px;
  line-height: 1.4;
}

/* Formulário do Ciclo. */
.clima-ciclo-form-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
}
.clima-ciclo-campo--3 { grid-column: span 3; }
.clima-ciclo-campo--6 { grid-column: span 6; }
.clima-ciclo-campo--12 { grid-column: 1 / -1; }
.clima-ciclo-ajuda {
  display: block;
  margin-top: 2px;
}
.clima-ciclo-form-acoes {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e6ecf3;
}

/* Indicadores / detalhes auxiliares. */
.clima-metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px !important;
  margin-bottom: 12px !important;
}
.clima-metric-grid .card h3 {
  margin: 5px 0 3px;
  color: #303e68;
  font-size: 24px !important;
}
.clima-flow-grid {
  margin-bottom: 14px;
}
.clima-filter-card .consulta-padrao-filtros__acoes {
  margin-top: 10px;
}

/* Relatórios e entregáveis. */
.clima-relatorios-filtros-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
}
.clima-relatorios-filtro-acoes {
  justify-content: flex-end;
}
.clima-relatorios-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.clima-entregavel-card {
  min-width: 0;
  margin: 0;
}
.clima-entregavel-card .card__body {
  display: flex;
  flex-direction: column;
  min-height: 190px;
}
.clima-entregavel-card p {
  margin: 4px 0 12px;
  color: #687a92;
  font-size: 12px;
}
.clima-entregavel-card__acao {
  margin-top: auto;
  padding-top: 8px;
}
.clima-entregavel-card.is-ready {
  border-color: #c4d8f3;
}

/* Documentos de Clima. */
.rel-doc {
  max-width: 1180px;
  margin: 0 auto;
}
.rel-doc__topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.rel-doc__acoes {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.rel-doc__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.rel-doc__kpi {
  padding: 12px 14px;
  border: 1px solid #dce6f1;
  border-radius: 12px;
  background: #f8fafc;
}
.rel-doc__kpi span,
.rel-doc__kpi strong {
  display: block;
}
.rel-doc__kpi span {
  color: #71829a;
  font-size: 10.5px;
  font-weight: 800;
  text-transform: uppercase;
}
.rel-doc__kpi strong {
  margin-top: 5px;
  color: #303e68;
  font-size: 20px;
}

/* Variações semânticas que herdam o componente-base. */
.clima-ciclo-cabecalho,
.clima-ciclo-form-card,
.clima-ciclo-atalhos,
.clima-next-action--simplified,
.clima-chart-card--evolucao,
.clima-chart-card--radar,
.clima-chart-card--indicadores,
.consulta-padrao-intro--form,
.pagina-topo--com-breadcrumb {
  min-width: 0;
}

/* Responsividade do Clima. */
@media (max-width: 1280px) {
  .clima-ciclo-etapas {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .clima-overview-grid--principal,
  .clima-overview-grid--secundario {
    grid-template-columns: 1fr;
  }
  .clima-radar-layout {
    grid-template-columns: minmax(280px, 360px) minmax(240px, 1fr);
  }
}
@media (max-width: 980px) {
  .grid-form,
  .clima-overview-kpis,
  .clima-metric-grid,
  .clima-ciclo-resumo-grid,
  .clima-relatorios-grid,
  .rel-doc__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .clima-empresa-ciclos__lista,
  .clima-ciclo-atalhos__grid,
  .clima-relatorios-filtros-grid {
    grid-template-columns: 1fr 1fr;
  }
  .clima-ciclo-campo--3,
  .clima-ciclo-campo--6 {
    grid-column: span 6;
  }
  .clima-radar-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .clima-page-tools__acoes,
  .clima-overview-contexto,
  .clima-ciclo-cabecalho__linha,
  .clima-chart-card__header {
    align-items: stretch;
    flex-direction: column;
  }
  .clima-overview-contexto__acoes,
  .clima-ciclo-cabecalho__meta {
    justify-content: flex-start;
  }
  .clima-overview-kpis,
  .clima-ciclo-etapas,
  .clima-ciclo-resumo-grid,
  .clima-relatorios-grid,
  .clima-relatorios-filtros-grid,
  .clima-empresa-ciclos__lista,
  .clima-ciclo-atalhos__grid,
  .grid-form,
  .rel-doc__grid {
    grid-template-columns: 1fr;
  }
  .clima-donut-wrap {
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .clima-donut-legend {
    width: 100%;
  }
  .clima-indicadores-sparklines {
    grid-template-columns: 1fr;
  }
  .clima-ciclo-campo--3,
  .clima-ciclo-campo--6,
  .clima-ciclo-campo--12 {
    grid-column: 1 / -1;
  }
  .clima-relatorios-filtro-acoes,
  .clima-ciclo-form-acoes {
    align-items: stretch;
    flex-direction: column;
  }
  .rel-doc__topo {
    flex-direction: column;
  }
  .rel-doc__acoes {
    justify-content: flex-start;
  }
}

@media print {
  .clima-page-tools,
  .rel-doc__acoes {
    display: none !important;
  }
  .rel-doc {
    max-width: none;
  }
}
/* ===== Fim | Health View v116 ===== */

/* ===== Health View v116.1 | Clareza de fluxo do Clima + acompanhamento da coleta ===== */

/* Visão Geral: relação de ciclos com ações sempre explícitas. */
.clima-ciclos-relacao {
  display: grid;
  gap: 9px;
}
.clima-ciclo-relacao-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border: 1px solid #dce6f1;
  border-radius: 12px;
  background: #fbfdff;
}
.clima-ciclo-relacao-item.is-selected {
  border-color: #8db3ea;
  background: #f3f7ff;
  box-shadow: inset 3px 0 0 #2f6fd0;
}
.clima-ciclo-relacao-item__info {
  min-width: 0;
}
.clima-ciclo-relacao-item__info strong,
.clima-ciclo-relacao-item__info span {
  display: block;
}
.clima-ciclo-relacao-item__info strong {
  color: #303e68;
  font-size: 13.5px;
  font-weight: 800;
}
.clima-ciclo-relacao-item__info span {
  margin-top: 4px;
  color: #71829a;
  font-size: 11.5px;
  line-height: 1.35;
}
.clima-ciclo-relacao-item__acoes {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
}

/* Recursos do ciclo: o card deixa claro que é uma ação mesmo sem hover. */
.clima-ciclo-atalhos__grid > a::after {
  content: "Abrir recurso →";
  display: block;
  margin-top: auto;
  padding-top: 10px;
  color: #2f6fd0;
  font-size: 11px;
  font-weight: 800;
}

/* Acompanhamento da coleta: KPIs compactos e autoexplicativos. */
.clima-coleta-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.clima-coleta-kpi {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid #dbe5ef;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .03);
}
.clima-coleta-kpi--destaque {
  border-color: #b9d0ef;
  background: #f7faff;
}
.clima-coleta-kpi > span,
.clima-coleta-kpi > strong,
.clima-coleta-kpi > small {
  display: block;
}
.clima-coleta-kpi > span {
  margin-bottom: 6px;
  color: #6b7e96;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.clima-coleta-kpi > strong {
  margin-bottom: 4px;
  color: #303e68;
  font-size: 24px;
  line-height: 1;
  font-weight: 900;
}
.clima-coleta-kpi > small {
  color: #71829a;
  font-size: 11px;
  line-height: 1.35;
}
.clima-coleta-progresso {
  margin-bottom: 12px;
}
.clima-coleta-progresso .card__body {
  padding: 14px 16px !important;
}
.clima-coleta-progresso__cabecalho {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}
.clima-coleta-progresso__cabecalho div {
  min-width: 0;
}
.clima-coleta-progresso__cabecalho strong,
.clima-coleta-progresso__cabecalho span {
  display: block;
}
.clima-coleta-progresso__cabecalho strong {
  color: #303e68;
  font-size: 13px;
}
.clima-coleta-progresso__cabecalho span {
  margin-top: 2px;
  color: #71829a;
  font-size: 11.5px;
}
.clima-coleta-progresso__cabecalho b {
  color: #2f6fd0;
  font-size: 17px;
}
.clima-coleta-progresso__barra {
  overflow: hidden;
  height: 10px;
  border-radius: 999px;
  background: #e9eff7;
}
.clima-coleta-progresso__barra > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #2f6fd0;
  transition: width .2s ease;
}
.clima-coleta-secao-titulo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.clima-coleta-secao-titulo h2 {
  margin: 0 0 3px;
  color: #303e68;
  font-size: var(--ui-font-section-title, 18px);
  font-weight: 800;
}
.clima-coleta-secao-titulo p {
  margin: 0;
}
.clima-coleta-codigo {
  display: inline-block;
  padding: 4px 7px;
  border: 1px solid #dbe5ef;
  border-radius: 7px;
  background: #f8fafc;
  color: #30456c;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11.5px;
  font-weight: 700;
  white-space: nowrap;
}
.clima-coleta-status {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.clima-coleta-status--pendente {
  background: #f1f4f8;
  color: #607089;
}
.clima-coleta-status--em_andamento {
  background: #fff7df;
  color: #8a6400;
}
.clima-coleta-status--respondido {
  background: #eaf8f2;
  color: #187358;
}

@media (max-width: 1180px) {
  .clima-coleta-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 820px) {
  .clima-ciclo-relacao-item,
  .clima-coleta-progresso__cabecalho {
    align-items: stretch;
    flex-direction: column;
  }
  .clima-ciclo-relacao-item__acoes {
    justify-content: flex-start;
  }
  .clima-coleta-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .clima-ciclo-relacao-item__acoes,
  .clima-coleta-kpis {
    grid-template-columns: 1fr;
  }
  .clima-ciclo-relacao-item__acoes {
    display: grid;
  }
}

/* ===== Fim | Health View v116.1 ===== */

/* ===== Health View v116.2 | consolidação da experiência do Clima =====
   Escopo: cockpit do Ciclo, Instruções, Escuta contextual e Dados Organizacionais.
   Mantém a régua visual administrativa já homologada nas versões anteriores. */

/* Cockpit: quatro resumos compactos e leitura inequívoca da etapa atual. */
.clima-ciclo-resumo-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.clima-resumo-kicker {
  display: block;
  margin-bottom: 7px;
  color: #71829a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.clima-next-action--simplified {
  margin-bottom: 14px;
}
.clima-ciclo-atalhos__grid > a em {
  display: block;
  margin-top: auto;
  padding-top: 10px;
  color: #2f6fd0;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

/* Instruções: uma fonte conceitual única e escaneável. */
.clima-instrucoes-dialog {
  width: min(940px, calc(100vw - 32px));
}
.clima-instrucoes {
  max-height: min(72vh, 720px);
}
.clima-instrucoes__fluxo {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin: 12px 0 16px;
  padding: 10px 12px;
  border: 1px solid #dce6f1;
  border-radius: 11px;
  background: #f8fafc;
}
.clima-instrucoes__fluxo span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 8px;
  border: 1px solid #d5e0ee;
  border-radius: 8px;
  background: #fff;
  color: #405475;
  font-size: 11px;
  font-weight: 800;
}
.clima-instrucoes__fluxo b {
  color: #91a0b5;
  font-size: 12px;
}
.clima-instrucoes .instrucoes-dialog__grupo {
  padding: 10px 0;
}
.clima-instrucoes .instrucoes-dialog__grupo > strong {
  color: #303e68;
}
.clima-instrucoes .instrucoes-dialog__grupo p {
  margin: 4px 0 0;
  color: #61748d;
  line-height: 1.55;
}
.clima-instrucoes__regras {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid #cddcef;
  border-radius: 11px;
  background: #f6f9fd;
}
.clima-instrucoes__regras > strong {
  color: #303e68;
}
.clima-instrucoes__regras ul {
  margin-bottom: 0;
}

/* Escuta: formulário didático, dividido por intenção do usuário. */
.clima-context-note,
.clima-formula-note {
  display: flex;
  align-items: flex-start;
  gap: 8px 12px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border: 1px solid #d9e4f1;
  border-radius: 10px;
  background: #f8fafc;
}
.clima-context-note strong,
.clima-formula-note strong {
  color: #303e68;
  font-size: 11.5px;
}
.clima-context-note span,
.clima-formula-note span {
  flex: 1 1 420px;
  color: #667990;
  font-size: 11.5px;
  line-height: 1.45;
}
.clima-readonly-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.clima-readonly-fieldset:disabled {
  opacity: .82;
}
.clima-form-section + .clima-form-section {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e3eaf2;
}
.clima-form-section__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 18px;
  flex-wrap: wrap;
  margin-bottom: 11px;
}
.clima-form-section__header strong {
  color: #303e68;
  font-size: 12.5px;
}
.clima-form-section__header span {
  color: #71829a;
  font-size: 11px;
}
.clima-check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.clima-check-card {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #dce5ef;
  border-radius: 9px;
  background: #fff;
  color: #405475;
  cursor: pointer;
}
.clima-check-card:has(input:checked) {
  border-color: #adc8ef;
  background: #f4f8ff;
}
.clima-check-card input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #2f6fd0;
}
.clima-check-card span {
  min-width: 0;
  font-size: 11.5px;
  font-weight: 700;
}

/* Dados Organizacionais: entrada simples de parâmetros e saída auditável. */
.clima-dados-org-card .formulario__acoes {
  margin-top: 14px;
}
.clima-dados-org-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}
.clima-data-group {
  min-width: 0;
  margin: 0;
  padding: 12px;
  border: 1px solid #dce5ef;
  border-radius: 11px;
  background: #fbfcfe;
}
.clima-data-group legend {
  padding: 0 5px;
  color: #303e68;
  font-size: 11.5px;
  font-weight: 900;
}
.clima-data-group label {
  display: block;
  margin-top: 9px;
  color: #52667f;
  font-size: 11px;
  font-weight: 700;
}
.clima-data-group input {
  width: 100%;
  margin-top: 4px;
}
.clima-dados-history {
  display: grid;
  gap: 10px;
}
.clima-dados-history__item {
  padding: 12px;
  border: 1px solid #dce5ef;
  border-radius: 11px;
  background: #fff;
}
.clima-dados-history__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px 18px;
  margin-bottom: 10px;
}
.clima-dados-history__head > div strong,
.clima-dados-history__head > div span {
  display: block;
}
.clima-dados-history__head > div strong {
  color: #303e68;
  font-size: 13px;
}
.clima-dados-history__head > div span,
.clima-dados-history__head small {
  color: #71829a;
  font-size: 10.5px;
}
.clima-indicator-result-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.clima-indicator-result-grid > div {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #e1e8f0;
  border-radius: 9px;
  background: #f8fafc;
}
.clima-indicator-result-grid span,
.clima-indicator-result-grid strong,
.clima-indicator-result-grid small {
  display: block;
}
.clima-indicator-result-grid span {
  color: #71829a;
  font-size: 10px;
  font-weight: 800;
}
.clima-indicator-result-grid strong {
  margin-top: 3px;
  color: #303e68;
  font-size: 16px;
}
.clima-indicator-result-grid small {
  margin-top: 3px;
  color: #7d8da1;
  font-size: 9.5px;
  line-height: 1.35;
}
.clima-dados-history__obs {
  margin: 9px 0 0;
  padding-top: 9px;
  border-top: 1px solid #edf1f5;
  color: #667990;
  font-size: 11px;
}
.clima-secondary-config {
  overflow: hidden;
  border: 1px solid #dce5ef;
  border-radius: 10px;
  background: #fff;
}
.clima-secondary-config + .clima-secondary-config {
  margin-top: 8px;
}
.clima-secondary-config > summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 18px;
  padding: 10px 12px;
  background: #f8fafc;
  cursor: pointer;
}
.clima-secondary-config > summary strong {
  color: #405475;
  font-size: 11.5px;
}
.clima-secondary-config > summary span {
  color: #7a8ba0;
  font-size: 10.5px;
}
.clima-secondary-config[open] > summary {
  border-bottom: 1px solid #e3eaf2;
}
.clima-secondary-config__body {
  padding: 12px;
}

/* Plano de Ação contextualizado pela Escuta, sem alterar o motor comum. */
.pa-clima-listening {
  padding: 10px 12px;
  border: 1px solid #dce5ef;
  border-radius: 10px;
  background: #f8fafc;
}
.pa-clima-listening + .pa-clima-listening {
  margin-top: 8px;
}
.pa-clima-listening > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.pa-clima-listening strong {
  color: #303e68;
}
.pa-clima-listening span,
.pa-clima-listening p {
  color: #71829a;
  font-size: 11px;
}
.pa-clima-listening p {
  margin: 6px 0;
}

@media (max-width: 1100px) {
  .clima-ciclo-resumo-grid--4,
  .clima-indicator-result-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .clima-dados-org-grid {
    grid-template-columns: 1fr 1fr;
  }
  .clima-check-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .clima-ciclo-resumo-grid--4,
  .clima-indicator-result-grid,
  .clima-dados-org-grid,
  .clima-check-grid {
    grid-template-columns: 1fr;
  }
  .clima-dados-history__head,
  .clima-form-section__header,
  .clima-secondary-config > summary,
  .pa-clima-listening > div {
    align-items: stretch;
    flex-direction: column;
  }
  .clima-instrucoes__fluxo b {
    display: none;
  }
}

/* ===== Fim | Health View v116.2 ===== */

/* ===== Health View v116.3 | Panorama em tela própria + Análise contextual =====
   Mantém padrão de botões, cores, tipografia e espaçamentos homologado. */

/* Visão Geral agora é somente porta de entrada; o Panorama vive em tela própria. */
.clima-panorama-contexto {
  margin-bottom: 14px;
}

/* Análise Completa: contexto herdado do Ciclo em vez de filtros redundantes. */
.clima-analise-contexto {
  margin-bottom: 14px;
}
.clima-analise-contexto__cabecalho {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.clima-analise-contexto__cabecalho h2 {
  margin: 0 0 5px;
  color: #303e68;
  font-size: 17px;
  font-weight: 850;
}
.clima-analise-contexto__cabecalho p {
  margin: 0;
  color: #61748d;
  font-size: 12px;
}
.clima-analise-contexto__medicao {
  min-width: min(100%, 300px);
  padding: 10px 12px;
  border: 1px solid #dce6f1;
  border-radius: 11px;
  background: #f8fafc;
}
.clima-analise-contexto__medicao > span,
.clima-analise-contexto__medicao > strong,
.clima-analise-contexto__medicao > small {
  display: block;
}
.clima-analise-contexto__medicao > span {
  color: #71829a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.clima-analise-contexto__medicao > strong {
  margin-top: 4px;
  color: #303e68;
  font-size: 13px;
  font-weight: 850;
}
.clima-analise-contexto__medicao > small {
  margin-top: 3px;
  color: #71829a;
  font-size: 11px;
  line-height: 1.4;
}
.clima-medicao-selector {
  margin-top: 12px;
  max-width: 520px;
}
.clima-segmentacao-card {
  margin-bottom: 14px;
}
.clima-segmentacao-form .builder-acoes {
  margin-top: 10px;
}

/* Consultas do Ciclo: apenas uma chamada explícita por card. */
.clima-ciclo-atalhos__grid > a::after {
  content: none !important;
  display: none !important;
}
.clima-ciclo-atalhos__grid > a em {
  font-size: 11px;
  font-weight: 800;
  color: #2f6fd0;
}

@media (max-width: 720px) {
  .clima-analise-contexto__cabecalho {
    align-items: stretch;
    flex-direction: column;
  }
  .clima-analise-contexto__medicao,
  .clima-medicao-selector {
    width: 100%;
    max-width: none;
  }
}

/* ===== Fim | Health View v116.3 ===== */

/* ===== Health View v116.4 | Relatórios e Entregáveis =====
   Documento moderno em tela e impressão própria, sem alterar cálculos. */
.hv-report-screen-toolbar { margin-bottom: 14px; }
.hv-report {
  --report-navy: #303e68;
  --report-blue: #2f6fd0;
  --report-blue-soft: #edf4ff;
  --report-ink: #1d2d48;
  --report-muted: #667990;
  --report-line: #d9e4f1;
  --report-green: #2f9477;
  --report-yellow: #d89b28;
  --report-red: #c85b5b;
  max-width: 1380px;
  margin: 0 auto 24px;
  color: var(--report-ink);
}
.hv-report-cover {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr);
  gap: 22px;
  margin-bottom: 16px;
  padding: 24px;
  border: 1px solid #cad9ed;
  border-radius: 18px;
  background: linear-gradient(135deg, #f7faff 0%, #eef4ff 58%, #f8fbff 100%);
  box-shadow: 0 12px 28px rgba(48,62,104,.06);
}
.hv-report-cover__main { min-width: 0; }
.hv-report-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #e4edfc;
  color: var(--report-blue);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
}
.hv-report-cover h1 {
  margin: 12px 0 8px;
  color: var(--report-navy);
  font-size: clamp(25px, 2.4vw, 36px);
  line-height: 1.08;
  letter-spacing: -.02em;
}
.hv-report-cover__main > p {
  max-width: 820px;
  margin: 0;
  color: var(--report-muted);
  font-size: 13px;
  line-height: 1.6;
}
.hv-report-cover__context {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px;
  align-self: stretch;
}
.hv-report-cover__context > div {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid rgba(180,199,226,.72);
  border-radius: 11px;
  background: rgba(255,255,255,.8);
}
.hv-report-cover__context span,
.hv-report-cover__context strong { display: block; }
.hv-report-cover__context span {
  color: #73869f;
  font-size: 9.5px;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.hv-report-cover__context strong {
  margin-top: 4px;
  color: var(--report-navy);
  font-size: 12px;
  line-height: 1.35;
}
.hv-report-kpis {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}
.hv-report-kpis--5 { grid-template-columns: repeat(5, minmax(0,1fr)); }
.hv-report-kpis--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.hv-report-kpis--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.hv-report-kpi {
  min-width: 0;
  min-height: 126px;
  padding: 15px 16px;
  border: 1px solid var(--report-line);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(30,57,96,.045);
}
.hv-report-kpi > span,
.hv-report-kpi > strong,
.hv-report-kpi > small { display: block; }
.hv-report-kpi > span {
  color: #71849d;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.hv-report-kpi > strong {
  margin-top: 8px;
  color: var(--report-navy);
  font-size: 27px;
  line-height: 1.05;
}
.hv-report-kpi > strong small { display: inline; font-size: 13px; color: #6f829b; }
.hv-report-kpi > small { margin-top: 7px; color: #73859c; font-size: 10.5px; line-height: 1.35; }
.hv-report-kpi.is-primary { border-color: #b9d0f2; background: linear-gradient(150deg,#fff,#f2f7ff); }
.hv-report-kpi.is-good { border-color: #c9e8dd; background: #f5fbf8; }
.hv-report-kpi.is-warn { border-color: #f1dfb7; background: #fffaf0; }
.hv-report-kpi.is-danger { border-color: #efd0d0; background: #fff7f7; }
.hv-report-kpi__text-value { font-size: 20px !important; line-height: 1.2 !important; }
.hv-report-progress { height: 5px; margin-top: 10px; overflow: hidden; border-radius: 999px; background: #e9eff6; }
.hv-report-progress i { display:block; height:100%; border-radius:inherit; background: linear-gradient(90deg,#2f6fd0,#5f91de); }
.hv-report-grid { display:grid; gap:14px; margin-bottom:16px; }
.hv-report-grid--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.hv-report-grid--inside { margin: 14px 0 0; }
.hv-report-panel {
  min-width: 0;
  margin-bottom: 16px;
  padding: 18px;
  border: 1px solid var(--report-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(30,57,96,.04);
}
.hv-report-grid > .hv-report-panel { margin-bottom: 0; }
.hv-report-panel--summary { background: linear-gradient(145deg,#fff,#f8faff); }
.hv-report-panel--closing { border-color: #c7d7ec; background: #f7faff; }
.hv-report-panel--baseline { border-color:#c9d9ef; background:linear-gradient(145deg,#fff,#f2f7ff); }
.hv-report-section-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px 20px;
  margin-bottom:14px;
}
.hv-report-section-head > div > span {
  display:block;
  color:var(--report-blue);
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
}
.hv-report-section-head h2 {
  margin:4px 0 0;
  color:var(--report-navy);
  font-size:19px;
  line-height:1.2;
}
.hv-report-section-head > p { max-width:500px; margin:1px 0 0; color:#75869c; font-size:10.5px; line-height:1.45; text-align:right; }
.hv-report-lead { margin:0; color:#435a76; font-size:13px; line-height:1.7; }
.hv-report-note { margin:12px 0 0; padding:10px 12px; border-left:3px solid #9ebbe6; border-radius:6px; background:#f6f9fd; color:#62768f; font-size:10.5px; line-height:1.5; }
.hv-report-callouts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:16px; }
.hv-report-callout { padding:12px; border:1px solid #dce6f1; border-radius:11px; background:#f8fafc; }
.hv-report-callout span,.hv-report-callout strong { display:block; }
.hv-report-callout span { color:#71849b; font-size:10px; font-weight:800; text-transform:uppercase; }
.hv-report-callout strong { margin-top:5px; color:var(--report-navy); font-size:14px; line-height:1.3; }
.hv-report-callout.is-good { border-color:#cce5dc; background:#f4faf7; }
.hv-report-callout.is-warn { border-color:#eeddb7; background:#fffaf0; }
.hv-report-donut-row { display:grid; grid-template-columns:130px 1fr; gap:20px; align-items:center; }
.hv-report-donut { position:relative; width:118px; height:118px; }
.hv-report-donut svg { display:block; width:100%; height:100%; transform:rotate(-90deg); }
.hv-report-donut circle { fill:none; stroke-width:5.2; }
.hv-report-donut .track { stroke:#e8eef5; }
.hv-report-donut .value { stroke:var(--report-blue); stroke-linecap:round; }
.hv-report-donut > strong { position:absolute; inset:0; display:grid; place-items:center; color:var(--report-navy); font-size:21px; }
.hv-report-stat-list { display:grid; gap:8px; }
.hv-report-stat-list > div { display:flex; justify-content:space-between; gap:16px; padding-bottom:8px; border-bottom:1px solid #edf1f5; }
.hv-report-stat-list span { color:#6f829a; font-size:11px; }
.hv-report-stat-list strong { color:var(--report-navy); font-size:12px; }
.hv-report-bars { display:grid; gap:12px; }
.hv-report-bar-row__head { display:flex; justify-content:space-between; gap:14px; align-items:baseline; }
.hv-report-bar-row__head strong { color:var(--report-navy); font-size:12px; }
.hv-report-bar-row__head span { color:#6c8099; font-size:10px; text-align:right; }
.hv-report-bar-track { height:8px; margin-top:6px; overflow:hidden; border-radius:999px; background:#e9eff6; }
.hv-report-bar-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#315f9f,#2f6fd0); }
.hv-report-priority-list { display:grid; gap:9px; }
.hv-report-priority { display:grid; grid-template-columns:36px 1fr; gap:10px; align-items:start; padding:10px; border:1px solid #dde6f0; border-radius:11px; background:#fbfcfe; }
.hv-report-priority > b { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:#eaf1fb; color:var(--report-blue); font-size:10px; }
.hv-report-priority span,.hv-report-priority strong,.hv-report-priority small { display:block; }
.hv-report-priority span { color:#75869c; font-size:9.5px; font-weight:800; text-transform:uppercase; }
.hv-report-priority strong { margin-top:3px; color:var(--report-navy); font-size:12.5px; }
.hv-report-priority small { margin-top:3px; color:#72839a; font-size:10px; }
.hv-report-priority.is-positive > b { background:#e7f5ef; color:#287e67; }
.hv-report-priority.is-attention > b { background:#fff1d5; color:#a66d0c; }
.hv-report-mini-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.hv-report-mini-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.hv-report-mini-stat { min-width:0; padding:10px 11px; border:1px solid #e0e8f1; border-radius:10px; background:#f9fbfd; }
.hv-report-mini-stat span,.hv-report-mini-stat strong,.hv-report-mini-stat small { display:block; }
.hv-report-mini-stat span { color:#71849b; font-size:9.5px; font-weight:800; }
.hv-report-mini-stat strong { margin-top:5px; color:var(--report-navy); font-size:14px; overflow-wrap:anywhere; }
.hv-report-mini-stat small { margin-top:3px; color:#8391a3; font-size:9px; }
.hv-report-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.hv-report-steps > div { display:grid; grid-template-columns:30px 1fr; gap:9px; padding:11px; border:1px solid #dbe5f1; border-radius:11px; background:#fff; }
.hv-report-steps b { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:#edf4ff; color:var(--report-blue); }
.hv-report-steps span,.hv-report-steps strong,.hv-report-steps small { display:block; }
.hv-report-steps strong { color:var(--report-navy); font-size:11.5px; }
.hv-report-steps small { margin-top:4px; color:#6d8097; font-size:9.8px; line-height:1.45; }
.hv-report-definition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; margin:0; }
.hv-report-definition-grid > div { padding:9px 0; border-bottom:1px solid #e9eef4; }
.hv-report-definition-grid > div.is-wide { grid-column:1/-1; }
.hv-report-definition-grid dt { color:#75879e; font-size:9.5px; font-weight:850; text-transform:uppercase; }
.hv-report-definition-grid dd { margin:4px 0 0; color:var(--report-navy); font-size:11.5px; line-height:1.45; }
.hv-report-definition-grid--compact { grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:12px; }
.hv-report-rule-list { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.hv-report-rule-list li { display:grid; grid-template-columns:130px 1fr; gap:10px; padding:9px 10px; border-radius:9px; background:#f8fafc; }
.hv-report-rule-list b { color:var(--report-navy); font-size:10.5px; }
.hv-report-rule-list span { color:#687c94; font-size:10.5px; line-height:1.4; }
.hv-report-dimension-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.hv-report-dimension-card { padding:12px; border:1px solid #dfe7f0; border-radius:11px; background:#fafcfe; }
.hv-report-dimension-card__head { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.hv-report-dimension-card__head strong { color:var(--report-navy); font-size:11.5px; line-height:1.3; }
.hv-report-dimension-card__head b { color:var(--report-blue); font-size:16px; white-space:nowrap; }
.hv-report-dimension-card__head b small { font-size:9px; color:#75879d; }
.hv-report-dimension-card__meta { display:flex; justify-content:space-between; gap:8px; margin-top:7px; color:#74879c; font-size:9px; }
.hv-report-table-wrap { overflow-x:auto; }
.hv-report-table { width:100%; border-collapse:separate; border-spacing:0; font-size:10.5px; }
.hv-report-table th { padding:10px; border-bottom:1px solid #cfdaea; background:#f1f5fb; color:var(--report-navy); font-size:9.5px; text-align:left; }
.hv-report-table td { padding:10px; border-bottom:1px solid #e8edf3; color:#455c77; vertical-align:top; }
.hv-report-table tbody tr:nth-child(even) td { background:#fbfcfe; }
.hv-report-table-tag { display:inline-flex; padding:4px 7px; border-radius:999px; background:#edf3fc; color:#456da6; font-size:9px; font-weight:800; }
.hv-report-table td.is-positive { color:#26775f; font-weight:800; }
.hv-report-table td.is-negative { color:#b04c4c; font-weight:800; }
.hv-report-enps-score { display:flex; align-items:baseline; justify-content:space-between; padding:10px 12px; border:1px solid #dfe7f1; border-radius:10px; background:#f8fafc; }
.hv-report-enps-score span { color:#71849b; font-size:10px; font-weight:850; }
.hv-report-enps-score strong { color:var(--report-navy); font-size:27px; }
.hv-report-enps-stack { display:flex; height:10px; overflow:hidden; margin-top:12px; border-radius:999px; background:#e9eef4; }
.hv-report-enps-stack i { display:block; height:100%; }
.hv-report-enps-stack .is-good { background:var(--report-green); }
.hv-report-enps-stack .is-neutral { background:#c8a24d; }
.hv-report-enps-stack .is-danger { background:var(--report-red); }
.hv-report-enps-legend { display:flex; flex-wrap:wrap; gap:10px 16px; margin-top:9px; color:#687b93; font-size:9.5px; }
.hv-report-enps-legend span { display:flex; align-items:center; gap:5px; }
.hv-report-enps-legend b { width:8px; height:8px; border-radius:50%; }
.hv-report-enps-legend b.is-good { background:var(--report-green); }
.hv-report-enps-legend b.is-neutral { background:#c8a24d; }
.hv-report-enps-legend b.is-danger { background:var(--report-red); }
.hv-report-quote-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.hv-report-quote-grid blockquote { margin:0; padding:12px 14px; border:1px solid #dfe7f0; border-left:3px solid #91b1df; border-radius:9px; background:#fbfcfe; }
.hv-report-quote-grid blockquote strong { color:var(--report-navy); font-size:10.5px; }
.hv-report-quote-grid blockquote p { margin:6px 0 0; color:#5f748d; font-size:10.5px; line-height:1.5; }
.hv-report-empty { padding:14px; border:1px dashed #cbd8e7; border-radius:10px; background:#f9fbfd; color:#6d8097; font-size:11px; line-height:1.5; }
.hv-report-baseline-card { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:9px; margin-top:15px; }
.hv-report-baseline-card > div { padding:12px; border:1px solid #d9e4f2; border-radius:10px; background:#fff; }
.hv-report-baseline-card span,.hv-report-baseline-card strong,.hv-report-baseline-card small { display:block; }
.hv-report-baseline-card span { color:#71849b; font-size:9.5px; font-weight:850; text-transform:uppercase; }
.hv-report-baseline-card strong { margin-top:5px; color:var(--report-navy); font-size:15px; }
.hv-report-baseline-card small { margin-top:4px; color:#7b8ba0; font-size:9.5px; }
.hv-report-chart-wrap { padding:10px 12px 4px; border:1px solid #e0e8f1; border-radius:12px; background:#fbfcfe; }
.hv-report-line-chart { display:block; width:100%; height:auto; min-height:190px; }
.hv-report-line-chart .grid { stroke:#e2e9f1; stroke-width:1; }
.hv-report-line-chart .axis-label,.hv-report-line-chart .x-label { fill:#8090a5; font-size:10px; }
.hv-report-line-chart .series { fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.hv-report-line-chart .series--indice { stroke:#2f6fd0; }
.hv-report-line-chart .series--fav { stroke:#2f9477; }
.hv-report-line-chart .point { stroke:#fff; stroke-width:2; }
.hv-report-line-chart .point--indice { fill:#2f6fd0; }
.hv-report-line-chart .point--fav { fill:#2f9477; }
.hv-report-chart-legend { display:flex; justify-content:center; gap:18px; padding:7px 0; color:#687b92; font-size:9.5px; }
.hv-report-chart-legend span { display:flex; align-items:center; gap:5px; }
.hv-report-chart-legend b { width:18px; height:3px; border-radius:999px; }
.hv-report-chart-legend b.is-index { background:#2f6fd0; }
.hv-report-chart-legend b.is-fav { background:#2f9477; }
.hv-report-timeline { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:8px; margin-top:12px; }
.hv-report-timeline article { display:grid; grid-template-columns:30px 1fr; gap:8px; padding:10px; border:1px solid #dde6f1; border-radius:10px; background:#fff; }
.hv-report-timeline article > b { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#eaf2ff; color:#2f6fd0; font-size:10px; }
.hv-report-timeline span,.hv-report-timeline strong,.hv-report-timeline small { display:block; }
.hv-report-timeline span { color:#6e829a; font-size:9px; font-weight:800; text-transform:uppercase; }
.hv-report-timeline strong { margin-top:3px; color:var(--report-navy); font-size:10.5px; }
.hv-report-timeline small { margin-top:4px; color:#7c8ca1; font-size:9px; }
.hv-report-list { display:grid; gap:14px; }
.hv-report-listening-card { margin-bottom:0; }
.hv-report-status-chip { display:inline-flex; align-items:center; min-height:26px; padding:4px 8px; border-radius:999px; background:#edf3fc; color:#426ca6; font-size:9.5px; font-weight:850; white-space:nowrap; }
.hv-report-topic-row { margin-top:10px; padding:10px 12px; border:1px solid #e0e8f1; border-radius:10px; background:#f8fafc; }
.hv-report-topic-row > span { display:block; color:#74879d; font-size:9.5px; font-weight:850; text-transform:uppercase; }
.hv-report-topic-row > div { display:flex; flex-wrap:wrap; gap:5px; margin-top:7px; }
.hv-report-topic-row b { padding:4px 7px; border-radius:999px; background:#eaf2ff; color:#3c69a8; font-size:9.5px; }
.hv-report-text-block { min-width:0; padding:11px 12px; border:1px solid #e2e9f1; border-radius:10px; background:#fbfcfe; }
.hv-report-text-block > span { display:block; color:#71849b; font-size:9.5px; font-weight:850; text-transform:uppercase; }
.hv-report-text-block p { margin:5px 0 0; color:#4f6680; font-size:10.5px; line-height:1.55; }
.hv-report-text-block--inline { margin-top:10px; }
.hv-report-action-list { display:grid; gap:10px; }
.hv-report-action-card { display:grid; grid-template-columns:42px 1fr; gap:12px; padding:13px; border:1px solid #dde6ef; border-radius:12px; background:#fbfcfe; }
.hv-report-action-card__number { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:#eaf2ff; color:#2f6fd0; font-size:11px; font-weight:900; }
.hv-report-action-card__head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.hv-report-action-card__head span,.hv-report-action-card__head strong { display:block; }
.hv-report-action-card__head span { color:#71849a; font-size:9.5px; font-weight:850; text-transform:uppercase; }
.hv-report-action-card__head strong { margin-top:3px; color:var(--report-navy); font-size:12.5px; line-height:1.4; }
.hv-report-action-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:10px; }
.hv-report-action-meta > div { padding:8px 9px; border-radius:8px; background:#fff; border:1px solid #e4eaf1; }
.hv-report-action-meta span,.hv-report-action-meta strong { display:block; }
.hv-report-action-meta span { color:#7b8ca1; font-size:8.8px; font-weight:800; text-transform:uppercase; }
.hv-report-action-meta strong { margin-top:3px; color:#405775; font-size:10px; }
.clima-relatorios-grid--v1164 .clima-entregavel-card .card__body { min-height:245px; display:flex; flex-direction:column; }
.clima-relatorios-grid--v1164 .clima-entregavel-card__acao { margin-top:auto; padding-top:16px; }
.clima-relatorios-contexto-atual { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:14px; }
.clima-relatorios-contexto-atual > div { padding:11px 12px; border:1px solid #dce5ef; border-radius:10px; background:#f8fafc; }
.clima-relatorios-contexto-atual span,.clima-relatorios-contexto-atual strong { display:block; }
.clima-relatorios-contexto-atual span { color:#71849b; font-size:9.5px; font-weight:850; text-transform:uppercase; }
.clima-relatorios-contexto-atual strong { margin-top:4px; color:#303e68; font-size:12px; }
.clima-relatorios-medicao-form { max-width:520px; margin-top:12px; }

/* Plataforma de Ensino: entrada preparada, sem antecipar regras do futuro módulo. */
.ensino-coming-soon { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); gap:16px; align-items:stretch; }
.ensino-coming-soon__main,.ensino-coming-soon__aside { padding:22px; border:1px solid #dbe5f1; border-radius:16px; background:#fff; }
.ensino-coming-soon__main { background:linear-gradient(145deg,#fff,#f3f7ff); }
.ensino-coming-soon__main h2 { margin:8px 0; color:#303e68; font-size:24px; }
.ensino-coming-soon__main p { margin:0; color:#647991; line-height:1.6; }
.ensino-coming-soon__tag { display:inline-flex; padding:5px 9px; border-radius:999px; background:#eaf2ff; color:#2f6fd0; font-size:10px; font-weight:900; letter-spacing:.05em; }
.ensino-coming-soon__aside { display:grid; gap:9px; }
.ensino-coming-soon__aside div { padding:10px 11px; border:1px solid #e1e8f0; border-radius:9px; background:#f9fbfd; color:#5f748d; font-size:11px; }

@media (max-width: 1100px) {
  .hv-report-cover { grid-template-columns:1fr; }
  .hv-report-kpis--5 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hv-report-mini-grid--4,.hv-report-dimension-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hv-report-definition-grid--compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .hv-report-cover__context,.hv-report-kpis--5,.hv-report-kpis--4,.hv-report-kpis--3,.hv-report-grid--2,.hv-report-callouts,.hv-report-steps,.hv-report-dimension-grid,.hv-report-mini-grid,.hv-report-mini-grid--4,.hv-report-definition-grid,.hv-report-definition-grid--compact,.hv-report-quote-grid,.hv-report-action-meta,.clima-relatorios-contexto-atual,.ensino-coming-soon { grid-template-columns:1fr; }
  .hv-report-section-head,.hv-report-bar-row__head,.hv-report-action-card__head { flex-direction:column; align-items:flex-start; }
  .hv-report-section-head > p,.hv-report-bar-row__head span { text-align:left; }
  .hv-report-donut-row { grid-template-columns:1fr; }
  .hv-report-action-card { grid-template-columns:1fr; }
  .hv-report-baseline-card { grid-template-columns:1fr; }
}

@media print {
  @page { size:A4 portrait; margin:11mm 10mm 15mm; }
  .no-print,.hv-report-screen-toolbar,.instrucoes-dialog { display:none !important; }
  .print-document-header { margin-bottom:5mm !important; }
  .hv-report {
    --report-navy:#243657;
    max-width:none !important;
    margin:0 !important;
    font-size:8.8pt !important;
  }
  .hv-report-cover {
    grid-template-columns:1fr !important;
    gap:2mm !important;
    margin:0 0 4mm !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
  }
  .hv-report-cover__main { display:none !important; }
  .hv-report-cover__context {
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:2mm !important;
  }
  .hv-report-cover__context > div {
    padding:2.5mm !important;
    border:.5pt solid #cdd9e7 !important;
    border-radius:1.5mm !important;
    background:#f7f9fc !important;
  }
  .hv-report-cover__context span { font-size:6.8pt !important; }
  .hv-report-cover__context strong { font-size:8pt !important; }
  .hv-report-kpis { gap:2mm !important; margin-bottom:4mm !important; }
  .hv-report-kpis--5 { grid-template-columns:repeat(5,minmax(0,1fr)) !important; }
  .hv-report-kpis--4 { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
  .hv-report-kpis--3 { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .hv-report-kpi {
    min-height:0 !important;
    padding:2.5mm !important;
    border:.5pt solid #cdd9e7 !important;
    border-radius:1.7mm !important;
    box-shadow:none !important;
    break-inside:avoid;
  }
  .hv-report-kpi > span { font-size:6.6pt !important; }
  .hv-report-kpi > strong { margin-top:1.3mm !important; font-size:15pt !important; }
  .hv-report-kpi__text-value { font-size:10pt !important; }
  .hv-report-kpi > small { margin-top:1mm !important; font-size:6.5pt !important; }
  .hv-report-progress { height:1.2mm !important; margin-top:1.4mm !important; }
  .hv-report-grid { gap:3mm !important; margin-bottom:4mm !important; }
  .hv-report-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .hv-report-panel {
    margin-bottom:4mm !important;
    padding:3.5mm !important;
    border:.5pt solid #ced9e6 !important;
    border-radius:1.8mm !important;
    box-shadow:none !important;
    background:#fff !important;
    break-inside:auto;
  }
  .hv-report-panel--summary,.hv-report-panel--closing,.hv-report-panel--baseline { background:#f8faff !important; }
  .hv-report-section-head { margin-bottom:2.5mm !important; }
  .hv-report-section-head > div > span { font-size:6.5pt !important; }
  .hv-report-section-head h2 { margin-top:.7mm !important; font-size:11pt !important; }
  .hv-report-section-head > p { font-size:6.8pt !important; }
  .hv-report-lead { font-size:8.2pt !important; line-height:1.45 !important; }
  .hv-report-callouts { gap:2mm !important; margin-top:3mm !important; }
  .hv-report-callout { padding:2.5mm !important; border-radius:1.5mm !important; }
  .hv-report-donut-row { grid-template-columns:25mm 1fr !important; gap:4mm !important; }
  .hv-report-donut { width:23mm !important; height:23mm !important; }
  .hv-report-bars { gap:2.2mm !important; }
  .hv-report-bar-track { height:1.7mm !important; margin-top:1mm !important; }
  .hv-report-bar-row__head strong { font-size:7.5pt !important; }
  .hv-report-bar-row__head span { font-size:6.5pt !important; }
  .hv-report-priority { padding:2mm !important; border-radius:1.5mm !important; break-inside:avoid; }
  .hv-report-mini-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
  .hv-report-mini-stat { padding:2.2mm !important; border-radius:1.4mm !important; break-inside:avoid; }
  .hv-report-steps { gap:2mm !important; }
  .hv-report-definition-grid--compact { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
  .hv-report-dimension-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:2mm !important; }
  .hv-report-dimension-card { padding:2.4mm !important; border-radius:1.4mm !important; break-inside:avoid; }
  .hv-report-table-wrap { overflow:visible !important; }
  .hv-report-table { font-size:6.8pt !important; }
  .hv-report-table th,.hv-report-table td { padding:1.8mm !important; border:.4pt solid #d7e0e9 !important; }
  .hv-report-quote-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:2mm !important; }
  .hv-report-quote-grid blockquote { padding:2.5mm !important; break-inside:avoid; }
  .hv-report-chart-wrap { padding:2mm !important; border-radius:1.5mm !important; break-inside:avoid; }
  .hv-report-line-chart { min-height:0 !important; max-height:50mm !important; }
  .hv-report-timeline { gap:2mm !important; }
  .hv-report-timeline article { padding:2mm !important; break-inside:avoid; }
  .hv-report-listening-card,.hv-report-action-card { break-inside:avoid; }
  .hv-report-text-block { padding:2.4mm !important; }
  .hv-report-action-card { padding:2.5mm !important; border-radius:1.5mm !important; }
  .hv-report-action-meta { gap:1.5mm !important; }
  .hv-report-note { font-size:7pt !important; }
}
/* ===== Fim | Health View v116.4 ===== */

/* ===== Health View v117 | Pesquisa Pulse e novas medições do Ciclo ===== */
.clima-medicao-contexto { margin-bottom: 18px; }
.clima-medicao-contexto__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.clima-medicao-contexto__grid > div,
.clima-medicao-referencia {
  min-width: 0;
  border: 1px solid var(--cor-borda, #dbe3ec);
  border-radius: 12px;
  background: #f8fafc;
  padding: 14px 16px;
}
.clima-medicao-contexto__grid span,
.clima-medicao-referencia span {
  display: block;
  margin-bottom: 4px;
  color: #64748b;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.clima-medicao-contexto__grid strong,
.clima-medicao-referencia strong {
  display: block;
  color: #0f172a;
  font-size: .98rem;
  line-height: 1.35;
}
.clima-medicao-referencia { margin-top: 12px; }
.clima-medicao-referencia p { margin: 8px 0 0; color: #475569; line-height: 1.55; }

.clima-medicao-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 18px;
}
.clima-medicao-choice { height: 100%; }
.clima-medicao-choice .card__body {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.clima-medicao-choice h2 { margin: 8px 0 8px; }
.clima-medicao-choice p { margin: 0 0 12px; color: #475569; line-height: 1.55; }
.clima-medicao-choice ul { margin: 0 0 18px; padding-left: 18px; color: #475569; }
.clima-medicao-choice li + li { margin-top: 5px; }
.clima-medicao-choice .botao { margin-top: auto; }
.clima-medicao-choice--featured {
  border-color: rgba(37, 99, 235, .35);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}
.clima-medicao-choice__tag {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: .74rem;
  font-weight: 700;
}
.clima-medicao-regra { margin-bottom: 18px; }
.clima-medicao-regra h2 { margin-top: 0; }
.clima-medicao-regra__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.clima-medicao-regra__grid > div {
  border-left: 3px solid #cbd5e1;
  padding: 8px 12px;
}
.clima-medicao-regra__grid strong { display: block; color: #0f172a; margin-bottom: 4px; }
.clima-medicao-regra__grid span { color: #64748b; font-size: .88rem; line-height: 1.45; }

@media (max-width: 980px) {
  .clima-medicao-choice-grid,
  .clima-medicao-contexto__grid,
  .clima-medicao-regra__grid { grid-template-columns: 1fr; }
}

.formulario__grid > .clima-medicao-referencia {
  grid-column: 1 / -1;
}

/* ===== Fim | Health View v117 ===== */

/* ===== Health View v118 | Comparativos de Clima: Heatmap + Benchmark Interno ===== */
.clima-comparativos-callout .card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.clima-comparativos-callout h3 { margin: 4px 0 6px; }
.clima-comparativos-callout p { margin: 0; max-width: 840px; }

.clima-compare-context { margin-bottom: 18px; }
.clima-compare-context__main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
}
.clima-compare-context__main h2 { margin: 4px 0 5px; }
.clima-compare-context__main p { margin: 0; color: #475569; }
.clima-compare-context__measure {
  min-width: 260px;
  padding: 14px 16px;
  border: 1px solid #dbe4ee;
  border-radius: 14px;
  background: #f8fafc;
}
.clima-compare-context__measure span,
.clima-compare-context__measure small {
  display: block;
  color: #64748b;
  font-size: .78rem;
}
.clima-compare-context__measure span {
  margin-bottom: 4px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.clima-compare-context__measure strong {
  display: block;
  margin-bottom: 4px;
  color: #0f172a;
}
.clima-compare-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 340px));
  gap: 14px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
}

.clima-compare-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}
.clima-compare-kpi {
  min-width: 0;
  padding: 17px 18px;
  border: 1px solid #dbe4ee;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .045);
}
.clima-compare-kpi span {
  display: block;
  color: #64748b;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.clima-compare-kpi strong {
  display: block;
  margin-top: 8px;
  color: #0f172a;
  font-size: 1.65rem;
  line-height: 1.1;
}
.clima-compare-kpi small {
  display: block;
  margin-top: 7px;
  color: #64748b;
  line-height: 1.35;
}
.clima-compare-kpi--attention { border-top: 3px solid #d97706; }

.clima-compare-section { margin-top: 18px; }
.clima-compare-section__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 18px;
}
.clima-compare-section__head h2 { margin: 4px 0 5px; }
.clima-compare-section__head p { margin: 0; color: #64748b; max-width: 820px; line-height: 1.55; }
.clima-heatmap-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  max-width: 360px;
}
.clima-heatmap-legend span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 8px;
  border-radius: 8px;
  font-size: .72rem;
  font-weight: 800;
}
.clima-heatmap-legend .is-strong,
.clima-heatmap-table td.is-strong { background: #dcfce7; color: #166534; }
.clima-heatmap-legend .is-positive,
.clima-heatmap-table td.is-positive { background: #e0f2fe; color: #075985; }
.clima-heatmap-legend .is-attention,
.clima-heatmap-table td.is-attention { background: #fef3c7; color: #92400e; }
.clima-heatmap-legend .is-critical,
.clima-heatmap-table td.is-critical { background: #fee2e2; color: #991b1b; }
.clima-heatmap-legend .is-protected,
.clima-heatmap-table td.is-protected { background: #f1f5f9; color: #64748b; }

.clima-heatmap-scroll { overflow-x: auto; padding-bottom: 3px; }
.clima-heatmap-table {
  width: 100%;
  min-width: 760px;
  border-collapse: separate;
  border-spacing: 5px;
}
.clima-heatmap-table th,
.clima-heatmap-table td {
  border: 0;
  border-radius: 10px;
  padding: 12px 10px;
  text-align: center;
  vertical-align: middle;
}
.clima-heatmap-table thead th {
  background: #f8fafc;
  color: #475569;
  font-size: .76rem;
  font-weight: 800;
}
.clima-heatmap-table thead th:first-child { text-align: left; min-width: 210px; }
.clima-heatmap-table tbody th {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 210px;
  background: #fff;
  border: 1px solid #e5e7eb;
  text-align: left;
  color: #0f172a;
  box-shadow: 5px 0 9px rgba(255,255,255,.9);
}
.clima-heatmap-table tbody th small,
.clima-heatmap-table td small {
  display: block;
  margin-top: 4px;
  font-size: .7rem;
  font-weight: 600;
  opacity: .82;
}
.clima-heatmap-table td strong { display: block; font-size: .98rem; }
.clima-compare-note {
  margin: 14px 0 0;
  padding: 11px 13px;
  border-left: 3px solid #94a3b8;
  background: #f8fafc;
  color: #475569;
  font-size: .84rem;
  line-height: 1.5;
}

.clima-compare-reference {
  min-width: 135px;
  padding: 10px 14px;
  border-radius: 12px;
  background: #eff6ff;
  color: #1e3a8a;
  text-align: right;
}
.clima-compare-reference span { display: block; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.clima-compare-reference strong { display: block; margin-top: 3px; font-size: 1.3rem; }
.clima-benchmark-list { display: grid; gap: 10px; }
.clima-benchmark-row {
  display: grid;
  grid-template-columns: minmax(180px, 260px) 1fr;
  align-items: center;
  gap: 18px;
  padding: 13px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 13px;
  background: #fff;
}
.clima-benchmark-row__label strong { display: block; color: #0f172a; }
.clima-benchmark-row__label small { display: block; margin-top: 3px; color: #64748b; }
.clima-benchmark-row__chart { min-width: 0; }
.clima-benchmark-track {
  position: relative;
  height: 12px;
  overflow: visible;
  border-radius: 999px;
  background: #e2e8f0;
}
.clima-benchmark-track i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #0f766e, #2563eb);
}
.clima-benchmark-track b {
  position: absolute;
  top: -5px;
  width: 2px;
  height: 22px;
  background: #0f172a;
  transform: translateX(-1px);
}
.clima-benchmark-row__values {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 7px;
  font-size: .82rem;
}
.clima-benchmark-row__values strong { color: #0f172a; }
.clima-benchmark-row__values span { font-weight: 800; }
.clima-benchmark-row__values .is-positive { color: #166534; }
.clima-benchmark-row__values .is-negative { color: #b91c1c; }
.clima-benchmark-row__values .is-neutral { color: #64748b; }
.clima-benchmark-row.is-protected { background: #f8fafc; }
.clima-benchmark-row__protected {
  color: #64748b;
  font-size: .84rem;
  font-weight: 700;
}

.clima-compare-insight { margin-top: 18px; border-left: 4px solid #d97706; }
.clima-compare-insight h2 { margin: 5px 0 7px; }
.clima-compare-insight p { margin: 0 0 8px; line-height: 1.55; }
.clima-compare-insight .builder-acoes { margin-top: 14px; }

@media (max-width: 1080px) {
  .clima-compare-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clima-compare-section__head,
  .clima-compare-context__main { flex-direction: column; }
  .clima-heatmap-legend { justify-content: flex-start; max-width: none; }
  .clima-compare-context__measure { min-width: 0; width: 100%; }
}
@media (max-width: 720px) {
  .clima-comparativos-callout .card__body,
  .clima-compare-section__head { align-items: stretch; flex-direction: column; }
  .clima-compare-controls,
  .clima-compare-kpis { grid-template-columns: 1fr; }
  .clima-benchmark-row { grid-template-columns: 1fr; gap: 10px; }
  .clima-compare-reference { text-align: left; }
}

/* ===== Fim | Health View v118 ===== */


/* Health View v118.1 — estado vazio orientativo dos Comparativos de Clima */
.clima-compare-empty .card__body { padding: 26px 28px; }
.clima-compare-empty__content { max-width: 1080px; }
.clima-compare-empty__content h2 { margin: 5px 0 8px; color: #0f2b55; }
.clima-compare-empty__content > p { margin: 0; color: #526987; line-height: 1.58; max-width: 960px; }
.clima-compare-empty__summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}
.clima-compare-empty__summary > div {
  min-width: 0;
  padding: 15px 16px;
  border: 1px solid #d8e3f0;
  border-radius: 14px;
  background: #f8fbff;
}
.clima-compare-empty__summary span {
  display: block;
  color: #607896;
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.clima-compare-empty__summary strong {
  display: block;
  margin-top: 6px;
  color: #102b52;
  font-size: 1rem;
  line-height: 1.25;
}
.clima-compare-empty__guidance {
  margin-top: 18px;
  padding: 15px 17px;
  border-left: 3px solid #2f70d0;
  border-radius: 0 12px 12px 0;
  background: #f5f9ff;
}
.clima-compare-empty__guidance > strong { color: #143963; }
.clima-compare-empty__guidance p { margin: 5px 0 0; color: #526987; line-height: 1.55; }
.clima-compare-empty__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
@media (max-width: 900px) {
  .clima-compare-empty__summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .clima-compare-empty .card__body { padding: 20px; }
  .clima-compare-empty__summary { grid-template-columns: 1fr; }
  .clima-compare-empty__actions .botao { width: 100%; justify-content: center; }
}

/* ========================================================================== */
/* Health View v119 — Inteligência do Clima                                   */
/* Camada de síntese exclusiva do Clima. Não altera motores de cálculo.       */
/* ========================================================================== */
.clima-intelligence-intro .card__body { padding: 24px 28px; }
.clima-intelligence-intro h2 { margin: 5px 0 7px; color: #102b52; }
.clima-intelligence-intro p { max-width: 1050px; margin: 0; color: #526987; line-height: 1.6; }

.clima-intelligence-context .card__body { padding: 22px 24px; }
.clima-intelligence-context__main { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.clima-intelligence-context__main h2 { margin: 4px 0 4px; color: #102b52; }
.clima-intelligence-context__main p { margin: 0; color: #526987; }
.clima-intelligence-context__measure {
  min-width: 270px;
  padding: 14px 16px;
  border: 1px solid #d8e3f0;
  border-radius: 14px;
  background: #f8fbff;
}
.clima-intelligence-context__measure span,
.clima-intelligence-context__measure small { display: block; color: #607896; }
.clima-intelligence-context__measure span { font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.clima-intelligence-context__measure strong { display: block; margin: 5px 0 2px; color: #143963; }
.clima-intelligence-context__measure small { font-size: .82rem; }
.clima-intelligence-measure-form { max-width: 520px; margin-top: 18px; }

.clima-intelligence-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}
.clima-intelligence-kpi {
  min-width: 0;
  padding: 18px 19px;
  border: 1px solid #d8e3f0;
  border-radius: 16px;
  background: #fff;
}
.clima-intelligence-kpi > span { display: block; color: #607896; font-size: .75rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.clima-intelligence-kpi > strong { display: block; margin-top: 7px; color: #102b52; font-size: 1.5rem; line-height: 1.12; overflow-wrap: anywhere; }
.clima-intelligence-kpi > small { display: block; margin-top: 7px; color: #6a7f99; line-height: 1.38; }
.clima-intelligence-kpi--attention { border-top: 3px solid #d59b36; }
.clima-intelligence-kpi--priority { border-top: 3px solid #236f69; }

.clima-intelligence-summary .card__body,
.clima-intelligence-context-org .card__body,
.clima-intelligence-governance .card__body { padding: 24px 26px; }
.clima-intelligence-section { margin-top: 18px; }
.clima-intelligence-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.clima-intelligence-section-head h2 { margin: 4px 0 5px; color: #102b52; }
.clima-intelligence-section-head p { margin: 0; color: #5b718c; line-height: 1.55; max-width: 980px; }
.clima-intelligence-pill {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eaf6f4;
  color: #236f69;
  font-size: .76rem;
  font-weight: 800;
}
.clima-intelligence-summary__text { margin: 18px 0 0; color: #304965; font-size: 1.02rem; line-height: 1.68; }
.clima-intelligence-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.clima-intelligence-source-grid > div { padding: 14px 15px; border: 1px solid #dce6f2; border-radius: 13px; background: #fafcff; }
.clima-intelligence-source-grid span { display: block; color: #6a7f99; font-size: .73rem; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.clima-intelligence-source-grid strong { display: block; margin-top: 5px; color: #143963; font-size: .91rem; }
.clima-intelligence-source-grid .is-available { background: #f5fbfa; border-color: #cfe7e3; }
.clima-intelligence-source-grid .is-limited { background: #fffaf1; border-color: #ead9b7; }

.clima-intelligence-priority-list { display: grid; gap: 16px; margin-top: 14px; }
.clima-intelligence-priority { overflow: hidden; border-left-width: 4px; }
.clima-intelligence-priority.is-critical { border-left-color: #b54747; }
.clima-intelligence-priority.is-high { border-left-color: #c77b2a; }
.clima-intelligence-priority.is-moderate { border-left-color: #d0a13b; }
.clima-intelligence-priority.is-monitor { border-left-color: #4b7fa9; }
.clima-intelligence-priority .card__body { padding: 22px 24px; }
.clima-intelligence-priority__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.clima-intelligence-priority__position { display: block; color: #6a7f99; font-size: .73rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.clima-intelligence-priority__header h3 { margin: 4px 0 0; color: #102b52; font-size: 1.18rem; }
.clima-intelligence-priority__level { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 10px; border-radius: 999px; font-size: .76rem; font-weight: 800; }
.clima-intelligence-priority__level.is-critical { color: #8a2f2f; background: #fbecec; }
.clima-intelligence-priority__level.is-high { color: #8a541e; background: #fff1df; }
.clima-intelligence-priority__level.is-moderate { color: #795f18; background: #fff8dc; }
.clima-intelligence-priority__level.is-monitor { color: #315f85; background: #edf5fb; }

.clima-intelligence-priority__metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.clima-intelligence-priority__metrics > div { min-width: 0; padding: 13px 14px; border: 1px solid #e0e8f1; border-radius: 12px; background: #fafcff; }
.clima-intelligence-priority__metrics span { display: block; color: #6a7f99; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.clima-intelligence-priority__metrics strong { display: block; margin-top: 4px; color: #143963; font-size: 1.08rem; }
.clima-intelligence-priority__metrics small { display: block; margin-top: 4px; color: #6a7f99; line-height: 1.32; }

.clima-intelligence-evidence-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; margin-top: 18px; padding-top: 18px; border-top: 1px solid #e3eaf2; }
.clima-intelligence-evidence-grid h4 { margin: 0 0 9px; color: #294866; font-size: .92rem; }
.clima-intelligence-evidence-grid ul { margin: 0; padding-left: 19px; color: #526987; line-height: 1.55; }
.clima-intelligence-question-list { padding-left: 0 !important; list-style: none; }
.clima-intelligence-question-list li { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid #edf1f5; }
.clima-intelligence-question-list li:last-child { border-bottom: 0; }
.clima-intelligence-question-list span { min-width: 0; }
.clima-intelligence-question-list strong { flex: 0 0 auto; color: #143963; }

.clima-intelligence-priority__actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #e3eaf2; }
.clima-intelligence-priority__actions > span { color: #526987; line-height: 1.5; max-width: 720px; }
.clima-intelligence-priority__actions > div { display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-end; }

.clima-intelligence-indicators { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; margin-top: 18px; }
.clima-intelligence-indicators > div { min-width: 0; padding: 14px 15px; border: 1px solid #dce6f2; border-radius: 13px; background: #f8fbff; }
.clima-intelligence-indicators span { display: block; color: #607896; font-size: .76rem; font-weight: 800; }
.clima-intelligence-indicators strong { display: block; margin-top: 5px; color: #102b52; font-size: 1.15rem; }
.clima-intelligence-indicators small { display: block; margin-top: 4px; color: #7a8da4; }
.clima-intelligence-empty-inline { margin-top: 18px; padding: 16px; border: 1px dashed #cfdcea; border-radius: 12px; color: #607896; background: #fafcff; }

.clima-intelligence-governance { margin-top: 18px; border-left: 4px solid #236f69; }
.clima-intelligence-governance h2 { margin: 5px 0 7px; color: #102b52; }
.clima-intelligence-governance p { margin: 0; color: #526987; line-height: 1.6; }
.clima-intelligence-empty .card__body { padding: 26px; }
.clima-intelligence-empty h2,
.clima-intelligence-empty h3 { margin: 5px 0 7px; color: #102b52; }
.clima-intelligence-empty p { margin: 0; color: #607896; line-height: 1.55; }
.clima-intelligence-empty--compact .card__body { padding: 20px 22px; }

.clima-intelligence-callout .card__body { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.clima-intelligence-callout h3 { margin: 4px 0 5px; color: #102b52; }
.clima-intelligence-callout p { margin: 0; max-width: 850px; }

@media (max-width: 1100px) {
  .clima-intelligence-kpis,
  .clima-intelligence-priority__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clima-intelligence-context__main,
  .clima-intelligence-priority__actions { align-items: stretch; flex-direction: column; }
  .clima-intelligence-context__measure { min-width: 0; width: 100%; }
  .clima-intelligence-priority__actions > div { justify-content: flex-start; }
}
@media (max-width: 760px) {
  .clima-intelligence-kpis,
  .clima-intelligence-priority__metrics,
  .clima-intelligence-source-grid,
  .clima-intelligence-evidence-grid,
  .clima-intelligence-indicators { grid-template-columns: 1fr; }
  .clima-intelligence-section-head,
  .clima-intelligence-priority__header,
  .clima-intelligence-callout .card__body { flex-direction: column; align-items: stretch; }
  .clima-intelligence-priority__actions > div .botao { flex: 1 1 100%; justify-content: center; }
}

/* ===== Fim | Health View v119 ===== */

/* ========================================================================== */
/* Health View v119.1 — respiro visual da Inteligência do Clima              */
/* Ajuste exclusivamente de espaçamento entre blocos e cards.                 */
/* ========================================================================== */
.clima-intelligence-section {
  margin-top: 26px;
}
.clima-intelligence-priority-list {
  gap: 24px;
  margin-top: 20px;
}
.clima-intelligence-context-org {
  margin-top: 28px;
}
.clima-intelligence-governance {
  margin-top: 26px;
}

@media (max-width: 760px) {
  .clima-intelligence-section { margin-top: 22px; }
  .clima-intelligence-priority-list { gap: 20px; margin-top: 16px; }
  .clima-intelligence-context-org { margin-top: 22px; }
  .clima-intelligence-governance { margin-top: 22px; }
}

/* ===== Fim | Health View v119.1 ===== */

/* Health View v119.2 — hierarquia cromática da Inteligência do Clima
   A cor diferencia função e leitura; regras, cálculos e ações permanecem inalterados. */
.clima-intelligence-intro {
  background: #f7faff;
  border-color: #d7e4f4;
}
.clima-intelligence-intro .clima-resumo-kicker { color: #2c65a8; }

.clima-intelligence-context {
  background: #ffffff;
  border-color: #dce6f2;
}
.clima-intelligence-context .clima-resumo-kicker { color: #526f91; }

.clima-intelligence-summary {
  background: #f4faf9;
  border-color: #cfe5e2;
}
.clima-intelligence-summary .clima-resumo-kicker { color: #24736d; }
.clima-intelligence-summary .clima-intelligence-section-head h2 { color: #164f4c; }
.clima-intelligence-summary__text { color: #355f5c; }

.clima-intelligence-priorities-panel {
  margin-top: 22px;
  background: #fffaf3;
  border-color: #ead8b9;
  overflow: hidden;
}
.clima-intelligence-priorities-panel > .card__body {
  padding: 24px 26px 26px;
}
.clima-intelligence-priorities-panel .clima-resumo-kicker { color: #9a651e; }
.clima-intelligence-priorities-panel > .card__body > .clima-intelligence-section-head h2 { color: #6f4b19; }
.clima-intelligence-priorities-panel > .card__body > .clima-intelligence-section-head p { color: #725f46; }
.clima-intelligence-priorities-panel .clima-intelligence-priority-list { margin-top: 20px; }
.clima-intelligence-priorities-panel .clima-intelligence-priority {
  background: #ffffff;
  border-color: #e6dfd5;
}
.clima-intelligence-priorities-panel .clima-intelligence-priority__metrics > div {
  background: #fffdf9;
  border-color: #eadfce;
}

.clima-intelligence-context-org {
  background: #f5f9ff;
  border-color: #d3e2f3;
}
.clima-intelligence-context-org .clima-resumo-kicker { color: #2f68a9; }
.clima-intelligence-context-org .clima-intelligence-section-head h2 { color: #1d4f85; }
.clima-intelligence-context-org .clima-intelligence-section-head p { color: #4d6988; }
.clima-intelligence-context-org .clima-intelligence-indicators > div,
.clima-intelligence-context-org .clima-intelligence-empty-inline {
  background: #ffffff;
  border-color: #d5e2f0;
}

.clima-intelligence-governance {
  background: #f2faf7;
  border-color: #cbe5dc;
  border-left-color: #23766e;
}
.clima-intelligence-governance .clima-resumo-kicker { color: #23766e; }
.clima-intelligence-governance h2 { color: #155d56; }
.clima-intelligence-governance p { color: #416b67; }

@media (max-width: 720px) {
  .clima-intelligence-priorities-panel > .card__body { padding: 20px 18px 22px; }
}

/* ========================================================================== */
/* Health View v120 — Acompanhamento Executivo + Evolução Avançada do Clima  */
/* Camadas somente-leitura sobre Plano de Ação, Escutas e medições existentes. */
/* ========================================================================== */
.clima-exec-intro,
.clima-evolution-intro {
  background: #f4faf9;
  border-color: #cfe5e2;
}
.clima-exec-intro .clima-resumo-kicker,
.clima-evolution-intro .clima-resumo-kicker { color: #24736d; }
.clima-exec-intro h2,
.clima-evolution-intro h2 { color: #164f4c; }

.clima-exec-context,
.clima-evolution-context {
  margin-top: 18px;
  background: #f7faff;
  border-color: #d7e4f4;
}
.clima-exec-context__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.clima-exec-context__grid > div {
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid #dce6f2;
  border-radius: 12px;
  background: #fff;
}
.clima-exec-context__grid span { display: block; color: #687b91; font-size: 12px; font-weight: 700; margin-bottom: 5px; }
.clima-exec-context__grid strong { display: block; color: #263d55; font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }

.clima-exec-empty { margin-top: 22px; background: #fffaf3; border-color: #ead8b9; }
.clima-exec-empty .clima-resumo-kicker { color: #9a651e; }
.clima-exec-empty h2 { color: #6f4b19; }

.clima-exec-kpis,
.clima-evolution-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}
.clima-evolution-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.clima-exec-kpis > article,
.clima-evolution-kpis > article {
  min-width: 0;
  border: 1px solid #dce6f2;
  border-radius: 14px;
  background: #fff;
  padding: 17px 18px;
}
.clima-exec-kpis span,
.clima-evolution-kpis span { display: block; color: #66788d; font-size: 12px; font-weight: 700; margin-bottom: 7px; }
.clima-exec-kpis strong,
.clima-evolution-kpis strong { display: block; color: #243d58; font-size: 27px; line-height: 1.05; }
.clima-exec-kpis small,
.clima-evolution-kpis small { display: block; color: #7b8999; font-size: 11px; margin-top: 8px; line-height: 1.35; }
.clima-exec-kpis .is-progress { background: #f5f9ff; border-color: #d3e2f3; }
.clima-exec-kpis .is-warning { background: #fffaf3; border-color: #ead8b9; }
.clima-exec-kpis .is-danger { background: #fff7f6; border-color: #efcfcb; }
.clima-exec-kpis .is-success { background: #f2faf7; border-color: #cbe5dc; }
.clima-exec-kpis .is-evidence { background: #f7f7fc; border-color: #dddff0; }
.clima-exec-kpis .is-danger strong,
.clima-evolution-kpis .is-negative strong { color: #a63d3d; }
.clima-exec-kpis .is-success strong,
.clima-evolution-kpis .is-positive strong { color: #23766e; }

.clima-exec-progress-panel,
.clima-exec-priorities,
.clima-evolution-trajectory,
.clima-evolution-measures,
.clima-evolution-dimensions,
.clima-evolution-governance { margin-top: 24px; }
.clima-exec-progress-panel { background: #f5f9ff; border-color: #d3e2f3; }
.clima-exec-priorities { background: #fffaf3; border-color: #ead8b9; }
.clima-evolution-trajectory { background: #f4faf9; border-color: #cfe5e2; }
.clima-evolution-measures { background: #f7faff; border-color: #d7e4f4; }
.clima-evolution-dimensions { background: #fffaf3; border-color: #ead8b9; }
.clima-evolution-governance { background: #f2faf7; border-color: #cbe5dc; border-left: 4px solid #23766e; }

.clima-exec-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}
.clima-exec-section-head h2 { margin: 2px 0 4px; color: #284661; font-size: 20px; }
.clima-exec-section-head p { margin: 0; color: #687b91; max-width: 830px; }
.clima-exec-section-head > strong { color: #1d4f85; font-size: 25px; white-space: nowrap; }

.clima-exec-progress { width: 100%; height: 12px; overflow: hidden; border-radius: 999px; background: #dce6f2; }
.clima-exec-progress > span { display: block; height: 100%; border-radius: inherit; background: #2f68a9; }
.clima-exec-progress-legend { display: flex; flex-wrap: wrap; gap: 12px 22px; color: #66788d; font-size: 12px; margin-top: 10px; }

.clima-exec-group-list { display: grid; gap: 18px; }
.clima-exec-group {
  border: 1px solid #e6dfd5;
  border-left: 4px solid #7f91a5;
  border-radius: 13px;
  padding: 18px;
  background: #fff;
}
.clima-exec-group.is-critical { border-left-color: #b33f3f; }
.clima-exec-group.is-high { border-left-color: #c5752b; }
.clima-exec-group.is-medium { border-left-color: #c89d35; }
.clima-exec-group.is-low { border-left-color: #4f8b78; }
.clima-exec-group__head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.clima-exec-group__head span { color: #876335; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.clima-exec-group__head h3 { margin: 4px 0 0; color: #354b61; font-size: 18px; }
.clima-exec-group__numbers { text-align: right; }
.clima-exec-group__numbers strong { display: block; color: #284661; font-size: 22px; }
.clima-exec-group__numbers small { color: #7b8999; }
.clima-exec-group__meta { display: flex; gap: 12px; flex-wrap: wrap; color: #687b91; font-size: 12px; margin: 10px 0 12px; }
.clima-exec-group__meta .is-danger { color: #a63d3d; font-weight: 700; }
.clima-exec-actions-list { display: grid; gap: 8px; }
.clima-exec-actions-list > div { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 10px 12px; border-radius: 10px; background: #fffdf9; border: 1px solid #eee4d5; }
.clima-exec-actions-list strong { display: block; color: #3c4f61; font-size: 13px; }
.clima-exec-actions-list small { display: block; color: #7b8999; margin-top: 3px; }
.clima-exec-action-status { flex: 0 0 auto; color: #526f91; font-size: 11px; font-weight: 800; }
.clima-exec-action-status.is-danger { color: #a63d3d; }

.clima-exec-two-columns { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px; margin-top: 24px; }
.clima-exec-listen-panel { background: #f4faf9; border-color: #cfe5e2; }
.clima-exec-next-panel { background: #f7faff; border-color: #d7e4f4; }
.clima-exec-two-columns h2 { margin: 4px 0 8px; color: #284661; font-size: 19px; }
.clima-exec-two-columns p { color: #687b91; }
.clima-exec-mini-list { display: grid; gap: 9px; margin-top: 14px; }
.clima-exec-mini-list > div { padding: 10px 12px; background: #fff; border: 1px solid #d9e6e3; border-radius: 10px; }
.clima-exec-mini-list strong { display: block; color: #365a57; }
.clima-exec-mini-list span { color: #718481; font-size: 12px; }
.clima-exec-empty-inline { margin-top: 14px; padding: 12px; border-radius: 10px; background: #fff; color: #718481; border: 1px dashed #d5dfdf; }

.clima-evolution-timeline { position: relative; display: grid; gap: 0; margin-top: 6px; }
.clima-evolution-timeline::before { content: ""; position: absolute; left: 10px; top: 10px; bottom: 10px; width: 2px; background: #cfe0df; }
.clima-evolution-timeline > article { position: relative; display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 14px; padding: 0 0 19px; }
.clima-evolution-timeline__marker { position: relative; z-index: 1; width: 13px; height: 13px; border-radius: 50%; margin: 5px 0 0 4px; background: #2f68a9; border: 3px solid #fff; box-shadow: 0 0 0 2px #9bb9d8; }
.clima-evolution-timeline .is-escuta .clima-evolution-timeline__marker { background: #24736d; box-shadow: 0 0 0 2px #9ccbc6; }
.clima-evolution-timeline .is-acao .clima-evolution-timeline__marker { background: #b8792e; box-shadow: 0 0 0 2px #e3c38d; }
.clima-evolution-timeline .is-fechamento .clima-evolution-timeline__marker { background: #4f8b78; box-shadow: 0 0 0 2px #afd0c5; }
.clima-evolution-timeline time { color: #7b8999; font-size: 11px; font-weight: 700; }
.clima-evolution-timeline h3 { margin: 2px 0 3px; color: #34516a; font-size: 15px; }
.clima-evolution-timeline p { margin: 0; color: #687b91; font-size: 13px; }

.clima-evolution-measure-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 14px; }
.clima-evolution-measure-grid article { border: 1px solid #dce6f2; border-radius: 13px; background: #fff; padding: 16px; }
.clima-evolution-measure-grid article > span { display: block; color: #526f91; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.clima-evolution-measure-grid article > strong { display: block; min-height: 40px; margin: 5px 0 12px; color: #284661; }
.clima-evolution-measure-grid article > div { display: inline-block; margin-right: 18px; }
.clima-evolution-measure-grid b { display: block; color: #1d4f85; font-size: 20px; }
.clima-evolution-measure-grid small { color: #7b8999; font-size: 10px; }
.clima-evolution-measure-grid em { display: block; margin-top: 12px; color: #718091; font-size: 11px; font-style: normal; }

.clima-evolution-dimension-list { display: grid; gap: 9px; }
.clima-evolution-dimension-list > article { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 14px; border: 1px solid #eadfce; border-radius: 11px; background: #fff; }
.clima-evolution-dimension-list strong { display: block; color: #465668; }
.clima-evolution-dimension-list small { color: #7e8995; }
.clima-evolution-dimension-values { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.clima-evolution-dimension-values span { min-width: 40px; text-align: center; color: #526f91; font-weight: 800; }
.clima-evolution-dimension-values b { color: #9aa6b1; }
.clima-evolution-dimension-values em { min-width: 72px; text-align: right; font-style: normal; font-weight: 800; }
.clima-evolution-dimension-values .is-positive,
.clima-evolution-kpis .is-positive strong { color: #23766e; }
.clima-evolution-dimension-values .is-negative,
.clima-evolution-kpis .is-negative strong { color: #a63d3d; }
.clima-evolution-dimension-values .is-neutral { color: #6f7d8b; }

.clima-evolution-highlights { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 24px; }
.clima-evolution-highlights article.is-positive { background: #f2faf7; border-color: #cbe5dc; }
.clima-evolution-highlights article.is-attention { background: #fffaf3; border-color: #ead8b9; }
.clima-evolution-highlights article.is-persistent { background: #fff7f6; border-color: #efcfcb; }
.clima-evolution-highlights h2 { margin: 4px 0 8px; color: #34516a; font-size: 18px; }
.clima-evolution-highlights strong { color: #284661; font-size: 25px; }
.clima-evolution-highlights p,
.clima-evolution-highlights li { color: #687b91; font-size: 12px; line-height: 1.45; }
.clima-evolution-highlights ul { margin: 8px 0 0; padding-left: 18px; }

.clima-intelligence-followup { margin-top: 26px; background: #f7faff; border-color: #d3e2f3; }
.clima-intelligence-followup .clima-resumo-kicker { color: #2f68a9; }
.clima-intelligence-followup__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.clima-intelligence-followup__grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.clima-intelligence-followup__grid > div { background: #fff; border: 1px solid #d7e4f4; border-radius: 11px; padding: 12px 14px; }
.clima-intelligence-followup__grid span { display: block; color: #718091; font-size: 11px; font-weight: 700; }
.clima-intelligence-followup__grid strong { display: block; color: #284661; font-size: 21px; margin-top: 3px; }
.clima-intelligence-followup__grid .is-danger strong { color: #a63d3d; }

@media (max-width: 1180px) {
  .clima-exec-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .clima-exec-context__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .clima-intelligence-followup__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 850px) {
  .clima-evolution-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .clima-evolution-highlights,
  .clima-exec-two-columns { grid-template-columns: 1fr; }
  .clima-exec-section-head,
  .clima-exec-group__head,
  .clima-evolution-dimension-list > article { flex-direction: column; align-items: stretch; }
  .clima-exec-group__numbers { text-align: left; }
  .clima-evolution-dimension-values { justify-content: flex-start; flex-wrap: wrap; }
}
@media (max-width: 620px) {
  .clima-exec-kpis,
  .clima-evolution-kpis,
  .clima-exec-context__grid,
  .clima-intelligence-followup__grid { grid-template-columns: 1fr; }
  .clima-exec-actions-list > div { flex-direction: column; align-items: flex-start; }
  .clima-intelligence-followup__actions { width: 100%; }
  .clima-intelligence-followup__actions .botao { flex: 1 1 100%; justify-content: center; }
}

/* ===== Fim | Health View v120 ===== */


/* ===== Health View v120.2 | UX do cockpit do Ciclo e Plano de Ação ===== */
.clima-ciclo-cabecalho__topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.clima-ciclo-identidade {
  display: grid;
  grid-template-columns: minmax(180px,.9fr) minmax(260px,1.35fr) minmax(220px,1fr);
  gap: 12px;
  min-width: 0;
  flex: 1 1 auto;
}
.clima-ciclo-identidade > div {
  min-width: 0;
  padding: 11px 13px;
  border: 1px solid #dce6f1;
  border-radius: 12px;
  background: #f8fbfe;
}
.clima-ciclo-identidade span {
  display: block;
  margin-bottom: 4px;
  color: #71829a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.clima-ciclo-identidade strong {
  display: block;
  color: #243b5a;
  font-size: 14px;
  line-height: 1.35;
}
.clima-ciclo-descricao {
  margin: 12px 0 0;
  color: #687b91;
  font-size: 12.5px;
  line-height: 1.5;
}
.clima-ciclo-resumo-grid--topo { margin: 0 0 12px; }
.clima-ciclo-resumo-grid--topo > .card { background: #fbfdff; }
.clima-ciclo-list-actions { display: flex; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }

/* Plano de Ação do Clima: contexto mais limpo sem alterar o fluxo genérico. */
.pa-detail-page--clima .pa-intro {
  margin-bottom: 12px;
  padding: 10px 14px;
  border: 1px solid #dbe7f3;
  border-radius: 12px;
  background: #f7faff;
}
.pa-detail-page--clima .pa-intro p { margin: 0; }
.pa-hero-card--clima { background: linear-gradient(135deg, #ffffff 0%, #f4faf9 100%); }
.pa-hero-card--clima .pa-hero-card__main p { color: #667a90; font-size: 13px; font-weight: 600; }
.pa-hero-meta--clima { grid-template-columns: repeat(4, minmax(0,1fr)); }
.alerta--clima-plano {
  margin-bottom: 10px;
  padding: 10px 14px;
  border-color: #d6e4ef;
  background: #f4f8fc;
  color: #53697f;
  font-size: 12.5px;
}

@media (max-width: 1120px) {
  .clima-ciclo-cabecalho__topo { flex-direction: column; }
  .clima-ciclo-identidade { width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .clima-ciclo-cabecalho__meta { justify-content: flex-start; }
  .pa-hero-meta--clima { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .clima-ciclo-identidade,
  .pa-hero-meta--clima { grid-template-columns: 1fr; }
  .clima-ciclo-list-actions { justify-content: stretch; }
  .clima-ciclo-list-actions .botao { flex: 1 1 100%; justify-content: center; }
}
/* ===== Fim | Health View v120.2 ===== */


/* ===== Health View v120.3 | Cockpit do Ciclo simplificado ===== */
.clima-ciclo-cabecalho--cockpit {
  border-color: #d8e6f3;
  background: linear-gradient(135deg, #ffffff 0%, #f5f9fd 100%);
}
.clima-ciclo-identidade--compacta > div {
  background: rgba(255,255,255,.78);
}
.clima-ciclo-jornada-resumo {
  margin-bottom: 12px;
  border-color: #d9e6f2;
  background: #fbfdff;
}
.clima-ciclo-jornada-resumo .card__body { padding: 15px 17px; }
.clima-ciclo-jornada-resumo__cabecalho {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 11px;
}
.clima-ciclo-jornada-resumo__cabecalho p {
  margin: 4px 0 0;
  color: #6c7f94;
  font-size: 12.5px;
}
.clima-ciclo-jornada-resumo__itens {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 9px;
}
.clima-ciclo-jornada-resumo__item {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #dce6f1;
  border-radius: 12px;
  background: #fff;
}
.clima-ciclo-jornada-resumo__item > span,
.clima-ciclo-jornada-resumo__item > strong,
.clima-ciclo-jornada-resumo__item > small { display: block; }
.clima-ciclo-jornada-resumo__item > span {
  margin-bottom: 5px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.clima-ciclo-jornada-resumo__item > strong {
  color: #173b67;
  font-size: 14px;
  line-height: 1.3;
}
.clima-ciclo-jornada-resumo__item > small {
  margin-top: 4px;
  color: #6a7c90;
  font-size: 11.5px;
  line-height: 1.35;
}
.clima-ciclo-jornada-resumo__item--azul { background: #f3f8ff; border-color: #d6e5f7; }
.clima-ciclo-jornada-resumo__item--azul > span { color: #2e67ad; }
.clima-ciclo-jornada-resumo__item--verde { background: #f2faf7; border-color: #d3e9e1; }
.clima-ciclo-jornada-resumo__item--verde > span { color: #24766d; }
.clima-ciclo-jornada-resumo__item--ambar { background: #fff9ef; border-color: #ecdab7; }
.clima-ciclo-jornada-resumo__item--ambar > span { color: #99631d; }
.clima-ciclo-jornada-resumo__item--petroleo { background: #f2f9f9; border-color: #d3e7e7; }
.clima-ciclo-jornada-resumo__item--petroleo > span { color: #276f78; }
.clima-ciclo-etapas--cockpit { margin-bottom: 12px; }
.clima-ciclo-etapas--cockpit .clima-ciclo-etapa--concluida { background: #f1faf6; border-color: #cfe8dc; }
.clima-ciclo-etapas--cockpit .clima-ciclo-etapa--atual { background: #f1f6ff; border-color: #9bbcf2; box-shadow: inset 0 0 0 1px rgba(46,111,217,.05); }
.clima-ciclo-etapas--cockpit .clima-ciclo-etapa:not(.clima-ciclo-etapa--concluida):not(.clima-ciclo-etapa--atual) { background: #fafbfd; }
.clima-next-action--cockpit {
  margin-bottom: 12px;
  border-color: #a9c5ee;
  background: linear-gradient(135deg, #f7fbff 0%, #f1f6ff 100%);
}
.clima-next-action--cockpit .clima-next-action__etapa { color: #2b68b5; }
.clima-ciclo-bloco-compacto {
  margin-bottom: 10px;
  border-color: #dce6ef;
  background: #fff;
}
.clima-ciclo-bloco-compacto .card__body { padding: 13px 16px; }
.clima-ciclo-bloco-compacto--participantes { border-left: 3px solid #6d9fd8; }
.clima-ciclo-bloco-compacto--medicoes { border-left: 3px solid #4f9a8f; }
.clima-ciclo-bloco-compacto__linha {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.clima-ciclo-bloco-compacto__linha > div:first-child { min-width: 0; }
.clima-ciclo-bloco-compacto__linha strong,
.clima-ciclo-bloco-compacto__linha small { display: block; }
.clima-ciclo-bloco-compacto__linha strong {
  color: #213d60;
  font-size: 14px;
  line-height: 1.35;
}
.clima-ciclo-bloco-compacto__linha small {
  margin-top: 3px;
  color: #6b7d91;
  font-size: 11.5px;
}
.clima-ciclo-bloco-compacto__acoes { display: flex; gap: 8px; flex-wrap: wrap; }
.clima-participantes-detalhes--compacto {
  margin-top: 10px;
  border-top: 1px solid #e1e9f1;
  padding-top: 8px;
}
.clima-participantes-detalhes--compacto > summary {
  color: #2f67ad;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.clima-ciclo-consultas-compactas {
  margin-top: 12px;
  border-color: #d9e6f1;
  background: #f8fbfe;
}
.clima-ciclo-consultas-compactas .card__body { padding: 13px 16px; }
.clima-ciclo-consultas-compactas__linha {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.clima-ciclo-consultas-compactas__linha > div > strong { display:block; color:#29435f; font-size:13px; }
.clima-ciclo-consultas-compactas__links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}
.clima-ciclo-consultas-compactas__links a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid #d5e1ec;
  border-radius: 10px;
  background: #fff;
  color: #2f67ad;
  font-size: 11.5px;
  font-weight: 800;
  text-decoration: none;
}
.clima-ciclo-consultas-compactas__links a:hover { border-color: #adc7e5; background: #f2f7fd; }
@media (max-width: 980px) {
  .clima-ciclo-jornada-resumo__itens { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .clima-ciclo-consultas-compactas__linha { flex-direction: column; align-items: stretch; }
  .clima-ciclo-consultas-compactas__links { justify-content: flex-start; }
}
@media (max-width: 680px) {
  .clima-ciclo-jornada-resumo__itens { grid-template-columns: 1fr; }
  .clima-ciclo-bloco-compacto__linha { flex-direction: column; align-items: stretch; }
  .clima-ciclo-bloco-compacto__acoes .botao { width: 100%; justify-content: center; }
  .clima-ciclo-consultas-compactas__links a { flex: 1 1 calc(50% - 7px); justify-content: center; }
}
/* ===== Fim | Health View v120.3 ===== */

/* ===== Health View v120.4 | Etapas compactas + acessos complementares ===== */
.clima-ciclo-etapas--compactas {
  gap: 6px;
  margin-bottom: 10px;
}
.clima-ciclo-etapas--compactas .clima-ciclo-etapa {
  align-items: center;
  min-height: 46px;
  padding: 7px 9px;
  gap: 7px;
  border-radius: 10px;
}
.clima-ciclo-etapas--compactas .clima-ciclo-etapa > span {
  flex-basis: 22px;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  font-size: 9.5px;
}
.clima-ciclo-etapas--compactas .clima-ciclo-etapa strong {
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}
.clima-ciclo-consultas-compactas__linha > div:first-child {
  min-width: 250px;
}
.clima-ciclo-consultas-compactas__linha > div > strong {
  margin-top: 3px;
  color: #61758c;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.35;
}
.clima-ciclo-consultas-compactas__links a {
  min-height: 36px;
  padding: 7px 11px;
}
@media (max-width: 1180px) {
  .clima-ciclo-etapas--compactas { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .clima-ciclo-consultas-compactas__linha { flex-direction: column; align-items: stretch; }
  .clima-ciclo-consultas-compactas__links { justify-content: flex-start; }
}
@media (max-width: 680px) {
  .clima-ciclo-etapas--compactas { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .clima-ciclo-etapas--compactas .clima-ciclo-etapa strong { white-space: normal; }
  .clima-ciclo-consultas-compactas__linha > div:first-child { min-width: 0; }
}
/* ===== Fim | Health View v120.4 ===== */


/* ===== Health View v120.5 | Contexto de Indicadores + Análise de Resultados refinada ===== */

/* Cockpit: metadados mais humanos e conclusão explícita por check. */
.clima-ciclo-cabecalho__meta--rotulada {
  align-items: stretch;
  gap: 8px;
}
.clima-ciclo-cabecalho__meta--rotulada > span {
  display: grid;
  gap: 2px;
  min-width: 112px;
  padding: 8px 10px;
  border: 1px solid #d9e5f0;
  border-radius: 10px;
  background: #f8fbfe;
}
.clima-ciclo-cabecalho__meta--rotulada > span small {
  color: #71829a;
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.clima-ciclo-cabecalho__meta--rotulada > span strong {
  color: #244263;
  font-size: 12.5px;
  line-height: 1.2;
}
.clima-ciclo-etapas--compactas .clima-ciclo-etapa--concluida > span {
  background: #dff3e9;
  color: #17745f;
  font-size: 13px;
  font-weight: 950;
}

/* Acessos complementares: destaque de navegação, sem competir com a Próxima ação. */
.clima-ciclo-consultas-compactas {
  border-color: #c8dceb;
  background: linear-gradient(135deg, #eef7fb 0%, #f4f8ff 100%);
  box-shadow: inset 4px 0 0 #4b8eae;
}
.clima-ciclo-consultas-compactas .clima-resumo-kicker {
  color: #2b7184;
}
.clima-ciclo-consultas-compactas__links a {
  border-color: #c8d9e8;
  background: rgba(255,255,255,.9);
}

/* Indicadores Organizacionais no contexto de um Ciclo. */
.clima-indicadores-contexto {
  margin-bottom: 14px;
  border-color: #cfdfec;
  background: linear-gradient(135deg, #f4f9fd 0%, #f7fbff 100%);
}
.clima-indicadores-contexto__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 9px;
}
.clima-indicadores-contexto__grid > div {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #d9e6f1;
  border-radius: 10px;
  background: rgba(255,255,255,.78);
}
.clima-indicadores-contexto__grid span,
.clima-indicadores-contexto__grid strong {
  display: block;
}
.clima-indicadores-contexto__grid span {
  color: #71829a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.clima-indicadores-contexto__grid strong {
  margin-top: 4px;
  color: #244263;
  font-size: 13px;
}
.clima-indicadores-contexto p {
  margin: 10px 0 0;
  color: #62768e;
  font-size: 11.5px;
  line-height: 1.5;
}

/* Entrada de Dados Organizacionais: menos aparência de formulário bruto. */
.clima-dados-org-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.clima-dados-org-intro h2 {
  margin: 3px 0 4px;
}
.clima-dados-org-intro p {
  margin: 0;
  max-width: 760px;
  color: #667990;
  line-height: 1.5;
}
.clima-dados-org-intro__nota {
  flex: 0 1 320px;
  padding: 10px 12px;
  border: 1px solid #cfe3df;
  border-radius: 10px;
  background: #f1f8f6;
}
.clima-dados-org-intro__nota strong,
.clima-dados-org-intro__nota span {
  display: block;
}
.clima-dados-org-intro__nota strong {
  color: #236d65;
  font-size: 11.5px;
}
.clima-dados-org-intro__nota span {
  margin-top: 3px;
  color: #60768a;
  font-size: 10.5px;
  line-height: 1.4;
}
.clima-dados-org-form .clima-form-section {
  padding: 13px;
  border: 1px solid #dbe6f0;
  border-radius: 11px;
  background: #f8fbfe;
}
.clima-dados-org-grid {
  gap: 12px;
  margin-top: 16px;
}
.clima-data-group {
  padding: 13px 14px 14px;
  border-width: 1px;
  background: #fff;
}
.clima-data-group legend {
  max-width: 100%;
  padding: 0 6px;
}
.clima-data-group legend strong,
.clima-data-group legend span {
  display: block;
}
.clima-data-group legend strong {
  color: #2d4666;
  font-size: 11.5px;
  font-weight: 900;
}
.clima-data-group legend span {
  margin-top: 2px;
  color: #7b8b9d;
  font-size: 9.5px;
  font-weight: 600;
  line-height: 1.35;
}
.clima-data-group--pessoas { border-top: 3px solid #6d9fd8; background: #fbfdff; }
.clima-data-group--jornada { border-top: 3px solid #4e9a8b; background: #fbfefd; }
.clima-data-group--desenvolvimento { border-top: 3px solid #c69846; background: #fffdf8; }
.clima-data-group label { margin-top: 10px; }
.clima-data-group input { min-height: 40px; }

/* Análise de Resultados: contexto compacto, KPIs principais e leitura rápida separada. */
.clima-analise-contexto--compacto {
  border-color: #d3e2ef;
  background: linear-gradient(135deg, #f5f9fd 0%, #f9fbfe 100%);
}
.clima-analise-contexto__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 8px;
}
.clima-analise-contexto__grid > div {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #dce7f0;
  border-radius: 10px;
  background: rgba(255,255,255,.82);
}
.clima-analise-contexto__grid span,
.clima-analise-contexto__grid strong,
.clima-analise-contexto__grid small { display: block; }
.clima-analise-contexto__grid span {
  color: #71829a;
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.clima-analise-contexto__grid strong {
  margin-top: 4px;
  color: #244263;
  font-size: 13px;
  line-height: 1.3;
}
.clima-analise-contexto__grid small {
  margin-top: 3px;
  color: #71829a;
  font-size: 10.5px;
  line-height: 1.35;
}
.clima-analysis-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.clima-analysis-kpi {
  min-height: 126px;
  border-top-width: 3px;
}
.clima-analysis-kpi--participacao { border-top-color: #6d9fd8; background: #f8fbff; }
.clima-analysis-kpi--indice { border-top-color: #416fbd; background: #f7f9ff; }
.clima-analysis-kpi--favorabilidade { border-top-color: #4e9a8b; background: #f7fcfa; }
.clima-analysis-kpi--enps { border-top-color: #8f79b8; background: #fbf9ff; }
.clima-analysis-reading {
  margin-top: 12px;
  border-color: #e1d7bd;
  background: #fffaf2;
}
.clima-analysis-reading .card__body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 0;
  padding: 0;
}
.clima-analysis-reading__item {
  min-width: 0;
  padding: 13px 15px;
}
.clima-analysis-reading__item + .clima-analysis-reading__item {
  border-left: 1px solid #eadfca;
}
.clima-analysis-reading__item > span,
.clima-analysis-reading__item > strong,
.clima-analysis-reading__item > small { display:block; }
.clima-analysis-reading__item > span {
  color: #8b682f;
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.clima-analysis-reading__item > strong {
  margin-top: 5px;
  color: #2b4160;
  font-size: 17px;
  line-height: 1.25;
}
.clima-analysis-reading__item > small {
  margin-top: 4px;
  color: #758598;
  font-size: 10.5px;
}

.clima-analysis-indicators {
  margin-top: 14px;
  border-color: #cddfea;
  background: linear-gradient(135deg, #f0f7fb 0%, #f6faff 100%);
}
.clima-analysis-indicators__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.clima-analysis-indicators__head h2 { margin: 3px 0 4px; color: #274565; }
.clima-analysis-indicators__head p { margin: 0; color: #63778d; line-height: 1.45; }
.clima-analysis-indicators__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 9px;
}
.clima-analysis-indicators__grid article {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #d7e4ee;
  border-radius: 10px;
  background: rgba(255,255,255,.88);
}
.clima-analysis-indicators__grid article > span,
.clima-analysis-indicators__grid article > strong,
.clima-analysis-indicators__grid article > small { display:block; }
.clima-analysis-indicators__grid article > span { color:#71829a; font-size:10px; font-weight:800; }
.clima-analysis-indicators__grid article > strong { margin-top:4px; color:#244263; font-size:16px; }
.clima-analysis-indicators__grid article > small { margin-top:3px; color:#7a8a9c; font-size:9.5px; }
.clima-analysis-indicators__empty {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 13px;
  border: 1px dashed #bfd3e2;
  border-radius: 10px;
  background: rgba(255,255,255,.68);
}
.clima-analysis-indicators__empty strong,
.clima-analysis-indicators__empty span { display:block; }
.clima-analysis-indicators__empty strong { color:#2d4968; font-size:12px; }
.clima-analysis-indicators__empty span { margin-top:3px; color:#708197; font-size:10.5px; line-height:1.4; }

@media (max-width: 1100px) {
  .clima-analysis-kpi-grid,
  .clima-analysis-indicators__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .clima-indicadores-contexto__grid,
  .clima-analise-contexto__grid { grid-template-columns: 1fr; }
  .clima-dados-org-intro,
  .clima-analysis-indicators__head,
  .clima-analysis-indicators__empty { flex-direction: column; align-items: stretch; }
  .clima-dados-org-intro__nota { flex-basis: auto; }
}
@media (max-width: 620px) {
  .clima-analysis-kpi-grid,
  .clima-analysis-indicators__grid,
  .clima-analysis-reading .card__body { grid-template-columns: 1fr; }
  .clima-analysis-reading__item + .clima-analysis-reading__item { border-left: 0; border-top: 1px solid #eadfca; }
  .clima-ciclo-cabecalho__meta--rotulada { width: 100%; }
  .clima-ciclo-cabecalho__meta--rotulada > span { flex: 1 1 45%; }
}

/* ===== Fim | Health View v120.5 ===== */

/* ==========================================================
   Health View v120.6 — Fechamento do Clima Organizacional
   Camada visual final da vertical de Clima.
   Apenas hierarquia/semântica visual; não altera motores.
   ========================================================== */

/* Intros: mesma linguagem visual, com função clara por tela. */
.clima-ciclos-intro,
.clima-analysis-intro,
.clima-compare-intro,
.clima-relatorios-intro-card,
.clima-exec-intro,
.clima-evolution-intro {
  border-color: #d7e6f2;
  background: linear-gradient(135deg, #f7fbff 0%, #f3faf9 100%);
}
.clima-ciclos-intro h2,
.clima-analysis-intro h2,
.clima-compare-intro h2,
.clima-relatorios-intro-card h2,
.clima-exec-intro h2,
.clima-evolution-intro h2 { color: #214f6f; }
.clima-ciclos-intro p,
.clima-analysis-intro p,
.clima-compare-intro p,
.clima-relatorios-intro-card p,
.clima-exec-intro p,
.clima-evolution-intro p { color: #536d7f; }

/* Contexto herdado: azul técnico suave para diferenciar de conteúdo analítico. */
.clima-panorama-contexto,
.clima-analise-contexto--compacto,
.clima-compare-context,
.clima-indicadores-contexto,
.clima-relatorios-contexto,
.clima-exec-context,
.clima-evolution-context {
  border-color: #d7e4f3;
  background: #f7faff;
}

/* Blocos de leitura: mais separação sem criar excesso de cartões. */
.clima-analysis-reading { border-color: #eadfbe; background: #fffaf1; }
.clima-analysis-indicators { border-color: #d6e5f4; background: #f8fbff; }
.clima-compare-section { border-color: #d9e7ef; }
.clima-dados-org-card { border-color: #d7e9e5; background: #f8fcfb; }
.clima-escuta-contexto { border-color: #eadfbe; background: #fffaf2; }

/* Inteligência: a prioridade não cria um plano paralelo; a execução é única no Ciclo. */
.clima-intelligence-plan-bridge {
  margin-top: 24px;
  border-color: #cfe3df;
  background: linear-gradient(135deg, #f3faf8 0%, #f7fbff 100%);
}
.clima-intelligence-plan-bridge .clima-resumo-kicker { color: #24736d; }
.clima-intelligence-plan-bridge h2 { color: #184f4b; }
.clima-intelligence-plan-bridge p { color: #466a67; }
.clima-intelligence-plan-bridge__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}
.clima-intelligence-plan-bridge__summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}
.clima-intelligence-plan-bridge__summary > div {
  min-width: 0;
  border: 1px solid #d7e7e3;
  border-radius: 11px;
  background: rgba(255,255,255,.88);
  padding: 11px 13px;
}
.clima-intelligence-plan-bridge__summary span {
  display: block;
  color: #6a7c7a;
  font-size: 11px;
  font-weight: 700;
}
.clima-intelligence-plan-bridge__summary strong {
  display: block;
  margin-top: 3px;
  color: #244e4b;
  font-size: 20px;
}
.clima-intelligence-plan-bridge__summary .is-danger strong { color: #a63d3d; }

/* Ações dentro de prioridade ficam deliberadamente secundárias: Escuta é opcional. */
.clima-intelligence-priority__actions {
  border-top-color: #eadfca;
  background: rgba(255,255,255,.66);
}
.clima-intelligence-priority__actions > div { flex: 0 0 auto; }

/* Relatórios: categorias se distinguem sem competir com os botões. */
.clima-relatorios-grid--v1164 .clima-entregavel-card:nth-child(1),
.clima-relatorios-grid--v1164 .clima-entregavel-card:nth-child(2) { border-top: 3px solid #6e9fd3; }
.clima-relatorios-grid--v1164 .clima-entregavel-card:nth-child(3) { border-top: 3px solid #3d8f82; }
.clima-relatorios-grid--v1164 .clima-entregavel-card:nth-child(4) { border-top: 3px solid #c89a4a; }
.clima-relatorios-grid--v1164 .clima-entregavel-card:nth-child(5) { border-top: 3px solid #557fae; }

/* Estados vazios e textos auxiliares ficam visivelmente subordinados. */
.clima-chart-empty,
.clima-compare-empty__guidance,
.clima-intelligence-empty-inline,
.clima-analysis-indicators__empty {
  color: #607286;
}

@media (max-width: 1000px) {
  .clima-intelligence-plan-bridge__summary { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .clima-intelligence-plan-bridge__actions { justify-content: flex-start; width: 100%; }
}
@media (max-width: 640px) {
  .clima-intelligence-plan-bridge__summary { grid-template-columns: 1fr 1fr; }
  .clima-intelligence-plan-bridge__actions .botao { flex: 1 1 100%; justify-content: center; }
}

/* ========================================================================== 
   Health View v120.7 — Padronização Visual Final do Clima Organizacional
   --------------------------------------------------------------------------
   Camada estritamente visual. Consolida hierarquia, superfícies, contexto,
   estados vazios, formulários, tabelas e responsividade das telas do Clima.
   Não altera cálculos, vínculos, regras de negócio ou motores compartilhados.
   ========================================================================== */

.clima-final-screen {
  --clima-ink: #24385d;
  --clima-muted: #6b7e96;
  --clima-line: #dbe5ef;
  --clima-soft-line: #e8eef5;
  --clima-blue: #2f6fd0;
  --clima-blue-soft: #f3f7fd;
  --clima-teal: #23766e;
  --clima-teal-soft: #f1f8f6;
  --clima-amber: #ad7428;
  --clima-amber-soft: #fff8ee;
  --clima-red: #a64444;
  --clima-red-soft: #fff5f4;
  --clima-green: #397d68;
  --clima-green-soft: #f3faf7;
  --clima-shadow: 0 8px 22px rgba(35, 56, 93, .045);
  display: block;
  min-width: 0;
  color: var(--clima-ink);
}

/* Ritmo vertical e barra de navegação. */
.clima-final-screen > .consulta-padrao-toolbar,
.clima-final-screen .consulta-padrao-toolbar:first-child {
  margin-bottom: 10px;
}
.clima-final-screen .consulta-padrao-toolbar__acoes {
  gap: 7px;
}
.clima-final-screen .breadcrumb-pulsar {
  min-width: 0;
}
.clima-final-screen .breadcrumb-pulsar strong {
  color: #334b70;
}
.clima-final-screen > section,
.clima-final-screen > .alerta {
  scroll-margin-top: 88px;
}

/* Superfície base: menos “caixas soltas”, mais hierarquia consistente. */
.clima-final-screen .card {
  border-color: var(--clima-line);
  border-radius: 14px;
  box-shadow: var(--clima-shadow);
}
.clima-final-screen .card > .card__body {
  padding: 17px 18px;
}
.clima-final-screen .card h2,
.clima-final-screen .card h3 {
  color: #30486d;
}
.clima-final-screen .texto-suporte,
.clima-final-screen .card p {
  color: var(--clima-muted);
}

/* Cabeçalho funcional comum: identifica a pergunta principal da tela. */
.clima-final-screen .consulta-padrao-intro {
  margin-bottom: 14px;
  overflow: hidden;
  border-color: #cadced;
  border-left: 4px solid #4d7fb7;
  background: linear-gradient(135deg, #f5f9fe 0%, #f7fbfb 100%);
  box-shadow: 0 8px 20px rgba(45, 84, 126, .05);
}
.clima-final-screen .consulta-padrao-intro > .card__body {
  padding: 16px 18px !important;
}
.clima-final-screen .consulta-padrao-intro h2 {
  margin: 0 0 5px;
  color: #294765;
  font-size: 18px;
  line-height: 1.25;
}
.clima-final-screen .consulta-padrao-intro p {
  max-width: 1050px;
  margin: 0;
  color: #657a91;
  line-height: 1.52;
}
.clima-final-screen .consulta-padrao-intro p + p {
  margin-top: 4px;
}

/* Kicker padronizado: contexto e função, sem competir com o título. */
.clima-final-screen .clima-resumo-kicker,
.clima-final-screen .pulsar-hub-kicker {
  color: #5d7490;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .06em;
  line-height: 1.2;
  text-transform: uppercase;
}

/* Contextos herdados: técnico, compacto e visualmente secundário. */
.clima-final-screen .clima-indicadores-contexto,
.clima-final-screen .clima-analise-contexto,
.clima-final-screen .clima-compare-context,
.clima-final-screen .clima-intelligence-context,
.clima-final-screen .clima-medicao-contexto,
.clima-final-screen .clima-escuta-contexto,
.clima-final-screen .clima-exec-context,
.clima-final-screen .clima-evolution-context,
.clima-final-screen .clima-relatorios-contexto-atual,
.clima-final-screen .clima-panorama-contexto,
.clima-final-screen .clima-overview-contexto {
  margin-bottom: 14px;
  border-color: #d2e0ee;
  background: #f8fbfe;
  box-shadow: 0 6px 16px rgba(48, 72, 109, .035);
}
.clima-final-screen .clima-indicadores-contexto__grid,
.clima-final-screen .clima-analise-contexto__grid,
.clima-final-screen .clima-medicao-contexto__grid,
.clima-final-screen .clima-exec-context__grid {
  gap: 10px;
}
.clima-final-screen .clima-indicadores-contexto__grid > div,
.clima-final-screen .clima-analise-contexto__grid > div,
.clima-final-screen .clima-medicao-contexto__grid > div,
.clima-final-screen .clima-exec-context__grid > div {
  min-width: 0;
  padding: 11px 13px;
  border: 1px solid #dce7f1;
  border-radius: 11px;
  background: #fff;
}
.clima-final-screen .clima-indicadores-contexto__grid span,
.clima-final-screen .clima-analise-contexto__grid span,
.clima-final-screen .clima-medicao-contexto__grid span,
.clima-final-screen .clima-exec-context__grid span {
  display: block;
  margin-bottom: 3px;
  color: #71849a;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.clima-final-screen .clima-indicadores-contexto__grid strong,
.clima-final-screen .clima-analise-contexto__grid strong,
.clima-final-screen .clima-medicao-contexto__grid strong,
.clima-final-screen .clima-exec-context__grid strong {
  display: block;
  overflow-wrap: anywhere;
  color: #314a6e;
  font-size: 13px;
}

/* Filtros: área utilitária mais baixa que o conteúdo analítico. */
.clima-final-screen .consulta-padrao-filtros,
.clima-final-screen .clima-filter-card,
.clima-final-screen .clima-segmentacao-card {
  margin-bottom: 13px;
  border-color: #dfe8f1;
  background: #fbfcfe;
  box-shadow: none;
}
.clima-final-screen .consulta-padrao-filtros > .card__body,
.clima-final-screen .clima-filter-card > .card__body,
.clima-final-screen .clima-segmentacao-card > .card__body {
  padding: 14px 16px !important;
}
.clima-final-screen .consulta-filtro label,
.clima-final-screen .formulario__grupo > label,
.clima-final-screen .form-grupo > label,
.clima-final-screen .clima-data-group > label {
  color: #405674;
  font-weight: 800;
}
.clima-final-screen input:not([type="checkbox"]):not([type="radio"]),
.clima-final-screen select,
.clima-final-screen textarea {
  border-color: #d5e0ec;
  background: #fff;
}
.clima-final-screen input:not([type="checkbox"]):not([type="radio"]):focus,
.clima-final-screen select:focus,
.clima-final-screen textarea:focus {
  border-color: #7da4d3;
  box-shadow: 0 0 0 3px rgba(61, 114, 171, .10);
}

/* Formulários especializados. */
.clima-final-screen .clima-ciclo-form-card,
.clima-final-screen .clima-dados-org-card,
.clima-final-screen--escuta > .card:last-of-type {
  border-color: #d4e1ed;
  background: #fff;
}
.clima-final-screen .clima-form-section {
  margin: 0 0 15px;
  padding: 15px;
  border: 1px solid #dde7f0;
  border-radius: 12px;
  background: #fafcff;
}
.clima-final-screen .clima-form-section__header {
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e5edf4;
}
.clima-final-screen .clima-form-section__header strong {
  display: block;
  color: #314c6d;
  font-size: 13.5px;
}
.clima-final-screen .clima-form-section__header span {
  display: block;
  margin-top: 3px;
  color: #77899d;
  font-size: 11.5px;
  line-height: 1.45;
}
.clima-final-screen .clima-data-group {
  border-color: #dce6ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
}
.clima-final-screen .clima-data-group--pessoas {
  border-top: 3px solid #5d86b6;
}
.clima-final-screen .clima-data-group--jornada {
  border-top: 3px solid #c18b3e;
}
.clima-final-screen .clima-data-group--desenvolvimento {
  border-top: 3px solid #4f887a;
}
.clima-final-screen .clima-dados-org-intro__nota,
.clima-final-screen .clima-formula-note {
  border-color: #cfe4df;
  background: var(--clima-teal-soft);
}
.clima-final-screen .clima-readonly-fieldset[disabled] {
  opacity: .76;
}

/* Estados vazios e mensagens de orientação. */
.clima-final-screen .consulta-padrao-vazio,
.clima-final-screen .estado-vazio,
.clima-final-screen .clima-chart-empty,
.clima-final-screen .clima-intelligence-empty,
.clima-final-screen .clima-intelligence-empty-inline,
.clima-final-screen .clima-exec-empty-inline {
  border-color: #d7e2ec;
  border-radius: 12px;
  background: #f9fbfd;
  color: #728399;
}
.clima-final-screen .consulta-padrao-vazio strong,
.clima-final-screen .estado-vazio h2,
.clima-final-screen .clima-chart-empty strong {
  color: #405775;
}
.clima-final-screen .clima-overview-empty,
.clima-final-screen .clima-compare-empty,
.clima-final-screen .clima-exec-empty {
  border-color: #d9e5ee;
  background: #f9fbfd;
}

/* Tabelas: leitura administrativa uniforme. */
.clima-final-screen .consulta-padrao-tabela-card,
.clima-final-screen .clima-section-card {
  overflow: hidden;
}
.clima-final-screen .tabela-wrapper,
.clima-final-screen .clima-table-scroll,
.clima-final-screen .clima-heatmap-scroll {
  overflow: auto;
  border-radius: 10px;
}
.clima-final-screen .tabela,
.clima-final-screen .clima-tabela {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}
.clima-final-screen .tabela thead th,
.clima-final-screen .clima-tabela th {
  background: #f5f8fb;
  color: #60758f;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.clima-final-screen .tabela tbody tr:hover,
.clima-final-screen .clima-tabela tbody tr:hover {
  background: #fbfdff;
}
.clima-final-screen .consulta-padrao-resultado {
  margin-bottom: 10px;
  color: #6d8096;
}
.clima-final-screen .consulta-padrao-resultado strong {
  color: #345070;
}

/* KPI: mesma estrutura, sem “dashboard arco-íris”. */
.clima-final-screen .clima-overview-kpi,
.clima-final-screen .clima-coleta-kpi,
.clima-final-screen .clima-compare-kpi,
.clima-final-screen .clima-intelligence-kpi,
.clima-final-screen .clima-analysis-kpi,
.clima-final-screen .clima-exec-kpis > article,
.clima-final-screen .clima-evolution-kpis > article,
.clima-final-screen .clima-card {
  border: 1px solid #dce6ef;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 6px 16px rgba(35, 56, 93, .035);
}
.clima-final-screen .clima-overview-kpi > strong,
.clima-final-screen .clima-coleta-kpi > strong,
.clima-final-screen .clima-compare-kpi > strong,
.clima-final-screen .clima-intelligence-kpi > strong,
.clima-final-screen .clima-analysis-kpi > strong,
.clima-final-screen .clima-card__valor {
  color: #294868;
}
.clima-final-screen .clima-coleta-kpi--destaque,
.clima-final-screen .clima-analysis-kpi--participacao,
.clima-final-screen .clima-overview-kpi:first-child {
  border-top: 3px solid #4d7fb7;
  background: #fbfdff;
}
.clima-final-screen .clima-analysis-kpi--indice,
.clima-final-screen .clima-analysis-kpi--favorabilidade {
  border-top: 3px solid #4f887a;
}
.clima-final-screen .clima-analysis-kpi--enps {
  border-top: 3px solid #6d84a4;
}
.clima-final-screen .clima-compare-kpi--attention,
.clima-final-screen .clima-intelligence-kpi--attention,
.clima-final-screen .clima-analysis-reading__item--attention {
  border-color: #ead7b7;
  background: var(--clima-amber-soft);
}

/* Coleta: progresso e status sem excesso de decoração. */
.clima-final-screen--coleta .clima-coleta-progresso {
  border-color: #d2e2ed;
  background: #f6fafc;
}
.clima-final-screen--coleta .clima-coleta-progresso__barra {
  background: #dfe8ef;
}
.clima-final-screen--coleta .clima-coleta-progresso__barra > span {
  background: linear-gradient(90deg, #3e779e, #368a7d);
}
.clima-final-screen--coleta .clima-coleta-codigo {
  border: 1px solid #dbe4ed;
  border-radius: 7px;
  background: #f7f9fb;
  color: #3e5774;
}

/* Cockpit: contexto, jornada e acessos com papéis distintos. */
.clima-final-screen--ciclo .clima-ciclo-cabecalho {
  border-left: 4px solid #4f7fae;
  background: linear-gradient(135deg, #f7faff, #f7fbfa);
}
.clima-final-screen--ciclo .clima-ciclo-jornada-resumo {
  border-color: #d8e4ed;
  background: #fff;
}
.clima-final-screen--ciclo .clima-ciclo-etapas--compactas {
  margin: 2px 0 14px;
}
.clima-final-screen--ciclo .clima-ciclo-etapa {
  min-height: 46px;
}
.clima-final-screen--ciclo .clima-next-action {
  border-color: #cbdfe9;
  border-left: 4px solid #367b74;
  background: var(--clima-teal-soft);
}
.clima-final-screen--ciclo .clima-ciclo-consultas-compactas {
  border-color: #cddded;
  border-left: 4px solid #4d78aa;
  background: #f3f7fc;
  box-shadow: 0 7px 18px rgba(44, 80, 122, .045);
}
.clima-final-screen--ciclo .clima-ciclo-consultas-compactas__links .botao {
  background: #fff;
}

/* Nova medição: opções legíveis, sem confundir recomendação com obrigatoriedade. */
.clima-final-screen--medicao .clima-medicao-choice-grid {
  gap: 14px;
}
.clima-final-screen--medicao .clima-medicao-choice {
  border-color: #dbe5ee;
  background: #fff;
}
.clima-final-screen--medicao .clima-medicao-choice--featured {
  border-color: #bcd8d2;
  border-top: 4px solid #3f8177;
  background: #f5faf8;
}
.clima-final-screen--medicao .clima-medicao-choice__tag {
  color: #5e7690;
}
.clima-final-screen--medicao .clima-medicao-choice--featured .clima-medicao-choice__tag {
  color: #39766d;
}
.clima-final-screen--medicao .clima-medicao-regra {
  border-color: #dbe5ef;
  background: #f8fafc;
}

/* Panorama: síntese executiva em azul/verde, atenção somente onde necessário. */
.clima-final-screen--panorama .clima-page-header--hero {
  border-left-color: #397d74;
  background: linear-gradient(135deg, #f2f9f7, #f5f8fd);
}
.clima-final-screen--panorama .clima-chart-card,
.clima-final-screen--panorama .clima-overview-kpi {
  box-shadow: 0 6px 18px rgba(37, 77, 100, .04);
}

/* Análise: dados primeiro, prioridade em faixa própria. */
.clima-final-screen--analise .clima-analysis-intro {
  border-left-color: #4a79aa;
}
.clima-final-screen--analise .clima-analysis-reading {
  border-color: #d8e3ed;
  background: #f9fbfd;
}
.clima-final-screen--analise .clima-analysis-indicators {
  border-color: #cfe3df;
  background: #f4faf8;
}
.clima-final-screen--analise .clima-analysis-indicators__empty {
  border-color: #d7e5e2;
  background: #fff;
}
.clima-final-screen--analise .clima-bloco {
  padding: 15px 16px;
  border: 1px solid #dce6ef;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 6px 16px rgba(35, 56, 93, .035);
}
.clima-final-screen--analise .clima-secao {
  margin-top: 19px;
}
.clima-final-screen--analise .clima-secao__topo {
  margin-bottom: 10px;
}
.clima-final-screen--analise .clima-secao__topo h2 {
  margin: 0;
  color: #304a6c;
  font-size: 17px;
}
.clima-final-screen--analise .clima-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 11px;
}
.clima-final-screen--analise .clima-card {
  padding: 14px 15px;
}
.clima-final-screen--analise .clima-card__label {
  display: block;
  margin-bottom: 6px;
  color: #6f8298;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.clima-final-screen--analise .clima-card__valor {
  font-size: 23px;
  font-weight: 900;
  line-height: 1.15;
}
.clima-final-screen--analise .clima-card__meta {
  margin-top: 5px;
  color: #78899b;
  font-size: 11.5px;
}
.clima-final-screen--analise .clima-lista {
  display: grid;
  gap: 10px;
}
.clima-final-screen--analise .clima-barra__topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.clima-final-screen--analise .clima-barra__titulo {
  color: #354e6d;
  font-weight: 800;
}
.clima-final-screen--analise .clima-barra__valor {
  color: #6f8194;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.clima-final-screen--analise .clima-trilho {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e9ef;
}
.clima-final-screen--analise .clima-preenchimento {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #4b78aa, #37857b);
}
.clima-final-screen--analise .clima-distribuicao {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
}
.clima-final-screen--analise .clima-pill {
  text-align: center;
}
.clima-final-screen--analise .clima-pill--favoravel { border-top: 3px solid #4d8978; }
.clima-final-screen--analise .clima-pill--neutro { border-top: 3px solid #c39245; }
.clima-final-screen--analise .clima-pill--desfavoravel { border-top: 3px solid #b95656; }
.clima-final-screen--analise .clima-tabela {
  border: 1px solid #dce6ef;
}
.clima-final-screen--analise .clima-tag {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}
.clima-final-screen--analise .clima-tag--muito { background: #e7f5f1; color: #286c62; }
.clima-final-screen--analise .clima-tag--ok { background: #edf7f1; color: #39715d; }
.clima-final-screen--analise .clima-tag--atencao { background: #fff5df; color: #8b6123; }
.clima-final-screen--analise .clima-tag--critico { background: #fdebea; color: #993e3e; }
.clima-final-screen--analise .clima-resumo {
  font-size: 14px;
  line-height: 1.65;
}
.clima-final-screen--analise .clima-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.clima-final-screen--analise .clima-table-scroll {
  overflow: auto;
}
.clima-final-screen--analise .clima-voice-comment {
  margin-top: 6px;
  color: #536a84;
  line-height: 1.5;
}

/* Comparativos: dado técnico azul; desvios negativos em âmbar/vermelho apenas. */
.clima-final-screen--comparativos .clima-compare-intro {
  border-left-color: #547da9;
}
.clima-final-screen--comparativos .clima-compare-section {
  border-color: #d7e3ed;
  background: #fff;
}
.clima-final-screen--comparativos .clima-compare-reference {
  background: #edf4fc;
  color: #345b87;
}
.clima-final-screen--comparativos .clima-compare-insight,
.clima-final-screen--comparativos .clima-comparativos-callout {
  border-color: #ead7b8;
  background: var(--clima-amber-soft);
}

/* Inteligência: síntese em verde-petróleo; prioridade em âmbar; criticidade real em vermelho. */
.clima-final-screen--inteligencia .clima-intelligence-intro {
  border-color: #c9e1dc;
  border-left-color: #397b72;
  background: linear-gradient(135deg, #f1f8f6, #f5f8fd);
}
.clima-final-screen--inteligencia .clima-intelligence-summary,
.clima-final-screen--inteligencia .clima-intelligence-section:not(.clima-intelligence-priorities-panel),
.clima-final-screen--inteligencia .clima-intelligence-governance {
  border-color: #cfe2df;
  background: #f5faf8;
}
.clima-final-screen--inteligencia .clima-intelligence-priorities-panel {
  border-color: #e6d3b2;
  background: #fff9f0;
}
.clima-final-screen--inteligencia .clima-intelligence-priority {
  background: #fff;
  box-shadow: none;
}
.clima-final-screen--inteligencia .clima-intelligence-plan-bridge {
  border-color: #cddfed;
  border-left: 4px solid #4d78a5;
  background: #f3f7fc;
}

/* Escuta: qualitativo em âmbar suave; formulário continua neutro. */
.clima-final-screen--escuta .consulta-padrao-intro {
  border-left-color: #b47f37;
  background: linear-gradient(135deg, #fff9f0, #f8fafc);
}
.clima-final-screen--escuta .clima-escuta-contexto {
  border-color: #ead9bd;
  background: #fffaf3;
}
.clima-final-screen--escuta .clima-check-grid {
  gap: 8px;
}
.clima-final-screen--escuta .clima-check-card {
  border-color: #dce5ee;
  background: #fff;
}
.clima-final-screen--escuta .clima-check-card:has(input:checked) {
  border-color: #c49b61;
  background: #fff8ee;
}

/* Acompanhamento: execução em azul; prazo/risco usa cor semântica. */
.clima-final-screen--acompanhamento .clima-exec-intro {
  border-left-color: #4b78a6;
}
.clima-final-screen--acompanhamento .clima-exec-progress-panel {
  border-color: #cbddec;
  background: #f3f7fc;
}
.clima-final-screen--acompanhamento .clima-exec-priorities {
  border-color: #ead9bb;
  background: #fffaf3;
}
.clima-final-screen--acompanhamento .clima-exec-listen-panel {
  border-color: #cfe2df;
  background: #f4faf8;
}

/* Evolução: trajetória em verde-petróleo, comparações em azul, persistência em atenção. */
.clima-final-screen--evolucao .clima-evolution-intro {
  border-color: #cce1dd;
  border-left-color: #397d72;
  background: linear-gradient(135deg, #f2f9f7, #f5f8fd);
}
.clima-final-screen--evolucao .clima-evolution-trajectory {
  border-color: #cfe3df;
  background: #f4faf8;
}
.clima-final-screen--evolucao .clima-evolution-measures {
  border-color: #d4e1ef;
  background: #f6f9fd;
}
.clima-final-screen--evolucao .clima-evolution-dimensions {
  border-color: #ead9bb;
  background: #fffaf3;
}

/* Indicadores: fatos organizacionais como contexto, não como resultado do Clima. */
.clima-final-screen--indicadores .consulta-padrao-intro {
  border-left-color: #517ba8;
}
.clima-final-screen--indicadores .clima-indicadores-contexto {
  border-left: 4px solid #5e83aa;
}
.clima-final-screen--indicadores .clima-indicator-result-grid > article,
.clima-final-screen--indicadores .clima-indicadores-sparklines > article {
  border-color: #dce6ef;
  background: #fff;
  box-shadow: none;
}
.clima-final-screen--indicadores .clima-dados-history__item {
  border-color: #dfe7ef;
  background: #fbfcfe;
}

/* Relatórios e entregáveis: catálogo documental, não dashboard operacional. */
.clima-final-screen--relatorios .clima-relatorios-intro-card {
  border-left-color: #4977a6;
}
.clima-final-screen--relatorios .clima-relatorios-grid {
  gap: 13px;
}
.clima-final-screen--relatorios .clima-entregavel-card {
  border-color: #dce5ee;
  background: #fbfcfe;
  box-shadow: 0 6px 16px rgba(35, 56, 93, .035);
}
.clima-final-screen--relatorios .clima-entregavel-card.is-ready {
  border-color: #cddfdc;
  background: #f8fbfa;
}
.clima-final-screen--relatorios .clima-entregavel-card__acao {
  margin-top: 14px;
}

/* Listagens auxiliares legadas ainda alcançáveis por URL. */
.clima-final-screen--aplicacoes .consulta-padrao-intro,
.clima-final-screen--aplicacao-detalhe .consulta-padrao-intro {
  border-left-color: #527ca8;
}
.clima-final-screen--aplicacao-detalhe .clima-next-action {
  border-left: 4px solid #397d72;
  background: #f3faf8;
}
.clima-aplicacao-modelo-card {
  margin-top: 16px;
  box-shadow: none !important;
}
.clima-aplicacao-modelo-grid {
  margin-bottom: 0 !important;
}

/* Responsividade final do módulo. */
@media (max-width: 1180px) {
  .clima-final-screen--analise .clima-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 920px) {
  .clima-final-screen .consulta-padrao-toolbar {
    align-items: flex-start;
  }
  .clima-final-screen .consulta-padrao-toolbar__acoes {
    width: 100%;
    justify-content: flex-start;
  }
  .clima-final-screen .clima-overview-grid--principal,
  .clima-final-screen .clima-overview-grid--secundario,
  .clima-final-screen .clima-dados-org-grid,
  .clima-final-screen .clima-medicao-choice-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .clima-final-screen .card > .card__body {
    padding: 15px;
  }
  .clima-final-screen .consulta-padrao-intro > .card__body {
    padding: 14px 15px !important;
  }
  .clima-final-screen--analise .clima-grid,
  .clima-final-screen--analise .clima-distribuicao,
  .clima-final-screen .clima-overview-kpis,
  .clima-final-screen .clima-coleta-kpis,
  .clima-final-screen .clima-compare-kpis,
  .clima-final-screen .clima-analysis-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .clima-final-screen .clima-indicadores-contexto__grid,
  .clima-final-screen .clima-analise-contexto__grid,
  .clima-final-screen .clima-medicao-contexto__grid,
  .clima-final-screen .clima-exec-context__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 540px) {
  .clima-final-screen .consulta-padrao-toolbar__acoes .botao {
    flex: 1 1 100%;
    justify-content: center;
  }
  .clima-final-screen--analise .clima-grid,
  .clima-final-screen--analise .clima-distribuicao,
  .clima-final-screen .clima-overview-kpis,
  .clima-final-screen .clima-coleta-kpis,
  .clima-final-screen .clima-compare-kpis,
  .clima-final-screen .clima-analysis-kpi-grid {
    grid-template-columns: 1fr;
  }
}

@media print {
  .clima-final-screen .consulta-padrao-toolbar,
  .clima-final-screen .clima-context-controls,
  .clima-final-screen--analise .clima-acoes,
  .layout-topbar,
  .layout-sidebar,
  .sidebar,
  .topbar {
    display: none !important;
  }
  .clima-final-screen .card,
  .clima-final-screen--analise .clima-card,
  .clima-final-screen--analise .clima-bloco {
    box-shadow: none !important;
    break-inside: avoid;
  }
}
/* ===== Fim | Health View v120.7 ===== */

/* ==========================================================================
   Health View v120.8 — Fechamento visual e navegação interna do Clima
   --------------------------------------------------------------------------
   Ajuste exclusivamente de apresentação/UX sobre os componentes já existentes.
   Reforça hierarquia visual, reduz superfícies genéricas e torna contexto,
   execução e estados vazios mais fáceis de reconhecer.
   ========================================================================== */

/* O cabeçalho funcional agora precisa ser percebido como a "pergunta da tela". */
.clima-final-screen .consulta-padrao-intro {
  position: relative;
  border: 1px solid #c9daeb;
  border-left: 6px solid #4b78a6;
  border-radius: 16px;
  background: linear-gradient(120deg, #edf5fd 0%, #f5fafb 58%, #ffffff 100%);
  box-shadow: 0 12px 28px rgba(35, 66, 105, .075);
}
.clima-final-screen .consulta-padrao-intro > .card__body { padding: 20px 22px !important; }
.clima-final-screen .consulta-padrao-intro h2 {
  margin-bottom: 7px;
  color: #203d61;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -.015em;
}
.clima-final-screen .consulta-padrao-intro p { color: #586f89; font-size: 13.5px; }

/* Cor semântica por função — a estrutura continua a mesma, mas a tela fica reconhecível. */
.clima-final-screen--panorama .consulta-padrao-intro,
.clima-final-screen--inteligencia .consulta-padrao-intro,
.clima-final-screen--evolucao .consulta-padrao-intro {
  border-left-color: #2f796f;
  background: linear-gradient(120deg, #eaf6f3 0%, #f4f9f8 58%, #ffffff 100%);
}
.clima-final-screen--escuta .consulta-padrao-intro {
  border-left-color: #b17a31;
  background: linear-gradient(120deg, #fff4e4 0%, #fffaf2 58%, #ffffff 100%);
}
.clima-final-screen--comparativos .consulta-padrao-intro,
.clima-final-screen--analise .consulta-padrao-intro,
.clima-final-screen--indicadores .consulta-padrao-intro,
.clima-final-screen--relatorios .consulta-padrao-intro {
  border-left-color: #426f9e;
}

/* Contexto herdado vira faixa de referência, em vez de competir com o conteúdo. */
.clima-final-screen .clima-compare-context,
.clima-final-screen .clima-intelligence-context,
.clima-final-screen .clima-indicadores-contexto,
.clima-final-screen .clima-analise-contexto,
.clima-final-screen .clima-exec-context,
.clima-final-screen .clima-evolution-context,
.clima-final-screen .clima-relatorios-contexto {
  border: 1px solid #d5e2ee;
  border-radius: 14px;
  background: #f7fafc;
  box-shadow: none;
}
.clima-final-screen .clima-compare-context > .card__body,
.clima-final-screen .clima-intelligence-context > .card__body,
.clima-final-screen .clima-indicadores-contexto > .card__body,
.clima-final-screen .clima-relatorios-contexto > .card__body {
  padding: 14px 17px !important;
}

/* Seções internas ganham uma assinatura visual clara, sem virar um painel colorido. */
.clima-final-screen .clima-section-card,
.clima-final-screen .clima-compare-section,
.clima-final-screen .clima-intelligence-section,
.clima-final-screen .clima-analysis-reading,
.clima-final-screen .clima-analysis-indicators,
.clima-final-screen .clima-chart-card {
  border-top: 3px solid #d5e1ed;
  box-shadow: 0 8px 20px rgba(34, 56, 89, .045);
}
.clima-final-screen--inteligencia .clima-intelligence-section,
.clima-final-screen--panorama .clima-chart-card,
.clima-final-screen--evolucao .clima-evolution-trajectory { border-top-color: #84b4aa; }
.clima-final-screen--escuta .clima-section-card { border-top-color: #d5b17b; }
.clima-final-screen--comparativos .clima-compare-section,
.clima-final-screen--analise .clima-analysis-reading,
.clima-final-screen--analise .clima-analysis-indicators { border-top-color: #91afd0; }

/* Comparativos: estado sem segmentação deve parecer decisão de produto, não tela vazia. */
.clima-final-screen--comparativos .clima-compare-empty {
  max-width: 1120px;
  margin: 0 auto 16px;
  border: 1px solid #d4e1ed;
  border-top: 4px solid #5f83aa;
  background: linear-gradient(145deg, #ffffff, #f7fafc);
}
.clima-final-screen--comparativos .clima-compare-empty .card__body { padding: 20px 22px; }
.clima-final-screen--comparativos .clima-compare-empty__content { max-width: none; }
.clima-final-screen--comparativos .clima-compare-empty__content h2 {
  max-width: 850px;
  margin: 7px 0 7px;
  font-size: 19px;
  line-height: 1.3;
}
.clima-final-screen--comparativos .clima-compare-empty__content > p { max-width: 900px; font-size: 13px; }
.clima-final-screen--comparativos .clima-compare-empty__summary {
  margin-top: 16px;
  gap: 8px;
}
.clima-final-screen--comparativos .clima-compare-empty__summary > div {
  min-height: 68px;
  padding: 10px 12px;
  border-color: #dde7f0;
  background: #fff;
}
.clima-final-screen--comparativos .clima-compare-empty__guidance {
  margin-top: 12px;
  padding: 12px 14px;
  border-left: 4px solid #c18b41;
  background: #fff9ef;
}
.clima-final-screen--comparativos .clima-compare-empty__actions { margin-top: 13px; }

/* Relatórios: o seletor é autoaplicável e a disponibilidade dos entregáveis é o foco. */
.clima-final-screen--relatorios .clima-relatorios-auto-hint {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 10px;
  border-radius: 9px;
  background: #eef5fb;
  color: #526d89;
  font-weight: 700;
}
.clima-final-screen--relatorios .clima-entregavel-card {
  border-top: 4px solid #d4dfeb;
  transition: transform .15s ease, box-shadow .15s ease;
}
.clima-final-screen--relatorios .clima-entregavel-card.is-ready {
  border-top-color: #4c8277;
  box-shadow: 0 9px 20px rgba(37, 76, 71, .055);
}

/* Plano de Ação de Clima: uma tela sobre execução, não uma repetição da análise. */
.pa-detail-page--clima { --pa-clima-teal: #2d766d; --pa-clima-blue: #426f9e; }
.pa-detail-page--clima .pa-intro { display: none; }
.pa-detail-page--clima .pa-detail-topline {
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e2e9f1;
}
.pa-detail-page--clima .pa-clima-plan-hero {
  gap: 16px 22px;
  margin-bottom: 14px;
  padding: 22px;
  border: 1px solid #cbdde8;
  border-left: 6px solid var(--pa-clima-teal);
  border-radius: 18px;
  background: linear-gradient(120deg, #edf8f5 0%, #f5f9fb 62%, #ffffff 100%);
  box-shadow: 0 12px 28px rgba(39, 76, 83, .07);
}
.pa-detail-page--clima .pa-clima-plan-hero h1 { font-size: clamp(25px, 2.2vw, 33px); }
.pa-detail-page--clima .pa-clima-plan-status {
  align-self: center;
  min-width: 165px;
  padding: 12px 14px;
  border: 1px solid #cfddd9;
  border-radius: 14px;
  background: rgba(255,255,255,.86);
  text-align: right;
}
.pa-detail-page--clima .pa-clima-plan-status small {
  order: -1;
  color: #657c78;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.pa-detail-page--clima .pa-clima-plan-status .pa-status {
  justify-content: center;
  min-width: 130px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.pa-detail-page--clima .pa-clima-plan-context {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: 14px;
}
.pa-detail-page--clima .pa-clima-plan-context > div {
  padding: 9px 11px;
  border: 0;
  border-left: 3px solid #c9d8e5;
  border-radius: 0;
  background: transparent;
}
.pa-detail-page--clima .pa-kpi-grid--clima-plan { margin: 0 0 15px; }
.pa-detail-page--clima .pa-kpi-grid--clima-plan .pa-kpi-card { min-height: 102px; box-shadow: 0 7px 18px rgba(30, 54, 86, .045); }
.pa-detail-page--clima .pa-kpi-card--plan-total::before { background: #53769e; }
.pa-detail-page--clima .pa-kpi-card--danger::before { background: #c44c4c; }
.pa-detail-page--clima .pa-kpi-card--danger { background: #fff8f7; border-color: #efd5d2; }
.pa-detail-page--clima .pa-clima-listening-bridge {
  padding: 17px 18px;
  border: 1px solid #e7d7bd;
  border-left: 5px solid #bd8a43;
  background: #fffaf2;
  box-shadow: none;
}
.pa-detail-page--clima .pa-clima-listening-bridge .pa-section__header { margin-bottom: 11px; padding-bottom: 11px; }
.pa-detail-page--clima .pa-clima-context__card { border-color: #eadfce; background: #fff; box-shadow: none; }
.pa-detail-page--clima .pa-btn--listening { border-color: #d8b984; color: #7b5720; background: #fff9ef; }
.pa-detail-page--clima #plano-acoes {
  border-top: 4px solid #557da7;
  box-shadow: 0 10px 24px rgba(29, 56, 91, .055);
}
.pa-detail-page--clima #plano-acoes .pa-section__header h2 { font-size: 21px; }
.pa-detail-page--clima .pa-plan-summary { margin-bottom: 15px; }
.pa-detail-page--clima .pa-activity-card { border-radius: 14px; box-shadow: 0 5px 15px rgba(31, 55, 86, .04); }
.pa-detail-page--clima .pa-activity-meta div { background: #fbfcfd; }
.pa-detail-page--clima .pa-history {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e5ebf2;
}
.pa-detail-page--clima .pa-history > summary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #486b91;
  font-size: 12.5px;
  font-weight: 850;
  cursor: pointer;
}
.pa-detail-page--clima .pa-history > summary span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 23px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #eaf1f8;
  color: #3f6082;
  font-size: 10.5px;
}
.pa-detail-page--clima .pa-history-list { display: grid; gap: 8px; margin-top: 10px; }
.pa-detail-page--clima .pa-history-item {
  padding: 10px 12px;
  border: 1px solid #e0e8f0;
  border-radius: 10px;
  background: #fbfcfe;
}
.pa-detail-page--clima .pa-history-item__top { display: flex; justify-content: space-between; gap: 12px; color: #536b85; font-size: 11px; }
.pa-detail-page--clima .pa-history-item p { margin: 6px 0 0; color: #52657c; font-size: 12px; line-height: 1.45; }
.pa-detail-page--clima .pa-history-item small { display: block; margin-top: 6px; color: #7a899a; }
.pa-detail-page--clima .pa-history-empty { margin-top: 9px; padding: 9px 11px; border-radius: 9px; background: #f6f8fb; color: #738399; font-size: 12px; }

/* Formulário de ação herda a identidade do módulo e preserva o caminho Ciclo > Plano > Ação. */
.clima-final-screen--plano-atividade .consulta-padrao-intro {
  border-left-color: #527aa3;
}
.clima-final-screen--plano-atividade .plano-atividade-form-card {
  border-top: 4px solid #5a7fa6;
  box-shadow: 0 9px 22px rgba(32, 58, 91, .05);
}
.clima-final-screen--plano-atividade .plano-form-bloco {
  border-color: #dce6ef;
  background: #fbfcfe;
}

@media (max-width: 900px) {
  .pa-detail-page--clima .pa-clima-plan-context { grid-template-columns: 1fr; }
  .pa-detail-page--clima .pa-clima-plan-status { align-items: flex-start; min-width: 0; text-align: left; }
}
@media (max-width: 680px) {
  .clima-final-screen .consulta-padrao-intro > .card__body { padding: 17px !important; }
  .pa-detail-page--clima .pa-clima-plan-hero { padding: 17px; }
  .pa-detail-page--clima .pa-kpi-grid--clima-plan { grid-template-columns: 1fr; }
}

/* ===== Fim | Health View v120.8 ===== */

/* Health View v120.9 — Escuta com foco único e acesso persistente pelo Ciclo. */
.clima-final-screen--escuta .clima-check-grid--single {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.clima-final-screen--escuta .clima-check-card--radio input[type="radio"] {
  width: 17px;
  height: 17px;
  accent-color: #b47f37;
}
.clima-final-screen--escuta .clima-assist-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 13px;
  padding: 10px 12px;
  border: 1px solid #d8e5ed;
  border-left: 3px solid #4f7fae;
  border-radius: 10px;
  background: #f6f9fc;
  color: #506b87;
  font-size: 12px;
  line-height: 1.45;
}
.clima-final-screen--escuta .clima-assist-note strong {
  flex: 0 0 auto;
  color: #315b83;
}
.clima-final-screen--escuta .clima-legacy-note {
  display: flex;
  gap: 7px;
  margin-top: 9px;
  padding: 9px 11px;
  border: 1px solid #ead8b8;
  border-radius: 9px;
  background: #fff8ed;
  color: #775924;
  font-size: 11.5px;
  line-height: 1.4;
}
.clima-final-screen--ciclo .clima-ciclo-bloco-compacto--escutas {
  border-color: #ead9bd;
  border-left: 4px solid #b47f37;
  background: #fffaf3;
}
.clima-escutas-ciclo-lista {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.clima-escutas-ciclo-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid #e4e8ed;
  border-radius: 10px;
  background: #fff;
}
.clima-escutas-ciclo-item > div {
  min-width: 0;
}
.clima-escutas-ciclo-item strong,
.clima-escutas-ciclo-item span {
  display: block;
}
.clima-escutas-ciclo-item strong {
  color: #243d5e;
  font-size: 12.5px;
}
.clima-escutas-ciclo-item span {
  margin-top: 3px;
  color: #718297;
  font-size: 11px;
  white-space: normal;
}
@media (max-width: 900px) {
  .clima-final-screen--escuta .clima-check-grid--single {
    grid-template-columns: 1fr;
  }
  .clima-escutas-ciclo-item {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* ===== Health View v120.10 — refinamento final da Escuta ===== */
.clima-final-screen--escuta .clima-combo-cadastro {
  position: relative;
  width: 100%;
}
.clima-final-screen--escuta .clima-combo-cadastro__control {
  position: relative;
  display: flex;
  align-items: stretch;
}
.clima-final-screen--escuta .clima-combo-cadastro__control input {
  width: 100%;
  min-height: 40px;
  padding-right: 44px;
  background: #fff;
  color: #1f3654;
  color-scheme: light;
}
.clima-final-screen--escuta .clima-combo-cadastro__toggle {
  position: absolute;
  top: 1px;
  right: 1px;
  bottom: 1px;
  width: 40px;
  border: 0;
  border-left: 1px solid #d9e2eb;
  border-radius: 0 9px 9px 0;
  background: #f7f9fb;
  color: #45627f;
  cursor: pointer;
  font: inherit;
}
.clima-final-screen--escuta .clima-combo-cadastro__toggle:hover,
.clima-final-screen--escuta .clima-combo-cadastro__toggle:focus-visible {
  background: #eef4f9;
  color: #205b91;
}
.clima-final-screen--escuta .clima-combo-cadastro__toggle span {
  display: inline-block;
  transform: translateY(-1px);
  font-size: 18px;
  line-height: 1;
}
.clima-final-screen--escuta .clima-combo-cadastro__menu {
  position: absolute;
  z-index: 40;
  top: calc(100% + 5px);
  left: 0;
  right: 0;
  max-height: 270px;
  overflow: auto;
  padding: 6px;
  border: 1px solid #ccd9e5;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(31, 54, 84, .14);
  color: #1f3654;
  color-scheme: light;
}
.clima-final-screen--escuta .clima-combo-cadastro__menu[hidden] {
  display: none !important;
}
.clima-final-screen--escuta .clima-combo-cadastro__opcoes {
  display: grid;
  gap: 2px;
}
.clima-final-screen--escuta .clima-combo-cadastro__opcoes button,
.clima-final-screen--escuta .clima-combo-cadastro__novo {
  width: 100%;
  padding: 9px 10px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #243d5e;
  cursor: pointer;
  font: inherit;
  font-size: 12.5px;
  line-height: 1.35;
  text-align: left;
}
.clima-final-screen--escuta .clima-combo-cadastro__opcoes button:hover,
.clima-final-screen--escuta .clima-combo-cadastro__opcoes button:focus-visible {
  background: #eef5fb;
  color: #175f9c;
}
.clima-final-screen--escuta .clima-combo-cadastro__novo {
  margin-top: 5px;
  border-top: 1px solid #e6edf3;
  border-radius: 0 0 7px 7px;
  color: #1768ad;
  font-weight: 700;
}
.clima-final-screen--escuta .clima-combo-cadastro__novo:hover,
.clima-final-screen--escuta .clima-combo-cadastro__novo:focus-visible {
  background: #f2f7fb;
}
.clima-final-screen--escuta .clima-escuta-status-auto {
  display: grid;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid #d9e3ec;
  border-radius: 11px;
  background: #f8fafc;
}
.clima-final-screen--escuta .clima-escuta-status-auto__leitura {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.clima-final-screen--escuta .clima-escuta-status-auto__leitura > div {
  display: grid;
  gap: 3px;
}
.clima-final-screen--escuta .clima-escuta-status-auto__leitura small {
  color: #6f8093;
  line-height: 1.4;
}
.clima-final-screen--escuta .clima-escuta-status-auto__badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 11px;
  border: 1px solid #d9e3ec;
  border-radius: 999px;
  background: #fff;
  color: #526a83;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.clima-final-screen--escuta .clima-escuta-status-auto__badge--em_andamento {
  border-color: #9fc7e9;
  background: #eef6fd;
  color: #1f6399;
}
.clima-final-screen--escuta .clima-escuta-status-auto__badge--concluida {
  border-color: #b9ddcf;
  background: #eff9f5;
  color: #23705b;
}
.clima-final-screen--escuta .clima-escuta-status-auto__badge--cancelada {
  border-color: #e0c5c5;
  background: #fbf2f2;
  color: #8e4d4d;
}
.clima-final-screen--escuta .clima-escuta-status-auto__cancelar {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  color: #62778d;
  font-size: 11.5px;
  cursor: pointer;
}
.clima-final-screen--escuta .clima-escuta-status-auto__cancelar input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #9b5c5c;
}
@media (max-width: 680px) {
  .clima-final-screen--escuta .clima-escuta-status-auto__leitura {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* ===== Health View v120.11 | Jornada Guiada do Clima ===== */
.clima-guided-state {
  margin: 14px 0 18px;
  border: 1px solid #cfe0ec;
  background: linear-gradient(135deg, #f7fbfd 0%, #eef6f8 100%);
  box-shadow: 0 8px 20px rgba(31, 54, 84, .045);
}
.clima-guided-state > .card__body {
  display: grid;
  grid-template-columns: minmax(220px, .9fr) minmax(300px, 1.35fr) auto;
  align-items: center;
  gap: 18px;
  padding: 15px 18px;
}
.clima-guided-state__status,
.clima-guided-state__next {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.clima-guided-state__status > span,
.clima-guided-state__next > span {
  color: #678096;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.clima-guided-state__status strong,
.clima-guided-state__next strong {
  color: #203b55;
  font-size: 15px;
  line-height: 1.3;
}
.clima-guided-state__status small,
.clima-guided-state__next small {
  color: #687d90;
  font-size: 12px;
  line-height: 1.45;
}
.clima-guided-state__next {
  padding-left: 18px;
  border-left: 1px solid #d4e2eb;
}
.clima-guided-state__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.clima-guided-state--decision {
  border-color: #bfd8d2;
  background: linear-gradient(135deg, #f4faf8 0%, #eaf5f2 100%);
}
.clima-guided-state--execution {
  border-color: #c7dbdc;
  background: linear-gradient(135deg, #f5faf9 0%, #edf6f4 100%);
}
.clima-guided-state--evolution {
  border-color: #caddea;
  background: linear-gradient(135deg, #f7fbfd 0%, #eef5fa 100%);
}
.clima-guided-state--compare {
  border-color: #d7dee7;
  background: linear-gradient(135deg, #fafbfd 0%, #f2f6f9 100%);
}
.clima-guided-complements {
  margin: 14px 0 18px;
  border: 1px solid #dce5ec;
  background: #fbfcfd;
}
.clima-guided-complements > summary {
  cursor: pointer;
  padding: 12px 16px;
  color: #536c83;
  font-size: 12.5px;
  font-weight: 750;
}
.clima-guided-complements > .card__body {
  padding-top: 0;
}
.clima-guided-complements p {
  margin: 0 0 10px;
  color: #738496;
  font-size: 12px;
}
.clima-guided-complements__links {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.clima-guided-complements__links a {
  color: #23679a;
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none;
}
.clima-exec-listen-panel--single {
  margin-top: 16px;
}
.pa-clima-guided-execution {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(280px, 1.2fr) auto;
  align-items: center;
  gap: 18px;
  margin: 14px 0 22px;
  padding: 16px 18px;
  border-color: #c7dbdc;
  background: linear-gradient(135deg, #f5faf9 0%, #edf6f4 100%);
}
.pa-clima-guided-execution > div {
  display: grid;
  gap: 4px;
}
.pa-clima-guided-execution > div + div {
  padding-left: 18px;
  border-left: 1px solid #d4e3e2;
}
.pa-clima-guided-execution strong {
  color: #203b55;
  font-size: 15px;
  line-height: 1.35;
}
.pa-clima-guided-execution small {
  color: #6a7e8f;
  font-size: 12px;
  line-height: 1.45;
}
@media (max-width: 980px) {
  .clima-guided-state > .card__body,
  .pa-clima-guided-execution {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .clima-guided-state__next,
  .pa-clima-guided-execution > div + div {
    padding-left: 0;
    padding-top: 12px;
    border-left: 0;
    border-top: 1px solid #d4e2eb;
  }
  .clima-guided-state__actions {
    justify-content: flex-start;
  }
}
/* ===== Fim | Health View v120.11 ===== */


/* ===== Health View v120.13 | Hierarquia oficial de CTAs + rollout Clima ===== */
/*
 * Padrão visual oficial de ações do Health View:
 * Nível 1 — ação principal: sólida.
 * Nível 2 — ação secundária: preenchimento azul suave + borda presente.
 * Nível 3 — ação complementar: outline discreto.
 *
 * A régua dos níveis 1/2/3 é reutilizável em toda a aplicação administrativa.
 * O rollout de classificação contextual desta versão é aplicado ao Clima; as
 * demais verticais preservam suas regras e passam a herdar apenas o padrão
 * visual dos botões já classificados como primários/secundários.
 */

/* Nível 2 — secundário global: relevante, mas abaixo da ação principal. */
.is-authenticated .botao.botao--secundario:not(.botao--complementar):not(.botao--instrucoes),
.is-authenticated button.botao.botao--secundario:not(.botao--complementar):not(.botao--instrucoes),
.is-authenticated a.botao.botao--secundario:not(.botao--complementar):not(.botao--instrucoes) {
  background: #edf4ff !important;
  color: #285d96 !important;
  border: 1px solid #9fbce2 !important;
  box-shadow: 0 3px 10px rgba(47, 111, 208, .08) !important;
}
.is-authenticated .botao.botao--secundario:not(.botao--complementar):not(.botao--instrucoes):hover,
.is-authenticated button.botao.botao--secundario:not(.botao--complementar):not(.botao--instrucoes):hover,
.is-authenticated a.botao.botao--secundario:not(.botao--complementar):not(.botao--instrucoes):hover {
  background: #e2edfb !important;
  color: #214f82 !important;
  border-color: #7fa8d8 !important;
  box-shadow: 0 5px 13px rgba(47, 111, 208, .12) !important;
}

/* Nível 3 — complementar: consulta, retorno, instrução ou aprofundamento. */
.is-authenticated .botao.botao--complementar,
.is-authenticated button.botao.botao--complementar,
.is-authenticated a.botao.botao--complementar,
.is-authenticated button.botao[data-instrucoes-open],
.is-authenticated .consulta-padrao-toolbar__acoes .botao.botao--secundario,
.is-authenticated .pagina-topo__acoes .botao.botao--secundario,
.is-authenticated .consulta-piloto-topo__acoes .botao.botao--secundario,
.is-authenticated .avaliacao-guiada-topo__acoes .botao.botao--secundario,
.is-authenticated .nr1-drps-header__acoes .botao.botao--secundario,
.is-authenticated .nr1-header-card__acoes .botao.botao--secundario {
  background: #fff !important;
  color: #303e68 !important;
  border: 1px solid #d4deeb !important;
  box-shadow: none !important;
}
.is-authenticated .botao.botao--complementar:hover,
.is-authenticated button.botao.botao--complementar:hover,
.is-authenticated a.botao.botao--complementar:hover,
.is-authenticated button.botao[data-instrucoes-open]:hover,
.is-authenticated .consulta-padrao-toolbar__acoes .botao.botao--secundario:hover,
.is-authenticated .pagina-topo__acoes .botao.botao--secundario:hover,
.is-authenticated .consulta-piloto-topo__acoes .botao.botao--secundario:hover,
.is-authenticated .avaliacao-guiada-topo__acoes .botao.botao--secundario:hover,
.is-authenticated .nr1-drps-header__acoes .botao.botao--secundario:hover,
.is-authenticated .nr1-header-card__acoes .botao.botao--secundario:hover {
  background: #f5f8ff !important;
  color: #2f6fd0 !important;
  border-color: #a9c1e8 !important;
  box-shadow: none !important;
}

/* Nível 1 — CTAs de jornada do Clima: preserva a presença aprovada no piloto. */
.is-authenticated .clima-final-screen .clima-nav-cta:not(.botao--secundario):not(.botao--complementar) {
  background: #2f6fd0 !important;
  color: #fff !important;
  border: 1px solid #2f6fd0 !important;
  box-shadow: 0 6px 16px rgba(47, 111, 208, .18) !important;
}
.is-authenticated .clima-final-screen .clima-nav-cta:not(.botao--secundario):not(.botao--complementar):hover {
  background: #245bb4 !important;
  border-color: #245bb4 !important;
  box-shadow: 0 8px 20px rgba(47, 111, 208, .23) !important;
}

/* Todos os CTAs de navegação do Clima seguem a mesma escala e peso. */
.clima-final-screen .clima-nav-cta {
  min-height: 40px;
  font-weight: 800;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease;
}

/* Contextos complementares nunca competem com o próximo passo. */
.is-authenticated .clima-final-screen .clima-intelligence-context-org .clima-nav-cta,
.is-authenticated .clima-final-screen .clima-analysis-indicators .clima-nav-cta.botao--complementar {
  background: #fff !important;
  color: #303e68 !important;
  border: 1px solid #d4deeb !important;
  box-shadow: none !important;
}

/* Cards de entregáveis são escolhas equivalentes: ação perceptível, sem 5 primários concorrentes. */
.is-authenticated .clima-final-screen--relatorios .clima-entregavel-card__acao .botao.botao--secundario {
  min-height: 40px;
}

@media (max-width: 680px) {
  .clima-final-screen .clima-guided-state__actions .clima-nav-cta,
  .clima-final-screen .clima-intelligence-priority__actions .clima-nav-cta,
  .clima-final-screen .clima-ciclo-bloco-compacto__acoes .clima-nav-cta {
    width: 100%;
  }
}
/* ===== Fim | Health View v120.13 ===== */

/* ===== Health View v120.14 | Fechamento Relatório Analítico + eNPS ===== */
/* Contexto explícito da leitura profissional do Relatório Analítico. */
.hv-report-context-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}
.hv-report-context-strip > div {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #e0e8f1;
  border-radius: 10px;
  background: #f9fbfd;
}
.hv-report-context-strip span,
.hv-report-context-strip strong {
  display: block;
}
.hv-report-context-strip span {
  color: #71849b;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.hv-report-context-strip strong {
  margin-top: 4px;
  color: var(--report-navy);
  font-size: 11px;
  line-height: 1.35;
}

/* Lista de perguntas: leitura inicial compacta, aprofundamento sob demanda. */
.hv-report-questions:not(.is-expanded) .hv-report-question-extra {
  display: none;
}
.hv-report-expand-row {
  display: flex;
  justify-content: center;
  padding-top: 12px;
}
.hv-report-expand-button {
  min-height: 38px;
  gap: 8px;
  font-weight: 800;
}
.hv-report-expand-button b {
  font-size: 15px;
  line-height: 1;
}

/* eNPS: régua interpretativa Health View (<0 vermelho, 0–49 amarelo, 50–100 verde). */
.hv-report-enps-score > div > span,
.hv-report-enps-score > div > small {
  display: block;
}
.hv-report-enps-score > div > small {
  margin-top: 3px;
  color: #6f8198;
  font-size: 9.5px;
  font-weight: 750;
}
.hv-report-enps-score.is-good {
  border-color: #c9e8dd;
  background: #f5fbf8;
}
.hv-report-enps-score.is-good strong { color: #287e67; }
.hv-report-enps-score.is-warn {
  border-color: #f1dfb7;
  background: #fffaf0;
}
.hv-report-enps-score.is-warn strong { color: #a66d0c; }
.hv-report-enps-score.is-danger {
  border-color: #efd0d0;
  background: #fff7f7;
}
.hv-report-enps-score.is-danger strong { color: #b04c4c; }

/* Transparência do padrão eNPS durante a criação da medição. */
.clima-medicao-referencia--enps {
  border-color: #bfd4ef;
  background: #f5f9ff;
}
.clima-medicao-referencia--enps > div > span {
  color: #3f6fa9;
}

@media (max-width: 820px) {
  .hv-report-context-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .hv-report-context-strip { grid-template-columns: 1fr; }
}

@media print {
  /* A tela começa compacta, mas o documento analítico impresso mantém todas as perguntas. */
  .hv-report-questions .hv-report-question-extra {
    display: table-row !important;
  }
  .hv-report-context-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 2mm !important;
    margin-top: 3mm !important;
  }
  .hv-report-context-strip > div {
    padding: 2mm !important;
    border: .4pt solid #d7e0e9 !important;
    border-radius: 1.4mm !important;
    background: #f8fafc !important;
    break-inside: avoid;
  }
  .hv-report-context-strip span { font-size: 6.2pt !important; }
  .hv-report-context-strip strong { font-size: 7.2pt !important; }
}
/* ===== Fim | Health View v120.14 ===== */

/* v120.16 — fechamento do Relatório Analítico de Clima: leitura primeiro, metodologia consolidada ao final. */
.hv-report-method-grid {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:18px;
  align-items:start;
}
.hv-report-method-grid h3 {
  margin:0 0 10px;
  color:var(--report-navy);
  font-size:13px;
  line-height:1.3;
}
.hv-report-method-guidance {
  padding:12px 14px;
  border:1px solid #dfe7f1;
  border-radius:11px;
  background:#fff;
}
.hv-report-method-guidance > p {
  margin:0 0 6px;
  color:#526982;
  font-size:10.8px;
  line-height:1.55;
}
.hv-report-empty--compact {
  margin-top:10px;
  padding:10px 12px;
}
.hv-report-empty--compact strong { color:var(--report-navy); }

@media (max-width: 900px) {
  .hv-report-method-grid { grid-template-columns:1fr; }
}

@media print {
  .hv-report-method-grid {
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) !important;
    gap:3mm !important;
  }
  .hv-report-method-grid h3 { font-size:8pt !important; margin-bottom:1.5mm !important; }
  .hv-report-method-guidance { padding:2.5mm !important; border-radius:1.5mm !important; }
  .hv-report-method-guidance > p { font-size:7pt !important; line-height:1.45 !important; }
}

/* ===== Health View v120.17 | NR-1 — navegação e próxima etapa ===== */
body.is-nr1.is-authenticated .tabela--consulta-padrao .nr1-proxima-etapa {
  min-height: 30px !important;
  padding: 6px 10px !important;
  border-radius: 9px !important;
  font-size: 11.5px !important;
  line-height: 1.2 !important;
  white-space: normal;
  text-align: center;
}
body.is-nr1.is-authenticated .consulta-proxima-etapa {
  min-width: 190px;
}
body.is-nr1.is-authenticated #tabela-projetos-nr1 .consulta-acoes-linha {
  gap: 5px;
}
body.is-nr1.is-authenticated #tabela-projetos-nr1 .nr1-acao-icone {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  border-radius: 8px !important;
}
body.is-nr1.is-authenticated #tabela-projetos-nr1 .nr1-acao-icone svg {
  width: 14px !important;
  height: 14px !important;
}
body.is-nr1.is-authenticated .nr1-toolbar-contextual .consulta-padrao-toolbar__acoes .botao {
  white-space: nowrap;
}
@media print {
  body.is-nr1 .consulta-padrao-toolbar,
  body.is-nr1 .nr1-toolbar-contextual { display:none !important; }
}
/* ===== Fim v120.17 ===== */


/* ===== Health View | Identidade visual unificada =====
 * A mesma arte horizontal é usada no login, menu administrativo e Portal do Avaliado.
 * O arquivo health-view-logo.png já contém o posicionamento oficial:
 * Health View + "Mapear · Evoluir · Escalar".
 */
.health-view-brand-lockup--logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.health-view-brand-lockup--logo .sidebar__brand-logo--full {
  width: min(238px, 100%) !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  background: transparent !important;
  border-radius: 0 !important;
  margin: 0 auto !important;
}

.portal-brand--eixo .portal-brand__logo--full {
  width: 190px !important;
  height: auto !important;
  max-height: 64px !important;
  object-fit: contain !important;
  background: transparent !important;
  border-radius: 0 !important;
}

@media (max-width: 720px) {
  .portal-brand--eixo .portal-brand__logo--full {
    width: 150px !important;
    max-height: 54px !important;
  }
}

/* ==========================================================
   v121.3.25.3 — Padronização visual Clima / Pesquisas / Plano
   Objetivo: aproximar Clima Organizacional e Gestão de Planos
   de Ação NR-01 do mesmo padrão visual usado em Acompanhamento DRPS.
   ========================================================== */

.clima-final-screen {
  display: grid;
  gap: 16px;
}
.clima-final-screen > section,
.clima-final-screen > .alerta {
  margin: 0;
}
.clima-final-screen .card,
.clima-final-screen .consulta-padrao-filtros,
.clima-final-screen .consulta-padrao-tabela-card {
  border: 1px solid #dbe5f0;
  border-radius: 18px;
  box-shadow: 0 6px 18px rgba(20,45,90,.04);
  overflow: hidden;
}
.clima-final-screen .consulta-padrao-intro h2,
.clima-final-screen .card h2,
.clima-final-screen .card h3 {
  color: #1f3b67;
}
.clima-final-screen .consulta-padrao-intro p,
.clima-final-screen .card p,
.clima-final-screen .texto-suporte {
  color: #607080;
}
.clima-final-screen .consulta-padrao-resultado strong {
  color: #1f3b67;
}
.clima-final-screen .consulta-padrao-vazio,
.clima-final-screen .estado-vazio,
.clima-final-screen .clima-overview-empty,
.clima-final-screen .clima-compare-empty,
.clima-final-screen .clima-exec-empty,
.clima-final-screen .clima-chart-empty,
.clima-final-screen .clima-intelligence-empty,
.clima-final-screen .clima-intelligence-empty-inline,
.clima-final-screen .clima-exec-empty-inline {
  border: 1px dashed #c9d8ea;
  border-radius: 16px;
  background: #fbfdff;
}
.clima-final-screen .clima-card,
.clima-final-screen .clima-overview-kpi,
.clima-final-screen .clima-coleta-kpi,
.clima-final-screen .clima-compare-kpi,
.clima-final-screen .clima-intelligence-kpi,
.clima-final-screen .clima-analysis-kpi,
.clima-final-screen .clima-exec-kpis > article,
.clima-final-screen .clima-evolution-kpis > article {
  border: 1px solid #dbe5f0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(20,45,90,.04);
}

.hv-pa-hero,
.hv-pa-summary,
.hv-pa-review-summary,
.hv-pa-tabs,
.hv-pa-actions-table,
.hv-pa-card,
.hv-pa-plan-card,
.hv-pa-sticky,
.hv-pa-manual,
.hv-pa-alert,
.hv-pa-success {
  box-shadow: 0 6px 18px rgba(20,45,90,.04);
}
.hv-pa-hero {
  border: 1px solid #dbe5f0;
  border-radius: 18px;
  background: #fff;
  padding: 18px 20px;
  margin-bottom: 0;
}
.hv-pa-hero h2 {
  color: #1f3b67;
  font-size: 1.1rem;
}
.hv-pa-hero p {
  color: #607080;
}
.hv-pa-kicker {
  color: #2e5ea7;
}
.hv-pa-summary article,
.hv-pa-review-summary article,
.hv-pa-plan-card,
.hv-pa-card,
.hv-pa-actions-table {
  border-color: #dbe5f0;
  border-radius: 16px;
}
.hv-pa-summary strong,
.hv-pa-review-summary strong,
.hv-pa-plan-card h3,
.hv-pa-card__head h3,
.hv-pa-action-row h3 {
  color: #1f3b67;
}
.hv-pa-summary span,
.hv-pa-review-summary span,
.hv-pa-plan-card small,
.hv-pa-action-meta,
.hv-pa-note,
.hv-pa-action-row p {
  color: #607080;
}
.hv-pa-tabs {
  margin: 0;
}
.hv-pa-tab {
  border-color: #dbe5f0;
  border-radius: 16px;
}
.hv-pa-tab__num {
  background: #eef4ff;
  color: #2e5ea7;
}
.hv-pa-tab.is-active {
  border-color: #2f6fed;
  box-shadow: 0 0 0 2px rgba(47,111,237,.08);
}
.hv-pa-tab.is-active .hv-pa-tab__num {
  background: #2f6fed;
}
.hv-pa-list-tabs {
  margin: 0;
}
.hv-pa-list-tab {
  color: #1f3b67;
  border-color: #c9d8ea;
  background: #fff;
}
.hv-pa-list-tab.is-active {
  background: #0f3c75;
  border-color: #0f3c75;
}
.hv-pa-action-filter button,
.hv-pa-action-filter select,
.hv-consulta-filtros__campos input,
.hv-consulta-filtros__campos select {
  border-color: #c9d8ea;
}
.hv-pa-actions-table {
  overflow: hidden;
}
.hv-pa-action-row--head {
  background: #f8fbff;
  color: #5e738e;
}
.hv-pa-action-row {
  border-bottom-color: #e7eef7;
}
.hv-pa-origin div,
.hv-pa-config-context div,
.hv-pa-sugestao,
.hv-pa-inline-form {
  background: #f8fbff;
}
.hv-pa-empty {
  border: 1px dashed #c9d8ea;
  background: #fbfdff;
  color: #607080;
}

/* ========================================================================== 
   Health View v121.3.25.4 — Clima Organizacional no padrão visual do DRPS
   --------------------------------------------------------------------------
   Regra: telas operacionais de Clima usam a mesma linguagem visual da tela
   Acompanhamento DRPS: superfícies brancas, tipografia administrativa,
   filtros/tabelas compactos e ausência de fundos azulados decorativos.
   Não altera regras de negócio.
   ========================================================================== */

.clima-final-screen {
  background: transparent !important;
  color: #24385d !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

/* Superfícies equivalentes ao DRPS. */
.clima-final-screen .card,
.clima-final-screen .clima-section-card,
.clima-final-screen .clima-empresa-ciclos,
.clima-final-screen .clima-chart-card,
.clima-final-screen .clima-next-action,
.clima-final-screen .clima-filter-card,
.clima-final-screen .clima-relatorios-contexto,
.clima-final-screen .clima-overview-empty,
.clima-final-screen .clima-ciclo-cabecalho,
.clima-final-screen .clima-ciclo-form-card,
.clima-final-screen .clima-dados-org-card,
.clima-final-screen .clima-compare-empty,
.clima-final-screen .clima-exec-empty {
  background: #fff !important;
  border: 1px solid #dbe5ef !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 20px rgba(15, 23, 42, .04) !important;
}

/* Cabeçalho/intro: exatamente a hierarquia usada no Acompanhamento DRPS. */
.clima-final-screen .consulta-padrao-intro,
.clima-final-screen .clima-page-header--hero,
.clima-final-screen--ciclo .clima-ciclo-cabecalho {
  margin-bottom: 12px !important;
  overflow: visible !important;
  background: #fff !important;
  border: 1px solid #dbe5ef !important;
  border-left: 1px solid #dbe5ef !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 20px rgba(15, 23, 42, .04) !important;
}
.clima-final-screen .consulta-padrao-intro .card__body,
.clima-final-screen .clima-page-header--hero .card__body {
  padding: 15px 18px !important;
}
.clima-final-screen .consulta-padrao-intro h2,
.clima-final-screen .clima-page-header--hero h2 {
  margin: 0 !important;
  color: #25385e !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -.015em !important;
}
.clima-final-screen .consulta-padrao-intro p,
.clima-final-screen .clima-page-header--hero p {
  max-width: 1050px !important;
  margin: 5px 0 0 !important;
  color: #62758e !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

/* Títulos e textos internos sem a tipografia "executiva" azul do Clima. */
.clima-final-screen .card h2,
.clima-final-screen .clima-section-card h2,
.clima-final-screen .clima-empresa-ciclos h2,
.clima-final-screen .clima-chart-card h2,
.clima-final-screen .clima-next-action h2,
.clima-final-screen .clima-entregavel-card h2 {
  color: #25385e !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
}
.clima-final-screen .card h3,
.clima-final-screen .clima-section-card h3 {
  color: #30456c !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.clima-final-screen .card p,
.clima-final-screen .texto-suporte,
.clima-final-screen small {
  color: #62758e !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}

/* Contextos antes azulados passam a ser caixas administrativas brancas. */
.clima-final-screen .clima-indicadores-contexto,
.clima-final-screen .clima-analise-contexto,
.clima-final-screen .clima-compare-context,
.clima-final-screen .clima-intelligence-context,
.clima-final-screen .clima-medicao-contexto,
.clima-final-screen .clima-escuta-contexto,
.clima-final-screen .clima-exec-context,
.clima-final-screen .clima-evolution-context,
.clima-final-screen .clima-relatorios-contexto-atual,
.clima-final-screen .clima-panorama-contexto,
.clima-final-screen .clima-overview-contexto,
.clima-final-screen .clima-form-section,
.clima-final-screen .clima-data-group,
.clima-final-screen .clima-ciclo-jornada-resumo,
.clima-final-screen .clima-ciclo-consultas-compactas {
  background: #fff !important;
  border-color: #dbe5ef !important;
  box-shadow: none !important;
}

/* Filtros no mesmo tamanho/peso do DRPS. */
.clima-final-screen .consulta-padrao-filtros,
.clima-final-screen .clima-filter-card,
.clima-final-screen .clima-segmentacao-card {
  margin-bottom: 12px !important;
  background: #fff !important;
  border: 1px solid #dbe5ef !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 20px rgba(15, 23, 42, .04) !important;
}
.clima-final-screen .consulta-padrao-filtros .card__body,
.clima-final-screen .clima-filter-card .card__body,
.clima-final-screen .clima-segmentacao-card .card__body {
  padding: 14px 16px !important;
}
.clima-final-screen .consulta-filtro label,
.clima-final-screen .formulario__grupo > label,
.clima-final-screen .form-grupo > label,
.clima-final-screen .clima-data-group > label {
  display: block !important;
  margin: 0 0 5px !important;
  color: #34476a !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.clima-final-screen input:not([type="checkbox"]):not([type="radio"]),
.clima-final-screen select,
.clima-final-screen textarea {
  border: 1px solid #d5e0ec !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #24385d !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
}
.clima-final-screen input:not([type="checkbox"]):not([type="radio"]),
.clima-final-screen select {
  min-height: 40px !important;
  padding: 8px 10px !important;
}

/* Tabelas iguais ao padrão de consulta do DRPS. */
.clima-final-screen .tabela,
.clima-final-screen .clima-tabela {
  background: #fff !important;
}
.clima-final-screen .tabela thead th,
.clima-final-screen .clima-tabela th {
  padding: 9px 10px !important;
  border-bottom: 1px solid #dce5ee !important;
  background: #f7f9fc !important;
  color: #536782 !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.clima-final-screen .tabela td,
.clima-final-screen .clima-tabela td {
  padding: 11px 10px !important;
  border-bottom: 1px solid #e7edf4 !important;
  background: #fff !important;
  color: #31435f !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}
.clima-final-screen .tabela tbody tr:hover td,
.clima-final-screen .clima-tabela tbody tr:hover td {
  background: #fafcff !important;
}

/* KPIs analíticos que existirem em outras telas: neutros, sem faixas coloridas. */
.clima-final-screen .clima-overview-kpi,
.clima-final-screen .clima-coleta-kpi,
.clima-final-screen .clima-compare-kpi,
.clima-final-screen .clima-intelligence-kpi,
.clima-final-screen .clima-analysis-kpi,
.clima-final-screen .clima-exec-kpis > article,
.clima-final-screen .clima-evolution-kpis > article,
.clima-final-screen .clima-card {
  background: #fff !important;
  border: 1px solid #dbe5ef !important;
  border-top: 1px solid #dbe5ef !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 20px rgba(15, 23, 42, .04) !important;
}
.clima-final-screen .clima-overview-kpi > strong,
.clima-final-screen .clima-coleta-kpi > strong,
.clima-final-screen .clima-compare-kpi > strong,
.clima-final-screen .clima-intelligence-kpi > strong,
.clima-final-screen .clima-analysis-kpi > strong,
.clima-final-screen .clima-card__valor {
  color: #25385e !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

/* Listas/cartões do hub ficam com leitura de consulta, sem "landing page". */
.clima-final-screen .hv-clima-ciclos-relacao,
.clima-final-screen .clima-empresa-ciclos__lista {
  display: grid !important;
  gap: 0 !important;
  border: 1px solid #dbe5ef !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
}
.clima-final-screen .hv-clima-ciclo-card,
.clima-final-screen .clima-empresa-ciclos__lista > a {
  margin: 0 !important;
  padding: 11px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #e7edf4 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}
.clima-final-screen .hv-clima-ciclo-card:last-child,
.clima-final-screen .clima-empresa-ciclos__lista > a:last-child {
  border-bottom: 0 !important;
}
.clima-final-screen .hv-clima-ciclo-card strong,
.clima-final-screen .clima-empresa-ciclos__lista strong {
  color: #30456c !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
}
.clima-final-screen .hv-clima-ciclo-card span,
.clima-final-screen .clima-empresa-ciclos__lista span {
  color: #687a92 !important;
  font-size: 12px !important;
}

/* Estados vazios iguais a uma consulta administrativa. */
.clima-final-screen .consulta-padrao-vazio,
.clima-final-screen .estado-vazio,
.clima-final-screen .clima-chart-empty,
.clima-final-screen .clima-intelligence-empty,
.clima-final-screen .clima-intelligence-empty-inline,
.clima-final-screen .clima-exec-empty-inline {
  background: #fff !important;
  border: 1px dashed #cfdbe8 !important;
  border-radius: 12px !important;
  color: #687a92 !important;
}

/* Remove fundos decorativos herdados nas telas operacionais. */
.clima-final-screen [class*="--destaque"],
.clima-final-screen [class*="--attention"] {
  background-color: #fff !important;
}
