﻿/* ════════════════════════════════════════════════════════════════════════════
   EDUCATED 6 — NAVIGATION V6 : RAIL DE MODULES + PANNEAU (repris d'AcurBusiness 6.0)
   Fichier : wwwroot/css/shell-v6.css — chargé à la place de shell.css quand
             Navigation:Mode = V6 (Pages/_Host.cshtml)
   Comportements : Js/sidebar-v6.js (icônes, un seul module ouvert, menu réduit)
                   Js/sidebar-footer-v6.js (pied + menu réduit)
                   Js/nav-rail-v6.js (rail, panneau, favoris, « Nouveau »)
   Couleurs : logo Educated — bleu #5351FB, indigo #342484 ; rail foncé validé
              #1D1657 → #241C6E → #140F3E

   Structure DevExpress (accordéon XAF) :
     module      dxbl-group-control.dxbl-accordion-group > .dxbl-accordion-group-header
     contenu     > .dxbl-accordion-group-body > .xaf-nav-item (indent 1, 2, 3…)
     ligne       .xaf-nav-item > .dxbl-accordion-item-content (a = écran, div = sous-groupe)
   ════════════════════════════════════════════════════════════════════════════ */


/* ── Jetons ─────────────────────────────────────────────────────────────── */

.xaf-sidebar {
    --nav-w: 256px;
    --nav-mini: 64px;
    --nav-ink-0: #0F172A;
    --nav-ink-1: #1E293B;
    --nav-ink-2: #475569;
    --nav-ink-3: #8A93A6;
    --nav-line: #E8EAF0;
    --nav-rail: #DDDDFE;
    --nav-hover: #F3F3FF;
    --nav-active: #EEEEFF;
    --nav-brand: #5351FB;
    --nav-focus: rgba(83, 81, 251, .16);

    /* Gabarit — mode Standard de XAF (body.xaf-size-m) */
    --nav-row: 40px;          /* hauteur d'une ligne de module */
    --nav-sub-row: 32px;      /* hauteur d'une ligne de sous-menu */
    --nav-ico: 28px;          /* pastille d'icône de module */
    --nav-ico-svg: 16px;
    --nav-gap: 10px;          /* icône ↔ libellé */
    --nav-mx: 8px;            /* marge latérale des lignes */
    --nav-px: 8px;            /* retrait intérieur des lignes */
    --nav-step: 14px;         /* retrait par niveau */
    --nav-fs: 13px;
    --nav-sub-fs: 12.5px;
    --nav-filter-h: 36px;
    --nav-radius: 10px;
}

/* Mode Compact de XAF (body.xaf-size-s) : même dessin, gabarit resserré */
body.xaf-size-s .xaf-sidebar {
    --nav-w: 232px;
    --nav-mini: 56px;
    --nav-row: 32px;
    --nav-sub-row: 27px;
    --nav-ico: 24px;
    --nav-ico-svg: 14px;
    --nav-gap: 8px;
    --nav-mx: 6px;
    --nav-px: 6px;
    --nav-step: 12px;
    --nav-fs: 12.5px;
    --nav-sub-fs: 12px;
    --nav-filter-h: 30px;
    --nav-radius: 8px;
}


/* ── Conteneur ──────────────────────────────────────────────────────────── */

.xaf-sidebar.sidebar,
.xaf-flex-auto.overflow-hidden > .xaf-sidebar {
    width: var(--nav-w) !important;
    min-width: var(--nav-w) !important;
    background: #FFFFFF !important;
    border-top: 0 !important;
    border-right: 1px solid var(--nav-line) !important;
    display: flex !important;
    flex-direction: column !important;
    transition: width 180ms ease, min-width 180ms ease;
}

    .xaf-sidebar::before,
    .xaf-sidebar::after { display: none !important; }

    .xaf-sidebar * {
        font-family: "Geist", "Public Sans", system-ui, -apple-system, sans-serif !important;
    }

    .xaf-sidebar .dxbl-scroll-viewer-scroll-thumb {
        background: #DDE2EA !important;
        border-radius: 3px !important;
    }

    /* Les liens XAF sont soulignés par défaut : jamais dans le menu */
    .xaf-sidebar .xaf-nav-link,
    .xaf-sidebar a,
    .xaf-sidebar a:hover {
        text-decoration: none !important;
    }


/* ── Recherche dans le menu ─────────────────────────────────────────────── */

