/* ============================================================
   IBGPP SYS — Novo visual (aprovado em 14/11/2026)
   Camada por cima do style.css. Tudo vale só com a classe
   "tema-ibgpp" no <html>; sem ela o sys volta ao visual antigo.
   Não muda regra de acesso nem dado: só aparência e menu.
   ============================================================ */

html.tema-ibgpp {
  --ib-navy: #1A3C5E;
  --ib-orange: #E85D10;
  --ib-orange-d: #C24A08;
  --ib-orange-t: #B24405;
  --ib-pale: #FFF0E8;
  --ib-line: #E3E7ED;
  --ib-bg: #F6F7F9;
  --ib-tile: #EDF1F6;
  --ib-ink: #15273B;
  --ib-sec: #4D5B6C;
}

/* ---------- Base ---------- */
html.tema-ibgpp body,
html.tema-ibgpp .app-workspace,
html.tema-ibgpp .content-body { background-color: var(--ib-bg); }
html.tema-ibgpp body { color: var(--ib-ink); }

html.tema-ibgpp .top-nav { border-bottom: 1px solid var(--ib-line); }
html.tema-ibgpp .top-nav h2 {
  font-weight: 600;
  letter-spacing: -0.01em;
  padding-left: 14px;
  border-left: 4px solid var(--ib-orange);
  line-height: 1.15;
}

/* ---------- Painéis: linha fina no lugar de sombra ---------- */
html.tema-ibgpp .metric-card,
html.tema-ibgpp .chart-card,
html.tema-ibgpp .card,
html.tema-ibgpp .table-container,
html.tema-ibgpp .py-metric-card,
html.tema-ibgpp .detail-section,
html.tema-ibgpp .portal-hub-card {
  border: 1px solid var(--ib-line);
  border-radius: 18px;
  box-shadow: none;
}
html.tema-ibgpp .metric-card { border-left: 1px solid var(--ib-line); }
html.tema-ibgpp .metric-card:hover,
html.tema-ibgpp .py-metric-card:hover { transform: none; box-shadow: none; }
html.tema-ibgpp .portal-hub-card:hover {
  transform: none;
  box-shadow: 0 8px 28px rgba(26, 60, 94, .08);
  border-color: #C9D2DD;
}
html.tema-ibgpp .metric-card-info .value { color: var(--ib-navy); font-weight: 600; }
html.tema-ibgpp .metric-card-icon { border-radius: 13px; background-color: var(--ib-tile); color: var(--ib-navy); }
html.tema-ibgpp .metric-card.primary .metric-card-icon { background-color: var(--ib-pale); color: var(--ib-orange-d); }
html.tema-ibgpp .portal-hub-card h3 { font-family: var(--font-title); color: var(--ib-navy); font-weight: 600; }

