@charset "UTF-8";
:root[data-glpi-theme=ativa] {
  /*
   * Ativa Consultoria - UX v3
   * Diretriz:
   * - Marca presente, sem prejudicar legibilidade.
   * - Azul institucional para estrutura.
   * - Azul de ação para botões/links.
   * - Amarelo apenas como acento visual.
   */
  --ac-navy: #002b49;
  --ac-navy-hover: #0b4268;
  --ac-action: #005eb8;
  --ac-action-hover: #004b92;
  --ac-accent: #f6b73c;
  --ac-bg: #f6f9fc;
  --ac-surface: #ffffff;
  --ac-surface-soft: #eef4f9;
  --ac-border: #d7e2ea;
  --ac-text: #1f2d3d;
  --ac-muted: #5b677a;
  /* Variáveis principais do GLPI/Tabler */
  --tblr-primary: #005eb8;
  --tblr-primary-rgb: 0, 94, 184;
  --tblr-primary-fg: #ffffff;
  --tblr-secondary: #002b49;
  --tblr-secondary-fg: #ffffff;
  --tblr-warning: #f6b73c;
  --tblr-warning-rgb: 246, 183, 60;
  --tblr-warning-fg: #002b49;
  --tblr-link-color: #0052a3;
  --tblr-link-color-rgb: 0, 82, 163;
  --tblr-link-hover-color: #002b49;
  --tblr-body-color: #1f2d3d;
  --tblr-body-bg: #f6f9fc;
  --tblr-border-color: #d7e2ea;
  --tblr-muted: #5b677a;
  /* Menu principal */
  --glpi-mainmenu-bg: #002b49;
  --glpi-mainmenu-fg: #ffffff;
  /* Prévia da paleta */
  --glpi-palette-color-1: #002b49;
  --glpi-palette-color-2: #005eb8;
  --glpi-palette-color-3: #f6b73c;
  --glpi-palette-color-4: #ffffff;
}

/* Fundo geral mais limpo */
:root[data-glpi-theme=ativa] body,
:root[data-glpi-theme=ativa] .page,
:root[data-glpi-theme=ativa] .page-wrapper,
:root[data-glpi-theme=ativa] .page-body {
  background-color: #f6f9fc !important;
  color: #1f2d3d;
}

/* Links: nunca amarelo em fundo branco */
:root[data-glpi-theme=ativa] a:not(.btn):not(.nav-link) {
  color: #0052a3;
}

:root[data-glpi-theme=ativa] a:not(.btn):not(.nav-link):hover {
  color: #002b49;
  text-decoration: underline;
}

/* Botão primário com contraste forte */
:root[data-glpi-theme=ativa] .btn-primary {
  color: #ffffff !important;
  background-color: #005eb8 !important;
  border-color: #005eb8 !important;
  font-weight: 600;
}

:root[data-glpi-theme=ativa] .btn-primary:hover,
:root[data-glpi-theme=ativa] .btn-primary:focus {
  color: #ffffff !important;
  background-color: #004b92 !important;
  border-color: #004b92 !important;
}

/* Botões amarelos somente com texto escuro */
:root[data-glpi-theme=ativa] .btn-warning,
:root[data-glpi-theme=ativa] .btn-outline-warning {
  color: #002b49 !important;
  background-color: #f6b73c !important;
  border-color: #f6b73c !important;
  font-weight: 600;
}

:root[data-glpi-theme=ativa] .btn-warning:hover,
:root[data-glpi-theme=ativa] .btn-outline-warning:hover {
  color: #002b49 !important;
  background-color: #e4a92f !important;
  border-color: #e4a92f !important;
}

/* Foco acessível: importante para teclado e usabilidade */
:root[data-glpi-theme=ativa] .btn:focus,
:root[data-glpi-theme=ativa] .form-control:focus,
:root[data-glpi-theme=ativa] .form-select:focus,
:root[data-glpi-theme=ativa] input:focus,
:root[data-glpi-theme=ativa] textarea:focus,
:root[data-glpi-theme=ativa] select:focus {
  border-color: #f6b73c !important;
  box-shadow: 0 0 0 0.22rem rgba(246, 183, 60, 0.35) !important;
}

/* Menu lateral: hover claro e ativo muito evidente */
:root[data-glpi-theme=ativa] .navbar-vertical {
  background-color: #002b49 !important;
}