.xaf-sidebar .dxbl-accordion-filter > .dxbl-accordion-group-header {
    padding: 12px calc(var(--nav-mx) + 4px) 2px !important;
    margin: 0 !important;
    min-height: 0 !important;
    background: transparent !important;
}

.xaf-sidebar .dxbl-navigation-filter {
    margin: 0 !important;
    height: var(--nav-filter-h);
    border-radius: var(--nav-radius) !important;
    border: 1px solid transparent !important;
    background: #F3F3FF !important;
    box-shadow: none !important;
    transition: background 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}

    .xaf-sidebar .dxbl-navigation-filter:hover { border-color: #DDDDFE !important; }

    .xaf-sidebar .dxbl-navigation-filter:focus-within {
        background: #FFFFFF !important;
        border-color: #6E6CFC !important;
        box-shadow: 0 0 0 3px var(--nav-focus) !important;
    }

    .xaf-sidebar .dxbl-navigation-filter .dxbl-text-edit-input {
        font-size: 12.5px !important;
        color: var(--nav-ink-1) !important;
    }

        .xaf-sidebar .dxbl-navigation-filter .dxbl-text-edit-input::placeholder { color: var(--nav-ink-3) !important; }

    .xaf-sidebar .dxbl-navigation-filter .dxbl-btn { color: var(--nav-ink-3) !important; }

/* Titre de section sous la recherche */
.xaf-sidebar .dxbl-accordion-filter::after {
    content: "Modules";
    display: block;
    padding: 14px calc(var(--nav-mx) + var(--nav-px) + 4px) 6px;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--nav-ink-3);
}


/* ── Modules (1er niveau) ───────────────────────────────────────────────── */

.xaf-sidebar .dxbl-accordion-group:not(.dxbl-accordion-filter) > .dxbl-accordion-group-header,
.xaf-sidebar .dxbl-accordion-container > .dxbl-accordion-items-container > .clickable-xaf-nav-item > .dxbl-accordion-item-content {
    display: flex !important;
    align-items: center !important;
    position: relative;
    margin: 1px var(--nav-mx) !important;
    padding: 0 6px 0 var(--nav-px) !important;
    min-height: var(--nav-row) !important;
    border-radius: var(--nav-radius) !important;
    background: transparent !important;
    cursor: pointer;
    transition: background 120ms ease !important;
}

    .xaf-sidebar .dxbl-accordion-group:not(.dxbl-accordion-filter) > .dxbl-accordion-group-header:hover,
    .xaf-sidebar .dxbl-accordion-container > .dxbl-accordion-items-container > .clickable-xaf-nav-item > .dxbl-accordion-item-content:hover {
        background: var(--nav-hover) !important;
    }

    /* Icône + libellé ; chevron poussé à droite */
    .xaf-sidebar .dxbl-accordion-group-header > .dxbl-accordion-item-content {
        flex: 1 1 auto;
        min-width: 0;
        display: flex !important;
        align-items: center !important;
        gap: var(--nav-gap);
        padding: 0 !important;
        background: transparent !important;
    }

    .xaf-sidebar .dxbl-accordion-group-header > .dxbl-group-expand-btn {
        order: 2;
        flex: none;
        width: 24px !important;
        height: 24px !important;
        padding: 0 !important;
        margin: 0 0 0 4px !important;
        border-radius: 6px !important;
        color: var(--nav-ink-3) !important;
    }

.xaf-sidebar .dxbl-group-expand-btn svg,
.xaf-sidebar .dxbl-group-expand-btn .dxbl-image {
    width: 14px !important;
    height: 14px !important;
    color: currentColor !important;
}

