/* ==========================================================================
   CoNNecta Cloud - REFATORACAO DE TESTE: OLDEST-WINS
   Fonte: connecta_design_system_corrigido_v1.11.11.css
   Regra: em propriedades repetidas do mesmo seletor/contexto, a primeira
   declaracao encontrada foi preservada. Propriedades unicas posteriores
   foram mantidas. Arquivo destinado a teste comparativo.
   ========================================================================== */

/* CoNNecta Cloud — extensões visuais v1.11.1
   Esta folha complementa o style.css principal. Ela não redefine globalmente
   botões, tabelas, cards, títulos ou modais legados. */

:root {
  --cc-bg: var(--bg, #f3f4f6);
  --cc-surface: var(--panel, #ffffff);
  --cc-surface-2: var(--panel-2, #f9fafb);
  --cc-text: var(--text-color, #212529);
  --cc-muted: var(--muted, #64748b);
  --cc-line: var(--line, #e5e7eb);
  --cc-accent: var(--brand-2, #00a3a3);
  --cc-danger: var(--danger, #ef4444);
  --cc-warning: var(--warn, #f59e0b);
  --cc-success: var(--ok, #16a34a);
  --cc-radius: var(--card-radius, 12px);
  --cc-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
}

.text-muted {
  color: var(--muted) !important;
}

/* Garante que apenas a marca correspondente ao tema fique visível. */

.logo-light,
.logo-dark {
  display: none !important;
}

body.light-mode .logo-light,
.light-mode .logo-light {
  display: block !important;
}

body.light-mode .logo-dark,
.light-mode .logo-dark {
  display: none !important;
}

body.dark-mode .logo-dark,
.dark-mode .logo-dark {
  display: block !important;
}

body.dark-mode .logo-light,
.dark-mode .logo-light {
  display: none !important;
}

.login-form-content .logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-inline: auto !important;
}

.login-form-content .logo img {
  margin-inline: auto !important;
  max-width: min(100%, 270px);
  object-fit: contain;
}

.login-body-new footer,
.login-fixed-footer {
  position: fixed;
  right: 0;
  bottom: 8px;
  left: 450px;
  z-index: 3;
  pointer-events: none;
  color: white !important;
}

.login-form-content .btn-primary {
  color: var(--text-color) !important;
  background: transparent !important;
  box-shadow: 0 2px 4px #084d6ce3;
}

body.light-mode .login-form-content .btn-primary {
  border-color: #39b6f0;
}

body.dark-mode .login-form-content .btn-primary {
  border-color: var(--brand-2) !important;
  box-shadow: 0 2px 4px #0eacac;
}

.login-form-content .btn-primary:hover,
.login-form-content .btn-primary:focus {
  background: linear-gradient(
    135deg,
    rgba(32, 39, 46, 0.44),
    rgba(1, 7, 12, 0.56)
  ) !important;
}

.login-body-new .forgot {
  display: none !important;
}

.password-toggle {
  min-width: 44px;
  background: transparent !important;
  border-left: 0 !important;
  box-shadow: none !important;
}

.password-toggle:hover,
.password-toggle:focus {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.05) !important;
  transform: none !important;
}

/* Tela intermediária após o login. */

html:has(body.connecta-loading-page),
body.connecta-loading-page {
  min-height: 100%;
}

body.connecta-loading-page {
  margin: 0;
  overflow: hidden;
  background: #1a2a47 !important;
  color: #fff;
}

.connecta-loading-screen {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 24px;
}

.connecta-loading-message {
  margin: 0;
  color: #fff !important;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-align: center;
}

/* Loader do carregamento inicial do painel. */

#connectaInitLoader {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 14px;
  padding: 24px;
  color: var(--text-color);
  background: color-mix(in srgb, var(--bg) 94%, transparent);
  backdrop-filter: blur(4px);
}

#connectaInitLoader.is-visible {
  display: flex;
}

.cc-loader-ring {
  width: 54px;
  height: 54px;
  border: 4px solid color-mix(in srgb, var(--line) 80%, transparent);
  border-top-color: var(--brand-2);
  border-radius: 50%;
  animation: cc-spin 0.8s linear infinite;
}

@keyframes cc-spin {
  to {
    transform: rotate(360deg);
  }
}

/* Diálogo próprio do sistema. Não compartilha a classe .modal do Bootstrap. */

.cc-system-dialog {
  position: fixed;
  inset: 0;
  z-index: 21000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(2, 8, 18, 0.72);
  backdrop-filter: blur(5px);
}

.cc-system-dialog.is-open {
  display: flex;
}

.cc-system-dialog[aria-hidden="true"] {
  display: none !important;
}

.cc-system-dialog__panel {
  width: min(94vw, 620px);
  max-height: 90vh;
  overflow: auto;
  color: var(--text-color);
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--card-radius);
  box-shadow: var(--cc-shadow);
}

.cc-system-dialog__header,
.cc-system-dialog__footer {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
}

.cc-system-dialog__header {
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}

.cc-system-dialog__footer {
  justify-content: flex-end;
  border-top: 1px solid var(--line);
}

.cc-system-dialog__title {
  margin: 0;
  color: var(--text-color);
  font-size: 1rem;
  font-weight: 600;
  text-align: left;
}

.cc-system-dialog__body {
  padding: 18px 16px;
}

.cc-system-dialog__message {
  color: var(--text-color);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.cc-system-dialog__input-wrap {
  margin-top: 14px;
}

.cc-system-dialog [hidden] {
  display: none !important;
}

.cc-system-dialog__close {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: var(--text-color);
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: none;
}

.cc-system-dialog__close:hover {
  transform: none;
  border-color: var(--brand-2);
}

/* O menu preserva a tipografia original, sem negrito excessivo. */

/* Tabelas de dados do painel sem herdar o visual padrão do Bootstrap. */

.connecta-data-table {
  width: 100%;
  margin: 0;
  color: var(--text-color);
  background: transparent;
  border-collapse: collapse;
  border-spacing: 0;
}

.connecta-data-table thead {
  background: var(--panel-2);
}

.connecta-data-table th,
.connecta-data-table td {
  padding: 9px 8px;
  color: var(--text-color) !important;
  background: transparent !important;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
  border: 0 !important;
  font-size: 0.7rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.connecta-data-table th {
  color: var(--muted) !important;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
  background: color-mix(in srgb, var(--panel-2) 72%, transparent) !important;
}

.connecta-data-table tbody tr {
  transition: background-color 0.16s ease;
}

.connecta-data-table tbody tr:nth-child(even) {
  background: color-mix(in srgb, var(--panel-2) 48%, transparent);
}

.connecta-data-table tbody tr:hover {
  background: var(--panel-2);
}

.connecta-data-table--compact th,
.connecta-data-table--compact td {
  padding: 7px 6px;
}

/* Componentes exclusivos das novas funções de usuários e acesso. */

.cc-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
}

.cc-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 9px;
}

.cc-checkbox-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  color: var(--text-color);
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 9px;
}

.cc-checkbox-item input {
  width: auto !important;
  margin: 0;
}

/* Tabela própria, independente das cores padrão do Bootstrap. */

.connecta-table-wrap {
  overflow: auto;
  max-height: min(62vh, 680px);
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
}

.connecta-theme-table {
  width: 100%;
  min-width: 980px;
  margin: 0;
  color: var(--text-color);
  background: transparent;
  border-collapse: collapse;
  table-layout: auto;
}

.connecta-theme-table thead {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--panel-2);
}

.connecta-theme-table th,
.connecta-theme-table td {
  padding: 10px 12px;
  color: var(--text-color) !important;
  background: transparent !important;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

.connecta-theme-table th {
  font-size: 0.72rem;
  font-weight: 600;
  white-space: nowrap;
}

.connecta-theme-table td {
  font-size: 0.75rem;
}

.connecta-theme-table tbody tr:hover td {
  background: color-mix(in srgb, var(--panel-2) 74%, transparent) !important;
}

.connecta-theme-table code,
.connecta-theme-table .text-muted,
.connecta-theme-table small {
  color: var(--muted) !important;
}

.connecta-access-history-modal .modal-content-user {
  width: min(94vw, 1180px) !important;
  max-width: 1180px !important;
  max-height: 90vh;
  margin: 4vh auto !important;
  overflow: auto;
}

/* Downloads em grade legível, sem cartões espremidos. */

.download-app-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr));
  gap: 16px;
}

.download-app-card {
  display: flex;
  min-width: 0;
  min-height: 270px;
  flex-direction: column;
}

.download-app-card .download-app-icon {
  margin-bottom: 14px;
  color: var(--brand-2);
  font-size: 2rem;
}

.download-app-card .form-select {
  width: 100% !important;
}

.download-app-card .btn {
  width: 100%;
  margin-top: auto;
}

/* Ações compactas da tabela ODIN. */

.odin-actions-compact {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  white-space: nowrap;
}

.odin-more-actions {
  position: relative;
}

.odin-more-actions > summary {
  display: inline-flex;
  min-width: 36px;
  align-items: center;
  justify-content: center;
  list-style: none;
}

.odin-more-actions > summary::-webkit-details-marker {
  display: none;
}

.odin-more-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 100;
  display: grid;
  width: 200px;
  gap: 6px;
  padding: 10px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: var(--cc-shadow);
  max-height: min(420px, 65vh);
  overflow-y: auto;
}

.odin-more-menu .btn {
  width: 100%;
  justify-content: flex-start;
  text-align: left;
}

/* Transição suave apenas em valores explicitamente marcados. */

[data-radar-value],
.radar-value,
.update-radar-value {
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.cc-value-updating {
  opacity: 0.42;
  transform: translateY(2px);
}

/* Aviso de falha do Tactical/ODIN sem destruir o conteúdo da seção. */

.connecta-data-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  padding: 10px 12px;
  color: var(--text-color);
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-left: 3px solid var(--warn);
  border-radius: 9px;
}

.connecta-data-status.is-error {
  border-left-color: var(--danger);
}

.connecta-data-status.is-success {
  border-left-color: var(--ok);
}

.connecta-data-status__text {
  min-width: 0;
  overflow-wrap: anywhere;
}

.connecta-report-table {
  width: 100%;
  margin: 0;
  color: var(--text-color);
  background: transparent;
  border-collapse: collapse;
  min-width: 0;
  table-layout: auto;
}

.connecta-report-table th,
.connecta-report-table td {
  padding: 7px 8px;
  color: var(--text-color) !important;
  background: transparent !important;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
  border: 0 !important;
  font-size: 0.72rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.connecta-report-table th {
  color: var(--muted) !important;
  background: var(--panel-2) !important;
  font-size: 0.72rem;
  font-weight: 600;
  white-space: nowrap;
}

.connecta-report-table tbody tr:nth-child(even) {
  background: color-mix(in srgb, var(--panel-2) 48%, transparent);
}

/* Ajustes dos relatórios sem redefinir o tema da aplicação inteira. */

.dashboard-body #loading-message,
.hse-body .connecta-inline-message {
  color: var(--text-color) !important;
  background: transparent !important;
  border-color: var(--line) !important;
}

.hse-body .report-area-hse {
  display: grid;
  gap: 24px;
}

.hse-body .report-instance {
  max-height: none !important;
  overflow: visible !important;
  width: 100%;
  color: var(--text-color);
  background-image: none !important;
  box-shadow: none;
}

@media (max-width: 900px) {
}

@media (max-width: 768px) {
  .login-body-new footer,
  .login-fixed-footer {
    left: 0;
  }

  .cc-dialog-actions,
  .cc-system-dialog__footer,
  .connecta-data-status {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .cc-dialog-actions .btn,
  .cc-system-dialog__footer .btn,
  .connecta-data-status .btn {
    width: 100%;
  }
}

/* Impressão: força visual claro somente durante a impressão. */

@media print {
  @page {
    margin: 10mm;
  }

  html,
  body,
  body.light-mode,
  body.dark-mode {
    background: #fff !important;
    color: #111827 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    overflow: visible !important;
  }

  body * {
    text-shadow: none !important;
    box-shadow: none !important;
  }

  body h1,
  body h2,
  body h3,
  body h4,
  body h5,
  body h6,
  body p,
  body span,
  body label,
  body td,
  body th,
  body li,
  body small,
  body strong {
    color: #111827 !important;
  }

  .sidebar,
  .no-print,
  .theme-toggle,
  .toggle-theme,
  #connectaInitLoader,
  .cc-system-dialog,
  button,
  .btn {
    display: none !important;
  }

  .layout,
  main,
  .content,
  .panel,
  .card,
  .section,
  .report-card,
  .report-instance,
  .card-hse,
  .table-responsive,
  .table-scroll,
  [style*="overflow"] {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    color: #111827 !important;
    background: #fff !important;
    background-image: none !important;
    border-color: #cfd4dc !important;
  }

  table,
  .connecta-theme-table {
    width: 100% !important;
    min-width: 0 !important;
    color: #111827 !important;
    background: #fff !important;
    border-collapse: collapse !important;
  }

  thead {
    display: table-header-group !important;
    background: #f3f4f6 !important;
  }

  tr,
  .panel,
  .card,
  .card-hse {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  td,
  th {
    color: #111827 !important;
    background: #fff !important;
    border-color: #cfd4dc !important;
  }

  canvas,
  svg,
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  ::-webkit-scrollbar {
    display: none !important;
  }
}

/* ========================================================================== 
   CoNNecta Cloud v1.11.2 — Ajustes Parte 2
   Regras complementares, escopadas e baseadas no style.css original.
   ========================================================================== */

/* Botão padrão: mesma linguagem visual do menu e do botão de login. */

.btn-connecta-ghost,
.content .btn:not(.btn-close),
.dashboard-body .btn:not(.btn-close),
.hse-body .btn-hse,
.hse-body .btn:not(.btn-close),
#view-snc .snc-btn,
#view-snc-report .snc-btn,
#view-tools-report .snc-btn {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 12px;
  color: var(--text-color) !important;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--panel-2) 58%, transparent),
    color-mix(in srgb, var(--bg) 36%, transparent)
  ) !important;
  border: 1px solid color-mix(in srgb, var(--brand-2) 72%, var(--line)) !important;
  border-radius: 9px !important;
  box-shadow: 0 3px 10px -7px
    color-mix(in srgb, var(--brand-2) 70%, transparent) !important;
  font-family: "Segoe UI", sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  line-height: 1.2;
  text-decoration: none !important;
  transform: none;
  transition:
    border-color 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease,
    color 0.18s ease !important;
}

.btn-connecta-ghost:hover,
.btn-connecta-ghost:focus-visible,
.content .btn:not(.btn-close):hover,
.content .btn:not(.btn-close):focus-visible,
.dashboard-body .btn:not(.btn-close):hover,
.dashboard-body .btn:not(.btn-close):focus-visible,
.hse-body .btn-hse:hover,
.hse-body .btn-hse:focus-visible,
.hse-body .btn:not(.btn-close):hover,
.hse-body .btn:not(.btn-close):focus-visible,
#view-snc .snc-btn:hover,
#view-snc-report .snc-btn:hover,
#view-tools-report .snc-btn:hover {
  color: var(--text-color) !important;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--brand) 24%, var(--panel-2)),
    color-mix(in srgb, var(--brand-2) 18%, var(--bg))
  ) !important;
  border-color: var(--brand-2) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-2) 16%, transparent) !important;
  transform: none !important;
}

.btn-connecta-ghost:disabled,
.content .btn:disabled,
.dashboard-body .btn:disabled,
.hse-body .btn-hse:disabled {
  opacity: 0.48 !important;
  cursor: not-allowed !important;
}

.connecta-danger-action,
.content .connecta-danger-action {
  color: var(--danger) !important;
  border-color: color-mix(in srgb, var(--danger) 68%, var(--line)) !important;
  background: color-mix(in srgb, var(--danger) 8%, transparent) !important;
}

/* Cabeçalho padrão dos relatórios e módulos. */

.connecta-report-header,
.connecta-module-header {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 0 14px;
  background: transparent !important;
  border: 0 !important;
}

.connecta-report-header > .col-12,
.connecta-report-header .justify-content-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.connecta-report-header .logo,
.connecta-module-brand {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 16px;
}

.connecta-report-header .logo img,
.connecta-module-brand img {
  width: auto;
  height: 42px;
  max-width: 150px;
  object-fit: contain;
}

.connecta-report-header .title,
.connecta-module-brand h2 {
  margin: 0;
  color: var(--text-color);
  font-size: 1.03rem;
  font-weight: 650;
  letter-spacing: 0.01em;
}

.connecta-report-header .small,
.connecta-module-brand p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 0.72rem;
}

.connecta-module-header-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.connecta-inline-message,
.dashboard-body #loading-message,
.hse-body #loading-message {
  padding: 12px 14px !important;
  color: var(--text-color) !important;
  background: transparent !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
}

.connecta-inline-message h4,
.dashboard-body #loading-message h4,
.hse-body #loading-message h4 {
  margin: 0;
  font-size: 0.94rem;
  font-weight: 600;
}

.connecta-inline-message p,
.dashboard-body #loading-message p,
.hse-body #loading-message p {
  margin: 4px 0 0;
  color: var(--muted) !important;
  font-size: 0.72rem;
}

/* RDD: resumo, cartões, gráficos e tabelas sem visual Bootstrap. */

.report-summary-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.report-summary-grid-secondary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 10px;
}

.report-summary-item {
  min-width: 0;
  padding: 12px 10px;
  text-align: center;
  background: transparent;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.report-summary-item span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 0.68rem;
}

.report-summary-item strong {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--text-color);
  font-size: 0.76rem;
  font-weight: 650;
}

