:root {
  --bs-font-sans-serif: "CabinetGrotesk", var(--system-font);
  --bs-body-font-weight: 400;
  --bs-btn-font-family: var(--bs-font-sans-serif);
  --bs-link-color: var(--primary-800);
  --bs-link-hover-color: var(--primary-600);
  --bs-btn-active-color: var(--white);
  --steradian-font: "Steradian", var(--system-font);
  --system-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
}

body {
  --bs-body-line-height: 1.375;
}
body .title {
  font-family: var(--std);
  font-weight: 500;
}
body h1 {
  font-size: 2rem;
}
body h2 {
  font-size: 1.5rem;
}
body h3 {
  font-size: 1.25rem;
}
body h4 {
  font-size: 1rem;
}
body h5 {
  font-size: 0.875rem;
}
body h6 {
  font-size: 0.75rem;
}
body h1, body h2, body h3, body h4, body h5, body h6 {
  font-family: var(--steradian-font);
}
body p {
  margin: 0;
  font-weight: normal;
}
body ul {
  margin: 0;
  padding-left: 1rem;
}

::selection {
  background: var(--mfm-dark-200);
  text-shadow: none;
}

.rounded {
  --bs-border-radius: 1.5rem;
}
.rounded.sm {
  --bs-border-radius: .75rem;
}

.rounded-top {
  border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
}

.rounded-bottom {
  border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
}

button {
  border: none;
}

.ds-icon {
  --color-apply: var(--mfm-dark-100);
  color: var(--mfm-dark);
}

a:hover .ds-icon,
.ds-icon:hover {
  --color-apply: var(--mfm-dark-200);
  color: var(--mfm-dark);
}

