/* FILE PATH: template/css/custom.css */
/* ============================================================
   UTOOLSPRO — Design System v2.0  (SESSION 2 FIX)
   FIXES: Sidebar active color, global page styling
   ============================================================ */

/* ------------------------------------------------------------
   1. DESIGN TOKENS
   ------------------------------------------------------------ */
:root {
  --brand-primary:       #6C5CE7;
  --brand-primary-hover: #5A4BD1;
  --brand-primary-light: #EEF0FF;
  --brand-primary-rgb:   108, 92, 231;

  --brand-secondary:     #00B894;
  --brand-secondary-hover: #00A381;
  --brand-secondary-light: #E0F9F4;

  --brand-accent:        #FDCB6E;
  --brand-danger:        #E17055;
  --brand-danger-light:  #FFF0EC;
  --brand-info:          #0984E3;
  --brand-info-light:    #EBF5FF;
  --brand-warning:       #FDCB6E;
  --brand-warning-light: #FFF8E7;
  --brand-success:       #00B894;
  --brand-success-light: #E0F9F4;

  --gray-50:  #F8F9FC;
  --gray-100: #F1F3F8;
  --gray-200: #E4E7EF;
  --gray-300: #CDD2E0;
  --gray-400: #9BA3BB;
  --gray-500: #6B7490;
  --gray-600: #4A5168;
  --gray-700: #323849;
  --gray-800: #1E2232;
  --gray-900: #12141E;

  --sidebar-bg:          #16213e;
  --sidebar-width:       260px;
  --sidebar-text:        rgba(255,255,255,0.6);
  --sidebar-text-hover:  #ffffff;
  --sidebar-item-hover:  rgba(255,255,255,0.07);
  --sidebar-item-active-bg: rgba(108,92,231,0.45);
  --sidebar-item-active-text: #ffffff;
  --sidebar-border:      rgba(255,255,255,0.07);
  --sidebar-section-label: rgba(255,255,255,0.3);

  --header-bg:           #FFFFFF;
  --header-border:       #E4E7EF;
  --header-height:       64px;

  --card-bg:             #FFFFFF;
  --card-border:         #E4E7EF;
  --card-radius:         14px;
  --card-shadow:         0 1px 3px rgba(0,0,0,0.06), 0 1px 8px rgba(0,0,0,0.04);
  --card-shadow-hover:   0 4px 16px rgba(108,92,231,0.10), 0 2px 8px rgba(0,0,0,0.06);

  --page-bg:             #F4F5FB;

  --font-main:           'Plus Jakarta Sans', 'DM Sans', system-ui, sans-serif;

  --radius-sm:  6px;
  --radius-md:  10px;
  --radius-lg:  14px;
  --radius-xl:  20px;
  --radius-pill: 999px;

  --transition-fast:   0.15s ease;
  --transition-normal: 0.25s ease;
}

/* ------------------------------------------------------------
   2. GOOGLE FONTS
   ------------------------------------------------------------ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

/* ------------------------------------------------------------
   3. BASE
   ------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--font-main) !important;
  background-color: var(--page-bg) !important;
  color: var(--gray-700) !important;
  font-size: 14px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* ------------------------------------------------------------
   4. SIDEBAR — FORCED OVERRIDES (fixes blue active issue)
   ------------------------------------------------------------ */
.left-sidebar,
.left-sidebar .sidebar-nav,
.left-sidebar .simplebar-content-wrapper,
.left-sidebar .simplebar-content {
  background: var(--sidebar-bg) !important;
  background-color: var(--sidebar-bg) !important;
}

.left-sidebar {
  border-right: 1px solid var(--sidebar-border) !important;
  box-shadow: none !important;
  width: var(--sidebar-width) !important;
}

/* Brand area */
.brand-logo,
.navbar-brand {
  padding: 20px 20px 16px !important;
  border-bottom: 1px solid var(--sidebar-border) !important;
}

/* Section labels */
.nav-small-cap,
.sidebar-nav .nav-small-cap {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--sidebar-section-label) !important;
  padding: 16px 20px 6px !important;
}

/* Every nav item wrapper */
#sidebarnav .sidebar-item,
.sidebar-nav ul .sidebar-item {
  margin: 1px 10px !important;
  list-style: none !important;
}

/* ============================================================
   THE NUCLEAR FIX: Kill ALL Bootstrap/Modernize active states
   ============================================================ */