/* Icônes de module (SVG posés par sidebar-v6.js) : une seule teinte, les modules se distinguent par l'icône */
.xaf-sidebar .educated-nav-ico {
    width: var(--nav-ico);
    height: var(--nav-ico);
    border-radius: calc(var(--nav-radius) - 2px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

    .xaf-sidebar .educated-nav-ico svg { width: var(--nav-ico-svg); height: var(--nav-ico-svg); }

.xaf-sidebar .educated-nav-ico { background: #EEEEFF; color: #5351FB; }

/* L'image XAF d'origine reste dans le DOM (géré par Blazor), masquée */
.xaf-sidebar img.xaf-nav-menu-item-icon[data-ed6-replaced] { display: none !important; }

/* Libellés */
.xaf-sidebar .dxbl-accordion-item-text-container {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 !important;
}

.xaf-sidebar .xaf-nav-link {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

    .xaf-sidebar .xaf-nav-link span {
        font-size: var(--nav-fs) !important;
        font-weight: 500 !important;
        color: var(--nav-ink-1) !important;
        letter-spacing: -.005em !important;
    }

/* Module ouvert : libellé affirmé */
.xaf-sidebar .dxbl-accordion-group.expanded > .dxbl-accordion-group-header .xaf-nav-link span {
    color: var(--nav-ink-0) !important;
    font-weight: 600 !important;
}

/* Module de l'écran courant (classe posée par sidebar-icons.js) : libellé mauve, et un point quand il est fermé */
.xaf-sidebar .dxbl-accordion-group.ed6-nav-current > .dxbl-accordion-group-header .xaf-nav-link span {
    color: var(--nav-brand) !important;
    font-weight: 600 !important;
}

.xaf-sidebar .dxbl-accordion-group.ed6-nav-current:not(.expanded) > .dxbl-accordion-group-header::after {
    content: "";
    order: 1;
    flex: none;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--nav-brand);
}

/* Module « écran direct » (sans sous-menu) actif */
.xaf-sidebar .dxbl-accordion-container > .dxbl-accordion-items-container > .clickable-xaf-nav-item > .dxbl-accordion-item-content.dxbl-active {
    background: var(--nav-active) !important;
}

    .xaf-sidebar .dxbl-accordion-container > .dxbl-accordion-items-container > .clickable-xaf-nav-item > .dxbl-accordion-item-content.dxbl-active .xaf-nav-link span {
        color: var(--nav-brand) !important;
        font-weight: 600 !important;
    }

.xaf-sidebar .dxbl-accordion-container > .dxbl-accordion-items-container > .clickable-xaf-nav-item > .dxbl-accordion-item-content {
    gap: var(--nav-gap);
}


/* ── Contenu d'un module : rail + sous-groupes + écrans ─────────────────── */

.xaf-sidebar .dxbl-accordion-group-body {
    position: relative;
    padding: 2px 0 8px;
}

    /* Rail vertical aligné sur le centre de l'icône du module */
    .xaf-sidebar .dxbl-accordion-group:not(.dxbl-accordion-filter) > .dxbl-accordion-group-body::before {
        content: "";
        position: absolute;
        left: calc(var(--nav-mx) + var(--nav-px) + var(--nav-ico) / 2);
        top: 2px;
        bottom: 10px;
        width: 1px;
        background: var(--nav-rail);
        pointer-events: none;
    }

.xaf-sidebar .dxbl-accordion-group-body .dxbl-accordion-item-content {
    display: flex !important;
    align-items: center !important;
    position: relative;
    margin: 1px var(--nav-mx) !important;
    min-height: var(--nav-sub-row) !important;
    /* niveau 1 aligné sur le libellé du module, puis un cran par niveau */
    padding: 0 6px 0 calc(var(--nav-px) + var(--nav-ico) + var(--nav-gap) + (var(--dxbl-accordion-item-indent, 1) - 1) * var(--nav-step)) !important;
    border-radius: calc(var(--nav-radius) - 2px) !important;
    background: transparent !important;
    transition: background 120ms ease !important;
}

    .xaf-sidebar .dxbl-accordion-group-body .dxbl-accordion-item-content:hover { background: var(--nav-hover) !important; }

    /* Retraits et emplacements d'icône vides de DevExpress */
    .xaf-sidebar .dxbl-accordion-group-body .dxbl-accordion-item-indent,
    .xaf-sidebar .dxbl-accordion-group-body .xaf-nav-menu-item-icon:empty,
    .xaf-sidebar .dxbl-accordion-group-expand-btn-container:has(> .dxbl-invisible),
    .xaf-sidebar .dxbl-accordion-container > .dxbl-accordion-items-container > .clickable-xaf-nav-item .dxbl-accordion-item-indent {
        display: none !important;
    }

    /* Chevron des sous-groupes à droite */
    .xaf-sidebar .dxbl-accordion-group-body .dxbl-accordion-group-expand-btn-container {
        order: 3;
        flex: none;
        margin-left: 4px;
    }

        .xaf-sidebar .dxbl-accordion-group-body .dxbl-accordion-group-expand-btn-container .dxbl-btn {
            width: 22px !important;
            height: 22px !important;
            padding: 0 !important;
            color: var(--nav-ink-3) !important;
        }

    /* Sous-groupe (Process, Classification…) : libellé foncé */
    .xaf-sidebar .dxbl-accordion-group-body .has-children > .dxbl-accordion-item-content .xaf-nav-link span {
        font-size: var(--nav-sub-fs) !important;
        font-weight: 600 !important;
        color: var(--nav-ink-1) !important;
    }

    /* Écran : libellé léger */
    .xaf-sidebar .dxbl-accordion-group-body .clickable-xaf-nav-item > .dxbl-accordion-item-content .xaf-nav-link span {
        font-size: var(--nav-sub-fs) !important;
        font-weight: 400 !important;
        color: var(--nav-ink-2) !important;
    }

    .xaf-sidebar .dxbl-accordion-group-body .clickable-xaf-nav-item > .dxbl-accordion-item-content:hover .xaf-nav-link span {
        color: var(--nav-ink-0) !important;
    }

    /* Écran courant : pastille lavande + repère mauve posé sur le rail */
    .xaf-sidebar .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active {
        background: var(--nav-active) !important;
    }

        .xaf-sidebar .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active .xaf-nav-link span {
            color: var(--nav-brand) !important;
            font-weight: 600 !important;
        }

        .xaf-sidebar .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active::before {
            content: "";
            position: absolute;
            left: calc(var(--nav-px) + var(--nav-ico) / 2 - 1px);   /* posé sur le rail */
            top: 25%;
            bottom: 25%;
            width: 3px;
            border-radius: 3px;
            background: var(--nav-brand);
        }

/* Focus : DevExpress donne le focus au clic, pas d'anneau (le survol et l'état actif suffisent) */
.xaf-sidebar .dxbl-accordion-item-content:focus,
.xaf-sidebar .dxbl-accordion-item-content:focus-visible,
.xaf-sidebar .dxbl-accordion-group-header:focus,
.xaf-sidebar .dxbl-accordion-group-header:focus-visible,
.xaf-sidebar .dxbl-accordion-container:focus,
.xaf-sidebar .dxbl-accordion-container:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}


/* ── Pied : nom, version, bouton « Réduire le menu » (sidebar-footer.js) ── */

.xaf-sidebar .about-info {
    margin-top: auto;
    padding: 10px 10px 10px 18px !important;
    border-top: 1px solid var(--nav-line);
    background: #FFFFFF;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "name btn" "ver btn";
    align-items: center;
    column-gap: 8px;
    row-gap: 1px;
}

    .xaf-sidebar .about-info .ab-name {
        grid-area: name;
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 12px;
        font-weight: 600;
        color: var(--nav-ink-1);
        letter-spacing: -.005em;
        white-space: nowrap;
    }

        .xaf-sidebar .about-info .ab-name::before {
            content: "";
            width: 7px;
            height: 7px;
            border-radius: 2px;
            background: linear-gradient(135deg, #6E6CFC 0%, #5351FB 100%);
            flex: none;
        }

    .xaf-sidebar .about-info .ab-version {
        grid-area: ver;
        padding-left: 15px;
        font-size: 10.5px;
        color: var(--nav-ink-3);
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

.xaf-sidebar .ed6-nav-toggle {
    grid-area: btn;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--nav-ink-3);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 120ms ease, color 120ms ease;
}

    .xaf-sidebar .ed6-nav-toggle:hover { background: var(--nav-hover); color: var(--nav-brand); }
    .xaf-sidebar .ed6-nav-toggle:focus-visible { outline: 2px solid #6E6CFC; outline-offset: 1px; }
    .xaf-sidebar .ed6-nav-toggle svg { width: 18px; height: 18px; transition: transform 180ms ease; }


body.xaf-size-s .xaf-sidebar .about-info { padding: 8px 8px 8px 14px !important; }
body.xaf-size-s .xaf-sidebar .ed6-nav-toggle { width: 28px; height: 28px; }
body.xaf-size-s .xaf-sidebar .ed6-nav-toggle svg { width: 16px; height: 16px; }
body.xaf-size-s .xaf-sidebar .dxbl-accordion-filter::after { padding-top: 12px; padding-bottom: 4px; }


/* ── Menu réduit (icônes seules) : html.ed6-nav-mini ────────────────────── */

html.ed6-nav-mini .xaf-sidebar.sidebar,
html.ed6-nav-mini .xaf-flex-auto.overflow-hidden > .xaf-sidebar {
    width: var(--nav-mini) !important;
    min-width: var(--nav-mini) !important;
}

html.ed6-nav-mini .xaf-sidebar .dxbl-accordion-filter,
html.ed6-nav-mini .xaf-sidebar .dxbl-accordion-group-body,
html.ed6-nav-mini .xaf-sidebar .dxbl-accordion-item-text-container,
html.ed6-nav-mini .xaf-sidebar .dxbl-group-expand-btn,
html.ed6-nav-mini .xaf-sidebar .dxbl-accordion-group-expand-btn-container,
html.ed6-nav-mini .xaf-sidebar .dxbl-accordion-group-header::after,
html.ed6-nav-mini .xaf-sidebar .about-info .ab-name,
html.ed6-nav-mini .xaf-sidebar .about-info .ab-version {
    display: none !important;
}

html.ed6-nav-mini .xaf-sidebar .dxbl-accordion-container > .dxbl-accordion-items-container { padding-top: 12px; }

html.ed6-nav-mini .xaf-sidebar .dxbl-accordion-group:not(.dxbl-accordion-filter) > .dxbl-accordion-group-header,
html.ed6-nav-mini .xaf-sidebar .dxbl-accordion-container > .dxbl-accordion-items-container > .clickable-xaf-nav-item > .dxbl-accordion-item-content {
    justify-content: center !important;
    margin: 2px calc((var(--nav-mini) - var(--nav-ico) - 16px) / 2) !important;
    padding: 0 !important;
    min-height: calc(var(--nav-row) + 2px) !important;
}

html.ed6-nav-mini .xaf-sidebar .dxbl-accordion-group-header > .dxbl-accordion-item-content { flex: 0 0 auto; }

/* Module de l'écran courant : fond lavande */
html.ed6-nav-mini .xaf-sidebar .dxbl-accordion-group.ed6-nav-current > .dxbl-accordion-group-header {
    background: var(--nav-active) !important;
}

html.ed6-nav-mini .xaf-sidebar .about-info {
    grid-template-columns: 1fr;
    grid-template-areas: "btn";
    justify-items: center;
    padding: 10px 0 !important;
}

html.ed6-nav-mini .xaf-sidebar .ed6-nav-toggle svg { transform: scaleX(-1); }


/* ════════════════════════════════════════════════════════════════════════════
   RAIL DE MODULES + PANNEAU DU MODULE (navigation façon ClickUp) — nav-rail.js
   html.ed6-railmode : mode actif · html.ed6-filtering : recherche en cours dans le menu
   ════════════════════════════════════════════════════════════════════════════ */

body { --ed6-rail-w: 78px; }
body.xaf-size-s { --ed6-rail-w: 72px; }

/* Le contenu (menu + écrans) se décale de la largeur du rail */
html.ed6-railmode .xaf-flex-auto.overflow-hidden.d-flex:has(> .xaf-sidebar) { padding-left: var(--ed6-rail-w) !important; }

/* ── Rail ───────────────────────────────────────────────────────────────── */

.ed6-rail {
    position: fixed;
    left: 6px;
    top: 120px;
    bottom: 8px;
    width: calc(var(--ed6-rail-w) - 10px);
    z-index: 30;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    padding: 8px 3px;
    border-radius: 14px;
    background: linear-gradient(180deg, #1D1657 0%, #241C6E 48%, #140F3E 100%);
    box-shadow: 0 10px 24px -14px rgba(20, 15, 62, .7);
    overflow-y: auto;
    scrollbar-width: none;
    font-family: "Geist", "Public Sans", system-ui, sans-serif;
}

    .ed6-rail[hidden] { display: none !important; }
    .ed6-rail::-webkit-scrollbar { display: none; }

.ed6-ri {
    all: unset;
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    width: 100%;
    padding: 5px 0 4px;
    border-radius: 10px;
    color: rgba(255, 255, 255, .72);
    font: 500 9.5px/1.1 "Geist", system-ui, sans-serif;
    letter-spacing: .01em;
    cursor: pointer;
    text-align: center;
    transition: color 120ms ease;
}

    .ed6-ri-sq {
        width: 32px;
        height: 32px;
        border-radius: 9px;
        display: grid;
        place-items: center;
        transition: background 120ms ease, color 120ms ease, box-shadow 120ms ease;
    }

        .ed6-ri-sq svg { width: 19px; height: 19px; }

    .ed6-ri-t {
        max-width: 100%;
        padding: 0 2px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ed6-ri:hover { color: #FFFFFF; }
    .ed6-ri:hover .ed6-ri-sq { background: rgba(255, 255, 255, .13); }
    .ed6-ri:focus-visible .ed6-ri-sq { box-shadow: 0 0 0 2px rgba(255, 255, 255, .7); }

    /* Module affiché dans le panneau */
    .ed6-ri.is-on { color: #FFFFFF; font-weight: 600; }

        .ed6-ri.is-on .ed6-ri-sq {
            background: #FFFFFF;
            color: #5351FB;
            box-shadow: 0 6px 14px -6px rgba(0, 0, 0, .45);
        }

    /* Module de l'écran courant quand un autre module est affiché */
    .ed6-ri.is-current::before {
        content: "";
        position: absolute;
        left: 1px;
        top: 17px;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: #FFFFFF;
    }

/* Compteurs (alertes actives / critiques) */
.ed6-ri-badge {
    position: absolute;
    top: 0;
    right: calc(50% - 24px);
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 8px;
    background: #5351FB;
    color: #FFFFFF;
    font: 700 9px/16px "Geist", system-ui, sans-serif;
    text-align: center;
    box-shadow: 0 0 0 2px #1F1862;
}

    /* Critique : le rouge des graphiques de l'accueil (#B4233B), éclairci en haut pour rester
       lisible sur le rail foncé, avec un léger halo de la même teinte */
    .ed6-ri-badge.is-crit {
        background: linear-gradient(180deg, #DC4A63 0%, #B4233B 100%);
        box-shadow: 0 0 0 2px #1F1862, 0 3px 8px -2px rgba(180, 35, 59, .75);
        letter-spacing: .01em;
    }
    .ed6-ri-badge[data-badge] { cursor: pointer; transition: transform 120ms ease; }
    .ed6-ri-badge[data-badge]:hover { transform: scale(1.18); }

/* Info-bulle des pastilles (nav-rail.js) : quelles alertes, combien */
.ed6-ri-tip {
    position: fixed; z-index: 2000; max-width: 300px; min-width: 200px;
    padding: 10px 12px 9px; border-radius: 12px;
    background: #140F3E; color: rgba(255, 255, 255, .86);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .08), 0 18px 36px -14px rgba(10, 8, 30, .7);
    font: 500 12px/1.4 "Geist", system-ui, sans-serif;
    opacity: 0; transform: translateX(-4px); pointer-events: none;
    transition: opacity 120ms ease, transform 120ms ease;
}
    .ed6-ri-tip.is-on { opacity: 1; transform: none; }
    .ed6-ri-tip b { display: block; color: #FFFFFF; font-weight: 600; font-size: 12.5px; margin-bottom: 6px; }
    .ed6-ri-tip ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; }
    .ed6-ri-tip li { display: flex; gap: 10px; align-items: baseline; }
        .ed6-ri-tip li::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: #F2687E; transform: translateY(-1px); }
        .ed6-ri-tip li span { flex: 1 1 auto; }
        .ed6-ri-tip li em { font-style: normal; font-weight: 600; color: #FFFFFF; font-variant-numeric: tabular-nums; }
    .ed6-ri-tip-sev { display: flex; flex-wrap: wrap; gap: 4px 12px; }
        .ed6-ri-tip-sev i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-right: 5px; transform: translateY(-1px); }
        .ed6-ri-tip-sev .s-crit { background: #F2687E; }
        .ed6-ri-tip-sev .s-warn { background: #FF5D25; }
        .ed6-ri-tip-sev .s-info { background: #5351FB; }
    .ed6-ri-tip small { display: block; margin-top: 8px; padding-top: 7px; border-top: 1px solid rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .55); font-size: 11px; }

.ed6-ri-grow { flex: 1 1 auto; min-height: 8px; }

.ed6-ri-toggle { color: rgba(255, 255, 255, .6); }
.ed6-ri-toggle svg { transition: transform 180ms ease; }
.ed6-ri-toggle.is-flipped svg { transform: scaleX(-1); }

body.xaf-size-s .ed6-ri-sq { width: 30px; height: 30px; }
body.xaf-size-s .ed6-ri-sq svg { width: 18px; height: 18px; }
body.xaf-size-s .ed6-ri { font-size: 9px; padding: 4px 0 3px; }

/* ── Panneau : plus étroit, n'affiche que le module ouvert ──────────────── */

html.ed6-railmode .xaf-sidebar { --nav-w: 236px; }
html.ed6-railmode body.xaf-size-s .xaf-sidebar { --nav-w: 216px; }

/* Panneau replié : il ne reste que le rail */
html.ed6-railmode.ed6-nav-mini .xaf-sidebar.sidebar,
html.ed6-railmode.ed6-nav-mini .xaf-flex-auto.overflow-hidden > .xaf-sidebar { display: none !important; }

/* Un module est ouvert (hors recherche) : on masque les autres et son propre en-tête */
html.ed6-railmode:not(.ed6-filtering) .xaf-sidebar .dxbl-accordion-container > .dxbl-accordion-items-container:has(> .dxbl-accordion-group.expanded:not(.dxbl-accordion-filter)) > .dxbl-accordion-group:not(.dxbl-accordion-filter):not(.expanded),
html.ed6-railmode:not(.ed6-filtering) .xaf-sidebar .dxbl-accordion-container > .dxbl-accordion-items-container > .dxbl-accordion-group.expanded:not(.dxbl-accordion-filter) > .dxbl-accordion-group-header {
    display: none !important;
}

html.ed6-railmode:not(.ed6-filtering) .xaf-sidebar:has(.dxbl-accordion-group.expanded:not(.dxbl-accordion-filter)) .dxbl-accordion-filter::after { content: "Menu"; }

html.ed6-railmode .xaf-sidebar .dxbl-accordion-filter > .dxbl-accordion-group-header { padding-top: 4px !important; }

/* « Tableau de bord » est déjà dans le rail (Accueil) */
html.ed6-railmode .xaf-sidebar .dxbl-accordion-container > .dxbl-accordion-items-container > .clickable-xaf-nav-item { display: none !important; }

/* Sans en-tête de module, l'arborescence remonte d'un cran : retrait réduit,
   pas de rail vertical, repère de l'écran courant dans la pastille */
html.ed6-railmode:not(.ed6-filtering) .xaf-sidebar:has(.dxbl-accordion-group.expanded:not(.dxbl-accordion-filter)) .dxbl-accordion-group-body .dxbl-accordion-item-content {
    padding-left: calc(var(--nav-px) + 6px + (var(--dxbl-accordion-item-indent, 1) - 1) * var(--nav-step)) !important;
}

html.ed6-railmode:not(.ed6-filtering) .xaf-sidebar:has(.dxbl-accordion-group.expanded:not(.dxbl-accordion-filter)) .dxbl-accordion-group:not(.dxbl-accordion-filter) > .dxbl-accordion-group-body::before { display: none !important; }

html.ed6-railmode:not(.ed6-filtering) .xaf-sidebar:has(.dxbl-accordion-group.expanded:not(.dxbl-accordion-filter)) .dxbl-accordion-group-body .dxbl-accordion-item-content.dxbl-active::before {
    left: 4px !important;
}

/* En-tête du panneau : module + bouton Nouveau */
.ed6-panel-head,
.ed6-favs { display: none; }

html.ed6-railmode .ed6-panel-head {
    display: flex;
    align-items: center;
    gap: var(--nav-gap);
    flex: none;
    padding: 12px calc(var(--nav-mx) + 4px) 6px calc(var(--nav-mx) + var(--nav-px));
}

.ed6-ph-ico {
    width: var(--nav-ico);
    height: var(--nav-ico);
    flex: none;
    border-radius: calc(var(--nav-radius) - 2px);
    display: grid;
    place-items: center;
    background: #EEEEFF;
    color: var(--nav-brand);
}

    .ed6-ph-ico svg { width: var(--nav-ico-svg); height: var(--nav-ico-svg); }

.ed6-ph-title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--nav-ink-0);
    letter-spacing: -.01em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.xaf-size-s .ed6-ph-title { font-size: 13px; }

.ed6-ph-plus {
    all: unset;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 26px;
    padding: 0 8px 0 6px;
    border: 1px solid #DDDDFE;
    border-radius: 7px;
    font: 600 11.5px "Geist", system-ui, sans-serif;
    color: var(--nav-ink-1);
    cursor: pointer;
    transition: border-color 120ms, color 120ms, background 120ms;
}

    .ed6-ph-plus svg { width: 12px; height: 12px; }
    .ed6-ph-plus:hover { border-color: #CBCAFE; color: var(--nav-brand); background: #F6F6FF; }

body.xaf-size-s .ed6-ph-plus { height: 24px; }

/* Favoris */
html.ed6-railmode .ed6-favs {
    display: block;
    flex: none;
    max-height: 34%;
    overflow-y: auto;
    padding: 2px var(--nav-mx) 4px;
    scrollbar-width: thin;
}

.ed6-favs-title {
    padding: 6px 4px 4px var(--nav-px);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--nav-ink-3);
}

.ed6-favs-empty {
    padding: 0 6px 6px var(--nav-px);
    font-size: 11px;
    line-height: 1.4;
    color: var(--nav-ink-3);
}

.ed6-fav {
    display: flex;
    align-items: center;
    gap: 8px;
    height: var(--nav-sub-row);
    padding: 0 4px 0 var(--nav-px);
    border-radius: calc(var(--nav-radius) - 2px);
    font-size: var(--nav-sub-fs);
    color: var(--nav-ink-1);
    cursor: pointer;
}

    .ed6-fav:hover { background: var(--nav-hover); color: var(--nav-ink-0); }

.ed6-fav-ini {
    width: 20px;
    height: 20px;
    flex: none;
    border-radius: 6px;
    display: grid;
    place-items: center;
    font: 700 8.5px "Geist", system-ui, sans-serif;
    color: #FFFFFF;
    background: var(--nav-brand);
}

    .ed6-fav-ini.tint-accueil { background: #342484; }

.ed6-fav-t { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ed6-fav-x {
    all: unset;
    width: 18px;
    height: 18px;
    border-radius: 5px;
    display: grid;
    place-items: center;
    font-size: 14px;
    line-height: 1;
    color: var(--nav-ink-3);
    opacity: 0;
    cursor: pointer;
}

    .ed6-fav:hover .ed6-fav-x { opacity: 1; }
    .ed6-fav-x:hover { color: #B4233B; background: #FCEBEE; }

/* Étoile au survol d'un écran (clic dans la zone de droite = épingler) */
html.ed6-railmode .xaf-sidebar .dxbl-accordion-group-body .clickable-xaf-nav-item > a.dxbl-accordion-item-content { padding-right: 26px !important; }

html.ed6-railmode .xaf-sidebar .dxbl-accordion-group-body .clickable-xaf-nav-item > a.dxbl-accordion-item-content::after {
    content: "☆";
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    text-align: center;
    font-size: 13px;
    line-height: 1;
    color: var(--nav-ink-3);
    opacity: 0;
    transition: opacity 100ms, color 100ms;
}

html.ed6-railmode .xaf-sidebar .dxbl-accordion-group-body .clickable-xaf-nav-item > a.dxbl-accordion-item-content:hover::after { opacity: 1; }

html.ed6-railmode .xaf-sidebar .dxbl-accordion-group-body .clickable-xaf-nav-item > a.dxbl-accordion-item-content[data-ed6-fav]::after {
    content: "★";
    color: #FFA800;
    opacity: 1;
}

/* Menu « Nouveau » */
.ed6-plus-menu {
    position: fixed;
    z-index: 3000;
    min-width: 230px;
    max-width: 300px;
    max-height: 60vh;
    overflow-y: auto;
    padding: 6px;
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    box-shadow: 0 18px 40px -14px rgba(20, 15, 62, .28), 0 2px 6px rgba(15, 23, 42, .06);
    font-family: "Geist", "Public Sans", system-ui, sans-serif;
}

.ed6-pm-title {
    padding: 6px 8px 6px;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #8A93A6;
}

.ed6-pm-item {
    all: unset;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    height: 30px;
    padding: 0 8px;
    border-radius: 7px;
    font-size: 12.5px;
    color: #1E293B;
    cursor: pointer;
}

    .ed6-pm-item svg { width: 13px; height: 13px; color: #8A93A6; flex: none; }
    .ed6-pm-item:hover { background: #F3F3FF; color: #5351FB; }
    .ed6-pm-item:hover svg { color: #5351FB; }

.ed6-pm-empty { padding: 4px 8px 8px; font-size: 11.5px; line-height: 1.45; color: #8A93A6; }

/* Le bouton « Réduire » du pied fait doublon avec celui du rail */
html.ed6-railmode .xaf-sidebar .ed6-nav-toggle { display: none !important; }


/* ── Zone de travail : marge avec le menu, onglets alignés ──────────────────
   site.css met padding-left: 0 sur .main-content : le contenu touchait le menu.
   En V6, même marge à gauche qu'à droite, et la barre d'onglets suit cette marge. */

.dxbl-theme-fluent .main-ribbon-template .main-content.xaf-flex-auto {
    padding: 12px 16px 16px 16px !important;
}
.xaf-tabbed-mdi .dxbl-tabs-tablist {
    padding: 6px 16px 0 16px !important;
    border-bottom: 1px solid #E8EAF0 !important;
}
