/*
Since V4, Tailwind started using @layer directive and places the generated output in @layer utilities. This made tailwind classes weaker and the * from the resetter (preflight) was overriding generated tailwind.
 */
@layer backpack-ui {
  :root {
    --slate-50: #f8fafc;
    --slate-100: #f1f5f9;
    --slate-200: #e2e8f0;
    --slate-300: #cbd5e1;
    --slate-400: #94a3b8;
    --slate-500: #64748b;
    --slate-600: #475569;
    --slate-700: #334155;
    --slate-800: #1e293b;
    --slate-900: #0f172a;
    --slate-950: #020617;
    --gray-50: #f9fafb;
    --gray-100: #f3f4f6;
    --gray-200: #e5e7eb;
    --gray-300: #d1d5db;
    --gray-400: #9ca3af;
    --gray-500: #6b7280;
    --gray-600: #4b5563;
    --gray-700: #374151;
    --gray-800: #1f2937;
    --gray-900: #111827;
    --gray-950: #030712;
    --zinc-50: #fafafa;
    --zinc-100: #f4f4f5;
    --zinc-200: #e4e4e7;
    --zinc-300: #d4d4d8;
    --zinc-400: #a1a1aa;
    --zinc-500: #71717a;
    --zinc-600: #52525b;
    --zinc-700: #3f3f46;
    --zinc-800: #27272a;
    --zinc-900: #18181b;
    --zinc-950: #09090b;
    --neutral-0: #ffffff;
    --neutral-50: #fafafa;
    --neutral-100: #f5f5f5;
    --neutral-200: #e5e5e5;
    --neutral-300: #d4d4d4;
    --neutral-400: #a3a3a3;
    --neutral-500: #737373;
    --neutral-600: #525252;
    --neutral-700: #404040;
    --neutral-800: #262626;
    --neutral-900: #171717;
    --neutral-950: #0a0a0a;
    --stone-50: #fafaf9;
    --stone-100: #f5f5f4;
    --stone-200: #e7e5e4;
    --stone-300: #d6d3d1;
    --stone-400: #a8a29e;
    --stone-500: #78716c;
    --stone-600: #57534e;
    --stone-700: #44403c;
    --stone-800: #292524;
    --stone-900: #1c1917;
    --stone-950: #0c0a09;
    --red-50: #fff2f1;
    --red-100: #ffe1df;
    --red-200: #ffc9c5;
    --red-300: #ffa39c;
    --red-400: #ff6f63;
    --red-500: #ff5447;
    --red-600: #f1392b;
    --red-700: #ca190b;
    --red-800: #a6190e;
    --red-900: #8c1c13;
    --red-950: #4b0904;
    --orange-50: #fff9f1;
    --orange-100: #fff1dd;
    --orange-200: #ffdfba;
    --orange-300: #ffc88e;
    --orange-400: #fea861;
    --orange-500: #fd8e41;
    --orange-600: #f06821;
    --orange-700: #c54009;
    --orange-800: #96310f;
    --orange-900: #7e2c10;
    --orange-950: #441306;
    --yellow-50: #FFECC5;
    --yellow-100: #FBDD9E;
    --yellow-200: #F7CF76;
    --yellow-300: #F4C04F;
    --yellow-400: #F0B227;
    --yellow-500: #ECA300;
    --yellow-600: #C78900;
    --yellow-700: #A26F00;
    --yellow-800: #7D5500;
    --yellow-900: #583B00;
    --yellow-950: #332100;
    --lemon-50: #fffeea;
    --lemon-100: #fffdc5;
    --lemon-200: #fffb87;
    --lemon-300: #fff248;
    --lemon-400: #ffe51e;
    --lemon-500: #fcc604;
    --lemon-600: #eca300;
    --lemon-700: #b96e04;
    --lemon-800: #96550a;
    --lemon-900: #7b450c;
    --lemon-950: #472401;
    --lime-50: #f4feea;
    --lime-100: #eafcd6;
    --lime-200: #d0f8aa;
    --lime-300: #b9f285;
    --lime-400: #a0e960;
    --lime-500: #86d348;
    --lime-600: #61aa2a;
    --lime-700: #3f7b13;
    --lime-800: #336014;
    --lime-900: #2a4d14;
    --lime-950: #142d06;
    --green-50: #f4fdf5;
    --green-100: #e5fbe8;
    --green-200: #ccf5d1;
    --green-300: #a4edad;
    --green-400: #76dd85;
    --green-500: #42c154;
    --green-600: #1f9a30;
    --green-700: #1c792a;
    --green-800: #1b6025;
    --green-900: #184f22;
    --green-950: #082d0f;
    --emerald-50: #D3F4E9;
    --emerald-100: #ACE8D6;
    --emerald-200: #86DCC3;
    --emerald-300: #5FCFB0;
    --emerald-400: #39C39D;
    --emerald-500: #12B78A;
    --emerald-600: #13A179;
    --emerald-700: #148B68;
    --emerald-800: #157558;
    --emerald-900: #165F47;
    --emerald-950: #174936;
    --teal-50: #f2fbfa;
    --teal-100: #d5f2f0;
    --teal-200: #aae5e0;
    --teal-300: #78d0cd;
    --teal-400: #5bbbbb;
    --teal-500: #339799;
    --teal-600: #26787b;
    --teal-700: #226063;
    --teal-800: #1f4d50;
    --teal-900: #1e4143;
    --teal-950: #0c2527;
    --cyan-50: #DEFAFF;
    --cyan-100: #B2F0FC;
    --cyan-200: #85E5F9;
    --cyan-300: #59DBF7;
    --cyan-400: #2CD0F4;
    --cyan-500: #00C6F1;
    --cyan-600: #00A9CD;
    --cyan-700: #008CA9;
    --cyan-800: #006E85;
    --cyan-900: #005161;
    --cyan-950: #00343D;
    --sky-50: #f0faff;
    --sky-100: #dff4ff;
    --sky-200: #b9eafe;
    --sky-300: #7bdcfe;
    --sky-400: #35cafb;
    --sky-500: #0ab4ed;
    --sky-600: #0092ca;
    --sky-700: #0074a4;
    --sky-800: #05668d;
    --sky-900: #0a5070;
    --sky-950: #07334a;
    --blue-50: #D6EEFC;
    --blue-100: #BFD8EA;
    --blue-200: #A7C2D8;
    --blue-300: #90ACC6;
    --blue-400: #7996B5;
    --blue-500: #617FA3;
    --blue-600: #4A6991;
    --blue-700: #32537F;
    --blue-800: #1B3D6D;
    --blue-900: #142E51;
    --blue-950: #0C1F35;
    --indigo-50: #eef2ff;
    --indigo-100: #dfe9ff;
    --indigo-200: #c6d5ff;
    --indigo-300: #a3b9fe;
    --indigo-400: #7f92fa;
    --indigo-500: #5462f3;
    --indigo-600: #4345e8;
    --indigo-700: #3735cd;
    --indigo-800: #2e2fa5;
    --indigo-900: #2c2f83;
    --indigo-950: #1a1a4c;
    --violet-50: #f4f3ff;
    --violet-100: #ece9fe;
    --violet-200: #dad6fe;
    --violet-300: #bfb4fe;
    --violet-400: #9e8afb;
    --violet-500: #7f5af8;
    --violet-600: #6f38ef;
    --violet-700: #6126db;
    --violet-800: #511fb8;
    --violet-900: #441c96;
    --violet-950: #280f66;
    --purple-50: #faf8fc;
    --purple-100: #f3eef9;
    --purple-200: #eae0f4;
    --purple-300: #d8c8ea;
    --purple-400: #bfa4dc;
    --purple-500: #a079c9;
    --purple-600: #8d45d8;
    --purple-700: #7950a0;
    --purple-800: #664584;
    --purple-900: #54386b;
    --purple-950: #37204b;
    --fuchsia-50: #fef7ff;
    --fuchsia-100: #fceeff;
    --fuchsia-200: #faddff;
    --fuchsia-300: #f7c2ff;
    --fuchsia-400: #f59eff;
    --fuchsia-500: #ec7aff;
    --fuchsia-600: #d74dfb;
    --fuchsia-700: #b933d9;
    --fuchsia-800: #971ab2;
    --fuchsia-900: #701e7e;
    --fuchsia-950: #611a6e;
    --pink-50: #fef1f8;
    --pink-100: #fde6f3;
    --pink-200: #fecce9;
    --pink-300: #fea3d5;
    --pink-400: #fd78bf;
    --pink-500: #f850a5;
    --pink-600: #e93285;
    --pink-700: #c90d5d;
    --pink-800: #a40e4c;
    --pink-900: #8a1143;
    --pink-950: #550224;
    --rose-50: #fff2f5;
    --rose-100: #ffe3e9;
    --rose-200: #ffcbd5;
    --rose-300: #ffa7b9;
    --rose-400: #ff7590;
    --rose-500: #ff4a6e;
    --rose-600: #ff1a47;
    --rose-700: #e01a41;
    --rose-800: #b60024;
    --rose-900: #890620;
    --rose-950: #530010;
    --terracotta-50: #fdf5f3;
    --terracotta-100: #fbe9e5;
    --terracotta-200: #f9d6cf;
    --terracotta-300: #f4b9ad;
    --terracotta-400: #e87c67;
    --terracotta-500: #df6b54;
    --terracotta-600: #cb4f37;
    --terracotta-700: #aa402b;
    --terracotta-800: #8d3827;
    --terracotta-900: #763326;
    --terracotta-950: #40170f;
  }
  :root {
    --font-primary: 'Poppins', sans-serif;
    --font-secondary: 'Nunito Sans', sans-serif;
    --font-size: clamp(0.75rem, 1.25vw, 0.8125rem);
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-semi-bold: 600;
    --font-weight-bold: 700;
    --font-weight-extra-bold: 900;
    --background-color: var(--slate-100);
    --foreground-color: var(--blue-950);
    --border-color: var(--slate-300);
    --primary-color: var(--purple-700);
    --primary-color-hover: var(--purple-500);
    --secondary-color: var(--teal-500);
    --secondary-color-light: var(--teal-200);
    --secondary-color-hover: var(--teal-400);
    --tertiary-color: var(--slate-700);
    --tertiary-color-hover: var(--slate-500);
    --outline-color: var(--slate-300);
    --outline-color-hover: var(--slate-600);
    --outline-dark-color: var(--slate-600);
    --outline-dark-color-hover: var(--slate-300);
    --outline-none-color: transparent;
    --outline-none-color-hover: var(--slate-300);
    --notification-color: var(--red-500);
    --notification-text: var(--neutral-100);
    --link-color: var(--sky-600);
    --link-color-visited: var(--purple-600);
    --link-color-hover: var(--sky-800);
    --info-color: var(--sky-600);
    --info-color-light: var(--sky-200);
    --success-color: var(--lime-600);
    --success-color-light: var(--lime-200);
    --warning-color: var(--orange-600);
    --warning-color-light: var(--orange-200);
    --error-color: var(--red-600);
    --error-color-light: var(--red-200);
    --blue-color: var(--sky-400);
    --gray-color: var(--neutral-400);
    --green-color: var(--lime-400);
    --orange-color: var(--orange-400);
    --red-color: var(--red-400);
    --yellow-color: var(--yellow-400);
    --bp-6xs: 0.125rem;
    --bp-5xs: 0.25rem;
    --bp-4xs: 0.375rem;
    --bp-3xs: 0.5rem;
    --bp-2xs: 0.625rem;
    --bp-xs: 0.75rem;
    --bp-sm: 0.875rem;
    --bp-md: 1rem;
    --bp-lg: 1.125rem;
    --bp-xl: 1.25rem;
    --bp-2xl: 1.375rem;
    --bp-3xl: 1.5rem;
    --bp-4xl: 1.625rem;
    --bp-5xl: 1.75rem;
    --bp-6xl: 1.875rem;
    --bp-7xl: 2rem;
    --bp-8xl: 2.125rem;
    --bp-9xl: 2.25rem;
    --box-shadow: 0 var(--bp-6xs) var(--bp-4xs) rgba(0, 0, 0, 0.25);
    --box-shadow-hover: 0 var(--bp-6xs) var(--bp-4xs);
    --transition-duration: 0.125s;
    --transition-timing-function: ease-in-out;
  }
  .strongmind-k-2 {
    --font-size: calc(clamp(0.875rem, 1.094vw, 0.875rem) * 1.25);
  }
  :root,
  .strongmind-k-2 {
    --button-default-background-color: var(--neutral-200);
    --button-default-border-color: transparent;
    --button-default-color: var(--foreground-color);
    --button-default-background-color-hover: var(--border-color);
    --button-default-border-color-hover: var(--border-color);
    --button-default-color-hover: var(--foreground-color);
    --button-default-color-visited: var(--foreground-color);
    --button-disabled-background-color: var(--background-color);
    --button-disabled-border-color: var(--background-color);
    --button-disabled-color: var(--gray-color);
    --button-primary-background-color: var(--primary-color);
    --button-primary-border-color: var(--primary-color);
    --button-primary-color: var(--neutral-0);
    --button-primary-background-color-hover: var(--primary-color-hover);
    --button-primary-border-color-hover: var(--primary-color-hover);
    --button-primary-color-hover: var(--neutral-0);
    --button-primary-color-visited: var(--neutral-0);
    --button-secondary-background-color: var(--secondary-color);
    --button-secondary-border-color: var(--secondary-color);
    --button-secondary-color: var(--neutral-0);
    --button-secondary-background-color-hover: var(--secondary-color-hover);
    --button-secondary-border-color-hover: var(--secondary-color-hover);
    --button-secondary-color-hover: var(--neutral-0);
    --button-secondary-color-visited: var(--neutral-0);
    --button-tertiary-background-color: var(--tertiary-color);
    --button-tertiary-border-color: var(--tertiary-color);
    --button-tertiary-color: var(--neutral-0);
    --button-tertiary-background-color-hover: var(--tertiary-color-hover);
    --button-tertiary-border-color-hover: var(--tertiary-color-hover);
    --button-tertiary-color-hover: var(--neutral-0);
    --button-tertiary-color-visited: var(--neutral-0);
    --button-outline-background-color: transparent;
    --button-outline-border-color: var(--outline-color);
    --button-outline-color: var(--foreground-color);
    --button-outline-background-color-hover: var(--outline-color);
    --button-outline-border-color-hover: var(--outline-color-hover);
    --button-outline-color-hover: var(--foreground-color);
    --button-outline-color-visited: var(--foreground-color);
    --button-outline-dark-background-color: transparent;
    --button-outline-dark-border-color: var(--outline-dark-color);
    --button-outline-dark-color: var(--background-color);
    --button-outline-dark-background-color-hover: transparent;
    --button-outline-dark-border-color-hover: var(--outline-dark-color-hover);
    --button-outline-dark-color-hover: var(--background-color);
    --button-outline-dark-color-visited: var(--background-color);
    --button-outline-none-background-color: var(--outline-none-color);
    --button-outline-none-border-color: var(--outline-none-color);
    --button-outline-none-color: var(--foreground-color);
    --button-outline-none-background-color-hover: var(--outline-none-color-hover);
    --button-outline-none-border-color-hover: var(--outline-none-color-hover);
    --button-outline-none-color-hover: var(--foreground-color);
    --button-outline-none-color-visited: var(--foreground-color);
    --button-link-background-color: transparent;
    --button-link-color: var(--foreground-color);
    --button-link-background-color-hover: transparent;
    --button-link-color-hover: var(--foreground-color);
    --button-delete-background-color: transparent;
    --button-delete-border-color: var(--error-color);
    --button-delete-color: var(--error-color);
    --button-delete-background-color-hover: var(--error-color);
    --button-delete-border-color-hover: var(--error-color);
    --button-delete-color-hover: var(--background-color);
  }
  .strongmind-ui-dark {
    --button-secondary-color: var(--foreground-color);
    --button-secondary-color-hover: var(--foreground-color);
    --button-secondary-color-visited: var(--foreground-color);
  }
  .strongmind-branding {
    --button-shared-color: var(--neutral-0);
    --button-primary-color: var(--button-shared-color);
    --button-primary-color-hover: var(--button-shared-color);
    --button-primary-color-visited: var(--button-shared-color);
    --button-secondary-color: var(--button-shared-color);
    --button-secondary-color-hover: var(--button-shared-color);
    --button-secondary-color-visited: var(--button-shared-color);
    --button-tertiary-color: var(--button-shared-color);
    --button-tertiary-color-hover: var(--button-shared-color);
    --button-tertiary-color-visited: var(--button-shared-color);
    --button-outline-border-color: var(--blue-950);
    --button-outline-border-color-hover: var(--blue-950);
    --button-outline-color-hover: var(--button-shared-color);
    --button-outline-background-color-hover: var(--blue-950);
  }
  :root,
  .strongmind-k-2 {
    --input-button-accent-color: var(--background-color);
    --input-button-accent-color-checked: var(--foreground-color);
    --input-button-color-checked: var(--input-button-accent-color-checked);
    --input-button-outline-color-checked: var(--input-button-accent-color-checked);
    --input-button-toggle-background-color: var(--outline-color);
    --input-button-toggle-switch-background-color: var(--background-color);
    --input-button-toggle-background-color-checked: var(--primary-color);
  }
  :root,
  .strongmind-k-2 {
    --input-group-error-background-color: var(--red-50);
    --input-group-error-helper-text-color: var(--error-color);
    --input-group-error-label-text-color: var(--error-color);
    --input-group-disabled-helper-text-color: var(--gray-color);
  }
  :root,
  .strongmind-k-2 {
    --text-input-border-color: var(--outline-color);
    --text-input-border-color-active: var(--outline-color-hover);
    --text-input-placeholder-color: var(--gray-color);
    --text-input-border-color-error: var(--error-color);
    --text-input-border-color-disabled: var(--outline-color);
    --text-input-color-disabled: var(--text-input-border-color-disabled);
    --text-input-icon-color-disabled: var(--text-input-border-color-disabled);
    --text-input-placeholder-color-disabled: var(--text-input-border-color-disabled);
  }
  :root,
  .strongmind-k-2 {
    --dropdown-border-color: var(--outline-color);
    --dropdown-border-color-active: var(--outline-color-hover);
    --dropdown-border-color-error: var(--error-color);
    --dropdown-border-color-error-active: var(--dropdown-border-color-error);
    --dropdown-outline-color-error-active: var(--dropdown-border-color-error);
    --dropdown-border-color-disabled: var(--outline-color);
    --dropdown-color-disabled: var(--dropdown-border-color-disabled);
  }
  :root,
  .strongmind-k-2 {
    --alert-icon-background-color: var(--foreground-color);
    --alert-icon-color: var(--background-color);
    --alert-info-icon-background-color: var(--info-color-light);
    --alert-info-icon-color: var(--info-color);
    --alert-success-icon-background-color: var(--success-color-light);
    --alert-success-icon-color: var(--success-color);
    --alert-warning-icon-background-color: var(--warning-color-light);
    --alert-warning-icon-color: var(--warning-color);
    --alert-error-icon-background-color: var(--error-color-light);
    --alert-error-icon-color: var(--error-color);
  }
  :root,
  .strongmind-k-2 {
    --section-message-no-access-icon-background-color: var(--secondary-color-light);
    --section-message-no-access-icon-color: var(--secondary-color);
  }
  :root,
  .strongmind-k-2 {
    --progress-label-foreground: var(--neutral-600);
    --progress-bar-container-background: var(--gray-200);
    --progress-bar-gradient-start: var(--fuchsia-700);
    --progress-bar-gradient-end: var(--fuchsia-900);
    --progress-percent-foreground: var(--progress-label-foreground);
    --progress-icon-foreground: var(--neutral-700);
    --progress-icon-background: var(--neutral-0);
    --progress-icon-border: var(--neutral-200);
    --progress-icon-filled-foreground: var(--neutral-0);
    --progress-icon-filled-background: var(--fuchsia-900);
    --progress-icon-filled-border: none;
  }
  @supports (view-transition-name: none) {
    @view-transition {
      navigation: auto;
    }
  }
  html {
    font-size: var(--font-size);
  }
  body {
    font-family: var(--font-secondary);
    color: var(--blue-950);
  }
  .strongmind-ui i[class^='fa-'],
  .strongmind-k-2 i[class^='fa-'] {
      --fa-display: flex;
      align-items: center;
      display: var(--fa-display);
      font-style: normal;
      justify-content: center;
      min-height: 0.75rem;
  }
  hr {
    border-top: 1px solid var(--slate-200);
  }
  .sm-loader {
    display: flex;
    justify-content: center;
  }
  .sm-loader canvas {
    margin: auto;
    pointer-events: none;
    width: 50%;
    height: auto;
  }
  @media screen and (min-width: 768px) {
    .sm-loader canvas {
      width: auto;
      height: auto;
    }
  }
  .logo-loader {
    display: inline-block;
    animation: fade 2s ease-in-out infinite alternate;
  }
  @keyframes fade {
    0% {
      opacity: 0.5;
    }
    100% {
      opacity: 1;
    }
  }
  .sm-tag {
    align-items: center;
    background-color: var(--slate-200);
    border-radius: var(--bp-lg);
    display: inline-flex;
    font-size: var(--bp-sm);
    line-height: 1.5;
    padding: var(--bp-5xs) var(--bp-2xs) var(--bp-5xs) var(--bp-xs);
    width: fit-content;
  }
  .sm-tag i.fa-close {
    align-items: center;
    aspect-ratio: 1 / 1;
    border-radius: var(--bp-lg);
    cursor: pointer;
    display: flex;
    padding: var(--bp-5xs);
    justify-content: center;
    transition-property: background-color, color;
    transition-duration: 0.12s;
    transition-timing-function: ease-in-out;
    transform: translateX(var(--bp-5xs));
  }
  @media (hover: hover) {
    .sm-tag i.fa-close:hover {
      background-color: #ffffff;
    }
  }
  .sm-tag-gray {
    background-color: var(--slate-200);
    color: var(--slate-800);
  }
  @media (hover: hover) {
    .sm-tag-gray i.fa-close:hover {
      background-color: var(--slate-800);
      color: var(--slate-100);
    }
  }
  .sm-tag-red {
    background-color: var(--red-100);
    color: var(--red-800);
  }
  @media (hover: hover) {
    .sm-tag-red i.fa-close:hover {
      background-color: var(--red-800);
      color: var(--red-100);
    }
  }
  .sm-tag-orange {
    background-color: var(--orange-100);
    color: var(--orange-800);
  }
  @media (hover: hover) {
    .sm-tag-orange i.fa-close:hover {
      background-color: var(--orange-800);
      color: var(--orange-100);
    }
  }
  .sm-tag-yellow {
    background-color: var(--yellow-100);
    color: var(--yellow-800);
  }
  @media (hover: hover) {
    .sm-tag-yellow i.fa-close:hover {
      background-color: var(--yellow-800);
      color: var(--yellow-100);
    }
  }
  .sm-tag-lemon {
    background-color: var(--lemon-100);
    color: var(--lemon-800);
  }
  @media (hover: hover) {
    .sm-tag-lemon i.fa-close:hover {
      background-color: var(--lemon-800);
      color: var(--lemon-100);
    }
  }
  .sm-tag-lime {
    background-color: var(--lime-100);
    color: var(--lime-800);
  }
  @media (hover: hover) {
    .sm-tag-lime i.fa-close:hover {
      background-color: var(--lime-800);
      color: var(--lime-100);
    }
  }
  .sm-tag-green {
    background-color: var(--green-100);
    color: var(--green-800);
  }
  @media (hover: hover) {
    .sm-tag-green i.fa-close:hover {
      background-color: var(--green-800);
      color: var(--green-100);
    }
  }
  .sm-tag-emerald {
    background-color: var(--emerald-100);
    color: var(--emerald-800);
  }
  @media (hover: hover) {
    .sm-tag-emerald i.fa-close:hover {
      background-color: var(--emerald-800);
      color: var(--emerald-100);
    }
  }
  .sm-tag-teal {
    background-color: var(--teal-100);
    color: var(--teal-800);
  }
  @media (hover: hover) {
    .sm-tag-teal i.fa-close:hover {
      background-color: var(--teal-800);
      color: var(--teal-100);
    }
  }
  .sm-tag-cyan {
    background-color: var(--cyan-100);
    color: var(--cyan-800);
  }
  @media (hover: hover) {
    .sm-tag-cyan i.fa-close:hover {
      background-color: var(--cyan-800);
      color: var(--cyan-100);
    }
  }
  .sm-tag-sky {
    background-color: var(--sky-100);
    color: var(--sky-800);
  }
  @media (hover: hover) {
    .sm-tag-sky i.fa-close:hover {
      background-color: var(--sky-800);
      color: var(--sky-100);
    }
  }
  .sm-tag-blue {
    background-color: var(--blue-100);
    color: var(--blue-800);
  }
  @media (hover: hover) {
    .sm-tag-blue i.fa-close:hover {
      background-color: var(--blue-800);
      color: var(--blue-100);
    }
  }
  .sm-tag-indigo {
    background-color: var(--indigo-100);
    color: var(--indigo-800);
  }
  @media (hover: hover) {
    .sm-tag-indigo i.fa-close:hover {
      background-color: var(--indigo-800);
      color: var(--indigo-100);
    }
  }
  .sm-tag-violet {
    background-color: var(--violet-100);
    color: var(--violet-800);
  }
  @media (hover: hover) {
    .sm-tag-violet i.fa-close:hover {
      background-color: var(--violet-800);
      color: var(--violet-100);
    }
  }
  .sm-tag-purple {
    background-color: var(--purple-100);
    color: var(--purple-800);
  }
  @media (hover: hover) {
    .sm-tag-purple i.fa-close:hover {
      background-color: var(--purple-800);
      color: var(--purple-100);
    }
  }
  .sm-tag-fuchsia {
    background-color: var(--fuchsia-100);
    color: var(--fuchsia-800);
  }
  @media (hover: hover) {
    .sm-tag-fuchsia i.fa-close:hover {
      background-color: var(--fuchsia-800);
      color: var(--fuchsia-100);
    }
  }
  .sm-tag-pink {
    background-color: var(--pink-100);
    color: var(--pink-800);
  }
  @media (hover: hover) {
    .sm-tag-pink i.fa-close:hover {
      background-color: var(--pink-800);
      color: var(--pink-100);
    }
  }
  .sm-tag-rose {
    background-color: var(--rose-100);
    color: var(--rose-800);
  }
  @media (hover: hover) {
    .sm-tag-rose i.fa-close:hover {
      background-color: var(--rose-800);
      color: var(--rose-100);
    }
  }
  table {
    border-collapse: collapse;
    width: 100%;
  }
  table caption {
    padding: var(--bp-xs) var(--bp-lg);
  }
  table td {
    padding: var(--bp-xs) var(--bp-lg);
    vertical-align: baseline;
  }
  table td:has(img) {
    vertical-align: top;
  }
  table thead th {
    font-weight: var(--font-weight-semi-bold);
    padding: var(--bp-xs) var(--bp-lg);
    vertical-align: bottom;
  }
  table thead th .column-header {
    display: flex;
    justify-content: space-between;
    white-space: nowrap;
    gap: var(--bp-3xs);
  }
  table tbody tr {
    background-color: var(--neutral-0);
    border: 1px var(--slate-100) solid;
  }
  table tbody tr:nth-of-type(odd) {
    background-color: var(--slate-100);
  }
  table tbody tr td:not(:last-of-type) {
    border-bottom: 1px var(--slate-100) solid;
  }
  :root,
  .strongmind-k-2 {
    --tab-background-color: transparent;
    --tab-foreground-color: var(--foreground-color);
    --tab-foreground-color-hover: var(--tab-foreground-color);
    --tab-box-shadow-color: var(--primary-color);
    --tab-light-foreground-color: var(--neutral-500);
    --tab-light-foreground-color-hover: var(--neutral-700);
    --tab-dark-foreground-color: var(--neutral-400);
    --tab-dark-foreground-color-hover: var(--neutral-50);
  }
  .sm-tab-container {
    display: flex;
    flex-wrap: wrap;
  }
  .sm-tab {
    align-items: center;
    color: var(--tab-foreground-color);
    cursor: pointer;
    display: flex;
    gap: var(--bp-2xs);
    padding: var(--bp-md) var(--bp-2xl);
    text-decoration: none;
    transition-duration: 0.12s;
    transition-property: background-color, border-color, color, box-shadow;
    transition-timing-function: ease-in-out;
    background-color: var(--tab-background-color);
    outline: none;
    white-space: nowrap;
  }
  .sm-tab:hover,
  .sm-tab:focus {
    color: var(--tab-foreground-color-hover);
    text-decoration: none;
    outline-offset: -1px;
  }
  .sm-tab.sm-tab-selected,
  .sm-tab:hover,
  .sm-tab:focus {
    box-shadow: 0px -4px 0px 0px var(--tab-box-shadow-color) inset;
    outline-offset: -1px;
  }
  .sm-tab > * {
    height: 1.5rem;
    transition-duration: 0.12s;
    transition-property: background-color, border-color, color, box-shadow;
    transition-timing-function: ease-in-out;
  }
  .sm-tab i:only-child {
    aspect-ratio: 1 / 1;
    width: 1.5rem;
  }
  .sm-tab-light span,
  .sm-tab-light i {
    color: var(--tab-light-foreground-color);
  }
  .sm-tab-light.sm-tab-selected span,
  .sm-tab-light:hover span,
  .sm-tab-light:focus span,
  .sm-tab-light.sm-tab-selected i,
  .sm-tab-light:hover i,
  .sm-tab-light:focus i {
    color: var(--tab-light-foreground-color-hover);
  }
  .sm-tab-dark span,
  .sm-tab-dark i {
    color: var(--tab-dark-foreground-color);
  }
  .sm-tab-dark.sm-tab-selected span,
  .sm-tab-dark:hover span,
  .sm-tab-dark:focus span,
  .sm-tab-dark.sm-tab-selected i,
  .sm-tab-dark:hover i,
  .sm-tab-dark:focus i {
    color: var(--tab-dark-foreground-color-hover);
  }
  .sm-empty-state {
    display: flex;
    justify-content: center;
  }
  .sm-empty-state canvas {
    margin: auto;
    pointer-events: none;
    width: 50%;
    height: auto;
  }
  @media screen and (min-width: 768px) {
    .sm-empty-state canvas {
      width: auto;
      height: auto;
    }
  }
  .sm-accordion {
    display: flex;
    flex-direction: column;
    will-change: height;
  }
  .sm-accordion > summary {
    display: flex;
    align-items: center;
    padding: var(--bp-xs) var(--bp-2xl);
    flex: 1 0 0;
    background: var(--slate-50);
    border: 1px solid var(--slate-300);
    border-radius: var(--bp-sm);
    justify-content: space-between;
    gap: var(--bp-xs);
    transition: background 0.24s ease-in-out, border-radius 0.24s ease-in-out;
  }
  .sm-accordion > summary::-webkit-details-marker {
    display: none;
  }
  .sm-accordion > summary:hover {
    background: var(--slate-100);
    cursor: pointer;
  }
  .sm-accordion > summary > div {
    display: flex;
    gap: var(--bp-xs);
  }
  .sm-accordion > summary > div:first-child {
    overflow: hidden;
  }
  .sm-accordion > summary i[class*='fa-'] {
    /* transform: translate3d(0, 0, 0); */
    /* backface-visibility: hidden; */
  }
  .sm-accordion[open] > summary {
    background: var(--slate-100);
    border-bottom: 1px solid var(--slate-200);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .sm-accordion > div {
    background: var(--neutral-0);
    flex-direction: column;
    gap: var(--bp-3xs);
    display: flex;
    padding: var(--bp-md) var(--bp-2xl);
    border: 1px solid var(--slate-300);
    border-top: none;
    border-bottom-left-radius: var(--bp-sm);
    border-bottom-right-radius: var(--bp-sm);
    /* transform: translate3d(0, 0, 0); */
    /* backface-visibility: hidden; */
  }
  .sm-accordion > div > * {
    /* transform: translate3d(0, 0, 0); */
    /* backface-visibility: hidden; */
  }
  .sm-accordion-light > summary {
    background: transparent;
  }
  .sm-accordion-light > summary:hover {
    background: transparent;
  }
  .sm-alert {
    padding: var(--bp-xs);
    background: var(--neutral-0);
    box-shadow: var(--box-shadow);
    border-radius: var(--bp-sm);
  }
  .icon-container {
    align-items: center;
    background-color: var(--alert-icon-background-color);
    border-radius: var(--bp-3xs);
    display: flex;
    justify-content: center;
    padding: var(--bp-xs);
  }
  .icon-container i[class^='fa-'] {
    aspect-ratio: 1 / 1;
    color: var(--alert-icon-color);
    min-height: 20px;
  }
  .sm-alert-info .icon-container {
    background-color: var(--alert-info-icon-background-color);
  }
  .sm-alert-info .icon-container i[class^='fa-'] {
    color: var(--alert-info-icon-color);
  }
  .sm-alert-success .icon-container {
    background-color: var(--alert-success-icon-background-color);
  }
  .sm-alert-success .icon-container i[class^='fa-'] {
    color: var(--alert-success-icon-color);
  }
  .sm-alert-warning .icon-container {
    background-color: var(--alert-warning-icon-background-color);
  }
  .sm-alert-warning .icon-container i[class^='fa-'] {
    color: var(--alert-warning-icon-color);
  }
  .sm-alert-error .icon-container {
    background-color: var(--alert-error-icon-background-color);
  }
  .sm-alert-error .icon-container i[class^='fa-'] {
    color: var(--alert-error-icon-color);
  }
  .sm-alert-from-top {
    top: -6rem;
    position: relative;
    transition: 240ms top cubic-bezier(0.6, -0.28, 0.74, 0.05);
  }
  .sm-alert-from-top-active {
    top: 0;
    transition: 240ms top cubic-bezier(0.18, 0.89, 0.32, 1.28);
  }
  .sm-section-message {
    padding: var(--bp-xs);
    border-radius: var(--bp-sm);
    background-color: var(--neutral-0);
    border: 1px solid var(--outline-color);
    gap: var(--bp-xs);
  }
  .sm-section-message-no-access .icon-container {
    background-color: var(--section-message-no-access-icon-background-color);
  }
  .sm-section-message-no-access .icon-container i[class^='fa-'] {
    color: var(--section-message-no-access-icon-color);
  }
  .sm-section-message-info .icon-container {
    background-color: var(--alert-info-icon-background-color);
  }
  .sm-section-message-info .icon-container i[class^='fa-'] {
    color: var(--alert-info-icon-color);
  }
  .sm-section-message-error .icon-container {
    background-color: var(--alert-error-icon-background-color);
  }
  .sm-section-message-error .icon-container i[class^='fa-'] {
    color: var(--alert-error-icon-color);
  }
  .sm-section-message-empty-state .icon-container {
    background-color: var(--alert-warning-icon-background-color);
  }
  .sm-section-message-empty-state .icon-container i[class^='fa-'] {
    color: var(--alert-warning-icon-color);
  }
  .sm-section-message-announcement .icon-container {
    background-color: var(--alert-section-message-icon-background-color);
  }
  .sm-section-message-announcement .icon-container i[class^='fa-'] {
    color: var(--alert-section-message-icon-color);
  }
  .announcement-container {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    border-radius: 0.5rem;
    background-color: white;
    border-left-width: 2rem;
    border-left-style: solid;
    border-left-color: #66a324;
    box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.15);
  }
  .announcement-body {
    display: flex;
    flex-direction: column;
    padding-left: 2rem;
    padding: 1.5rem 2rem;
    height: 100%;
    width: 100%;
  }
  @media screen and (min-width: 640px) {
    .announcement-body {
      padding: 2.5rem 4rem;
    }
  }
  .announcement-body > div:not(:first-of-type) {
    margin-top: 1rem;
  }
  .announcement-heading {
    display: flex;
    align-items: center;
    color: #66a324;
  }
  @media screen and (min-width: 640px) {
    .announcement-heading {
      padding-bottom: 0.5rem;
    }
  }
  .announcement-heading h2 {
    margin-left: 1rem;
    font-size: 20px;
  }
  @media screen and (min-width: 640px) {
    .announcement-heading h2 {
      margin-left: 1rem;
      font-size: 24px;
    }
  }
  .announcement-heading i[class^='fa-'] {
    font-size: 16px;
  }
  @media screen and (min-width: 640px) {
    .announcement-heading i[class^='fa-'] {
      font-size: 24px;
    }
  }
  .announcement-message h4 {
    font-size: 16px;
  }
  @media screen and (min-width: 640px) {
    .announcement-message h4 {
      font-size: 20px;
    }
  }
  .announcement-message p {
    margin-top: 0.5rem;
  }
  .sm-animated-container {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-template-rows: repeat(1, minmax(0, 1fr));
    flex: 1 1 0%;
    min-width: 320px;
    color: var(--foreground-color);
    border-radius: var(--bp-sm);
    border: 1px solid var(--outline-color);
    transition: all var(--transition-duration) var(--transition-timing-function);
    cursor: pointer;
    background-color: var(--neutral-0);
    --card-animation-color: var(--gray-color);
  }
  .sm-animated-container .sm-animated-container-content {
    display: flex;
    flex-direction: column;
    gap: var(--bp-2xs);
    padding: 2.5rem;
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    position: relative;
    z-index: 10;
  }
  .sm-animated-container:hover,
  .sm-animated-container.active {
    transform: scale(1.01);
    color: var(--foreground-color);
    text-decoration: none;
  }
  .sm-animated-container-gray {
    --card-animation-color: var(--gray-color);
  }
  .sm-animated-container-primary {
    --card-animation-color: var(--primary-color);
  }
  .sm-animated-container-secondary {
    --card-animation-color: var(--secondary-color);
  }
  .sm-animated-container-tertiary {
    --card-animation-color: var(--tertiary-color);
  }
  .sm-animated-container-blue {
    --card-animation-color: var(--blue-color);
  }
  .sm-animated-container-green {
    --card-animation-color: var(--green-color);
  }
  .sm-animated-container-orange {
    --card-animation-color: var(--orange-color);
  }
  .sm-animated-container-red {
    --card-animation-color: var(--red-color);
  }
  .sm-animated-container-yellow {
    --card-animation-color: var(--yellow-color);
  }
  /* Waves Animation */
  .sm-animated-container {
    --waves-animation-color: color-mix(in srgb, var(--card-animation-color), transparent 33%);
  }
  .sm-animated-container .sm-waves-animation {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-template-rows: repeat(1, minmax(0, 1fr));
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    border-radius: var(--bp-3xs);
    overflow: hidden;
    transition: all 0.3s var(--transition-timing-function);
    background: linear-gradient(to bottom, var(--neutral-0) 80%, color-mix(in srgb, var(--waves-animation-color) 60%, transparent 33%));
    opacity: 0;
  }
  .sm-animated-container .sm-waves-animation::after {
    background-color: var(--waves-animation-color);
    mask-image: url('../images/svg/waves.svg');
    -webkit-mask-image: url('../images/svg/waves.svg');
    grid-row: 1 / -1;
    grid-column: 1 / -1;
    align-self: flex-end;
    content: '';
    width: 100%;
    height: min(25%, 75px);
  }
  .sm-animated-container:hover .sm-waves-animation,
  .sm-animated-container.active .sm-waves-animation {
    opacity: 1;
  }
  .sm-animated-container:hover:has(.sm-waves-animation),
  .sm-animated-container.active:has(.sm-waves-animation) {
    background-color: var(--neutral-0);
  }
  /* Border Animation */
  .sm-animated-container {
    --border-animation-color: color-mix(in srgb, var(--card-animation-color), transparent);
  }
  .sm-animated-container:has(.sm-double-border-animation) {
    padding: var(--bp-3xs);
  }
  .sm-animated-container .sm-double-border-animation {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-template-rows: repeat(1, minmax(0, 1fr));
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    border: 6px solid var(--border-animation-color);
    border-radius: var(--bp-4xs);
    transform: scale(0.96);
    opacity: 0;
    transition: all 0.3s var(--transition-timing-function);
    padding: var(--bp-5xs);
  }
  .sm-animated-container .sm-double-border-animation::after {
    padding: var(--bp-5xs);
    border: 2px solid var(--border-animation-color);
    border-radius: var(--bp-4xs);
    opacity: 0;
    transform: scale(0.96);
    transition: all 0.3s var(--transition-timing-function);
    transition-delay: 0.2s;
    content: '';
  }
  .sm-animated-container:hover .sm-double-border-animation,
  .sm-animated-container.active .sm-double-border-animation {
    transform: scale(1);
    opacity: 1;
  }
  .sm-animated-container:hover .sm-double-border-animation::after,
  .sm-animated-container.active .sm-double-border-animation::after {
    transform: scale(1);
    opacity: 1;
  }
  .sm-animated-container:hover:has(.sm-double-border-animation),
  .sm-animated-container.active:has(.sm-double-border-animation) {
    background-color: var(--neutral-0);
  }
  .breadcrumbs {
    align-items: baseline;
    display: flex;
    gap: var(--bp-xs);
  }
  .breadcrumbs i[class^='fa-'] {
    color: var(--slate-500);
  }
  .breadcrumbs p {
    color: var(--slate-500);
  }
  .breadcrumbs a {
    color: var(--foreground-color);
    font-weight: var(--font-weight-light);
  }
  .file-system {
    gap: var(--bp-4xs);
  }
  .sm-collapsible-drawer {
    display: flex;
    flex-direction: row;
  }
  .sm-collapsible-drawer .drawer {
    display: flex;
    flex-direction: column;
    padding-block: 0.5rem;
    padding-inline-end: 1.5rem;
    width: 25%;
    min-width: min-content;
    transition: max-width 200ms ease-in-out;
  }
  .sm-collapsible-drawer .drawer.collapsed {
    max-width: min-content;
    min-width: min-content;
  }
  .sm-collapsible-drawer .gutterContainer {
    position: relative;
  }
  .sm-collapsible-drawer .gutterContainer .controlContainer {
    position: absolute;
    top: 2rem;
    right: -1.75rem;
    cursor: pointer;
    padding: 0.75rem;
    border-radius: 50%;
  }
  .sm-collapsible-drawer .gutterContainer .controlContainer .controlButton {
    transition: all 200ms ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--slate-50);
    border-radius: 50%;
    border: 1px solid var(--slate-200);
    height: 2rem;
    width: 2rem;
  }
  .sm-collapsible-drawer .gutterContainer .controlContainer .controlButton i {
    transition: all 200ms ease-in-out;
  }
  .sm-collapsible-drawer .gutterContainer .controlContainer:hover .controlButton {
    transform: scale(1.15);
    background-color: var(--slate-100);
  }
  .sm-collapsible-drawer .gutterContainer .gutter {
    height: 100%;
    transition: all 200ms ease-in-out;
    background-color: transparent;
    border-right: 1px solid var(--slate-200);
    width: 0.5rem;
    flex: 1 1 0;
    cursor: col-resize;
    user-select: none;
  }
  .sm-collapsible-drawer .gutterContainer .gutter:hover {
    border-color: var(--slate-300);
    background-color: var(--slate-300);
  }
  .sm-collapsible-drawer .content {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    padding-block: 0.5rem;
    padding-inline-start: 1.5rem;
    min-width: min-content;
  }
  .sm-context-menu {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
  }
  .sm-context-menu-button {
    display: flex;
    padding: 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: fit-content;
    margin-left: auto;
  }
  .sm-context-menu-button i {
    font-size: 1rem;
    font-weight: var(--font-weight-normal);
    line-height: 0.75;
  }
  .sm-context-menu-overlay {
    display: flex;
    padding: var(--bp-4xs);
    flex-direction: column;
    align-items: flex-start;
    border-radius: var(--bp-sm);
    border: 1px solid var(--slate-300);
    background: var(--neutral-0);
    width: fit-content;
    position: absolute;
    z-index: 100;
    top: 28px;
    right: 10px;
  }
  .sm-context-menu-overlay-collapsed {
    display: none;
  }
  .sm-context-menu-content-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 1px;
  }
  .sm-context-menu-content-container form {
    display: flex;
    width: 100%;
  }
  .sm-context-menu-option {
    border: none;
    padding-inline: 12px;
    width: 100%;
    border-radius: var(--bp-2xs);
    justify-content: left;
  }
  .sm-context-menu-divider {
    display: flex;
    width: 100%;
    border-top: 1px solid var(--slate-200);
    margin: 4px 0;
  }
  :root,
  .strongmind-k-2 {
    --icon-action-default-color: var(--outline-dark-color);
    --icon-action-default-color-hover: var(--foreground-color);
    --icon-action-remove-color-hover: var(--error-color);
  }
  .sm-icon-action {
    display: flex;
    align-items: center;
    color: var(--outline-dark-color);
    padding: 0 var(--bp-5xs);
    transition: all var(--transition-duration) var(--transition-timing-function);
    text-decoration: none;
    cursor: pointer;
  }
  .sm-icon-action:hover {
    color: var(--foreground-color);
  }
  .sm-icon-action-remove:hover {
    color: var(--error-color);
  }
  .icon-group {
    align-items: center;
    display: flex;
    gap: var(--bp-5xs);
  }
  fieldset {
    display: flex;
    flex-direction: column;
    gap: var(--bp-5xs);
  }
  fieldset .sm-input-group {
    display: flex;
    flex-direction: column;
    gap: var(--bp-3xs);
    padding: var(--bp-3xs) var(--bp-sm);
    border-radius: var(--bp-3xs);
  }
  fieldset:has(input:required) label:after {
    content: ' *';
    font-weight: bold;
  }
  fieldset:has(input[class='error']) label,
  fieldset:has(textarea[class='error']) label,
  fieldset:has(select[class='error']) label,
  fieldset:has(input[class='error']) i[class^='fa-'],
  fieldset:has(textarea[class='error']) i[class^='fa-'],
  fieldset:has(select[class='error']) i[class^='fa-'],
  fieldset:has(input[class='error']) .helper-text,
  fieldset:has(textarea[class='error']) .helper-text,
  fieldset:has(select[class='error']) .helper-text {
    color: var(--input-group-error-helper-text-color);
  }
  fieldset:has(input[class='error']) .sm-input-group,
  fieldset:has(textarea[class='error']) .sm-input-group,
  fieldset:has(select[class='error']) .sm-input-group {
    background-color: var(--input-group-error-background-color);
  }
  fieldset:has(input[class='error']) .sm-input-group-label,
  fieldset:has(textarea[class='error']) .sm-input-group-label,
  fieldset:has(select[class='error']) .sm-input-group-label {
    color: var(--input-group-error-label-text-color);
  }
  fieldset:has(input[class='error']) .sm-input-group-error,
  fieldset:has(textarea[class='error']) .sm-input-group-error,
  fieldset:has(select[class='error']) .sm-input-group-error {
    color: var(--input-group-error-helper-text-color);
  }
  fieldset:has(input[type='checkbox']):has(input[class='error']) label,
  fieldset:has(input[type='radio']):has(input[class='error']) label {
    color: inherit;
  }
  fieldset:has(input:disabled) label,
  fieldset:has(input:disabled) i[class^='fa-'],
  fieldset:has(input:disabled) .helper-text {
    color: var(--input-group-diabled-helper-text-color);
  }
  ul {
    list-style-type: disc;
  }
  ol {
    list-style-type: decimal;
  }
  .sm-load-more {
    display: flex;
    padding-bottom: var(--bp-md);
    flex-direction: column;
    align-items: center;
  }
  .sm-load-more .sm-load-more-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--bp-3xs);
  }
  .sm-load-more .sm-load-more-container .sm-load-more-display-text {
    text-align: center;
    font-family: var(--font-primary);
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .sm-load-more .sm-load-more-container .sm-load-more-button {
    align-self: stretch;
  }
  .lti-container {
    background-color: var(--neutral-0);
    max-width: 1029px;
    border-radius: var(--bp-xs);
    box-shadow: var(--box-shadow);
    overflow: hidden;
  }
  .lti-header {
    background-color: var(--slate-800);
    color: var(--slate-200);
    display: flex;
    justify-content: center;
    padding: var(--bp-md);
  }
  .back-button-section {
    padding: var(--bp-2xl);
  }
  .lti-content-section {
    padding: var(--bp-2xl);
  }
  .lti-footer {
    padding: var(--bp-md);
  }
  .modal-container {
    background-color: var(--neutral-0);
    border-radius: var(--bp-3xs);
    border: 1px solid var(--slate-200);
    display: flex;
    flex-direction: column;
    gap: var(--bp-xs);
    padding: var(--bp-xl);
  }
  .modal-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
  .modal-footer {
    display: flex;
    gap: var(--bp-3xs);
    justify-content: flex-end;
  }
  nav {
    --navbar-background-color: var(--neutral-0);
    --navbar-background-color-hover: var(--neutral-800);
    --navbar-foreground-color: var(--blue-950);
    --navbar-foreground-color-hnover: var(--blue-800);
    --navbar-org-text-color: var(--neutral-400);
    --navbar-profile-border-color: var(--navbar-foreground-color);
  }
  nav.sm-top-nav {
    align-items: stretch;
    background-color: var(--navbar-background-color);
    display: flex;
    justify-content: space-between;
    position: sticky;
    top: 0;
    border-bottom: 1px solid var(--slate-200);
  }
  nav.sm-top-nav div.branding-container {
    display: flex;
    align-items: center;
    padding: var(--bp-2xl) var(--bp-5xl);
  }
  nav.sm-top-nav div.branding-container .branding-logo-sm {
    min-height: 32px;
    display: block;
  }
  nav.sm-top-nav div.branding-container .branding-logo-lg {
    min-height: 32px;
    display: none;
  }
  @media screen and (min-width: 1024px) {
    nav.sm-top-nav div.branding-container .branding-logo-lg {
      display: block;
    }
    nav.sm-top-nav div.branding-container .branding-logo-sm {
      display: none;
    }
  }
  nav.sm-top-nav div.sm-tab-container {
    display: none;
  }
  @media screen and (min-width: 1024px) {
    nav.sm-top-nav div.sm-tab-container {
      display: flex;
      flex-wrap: nowrap;
      overflow-x: auto;
    }
  }
  nav.sm-top-nav div.sm-top-nav-controls {
    display: flex;
    gap: var(--bp-3xs);
    padding: var(--bp-2xs);
    position: relative;
  }
  @media screen and (min-width: 1024px) {
    nav.sm-top-nav div.sm-top-nav-controls {
      padding: var(--bp-lg);
    }
  }
  nav.sm-top-nav div.sm-top-nav-controls > div {
    align-items: center;
    display: flex;
    gap: var(--bp-3xs);
  }
  nav.sm-top-nav div.sm-top-nav-controls > div.sm-top-nav-aux-container a {
    align-items: center;
    color: var(--navbar-foreground-color);
    cursor: pointer;
    display: flex;
    gap: var(--bp-3xs);
    justify-content: center;
    min-height: 20px;
    min-width: 20px;
    padding: var(--bp-2xs);
    text-decoration: none;
    transition-property: color;
    transition-duration: 500ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  }
  @media screen and (min-width: 1280px) {
    nav.sm-top-nav div.sm-top-nav-controls > div.sm-top-nav-aux-container a .help {
      padding: var(--bp-xs) var(--bp-lg);
    }
  }
  nav.sm-top-nav div.sm-top-nav-controls > div.sm-top-nav-aux-container a > span {
    display: none;
  }
  @media screen and (min-width: 1280px) {
    nav.sm-top-nav div.sm-top-nav-controls > div.sm-top-nav-aux-container a > span {
      display: block;
    }
  }
  nav.sm-top-nav div.sm-top-nav-controls > div.sm-top-nav-aux-container a:hover {
    color: var(--navbar-foreground-color-hover);
  }
  nav.sm-top-nav div.sm-top-nav-controls > div.nav-dropdown-container {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 1001;
    background-color: var(--navbar-background-color);
    overflow: scroll;
  }
  @media only screen and (max-width: 1280px) {
    nav.sm-top-nav div.sm-top-nav-controls > div.nav-dropdown-container {
      width: 200%;
      left: -100%;
    }
  }
  nav.sm-top-nav div.sm-top-nav-controls > div.nav-dropdown-container form {
    display: flex;
    width: 100%;
  }
  nav.sm-top-nav div.sm-top-nav-controls > div.nav-dropdown-container form button {
    display: flex;
    width: 100%;
  }
  nav.sm-top-nav div.sm-top-nav-controls > div.nav-dropdown-container form button.role-select-button {
    padding: 0.625rem 1.25rem;
    transition: 0.12s ease-in-out;
  }
  nav.sm-top-nav div.sm-top-nav-controls > div.nav-dropdown-container form button.role-select-button.current-role,
  nav.sm-top-nav div.sm-top-nav-controls > div.nav-dropdown-container form button.role-select-button:hover {
    background-color: var(--navbar-background-color-hover);
  }
  nav.sm-top-nav div.sm-top-nav-controls > div.nav-dropdown-container form.my-profile-button {
    padding: 0 1rem 1rem 1rem;
  }
  nav.sm-top-nav div.sm-top-nav-controls > div.nav-dropdown-container form.users-sign-out-form {
    padding: 1rem;
  }
  nav.sm-top-nav div.sm-top-nav-controls > div.nav-dropdown-container form.role-select-form .navbar-row {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    text-align: left;
  }
  nav.sm-top-nav div.sm-top-nav-controls > div.nav-dropdown-container form.role-select-form .navbar-row .org-text {
    display: flex;
    color: var(--navbar-org-text-color);
  }
  nav.sm-top-nav div.sm-top-nav-controls > div.nav-dropdown-container form.role-select-form .navbar-row .role-container {
    flex-direction: row;
    gap: 0.5rem;
  }
  nav.sm-top-nav div.sm-top-nav-controls > div.nav-dropdown-container form.role-select-form .navbar-row .role-container div.profile-text {
    display: block;
  }
  nav.sm-top-nav div.sm-top-nav-controls > div.hidden {
    display: none;
  }
  nav.sm-top-nav div.sm-top-nav-controls .profile-container {
    cursor: pointer;
    display: flex;
    gap: 1rem;
    align-items: center;
  }
  nav.sm-top-nav div.sm-top-nav-controls .profile-container div.profile-pic {
    aspect-ratio: 1 / 1;
    border: 2px var(--navbar-profile-border-color) solid;
    border-radius: 9999px;
    overflow: hidden;
    width: 2.25rem;
  }
  nav.sm-top-nav div.sm-top-nav-controls .profile-container div.profile-text {
    display: none;
  }
  @media screen and (min-width: 1280px) {
    nav.sm-top-nav div.sm-top-nav-controls .profile-container div.profile-text {
      display: block;
    }
  }
  nav.sm-top-nav div.sm-top-nav-controls .profile-container div.profile-text > p {
    font-weight: var(--font-weight-semi-bold);
    max-width: 16ch;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  @media only screen and (max-width: 1280px) {
    nav.sm-top-nav div.sm-top-nav-controls .profile-container div.profile-text > p {
      max-width: 12ch;
    }
  }
  nav.sm-top-nav div.sm-top-nav-controls .profile-container div.profile-text > p.profile-name {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  nav.sm-top-nav div.sm-top-nav-controls .profile-container div.profile-text > p.profile-role {
    font-size: 0.75rem;
    line-height: 1rem;
  }
  nav.sm-top-nav div.sm-top-nav-controls .profile-container a {
    align-items: center;
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    min-height: 20px;
    min-width: 20px;
    text-decoration: none;
    transition-duration: 500ms;
    transition-property: color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  }
  nav.sm-top-nav div.sm-top-nav-controls .profile-container:hover button {
    color: var(--navbar-foreground-color);
  }
  nav.sm-bottom-nav {
    align-items: stretch;
    background-color: var(--navbar-background-color);
    display: flex;
    gap: var(--bp-3xs);
    justify-content: center;
    position: sticky;
    bottom: 0;
    padding: 1em;
    z-index: 10;
    border-top: 1px solid var(--slate-200);
  }
  @media screen and (min-width: 1024px) {
    nav.sm-bottom-nav {
      display: none;
    }
  }
  nav.sm-bottom-nav > div {
    min-width: 60px;
  }
  nav.sm-bottom-nav i[class^='fa-'] {
    font-size: var(--bp-5xl);
  }
  nav.sm-bottom-nav a.sm-bottom-nav-link {
    align-items: center;
    color: var(--navbar-foreground-color);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: var(--bp-3xs);
    justify-content: center;
    min-height: 20px;
    min-width: 20px;
    padding: 0.75rem;
    text-decoration: none;
    transition-duration: var(--transition-duration);
    transition-property: color;
    transition-timing-function: var(--transition-timing-function);
  }
  nav.sm-bottom-nav a.sm-bottom-nav-link span {
    line-height: 1rem;
  }
  nav.sm-bottom-nav a.sm-bottom-nav-link:hover {
    color: var(--navbar-foreground-color-hover);
  }
  .sm-pagination-section {
    display: inline-flex;
    flex-direction: column;
    gap: var(--bp-md);
  }
  .sm-pagination-section .sm-pagination-button-section-container {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .sm-pagination-info-container {
    display: flex;
    justify-content: center;
  }
  .sm-pagination-info-container span {
    color: var(--slate-950);
    text-align: center;
  }
  .pagy {
    display: flex;
    color: var(--slate-950);
    gap: var(--bp-3xs);
  }
  .pagy a {
    width: 36px;
    padding: var(--bp-3xs) var(--bp-sm);
    align-items: center;
    border-style: solid;
    border-width: 1px;
    border-radius: var(--bp-5xs);
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    line-height: 1.375rem;
    text-decoration: none;
    transition-duration: 0.12s;
    transition-property: background-color, border-color, color;
    transition-timing-function: ease-in-out;
    white-space: nowrap;
    gap: var(--bp-3xs);
    font-size: 12px;
    background-color: var(--outline-none-color);
    border-color: var(--outline-none-color);
    color: var(--foreground-color);
  }
  .pagy a:hover,
  .pagy a:focus,
  .pagy a:active {
    background-color: var(--outline-none-color-hover);
    border-color: var(--outline-none-color-hover);
    color: var(--foreground-color);
  }
  .pagy a:visited {
    color: var(--foreground-color);
  }
  .pagy a.current {
    background-color: var(--secondary-color);
    color: white;
  }
  .pagy.prev a,
  .pagy.next a {
    color: transparent;
    justify-content: center;
    align-items: center;
    gap: 0;
    font-size: 0;
  }
  .pagy.prev a:before,
  .pagy.next a:before {
    display: flex;
    font-size: 12px;
  }
  .pagy.prev a:before {
    content: '\f053';
    font-family: 'Font Awesome 6 Pro';
    font-weight: var(--font-weight-light);
    color: var(--foreground-color);
  }
  .pagy.next a:before {
    content: '\f054';
    font-family: 'Font Awesome 6 Pro';
    font-weight: var(--font-weight-light);
    color: var(--foreground-color);
  }
  .pagy.disabled a {
    cursor: not-allowed;
  }
  .pagy.active a {
    background-color: var(--outline-none-color-hover);
    border-color: var(--outline-none-color-hover);
    color: var(--foreground-color);
  }
  /*.page {
      &:extend(.sm-btn-delete);
      a {
          &:extend(.sm-btn all);
          &:extend(.sm-btn-sm all);
          &:extend(.sm-btn p);

          width: 36px;
          padding: 8px 17px;
      }

      &.prev,
      &.next {
          a {
              &:extend(.sm-btn-outline all);
          }

          &.disabled {
              &:extend(.sm-btn[disabled] all);
          }
      }

      &.active {
          a {
              &:extend(.sm-btn-secondary all);
          }
      }
  }*/
  .sm-popover-container {
    box-shadow: var(--box-shadow);
    border-radius: var(--bp-sm);
    padding: var(--bp-2xl);
    max-width: 320px;
    flex-direction: column;
    gap: var(--bp-md);
  }
  .sm-popover-container .image-container img {
    width: 100%;
  }
  .progress-container {
    padding-bottom: 10px;
  }
  .progress-label-container {
    display: flex;
    justify-content: space-between;
  }
  .progress-label-container h4 {
    color: var(--progress-label-foreground);
  }
  .progress-display {
    display: flex;
    align-items: center;
  }
  .progress-display .progress-bar-container {
    background-color: var(--progress-bar-container-background);
    border-radius: 16px 0px 0px 16px;
    width: 100%;
    height: 12px;
  }
  .progress-display .progress-bar-container .progress {
    background: linear-gradient(90deg, var(--progress-bar-gradient-start) 0%, var(--progress-bar-gradient-end) 100%);
    height: 12px;
    border-radius: 16px;
    width: 0px;
  }
  .progress-display .progress-bar-container .progress-percent {
    font-weight: var(--font-weight-bold);
    color: var(--progress-percent-foreground);
    position: relative;
    top: 10px;
    text-align: initial;
  }
  .progress-display .progress-icon {
    color: var(--progress-icon-foreground);
    border: 2px solid var(--progress-icon-border);
    background-color: var(--progress-icon-background);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    position: relative;
    right: 2px;
    transition: 500ms all ease;
  }
  .progress-display .progress-icon.filled {
    color: var(--progress-icon-filled-foreground);
    background-color: var(--progress-icon-filled-background);
    border: var(--progress-icon-filled-border);
  }
  :root,
  .strongmind-k-2 {
    --visible-cards: 3;
  }
  .sm-carousel {
    display: flex;
    flex-direction: column;
    gap: 11px;
  }
  .sm-carousel .slides-container {
    display: grid;
    grid-template-columns: min-content auto min-content;
    grid-template-rows: repeat(3, 1fr);
    position: relative;
    gap: 10px;
  }
  .sm-carousel .slides-container .left-btn,
  .sm-carousel .slides-container .right-btn {
    height: 40px;
    width: 40px;
  }
  .sm-carousel .slides-container .left-btn {
    grid-column: 1;
    grid-row: 2;
    justify-self: end;
    align-self: center;
  }
  .sm-carousel .slides-container .right-btn {
    grid-column: 3;
    grid-row: 2;
    justify-self: start;
    align-self: center;
  }
  .sm-carousel .slides-container .slides {
    grid-column: 2;
    grid-row: 1/4;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
  }
  .sm-carousel .carousel-card {
    scroll-snap-align: start end;
    min-width: calc(100%/var(--visible-cards) - 8px);
  }
  .sm-carousel .sm-carousel-page-container {
    width: 50%;
    display: flex;
    margin: auto;
    gap: 8px;
  }
  .sm-carousel .sm-carousel-page-container .sm-carousel-page {
    width: 100%;
    display: flex;
    height: 7px;
    background-color: var(--zinc-200);
    border-radius: 4px;
    transition: 0.12s all ease-in-out;
    cursor: pointer;
  }
  .sm-carousel .sm-carousel-page-container .sm-carousel-page.active,
  .sm-carousel .sm-carousel-page-container .sm-carousel-page:hover {
    background-color: var(--zinc-600);
  }
  .sm-filter-list {
    display: flex;
    flex-direction: column;
    gap: var(--bp-4xs);
  }
  .sm-filter-list .sm-filters {
    display: flex;
    flex-direction: column;
    gap: var(--bp-3xs);
  }
  .sm-filter-drawer-vertical,
  .sm-filter-drawer-horizontal {
    display: grid;
    visibility: visible;
    padding: 0;
    transition: all 240ms ease-in-out;
  }
  .sm-filter-drawer-vertical .sm-filters,
  .sm-filter-drawer-horizontal .sm-filters {
    overflow: hidden;
    padding: var(--bp-2xl);
    transition: all 180ms ease-in-out 60ms allow-discrete;
  }
  .sm-filter-drawer-vertical.collapse,
  .sm-filter-drawer-horizontal.collapse {
    visibility: hidden;
  }
  .sm-filter-drawer-vertical.collapse .sm-filters,
  .sm-filter-drawer-horizontal.collapse .sm-filters {
    display: none;
  }
  .sm-filter-drawer-vertical {
    grid-template-rows: 1fr;
  }
  .sm-filter-drawer-vertical.collapse {
    grid-template-rows: 0fr;
  }
  .sm-filter-drawer-vertical.collapse .sm-filters {
    padding-block: 0;
  }
  .sm-filter-drawer-horizontal {
    grid-template-columns: 1fr;
  }
  .sm-filter-drawer-horizontal.collapse {
    grid-template-columns: 0fr;
  }
  .sm-filter-drawer-horizontal.collapse .sm-filters {
    padding-inline: 0;
  }
  .sm-svg-animation {
    cursor: pointer;
    /* Base SVG styles */
    /* Bell */
    /* Envelope */
    /* Trash */
    /* Star */
    /* Lightbulb */
    /* Link */
    /* Pencil */
    /* Keyframe Animations */
  }
  .sm-svg-animation svg {
    overflow: visible;
  }
  .sm-svg-animation svg .bell-container {
    display: inline-block;
    position: relative;
  }
  .sm-svg-animation svg .bell-container .bell-body {
    transform-origin: top center;
    transition: transform 0.3s ease-in-out;
  }
  .sm-svg-animation svg .bell-container .clapper {
    width: 15px;
    height: 15px;
    transform-origin: 50% -80%;
    transition: transform 0.3s ease-in-out;
    position: absolute;
    top: 94%;
    left: 50%;
  }
  .sm-svg-animation:hover svg .bell-container .bell-body {
    animation: bell-shake 1s ease-in-out 1;
  }
  .sm-svg-animation:hover svg .bell-container .clapper {
    animation: clapper 1s ease-in-out 1;
  }
  .sm-svg-animation svg.envelope-container {
    position: relative;
  }
  .sm-svg-animation svg.envelope-container .envelope-closed {
    z-index: 10;
  }
  .sm-svg-animation svg.envelope-container .envelope-top-flipped {
    z-index: 20;
    opacity: 0;
    transform-origin: 50% 100%;
    transform: scaleY(0.6);
    transition: transform 0.2s ease-in-out;
  }
  .sm-svg-animation svg.envelope-container .paper {
    z-index: 39;
    opacity: 0;
    transform: translateY(350px);
    transition: transform 250ms ease-in-out;
  }
  .sm-svg-animation svg.envelope-container .text2,
  .sm-svg-animation svg.envelope-container .text1 {
    opacity: 0;
    transform: translateY(200px);
    transition: transform 250ms ease-in-out;
  }
  .sm-svg-animation svg.envelope-container .text2 {
    z-index: 40;
  }
  .sm-svg-animation svg.envelope-container .text1 {
    z-index: 50;
  }
  .sm-svg-animation svg.envelope-container .envelope-bottom {
    z-index: 60;
  }
  .sm-svg-animation svg.envelope-container .black-space {
    z-index: 70;
  }
  .sm-svg-animation svg.envelope-container .envelope-closed *,
  .sm-svg-animation svg.envelope-container .envelope-top-flipped *,
  .sm-svg-animation svg.envelope-container .text2 *,
  .sm-svg-animation svg.envelope-container .text1 *,
  .sm-svg-animation svg.envelope-container .envelope-bottom * {
    fill: white;
  }
  .sm-svg-animation svg.envelope-container .paper *,
  .sm-svg-animation svg.envelope-container .black-space * {
    fill: var(--gray-800);
  }
  .sm-svg-animation svg.envelope-container .black-space * {
    stroke: black;
  }
  .sm-svg-animation svg.envelope-container .paper * {
    stroke: white;
  }
  .sm-svg-animation svg.envelope-container .clip-rect {
    height: 50px;
    transition: height 0.2s ease-in-out;
  }
  .sm-svg-animation:hover svg.envelope-container .clip-rect {
    height: 440px;
  }
  .sm-svg-animation:hover svg.envelope-container .envelope-top-flipped {
    transform: scaleY(1) translateY(10px);
    opacity: 100%;
  }
  .sm-svg-animation:hover svg.envelope-container .paper {
    opacity: 100%;
    transform: translateY(-5px);
  }
  .sm-svg-animation:hover svg.envelope-container .text2,
  .sm-svg-animation:hover svg.envelope-container .text1 {
    opacity: 100%;
    transform: translateY(-5px);
  }
  .sm-svg-animation svg.trash-container {
    position: relative;
    transform: scale(1);
  }
  .sm-svg-animation svg.trash-container .trash-lid {
    transform-origin: top left;
    z-index: 20;
    transform: 0.2s ease-in-out;
  }
  .sm-svg-animation svg.trash-container .trash-body {
    z-index: 10;
  }
  .sm-svg-animation:hover svg.trash-container {
    transform: scale(0.8);
    transition: transform 0.3s ease;
  }
  .sm-svg-animation:hover svg.trash-container .trash-lid *,
  .sm-svg-animation:hover svg.trash-container .trash-body * {
    fill: white;
  }
  .sm-svg-animation:hover svg.trash-container .trash-lid {
    transform: rotate(-25deg) translate(-50px, -10px);
    transform-origin: top left;
    transition: fill, transform 0.2s ease-in-out;
  }
  .sm-svg-animation svg.star-container {
    position: relative;
    overflow: visible;
  }
  .sm-svg-animation svg.star-container .star {
    fill: white;
  }
  .sm-svg-animation svg.star-container .star * {
    transform-origin: center;
    transition: fill 250ms ease-in-out;
  }
  .sm-svg-animation:hover svg.star-container .star {
    transform-origin: center;
    transform: scale(1.2);
    fill: var(--tab-box-shadow-color);
    animation: star-bounce 400ms ease-in-out;
  }
  .sm-svg-animation svg.lightbulb-container {
    position: relative;
  }
  .sm-svg-animation svg.lightbulb-container .rays .ray {
    stroke-dasharray: 200;
    stroke-dashoffset: 200;
  }
  .sm-svg-animation:hover svg.lightbulb-container {
    transform: scale(0.8);
    transition: transform 0.3s ease;
  }
  .sm-svg-animation:hover svg.lightbulb-container .rays .ray {
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .sm-svg-animation svg.link-container {
    position: relative;
  }
  .sm-svg-animation svg.link-container .link-body {
    transform-origin: center;
    transition: transform 0.3s ease;
  }
  .sm-svg-animation svg.link-container .chain-top,
  .sm-svg-animation svg.link-container .chain-bottom {
    transform: translateY(0) translateX(0);
  }
  .sm-svg-animation:hover svg.link-container {
    transform: scale(0.8);
    transition: transform 0.3s ease;
  }
  .sm-svg-animation:hover svg.link-container .link-body {
    transform: scale(1.2);
  }
  .sm-svg-animation:hover svg.link-container .chain-top {
    animation: chainTopBounce 0.5s ease;
  }
  .sm-svg-animation:hover svg.link-container .chain-bottom {
    animation: chainBottomBounce 0.5s ease;
  }
  .sm-svg-animation:hover .chain-top {
    animation: chainTopBounce 0.5s ease;
  }
  .sm-svg-animation:hover .chain-bottom {
    animation: chainBottomBounce 0.5s ease;
  }
  .sm-svg-animation svg.pencil-container {
    transform: scale(1);
  }
  .sm-svg-animation svg.pencil-container .pencil {
    transform-origin: bottom left;
    transform: rotate(0);
    transition: transform 0.3s ease;
  }
  .sm-svg-animation svg.pencil-container .pencil-line {
    stroke-dasharray: 700;
    stroke-dashoffset: 700;
  }
  .sm-svg-animation:hover svg.pencil-container {
    overflow: visible;
    transform: scale(0.8);
    transition: transform 0.3s ease;
  }
  .sm-svg-animation:hover svg.pencil-container .pencil {
    transform-origin: bottom left;
    animation: pencilFlipLift 0.6s ease-in forwards, pencilDraw 0.4s ease-out 0.5s forwards;
  }
  .sm-svg-animation:hover svg.pencil-container .pencil-line {
    stroke-dasharray: 700;
    stroke-dashoffset: 0;
    transition: stroke-dasharray 0.6s ease 0.5s, stroke-dashoffset 0.4s ease-out 0.6s;
  }
  @keyframes bell-shake {
    0% {
      transform: rotate(0deg);
    }
    20% {
      transform: rotate(15deg);
    }
    40% {
      transform: rotate(-15deg);
    }
    60% {
      transform: rotate(8deg);
    }
    80% {
      transform: rotate(-8deg);
    }
    100% {
      transform: rotate(0deg);
    }
  }
  @keyframes clapper {
    0% {
      transform: rotate(0deg);
    }
    20% {
      transform: rotate(15deg);
    }
    40% {
      transform: rotate(-15deg);
    }
    60% {
      transform: rotate(8deg);
    }
    80% {
      transform: rotate(-8deg);
    }
    100% {
      transform: rotate(0deg);
    }
  }
  @keyframes pencilFlipLift {
    0% {
      transform: rotate(0deg);
    }
    50% {
      transform: rotate(-30deg) translateY(-80px);
    }
    100% {
      transform: rotate(-90deg) translateY(50px);
    }
  }
  @keyframes pencilDraw {
    0% {
      transform: rotate(-70deg) translateY(200px);
    }
    20% {
      transform: rotate(-90deg) translateY(300px) translateX(20px);
    }
    100% {
      transform: rotate(-90deg) translateY(650px) translateX(25px);
    }
  }
  @keyframes drawLine {
    to {
      stroke-dashoffset: 0;
    }
  }
  @keyframes star-bounce {
    0% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.3);
    }
    70% {
      transform: scale(1.15);
    }
    100% {
      transform: scale(1.2);
    }
  }
  @keyframes chainTopBounce {
    0% {
      transform: translateY(0) translateX(0);
    }
    25% {
      transform: translateY(15px) translateX(-15px);
    }
    50% {
      transform: translateY(-6px) translateX(6px);
    }
    75% {
      transform: translateY(3px) translateX(-3px);
    }
    100% {
      transform: translateY(0) translateX(0);
    }
  }
  @keyframes chainBottomBounce {
    0% {
      transform: translateY(0) translateX(0);
    }
    25% {
      transform: translateY(-15px) translateX(15px);
    }
    50% {
      transform: translateY(6px) translateX(-6px);
    }
    75% {
      transform: translateY(-3px) translateX(3px);
    }
    100% {
      transform: translateY(0) translateX(0);
    }
  }
  .sm-sprite {
    --sprite-size: 24px;
    --animation-duration: 2.5s;
    align-items: center;
    display: flex;
    height: var(--sprite-size);
    justify-content: center;
    overflow: visible;
    width: var(--sprite-size);
  }
  .sm-sprite.reaction {
    --sprite-size: 48px;
    --animation-duration: 2.5s;
  }
  .sm-sprite.reaction.reaction-small {
    --sprite-size: 24px;
  }
  .sm-sprite.reaction.reaction-button {
    --sprite-size: 18px;
  }
  .sm-sprite.reaction.reaction-button .image-container {
    min-width: calc(var(--sprite-size) * 2);
    min-height: calc(var(--sprite-size) * 2);
  }
  .sm-sprite.reaction.reaction-button .image-container img {
    min-height: calc(var(--sprite-size) * 2);
  }
  .sm-sprite.reaction:hover .image-container img {
    animation-name: sprite-animation;
    /* animation-name HAS to be on hover, putting it in img {} prevents the animation from resetting and is effectively pausing it where user left it off */
    animation-play-state: running;
  }
  .sm-sprite.loader {
    --sprite-size: 64px;
    --animation-duration: 4250ms;
  }
  .sm-sprite.loader .image-container img {
    animation-name: sprite-animation;
    animation-play-state: running;
  }
  .sm-sprite.community-icon {
    --sprite-size: 32px;
    --animation-duration: 3s;
    background-color: var(--neutral-500);
    border-radius: var(--bp-5xs);
  }
  .sm-sprite.community-icon.book {
    background-color: var(--orange-700);
  }
  .sm-sprite.community-icon.calculator {
    background-color: var(--red-900);
  }
  .sm-sprite.community-icon.electives {
    background-color: var(--fuchsia-900);
  }
  .sm-sprite.community-icon.flask {
    background-color: var(--lime-800);
  }
  .sm-sprite.community-icon.landmark {
    background-color: var(--teal-500);
  }
  .sm-sprite.community-icon .image-container img:hover {
    animation-name: sprite-animation;
    /* animation-name HAS to be on hover, putting it in img {} prevents the animation from resetting and is effectively pausing it where user left it off */
    animation-play-state: running;
  }
  .sm-sprite .image-container {
    aspect-ratio: 1 / 1;
    display: inline-flex;
    flex: 1 1 0;
    overflow: hidden;
  }
  .sm-sprite .image-container img {
    animation-fill-mode: both;
    animation-duration: var(--animation-duration);
    animation-iteration-count: infinite;
    animation-play-state: paused;
    animation-timing-function: steps(90);
    cursor: pointer;
    max-width: unset;
  }
  /*
      This is a container that is used to trigger the sprite animation on hover.
  */
  .sprite-hover-container:hover .sm-sprite .image-container img {
    animation-play-state: running;
  }
  .sprite-hover-container:hover .sm-sprite.reaction .image-container img {
    animation-name: sprite-animation;
  }
  @keyframes sprite-animation {
    0% {
      transform: translateX(0%);
    }
    100% {
      transform: translateX(-100%);
    }
  }
  .sm-app-container {
    display: flex;
    flex-direction: column;
    height: 100vh;
  }
  .sm-app-container main {
    display: flex;
    flex: 1 1 0%;
    flex-direction: column;
  }
  @media (min-width: 1024px) {
    .sm-app-container main {
      flex-direction: row;
    }
  }
  .grade-badge-container {
    align-items: center;
    background-repeat: no-repeat;
    background-position: top center;
    display: flex;
    height: 120px;
    justify-content: center;
    width: 100px;
  }
  .grade-badge-container.grade-badge-container-1 {
    background-image: url('../images/badges-grade-1.svg');
  }
  .grade-badge-container.grade-badge-container-2 {
    background-image: url('../images/badges-grade-2.svg');
  }
  .grade-badge-container.grade-badge-container-3 {
    background-image: url('../images/badges-grade-3.svg');
  }
  .grade-badge-container.grade-badge-container-4 {
    background-image: url('../images/badges-grade-4.svg');
  }
  .grade-badge-container.grade-badge-container-5 {
    background-image: url('../images/badges-grade-5.svg');
  }
  .grade-badge-container.grade-badge-container-6 {
    background-image: url('../images/badges-grade-6.svg');
  }
  .grade-badge-container.grade-badge-container-7 .grade-badge-text-container,
  .grade-badge-container.grade-badge-container-8 .grade-badge-text-container,
  .grade-badge-container.grade-badge-container-9 .grade-badge-text-container {
    transform: translateY(-6px);
  }
  .grade-badge-container.grade-badge-container-7 {
    background-image: url('../images/badges-grade-7.svg');
  }
  .grade-badge-container.grade-badge-container-8 {
    background-image: url('../images/badges-grade-8.svg');
  }
  .grade-badge-container.grade-badge-container-9 {
    background-image: url('../images/badges-grade-9.svg');
  }
  .grade-badge-container.grade-badge-container-10 .grade-badge-text-container,
  .grade-badge-container.grade-badge-container-11 .grade-badge-text-container,
  .grade-badge-container.grade-badge-container-12 .grade-badge-text-container {
    flex-direction: column;
    transform: translateY(-8px);
  }
  .grade-badge-container.grade-badge-container-10 {
    background-image: url('../images/badges-grade-10.svg');
  }
  .grade-badge-container.grade-badge-container-11 {
    background-image: url('../images/badges-grade-11.svg');
  }
  .grade-badge-container.grade-badge-container-12 {
    background-image: url('../images/badges-grade-12.svg');
  }
  .grade-badge-container.grade-badge-container-12 .grade-badge-text-container {
    transform: translateY(-12px);
  }
  .grade-badge-container .grade-badge-text-container {
    color: var(--slate-100);
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
  }
  .grade-badge-container h3 {
    font-size: 0.85714rem;
    font-weight: var(--font-weight-normal);
    line-height: 2.16667;
    text-transform: uppercase;
  }
  .grade-badge-container h4 {
    font-size: 3rem;
    font-weight: var(--font-weight-bold);
    line-height: 0.857144;
  }
  *.sm-btn {
    align-items: center;
    border-style: solid;
    border-width: 1px;
    border-color: var(--button-default-border-color);
    border-radius: var(--bp-sm);
    color: var(--button-default-color);
    cursor: pointer;
    display: inline-flex;
    gap: var(--bp-3xs);
    justify-content: center;
    padding: var(--bp-xs) var(--bp-lg);
    text-decoration: none;
    transition-duration: 0.12s;
    transition-property: background-color, border-color, color;
    transition-timing-function: ease-in-out;
    white-space: nowrap;
  }
  *.sm-btn > p {
    margin: 0;
  }
  *.sm-btn:hover,
  *.sm-btn:focus,
  *.sm-btn:active,
  *.sm-btn.active {
    border-color: var(--button-default-border-color-hover);
    color: var(--button-default-color-hover);
    text-decoration: none;
  }
  *.sm-btn:visited {
    color: var(--button-default-color-visited);
    text-decoration: none;
  }
  *.sm-btn[disabled] {
    cursor: not-allowed;
    pointer-events: none;
    background-color: var(--button-disabled-background-color);
    border-color: var(--button-disabled-border-color);
    color: var(--button-disabled-color);
  }
  *.sm-btn-primary {
    background-color: var(--button-primary-background-color);
    border-color: var(--button-primary-border-color);
    color: var(--button-primary-color);
  }
  *.sm-btn-primary:hover,
  *.sm-btn-primary:focus,
  *.sm-btn-primary:active,
  *.sm-btn-primary.active {
    background-color: var(--button-primary-background-color-hover);
    border-color: var(--button-primary-border-color-hover);
    color: var(--button-primary-color-hover);
  }
  *.sm-btn-primary:visited {
    color: var(--button-primary-color-visited);
  }
  *.sm-btn-secondary {
    background-color: var(--button-secondary-background-color);
    border-color: var(--button-secondary-border-color);
    color: var(--button-secondary-color);
  }
  *.sm-btn-secondary:hover,
  *.sm-btn-secondary:focus,
  *.sm-btn-secondary:active,
  *.sm-btn-secondary.active {
    background-color: var(--button-secondary-background-color-hover);
    border-color: var(--button-secondary-border-color-hover);
    color: var(--button-secondary-color-hover);
  }
  *.sm-btn-secondary:visited {
    color: var(--button-secondary-color-visited);
  }
  *.sm-btn-tertiary {
    background-color: var(--button-tertiary-background-color);
    border-color: var(--button-tertiary-border-color);
    color: var(--button-tertiary-color);
  }
  *.sm-btn-tertiary:hover,
  *.sm-btn-tertiary:focus,
  *.sm-btn-tertiary:active,
  *.sm-btn-tertiary.active {
    background-color: var(--button-tertiary-background-color-hover);
    border-color: var(--button-tertiary-border-color-hover);
    color: var(--button-tertiary-color-hover);
  }
  *.sm-btn-tertiary:visited {
    color: var(--button-tertiary-color-visited);
  }
  *.sm-btn-outline {
    background-color: var(--button-outline-background-color);
    border-color: var(--button-outline-border-color);
    color: var(--button-outline-color);
  }
  *.sm-btn-outline:hover,
  *.sm-btn-outline:focus,
  *.sm-btn-outline:active,
  *.sm-btn-outline.active {
    background-color: var(--button-outline-background-color-hover);
    border-color: var(--button-outline-border-color-hover);
    color: var(--button-outline-color-hover);
  }
  *.sm-btn-outline:visited {
    color: var(--button-outline-color-visited);
  }
  *.sm-btn-outline-dark {
    background-color: var(--button-outline-dark-background-color);
    border-color: var(--button-outline-dark-border-color);
    color: var(--button-outline-dark-color);
  }
  *.sm-btn-outline-dark:hover,
  *.sm-btn-outline-dark:focus,
  *.sm-btn-outline-dark:active,
  *.sm-btn-outline-dark.active {
    background-color: var(--button-outline-dark-background-color-hover);
    border-color: var(--button-outline-dark-border-color-hover);
    color: var(--button-outline-dark-color-hover);
  }
  *.sm-btn-outline-dark:visited {
    color: var(--button-outline-dark-color-visited);
  }
  *.sm-btn-no-outline {
    background-color: var(--button-outline-none-background-color);
    border-color: var(--button-outline-none-border-color);
    color: var(--button-outline-none-color);
  }
  *.sm-btn-no-outline:hover,
  *.sm-btn-no-outline:focus,
  *.sm-btn-no-outline:active,
  *.sm-btn-no-outline.active {
    background-color: var(--button-outline-none-background-color-hover);
    border-color: var(--button-outline-none-border-color-hover);
    color: var(--button-outline-none-color-hover);
  }
  *.sm-btn-no-outline:visited {
    color: var(--button-outline-none-color-visited);
  }
  *.sm-btn-large {
    gap: var(--bp-xs);
    padding: var(--bp-md) var(--bp-4xl);
  }
  *.sm-btn-medium {
    gap: var(--bp-2xs);
    padding: var(--bp-xs) var(--bp-xl);
  }
  *.sm-btn-small {
    gap: var(--bp-3xs);
    padding: var(--bp-3xs) var(--bp-md);
  }
  *.sm-btn-icon-only i {
    font-size: 1.475rem;
  }
  *.sm-btn-delete {
    background-color: var(--button-delete-background-color);
    border-color: var(--button-delete-border-color);
    color: var(--button-delete-color);
  }
  *.sm-btn-delete:hover,
  *.sm-btn-delete:focus,
  *.sm-btn-delete:active,
  *.sm-btn-delete.active {
    background-color: var(--button-delete-background-color-hover);
    border-color: var(--button-delete-border-color-hover);
    color: var(--button-delete-color-hover);
  }
  *.sm-btn-link {
    padding: unset;
    border: none;
    background-color: var(--button-link-background-color);
    color: var(--link-color);
  }
  *.sm-btn-link:hover,
  *.sm-btn-link:focus,
  *.sm-btn-link:active,
  *.sm-btn-link.active {
    background-color: var(--button-link-background-color-hover);
    color: var(--link-color-hover);
    text-decoration: underline;
  }
  *.sm-btn-slim {
    padding: unset;
    border: none;
  }
  *.sm-btn-slim:focus,
  *.sm-btn-slim:active,
  *.sm-btn-slim:visited,
  *.sm-btn-slim.active {
    background-color: var(--button-link-background-color-hover);
    color: var(--link-color);
  }
  *.sm-btn-slim:hover {
    color: var(--link-color-hover);
  }
  .sm-btn-group {
    display: flex;
    gap: var(--bp-3xs);
  }
  .sm-card {
    background-color: var(--neutral-0);
    border-radius: var(--bp-sm);
    border: 1px solid var(--outline-color);
    display: flex;
    flex-direction: column;
    gap: var(--bp-xs);
    overflow: hidden;
    padding: var(--bp-2xl);
  }
  .sm-card-section {
    align-items: center;
    display: flex;
    gap: var(--bp-sm);
  }
  select {
    appearance: none;
    background-color: var(--neutral-0);
    background-image: url('../fontawesome-pro-6.0.0-web/svgs/light/chevron-down.svg');
    background-position: right 1em center;
    background-repeat: no-repeat;
    background-size: 12px;
    border: 1px var(--dropdown-border-color) solid;
    border-radius: var(--bp-sm);
    cursor: pointer;
    min-height: 3rem;
    outline: none;
    padding: var(--bp-3xs) var(--bp-lg);
    padding-right: 36px;
    transition-property: border-color;
    transition-duration: 0.12s;
    transition-timing-function: ease-in-out;
    display: flex;
    align-items: center;
  }
  select option {
    padding: var(--bp-3xs) var(--bp-sm);
  }
  select:hover,
  select:focus,
  select:active {
    border-color: var(--dropdown-border-color-active);
  }
  select.error {
    border: 1px var(--dropdown-border-color-error) solid;
  }
  select.error:focus,
  select.error:hover,
  select.error:active {
    outline-color: var(--dropdown-outline-color-error-active);
    border: 1px var(--dropdown-border-color-error-active) solid;
  }
  select[disabled] {
    pointer-events: none;
    background-color: transparent;
    border-color: var(--dropdown-border-color-disabled);
    color: var(--dropdown-color-disabled);
    cursor: not-allowed;
  }
  select.custom-select {
    white-space: normal;
    word-wrap: break-word;
    height: auto;
    transition: border-color 200ms ease-out, background-color 200ms ease-out;
  }
  select.custom-select,
  select.custom-select::picker(select) {
    appearance: base-select;
  }
  select.custom-select:hover {
    border-color: var(--violet-300);
    background-color: var(--violet-25);
  }
  select.custom-select:focus {
    border-color: var(--violet-500);
    background-color: var(--violet-50);
  }
  select.custom-select optgroup {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.75rem;
    color: var(--slate-400);
    padding: var(--bp-xs);
    transition: color 200ms ease-out;
  }
  select.custom-select optgroup:hover {
    color: var(--violet-600);
  }
  select.custom-select option {
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    padding: var(--bp-xs) var(--bp-xl);
    border-radius: var(--bp-sm);
    margin-bottom: 0.25rem;
    color: var(--slate-900);
    font-size: 1rem;
    text-transform: none;
    transition: background-color 200ms ease-out, color 200ms ease-out;
  }
  select.custom-select option:last-child {
    margin-bottom: 0;
  }
  select.custom-select option:hover {
    background-color: var(--violet-50);
    color: var(--violet-700);
  }
  select.custom-select option:focus {
    background-color: var(--violet-100);
    color: var(--violet-800);
  }
  select.custom-select option:active {
    background-color: var(--violet-200);
    color: var(--violet-900);
  }
  select.custom-select option::checkmark {
    font-family: 'Font Awesome 6 Pro';
    font-weight: 300;
    color: var(--green-600);
    font-size: 1rem;
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
  }
  select.custom-select option:checked {
    background-color: var(--violet-100);
    border: 1px solid var(--violet-500);
    color: var(--violet-900);
    font-weight: 500;
    position: relative;
  }
  select.custom-select option:checked::checkmark {
    content: '\f058';
    color: var(--green-600);
  }
  select.custom-select option i[class*="fa-"] {
    transition: all 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  select.custom-select option:hover i[class*="fa-"] {
    transform: scale(1.2) rotate(5deg);
    color: var(--violet-600);
  }
  select.custom-select option:active i[class*="fa-"] {
    transform: scale(0.9) rotate(-3deg);
    transition: all 150ms ease-out;
  }
  select.custom-select option:checked i[class*="fa-"] {
    animation: iconCelebrate 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
    color: var(--violet-700);
  }
  select.custom-select > option:first-child {
    color: var(--slate-400);
    background-color: transparent;
    border: none;
  }
  select.custom-select > option:first-child:hover,
  select.custom-select > option:first-child:focus,
  select.custom-select > option:first-child:active {
    background-color: transparent;
    color: var(--slate-400);
  }
  select.custom-select > option:first-child::checkmark {
    display: none;
  }
  select.custom-select optgroup option:last-child {
    margin-bottom: 0;
  }
  select.custom-select optgroup option:first-child {
    margin-top: var(--bp-4xs);
  }
  select.custom-select::picker(select) {
    background-color: #ffffff;
    border: 1px solid var(--violet-200);
    border-radius: 0.875rem;
    box-shadow: 0 0.125rem 0.375rem rgba(139, 92, 246, 0.15);
    padding: 0.375rem;
  }
  select.custom-select::picker-icon {
    display: none;
  }
  @keyframes iconCelebrate {
    0% {
      transform: scale(1) rotate(0deg);
    }
    25% {
      transform: scale(1.3) rotate(-10deg);
    }
    50% {
      transform: scale(1.1) rotate(15deg);
    }
    75% {
      transform: scale(1.25) rotate(-5deg);
    }
    100% {
      transform: scale(1.15) rotate(0deg);
    }
  }
  .sm-input-btn-container {
    align-items: flex-start;
    display: flex;
    gap: var(--bp-xs);
    width: fit-content;
  }
  .sm-input-btn-container input[type='checkbox'],
  .sm-input-btn-container input[type='radio'] {
    accent-color: var(--input-button-accent-color);
    aspect-ratio: 1 / 1;
    cursor: pointer;
    width: 1rem;
    transition-duration: 0.24s;
    transition-property: accent-color;
    transition-timing-function: ease-in-out;
    margin-top: var(--bp-5xs);
  }
  .sm-input-btn-container input[type='checkbox']:checked,
  .sm-input-btn-container input[type='radio']:checked,
  .sm-input-btn-container input[type='checkbox']:hover,
  .sm-input-btn-container input[type='radio']:hover,
  .sm-input-btn-container input[type='checkbox']:active,
  .sm-input-btn-container input[type='radio']:active,
  .sm-input-btn-container input[type='checkbox']:focus,
  .sm-input-btn-container input[type='radio']:focus,
  .sm-input-btn-container input[type='checkbox']:focus-visible,
  .sm-input-btn-container input[type='radio']:focus-visible,
  .sm-input-btn-container input[type='checkbox']:focus-within,
  .sm-input-btn-container input[type='radio']:focus-within,
  .sm-input-btn-container input[type='checkbox']:visited,
  .sm-input-btn-container input[type='radio']:visited {
    accent-color: var(--input-button-accent-color-checked);
    color: var(--input-button-color-checked);
    outline-color: var(--input-button-outline-color-checked);
  }
  .sm-input-btn-container label {
    cursor: pointer;
  }
  .sm-input-btn-container :is(input[type='checkbox'], input[type='radio'], input.toggle-switch, input.toggle-switch-text) + label {
    font-size: var(--bp-md);
  }
  .sm-input-btn-container:has(input.toggle-switch) {
    align-items: center;
  }
  .sm-input-btn-container:has(.toggle-text-wrapper) {
    align-items: center;
  }
  .sm-input-btn-container input.toggle-switch {
    border-radius: 25px;
    background-color: var(--input-button-toggle-background-color);
    cursor: pointer;
    height: 20px;
    margin-top: 0;
    min-width: 36px;
    outline: none;
    position: relative;
    transition: background-color 0.3s ease-in-out;
    -webkit-appearance: none;
  }
  .sm-input-btn-container input.toggle-switch::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 30%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    height: 14px;
    width: 14px;
    background-color: var(--input-button-toggle-switch-background-color);
    transition: left 0.3s ease-in-out;
  }
  .sm-input-btn-container input.toggle-switch:checked {
    background-color: var(--input-button-toggle-background-color-checked);
  }
  .sm-input-btn-container input.toggle-switch:checked::after {
    left: 70%;
  }
  /* Toggle Switch Text Variant */
  .toggle-text-wrapper {
    border-radius: 25px;
    background-color: var(--input-button-toggle-background-color);
    cursor: pointer;
    height: 24px;
    min-width: 72px;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    padding: 4px;
    font-family: 'Roboto', sans-serif;
    font-size: var(--bp-xs);
    transition: background-color 0.3s ease-in-out;
  }
  .toggle-text-wrapper.checked {
    background-color: var(--input-button-toggle-background-color-checked);
  }
  .toggle-text-wrapper.checked .toggle-sliding-bg {
    left: 50%;
  }
  .toggle-text-wrapper.checked .toggle-text-off {
    color: var(--slate-50);
    font-weight: 400;
    opacity: 0.5;
  }
  .toggle-text-wrapper.checked .toggle-text-on {
    color: var(--slate-800);
    font-weight: 600;
    opacity: 1;
  }
  .toggle-text-wrapper:has(.toggle-text-off:empty, .toggle-text-on:empty) {
    height: 20px;
    min-width: 36px;
    padding: 0;
  }
  .toggle-text-wrapper:has(.toggle-text-off:empty, .toggle-text-on:empty) .toggle-sliding-bg {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    top: 50%;
    left: 30%;
    transform: translate(-50%, -50%);
  }
  .toggle-text-wrapper:has(.toggle-text-off:empty, .toggle-text-on:empty).checked .toggle-sliding-bg {
    left: 70%;
  }
  .toggle-text-wrapper:has(.toggle-text-off:empty, .toggle-text-on:empty) .toggle-text-off,
  .toggle-text-wrapper:has(.toggle-text-off:empty, .toggle-text-on:empty) .toggle-text-on {
    display: none;
  }
  /* Sliding background div */
  .toggle-sliding-bg {
    position: absolute;
    top: 4px;
    left: 4px;
    width: calc(50% - 4px);
    height: calc(100% - 8px);
    background-color: var(--input-button-toggle-switch-background-color);
    border-radius: 21px;
    transition: left 0.3s ease-in-out;
    z-index: 1;
  }
  /* Text labels */
  .toggle-text-off,
  .toggle-text-on {
    position: relative;
    z-index: 2;
    pointer-events: none;
    white-space: nowrap;
    transition: color 0.3s ease-in-out, opacity 0.3s ease-in-out;
    padding: 0 8px;
    text-align: center;
  }
  .toggle-text-off {
    color: var(--slate-400);
    font-weight: 600;
  }
  .toggle-text-on {
    color: var(--slate-50);
  }
  .sm-label {
    align-items: center;
    background-color: var(--slate-100);
    border-radius: var(--bp-5xs);
    display: inline-flex;
    font-family: 'Roboto', sans-serif;
    font-size: var(--bp-sm);
    line-height: 1.5;
    gap: var(--bp-5xs);
    padding: var(--bp-5xs) var(--bp-2xs);
    width: fit-content;
  }
  .sm-label span {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }
  .sm-label i.fa-close {
    align-items: center;
    aspect-ratio: 1 / 1;
    border-radius: var(--bp-lg);
    cursor: pointer;
    display: flex;
    padding: var(--bp-5xs);
    justify-content: center;
    transition-property: background-color, color;
    transition-duration: 0.12s;
    transition-timing-function: ease-in-out;
    transform: translateX(var(--bp-5xs));
  }
  @media (hover: hover) {
    .sm-label i.fa-close:hover {
      background-color: #ffffff;
    }
  }
  .sm-label-gray {
    background-color: var(--slate-200);
    color: var(--slate-800);
  }
  @media (hover: hover) {
    .sm-label-gray i.fa-close:hover {
      background-color: var(--slate-800);
      color: var(--slate-100);
    }
  }
  .sm-label-red {
    background-color: var(--red-100);
    color: var(--red-800);
  }
  @media (hover: hover) {
    .sm-label-red i.fa-close:hover {
      background-color: var(--red-800);
      color: var(--red-100);
    }
  }
  .sm-label-orange {
    background-color: var(--orange-100);
    color: var(--orange-800);
  }
  @media (hover: hover) {
    .sm-label-orange i.fa-close:hover {
      background-color: var(--orange-800);
      color: var(--orange-100);
    }
  }
  .sm-label-yellow {
    background-color: var(--yellow-100);
    color: var(--yellow-800);
  }
  @media (hover: hover) {
    .sm-label-yellow i.fa-close:hover {
      background-color: var(--yellow-800);
      color: var(--yellow-100);
    }
  }
  .sm-label-lemon {
    background-color: var(--lemon-100);
    color: var(--lemon-800);
  }
  @media (hover: hover) {
    .sm-label-lemon i.fa-close:hover {
      background-color: var(--lemon-800);
      color: var(--lemon-100);
    }
  }
  .sm-label-lime {
    background-color: var(--lime-100);
    color: var(--lime-800);
  }
  @media (hover: hover) {
    .sm-label-lime i.fa-close:hover {
      background-color: var(--lime-800);
      color: var(--lime-100);
    }
  }
  .sm-label-green {
    background-color: var(--green-100);
    color: var(--green-800);
  }
  @media (hover: hover) {
    .sm-label-green i.fa-close:hover {
      background-color: var(--green-800);
      color: var(--green-100);
    }
  }
  .sm-label-emerald {
    background-color: var(--emerald-100);
    color: var(--emerald-800);
  }
  @media (hover: hover) {
    .sm-label-emerald i.fa-close:hover {
      background-color: var(--emerald-800);
      color: var(--emerald-100);
    }
  }
  .sm-label-teal {
    background-color: var(--teal-100);
    color: var(--teal-800);
  }
  @media (hover: hover) {
    .sm-label-teal i.fa-close:hover {
      background-color: var(--teal-800);
      color: var(--teal-100);
    }
  }
  .sm-label-cyan {
    background-color: var(--cyan-100);
    color: var(--cyan-800);
  }
  @media (hover: hover) {
    .sm-label-cyan i.fa-close:hover {
      background-color: var(--cyan-800);
      color: var(--cyan-100);
    }
  }
  .sm-label-sky {
    background-color: var(--sky-100);
    color: var(--sky-800);
  }
  @media (hover: hover) {
    .sm-label-sky i.fa-close:hover {
      background-color: var(--sky-800);
      color: var(--sky-100);
    }
  }
  .sm-label-blue {
    background-color: var(--blue-100);
    color: var(--blue-800);
  }
  @media (hover: hover) {
    .sm-label-blue i.fa-close:hover {
      background-color: var(--blue-800);
      color: var(--blue-100);
    }
  }
  .sm-label-indigo {
    background-color: var(--indigo-100);
    color: var(--indigo-800);
  }
  @media (hover: hover) {
    .sm-label-indigo i.fa-close:hover {
      background-color: var(--indigo-800);
      color: var(--indigo-100);
    }
  }
  .sm-label-violet {
    background-color: var(--violet-100);
    color: var(--violet-800);
  }
  @media (hover: hover) {
    .sm-label-violet i.fa-close:hover {
      background-color: var(--violet-800);
      color: var(--violet-100);
    }
  }
  .sm-label-purple {
    background-color: var(--purple-100);
    color: var(--purple-800);
  }
  @media (hover: hover) {
    .sm-label-purple i.fa-close:hover {
      background-color: var(--purple-800);
      color: var(--purple-100);
    }
  }
  .sm-label-fuchsia {
    background-color: var(--fuchsia-100);
    color: var(--fuchsia-800);
  }
  @media (hover: hover) {
    .sm-label-fuchsia i.fa-close:hover {
      background-color: var(--fuchsia-800);
      color: var(--fuchsia-100);
    }
  }
  .sm-label-pink {
    background-color: var(--pink-100);
    color: var(--pink-800);
  }
  @media (hover: hover) {
    .sm-label-pink i.fa-close:hover {
      background-color: var(--pink-800);
      color: var(--pink-100);
    }
  }
  .sm-label-rose {
    background-color: var(--rose-100);
    color: var(--rose-800);
  }
  @media (hover: hover) {
    .sm-label-rose i.fa-close:hover {
      background-color: var(--rose-800);
      color: var(--rose-100);
    }
  }
  .sm-label-dark {
    color: var(--neutral-0);
  }
  .sm-label-dark.sm-label-gray {
    background-color: var(--slate-700);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-gray i.fa-close:hover {
      background-color: var(--slate-950);
    }
  }
  .sm-label-dark.sm-label-red {
    background-color: var(--red-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-red i.fa-close:hover {
      background-color: var(--red-950);
    }
  }
  .sm-label-dark.sm-label-orange {
    background-color: var(--orange-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-orange i.fa-close:hover {
      background-color: var(--orange-950);
    }
  }
  .sm-label-dark.sm-label-yellow {
    background-color: var(--yellow-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-yellow i.fa-close:hover {
      background-color: var(--yellow-950);
    }
  }
  .sm-label-dark.sm-label-lemon {
    background-color: var(--lemon-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-lemon i.fa-close:hover {
      background-color: var(--lemon-950);
    }
  }
  .sm-label-dark.sm-label-green {
    background-color: var(--green-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-green i.fa-close:hover {
      background-color: var(--green-950);
    }
  }
  .sm-label-dark.sm-label-emerald {
    background-color: var(--emerald-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-emerald i.fa-close:hover {
      background-color: var(--emerald-950);
    }
  }
  .sm-label-dark.sm-label-teal {
    background-color: var(--teal-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-teal i.fa-close:hover {
      background-color: var(--teal-950);
    }
  }
  .sm-label-dark.sm-label-cyan {
    background-color: var(--cyan-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-cyan i.fa-close:hover {
      background-color: var(--cyan-950);
    }
  }
  .sm-label-dark.sm-label-sky {
    background-color: var(--sky-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-sky i.fa-close:hover {
      background-color: var(--sky-950);
    }
  }
  .sm-label-dark.sm-label-blue {
    background-color: var(--blue-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-blue i.fa-close:hover {
      background-color: var(--blue-950);
    }
  }
  .sm-label-dark.sm-label-indigo {
    background-color: var(--indigo-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-indigo i.fa-close:hover {
      background-color: var(--indigo-950);
    }
  }
  .sm-label-dark.sm-label-violet {
    background-color: var(--violet-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-violet i.fa-close:hover {
      background-color: var(--violet-950);
    }
  }
  .sm-label-dark.sm-label-purple {
    background-color: var(--purple-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-purple i.fa-close:hover {
      background-color: var(--purple-950);
    }
  }
  .sm-label-dark.sm-label-fuchsia {
    background-color: var(--fuchsia-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-fuchsia i.fa-close:hover {
      background-color: var(--fuchsia-950);
    }
  }
  .sm-label-dark.sm-label-pink {
    background-color: var(--pink-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-pink i.fa-close:hover {
      background-color: var(--pink-950);
    }
  }
  .sm-label-dark.sm-label-rose {
    background-color: var(--rose-800);
  }
  @media (hover: hover) {
    .sm-label-dark.sm-label-rose i.fa-close:hover {
      background-color: var(--rose-950);
    }
  }
  input:not([type='checkbox'], [type='radio'], [type='submit']),
  textarea {
    min-height: 3rem;
    background-color: var(--neutral-0);
    border: 1px solid var(--text-input-border-color);
    border-radius: var(--bp-sm);
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    outline: none;
    padding: var(--bp-3xs) var(--bp-lg);
    transition-property: border-color;
    transition-duration: 0.12s;
    transition-timing-function: ease-in-out;
  }
  input:not([type='checkbox'], [type='radio'], [type='submit'])::placeholder,
  textarea::placeholder {
    color: var(--text-input-placeholder-color);
    font-style: italic;
  }
  input:not([type='checkbox'], [type='radio'], [type='submit']):focus,
  textarea:focus,
  input:not([type='checkbox'], [type='radio'], [type='submit']):hover,
  textarea:hover,
  input:not([type='checkbox'], [type='radio'], [type='submit']):active,
  textarea:active {
    border-color: var(--text-input-border-color-active);
  }
  textarea {
    min-height: 6rem;
  }
  .sm-input-container {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    gap: var(--bp-5xs);
  }
  .sm-input-container i[class^='fa-'] {
    align-items: center;
    display: flex;
    justify-content: center;
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    width: 48px;
  }
  .sm-input-container.icon-left input:not([type='checkbox'], [type='radio']) {
    padding-inline-start: 48px;
  }
  .sm-input-container.icon-left i[class^='fa-'] {
    justify-self: flex-start;
  }
  .sm-input-container.icon-right input:not([type='checkbox'], [type='radio']) {
    padding-inline-end: 48px;
  }
  .sm-input-container.icon-right i[class^='fa-'] {
    justify-self: flex-end;
  }
  .sm-input-container input:not([type='checkbox'], [type='radio']).error,
  .sm-input-container textarea.error {
    border-color: var(--text-input-border-color-error);
  }
  .sm-input-container input:not([type='checkbox'], [type='radio']):disabled,
  .sm-input-container textarea:disabled {
    background-color: transparent;
    border-color: var(--text-input-border-color-disabled);
    color: var(--text-input-color-disabled);
    cursor: not-allowed;
  }
  .sm-input-container input:not([type='checkbox'], [type='radio']):disabled + i[class^='fa-'],
  .sm-input-container textarea:disabled + i[class^='fa-'] {
    color: var(--text-input-icon-color-disabled);
  }
  .sm-input-container input:not([type='checkbox'], [type='radio']):disabled::placeholder,
  .sm-input-container textarea:disabled::placeholder {
    color: var(--text-input-placeholder-color-disabled);
  }
  .helper-text {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .sm-tooltip-container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .sm-tooltip-container p {
    margin: 0;
  }
  .sm-tooltip-container:has(.sm-tooltip-hover-target) .sm-tooltip {
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-duration) var(--transition-timing-function);
  }
  .sm-tooltip-container:has(.sm-tooltip-hover-target) .sm-tooltip-hover-target:hover + .sm-tooltip,
  .sm-tooltip-container:has(.sm-tooltip-hover-target) .sm-tooltip-hover-target:focus + .sm-tooltip,
  .sm-tooltip-container:has(.sm-tooltip-hover-target) .sm-tooltip-hover-target.force-hover + .sm-tooltip {
    opacity: 1;
    visibility: visible;
  }
  .sm-tooltip {
    align-items: center;
    background-color: var(--foreground-color);
    border-radius: var(--bp-sm);
    display: flex;
    height: min-content;
    justify-content: center;
    margin: auto;
    padding: var(--bp-xs);
    position: absolute;
    z-index: 1000;
    width: min-content;
  }
  .sm-tooltip.tooltip-dark {
    --foreground-color: var(--slate-800);
    --background-color: var(--slate-100);
  }
  .sm-tooltip.tooltip-light {
    --foreground-color: var(--slate-100);
    --background-color: var(--slate-800);
  }
  .sm-tooltip p {
    align-items: center;
    color: var(--background-color);
    font-family: var(--font-primary);
    font-size: 0.825rem;
    font-style: normal;
    font-weight: var(--font-weight-normal);
    letter-spacing: 0.01em;
    margin: unset;
    max-width: 48ch;
    width: max-content;
  }
  .sm-tooltip::after {
    border-style: solid;
    border-width: 6px;
    content: '';
    position: absolute;
    border-color: transparent;
  }
  .sm-tooltip-top {
    bottom: calc(100% + 10px);
  }
  .sm-tooltip-top::after {
    border-top-color: var(--foreground-color);
    top: 100%;
  }
  .sm-tooltip-bottom {
    top: calc(100% + 10px);
  }
  .sm-tooltip-bottom::after {
    border-bottom-color: var(--foreground-color);
    bottom: 100%;
  }
  .sm-tooltip-left {
    right: calc(100% + 10px);
  }
  .sm-tooltip-left::after {
    border-left-color: var(--foreground-color);
    left: 100%;
  }
  .sm-tooltip-right {
    left: calc(100% + 10px);
  }
  .sm-tooltip-right::after {
    border-right-color: var(--foreground-color);
    right: 100%;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: var(--font-primary);
    margin: 0;
  }
  h1 {
    font-size: var(--bp-9xl);
    font-weight: var(--font-weight-semi-bold);
    line-height: 1.333332;
  }
  h2 {
    font-size: var(--bp-3xl);
    font-weight: var(--font-weight-semi-bold);
    line-height: 1.5;
  }
  h3 {
    font-size: var(--bp-xl);
    font-weight: var(--font-weight-semi-bold);
    line-height: 1.624993;
  }
  h4 {
    font-size: var(--bp-lg);
    font-weight: var(--font-weight-semi-bold);
    line-height: 1.45455;
  }
  h5 {
    font-size: var(--bp-md);
    line-height: inherit;
    font-weight: var(--font-weight-semi-bold);
  }
  h6 {
    font-size: var(--bp-sm);
    line-height: inherit;
    font-weight: var(--font-weight-semi-bold);
  }
  p.caption {
    font-size: 0.75rem;
    line-height: 1.6;
  }
  p small {
    display: inline-block;
    font-size: 0.825rem;
  }
  strong {
    font-weight: var(--font-weight-semi-bold);
  }
  label,
  .label {
    font-size: var(--bp-sm);
    color: var(--slate-600);
  }
  .monospace {
    font-family: 'Roboto Mono';
    font-style: normal;
    font-weight: var(--font-weight-normal);
  }
  a {
    color: var(--link-color);
    transition-duration: 0.24s;
    transition-property: color;
    transition-timing-function: ease-in-out;
  }
  a:hover,
  a:active,
  a:focus {
    color: var(--link-color-hover);
    text-decoration: underline;
  }
}