/* ===== CHECKPOINT 2.0 - MASTER STYLESHEET ===== */
@import url("./variables_base_part1.css");
@import url("./variables_base_part2.css");
@import url("./sidebar_part1.css");
@import url("./sidebar_part2.css");
@import url("./main_layout_part1.css");
@import url("./main_layout_part2.css");
@import url("./main_layout_part3.css");
@import url("./dashboard_widgets.css");
@import url("./auditorias_cronograma.css");
@import url("./relatorios_kanban_fluxo_part1.css");
@import url("./relatorios_kanban_fluxo_part2.css");
@import url("./metas_scrum_atas_part1.css");
@import url("./metas_scrum_atas_part2.css");
@import url("./login_mascote_topbar.css");
@import url("./perfil_ged_fornecedores.css");
@import url("./treinamentos_trilhas.css");
@import url("./gamificacao_trofeus.css");
@import url("./tabuleiro_caminho.css");
@import url("./sala_professores_satisfacao.css");
@import url("./analise_critica_chat_part1.css");
@import url("./analise_critica_chat_part2.css");
@import url("./mascote_ia_config_perfis.css");
@import url("./modals_detalhes_riscos.css");
@import url("./liquid_glass_icons_part1.css");
@import url("./liquid_glass_icons_part2.css");
@import url("./liquid_glass_icons_part3.css");
@import url("./histograma_pareto.css");
@import url("./transcricao_voz.css");
@import url("./checkpoint_date_filter.css");
@import url("./lab_dashboard.css");
@import url("./checkpoint_mobile_bottom_nav.css");

/* ===== SECURITY GUARD: OBRIGATORIEDADE DE AUTENTICAÇÃO REAL ===== */
#loginScreen {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: var(--bg, #f6f6f7);
  display: none;
  align-items: center;
  justify-content: center;
  overflow: auto;
}

html.login-active #loginScreen,
html:not(.is-authenticated) #loginScreen {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

html.is-authenticated #loginScreen {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html.login-active .sidebar,
html.login-active .main,
html.login-active .topbar,
html.login-active .content,
html.login-active #appBootShield,
html:not(.is-authenticated) .sidebar,
html:not(.is-authenticated) .main,
html:not(.is-authenticated) .topbar,
html:not(.is-authenticated) .content,
html:not(.is-authenticated) #appBootShield {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ===== BLINDAGEM ABSOLUTA: MASCOTE MINGAU FUNDO NÍTIDO ===== */
#mascotOverlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 250 !important;
  display: none;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: none !important;
}
#mascotOverlay.open {
  display: block !important;
}
#mascotCard {
  pointer-events: auto !important;
}

/* ===== CABEÇALHOS UNIVERSAIS DOS MÓDULOS (PRESO AO TOPO DO CONTEÚDO) ===== */
.page-head,
.page-header,
.module-header,
.sticky-module-head {
  position: relative !important;
  top: auto !important;
  z-index: 10 !important;
  background: transparent !important;
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  padding: 0 0 16px 0 !important;
  margin: 0 0 18px 0 !important;
  border-bottom: 1px solid var(--border) !important;
  box-shadow: none !important;
}

/* ===== BLOQUEIO ABSOLUTO DO SCROLL GLOBAL DIREITO (.MAIN / BODY) ===== */
html, body {
  overflow: hidden !important;
  height: 100vh !important;
  height: 100dvh !important;
}

.main {
  overflow: hidden !important;
  scrollbar-width: none !important;
}
.main::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

#content,
.content {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
  padding: 18px 24px 32px !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--scrollbar-thumb) transparent !important;
  scroll-behavior: smooth !important;
}

#content::-webkit-scrollbar,
.content::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}
#content::-webkit-scrollbar-thumb,
.content::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb, rgba(140, 140, 140, 0.3)) !important;
  border-radius: 99px !important;
  transition: background 0.2s ease !important;
}
#content::-webkit-scrollbar-thumb:hover,
.content::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover, var(--sidebar-active)) !important;
}
#content::-webkit-scrollbar-track,
.content::-webkit-scrollbar-track {
  background: transparent !important;
}