/* Base — ALL sidebar links */
#sidebarnav .sidebar-item > .sidebar-link,
#sidebarnav .sidebar-item > a,
.sidebar-nav ul li > .sidebar-link,
.sidebar-nav ul li > a,
#sidebarnav li > a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 12px !important;
  border-radius: var(--radius-md) !important;
  color: var(--sidebar-text) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  transition: background var(--transition-fast), color var(--transition-fast) !important;
  white-space: nowrap;
  overflow: hidden;
}

/* Hover */
#sidebarnav .sidebar-item > .sidebar-link:hover,
#sidebarnav .sidebar-item > a:hover,
.sidebar-nav ul li > .sidebar-link:hover {
  background: var(--sidebar-item-hover) !important;
  background-color: var(--sidebar-item-hover) !important;
  background-image: none !important;
  color: var(--sidebar-item-active-text) !important;
}

/* ACTIVE — every class combo the Modernize theme could produce */
#sidebarnav .sidebar-item > .sidebar-link.active,
#sidebarnav .sidebar-item > a.active,
#sidebarnav .sidebar-item.selected > .sidebar-link,
#sidebarnav .sidebar-item.selected > a,
#sidebarnav .sidebar-item.active > .sidebar-link,
#sidebarnav .sidebar-item.active > a,
.sidebar-nav ul li.selected > .sidebar-link,
.sidebar-nav ul li.active > .sidebar-link,
.sidebar-nav ul li > .sidebar-link.active,
#sidebarnav > li.active > a,
#sidebarnav > li.selected > a,
#sidebarnav li.active > a,
#sidebarnav li.selected > a,
.sidebar-nav .nav-pills .nav-link.active,
.sidebar-nav .nav .nav-link.active,
.left-sidebar .nav-pills .nav-link.active,
.left-sidebar .nav .active > a,
.sidebar-item.active .sidebar-link,
li.sidebar-item.active > a.sidebar-link {
  background: var(--sidebar-item-active-bg) !important;
  background-color: var(--sidebar-item-active-bg) !important;
  background-image: none !important;
  color: var(--sidebar-item-active-text) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  border: none !important;
}

/* Icons inside nav items */
#sidebarnav .sidebar-item .sidebar-link i,
#sidebarnav .sidebar-item .sidebar-link svg,
#sidebarnav .sidebar-item .sidebar-link .ti,
#sidebarnav .sidebar-item .sidebar-link span[class*="ti-"] {
  width: 18px !important;
  min-width: 18px !important;
  font-size: 15px !important;
  color: inherit !important;
}

/* Submenu */
#sidebarnav .sidebar-item .first-level {
  background: var(--gray-50) !important;
  border-radius: var(--radius-md) !important;
  margin: 2px 0 !important;
  padding: 4px 0 !important;
}

#sidebarnav .sidebar-item .first-level .sidebar-item .sidebar-link {
  padding: 7px 12px 7px 38px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--gray-500) !important;
  background: transparent !important;
}

#sidebarnav .sidebar-item .first-level .sidebar-item .sidebar-link:hover,
#sidebarnav .sidebar-item .first-level .sidebar-item .sidebar-link.active {
  color: var(--brand-primary) !important;
  background: var(--brand-primary-light) !important;
}

/* ------------------------------------------------------------
   5. TOP HEADER
   ------------------------------------------------------------ */
.app-header,
header.app-header {
  background: var(--header-bg) !important;
  background-color: var(--header-bg) !important;
  border-bottom: 1px solid var(--header-border) !important;
  box-shadow: none !important;
  height: var(--header-height) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}

.app-header .navbar {
  height: var(--header-height) !important;
  padding: 0 20px !important;
  background: transparent !important;
}

.app-header .nav-icon-hover {
  width: 36px;
  height: 36px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--radius-md) !important;
  color: var(--gray-500) !important;
  transition: background var(--transition-fast), color var(--transition-fast) !important;
}

.app-header .nav-icon-hover:hover {
  background: var(--gray-100) !important;
  color: var(--brand-primary) !important;
}

.app-header .user-profile-img img {
  border: 2px solid var(--gray-200) !important;
}

.content-dd.dropdown-menu {
  border: 1px solid var(--card-border) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.10) !important;
}

.form-check-input:checked {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

/* Maintenance badge in header */
.maintenance-label,
.header-maintenance span {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--gray-600) !important;
}

