/* Minimal SB Admin 2—like styling to complement Bootstrap 4 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root {
  --primary: #4e73df;
  --primary-dark: #2e59d9;
}

body, .sidebar .sidebar-brand { font-family: 'Inter', 'Nunito', sans-serif; }

.bg-gradient-primary {
  background: linear-gradient(180deg, var(--primary) 10%, var(--primary-dark) 100%) !important;
}

.sidebar { width: 14rem; min-height: 100vh; flex-shrink: 0; }
.sidebar .nav-item .nav-link {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 1rem;
}
.sidebar .nav-item .nav-link i {
  flex-shrink: 0;
  font-size: 1rem;
}
.sidebar .sidebar-brand { height: 4.375rem; font-weight: 800; letter-spacing: .05em; }
.sidebar.toggled { width: 6.5rem; }

/* Ensure high contrast text in the sidebar */
.sidebar.sidebar-dark,
.sidebar.sidebar-dark .sidebar-brand,
.sidebar.sidebar-dark .sidebar-brand .sidebar-brand-text { color: #ffffff; }
.sidebar.sidebar-dark .nav-link,
.sidebar.sidebar-dark .nav-link span,
.sidebar.sidebar-dark .nav-link i { color: rgba(255, 255, 255, 0.9) !important; }
.sidebar.sidebar-dark .nav-link:hover,
.sidebar.sidebar-dark .nav-link:focus { color: #ffffff !important; }
.sidebar .nav-item.active .nav-link,
.sidebar .nav-link.active { color: #ffffff !important; font-weight: 700; }

.sidebar.toggled .sidebar-brand-text,
.sidebar.toggled .nav-item .nav-link span {
  display: none;
}
.sidebar.toggled .nav-item .nav-link {
  justify-content: center;
  padding: 0.75rem 0;
}
.sidebar.toggled .nav-item .nav-link i {
  margin: 0;
  font-size: 1.1rem;
}
.sidebar.toggled .nav-item .nav-link::after {
  display: none;
}

#content-wrapper { min-height: 100vh; width: 100%; }
.topbar { height: 4.375rem; }

.sticky-footer { padding: 1rem 0; }

.scroll-to-top {
  position: fixed; right: 1rem; bottom: 1rem; width: 2.75rem; height: 2.75rem;
  text-align: center; color: #fff; background: rgba(90, 92, 105, .5);
  line-height: 46px; display: none;
}
.scroll-to-top:hover { color: #fff; }

/* Utility colors similar to SB Admin 2 */
.text-gray-600 { color: #858796 !important; }
.text-gray-400 { color: #d1d3e2 !important; }
.text-gray-300 { color: #dddfeb !important; }
.text-gray-800 { color: #5a5c69 !important; }

/* Cards nicety */
.card { border: 0; box-shadow: 0 .15rem 1.75rem 0 rgba(58,59,69,.15); }

/* Table tweaks */
.table thead th { border-bottom-width: 1px; font-weight: 700; }

/* Sidebar toggle button */
#sidebarToggle { width: 2rem; height: 2rem; background-color: rgba(255,255,255,.2); }
#sidebarToggle:focus { outline: none; }

/* SB-like stat cards */
.border-left-primary { border-left: .25rem solid #4e73df !important; }
.border-left-success { border-left: .25rem solid #1cc88a !important; }
.border-left-info { border-left: .25rem solid #36b9cc !important; }
.border-left-warning { border-left: .25rem solid #f6c23e !important; }
.text-primary { color: #4e73df !important; }
.text-success { color: #1cc88a !important; }
.text-info { color: #36b9cc !important; }
.text-warning { color: #f6c23e !important; }
.font-weight-bold { font-weight: 700 !important; }
.text-xs { font-size: .7rem; }
