/* ── Layout ─────────────────────────────────────── */
#wrapper { min-height: 100vh; }

#sidebar {
  width: 240px;
  min-height: 100vh;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}

#page-content { min-width: 0; }

/* ── Sidebar nav links ──────────────────────────── */
#sidebar .nav-link {
  border-radius: 8px;
  transition: background .15s;
  font-size: .9rem;
  padding: .45rem .75rem;
}
#sidebar .nav-link:hover { background: rgba(255,255,255,.08); }
#sidebar .nav-link.active { background: #ffc107 !important; color: #212529 !important; font-weight: 600; }

/* ── Cards ──────────────────────────────────────── */
.card { border-radius: 12px; }

/* ── Tables ─────────────────────────────────────── */
.table th { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: #6c757d; }

/* ── Responsive ─────────────────────────────────── */
@media (max-width: 767px) {
  #sidebar {
    position: fixed;
    top: 0; left: 0;
    height: 100vh;
    z-index: 1050;
    transform: translateX(-100%);
    transition: transform .25s ease;
    width: 240px;
  }
  #sidebar.sidebar-open { transform: translateX(0); }
  /* Décaler le contenu sous la barre de nav mobile */
  #wrapper { flex-direction: column; }
  #page-content { padding-top: 56px !important; }
}
@media (min-width: 768px) {
  #sidebarOverlay { display: none !important; }
}
