nav#sidebar .sidebar-link,
nav#sidebar a.sidebar-link {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
nav#sidebar .sidebar-link:focus {
  outline: none;
}

main.login, footer#footer, header#header, nav#sidebar, main.content {
  background-color: white;
  background-image: url("/assets/images/background.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}
main.disable.login, footer.disable#footer, header.disable#header, nav.disable#sidebar, main.disable.content {
  overflow-y: hidden;
}

*,
::after,
::before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  outline: none;
  border: none;
  padding: 0;
  margin: 0;
}

html {
  height: 100%;
  direction: ltr;
  scrollbar-gutter: stable;
  font-size: 14px;
}
@media (min-width: 576px) {
  html {
    font-size: 14.5px;
  }
}
@media (min-width: 768px) {
  html {
    font-size: 15px;
  }
}
@media (min-width: 992px) {
  html {
    font-size: 16px;
  }
}
@media (min-width: 1200px) {
  html {
    font-size: 16.5px;
  }
}
@media (min-width: 1400px) {
  html {
    font-size: 17px;
  }
}
@media (min-width: 1920px) {
  html {
    font-size: 18px;
  }
}

body {
  height: 100%;
  min-height: 100%;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

:root {
  --color-primary: #1a4a8a;
  --sidebar-primary: #1a4a8a;
  --sidebar-primary-dark: rgb(7.0253467241%, 19.9952175992%, 37.2883787661%);
  --sidebar-primary-darker: rgb(5.4399808704%, 15.4830224773%, 28.8737446198%);
  --sidebar-primary-light: rgb(11.781444285%, 33.5318029651%, 62.5322812052%);
  --sidebar-primary-lighter: rgb(13.3668101387%, 38.043998087%, 70.9469153515%);
  --header-primary: #1a4a8a;
  --header-primary-dark: var(--sidebar-primary-dark);
  --header-primary-darker: var(--sidebar-primary-darker);
  --header-primary-light: var(--sidebar-primary-light);
  --header-primary-lighter: var(--sidebar-primary-lighter);
  --footer-primary: #1a4a8a;
  --table-primary: #1a4a8a;
  --table-primary-light: rgb(11.781444285%, 33.5318029651%, 62.5322812052%);
  --table-primary-background: rgba(26, 74, 138, 0.15);
}

body[data-panel=user] {
  --color-primary: #0f6b7a;
  --sidebar-primary: #0f6b7a;
  --sidebar-primary-dark: rgb(3.6925719193%, 26.3403463575%, 30.0329182768%);
  --sidebar-primary-darker: rgb(2.5976814083%, 18.5301273794%, 21.1278087877%);
  --sidebar-primary-light: rgb(6.9772434521%, 49.7710032918%, 56.748246744%);
  --sidebar-primary-lighter: rgb(8.0721339631%, 57.5812222699%, 65.653356233%);
  --header-primary: #0f6b7a;
  --header-primary-dark: var(--sidebar-primary-dark);
  --header-primary-darker: var(--sidebar-primary-darker);
  --header-primary-light: var(--sidebar-primary-light);
  --header-primary-lighter: var(--sidebar-primary-lighter);
  --footer-primary: #0f6b7a;
  --table-primary: #0f6b7a;
  --table-primary-light: rgb(6.9772434521%, 49.7710032918%, 56.748246744%);
  --table-primary-background: rgba(15, 107, 122, 0.15);
}

main.content {
  padding: 1rem;
}
@media (min-width: 768px) {
  main.content {
    padding: 1.5rem 1.5rem 0.75rem;
  }
}
main.content > .heading {
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  main.content > .heading {
    margin-bottom: 2rem;
  }
}
main.content > .heading .page-title {
  font-size: 1rem;
}
@media (min-width: 576px) {
  main.content > .heading .page-title {
    font-size: 1.2rem;
  }
}
@media (min-width: 768px) {
  main.content > .heading .page-title {
    font-size: 1.3rem;
  }
}
main.content > .heading .breadcrumb {
  font-size: 0.8rem;
}
main.content > .heading .breadcrumb .breadcrumb-item:first-child:before {
  display: inline-block;
  padding-inline: 0.5rem;
  color: #6c757d;
  content: "/";
}
main.content .card {
  background-color: rgba(240, 240, 240, 0.7);
}
main.content .card .card-header {
  background-color: rgba(96.1176470588%, 96.1176470588%, 96.1176470588%, 0.7);
  box-shadow: 0 1px 2px rgba(79.1176470588%, 79.1176470588%, 79.1176470588%, 0.7);
}
main.content .card .card-header .card-title {
  color: var(--color-primary-dark);
  font-weight: 700;
  font-size: 1rem;
}
main.content input[type=file] {
  cursor: pointer;
}

.user-management-form .avatar-upload-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(240, 240, 240, 0.7);
  border-radius: 0.2rem;
  height: 5rem;
  width: 5rem;
}
.user-management-form .avatar-upload-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: inherit;
}
.user-management-form .role-card {
  cursor: pointer;
  transition: all 0.2s ease;
  border: 2px solid #dee2e6;
}
.user-management-form .role-card:hover, .user-management-form .role-card.selected {
  border-color: #1a4a8a;
  box-shadow: 0 0 0 0.15rem rgba(26, 74, 138, 0.2);
  background: rgba(26, 74, 138, 0.02);
}
.user-management-form .role-card.selected {
  box-shadow: 0 0 0 0.15rem rgba(26, 74, 138, 0.5);
  background: rgba(26, 74, 138, 0.1);
}
.user-management-form .role-card .form-check-input {
  cursor: pointer;
}

