/* Interface professionnelle sans menu latéral permanent
   Présentation uniquement : aucune logique métier modifiée. */
:root{
  --nav-bg:#0f172a;
  --nav-bg-2:#111827;
  --nav-accent:#2e8b57;
  --nav-accent-soft:#e8f7ef;
  --nav-border:#e5e7eb;
  --nav-text:#0f172a;
  --nav-muted:#64748b;
  --page-bg:#f6f8fb;
}

body{background:var(--page-bg)!important;}
.app-shell{display:block!important;background:var(--page-bg)!important;}
.content{
  margin-left:0!important;
  width:100%!important;
  max-width:100%!important;
  padding:18px 22px 28px!important;
}

/* Le menu latéral devient un tiroir masqué */
.sidebar{
  position:fixed!important;
  inset:0 auto 0 0!important;
  width:min(330px,86vw)!important;
  height:100vh!important;
  z-index:1060!important;
  transform:translateX(-112%)!important;
  margin-left:0!important;
  transition:transform .22s ease!important;
  background:#fff!important;
  border-right:1px solid var(--nav-border)!important;
  box-shadow:18px 0 45px rgba(15,23,42,.18)!important;
  overflow-y:auto!important;
  padding:18px!important;
  visibility:visible!important;
  opacity:1!important;
}
body.drawer-open .sidebar{transform:translateX(0)!important;}
body.drawer-open .mobile-menu-backdrop{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  background:rgba(15,23,42,.45)!important;
  z-index:1055!important;
}
.sidebar-toggle{display:none!important;}
.sidebar-close-btn{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid var(--nav-border)!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  color:#0f172a!important;
}
.sidebar-close-btn:hover{background:#eef2f7!important;}

.brand{
  padding:10px 46px 14px 4px!important;
  margin:0 0 14px!important;
  border-bottom:1px solid var(--nav-border)!important;
  color:#0f172a!important;
  background:transparent!important;
  border-radius:0!important;
}
.sidebar .nav-link{
  min-height:44px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  color:#1f2937!important;
  font-weight:750!important;
  line-height:1.15!important;
}
.sidebar .nav-link i{color:var(--nav-accent)!important;}
.sidebar .nav-link:hover{background:#f3f6fb!important;color:#0f172a!important;}
.sidebar .nav-link.active{background:var(--nav-accent-soft)!important;color:#216b43!important;}
.user-card{margin-top:16px!important;background:#f8fafc!important;border:1px solid var(--nav-border)!important;color:#0f172a!important;}
.user-card .text-white-50{color:var(--nav-muted)!important;}

/* Nouvelle barre supérieure sobre */
.modern-topbar{
  position:sticky!important;
  top:12px!important;
  z-index:1040!important;
  background:#fff!important;
  border:1px solid var(--nav-border)!important;
  border-radius:18px!important;
  box-shadow:0 10px 28px rgba(15,23,42,.08)!important;
  padding:10px 12px!important;
  gap:12px!important;
}
.top-menu-btn{
  width:44px!important;
  height:44px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid var(--nav-border)!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  color:#0f172a!important;
  font-size:1.25rem!important;
  flex:0 0 auto!important;
}
.top-menu-btn:hover{background:#eef2f7!important;}
.mobile-menu-open-btn{display:none!important;}
.topbar-app-icon{
  width:44px!important;
  height:44px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#216b43,#2e8b57)!important;
  box-shadow:none!important;
}
.mini-muted{font-size:.76rem!important;color:var(--nav-muted)!important;font-weight:700!important;}
.topbar-left .fw-bold.fs-5{
  font-size:1.02rem!important;
  color:#0f172a!important;
  max-width:290px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.topbar-center{
  flex:1 1 auto!important;
  min-width:320px!important;
  justify-content:center!important;
  gap:8px!important;
}
.top-pill{
  height:42px!important;
  min-width:0!important;
  padding:0 13px!important;
  border-radius:13px!important;
  background:transparent!important;
  color:#334155!important;
  font-weight:800!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  max-width:190px!important;
}
.top-pill span{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.top-pill i{color:#2e8b57!important;flex:0 0 auto!important;}
.top-pill:hover{background:#f1f5f9!important;color:#0f172a!important;}
.top-pill.active{background:#e8f7ef!important;color:#216b43!important;}
.notification-bell{
  background:#f1f5f9!important;
  color:#0f172a!important;
  border:1px solid var(--nav-border)!important;
}
.profile-chip{
  background:#f8fafc!important;
  border:1px solid var(--nav-border)!important;
  color:#0f172a!important;
}
.profile-chip:hover{background:#eef2f7!important;color:#0f172a!important;}
.profile-avatar{background:#216b43!important;}

/* Tables, cartes et calendrier gardent leur logique mais respirent mieux */
.card,.fc{border-radius:18px!important;}
.fc .fc-toolbar-title{font-weight:900!important;color:#0f172a!important;}
.fc .fc-button{border-radius:11px!important;font-weight:800!important;}

@media(max-width:1180px){
  .modern-topbar{align-items:stretch!important;}
  .topbar-left{flex:1 1 auto!important;}
  .topbar-right{flex:0 0 auto!important;}
  .topbar-center{
    order:3!important;
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .top-pill{max-width:none!important;width:100%!important;justify-content:center!important;}
}
@media(max-width:768px){
  .content{padding:10px 10px 20px!important;}
  .modern-topbar{top:8px!important;border-radius:16px!important;padding:9px!important;}
  .topbar-left{min-width:0!important;flex:1 1 calc(100% - 112px)!important;}
  .topbar-left .fw-bold.fs-5{font-size:.95rem!important;max-width:calc(100vw - 178px)!important;}
  .topbar-app-icon{display:none!important;}
  .top-menu-btn{width:42px!important;height:42px!important;border-radius:13px!important;}
  .topbar-right{gap:6px!important;}
  .notification-bell{width:42px!important;height:42px!important;}
  .profile-chip{width:42px!important;height:42px!important;padding:3px!important;border-radius:50%!important;justify-content:center!important;}
  .profile-text{display:none!important;}
  .profile-avatar{width:34px!important;height:34px!important;}
  .topbar-center{gap:6px!important;}
  .top-pill{height:44px!important;padding:0 6px!important;flex-direction:column!important;gap:2px!important;font-size:.72rem!important;line-height:1.05!important;}
  .top-pill i{font-size:1.05rem!important;}
}
@media(max-width:520px){
  .topbar-center{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .top-pill span{display:block!important;font-size:.66rem!important;max-width:100%!important;}
  .top-pill{height:46px!important;}
}
@media(max-width:390px){
  .top-pill span{display:none!important;}
  .top-pill{height:42px!important;}
}
