*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

.container {
  width: 100%;
}

@media (min-width: 640px) {
  .container {
    max-width: 640px;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 768px;
  }
}

@media (min-width: 1024px) {
  .container {
    max-width: 1024px;
  }
}

@media (min-width: 1280px) {
  .container {
    max-width: 1280px;
  }
}

@media (min-width: 1536px) {
  .container {
    max-width: 1536px;
  }
}

.visible {
  visibility: visible;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.col-span-4 {
  grid-column: span 4 / span 4;
}

.m-0 {
  margin: 0px;
}

.mb-2 {
  margin-bottom: 8px;
}

.mb-4 {
  margin-bottom: 16px;
}

.mt-\[0\.25em\] {
  margin-top: 0.25em;
}

.box-border {
  box-sizing: border-box;
}

.flex {
  display: flex;
}

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

.\!table {
  display: table !important;
}

.table {
  display: table;
}

.grid {
  display: grid;
}

.hidden {
  display: none;
}

.h-2\.5 {
  height: 10px;
}

.h-3 {
  height: 12px;
}

.h-\[1\.5em\] {
  height: 1.5em;
}

.h-\[20px\] {
  height: 20px;
}

.h-full {
  height: 100%;
}

.w-2\.5 {
  width: 10px;
}

.w-3 {
  width: 12px;
}

.w-7 {
  width: 28px;
}

.w-9 {
  width: 36px;
}

.w-\[20px\] {
  width: 20px;
}

.w-\[320px\] {
  width: 320px;
}

.w-\[36px\] {
  width: 36px;
}

.w-\[50\%\] {
  width: 50%;
}

.w-full {
  width: 100%;
}

.max-w-full {
  max-width: 100%;
}

.grow {
  flex-grow: 1;
}

.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.cursor-pointer {
  cursor: pointer;
}

.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.grid-cols-\[1fr_auto\] {
  grid-template-columns: 1fr auto;
}

.grid-rows-2 {
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.flex-row {
  flex-direction: row;
}

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

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

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

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

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

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

.gap-2 {
  gap: 8px;
}

.gap-3 {
  gap: 12px;
}

.gap-x-2 {
  -moz-column-gap: 8px;
       column-gap: 8px;
}

.gap-x-\[0\.625em\] {
  -moz-column-gap: 0.625em;
       column-gap: 0.625em;
}

.gap-x-\[3em\] {
  -moz-column-gap: 3em;
       column-gap: 3em;
}

.gap-y-0\.5 {
  row-gap: 2px;
}

.gap-y-1 {
  row-gap: 4px;
}

.self-stretch {
  align-self: stretch;
}

.justify-self-end {
  justify-self: end;
}

.overflow-hidden {
  overflow: hidden;
}

.text-ellipsis {
  text-overflow: ellipsis;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.rounded {
  border-radius: 8px;
}

.border {
  border-width: 1px;
}

.border-none {
  border-style: none;
}

.bg-helper {
  background-color: var(--ric-color-primary-50);
}

.bg-tertiary {
  background-color: var(--ric-color-grey-100);
}

.stroke-current {
  stroke: currentColor;
}

.p-0 {
  padding: 0px;
}

.p-2 {
  padding: 8px;
}

.p-\[0\.25em\] {
  padding: 0.25em;
}

.p-px {
  padding: 1px;
}

.px-1\.5 {
  padding-left: 6px;
  padding-right: 6px;
}

.py-0\.5 {
  padding-top: 2px;
  padding-bottom: 2px;
}

.py-1 {
  padding-top: 4px;
  padding-bottom: 4px;
}

.py-1\.5 {
  padding-top: 6px;
  padding-bottom: 6px;
}

.py-\[0\.25em\] {
  padding-top: 0.25em;
  padding-bottom: 0.25em;
}

.pe-1\.5 {
  padding-inline-end: 6px;
}

.pe-2 {
  padding-inline-end: 8px;
}

.ps-1 {
  padding-inline-start: 4px;
}

.ps-1\.5 {
  padding-inline-start: 6px;
}

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

.\!font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

.font-sans {
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.uppercase {
  text-transform: uppercase;
}

.text-secondary {
  color: var(--ric-text-secondary);
}

.opacity-0 {
  opacity: 0;
}

.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.contain-strict {
  contain: strict;
}

/* #region Text Utility Classes */

.ric-text-header-2xl {
  font: var(--ric-font-header-2xl);
  font-family: inherit;
}

.ric-text-header-xl {
  font: var(--ric-font-header-xl);
  font-family: inherit;
}

.ric-text-header-l {
  font: var(--ric-font-header-l);
  font-family: inherit;
}

.ric-text-header-m {
  font: var(--ric-font-header-m);
  font-family: inherit;
}

.ric-text-header-s {
  font: var(--ric-font-header-s);
  font-family: inherit;
}

.ric-text-body-l {
  font: var(--ric-font-body-l);
  font-family: inherit;
}

.ric-text-body-m {
  font: var(--ric-font-body-m);
  font-family: inherit;
}

.ric-text-body-sm {
  font: var(--ric-font-body-sm);
  font-family: inherit;
}

.ric-text-body-s {
  font: var(--ric-font-body-s);
  font-family: inherit;
}

.ric-text-body-xs {
  font: var(--ric-font-body-xs);
  font-family: inherit;
}

.ric-text-body-2xs {
  font: var(--ric-font-body-2xs);
  font-family: inherit;
}

.ric-text-label-m {
  font: var(--ric-font-label-m);
  font-family: inherit;
}

.ric-text-label-m-italic {
  font: var(--ric-font-label-m-italic);
  font-family: inherit;
}

.ric-text-note-s-italic {
  font: var(--ric-font-note-s-italic);
  font-family: inherit;
}

.ric-text-note-s-upp {
  font: var(--ric-font-note-s);
  font-family: inherit;
  text-transform: uppercase;
}

.ric-text-note-2xs-upp {
  font: var(--ric-font-note-2xs);
  font-family: inherit;
  text-transform: uppercase;
}

.ric-nowrap {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

/* #endregion */

:root {
  --ric-scrollbar-width: 6px;
  /* ~ 8px (thin) */
}

/* #region Thin scrollbar */

.ric-thin-scrollbar {
  scrollbar-color: var(--ric-bg-scrollbar-thumb) var(--ric-bg-scrollbar-track);
  scrollbar-width: thin;
}

.ric-thin-scrollbar::-webkit-scrollbar {
  width: var(--ric-scrollbar-width);
}

.ric-thin-scrollbar::-webkit-scrollbar-track {
  background: var(--ric-bg-scrollbar-track);
}

.ric-thin-scrollbar::-webkit-scrollbar-thumb {
  background: var(--ric-bg-scrollbar-thumb);
}

/* #endregion */

/* #region Container with thin scrollbar */

.ric-scrollable {
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  /* 16px = 8px + (scrollbar=8px) */
  padding-inline-start: 16px;
  padding-inline-end: 8px;
  scrollbar-color: var(--ric-bg-scrollbar-thumb) var(--ric-bg-scrollbar-track);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}

.ric-scrollable::-webkit-scrollbar {
  width: var(--ric-scrollbar-width);
}

.ric-scrollable::-webkit-scrollbar-track {
  background: var(--ric-bg-scrollbar-track);
}

.ric-scrollable::-webkit-scrollbar-thumb {
  background: var(--ric-bg-scrollbar-thumb);
}

/* #endregion */

/* #region Horizontal Scroll without scrollbar */

.ric-scroll-x {
  overflow: hidden;
}

.ric-scroll-x > * {
  scrollbar-width: none;
  overflow-x: auto;
  overflow-y: hidden;
}

.ric-scroll-x > *::-webkit-scrollbar {
  width: 0;
  height: 0;
}

/* #endregion */

/* #region Button */

.ric-btn {
  margin: 0px;
  box-sizing: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0px;
  cursor: pointer;
}

.ric-btn:disabled {
  cursor: not-allowed;
}

.ric-btn {
  white-space: nowrap;
  font-family: inherit;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  border-width: 0px;
  background-color: transparent;
  font-weight: 600;
  -moz-column-gap: 4px;
       column-gap: 4px;
}

.ric-btn-xl {
  -moz-column-gap: 8px;
       column-gap: 8px;
}

.ric-btn {
  font: var(--ric-font-header-m);
  font-family: inherit;
}

.ric-btn-s {
  font: var(--ric-font-header-s);
  font-family: inherit;
}

.ric-btn-xl {
  font: var(--ric-font-header-l);
  font-family: inherit;
}

.ric-btn-em {
  font-size: 1em;
  line-height: inherit;
}

.ric-btn-primary,
.ric-btn-secondary,
.ric-btn-outlined,
.ric-btn-danger {
  border-radius: 8px;
  --padding-ric-btn-base: 4px;
  --padding-ric-btn-icon: 8px;
  --padding-ric-btn-text: 12px;
  padding: var(--padding-ric-btn-base);
}

.ric-btn-primary.ric-btn-l,
.ric-btn-secondary.ric-btn-l,
.ric-btn-outlined.ric-btn-l,
.ric-btn-danger.ric-btn-l,
.ric-btn-primary.ric-btn-xl,
.ric-btn-secondary.ric-btn-xl,
.ric-btn-outlined.ric-btn-xl,
.ric-btn-danger.ric-btn-xl {
  --padding-ric-btn-base: 10px;
  --padding-ric-btn-icon: 16px;
  --padding-ric-btn-text: 20px;
}

.ric-btn-primary > span:first-child,
.ric-btn-secondary > span:first-child,
.ric-btn-outlined > span:first-child,
.ric-btn-danger > span:first-child {
  margin-inline-start: calc(var(--padding-ric-btn-text) - var(--padding-ric-btn-base));
}

.ric-btn-primary > span:last-child,
.ric-btn-secondary > span:last-child,
.ric-btn-outlined > span:last-child,
.ric-btn-danger > span:last-child {
  margin-inline-end: calc(var(--padding-ric-btn-text) - var(--padding-ric-btn-base));
}

.ric-btn > svg {
  height: 20px;
  width: 20px;
  flex-shrink: 0;
}

.ric-btn-s > svg {
  height: 16px;
  width: 16px;
}

.ric-btn-em > svg {
  height: 1em;
  width: 1em;
}

.ric-btn-primary > svg:first-child,
.ric-btn-secondary > svg:first-child,
.ric-btn-outlined > svg:first-child,
.ric-btn-danger > svg:first-child {
  margin-inline-start: calc(var(--padding-ric-btn-icon) - var(--padding-ric-btn-base));
}

.ric-btn-primary > svg:last-child,
.ric-btn-secondary > svg:last-child,
.ric-btn-outlined > svg:last-child,
.ric-btn-danger > svg:last-child {
  margin-inline-end: calc(var(--padding-ric-btn-icon) - var(--padding-ric-btn-base));
}

.ric-btn-primary > svg:first-child:last-child,
.ric-btn-secondary > svg:first-child:last-child,
.ric-btn-outlined > svg:first-child:last-child,
.ric-btn-danger > svg:first-child:last-child {
  margin-inline-start: 0;
  margin-inline-end: 0;
}

.ric-btn-primary.ric-btn-xl > svg:first-child:last-child,
.ric-btn-secondary.ric-btn-xl > svg:first-child:last-child,
.ric-btn-outlined.ric-btn-xl > svg:first-child:last-child,
.ric-btn-danger.ric-btn-xl > svg:first-child:last-child {
  margin: 2px;
}

.ric-btn > svg {
  fill: currentColor;
  stroke: currentColor;
}

.ric-btn {
  color: var(--ric-text-btn-default);
}

.ric-btn:hover {
  color: var(--ric-text-btn-default-hover);
}

.ric-btn:disabled {
  color: var(--ric-text-btn-default-disabled);
}

.ric-btn-link {
  color: var(--ric-text-btn-link);
}

.ric-btn-link:hover {
  color: var(--ric-text-btn-link-hover);
}

.ric-btn-link:disabled {
  color: var(--ric-text-btn-link-disabled);
}

.ric-btn-primary {
  background-color: var(--ric-bg-btn-primary);
  color: var(--ric-text-btn-primary);
}

.ric-btn-primary:hover {
  background-color: var(--ric-bg-btn-primary-hover);
  color: var(--ric-text-btn-primary);
}

.ric-btn-primary:disabled {
  background-color: var(--ric-bg-btn-primary-disabled);
  color: var(--ric-text-btn-primary);
}

.ric-btn-danger {
  background-color: var(--ric-bg-btn-danger);
  color: var(--ric-text-btn-danger);
}

.ric-btn-danger:hover {
  background-color: var(--ric-bg-btn-danger-hover);
  color: var(--ric-text-btn-danger);
}

.ric-btn-danger:disabled {
  background-color: var(--ric-bg-btn-danger-disabled);
  color: var(--ric-text-btn-danger);
}

.ric-btn-secondary {
  background-color: var(--ric-bg-btn-secondary);
  color: var(--ric-text-btn-secondary);
}

.ric-btn-secondary:hover {
  background-color: var(--ric-bg-btn-secondary);
  color: var(--ric-text-btn-secondary-hover);
}

.ric-btn-secondary:disabled {
  background-color: var(--ric-bg-btn-secondary-disabled);
  color: var(--ric-text-btn-secondary-disabled);
}

.ric-btn-outlined {
  background-color: var(--ric-bg-btn-outline);
  box-shadow: inset 0 0 0 1px var(--ric-border-btn-outline);
  color: var(--ric-text-btn-outline);
}

.ric-btn-outlined:hover {
  background-color: var(--ric-bg-btn-outline);
  box-shadow: inset 0 0 0 1px var(--ric-border-btn-outline);
  color: var(--ric-text-btn-outline-hover);
}

.ric-btn-outlined:disabled {
  background-color: var(--ric-bg-btn-outline);
  box-shadow: inset 0 0 0 1px var(--ric-border-btn-outline);
  color: var(--ric-text-btn-outline-disabled);
}

/* #endregion */

/* #region PopupMenu ( + Menu, MenuButton, MenuGroup ) */

.ric-menu {
  margin: 0px;
  list-style-position: outside;
  list-style-type: none;
  padding: 0px;
  background-color: var(--ric-bg-primary);
}

.ric-menu-label,
.ric-menu-btn {
  display: block;
  font-family: inherit;
}

.ric-menu-label {
  font: var(--ric-font-header-m);
  font-family: inherit;
  background-color: var(--ric-bg-secondary);
  border-bottom: 1px solid var(--ric-border-primary);
  color: var(--ric-text-primary);
  padding-inline-start: 12px;
  padding-inline-end: 12px;
  padding-bottom: 10px;
  padding-top: 10px;
}

.ric-menu-group {
  border-top: 1px solid var(--ric-border-primary);
}

.ric-menu-group:first-child {
  border-top: 0;
}

.ric-menu-btn {
  white-space: nowrap;
  text-align: left;
  text-decoration-line: none;
  box-sizing: border-box;
  display: flex;
  width: 100%;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  border-width: 0px;
  cursor: pointer;
}

.ric-menu-btn:disabled {
  cursor: not-allowed;
}

.ric-menu-btn {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font: var(--ric-font-body-m);
  font-family: inherit;
  background-color: transparent;
  border-radius: 0;
  color: var(--ric-text-primary);
  padding-inline-start: 12px;
  padding-inline-end: 12px;
  padding-bottom: 8px;
  padding-top: 8px;
}

.ric-menu-btn:not(:disabled):hover {
  text-decoration-line: none;
  background-color: var(--ric-bg-tertiary-item-hover);
}

.ric-popup-menu {
  --border-radius: 8px;
  border-radius: var(--border-radius);
}

.ric-popup-menu > li {
  overflow: hidden;
}

.ric-popup-menu > li:first-child {
  border-start-start-radius: var(--border-radius);
  border-start-end-radius: var(--border-radius);
}

.ric-popup-menu > li:last-child {
  border-end-start-radius: var(--border-radius);
  border-end-end-radius: var(--border-radius);
}

/* #endregion */

/* #region Slider */

.ric-slider, .rc-slider {
  --rail-height: 6px;
  --rail-radius: 4px;
  --handle-radius: 8px;
  --handle-outline: 1px;
  --handle-half: calc(var(--handle-radius) + var(--handle-outline));
  --padding-y: calc(var(--handle-half) - var(--rail-height) / 2);
}

.rc-slider {
  border-radius: 0;
  height: calc(var(--rail-height) + 2 * var(--padding-y));
  padding: var(--padding-y) 0;
}

.rc-slider-rail {
  background-color: var(--ric-bg-tertiary);
  border-radius: var(--rail-radius);
}

.rc-slider-rail, .rc-slider-step {
  height: var(--rail-height);
}

.rc-slider-handle {
  height: calc(var(--handle-radius) * 2);
  width: calc(var(--handle-radius) * 2);
  border-radius: 50%;
  box-sizing: border-box;
  margin-top: calc(var(--rail-height) / 2 - var(--handle-radius));
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  z-index: 1;
}

.rc-slider-handle,
.rc-slider-handle:hover,
.rc-slider-handle:focus,
.rc-slider-handle:active,
.rc-slider-disabled .rc-slider-handle,
.rc-slider-handle.rc-slider-handle-dragging.rc-slider-handle-dragging {
  background-color: var(--ric-bg-control);
  border: 3px solid var(--ric-icon-on-color);
  outline: var(--handle-outline) solid var(--ric-border-primary);
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.12);
  opacity: 1.0;
}

.rc-slider-dot {
  background-color: var(--ric-icon-on-color);
  border: 1px solid var(--ric-border-primary);
  bottom: calc(var(--rail-height) * -0.5);
  height: calc(var(--rail-height) * 2);
  width: calc(var(--rail-height) * 2);
}

.rc-slider-dot-active {
  border-color: var(--ric-shape-data-11);
  z-index: 1;
}

.rc-slider-mark {
  bottom: -6px;
  font-size: inherit;
  top: auto;
}

.rc-slider-mark-text {
  color: var(--ric-text-secondary);
  line-height: 1.25;
}

.rc-slider-disabled {
  background-color: transparent;
  opacity: 0.5;
}

.rc-slider-disabled .rc-slider-handle {
  cursor: not-allowed;
}

.rc-slider-track {
  background-color: var(--ric-shape-data-11);
  border-radius: var(--rail-radius);
  height: var(--rail-height);
}

.ric-slider {
  align-items: center;
  display: grid;
  grid-template-columns: 1fr auto;
  padding-bottom: 20px;
}

.ric-slider-inner {
  margin: 0 var(--handle-half);
}

.ric-slider-num {
  margin-inline-start: 10px;
  width: calc(5ch + 48px);
}

.ric-slider-handle {
  position: relative;
}

.ric-slider-handle-tooltip {
  background-color: var(--ric-bg-primary);
  box-shadow: 0px 2px 6px 0px var(--ric-shadow-default-color);
  color: var(--ric-text-primary);
  border-radius: 4px;
  opacity: 0;
  padding: 2px 4px;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.ric-slider-handle-tooltip.dragging,
.rc-slider:hover .ric-slider-handle-tooltip {
  opacity: 1;
  pointer-events: all;
}

/* #endregion */

/* #region Select */

/* hack to fix react-select DummyInput styles for rtl direction */

.ric-select > div > div:first-child input {
  left: auto;
  inset-inline-start: -100px;
}

.ric-select-iconbtn {
  margin: 0px;
  box-sizing: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0px;
  cursor: pointer;
}

.ric-select-iconbtn:disabled {
  cursor: not-allowed;
}

.ric-select-iconbtn {
  white-space: nowrap;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  border-width: 0px;
  background-color: transparent;
  font-weight: 600;
  -moz-column-gap: 4px;
       column-gap: 4px;
  font: var(--ric-font-header-m);
  font-family: inherit;
}

.ric-select-iconbtn > svg {
  height: 20px;
  width: 20px;
  flex-shrink: 0;
  fill: currentColor;
  stroke: currentColor;
}

.ric-select-iconbtn {
  color: var(--ric-text-btn-default);
}

.ric-select-iconbtn:hover {
  color: var(--ric-text-btn-default-hover);
}

.ric-select-iconbtn:disabled {
  color: var(--ric-text-btn-default-disabled);
}

.ric-select-iconbtn {
  background-color: transparent;
  color: var(--ric-icon-tertiary);
}

.ric-select-iconbtn:hover,
.ric-select-iconbtn--focused {
  color: var(--ric-icon-primary-hover);
}

.ric-select-iconbtn > svg {
  fill: none;
  stroke: currentColor;
  height: 100%;
  width: 100%;
}

.ric-select-ClearIndicator {
  margin: 0 4px;
  height: 16px;
  width: 16px;
}

.ric-select-MultiValueRemove {
  color: var(--ric-icon-secondary);
  height: 16px;
  width: 16px;
}

.ric-select-DropdownIndicator {
  margin: 0;
  margin-inline-end: 7px;
  margin-inline-start: 7px;
  height: 20px;
  width: 20px;
}

.ric-select-s .ric-select-DropdownIndicator {
  height: 16px;
  width: 16px;
}

/* #endregion */

/* #region Checkbox/Radio/Switch */

.ric-ui-control {
  color: var(--ric-bg-control);
}

.ric-ui-control-disabled {
  color: var(--ric-bg-control-disabled);
}

/* #endregion */

/* #region Inputs */

/* #region Reset for <input> or <textarea> */

.ric-ui-input {
  font-family: inherit;
  font-size: 100%;
  line-height: inherit;
  color: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-style: none;
}

.ric-ui-input:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.ric-ui-input {
  width: 100%;
  min-width: 0px;
  padding: 0px;
  background-color: transparent;
}

.ric-ui-input::-moz-placeholder, .ric-ui-input:focus::-moz-placeholder {
  color: var(--ric-text-placeholder);
}

.ric-ui-input::placeholder,
.ric-ui-input:focus::placeholder {
  color: var(--ric-text-placeholder);
}

/* #endregion */

/* #region Input box - base */

/* Can be used with <input>, <textarea> and TextInputView */

.ric-ui-input-box {
  background-color: var(--ric-bg-primary);
  color: var(--ric-text-primary);
  --ric-input-border-width: 1px;
  --ric-input-border-color: var(--ric-border-primary);
  --ric-input-border-radius: 8px;
  border: var(--ric-input-border-width) solid var(--ric-input-border-color);
  border-radius: var(--ric-input-border-radius);
}

.ric-ui-input-box:hover,
.ric-ui-input-box:focus,
.ric-ui-input-box:focus-within {
  --ric-input-border-color: var(--ric-border-primary-hover);
}

.ric-ui-input-box:disabled,
.ric-ui-input-box[aria-disabled=true] {
  --ric-input-border-color: var(--ric-border-primary);
  background-color: var(--ric-bg-secondary);
  color: var(--ric-text-secondary);
}

.ric-ui-input-box {
  --ric-input-px: 0;
  --ric-input-py: 0;
  box-sizing: border-box;
  padding-inline-start: var(--ric-input-px);
  padding-inline-end: var(--ric-input-px);
  padding-bottom: var(--ric-input-py);
  padding-top: var(--ric-input-py);
}

/* #endregion */

/* #region Input box - size */

/* One on these classes should be applied along with "ric-ui-input-box" */

.ric-ui-input-s {
  --ric-input-px: 7px;
  --ric-input-py: 0;
  font: var(--ric-font-body-m);
  font-family: inherit;
  height: 28px;
}

.ric-ui-input-m {
  --ric-input-px: 7px;
  --ric-input-py: 0;
  font: var(--ric-font-body-m);
  font-family: inherit;
  height: 36px;
}

.ric-ui-input-l {
  --ric-input-px: 7px;
  --ric-input-py: 0;
  font: var(--ric-font-body-m);
  font-family: inherit;
  height: 40px;
}

.ric-ui-input-xl {
  --ric-input-px: 11px;
  --ric-input-py: 0;
  font: var(--ric-font-body-l);
  font-family: inherit;
  height: 44px;
}

.ric-ui-textarea {
  --ric-input-px: 7px;
  --ric-input-py: 7px;
  scrollbar-color: var(--ric-bg-scrollbar-thumb) var(--ric-bg-scrollbar-track);
  scrollbar-width: thin;
}

.ric-ui-textarea::-webkit-scrollbar {
  width: var(--ric-scrollbar-width);
}

.ric-ui-textarea::-webkit-scrollbar-track {
  background: var(--ric-bg-scrollbar-track);
}

.ric-ui-textarea::-webkit-scrollbar-thumb {
  background: var(--ric-bg-scrollbar-thumb);
}

.ric-ui-textarea {
  width: 100%;
  resize: vertical;
}

/* #endregion */

/* #region TextInputView */

.ric-ui-text-input {
  display: flex;
  min-width: 0px;
  padding: 0px;
}

.ric-ui-text-input-prefix {
  flex-shrink: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
  padding-left: 12px;
  padding-right: 12px;
  background-color: var(--ric-bg-secondary);
  border-start-start-radius: calc(var(--ric-input-border-radius) - var(--ric-input-border-width));
  border-end-start-radius: calc(var(--ric-input-border-radius) - var(--ric-input-border-width));
  color: var(--ric-text-secondary);
}

.ric-ui-text-input-addon {
  flex-shrink: 0;
  overflow: hidden;
}

.ric-ui-text-input-addon:first-child {
  border-start-start-radius: calc(var(--ric-input-border-radius) - var(--ric-input-border-width));
  border-end-start-radius: calc(var(--ric-input-border-radius) - var(--ric-input-border-width));
}

.ric-ui-text-input-addon:last-child {
  border-start-end-radius: calc(var(--ric-input-border-radius) - var(--ric-input-border-width));
  border-end-end-radius: calc(var(--ric-input-border-radius) - var(--ric-input-border-width));
}

.ric-ui-text-input .ric-ui-input:first-child {
  padding-inline-start: var(--ric-input-px);
}

.ric-ui-text-input .ric-ui-input:last-child {
  padding-inline-end: var(--ric-input-px);
}

.ric-ui-text-input-prefix + .ric-ui-input {
  padding-inline-start: calc(var(--ric-input-px) + 1px);
}

/* #endregion */

/* #region NumericInput */

.ric-ui-numeric-input-side-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border-width: 0px;
  padding: 0px;
  cursor: pointer;
}

.ric-ui-numeric-input-side-btn:disabled {
  cursor: not-allowed;
}

.ric-ui-numeric-input-side-btn {
  border-radius: 2px;
  background-color: var(--ric-bg-primary);
  color: var(--ric-icon-secondary);
  box-shadow: 0 0 0 1px var(--ric-border-primary);
}

.ric-ui-numeric-input-side-btn:hover {
  color: var(--ric-icon-primary-hover);
}

.ric-ui-numeric-input-side-btn:disabled {
  color: var(--ric-icon-secondary);
  opacity: 0.5;
}

/* #endregion */

/* #endregion */

/* #region ColorPicker */

.ric-color-picker {
  display: inline-grid;
  grid-auto-rows: 28px;
  grid-template-columns: repeat(7, 28px);
  gap: 8px;
}

.ric-color-picker-preset {
  border-radius: 4px;
  cursor: pointer;
}

.ric-color-picker-input {
  height: 100%;
}

/* #endregion */

/* #region Drawer */

.ric-drawer-overlay {
  align-items: stretch;
  background-color: var(--ric-bg-overlay-default);
  display: flex;
  flex-direction: row-reverse;
  overflow-x: auto;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  top: 0;
  z-index: 100;
}

.ric-drawer {
  background-color: var(--ric-bg-primary);
  border-inline-start: 1px solid var(--ric-border-primary);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  position: relative;
}

.ric-drawer-inactive::after {
  content: '';
  background-color: var(--ric-bg-overlay-slight);
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  top: 0;
}

.ric-drawer-header {
  align-items: center;
  background-color: var(--ric-bg-secondary);
  border-bottom: 1px solid var(--ric-border-primary);
  box-sizing: border-box;
  -moz-column-gap: 8px;
       column-gap: 8px;
  display: grid;
  flex-shrink: 0;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr auto;
  height: 44px;
  padding: 0 16px;
}

.ric-drawer-title {
  color: var(--ric-text-primary);
  font: var(--ric-font-header-xl);
  font-family: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ric-drawer-close {
  color: var(--ric-icon-tertiary);
}

.ric-drawer-close:hover {
  color: var(--ric-icon-primary-hover);
}

.ric-drawer-body {
  flex-grow: 1;
  min-height: 0;
}

/* #endregion */

/* #region TabMenu */

.ric-tabmenu {
  display: flex;
  overflow: hidden;
  position: relative;
}

.ric-tabmenu-content-wrap {
  overflow: hidden;
}

.ric-tabmenu-content-wrap > * {
  scrollbar-width: none;
  overflow-x: auto;
  overflow-y: hidden;
}

.ric-tabmenu-content-wrap > *::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.ric-tabmenu-content-wrap {
  flex-shrink: 1;
}

.ric-tabmenu-content {
  -moz-column-gap: 1em;
       column-gap: 1em;
  display: flex;
}

.ric-tabmenu-item {
  align-items: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
  color: var(--ric-text-secondary);
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: 100%;
  justify-content: center;
  line-height: inherit;
  margin: 0;
  padding: 0;
  padding-bottom: 0;
  padding-left: 0.25em;
  padding-right: 0.25em;
  padding-top: 0;
  text-decoration: none;
  white-space: nowrap;
}

.ric-tabmenu-item:disabled {
  cursor: not-allowed;
}

.ric-tabmenu-item:hover {
  color: var(--ric-text-primary);
  text-decoration: none;
}

.ric-tabmenu-item-selected {
  color: var(--ric-text-primary);
}

.ric-tabmenu-item-underlined {
  border-bottom: 2px solid transparent;
  padding-bottom: 0.5em;
}

.ric-tabmenu-item-underlined.ric-tabmenu-item-selected {
  border-color: var(--ric-text-primary);
}

.ric-tabmenu-arrow {
  align-items: center;
  border: 0;
  display: inline-flex;
  padding-bottom: 0;
  position: absolute;
  bottom: 0;
  top: 0;
}

.ric-tabmenu-arrow-end {
  inset-inline-end: 0;
  padding-inline-end: 0.25em;
  padding-inline-start: 1.5em;
}

.ric-tabmenu-arrow-start {
  inset-inline-start: 0;
  padding-inline-end: 1.5em;
  padding-inline-start: 0.25em;
}

.ric-tabmenu-arrow-underlined {
  border-bottom: 2px solid transparent;
  padding-bottom: 0.5em;
}

.ric-tabmenu-arrow-btn {
  align-items: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: var(--ric-bg-secondary);
  border: 0;
  border-radius: 0.25em;
  box-sizing: border-box;
  cursor: pointer;
  display: inline-flex;
  fill: var(--ric-icon-primary);
  flex-shrink: 0;
  height: 1.25em;
  justify-content: center;
  margin: 0;
  padding: 0;
  text-decoration: none;
  width: 1.25em;
}

.ric-tabmenu-arrow-btn:disabled {
  cursor: not-allowed;
}

.ric-tabmenu-arrow-btn:hover {
  fill: var(--ric-icon-primary-hover);
  text-decoration: none;
}

.ric-tabmenu-arrow-btn-icon {
  fill: inherit;
  height: 0.75em;
}

/* #endregion */

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
