/* ========================================
   FIX ALINEACIÓN ICONOS BOXICONS - FORZADO
   ======================================== */

/* GLOBAL: Forzar alineación vertical de TODOS los iconos */
.bx, .bxs, .bxl {
    vertical-align: middle !important;
    display: inline-block !important;
    line-height: 1 !important;
}

/* Fix para todos los elementos que contengan iconos */
* .bx, * .bxs, * .bxl {
    vertical-align: middle !important;
}

/* BOTONES */
.btn .bx,
.btn .bxs,
.btn .bxl {
    vertical-align: middle !important;
    margin-top: -3px !important;
}

/* CARDS */
.card .bx,
.card .bxs,
.card .bxl {
    vertical-align: middle !important;
    margin-top: -2px !important;
}

.card-header .bx,
.card-header .bxs,
.card-header .bxl {
    vertical-align: middle !important;
    margin-top: -3px !important;
}

.card-body .bx,
.card-body .bxs,
.card-body .bxl {
    vertical-align: middle !important;
    margin-top: -2px !important;
}

/* TÍTULOS */
h1, h2, h3, h4, h5, h6 {
    line-height: 1.5 !important;
}

h1 .bx, h2 .bx, h3 .bx, h4 .bx, h5 .bx, h6 .bx,
h1 .bxs, h2 .bxs, h3 .bxs, h4 .bxs, h5 .bxs, h6 .bxs,
h1 .bxl, h2 .bxl, h3 .bxl, h4 .bxl, h5 .bxl, h6 .bxl {
    vertical-align: middle !important;
    margin-top: -4px !important;
}

/* PÁRRAFOS Y TEXTO */
p .bx, p .bxs, p .bxl,
span .bx, span .bxs, span .bxl,
small .bx, small .bxs, small .bxl,
div .bx, div .bxs, div .bxl {
    vertical-align: middle !important;
    margin-top: -2px !important;
}

/* LISTAS */
ul .bx, ul .bxs, ul .bxl,
ol .bx, ol .bxs, ol .bxl,
li .bx, li .bxs, li .bxl {
    vertical-align: middle !important;
    margin-top: -2px !important;
}

.list-unstyled .bx,
.list-unstyled .bxs,
.list-unstyled .bxl {
    vertical-align: middle !important;
    margin-top: -2px !important;
}

/* INPUT GROUPS */
.input-group-text {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.input-group-text .bx,
.input-group-text .bxs,
.input-group-text .bxl {
    margin: 0 !important;
    vertical-align: middle !important;
}

/* BADGES */
.badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.badge .bx,
.badge .bxs,
.badge .bxl {
    margin: 0 !important;
    vertical-align: middle !important;
}

/* NAVEGACIÓN */
.nav-link .bx,
.nav-link .bxs,
.nav-link .bxl {
    vertical-align: middle !important;
    margin-top: -2px !important;
}

/* DROPDOWN */
.dropdown-item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.dropdown-item .bx,
.dropdown-item .bxs,
.dropdown-item .bxl {
    margin: 0 !important;
    flex-shrink: 0 !important;
}

/* TABLAS */
table .bx,
table .bxs,
table .bxl {
    vertical-align: middle !important;
    margin-top: -2px !important;
}

td .bx, td .bxs, td .bxl,
th .bx, th .bxs, th .bxl {
    vertical-align: middle !important;
    margin-top: -2px !important;
}

/* ALERTS */
.alert {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
}

.alert .bx,
.alert .bxs,
.alert .bxl {
    margin-top: 3px !important;
    flex-shrink: 0 !important;
}

/* FORMS */
.form-label {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.form-label .bx,
.form-label .bxs,
.form-label .bxl {
    margin: 0 !important;
    flex-shrink: 0 !important;
}

/* AVATARS */
.avatar {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.avatar .bx,
.avatar .bxs,
.avatar .bxl {
    margin: 0 !important;
}

/* BREADCRUMBS */
.breadcrumb-item .bx,
.breadcrumb-item .bxs,
.breadcrumb-item .bxl {
    vertical-align: middle !important;
    margin-top: -2px !important;
}

/* SIDEBAR/MENU */
.menu-link .bx,
.menu-link .bxs,
.menu-link .bxl {
    vertical-align: middle !important;
    margin-top: -2px !important;
}

/* TAMAÑOS ESPECÍFICOS */
.bx-xs, .bxs-xs, .bxl-xs { 
    font-size: 0.875rem !important;
    vertical-align: middle !important;
}

.bx-sm, .bxs-sm, .bxl-sm { 
    font-size: 1rem !important;
    vertical-align: middle !important;
}

.bx-md, .bxs-md, .bxl-md { 
    font-size: 1.5rem !important;
    vertical-align: middle !important;
}

.bx-lg, .bxs-lg, .bxl-lg { 
    font-size: 2rem !important;
    vertical-align: middle !important;
}

.bx-xl, .bxs-xl, .bxl-xl { 
    font-size: 3rem !important;
    vertical-align: middle !important;
}

/* CLASES DE UTILIDAD PERSONALIZADAS */
.icon-center {
    vertical-align: middle !important;
    margin-top: -2px !important;
}

/* FIX PARA ICONOS EN LÍNEA CON TEXTO */
.d-inline .bx,
.d-inline .bxs,
.d-inline .bxl {
    vertical-align: middle !important;
    margin-top: -2px !important;
}

/* FIX ESPECÍFICO PARA TU CASO (Cliente Detail) */
.mb-0 .bx,
.mb-1 .bx,
.mb-2 .bx,
.mb-3 .bx {
    vertical-align: middle !important;
    margin-top: -3px !important;
}

/* Para iconos que van ANTES del texto */
.bx + strong,
.bx + span,
.bx + small,
.bxs + strong,
.bxs + span,
.bxs + small,
.bxl + strong,
.bxl + span,
.bxl + small {
    vertical-align: middle !important;
}
.dropdown-user .dropdown-item:first-child:hover {
    background-color: transparent !important;
}



/* ========================================
   scroll doble en sidebar
   ======================================== */

html, body {
    overflow-x: hidden !important;
}

.layout-menu,
#layout-menu {
    overflow-y: hidden !important;
    overflow-x: hidden !important;
}

.layout-menu::-webkit-scrollbar,
#layout-menu::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
}

.menu-inner {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-height: calc(100vh - 120px) !important;
    scrollbar-width: none !important;
}

.menu-inner::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
}

/* ========================================
   el hover de las filas vacias 
   ======================================== */
.table-hover tbody tr:has(td[colspan]) {
    pointer-events: none;
    background-color: transparent !important;
}
.table-hover tbody tr:has(td[colspan]):hover > * {
    background-color: transparent !important;
    --bs-table-accent-bg: transparent !important;
}

/* navbar y dropdown por encima  */
.layout-navbar {
    z-index: 1100 !important;
    position: relative !important;
}
.navbar .dropdown-menu,
.dropdown-menu.dropdown-menu-end {
    z-index: 1200 !important;
}

/* Tutulo del sidebar */
.app-brand-text {
    white-space: nowrap;
    overflow: hidden;
    max-width: 140px;
    display: inline-block;
}
