.combobox {
  width: 100%;
}

.combobox-label {
  color: var(--text-muted);
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 0.25rem;
}

.combobox-label.is-disabled,
.combobox-description.is-disabled {
  color: var(--text-subtle);
}

.combobox-required {
  color: var(--red-500);
}

.combobox-description {
  color: var(--text-muted);
  font-size: 0.75rem;
  margin: 0.25rem 0 0;
}

.combobox-description--under-label {
  margin-bottom: 0.5rem;
  margin-top: -0.125rem;
}

.combobox-select {
  width: 100%;
}

select[multiple][data-controller="select"] {
  visibility: hidden;
}

.ts-wrapper {
  background: var(--surface);
  border-radius: var(--radius-lg);
  position: relative;
}

.ts-control {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--radius-lg);
  box-shadow: inset 0 0 0 1px var(--border-strong), var(--shadow-xs);
  color: var(--text);
  cursor: default;
  display: flex;
  font-size: 1rem;
  line-height: 1.5rem;
  min-height: 2.5rem;
  outline: 0;
  padding: 0.5rem 0.75rem;
  width: 100%;
}

.ts-wrapper.single .ts-control,
.ts-wrapper.single .ts-control input,
.ts-wrapper.single.input-active .ts-control,
.ts-control {
  cursor: text;
}

.input-active {
  border-radius: var(--radius-lg);
  box-shadow: inset 0 0 0 1px var(--indigo-500), 0 0 0 3px var(--indigo-100), var(--shadow-xs);
}

.ts-wrapper.single .ts-control {
  background-image: var(--select-arrow-icon);
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2rem;
  print-color-adjust: exact;
}

.ts-wrapper.multi .ts-control {
  background-image: var(--select-arrows-icon);
  background-position: right 0.6rem center;
  background-repeat: no-repeat;
  background-size: 1.25em 1.25em;
  padding-right: 2rem !important;
  print-color-adjust: exact;
}

.ts-control input {
  background: var(--surface);
  color: var(--text);
  font-size: 1rem;
  margin: 0 !important;
}

.ts-control input::placeholder,
.dropdown-input::placeholder {
  color: var(--text-muted);
}

@media (min-width: 640px) {
  .ts-control,
  .ts-control input,
  .dropdown-input {
    font-size: 0.875rem;
  }
}

.disabled .ts-control,
.ts-control[disabled] {
  background: var(--surface-subtle);
  cursor: not-allowed !important;
}

.ts-control.error {
  box-shadow: inset 0 0 0 1px var(--red-300), var(--shadow-xs);
}

.ts-wrapper.single.input-active .ts-control,
.ts-control {
  background-color: transparent;
}

.plugin-dropdown_input.focus.dropdown-active .ts-control {
  border: 0;
}

.dropdown-input {
  background: var(--surface) !important;
  border-color: var(--border-strong) !important;
  color: var(--text);
  font-size: 1rem;
  padding: 0.625rem 0.75rem !important;
}

.dropdown-input.has-search-icon {
  padding-left: 2rem !important;
}

.plugin-dropdown_input .dropdown-input {
  outline: 0;
}

.dropdown-input-wrap {
  position: relative;
}

.dropdown-input-search-icon {
  align-items: center;
  color: var(--text-subtle);
  display: flex;
  left: 0.625rem;
  pointer-events: none;
  position: absolute;
  top: 0;
  bottom: 0;
}

.dropdown-input-search-icon svg {
  height: 1rem;
  width: 1rem;
}

.plugin-dropdown_input .items-placeholder,
.plugin-dropdown_input.dropdown-active:not(.has-items) .items-placeholder {
  display: block !important;
}

.plugin-dropdown_input.has-items .items-placeholder {
  display: none !important;
}

.ts-dropdown {
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xs);
  color: var(--text);
  margin: 0;
  overflow: hidden;
  z-index: 40;
}

.ts-dropdown-content {
  max-height: 240px;
  padding: 0.375rem 0;
  scroll-behavior: auto;
  scrollbar-color: #a2a2a270 #7878780b;
  scrollbar-width: thin;
}

.ts-dropdown-content::-webkit-scrollbar {
  width: 6px;
}

.ts-dropdown-content::-webkit-scrollbar-track {
  background: #78787879;
}

.ts-dropdown-content::-webkit-scrollbar-thumb {
  background-color: #a2a2a270;
  border-radius: 3px;
}

.ts-dropdown [data-selectable].option,
.ts-dropdown .no-results,
.ts-dropdown .create,
.ts-dropdown .option,
.ts-dropdown [data-disabled],
.ts-dropdown [data-disabled] [data-selectable].option {
  border-radius: var(--radius-md);
  font-size: 0.875rem;
  margin: 0.125rem 0.375rem;
  padding: 0.5rem 0.625rem;
}