/* ------------------------------------------------------------
   6. PAGE LAYOUT
   ------------------------------------------------------------ */
.page-wrapper,
.body-wrapper {
  background: var(--page-bg) !important;
  background-color: var(--page-bg) !important;
}

.body-wrapper > .container-fluid {
  padding: 20px 24px !important;
}

/* Page breadcrumb */
.page-wrapper .page-breadcrumb {
  padding: 14px 24px !important;
  background: transparent !important;
}

.breadcrumb-item a {
  color: var(--brand-primary) !important;
  text-decoration: none !important;
  font-size: 13px !important;
}

.breadcrumb-item.active {
  color: var(--gray-500) !important;
  font-size: 13px !important;
}

/* ------------------------------------------------------------
   7. CARDS
   ------------------------------------------------------------ */
.card {
  background: var(--card-bg) !important;
  border: 1px solid var(--card-border) !important;
  border-radius: var(--card-radius) !important;
  box-shadow: var(--card-shadow) !important;
  margin-bottom: 20px !important;
  transition: box-shadow var(--transition-normal), transform var(--transition-normal) !important;
}

.card:hover {
  box-shadow: var(--card-shadow-hover) !important;
}

.card-body { padding: 20px !important; }

.card-header {
  background: transparent !important;
  border-bottom: 1px solid var(--card-border) !important;
  padding: 16px 20px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: var(--gray-800) !important;
}

.card-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--gray-800) !important;
  margin-bottom: 4px !important;
}

.card.bg-light-success {
  background: #FFFFFF !important;
  border-color: var(--card-border) !important;
}

.card.bg-light-primary {
  background: var(--brand-primary-light) !important;
  border-color: rgba(108,92,231,0.15) !important;
}

.card.bg-light-warning {
  background: var(--brand-warning-light) !important;
  border-color: rgba(253,203,110,0.25) !important;
}

.card.bg-light-danger {
  background: var(--brand-danger-light) !important;
  border-color: rgba(225,112,85,0.2) !important;
}

.card.bg-light-info {
  background: var(--brand-info-light) !important;
  border-color: rgba(9,132,227,0.15) !important;
}

.round {
  width: 46px !important;
  height: 46px !important;
  border-radius: var(--radius-md) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.round.bg-primary { background: var(--brand-primary) !important; }
.round.bg-success { background: var(--brand-secondary) !important; }
.round.bg-warning { background: var(--brand-accent) !important; }
.round.bg-danger  { background: var(--brand-danger) !important; }
.round.bg-info    { background: var(--brand-info) !important; }

/* ------------------------------------------------------------
   8. BUTTONS
   ------------------------------------------------------------ */
.btn {
  font-family: var(--font-main) !important;
  font-weight: 500 !important;
  font-size: 13.5px !important;
  border-radius: var(--radius-md) !important;
  padding: 8px 18px !important;
  transition: all var(--transition-fast) !important;
}

.btn-primary {
  background: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  color: #fff !important;
}
.btn-primary:hover, .btn-primary:focus {
  background: var(--brand-primary-hover) !important;
  border-color: var(--brand-primary-hover) !important;
  box-shadow: 0 4px 12px rgba(108,92,231,0.3) !important;
  transform: translateY(-1px);
}

.btn-success {
  background: var(--brand-secondary) !important;
  border-color: var(--brand-secondary) !important;
  color: #fff !important;
}
.btn-success:hover {
  background: var(--brand-secondary-hover) !important;
  box-shadow: 0 4px 12px rgba(0,184,148,0.3) !important;
  transform: translateY(-1px);
}

.btn-danger {
  background: var(--brand-danger) !important;
  border-color: var(--brand-danger) !important;
  color: #fff !important;
}
.btn-danger:hover {
  box-shadow: 0 4px 12px rgba(225,112,85,0.3) !important;
  transform: translateY(-1px);
}

.btn-warning {
  background: var(--brand-accent) !important;
  border-color: var(--brand-accent) !important;
  color: #7a5a00 !important;
}

.btn-info {
  background: var(--brand-info) !important;
  border-color: var(--brand-info) !important;
  color: #fff !important;
}

.btn-outline-primary {
  color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  background: transparent !important;
}
.btn-outline-primary:hover {
  background: var(--brand-primary) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(108,92,231,0.25) !important;
}

.btn-sm { font-size: 12px !important; padding: 5px 12px !important; }
.btn-lg { font-size: 15px !important; padding: 11px 24px !important; }

/* ------------------------------------------------------------
   9. FORMS
   ------------------------------------------------------------ */
.form-control,
.form-select {
  font-family: var(--font-main) !important;
  font-size: 13.5px !important;
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-md) !important;
  padding: 9px 14px !important;
  color: var(--gray-700) !important;
  background: #FFFFFF !important;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast) !important;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--brand-primary) !important;
  box-shadow: 0 0 0 3px rgba(108,92,231,0.12) !important;
  outline: none !important;
}