/* ===== TABELAS DE DADOS: ROLAGEM ISOLADA NAS INFORMAÇÕES & COLUNAS FIXAS ===== */
.table-card:has(table),
.table-card:has(.data-table),
.table-responsive,
.table-wrapper,
.data-table-wrapper,
.custom-table-container,
.audit-table-card,
.matrix-container,
.grid-table-container {
  background: var(--card-bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  overflow-y: auto !important;
  overflow-x: auto !important;
  max-height: calc(100dvh - 280px) !important;
  min-height: 200px !important;
  box-shadow: 0 1px 2px var(--shadow-1) !important;
  position: relative !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--scrollbar-thumb) transparent !important;
  scroll-behavior: smooth !important;
  overscroll-behavior: contain !important;
}

/* ===== CARDS NÃO-TABELAS EM MODAIS, FORMULÁRIOS E BUILDERS: ALTURA NATURAL & ROLAGEM LIVRE ===== */
.modal .table-card,
.modal-box-central .table-card,
#modalConfigChecklistAuditoria .table-card,
.checklist-card,
.checklist-config-card,
.checklist-section-card,
.checklist-pergunta-card,
.form-card,
.table-card:not(:has(table)):not(:has(.data-table)) {
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  overscroll-behavior: auto !important;
}

/* Barra de rolagem ultra-polida (Apple-grade) */
.table-card::-webkit-scrollbar,
.table-responsive::-webkit-scrollbar,
.table-wrapper::-webkit-scrollbar,
.data-table-wrapper::-webkit-scrollbar,
.custom-table-container::-webkit-scrollbar,
.audit-table-card::-webkit-scrollbar,
.matrix-container::-webkit-scrollbar,
.grid-table-container::-webkit-scrollbar,
.kanban-col-body::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}
.table-card::-webkit-scrollbar-thumb,
.table-responsive::-webkit-scrollbar-thumb,
.table-wrapper::-webkit-scrollbar-thumb,
.data-table-wrapper::-webkit-scrollbar-thumb,
.custom-table-container::-webkit-scrollbar-thumb,
.audit-table-card::-webkit-scrollbar-thumb,
.matrix-container::-webkit-scrollbar-thumb,
.grid-table-container::-webkit-scrollbar-thumb,
.kanban-col-body::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb, rgba(140, 140, 140, 0.3)) !important;
  border-radius: 99px !important;
  transition: background 0.2s ease !important;
}
.table-card::-webkit-scrollbar-thumb:hover,
.table-responsive::-webkit-scrollbar-thumb:hover,
.table-wrapper::-webkit-scrollbar-thumb:hover,
.data-table-wrapper::-webkit-scrollbar-thumb:hover,
.custom-table-container::-webkit-scrollbar-thumb:hover,
.audit-table-card::-webkit-scrollbar-thumb:hover,
.matrix-container::-webkit-scrollbar-thumb:hover,
.grid-table-container::-webkit-scrollbar-thumb:hover,
.kanban-col-body::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover, var(--sidebar-active)) !important;
}
.table-card::-webkit-scrollbar-track,
.table-responsive::-webkit-scrollbar-track,
.table-wrapper::-webkit-scrollbar-track,
.data-table-wrapper::-webkit-scrollbar-track,
.custom-table-container::-webkit-scrollbar-track,
.audit-table-card::-webkit-scrollbar-track,
.matrix-container::-webkit-scrollbar-track,
.grid-table-container::-webkit-scrollbar-track,
.kanban-col-body::-webkit-scrollbar-track {
  background: transparent !important;
}

/* Fixação permanente dos nomes das colunas (thead th) em 100% das tabelas */
table thead th,
.data-table thead th,
table.data-table thead th,
.table-card thead th,
.table-responsive thead th,
.table-wrapper thead th,
.data-table-wrapper thead th,
.grid-table-container thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 10 !important;
  background: var(--card-bg-2) !important;
  box-shadow: 0 1px 0 var(--border) !important;
}

