:root,
[data-bs-theme='light'] {
  --bs-primary: #e31c23;
  --bs-primary-rgb: 227, 28, 35;
  --bs-primary-text-emphasis: #8b1216;
  --bs-primary-bg-subtle: #fde8e9;
  --bs-primary-border-subtle: #f5b4b6;
  --bs-link-color: #e31c23;
  --bs-link-color-rgb: 227, 28, 35;
  --bs-link-hover-color: #c4181e;
  --bs-link-hover-color-rgb: 196, 24, 30;
}

[data-bs-theme='dark'] {
  --bs-primary: #e31c23;
  --bs-primary-rgb: 227, 28, 35;
  --bs-primary-text-emphasis: #f08084;
  --bs-primary-bg-subtle: #4a1c1e;
  --bs-primary-border-subtle: #6b2a2d;
  --bs-link-color: #f08084;
  --bs-link-color-rgb: 240, 128, 132;
  --bs-link-hover-color: #e31c23;
  --bs-link-hover-color-rgb: 227, 28, 35;
}

.btn-primary {
  --bs-btn-bg: #e31c23;
  --bs-btn-border-color: #e31c23;
  --bs-btn-hover-bg: #c4181e;
  --bs-btn-hover-border-color: #c4181e;
  --bs-btn-active-bg: #b0161b;
  --bs-btn-active-border-color: #b0161b;
}

.text-primary {
  color: #e31c23 !important;
}

.bg-label-primary {
  background-color: rgba(227, 28, 35, 0.16) !important;
  color: #e31c23 !important;
}

:root,
[data-bs-theme='light'],
[data-bs-theme='dark'] {
  --bs-primary-contrast: #fff;
  --bs-menu-active-color: #fff;
}

.layout-menu .menu-item.active > .menu-link,
.layout-menu .menu-item.active > .menu-link:hover,
.layout-menu .menu-item.active > .menu-link:focus,
.layout-menu .menu-item.active > .menu-link:not(.menu-toggle) {
  color: #fff !important;
}

.layout-menu .menu-item.active > .menu-link > div,
.layout-menu .menu-item.active > .menu-link .menu-icon,
.layout-menu .menu-item.active > .menu-link .icon-base {
  color: #fff !important;
}

.select2-wrapper .select2-container {
  width: 100% !important;
}

.mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.85rem;
}

.menu .app-brand.demo {
  height: 64px;
}

.app-brand-logo.demo img,
.app-brand-logo.demo svg {
  width: 32px;
  height: 32px;
  display: block;
  border-radius: 8px;
}

.app-brand-text.demo {
  font-size: 1.375rem;
}

.layout-navbar-fixed .layout-wrapper:not(.layout-without-menu) .layout-page {
  padding-top: 64px !important;
}

.layout-navbar-fixed .layout-wrapper:not(.layout-horizontal):not(.layout-without-menu) .layout-page {
  padding-top: 72px !important;
}

html, body {
  overflow-x: hidden;
  max-width: 100vw;
}

.layout-page {
  overflow-x: hidden;
}

.content-wrapper {
  overflow-x: hidden;
}

.table-responsive {
  -webkit-overflow-scrolling: touch;
}

.btn-icon {
  width: 32px;
  height: 32px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-icon .icon-base {
  font-size: 1rem;
}

.btn-group .btn-icon + .btn-icon {
  margin-left: -1px;
}
