/* =====================================================
   NUCLEAR: menú lateral + Size Mode DX + contador notificaciones
   Debe cargarse AL FINAL de _Host (después de harmony/groupheader).

   Compact  = SizeMode.Small  → .dxbl-sm
   Standard = SizeMode.Medium → (sin sm/lg)
   Large    = SizeMode.Large  → .dxbl-lg
   ===================================================== */

/* --- Base (Standard / Medium): denser que DX default, indent reducido --- */
html body .sidebar .dxbl-accordion,
html body .xaf-main-menu.dxbl-accordion,
html body .dxbl-accordion.xaf-main-menu {
    --cicumba-nav-row-h: 23px;
    --cicumba-nav-font: 12px;
    --cicumba-nav-icon: 14px;
    --cicumba-nav-pad-y: 2px;
    --cicumba-nav-line: 1.2;
    --dxbl-accordion-group-item-content-indent: 0.2rem;
    --dxbl-accordion-group-item-content-padding-x: 0.15rem;
    --dxbl-accordion-group-header-padding-x: 0.15rem;
    --dxbl-accordion-group-header-padding-y: 0.12rem;
    --dxbl-accordion-group-header-font-size: var(--cicumba-nav-font);
    --dxbl-accordion-group-header-line-height: var(--cicumba-nav-line);
    --dxbl-accordion-group-item-font-size: var(--cicumba-nav-font);
    --dxbl-accordion-group-item-line-height: var(--cicumba-nav-line);
    --dxbl-accordion-group-font-size: var(--cicumba-nav-font);
    --dxbl-accordion-group-line-height: var(--cicumba-nav-line);
    --dxbl-accordion-group-item-spacing: 0.05rem;
    --dxbl-accordion-group-item-text-padding-y: 0.08rem;
    --dxbl-accordion-group-header-text-padding-y: 0.08rem;
    --dxbl-btn-padding-y: 0.08rem;
    --dxbl-btn-padding-x: 0.35rem;
}

/* Compact (SizeMode.Small) */
html body .sidebar .dxbl-accordion.dxbl-sm,
html body .xaf-main-menu.dxbl-accordion.dxbl-sm,
html body .dxbl-accordion.xaf-main-menu.dxbl-sm,
html body.dxbl-sm .sidebar .dxbl-accordion,
html body.dxbl-sm .xaf-main-menu.dxbl-accordion {
    --cicumba-nav-row-h: 21px;
    --cicumba-nav-font: 11px;
    --cicumba-nav-icon: 13px;
    --cicumba-nav-pad-y: 1px;
    --cicumba-nav-line: 1.15;
    --dxbl-accordion-group-item-content-indent: 0.15rem;
    --dxbl-accordion-group-item-content-padding-x: 0.1rem;
    --dxbl-accordion-group-header-padding-x: 0.1rem;
    --dxbl-accordion-group-header-padding-y: 0.08rem;
    --dxbl-accordion-group-item-spacing: 0;
}

/* Large (SizeMode.Large) */
html body .sidebar .dxbl-accordion.dxbl-lg,
html body .xaf-main-menu.dxbl-accordion.dxbl-lg,
html body .dxbl-accordion.xaf-main-menu.dxbl-lg,
html body.dxbl-lg .sidebar .dxbl-accordion,
html body.dxbl-lg .xaf-main-menu.dxbl-accordion {
    --cicumba-nav-row-h: 28px;
    --cicumba-nav-font: 13px;
    --cicumba-nav-icon: 16px;
    --cicumba-nav-pad-y: 3px;
    --cicumba-nav-line: 1.25;
    --dxbl-accordion-group-item-content-indent: 0.8rem;
    --dxbl-accordion-group-item-content-padding-x: 0.5rem;
    --dxbl-accordion-group-header-padding-x: 0.5rem;
    --dxbl-accordion-group-header-padding-y: 0.18rem;
    --dxbl-accordion-group-item-spacing: 0.1rem;
}

