/* ENE 1.0.138 — sistema global de ícones profissionais e perfil
   Princípio: ícone acompanha exatamente a cor do texto da sua ação.
   Ícones semânticos de sucesso/estado ficam preservados. */

:root{
  --ene-v1138-ink:#101828;
  --ene-v1138-white:#ffffff;
  --ene-v1138-blue:#174fe6;
  --ene-v1138-red:#d92d20;
}

/* Traço uniforme, limpo e consistente em toda a aplicação. */
svg.icon,svg.btn-icon,svg.link-icon,svg.list-icon,svg.preview-arrow,
svg.accordion-icon,svg.option-arrow,svg.contact-icon,svg.float-icon,
svg.ene-action-icon-v1136{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* O ícone de uma ação deve SEMPRE herdar a cor do texto dessa ação. */
body a > svg.icon:not([data-ene-icon-preserve]),
body button > svg.icon:not([data-ene-icon-preserve]),
body label > svg.icon:not([data-ene-icon-preserve]),
body [role="button"] > svg.icon:not([data-ene-icon-preserve]),
body a svg.btn-icon:not([data-ene-icon-preserve]),
body button svg.btn-icon:not([data-ene-icon-preserve]),
body .ene-portal-nav-link svg.icon:not([data-ene-icon-preserve]),
body .ene-admin-nav-link svg.icon:not([data-ene-icon-preserve]),
body .ene-profile-megamenu a svg.icon:not([data-ene-icon-preserve]),
body .ene-primary-submenu-item svg.icon:not([data-ene-icon-preserve]),
body .ene-card-action-v1083 svg.icon:not([data-ene-icon-preserve]),
body .ene-card-action-v1083 svg.link-icon:not([data-ene-icon-preserve]),
body .ene-notification-list a svg.icon:not([data-ene-icon-preserve]){
  color:inherit!important;
  stroke:currentColor!important;
}

/* Linhas de informação: ícone e texto usam exatamente a mesma cor. */
body .ene-card-facts-v1083>span,
body .ene-opportunity-detail-info-v1100 dt,
body .ene-opportunity-detail-info-v1100 dd,
body .ene-card-facts-v1083>span svg.icon,
body .ene-opportunity-detail-info-v1100 dt svg.icon,
body .ene-opportunity-detail-info-v1100 dd svg.icon{
  color:inherit!important;
}
body .ene-card-facts-v1083>span svg.icon,
body .ene-opportunity-detail-info-v1100 dt svg.icon,
body .ene-opportunity-detail-info-v1100 dd svg.icon{
  stroke:currentColor!important;
}

/* Rodapé: links e ícones sociais ficam brancos juntos. */
body:not(.ene-admin-body) .site-footer .social-link-card,
body:not(.ene-admin-body) footer .social-link-card,
body:not(.ene-admin-body) .site-footer .social-badge,
body:not(.ene-admin-body) footer .social-badge,
body:not(.ene-admin-body) .site-footer .social-badge .icon,
body:not(.ene-admin-body) footer .social-badge .icon{
  color:#fff!important;
  stroke:currentColor!important;
}

/* Botões azuis/escuros: texto + ícone brancos. */
body :is(.btn-primary,.ene-admin-button:not(.secondary):not(.danger),.ene-portal-button:not(.secondary):not(.danger),.ene-admin-quick-add,.ene-home-search-v1061>button,.ene-portal-sidebar-cta a){
  color:#fff!important;
}
body :is(.btn-primary,.ene-admin-button:not(.secondary):not(.danger),.ene-portal-button:not(.secondary):not(.danger),.ene-admin-quick-add,.ene-home-search-v1061>button,.ene-portal-sidebar-cta a) svg.icon:not([data-ene-icon-preserve]){
  color:#fff!important;
  stroke:#fff!important;
}

/* Controles claros: texto + ícone no mesmo tom escuro/azul definido pelo componente. */
body :is(.btn-outline,.ene-panel-back,.ene-search-trigger,.ene-portal-menu-button,.ene-admin-menu-button) svg.icon:not([data-ene-icon-preserve]){
  color:inherit!important;
  stroke:currentColor!important;
}

/* Preserva confirmação/sucesso — não neutralizar verde nem outras cores semânticas. */
svg.icon:has(use[href="#icon-check"]),
svg.icon[data-ene-icon-preserve],
.ene-success svg.icon,.success svg.icon,.is-success svg.icon,.status-success svg.icon{
  color:inherit;
}

/* Perfil: menu encostado ao acionador, não deslocado pela faixa de cursos. */
@media (min-width:621px){
  body.ene-portal-body .ene-portal-profile-menu,
  body.ene-admin-body .ene-admin-profile-menu{position:relative!important}
  body.ene-portal-body .ene-profile-megamenu,
  body.ene-admin-body .ene-admin-profile-megamenu{
    position:absolute!important;
    top:calc(100% + 7px)!important;
    right:0!important;
    left:auto!important;
    margin:0!important;
  }
}

/* Avatar gerado automaticamente: azul institucional e inicial branca legível. */
body .ene-user-avatar.is-initial,
body .ene-portal-user .ene-user-avatar.is-initial,
body .ene-admin-user .ene-user-avatar.is-initial,
body .ene-profile-megamenu-head .ene-user-avatar.is-initial{
  background:#174fe6!important;
  color:#fff!important;
  border-color:#174fe6!important;
  text-shadow:none!important;
  font-weight:750!important;
  opacity:1!important;
}
body .ene-profile-megamenu-head .ene-user-avatar.is-initial{
  box-shadow:0 0 0 3px rgba(23,79,230,.12)!important;
}

/* Dropdown do perfil mais compacto e ligado visualmente ao botão. */
body .ene-profile-megamenu{
  width:min(318px,calc(100vw - 24px))!important;
  border-radius:12px!important;
  box-shadow:0 14px 34px rgba(16,24,40,.14)!important;
}
body .ene-profile-megamenu-head{padding:12px!important}
body .ene-profile-megamenu-links{padding:6px!important}
body .ene-profile-megamenu-links a,
body .ene-profile-megamenu-foot a{min-height:36px!important}

/* Contador vermelho: SEMPRE número branco. */
body .ene-notification-count-v1074,
body .ene-profile-megamenu-links b,
body .ene-portal-user-badge,
body [class*="notification"][class*="count"],
body [class*="notification"][class*="badge"]{
  color:#fff!important;
  text-shadow:none!important;
}
body .ene-notification-count-v1074,
body .ene-profile-megamenu-links b{
  background:#d92d20!important;
}

/* Estados de hover/foco continuam sincronizando texto e ícone. */
body a:hover svg.icon:not([data-ene-icon-preserve]),
body a:focus-visible svg.icon:not([data-ene-icon-preserve]),
body button:hover svg.icon:not([data-ene-icon-preserve]),
body button:focus-visible svg.icon:not([data-ene-icon-preserve]){
  color:inherit!important;
  stroke:currentColor!important;
}

/* Evita ícones muito pequenos ou visualmente frágeis. */
body .ene-portal-nav-link .icon,
body .ene-admin-nav-link .icon{width:17px!important;height:17px!important;stroke-width:1.85!important}
body .ene-profile-megamenu .icon{width:16px!important;height:16px!important;stroke-width:1.8!important}
