/* =========================================================
   CEN V148 — STABILISATION MOBILE GLOBALE
   - Barres publiques réellement fixes et contenu décalé
   - Topbar administrateur compacte, fixe et stable
   - Menus public/admin tactiles et navigation explicite
   - Bande des communiqués visible partout sur téléphone
   - Adhésion, tableaux, formulaires et dashboard réordonnés
   Cette couche remplace les correctifs mobiles V145/V146/V147.
   ========================================================= */
:root{
  --cen148-blue:#0b5fa8;
  --cen148-blue-deep:#063b68;
  --cen148-cyan:#098ac2;
  --cen148-gold:#f4c62d;
  --cen148-ink:#102f49;
  --cen148-muted:#536b7f;
  --cen148-line:#d7e4ee;
  --cen148-public-bar-h:62px;
  --cen148-public-id-h:78px;
  --cen148-public-stack-h:140px;
  --cen148-admin-topbar-h:104px;
  --cen148-ticker-h:44px;
  --cen148-public-drawer-w:min(88vw,380px);
  --cen148-admin-drawer-w:min(90vw,365px);
}

/* ------------------------- RÈGLES COMMUNES MOBILE ------------------------- */
@media (max-width:980px){
  html{scroll-behavior:auto!important;scroll-padding-top:calc(var(--cen148-public-stack-h) + 16px)!important}
  body{overflow-x:hidden!important;padding-bottom:calc(var(--cen148-ticker-h) + 24px)!important}
  body.public-layout{padding-top:0!important;margin-top:0!important;background:#f3f8fc!important}
  body.public-layout.public-menu-open,html.public-menu-lock{overflow:hidden!important;overscroll-behavior:none!important}

  /* ---------- 1. DEUX BARRES PUBLIQUES FIXES ---------- */
  body.public-layout .public-mobile-bar{
    display:grid!important;position:fixed!important;top:0!important;left:0!important;right:0!important;
    width:100%!important;height:var(--cen148-public-bar-h)!important;min-height:var(--cen148-public-bar-h)!important;max-height:var(--cen148-public-bar-h)!important;
    grid-template-columns:52px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;
    padding:7px 12px!important;margin:0!important;box-sizing:border-box!important;
    background:#0b4f8a!important;border:0!important;border-bottom:3px solid var(--cen148-gold)!important;
    z-index:7200!important;transform:none!important;transition:none!important;box-shadow:none!important;
  }
  body.public-layout .public-menu-toggle{
    display:grid!important;place-items:center!important;width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;
    margin:0!important;padding:0!important;border:1px solid #d7e3ed!important;border-radius:14px!important;
    background:#fff!important;color:var(--cen148-blue-deep)!important;font-size:26px!important;font-weight:900!important;line-height:1!important;
    pointer-events:auto!important;touch-action:manipulation!important;cursor:pointer!important;-webkit-tap-highlight-color:rgba(11,95,168,.17)!important;
  }
  body.public-layout .public-mobile-brand{
    display:block!important;min-width:0!important;text-align:center!important;color:#fff!important;text-decoration:none!important;
    font-size:19px!important;font-weight:950!important;line-height:1!important;pointer-events:auto!important;touch-action:manipulation!important;
  }
  body.public-layout .public-mobile-login{
    display:flex!important;align-items:center!important;justify-content:center!important;min-height:46px!important;padding:0 16px!important;
    border-radius:14px!important;background:var(--cen148-gold)!important;color:#17384d!important;text-decoration:none!important;
    font-size:15px!important;font-weight:950!important;line-height:1!important;pointer-events:auto!important;touch-action:manipulation!important;
  }

  body.public-layout .site-header.public-header.cen-institutional-header,
  body.public-layout>.site-header.public-header{
    display:grid!important;position:fixed!important;top:var(--cen148-public-bar-h)!important;left:0!important;right:0!important;
    width:100%!important;height:var(--cen148-public-id-h)!important;min-height:var(--cen148-public-id-h)!important;max-height:var(--cen148-public-id-h)!important;
    grid-template-columns:58px minmax(0,1fr) 58px!important;align-items:center!important;gap:10px!important;
    padding:8px 14px!important;margin:0!important;box-sizing:border-box!important;
    background:linear-gradient(110deg,var(--cen148-blue),var(--cen148-cyan))!important;border:0!important;border-bottom:4px solid var(--cen148-gold)!important;
    z-index:7100!important;overflow:hidden!important;transform:none!important;transition:none!important;box-shadow:none!important;
  }
  body.public-layout .cen-institutional-header .logo-box{
    display:grid!important;place-items:center!important;justify-self:start!important;width:54px!important;height:54px!important;min-width:54px!important;
    padding:4px!important;border:0!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 3px 10px rgba(3,35,61,.12)!important;
  }
  body.public-layout .cen-institutional-header .logo-box img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;border-radius:9px!important}
  body.public-layout .cen-institutional-header .brand-block{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-width:0!important;text-align:center!important;overflow:hidden!important}
  body.public-layout .cen-institutional-header .institution-country{display:none!important}
  body.public-layout .cen-institutional-header .brand-block strong{display:block!important;max-width:100%!important;color:#fff!important;font-size:14px!important;font-weight:950!important;line-height:1.15!important;white-space:normal!important;overflow-wrap:anywhere!important}
  body.public-layout .cen-institutional-header .brand-block em{display:block!important;max-width:100%!important;margin-top:4px!important;color:#ecf8ff!important;font-size:9px!important;font-style:normal!important;line-height:1.2!important;letter-spacing:.035em!important;white-space:normal!important}
  body.public-layout .cen-institutional-header .flag-real{display:flex!important;align-items:center!important;justify-content:center!important;justify-self:end!important;width:56px!important;height:42px!important;padding:2px!important;border:2px solid #fff!important;border-radius:10px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 3px 10px rgba(3,35,61,.12)!important}
  body.public-layout .cen-institutional-header .flag-real img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:6px!important}

  /* Le main public est toujours placé APRÈS les deux barres fixes. */
  body.public-layout .main-content.public-content{
    display:block!important;width:100%!important;max-width:100%!important;margin:0!important;
    padding:calc(var(--cen148-public-stack-h) + 16px) 12px 26px!important;box-sizing:border-box!important;overflow:visible!important;
  }
  body.public-layout .main-content.public-content>*{max-width:100%!important;min-width:0!important;box-sizing:border-box!important;margin-left:auto!important;margin-right:auto!important}
  body.public-layout .public-content :is([id],section,article,h1,h2,h3,h4,.page-heading,.cen-section-heading){scroll-margin-top:calc(var(--cen148-public-stack-h) + 18px)!important}
  body.public-layout .public-content>*:first-child{margin-top:0!important}

  /* ---------- 2. TIROIR PUBLIC ---------- */
  body.public-layout .top-nav.public-nav.cen-public-nav,
  body.public-layout>.top-nav.public-nav{
    display:flex!important;position:fixed!important;top:var(--cen148-public-stack-h)!important;left:0!important;right:auto!important;bottom:0!important;
    width:var(--cen148-public-drawer-w)!important;height:calc(100dvh - var(--cen148-public-stack-h))!important;min-height:0!important;max-height:none!important;
    flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:7px!important;
    padding:14px 14px calc(24px + env(safe-area-inset-bottom,0px))!important;margin:0!important;box-sizing:border-box!important;
    overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;
    background:#fff!important;border:0!important;border-right:1px solid var(--cen148-line)!important;box-shadow:18px 0 48px rgba(3,30,53,.27)!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translate3d(-104%,0,0)!important;transition:transform .18s ease,opacity .18s ease,visibility .18s ease!important;
    z-index:7000!important;isolation:isolate!important;
  }
  body.public-layout .top-nav.public-nav.cen-public-nav.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate3d(0,0,0)!important}
  body.public-layout .cen-public-nav a{
    display:flex!important;position:relative!important;width:100%!important;min-height:52px!important;flex:0 0 auto!important;
    align-items:center!important;justify-content:flex-start!important;padding:12px 15px!important;margin:0!important;box-sizing:border-box!important;
    border:1px solid #dce8f1!important;border-radius:14px!important;background:#f7fbfe!important;color:#173b55!important;
    font-size:16px!important;line-height:1.25!important;font-weight:850!important;text-align:left!important;text-decoration:none!important;
    pointer-events:auto!important;touch-action:manipulation!important;cursor:pointer!important;user-select:none!important;-webkit-tap-highlight-color:rgba(11,95,168,.16)!important;
  }
  body.public-layout .cen-public-nav a:active,body.public-layout .cen-public-nav a:focus-visible{background:#e8f4fc!important;outline:2px solid var(--cen148-blue)!important;outline-offset:1px!important}
  body.public-layout .cen-public-nav .public-login-link{justify-content:center!important;background:linear-gradient(135deg,var(--cen148-gold),#ffdb62)!important;color:#17384d!important;border-color:var(--cen148-gold)!important}
  body.public-layout .cen-public-nav .public-language-wrap{display:block!important;margin-top:8px!important;color:#173b55!important;font-weight:850!important;pointer-events:auto!important}
  body.public-layout .cen-public-nav .public-language{display:block!important;width:100%!important;min-height:50px!important;margin-top:7px!important;padding:0 14px!important;border:1px solid #c9d9e6!important;border-radius:14px!important;background:#fff!important;color:#173b55!important;font-size:16px!important;pointer-events:auto!important;touch-action:manipulation!important}
  body.public-layout .public-menu-backdrop{
    display:block!important;position:fixed!important;top:var(--cen148-public-stack-h)!important;left:0!important;right:0!important;bottom:0!important;
    background:rgba(4,28,49,.56)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:6900!important;
    transition:opacity .18s ease,visibility .18s ease!important;
  }
  body.public-layout .public-menu-backdrop.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}

  /* ---------- 3. INTERFACES PUBLIQUES RESPONSIVES ---------- */
  body.public-layout .public-content :is(.grid,.grid.two,.grid.three,.activity-grid,.cen-home-activities,.cen-public-activities-grid,.cen-governance-grid,.cen-coordination-grid,.leaders-grid,.public-leaders-grid,.cen-footer-grid,.form.grid.two,.form-grid){grid-template-columns:1fr!important;min-width:0!important}
  body.public-layout .public-content :is(.card,.panel-card,.page-heading,.activity-card,.public-leader-card,.cen-base-card,.president-biography-public,.president-biography-content,.cen-home-hero,.cen-adhesion-callout){width:100%!important;max-width:100%!important;min-width:0!important;border-radius:18px!important;box-sizing:border-box!important;overflow-wrap:anywhere!important}
  body.public-layout .public-content h1{font-size:clamp(27px,7.4vw,34px)!important;line-height:1.1!important;overflow-wrap:anywhere!important}
  body.public-layout .public-content h2{font-size:clamp(22px,6vw,28px)!important;line-height:1.18!important;overflow-wrap:anywhere!important}
  body.public-layout .public-content h3{font-size:clamp(18px,5vw,23px)!important;line-height:1.22!important;overflow-wrap:anywhere!important}
  body.public-layout .public-content p,body.public-layout .public-content li{font-size:16px!important;line-height:1.58!important;overflow-wrap:anywhere!important}
  body.public-layout .public-content :is(img,video,iframe){max-width:100%!important}
  body.public-layout .public-content :is(input,select,textarea,button,.btn){max-width:100%!important;box-sizing:border-box!important}
  body.public-layout .public-content .table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  body.public-layout .cen-home-hero{grid-template-columns:1fr!important;gap:16px!important;padding:20px 17px!important}
  body.public-layout .cen-home-identity{min-height:0!important;padding:16px!important}
  body.public-layout .cen-home-identity img{width:96px!important;height:96px!important;max-height:96px!important;object-fit:contain!important}
  body.public-layout .welcome-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  body.public-layout .welcome-actions .btn{width:100%!important;justify-content:center!important}
  body.public-layout .cen-section-heading{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important}
  body.public-layout .cen-section-heading .btn{width:100%!important;text-align:center!important;justify-content:center!important}
  body.public-layout .cen-footer-v137{width:100%!important;max-width:100%!important;margin:0!important;padding:26px 16px 78px!important;box-sizing:border-box!important}
  body.public-layout .cen-footer-v137 .cen-footer-grid{grid-template-columns:1fr!important;gap:24px!important}
  body.public-layout .cen-footer-v137 p,body.public-layout .cen-footer-v137 a,body.public-layout .cen-footer-v137 span{font-size:15px!important;line-height:1.55!important}

  /* ---------- 4. ADHÉSION : LOGOS ET TEXTE NE SE CHEVAUCHENT PLUS ---------- */
  body.public-layout .form-top-heading.centered-heading{
    display:grid!important;grid-template-columns:76px minmax(0,1fr)!important;align-items:center!important;justify-items:stretch!important;
    gap:13px!important;padding:16px!important;text-align:left!important;overflow:hidden!important;
  }
  body.public-layout .form-top-heading .heading-logo-wrap{position:relative!important;inset:auto!important;transform:none!important;display:grid!important;place-items:center!important;width:76px!important;height:76px!important;min-width:76px!important;margin:0!important;overflow:hidden!important}
  body.public-layout .heading-form-logo{
    display:block!important;width:72px!important;height:72px!important;min-width:72px!important;max-width:72px!important;min-height:72px!important;max-height:72px!important;
    margin:0!important;object-fit:contain!important;object-position:center!important;border-radius:12px!important;
  }
  body.public-layout .form-top-heading .heading-copy{min-width:0!important;max-width:none!important;margin:0!important;text-align:left!important}
  body.public-layout .form-top-heading h1{margin:0!important;text-align:left!important;font-size:clamp(25px,6.7vw,31px)!important;line-height:1.08!important}
  body.public-layout .form-top-heading p{margin:7px 0 0!important;text-align:left!important;font-size:15px!important;line-height:1.5!important}

  body.public-layout .adhesion-paper{padding:16px!important;overflow:hidden!important}
  body.public-layout .adhesion-paper .official-form-head{
    display:grid!important;grid-template-columns:78px minmax(0,1fr)!important;grid-template-rows:auto auto!important;align-items:center!important;gap:12px!important;
    padding:0 0 16px!important;margin-bottom:16px!important;text-align:left!important;
  }
  body.public-layout .adhesion-paper .paper-logo{
    position:relative!important;inset:auto!important;transform:none!important;grid-column:1!important;grid-row:1!important;display:grid!important;place-items:center!important;width:76px!important;height:76px!important;min-width:76px!important;max-width:76px!important;
    margin:0!important;padding:0!important;border:0!important;background:transparent!important;overflow:hidden!important;
  }
  body.public-layout .adhesion-paper .paper-logo img{display:block!important;width:72px!important;height:72px!important;max-width:72px!important;max-height:72px!important;object-fit:contain!important;margin:0!important}
  body.public-layout .adhesion-paper .official-form-head>div:nth-child(2){grid-column:2!important;grid-row:1!important;min-width:0!important;text-align:left!important}
  body.public-layout .adhesion-paper .official-form-head>div:nth-child(2) h2{margin:0 0 5px!important;font-size:21px!important;line-height:1.15!important;text-align:left!important}
  body.public-layout .adhesion-paper .official-form-head>div:nth-child(2) p{margin:3px 0!important;font-size:14px!important;line-height:1.4!important;text-align:left!important}
  body.public-layout .adhesion-paper .official-form-head>div:nth-child(2) h3{margin:7px 0 0!important;text-align:left!important;font-size:17px!important}
  body.public-layout .adhesion-paper .paper-flag{grid-column:1!important;grid-row:2!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;margin:0!important}
  body.public-layout .adhesion-paper .paper-flag img{display:block!important;width:76px!important;height:48px!important;max-width:76px!important;object-fit:cover!important;margin:0!important;border-radius:8px!important}
  body.public-layout .adhesion-paper .photo-preview{grid-column:2!important;grid-row:2!important;justify-self:start!important;width:72px!important;height:88px!important;margin:0!important;border-radius:8px!important}
  body.public-layout .adhesion-paper .form-title{font-size:25px!important;line-height:1.1!important}
  body.public-layout .adhesion-paper .checkbox-grid{grid-template-columns:1fr!important}
  body.public-layout .phone-composite{grid-template-columns:minmax(110px,38%) minmax(0,1fr)!important}
}

@media (max-width:560px){
  :root{--cen148-public-drawer-w:min(90vw,360px)}
  body.public-layout .public-mobile-bar{padding-left:10px!important;padding-right:10px!important}
  body.public-layout .site-header.public-header.cen-institutional-header,body.public-layout>.site-header.public-header{grid-template-columns:52px minmax(0,1fr) 50px!important;padding-left:10px!important;padding-right:10px!important;gap:8px!important}
  body.public-layout .cen-institutional-header .logo-box{width:50px!important;height:50px!important;min-width:50px!important}
  body.public-layout .cen-institutional-header .flag-real{width:48px!important;height:38px!important}
  body.public-layout .cen-institutional-header .brand-block strong{font-size:13px!important}
  body.public-layout .cen-institutional-header .brand-block em{font-size:8px!important}
  body.public-layout .main-content.public-content{padding-left:10px!important;padding-right:10px!important}
  body.public-layout .form-top-heading.centered-heading{grid-template-columns:68px minmax(0,1fr)!important;gap:10px!important;padding:14px 12px!important}
  body.public-layout .form-top-heading .heading-logo-wrap{width:66px!important;height:66px!important;min-width:66px!important}
  body.public-layout .heading-form-logo{width:64px!important;height:64px!important;min-width:64px!important;max-width:64px!important;min-height:64px!important;max-height:64px!important}
  body.public-layout .form-top-heading h1{font-size:25px!important}
  body.public-layout .form-top-heading p{font-size:14px!important}
}

/* ------------------------- ADMINISTRATEUR / MODULES MOBILE ------------------------- */
@media (max-width:780px){
  html{scroll-padding-top:calc(var(--cen148-admin-topbar-h) + 16px)!important}
  body.admin-layout{width:100%!important;max-width:100%!important;overflow-x:hidden!important;background:#f3f8fc!important;padding-bottom:calc(var(--cen148-ticker-h) + 24px)!important}
  body.admin-layout.side-open{overflow:hidden!important;overscroll-behavior:none!important}
  body.admin-layout .app-shell{display:block!important;width:100%!important;min-height:100dvh!important;margin:0!important;padding:0!important}
  body.admin-layout .workspace{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important}

  /* ---------- 5. TOPBAR ADMIN FIXE, COMPACTE ET STABLE ---------- */
  body.admin-layout .workspace-topbar,
  body.admin-layout.topbar-hidden .workspace-topbar,
  body.admin-layout.topbar-compact .workspace-topbar{
    display:block!important;position:fixed!important;top:0!important;left:0!important;right:0!important;
    width:100%!important;height:var(--cen148-admin-topbar-h)!important;min-height:var(--cen148-admin-topbar-h)!important;max-height:var(--cen148-admin-topbar-h)!important;
    margin:0!important;padding:8px 10px 8px 72px!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;
    background:linear-gradient(110deg,#0b4f8a,var(--cen148-blue),#078bc4)!important;border-bottom:4px solid var(--cen148-gold)!important;
    z-index:5200!important;overflow:hidden!important;transform:none!important;transition:none!important;box-shadow:0 5px 18px rgba(3,38,68,.12)!important;
  }
  body.admin-layout .workspace-welcome{display:block!important;min-width:0!important;max-width:calc(100% - 6px)!important;height:42px!important;margin:0!important;padding:0!important;overflow:hidden!important}
  body.admin-layout .workspace-welcome strong{display:block!important;margin:0!important;color:#fff!important;font-size:15px!important;line-height:1.18!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.admin-layout .workspace-welcome small{display:block!important;margin:3px 0 0!important;color:#dff3ff!important;font-size:10.5px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  body.admin-layout .history-controls{
    display:flex!important;position:absolute!important;left:72px!important;bottom:8px!important;max-width:132px!important;height:42px!important;
    gap:5px!important;margin:0!important;padding:0!important;overflow:hidden!important;align-items:center!important;
  }
  body.admin-layout .history-btn{display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:0!important;margin:0!important;border-radius:12px!important;font-size:18px!important}
  body.admin-layout .history-btn span{display:none!important}
  body.admin-layout .history-controls .history-top{display:none!important}

  body.admin-layout .top-actions{
    display:flex!important;position:absolute!important;right:8px!important;bottom:8px!important;height:42px!important;max-width:calc(100% - 214px)!important;
    align-items:center!important;justify-content:flex-end!important;gap:5px!important;margin:0!important;padding:0!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;
  }
  body.admin-layout .top-actions::-webkit-scrollbar{display:none!important}
  body.admin-layout .top-actions>a,body.admin-layout .top-actions>button{
    display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
    margin:0!important;padding:0!important;border-radius:50%!important;font-size:17px!important;background:rgba(255,255,255,.13)!important;border:1px solid rgba(255,255,255,.20)!important;color:#fff!important;box-shadow:none!important;
  }
  body.admin-layout .top-actions .top-action-notifications sup{font-size:10px!important}
  body.admin-layout .top-date,body.admin-layout #topbar-compact-toggle,body.admin-layout #topbar-hide-toggle{display:none!important}
  body.admin-layout .workspace-topbar>.language-select{display:none!important}

  /* Recherche mobile : s'ouvre en panneau sous la barre, au lieu d'agrandir la barre. */
  body.admin-layout .workspace-topbar .global-search-form{display:none!important;position:fixed!important;top:calc(var(--cen148-admin-topbar-h) + 8px)!important;left:10px!important;right:10px!important;width:auto!important;max-width:none!important;margin:0!important;padding:7px!important;border-radius:14px!important;background:#fff!important;box-shadow:0 12px 34px rgba(4,40,68,.22)!important;z-index:5250!important}
  body.admin-layout .workspace-topbar.mobile-search-open .global-search-form{display:flex!important}
  body.admin-layout .workspace-topbar .global-search-form input{min-height:44px!important;font-size:16px!important;color:var(--cen148-ink)!important;background:#fff!important}
  body.admin-layout .workspace-topbar.mobile-search-open~.main-content.workspace-content{padding-top:calc(var(--cen148-admin-topbar-h) + 78px)!important}

  body.admin-layout #topbar-restore-button{display:none!important}

  /* Le contenu admin commence toujours après la barre fixe. */
  body.admin-layout .main-content.workspace-content,
  body.admin-layout.topbar-hidden .main-content.workspace-content,
  body.admin-layout.topbar-compact .main-content.workspace-content{
    width:100%!important;max-width:100%!important;margin:0!important;padding:calc(var(--cen148-admin-topbar-h) + 14px) 10px 28px!important;box-sizing:border-box!important;overflow:visible!important;
  }
  body.admin-layout .workspace-content :is([id],section,article,h1,h2,h3,.card,.panel-card){scroll-margin-top:calc(var(--cen148-admin-topbar-h) + 16px)!important}
  body.admin-layout .workspace-content>*{max-width:100%!important;min-width:0!important;box-sizing:border-box!important}

  /* ---------- 6. HAMBURGER + TIROIR ADMIN ---------- */
  body.admin-layout #mobile-sidebar-toggle{
    display:grid!important;place-items:center!important;position:fixed!important;top:9px!important;left:10px!important;
    width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;margin:0!important;padding:0!important;
    border:1px solid #d5e2ec!important;border-radius:16px!important;background:#fff!important;color:var(--cen148-blue-deep)!important;
    box-shadow:0 7px 20px rgba(5,43,77,.18)!important;z-index:7500!important;pointer-events:auto!important;touch-action:manipulation!important;font-size:25px!important;
  }
  body.admin-layout #main-sidebar,body.admin-layout .side-dashboard{
    display:flex!important;position:fixed!important;top:0!important;left:0!important;right:auto!important;bottom:0!important;
    width:var(--cen148-admin-drawer-w)!important;min-width:0!important;max-width:var(--cen148-admin-drawer-w)!important;
    height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:70px 10px calc(10px + env(safe-area-inset-bottom,0px))!important;box-sizing:border-box!important;
    flex-direction:column!important;overflow:hidden!important;background:linear-gradient(180deg,#052e52,#084f91 55%,#0b5fa8)!important;box-shadow:18px 0 48px rgba(3,30,53,.32)!important;
    transform:translate3d(-104%,0,0)!important;opacity:1!important;visibility:visible!important;pointer-events:none!important;z-index:7400!important;transition:transform .18s ease!important;
  }
  body.admin-layout.side-open #main-sidebar,body.admin-layout.side-open .side-dashboard,body.admin-layout #main-sidebar.is-open{transform:translate3d(0,0,0)!important;pointer-events:auto!important}
  body.admin-layout .mobile-menu-backdrop{
    display:block!important;position:fixed!important;inset:0!important;background:rgba(3,20,35,.62)!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:7350!important;transition:opacity .16s ease,visibility .16s ease!important;
  }
  body.admin-layout.side-open .mobile-menu-backdrop,body.admin-layout .mobile-menu-backdrop.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}

  body.admin-layout .side-top{flex:0 0 auto!important;min-height:0!important}
  body.admin-layout .sidebar-close-button{display:none!important}
  body.admin-layout .side-brand{display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 9px!important;padding:0 4px 10px!important;min-height:58px!important}
  body.admin-layout .side-logo{flex:0 0 52px!important;width:52px!important;height:52px!important;border-radius:14px!important;overflow:hidden!important}
  body.admin-layout .side-logo img{width:100%!important;height:100%!important;object-fit:contain!important}
  body.admin-layout .side-brand strong{font-size:14px!important;line-height:1.2!important;color:#fff!important}
  body.admin-layout .side-brand small{font-size:11px!important;color:#d8efff!important}
  body.admin-layout .side-menu-search{flex:0 0 auto!important;margin:0 2px 8px!important}
  body.admin-layout .side-menu{display:block!important;flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;padding:4px 2px 16px!important;margin:0!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
  body.admin-layout .v63-side-navigation{display:block!important;width:100%!important}
  body.admin-layout .side-menu-group{display:block!important;width:100%!important;margin:0 0 7px!important;border-radius:14px!important;overflow:visible!important}
  body.admin-layout .side-menu-group>summary{
    display:grid!important;grid-template-columns:28px minmax(0,1fr) 20px!important;align-items:center!important;gap:7px!important;width:100%!important;min-height:52px!important;
    padding:12px 11px!important;margin:0!important;border-radius:13px!important;background:rgba(255,255,255,.075)!important;color:#fff!important;
    font-size:14px!important;line-height:1.25!important;font-weight:850!important;cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important;user-select:none!important;
  }
  body.admin-layout .side-menu-group[open]>summary{background:rgba(255,255,255,.18)!important}
  body.admin-layout .side-submenu{display:block!important;width:100%!important;padding:5px 0 2px 10px!important}
  body.admin-layout .side-submenu a,body.admin-layout .side-menu>a,body.admin-layout .v63-side-navigation>a{
    display:grid!important;grid-template-columns:28px minmax(0,1fr) 18px!important;align-items:center!important;gap:6px!important;width:100%!important;min-height:50px!important;
    padding:11px 10px!important;margin:3px 0!important;border-radius:12px!important;color:#fff!important;background:transparent!important;
    font-size:14px!important;line-height:1.25!important;text-decoration:none!important;pointer-events:auto!important;touch-action:manipulation!important;cursor:pointer!important;
  }
  body.admin-layout .side-submenu a:active,body.admin-layout .side-menu>a:active{background:rgba(255,255,255,.20)!important}
  body.admin-layout .side-dashboard :is(a,span,strong,small,summary,b){color:#fff!important;opacity:1!important}
  body.admin-layout .side-user{flex:0 0 auto!important;margin-top:4px!important;padding:9px 8px!important}
  body.admin-layout .logout-btn{flex:0 0 auto!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;margin:7px 2px 0!important;padding:10px!important;position:relative!important}

  /* ---------- 7. DASHBOARD + TOUS LES MODULES ---------- */
  body.admin-layout .workspace-content :is(.grid,.grid.two,.grid.three,.form.grid.two,.form-grid,.dashboard-panels,.dashboard-panels.two-columns,.dashboard-panels-v127,.admin-action-grid,.kpi-grid,.kpi-grid-v127,.member-stat-grid,.health-links,.responsive-card-list){grid-template-columns:1fr!important}
  body.admin-layout .workspace-content :is(.card,.panel-card,.page-heading,.form,.form-grid,fieldset,.module-guide,.dashboard-welcome,.dashboard-welcome-v127){width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow-wrap:anywhere!important}
  body.admin-layout .workspace-content :is(input,select,textarea,button,.btn){max-width:100%!important;box-sizing:border-box!important}
  body.admin-layout .workspace-content .table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  body.admin-layout .workspace-content table{min-width:680px!important}
  body.admin-layout .workspace-content h1{font-size:clamp(27px,7.5vw,34px)!important;line-height:1.1!important}
  body.admin-layout .workspace-content h2{font-size:clamp(21px,6vw,27px)!important;line-height:1.18!important}
  body.admin-layout .workspace-content p,body.admin-layout .workspace-content li{font-size:15.5px!important;line-height:1.58!important}

  /* Guide de module compact : plus de grande carte avant le contenu. */
  body.admin-layout .module-guide{
    display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;align-items:start!important;gap:10px!important;
    padding:13px!important;margin:0 0 12px!important;border-radius:16px!important;
  }
  body.admin-layout .module-guide-icon{width:40px!important;height:40px!important;font-size:19px!important}
  body.admin-layout .module-guide h2{margin:1px 0 3px!important;font-size:18px!important;line-height:1.18!important}
  body.admin-layout .module-guide p{margin:0!important;font-size:13.5px!important;line-height:1.42!important}
  body.admin-layout .module-guide ul{grid-column:1/-1!important;display:flex!important;flex-wrap:wrap!important;gap:5px 11px!important;min-width:0!important;max-width:none!important;margin:2px 0 0!important}
  body.admin-layout .module-guide li{font-size:12.5px!important;white-space:normal!important;margin:0!important}

  body.admin-layout .dashboard-welcome-v127{display:block!important;padding:18px 16px!important;margin-bottom:14px!important;border-radius:18px!important}
  body.admin-layout .dashboard-welcome-v127 h1{font-size:clamp(27px,8vw,34px)!important;line-height:1.08!important;margin:7px 0 10px!important}
  body.admin-layout .dashboard-welcome-v127 p{font-size:15px!important;line-height:1.55!important}
  body.admin-layout .dashboard-welcome-v127 .dashboard-seal{display:none!important}
  body.admin-layout .welcome-meta{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important}
  body.admin-layout .welcome-meta span{width:100%!important;box-sizing:border-box!important}
  body.admin-layout .kpi-grid-v127{gap:10px!important;margin:12px 0!important}
  body.admin-layout .kpi-grid-v127 .kpi-card{min-height:104px!important;padding:15px!important;border-radius:17px!important}
  body.admin-layout .dashboard-panels-v127{gap:11px!important;margin:12px 0!important}
  body.admin-layout .panel-card{padding:15px!important;border-radius:17px!important}
  body.admin-layout .panel-head{align-items:flex-start!important}
  body.admin-layout .panel-head h3{font-size:17px!important;line-height:1.25!important}
  body.admin-layout .dash-list{grid-template-columns:34px minmax(0,1fr) auto!important}

  /* Paramètres et formulaires : tous les blocs ouvrables et lisibles. */
  body.admin-layout .cen-public-content-settings{width:100%!important;max-width:100%!important;overflow:visible!important}
  body.admin-layout .cen-public-content-settings>summary{display:block!important;min-height:52px!important;padding:13px!important;cursor:pointer!important;touch-action:manipulation!important;pointer-events:auto!important;overflow-wrap:anywhere!important}
  body.admin-layout .cen-public-settings-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:12px!important}
  body.admin-layout .cen-public-settings-grid>*{grid-column:1!important;min-width:0!important;max-width:100%!important}
  body.admin-layout .cen-mobile-money-settings,body.admin-layout .cen-payment-api-settings{grid-template-columns:1fr!important}
  body.admin-layout .rubric-item .mini-form.grid.two{grid-template-columns:1fr!important}
  body.admin-layout .app-footer.dashboard-style-footer{width:100%!important;max-width:100%!important;margin:18px 0 0!important;padding:24px 16px 78px!important;grid-template-columns:1fr!important;border-radius:0!important}
}

/* ------------------------- BANDE DÉFILANTE : PARTOUT SUR MOBILE ------------------------- */
@media (max-width:980px){
  body .communique-ticker.enhanced-ticker{
    display:flex!important;position:fixed!important;left:7px!important;right:7px!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;height:var(--cen148-ticker-h)!important;min-height:var(--cen148-ticker-h)!important;max-height:var(--cen148-ticker-h)!important;
    align-items:center!important;gap:7px!important;padding:4px 5px!important;margin:0!important;box-sizing:border-box!important;
    border:1px solid #e5ad00!important;border-radius:13px!important;background:linear-gradient(90deg,#ffd42a,#ffe477,#ffd42a)!important;color:#173d26!important;
    overflow:hidden!important;z-index:4800!important;box-shadow:0 7px 23px rgba(4,40,68,.19)!important;
  }
  body .communique-ticker.enhanced-ticker strong{display:flex!important;align-items:center!important;justify-content:center!important;height:34px!important;max-width:120px!important;flex:0 0 auto!important;padding:0 10px!important;border-radius:10px!important;background:#0f5b31!important;color:#fff!important;font-size:11px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body .communique-ticker.enhanced-ticker .ticker-track{display:flex!important;align-items:center!important;min-width:0!important;flex:1 1 auto!important;height:34px!important;overflow:hidden!important;white-space:nowrap!important}
  body .communique-ticker.enhanced-ticker .ticker-track span{display:inline-block!important;line-height:34px!important;font-size:12px!important;font-weight:850!important;color:#173d26!important;white-space:nowrap!important}
  body .communique-ticker.enhanced-ticker .ticker-close{display:grid!important;place-items:center!important;position:relative!important;flex:0 0 34px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:0!important;margin:0!important;border:1px solid rgba(77,61,0,.15)!important;border-radius:10px!important;background:#fff8c8!important;color:#16462a!important;font-size:18px!important;font-weight:900!important;line-height:1!important;z-index:2!important;touch-action:manipulation!important}
  body .floating-help{bottom:calc(66px + env(safe-area-inset-bottom,0px))!important;right:10px!important;z-index:4700!important}
  body .install-pwa-button{bottom:calc(124px + env(safe-area-inset-bottom,0px))!important;right:10px!important;z-index:4700!important}
  body.public-menu-open .communique-ticker.enhanced-ticker,body.side-open .communique-ticker.enhanced-ticker{pointer-events:none!important}
}

@media (max-width:420px){
  body .communique-ticker.enhanced-ticker strong{max-width:100px!important;padding:0 8px!important;font-size:10.5px!important}
  body.admin-layout .history-controls{max-width:90px!important}
  body.admin-layout .history-controls #nav-forward{display:none!important}
  body.admin-layout .top-actions{max-width:calc(100% - 174px)!important}
  body.admin-layout .top-actions>a,body.admin-layout .top-actions>button{flex-basis:36px!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
}

@media print{
  html{scroll-padding-top:0!important}
  body{padding-bottom:0!important}
  body.public-layout .main-content.public-content,body.admin-layout .main-content.workspace-content{padding-top:0!important}
  body.public-layout .public-mobile-bar,body.public-layout .site-header.public-header,body.admin-layout .workspace-topbar,body.admin-layout #mobile-sidebar-toggle,body .communique-ticker.enhanced-ticker{display:none!important}
}