:root[data-glpi-theme=ativa] .navbar-vertical .nav-link {
  color: rgba(255, 255, 255, 0.92) !important;
  border-left: 4px solid transparent;
}

:root[data-glpi-theme=ativa] .navbar-vertical .nav-link:hover {
  color: #ffffff !important;
  background-color: #0b4268 !important;
  border-left-color: rgba(246, 183, 60, 0.7);
}

:root[data-glpi-theme=ativa] .navbar-vertical .nav-link.active,
:root[data-glpi-theme=ativa] .navbar-vertical .nav-item.active > .nav-link,
:root[data-glpi-theme=ativa] .navbar-vertical .nav-link[aria-current=page] {
  color: #002b49 !important;
  background-color: #eaf4ff !important;
  border-left-color: #f6b73c;
  font-weight: 700;
}

:root[data-glpi-theme=ativa] .navbar-vertical .nav-link.active i,
:root[data-glpi-theme=ativa] .navbar-vertical .nav-link.active svg,
:root[data-glpi-theme=ativa] .navbar-vertical .nav-item.active > .nav-link i,
:root[data-glpi-theme=ativa] .navbar-vertical .nav-item.active > .nav-link svg {
  color: #002b49 !important;
}

/* Menu horizontal / interface cliente */
:root[data-glpi-theme=ativa] .navbar-horizontal,
:root[data-glpi-theme=ativa] body.layout-horizontal .navbar,
:root[data-glpi-theme=ativa] .navbar-expand-md {
  border-bottom: 1px solid #d7e2ea;
}

:root[data-glpi-theme=ativa] .navbar-horizontal .nav-link,
:root[data-glpi-theme=ativa] body.layout-horizontal .navbar .nav-link {
  color: #002b49;
  font-weight: 600;
}

:root[data-glpi-theme=ativa] .navbar-horizontal .nav-link:hover,
:root[data-glpi-theme=ativa] body.layout-horizontal .navbar .nav-link:hover {
  color: #005eb8;
  background-color: #eaf4ff;
  border-radius: 8px;
}

/* Cards e blocos: visual mais moderno sem quebrar layout */
:root[data-glpi-theme=ativa] .card,
:root[data-glpi-theme=ativa] .dashboard-card,
:root[data-glpi-theme=ativa] .search-card {
  border-color: #d7e2ea !important;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(0, 43, 73, 0.06);
}

/* Tabelas: melhorar leitura, não enfeitar demais */
:root[data-glpi-theme=ativa] .table thead th {
  color: #243447;
  background-color: #f2f6fb;
  border-bottom-color: #d7e2ea;
}

:root[data-glpi-theme=ativa] .table-hover tbody tr:hover {
  background-color: #eef6ff;
}

/* Breadcrumbs e topo */
:root[data-glpi-theme=ativa] .breadcrumb a,
:root[data-glpi-theme=ativa] .breadcrumb-item a {
  color: #0052a3 !important;
  font-weight: 500;
}

/* Badges e indicadores: manter semântica, só suavizar aparência */
:root[data-glpi-theme=ativa] .badge {
  border-radius: 999px;
  font-weight: 600;
}

/* Responsividade: não fixar larguras, apenas espaçamentos seguros */
@media (max-width: 768px) {
  :root[data-glpi-theme=ativa] .card {
    border-radius: 10px;
  }
  :root[data-glpi-theme=ativa] .btn {
    min-height: 40px;
  }
}
/* =========================================================
   PATCH ATIVA UX v4
   Objetivo: melhorar contraste, hover e portal cliente
   sem redesenhar o GLPI inteiro.
   ========================================================= */
/* Menu lateral: hover mais evidente */
:root[data-glpi-theme=ativa] .navbar-vertical .nav-link:hover {
  color: #ffffff !important;
  background-color: #073a5d !important;
  border-left: 4px solid #f6b73c !important;
}

/* Menu lateral: item aberto/expandido */
:root[data-glpi-theme=ativa] .navbar-vertical .nav-link[aria-expanded=true] {
  color: #ffffff !important;
  background-color: #073a5d !important;
}

