:root {
  --brand-blue: #2563eb;
  --brand-blue-dark: #1d4ed8;
  --brand-blue-darker: #1e3a8a;
  --brand-blue-soft: rgba(37, 99, 235, 0.12);
  --brand-blue-soft-strong: rgba(37, 99, 235, 0.18);
  --brand-gold: #d4a017;
  --brand-gold-dark: #a37a10;
  --brand-gold-soft: rgba(212, 160, 23, 0.18);
  --brand-silver: #c5ccd6;
  --brand-silver-light: #e5e9f1;
  --brand-ink: #0f172a;
  --brand-muted: #6b7280;
  --brand-line: #e5e7eb;

  --blue: var(--brand-blue);
  --blue2: var(--brand-blue-dark);
  --blue-600: var(--brand-blue);
  --blue-800: var(--brand-blue-dark);
  --gold: var(--brand-gold);
  --gold-700: var(--brand-gold-dark);
  --silver: var(--brand-silver);
  --silver-200: var(--brand-silver-light);
  --ink: var(--brand-ink);
  --muted: var(--brand-muted);
  --line: var(--brand-line);

  --sidebar-text: #111827;
  --sidebar-muted: #64748b;
  --sidebar-icon: #475569;
  --sidebar-hover: var(--brand-blue);
  --sidebar-active: var(--brand-blue-dark);
  --sidebar-bg-hover: rgba(37, 99, 235, 0.08);
  --sidebar-bg-active: rgba(37, 99, 235, 0.12);
  --sidebar-bullet: #9aa4b8;
  --sidebar-bullet-hov: var(--brand-blue);
  --sidebar-bullet-act: var(--brand-blue-dark);
  --sidebar-avatar-size: 36px;

  --bs-primary: var(--brand-blue);
  --bs-primary-rgb: 37, 99, 235;
  --bs-link-color: var(--brand-blue);
  --bs-link-hover-color: var(--brand-blue-dark);
  --bs-link-active-color: var(--brand-blue-dark);
  --bs-btn-hover-bg: var(--brand-blue-dark);
  --bs-btn-hover-border-color: var(--brand-blue-dark);
  --bs-btn-active-bg: var(--brand-blue-dark);
  --bs-btn-active-border-color: var(--brand-blue-dark);
}

.sidebar .nav,
.nav-profile-text,
.nav-profile-text .fw-medium,
.nav-profile-text .fw-normal {
  font-family: "Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif !important;
}
.nav-profile-image img {
  width: var(--sidebar-avatar-size);
  height: var(--sidebar-avatar-size);
  border-radius: 50%;
  box-shadow: 0 6px 16px rgba(2, 6, 23, 0.12);
  object-fit: cover;
  display: block;
}
.nav-profile-text .fw-medium {
  color: #0f172a;
  font-weight: 600;
}
.nav-profile-text .fw-normal {
  color: var(--sidebar-muted);
  font-weight: 400;
}

.sidebar .nav .nav-item > .nav-link {
  color: var(--sidebar-text);
  background: transparent;
  border-radius: 8px;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.sidebar .nav .nav-item > .nav-link .menu-icon {
  color: var(--sidebar-icon);
}
.sidebar .nav .nav-item > .nav-link .menu-title {
  color: var(--sidebar-text);
}

.sidebar .nav .nav-item > .nav-link:hover {
  background: var(--sidebar-bg-hover);
  color: var(--sidebar-hover);
}
.sidebar .nav .nav-item > .nav-link:hover .menu-icon,
.sidebar .nav .nav-item > .nav-link:hover .menu-title {
  color: var(--sidebar-hover);
}

.sidebar .nav .nav-item .collapse .sub-menu {
  background: transparent !important;
  padding-left: 1.25rem;
}

.sidebar .nav .sub-menu .nav-item .nav-link {
  position: relative;
  color: var(--sidebar-text);
  background: transparent;
  padding-left: 1.25rem;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.sidebar .nav .sub-menu .nav-item .nav-link:visited {
  color: var(--sidebar-text);
}

.sidebar .nav .sub-menu .nav-item .nav-link::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 9999px;
  background: var(--sidebar-bullet) !important;
  border: 1px solid var(--sidebar-bullet) !important;
  position: absolute;
  left: 0.25rem;
  top: 50%;
  transform: translateY(-50%);
}

.sidebar .nav .sub-menu .nav-item .nav-link:hover,
.sidebar .nav .sub-menu .nav-item .nav-link:focus {
  color: var(--sidebar-hover) !important;
  background: transparent !important;
  text-decoration: none;
}
.sidebar .nav .sub-menu .nav-item .nav-link:hover::before,
.sidebar .nav .sub-menu .nav-item .nav-link:focus::before {
  background: var(--sidebar-bullet-hov) !important;
  border-color: var(--sidebar-bullet-hov) !important;
}
.sidebar .nav .sub-menu .nav-item .nav-link.active,
.sidebar .nav .sub-menu .nav-item .nav-link.active:hover,
.sidebar .nav .sub-menu .nav-item .nav-link.active:focus {
  color: var(--sidebar-active) !important;
  font-weight: 600;
}
.sidebar .nav .sub-menu .nav-item .nav-link.active::before {
  background: var(--sidebar-bullet-act) !important;
  border-color: var(--sidebar-bullet-act) !important;
}

.sidebar .nav .nav-item .menu-arrow {
  color: #94a3b8;
}
.sidebar .nav .nav-item > .nav-link:hover .menu-arrow {
  color: var(--sidebar-hover);
}
.sidebar .nav .nav-item.active > .nav-link .menu-arrow {
  color: var(--sidebar-active);
}

#sidebar .nav .nav-item.nav-profile .nav-profile-image {
  width: var(--sidebar-avatar-size);
  height: var(--sidebar-avatar-size);
  min-width: var(--sidebar-avatar-size);
  min-height: var(--sidebar-avatar-size);
  border-radius: 50%;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #fff;
}
#sidebar .nav .nav-item.nav-profile .nav-profile-image img {
  width: 100%;
  height: 100%;
  border-radius: 50% !important;
  box-shadow: 0 0 0 2px #cdd8ff, 0 0 10px 3px rgba(37, 99, 235, 0.35);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  object-fit: cover;
}