.form-control::placeholder { color: var(--gray-400) !important; }

.form-label {
  font-weight: 500 !important;
  font-size: 13px !important;
  color: var(--gray-600) !important;
  margin-bottom: 6px !important;
}

.input-group-text {
  background: var(--gray-50) !important;
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-md) !important;
  color: var(--gray-500) !important;
}

/* ------------------------------------------------------------
   10. TABLES
   ------------------------------------------------------------ */
.table {
  font-size: 13.5px !important;
  color: var(--gray-700) !important;
}

.table thead th {
  font-weight: 600 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--gray-400) !important;
  background: var(--gray-50) !important;
  border-bottom: 1px solid var(--gray-200) !important;
  padding: 12px 16px !important;
  white-space: nowrap;
}

.table tbody tr:hover td {
  background: var(--gray-50) !important;
}

.table tbody td {
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--gray-100) !important;
  vertical-align: middle !important;
}

.table-responsive {
  overflow-x: auto !important;
  border-radius: var(--radius-lg) !important;
}

/* DataTables */
.dataTables_wrapper .dataTables_filter input {
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-md) !important;
  padding: 7px 12px !important;
  font-size: 13px !important;
}

.dataTables_wrapper .dataTables_length select {
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-md) !important;
  padding: 5px 10px !important;
}

.pagination_container .dataTables_paginate .paginate_button {
  padding: 6px 13px !important;
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-md) !important;
  font-size: 13px !important;
}

.pagination_container .dataTables_paginate .paginate_button.current,
.pagination_container .dataTables_paginate .paginate_button.current:hover {
  color: #fff !important;
  background: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

.pagination_container .dataTables_paginate .paginate_button:hover {
  background: var(--brand-primary-light) !important;
  color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

/* ------------------------------------------------------------
   11. BADGES
   ------------------------------------------------------------ */
.badge {
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 4px 9px !important;
  border-radius: var(--radius-pill) !important;
}

.badge.bg-primary  { background: var(--brand-primary) !important; }
.badge.bg-success  { background: var(--brand-secondary) !important; }
.badge.bg-danger   { background: var(--brand-danger) !important; }
.badge.bg-warning  { background: var(--brand-accent) !important; color: #7a5a00 !important; }
.badge.bg-info     { background: var(--brand-info) !important; }

.badge.bg-light-primary { background: var(--brand-primary-light) !important; color: var(--brand-primary) !important; }
.badge.bg-light-success { background: var(--brand-secondary-light) !important; color: var(--brand-secondary) !important; }
.badge.bg-light-danger  { background: var(--brand-danger-light) !important; color: var(--brand-danger) !important; }
.badge.bg-light-warning { background: var(--brand-warning-light) !important; color: #a06500 !important; }
.badge.bg-light-info    { background: var(--brand-info-light) !important; color: var(--brand-info) !important; }

/* ------------------------------------------------------------
   12. SWEETALERT2
   ------------------------------------------------------------ */
.swal2-popup {
  border-radius: var(--radius-xl) !important;
  font-family: var(--font-main) !important;
  padding: 32px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15) !important;
}

.swal2-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--gray-800) !important;
}

.swal2-html-container {
  font-size: 14px !important;
  color: var(--gray-500) !important;
  line-height: 1.6 !important;
}

.swal2-confirm {
  background: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  border-radius: var(--radius-md) !important;
  font-family: var(--font-main) !important;
  font-weight: 600 !important;
  padding: 10px 24px !important;
  box-shadow: 0 4px 12px rgba(108,92,231,0.3) !important;
}

.swal2-confirm:hover {
  background: var(--brand-primary-hover) !important;
  transform: translateY(-1px) !important;
}

.swal2-cancel {
  background: var(--gray-100) !important;
  color: var(--gray-600) !important;
  border-radius: var(--radius-md) !important;
  font-family: var(--font-main) !important;
  font-weight: 500 !important;
  padding: 10px 24px !important;
  border: none !important;
}

.swal2-icon.swal2-success { border-color: var(--brand-secondary) !important; color: var(--brand-secondary) !important; }
.swal2-icon.swal2-success .swal2-success-ring { border-color: rgba(0,184,148,0.2) !important; }
.swal2-icon.swal2-error   { border-color: var(--brand-danger) !important; color: var(--brand-danger) !important; }
.swal2-icon.swal2-warning { border-color: var(--brand-accent) !important; color: var(--brand-accent) !important; }

/* Toast */
.toast {
  margin-bottom: 8px !important;
  border-radius: var(--radius-lg) !important;
  border: none !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
  font-family: var(--font-main) !important;
  font-size: 13.5px !important;
}

/* ------------------------------------------------------------
   13. DROPDOWNS
   ------------------------------------------------------------ */
.dropdown-menu {
  border: 1px solid var(--card-border) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: 0 8px 28px rgba(0,0,0,0.10) !important;
  padding: 6px !important;
  font-family: var(--font-main) !important;
  font-size: 13.5px !important;
}

.dropdown-item {
  border-radius: var(--radius-md) !important;
  padding: 8px 12px !important;
  color: var(--gray-700) !important;
  font-weight: 500 !important;
  transition: background var(--transition-fast), color var(--transition-fast) !important;
}

.dropdown-item:hover {
  background: var(--brand-primary-light) !important;
  color: var(--brand-primary) !important;
}

.dropdown-item.text-danger:hover {
  background: var(--brand-danger-light) !important;
  color: var(--brand-danger) !important;
}

.dropdown-divider {
  border-color: var(--gray-100) !important;
  margin: 4px 0 !important;
}

/* ------------------------------------------------------------
   14. MODALS
   ------------------------------------------------------------ */
.modal-content {
  border-radius: var(--radius-xl) !important;
  border: 1px solid var(--card-border) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15) !important;
  font-family: var(--font-main) !important;
}