.connecta-report-card,
.dashboard-body .connecta-report-card,
.hse-body .connecta-report-card {
  color: var(--text-color);
  background: transparent !important;
  background-image: none !important;
  border: 1px solid var(--line) !important;
  border-radius: 11px !important;
  box-shadow: none !important;
}

.connecta-report-card-title,
.hse-body .connecta-report-card-title,
.hse-chart-title {
  margin: 0 0 12px !important;
  padding: 0 0 9px !important;
  color: var(--text-color) !important;
  border-bottom: 1px solid var(--line) !important;
  font-size: 0.9rem !important;
  font-weight: 650 !important;
  text-align: center;
}

.connecta-report-table-wrap,
.dashboard-body .table-responsive,
.hse-body .connecta-report-table-wrap {
  width: 100%;
  max-height: none;
  overflow-x: auto;
  overflow-y: visible;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.connecta-report-table tbody tr:last-child td {
  border-bottom: 0 !important;
}

.connecta-health-status {
  color: var(--text-color);
  font-weight: 650;
}

.dashboard-body .disk-chart-caption {
  margin-top: -4px;
  color: var(--text-color);
  font-size: 0.72rem;
  text-align: center;
}

.dashboard-body .gauge-container-3d,
.hse-body .gauge-container-3d {
  min-height: 150px;
}

/* HSE: uma página visual por coleta, sem blocos cortados. */

.hse-body .controls-hse {
  grid-template-columns: repeat(6, minmax(145px, 1fr));
}

.hse-body .controls-hse .col,
.hse-body .generate-hse {
  min-width: 0;
  margin: 0;
}

.hse-body .generate-hse .btn-hse {
  width: 100%;
}

.hse-body .blk {
  min-height: 43px;
  color: var(--text-color);
}

.hse-report-title {
  display: grid !important;
  grid-template-columns: 1fr auto;
  gap: 3px 20px;
  align-items: start !important;
  padding-bottom: 12px !important;
  text-align: left;
}

.hse-report-brand,
.hse-report-description {
  grid-column: 1 / -1;
  text-align: center;
}

.hse-report-brand {
  color: var(--text-color);
  font-size: 1rem;
  font-weight: 650;
}

.hse-report-description {
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.72rem;
}

.hse-report-title h2 {
  margin: 0 !important;
  color: var(--text-color) !important;
  font-size: 0.95rem !important;
}

.hse-body .grid-4 {
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.hse-body .metric {
  min-width: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.hse-body .metric .value {
  overflow-wrap: anywhere;
  color: var(--text-color);
  font-size: 0.73rem;
}

.hse-body .chart-wrap {
  min-width: 0;
  border: 1px solid var(--line);
}

.hse-body .connecta-report-table-wrap {
  max-height: none !important;
  overflow: visible !important;
}

/* VeloXX: cabeçalho e grade seguem o RDD. */

.velox-page .connecta-report-card,
.velox-page .card {
  background-image: none !important;
}

.velox-page .cards-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 !important;
}

.velox-page .cards-grid > * {
  min-width: 0;
  width: auto !important;
  max-width: none !important;
}

.velox-page .velox-status,
.velox-page .chart-wrap,
.velox-page .card {
  border-color: var(--line) !important;
  box-shadow: none !important;
}

.velox-page .velox-gauge-value,
.velox-page .gauge-value,
.velox-page [data-gauge-value] {
  color: var(--text-color) !important;
}

/* ODIN novo: mantém filtros/ações existentes, com cabeçalho e tabela compactos. */

.connecta-odin-page {
  max-width: 1500px;
  margin-inline: auto;
  width: 100% !important;
}

.connecta-odin-header {
  max-width: 1120px;
  margin-inline: auto;
}

.connecta-odin-page .connecta-module-brand img {
  height: 38px;
}

.connecta-table-shell {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.connecta-data-table,
.connecta-odin-table {
  width: 100%;
  min-width: 1000px;
  color: var(--text-color);
  background: transparent;
  border-collapse: collapse;
  table-layout: fixed;
}

.connecta-data-table tbody tr:last-child td {
  border-bottom: 0 !important;
}

.connecta-cell-strong {
  font-weight: 650;
}

.connecta-cell-date {
  font-variant-numeric: tabular-nums;
}

.connecta-actions-cell {
  overflow: visible !important;
  text-align: right;
}

.connecta-table-empty {
  padding: 24px !important;
  color: var(--muted) !important;
  text-align: center;
}

.connecta-table-error {
  color: var(--danger) !important;
}

.connecta-status-stack {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 2px;
  margin-left: -3px;
}

.connecta-status-pill {
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  padding: 3px 7px;
  color: var(--text-color);
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 600;
  white-space: nowrap;
}

.connecta-status-pill.is-online,
.connecta-status-pill.is-linked,
.connecta-status-pill.is-enabled {
  border-color: color-mix(in srgb, var(--ok) 60%, var(--line));
}

.connecta-status-pill.is-offline,
.connecta-status-pill.is-unlinked,
.connecta-status-pill.is-disabled {
  color: var(--muted);
}

.odin-access-button {
  min-width: 82px;
}

.odin-more-actions[open] {
  z-index: 150;
}

/* SNC: paginação sempre visível após selecionar a quantidade. */

.snc-pagination-controls-v067,
.snc-pagination-controls-v076 {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 7px;
}

.snc-overview-per-page-label-v076 {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 0.68rem;
}

#snc-overview-per-page {
  min-width: 68px;
  color: var(--text-color);
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px 8px;
}

/* Responsividade dos novos blocos. */

@media (max-width: 1180px) {
  .report-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .report-summary-grid-secondary,
  .hse-body .blocks-hse {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hse-body .controls-hse {
    grid-template-columns: repeat(3, minmax(145px, 1fr));
  }

  .hse-body .grid-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .connecta-report-header,
  .connecta-module-header,
  .connecta-report-header > .col-12,
  .connecta-report-header .justify-content-between {
    align-items: stretch;
    flex-direction: column;
  }

  .connecta-module-header-actions,
  .connecta-module-header-actions .btn {
    width: 100%;
  }

  .report-summary-grid,
  .report-summary-grid-secondary,
  .hse-body .blocks-hse,
  .hse-body .controls-hse,
  .hse-body .grid-4,
  .hse-body .charts-hse,
  .velox-page .cards-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Impressão profissional: sempre tema claro, sem gradientes ou rolagens. */

@media print {
  @page {
    size: A4 portrait;
    margin: 9mm;
  }

  html,
  body,
  body.light-mode,
  body.dark-mode,
  .dashboard-body,
  .hse-body,
  .velox-page {
    width: 100% !important;
    margin: 0 !important;
    zoom: 1 !important;
    color: #111827 !important;
    background: #fff !important;
    background-image: none !important;
    overflow: visible !important;
  }

  .connecta-report-header {
    display: flex !important;
    padding: 0 0 7mm !important;
  }

  .connecta-report-header .logo-dark,
  .connecta-module-header .logo-dark {
    display: none !important;
  }

  .connecta-report-header .logo-light,
  .connecta-module-header .logo-light {
    display: block !important;
  }

  .connecta-report-card,
  .report-instance,
  .card-hse,
  .metric,
  .chart-wrap,
  .report-summary-item,
  .connecta-report-table-wrap,
  .table-responsive,
  .table-scroll {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    color: #111827 !important;
    background: #fff !important;
    background-image: none !important;
    border-color: #cbd5e1 !important;
    box-shadow: none !important;
  }

  .connecta-report-card,
  .report-instance,
  .card-hse,
  .chart-wrap {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .hse-report-page {
    break-before: page;
    page-break-before: always;
  }

  .hse-report-page:first-child {
    break-before: auto;
    page-break-before: auto;
  }

  .connecta-report-table,
  .connecta-report-table thead,
  .connecta-report-table tbody,
  .connecta-report-table tr,
  .connecta-report-table th,
  .connecta-report-table td {
    color: #111827 !important;
    background: #fff !important;
    background-image: none !important;
  }

  .connecta-report-table thead {
    display: table-header-group !important;
  }

  .connecta-report-table th {
    background: #f3f4f6 !important;
  }

  .connecta-report-table tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .report-summary-grid,
  .report-summary-grid-secondary,
  .hse-body .grid-4 {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  .report-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .dashboard-body .chart-container,
  .dashboard-body .gauge-container-3d,
  .hse-body .line-chart-container,
  .hse-body .gauge-container-3d {
    height: 155px !important;
    min-height: 155px !important;
  }

  .no-print,
  .actions,
  #filtros-container,
  .panel-hse,
  #loading-message,
  .connecta-module-header-actions,
  .odin-more-menu {
    display: none !important;
  }
}

.connecta-empty-message,
.connecta-error-message,
.connecta-inline-message-danger {
  padding: 10px 12px;
  color: var(--muted);
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 0.72rem;
}

.connecta-error-message,
.connecta-inline-message-danger {
  color: var(--danger) !important;
  border-color: color-mix(in srgb, var(--danger) 52%, var(--line)) !important;
}

.connecta-subsection-title {
  color: var(--text-color);
  border-top: 1px solid var(--line);
  font-size: 0.78rem;
  font-weight: 650;
  text-align: center;
}

@media (min-width: 1181px) {
  .hse-body .controls-hse {
    grid-template-columns: repeat(6, minmax(130px, 1fr)) minmax(125px, 0.8fr);
  }
}

/* Relatórios incorporados no painel usam o fundo e o tema da janela pai. */

/* ======================================================
   CoNNecta Cloud v1.11.4 - relatórios e tabela ODIN
   ====================================================== */

/* O iframe standalone recebe fundo próprio. No painel, continua incorporado
   na seção de conteúdo e acompanha o tema enviado pela janela principal. */

html.connecta-report-standalone-document,
html.connecta-report-standalone-document body.connecta-report-standalone-frame {
  min-height: 100%;
  min-width: 100%;
}

html.connecta-report-standalone-document:has(body.light-mode),
body.connecta-report-standalone-frame.light-mode {
  color-scheme: light;
  background: #f8fafc !important;
  background-color: #f8fafc !important;
  color: #111827 !important;
}

html.connecta-report-standalone-document:has(body.dark-mode),
body.connecta-report-standalone-frame.dark-mode {
  color-scheme: dark;
  background: linear-gradient(180deg, var(--panel-2), var(--bg) 70%) !important;
  background-color: var(--bg) !important;
  color: var(--text-color) !important;
}

body.connecta-report-standalone-window.light-mode,
body.connecta-report-standalone-window.light-mode #connecta-content-wrapper,
body.connecta-report-standalone-window.light-mode #connecta-content {
  background: #f8fafc !important;
  background-color: #f8fafc !important;
}

body.connecta-report-standalone-window.dark-mode,
body.connecta-report-standalone-window.dark-mode #connecta-content-wrapper,
body.connecta-report-standalone-window.dark-mode #connecta-content {
  background: linear-gradient(180deg, var(--panel-2), var(--bg) 70%) !important;
  background-color: var(--bg) !important;
}

/* Tabela do acesso remoto ODIN: cabe na largura da seção, sem barra horizontal. */

.connecta-odin-table-panel,
.connecta-odin-table-shell {
  position: relative;
  overflow: visible !important;
  width: 100% !important;
}

.connecta-odin-table-shell {
  width: 100%;
  max-width: 100%;
}

.connecta-odin-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}

.connecta-odin-table th,
.connecta-odin-table td {
  padding-right: 7px !important;
  padding-left: 7px !important;
}

.connecta-odin-table th:nth-child(1),
.connecta-odin-table td:nth-child(1) {
  width: 13%;
}

.connecta-odin-table th:nth-child(2),
.connecta-odin-table td:nth-child(2) {
  width: 12%;
}

.connecta-odin-table th:nth-child(3),
.connecta-odin-table td:nth-child(3) {
  width: 10%;
}

.connecta-odin-table th:nth-child(4),
.connecta-odin-table td:nth-child(4) {
  width: 14%;
}

.connecta-odin-table th:nth-child(5),
.connecta-odin-table td:nth-child(5) {
  width: 8%;
  padding-right: 5px !important;
}

.connecta-odin-table th:nth-child(6),
.connecta-odin-table td:nth-child(6) {
  width: 14%;
  padding-left: 5px !important;
}

.connecta-odin-table th:nth-child(7),
.connecta-odin-table td:nth-child(7) {
  width: 15%;
}

.connecta-odin-table th:nth-child(8),
.connecta-odin-table td:nth-child(8) {
  width: 14%;
}

.connecta-odin-table .connecta-actions-cell,
.connecta-odin-table .odin-actions-compact,
.connecta-odin-table .odin-more-actions {
  overflow: visible !important;
}

.connecta-odin-table .connecta-actions-cell {
  position: relative;
  z-index: 5;
  overflow: visible !important;
}

.connecta-odin-table .odin-more-actions[open] {
  z-index: 1000;
}

.connecta-odin-table .odin-more-menu {
  z-index: 5000 !important;
  max-height: min(420px, 65vh);
  overflow-y: auto;
  isolation: isolate;
  background: var(--panel) !important;
  opacity: 1 !important;
}

/* Nas últimas linhas, o menu abre para cima e não aumenta a altura da tabela. */

.connecta-odin-table tbody tr:nth-last-child(-n + 2) .odin-more-menu {
  top: auto;
  bottom: calc(100% + 6px);
}

@media (max-width: 1100px) {
  .connecta-odin-table th,
  .connecta-odin-table td {
    padding-right: 4px !important;
    padding-left: 4px !important;
    font-size: 0.64rem !important;
  }

  .connecta-odin-table .connecta-status-pill {
    padding: 2px 5px;
    font-size: 0.56rem;
  }

  .connecta-odin-table .odin-access-button {
    min-width: 70px;
    padding-right: 6px !important;
    padding-left: 6px !important;
  }
}

/* ======================================================
   CoNNecta Cloud v1.11.5 - largura ODIN, camadas e temas
   ====================================================== */

/* Todos os cabeçalhos de módulos e relatórios usam a mesma estrutura visual,
   sem faixa, degradê, blur ou fundo próprio. */

.painel-body header.connecta-module-header,
.painel-body .connecta-module-header,
.painel-body .connecta-odin-header,
body.dashboard-body .connecta-report-header,
body.hse-body .connecta-report-header,
body.velox-page .connecta-report-header {
  position: relative !important;
  top: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding: 12px 0 14px !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

/* Incorporado no painel: o documento e somente os contêineres externos são
   transparentes. Os cartões e blocos continuam usando o tema do relatório. */

html.connecta-report-document:not(.connecta-report-standalone-document),
html.connecta-report-document:not(.connecta-report-standalone-document)
  body.connecta-report-frame,
html.connecta-report-document:not(.connecta-report-standalone-document)
  body.connecta-report-frame
  > .container-fluid,
html.connecta-report-document:not(.connecta-report-standalone-document)
  body.connecta-report-frame
  > .container-hse,
html.connecta-report-document:not(.connecta-report-standalone-document)
  body.connecta-report-frame
  > .velox-page {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Janela standalone: o fundo pertence ao documento do relatório e replica o
   fundo do painel para o tema selecionado. */

html.connecta-report-standalone-document:has(
    body.connecta-report-standalone-frame.light-mode
  ),
body.connecta-report-standalone-frame.light-mode {
  color-scheme: light;
  background: #f3f4f6 !important;
  background-color: #f3f4f6 !important;
  background-image: none !important;
  color: #212529 !important;
}

html.connecta-report-standalone-document:has(
    body.connecta-report-standalone-frame.dark-mode
  ),
body.connecta-report-standalone-frame.dark-mode {
  color-scheme: dark;
  background: linear-gradient(180deg, #1e293b, #0f172a 70%) !important;
  background-color: #0f172a !important;
  color: #ffffff !important;
}

body.connecta-report-standalone-frame > .container-fluid,
body.connecta-report-standalone-frame > .container-hse,
body.connecta-report-standalone-frame > .velox-page {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* O invólucro do painel não pinta o relatório incorporado. Na janela
   standalone ele recebe exatamente o mesmo fundo do painel. */

body:not(.connecta-report-standalone-window) #connecta-content-wrapper,
body:not(.connecta-report-standalone-window) #connecta-content,
body:not(.connecta-report-standalone-window) .connecta-report-iframe {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

body.connecta-report-standalone-window.light-mode,
body.connecta-report-standalone-window.light-mode #connecta-content-wrapper,
body.connecta-report-standalone-window.light-mode #connecta-content,
body.connecta-report-standalone-window.light-mode .connecta-report-iframe {
  background: #f3f4f6 !important;
  background-color: #f3f4f6 !important;
  background-image: none !important;
}

body.connecta-report-standalone-window.dark-mode,
body.connecta-report-standalone-window.dark-mode #connecta-content-wrapper,
body.connecta-report-standalone-window.dark-mode #connecta-content,
body.connecta-report-standalone-window.dark-mode .connecta-report-iframe {
  background: linear-gradient(180deg, #1e293b, #0f172a 70%) !important;
  background-color: #0f172a !important;
}

/* A área do ODIN volta a ter largura mínima real de 1150 px. A tabela e a
   div crescem juntas; não existe barra horizontal dentro do quadro. */

#view-connecta-odin,
.connecta-odin-table-panel {
  min-width: 1150px !important;
}

/* #view-connecta-odin,
.connecta-odin-page,
.connecta-odin-table-panel,
.connecta-odin-table-shell,
.connecta-odin-table {
  min-width: 1150px !important;
} */

/* O menu + fica acima das linhas e dos botões seguintes. O z-index deixa de
   ser aplicado a todas as células de ação e passa somente para a linha aberta. */

.connecta-odin-table tbody tr {
  position: relative;
  z-index: 1;
}

.connecta-odin-table tbody tr:has(.odin-more-actions[open]) {
  z-index: 10000 !important;
}

.connecta-odin-table
  tbody
  tr:has(.odin-more-actions[open])
  .connecta-actions-cell,
.connecta-odin-table .odin-more-actions[open] {
  z-index: 10001 !important;
}

/* Mantém a aproximação pedida entre Status e Vinculado sem reduzir a tabela. */

/* ==============================================================
   CoNNecta Cloud v1.11.6
   Relatórios incorporados transparentes, impressão fiel e
   cabeçalhos padronizados em todas as seções do painel.
   ============================================================== */

/* O relatório incorporado não possui superfície própria. O tema e o fundo
   visíveis pertencem exclusivamente à seção do painel que contém o iframe. */

html.connecta-report-embedded-document,
html.connecta-report-embedded-document body.connecta-report-embedded-frame,
body.connecta-report-embedded-frame,
body.connecta-report-embedded-frame > .container-fluid,
body.connecta-report-embedded-frame > .container-hse,
body.connecta-report-embedded-frame > .velox-page,
body.connecta-report-embedded-frame .container-fluid,
body.connecta-report-embedded-frame .container-hse {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

html.connecta-report-embedded-document,
body.connecta-report-embedded-frame {
  min-height: 100%;
  color-scheme: light dark;
}

/* O iframe em uma seção normal nunca pinta um retângulo branco. */

body:not(.connecta-report-standalone-window) .connecta-report-iframe,
body:not(.connecta-report-standalone-window) #connecta-content,
body:not(.connecta-report-standalone-window) #connecta-content-wrapper {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Cabeçalhos de todas as seções: mesma escala e alinhamento dos relatórios e
   do cabeçalho novo do ODIN. */

.painel-body .content > .logo-tools,
.painel-body .content > .panel > .logo-tools,
.painel-body .snc-header .logo-tools,
.painel-body .connecta-section-header,
.painel-body .pulse-header,
.painel-body .snc-header {
  position: relative !important;
  display: flex !important;
  width: 100% !important;
  min-height: 68px;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 18px !important;
  padding: 12px 0 14px !important;
  color: var(--text-color) !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.painel-body .content > .logo-tools > div:first-child,
.painel-body .content > .panel > .logo-tools > div:first-child,
.painel-body .snc-header .logo-tools > div:first-child {
  flex: 0 0 auto;
}

.painel-body .logo-tools img,
.painel-body .connecta-section-header img,
.painel-body .snc-header .logo-tools img {
  width: auto !important;
  height: 42px !important;
  max-width: 150px !important;
  object-fit: contain !important;
}

.painel-body .logo-tools .title,
.painel-body .logo-tools h1,
.painel-body .logo-tools h2,
.painel-body .pulse-page-title,
.painel-body .snc-header h1,
.painel-body .connecta-section-header h1,
.painel-body .connecta-section-header h2 {
  margin: 0 !important;
  color: var(--text-color) !important;
  font-size: 1.03rem !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.01em !important;
  text-align: left !important;
}

.painel-body .logo-tools p,
.painel-body .logo-tools .small,
.painel-body .pulse-header p,
.painel-body .snc-header p,
.painel-body .connecta-section-header p {
  margin: 3px 0 0 !important;
  color: var(--muted) !important;
  font-size: 0.72rem !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

.painel-body .snc-kicker {
  margin-bottom: 3px !important;
  color: var(--muted) !important;
  font-size: 0.62rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
}

.painel-body .snc-header-actions,
.painel-body .pulse-toolbar,
.painel-body .connecta-section-header-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

@media (max-width: 760px) {
  .painel-body .content > .logo-tools,
  .painel-body .content > .panel > .logo-tools,
  .painel-body .pulse-header,
  .painel-body .snc-header,
  .painel-body .connecta-section-header {
    align-items: stretch !important;
    flex-direction: column !important;
  }
}

/* Impressão: replica o layout visual do template, mas sempre em tema claro. */

@media print {
  @page {
    size: A4 portrait;
    margin: 9mm;
  }

  html.connecta-report-document,
  html.connecta-report-document.connecta-report-embedded-document,
  html.connecta-report-document.connecta-report-standalone-document,
  html.connecta-report-document body.connecta-report-frame,
  html.connecta-report-document.connecta-report-embedded-document
    body.connecta-report-frame.connecta-report-embedded-frame,
  html.connecta-report-document.connecta-report-standalone-document
    body.connecta-report-frame.connecta-report-standalone-frame,
  body.connecta-report-frame.light-mode,
  body.connecta-report-frame.dark-mode,
  body.connecta-report-frame.connecta-print-mode {
    --bg: #ffffff !important;
    --panel: #ffffff !important;
    --panel-2: #f8fafc !important;
    --card-bg: #ffffff !important;
    --chip: #f8fafc !important;
    --text-color: #111827 !important;
    --text-dark: #111827 !important;
    --muted: #475569 !important;
    --line: #94a3b8 !important;
    --white: #111827 !important;
    --gauge-value: #111827 !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    zoom: 1 !important;
    color: #111827 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    overflow: visible !important;
    color-scheme: light !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body.connecta-report-frame *,
  body.connecta-report-frame *::before,
  body.connecta-report-frame *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body.connecta-report-frame > .container-fluid,
  body.connecta-report-frame > .container-hse,
  body.connecta-report-frame > .velox-page,
  body.connecta-report-frame .container-fluid,
  body.connecta-report-frame .container-hse,
  html.connecta-report-document.connecta-report-embedded-document
    body.connecta-report-embedded-frame
    > .container-fluid,
  html.connecta-report-document.connecta-report-embedded-document
    body.connecta-report-embedded-frame
    > .container-hse,
  html.connecta-report-document.connecta-report-standalone-document
    body.connecta-report-standalone-frame
    > .container-fluid,
  html.connecta-report-document.connecta-report-standalone-document
    body.connecta-report-standalone-frame
    > .container-hse {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111827 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    overflow: visible !important;
  }

  body.connecta-report-frame .connecta-report-header {
    display: flex !important;
    margin: 0 0 6mm !important;
    padding: 0 0 4mm !important;
    color: #111827 !important;
    background: #ffffff !important;
    border: 0 !important;
    border-bottom: 1px solid #94a3b8 !important;
    break-after: avoid !important;
    page-break-after: avoid !important;
  }

  body.connecta-report-frame .connecta-report-header .title,
  body.connecta-report-frame .connecta-report-header h1,
  body.connecta-report-frame .connecta-report-header h2,
  body.connecta-report-frame .connecta-report-card-title,
  body.connecta-report-frame .hse-report-title,
  body.connecta-report-frame .hse-chart-title,
  body.connecta-report-frame h1,
  body.connecta-report-frame h2,
  body.connecta-report-frame h3,
  body.connecta-report-frame h4,
  body.connecta-report-frame h5,
  body.connecta-report-frame h6 {
    color: #111827 !important;
  }

  body.connecta-report-frame .connecta-report-header .small,
  body.connecta-report-frame .small,
  body.connecta-report-frame .text-muted,
  body.connecta-report-frame .report-summary-item span,
  body.connecta-report-frame .metric .label,
  body.connecta-report-frame .velox-gauge-subtitle {
    color: #475569 !important;
  }

  body.connecta-report-frame .connecta-report-card,
  body.connecta-report-frame .report-instance,
  body.connecta-report-frame .card-hse,
  body.connecta-report-frame .metric,
  body.connecta-report-frame .chart-wrap,
  body.connecta-report-frame .velox-status,
  body.connecta-report-frame .velox-kpi,
  body.connecta-report-frame .report-summary-item,
  body.connecta-report-frame .connecta-report-table-wrap,
  body.connecta-report-frame .table-responsive,
  body.connecta-report-frame .table-scroll {
    color: #111827 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border-color: #94a3b8 !important;
    box-shadow: none !important;
  }

  body.connecta-report-frame .connecta-report-card,
  body.connecta-report-frame .report-instance,
  body.connecta-report-frame .card-hse,
  body.connecta-report-frame .velox-status,
  body.connecta-report-frame .velox-kpi {
    border: 1px solid #94a3b8 !important;
    border-radius: 8px !important;
  }

  body.connecta-report-frame .report-summary-grid,
  body.connecta-report-frame .report-summary-grid-secondary {
    border-color: #94a3b8 !important;
  }

  body.connecta-report-frame .report-summary-item {
    border-color: #94a3b8 !important;
  }

  body.connecta-report-frame .report-summary-item strong,
  body.connecta-report-frame .metric .value,
  body.connecta-report-frame td,
  body.connecta-report-frame th,
  body.connecta-report-frame label,
  body.connecta-report-frame p,
  body.connecta-report-frame span:not(.badge):not(.status-pill) {
    color: #111827 !important;
  }

  body.connecta-report-frame .connecta-report-table-wrap,
  body.connecta-report-frame .table-responsive,
  body.connecta-report-frame .table-scroll {
    max-height: none !important;
    overflow: visible !important;
    border: 1px solid #94a3b8 !important;
  }

  body.connecta-report-frame .connecta-report-table,
  body.connecta-report-frame .connecta-report-table thead,
  body.connecta-report-frame .connecta-report-table tbody,
  body.connecta-report-frame .connecta-report-table tr,
  body.connecta-report-frame .connecta-report-table th,
  body.connecta-report-frame .connecta-report-table td {
    color: #111827 !important;
    background: #ffffff !important;
    background-image: none !important;
    border-color: #94a3b8 !important;
  }

  body.connecta-report-frame .connecta-report-table thead {
    display: table-header-group !important;
  }

  body.connecta-report-frame .connecta-report-table th {
    color: #0f172a !important;
    background: #e2e8f0 !important;
    font-weight: 700 !important;
  }

  body.connecta-report-frame
    .connecta-report-table
    tbody
    tr:nth-child(even)
    td {
    background: #f8fafc !important;
  }

  body.connecta-report-frame .connecta-report-table tr {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Cards pequenos permanecem inteiros; cards com tabelas longas podem
     continuar na página seguinte sem cortar dados. */

  body.connecta-report-frame
    .connecta-report-card:not(:has(.connecta-report-table)),
  body.connecta-report-frame .card-hse:not(:has(.connecta-report-table)),
  body.connecta-report-frame .chart-wrap,
  body.connecta-report-frame .velox-status,
  body.connecta-report-frame .velox-kpi {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  body.connecta-report-frame .connecta-report-card:has(.connecta-report-table),
  body.connecta-report-frame .card-hse:has(.connecta-report-table),
  body.connecta-report-frame .report-instance {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  /* Primeiro relatório HSE não cria uma página vazia. Relatórios seguintes
     começam em página nova. */

  body.hse-body .hse-report-page {
    break-before: auto !important;
    page-break-before: auto !important;
  }

  body.hse-body .hse-report-page + .hse-report-page {
    break-before: page !important;
    page-break-before: always !important;
  }

  /* Mantém a grade mostrada na tela, independentemente da largura lógica do
     mecanismo de impressão do navegador. */

  body.velox-page .cards-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 4mm !important;
  }

  body.velox-page .velox-row-800 {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 5mm !important;
  }

  body.velox-page .velox-col-left-800 {
    width: 70% !important;
  }

  body.velox-page .velox-col-right-800 {
    width: 30% !important;
  }

  body.velox-page .velox-gauges {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4mm !important;
    height: auto !important;
  }

  body.connecta-report-frame canvas,
  body.connecta-report-frame svg {
    max-width: 100% !important;
    print-color-adjust: exact !important;
    opacity: 1 !important;
    filter: none !important;
  }

  body.dashboard-body.connecta-report-frame .chart-container,
  body.connecta-report-frame .gauge-container-3d,
  body.connecta-report-frame .line-chart-container,
  body.connecta-report-frame .velox-chart-box {
    overflow: visible !important;
  }

  body.connecta-report-frame .no-print,
  body.connecta-report-frame .actions,
  body.connecta-report-frame #filtros-container,
  body.connecta-report-frame .panel-hse,
  body.connecta-report-frame #loading-message,
  body.connecta-report-frame .connecta-module-header-actions,
  body.connecta-report-frame .odin-more-menu {
    display: none !important;
  }
}

/* Correção final de especificidade: o tema da tela nunca vaza para o papel. */

@media print {
  html.connecta-report-document.connecta-report-standalone-document:has(
      body.connecta-report-standalone-frame
    ),
  html.connecta-report-document.connecta-report-embedded-document:has(
      body.connecta-report-embedded-frame
    ),
  html.connecta-report-document.connecta-report-standalone-document:has(
      body.connecta-report-standalone-frame.dark-mode
    ),
  html.connecta-report-document.connecta-report-embedded-document:has(
      body.connecta-report-embedded-frame.dark-mode
    ),
  html.connecta-report-document.connecta-report-standalone-document:has(
      body.connecta-report-standalone-frame
    )
    body.connecta-report-frame.connecta-report-standalone-frame,
  html.connecta-report-document.connecta-report-embedded-document:has(
      body.connecta-report-embedded-frame
    )
    body.connecta-report-frame.connecta-report-embedded-frame,
  html.connecta-report-document.connecta-report-standalone-document:has(
      body.connecta-report-standalone-frame.dark-mode
    )
    body.connecta-report-frame.connecta-report-standalone-frame.dark-mode,
  html.connecta-report-document.connecta-report-embedded-document:has(
      body.connecta-report-embedded-frame.dark-mode
    )
    body.connecta-report-frame.connecta-report-embedded-frame.dark-mode {
    color: #111827 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    color-scheme: light !important;
  }
}

/* Cobertura de cabeçalhos que ficam dentro de invólucros intermediários. */

.painel-body section.content .logo-tools {
  display: flex !important;
  width: 100% !important;
  min-height: 68px;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  margin: 0 0 18px !important;
  padding: 12px 0 14px !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.painel-body section.content .logo-tools > div:last-child {
  min-width: 0;
  text-align: left !important;
}

@media print {
  body.connecta-report-frame .text-primary,
  body.connecta-report-frame a:not(.btn) {
    color: #0284c7 !important;
  }

  body.connecta-report-frame .badge.bg-success,
  body.connecta-report-frame .status-pill.online,
  body.connecta-report-frame .connecta-status-pill.online {
    color: #065f46 !important;
    background: #d1fae5 !important;
    border-color: #10b981 !important;
  }

  body.connecta-report-frame .badge.bg-info,
  body.connecta-report-frame .status-pill.info {
    color: #075985 !important;
    background: #e0f2fe !important;
    border-color: #38bdf8 !important;
  }

  body.connecta-report-frame .badge.bg-warning,
  body.connecta-report-frame .status-pill.warn {
    color: #92400e !important;
    background: #fef3c7 !important;
    border-color: #f59e0b !important;
  }

  body.connecta-report-frame .badge.bg-danger,
  body.connecta-report-frame .status-pill.critical {
    color: #991b1b !important;
    background: #fee2e2 !important;
    border-color: #ef4444 !important;
  }
}

/* ==============================================================
   CoNNecta Cloud v1.11.7 - legibilidade, gráficos, downloads e headers
   ============================================================== */

/* Tema dos relatórios: nenhuma variável clara/escura pode deixar texto sem
   contraste na tela. O modo incorporado continua transparente. */

body.connecta-report-frame.light-mode {
  --text-color: #111827 !important;
  --text-dark: #111827 !important;
  --muted: #475569 !important;
  --white: #111827 !important;
  --gauge-value: #111827 !important;
}

body.connecta-report-frame.dark-mode {
  --text-color: #f8fafc !important;
  --text-dark: #f8fafc !important;
  --muted: #cbd5e1 !important;
  --white: #f8fafc !important;
  --gauge-value: #f8fafc !important;
}

body.connecta-report-frame .connecta-report-header .title,
body.connecta-report-frame .connecta-report-header h1,
body.connecta-report-frame .connecta-report-header h2,
body.connecta-report-frame .connecta-report-card-title,
body.connecta-report-frame .card-title,
body.connecta-report-frame .hse-report-title,
body.connecta-report-frame .hse-report-brand,
body.connecta-report-frame .hse-chart-title,
body.connecta-report-frame .metric .value,
body.connecta-report-frame .report-summary-item strong,
body.connecta-report-frame .disk-chart-caption,
body.connecta-report-frame .velox-gauge-title,
body.connecta-report-frame .velox-custom-legend-title,
body.connecta-report-frame .velox-point-hint,
body.connecta-report-frame .connecta-report-table td,
body.connecta-report-frame .connecta-report-table th {
  color: var(--text-color) !important;
}

body.connecta-report-frame .connecta-report-header .small,
body.connecta-report-frame .hse-report-description,
body.connecta-report-frame .metric .label,
body.connecta-report-frame .report-summary-item span,
body.connecta-report-frame .velox-gauge-subtitle,
body.connecta-report-frame .velox-custom-legend-sub,
body.connecta-report-frame .text-muted,
body.connecta-report-frame label,
body.connecta-report-frame small {
  color: var(--muted) !important;
}

/* Proporções consistentes para gráficos RDD/HSE. */

.connecta-chart-pair,
.hse-body .charts-hse {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.connecta-chart-panel,
.hse-body .chart-wrap {
  min-width: 0 !important;
  padding: 12px !important;
  border: 1px solid var(--line) !important;
  border-radius: 9px !important;
  background: transparent !important;
}

.dashboard-body .connecta-chart-panel .chart-container,
.hse-body .line-chart-container {
  width: 100% !important;
  height: 230px !important;
  min-height: 230px !important;
}

.connecta-gauge-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: start !important;
}

.connecta-gauge-panel {
  min-width: 0 !important;
  text-align: center !important;
}

.connecta-gauge-grid .gauge-container-3d {
  width: 100% !important;
  max-width: 320px !important;
  height: 190px !important;
  min-height: 190px !important;
  margin: 0 auto !important;
}

.connecta-gauge-server {
  grid-column: 1 / -1;
  margin-top: 4px;
  text-align: center;
}

.velox-page .velox-row-800 {
  align-items: stretch !important;
  gap: 18px !important;
}

.velox-page .velox-col-left-800 {
  width: 72% !important;
}

.velox-page .velox-col-right-800 {
  width: 28% !important;
}

.velox-page .velox-gauges {
  min-height: 190px !important;
  gap: 18px !important;
}

.velox-page .gauge-container-3d {
  height: 180px !important;
  min-height: 180px !important;
  max-width: 310px !important;
}

.velox-page .velox-chart-box {
  height: 240px !important;
  min-height: 240px !important;
}

@media (max-width: 900px) {
  .connecta-chart-pair,
  .hse-body .charts-hse {
    grid-template-columns: 1fr !important;
  }

  .connecta-gauge-grid {
    grid-template-columns: 1fr !important;
  }

  .velox-page .velox-col-left-800,
  .velox-page .velox-col-right-800 {
    width: 100% !important;
  }
}

/* Downloads: exatamente três cartões por linha no desktop. */

.download-app-card-package {
  border-color: color-mix(in srgb, var(--brand-2) 70%, var(--line)) !important;
}

@media (max-width: 1120px) {
  .download-app-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .download-app-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Cabeçalho padrão: logo, espaço curto, título/descrição e ações na direita. */

.painel-body section.content .logo-tools,
.painel-body .content > .logo-tools,
.painel-body .content > .panel > .logo-tools {
  justify-content: flex-start !important;
  gap: 16px !important;
}

.painel-body section.content .logo-tools > div:first-child,
.painel-body .content > .logo-tools > div:first-child,
.painel-body .content > .panel > .logo-tools > div:first-child {
  margin-right: 0 !important;
  flex: 0 0 auto !important;
}

.painel-body section.content .logo-tools > div:nth-child(2),
.painel-body .content > .logo-tools > div:nth-child(2),
.painel-body .content > .panel > .logo-tools > div:nth-child(2) {
  flex: 0 1 auto !important;
  margin: 0 !important;
  text-align: left !important;
}

.painel-body section.content .logo-tools .text-center,
.painel-body section.content .logo-tools .title,
.painel-body section.content .logo-tools p {
  text-align: left !important;
}

.painel-body .connecta-module-header {
  justify-content: space-between !important;
}

.painel-body .connecta-module-brand {
  justify-content: flex-start !important;
}

.painel-body .connecta-module-brand > div {
  min-width: 0;
  text-align: left !important;
}

.painel-body .connecta-module-header-actions {
  margin-left: auto !important;
}

/* Regras finais de impressão: o papel sempre é claro e todos os textos do
   relatório têm contraste, inclusive elementos com estilos inline. */

@media print {
  body.connecta-report-frame,
  body.connecta-report-frame.light-mode,
  body.connecta-report-frame.dark-mode,
  body.connecta-report-frame.connecta-print-mode {
    --text-color: #111827 !important;
    --text-dark: #111827 !important;
    --muted: #334155 !important;
    --white: #111827 !important;
    --gauge-value: #111827 !important;
  }

  body.connecta-report-frame .connecta-report-header,
  body.connecta-report-frame .connecta-report-card,
  body.connecta-report-frame .card-hse,
  body.connecta-report-frame .report-instance,
  body.connecta-report-frame .chart-wrap,
  body.connecta-report-frame .connecta-chart-panel,
  body.connecta-report-frame .metric,
  body.connecta-report-frame .report-summary-item,
  body.connecta-report-frame .velox-status,
  body.connecta-report-frame .velox-kpi {
    color: #111827 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
  }

  body.connecta-report-frame .connecta-report-header *,
  body.connecta-report-frame .connecta-report-card-title,
  body.connecta-report-frame .card-title,
  body.connecta-report-frame .hse-report-title,
  body.connecta-report-frame .hse-report-brand,
  body.connecta-report-frame .hse-report-description,
  body.connecta-report-frame .hse-chart-title,
  body.connecta-report-frame .metric .label,
  body.connecta-report-frame .metric .value,
  body.connecta-report-frame .report-summary-item span,
  body.connecta-report-frame .report-summary-item strong,
  body.connecta-report-frame .disk-chart-caption,
  body.connecta-report-frame .velox-gauge-title,
  body.connecta-report-frame .velox-gauge-subtitle,
  body.connecta-report-frame .velox-custom-legend-title,
  body.connecta-report-frame .velox-custom-legend-sub,
  body.connecta-report-frame .velox-point-hint,
  body.connecta-report-frame label,
  body.connecta-report-frame p,
  body.connecta-report-frame small,
  body.connecta-report-frame .small,
  body.connecta-report-frame .text-muted,
  body.connecta-report-frame td,
  body.connecta-report-frame th {
    color: #111827 !important;
    opacity: 1 !important;
    text-shadow: none !important;
  }

  body.connecta-report-frame .connecta-chart-pair,
  body.hse-body.connecta-report-frame .charts-hse {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5mm !important;
  }

  body.connecta-report-frame .connecta-chart-panel .chart-container,
  body.hse-body.connecta-report-frame .line-chart-container {
    height: 58mm !important;
    min-height: 58mm !important;
  }

  body.connecta-report-frame .connecta-gauge-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4mm !important;
  }

  body.connecta-report-frame .connecta-gauge-grid .gauge-container-3d,
  body.velox-page.connecta-report-frame .gauge-container-3d {
    height: 46mm !important;
    min-height: 46mm !important;
    max-width: none !important;
  }

  body.velox-page.connecta-report-frame .velox-row-800 {
    gap: 5mm !important;
  }

  body.velox-page.connecta-report-frame .velox-col-left-800 {
    width: 72% !important;
  }

  body.velox-page.connecta-report-frame .velox-col-right-800 {
    width: 28% !important;
  }

  body.velox-page.connecta-report-frame .velox-chart-box {
    height: 62mm !important;
    min-height: 62mm !important;
  }
}

/* ======================================================
   CoNNecta Cloud v1.11.8 - grupos hierárquicos
   ====================================================== */

.connecta-group-create-bar {
  display: grid;
  grid-template-columns: minmax(260px, 1.4fr) minmax(240px, 1fr) auto;
  gap: 12px;
  align-items: end;
  margin: 16px 0 10px;
}

.connecta-group-create-field label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--muted, #94a3b8);
}

.connecta-group-create-field .input,
.connecta-group-create-field .select {
  width: 100%;
  min-height: 40px;
}

.connecta-group-create-button {
  min-height: 40px;
  white-space: nowrap;
}

.connecta-group-hint,
.connecta-group-move-warning {
  border: 1px solid color-mix(in srgb, var(--brand-2, #00b8c8) 38%, transparent);
  border-radius: 10px;
  padding: 9px 12px;
  margin-bottom: 14px;
  color: var(--muted, #94a3b8);
  font-size: 0.78rem;
  background: color-mix(in srgb, var(--panel-2, #111c31) 84%, transparent);
}

.connecta-group-table {
  min-width: 860px;
}

.connecta-group-name-cell {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 250px;
  padding-left: calc(var(--group-level, 0) * 24px);
  position: relative;
}

.connecta-group-name-cell > i {
  width: 20px;
  text-align: center;
  color: var(--brand-2, #00b8c8);
}

.connecta-group-name-cell strong,
.connecta-group-name-cell small {
  display: block;
}

.connecta-group-name-cell small {
  margin-top: 2px;
  color: var(--muted, #94a3b8);
  font-size: 0.7rem;
  max-width: 440px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.connecta-group-branch {
  position: absolute;
  left: calc(var(--group-level, 0) * 24px - 14px);
  width: 14px;
  height: 18px;
  border-left: 1px solid
    color-mix(in srgb, var(--line, #3d526d) 80%, transparent);
  border-bottom: 1px solid
    color-mix(in srgb, var(--line, #3d526d) 80%, transparent);
  border-radius: 0 0 0 5px;
}

.connecta-group-level-0 .connecta-group-branch {
  display: none;
}

.connecta-group-parent-label,
.connecta-group-count,
.connecta-group-path-badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  border: 1px solid var(--line, #38506b);
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 0.72rem;
  color: var(--text-color, #e7eef8);
  background: color-mix(in srgb, var(--panel-2, #13213a) 88%, transparent);
}

.connecta-group-path-badge {
  max-width: 360px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.connecta-group-actions {
  display: flex;
  gap: 7px;
  align-items: center;
  flex-wrap: nowrap;
}

.connecta-group-modal .modal-body {
  padding: 18px;
}

.connecta-user-group-option {
  padding-left: calc(10px + var(--group-level, 0) * 17px) !important;
}

body.light-mode .connecta-group-hint,
body.light-mode .connecta-group-move-warning,
body.light-mode .connecta-group-parent-label,
body.light-mode .connecta-group-count,
body.light-mode .connecta-group-path-badge {
  background: #f8fafc;
  color: #334155;
  border-color: #cbd5e1;
}

@media (max-width: 900px) {
  .connecta-group-create-bar {
    grid-template-columns: 1fr;
  }

  .connecta-group-create-button {
    width: 100%;
  }
}

/* ======================================================
   CoNNecta Cloud v1.11.8 - auditoria ODIN organizada
   ====================================================== */

.odin-audit-page {
  --audit-surface: color-mix(in srgb, var(--panel, #17243a) 94%, transparent);
  --audit-surface-2: color-mix(
    in srgb,
    var(--panel-2, #111d31) 90%,
    transparent
  );
  --audit-text: var(--text-color, #edf4ff);
  --audit-muted: var(--muted, #a7b7ca);
  --audit-line: var(--line, #3b526d);
  --audit-accent: var(--brand-2, #00b8c8);
}

.painel-body.light-mode .odin-audit-page {
  --audit-surface: #ffffff;
  --audit-surface-2: #f7f9fc;
  --audit-text: #1f2937;
  --audit-muted: #64748b;
  --audit-line: #cbd5e1;
  --audit-accent: #007f91;
}

.odin-audit-page .odin-audit-toolbar,
.odin-audit-page .odin-audit-report-card,
.odin-audit-page .odin-audit-sessions-card,
.odin-audit-page .odin-audit-detail-card,
.odin-audit-page .odin-audit-kpi {
  background: var(--audit-surface) !important;
  border: 1px solid var(--audit-line) !important;
  box-shadow: none !important;
  color: var(--audit-text) !important;
}

.odin-audit-page .odin-audit-toolbar {
  grid-template-columns:
    minmax(190px, 1.35fr) minmax(120px, 0.7fr) minmax(150px, 0.85fr)
    minmax(150px, 0.85fr) minmax(230px, 1.4fr) auto;
}

.odin-audit-page .odin-audit-field label,
.odin-audit-page .odin-audit-kpi span,
.odin-audit-page .odin-report-summary-grid span,
.odin-audit-page .odin-summary-grid span,
.odin-audit-page .odin-event-readable-meta span {
  color: var(--audit-muted) !important;
}

.odin-audit-page .odin-audit-kpi strong,
.odin-audit-page .odin-audit-card-title,
.odin-audit-page .odin-audit-session-head strong,
.odin-audit-page .odin-report-summary-grid strong,
.odin-audit-page .odin-summary-grid strong,
.odin-audit-page .odin-event-readable-meta strong {
  color: var(--audit-text) !important;
}

.odin-audit-page .odin-audit-kpi {
  border-radius: 13px;
  padding: 13px 15px;
}

.odin-audit-page .odin-audit-kpi strong {
  font-size: 1.65rem;
}

.odin-audit-page .odin-audit-layout {
  grid-template-columns: minmax(340px, 36%) minmax(0, 1fr);
  min-height: 670px;
}

.odin-audit-page .odin-audit-sessions-list,
.odin-audit-page .odin-audit-events-list {
  scrollbar-color: var(--audit-accent) transparent;
}

.odin-audit-page .odin-audit-session-item {
  background: var(--audit-surface-2) !important;
  color: var(--audit-text) !important;
  border-color: var(--audit-line) !important;
  padding: 13px;
}

.odin-audit-page .odin-audit-session-item:hover,
.odin-audit-page .odin-audit-session-item.active {
  border-color: var(--audit-accent) !important;
  background: color-mix(
    in srgb,
    var(--audit-accent) 10%,
    var(--audit-surface-2)
  ) !important;
}

.odin-audit-session-head > span,
.odin-audit-status-pill {
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 0.68rem;
  font-weight: 800;
  white-space: nowrap;
  background: transparent !important;
}

.odin-audit-session-head > span.ended,
.odin-audit-status-pill.ended {
  color: #16a34a !important;
}

.odin-audit-session-head > span.active,
.odin-audit-status-pill.active {
  color: #0284c7 !important;
}

.odin-audit-session-head > span.failed,
.odin-audit-status-pill.failed {
  color: #dc2626 !important;
}

.odin-audit-session-head > span.interrupted,
.odin-audit-status-pill.interrupted {
  color: #d97706 !important;
}

.odin-audit-session-head > span.unknown,
.odin-audit-status-pill.unknown {
  color: var(--audit-muted) !important;
}

.odin-audit-session-client {
  margin-top: 6px;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--audit-accent);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.odin-audit-session-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 10px;
  margin-top: 8px;
}

.odin-audit-session-facts span {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: var(--audit-muted);
  font-size: 0.7rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.odin-audit-session-facts i {
  width: 13px;
  color: var(--audit-accent);
  text-align: center;
}

.odin-audit-session-last {
  border-top: 1px dashed var(--audit-line);
  padding-top: 8px;
}

.odin-audit-empty,
.odin-audit-error {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px dashed var(--audit-line);
  border-radius: 10px;
  color: var(--audit-muted);
  text-align: center;
  padding: 14px;
}

.odin-audit-error {
  color: #dc2626;
  border-color: color-mix(in srgb, #dc2626 55%, transparent);
}

.odin-audit-status-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.odin-audit-status-strip > span {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--audit-line);
  border-radius: 9px;
  padding: 7px 9px;
  font-size: 0.72rem;
  color: var(--audit-muted);
  background: var(--audit-surface-2);
}

.odin-audit-status-strip .ended strong {
  color: #16a34a;
}

.odin-audit-status-strip .active strong {
  color: #0284c7;
}

.odin-audit-status-strip .failed strong {
  color: #dc2626;
}

.odin-audit-status-strip .interrupted strong {
  color: #d97706;
}

.odin-audit-rankings {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.odin-audit-rankings section {
  border: 1px solid var(--audit-line);
  border-radius: 11px;
  background: var(--audit-surface-2);
  padding: 10px 12px;
}

.odin-audit-rankings h4 {
  margin: 0 0 7px;
  color: var(--audit-text);
  font-size: 0.78rem;
}

.odin-audit-rankings ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

.odin-audit-rankings li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 4px 0;
  color: var(--audit-muted);
  font-size: 0.72rem;
}

.odin-audit-rankings li > span:nth-child(2) {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.odin-audit-rank {
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  color: var(--audit-accent);
  border: 1px solid var(--audit-accent);
  font-size: 0.62rem;
}

.odin-audit-summary-head {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.odin-audit-summary-head > div {
  border: 1px solid var(--audit-line);
  border-radius: 10px;
  padding: 9px;
  background: var(--audit-surface-2);
}

.odin-audit-summary-head span,
.odin-audit-summary-head strong {
  display: block;
}

.odin-audit-summary-head span {
  color: var(--audit-muted);
  font-size: 0.67rem;
  margin-bottom: 4px;
}

.odin-audit-summary-head strong {
  color: var(--audit-text);
  font-size: 0.8rem;
}

.odin-audit-session-id {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  word-break: break-all;
}

.odin-audit-timeline {
  position: relative;
  padding-left: 28px;
}

.odin-audit-timeline::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 12px;
  bottom: 12px;
  width: 1px;
  background: var(--audit-line);
}

.odin-audit-page .odin-event-item.audit {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  border: 1px solid var(--audit-line) !important;
  border-radius: 12px;
  background: var(--audit-surface-2) !important;
  color: var(--audit-text) !important;
  padding: 12px 13px;
  overflow: visible;
}

.odin-audit-timeline-marker {
  position: absolute;
  left: -28px;
  top: 11px;
  z-index: 2;
}

.odin-audit-timeline-marker span {
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--audit-surface);
  border: 1px solid var(--audit-accent);
  color: var(--audit-accent);
  font-size: 0.62rem;
  font-weight: 800;
}

.odin-audit-event-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.odin-audit-event-header time {
  color: var(--audit-muted);
  font-size: 0.68rem;
  white-space: nowrap;
}

.odin-audit-page .friendly-message {
  color: var(--audit-text) !important;
}

.odin-audit-page .odin-event-readable-meta {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.odin-audit-page .odin-event-readable-meta .wide {
  grid-column: span 2;
}

.odin-audit-pagination {
  flex-wrap: wrap;
}

.odin-audit-page-size {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  color: var(--audit-muted);
  font-size: 0.68rem;
}

.odin-audit-page-size select {
  width: 74px;
}

@media (max-width: 1200px) {
  .odin-audit-page .odin-audit-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .odin-audit-page .odin-audit-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .odin-audit-status-strip,
  .odin-audit-rankings,
  .odin-audit-summary-head,
  .odin-audit-page .odin-event-readable-meta,
  .odin-audit-session-facts {
    grid-template-columns: 1fr;
  }

  .odin-audit-page .odin-event-readable-meta .wide {
    grid-column: auto;
  }
}

/* ======================================================
   CoNNecta Cloud v1.11.9
   Sessões por dispositivo, auditoria separada, SNC claro
   e escala compacta para telas menores que 1400px
====================================================== */

/* Modal de substituição de sessão no login */

.connecta-login-session-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: none;
  place-items: center;
  padding: 24px;
}

.connecta-login-session-modal.is-open {
  display: grid;
}

.connecta-login-session-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 8, 23, 0.78);
  backdrop-filter: blur(6px);
}

.connecta-login-session-dialog {
  position: relative;
  z-index: 1;
  width: min(760px, 96vw);
  max-height: min(780px, 92vh);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(0, 200, 255, 0.34);
  border-radius: 18px;
  background: #111f35;
  color: #f8fafc;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.55);
}

.connecta-login-session-dialog > header,
.connecta-login-session-dialog > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
}

.connecta-login-session-dialog > header {
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.connecta-login-session-dialog > footer {
  justify-content: flex-end;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.connecta-login-session-kicker {
  display: block;
  margin-bottom: 4px;
  color: #22d3ee;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.connecta-login-session-dialog h2 {
  margin: 0;
  color: #fff;
  font-size: 1.35rem;
}

.connecta-login-session-dialog header p {
  margin: 5px 0 0;
  color: #b9c7d8;
  font-size: 0.86rem;
}

.connecta-login-session-close {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border: 1px solid rgba(0, 200, 255, 0.45);
  border-radius: 10px;
  background: transparent;
  color: #fff;
  font-size: 1.35rem;
  line-height: 1;
}

.connecta-login-session-list {
  overflow: auto;
  padding: 14px 20px 20px;
  display: grid;
  gap: 10px;
}

.connecta-login-session-item {
  display: grid;
  grid-template-columns: auto 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 13px;
  background: rgba(15, 31, 53, 0.82);
  cursor: pointer;
  transition:
    border-color 0.16s ease,
    background 0.16s ease;
}

.connecta-login-session-item:hover,
.connecta-login-session-item:has(input:checked) {
  border-color: rgba(0, 200, 255, 0.7);
  background: rgba(0, 200, 255, 0.08);
}

.connecta-login-session-item input {
  width: 17px;
  height: 17px;
  accent-color: #00c8ff;
}

.connecta-login-session-device {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(0, 200, 255, 0.36);
  border-radius: 11px;
  color: #22d3ee;
}

.connecta-login-session-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.connecta-login-session-copy strong {
  color: #fff;
  overflow-wrap: anywhere;
}

.connecta-login-session-copy small {
  color: #b9c7d8;
}

.connecta-login-session-copy i {
  width: 16px;
  color: #22d3ee;
}

.connecta-login-session-message,
.connecta-login-session-empty {
  margin: 14px 20px 0;
  padding: 11px 12px;
  border: 1px solid rgba(248, 113, 113, 0.42);
  border-radius: 11px;
  background: rgba(127, 29, 29, 0.18);
  color: #fecaca;
}

body.light-mode .connecta-login-session-backdrop {
  background: rgba(15, 23, 42, 0.5);
}

body.light-mode .connecta-login-session-dialog {
  border-color: rgba(2, 132, 199, 0.28);
  background: #fff;
  color: #0f172a;
  box-shadow: 0 24px 75px rgba(15, 23, 42, 0.24);
}

body.light-mode .connecta-login-session-dialog > header,
body.light-mode .connecta-login-session-dialog > footer {
  border-color: #dbe4ef;
}

body.light-mode .connecta-login-session-dialog h2,
body.light-mode .connecta-login-session-copy strong {
  color: #0f172a;
}

body.light-mode .connecta-login-session-dialog header p,
body.light-mode .connecta-login-session-copy small {
  color: #475569;
}

body.light-mode .connecta-login-session-close {
  color: #0f172a;
  border-color: rgba(2, 132, 199, 0.42);
}

body.light-mode .connecta-login-session-item {
  background: #f8fafc;
  border-color: #dbe4ef;
}

body.light-mode .connecta-login-session-item:hover,
body.light-mode .connecta-login-session-item:has(input:checked) {
  background: #ecfeff;
  border-color: #0891b2;
}

body.light-mode .connecta-login-session-message,
body.light-mode .connecta-login-session-empty {
  background: #fff1f2;
  color: #9f1239;
}

body.connecta-modal-open {
  overflow: hidden;
}

/* Auditoria ODIN: áreas independentes para sessões remotas e ajustes do painel */

.odin-audit-area-switch {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 0 14px;
  padding: 5px;
  border: 1px solid var(--audit-line, rgba(148, 163, 184, 0.22));
  border-radius: 12px;
  background: var(--audit-surface-2, rgba(15, 23, 42, 0.38));
}

.odin-audit-area-switch .btn {
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--audit-muted, #94a3b8) !important;
}

.odin-audit-area-switch .btn.active {
  border-color: var(--audit-accent, #00c8ff) !important;
  color: var(--audit-text, #fff) !important;
  background: rgba(0, 200, 255, 0.09) !important;
}

.odin-audit-area {
  min-width: 0;
}

.odin-cloud-audit-toolbar {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 10px;
  margin-bottom: 12px;
}

.odin-cloud-audit-list {
  display: grid;
  gap: 10px;
}

.odin-cloud-audit-item {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  padding: 13px;
  border: 1px solid var(--audit-line, rgba(148, 163, 184, 0.2));
  border-radius: 13px;
  background: var(--audit-surface-2, rgba(15, 23, 42, 0.5));
  color: var(--audit-text, #fff);
}

.odin-cloud-audit-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--audit-accent, #00c8ff);
  border-radius: 11px;
  color: var(--audit-accent, #00c8ff);
}

.odin-cloud-audit-copy {
  min-width: 0;
}

.odin-cloud-audit-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}

.odin-cloud-audit-head strong {
  overflow-wrap: anywhere;
}

.odin-cloud-audit-head time {
  color: var(--audit-muted, #94a3b8);
  font-size: 0.72rem;
  white-space: nowrap;
}

.odin-cloud-audit-copy p {
  margin: 5px 0 8px;
  color: var(--audit-text, #fff);
}

.odin-cloud-audit-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  color: var(--audit-muted, #94a3b8);
  font-size: 0.74rem;
}

.odin-cloud-audit-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 12px;
}

/* Tema claro completo do Sistema Nervoso CoNNecta */

body.light-mode .snc-shell {
  --snc-bg: transparent;
  --snc-card: #ffffff;
  --snc-card-2: #f8fafc;
  --snc-border: rgba(15, 23, 42, 0.14);
  --snc-border-strong: rgba(2, 132, 199, 0.42);
  --snc-blue: #0369a1;
  --snc-green: #047857;
  --snc-red: #b91c1c;
  --snc-orange: #b45309;
  --snc-yellow: #a16207;
  --snc-text: #0f172a;
  --snc-muted: #475569;
  color: var(--snc-text) !important;
  background: transparent !important;
  box-shadow: none !important;
  --snc-panel: var(--panel, #fff);
  --snc-surface: var(--panel, #fff);
  --snc-surface-2: var(--panel-2, #f8fafc);
}

body.light-mode
  .snc-shell
  :is(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    strong,
    b,
    .snc-row-title,
    .snc-detail-line .v,
    .snc-kpi strong,
    .snc-metric-line strong,
    .snc-nucleo-core strong,
    .snc-alert-type-kpis strong,
    .snc-live-clock-card strong,
    .snc-mini-kpi-resolver strong
  ) {
  color: #0f172a !important;
  text-shadow: none !important;
}

body.light-mode .snc-header,
body.light-mode .snc-kpi,
body.light-mode .snc-panel,
body.light-mode .snc-filter-bar,
body.light-mode .snc-side-panel,
body.light-mode .snc-events-main,
body.light-mode .snc-alert-table-wrap,
body.light-mode .snc-modal-main,
body.light-mode .snc-modal-history,
body.light-mode .snc-alert-type-kpis > div,
body.light-mode .snc-live-clock-card,
body.light-mode .snc-mini-kpi-resolver,
body.light-mode .snc-last-update-box {
  background: #fff !important;
  border-color: var(--snc-border) !important;
  color: var(--snc-text) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
}

body.light-mode .snc-input,
body.light-mode .snc-select,
body.light-mode .snc-btn,
body.light-mode .snc-view-btn,
body.light-mode .snc-link-btn {
  background: #fff !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}

body.light-mode .snc-input::placeholder {
  color: #64748b !important;
  opacity: 1;
}

body.light-mode .snc-select option {
  background: #fff;
  color: #0f172a;
}

body.light-mode .snc-btn-primary,
body.light-mode .snc-view-btn.active {
  background: rgba(2, 132, 199, 0.09) !important;
  color: #075985 !important;
  border-color: #0284c7 !important;
}

body.light-mode .snc-event-row,
body.light-mode .snc-event-card,
body.light-mode .snc-severity-item,
body.light-mode .snc-mini-item,
body.light-mode .snc-metric-line,
body.light-mode .snc-nucleo-node,
body.light-mode .snc-history-item,
body.light-mode .snc-machine-event,
body.light-mode .snc-overview-alert-card-v007,
body.light-mode .snc-card-occ,
body.light-mode .snc-section-note {
  background: #f8fafc !important;
  color: #0f172a !important;
  border-color: #dbe4ef !important;
}

body.light-mode .snc-event-row:hover,
body.light-mode .snc-event-row.active,
body.light-mode .snc-event-card:hover,
body.light-mode .snc-history-item:hover,
body.light-mode .snc-machine-event:hover,
body.light-mode .snc-overview-alert-card-v007:hover {
  background: #ecfeff !important;
  border-color: #0891b2 !important;
}

body.light-mode .snc-detail-line,
body.light-mode .snc-card-meta,
body.light-mode .snc-panel-title,
body.light-mode .snc-modal-head,
body.light-mode .snc-modal-actions {
  border-color: #dbe4ef !important;
}

body.light-mode .snc-table {
  color: #0f172a !important;
}

body.light-mode .snc-table th {
  background: #eaf0f6 !important;
  color: #075985 !important;
  border-color: #cbd5e1 !important;
}

body.light-mode .snc-table td {
  background: #fff !important;
  color: #0f172a !important;
  border-color: #dbe4ef !important;
}

body.light-mode .snc-table tr:nth-child(even) td {
  background: #f8fafc !important;
}

body.light-mode .snc-table tr:hover td {
  background: #ecfeff !important;
}

body.light-mode .snc-modal {
  background: rgba(15, 23, 42, 0.48) !important;
}

body.light-mode .snc-modal-box {
  background: #fff !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 28px 80px rgba(15, 23, 42, 0.26) !important;
}

body.light-mode .snc-modal-head button {
  color: #0f172a !important;
}

body.light-mode .snc-modal-hero {
  background: #f8fafc !important;
  color: #0f172a !important;
  border-color: #dbe4ef !important;
}

body.light-mode .snc-modal-hero.critico {
  background: #fff1f2 !important;
  border-color: #fda4af !important;
}

body.light-mode .snc-json-box {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}

body.light-mode .snc-nucleo-teia {
  background: radial-gradient(
    circle at center,
    rgba(2, 132, 199, 0.1),
    transparent 62%
  ) !important;
}

body.light-mode .snc-nucleo-core {
  background: #e0f2fe !important;
  border-color: #0284c7 !important;
  box-shadow: 0 0 24px rgba(2, 132, 199, 0.16) !important;
}

body.light-mode .snc-nucleo-teia::after {
  border-color: rgba(15, 23, 42, 0.12) !important;
}

body.light-mode .snc-check-list label,
body.light-mode .snc-switch-line,
body.light-mode .snc-muted,
body.light-mode .snc-row-sub,
body.light-mode .snc-event-card p,
body.light-mode .snc-detail-line .l,
body.light-mode .snc-severity-item,
body.light-mode .snc-mini-item,
body.light-mode .snc-form-grid label,
body.light-mode .snc-history-item small,
body.light-mode .snc-live-clock-card span,
body.light-mode .snc-mini-kpi-resolver span,
body.light-mode .snc-last-update-box span,
body.light-mode .snc-live-clock-card small,
body.light-mode .snc-last-update-box small {
  color: #475569 !important;
}

/* Escala visual solicitada para telas abaixo de 1400px. O relatório incorporado
   herda o zoom do painel e não recebe uma segunda redução. */

@media screen and (max-width: 1399px) and (min-width: 701px) {
  body.painel-body,
  body.connecta-standalone-page,
  body.connecta-report-frame:not(.connecta-report-embedded-frame) {
    zoom: 0.9;
    min-height: 117.6470588vh;
  }

  .painel-body .sidebar {
    min-height: 117.6470588vh;
  }

  .painel-body .layout {
    max-width: 1200px;
  }

  main {
    max-width: 940px;
  }
}

@media print {
  body.painel-body,
  body.connecta-standalone-page,
  body.connecta-report-frame,
  body.connecta-report-frame:not(.connecta-report-embedded-frame) {
    zoom: 1 !important;
    width: auto !important;
    min-height: 0 !important;
  }
}

@media (max-width: 720px) {
  .connecta-login-session-modal {
    padding: 10px;
  }

  .connecta-login-session-dialog > header {
    align-items: flex-start;
  }

  .connecta-login-session-item {
    grid-template-columns: auto 36px minmax(0, 1fr);
    padding: 11px;
  }

  .connecta-login-session-dialog > footer {
    flex-direction: column-reverse;
  }

  .connecta-login-session-dialog > footer .btn {
    width: 100%;
  }

  .odin-cloud-audit-toolbar {
    grid-template-columns: 1fr;
  }

  .odin-cloud-audit-head {
    flex-direction: column;
    gap: 4px;
  }
}

/* Complementos de tema claro para versões recentes do SNC (v009-v076). */

body.light-mode .snc-overview-alert-card-v009,
body.light-mode .snc-alerta-descricao-completa,
body.light-mode .snc-excecao-summary-v011 > div,
body.light-mode .snc-form-section-v011,
body.light-mode .snc-switch-card-v011,
body.light-mode .snc-modal-v075 .snc-modal-section-header-v075,
body.light-mode .snc-modal .snc-detail-stack-v075,
body.light-mode #snc-hover-preview-v046 {
  background: #f8fafc !important;
  color: #0f172a !important;
  border-color: #dbe4ef !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08) !important;
}

body.light-mode .snc-overview-alert-card-v009:hover,
body.light-mode .snc-machine-event:hover,
body.light-mode .snc-machine-event-v075:hover,
body.light-mode #view-snc-visao-geral .snc-overview-row-v012:hover,
body.light-mode #view-snc-alertas .snc-table tbody tr:hover,
body.light-mode #view-snc-tools-report .snc-table tbody tr:hover {
  background: #ecfeff !important;
  color: #0f172a !important;
  border-color: #0891b2 !important;
  box-shadow: 0 8px 20px rgba(2, 132, 199, 0.08) !important;
}

body.light-mode
  :is(
    .snc-alert-title-v007 strong,
    .snc-alert-machine-v007 strong,
    .snc-excecao-summary-v011 strong,
    .snc-form-section-title-v011,
    .snc-form-grid-v011 .snc-label,
    .snc-modal-body-v011 .snc-label,
    .snc-modal-v075 .snc-modal-section-header-v075 h2,
    .snc-modal .snc-detail-line .v,
    .snc-panel-title-v075,
    .snc-modal .snc-panel-title-v075,
    #view-snc-visao-geral .snc-overview-head-v012 button
  ) {
  color: #0f172a !important;
}

body.light-mode
  :is(
    .snc-alert-date-v007,
    .snc-alerta-descricao-completa,
    .snc-modal-subtitle-v011,
    .snc-excecao-summary-v011 small,
    .snc-help-v011,
    .snc-modal-v075 .snc-modal-section-header-v075 small,
    .snc-modal-v075 .snc-modal-section-header-v075 p,
    .snc-modal .snc-detail-line .l,
    #snc-hover-preview-v046 p,
    #view-snc-visao-geral #snc-relogio-data-gmt,
    #view-snc-visao-geral .snc-pagination-controls-v067 label,
    .snc-pagination-controls-v067 label
  ) {
  color: #475569 !important;
}

body.light-mode .snc-observacao-v007 {
  background: #fff !important;
  color: #0f172a !important;
}

body.light-mode #view-snc-alertas .snc-alertas-metric-table-v075 thead th,
body.light-mode #view-snc-alertas .snc-table thead th,
body.light-mode #view-snc-tools-report .snc-table thead th {
  background: #eaf0f6 !important;
  color: #075985 !important;
  border-color: #cbd5e1 !important;
}

body.light-mode #view-snc-visao-geral .snc-pagination-controls-v067 select,
body.light-mode .snc-pagination-controls-v067 select {
  background: #fff !important;
  color: #0f172a !important;
  border-color: #94a3b8 !important;
}

body.light-mode .snc-modal .snc-modal-head,
body.light-mode .snc-modal .snc-modal-head-v011,
body.light-mode .snc-modal-head,
body.light-mode .snc-modal-head-v011 {
  background: #f8fafc !important;
  color: #0f172a !important;
  border-color: #dbe4ef !important;
}

body.light-mode .snc-modal .snc-modal-close-v075,
body.light-mode .snc-modal .snc-modal-head > button,
body.light-mode .snc-modal .snc-modal-head-v011 > button {
  background: #fff !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}

body.light-mode .snc-btn-danger-v046 {
  background: #fff1f2 !important;
  color: #be123c !important;
  border-color: #fda4af !important;
}

body.light-mode .snc-card-occ {
  background: #ecfeff !important;
  color: #164e63 !important;
}

body.light-mode .snc-card-occ strong {
  color: #0369a1 !important;
}

/* Nome usado no template atual da barra de auditoria administrativa. */

.odin-audit-cloud-toolbar {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 12px;
}

.odin-audit-cloud-card {
  border: 1px solid var(--audit-line, rgba(148, 163, 184, 0.2));
  border-radius: 14px;
  padding: 14px;
  background: var(--audit-surface, rgba(15, 23, 42, 0.38));
}

@media (max-width: 720px) {
  .odin-audit-cloud-toolbar {
    grid-template-columns: 1fr;
  }
}

/* ======================================================
   CoNNecta Cloud v1.11.10
   SNC claro integrado, scrollbars visíveis e transição de tema
   ====================================================== */

/* Scrollbars do sistema: sempre visíveis e coerentes nos dois temas. */

@media screen {
  html,
  body,
  * {
    scrollbar-width: thin;
    scrollbar-color: #2584e3 rgba(148, 163, 184, 0.2);
  }

  ::-webkit-scrollbar {
    width: 10px !important;
    height: 10px !important;
    display: block !important;
  }

  ::-webkit-scrollbar-track {
    background: rgba(148, 163, 184, 0.18);
    border-radius: 6px;
  }

  ::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, #2b537c, #2584e3 60%) !important;
    border: 2px solid transparent;
    background-clip: padding-box !important;
    border-radius: 6px !important;
    min-height: 32px;
    flex-shrink: 0;
  }

  ::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(135deg, #32699f, #3196ff 60%) !important;
    background-clip: padding-box !important;
  }

  body.light-mode ::-webkit-scrollbar-track {
    background: #dbe4ef;
  }

  body.dark-mode ::-webkit-scrollbar-track {
    background: rgba(15, 23, 42, 0.72);
  }
}

/* A troca usa a View Transition API no Chrome e uma transição CSS como fallback. */

::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 360ms;
  animation-timing-function: ease-in-out;
  animation: none !important;
}

body.theme-initializing,
body.theme-initializing * {
  transition: none !important;
}

body.connecta-theme-transitioning,
body.connecta-theme-transitioning
  :is(
    main,
    aside,
    section,
    article,
    header,
    footer,
    nav,
    div,
    button,
    input,
    select,
    textarea,
    table,
    th,
    td,
    a,
    span,
    p,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6
  ) {
  transition:
    background-color 320ms ease,
    background 320ms ease,
    color 260ms ease,
    border-color 320ms ease,
    box-shadow 320ms ease,
    fill 260ms ease,
    stroke 260ms ease !important;
}

/* Tema claro do SNC alinhado ao restante do CoNNecta Cloud. */

body.light-mode .snc-shell :is(h1, h2, h3, h4, h5, h6, .snc-kicker) {
  color: #0f172a !important;
}

body.light-mode
  .snc-shell
  :is(p, small, .snc-muted, .snc-row-sub, .snc-help-v011) {
  color: #64748b !important;
}

body.light-mode
  .snc-shell
  :is(
    .snc-header,
    .snc-panel,
    .snc-filter-bar,
    .snc-side-panel,
    .snc-events-main,
    .snc-alert-table-wrap,
    .snc-config-card-v010,
    .snc-form-section-v011,
    .snc-switch-card-v011,
    .snc-section-note,
    .snc-modal-main,
    .snc-modal-history
  ) {
  background: var(--panel, #fff) !important;
  color: var(--text-color, #212529) !important;
  border-color: var(--line, #e5e7eb) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
}

body.light-mode
  .snc-shell
  :is(.snc-input, .snc-select, .snc-btn, .snc-view-btn, .snc-link-btn) {
  background: #fff !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}

body.light-mode
  .snc-shell
  :is(.snc-btn-primary, .snc-view-btn.active, .snc-refresh-btn-v066) {
  background: linear-gradient(135deg, #0d1925, #0c2f51 60%) !important;
  color: #fff !important;
  border-color: #2584e3 !important;
}

body.light-mode .snc-shell :is(.snc-table, .snc-table td, .snc-table th) {
  color: #0f172a !important;
  border-color: #dbe4ef !important;
}

body.light-mode .snc-shell .snc-table th {
  background: #eaf0f6 !important;
  color: #075985 !important;
}

body.light-mode .snc-shell .snc-table td {
  background: #fff !important;
}

body.light-mode .snc-shell .snc-table tr:nth-child(even) td {
  background: #f8fafc !important;
}

/* A logo do SNC permanece sobre um card escuro, igual ao relógio no tema escuro. */

.snc-logo-card {
  width: max-content;
  min-width: 170px;
  min-height: 62px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border: 1px solid rgba(0, 200, 255, 0.22);
  border-radius: 12px;
  background: rgba(5, 13, 24, 0.72);
}

.snc-logo-card img {
  max-width: 154px !important;
  max-height: 48px !important;
  object-fit: contain;
}

body.light-mode #view-snc-visao-geral .snc-logo-card {
  background: rgba(5, 13, 24, 0.92) !important;
  border-color: rgba(0, 200, 255, 0.34) !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.2);
}

/* Na caixa de entrada/alertas, cards e tipografia mantêm o visual operacional escuro. */

body.light-mode
  #view-snc-visao-geral
  :is(
    .snc-overview-alert-card-v007,
    .snc-overview-alert-card-v009,
    .snc-overview-row-v012
  ) {
  background: var(--white);
  color: var(--text-color);
  border-color: rgba(0, 194, 255, 0.28) !important;
  box-shadow: none !important;
}

/* body.light-mode #view-snc-visao-geral :is(
    .snc-overview-alert-card-v007,
    .snc-overview-alert-card-v009,
    .snc-overview-row-v012
  ):hover {
  background: rgba(0, 65, 91, 0.92) !important;
  color: #fff !important;
  border-color: rgba(0, 194, 255, 0.75) !important;
} */

body.light-mode
  #view-snc-visao-geral
  :is(
    .snc-overview-alert-card-v007,
    .snc-overview-alert-card-v009,
    .snc-overview-row-v012
  ):hover {
  background-color: #adadad !important;
  border-color: transparent !important;
}

body.light-mode
  #view-snc-visao-geral
  :is(
    .snc-alert-title-v007 strong,
    .snc-alert-machine-v007 strong,
    .snc-overview-alert-card-v009 strong,
    .snc-overview-alert-card-v009 span,
    .snc-overview-alert-card-v009 p
  ) {
  color: inherit !important;
}

body.light-mode
  #view-snc-visao-geral
  :is(.snc-alert-date-v007, .snc-card-meta, .snc-row-sub) {
  color: #b7c8dc !important;
}

/* Modais e telas auxiliares do SNC seguem o modal claro padrão do sistema. */

body.light-mode
  .snc-modal
  :is(
    .snc-modal-box,
    .snc-modal-main,
    .snc-modal-history,
    .snc-modal-head,
    .snc-modal-body-v011
  ) {
  background: #fff !important;
  color: #0f172a !important;
  border-color: #dbe4ef !important;
}

body.light-mode .snc-modal :is(h1, h2, h3, h4, h5, h6, strong, .v) {
  color: #0f172a !important;
}

body.light-mode .snc-modal :is(p, small, .l, .snc-muted) {
  color: #64748b !important;
}

/* Complemento do tema claro SNC: superfícies funcionais seguem o painel. */

body.light-mode
  .snc-shell:not(#view-snc-alertas)
  :is(
    .snc-card,
    .snc-kpi,
    .snc-report-card,
    .snc-report-panel,
    .snc-event-card,
    .snc-trigger-card,
    .snc-config-card,
    .snc-config-panel,
    .snc-section-card-v011,
    .snc-metric-panel,
    .snc-status-card,
    .snc-config-status-card,
    .snc-trigger-excecoes-panel,
    .snc-detalhe-panel
  ) {
  background: var(--panel, #fff) !important;
  color: var(--text-color, #0f172a) !important;
  border-color: var(--line, #dbe4ef) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
}

body.light-mode
  .snc-shell:not(#view-snc-alertas)
  :is(
    .snc-event-row,
    .snc-history-item,
    .snc-machine-event,
    .snc-mini-item,
    .snc-severity-item,
    .snc-switch-line,
    .snc-switch-card-v011,
    .snc-section-note,
    .snc-card-occ
  ) {
  background: var(--panel-2, #f8fafc) !important;
  color: #0f172a !important;
  border-color: #dbe4ef !important;
}

body.light-mode
  .snc-shell:not(#view-snc-alertas)
  :is(input, select, textarea, .snc-input, .snc-select, .snc-textarea-v011) {
  background: #fff !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
  color-scheme: light;
}

/* A tela de Alertas mantém seus cards e fontes operacionais escuros, conforme solicitado. */

body.light-mode
  #view-snc-alertas
  :is(
    .snc-alert-table-wrap,
    .snc-card,
    .snc-metric-panel,
    .snc-card-occ,
    .snc-alert-type-kpis > div,
    .snc-alerts-table,
    .snc-table
  ) {
  background: rgba(5, 18, 34, 0.96) !important;
  color: #f8fafc !important;
  border-color: rgba(0, 194, 255, 0.24) !important;
  box-shadow: none !important;
}

body.light-mode #view-snc-alertas :is(.snc-alerts-table th, .snc-table th) {
  background: rgba(3, 15, 31, 0.98) !important;
  color: #fff !important;
  border-color: rgba(0, 194, 255, 0.2) !important;
}

body.light-mode #view-snc-alertas :is(.snc-alerts-table td, .snc-table td) {
  background: rgba(5, 18, 34, 0.96) !important;
  color: #f8fafc !important;
  border-color: rgba(0, 194, 255, 0.16) !important;
}

body.light-mode
  #view-snc-alertas
  :is(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    strong,
    b,
    .snc-row-title,
    .snc-card-occ,
    .snc-card-occ strong
  ) {
  color: #f8fafc !important;
}

body.light-mode
  #view-snc-alertas
  :is(p, small, .snc-muted, .snc-row-sub, .snc-card-meta) {
  color: #b7c8dc !important;
}

/* Configurações RMM usam as superfícies do tema ativo, sem fundo Bootstrap fixo. */

.connecta-rmm-setting-card {
  background: var(--panel, rgba(15, 23, 42, 0.42));
  color: var(--text-color, #f8fafc);
  border-color: var(--line, rgba(148, 163, 184, 0.24)) !important;
}

body.light-mode .connecta-rmm-setting-card {
  background: #fff;
  color: #0f172a;
}

/* ===== CoNNecta Cloud v1.11.11: padronização final ===== */

body.connecta-theme-transitioning {
  transition:
    background-color 140ms ease,
    color 140ms ease !important;
}

body.connecta-theme-transitioning .main,
body.connecta-theme-transitioning .sidebar,
body.connecta-theme-transitioning .content {
  transition:
    background-color 140ms ease,
    color 140ms ease,
    border-color 140ms ease !important;
}

body.connecta-theme-transitioning *:not(.main):not(.sidebar):not(.content) {
  transition-duration: 0ms !important;
}

/* Superfícies SNC consistentes com o design system */

.snc-shell {
  --snc-radius: 14px;
}

.snc-shell
  :is(
    .snc-panel,
    .snc-card,
    .snc-card-occ,
    .snc-metric-panel,
    .snc-filter-card,
    .snc-table-wrap,
    .snc-alert-table-wrap,
    .snc-rule-card,
    .snc-trigger-card,
    .snc-config-card,
    .snc-setting-card,
    .snc-section,
    .snc-toolbar,
    .snc-chart-card,
    .snc-summary-card,
    .snc-kpi-card,
    .snc-info-card,
    .snc-switch-card-v011,
    .snc-report-card,
    .snc-form-card,
    .snc-guide-card
  ) {
  border-radius: var(--snc-radius) !important;
  overflow: hidden;
}

.snc-shell
  :is(
    input,
    select,
    textarea,
    button,
    .btn,
    .snc-input,
    .snc-select,
    .snc-btn
  ) {
  border-radius: 10px !important;
}

.snc-shell table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.snc-shell table thead tr:first-child th:first-child {
  border-top-left-radius: 10px;
}

.snc-shell table thead tr:first-child th:last-child {
  border-top-right-radius: 10px;
}

.snc-shell table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 10px;
}

.snc-shell table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 10px;
}

body.light-mode .snc-shell:not(#view-snc-alertas) {
  background: transparent !important;
  color: #172033 !important;
}

body.light-mode
  .snc-shell:not(#view-snc-alertas)
  :is(
    .snc-panel,
    .snc-card,
    .snc-card-occ,
    .snc-metric-panel,
    .snc-filter-card,
    .snc-table-wrap,
    .snc-alert-table-wrap,
    .snc-rule-card,
    .snc-trigger-card,
    .snc-config-card,
    .snc-setting-card,
    .snc-section,
    .snc-toolbar,
    .snc-chart-card,
    .snc-summary-card,
    .snc-kpi-card,
    .snc-info-card,
    .snc-switch-card-v011,
    .snc-report-card,
    .snc-form-card,
    .snc-guide-card
  ) {
  background: #ffffff !important;
  color: #172033 !important;
  border: 1px solid #d7e0eb !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
}

body.light-mode
  .snc-shell:not(#view-snc-alertas)
  :is(h1, h2, h3, h4, h5, h6, strong, b, label, th, td, p, small, span) {
  color: inherit;
}

body.light-mode
  .snc-shell:not(#view-snc-alertas)
  :is(.snc-muted, .text-muted, .small-muted, .snc-subtitle) {
  color: #64748b !important;
}

body.light-mode .snc-shell:not(#view-snc-alertas) table th {
  background: #e9f0f7 !important;
  color: #12314f !important;
}

body.light-mode .snc-shell:not(#view-snc-alertas) table td {
  background: #ffffff !important;
  color: #172033 !important;
  border-color: #d7e0eb !important;
}

body.light-mode .snc-shell:not(#view-snc-alertas) :is(input, select, textarea) {
  background: #fff !important;
  color: #172033 !important;
  border: 1px solid #c9d5e3 !important;
}

body.dark-mode
  .snc-shell
  :is(
    .snc-panel,
    .snc-card,
    .snc-card-occ,
    .snc-metric-panel,
    .snc-filter-card,
    .snc-table-wrap,
    .snc-alert-table-wrap,
    .snc-rule-card,
    .snc-trigger-card,
    .snc-config-card,
    .snc-setting-card,
    .snc-section,
    .snc-toolbar,
    .snc-chart-card,
    .snc-summary-card,
    .snc-kpi-card,
    .snc-info-card,
    .snc-switch-card-v011,
    .snc-report-card,
    .snc-form-card,
    .snc-guide-card
  ) {
  border: 1px solid rgba(0, 194, 255, 0.22) !important;
  border-radius: var(--snc-radius) !important;
}


/* ==========================================================================
   R5 - Padronizacao final do tema claro SNC
   A tela Relatorios deixa de manter a excecao operacional escura e passa a
   usar as mesmas superficies claras de Alertas, Analise de Eventos, Regras
   e Configuracoes SNC. O tema escuro nao e alterado.
   ========================================================================== */
body.light-mode #view-snc-alertas {
  background: transparent !important;
  color: #172033 !important;
}

body.light-mode #view-snc-alertas :is(
  .snc-header,
  .snc-panel,
  .snc-filter-bar,
  .snc-alert-table-wrap,
  .snc-card,
  .snc-metric-panel,
  .snc-nucleo-panel,
  .snc-card-occ,
  .snc-alert-type-kpis > div,
  .snc-kpi,
  .snc-alerts-table,
  .snc-table
) {
  background: #ffffff !important;
  color: #172033 !important;
  border-color: #d7e0eb !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
}

body.light-mode #view-snc-alertas :is(
  h1, h2, h3, h4, h5, h6, strong, b, label,
  .snc-row-title, .snc-panel-title, .snc-card-occ strong
) {
  color: #172033 !important;
  text-shadow: none !important;
}

body.light-mode #view-snc-alertas :is(
  p, small, .snc-muted, .snc-row-sub, .snc-card-meta, .snc-help-v011
) {
  color: #64748b !important;
}

body.light-mode #view-snc-alertas :is(
  .snc-input, .snc-select, input, select, textarea
) {
  background: #ffffff !important;
  color: #172033 !important;
  border-color: #c9d5e3 !important;
  color-scheme: light;
}

body.light-mode #view-snc-alertas :is(.snc-input, input)::placeholder {
  color: #64748b !important;
  opacity: 1;
}

body.light-mode #view-snc-alertas .snc-table th,
body.light-mode #view-snc-alertas .snc-alerts-table th,
body.light-mode #view-snc-alertas .snc-alertas-metric-table-v075 thead th {
  background: #e9f0f7 !important;
  color: #12314f !important;
  border-color: #cbd5e1 !important;
}

body.light-mode #view-snc-alertas .snc-table td,
body.light-mode #view-snc-alertas .snc-alerts-table td,
body.light-mode #view-snc-alertas .snc-alertas-metric-table-v075 td {
  background: #ffffff !important;
  color: #172033 !important;
  border-color: #d7e0eb !important;
}

body.light-mode #view-snc-alertas .snc-table tbody tr:nth-child(even) td {
  background: #f8fafc !important;
}

body.light-mode #view-snc-alertas .snc-table tbody tr:hover td {
  background: #ecfeff !important;
  color: #172033 !important;
}

body.light-mode #view-snc-alertas :is(
  .snc-metric-line,
  .snc-machine-event,
  .snc-machine-event-v075,
  .snc-severity-item,
  .snc-mini-item
) {
  background: #f8fafc !important;
  color: #172033 !important;
  border-color: #dbe4ef !important;
}

body.light-mode #view-snc-alertas :is(
  .snc-metric-line, .snc-machine-event, .snc-machine-event-v075
):hover {
  background: #ecfeff !important;
  border-color: #0891b2 !important;
}

body.light-mode #view-snc-alertas .snc-nucleo-teia {
  background: radial-gradient(circle at center, rgba(2, 132, 199, 0.10), transparent 62%) !important;
}

body.light-mode #view-snc-alertas .snc-nucleo-core {
  background: #e0f2fe !important;
  color: #0f172a !important;
  border-color: #0284c7 !important;
  box-shadow: 0 0 24px rgba(2, 132, 199, 0.16) !important;
}

body.light-mode #view-snc-alertas .snc-nucleo-node {
  background: #f8fafc !important;
  color: #172033 !important;
  border-color: #dbe4ef !important;
}


/* HSE comparativo: mantém os mesmos tokens, botões e superfícies do design system. */
.hse-body #computadorSelectList .hse-computer-option {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

.hse-body #computadorSelectList .hse-computer-option .form-check-input {
  flex: 0 0 auto;
  margin: 0 !important;
}

.hse-body #computadorSelectList .hse-computer-option-name {
  min-width: 0;
  overflow-wrap: anywhere;
}

.hse-body .hse-search-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
}

.hse-body .hse-search-actions .btn-hse {
  flex: 1 1 180px;
  min-height: 38px;
}

.hse-body .hse-selected-periods {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--cc-radius, 12px);
  background: var(--panel-2);
  color: var(--text-color);
}

.hse-body .hse-selected-periods-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  font-size: 0.78rem;
  font-weight: 650;
}

.hse-body .hse-selected-periods-header .small {
  color: var(--muted);
  font-weight: 500;
}

.hse-body .hse-selected-periods-list {
  display: grid;
  gap: 8px;
}

.hse-body .hse-selected-period-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.hse-body .hse-selected-period-label {
  min-width: 0;
  color: var(--text-color);
  font-size: 0.75rem;
  overflow-wrap: anywhere;
}

.hse-body .hse-selected-period-remove,
.hse-body .hse-report-close {
  flex: 0 0 auto;
}

.hse-body .report-instance {
  position: relative;
}

.hse-body .hse-report-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 6;
}

.hse-body .hse-report-title {
  padding-right: 38px !important;
}

body.hse-body.dark-mode .hse-selected-period-remove,
body.hse-body.dark-mode .hse-report-close {
  filter: invert(1) grayscale(1) brightness(2);
}

@media screen and (max-width: 760px) {
  .hse-body .hse-search-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .hse-body .hse-search-actions .btn-hse {
    width: 100%;
  }

  .hse-body .hse-selected-periods-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}

/* HSE comparativo R2: impede que a regra responsiva dos campos do filtro
   transforme os checkboxes do dropdown de computadores em controles de 100%. */
body.hse-body.connecta-report-frame #computadorSelectList .hse-computer-option input.form-check-input {
  width: 14px !important;
  min-width: 14px !important;
  max-width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  max-height: 14px !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 0 0 14px !important;
  transform: none !important;
}


/* ======================================================
   Auditoria ODIN R7 - navegação simples e acessos unificados
   Mantém variáveis, cores, bordas e tipografia do CoNNecta.
   ====================================================== */

.odin-audit-view-tabs {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  padding: 5px;
  border: 1px solid var(--audit-line);
  border-radius: 12px;
  background: var(--audit-surface-2);
}

.odin-audit-view-tabs .btn {
  min-height: 32px;
  padding: 6px 12px;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--audit-muted) !important;
  font-size: 0.72rem;
  font-weight: 700;
}

.odin-audit-view-tabs .btn:hover,
.odin-audit-view-tabs .btn.active {
  border-color: var(--audit-accent) !important;
  background: color-mix(
    in srgb,
    var(--audit-accent) 9%,
    var(--audit-surface)
  ) !important;
  color: var(--audit-text) !important;
}

.odin-audit-view-tabs .btn i {
  color: var(--audit-accent);
}

.odin-audit-presets {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid var(--audit-line);
  border-radius: 12px;
  background: var(--audit-surface);
}

.odin-audit-presets-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: 3px;
  color: var(--audit-text);
  font-size: 0.72rem;
  font-weight: 800;
}

.odin-audit-presets-label i {
  color: var(--audit-accent);
}

.odin-audit-preset-btn {
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid var(--audit-line);
  border-radius: 8px;
  background: var(--audit-surface-2);
  color: var(--audit-muted);
  font: inherit;
  font-size: 0.68rem;
  font-weight: 700;
  cursor: pointer;
  transition:
    border-color 0.15s ease,
    color 0.15s ease,
    background 0.15s ease;
}

.odin-audit-preset-btn:hover,
.odin-audit-preset-btn.active {
  border-color: var(--audit-accent);
  color: var(--audit-text);
  background: color-mix(
    in srgb,
    var(--audit-accent) 10%,
    var(--audit-surface-2)
  );
}

.odin-audit-page .odin-audit-toolbar {
  grid-template-columns:
    minmax(220px, 1.35fr)
    minmax(135px, 0.72fr)
    minmax(160px, 0.86fr)
    minmax(170px, 0.9fr)
    auto;
  gap: 10px;
  margin: 0 0 14px;
  padding: 12px;
  border-radius: 12px;
}

.odin-audit-page .odin-audit-actions {
  align-items: flex-end;
}

.odin-audit-page .odin-audit-actions .btn {
  min-height: 34px;
  white-space: nowrap;
}

.odin-audit-view-panel {
  min-width: 0;
}

.odin-audit-report-card,
.odin-audit-unified-card {
  min-width: 0;
  padding: 13px;
  border: 1px solid var(--audit-line);
  border-radius: 13px;
  background: var(--audit-surface);
  color: var(--audit-text);
}

.odin-audit-card-help {
  margin: -4px 0 11px;
  color: var(--audit-muted);
  font-size: 0.72rem;
  line-height: 1.45;
}

.odin-audit-card-help strong {
  color: var(--audit-text);
}

.odin-audit-unified-card .odin-audit-sessions-list {
  display: grid;
  gap: 9px;
  max-height: min(64vh, 720px);
  overflow: auto;
  padding: 1px 4px 1px 1px;
  scrollbar-color: var(--audit-accent) transparent;
}

.odin-audit-access-card {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--audit-line);
  border-radius: 12px;
  background: var(--audit-surface-2);
  color: var(--audit-text);
}

.odin-audit-access-card.expanded {
  border-color: color-mix(
    in srgb,
    var(--audit-accent) 72%,
    var(--audit-line)
  );
}

.odin-audit-access-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.odin-audit-access-identity {
  min-width: 0;
}

.odin-audit-access-identity strong,
.odin-audit-access-identity span {
  display: block;
}

.odin-audit-access-identity strong {
  color: var(--audit-text);
  font-size: 0.84rem;
  line-height: 1.25;
}

.odin-audit-access-identity span {
  margin-top: 3px;
  color: var(--audit-accent);
  font-size: 0.7rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.odin-audit-access-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.odin-audit-access-facts > div,
.odin-audit-simple-grid > div,
.odin-audit-technical-grid > div {
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid var(--audit-line);
  border-radius: 9px;
  background: var(--audit-surface);
}

.odin-audit-access-facts span,
.odin-audit-simple-grid span,
.odin-audit-technical-grid span {
  display: block;
  margin-bottom: 3px;
  color: var(--audit-muted);
  font-size: 0.64rem;
}

.odin-audit-access-facts strong,
.odin-audit-simple-grid strong,
.odin-audit-technical-grid strong {
  display: block;
  color: var(--audit-text);
  font-size: 0.72rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.odin-audit-access-last {
  margin-top: 9px;
  padding: 8px 9px;
  border-left: 3px solid var(--audit-accent);
  border-radius: 0 8px 8px 0;
  background: color-mix(
    in srgb,
    var(--audit-accent) 5%,
    var(--audit-surface)
  );
}

.odin-audit-access-last span {
  display: block;
  margin-bottom: 2px;
  color: var(--audit-muted);
  font-size: 0.63rem;
  font-weight: 700;
}

.odin-audit-access-last p {
  margin: 0;
  color: var(--audit-text);
  font-size: 0.71rem;
  line-height: 1.4;
}

.odin-audit-detail-toggle {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  margin-top: 9px;
  padding: 5px 9px !important;
  font-size: 0.68rem !important;
}

.odin-audit-detail-toggle small {
  margin-left: 2px;
  color: var(--audit-muted);
  font-size: 0.62rem;
}

.odin-audit-detail-toggle.active {
  border-color: var(--audit-accent) !important;
}

.odin-audit-access-detail {
  margin-top: 11px;
  padding-top: 11px;
  border-top: 1px solid var(--audit-line);
}

.odin-audit-detail-title {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
  color: var(--audit-text);
  font-size: 0.75rem;
  font-weight: 800;
}

.odin-audit-detail-title i {
  color: var(--audit-accent);
}

.odin-audit-simple-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.odin-audit-simple-grid .odin-audit-status-pill {
  display: inline-flex;
  width: fit-content;
  margin-top: 1px;
}

.odin-audit-technical {
  margin-top: 9px;
  border: 1px solid var(--audit-line);
  border-radius: 9px;
  background: var(--audit-surface-2);
}

.odin-audit-technical > summary,
.odin-audit-event-more > summary {
  cursor: pointer;
  list-style: none;
  color: var(--audit-muted);
  font-size: 0.68rem;
  font-weight: 700;
}

.odin-audit-technical > summary {
  padding: 8px 10px;
}

.odin-audit-technical > summary::-webkit-details-marker,
.odin-audit-event-more > summary::-webkit-details-marker {
  display: none;
}

.odin-audit-technical > summary::after,
.odin-audit-event-more > summary::after {
  content: "▾";
  float: right;
  color: var(--audit-accent);
}

.odin-audit-technical[open] > summary::after,
.odin-audit-event-more[open] > summary::after {
  content: "▴";
}

.odin-audit-technical-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 0 9px 9px;
}

.odin-audit-technical-grid .wide {
  grid-column: span 3;
}

.odin-audit-event-section {
  margin-top: 14px;
}

.odin-audit-event-more {
  margin-top: 8px;
  border-top: 1px dashed var(--audit-line);
  padding-top: 7px;
}

.odin-audit-event-more > summary {
  padding: 2px 0;
}

.odin-audit-event-more .odin-event-readable-meta {
  margin-top: 8px;
}

.odin-audit-page .odin-audit-pagination {
  margin-top: 10px;
}

.odin-audit-page .odin-audit-pagination .btn {
  min-height: 28px;
  padding: 4px 8px;
  border: 1px solid var(--audit-line);
  background: var(--audit-surface-2);
  color: var(--audit-text);
  font-size: 0.66rem;
}

.odin-audit-page .odin-audit-pagination .btn:disabled {
  opacity: 0.45;
}

@media (max-width: 1200px) {
  .odin-audit-access-facts,
  .odin-audit-simple-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .odin-audit-presets {
    align-items: flex-start;
  }
}

@media (max-width: 760px) {
  .odin-audit-view-tabs {
    display: flex;
    width: 100%;
  }

  .odin-audit-view-tabs .btn {
    flex: 1 1 0;
  }

  .odin-audit-presets {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .odin-audit-presets-label {
    grid-column: 1 / -1;
  }

  .odin-audit-preset-btn {
    width: 100%;
  }

  .odin-audit-access-facts,
  .odin-audit-simple-grid,
  .odin-audit-technical-grid {
    grid-template-columns: 1fr;
  }

  .odin-audit-technical-grid .wide {
    grid-column: auto;
  }

  .odin-audit-access-head {
    align-items: flex-start;
  }
}


/* ======================================================
   Auditoria ODIN R8 - resumo 7 dias + filtros padrão
   ====================================================== */
.odin-audit-page .odin-audit-seven-day-card,
.odin-audit-page .odin-audit-filter-card,
.odin-audit-page .odin-audit-results,
.odin-audit-page .odin-audit-waiting {
  margin-bottom: 14px;
  padding: 14px;
  border: 1px solid var(--audit-line);
  border-radius: 13px;
  background: var(--audit-surface);
  color: var(--audit-text);
}

.odin-audit-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.odin-audit-section-heading.compact {
  margin-bottom: 10px;
}

.odin-audit-section-heading h3 {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: var(--audit-text);
  font-size: 0.9rem;
  font-weight: 800;
}

.odin-audit-section-heading h3 i {
  color: var(--audit-accent);
}

.odin-audit-section-heading p {
  margin: 3px 0 0;
  color: var(--audit-muted);
  font-size: 0.7rem;
}

.odin-audit-period-badge {
  flex: 0 0 auto;
  padding: 5px 9px;
  border: 1px solid var(--audit-line);
  border-radius: 999px;
  background: var(--audit-surface-2);
  color: var(--audit-muted);
  font-size: 0.66rem;
  font-weight: 700;
}

.odin-audit-seven-day-kpis,
.odin-audit-filter-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.odin-audit-seven-day-kpis > div,
.odin-audit-filter-summary-grid > div {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--audit-line);
  border-radius: 10px;
  background: var(--audit-surface-2);
}

.odin-audit-seven-day-kpis span,
.odin-audit-filter-summary-grid span {
  display: block;
  color: var(--audit-muted);
  font-size: 0.65rem;
}

.odin-audit-seven-day-kpis strong,
.odin-audit-filter-summary-grid strong {
  display: block;
  margin-top: 3px;
  color: var(--audit-text);
  font-size: 1rem;
  line-height: 1.15;
}

.odin-audit-seven-day-kpis small {
  display: block;
  margin-top: 3px;
  color: var(--audit-muted);
  font-size: 0.61rem;
}

.odin-audit-filter-grid {
  display: grid;
  grid-template-columns:
    minmax(190px, 1.15fr)
    minmax(150px, 0.9fr)
    minmax(190px, 1.1fr)
    minmax(130px, 0.72fr)
    minmax(145px, 0.78fr);
  gap: 10px;
  align-items: end;
}

.odin-audit-filter-card .odin-audit-field {
  min-width: 0;
}

.odin-audit-filter-card .odin-audit-field label {
  display: block;
  margin-bottom: 4px;
  color: var(--audit-text) !important;
  font-size: 0.68rem;
  font-weight: 700;
}

.odin-audit-required {
  color: var(--danger, #ef4444);
}

.odin-audit-type-field .form-select {
  border-color: color-mix(in srgb, var(--audit-accent) 58%, var(--audit-line)) !important;
}

.odin-audit-filter-secondary {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  margin-top: 10px;
}

.odin-audit-detail-filter {
  flex: 1 1 520px;
  max-width: 620px;
}

.odin-audit-detail-filter small {
  display: block;
  margin-top: 4px;
  color: var(--audit-muted);
  font-size: 0.61rem;
}

.odin-audit-filter-secondary .odin-audit-actions {
  margin-left: auto;
}

.odin-audit-filter-secondary .odin-audit-actions .btn {
  min-height: 34px;
  white-space: nowrap;
}

.odin-audit-waiting {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 96px;
  border-style: dashed !important;
}

.odin-audit-waiting > i {
  color: var(--audit-accent);
  font-size: 1.25rem;
}

.odin-audit-waiting strong,
.odin-audit-waiting span {
  display: block;
}

.odin-audit-waiting strong {
  color: var(--audit-text);
  font-size: 0.78rem;
}

.odin-audit-waiting span {
  margin-top: 3px;
  color: var(--audit-muted);
  font-size: 0.68rem;
}

.odin-audit-filtered-summary {
  margin-bottom: 10px;
}

.odin-audit-empty.compact,
.odin-audit-error.compact {
  min-height: 40px;
  padding: 8px 10px;
}

.odin-audit-page .odin-audit-system-list,
.odin-audit-page .odin-audit-sessions-list {
  display: grid;
  gap: 9px;
  max-height: min(65vh, 760px);
  overflow: auto;
  padding: 1px 4px 1px 1px;
  scrollbar-color: var(--audit-accent) transparent;
}

.odin-audit-system-card {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--audit-line);
  border-radius: 12px;
  background: var(--audit-surface-2);
  color: var(--audit-text);
}

.odin-audit-system-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.odin-audit-system-title {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
}

.odin-audit-system-title > i {
  margin-top: 2px;
  color: var(--audit-accent);
}

.odin-audit-system-title strong,
.odin-audit-system-title span {
  display: block;
}

.odin-audit-system-title strong {
  color: var(--audit-text);
  font-size: 0.78rem;
}

.odin-audit-system-title span {
  margin-top: 2px;
  color: var(--audit-accent);
  font-size: 0.64rem;
  font-weight: 700;
}

.odin-audit-system-message {
  margin: 9px 0;
  color: var(--audit-text);
  font-size: 0.7rem;
  line-height: 1.45;
}

.odin-audit-system-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-bottom: 8px;
}

.odin-audit-system-facts > div {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid var(--audit-line);
  border-radius: 8px;
  background: var(--audit-surface);
}

.odin-audit-system-facts span,
.odin-audit-system-facts strong {
  display: block;
}

.odin-audit-system-facts span {
  color: var(--audit-muted);
  font-size: 0.59rem;
}

.odin-audit-system-facts strong {
  margin-top: 2px;
  color: var(--audit-text);
  font-size: 0.67rem;
  overflow-wrap: anywhere;
}

.odin-audit-related-session {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 8px;
  margin: 8px 0;
  padding: 8px;
  border: 1px solid var(--audit-line);
  border-radius: 8px;
  background: var(--audit-surface);
  font-size: 0.65rem;
}

.odin-audit-related-session span {
  color: var(--audit-muted);
}

.odin-audit-related-session strong {
  color: var(--audit-text);
  overflow-wrap: anywhere;
}

.odin-audit-status-pill.success {
  color: #16a34a !important;
  border-color: color-mix(in srgb, #16a34a 55%, var(--audit-line)) !important;
}

.odin-audit-status-pill.blocked {
  color: #f59e0b !important;
  border-color: color-mix(in srgb, #f59e0b 55%, var(--audit-line)) !important;
}

@media (max-width: 1100px) {
  .odin-audit-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .odin-audit-seven-day-kpis,
  .odin-audit-filter-summary-grid,
  .odin-audit-system-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .odin-audit-filter-grid,
  .odin-audit-seven-day-kpis,
  .odin-audit-filter-summary-grid,
  .odin-audit-system-facts {
    grid-template-columns: 1fr;
  }
  .odin-audit-filter-secondary,
  .odin-audit-section-heading {
    align-items: stretch;
    flex-direction: column;
  }
  .odin-audit-detail-filter {
    max-width: none;
  }
  .odin-audit-filter-secondary .odin-audit-actions {
    margin-left: 0;
  }
}

@media print {
  .odin-audit-filter-card,
  .odin-audit-waiting,
  .odin-audit-pagination {
    display: none !important;
  }
  .odin-audit-page .odin-audit-system-list,
  .odin-audit-page .odin-audit-sessions-list {
    max-height: none !important;
    overflow: visible !important;
  }
}


/* ======================================================
   ODIN R9 - permissões macOS, filtros e tabela simplificada
   ====================================================== */

#view-connecta-odin .connecta-odin-macos-button .fa-apple {
  color: var(--brand-2, #00a3a3) !important;
}

#view-connecta-odin .connecta-odin-filter-highlight {
  border: 1px solid color-mix(in srgb, var(--brand, #a6d450) 78%, var(--line)) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand, #a6d450) 16%, transparent) !important;
}

#view-connecta-odin .connecta-odin-filter-highlight .form-label {
  font-weight: 650 !important;
}

#view-connecta-odin .connecta-odin-table-shell {
  overflow-x: visible !important;
}

#view-connecta-odin .connecta-odin-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}

#view-connecta-odin .connecta-odin-table th:nth-child(1),
#view-connecta-odin .connecta-odin-table td:nth-child(1) { width: 16% !important; }
#view-connecta-odin .connecta-odin-table th:nth-child(2),
#view-connecta-odin .connecta-odin-table td:nth-child(2) { width: 18% !important; }
#view-connecta-odin .connecta-odin-table th:nth-child(3),
#view-connecta-odin .connecta-odin-table td:nth-child(3) { width: 14% !important; }
#view-connecta-odin .connecta-odin-table th:nth-child(4),
#view-connecta-odin .connecta-odin-table td:nth-child(4) { width: 18% !important; }
#view-connecta-odin .connecta-odin-table th:nth-child(5),
#view-connecta-odin .connecta-odin-table td:nth-child(5) { width: 24% !important; }
#view-connecta-odin .connecta-odin-table th:nth-child(6),
#view-connecta-odin .connecta-odin-table td:nth-child(6) { width: 10% !important; }

#view-connecta-odin .connecta-odin-table th,
#view-connecta-odin .connecta-odin-table td {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#view-connecta-odin .connecta-actions-cell {
  overflow: visible !important;
}

#view-connecta-odin .odin-actions-compact {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
}

#view-connecta-odin .odin-access-button {
  min-width: 118px;
}

#view-connecta-odin .odin-more-menu {
  min-width: 190px;
}

@media (max-width: 980px) {
  #view-connecta-odin .connecta-odin-table th:nth-child(3),
  #view-connecta-odin .connecta-odin-table td:nth-child(3) {
    display: none;
  }
}

/* A nova grade de seis colunas cabe na largura disponível; não força rolagem horizontal. */
#view-connecta-odin,
#view-connecta-odin .connecta-odin-page,
#view-connecta-odin .connecta-odin-table-panel,
#view-connecta-odin .connecta-odin-table-shell {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* ======================================================
   ODIN R10 - cabeçalho do Acesso Remoto Apple
   ====================================================== */

/* O botão que retorna ao Acesso Remoto Windows usa a mesma
   linguagem cromática da iconografia do menu lateral. */
body.light-mode.painel-body #view-rustdesk-mac .rustdesk-mac-windows-button .fa-windows {
  color: #228fc7 !important;
}

body.dark-mode.painel-body #view-rustdesk-mac .rustdesk-mac-windows-button .fa-windows {
  color: var(--brand-2, #00a3a3) !important;
}

@supports (-webkit-background-clip: text) {
  body.dark-mode.painel-body #view-rustdesk-mac .rustdesk-mac-windows-button .fa-windows {
    background: linear-gradient(135deg, #38bdf8, #2df5bd);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}


/* ======================================================
   SNC R11 - cabecalho padrao, botoes e tipografia
   ====================================================== */

/* Todos os modulos do SNC passam a usar o mesmo cabecalho visual
   adotado por RDD, HSE, VeloXX, ODIN e Downloads. */
.painel-body .snc-shell > .connecta-module-header.snc-header {
  display: flex !important;
  width: 100% !important;
  min-height: 68px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 18px !important;
  padding: 12px 0 14px !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.painel-body .snc-shell > .connecta-module-header .connecta-module-brand {
  display: flex !important;
  min-width: 0 !important;
  align-items: center !important;
  gap: 16px !important;
}

.painel-body .snc-shell > .connecta-module-header .connecta-module-brand img {
  width: auto !important;
  height: 42px !important;
  max-width: 150px !important;
  object-fit: contain !important;
}

.painel-body .snc-shell > .connecta-module-header .connecta-module-brand h2 {
  margin: 0 !important;
  color: var(--text-color) !important;
  font-size: 1.03rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.01em !important;
}

.painel-body .snc-shell > .connecta-module-header .connecta-module-brand p {
  margin: 3px 0 0 !important;
  color: var(--muted) !important;
  font-size: 0.72rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

/* Acoes do SNC passam a seguir a mesma linguagem dos botoes-padrao do painel. */
.painel-body .snc-shell .snc-btn,
.painel-body .snc-shell .snc-view-btn,
.painel-body .snc-shell .snc-link-btn,
.painel-body .snc-shell .snc-tab-r6 {
  display: inline-flex !important;
  min-height: 34px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 8px 12px !important;
  color: var(--text-color) !important;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--panel-2) 58%, transparent),
    color-mix(in srgb, var(--bg) 36%, transparent)
  ) !important;
  border: 1px solid color-mix(in srgb, var(--brand-2) 72%, var(--line)) !important;
  border-radius: 9px !important;
  box-shadow: 0 3px 10px -7px color-mix(in srgb, var(--brand-2) 70%, transparent) !important;
  font-family: "Segoe UI", sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 550 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

.painel-body .snc-shell .snc-btn:hover,
.painel-body .snc-shell .snc-view-btn:hover,
.painel-body .snc-shell .snc-link-btn:hover,
.painel-body .snc-shell .snc-tab-r6:hover,
.painel-body .snc-shell .snc-view-btn.active,
.painel-body .snc-shell .snc-tab-r6.active {
  color: var(--text-color) !important;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--brand) 24%, var(--panel-2)),
    color-mix(in srgb, var(--brand-2) 18%, var(--bg))
  ) !important;
  border-color: var(--brand-2) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-2) 16%, transparent) !important;
}

/* Acoes principais mantem destaque, mas usam somente as cores institucionais. */
.painel-body .snc-shell .snc-btn-primary {
  color: var(--text-color) !important;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--brand) 22%, var(--panel-2)),
    color-mix(in srgb, var(--brand-2) 20%, var(--bg))
  ) !important;
  border-color: var(--brand-2) !important;
}

/* Impressao no mesmo formato dos relatorios RDD/HSE/VeloXX. */
.painel-body .snc-shell .snc-print-standard {
  min-width: 86px !important;
}

/* Remove o posicionamento absoluto antigo do botao Expandir. */
.painel-body #view-snc-visao-geral #snc-overview-expand-standalone {
  position: static !important;
  inset: auto !important;
  margin: 0 !important;
}

/* Tipografia menos pesada em toda a familia de telas SNC. */
.painel-body .snc-shell,
.painel-body .snc-shell input,
.painel-body .snc-shell select,
.painel-body .snc-shell textarea,
.painel-body .snc-shell button,
.painel-body .snc-shell td,
.painel-body .snc-shell th,
.painel-body .snc-shell label,
.painel-body .snc-shell p,
.painel-body .snc-shell span,
.painel-body .snc-shell small {
  font-weight: 400 !important;
}

.painel-body .snc-shell strong,
.painel-body .snc-shell b,
.painel-body .snc-shell h1,
.painel-body .snc-shell h2,
.painel-body .snc-shell h3,
.painel-body .snc-shell h4,
.painel-body .snc-shell h5,
.painel-body .snc-shell h6,
.painel-body .snc-shell .snc-panel-title,
.painel-body .snc-shell .snc-row-title,
.painel-body .snc-shell .snc-label,
.painel-body .snc-shell .snc-table th,
.painel-body .snc-shell .snc-filter-field-v029 > label {
  font-weight: 600 !important;
}

/* Numeros de KPI continuam destacados sem usar peso excessivo. */
.painel-body .snc-shell .snc-live-clock-card strong,
.painel-body .snc-shell .snc-mini-kpi-resolver strong,
.painel-body .snc-shell .snc-kpi strong,
.painel-body .snc-shell .snc-mini-kpi-r6 strong {
  font-weight: 600 !important;
}

@media (max-width: 900px) {
  .painel-body .snc-shell > .connecta-module-header.snc-header {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .painel-body .snc-shell > .connecta-module-header .connecta-module-header-actions {
    justify-content: flex-start !important;
  }
}

/* ======================================================
   SNC R12 - ajuste fino do cabecalho Alertas
   - Impressao com dimensao do botao padrao de relatorios
   - Expandir fixado no canto superior direito
   ====================================================== */

/* O cabecalho da Visao Geral precisa ser a referencia do botao Expandir. */
.painel-body #view-snc-visao-geral > .connecta-module-header.snc-header {
  position: relative !important;
  padding-right: 118px !important;
}

/* Neutraliza o grid legado do SNC, que fazia os botoes herdarem a altura
   dos cards de relogio/KPI e jogava o Expandir para uma segunda linha. */
.painel-body #view-snc-visao-geral .snc-overview-head-actions {
  display: flex !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  flex: 0 1 auto !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.painel-body #view-snc-visao-geral .snc-live-clock-card,
.painel-body #view-snc-visao-geral .snc-mini-kpi-resolver {
  flex: 0 0 auto !important;
}

/* Mesmo porte visual do botao Imprimir usado em RDD/HSE/VeloXX. */
.painel-body #view-snc-visao-geral .snc-print-standard {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 7px 12px !important;
  align-self: center !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* Expandir volta para a posicao esperada: canto superior direito. */
.painel-body #view-snc-visao-geral #snc-overview-expand-standalone {
  position: absolute !important;
  top: 12px !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 3 !important;
  width: auto !important;
  min-width: 96px !important;
  max-width: none !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 7px 12px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* Em telas pequenas os controles voltam ao fluxo para nao sobrepor o conteudo. */
@media screen and (max-width: 760px) {
  .painel-body #view-snc-visao-geral > .connecta-module-header.snc-header {
    padding-right: 0 !important;
  }

  .painel-body #view-snc-visao-geral .snc-overview-head-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
    flex-wrap: initial !important;
    margin-top: 12px !important;
  }

  .painel-body #view-snc-visao-geral .snc-print-standard,
  .painel-body #view-snc-visao-geral #snc-overview-expand-standalone {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 38px !important;
    height: 38px !important;
    max-height: 38px !important;
  }
}

/* ======================================================
   SNC R7 - filtros por Grupo e Computador com checkbox
   - Mesmo comportamento visual dos multiselects do HSE
   ====================================================== */
.painel-body #view-snc-visao-geral .snc-multi-filter-r7 {
  position: relative !important;
  min-width: 0 !important;
}

.painel-body #view-snc-visao-geral .snc-r7-hidden-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.painel-body #view-snc-visao-geral .snc-multi-select-r7 {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
}

.painel-body #view-snc-visao-geral .snc-multi-trigger-r7 {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 34px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 7px 10px !important;
  color: var(--text-color) !important;
  background: var(--panel-2) !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  font: inherit !important;
  font-size: 0.72rem !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  cursor: pointer !important;
}

.painel-body #view-snc-visao-geral .snc-multi-trigger-r7:hover,
.painel-body #view-snc-visao-geral .snc-multi-trigger-r7[aria-expanded="true"] {
  border-color: var(--brand-2) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-2) 14%, transparent) !important;
}

.painel-body #view-snc-visao-geral .snc-multi-trigger-r7 > span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.painel-body #view-snc-visao-geral .snc-multi-trigger-r7 > i {
  flex: 0 0 auto !important;
  color: var(--brand-2) !important;
  transition: transform 0.16s ease !important;
}

.painel-body #view-snc-visao-geral .snc-multi-trigger-r7[aria-expanded="true"] > i {
  transform: rotate(180deg) !important;
}

.painel-body #view-snc-visao-geral .snc-multi-menu-r7 {
  position: absolute !important;
  z-index: 1200 !important;
  top: calc(100% + 5px) !important;
  left: 0 !important;
  width: max(100%, 260px) !important;
  max-width: min(380px, 86vw) !important;
  padding: 7px !important;
  color: var(--text-color) !important;
  background: var(--panel) !important;
  border: 1px solid color-mix(in srgb, var(--brand-2) 55%, var(--line)) !important;
  border-radius: 9px !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24) !important;
}