/* Filas: altura/fuente ligadas a --cicumba-nav-* (cambian con Size Mode) */
html body .sidebar .dxbl-accordion .dxbl-accordion-item-header,
html body .sidebar .dxbl-accordion .dxbl-accordion-item-header-button,
html body .sidebar .dxbl-accordion .dxbl-accordion-group-header,
html body .sidebar .dxbl-accordion .dxbl-accordion-group-header > .dxbl-accordion-item-content,
html body .sidebar .dxbl-accordion .dxbl-accordion-item > .dxbl-accordion-item-header,
html body .sidebar .dxbl-accordion button.dxbl-btn,
html body .sidebar .dxbl-accordion a.dxbl-btn,
html body .sidebar .dxbl-accordion .dxbl-btn.dxbl-btn-secondary,
html body .xaf-main-menu .nav-link,
html body .xaf-main-menu .xaf-nav-link,
html body .sidebar .dxbl-accordion .xaf-nav-link {
    --dxbl-btn-padding-y: var(--cicumba-nav-pad-y) !important;
    --bs-btn-padding-y: var(--cicumba-nav-pad-y) !important;
    min-height: var(--cicumba-nav-row-h) !important;
    height: var(--cicumba-nav-row-h) !important;
    max-height: none !important;
    padding-top: var(--cicumba-nav-pad-y) !important;
    padding-bottom: var(--cicumba-nav-pad-y) !important;
    padding-block: var(--cicumba-nav-pad-y) !important;
    padding-inline-start: 0 !important;
    padding-inline-end: 4px !important;
    padding-left: 0 !important;
    line-height: var(--cicumba-nav-line) !important;
    font-size: var(--cicumba-nav-font) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
}