.modal-header {
  border-bottom: 1px solid var(--gray-100) !important;
  padding: 20px 24px !important;
}

.modal-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--gray-800) !important;
}

.modal-body {
  padding: 20px 24px !important;
  font-size: 14px !important;
  color: var(--gray-600) !important;
}

.modal-footer {
  border-top: 1px solid var(--gray-100) !important;
  padding: 16px 24px !important;
}

/* ------------------------------------------------------------
   15. SELECT2
   ------------------------------------------------------------ */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-md) !important;
  min-height: 40px !important;
  font-family: var(--font-main) !important;
  font-size: 13.5px !important;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: var(--brand-primary) !important;
  box-shadow: 0 0 0 3px rgba(108,92,231,0.12) !important;
}

.select2-dropdown {
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.10) !important;
  font-family: var(--font-main) !important;
}

.select2-container--default .select2-results__option--highlighted {
  background: var(--brand-primary) !important;
}

/* ------------------------------------------------------------
   16. CUSTOM SWITCHES
   ------------------------------------------------------------ */
.switchToggleYesNo input[type=checkbox] { height: 0; width: 0; visibility: hidden; position: absolute; }
.switchToggleYesNo label {
  cursor: pointer; text-indent: -9999px;
  width: 70px; height: 30px;
  background: var(--brand-danger); display: block;
  border-radius: 100px; position: relative; transition: background 0.3s;
}
.switchToggleYesNo label:after {
  content: ''; position: absolute; top: 2px; left: 2px;
  width: 26px; height: 26px; background: #fff;
  border-radius: 90px; transition: 0.3s;
}
.switchToggleYesNo input:checked + label { background: var(--brand-primary) !important; }
.switchToggleYesNo input + label:before {
  content: 'No'; position: absolute; top: 5px; left: 35px;
  width: 26px; height: 26px; border-radius: 90px;
  transition: 0.3s; text-indent: 0; color: #fff; font-size: 12px;
}
.switchToggleYesNo input:checked + label:before { content: 'Yes'; left: 10px; }
.switchToggleYesNo input:checked + label:after { left: calc(100% - 2px); transform: translateX(-100%); }