/* Kanban Boards: cabeçalhos de coluna fixos, sem cortes em cards e rolagem isolada */
.kanban-board {
  flex-shrink: 0 !important;
}
.kanban-col {
  min-height: 180px !important;
  max-height: calc(100dvh - 220px) !important;
  flex-shrink: 0 !important;
}
.kanban-col-body {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  flex: 1 1 auto !important;
  min-height: 120px !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--scrollbar-thumb) transparent !important;
}
.kanban-card {
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

/* ===== GESTÃO DE RISCOS: SCROLL INTEGRAL NA PÁGINA & EXPANSÃO DA SWOT ===== */
#content[data-page="gestao-riscos"],
#content:has(.gestao-riscos-page),
.gestao-riscos-page {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  height: 100% !important;
  max-height: 100% !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--scrollbar-thumb) transparent !important;
  scroll-behavior: smooth !important;
  padding-bottom: 30px !important;
}

#content[data-page="gestao-riscos"]::-webkit-scrollbar,
.gestao-riscos-page::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}
#content[data-page="gestao-riscos"]::-webkit-scrollbar-thumb,
.gestao-riscos-page::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb, rgba(140, 140, 140, 0.3)) !important;
  border-radius: 99px !important;
  transition: background 0.2s ease !important;
}
#content[data-page="gestao-riscos"]::-webkit-scrollbar-thumb:hover,
.gestao-riscos-page::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover, var(--sidebar-active)) !important;
}
#content[data-page="gestao-riscos"]::-webkit-scrollbar-track,
.gestao-riscos-page::-webkit-scrollbar-track {
  background: transparent !important;
}

/* Remoção de scroll interno na Matriz SWOT */
.swot-card-container,
#matrizSwotContainer,
.gestao-riscos-page .swot-card-container,
.gestao-riscos-page #matrizSwotContainer {
  max-height: none !important;
  overflow: visible !important;
}

.swot-quadrante-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  max-height: none !important;
  overflow: visible !important;
}

/* ===== ISHIKAWA & 5 PORQUÊS: SCROLL INTEGRAL NA PÁGINA & EXPANSÃO DOS CARDS ===== */
#content[data-page="ishikawa"],
#content[data-page="ishikawa-5porques"],
#content[data-page="ishikawa-6m"],
#content[data-page="cinco-porques"],
#content[data-page="5-porques"],
#content[data-page="5porques"],
#content[data-page="masp"],
#content[data-page="histograma"],
#content[data-page="diagrama-pareto"],
#content[data-page="fmea"],
#content[data-page="8d"],
#content[data-page="oito-d"],
#content[data-page="5w2h"],
#content[data-page="metodologia-5w2h"],
#content[data-page="pdca"],
#content[data-page="a3"],
#content[data-page="dmaic"],
#content[data-page="gut"],
#content[data-page="smart"],
#content[data-page="ferramentas-qualidade"],
#content[data-page="ferramentas-da-qualidade"],
#content:has(.ishikawa-page),
#content:has(.ishikawa-detail-page),
#content:has(.qualidade-metodologia-page),
.ishikawa-page,
.ishikawa-detail-page,
.qualidade-metodologia-page {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  height: 100% !important;
  max-height: 100% !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--scrollbar-thumb) transparent !important;
  scroll-behavior: smooth !important;
  padding-bottom: 40px !important;
}

#content[data-page="ishikawa"]::-webkit-scrollbar,
#content[data-page="ishikawa-5porques"]::-webkit-scrollbar,
#content[data-page="cinco-porques"]::-webkit-scrollbar,
#content[data-page="5porques"]::-webkit-scrollbar,
#content[data-page="masp"]::-webkit-scrollbar,
#content[data-page="8d"]::-webkit-scrollbar,
#content[data-page="pdca"]::-webkit-scrollbar,
#content[data-page="a3"]::-webkit-scrollbar,
#content[data-page="dmaic"]::-webkit-scrollbar,
#content[data-page="gut"]::-webkit-scrollbar,
#content[data-page="smart"]::-webkit-scrollbar,
.ishikawa-page::-webkit-scrollbar,
.ishikawa-detail-page::-webkit-scrollbar,
.qualidade-metodologia-page::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}

