/* Extracted from: inc/menu.php | style block 1 */
:root{
  /* Thème fixe : sombre */
  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-lg: 22px;
  --shadow-sm: 0 10px 30px rgba(0,0,0,.14);
  --shadow-md: 0 18px 50px rgba(0,0,0,.18);
  --shadow-lg: 0 28px 80px rgba(0,0,0,.24);
  --speed-fast: .18s;
  --speed-base: .28s;
  --speed-slow: .40s;

  /* couleurs (valeurs fixes, thème sombre) */
  --bg: #0B1F3A;
  --bg-soft: rgba(10,18,31,.72);
  --bg-elev: rgba(10,18,31,.88);
  --bg-card: #0f1a2c;
  --bg-card-2: #122039;
  --text: #e8eef8;
  --text-soft: #9eb0c9;
  --line: rgba(255,255,255,.07);
  --line-strong: rgba(255,255,255,.12);
  --accent: #d7b26a;
  --accent-2: #efca84;
  --accent-soft: rgba(215,178,106,.14);
  --hover: rgba(255,255,255,.05);
  --active: rgba(215,178,106,.15);
  --danger: #ff8d8d;
  --header-grad: linear-gradient(135deg, rgba(8,17,31,.94), rgba(12,22,38,.88));
}

/* reset & basics */
*{ box-sizing:border-box; }
a{ color:inherit; text-decoration:none; }

/* header */
.erp-header{
  position: relative !important;
  top: auto;
  z-index: 1500;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  background: var(--header-grad);
  border-bottom: 1px solid var(--line);
  transition:
    transform var(--speed-base) ease,
    background var(--speed-base) ease,
    box-shadow var(--speed-base) ease,
    border-color var(--speed-base) ease;
}
.erp-header.is-scrolled{ box-shadow: var(--shadow-sm); }
.erp-header.is-hidden{ transform:none !important; }
.erp-header::after{
  display:none;
}

.erp-shell{
  max-width: 1560px;
  margin: 0 auto;
  min-height: 52px;
  padding: 4px 12px;
  display:flex;
  align-items:center;
  gap:14px;
}

.erp-nav{
  display:flex;
  align-items:center;
  min-width:0;
  flex:1;
	
}

.erp-nav > ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}

.erp-nav li{ list-style:none; }

.menu-link,
.menu-parent{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding: 0 9px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  font-size:.82rem;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  transition:
    transform var(--speed-fast) ease,
    background var(--speed-fast) ease,
    border-color var(--speed-fast) ease,
    color var(--speed-fast) ease,
    box-shadow var(--speed-fast) ease;
}

.menu-link i,
.menu-parent i{
  font-size:.88rem;
  opacity:.95;
}

.menu-link:hover,
.menu-parent:hover{
  background: var(--hover);
  border-color: var(--line);
  transform: translateY(-1px);
}

/* Page active : contraste fort et immédiatement visible. */
.menu-link.active,
.menu-link[aria-current="page"]{
  background: linear-gradient(135deg, #D4AF37 0%, #F5D76E 100%) !important;
  color: #0B1F3A !important;
  border-color: #f4d796 !important;
  box-shadow:
    0 8px 22px rgba(215,178,106,.20),
    inset 0 0 0 1px rgba(255,255,255,.18) !important;
  font-weight: 900 !important;
}

.menu-link.active i,
.menu-link[aria-current="page"] i{
  color: #0B1F3A !important;
  opacity: 1 !important;
}

/* Si la page active se trouve dans un sous-menu, son parent reste repéré. */
.submenu.has-active-child > .menu-parent{
  background: rgba(215,178,106,.15) !important;
  color: #efca84 !important;
  border-color: rgba(239,202,132,.40) !important;
  box-shadow: inset 0 0 0 1px rgba(215,178,106,.08) !important;
}
.submenu.has-active-child > .menu-parent > i{
  color: #efca84 !important;
  opacity: 1 !important;
}

.menu-label{
  display:inline-block;
  max-width:16ch;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.menu-text{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  line-height:1.08;
}
.menu-desc{
  display:none;
  margin-top:3px;
  max-width:28ch;
  color:var(--text-soft);
  font-size:.68rem;
  font-weight:600;
  line-height:1.18;
  opacity:.86;
  white-space:normal;
}

.menu-count-badge{
  margin-left:auto;
  min-width:21px;
  height:21px;
  padding:0 6px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#ef4444;
  color:#fff;
  font-size:.66rem;
  line-height:1;
  font-weight:900;
  box-shadow:0 0 0 3px rgba(239,68,68,.13);
  flex:0 0 auto;
}

.caret{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:2px;
  font-size:.76rem;
  opacity:.75;
  transition: transform var(--speed-fast) ease;
}

/* top-level desktop submenus (mega + compact) */
.erp-nav > ul > .submenu{
  position:relative;
}

.erp-nav > ul > .submenu > .submenu-panel{
  position:absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: min(760px, calc(100vw - 32px));
  max-width: min(860px, calc(100vw - 32px));
  width: max-content;
  padding: 14px;
  border-radius: 18px;
  background: var(--bg-elev);
  border:1px solid var(--line-strong);
  box-shadow: var(--shadow-lg);
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:12px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform: translateY(10px) scale(.985);
  transform-origin: top left;
  transition:
    opacity var(--speed-base) ease,
    transform var(--speed-base) ease,
    visibility var(--speed-base) ease;
  z-index:3000;
}

.erp-nav > ul > .submenu.open > .submenu-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform: translateY(0) scale(1);
}

.erp-nav > ul > .submenu.open > .menu-parent .caret{
  transform: rotate(180deg);
}

/* allow hover open on pointer devices */
@media (hover:hover) and (pointer:fine){
  .erp-nav > ul > .submenu:hover > .submenu-panel{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform: translateY(0) scale(1);
  }
  .erp-nav > ul > .submenu:hover > .menu-parent .caret{
    transform: rotate(180deg);
  }
}

/* mega cards */
.erp-nav > ul > .submenu > .submenu-panel > li > .menu-link{
  min-height:60px;
  width:100%;
  justify-content:flex-start;
  border-radius:18px;
  padding:14px 16px;
  background: linear-gradient(180deg, var(--bg-card), var(--bg-card-2));
  border:1px solid var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}

.erp-nav > ul > .submenu > .submenu-panel > li > .menu-link i{
  width:38px;
  height:38px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: var(--accent-soft);
  color: var(--accent);
  flex: 0 0 38px;
}

.erp-nav > ul > .submenu > .submenu-panel > li > .menu-link:hover{
  background: linear-gradient(180deg, var(--bg-card-2), var(--bg-card));
  border-color: var(--line-strong);
  transform: translateY(-2px);
}

.erp-nav > ul > .submenu > .submenu-panel .menu-text{
  align-items:flex-start;
}
.erp-nav > ul > .submenu > .submenu-panel .menu-desc{
  display:block;
}

/* compact submenu style */
.erp-nav > ul > .submenu.submenu-compact > .submenu-panel{
  left: 0;
  top: calc(100% + 10px);
  min-width: 300px;
  max-width: min(420px, calc(100vw - 24px));
  width: 360px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  border-radius: 18px;
  background: var(--bg-elev);
  border: 1px solid var(--line-strong);
  box-shadow: 0 22px 60px rgba(0,0,0,.28);
  grid-template-columns: none;
}

.erp-nav > ul > .submenu.submenu-compact > .submenu-panel > li > .menu-link{
  min-height: 54px;
  padding: 10px 12px;
  border-radius: 14px;
  width: 100%;
  justify-content: flex-start;
  background: linear-gradient(180deg, var(--bg-card), var(--bg-card-2));
  border: 1px solid var(--line);
}

.erp-nav > ul > .submenu.submenu-compact > .submenu-panel > li > .menu-link i{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  flex: 0 0 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-soft);
  color: var(--accent);
}

