/* ================================================================= */
/* =========================  UTILITIES  =========================== */
/* ================================================================= */
@media print {
  .no-print {
    display: none !important;
  }
}

.hidden {
  display: none;
  visibility: hidden;
  opacity: 0;
}

.sticky {
  top: 20px;
  position: sticky;
  display: block;
}

.bg-dark {
  background-color: var(--clr-neutral-background);
}

.grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.flex {
  display: flex;
}

.flex-0 {
  flex: 0;
}

.flex-col {
  flex-direction: column;
}

.flex-b-content {
  flex-basis: content;
}

.justify-center {
  justify-content: center;
}

.justify-end {
  justify-content: flex-end;
}

.justify-start {
  justify-content: flex-start;
}

.items-center {
  align-items: center;
}

.inline-block {
  display: inline-block;
}

.flex-1 > * {
  flex: 1;
}

.flex-0 > * {
  flex: 0;
}

.flex-item-reset {
  flex: initial !important;
}

.block {
  display: block;
}

.rounded {
  border-radius: 5px;
}

.hover-highlight:hover {
  background-color: var(--clr-row-hover);
}

.flex-space-between {
  justify-content: space-between;
}

.relative {
  position: relative;
}

.w-full {
  width: 100%;
}

.w-content {
  width: fit-content;
}

.w-88 {
  width: 90px !important;
}

.w-auto {
  width: auto;
}

.text-subtitle {
  font-size: 0.9rem;
  font-weight: 400;
  color: var(--clr-text-secondary);
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.text-medium {
  font-weight: 600;
}

.text-bold {
  font-weight: 800;
}

.text-inverse {
  color: var(--clr-text-inverse);
}

.mt-0 {
  margin-top: 0;
}

.mt-1 {
  margin-top: var(--m-1);
}

.mt-2 {
  margin-top: var(--m-2);
}

.mt-3 {
  margin-top: var(--m-3);
}

.mt-4 {
  margin-top: var(--m-4);
}

.mt-5 {
  margin-top: var(--m-5);
}

.mb-0,
input.mb-0 {
  margin-bottom: 0;
}

.mb-1 {
  margin-bottom: var(--m-1);
}

.mb-2 {
  margin-bottom: var(--m-2);
}

.mb-3 {
  margin-bottom: var(--m-3);
}

.mb-4 {
  margin-bottom: var(--m-4);
}

.mb-5 {
  margin-bottom: var(--m-5);
}

.ml-1 {
  margin-left: var(--m-1);
}

.ml-2 {
  margin-left: var(--m-2);
}

.ml-3 {
  margin-left: var(--m-3);
}

.ml-4 {
  margin-left: var(--m-4);
}

.ml-5 {
  margin-left: var(--m-5);
}

.mr-1 {
  margin-right: var(--m-1);
}

.mr-2 {
  margin-right: var(--m-2);
}

.mr-3 {
  margin-right: var(--m-3);
}

.mr-4 {
  margin-right: var(--m-4);
}

.mr-5 {
  margin-right: var(--m-5);
}

.mx-1 {
  margin-inline: var(--m-1);
}

.mx-2 {
  margin-inline: var(--m-2);
}

.mx-3 {
  margin-inline: var(--m-3);
}

.mx-4 {
  margin-inline: var(--m-4);
}

.mx-5 {
  margin-inline: var(--m-5);
}

.my-1 {
  margin-block: var(--m-1);
}

.my-2 {
  margin-block: var(--m-2);
}

.my-3 {
  margin-block: var(--m-3);
}

.my-4 {
  margin-block: var(--m-4);
}

.my-5 {
  margin-block: var(--m-5);
}

.pb-1 {
  padding-bottom: var(--m-1);
}

.pb-2 {
  padding-bottom: var(--m-2);
}

.pb-3 {
  padding-bottom: var(--m-3);
}

.pb-4 {
  padding-bottom: var(--m-4);
}

.pb-5 {
  padding-bottom: var(--m-5);
}

.pt-1 {
  padding-top: var(--m-1);
}

.pt-2 {
  padding-top: var(--m-2);
}

.pt-3 {
  padding-top: var(--m-3);
}

.pt-4 {
  padding-top: var(--m-4);
}

.pt-5 {
  padding-top: var(--m-5);
}

.px-1 {
  padding-inline: var(--m-1);
}

.px-2 {
  padding-inline: var(--m-2);
}

.px-3 {
  padding-inline: var(--m-3);
}

.px-4 {
  padding-inline: var(--m-4);
}

.px-5 {
  padding-inline: var(--m-5);
}

.py-1 {
  padding-block: var(--m-1);
}

.py-2 {
  padding-block: var(--m-2);
}

.py-3 {
  padding-block: var(--m-3);
}

.py-4 {
  padding-block: var(--m-4);
}

.py-5 {
  padding-block: var(--m-5);
}

.p-1 {
  padding: var(--m-1);
}

.p-2 {
  padding: var(--m-2);
}

.p-3 {
  padding: var(--m-3);
}

.p-4 {
  padding: var(--m-4);
}

.p-5 {
  padding: var(--m-5);
}

.gap-1 {
  gap: var(--m-1);
}

.gap-2 {
  gap: var(--m-2);
}

.input-minw-50 {
  min-width: var(--iw-50);
}

.input-minw-100 {
  min-width: var(--iw-100);
}

.input-minw-200 {
  min-width: var(--iw-200);
}

.input-minw-300 {
  min-width: var(--iw-300);
}

.input-minw-400 {
  min-width: var(--iw-400);
}

.input-minw-500 {
  min-width: var(--iw-500);
}

.input-minw-600 {
  min-width: var(--iw-600);
}

.input-minw-700 {
  min-width: var(--iw-700);
}

.input-minw-800 {
  min-width: var(--iw-800);
}

.input-minw-900 {
  min-width: var(--iw-900);
}

.input-maxw-50 {
  max-width: var(--iw-50);
}

.input-maxw-100 {
  max-width: var(--iw-100);
}

.input-maxw-200 {
  max-width: var(--iw-200);
}

.input-maxw-300 {
  max-width: var(--iw-300);
}

.input-maxw-400 {
  max-width: var(--iw-400);
}

.input-maxw-500 {
  max-width: var(--iw-500);
}

.input-maxw-600 {
  max-width: var(--iw-600);
}

.input-maxw-700 {
  max-width: var(--iw-700);
}

.input-maxw-800 {
  max-width: var(--iw-800);
}

.input-maxw-900 {
  max-width: var(--iw-900);
}