.badge-container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  padding: 0.15rem;
}
.badge-container--sm {
  gap: 0.125rem;
}
.badge-container--lg {
  gap: 0.5rem;
}

.badge-blue {
  cursor: default;
  background-color: rgb(66.3414634146%, 78.0487804878%, 93.6585365854%);
  border: 1px solid rgb(15.8536585366%, 45.1219512195%, 84.1463414634%);
  color: rgb(9.512195122%, 27.0731707317%, 50.487804878%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-blue:hover, .badge-blue:checked {
  background-color: rgb(49.512195122%, 67.0731707317%, 90.487804878%) !important;
  border: 1px solid rgb(15.8536585366%, 45.1219512195%, 84.1463414634%);
  color: rgb(6.3414634146%, 18.0487804878%, 33.6585365854%);
}

.badge-indigo {
  cursor: default;
  background-color: rgb(72.7586206897%, 73.4482758621%, 87.2413793103%);
  border: 1px solid rgb(31.8965517241%, 33.6206896552%, 68.1034482759%);
  color: rgb(19.1379310345%, 20.1724137931%, 40.8620689655%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-indigo:hover, .badge-indigo:checked {
  background-color: rgb(59.1379310345%, 60.1724137931%, 80.8620689655%) !important;
  border: 1px solid rgb(31.8965517241%, 33.6206896552%, 68.1034482759%);
  color: rgb(12.7586206897%, 13.4482758621%, 27.2413793103%);
}

.badge-purple {
  cursor: default;
  background-color: rgb(77.4358974359%, 72.1367521368%, 87.8632478632%);
  border: 1px solid rgb(43.5897435897%, 30.3418803419%, 69.6581196581%);
  color: rgb(26.1538461538%, 18.2051282051%, 41.7948717949%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-purple:hover, .badge-purple:checked {
  background-color: rgb(66.1538461538%, 58.2051282051%, 81.7948717949%) !important;
  border: 1px solid rgb(43.5897435897%, 30.3418803419%, 69.6581196581%);
  color: rgb(17.4358974359%, 12.1367521368%, 27.8632478632%);
}

.badge-pink {
  cursor: default;
  background-color: rgb(89.4372294372%, 70.5627705628%, 83.0303030303%);
  border: 1px solid rgb(73.5930735931%, 26.4069264069%, 57.5757575758%);
  color: rgb(44.1558441558%, 15.8441558442%, 34.5454545455%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-pink:hover, .badge-pink:checked {
  background-color: rgb(84.1558441558%, 55.8441558442%, 74.5454545455%) !important;
  border: 1px solid rgb(73.5930735931%, 26.4069264069%, 57.5757575758%);
  color: rgb(29.4372294372%, 10.5627705628%, 23.0303030303%);
}

.badge-red {
  cursor: default;
  background-color: rgb(90.7692307692%, 69.2307692308%, 69.2307692308%);
  border: 1px solid rgb(76.9230769231%, 23.0769230769%, 23.0769230769%);
  color: rgb(46.1538461538%, 13.8461538462%, 13.8461538462%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-red:hover, .badge-red:checked {
  background-color: rgb(86.1538461538%, 53.8461538462%, 53.8461538462%) !important;
  border: 1px solid rgb(76.9230769231%, 23.0769230769%, 23.0769230769%);
  color: rgb(30.7692307692%, 9.2307692308%, 9.2307692308%);
}

.badge-orange {
  cursor: default;
  background-color: rgb(93.92%, 78.4%, 66.08%);
  border: 1px solid rgb(84.8%, 46%, 15.2%);
  color: rgb(50.88%, 27.6%, 9.12%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-orange:hover, .badge-orange:checked {
  background-color: rgb(90.88%, 67.6%, 49.12%) !important;
  border: 1px solid rgb(84.8%, 46%, 15.2%);
  color: rgb(33.92%, 18.4%, 6.08%);
}

.badge-yellow {
  cursor: default;
  background-color: rgb(91.875%, 83.75%, 58.125%);
  border: 1px solid rgb(75.375%, 60.75%, 14.625%);
  color: rgb(41.875%, 33.75%, 8.125%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-yellow:hover, .badge-yellow:checked {
  background-color: rgb(88.625%, 77.25%, 41.375%) !important;
  border: 1px solid rgb(75.375%, 60.75%, 14.625%);
  color: rgb(25.125%, 20.25%, 4.875%);
}

.badge-green {
  cursor: default;
  background-color: rgb(69.9459459459%, 90.0540540541%, 78.8108108108%);
  border: 1px solid rgb(24.8648648649%, 75.1351351351%, 47.027027027%);
  color: rgb(14.9189189189%, 45.0810810811%, 28.2162162162%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-green:hover, .badge-green:checked {
  background-color: rgb(54.9189189189%, 85.0810810811%, 68.2162162162%) !important;
  border: 1px solid rgb(24.8648648649%, 75.1351351351%, 47.027027027%);
  color: rgb(9.9459459459%, 30.0540540541%, 18.8108108108%);
}

.badge-teal {
  cursor: default;
  background-color: rgb(68.4422110553%, 91.5577889447%, 88.743718593%);
  border: 1px solid rgb(21.1055276382%, 78.8944723618%, 71.8592964824%);
  color: rgb(12.6633165829%, 47.3366834171%, 43.1155778894%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-teal:hover, .badge-teal:checked {
  background-color: rgb(52.6633165829%, 87.3366834171%, 83.1155778894%) !important;
  border: 1px solid rgb(21.1055276382%, 78.8944723618%, 71.8592964824%);
  color: rgb(8.4422110553%, 31.5577889447%, 28.743718593%);
}

.badge-cyan {
  cursor: default;
  background-color: rgb(64.3795620438%, 91.2408759124%, 95.6204379562%);
  border: 1px solid rgb(10.9489051095%, 78.102189781%, 89.0510948905%);
  color: rgb(6.5693430657%, 46.8613138686%, 53.4306569343%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-cyan:hover, .badge-cyan:checked {
  background-color: rgb(46.5693430657%, 86.8613138686%, 93.4306569343%) !important;
  border: 1px solid rgb(10.9489051095%, 78.102189781%, 89.0510948905%);
  color: rgb(4.3795620438%, 31.2408759124%, 35.6204379562%);
}

.badge-black {
  cursor: default;
  background-color: #212529;
  border: 1px solid hsl(210, 10.8108108108%, -15.4901960784%);
  color: hsl(210, 10.8108108108%, -35.4901960784%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-black:hover, .badge-black:checked {
  background-color: rgb(4.0222575517%, 4.5098039216%, 4.9973502915%) !important;
  border: 1px solid hsl(210, 10.8108108108%, -15.4901960784%);
  color: hsl(210, 10.8108108108%, -45.4901960784%);
}

.badge-white {
  cursor: default;
  background-color: #fff;
  border: 1px solid rgb(70%, 70%, 70%);
  color: rgb(50%, 50%, 50%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-white:hover, .badge-white:checked {
  background-color: rgb(90%, 90%, 90%) !important;
  border: 1px solid rgb(70%, 70%, 70%);
  color: #666666;
}

.badge-primary {
  cursor: default;
  background-color: rgb(66.3414634146%, 78.0487804878%, 93.6585365854%);
  border: 1px solid rgb(15.8536585366%, 45.1219512195%, 84.1463414634%);
  color: rgb(9.512195122%, 27.0731707317%, 50.487804878%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-primary:hover, .badge-primary:checked {
  background-color: rgb(49.512195122%, 67.0731707317%, 90.487804878%) !important;
  border: 1px solid rgb(15.8536585366%, 45.1219512195%, 84.1463414634%);
  color: rgb(6.3414634146%, 18.0487804878%, 33.6585365854%);
}

.badge-success {
  cursor: default;
  background-color: rgb(69.9459459459%, 90.0540540541%, 78.8108108108%);
  border: 1px solid rgb(24.8648648649%, 75.1351351351%, 47.027027027%);
  color: rgb(14.9189189189%, 45.0810810811%, 28.2162162162%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-success:hover, .badge-success:checked {
  background-color: rgb(54.9189189189%, 85.0810810811%, 68.2162162162%) !important;
  border: 1px solid rgb(24.8648648649%, 75.1351351351%, 47.027027027%);
  color: rgb(9.9459459459%, 30.0540540541%, 18.8108108108%);
}

.badge-info {
  cursor: default;
  background-color: rgb(64.3795620438%, 91.2408759124%, 95.6204379562%);
  border: 1px solid rgb(10.9489051095%, 78.102189781%, 89.0510948905%);
  color: rgb(6.5693430657%, 46.8613138686%, 53.4306569343%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-info:hover, .badge-info:checked {
  background-color: rgb(46.5693430657%, 86.8613138686%, 93.4306569343%) !important;
  border: 1px solid rgb(10.9489051095%, 78.102189781%, 89.0510948905%);
  color: rgb(4.3795620438%, 31.2408759124%, 35.6204379562%);
}

.badge-warning {
  cursor: default;
  background-color: rgb(93.5%, 87%, 66.5%);
  border: 1px solid rgb(83.75%, 67.5%, 16.25%);
  color: rgb(50.25%, 40.5%, 9.75%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-warning:hover, .badge-warning:checked {
  background-color: rgb(90.25%, 80.5%, 49.75%) !important;
  border: 1px solid rgb(83.75%, 67.5%, 16.25%);
  color: rgb(33.5%, 27%, 6.5%);
}

.badge-danger {
  cursor: default;
  background-color: rgb(90.7692307692%, 69.2307692308%, 69.2307692308%);
  border: 1px solid rgb(76.9230769231%, 23.0769230769%, 23.0769230769%);
  color: rgb(46.1538461538%, 13.8461538462%, 13.8461538462%);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0.5rem;
  min-width: 4rem;
}
.badge-danger:hover, .badge-danger:checked {
  background-color: rgb(86.1538461538%, 53.8461538462%, 53.8461538462%) !important;
  border: 1px solid rgb(76.9230769231%, 23.0769230769%, 23.0769230769%);
  color: rgb(30.7692307692%, 9.2307692308%, 9.2307692308%);
}

.custom-message {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}
.custom-message:empty, .custom-message:not(:has(.message)) {
  display: none;
}
.custom-message .message {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.5rem;
  border-left: 1px solid #dee2e6;
  border-radius: 0.2rem;
  background-color: #fff;
  border-left-width: 4px;
  box-shadow: 0 0.05rem 0.2rem rgba(0, 0, 0, 0.05);
  animation: messageSlideIn 0.25s ease-out;
}
.custom-message .message--success {
  border-color: #2e8b57;
  background-color: #d2f1e8;
  border-left-color: #2e8b57;
}
.custom-message .message--success .message__icon {
  color: #2e8b57;
}
.custom-message .message--success .message__content {
  color: #0b4b38;
}
.custom-message .message--error {
  border-color: #c94b4b;
  background-color: #f8d7da;
  border-left-color: #c94b4b;
}
.custom-message .message--error .message__icon {
  color: #c94b4b;
}
.custom-message .message--error .message__content {
  color: #58151c;
}
.custom-message .message--warning {
  border-color: #c9a227;
  background-color: #fef1d5;
  border-left-color: #c9a227;
}
.custom-message .message--warning .message__icon {
  color: #c9a227;
}
.custom-message .message--warning .message__content {
  color: #654a12;
}
.custom-message .message--info {
  border-color: #0f6b7a;
  background-color: #d1ecf1;
  border-left-color: #0f6b7a;
}
.custom-message .message--info .message__icon {
  color: #0f6b7a;
}
.custom-message .message--info .message__content {
  color: #09414a;
}
.custom-message .message__icon {
  flex-shrink: 0;
}
.custom-message .message__icon svg {
  width: 1.25rem;
  height: 1.25rem;
}
.custom-message .message__content {
  flex: 1;
  font-size: 0.875rem;
  line-height: 1.5;
}
.custom-message .message__close {
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  background: none;
  border: none;
  color: inherit;
  opacity: 0.6;
  transition: opacity 0.5s;
}
.custom-message .message__close:hover, .custom-message .message__close:focus {
  opacity: 1;
  outline: none;
}
.custom-message .message__close svg {
  width: 1.5rem;
  height: 1.5rem;
}
.custom-message .message.is-dismissed {
  animation: messageSlideOut 0.2s ease-in forwards;
}

@keyframes messageSlideIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes messageSlideOut {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(8px);
  }
}
.dt-container .custom-table {
  background-color: #fff;
}
.dt-container .custom-table .search-row th {
  padding: 0.1rem !important;
}
.dt-container .custom-table .search-row .col-filter {
  font-size: 0.6rem;
}
@media (min-width: 768px) {
  .dt-container .custom-table .search-row .col-filter {
    font-size: 0.8rem;
  }
}
.dt-container .custom-table .dt-column-header .dt-column-title {
  font-size: 0.8rem;
  padding: 0.5rem 0.2rem;
  margin-right: auto;
}
.dt-container .custom-table .dt-column-header .dt-column-order {
  font-size: 0.8rem;
  width: 6px;
  height: 12px;
}
.dt-container .custom-table .input-cell {
  text-align: inherit;
}
.dt-container .custom-table tbody > tr > td,
.dt-container .custom-table .input-cell {
  background-color: transparent;
  padding: 0.2rem;
  font-size: 0.8rem;
}
@media (min-width: 992px) {
  .dt-container .custom-table tbody > tr > td,
  .dt-container .custom-table .input-cell {
    padding-inline: 0.4rem;
  }
}
.dt-container .custom-table tbody > tr > td:focus,
.dt-container .custom-table .input-cell:focus {
  box-shadow: none;
}
.dt-container .custom-table textarea.input-cell {
  resize: none;
  overflow-y: auto;
  max-height: 10rem;
  overflow-wrap: break-word;
  word-break: break-word;
  scrollbar-width: auto;
  -ms-overflow-style: auto;
}
.dt-container .custom-table textarea.input-cell::-webkit-scrollbar {
  display: block;
  width: 3px;
}
.dt-container .custom-table textarea.input-cell::-webkit-scrollbar-thumb {
  background-color: var(--table-primary-light);
  border-radius: 2px;
}
.dt-container .custom-table textarea.input-cell::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.dt-container .custom-table .form-select {
  cursor: pointer;
  appearance: none;
  background-image: none;
  background-repeat: no-repeat;
  background-position: right center;
}
.dt-container .custom-table td:has(> .editable),
.dt-container .custom-table li > span > .editable {
  cursor: text;
  outline: 1px dashed #adb5bd !important;
}
.dt-container .custom-table td:has(> .editable),
.dt-container .custom-table td:has(> .editable) input,
.dt-container .custom-table td:has(> .editable) textarea,
.dt-container .custom-table li > span > .editable,
.dt-container .custom-table li > span > .editable input,
.dt-container .custom-table li > span > .editable textarea {
  border: none !important;
}
.dt-container .custom-table td:has(> .editable:focus),
.dt-container .custom-table li > span > .editable:focus {
  outline: 1px solid var(--table-primary) !important;
}
.dt-container .custom-table td:has(> .is-invalid),
.dt-container .custom-table li > span > .is-invalid {
  outline: 1px solid red !important;
}
.dt-container .custom-table .action-group {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.2rem;
  padding: 0.1rem;
}
@media (max-width: 767px) {
  .dt-container .custom-table .action-group {
    flex-direction: column-reverse;
  }
}
.dt-container .custom-table.no-hidden-columns .details-btn {
  display: none !important;
}
.dt-container .custom-table .dt-hasChild + tr > td:hover {
  box-shadow: none !important;
}
.dt-container .custom-table .dtr-details-table {
  list-style: none;
  padding: 0.5rem 1rem !important;
  margin: 0;
  display: table;
  width: 100%;
  border-collapse: collapse;
}
.dt-container .custom-table .dtr-details-table li {
  display: table-row;
}
.dt-container .custom-table .dtr-details-table li:last-child .dtr-title, .dt-container .custom-table .dtr-details-table li:last-child .dtr-data {
  border-bottom: none;
}
.dt-container .custom-table .dtr-details-table .dtr-title {
  display: table-cell;
  text-align: right;
  padding: 4px 8px 4px 0;
  font-weight: 600;
  white-space: nowrap;
  vertical-align: top;
  border-bottom: 1px solid #dee2e6;
}
.dt-container .custom-table .dtr-details-table .dtr-data {
  display: table-cell;
  padding: 4px 0 4px 8px;
  vertical-align: top;
  border-bottom: 1px solid #dee2e6;
}
.dt-container .dt-buttons.btn-group {
  display: flex;
  gap: 0.3rem;
}
@media (min-width: 768px) {
  .dt-container .dt-buttons.btn-group {
    gap: 0.2rem;
  }
}

#datatables_buttons_info {
  background-color: rgba(233, 236, 239, 0.9) !important;
}

.autocomplete-dropdown {
  display: none;
  position: absolute;
  z-index: 9999;
  overflow-y: auto;
  max-height: 200px;
  min-width: 200px;
  box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05);
  padding: 0.2rem;
  background-color: rgba(233, 236, 239, 0.9);
  border: 1px solid #ccc;
}
.autocomplete-dropdown.show {
  display: block !important;
}
.autocomplete-dropdown .suggestion-item {
  cursor: pointer;
  padding: 0.2rem 0.5rem;
}
.autocomplete-dropdown .suggestion-item.active {
  background: var(--table-primary-background);
}

nav#sidebar {
  box-shadow: 0 0 4px rgba(33, 37, 41, 0.15) inset;
}
nav#sidebar .sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  overflow-y: auto;
  overflow-x: hidden;
}
nav#sidebar .sidebar-nav::-webkit-scrollbar {
  width: 0px;
  background-color: transparent;
}
nav#sidebar .sidebar-nav {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
nav#sidebar .sidebar-content {
  background-color: rgba(33, 37, 41, 0.15);
}
nav#sidebar .sidebar-link,
nav#sidebar a.sidebar-link {
  font-size: 0.9rem;
  background-color: transparent;
  border-left: 3px solid transparent;
}
nav#sidebar .sidebar-link,
nav#sidebar .sidebar-link i,
nav#sidebar .sidebar-link svg,
nav#sidebar a.sidebar-link,
nav#sidebar a.sidebar-link i,
nav#sidebar a.sidebar-link svg {
  color: #343a40;
}
nav#sidebar .sidebar-link[data-toggle=collapse]:after,
nav#sidebar a.sidebar-link[data-toggle=collapse]:after {
  border-color: var(--sidebar-primary-darker);
}
nav#sidebar .sidebar-link:hover,
nav#sidebar a.sidebar-link:hover {
  background-color: rgba(0, 0, 0, 0.1);
  border-left-color: var(--sidebar-primary-light);
}
nav#sidebar .sidebar-link:hover,
nav#sidebar .sidebar-link:hover i,
nav#sidebar .sidebar-link:hover svg,
nav#sidebar a.sidebar-link:hover,
nav#sidebar a.sidebar-link:hover i,
nav#sidebar a.sidebar-link:hover svg {
  color: var(--sidebar-primary);
}
nav#sidebar .sidebar-link:hover[data-toggle=collapse]:after,
nav#sidebar a.sidebar-link:hover[data-toggle=collapse]:after {
  border-color: var(--sidebar-primary-dark);
}
nav#sidebar .sidebar-item.active .sidebar-link:hover,
nav#sidebar .sidebar-item.active > .sidebar-link {
  pointer-events: none;
  background-color: rgba(0, 0, 0, 0.1);
  border-left-color: var(--sidebar-primary);
}
nav#sidebar .sidebar-item.active .sidebar-link:hover,
nav#sidebar .sidebar-item.active .sidebar-link:hover i,
nav#sidebar .sidebar-item.active .sidebar-link:hover svg,
nav#sidebar .sidebar-item.active > .sidebar-link,
nav#sidebar .sidebar-item.active > .sidebar-link i,
nav#sidebar .sidebar-item.active > .sidebar-link svg {
  color: var(--sidebar-primary-dark);
  font-weight: 500;
}
nav#sidebar .sidebar-dropdown .sidebar-link:before,
nav#sidebar .sidebar-dropdown a.sidebar-link:before {
  display: none !important;
}
nav#sidebar .sidebar-brand {
  padding: 1rem 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
nav#sidebar .sidebar-brand .brand-logo {
  width: 3rem;
}
nav#sidebar .sidebar-brand .brand-logo img {
  width: 100%;
  height: 100%;
}
nav#sidebar .sidebar-brand .brand-name {
  font-size: 0.9rem;
  color: #495057;
  font-weight: 800;
}
nav#sidebar .sidebar-header {
  font-size: 0.9rem;
  text-transform: uppercase;
  color: var(--sidebar-primary-darker);
  font-weight: 700;
}
nav#sidebar .sidebar-user-title,
nav#sidebar .sidebar-user-title:hover {
  color: #212529;
}
nav#sidebar .sidebar-user-subtitle {
  color: #6c757d;
}

header#header .navbar {
  background-color: rgba(33, 37, 41, 0.15);
}
header#header .sidebar-toggle:hover i,
header#header .sidebar-toggle:hover i:before,
header#header .sidebar-toggle:hover i:after {
  background-color: var(--header-primary);
}
header#header .dropdown-toggle img {
  background-color: rgba(33, 37, 41, 0.15);
  height: 40px;
  width: auto;
  max-width: 5rem;
  object-fit: contain;
  border-radius: 0.2rem;
}
@media (min-width: 768px) {
  header#header .dropdown-toggle img {
    height: 50px;
  }
}
header#header .dropdown-toggle .text-dark {
  font-size: 0.9rem;
}
header#header .dropdown-toggle:after {
  border: solid;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 2px;
  transform: rotate(45deg);
  border-color: var(--header-primary-dark);
}
header#header .dropdown-menu {
  background-color: rgba(233, 236, 239, 0.9);
  margin-right: 18px;
}
@media (min-width: 576px) {
  header#header .dropdown-menu {
    margin-right: 0;
  }
}
header#header .dropdown-menu a {
  font-size: 1rem;
  padding-block: 0.7rem;
}
header#header .dropdown-menu a:hover {
  color: var(--header-primary);
  background-color: rgba(0, 0, 0, 0.1);
}