#content[data-page="ishikawa"]::-webkit-scrollbar-thumb,
#content[data-page="ishikawa-5porques"]::-webkit-scrollbar-thumb,
#content[data-page="cinco-porques"]::-webkit-scrollbar-thumb,
#content[data-page="5porques"]::-webkit-scrollbar-thumb,
#content[data-page="masp"]::-webkit-scrollbar-thumb,
#content[data-page="8d"]::-webkit-scrollbar-thumb,
#content[data-page="pdca"]::-webkit-scrollbar-thumb,
#content[data-page="a3"]::-webkit-scrollbar-thumb,
#content[data-page="dmaic"]::-webkit-scrollbar-thumb,
#content[data-page="gut"]::-webkit-scrollbar-thumb,
#content[data-page="smart"]::-webkit-scrollbar-thumb,
.ishikawa-page::-webkit-scrollbar-thumb,
.ishikawa-detail-page::-webkit-scrollbar-thumb,
.qualidade-metodologia-page::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb, rgba(140, 140, 140, 0.3)) !important;
  border-radius: 99px !important;
  transition: background 0.2s ease !important;
}

#content[data-page="ishikawa"]::-webkit-scrollbar-thumb:hover,
#content[data-page="ishikawa-5porques"]::-webkit-scrollbar-thumb:hover,
#content[data-page="cinco-porques"]::-webkit-scrollbar-thumb:hover,
#content[data-page="5porques"]::-webkit-scrollbar-thumb:hover,
.ishikawa-page::-webkit-scrollbar-thumb:hover,
.ishikawa-detail-page::-webkit-scrollbar-thumb:hover,
.qualidade-metodologia-page::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover, var(--sidebar-active)) !important;
}

#content[data-page="ishikawa"]::-webkit-scrollbar-track,
#content[data-page="ishikawa-5porques"]::-webkit-scrollbar-track,
#content[data-page="cinco-porques"]::-webkit-scrollbar-track,
#content[data-page="5porques"]::-webkit-scrollbar-track,
.ishikawa-page::-webkit-scrollbar-track,
.ishikawa-detail-page::-webkit-scrollbar-track,
.qualidade-metodologia-page::-webkit-scrollbar-track {
  background: transparent !important;
}

/* Remoção de max-height e overflow forçado nos cards do Ishikawa e formulários de metodologias */
#content[data-page="ishikawa"] .table-card,
#content[data-page="ishikawa-5porques"] .table-card,
#content[data-page="ishikawa-6m"] .table-card,
#content[data-page="cinco-porques"] .table-card,
#content[data-page="5-porques"] .table-card,
#content[data-page="5porques"] .table-card,
#content[data-page="5w2h"] .table-card,
#content[data-page="matriz-5w2h"] .table-card,
#content[data-page="a3"] .table-card,
.ishikawa-page .table-card,
.ishikawa-detail-page .table-card,
.a3-page .table-card,
.a3-detail-page .table-card,
.qualidade-metodologia-page .table-card {
  max-height: none !important;
  overflow: visible !important;
  min-height: auto !important;
}

/* ===== BLINDAGEM DOS MODAIS DE 5W2H (CRIAÇÃO, EDIÇÃO & FICHA EXECUTIVA) ===== */
#modalPlano5W2H,
#modalFicha5W2H {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100020 !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0, 0, 0, 0.65) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  padding: 20px !important;
}

#modalPlano5W2H.open,
#modalFicha5W2H.open {
  display: flex !important;
}

#modalPlano5W2H .modal,
#modalFicha5W2H .modal {
  background: var(--card-bg) !important;
  color: var(--text-main) !important;
  border: 1px solid var(--border) !important;
  border-radius: 16px !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45) !important;
}

/* ===== Lupa e Busca Rápida de Módulos no Menu Lateral ===== */
.menu-search-toggle {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--text-sub);
  transition: background .15s, color .15s;
}
.menu-search-toggle:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-main);
}
.menu-search-toggle.active {
  background: rgba(34, 197, 94, 0.15);
  color: var(--sidebar-active);
}
.sidebar-search-container input:focus {
  border-color: var(--sidebar-active) !important;
  box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2) !important;
}

/* ===== TRIO DE AÇÕES APPLE NO TOPBAR (NOTIFICAÇÃO, ALERTA, MENSAGEM) ===== */
.topbar-action-trio {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-left: 2px;
  margin-right: 2px;
}