.erp-nav > ul > .submenu.submenu-compact > .submenu-panel > li > .menu-link:hover{
  transform: translateY(-1px);
  border-color: var(--line-strong);
}

/* mobile drawer */
.erp-hamburger{
  display:none;
}

.erp-drawer{
  position:fixed;
  inset:0;
  z-index:1700;
  visibility:hidden;
  pointer-events:none;
}
.erp-drawer.open{
  visibility:visible;
  pointer-events:auto;
}
.erp-drawer-backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.36);
  opacity:0;
  transition: opacity var(--speed-base) ease;
}
.erp-drawer-panel{
  position:absolute;
  top:0;
  left:0;
  height:100%;
  width:min(430px, 92vw);
  background: var(--bg-elev);
  border-right:1px solid var(--line-strong);
  box-shadow: var(--shadow-lg);
  transform: translateX(-102%);
  transition: transform var(--speed-slow) cubic-bezier(.22,.85,.24,1);
  display:flex;
  flex-direction:column;
}
.erp-drawer.open .erp-drawer-backdrop{ opacity:1; }
.erp-drawer.open .erp-drawer-panel{ transform: translateX(0); }

.erp-drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px;
  border-bottom:1px solid var(--line);
}
.erp-drawer-title{
  font-size:1rem;
  font-weight:800;
  color: var(--text);
}

.erp-mobile-nav{
  flex:1;
  overflow:auto;
  padding:14px;
}
.erp-mobile-nav ul{
  list-style:none;
  margin:0;
  padding:0;
}
.erp-mobile-nav li{ list-style:none; }