/* Menu lateral: item realmente ativo */
:root[data-glpi-theme=ativa] .navbar-vertical .nav-link.active,
:root[data-glpi-theme=ativa] .navbar-vertical .nav-item.active > .nav-link,
:root[data-glpi-theme=ativa] .navbar-vertical .dropdown-item.active {
  color: #002b49 !important;
  background-color: #eaf4ff !important;
  border-left: 4px solid #f6b73c !important;
  font-weight: 700 !important;
}

/* Submenus do menu lateral */
:root[data-glpi-theme=ativa] .navbar-vertical .dropdown-menu .dropdown-item:hover {
  color: #ffffff !important;
  background-color: #073a5d !important;
}

/* Botões principais: garantir contraste */
:root[data-glpi-theme=ativa] .btn-primary,
:root[data-glpi-theme=ativa] a.btn-primary {
  color: #ffffff !important;
  background-color: #005eb8 !important;
  border-color: #005eb8 !important;
}

:root[data-glpi-theme=ativa] .btn-primary:hover,
:root[data-glpi-theme=ativa] a.btn-primary:hover {
  color: #ffffff !important;
  background-color: #004b92 !important;
  border-color: #004b92 !important;
}

/* Portal cliente / layout sem menu lateral */
:root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .navbar {
  background-color: #002b49 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* Links do topo do portal cliente */
:root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .navbar .nav-link {
  color: rgba(255, 255, 255, 0.88) !important;
  border-radius: 8px;
  font-weight: 600;
}

:root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .navbar .nav-link:hover,
:root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .navbar .nav-link:focus {
  color: #ffffff !important;
  background-color: #073a5d !important;
}

/* Item ativo no portal cliente */
:root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .navbar .nav-link.active,
:root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .navbar .nav-link[aria-current=page] {
  color: #002b49 !important;
  background-color: #eaf4ff !important;
}

/* Cards do portal cliente */
:root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .card,
:root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) a.card {
  border: 1px solid #d7e2ea !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 14px rgba(0, 43, 73, 0.06) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

/* Hover dos cards clicáveis */
:root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) a.card:hover,
:root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .card.clickable:hover {
  transform: translateY(-2px);
  border-color: #005eb8 !important;
  box-shadow: 0 8px 22px rgba(0, 43, 73, 0.12) !important;
}

/* Formulários do portal cliente */
:root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .form-control,
:root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .form-select {
  min-height: 42px;
  border-color: #d7e2ea;
}

/* Foco acessível */
:root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .form-control:focus,
:root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .form-select:focus {
  border-color: #005eb8 !important;
  box-shadow: 0 0 0 0.22rem rgba(0, 94, 184, 0.18) !important;
}

/* Área de formulário: mais confortável em telas grandes */
:root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .page-body .card {
  max-width: 980px;
}

/* Responsivo: não quebrar mobile */
@media (max-width: 768px) {
  :root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .navbar .nav-link {
    min-height: 40px;
  }
  :root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .card {
    border-radius: 10px !important;
  }
  :root[data-glpi-theme=ativa] body:not(:has(.navbar-vertical)) .page-body .card {
    max-width: 100%;
  }
}
/* =========================================================
   Ativa Consultoria - Identidade visual segura
   Aplicado somente na paleta ativa
   ========================================================= */
:root[data-glpi-theme=ativa] {
  --tblr-primary: #002b49;
  --tblr-primary-rgb: 0, 43, 73;
  --tblr-link-color: #005ca8;
  --tblr-link-color-rgb: 0, 92, 168;
  --glpi-mainmenu-bg: #002b49;
  --glpi-mainmenu-fg: #ffffff;
}

/* Logo principal GLPI -> Ativa */
:root[data-glpi-theme=ativa] .glpi-logo {
  background-image: url("/pics/ativa/ativa_logo_topo_branco_ac_360x120.png") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  display: inline-block !important;
  width: 180px !important;
  height: 60px !important;
}

/* Esconde imagem interna caso o logo seja renderizado como IMG */
:root[data-glpi-theme=ativa] .glpi-logo img {
  opacity: 0 !important;
}

/* Ajuste do bloco do logo em menus/topos */
:root[data-glpi-theme=ativa] .navbar-brand,
:root[data-glpi-theme=ativa] .main-header .navbar-brand,
:root[data-glpi-theme=ativa] #navbar-menu .navbar-brand {
  min-height: 64px;
  display: flex;
  align-items: center;
}