.painel-body #view-snc-visao-geral .snc-multi-menu-r7[hidden] {
  display: none !important;
}

.painel-body #view-snc-visao-geral .snc-multi-options-r7 {
  display: flex !important;
  max-height: 285px !important;
  flex-direction: column !important;
  gap: 2px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-gutter: stable !important;
}

.painel-body #view-snc-visao-geral .snc-multi-option-r7 {
  display: grid !important;
  grid-template-columns: 16px minmax(0, 1fr) auto !important;
  width: 100% !important;
  min-width: 0 !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 7px 8px !important;
  color: var(--text-color) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 6px !important;
  font-size: 0.72rem !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  cursor: pointer !important;
}

.painel-body #view-snc-visao-geral .snc-multi-option-r7:hover {
  background: color-mix(in srgb, var(--brand-2) 10%, var(--panel-2)) !important;
}

.painel-body #view-snc-visao-geral .snc-multi-option-all-r7 {
  margin-bottom: 5px !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 6px 6px 0 0 !important;
  font-weight: 500 !important;
}

.painel-body #view-snc-visao-geral .snc-multi-option-r7 input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  width: 14px !important;
  min-width: 14px !important;
  max-width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  max-height: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 14px !important;
  accent-color: var(--brand-2) !important;
  transform: none !important;
  cursor: pointer !important;
}

