:root {
  --cp-shell-blur: 16px;
  --cp-shell-radius: 14px;
  --cp-shell-card-bg: rgba(255, 255, 255, 0.72);
  --cp-shell-card-border: rgba(255, 255, 255, 0.35);
  --cp-shell-shadow: 0 10px 26px rgba(17, 24, 39, 0.08);
}

[data-bs-theme="dark"] {
  --cp-shell-card-bg: rgba(23, 29, 41, 0.62);
  --cp-shell-card-border: rgba(255, 255, 255, 0.08);
  --cp-shell-shadow: 0 10px 26px rgba(0, 0, 0, 0.35);
}

body {
  background-attachment: fixed;
  background-size: 280px;
}

.card,
.modal-content,
.offcanvas,
.dropdown-menu,
.list-group-item {
  background: var(--cp-shell-card-bg) !important;
  border: 1px solid var(--cp-shell-card-border) !important;
  backdrop-filter: blur(var(--cp-shell-blur)) !important;
  -webkit-backdrop-filter: blur(var(--cp-shell-blur)) !important;
  box-shadow: var(--cp-shell-shadow) !important;
  border-radius: var(--cp-shell-radius) !important;
}

.layout-navbar,
.layout-menu.bg-menu-theme {
  backdrop-filter: blur(calc(var(--cp-shell-blur) + 4px));
  -webkit-backdrop-filter: blur(calc(var(--cp-shell-blur) + 4px));
}

.layout-navbar.bg-navbar-theme {
  background: color-mix(in sRGB, var(--bs-body-bg) 76%, transparent) !important;
  border-bottom: 1px solid color-mix(in sRGB, var(--bs-body-color) 8%, transparent) !important;
}

.layout-menu.bg-menu-theme {
  background: color-mix(in sRGB, var(--bs-body-bg) 82%, transparent) !important;
  border-right: 1px solid color-mix(in sRGB, var(--bs-body-color) 8%, transparent);
}

.menu-vertical .menu-item .menu-link {
  border-radius: 10px;
  margin: 0.18rem 0.8rem;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.menu-vertical .menu-item:not(.active) > .menu-link:hover {
  background: color-mix(in srgb, var(--bs-primary) 12%, transparent) !important;
  transform: translateX(2px);
}

.menu-vertical .menu-item.active > .menu-link {
  background: linear-gradient(135deg, var(--bs-primary) 0%, color-mix(in srgb, var(--bs-primary) 72%, #ffffff) 100%) !important;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--bs-primary) 40%, transparent);
}