footer#footer {
  padding: 0;
}
footer#footer .container-fluid {
  background-color: rgba(33, 37, 41, 0.15);
  padding: 1.5rem 0.5rem;
}
footer#footer .container-fluid .row {
  gap: 0.5rem;
}
@media (min-width: 576px) {
  footer#footer .container-fluid {
    padding: 1.5rem 2rem;
  }
}
@media (min-width: 768px) {
  footer#footer .container-fluid {
    padding: 1.5rem 2.5rem;
  }
  footer#footer .container-fluid .row {
    gap: 0;
  }
}
footer#footer .container-fluid a {
  color: #343a40;
}
footer#footer .container-fluid a:hover {
  color: var(--footer-primary);
}

.admin-systemStatus {
  font-family: "Inter", "Helvetica Neue", Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.admin-systemStatus .card {
  border: none;
  border-radius: 0.5rem;
  box-shadow: 0 0.05rem 0.2rem rgba(0, 0, 0, 0.05);
  overflow: hidden;
}
.admin-systemStatus .card-header {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
  padding: 1rem 1.25rem;
}
.admin-systemStatus .card-title {
  font-size: 1rem;
  font-weight: 600;
}
.admin-systemStatus .table {
  margin-bottom: 0;
  table-layout: fixed;
  width: 100%;
}
.admin-systemStatus .table th {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #6c757d;
  font-weight: 600;
  width: 35%;
  white-space: nowrap;
}
.admin-systemStatus .table td {
  font-size: 0.875rem;
  color: #212529;
  vertical-align: middle;
}
.admin-systemStatus .badge {
  font-weight: 500;
  font-size: 0.7rem;
  padding: 0.35em 0.6em;
  border-radius: 0.2rem;
}
.admin-systemStatus .badge-container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
.admin-systemStatus .alert {
  border-radius: 0.2rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
}
.admin-systemStatus a {
  color: #1a4a8a;
  text-decoration: none;
}
.admin-systemStatus a:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .admin-systemStatus .row > [class*=col-] {
    margin-bottom: 1rem;
  }
  .admin-systemStatus .table td {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    max-width: none;
  }
}
@media (max-width: 575px) {
  .admin-systemStatus .table th,
  .admin-systemStatus .table td {
    display: block;
    width: 100% !important;
  }
  .admin-systemStatus .table th {
    padding-bottom: 0;
    margin-top: 0.75rem;
  }
  .admin-systemStatus .table td {
    padding-top: 0;
  }
}