.painel-body #view-snc-visao-geral .snc-multi-option-r7 > span {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 1px !important;
  overflow-wrap: anywhere !important;
}

.painel-body #view-snc-visao-geral .snc-multi-option-r7 > span b {
  font-weight: 500 !important;
}

.painel-body #view-snc-visao-geral .snc-multi-option-r7 > span em {
  color: var(--muted) !important;
  font-size: 0.64rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
}

.painel-body #view-snc-visao-geral .snc-multi-option-r7 > small {
  min-width: 24px !important;
  color: var(--muted) !important;
  font-size: 0.64rem !important;
  font-weight: 400 !important;
  text-align: right !important;
}

.painel-body #view-snc-visao-geral .snc-multi-empty-r7 {
  padding: 12px 8px !important;
  color: var(--muted) !important;
  font-size: 0.7rem !important;
  text-align: center !important;
}

body.light-mode #view-snc-visao-geral .snc-multi-menu-r7 {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.14) !important;
}

body.light-mode #view-snc-visao-geral .snc-multi-trigger-r7 {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
}

@media screen and (max-width: 760px) {
  .painel-body #view-snc-visao-geral .snc-multi-menu-r7 {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ======================================================
   SNC R9 - responsividade do cabecalho operacional
   - Em larguras intermediarias (ate 1366px), centraliza o conjunto
     relogio/KPI/Imprimir/Atualizar sem mover o botao Expandir.
   ====================================================== */
@media screen and (min-width: 761px) and (max-width: 1366px) {
  .painel-body #view-snc-visao-geral > .connecta-module-header.snc-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    padding-right: 118px !important;
  }

  .painel-body #view-snc-visao-geral .connecta-module-brand {
    align-self: flex-start !important;
  }

  .painel-body #view-snc-visao-geral .snc-overview-head-actions {
    width: 100% !important;
    align-self: center !important;
    justify-content: center !important;
    margin: 12px auto 0 !important;
  }
}