html body .sidebar .dxbl-accordion .dxbl-text,
html body .sidebar .dxbl-accordion .dxbl-accordion-item-text-container,
html body .xaf-main-menu .dxbl-text {
    font-size: var(--cicumba-nav-font) !important;
    line-height: var(--cicumba-nav-line) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

html body .sidebar .dxbl-accordion .dxbl-accordion-item-header .dxbl-text,
html body .sidebar .dxbl-accordion .dxbl-accordion-item-header-button .dxbl-text,
html body .sidebar .dxbl-accordion .dxbl-accordion-group-header .dxbl-text {
    font-size: var(--cicumba-nav-font) !important;
    font-weight: 600 !important;
}

html body .sidebar .dxbl-accordion .xaf-image,
html body .xaf-main-menu .xaf-image,
html body .sidebar .dxbl-accordion .dxbl-accordion-item-header .xaf-image,
html body .sidebar .dxbl-accordion .dxbl-accordion-item-header-button .xaf-image {
    width: var(--cicumba-nav-icon) !important;
    height: var(--cicumba-nav-icon) !important;
    min-width: var(--cicumba-nav-icon) !important;
    min-height: var(--cicumba-nav-icon) !important;
}

html body .sidebar .dxbl-accordion .dxbl-accordion-item,
html body .sidebar .dxbl-accordion .dxbl-accordion-item-text-container,
html body .sidebar .dxbl-accordion .dxbl-accordion-item-content,
html body .sidebar .dxbl-accordion .dxbl-accordion-item-body,
html body .sidebar .dxbl-accordion .dxbl-accordion-group-body,
html body .sidebar .dxbl-accordion .dxbl-accordion-group,
html body .sidebar .dxbl-accordion .xaf-nav-item,
html body .sidebar .dxbl-accordion .dxbl-accordion-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-block: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

html body .sidebar .dxbl-accordion .dxbl-accordion-item-header,
html body .sidebar .dxbl-accordion .dxbl-accordion-item-header-button,
html body .sidebar .dxbl-accordion .dxbl-accordion-group-header {
    border-bottom: none !important;
}

html body .sidebar .dxbl-accordion .dxbl-group-expand-btn,
html body .sidebar .dxbl-accordion .dxbl-accordion-item-header-expand-button,
html body .sidebar .dxbl-accordion .dxbl-btn.dxbl-group-expand-btn {
    min-height: calc(var(--cicumba-nav-row-h) - 2px) !important;
    height: calc(var(--cicumba-nav-row-h) - 2px) !important;
    width: calc(var(--cicumba-nav-row-h) - 2px) !important;
    min-width: calc(var(--cicumba-nav-row-h) - 2px) !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* --- Contador campana ShowNotifications: blanco --- */
html body .header-right-side [data-action-id="ShowNotificationsAction"],
html body .header-right-side [data-action-id="ShowNotificationsAction"] *,
html body .header-right-side .xaf-toolbar-item[data-action-id="ShowNotificationsAction"],
html body .header-right-side .xaf-toolbar-item[data-action-id="ShowNotificationsAction"] *,
html body .header-right-side .xaf-toolbar-item[data-action-id="ShowNotificationsAction"] .dxbl-btn,
html body .header-right-side .xaf-toolbar-item[data-action-id="ShowNotificationsAction"] .dxbl-btn-caption,
html body .header-right-side .xaf-toolbar-item[data-action-id="ShowNotificationsAction"] .dxbl-text,
html body .header-right-side .xaf-toolbar-item[data-action-id="ShowNotificationsAction"] span,
html body .xaf-header-actions [data-action-id="ShowNotificationsAction"],
html body .xaf-header-actions [data-action-id="ShowNotificationsAction"] *,
html body .header .xaf-toolbar-item[data-action-id="ShowNotificationsAction"] .dxbl-btn-caption,
html body .header-right-side [data-action-id*="Notification"],
html body .header-right-side [data-action-id*="Notification"] *,
html body .header-right-side [data-action-container="Notifications"],
html body .header-right-side [data-action-container="Notifications"] *,
html body .header-right-side .cicumba-header-notifications,
html body .header-right-side .cicumba-header-notifications * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html body .header-right-side [data-action-id="ShowNotificationsAction"] .xaf-image,
html body .header-right-side .xaf-toolbar-item[data-action-id="ShowNotificationsAction"] .xaf-image,
html body .header-right-side [data-action-container="Notifications"] .xaf-image,
html body .header-right-side .cicumba-header-notifications .xaf-image {
    background-color: #ffffff !important;
}

html body .header-right-side [data-action-id="ShowNotificationsAction"] img,
html body .header-right-side .xaf-toolbar-item[data-action-id="ShowNotificationsAction"] img,
html body .header-right-side [data-action-id="ShowNotificationsAction"] svg,
html body .header-right-side [data-action-container="Notifications"] img,
html body .header-right-side [data-action-container="Notifications"] svg,
html body .header-right-side .cicumba-header-notifications img,
html body .header-right-side .cicumba-header-notifications svg {
    filter: brightness(0) invert(1) !important;
    color: #ffffff !important;
}

/* Menús raíz del sidebar: icono verde oscuro (no blanco sobre fondo claro) */
html body .sidebar .dxbl-accordion .dxbl-accordion-item-header .xaf-image,
html body .sidebar .dxbl-accordion .dxbl-accordion-item-header-button .xaf-image,
html body .sidebar .dxbl-accordion .dxbl-accordion-group-header .xaf-image,
html body .sidebar .dxbl-accordion .xaf-navigation-link-click-area .xaf-image,
html body .sidebar .dxbl-accordion .dxbl-btn-standalone .xaf-image,
html body .xaf-main-menu .dxbl-accordion-item-header .xaf-image,
html body .xaf-main-menu .xaf-navigation-link-click-area .xaf-image {
    background-color: #3d5c4e !important;
    color: #3d5c4e !important;
    opacity: 1 !important;
    filter: none !important;
}

html body .sidebar .dxbl-accordion .dxbl-accordion-item-header img:not(.xaf-image),
html body .sidebar .dxbl-accordion .dxbl-accordion-item-header .dxbl-image:not(.xaf-image),
html body .sidebar .dxbl-accordion .xaf-navigation-link-click-area img,
html body .sidebar .dxbl-accordion .xaf-navigation-link-click-area .dxbl-image:not(.xaf-image),
html body .sidebar .dxbl-accordion .dxbl-btn-standalone img,
html body .sidebar .dxbl-accordion .dxbl-btn-standalone .dxbl-image:not(.xaf-image) {
    filter: brightness(0) saturate(100%) invert(32%) sepia(14%) saturate(480%) hue-rotate(98deg) !important;
    opacity: 1 !important;
    color: #3d5c4e !important;
}

html body .sidebar .dxbl-accordion .dxbl-accordion-item-header .xaf-navigation-link-click-area svg,
html body .sidebar .dxbl-accordion .dxbl-btn-standalone svg:not(.dxbl-accordion-item-header-expand-button svg),
html body .sidebar .dxbl-accordion .xaf-navigation-link-click-area svg {
    color: #3d5c4e !important;
    fill: currentColor !important;
    opacity: 1 !important;
    filter: none !important;
}

/* ── Móvil: menú lateral denso, pegado a la izquierda, tipografía e iconos mayores ── */
@media (max-width: 768px) {
    html body .sidebar .dxbl-accordion,
    html body .xaf-main-menu.dxbl-accordion,
    html body .dxbl-accordion.xaf-main-menu,
    html body .sidebar .dxbl-accordion.dxbl-sm,
    html body .xaf-main-menu.dxbl-accordion.dxbl-sm,
    html body.dxbl-sm .sidebar .dxbl-accordion,
    html body .sidebar .dxbl-accordion.dxbl-lg,
    html body.dxbl-lg .sidebar .dxbl-accordion {
        --cicumba-nav-row-h: 42px;
        --cicumba-nav-font: 17px;
        --cicumba-nav-icon: 28px;
        --cicumba-nav-pad-y: 4px;
        --cicumba-nav-line: 1.3;
        /* DX: indent = (item-indent - 1) * content-indent → forzar 0 a cualquier profundidad */
        --dxbl-accordion-group-item-content-indent: 0px !important;
        --dxbl-accordion-item-indent: 1 !important;
        --dxbl-accordion-group-item-content-padding-x: 0 !important;
        --dxbl-accordion-group-header-padding-x: 0 !important;
        --dxbl-accordion-group-header-padding-y: 0.12rem;
        --dxbl-accordion-group-item-spacing: 0.05rem;
        --dxbl-accordion-group-header-font-size: var(--cicumba-nav-font);
        --dxbl-accordion-group-item-font-size: var(--cicumba-nav-font);
        --dxbl-accordion-group-font-size: var(--cicumba-nav-font);
        --dxbl-btn-padding-x: 0 !important;
    }

    /* Anular variables de sangrado en todos los nodos anidados (DX las redefine por nivel) */
    html body .sidebar .dxbl-accordion *,
    html body .xaf-main-menu.dxbl-accordion * {
        --dxbl-accordion-group-item-content-indent: 0px !important;
        --dxbl-accordion-item-indent: 1 !important;
    }

    /* Spacer de indentación DX: ocultar por completo en móvil */
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-indent,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-indent-end,
    html body .xaf-main-menu .dxbl-accordion-item-indent,
    html body .xaf-main-menu .dxbl-accordion-item-indent-end {
        display: none !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        flex: 0 0 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    html body .sidebar,
    html body .nav-sidebar,
    html body .sidebar .dxbl-accordion,
    html body .sidebar .dxbl-accordion-container,
    html body .sidebar .dxbl-scroll-viewer,
    html body .sidebar .dxbl-scroll-viewer-content {
        padding-left: 0 !important;
        padding-inline-start: 0 !important;
        margin-left: 0 !important;
    }

    html body .sidebar .dxbl-accordion .dxbl-accordion-item-header,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-header-button,
    html body .sidebar .dxbl-accordion .dxbl-accordion-group-header,
    html body .sidebar .dxbl-accordion button.dxbl-btn,
    html body .sidebar .dxbl-accordion a.dxbl-btn,
    html body .sidebar .dxbl-accordion .dxbl-btn.dxbl-btn-secondary,
    html body .sidebar .dxbl-accordion .xaf-nav-link,
    html body .sidebar .dxbl-accordion .xaf-navigation-link-click-area,
    html body .xaf-main-menu .nav-link,
    html body .xaf-main-menu .xaf-nav-link {
        padding-inline-start: 0 !important;
        padding-inline-end: 2px !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
        min-height: var(--cicumba-nav-row-h) !important;
        height: var(--cicumba-nav-row-h) !important;
        gap: 0.2rem !important;
        column-gap: 0.2rem !important;
    }

    html body .sidebar .dxbl-accordion .dxbl-accordion-item,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-body,
    html body .sidebar .dxbl-accordion .dxbl-accordion-group-body,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-content,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-text-container {
        padding-left: 0 !important;
        padding-inline-start: 0 !important;
        margin-left: 0 !important;
        margin-inline-start: 0 !important;
    }

    /* Subítems a cualquier profundidad: mismo borde izquierdo que la raíz */
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-body .dxbl-btn,
    html body .sidebar .dxbl-accordion .dxbl-accordion-group-body .dxbl-btn,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-body .xaf-nav-link,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-body .dxbl-accordion-item-header,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-body .dxbl-accordion-item-header-button,
    html body .sidebar .dxbl-accordion .dxbl-accordion-group-body .dxbl-accordion-item-header,
    html body .sidebar .dxbl-accordion .dxbl-accordion-group-body .dxbl-accordion-item-header-button {
        padding-inline-start: 0 !important;
        padding-left: 0 !important;
        margin-inline-start: 0 !important;
        margin-left: 0 !important;
    }

    html body .sidebar .dxbl-accordion .dxbl-text,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-text-container,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-header .dxbl-text,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-header-button .dxbl-text,
    html body .sidebar .dxbl-accordion .dxbl-accordion-group-header .dxbl-text,
    html body .xaf-main-menu .dxbl-text {
        font-size: var(--cicumba-nav-font) !important;
        line-height: var(--cicumba-nav-line) !important;
        font-weight: 500 !important;
    }

    html body .sidebar .dxbl-accordion .xaf-image,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-header .xaf-image,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-header-button .xaf-image,
    html body .sidebar .dxbl-accordion .dxbl-accordion-group-header .xaf-image,
    html body .sidebar .dxbl-accordion .xaf-navigation-link-click-area .xaf-image,
    html body .sidebar .dxbl-accordion .dxbl-btn-standalone .xaf-image,
    html body .sidebar .dxbl-accordion .dxbl-image.xaf-image,
    html body .xaf-main-menu .xaf-image,
    /* Misma especificidad (0,5,2) que la regla 16px de cicumba-harmony.css; este archivo carga después */
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-header .dxbl-image.xaf-image,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-header-button .dxbl-image.xaf-image,
    html body .sidebar .dxbl-accordion .xaf-navigation-link-click-area .dxbl-image.xaf-image,
    html body .xaf-main-menu .dxbl-accordion-item-header .dxbl-image.xaf-image {
        width: var(--cicumba-nav-icon) !important;
        height: var(--cicumba-nav-icon) !important;
        min-width: var(--cicumba-nav-icon) !important;
        min-height: var(--cicumba-nav-icon) !important;
        max-width: none !important;
        max-height: none !important;
        -webkit-mask-size: contain !important;
        mask-size: contain !important;
        margin-inline-end: 0.35rem !important;
        margin-right: 0.35rem !important;
    }

    html body .sidebar .dxbl-accordion .dxbl-accordion-item-header img,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-header-button img,
    html body .sidebar .dxbl-accordion .xaf-navigation-link-click-area img,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-header svg,
    html body .sidebar .dxbl-accordion .xaf-navigation-link-click-area svg {
        width: var(--cicumba-nav-icon) !important;
        height: var(--cicumba-nav-icon) !important;
        min-width: var(--cicumba-nav-icon) !important;
        min-height: var(--cicumba-nav-icon) !important;
    }

    html body .sidebar .dxbl-accordion .dxbl-group-expand-btn,
    html body .sidebar .dxbl-accordion .dxbl-accordion-item-header-expand-button {
        min-width: 1.5rem !important;
        width: 1.5rem !important;
        min-height: calc(var(--cicumba-nav-row-h) - 4px) !important;
        height: calc(var(--cicumba-nav-row-h) - 4px) !important;
        margin-inline-end: 0 !important;
        margin-inline-start: 0 !important;
        padding: 0 !important;
    }
}
