/* sgi-overrides.css — shims de compatibilidade entre os templates existentes
   e o tema Greeva. Manter PEQUENO: ajustes de convivência, não estilização. */

/* O menu do usuário (partials/navbar_user_menu.html) foi escrito para navbar
   escura; no topbar claro do Greeva a cor precisa herdar do contexto. */
.app-topbar .topbar-user-menu .nav-link {
  color: var(--bs-body-color) !important;
}
.app-topbar .topbar-user-menu .btn-outline-light {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-color: #fff;
}
.app-topbar .topbar-user-menu .btn-light {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-color: #fff;
  --bs-btn-border-color: var(--bs-primary);
}

/* Navbar público — botões sólidos alinhados à paleta verde institucional */
.navbar .btn-light {
  --bs-btn-bg: #E8EFE8 !important;
  --bs-btn-color: #4F6F49 !important;
  --bs-btn-border-color: #E8EFE8 !important;
  --bs-btn-hover-bg: #fff !important;
  --bs-btn-hover-color: #3F5B3B !important;
}

/* Ícones bootstrap-icons dentro do sidenav Greeva: alinhar com menu-icon. */
.sidenav-menu .menu-icon .bi {
  font-size: 1.05rem;
  line-height: 1;
}

/* Toasts acima de qualquer camada do tema. */
.toast-container {
  z-index: 3000;
}

/* O tema define .page-title-head com altura FIXA (40/70px) + margem negativa
   para o header compacto dele; nosso padrão de cabeçalho tem título+subtítulo+
   ações e transbordava, cobrindo o conteúdo. Neutraliza a régua fixa. */
.page-title-head {
  height: auto !important;
  padding: 0 !important;
  margin: 1rem 0 1rem 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Marca no sidenav: a faixa do topbar cruza a área do logo nos DOIS temas —
   texto da marca fica branco fixo. */
.sidenav-menu .logo .fw-bold {
  color: #fff !important;
}

/* ==========================================================================
   IDENTIDADE SINTRAMMAR — paleta oficial (decisão Lima Jr 04/07/2026)
   #4F6F49 musgo institucional · #5F7F58 cabeçalho · #3F5B3B borda escura
   #4A6A4A musgo (primary, compilado no SCSS) · #6B8F6B sálvia · #25D366 vivo
   Sutileza: verdes institucionais no CHROME (topbar/fundos/bordas), #25D366 só em
   momentos (ativo/sucesso). ========================================================================== */

/* Cabeçalho/topbar verde institucional nos DOIS temas */
.app-topbar {
  --greeva-topbar-bg: #5F7F58 !important;
  --greeva-topbar-item-color: #E8EFE8;
  --greeva-topbar-item-hover-color: #25D366;
  border-bottom: 1px solid #3F5B3B;
}
.app-topbar .topbar-user-menu .nav-link {
  color: #E8EFE8 !important;
}
/* Faixa do logo acima do sidenav acompanha o topbar */
html[data-bs-theme="light"] .sidenav-menu .logo,
html[data-bs-theme="dark"] .sidenav-menu .logo {
  background: #4F6F49 !important;
}

/* LIGHT: fundo com respiro verde imperceptível; ativo do menu em musgo+vivo */
html[data-bs-theme="light"] {
  --greeva-body-bg: #F4F6F4;
}
html[data-bs-theme="light"] .side-nav .side-nav-link.active,
html[data-bs-theme="light"] .side-nav .side-nav-item.active > .side-nav-link {
  color: #4A6A4A;
  background: rgba(37, 211, 102, 0.10);
  border-left: 3px solid #25D366;
}

/* DARK: "noite SINTRAMMAR" — verdes no lugar dos cinzas genéricos */
html[data-bs-theme="dark"] {
  --greeva-body-bg: #0A0F0A;
  --greeva-body-color: #D6E0D6;
  --greeva-secondary-bg: #141A14;
  --greeva-tertiary-bg: #1E271E;
  --greeva-border-color: #1E271E;
  --greeva-secondary-color: #6B8F6B;
}
html[data-bs-theme="dark"] .card {
  background-color: #141A14;
  border-color: #1E271E;
}
html[data-bs-theme="dark"] .card-header {
  --greeva-card-cap-bg: #1E271E;
  --greeva-card-cap-color: #D6E0D6;
  border-bottom-color: #1E271E;
}
html[data-bs-theme="dark"] .section-card,
html[data-bs-theme="dark"] .filter-panel {
  background: #141A14;
  border-color: #1E271E;
}
html[data-bs-theme="dark"] .sidenav-menu {
  --greeva-menu-bg: #0A0F0A;
  --greeva-menu-item-color: #A8BCA8;
  --greeva-menu-item-hover-color: #25D366;
  --greeva-menu-item-active-color: #25D366;
  border-right: 1px solid #1E271E;
}
html[data-bs-theme="dark"] .side-nav .side-nav-link.active,
html[data-bs-theme="dark"] .side-nav .side-nav-item.active > .side-nav-link {
  color: #25D366;
  background: rgba(37, 211, 102, 0.08);
  border-left: 3px solid #25D366;
}
html[data-bs-theme="dark"] .footer {
  border-top: 1px solid #1E271E;
}

/* status-badge: usado pelo filtro nav_extras.status_class em dezenas de
   templates (só emite status-success/info/warning/danger/neutral). Antes
   vinha de styles.css, que foi desligado — reimplementado aqui com tokens
   do greeva para não depender daquele arquivo. */
.status-badge {
  display: inline-block;
  padding: 0.25em 0.65em;
  border-radius: var(--greeva-border-radius-pill, 50rem);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.4;
}
.status-badge.status-success {
  background: var(--greeva-success-bg-subtle, #def8e8);
  color: var(--greeva-success-text-emphasis, #1fb357);
}
.status-badge.status-info {
  background: var(--greeva-info-bg-subtle, #e1f4fa);
  color: var(--greeva-info-text-emphasis, #2d9cbe);
}
.status-badge.status-warning {
  background: var(--greeva-warning-bg-subtle, #fef7e7);
  color: var(--greeva-warning-text-emphasis, #d5ad4e);
}
.status-badge.status-danger {
  background: var(--greeva-danger-bg-subtle, #fde4e3);
  color: var(--greeva-danger-text-emphasis, #cf3e39);
}
.status-badge.status-neutral {
  background: var(--greeva-gray-200, #eef2f7);
  color: var(--greeva-gray-700, #6c757d);
}
