/* CEN V153.1 — Mobile Premium Fix
   Corrige la topbar admin invisible, l'espace vide du dashboard,
   la connexion mobile et le ticker qui masque le contenu. */

@media (max-width: 760px) {
  :root{
    --cen1531-admin-topbar-h:68px;
    --cen148-admin-topbar-h:68px!important;
    --fobak-topbar-height:68px!important;
  }

  /* ===== TOPBAR ADMIN : toujours visible ===== */
  body.admin-layout .workspace-topbar{
    display:grid!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:15000!important;
    width:100%!important;
    max-width:100%!important;
    height:var(--cen1531-admin-topbar-h)!important;
    min-height:var(--cen1531-admin-topbar-h)!important;
    max-height:var(--cen1531-admin-topbar-h)!important;
    grid-template-columns:minmax(96px,112px) minmax(0,1fr)!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    gap:6px!important;
    margin:0!important;
    padding:7px 8px 7px 80px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    background:linear-gradient(118deg,#063d6b 0%,#075f96 58%,#0b7eaa 100%)!important;
    border:0!important;
    border-bottom:4px solid #f4c62d!important;
    box-shadow:0 5px 18px rgba(6,61,107,.18)!important;
  }
  body.admin-layout .workspace-topbar .history-controls,
  body.admin-layout .workspace-topbar .workspace-welcome,
  body.admin-layout .workspace-topbar .global-search-form{
    display:none!important;
  }
  body.admin-layout .workspace-topbar .workspace-language-wrap{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    opacity:1!important;
    visibility:visible!important;
  }
  body.admin-layout .workspace-topbar .workspace-language-wrap>span{display:none!important}
  body.admin-layout .workspace-topbar .language-select{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:112px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 25px 0 9px!important;
    margin:0!important;
    border-radius:12px!important;
    border:1px solid rgba(255,255,255,.42)!important;
    background:#fff!important;
    color:#173b55!important;
    font-size:12.5px!important;
    font-weight:800!important;
    line-height:1!important;
    opacity:1!important;
    visibility:visible!important;
  }
  body.admin-layout .workspace-topbar .top-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:5px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:42px!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
  }
  body.admin-layout .workspace-topbar .top-actions > *{
    display:grid!important;
    place-items:center!important;
    flex:0 0 34px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    margin:0!important;
    padding:0!important;
    border-radius:10px!important;
    opacity:1!important;
    visibility:visible!important;
    overflow:hidden!important;
  }
  body.admin-layout .workspace-topbar .top-actions > *:nth-child(n+4){display:none!important}

  /* Bouton menu aligné dans la même barre */
  body.admin-layout .mobile-sidebar-toggle{
    display:grid!important;
    place-items:center!important;
    position:fixed!important;
    top:7px!important;
    left:8px!important;
    z-index:15100!important;
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    margin:0!important;
    padding:0!important;
    border-radius:14px!important;
    transform:none!important;
  }

  /* ===== SUPPRESSION DU GRAND VIDE SUR DASHBOARD ===== */
  body.admin-layout .workspace{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding-top:var(--cen1531-admin-topbar-h)!important;
  }
  body.admin-layout .main-content.workspace-content,
  body.admin-layout .main-content{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:10px 10px 78px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }
  body.page-endpoint-dashboard .main-content.workspace-content,
  body.page-endpoint-admin-dashboard .main-content.workspace-content{
    padding-top:10px!important;
  }
  body.page-endpoint-dashboard .dashboard-welcome,
  body.page-endpoint-admin-dashboard .dashboard-welcome,
  body.page-endpoint-dashboard .dashboard-welcome-v127,
  body.page-endpoint-admin-dashboard .dashboard-welcome-v127{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0 0 14px!important;
    padding:18px 16px!important;
    gap:12px!important;
    border-radius:18px!important;
  }
  body.page-endpoint-dashboard .dashboard-welcome h1,
  body.page-endpoint-admin-dashboard .dashboard-welcome h1{
    margin:.3rem 0 .55rem!important;
    font-size:clamp(28px,8vw,38px)!important;
    line-height:1.04!important;
  }
  body.page-endpoint-dashboard .dashboard-welcome p,
  body.page-endpoint-admin-dashboard .dashboard-welcome p{
    margin:0 0 12px!important;
    font-size:15px!important;
    line-height:1.5!important;
  }
  body.page-endpoint-dashboard .dashboard-welcome .welcome-meta,
  body.page-endpoint-admin-dashboard .dashboard-welcome .welcome-meta{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    margin-top:10px!important;
  }
  body.page-endpoint-dashboard .dashboard-welcome .welcome-meta > span,
  body.page-endpoint-admin-dashboard .dashboard-welcome .welcome-meta > span{
    min-height:42px!important;
    padding:8px 12px!important;
    font-size:14px!important;
    line-height:1.25!important;
  }
  body.page-endpoint-dashboard .dashboard-seal,
  body.page-endpoint-admin-dashboard .dashboard-seal{
    display:none!important;
  }
  body.page-endpoint-dashboard .demo-toggle-form,
  body.page-endpoint-admin-dashboard .demo-toggle-form{
    margin-top:10px!important;
  }
  body.page-endpoint-dashboard .demo-toggle-form .btn,
  body.page-endpoint-admin-dashboard .demo-toggle-form .btn{
    min-height:42px!important;
    padding:9px 12px!important;
    font-size:14px!important;
  }
  body.page-endpoint-dashboard .dashboard-stat-section,
  body.page-endpoint-admin-dashboard .dashboard-stat-section{
    margin-top:0!important;
    padding-top:0!important;
  }
  body.page-endpoint-dashboard .dashboard-section-head,
  body.page-endpoint-admin-dashboard .dashboard-section-head{
    margin-top:0!important;
    gap:6px!important;
  }
  body.page-endpoint-dashboard .dashboard-section-head h2,
  body.page-endpoint-admin-dashboard .dashboard-section-head h2{
    font-size:clamp(25px,7vw,32px)!important;
    line-height:1.08!important;
  }

  /* ===== TICKER : compact, sans masquer les boutons ===== */
  body .communique-ticker.enhanced-ticker{
    left:8px!important;
    right:8px!important;
    bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    border-radius:14px!important;
    overflow:hidden!important;
    z-index:14000!important;
    box-shadow:0 7px 22px rgba(29,52,45,.18)!important;
  }
  body .communique-ticker.enhanced-ticker > strong{
    height:42px!important;
    min-height:42px!important;
    padding:0 10px!important;
    font-size:10.5px!important;
    line-height:42px!important;
    white-space:nowrap!important;
  }
  body .communique-ticker.enhanced-ticker .ticker-track{
    min-width:0!important;
    font-size:12px!important;
    line-height:42px!important;
  }
  body .communique-ticker.enhanced-ticker .ticker-close{
    flex:0 0 36px!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    margin:3px!important;
    padding:0!important;
    border-radius:10px!important;
    font-size:18px!important;
  }
  body.has-communique-ticker{padding-bottom:58px!important}

  /* ===== CONNEXION MOBILE : un seul contour, aucun débordement ===== */
  body.page-login .main-content.public-content{
    width:100%!important;
    max-width:100%!important;
    padding-left:10px!important;
    padding-right:10px!important;
    padding-bottom:72px!important;
    box-sizing:border-box!important;
  }
  body.page-login .cen-login-v138,
  body.page-login .cen-login-card{
    width:100%!important;
    max-width:520px!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:20px 16px!important;
    border-radius:18px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  body.page-login .cen-login-logo{
    width:76px!important;
    height:76px!important;
    margin-bottom:12px!important;
  }
  body.page-login .cen-login-heading h1{
    font-size:34px!important;
    line-height:1.05!important;
    margin:.35rem 0!important;
  }
  body.page-login .cen-login-heading p{font-size:15px!important;line-height:1.4!important}
  body.page-login .cen-login-form{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:10px!important;
    box-sizing:border-box!important;
  }
  body.page-login .cen-login-form > label:not(.cen-login-remember){
    margin:3px 0 0!important;
    font-size:14px!important;
    line-height:1.25!important;
  }
  body.page-login .cen-login-input{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:5px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    height:50px!important;
    margin:0!important;
    padding:0 7px!important;
    box-sizing:border-box!important;
    border:1.5px solid #b9cedd!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  body.page-login .cen-login-input > span{
    display:grid!important;
    place-items:center!important;
    width:30px!important;
    min-width:30px!important;
    margin:0!important;
    padding:0!important;
    font-size:18px!important;
  }
  body.page-login .cen-login-input input:not([type=checkbox]):not([type=radio]){
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
    padding:0 8px!important;
    border:0!important;
    border-radius:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    font-size:15.5px!important;
    line-height:46px!important;
    box-sizing:border-box!important;
  }
  body.page-login .cen-login-input input:focus{
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
  }
  body.page-login .cen-login-input input::placeholder{
    font-size:14px!important;
    opacity:.78!important;
    text-overflow:ellipsis!important;
  }
  body.page-login .cen-login-password-toggle,
  body.page-login .password-visibility-toggle,
  body.page-login .password-toggle-btn,
  body.page-login .password-toggle{
    display:grid!important;
    place-items:center!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:10px!important;
    box-shadow:none!important;
    transform:none!important;
  }
  body.page-login .cen-login-remember{
    min-height:36px!important;
    gap:9px!important;
    margin:5px 0!important;
    font-size:14px!important;
  }
  body.page-login .cen-login-submit{
    width:100%!important;
    min-height:48px!important;
    margin-top:4px!important;
    box-sizing:border-box!important;
  }
}

@media (max-width: 420px) {
  body.admin-layout .workspace-topbar{
    grid-template-columns:94px minmax(0,1fr)!important;
    padding-left:76px!important;
  }
  body.admin-layout .mobile-sidebar-toggle{
    left:7px!important;
    width:54px!important;
    min-width:54px!important;
  }
  body.admin-layout .workspace-topbar .language-select{max-width:94px!important;font-size:12px!important}
  body.page-login .cen-login-card{padding:18px 13px!important}
  body.page-login .cen-login-heading h1{font-size:31px!important}
}