.btn {
  --bs-btn-font-family: var(--bs-font-sans-serif);
  --bs-btn-border-width: 0;
  --bs-btn-border-radius: 999px;
  --bs-btn-padding-x: 1.5rem;
  --bs-btn-padding-y: .5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
.btn.checkbox, .btn.radio {
  --bs-btn-padding-x: .75rem;
  --bs-btn-padding-y: .75rem;
}
.btn.bg-dark-50 {
  --bs-btn-bg: var(--mfm-dark-50);
}
.btn.bg-dark-50:hover {
  --bs-btn-hover-bg: var(--mfm-dark-100);
}
.btn.btn-icon {
  --bs-btn-padding-x: .5rem;
  width: 2.5rem;
}
.btn.sm {
  --bs-btn-padding-x: 1.25rem;
  --bs-btn-padding-y: .25rem;
}

.btn-link {
  display: inline-block;
  background-color: transparent;
  color: var(--primary-500);
  font-weight: 500;
  text-decoration: none;
  border: none;
  border-bottom: 1px solid var(--primary-500);
  transition: 0.2s;
  cursor: pointer;
}
.btn-link:hover {
  background-color: transparent;
  color: var(--primary-400);
  border-bottom-color: var(--primary-400);
}

.btn-mfm-primary {
  --bs-btn-bg: var(--mfm-primary);
  --bs-btn-color: var(--white);
}
.btn-mfm-primary:hover {
  --bs-btn-hover-bg: var(--mfm-primary-500);
  --bs-btn-hover-color: var(--white);
}
.btn-mfm-primary.disabled, .btn-mfm-primary:disabled {
  --bs-btn-disabled-bg: var(--mfm-primary-50);
  --bs-btn-disabled-color: var(--mfm-primary-300);
  --bs-btn-disabled-opacity: 1;
}

.btn-mfm-primary-100 {
  --bs-btn-bg: var(--mfm-primary-100);
  --bs-btn-color: var(--mfm-primary);
}
.btn-mfm-primary-100:hover {
  --bs-btn-hover-bg: var(--mfm-primary-200);
  --bs-btn-hover-color: var(--mfm-primary-600);
}

.btn-primary {
  --bs-btn-bg: var(--primary-950);
  --bs-btn-hover-bg: var(--primary-600);
  --bs-btn-active-bg: var(--primary-800);
}
.btn-primary:focus-visible {
  --bs-btn-hover-bg: var(--primary-500);
  --bs-btn-focus-box-shadow: 0 0 0 .25rem var(--primary-200);
}
.btn-primary:focus-visible:hover {
  --bs-btn-hover-bg: var(--primary-600);
  --bs-btn-focus-box-shadow: none;
}
.btn-primary:focus-visible:hover {
  --bs-btn-hover-bg: var(--primary-600);
  --bs-btn-focus-box-shadow: none;
}
.btn-primary.disabled, .btn-primary:disabled {
  --bs-btn-disabled-bg: var(--primary-50);
  --bs-btn-disabled-color: var(--primary-200);
  --bs-btn-disabled-opacity: 1;
}

.btn-primary-100 {
  --bs-btn-bg: var(--primary-100);
  --bs-btn-color: var(-primary);
}
.btn-primary-100:hover {
  --bs-btn-hover-bg: var(--primary-200);
  --bs-btn-hover-color: var(--primary-600);
}

.btn-dark-950 {
  --bs-btn-bg: var(--mfm-dark-950);
  --bs-btn-hover-bg: var(--mfm-dark-800);
  --bs-btn-active-bg: var(--white);
}

.btn-dark-100 {
  --bs-btn-bg: var(--mfm-dark-100);
  --bs-btn-hover-bg: var(--mfm-dark-200);
  --bs-btn-active-bg: var(--mfm-dark-300);
}
.btn-dark-100.active {
  --bs-btn-active-bg: var(--mfm-dark-100);
  color: var(--mfm-dark-950);
}

.btn-warning-500 {
  --bs-btn-bg: var(--mfm-warning-500);
  --bs-btn-hover-bg: var(--mfm-warning-400);
  --bs-btn-active-bg: var(--mfm-warning-600);
  --bs-btn-color: var(--white);
  --bs-btn-hover-color: var(--white);
  --bs-btn-active-color: var(--white);
}

.btn-black {
  --bs-btn-bg: var(--mfm-dark-950);
  --bs-btn-color: var(--white);
}
.btn-black.active {
  --bs-btn-active-bg: var(--mfm-dark-950);
}

.btn-light {
  --bs-btn-bg: var(--white);
}

.btn-black,
.btn-light {
  --bs-btn-hover-bg: var(--primary-400);
  --bs-btn-active-bg: var(--primary-600);
  --bs-btn-hover-color: var(--white);
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem var(--primary-100);
}
.btn-black.disabled, .btn-black[disabled],
.btn-light.disabled,
.btn-light[disabled] {
  --bs-btn-disabled-bg: var(--mfm-dark-100);
  --bs-btn-disabled-color: var(--mfm-dark-400);
  cursor: not-allowed;
}

.btn-outline-dark-100 {
  --bs-btn-color: #212529;
  --bs-btn-border-color: var(--mfm-dark-100);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #212529;
  --bs-btn-hover-border-color: #212529;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #212529;
  --bs-btn-active-border-color: #212529;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #212529;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #212529;
  --bs-gradient: none;
}

.ds-icon:active {
  transform: scale3d(0.9, 0.9, 1);
}

.d-grid .btn-wide {
  width: 100%;
}
@media (min-width: 36em) {
  .d-grid .btn-wide {
    max-width: 16rem;
  }
}
.d-grid input {
  width: 100%;
}

.dropdown .dropdown-toggle::after {
  border: none;
  content: "\ea4e";
  font-size: 1.25rem;
  font-family: "remixicon";
  vertical-align: inherit;
  transition: 0.2s;
}
.dropdown .dropdown-toggle.show, .dropdown .dropdown-toggle.show:hover {
  --bs-btn-active-bg: var(--white);
  color: var(--primary-400);
  box-shadow: 0 0 0 0.25rem var(--primary-100);
}
.dropdown .dropdown-toggle.show::after, .dropdown .dropdown-toggle.show:hover::after {
  transform: rotate(180deg);
}
.dropdown .dropdown-menu {
  inset: 0.5rem -1rem auto -1rem !important;
  background-color: var(--w84);
  padding: 0.5rem;
  border: none;
  border-radius: 1rem;
  box-shadow: 0px 0px 0.5rem -0.125rem var(--b32), 0px 0.5rem 0.5rem -0.25rem var(--b16);
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
  tranform: translate3d(0px, 4rem, 0px) !important;
  transition: 0.2s;
}
.dropdown .dropdown-menu.show {
  tranform: translate3d(0px, 3rem, 0px);
}
.dropdown .dropdown-menu a {
  --bs-dropdown-link-hover-bg: var(--mfm-dark-100);
  padding: 0.5rem;
  border-radius: 0.5rem;
  transition: 0.2s;
}
.dropdown .dropdown-menu a:hover {
  font-weight: 500;
}

abbr[data-bs-toggle] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

input:not([type=checkbox], [type=radio], [type=checkbox], [type=submit]) {
  --border: var(--mfm-dark-200);
  background: transparent;
  padding: 0 3rem 0 1rem;
  height: 2.5rem;
  border: none;
  box-shadow: inset 0 0 0 1px var(--border), 0 0 0 0 transparent;
  border-radius: 999px;
  transition: 0.2s;
}
input:not([type=checkbox], [type=radio], [type=checkbox], [type=submit]):hover:not([readonly]) {
  --border: var(--primary-300);
}
input:not([type=checkbox], [type=radio], [type=checkbox], [type=submit]):-internal-autofill-selected {
  color: var(--primary-600);
  -webkit-box-shadow: inset 0 0 0 1px var(--primary-100), inset 0 0 0px 1000px var(--primary-50);
}
input:not([type=checkbox], [type=radio], [type=checkbox], [type=submit]):focus-visible {
  box-shadow: inset 0 0 0 1px var(--primary-400), 0 0 0 1px var(--primary-400);
  outline: none;
}
input:not([type=checkbox], [type=radio], [type=checkbox], [type=submit]):focus {
  box-shadow: inset 0 0 0 1px var(--primary-600), 0 0 0 3px var(--primary-200);
  outline: none;
}
input:not([type=checkbox], [type=radio], [type=checkbox], [type=submit])::placeholder {
  color: var(--mfm-dark-300);
}
input:not([type=checkbox], [type=radio], [type=checkbox], [type=submit]).form-error {
  box-shadow: inset 0 0 0 1px var(--mfm-danger), 0 0 0px 1000px white inset, 0 0 0 3px var(--mfm-danger-200);
}

.control-group:has(:user-invalid) input[required],
.control-group:has(:user-invalid) textarea.requis,
.control-group.has-error input[required],
.control-group.has-error textarea.requis {
  box-shadow: inset 0 0 0 1px var(--mfm-danger), 0 0 0px 1000px white inset, 0 0 0 3px var(--mfm-danger-200);
}
.control-group:has(:user-invalid) input[required]::after,
.control-group:has(:user-invalid) textarea.requis::after,
.control-group.has-error input[required]::after,
.control-group.has-error textarea.requis::after {
  background-color: transparent;
}
.control-group:has(:user-invalid) input[required]:hover::after,
.control-group:has(:user-invalid) textarea.requis:hover::after,
.control-group.has-error input[required]:hover::after,
.control-group.has-error textarea.requis:hover::after {
  background-color: var(--mfm-danger-200);
}
.control-group:has(:user-invalid) > i,
.control-group.has-error > i {
  color: var(--mfm-danger-500);
}
.control-group:has(:user-invalid) .validation-hint,
.control-group.has-error .validation-hint {
  display: none !important;
}
.control-group:has(:user-invalid) .invalid-feedback,
.control-group.has-error .invalid-feedback {
  margin-top: 0.5rem;
  color: var(--mfm-danger-500);
  line-height: 1.25;
  white-space: normal;
}
.control-group:has(:user-invalid) .invalid-feedback i,
.control-group.has-error .invalid-feedback i {
  font-size: 1rem;
}

legend {
  margin-bottom: 0.75rem;
  font-size: 1rem;
}

.radio-horizontal {
  display: flex;
}
.radio-horizontal input {
  appearance: none;
  margin-right: 0.5rem;
  width: 1.25rem !important;
  height: 1.25rem;
  border-radius: 999px;
}
.radio-horizontal input:checked, .radio-horizontal input:focus-visible, .radio-horizontal input:focus {
  appearance: none;
  outline: none;
}
.radio-horizontal input::after {
  content: "";
  background-color: var(--mfm-dark-100);
  display: inline-flex;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 999px;
  transition: 0.2s;
}
.radio-horizontal input:focus-visible:after {
  background-color: var(--primary-100);
  box-shadow: inset 0 0 0 1px var(--primary-400), 0 0 0 1px var(--primary-400);
}
.radio-horizontal input:focus:after {
  background-color: var(--primary-100);
  box-shadow: inset 0 0 0 1px var(--primary-600), 0 0 0 3px var(--primary-200);
}
.radio-horizontal input:checked::after {
  background-color: var(--white);
  box-shadow: inset 0 0 0 0.4em var(--mfm-success);
}

.radio-horizontal:hover {
  cursor: pointer;
}
.radio-horizontal:hover input {
  cursor: pointer;
}
.radio-horizontal:hover input:after {
  background-color: var(--mfm-dark-200);
}
.radio-horizontal:hover input:checked::after {
  background-color: var(--white);
  box-shadow: inset 0 0 0 0.4em var(--mfm-success-600);
}
.radio-horizontal:has(input:checked) {
  font-weight: 500;
}

.readonly,
input[readonly] {
  color: var(--mfm-dark-400);
  pointer-events: none;
}
.readonly:hover,
input[readonly]:hover {
  cursor: pointer;
}

.code input[inputmode=numeric] {
  padding: 1rem;
  width: 3.75rem;
  height: 5rem;
  font-size: 1.5rem;
  text-align: center;
  border-radius: 1.25rem;
}

input[type=password] {
  transition: none;
}

label:has(input[type=checkbox], input[type=radio]) {
  cursor: pointer;
}

textarea {
  --border: var(--mfm-dark-200);
  padding: 0.75rem 1rem;
  width: 100%;
  min-height: 6rem;
  border: none !important;
  border-radius: 1rem;
  box-shadow: inset 0 0 0 1px var(--border), 0 0 0 0 transparent;
  transition: 0.2s;
}
textarea::-webkit-resizer {
  display: none;
}
textarea:hover {
  --border: var(--primary-300);
}
textarea:focus-visible {
  box-shadow: inset 0 0 0 1px var(--primary-400), 0 0 0 1px var(--primary-400);
}
textarea:focus {
  box-shadow: inset 0 0 0 1px var(--primary-600), 0 0 0 3px var(--primary-200);
}

label.checkbox {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
label.checkbox:hover {
  cursor: pointer;
}
label.checkbox:hover input {
  cursor: pointer;
}

/* - Switch */
.control-switch {
  cursor: pointer;
}
.control-switch .cursor {
  --bg-disabled: var(--mfm-dark-100);
  --bg-default: var(--mfm-dark-200);
  --bg-default-hover: var(--mfm-dark-300);
  --bg-checked: var(--mfm-success-400);
  --bg-checked-hover: var(--mfm-success-600);
  position: relative;
  background-color: var(--bg-default);
  width: 2.625rem;
  height: 1.5rem;
  border-radius: 999px;
  transition: 0.2s;
}
.control-switch .cursor::after {
  content: "";
  position: absolute;
  background: var(--white);
  top: 3px;
  left: 3px;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 1em;
  transition: 0.2s;
}
.control-switch input[type=checkbox] {
  display: none;
}
.control-switch input[type=checkbox]:checked + .cursor {
  background-color: var(--bg-checked);
}
.control-switch input[type=checkbox]:checked + .cursor::after {
  left: 21px;
}
.control-switch input[type=checkbox][disabled] + .cursor {
  background-color: var(--bg-disabled);
}
.control-switch:has(input[type=checkbox][disabled]) {
  cursor: default;
  color: var(--mfm-dark-300);
}
.control-switch input[type=checkbox]:not([disabled]):hover + .cursor {
  background-color: var(--bg-default-hover);
}
.control-switch input[type=checkbox]:checked:not([disabled]):hover + .cursor {
  background-color: var(--bg-checked-hover);
}

.add-on span {
  color: var(--mfm-danger-400);
}

input[type=checkbox] {
  background-color: var(--mfm-dark-100);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 60%;
  margin: 0;
  font: inherit;
  color: currentColor;
  width: 1.25rem;
  height: 1.25rem;
  aspect-ratio: 1;
  border-radius: 0.25rem;
  display: grid;
  flex: 0 0 auto;
  place-content: center;
  transition: 0.2s;
  appearance: none;
  outline: none;
}
input[type=checkbox]:focus-visible {
  background-color: var(--primary-100);
  box-shadow: inset 0 0 0 1px var(--primary-400), 0 0 0 1px var(--primary-400);
}
input[type=checkbox]:focus {
  background-color: var(--primary-100);
  box-shadow: 0 0 0 1px var(--primary-600), 0 0 0 3px var(--primary-200);
}
input[type=checkbox]:checked {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDEyIDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik00LjY2NzEyIDcuMTEzOTRMMTAuNzk1NCAwLjk4NTY4N0wxMS43MzgyIDEuOTI4NDlMNC42NjcxMiA4Ljk5OTU0TDAuNDI0NDY5IDQuNzU2OTRMMS4zNjcyOCAzLjgxNDE0TDQuNjY3MTIgNy4xMTM5NFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPg==") !important;
  background-color: var(--mfm-success);
}
input[type=checkbox]:checked + label {
  color: red;
}

label:hover input[type=checkbox] {
  background-color: var(--mfm-dark-200);
}
label:hover input[type=checkbox]:checked {
  background-color: var(--mfm-success-600);
}

.control-group {
  position: relative;
}
.control-group small {
  color: var(--mfm-dark-500);
  font-size: 0.75rem;
}
.control-group > i {
  position: absolute;
  right: 0;
  padding: 0 1rem;
  width: 3.5rem;
  height: 2.5rem;
  color: var(--mfm-dark-500);
  cursor: pointer;
  transition: 0.2s;
  z-index: 9;
}
.control-group > i:hover {
  color: var(--mfm-dark-950);
}
.control-group:has(small) > i {
  bottom: 1.375rem;
}
.control-group .datepicker-icon.active {
  mask-image: url(/img/hugeicons/calendar-03-solid-rounded.svg);
  color: var(--mfm-dark-950);
}

.tooltip {
  --bs-tooltip-bg: var(--mfm-dark-950);
  --bs-tooltip-border-radius: .5rem;
  --bs-tooltip-opacity: 1;
}
.tooltip span {
  background-color: var(--w16);
}

.breadcrumb {
  margin: 0;
}
.breadcrumb li {
  display: flex;
  align-items: center;
}
.breadcrumb a, .breadcrumb i {
  display: inline-flex;
  color: var(--primary-800);
  border: none !important;
  transition: 0.2s;
}
.breadcrumb a:hover,
.breadcrumb a:hover i {
  color: var(--primary-400);
}
.breadcrumb .active {
  margin: 0;
  color: var(--primary-600);
  font-weight: 500;
}

form .help-block {
  display: flex;
  gap: 0.25rem;
  margin-top: 0.5rem;
  color: var(--mfm-danger-500) !important;
  font-size: 0.875em;
  line-height: 1.25;
}
form .help-block::before {
  content: "";
  mask-image: url(/img/hugeicons/alert-circle-solid-rounded.svg);
  mask-position: center;
  background-color: currentColor;
  aspect-ratio: 1;
  font-size: 1rem;
  height: 1rem;
  mask-size: 1rem;
}

.modal.show.fade .modal-dialog {
  transform: none;
  filter: none;
}
.modal.fade .modal-dialog {
  transform: translate3d(0, 0.5rem, 0) scale3d(0.96, 0.96, 1);
  filter: blur(2rem);
}
.modal .modal-dialog {
  width: 100%;
  max-width: 600px;
  transition: all 0.4s cubic-bezier(0.25, 3, 0.75, 1) !important;
  transition-delay: none !important;
}
.modal .modal-dialog.modal-dialog-centered {
  min-height: 100%;
}
.modal .modal-dialog .modal-content .modal-header {
  border-bottom: 1px solid var(--mfm-dark-100);
}
.modal .modal-dialog .modal-content .modal-body {
  padding: 1.5rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom));
}
.modal .modal-dialog .modal-content .modal-footer {
  gap: 0.375rem;
  padding: 0 1.5rem calc(1.5rem + env(safe-area-inset-bottom));
  border: none;
}
.modal .modal-dialog .modal-content .modal-footer > * {
  margin: 0;
}

@media (max-width: 35.9375em) {
  .modal.fade .modal-dialog {
    transform: translate3d(0, 100%, 0) scale3d(1, 1, 1);
    filter: none;
    transition: all 0.2s ease-in-out !important;
  }
  .modal.fade .modal-dialog-centered {
    align-items: end;
  }
}
.offcanvas {
  z-index: 20;
}

.offcanvas.offcanvas-start {
  width: 50vw;
  border-radius: 0 1.5rem 1.5rem 0;
}

.offcanvas.offcanvas-top {
  height: fit-content;
  border-radius: 0 0 1.5rem 1.5rem;
}

.modal-backdrop,
.offcanvas-backdrop {
  background-color: var(--mfm-black);
  backdrop-filter: blur(1rem);
  -webkit-backdrop-filter: blur(1rem);
  z-index: 10;
}

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