main.login {
  font-family: "Inter", "Helvetica Neue", Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  height: 100%;
}
main.login .login__content {
  padding: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
main.login .login__container {
  width: 30rem;
  max-width: 100%;
  margin: 0 auto;
  background-color: rgba(240, 240, 240, 0.7);
  border-radius: 0.5rem;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2rem 1.5rem;
}
main.login .login__header {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
}
main.login .login__header .header__logo {
  width: 8rem;
  margin: 0 auto;
}
main.login .login__header .header__logo img {
  width: 100%;
  height: auto;
}
main.login .login__header .header__content {
  text-transform: capitalize;
  color: #495057;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.01em;
}
main.login .login__form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  padding: 0 0.5rem;
}
main.login .login__form * {
  font-family: inherit;
}
main.login .login__form .form-box input {
  width: 100%;
  padding: 0.8rem 1rem;
  font-size: 1rem;
  color: #212529;
  background-color: #f0f0f0;
  border-radius: 0.375rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  outline: none;
}
main.login .login__form .form-box input::placeholder {
  text-transform: capitalize;
  color: #adb5bd;
  opacity: 1;
}
main.login .login__form .form-box input:focus {
  border-color: #1a4a8a;
  box-shadow: 0 0 0 3px rgba(26, 74, 138, 0.15);
}
main.login .login__form .form-group {
  display: flex;
  justify-content: stretch;
  align-items: stretch;
  gap: 0.5rem;
  max-height: 40px;
}
main.login .login__form .form-group input[type=hidden] {
  display: none;
}
main.login .login__form .form-group .group-input {
  flex: 1;
  min-width: 0;
  padding: 0.8rem 1rem;
  font-size: 1rem;
  color: #212529;
  background-color: #f0f0f0;
  border-radius: 0.375rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  outline: none;
}
main.login .login__form .form-group .group-input::placeholder {
  text-transform: capitalize;
  color: #adb5bd;
  opacity: 1;
}
main.login .login__form .form-group .group-input:focus {
  border-color: #1a4a8a;
  box-shadow: 0 0 0 3px rgba(26, 74, 138, 0.15);
}
main.login .login__form .form-group .group-image {
  cursor: pointer;
  height: auto;
  max-height: 100%;
  width: auto;
  object-fit: contain;
  border-radius: 0.2rem;
  align-self: center;
  border: 1px solid #dee2e6;
}
main.login .login__form .form-group .group-button {
  cursor: pointer;
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #495057;
  background-color: #f0f0f0;
  border: 1px solid transparent;
  border-radius: 0.375rem;
  transition: color 0.2s ease, transform 0.1s ease;
  padding: 0.2rem 0.5rem;
}
main.login .login__form .form-group .group-button:active {
  transform: scale(0.9);
}
main.login .login__form .form-group .group-button:hover {
  color: #1a4a8a;
  background-color: #f8f9fa;
}
main.login .login__form .form-submit {
  cursor: pointer;
  padding: 1rem;
  font-size: 1rem;
  font-weight: 600;
  color: #f0f0f0;
  background-color: rgb(5.4399808704%, 15.4830224773%, 28.8737446198%);
  border: none;
  border-radius: 0.3rem;
  margin-top: 0.5rem;
  text-transform: capitalize;
  transition: background-color 0.2s ease, transform 0.1s ease;
}
main.login .login__form .form-submit:hover {
  background-color: rgb(7.0253467241%, 19.9952175992%, 37.2883787661%);
}
main.login .login__form .form-submit:active {
  transform: scale(0.95);
}
main.login .login__form .form-submit:focus-visible {
  outline: 2px solid rgb(27.8981348637%, 52.9770444763%, 86.4155906265%);
  outline-offset: 2px;
}

/*# sourceMappingURL=styles.css.map */