.switchToggleStatus input[type=checkbox] { height: 0; width: 0; visibility: hidden; position: absolute; }
.switchToggleStatus label {
  cursor: pointer; text-indent: -9999px;
  max-width: 110px; height: 30px;
  background: var(--brand-danger); display: block;
  border-radius: 100px; position: relative; transition: background 0.3s;
}
.switchToggleStatus label:after {
  content: ''; position: absolute; top: 2px; left: 2px;
  width: 26px; height: 26px; background: #fff;
  border-radius: 90px; transition: 0.3s;
}
.switchToggleStatus input:checked + label { background: var(--brand-primary) !important; }
.switchToggleStatus input + label:before {
  content: 'Disabled'; position: absolute; top: 5px; left: 35px;
  height: 26px; border-radius: 90px; transition: 0.3s;
  text-indent: 0; color: #fff; font-size: 11px;
}
.switchToggleStatus input:checked + label:before { content: 'Active'; left: 10px; }
.switchToggleStatus input:checked + label:after { left: calc(100% - 2px); transform: translateX(-100%); }

/* ------------------------------------------------------------
   17. PRELOADER
   ------------------------------------------------------------ */
.preloader {
  position: fixed; inset: 0; z-index: 99999;
  background: #FFFFFF;
  display: flex; align-items: center; justify-content: center;
  flex-direction: column; gap: 20px; transition: opacity 0.4s ease;
}

.preloader::after {
  content: ''; width: 36px; height: 36px;
  border: 3px solid var(--gray-200);
  border-top-color: var(--brand-primary);
  border-radius: 50%;
  animation: spin 0.75s linear infinite;
}

@keyframes spin { to { transform: rotate(360deg); } }

/* ------------------------------------------------------------
   18. SCROLLBAR
   ------------------------------------------------------------ */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--gray-300); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: var(--gray-400); }

/* ------------------------------------------------------------
   19. UTILITIES
   ------------------------------------------------------------ */
.text-primary { color: var(--brand-primary) !important; }
.text-success { color: var(--brand-secondary) !important; }
.text-danger  { color: var(--brand-danger) !important; }
.text-warning { color: #a06500 !important; }
.text-info    { color: var(--brand-info) !important; }
.text-muted   { color: var(--gray-400) !important; }

.bg-primary { background: var(--brand-primary) !important; }
.bg-success { background: var(--brand-secondary) !important; }
.bg-danger  { background: var(--brand-danger) !important; }

.fw-semibold { font-weight: 600 !important; }
.fw-bold     { font-weight: 700 !important; }

.rounded     { border-radius: var(--radius-md) !important; }
.rounded-lg  { border-radius: var(--radius-lg) !important; }
.rounded-pill{ border-radius: var(--radius-pill) !important; }

.section-title {
  font-size: 18px; font-weight: 700;
  color: var(--gray-800); margin-bottom: 4px;
}

.section-subtitle {
  font-size: 13px; color: var(--gray-400); margin-bottom: 20px;
}

/* ------------------------------------------------------------
   20. RESPONSIVE
   ------------------------------------------------------------ */
@media (max-width: 768px) {
  .body-wrapper > .container-fluid { padding: 14px 16px !important; }
  .card-body { padding: 16px !important; }
}

/* ------------------------------------------------------------
   21. EXACT SIDEBAR ACTIVE FIX
   Source: style.min.css line 11 — overriding #5d87ff blue
   Exact selectors copied from browser DevTools
   ------------------------------------------------------------ */

/* THE exact rule from style.min.css that causes the blue — overridden */
.sidebar-nav ul .sidebar-item.selected > .sidebar-link,
.sidebar-nav ul .sidebar-item.selected > .sidebar-link.active,
.sidebar-nav ul .sidebar-item > .sidebar-link.active {
  background-color: #EEF0FF !important;
  color: #6C5CE7 !important;
}

/* All other sidebar links — default state */
.sidebar-nav ul .sidebar-item > .sidebar-link {
  color: #4A5168 !important;
  background-color: transparent !important;
}

/* Hover state */
.sidebar-nav ul .sidebar-item > .sidebar-link:hover {
  background-color: #EEF0FF !important;
  color: #6C5CE7 !important;
}

/* Icons always inherit color from parent link */
.sidebar-nav ul .sidebar-item > .sidebar-link i {
  color: inherit !important;
}

/* ------------------------------------------------------------
   22. GLASS SIDEBAR — Full dark glass redesign
   Overrides ALL theme active states by using dark background
   The theme's #5d87ff blue is invisible on dark bg anyway
   ------------------------------------------------------------ */

/* Main sidebar shell — dark glass */
.left-sidebar,
.left-sidebar > div,
.left-sidebar .sidebar-nav,
.left-sidebar .simplebar-content-wrapper,
.left-sidebar .simplebar-content,
aside.left-sidebar {
  background: #16213e !important;
  background-color: #16213e !important;
  background-image: none !important;
  border-right: 1px solid rgba(255,255,255,0.06) !important;
  box-shadow: 4px 0 24px rgba(0,0,0,0.18) !important;
}

/* Logo area */
.left-sidebar .brand-logo {
  background: #16213e !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  padding: 18px 20px !important;
}

/* Invert logo to white if needed */
.left-sidebar .brand-logo .dark-logo {
  filter: brightness(0) invert(1) !important;
  opacity: 0.9;
}
.left-sidebar .brand-logo .light-logo {
  filter: brightness(0) invert(1) !important;
  opacity: 0.9;
}

/* Section labels */
.left-sidebar .nav-small-cap {
  color: rgba(255,255,255,0.28) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 16px 20px 6px !important;
}

/* Nav item spacing */
.left-sidebar #sidebarnav .sidebar-item,
.left-sidebar .sidebar-nav ul .sidebar-item {
  margin: 1px 8px !important;
  list-style: none !important;
}

/* ALL sidebar links — base state */
.left-sidebar .sidebar-nav ul .sidebar-item > .sidebar-link,
.left-sidebar .sidebar-nav ul .sidebar-item > a,
.left-sidebar #sidebarnav li > a,
.left-sidebar #sidebarnav .sidebar-link {
  color: rgba(255,255,255,0.6) !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-radius: 10px !important;
  padding: 9px 12px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  transition: all 0.15s ease !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  box-shadow: none !important;
  border: none !important;
  text-decoration: none !important;
}

