/* AZALYS V5.93 — Menu latéral ergonomique mobile/tablette
   Objectif : sidebar lisible, non coupée, badges alignés, footer propre. */

body:not(.role-client-dossier) #main-screen.main-shell{
  grid-template-columns:clamp(248px,18vw,292px) minmax(0,1fr)!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  overflow:visible!important;
}

body:not(.role-client-dossier) #main-screen .side{
  width:auto!important;
  min-width:248px!important;
  max-width:292px!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  position:sticky!important;
  top:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 22% 0%,rgba(74,144,255,.18),transparent 34%),
    linear-gradient(180deg,#061b3d 0%,#041126 100%)!important;
  border-right:1px solid rgba(191,219,254,.18)!important;
  box-shadow:20px 0 56px rgba(15,23,42,.20)!important;
}

body:not(.role-client-dossier) #main-screen .side-brand{
  flex:0 0 auto!important;
  min-height:64px!important;
  padding:14px 18px!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}

body:not(.role-client-dossier) #main-screen .side-nav{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:16px 10px 12px!important;
  scrollbar-width:thin;
  scrollbar-color:rgba(147,197,253,.42) transparent;
  overscroll-behavior:contain;
}

body:not(.role-client-dossier) #main-screen .side-nav::-webkit-scrollbar{width:6px;}
body:not(.role-client-dossier) #main-screen .side-nav::-webkit-scrollbar-track{background:transparent;}
body:not(.role-client-dossier) #main-screen .side-nav::-webkit-scrollbar-thumb{background:rgba(147,197,253,.35);border-radius:999px;}

body:not(.role-client-dossier) #main-screen .nav-section-label{
  margin:16px 12px 5px!important;
  color:rgba(180,195,225,.68)!important;
  font-size:11px!important;
  line-height:1!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
  font-weight:950!important;
}

body:not(.role-client-dossier) #main-screen .side-nav .nav-section-label:first-child{
  margin-top:2px!important;
}

body:not(.role-client-dossier) #main-screen .side-nav .nav-btn{
  width:100%!important;
  min-height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:12px 54px 12px 18px!important;
  border-radius:15px!important;
  white-space:normal!important;
  line-height:1.18!important;
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:-.015em!important;
  color:rgba(244,248,255,.92)!important;
  background:transparent!important;
  border:1px solid transparent!important;
  text-shadow:0 1px 1px rgba(0,0,0,.12);
  transform:none!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease;
}

body:not(.role-client-dossier) #main-screen .side-nav .nav-btn:hover{
  color:#fff!important;
  background:rgba(59,130,246,.16)!important;
  border-color:rgba(147,197,253,.13)!important;
}

body:not(.role-client-dossier) #main-screen .side-nav .nav-btn.active{
  color:#fff!important;
  background:linear-gradient(135deg,rgba(47,111,215,.72),rgba(26,70,152,.62))!important;
  border-color:rgba(147,197,253,.34)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 12px 30px rgba(16,74,168,.25)!important;
}

body:not(.role-client-dossier) #main-screen .side-nav .nav-btn.active::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:9px!important;
  bottom:9px!important;
  width:4px!important;
  border-radius:0 999px 999px 0!important;
  background:linear-gradient(180deg,#8fd3ff,#4aa3ff)!important;
  box-shadow:0 0 18px rgba(96,165,250,.85)!important;
}

body:not(.role-client-dossier) #main-screen .side-nav .nav-cursor{
  left:0!important;
  width:5px!important;
  border-radius:0 999px 999px 0!important;
  background:linear-gradient(180deg,#93d5ff,#4aa3ff)!important;
  box-shadow:0 0 18px rgba(96,165,250,.75),0 10px 24px rgba(37,99,235,.28)!important;
}

body:not(.role-client-dossier) #main-screen .nav-badge{
  position:absolute!important;
  top:50%!important;
  right:14px!important;
  transform:translateY(-50%)!important;
  min-width:24px!important;
  height:24px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#f8c84a,#f2a51c)!important;
  color:#111827!important;
  font-size:12px!important;
  font-weight:1000!important;
  line-height:1!important;
  box-shadow:0 10px 24px rgba(245,158,11,.30),inset 0 1px 0 rgba(255,255,255,.40)!important;
}

body:not(.role-client-dossier) #main-screen .side-footer{
  flex:0 0 auto!important;
  margin-top:0!important;
  padding:12px 14px 14px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  background:linear-gradient(180deg,rgba(4,17,38,0),rgba(4,17,38,.72) 22%,rgba(4,17,38,.94))!important;
  border-top:1px solid rgba(255,255,255,.06)!important;
}

body:not(.role-client-dossier) #main-screen .side-footer .btn{
  min-height:46px!important;
  border-radius:15px!important;
  font-size:14px!important;
  font-weight:950!important;
}

body:not(.role-client-dossier) #main-screen #btn-logout{
  background:rgba(255,255,255,.97)!important;
  color:#0b2347!important;
  border:1px solid rgba(219,234,254,.95)!important;
  box-shadow:0 12px 28px rgba(2,8,23,.20)!important;
}

body:not(.role-client-dossier) #main-screen #btn-logout:hover{
  background:#fff!important;
  transform:translateY(-1px)!important;
}

@media(max-width:1100px){
  body:not(.role-client-dossier) #main-screen.main-shell{
    grid-template-columns:minmax(248px,78vw) minmax(0,1fr)!important;
  }
  body:not(.role-client-dossier) #main-screen .side{
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    position:sticky!important;
  }
  body:not(.role-client-dossier) #main-screen .side-nav{
    flex-direction:column!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
}

@media(max-width:760px){
  body:not(.role-client-dossier) #main-screen.main-shell{
    grid-template-columns:minmax(242px,82vw) minmax(52px,18vw)!important;
  }
  body:not(.role-client-dossier) #main-screen .side{
    min-width:242px!important;
  }
  body:not(.role-client-dossier) #main-screen .side-brand{
    display:none!important;
  }
  body:not(.role-client-dossier) #main-screen .side-nav{
    padding:12px 8px 10px!important;
    gap:5px!important;
  }
  body:not(.role-client-dossier) #main-screen .nav-section-label{
    margin:13px 9px 4px!important;
    font-size:10px!important;
  }
  body:not(.role-client-dossier) #main-screen .side-nav .nav-btn{
    min-height:42px!important;
    padding:10px 46px 10px 12px!important;
    border-radius:13px!important;
    font-size:13px!important;
    gap:9px!important;
  }
  body:not(.role-client-dossier) #main-screen .nav-badge{
    right:10px!important;
    min-width:22px!important;
    height:22px!important;
    font-size:11px!important;
  }
  body:not(.role-client-dossier) #main-screen .side-footer{
    padding:10px 10px 12px!important;
  }
  body:not(.role-client-dossier) #main-screen .side-footer .btn{
    min-height:40px!important;
    border-radius:13px!important;
    font-size:13px!important;
  }
}

@media(max-height:760px){
  body:not(.role-client-dossier) #main-screen .side-brand{
    display:none!important;
  }
  body:not(.role-client-dossier) #main-screen .side-nav{
    padding-top:10px!important;
    gap:4px!important;
  }
  body:not(.role-client-dossier) #main-screen .nav-section-label{
    margin-top:11px!important;
  }
  body:not(.role-client-dossier) #main-screen .side-nav .nav-btn{
    min-height:40px!important;
    padding-top:9px!important;
    padding-bottom:9px!important;
  }
}