#sidebar .nav .nav-item.nav-profile .nav-profile-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: 10px;
}
#sidebar .nav .nav-item.nav-profile .nav-profile-text .fw-medium {
  font-size: 1rem;
}
#sidebar .nav .nav-item.nav-profile .nav-profile-text .fw-normal {
  font-size: 0.77rem;
}

#sidebar.sidebar-textonly .nav .nav-item.active,
#sidebar.sidebar-textonly .nav .nav-item.active > .nav-link,
#sidebar.sidebar-textonly .nav .nav-item .nav-link.active {
  background: transparent !important;
  box-shadow: none !important;
}

#sidebar.sidebar-textonly .nav .nav-item.active > .nav-link .menu-title,
#sidebar.sidebar-textonly .nav .nav-item .nav-link.active .menu-title,
#sidebar.sidebar-textonly .nav .nav-item.active > .nav-link .menu-icon,
#sidebar.sidebar-textonly .nav .nav-item .nav-link.active .menu-icon {
  color: black;
}
#sidebar.sidebar-textonly .nav .nav-item > .nav-link:hover,
#sidebar.sidebar-textonly .nav .nav-item > .nav-link:focus {
  background: transparent !important;
}

#sidebar.sidebar-textonly .nav .nav-item > .nav-link:hover .menu-title,
#sidebar.sidebar-textonly .nav .nav-item > .nav-link:hover .menu-icon,
#sidebar.sidebar-textonly .nav .nav-item > .nav-link:hover .menu-arrow {
  color: var(--brand-blue) !important;
}

#sidebar.sidebar-textonly .nav .sub-menu .nav-item .nav-link:hover,
#sidebar.sidebar-textonly .nav .sub-menu .nav-item .nav-link:focus {
  background: transparent !important;
  color: var(--brand-blue) !important;
}
#sidebar.sidebar-textonly .nav .sub-menu .nav-item .nav-link:hover::before,
#sidebar.sidebar-textonly .nav .sub-menu .nav-item .nav-link:focus::before {
  background: var(--brand-blue) !important;
  border-color: var(--brand-blue) !important;
}
#sidebar,
#sidebar *,
.main-panel,
.main-panel *,
.content-wrapper,
.content-wrapper *,
.navbar,
.navbar * {
  font-family: "Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI",
    Roboto, Arial, sans-serif !important;
}
.sidebar .nav .nav-item.active > .nav-link {
  background: none;
  color: var(--sidebar-text);
}
.sidebar .nav .nav-item.active > .nav-link .menu-icon {
  color: #000000;
}
.sidebar .nav .nav-item.active > .nav-link .menu-title {
  color: var(--sidebar-text);
}
.sidebar .sub-menu .nav-link {
  color: #1f2937 !important; /* slate-800 */
  display: flex;
  align-items: center;
  padding-left: 1.25rem;
}
.sidebar .sub-menu .nav-link::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #94a3b8;
  border: 1px solid #94a3b8;
  position: absolute;
  left: 0.4rem;
  top: 50%;
  transform: translateY(-50%);
}
.sidebar .sub-menu .nav-link:hover {
  color: var(--brand-blue) !important;
}
.sidebar .sub-menu .nav-link:hover::before {
  background: var(--brand-blue);
  border-color: var(--brand-blue);
}
/* Fix Tailwind vs Bootstrap collapse (scope to the left sidebar only) */
#sidebar .collapse {
  visibility: visible !important;
}
#sidebar .collapse:not(.show) {
  display: none;
} /* keep closed menus hidden */
#sidebar .collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
#notifBadge.d-none {
  display: none !important;
}