/* Hover */
.left-sidebar .sidebar-nav ul .sidebar-item > .sidebar-link:hover,
.left-sidebar .sidebar-nav ul .sidebar-item > a:hover,
.left-sidebar #sidebarnav li > a:hover {
  color: #ffffff !important;
  background: rgba(255,255,255,0.07) !important;
  background-color: rgba(255,255,255,0.07) !important;
  background-image: none !important;
}

/* ACTIVE — glass purple pill — beats #5d87ff completely */
.left-sidebar .sidebar-nav ul .sidebar-item.selected > .sidebar-link,
.left-sidebar .sidebar-nav ul .sidebar-item.selected > .sidebar-link.active,
.left-sidebar .sidebar-nav ul .sidebar-item > .sidebar-link.active,
.left-sidebar .sidebar-nav ul .sidebar-item.active > .sidebar-link,
.left-sidebar #sidebarnav li.selected > a,
.left-sidebar #sidebarnav li.active > a,
.left-sidebar #sidebarnav .sidebar-item.selected > .sidebar-link {
  color: #ffffff !important;
  background: rgba(108,92,231,0.45) !important;
  background-color: rgba(108,92,231,0.45) !important;
  background-image: none !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 12px rgba(108,92,231,0.25) !important;
  border: none !important;
}

/* Icons always inherit */
.left-sidebar .sidebar-nav ul .sidebar-item .sidebar-link i,
.left-sidebar #sidebarnav .sidebar-link i {
  color: inherit !important;
  font-size: 15px !important;
}

/* Submenu background */
.left-sidebar #sidebarnav .sidebar-item .first-level {
  background: rgba(0,0,0,0.15) !important;
  border-radius: 10px !important;
  margin: 2px 0 !important;
  padding: 4px 0 !important;
}

.left-sidebar #sidebarnav .sidebar-item .first-level .sidebar-item .sidebar-link {
  color: rgba(255,255,255,0.5) !important;
  background: transparent !important;
  padding: 7px 12px 7px 36px !important;
  font-size: 13px !important;
}

.left-sidebar #sidebarnav .sidebar-item .first-level .sidebar-item .sidebar-link:hover,
.left-sidebar #sidebarnav .sidebar-item .first-level .sidebar-item .sidebar-link.active {
  color: #ffffff !important;
  background: rgba(108,92,231,0.3) !important;
}

/* Sidebar close button (mobile) */
.left-sidebar #sidebarCollapse i {
  color: rgba(255,255,255,0.6) !important;
}

/* Scrollbar on dark sidebar */
.left-sidebar ::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.12) !important;
}