body { background:#f4f6f9; font-family: 'Segoe UI', Arial, sans-serif; }
.sidebar { width:230px; min-height:100vh; max-height:100vh; overflow-y:auto; background:#1f2937; color:#fff; }
.sidebar-brand { padding:20px; font-size:1.1rem; font-weight:600; border-bottom:1px solid rgba(255,255,255,.1); }
.sidebar .nav-link { color:#cbd5e1; padding:10px 20px; }
.sidebar .nav-link:hover, .sidebar .nav-link.active { background:#111827; color:#fff; }
.sidebar .nav-link.text-primary { color:#60a5fa !important; }
.sidebar .ms-3 .nav-link { padding:6px 20px; font-size:.9rem; color:#9ca3af; }
.sidebar .ms-3 .nav-link:hover { color:#fff; background:transparent; }
.sidebar .nav-link[data-bs-toggle="collapse"] { cursor:pointer; }
.sidebar .nav-link[data-bs-toggle="collapse"][aria-expanded="true"] .bi-chevron-down { transform:rotate(180deg); }
.sidebar .bi-chevron-down { transition:transform .15s ease; }
.topbar { background:#fff; padding:12px 24px; border-bottom:1px solid #e5e7eb; }
.card-stat { border:none; border-radius:10px; box-shadow:0 1px 3px rgba(0,0,0,.08); }
.table thead { background:#f1f5f9; }

/* 5-column stat grid (dashboard) */
@media (min-width: 768px) {
  .col-md-2-4 { flex: 0 0 20%; max-width: 20%; }
}
.stat-icon {
  width:44px; height:44px; border-radius:8px; flex:0 0 44px;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.1rem;
}
.stat-icon.bg-pink   { background:#ec4899; }
.stat-icon.bg-blue    { background:#3b82f6; }
.stat-icon.bg-green   { background:#22c55e; }
.stat-icon.bg-cyan    { background:#06b6d4; }
.stat-icon.bg-yellow  { background:#f59e0b; }
.stat-icon.bg-red     { background:#ef4444; }