.ts-dropdown [data-selectable].option,
.ts-dropdown .create {
  cursor: pointer;
}

.ts-dropdown .option,
.ts-dropdown [data-disabled],
.ts-dropdown [data-disabled] [data-selectable].option {
  cursor: not-allowed;
}

.ts-dropdown .active,
.ts-dropdown .active.create {
  background: var(--indigo-50);
  color: var(--indigo-700);
}

.ts-dropdown .selected,
.ts-dropdown .selected.active {
  background: var(--indigo-100);
  color: var(--indigo-700);
}

.ts-dropdown .optgroup-header {
  background: var(--surface);
  border-top: 1px solid var(--border-strong);
  color: var(--text);
  font-weight: 600;
}

.ts-dropdown.plugin-optgroup_columns .optgroup {
  height: fit-content;
  margin-top: 0 !important;
}

.optgroup {
  margin-top: 0.375rem;
}

.optgroup:first-child {
  margin-top: 0;
}

.ts-dropdown [data-selectable] .highlight {
  background: rgba(106, 90, 205, 0.15);
}

.ts-wrapper.plugin-remove_button .item {
  border-radius: var(--radius-md);
  cursor: default;
}

.ts-wrapper.multi .ts-control > div,
.select-tag {
  align-items: center;
  background: var(--indigo-50);
  border-radius: var(--radius-md);
  color: var(--indigo-700);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 500;
  gap: 0.25rem;
  justify-content: center;
  line-height: 1;
  margin-right: 0.25rem;
  padding: 0.25rem 0.25rem 0.25rem 0.5rem;
}

.ts-wrapper.multi.has-items .ts-control {
  padding-bottom: 4px !important;
  padding-right: 2rem !important;
  padding-top: 7px !important;
}

.ts-wrapper.multi.has-items .ts-control > input {
  margin-bottom: 3px !important;
}

.ts-wrapper.plugin-remove_button .item .remove,
.select-tag-button,
.flag-toggle {
  align-items: center;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--text-muted);
  display: flex;
  height: 18px;
  justify-content: center;
  line-height: 1;
  padding: 0.25rem !important;
  width: 18px;
}

.ts-wrapper.plugin-remove_button .item .remove:hover,
.select-tag-button:hover,
.flag-toggle:hover {
  background: var(--indigo-100);
  color: var(--indigo-700);
}

.ts-wrapper.plugin-remove_button .item .remove {
  font-size: 0 !important;
  margin: 0.125rem 0.25rem 0.125rem 0.125rem !important;
}

.ts-wrapper.plugin-remove_button .item .remove::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Ctitle%3Exmark%3C/title%3E%3Cg fill='%23737373'%3E%3Cpath d='m2.25,10.5c-.192,0-.384-.073-.53-.22-.293-.293-.293-.768,0-1.061L9.22,1.72c.293-.293.768-.293,1.061,0s.293.768,0,1.061l-7.5,7.5c-.146.146-.338.22-.53.22Z' stroke-width='0'%3E%3C/path%3E%3Cpath d='m9.75,10.5c-.192,0-.384-.073-.53-.22L1.72,2.78c-.293-.293-.293-.768,0-1.061s.768-.293,1.061,0l7.5,7.5c.293.293.293.768,0,1.061-.146.146-.338.22-.53.22Z' stroke-width='0'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  display: block;
  height: 1rem;
  width: 1rem;
}

.select-tag.is-flagged,
.ts-control .item.is-flagged {
  background: var(--red-100) !important;
  color: var(--red-900) !important;
}

.select-tag.is-flagged .select-tag-button,
.select-tag.is-flagged .flag-toggle,
.ts-wrapper.plugin-remove_button .item[data-flag="true"] .remove,
.ts-wrapper.plugin-remove_button .item[data-flag="true"] .flag-toggle {
  color: var(--red-700);
}

.select-tag.is-flagged .select-tag-button:hover,
.select-tag.is-flagged .flag-toggle:hover,
.ts-wrapper.plugin-remove_button .item[data-flag="true"] .remove:hover,
.ts-wrapper.plugin-remove_button .item[data-flag="true"] .flag-toggle:hover {
  background: var(--red-200);
  color: var(--red-900);
}

.select-clear-button {
  align-items: center;
  background: var(--surface);
  border-radius: 999px;
  color: var(--text-muted);
  display: flex;
  height: 1.25rem;
  justify-content: center;
  position: absolute;
  right: 0.5rem;
  top: 0.625rem;
  width: 1.25rem;
  z-index: 10;
}

.select-clear-button:hover {
  color: var(--text-subtle);
}

.select-clear-button:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 0;
}