.erp-mobile-nav > ul{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.erp-mobile-nav .menu-link,
.erp-mobile-nav .menu-parent{
  width:100%;
  justify-content:flex-start;
  min-height:48px;
  padding:0 14px;
  border-radius:14px;
  font-size:.94rem;
}

.erp-mobile-nav > ul > li > .menu-link,
.erp-mobile-nav > ul > .submenu > .menu-parent{
  background: linear-gradient(180deg, var(--bg-card), var(--bg-card-2));
  border:1px solid var(--line);
}

.erp-mobile-nav .submenu-panel{
  display:grid;
  gap:6px;
  max-height:0;
  overflow:hidden;
  padding:0 0 0 12px;
  opacity:0;
  transition:
    max-height var(--speed-slow) ease,
    opacity var(--speed-base) ease,
    padding var(--speed-base) ease;
}

.erp-mobile-nav .submenu.open > .submenu-panel{
  max-height: 1600px;
  opacity:1;
  padding-top:8px;
}

.erp-mobile-nav .submenu.open > .menu-parent .caret{
  transform: rotate(180deg);
}

.erp-mobile-nav .submenu-panel .menu-link,
.erp-mobile-nav .submenu-panel .menu-parent{
  color: var(--text-soft);
  border:1px solid transparent;
}
.erp-mobile-nav .submenu-panel .menu-link:hover,
.erp-mobile-nav .submenu-panel .menu-parent:hover{
  color: var(--text);
  background: var(--hover);
}

.utility-item > .menu-link{
  background: linear-gradient(180deg, var(--bg-card), var(--bg-card-2));
  border:1px solid var(--line);
}
.utility-danger > .menu-link{
  color: var(--danger);
}

.erp-mobile-nav::-webkit-scrollbar{ width:10px; }
.erp-mobile-nav::-webkit-scrollbar-thumb{
  background: var(--line-strong);
  border-radius:999px;
}

@media (max-width: 1180px){
  .erp-nav{ display:none; }
  .erp-hamburger{ display:inline-flex; }
  .erp-shell{
    min-height: 60px;
    padding: 8px 12px;
  }
}

@media (min-width: 1181px){
  .erp-drawer{ display:none; }
}

@media (max-width: 640px){
  .erp-shell{
    min-height:68px;
    padding:10px 12px;
  }
  .erp-actions{ gap:8px; }
}
	
/* =========================================================
   OVERRIDE FINAL : ESPACES DYNAMIQUES
   - menu desktop fluide
   - sous-menu vertical compact
   - espacements et tailles adaptatifs
========================================================= */

.erp-header{
  --shell-pad-x: clamp(8px, 0.9vw, 16px);
  --shell-pad-y: clamp(6px, 0.55vw, 10px);
  --shell-gap: clamp(8px, 0.8vw, 14px);

  --menu-gap: clamp(2px, 0.35vw, 6px);
  --menu-item-h: clamp(34px, 2.15vw, 42px);
  --menu-pad-x: clamp(7px, 0.65vw, 12px);
  --menu-item-gap: clamp(5px, 0.5vw, 10px);
  --menu-font: clamp(.76rem, .22vw + .70rem, .93rem);
  --menu-icon: clamp(.84rem, .18vw + .78rem, 1rem);
  --menu-radius: clamp(10px, 0.5vw, 12px);
  --menu-label-max: clamp(9ch, 10vw, 18ch);

  --submenu-top-gap: clamp(1px, 0.18vw, 4px);
  --submenu-width: clamp(260px, 22vw, 340px);
  --submenu-pad: clamp(6px, 0.55vw, 10px);
  --submenu-gap: clamp(5px, 0.45vw, 8px);
  --submenu-item-h: clamp(38px, 2.35vw, 48px);
  --submenu-pad-x: clamp(8px, 0.7vw, 12px);
  --submenu-font: clamp(.75rem, .18vw + .69rem, .86rem);
  --submenu-icon-box: clamp(24px, 1.55vw, 32px);
  --submenu-radius: clamp(11px, 0.65vw, 16px);

  position: relative !important;
  z-index: 120 !important;
}

/* =========================================================
   PATCH FINAL
   - sous-menu e largeur dynamique
   - moins de vide
   - déconnexion rouge compacte
   - déconnexion ne passe plus au-dessus du menu
========================================================= */

@media (min-width:1181px){

  /* 3 zones : vide | menu centré | actions */
  .erp-shell{
    display:grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items:center !important;
    column-gap:8px !important;
    max-width:none !important;
    padding:3px 8px !important;
    min-height:46px !important;
    position:relative !important;
  }

  /* menu parfaitement centré */
  .erp-nav{
    grid-column:2 !important;
    justify-self:center !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  .erp-nav > ul{
    display:flex !important;
    align-items:center !important;
    gap:2px !important;
    min-width:0 !important;
    flex-wrap:nowrap !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* actions collées e droite */
  .erp-actions{
    grid-column:3 !important;
    justify-self:end !important;
    margin-left:0 !important;
    padding-left:6px !important;
    border-left:1px solid var(--line) !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
    position:relative !important;
    z-index:20 !important;
  }

  /* top menu plus compact */
  .menu-link,
  .menu-parent{
    min-height:32px !important;
    padding:0 7px !important;
    gap:5px !important;
    border-radius:10px !important;
    font-size:.88rem !important;
  }

  .menu-link i,
  .menu-parent i{
    font-size:.80rem !important;
  }

  .menu-label{
    max-width:11ch !important;
  }

  .caret{
    font-size:.66rem !important;
    margin-left:1px !important;
  }

   /* ===== Déconnexion ===== */
  .erp-quick-link.logout{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
    padding:0 !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    border-radius:12px !important;
    background:linear-gradient(180deg, rgba(185,28,28,.22), rgba(127,29,29,.18)) !important;
    border:1px solid rgba(248,113,113,.50) !important;
    color:#ff7b7b !important;
    box-shadow:
      inset 0 0 0 1px rgba(255,120,120,.05),
      0 8px 18px rgba(127,29,29,.10) !important;

    text-align:center !important;
    line-height:1 !important;
    overflow:hidden !important;
    flex:0 0 36px !important;
    position:relative !important;
    z-index:131 !important;

    transition:
      transform var(--speed-fast) ease,
      background var(--speed-fast) ease,
      border-color var(--speed-fast) ease,
      box-shadow var(--speed-fast) ease,
      color var(--speed-fast) ease !important;
  }

  .erp-quick-link.logout span,
  .erp-quick-link.logout .menu-label{
    display:none !important;
  }

  .erp-quick-link.logout i{
    width:100% !important;
    height:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 !important;
    color:#ff7b7b !important;
    font-size:1rem !important;
    line-height:1 !important;
    transform:none !important;
  }

  .erp-quick-link.logout:hover{
    transform:translateY(-1px) scale(1.02) !important;
    background:linear-gradient(180deg, rgba(220,38,38,.28), rgba(153,27,27,.24)) !important;
    border-color:rgba(252,165,165,.72) !important;
    box-shadow:
      inset 0 0 0 1px rgba(255,160,160,.09),
      0 12px 24px rgba(127,29,29,.18),
      0 0 0 4px rgba(248,113,113,.08) !important;
    color:#ffd3d3 !important;
  }

  .erp-quick-link.logout:hover i{
    color:#ffd3d3 !important;
  }

  .erp-quick-link.logout:focus-visible{
    outline:none !important;
    border-color:#fca5a5 !important;
    box-shadow:
      0 0 0 4px rgba(248,113,113,.16),
      inset 0 0 0 1px rgba(255,170,170,.10) !important;
  }

  /* ===== sous-menu dynamique : plus de grand vide ===== */
  .erp-nav > ul > .submenu{
    position:relative !important;
  }

  .erp-nav > ul > .submenu > .submenu-panel,
  .erp-nav > ul > .submenu.submenu-compact > .submenu-panel{
	    max-height:min(70vh, calc(100vh - 96px)) !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  scrollbar-width:thin;
    position:absolute !important;
    top:calc(100% + 2px) !important;
    left:0 !important;
    right:auto !important;

    width:max-content !important;
    min-width:0 !important;
    max-width:min(92vw, 420px) !important;

    padding:8px !important;
    border-radius:16px !important;
    background:var(--bg-elev) !important;
    border:1px solid var(--line-strong) !important;
    box-shadow:var(--shadow-lg) !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:6px !important;


    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(4px) !important;
    z-index:3000 !important;
  }

  .erp-nav > ul > .submenu.open > .submenu-panel{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }

  @media (hover:hover) and (pointer:fine){
    .erp-nav > ul > .submenu:hover > .submenu-panel{
      opacity:1 !important;
      visibility:visible !important;
      pointer-events:auto !important;
      transform:translateY(0) !important;
    }
  }

  .erp-nav > ul > .submenu > .submenu-panel > li,
  .erp-nav > ul > .submenu > .submenu-panel > .submenu{
    width:auto !important;
    max-width:100% !important;
    list-style:none !important;
    margin:0 !important;
  }

  .erp-nav > ul > .submenu > .submenu-panel > li > .menu-link,
  .erp-nav > ul > .submenu > .submenu-panel > .submenu > .menu-parent{
    width:fit-content !important;
    min-width:0 !important;
    max-width:min(90vw, 400px) !important;
    min-height:40px !important;
    justify-content:flex-start !important;
    padding:8px 12px !important;
    gap:8px !important;
    border-radius:12px !important;
    font-size:.80rem !important;
    white-space:nowrap !important;
    background:linear-gradient(180deg, var(--bg-card), var(--bg-card-2)) !important;
    border:1px solid var(--line) !important;
    box-shadow:none !important;
  }

  .erp-nav > ul > .submenu > .submenu-panel > li > .menu-link i,
  .erp-nav > ul > .submenu > .submenu-panel > .submenu > .menu-parent > i:first-child{
    width:28px !important;
    height:28px !important;
    border-radius:9px !important;
    flex:0 0 28px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:var(--accent-soft) !important;
    color:var(--accent) !important;
    font-size:.78rem !important;
  }

  .erp-nav > ul > .submenu > .submenu-panel > li > .menu-link .menu-label,
  .erp-nav > ul > .submenu > .submenu-panel > .submenu > .menu-parent .menu-label{
    max-width:none !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
  }


  .erp-nav > ul > .submenu > .submenu-panel .menu-text{
    min-width:0 !important;
  }
  .erp-nav > ul > .submenu > .submenu-panel .menu-desc{
    display:block !important;
    max-width:34ch !important;
    color:var(--text-soft) !important;
    white-space:normal !important;
  }

  .erp-nav > ul > .submenu > .submenu-panel > .submenu > .menu-parent .caret{
    margin-left:auto !important;
    font-size:.64rem !important;
  }

  /* sous-sous-menu compact */
  .erp-nav > ul > .submenu > .submenu-panel > .submenu > .submenu-panel{
    position:static !important;
    width:auto !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 0 0 10px !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:5px !important;

    max-height:0 !important;
    overflow:hidden !important;
  }

  .erp-nav > ul > .submenu > .submenu-panel > .submenu.open > .submenu-panel{
    max-height:700px !important;
    margin-top:5px !important;
    padding-top:2px !important;
  }

  .erp-nav > ul > .submenu > .submenu-panel > .submenu > .submenu-panel > li{
    width:auto !important;
    max-width:100% !important;
  }

  .erp-nav > ul > .submenu > .submenu-panel > .submenu > .submenu-panel > li > .menu-link{
    width:fit-content !important;
    max-width:min(88vw, 380px) !important;
    min-height:36px !important;
    justify-content:flex-start !important;
    padding:7px 10px !important;
    gap:7px !important;
    border-radius:10px !important;
    font-size:.77rem !important;
    white-space:nowrap !important;
    background:rgba(255,255,255,.03) !important;
    border:1px solid var(--line) !important;
    color:var(--text-soft) !important;
  }

  .erp-nav > ul > .submenu > .submenu-panel > .submenu > .submenu-panel > li > .menu-link i{
    width:24px !important;
    height:24px !important;
    border-radius:8px !important;
    flex:0 0 24px !important;
    font-size:.70rem !important;
  }

  /* pas de burger en desktop */
  #erpHamburger,
  .erp-hamburger,
  #erpDrawer,
  .erp-drawer{
    display:none !important;
  }
}
	

	/* ---------- Mobile ---------- */
@media (max-width:1180px){
  .erp-nav{ display:none !important; }
  .erp-hamburger{ display:inline-flex !important; }

  .erp-shell{
    min-height:clamp(54px, 8vw, 60px) !important;
    padding:clamp(7px, 1vw, 10px) clamp(10px, 1.2vw, 12px) !important;
    gap:clamp(6px, 0.8vw, 8px) !important;
  }

  .erp-actions{
    margin-left:auto !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    border-left:0 !important;
    padding-left:0 !important;
  }

  .erp-quick-link.logout{
    display:none !important;
  }

  .erp-mobile-nav{
    padding:clamp(10px, 1.4vw, 14px) !important;
  }

  .erp-mobile-nav > ul{
    gap:clamp(5px, 0.7vw, 8px) !important;
  }

  .erp-mobile-nav .menu-link,
  .erp-mobile-nav .menu-parent{
    min-height:clamp(40px, 6vw, 48px) !important;
    padding:0 clamp(10px, 1.2vw, 14px) !important;
    border-radius:clamp(11px, 0.8vw, 14px) !important;
    font-size:clamp(.80rem, .25vw + .76rem, .94rem) !important;
    gap:clamp(6px, 0.7vw, 8px) !important;
  }
}


/* Menus admin/mimi réorganisés : plus lisibles et sans descriptions longues. */
.erp-nav .submenu.menu-simple > .submenu-panel .menu-desc,
.erp-mobile-nav .submenu.menu-simple > .submenu-panel .menu-desc{
  display:none !important;
}

@media (min-width:1181px){
  .erp-nav > ul > .submenu.menu-simple > .submenu-panel{
    width:max-content !important;
    min-width:280px !important;
    max-width:min(94vw, 430px) !important;
    gap:5px !important;
  }

  .erp-nav > ul > .submenu.menu-simple > .submenu-panel > li > .menu-link{
    width:100% !important;
    min-height:38px !important;
    padding:7px 10px !important;
  }
}


/* =========================================================
   CORRECTIF FINAL V3
   - titres complets, sans points de suspension ;
   - sous-menus compacts et lisibles ;
   - aucune position fixed/sticky : le bandeau PBA du haut reste intact ;
   - descriptions secondaires masquées dans le menu desktop.
========================================================= */
.erp-header{
  position:relative !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
}

@media (min-width:1181px){
  .erp-nav > ul > li > .menu-link .menu-label,
  .erp-nav > ul > li > .menu-parent .menu-label{
    max-width:24ch !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
  }

  .erp-nav > ul > .submenu > .submenu-panel,
  .erp-nav > ul > .submenu.submenu-compact > .submenu-panel{
    width:min(440px, calc(100vw - 24px)) !important;
    min-width:360px !important;
    max-width:min(440px, calc(100vw - 24px)) !important;
    align-items:stretch !important;
  }

  .erp-nav > ul > .submenu > .submenu-panel > li,
  .erp-nav > ul > .submenu > .submenu-panel > .submenu{
    width:100% !important;
  }

  .erp-nav > ul > .submenu > .submenu-panel > li > .menu-link,
  .erp-nav > ul > .submenu > .submenu-panel > .submenu > .menu-parent{
    width:100% !important;
    max-width:none !important;
    white-space:normal !important;
  }

  .erp-nav > ul > .submenu > .submenu-panel .menu-label{
    max-width:none !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:normal !important;
    line-height:1.25 !important;
  }

  .erp-nav > ul > .submenu > .submenu-panel .menu-desc{
    display:none !important;
  }
}

@media (max-width:1180px){
  .erp-mobile-nav .menu-label{
    max-width:none !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:normal !important;
  }
  .erp-mobile-nav .menu-desc{
    display:none !important;
  }
}


/* =========================================================
   PAGE ACTIVE - DORE COMPLET / OVERRIDE FINAL
   Texte + icone + bordure + fond dans la palette doree.
   Ce bloc est volontairement place en dernier et utilise !important
   pour neutraliser les anciennes regles du header et des sous-menus.
========================================================= */
:root{
  --pba-active-gold:#D4AF37;
  --pba-active-gold-light:#F5D76E;
  --pba-active-gold-soft:#FFE7A3;
  --pba-active-gold-bg-1:rgba(212,175,55,.34);
  --pba-active-gold-bg-2:rgba(116,82,18,.58);
}

/* Lien correspondant exactement a la page courante. */
.erp-header a.menu-link.active,
.erp-header a.menu-link[aria-current="page"],
.erp-header a.menu-link.pba-menu-current,
.erp-mobile-nav a.menu-link.active,
.erp-mobile-nav a.menu-link[aria-current="page"],
.erp-mobile-nav a.menu-link.pba-menu-current{
  background:linear-gradient(135deg,var(--pba-active-gold-bg-1) 0%,var(--pba-active-gold-bg-2) 100%) !important;
  color:var(--pba-active-gold-light) !important;
  border:1px solid var(--pba-active-gold) !important;
  box-shadow:
    0 0 0 1px rgba(255,231,163,.18) inset,
    0 5px 18px rgba(212,175,55,.28) !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

/* Le texte interne doit lui aussi rester dore, meme si une ancienne
   regle applique une couleur !important a .menu-desc. */
.erp-header a.menu-link.active .menu-text,
.erp-header a.menu-link.active .menu-label,
.erp-header a.menu-link.active .menu-desc,
.erp-header a.menu-link[aria-current="page"] .menu-text,
.erp-header a.menu-link[aria-current="page"] .menu-label,
.erp-header a.menu-link[aria-current="page"] .menu-desc,
.erp-header a.menu-link.pba-menu-current .menu-text,
.erp-header a.menu-link.pba-menu-current .menu-label,
.erp-header a.menu-link.pba-menu-current .menu-desc,
.erp-mobile-nav a.menu-link.active .menu-text,
.erp-mobile-nav a.menu-link.active .menu-label,
.erp-mobile-nav a.menu-link.active .menu-desc,
.erp-mobile-nav a.menu-link[aria-current="page"] .menu-text,
.erp-mobile-nav a.menu-link[aria-current="page"] .menu-label,
.erp-mobile-nav a.menu-link[aria-current="page"] .menu-desc,
.erp-mobile-nav a.menu-link.pba-menu-current .menu-text,
.erp-mobile-nav a.menu-link.pba-menu-current .menu-label,
.erp-mobile-nav a.menu-link.pba-menu-current .menu-desc{
  color:var(--pba-active-gold-light) !important;
  opacity:1 !important;
}

/* Icone de la page active : dore clair pour rester parfaitement visible. */
.erp-header a.menu-link.active > i,
.erp-header a.menu-link[aria-current="page"] > i,
.erp-header a.menu-link.pba-menu-current > i,
.erp-mobile-nav a.menu-link.active > i,
.erp-mobile-nav a.menu-link[aria-current="page"] > i,
.erp-mobile-nav a.menu-link.pba-menu-current > i{
  color:var(--pba-active-gold-soft) !important;
  opacity:1 !important;
  text-shadow:0 0 10px rgba(245,215,110,.20) !important;
}

/* Rubrique parente d'une page active : meme code visuel dore. */
.erp-header .menu-parent.pba-menu-parent-current,
.erp-mobile-nav .menu-parent.pba-menu-parent-current,
.erp-header .submenu.has-active-child > .menu-parent,
.erp-mobile-nav .submenu.has-active-child > .menu-parent,
.erp-nav .submenu:has(.submenu-panel .menu-link.active) > .menu-parent,
.erp-nav .submenu:has(.submenu-panel .menu-link[aria-current="page"]) > .menu-parent,
.erp-mobile-nav .submenu:has(.submenu-panel .menu-link.active) > .menu-parent,
.erp-mobile-nav .submenu:has(.submenu-panel .menu-link[aria-current="page"]) > .menu-parent{
  background:linear-gradient(135deg,rgba(212,175,55,.28) 0%,rgba(116,82,18,.50) 100%) !important;
  color:var(--pba-active-gold-light) !important;
  border:1px solid var(--pba-active-gold) !important;
  box-shadow:
    0 0 0 1px rgba(255,231,163,.14) inset,
    0 5px 16px rgba(212,175,55,.24) !important;
  font-weight:900 !important;
}

.erp-header .menu-parent.pba-menu-parent-current .menu-text,
.erp-header .menu-parent.pba-menu-parent-current .menu-label,
.erp-header .submenu.has-active-child > .menu-parent .menu-text,
.erp-header .submenu.has-active-child > .menu-parent .menu-label,
.erp-mobile-nav .menu-parent.pba-menu-parent-current .menu-text,
.erp-mobile-nav .menu-parent.pba-menu-parent-current .menu-label,
.erp-mobile-nav .submenu.has-active-child > .menu-parent .menu-text,
.erp-mobile-nav .submenu.has-active-child > .menu-parent .menu-label{
  color:var(--pba-active-gold-light) !important;
}

.erp-header .menu-parent.pba-menu-parent-current > i,
.erp-header .menu-parent.pba-menu-parent-current > .caret,
.erp-header .menu-parent.pba-menu-parent-current > .caret i,
.erp-header .submenu.has-active-child > .menu-parent > i,
.erp-header .submenu.has-active-child > .menu-parent > .caret,
.erp-header .submenu.has-active-child > .menu-parent > .caret i,
.erp-mobile-nav .menu-parent.pba-menu-parent-current > i,
.erp-mobile-nav .menu-parent.pba-menu-parent-current > .caret,
.erp-mobile-nav .menu-parent.pba-menu-parent-current > .caret i,
.erp-mobile-nav .submenu.has-active-child > .menu-parent > i,
.erp-mobile-nav .submenu.has-active-child > .menu-parent > .caret,
.erp-mobile-nav .submenu.has-active-child > .menu-parent > .caret i{
  color:var(--pba-active-gold-soft) !important;
  opacity:1 !important;
}


/* =========================================================
   CLASSIC / TP SWITCH - VISIBLE WITHOUT BREAKING ACTIVE PAGE
   This control is deliberately not a .menu-link.
========================================================= */
.erp-context-switch{
  min-height:36px !important;
  padding:0 12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  flex:0 0 auto !important;
  border-radius:12px !important;
  border:1px solid rgba(212,175,55,.70) !important;
  background:linear-gradient(180deg,rgba(212,175,55,.20),rgba(212,175,55,.09)) !important;
  color:#F5D76E !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-shadow:inset 0 0 0 1px rgba(255,231,163,.06),0 8px 20px rgba(0,0,0,.10) !important;
  position:relative !important;
  z-index:132 !important;
}
.erp-context-switch i,
.erp-context-switch span{
  color:#F5D76E !important;
}
.erp-context-switch:hover,
.erp-context-switch:focus-visible{
  color:#FFE7A3 !important;
  border-color:#FFE7A3 !important;
  background:linear-gradient(180deg,rgba(212,175,55,.32),rgba(212,175,55,.15)) !important;
  box-shadow:0 0 0 4px rgba(212,175,55,.10),0 10px 24px rgba(0,0,0,.14) !important;
  transform:translateY(-1px) !important;
  outline:none !important;
}
.erp-context-switch:hover i,
.erp-context-switch:hover span,
.erp-context-switch:focus-visible i,
.erp-context-switch:focus-visible span{
  color:#FFE7A3 !important;
}
@media (max-width:1180px){
  .erp-context-switch{
    min-height:36px !important;
    padding:0 10px !important;
    border-radius:11px !important;
    font-size:.75rem !important;
  }
}



/* =========================================================
   CORRECTIF PC 10/09/2026 - MENU HORIZONTAL SANS CHEVAUCHEMENT
   - conserve TOUJOURS le menu desktop au-dessus de 1180px ;
   - reserve reellement la place du bouton Titres professionnels
     et de la deconnexion ;
   - compacte uniquement la barre principale ;
   - aucun basculement automatique en menu mobile sur PC.
========================================================= */
@media (min-width:1181px){
  .erp-shell{
    display:flex !important;
    grid-template-columns:none !important;
    align-items:center !important;
    width:100% !important;
    max-width:none !important;
    min-height:46px !important;
    padding:3px 8px !important;
    gap:8px !important;
    overflow:visible !important;
  }

  .erp-nav{
    display:block !important;
    grid-column:auto !important;
    justify-self:auto !important;
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    overflow:visible !important;
  }

  .erp-nav > ul{
    display:flex !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    width:max-content !important;
    min-width:max-content !important;
    max-width:none !important;
    gap:2px !important;
    margin:0 !important;
    padding:0 !important;
    transform-origin:left center !important;
  }

  .erp-actions{
    display:flex !important;
    grid-column:auto !important;
    justify-self:auto !important;
    flex:0 0 auto !important;
    margin-left:auto !important;
    padding-left:6px !important;
    gap:7px !important;
    white-space:nowrap !important;
    border-left:1px solid var(--line) !important;
    position:relative !important;
    z-index:160 !important;
    background:var(--header-grad) !important;
  }

  /* Compactage uniquement des ENTREES PRINCIPALES. Les sous-menus gardent
     leur taille normale et lisible. */
  .erp-nav > ul > li > .menu-link,
  .erp-nav > ul > li.submenu > .menu-parent{
    min-height:36px !important;
    padding:0 7px !important;
    gap:5px !important;
    border-radius:10px !important;
    font-size:.82rem !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .erp-nav > ul > li > .menu-link > i,
  .erp-nav > ul > li.submenu > .menu-parent > i:first-child{
    font-size:.88rem !important;
    flex:0 0 auto !important;
  }

  .erp-nav > ul > li > .menu-link .menu-label,
  .erp-nav > ul > li.submenu > .menu-parent .menu-label{
    max-width:none !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
  }

  .erp-nav > ul > li.submenu > .menu-parent .caret{
    margin-left:0 !important;
    font-size:.68rem !important;
  }

  .erp-context-switch{
    min-height:38px !important;
    min-width:64px !important;
    padding:0 12px !important;
    gap:7px !important;
    font-size:.84rem !important;
    border-radius:11px !important;
  }

  .erp-quick-link.logout{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    flex:0 0 38px !important;
  }

  /* Interdiction explicite du menu mobile sur PC. */
  #erpHamburger,
  .erp-hamburger,
  #erpDrawer,
  .erp-drawer{
    display:none !important;
  }
}

/* =========================================================
   AJUSTEMENT DESKTOP LISIBILITE 10/09/2026
   - pas de zoom/scale JavaScript ;
   - barre plus grande sur PC ;
   - leger compactage CSS uniquement sur petites largeurs desktop.
========================================================= */
@media (min-width:1600px){
  .erp-nav > ul > li > .menu-link,
  .erp-nav > ul > li.submenu > .menu-parent{
    min-height:38px !important;
    padding-left:8px !important;
    padding-right:8px !important;
    font-size:.84rem !important;
  }
}
@media (min-width:1400px) and (max-width:1599px){
  .erp-nav > ul > li > .menu-link,
  .erp-nav > ul > li.submenu > .menu-parent{
    min-height:36px !important;
    padding-left:6px !important;
    padding-right:6px !important;
    font-size:.79rem !important;
  }
}
@media (min-width:1181px) and (max-width:1399px){
  .erp-nav > ul{gap:0 !important;}
  .erp-nav > ul > li > .menu-link,
  .erp-nav > ul > li.submenu > .menu-parent{
    min-height:34px !important;
    padding-left:4px !important;
    padding-right:4px !important;
    gap:3px !important;
    font-size:.72rem !important;
  }
  .erp-nav > ul > li > .menu-link > i,
  .erp-nav > ul > li.submenu > .menu-parent > i:first-child{font-size:.76rem !important;}
  .erp-context-switch{min-width:52px !important;padding:0 9px !important;font-size:.78rem !important;}
}


/* =========================================================
   CORRECTIF FINAL PC 10/09/2026 - UNE SEULE LIGNE
   - desktop >= 1181px : toujours horizontal, jamais 2 lignes ;
   - aucune bascule hamburger sur PC ;
   - TP + deconnexion gardent leur zone a droite ;
   - compactage progressif uniquement si l'espace manque, sans scale().
========================================================= */
@media (min-width:1181px){
  .erp-shell{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    width:100% !important;
    max-width:none !important;
    min-height:56px !important;
    padding:6px 8px !important;
    column-gap:8px !important;
    overflow:visible !important;
  }

  .erp-nav{
    grid-column:1 !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    /* IMPORTANT: visible, sinon les sous-menus absolus sont découpés et semblent ne rien ouvrir. */
    overflow:visible !important;
  }

  .erp-nav > ul{
    display:flex !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    width:max-content !important;
    min-width:0 !important;
    max-width:none !important;
    gap:4px !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    white-space:nowrap !important;
  }

  .erp-nav > ul > li{
    flex:0 0 auto !important;
  }

  .erp-nav > ul > li > .menu-link,
  .erp-nav > ul > li.submenu > .menu-parent{
    min-height:39px !important;
    padding:0 8px !important;
    gap:6px !important;
    border-radius:11px !important;
    font-size:.86rem !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .erp-nav > ul > li > .menu-link > i,
  .erp-nav > ul > li.submenu > .menu-parent > i:first-child{
    font-size:.90rem !important;
  }

  .erp-nav > ul > li > .menu-link .menu-label,
  .erp-nav > ul > li.submenu > .menu-parent .menu-label{
    max-width:none !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
  }

  .erp-actions{
    grid-column:2 !important;
    align-self:center !important;
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    gap:7px !important;
    margin:0 !important;
    padding-left:8px !important;
    white-space:nowrap !important;
    border-left:1px solid var(--line) !important;
    background:var(--header-grad) !important;
    position:relative !important;
    z-index:200 !important;
  }

  .erp-context-switch{
    min-height:40px !important;
    min-width:62px !important;
    padding:0 12px !important;
    gap:7px !important;
    font-size:.88rem !important;
    border-radius:11px !important;
  }

  .erp-quick-link.logout{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    flex:0 0 40px !important;
  }

  /* Niveaux de compactage automatiques : une seule ligne, jamais de scale(). */
  .erp-header.pba-menu-compact-1 .erp-nav > ul{
    gap:2px !important;
  }
  .erp-header.pba-menu-compact-1 .erp-nav > ul > li > .menu-link,
  .erp-header.pba-menu-compact-1 .erp-nav > ul > li.submenu > .menu-parent{
    padding-left:6px !important;
    padding-right:6px !important;
    gap:4px !important;
    font-size:.82rem !important;
  }
  .erp-header.pba-menu-compact-1 .caret{
    margin-left:0 !important;
  }

  .erp-header.pba-menu-compact-2 .erp-nav > ul{
    gap:1px !important;
  }
  .erp-header.pba-menu-compact-2 .erp-nav > ul > li > .menu-link,
  .erp-header.pba-menu-compact-2 .erp-nav > ul > li.submenu > .menu-parent{
    min-height:37px !important;
    padding-left:4px !important;
    padding-right:4px !important;
    gap:3px !important;
    font-size:.78rem !important;
  }
  .erp-header.pba-menu-compact-2 .erp-nav > ul > li > .menu-link > i,
  .erp-header.pba-menu-compact-2 .erp-nav > ul > li.submenu > .menu-parent > i:first-child{
    font-size:.82rem !important;
  }
  .erp-header.pba-menu-compact-2 .caret{
    font-size:.62rem !important;
    margin-left:0 !important;
  }

  /* Dernier niveau de compactage, uniquement si un PC manque encore de quelques pixels.
     Le texte reste lisible et le menu reste sur une seule ligne. */
  .erp-header.pba-menu-compact-3 .erp-nav > ul{
    gap:0 !important;
  }
  .erp-header.pba-menu-compact-3 .erp-nav > ul > li > .menu-link,
  .erp-header.pba-menu-compact-3 .erp-nav > ul > li.submenu > .menu-parent{
    min-height:36px !important;
    padding-left:3px !important;
    padding-right:3px !important;
    gap:2px !important;
    font-size:.76rem !important;
  }
  .erp-header.pba-menu-compact-3 .erp-nav > ul > li > .menu-link > i,
  .erp-header.pba-menu-compact-3 .erp-nav > ul > li.submenu > .menu-parent > i:first-child{
    font-size:.80rem !important;
  }
  .erp-header.pba-menu-compact-3 .caret{
    font-size:.58rem !important;
    margin-left:0 !important;
  }

  /* Sur PC, le hamburger reste toujours masque. */
  #erpHamburger,
  .erp-hamburger,
  #erpDrawer,
  .erp-drawer{
    display:none !important;
  }
}


/* =========================================================
   CORRECTIF FINAL 11/09/2026 - DESKTOP REEL + CENTRAGE
   - >= 1181px : barre desktop horizontale obligatoire ;
   - le menu est centre sur la fenetre, les actions restent a droite ;
   - aucun hamburger/drawer sur desktop ;
   - <= 1180px : comportement tablette/mobile existant conserve.
========================================================= */
@media (min-width:1181px){
  .erp-shell{
    display:grid !important;
    grid-template-columns:minmax(150px,1fr) minmax(0,calc(100vw - 300px)) minmax(150px,1fr) !important;
    align-items:center !important;
    width:100% !important;
    max-width:none !important;
    min-height:56px !important;
    padding:6px 10px !important;
    gap:0 !important;
    overflow:visible !important;
  }
  .erp-nav{
    grid-column:2 !important;
    display:flex !important;
    justify-content:center !important;
    justify-self:stretch !important;
    width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
  }
  .erp-nav > ul{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-wrap:nowrap !important;
    width:max-content !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 auto !important;
    transform:none !important;
  }
  .erp-actions{
    grid-column:3 !important;
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
    position:relative !important;
    margin:0 !important;
    z-index:220 !important;
  }
  #erpHamburger,.erp-hamburger,#erpDrawer,.erp-drawer{display:none !important;}
}