/* Menu lateral: contraste e hover mais legível */
:root[data-glpi-theme=ativa] .navbar-vertical.navbar-dark,
:root[data-glpi-theme=ativa] .navbar-vertical {
  background-color: #002b49 !important;
}

:root[data-glpi-theme=ativa] .navbar-vertical .nav-link {
  color: rgba(255, 255, 255, 0.86) !important;
}

:root[data-glpi-theme=ativa] .navbar-vertical .nav-link:hover,
:root[data-glpi-theme=ativa] .navbar-vertical .nav-link:focus {
  background-color: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}

:root[data-glpi-theme=ativa] .navbar-vertical .nav-link.active,
:root[data-glpi-theme=ativa] .navbar-vertical .nav-item.active > .nav-link {
  background-color: #e8f3fc !important;
  color: #002b49 !important;
  font-weight: 700;
  border-left: 4px solid #f6b73c;
}

/* Botões principais com contraste melhor */
:root[data-glpi-theme=ativa] .btn-primary {
  background-color: #005ca8 !important;
  border-color: #005ca8 !important;
  color: #ffffff !important;
}

:root[data-glpi-theme=ativa] .btn-primary:hover,
:root[data-glpi-theme=ativa] .btn-primary:focus {
  background-color: #004b8a !important;
  border-color: #004b8a !important;
  color: #ffffff !important;
}

/* Links: azul mais acessível em fundo claro */
:root[data-glpi-theme=ativa] a {
  color: #005ca8;
}

:root[data-glpi-theme=ativa] a:hover {
  color: #003f73;
}

/* Cards do Helpdesk: hover sutil sem prejudicar leitura */
:root[data-glpi-theme=ativa] .helpdesk-home-card,
:root[data-glpi-theme=ativa] .card {
  border-color: #d9e2ec;
}

:root[data-glpi-theme=ativa] .card:hover {
  box-shadow: 0 8px 22px rgba(0, 43, 73, 0.1);
}

/* Portal cliente: topo com identidade Ativa e bom contraste */
:root[data-glpi-theme=ativa] body[data-interface=helpdesk] header,
:root[data-glpi-theme=ativa] .helpdesk-navbar,
:root[data-glpi-theme=ativa] .navbar.navbar-expand-md {
  background-color: #002b49;
}

/* =========================================================
   Ativa Consultoria - Substituição oficial dos logos GLPI
   Usa as variáveis nativas de logo do GLPI 11
   ========================================================= */
:root[data-glpi-theme=ativa] {
  /* Logo usado em menu/topo claro ou escuro */
  --glpi-logo-light: url("/pics/ativa/ativa_logo_topo_branco_ac_360x120.png");
  --glpi-logo-dark: url("/pics/ativa/ativa_logo_topo_azul_ac_360x120.png");
  /* Logo reduzido quando menu estiver recolhido */
  --glpi-logo-light-reduced: url("/pics/ativa/ativa_icone_branco_256x256.png");
  --glpi-logo-dark-reduced: url("/pics/ativa/ativa_icone_azul_256x256.png");
  /* Logo específico da tela de login */
  --glpi-logo-dark-login: url("/pics/ativa/ativa_logo_login_azul_760x260.png");
  --glpi-logo-light-login: url("/pics/ativa/ativa_logo_login_branco_760x260.png");
  --glpi-logo: var(--glpi-logo-light);
  --glpi-logo-reduced: var(--glpi-logo-light-reduced);
}

/* Tela de login: usa logo azul em fundo claro */
:root[data-glpi-theme=ativa] .page-anonymous .glpi-logo {
  --logo: var(--glpi-logo-dark-login) !important;
  background-image: var(--logo) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  width: 360px !important;
  height: 120px !important;
  max-width: 90vw !important;
}

/* Telas internas/topo/menu: usa logo branco no topo azul */
:root[data-glpi-theme=ativa] .page:not(.page-anonymous) .glpi-logo {
  background-image: var(--glpi-logo-light) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
}

/* Menu recolhido: usa apenas ícone */
:root[data-glpi-theme=ativa] body.navbar-collapsed .navbar-brand .glpi-logo {
  background-image: var(--glpi-logo-light-reduced) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
}