.select-clear-button svg,
.flag-toggle svg,
.select-tag-button svg {
  height: 0.75rem;
  width: 0.75rem;
}

.external-tags-container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.external-tags-container--above {
  margin-bottom: 0.5rem;
}

.external-tags-container--below {
  margin-top: 0.5rem;
}

.ts-count-display {
  background: transparent !important;
  display: none;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  margin: 0.125rem auto 0.125rem 0 !important;
  padding: 0 !important;
  pointer-events: none;
}

.ts-control:not(.count-active) .ts-count-display {
  display: none !important;
}

.ts-control.count-active .item,
.ts-control.external-tags-active .item {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
}

.ts-control.count-active input {
  height: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  width: 0 !important;
}

.ts-wrapper.multi.has-items .ts-control:has(.ts-count-display) {
  padding-bottom: 5px !important;
  padding-top: 5px !important;
}

.ts-wrapper.multi.has-items .ts-control.external-tags-active {
  padding-bottom: 0.5rem !important;
  padding-top: 0.5rem !important;
}

.plugin-dropdown_input.has-items .ts-control.external-tags-active .items-placeholder {
  display: block !important;
}

.ts-wrapper.multi.has-items .ts-control.external-tags-active > input {
  margin: 0 !important;
}

.select-option-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 3px 0.375rem;
  width: 100%;
}

.select-option-row--compact {
  flex-wrap: nowrap;
  gap: 0.375rem;
}

.select-option-row--image {
  align-items: flex-start;
  gap: 0.75rem;
}

.select-option-label {
  flex: 1;
  min-width: 0;
}

.select-option-label.is-flagged,
.select-option-title.is-flagged,
.ts-dropdown .is-flagged {
  color: var(--red-600);
}

.select-option-label--truncate,
.select-item-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.select-option-description,
.select-option-meta {
  color: var(--text-muted);
  font-size: 0.75rem;
  margin: 0;
  width: 100%;
}

.select-option-title {
  font-weight: 500;
}

.select-option-media {
  border-radius: 999px;
  flex-shrink: 0;
  height: 2.5rem;
  width: 2.5rem;
}

.select-item {
  align-items: center !important;
  display: flex !important;
  gap: 0.375rem;
}

.select-item--image {
  gap: 0.5rem;
}

.select-item-media {
  border-radius: 999px;
  height: 1.25rem;
  width: 1.25rem;
}

.select-status-badge {
  align-items: center;
  background: var(--surface-subtle);
  border-radius: 999px;
  color: var(--text-muted);
  display: inline-flex;
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  padding: 0.125rem 0.375rem;
}

.select-status-badge--completed {
  background: var(--lime-100);
  color: var(--lime-700);
}

.select-loading {
  align-items: center;
  color: var(--text-muted);
  display: flex;
  font-size: 0.875rem;
  justify-content: center;
  padding: 0.5rem 0;
}

.select-empty {
  color: var(--text-muted);
  font-size: 0.875rem;
  padding: 0.5rem 0;
  text-align: center;
}

.spinner-icon {
  animation: spin 1s linear infinite;
  color: var(--text-muted);
  height: 1rem;
  margin-right: 0.75rem;
  width: 1rem;
}

.spinner-icon--large {
  background: var(--surface);
  border-radius: 999px;
  height: 1.75rem;
  margin-right: 5px;
  padding: 0.25rem;
  width: 1.75rem;
}

.spinner-track {
  opacity: 0.25;
}

.spinner-fill {
  opacity: 0.75;
}

.select-scroll-button {
  align-items: center;
  cursor: default;
  display: flex;
  height: 1.25rem;
  justify-content: center;
  left: 0;
  position: absolute;
  right: 0;
  transition: opacity 150ms;
  z-index: 10;
}

.select-scroll-button--top {
  background: linear-gradient(to bottom, var(--surface), transparent);
  top: 0;
}

.select-scroll-button--bottom {
  background: linear-gradient(to top, var(--surface), transparent);
  bottom: 0;
}

.select-scroll-button svg {
  color: var(--text-muted);
  height: 0.75rem;
  width: 0.75rem;
}

.loading-more-results {
  cursor: default !important;
}

.tomselect-checkbox {
  margin-right: 0 !important;
}

.input-hidden.focus {
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg) !important;
}

select[data-select-disable-typing-value="true"] + .ts-wrapper .ts-control,
select[data-select-disable-typing-value="true"] + .ts-wrapper.single .ts-control,
select[data-select-disable-typing-value="true"] + .ts-wrapper.single .ts-control input,
select[data-select-disable-typing-value="true"] + .ts-wrapper.single.input-active .ts-control {
  cursor: default;
}

.ts-dropdown-content.is-loading-more .option {
  pointer-events: none !important;
}
