/*
 * Alinhamento seguro de ícones.
 * Não aplica margens automáticas em ícones que dividem espaço com textos.
 */
.fa, .fas, .far, .fal, .fab,
.fa-solid, .fa-regular, .fa-light, .fa-brands,
.feather, [data-feather] {
    line-height: 1 !important;
    vertical-align: middle;
}

.hb-nav-icon,
.hb-icon-center,
.hb-icon-button,
.hb-sidebar-close,
.hb-logout-button,
.hb-menu-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.hb-nav-icon > i,
.hb-nav-icon > svg,
.hb-icon-center > i,
.hb-icon-center > svg,
.hb-icon-button > i,
.hb-icon-button > svg,
.hb-sidebar-close > i,
.hb-sidebar-close > svg,
.hb-logout-button > i,
.hb-logout-button > svg,
.hb-menu-button > i,
.hb-menu-button > svg {
    display: block !important;
    flex: 0 0 auto;
    margin: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    transform: none;
}

/* Centraliza apenas ícones realmente isolados em botões/caixas. */
button[class*="h-"][class*="w-"] > i:only-child,
a[class*="h-"][class*="w-"] > i:only-child,
span[class*="h-"][class*="w-"] > i:only-child,
div[class*="h-"][class*="w-"] > i:only-child,
button[class*="rounded"] > i:only-child,
a[class*="rounded"] > i:only-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1em;
    height: 1em;
    margin: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
}