/* ---------- Tabelas ---------- */
html.tema-ibgpp .custom-table th {
  background-color: #F3F5F8;
  color: var(--ib-sec);
  border-bottom: 1px solid var(--ib-line);
}
html.tema-ibgpp .custom-table td { border-bottom: 1px solid var(--ib-line); }
html.tema-ibgpp .custom-table tbody tr:hover { background-color: #F8F9FB; }

/* ---------- Botões e campos ---------- */
html.tema-ibgpp .btn { border-radius: 12px; }
html.tema-ibgpp .btn-primary { background-color: var(--ib-orange-d); box-shadow: none; }
html.tema-ibgpp .btn-primary:hover { background-color: var(--ib-orange-t); transform: none; }
html.tema-ibgpp .btn-secondary { background-color: var(--ib-tile); color: var(--ib-navy); }
html.tema-ibgpp .btn-secondary:hover { background-color: #E1E7EF; }
html.tema-ibgpp .form-control { border-radius: 10px; border-color: #CFD6DF; }
html.tema-ibgpp .form-control:focus { border-color: var(--ib-orange); }
html.tema-ibgpp .modal-content { border-radius: 18px; }

/* ---------- Menu lateral: claro ---------- */
html.tema-ibgpp .sidebar {
  background-color: #FFFFFF;
  color: var(--ib-ink);
  box-shadow: none;
  border-right: 1px solid var(--ib-line);
}
html.tema-ibgpp .sidebar-brand { border-bottom: 1px solid var(--ib-line); }
html.tema-ibgpp .sidebar-brand img { filter: none; }
html.tema-ibgpp .sidebar-close-btn { color: var(--ib-sec); }
html.tema-ibgpp .sidebar-close-btn:hover { color: var(--ib-navy); }
html.tema-ibgpp .sidebar-menu::-webkit-scrollbar-track { background: transparent; }
html.tema-ibgpp .sidebar-menu::-webkit-scrollbar-thumb { background: #D5DCE5; }

html.tema-ibgpp .sidebar-menu-item a,
html.tema-ibgpp .sidebar-submenu .sidebar-menu-item a,
html.tema-ibgpp .sidebar-group-header { color: #33455A; }
html.tema-ibgpp .sidebar-menu-item a i,
html.tema-ibgpp .sidebar-group-header .group-title i { color: var(--ib-navy) !important; }
html.tema-ibgpp .sidebar-group-header .chevron { color: #8C99A8; }

html.tema-ibgpp .sidebar-menu-item a:hover,
html.tema-ibgpp .sidebar-submenu .sidebar-menu-item a:hover,
html.tema-ibgpp .sidebar-group-header:hover,
html.tema-ibgpp .sidebar-menu-group.open .sidebar-group-header {
  color: var(--ib-navy);
  background-color: #F3F5F8;
}
html.tema-ibgpp .sidebar-menu-group.open .sidebar-group-header .chevron { color: var(--ib-navy); }

html.tema-ibgpp .sidebar-menu-item.active a,
html.tema-ibgpp .sidebar-submenu .sidebar-menu-item.active a {
  color: var(--ib-orange-t);
  background-color: var(--ib-pale);
  box-shadow: none;
  font-weight: 600;
}
html.tema-ibgpp .sidebar-menu-item.active a i { color: var(--ib-orange-d) !important; }

html.tema-ibgpp .sidebar-footer { background-color: #FFFFFF; border-top: 1px solid var(--ib-line); }
html.tema-ibgpp .user-avatar { background-color: #DFE7F1; color: var(--ib-navy); font-family: var(--font-title); font-weight: 600; }
html.tema-ibgpp .user-info .user-name { color: var(--ib-ink); }
html.tema-ibgpp .user-info .user-role { color: var(--ib-sec); }
html.tema-ibgpp .btn-logout { color: var(--ib-sec); }
html.tema-ibgpp .btn-logout:hover { color: var(--ib-orange-t); }

/* ---------- Telas do módulo (abas no topo do conteúdo) ---------- */
#ib-subnav { display: none; }
html.tema-ibgpp #ib-subnav.ib-on {
  display: flex;
  flex-shrink: 0;
  gap: 4px;
  padding: 14px 2rem 0;
  background-color: var(--ib-bg);
  overflow-x: auto;
  scrollbar-width: none;
}
html.tema-ibgpp #ib-subnav.ib-on::-webkit-scrollbar { display: none; }
html.tema-ibgpp #ib-subnav .ib-seg {
  display: inline-flex;
  gap: 2px;
  padding: 4px;
  border-radius: 14px;
  background-color: #E9EDF2;
}
html.tema-ibgpp #ib-subnav button {
  border: 0;
  background: transparent;
  color: #33455A;
  font: 600 14px var(--font-body);
  min-height: 40px;
  padding: 0 16px;
  border-radius: 10px;
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
html.tema-ibgpp #ib-subnav button i { font-size: 13px; color: var(--ib-navy); }
html.tema-ibgpp #ib-subnav button:hover { color: var(--ib-navy); background-color: rgba(255, 255, 255, .6); }
html.tema-ibgpp #ib-subnav button[aria-current="page"] {
  background-color: #FFFFFF;
  color: var(--ib-orange-t);
  box-shadow: inset 0 0 0 1px var(--ib-line);
}
html.tema-ibgpp #ib-subnav button[aria-current="page"] i { color: var(--ib-orange-d); }
html.tema-ibgpp #ib-subnav button:focus-visible,
html.tema-ibgpp .sidebar-group-header:focus-visible,
html.tema-ibgpp .sidebar-menu-item a:focus-visible,
html.tema-ibgpp .btn-logout:focus-visible { outline: 2px solid var(--ib-orange-d); outline-offset: 2px; }

/* ============================================================
   COMPUTADOR: menu vira uma coluna de ícones; as telas de cada
   módulo abrem num painel ao lado do ícone.
   ============================================================ */
@media screen and (min-width: 769px) {
  html.tema-ibgpp .sidebar { width: 104px; }
  html.tema-ibgpp .sidebar-brand { padding: 18px 0 16px; }
  html.tema-ibgpp .sidebar-brand img {
    width: 54px;
    height: 40px;
    object-fit: cover;
    object-position: left center;
  }

  html.tema-ibgpp .sidebar-menu { padding: 10px 8px; gap: 2px; scrollbar-width: none; }
  html.tema-ibgpp .sidebar-menu::-webkit-scrollbar { display: none; }
  html.tema-ibgpp .sidebar-menu-group { margin-bottom: 0; }

  /* Ícone + nome embaixo */
  html.tema-ibgpp .sidebar-menu > .sidebar-menu-item > a,
  html.tema-ibgpp .sidebar-group-header {
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding: 6px 2px;
    border-radius: 14px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
    text-align: center;
    min-height: 66px;
  }
  html.tema-ibgpp .sidebar-group-header .group-title { flex-direction: column; gap: 6px; }
  html.tema-ibgpp .sidebar-group-header .chevron,
  html.tema-ibgpp .sidebar-menu > .sidebar-menu-item > a .badge { display: none; }

  html.tema-ibgpp .sidebar-menu > .sidebar-menu-item > a > i,
  html.tema-ibgpp .sidebar-group-header .group-title i {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background-color: var(--ib-tile);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    flex: none;
  }
  html.tema-ibgpp .sidebar-menu-group.open .sidebar-group-header { background-color: transparent; }
  html.tema-ibgpp .sidebar-group-header:hover,
  html.tema-ibgpp .sidebar-menu-group.ib-fly .sidebar-group-header { background-color: #F3F5F8; }

  /* Módulo aberto: laranja */
  html.tema-ibgpp .sidebar-menu > .sidebar-menu-item.active > a,
  html.tema-ibgpp .sidebar-menu-group.ib-ativo .sidebar-group-header {
    background-color: var(--ib-pale);
    color: var(--ib-orange-t);
  }
  html.tema-ibgpp .sidebar-menu > .sidebar-menu-item.active > a > i,
  html.tema-ibgpp .sidebar-menu-group.ib-ativo .sidebar-group-header .group-title i {
    background-color: var(--ib-orange);
    color: #FFFFFF !important;
  }

  /* Painel com as telas do módulo */
  html.tema-ibgpp .sidebar-menu-group.open .sidebar-submenu { display: none; }
  html.tema-ibgpp .sidebar-menu-group.ib-fly .sidebar-submenu {
    display: flex;
    position: fixed;
    left: 112px;
    top: var(--ib-fly-top, 120px);
    width: 268px;
    max-height: calc(100vh - 24px);
    overflow-y: auto;
    padding: 8px;
    gap: 2px;
    background-color: #FFFFFF;
    border: 1px solid var(--ib-line);
    border-radius: 16px;
    box-shadow: 0 12px 32px rgba(26, 60, 94, .14);
    z-index: 1000;
  }
  html.tema-ibgpp .sidebar-menu-group.ib-fly .sidebar-submenu::before {
    content: attr(data-ib-titulo);
    font: 600 12px var(--font-body);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ib-sec);
    padding: 8px 12px 6px;
  }
  html.tema-ibgpp .sidebar-submenu .sidebar-menu-item a {
    min-height: 44px;
    padding: 0 12px;
    font-size: 14px;
    border-radius: 10px;
  }
  html.tema-ibgpp .sidebar-submenu .sidebar-menu-item a i { width: 18px; text-align: center; }

  /* Rodapé: avatar e dois botões só com ícone */
  html.tema-ibgpp .sidebar-footer { padding: 10px 4px 10px; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; gap: 2px; }
  html.tema-ibgpp .sidebar-footer .user-profile-summary { width: 100%; justify-content: center; }
  html.tema-ibgpp .sidebar-footer .user-info { display: none; }
  html.tema-ibgpp .sidebar-footer .user-avatar { width: 40px; height: 40px; margin-bottom: 4px; }
  html.tema-ibgpp .sidebar-footer .btn-logout {
    width: 30px;
    height: 34px;
    padding: 0;
    justify-content: center;
    border-radius: 10px;
    font-size: 0;
    gap: 0;
  }
  html.tema-ibgpp .sidebar-footer .btn-logout i { font-size: 14px; }
  html.tema-ibgpp .sidebar-footer .btn-logout:hover { background-color: #F3F5F8; }
}

/* ============================================================
   CELULAR: o menu continua abrindo pela lateral, só que claro.
   ============================================================ */
@media screen and (max-width: 768px) {
  html.tema-ibgpp .sidebar { background: #FFFFFF !important; box-shadow: 6px 0 25px rgba(26, 60, 94, .18) !important; }
  html.tema-ibgpp .sidebar-overlay { background: rgba(26, 60, 94, .35) !important; }
  html.tema-ibgpp .sidebar-menu-item a,
  html.tema-ibgpp .sidebar-submenu .sidebar-menu-item a { min-height: 44px; }
  html.tema-ibgpp #ib-subnav.ib-on { padding: 10px 0.85rem 0; }
  html.tema-ibgpp .top-nav h2 { padding-left: 10px; border-left-width: 3px; }
}

@media (prefers-reduced-motion: reduce) {
  html.tema-ibgpp .view-section { animation: none; }
}

/* ============================================================
   TELA INICIAL (Módulos do Sistema) — 14/11/2026
   ============================================================ */
html.tema-ibgpp .portal-hero-banner {
  background: transparent !important; color: var(--ib-ink) !important; box-shadow: none !important;
  border: 0 !important; border-radius: 0 !important; padding: 0 !important; margin-bottom: 20px !important;
  align-items: flex-end !important; overflow: visible !important;
}
html.tema-ibgpp .portal-hero-banner::before { display: none !important; }
html.tema-ibgpp .portal-hero-content::before {
  content: ''; display: block; width: 40px; height: 4px; border-radius: 2px; background: var(--ib-orange); margin-bottom: 10px;
}
html.tema-ibgpp .portal-hero-content h2 {
  font-family: var(--font-title); font-size: 36px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1;
  color: var(--ib-navy) !important; margin: 0 0 8px;
}
html.tema-ibgpp .portal-hero-content p { color: var(--ib-sec) !important; font-size: 15px; max-width: 62ch; opacity: 1 !important; }
html.tema-ibgpp .portal-pill-badge {
  background: #E9EDF2 !important; border: 0 !important; color: #33455A !important; font-weight: 600; backdrop-filter: none !important;
}
html.tema-ibgpp .portal-pill-badge i { color: var(--ib-navy) !important; }
html.tema-ibgpp .portal-hero-banner .btn {
  background: var(--ib-orange-d) !important; box-shadow: none !important; border-radius: 12px !important; min-height: 44px;
}
html.tema-ibgpp .portal-hero-banner .btn:hover { background: var(--ib-orange-t) !important; }

html.tema-ibgpp .portal-stats-ribbon {
  gap: 0 !important; background: #FFFFFF; border: 1px solid var(--ib-line); border-radius: 18px; overflow: hidden; margin-bottom: 26px !important;
}
html.tema-ibgpp .portal-stat-pill {
  background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; transform: none !important;
  border-right: 1px solid var(--ib-line) !important; border-bottom: 1px solid var(--ib-line) !important; margin: 0 -1px -1px 0; padding: 20px 22px !important;
}
html.tema-ibgpp .portal-stat-icon { background: var(--ib-tile) !important; color: var(--ib-navy) !important; border-radius: 12px !important; }
html.tema-ibgpp .portal-stat-info h5 { color: var(--ib-sec) !important; letter-spacing: .05em; }
html.tema-ibgpp .portal-stat-info div {
  font-family: var(--font-title); font-weight: 600 !important; font-size: 26px !important; color: var(--ib-navy) !important; line-height: 1.15;
}
html.tema-ibgpp .portal-container > h3 { font-family: var(--font-title); font-weight: 600 !important; font-size: 19px !important; color: var(--ib-navy) !important; }
html.tema-ibgpp .portal-container > h3 i { color: var(--ib-orange-d) !important; }

html.tema-ibgpp .portal-hub-card { border-top: 1px solid var(--ib-line) !important; padding: 20px 22px; }
html.tema-ibgpp .portal-hub-card::after { display: none !important; }
html.tema-ibgpp .portal-hub-icon-wrapper {
  background: var(--ib-tile) !important; color: var(--ib-navy) !important; box-shadow: none !important; border-radius: 13px !important;
  width: 48px; height: 48px; font-size: 20px;
}
html.tema-ibgpp .portal-hub-icon-wrapper i { color: var(--ib-navy) !important; }
html.tema-ibgpp .portal-hub-card h4 { font-family: var(--font-title); font-weight: 600 !important; font-size: 17px; color: var(--ib-navy) !important; }
html.tema-ibgpp .portal-hub-card p { color: var(--ib-sec) !important; }
html.tema-ibgpp .portal-hub-card .badge { background: var(--ib-pale) !important; color: var(--ib-orange-t) !important; }
html.tema-ibgpp .portal-hub-footer { color: var(--ib-orange-t) !important; border-top: 1px solid var(--ib-line) !important; font-weight: 600; }
html.tema-ibgpp .portal-hub-card:focus-visible { outline: 2px solid var(--ib-orange-d); outline-offset: 2px; }

/* ============================================================
   LOGIN — claro, com o logo colorido
   ============================================================ */
html.tema-ibgpp .login-container { background-color: var(--ib-bg) !important; }
html.tema-ibgpp .login-bg-decorations { display: none; }
html.tema-ibgpp .login-card {
  background: #FFFFFF !important; color: var(--ib-ink) !important; border: 1px solid var(--ib-line) !important; border-radius: 22px !important;
  box-shadow: 0 12px 40px rgba(26, 60, 94, .08) !important; -webkit-backdrop-filter: none; backdrop-filter: none;
}
html.tema-ibgpp .login-logo { margin-bottom: 1.25rem; }
html.tema-ibgpp .login-logo img { filter: none !important; height: 58px; }
html.tema-ibgpp .login-header { margin-bottom: 1.5rem; }
html.tema-ibgpp .login-header::before {
  content: ''; display: block; width: 40px; height: 4px; border-radius: 2px; background: var(--ib-orange); margin: 0 auto 12px;
}
html.tema-ibgpp .login-header p { color: var(--ib-sec) !important; font-size: 15px; font-weight: 500; }
html.tema-ibgpp .login-card .form-group label { color: var(--ib-sec) !important; letter-spacing: .05em; }
html.tema-ibgpp .login-card .form-control { min-height: 48px; border-radius: 12px; }
html.tema-ibgpp .login-card .btn-primary { min-height: 50px; border-radius: 12px; font-size: 16px; }
html.tema-ibgpp .login-card > a[href="download/"] {
  background: #FFFFFF !important; border: 1px solid #CFD6DF !important; border-radius: 14px !important;
}
html.tema-ibgpp .login-card > a[href="download/"] > div > div:first-child { background: var(--ib-tile) !important; color: var(--ib-navy) !important; }
html.tema-ibgpp .login-card > a[href="download/"] > div > div:first-child i { color: var(--ib-navy) !important; }
html.tema-ibgpp .login-card > a[href="download/"] > span { background: var(--ib-tile) !important; color: var(--ib-navy) !important; }
html.tema-ibgpp .login-card > a[href="download/"] > div > div:last-child > div:first-child { color: var(--ib-ink) !important; font-weight: 600 !important; }
html.tema-ibgpp .login-card > a[href="download/"] > div > div:last-child > div:last-child { color: var(--ib-sec) !important; }
html.tema-ibgpp .login-card a[href="/whatsapp/"] {
  background: #FFFFFF !important; border: 1px solid #CFD6DF !important; color: var(--ib-ink) !important; border-radius: 12px !important; min-height: 44px; padding: 0 16px !important;
}
html.tema-ibgpp .login-card a[href="/whatsapp/"] i { color: #1E7B3C !important; }
html.tema-ibgpp .login-card > div[style*="border-top"] { border-top-color: var(--ib-line) !important; }
html.tema-ibgpp .login-card > div:last-child { color: var(--ib-sec) !important; }

/* ============================================================
   CABEÇALHO PADRÃO DAS TELAS + PEÇAS COMUNS — 14/11/2026
   (filtros, etapas, botões de ação, etiquetas)
   ============================================================ */
html.tema-ibgpp .top-nav h2 { display: none; }
html.tema-ibgpp .ib-topo { margin-bottom: 18px; }
html.tema-ibgpp .ib-topo .ib-risco,
html.tema-ibgpp .ib-titulo::before {
  content: ''; display: block; width: 40px; height: 4px; border-radius: 2px; background: var(--ib-orange); margin-bottom: 10px;
}
html.tema-ibgpp .ib-topo .ib-sobre { font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ib-sec); }
html.tema-ibgpp .ib-topo h1,
html.tema-ibgpp .ib-titulo {
  display: block !important; margin: 2px 0 0 !important; font-family: var(--font-title) !important; font-size: 32px !important;
  font-weight: 700 !important; letter-spacing: -0.02em; line-height: 1.12 !important; color: var(--ib-navy) !important;
}
html.tema-ibgpp .ib-titulo > i { display: none !important; }
html.tema-ibgpp .view-subtitle { color: var(--ib-sec) !important; font-size: 14.5px; max-width: 75ch; }

/* Barra de filtros */
html.tema-ibgpp .search-filter-bar {
  border: 1px solid var(--ib-line); border-radius: 18px; box-shadow: none; padding: 16px 18px; gap: 12px;
}
html.tema-ibgpp .search-filter-bar label,
html.tema-ibgpp .form-group label { color: var(--ib-sec); font-size: 12px; letter-spacing: .05em; }
html.tema-ibgpp .search-filter-bar .btn { border-radius: 12px !important; min-height: 42px; }

/* Etapas (funil) */
html.tema-ibgpp .funnel-tab {
  min-height: 40px; border-radius: 12px; border-color: #CFD6DF; color: #33455A; font-size: 13.5px;
}
html.tema-ibgpp .funnel-tab i { color: var(--ib-navy) !important; }
html.tema-ibgpp .funnel-tab:hover { background: #F3F5F8; border-color: #B6C1CE; }
html.tema-ibgpp .funnel-tab.active {
  background: var(--ib-pale) !important; color: var(--ib-orange-t) !important; border-color: var(--ib-orange) !important;
}
html.tema-ibgpp .funnel-tab.active i { color: var(--ib-orange-d) !important; }
html.tema-ibgpp .funnel-badge { background: var(--ib-tile); color: var(--ib-navy); }
html.tema-ibgpp .funnel-tab.active .funnel-badge { background: #FFFFFF; color: var(--ib-orange-t); }

/* Botões de ação nas listas */
html.tema-ibgpp .btn-action-icon { border-color: #CFD6DF; color: var(--ib-navy); background: #FFFFFF; border-radius: 10px; }
html.tema-ibgpp .btn-action-icon:hover,
html.tema-ibgpp .btn-action-view:hover,
html.tema-ibgpp .btn-action-edit:hover,
html.tema-ibgpp .btn-action-pdf:hover,
html.tema-ibgpp .btn-action-archive:hover { background: #F3F5F8; color: var(--ib-navy); border-color: #B6C1CE; }
html.tema-ibgpp .btn-action-edit,
html.tema-ibgpp .btn-action-pdf,
html.tema-ibgpp .btn-action-archive { color: var(--ib-navy); border-color: #CFD6DF; background: #FFFFFF; }
html.tema-ibgpp .btn-action-delete { color: #B3261E; border-color: #F2B8B5; background: #FFFFFF; }
html.tema-ibgpp .btn-action-delete:hover { background: #FDE9E7; color: #B3261E; border-color: #B3261E; }
html.tema-ibgpp .btn-action-workflow { border-radius: 10px; }
html.tema-ibgpp .btn-action-wpp { background: var(--ib-navy); }
html.tema-ibgpp .btn-action-approve { background: #1E7B3C; }
html.tema-ibgpp .btn-action-warn { background: var(--ib-orange-d); }
html.tema-ibgpp .btn-action-danger { background: #B3261E; }
html.tema-ibgpp .row-actions-popover { border: 1px solid var(--ib-line); border-radius: 14px; box-shadow: 0 12px 32px rgba(26, 60, 94, .14); }
html.tema-ibgpp .row-action-item:hover { background: #F3F5F8; color: var(--ib-navy); }
html.tema-ibgpp .row-action-item.text-danger:hover { background: #FDE9E7; color: #B3261E; }

/* Botões e etiquetas genéricos */
html.tema-ibgpp .btn-success { background-color: #1E7B3C; color: #FFFFFF; }
html.tema-ibgpp .btn-success:hover { background-color: #17642F; }
html.tema-ibgpp .btn-warning { background-color: var(--ib-orange-d); color: #FFFFFF; }
html.tema-ibgpp .btn-danger { background-color: #B3261E; }
html.tema-ibgpp .badge { text-transform: none; font-weight: 600; }
html.tema-ibgpp .badge-success { background-color: #E4F6EA; color: #17663A; }
html.tema-ibgpp .badge-danger { background-color: #FDE9E7; color: #B3261E; }
html.tema-ibgpp .badge-info { background-color: #E6EDF5; color: var(--ib-navy); }
html.tema-ibgpp .custom-table td { font-size: 14px; }
html.tema-ibgpp .loading-overlay p { color: var(--ib-sec); }
html.tema-ibgpp .leaflet-popup-tip { background: #FFFFFF !important; }

@media screen and (max-width: 768px) {
  html.tema-ibgpp .ib-topo h1, html.tema-ibgpp .ib-titulo { font-size: 26px !important; }
  html.tema-ibgpp .funnel-tab { min-height: 44px; }
}

html.tema-ibgpp a.btn { text-decoration: none; }
