.ui-dropdown {
  position: relative;
  display: inline-block;
}
.ui-dropdown-menu {
  position: absolute;
  top: calc(100% + var(--ui-space-1));
  left: 0;
  z-index: var(--ui-z-dropdown);
  min-width: 12rem;
  background: var(--ui-color-surface);
  border: var(--ui-border-width) var(--ui-border-style) var(--ui-color-border);
  padding: var(--ui-space-1) 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: scale(0.97);
  transform-origin: top left;
  transition:
    opacity var(--ui-duration-fast) var(--ui-easing-default),
    transform var(--ui-duration-fast) var(--ui-easing-default),
    visibility 0s var(--ui-duration-fast);
  pointer-events: none;
}
.ui-dropdown.is-active > .ui-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  pointer-events: auto;
  transition:
    opacity var(--ui-duration-fast) var(--ui-easing-default),
    transform var(--ui-duration-fast) var(--ui-easing-default),
    visibility 0s;
}
.ui-dropdown-item {
  position: relative;
}
.ui-dropdown-item > a,
.ui-dropdown-item > button {
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--ui-space-2) var(--ui-space-4);
  gap: var(--ui-space-2);
  font-family: var(--ui-font);
  font-size: var(--ui-font-size-s);
  font-weight: var(--ui-font-weight-normal);
  color: var(--ui-color-text);
  text-decoration: none;
  background: none;
  cursor: pointer;
  text-align: left;
  white-space: nowrap;
  transition:
    background var(--ui-duration-fast) var(--ui-easing-default),
    color var(--ui-duration-fast) var(--ui-easing-default);
  -webkit-appearance: none;
}
.ui-dropdown-item > a:hover,
.ui-dropdown-item > button:hover,
.ui-dropdown-item.has-submenu.is-active > button,
.ui-dropdown-item.has-submenu.is-active > a {
  background: var(--ui-color-base);
}
.ui-dropdown-item.has-submenu > .ui-dropdown-menu {
  top: calc(-1 * var(--ui-space-1));
  left: 100%;
  transform-origin: top left;
}
.ui-dropdown-item.has-submenu.is-active > .ui-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  pointer-events: auto;
  transition:
    opacity var(--ui-duration-fast) var(--ui-easing-default),
    transform var(--ui-duration-fast) var(--ui-easing-default),
    visibility 0s;
}
.ui-dropdown-divider {
  height: 1px;
  background: var(--ui-color-border);
  margin: var(--ui-space-1) 0;
}
.ui-dropdown-item\:danger > a,
.ui-dropdown-item\:danger > button {
  color: var(--color-danger);
}
.ui-dropdown-item\:danger > a:hover,
.ui-dropdown-item\:danger > button:hover {
  color: var(--color-danger);
  background: color-mix(in srgb, var(--color-danger) 8%, transparent);
}