.icon-btn.tb-btn-apple {
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  background: var(--card-bg-2, rgba(255, 255, 255, 0.05)) !important;
  border: 1px solid var(--border) !important;
  color: var(--text-sub) !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.icon-btn.tb-btn-apple:hover {
  background: var(--surface-hover, rgba(255, 255, 255, 0.12)) !important;
  color: var(--text-main) !important;
  transform: translateY(-1px) scale(1.04) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

.icon-btn.tb-btn-apple:active {
  transform: scale(0.95) !important;
}

.icon-btn.tb-btn-apple svg {
  width: 18px !important;
  height: 18px !important;
  stroke-width: 1.8 !important;
  transition: transform 0.15s ease;
}

.icon-btn.tb-btn-apple:hover svg {
  transform: scale(1.05);
}

.icon-btn.tb-btn-apple .tb-apple-badge {
  position: absolute !important;
  top: -4px !important;
  right: -4px !important;
  min-width: 17px !important;
  height: 17px !important;
  padding: 0 4px !important;
  border-radius: 9px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #ff453a, #ff3b30) !important;
  border: 1.5px solid var(--card-bg, #ffffff) !important;
  box-shadow: 0 2px 6px rgba(255, 59, 48, 0.35) !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

/* ===== BOTÕES DE ACESSO RÁPIDO INLINE (LOGIN SCREEN) ===== */
.btn-quick-login {
  background: var(--card-bg-2, rgba(255, 255, 255, 0.85));
  border: 1px solid var(--border, rgba(0, 0, 0, 0.1));
  border-radius: 9999px;
  padding: 5px 11px;
  color: var(--text-main, #374151);
  font-size: 11.5px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  user-select: none;
}
.btn-quick-login svg {
  flex-shrink: 0;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.btn-quick-login:hover {
  background: var(--card-bg, #ffffff);
  border-color: #10b981;
  color: #10b981;
  transform: translateY(-1.5px) scale(1.02);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.15);
}
.btn-quick-login:hover svg {
  transform: scale(1.15);
}
.btn-quick-login.active {
  background: rgba(16, 185, 129, 0.12);
  border-color: #10b981;
  color: #10b981;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.2);
  font-weight: 700;
}
.btn-quick-login.superadmin {
  background: rgba(245, 158, 11, 0.08);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: #d97706;
  font-weight: 700;
}
.btn-quick-login.superadmin:hover {
  background: rgba(245, 158, 11, 0.16);
  border-color: #d97706;
  color: #b45309;
  transform: translateY(-1.5px) scale(1.02);
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.18);
}
.btn-quick-login.superadmin.active {
  background: rgba(245, 158, 11, 0.2);
  border-color: #d97706;
  color: #b45309;
}

/* ===== SUPER ADMIN TABS & TELEMETRIA CSS ===== */
.superadmin-tab-btn {
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
  opacity: 0.72;
  border-bottom: 2.5px solid transparent !important;
}
.superadmin-tab-btn:hover {
  opacity: 1;
  background: var(--card-bg-2, rgba(0,0,0,0.04)) !important;
}
.superadmin-tab-btn.active {
  opacity: 1 !important;
  color: #10b981 !important;
  background: var(--card-bg-2, rgba(16,185,129,0.06)) !important;
  border-bottom: 2.5px solid #10b981 !important;
}
.superadmin-tab-btn.active svg {
  color: #10b981;
}

/* ===== SUPER ADMIN TABELA DE CLIENTES: EXPANSÃO VERTICAL & ACABAMENTO ENTERPRISE ===== */
.superadmin-table-card {
  min-height: calc(100dvh - 310px) !important;
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 24px !important;
  background: var(--card-bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: 0 1px 3px var(--shadow-1) !important;
  overflow: visible !important;
}

.superadmin-table-responsive {
  width: 100%;
  flex: 1 1 auto;
  overflow-x: auto;
  overflow-y: visible;
}

.superadmin-table-card .data-table {
  width: 100%;
  border-collapse: collapse;
}

.superadmin-table-card .data-table th,
.superadmin-table-card .data-table td {
  padding: 12px 14px;
}

/* Menu de Ações de Linha do Super Admin com Blindagem Anti-Corte */
.row-action-menu {
  min-width: 230px !important;
  max-width: 290px !important;
  max-height: calc(100vh - 24px) !important;
  overflow-y: auto !important;
  scrollbar-width: thin !important;
  background: var(--card-bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 36px rgba(0,0,0,0.38) !important;
  z-index: 99999 !important;
}

.row-action-menu.dropup {
  box-shadow: 0 -12px 32px rgba(0,0,0,0.38) !important;
}


/* ===== RESPONSIVIDADE UNIVERSAL & ADAPTAÇÃO TOTAL À TELA (ZERO CORTES VISUAIS) ===== */
.topbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  padding: 0 18px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 90 !important;
}

.topbar-left {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
}

.breadcrumb {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13.5px !important;
  color: var(--text-sub) !important;
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.breadcrumb b {
  color: var(--text-main) !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.breadcrumb .sep {
  color: var(--border) !important;
  flex-shrink: 0 !important;
  padding: 0 2px !important;
}

#crumbSlot {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
  display: inline-block !important;
  color: var(--text-main) !important;
  font-weight: 600 !important;
}

.tb-right {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
}

/* Telas Médias / Laptops (<= 1440px) */
@media (max-width: 1440px) {
  .btn-topbar-install-pwa span {
    display: none !important;
  }
  .btn-topbar-install-pwa {
    padding: 6px 8px !important;
  }
}

/* Telas Compactas / Notebooks Standard (<= 1280px) */
@media (max-width: 1280px) {
  .sync-status-badge span:not(.sync-dot) {
    display: none !important;
  }
  .sync-status-badge {
    padding: 6px 8px !important;
    gap: 0 !important;
  }
  #topbarMascotPill {
    display: none !important;
  }
  .tenant-pill span#tenantPillSlot {
    max-width: 90px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

/* Tablets / Telas Estreitas (<= 1024px) */
@media (max-width: 1024px) {
  .topbar-theme-swatches {
    display: none !important;
  }
  .topbar-theme-selector {
    padding: 2px !important;
    border-radius: 8px !important;
  }
  #content,
  .content {
    padding: 14px 16px 24px !important;
  }
}

/* Mobile / Telas Pequenas (<= 768px) */
@media (max-width: 768px) {
  .sidebar {
    transform: translateX(-100%) !important;
    z-index: 9999 !important;
    box-shadow: 0 0 24px rgba(0,0,0,0.3) !important;
  }
  body.sidebar-open .sidebar {
    transform: translateX(0) !important;
  }
  .main {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .breadcrumb b, .breadcrumb .sep {
    display: none !important;
  }
  #tenantSwitcherWrapper {
    display: none !important;
  }
}

/* ======================================================================
 * PADRÃO UNIVERSAL APPLE PARA INPUTS, SELECTS E TEXTAREAS EM FORMS E MODAIS
 * Garante que todos os campos de formulário editáveis tenham fundo claro e nítido
 * ====================================================================== */
.modal input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="file"]):not([disabled]):not([readonly]),
.modal select:not([disabled]):not([readonly]),
.modal textarea:not([disabled]):not([readonly]),
.form-field input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="file"]):not([disabled]):not([readonly]),
.form-field select:not([disabled]):not([readonly]),
.form-field textarea:not([disabled]):not([readonly]),
.app-dialog-modal input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="file"]):not([disabled]):not([readonly]),
.app-dialog-modal select:not([disabled]):not([readonly]),
.app-dialog-modal textarea:not([disabled]):not([readonly]),
.drawer-body input:not([type="checkbox"]):not([type="radio"]):not([disabled]):not([readonly]),
.drawer-body select:not([disabled]):not([readonly]),
.drawer-body textarea:not([disabled]):not([readonly]) {
  background: var(--card-bg, #ffffff) !important;
  color: var(--text-main, #1d1d1f) !important;
  border: 1px solid var(--border, rgba(0, 0, 0, 0.12)) !important;
}

.modal input:not([type="checkbox"]):not([type="radio"]):not([disabled]):not([readonly]):focus,
.modal select:not([disabled]):not([readonly]):focus,
.modal textarea:not([disabled]):not([readonly]):focus,
.form-field input:not([type="checkbox"]):not([type="radio"]):not([disabled]):not([readonly]):focus,
.form-field select:not([disabled]):not([readonly]):focus,
.form-field textarea:not([disabled]):not([readonly]):focus,
.app-dialog-modal input:not([type="checkbox"]):not([type="radio"]):not([disabled]):not([readonly]):focus,
.app-dialog-modal select:not([disabled]):not([readonly]):focus,
.app-dialog-modal textarea:not([disabled]):not([readonly]):focus {
  border-color: var(--sidebar-active, #22c55e) !important;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.14) !important;
  outline: none !important;
}

/* Campos explicitamente desabilitados ou somente leitura */
.modal input:disabled,
.modal select:disabled,
.modal textarea:disabled,
.form-field input:disabled,
.form-field select:disabled,
.form-field textarea:disabled,
.app-dialog-modal input:disabled,
.app-dialog-modal select:disabled,
.app-dialog-modal textarea:disabled,
input:disabled,
select:disabled,
textarea:disabled,
input[readonly],
textarea[readonly] {
  background: var(--card-bg-2, #f2f2f7) !important;
  color: var(--text-sub, #86868b) !important;
  border-color: var(--border, rgba(0, 0, 0, 0.08)) !important;
  opacity: 0.72 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

/* ===== REMOÇÃO GLOBAL ABSOLUTA DE BOLINHAS, BULLETS, PONTINHOS E ÍCONES EM STATUS / ORIGEM / SEVERIDADE / PRIORIDADE ===== */
.status-badge::before,
.status-badge::after,
.priority-badge::before,
.priority-badge::after,
.hover-colored-badge::before,
.hover-colored-badge::after,
.type-pill::before,
.type-pill::after,
.badge::before,
.badge::after,
.dot::before,
.dot::after,
[class*="origem-"]::before,
[class*="origem-"]::after,
[class*="sev-"]::before,
[class*="sev-"]::after,
[class*="status-"]::before,
[class*="status-"]::after,
[class*="classif-"]::before,
[class*="classif-"]::after,
[class*="cat-"]::before,
[class*="cat-"]::after,
[class*="risk-"]::before,
[class*="risk-"]::after,
.risk-critico::before,
.risk-critico::after,
.risk-alto::before,
.risk-alto::after,
.risk-medio::before,
.risk-medio::after,
.risk-baixo::before,
.risk-baixo::after,
.swot-item-row .status-badge::before,
.swot-item-row .status-badge::after,
.perfil-badge::before,
.perfil-badge::after,
.vinculo-auditor::before,
.vinculo-auditor::after,
.data-table td span::before,
.data-table td span::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  border: none !important;
  background: transparent !important;
}

.data-table .status-badge svg,
.data-table .priority-badge svg,
.data-table .hover-colored-badge svg,
.data-table .type-pill svg,
.status-badge svg,
.priority-badge svg,
.hover-colored-badge svg,
.type-pill svg {
  display: none !important;
}

.priority-badge,
.status-badge,
.type-pill,
.hover-colored-badge {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
}

/* ===== TIPOGRAFIA MODERNA APPLE PARA INPUTS, SELECTS E TEXTAREAS (SEM FONTE MS-DOS) ===== */
input,
select,
textarea,
button {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* ===== MODAL DE CONFIGURAÇÃO DE CHECKLIST: SCROLL FLUIDO E CARDS COMPACTOS ===== */
#modalConfigChecklistAuditoria .modal-body-scroll {
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb) transparent;
}

#modalConfigChecklistAuditoria textarea {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  line-height: 1.45 !important;
}

.checklist-config-card {
  background: var(--card-bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.checklist-pergunta-card {
  background: var(--card-bg-2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  padding: 8px 10px !important;
  margin-bottom: 6px !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#modalConfigChecklistAuditoria details {
  margin-top: 4px;
}

#modalConfigChecklistAuditoria details[open] {
  margin-bottom: 4px;
}

#modalConfigChecklistAuditoria details summary {
  outline: none;
  user-select: none;
  font-size: 11px;
  color: var(--sidebar-active);
  font-weight: 600;
  cursor: pointer;
}

/* ======================================================================
   CHECKLIST EXECUTION: ACCORDION, PROGRESS & FOCUS/MAXIMIZE GROUP STYLES
   ====================================================================== */
.checklist-exec-group {
  transition: border-color .2s ease, box-shadow .2s ease;
}

.checklist-exec-group:hover {
  border-color: rgba(34, 197, 94, 0.4) !important;
}

.checklist-group-header {
  transition: background .15s ease;
}

.checklist-group-header:hover {
  background: var(--card-bg) !important;
}

.btn-maximizar-grupo {
  transition: all .2s ease;
}

.btn-maximizar-grupo:hover {
  border-color: var(--sidebar-active) !important;
  color: var(--sidebar-active) !important;
  background: rgba(34, 197, 94, 0.08) !important;
}

.checklist-group-body {
  animation: fadeInGroup .2s ease-out;
}

.btn-evidencia-obrigatoria-pulsing {
  animation: pulseEvidenciaBorder 1.8s infinite ease-in-out;
}

@keyframes pulseEvidenciaBorder {
  0% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4);
  }
  70% {
    box-shadow: 0 0 0 6px rgba(239, 68, 68, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
  }
}

.badge-evidencia-pendente {
  animation: fadeInGroup .2s ease-out;
}

.badge-evidencia-ok {
  animation: fadeInGroup .2s ease-out;
}

.badge-item-bloqueado {
  animation: fadeInGroup .2s ease-out;
  transition: all .2s ease;
}

/* ===== CARDS COMPACTOS DO PLANO DE AÇÃO & METODOLOGIAS ===== */
.pa-card-compact,
.pa-methodology-card,
.pa-analise-eficacia-container,
.pa-status-card {
  background: var(--card-bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  box-shadow: 0 1px 2px var(--shadow-1) !important;
}

/* ===== CARD 5W2H DO PLANO DE AÇÃO (LIVRE DE COMPRESSÃO VERTICAL & ROLAGEM SUAVE) ===== */
.pa-5w2h-card {
  background: var(--card-bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  min-height: auto !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  box-shadow: 0 1px 2px var(--shadow-1) !important;
}

.pa-5w2h-table-wrapper {
  width: 100% !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--scrollbar-thumb) transparent !important;
}

.pa-5w2h-table-wrapper::-webkit-scrollbar {
  height: 6px !important;
}

.pa-5w2h-table-wrapper::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb) !important;
  border-radius: 4px !important;
}

.pa-5w2h-table {
  width: 100% !important;
  min-width: 1100px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.pa-5w2h-table thead th {
  position: static !important;
  box-shadow: none !important;
}

/* ===== GESTÃO DE PESSOAS - CABEÇALHO & NAVEGAÇÃO DE ABAS (PADRÃO APP) ===== */
.rh-tabs-nav-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  width: 100%;
}

.rh-mod-tabs {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin-bottom: 0 !important;
  background: var(--card-bg-2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 9999px !important;
  padding: 4px !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  flex: 1 1 auto !important;
  overflow-x: auto !important;
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-behavior: smooth !important;
}

.rh-mod-tabs::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.rh-mod-tabs .mod-tab {
  flex-shrink: 0 !important;
  padding: 8px 18px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  border-radius: 9999px !important;
  white-space: nowrap !important;
  user-select: none !important;
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.rh-mod-tabs .mod-tab:hover {
  color: var(--text-main) !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

.rh-mod-tabs .mod-tab.active {
  background: var(--card-bg) !important;
  color: var(--text-main) !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12), inset 0 1px 0.5px rgba(255, 255, 255, 0.6) !important;
}

.rh-tab-scroll-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  border-radius: 50%;
  background: var(--card-bg-2);
  border: 1px solid var(--border);
  color: var(--text-sub);
  cursor: pointer;
  transition: all 0.18s ease;
  flex-shrink: 0;
  padding: 0;
}

.rh-tab-scroll-btn:hover {
  background: var(--card-bg);
  color: var(--text-main);
  border-color: var(--sidebar-active);
  transform: scale(1.05);
}

.rh-tab-scroll-btn:active {
  transform: scale(0.95);
}

