.sf-menu-icon,
.sf-submenu-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  line-height: 0;
}
.sf-submenu-icon {
  margin-inline-start: auto;
}
.sf-menu-url {
  text-decoration: none;
  color: inherit;
}
.sf-menu-item.sf-separator {
  pointer-events: none;
  background: linear-gradient(rgb(var(--sf-color-outline-variant)), rgb(var(--sf-color-outline-variant))) center/100% var(--sf-spacing-1) no-repeat;
}
.sf-menu-parent:not(.sf-menu-root):has(.sf-menu-icon) .sf-menu-item:not(:has(.sf-menu-icon)) {
  padding-inline: var(--sf-spacing-48) var(--sf-spacing-16);
}
.sf-menu-parent {
  list-style: none;
  margin: var(--sf-spacing-0);
  user-select: none;
}
.sf-menu-ul {
  position: absolute;
  padding: var(--sf-spacing-4) var(--sf-spacing-0);
  border: 1px solid rgb(var(--sf-color-outline-variant));
  border-radius: var(--sf-radius-4);
  box-shadow: var(--sf-elevation-2);
  font-size: var(--sf-font-size-sm);
}
.sf-menu-item {
  cursor: pointer;
  position: relative;
  line-height: var(--sf-line-height-sm);
  padding: var(--sf-spacing-10) var(--sf-spacing-16);
  gap: var(--sf-spacing-12);
  white-space: nowrap;
}
.sf-menu-icon,
.sf-menu-icon svg {
  font-size: var(--sf-font-size-xl);
}
.sf-submenu-icon svg {
  font-size: var(--sf-font-size-base);
}
@keyframes MenuSlideDown {
  from {
    height: 0;
  }
  to {
    height: var(--sf-slide-height, 100%);
  }
}
.sf-menu {
  position: relative;
  display: inline-block;
  max-width: 100%;
}
.sf-menu .sf-menu-parent,
.sf-menu .sf-menu-root {
  max-width: 100%;
  display: flex;
}
.sf-menu .sf-menu-item.sf-separator {
  padding: var(--sf-spacing-4);
}
.sf-menu.sf-menu-horizontal .sf-menu-root {
  align-items: center;
  flex-wrap: nowrap;
  padding: var(--sf-spacing-8) var(--sf-spacing-16);
  overflow-x: visible;
}
.sf-menu.sf-menu-vertical .sf-menu-root {
  flex-direction: column;
  align-items: stretch;
  min-width: calc(var(--sf-spacing) * 18.75);
  padding: var(--sf-spacing-8);
}
.sf-menu .sf-menu-submenu {
  flex-direction: column;
  min-width: calc(var(--sf-spacing) * 7.85);
  max-height: min(var(--sf-spacing) * 22.5, 70vh);
  overflow-y: auto;
  overflow-x: visible;
}
.sf-submenu-wrapper {
  position: unset;
}
.sf-menu-root {
  gap: var(--sf-spacing-4);
}
.sf-menu-root .sf-submenu-icon.sf-chevron-right svg {
  transform: rotate(0deg);
}
.sf-menu-root .sf-submenu-icon.sf-chevron-down svg {
  transform: rotate(90deg);
}
.sf-menu-root .sf-submenu-icon svg {
  font-size: var(--sf-font-size-xl);
}
.sf-menu-root .sf-menu-item {
  gap: var(--sf-spacing-8);
  padding: var(--sf-spacing-10) var(--sf-spacing-16);
  border-radius: calc(var(--sf-radius) * 2);
  line-height: var(--sf-line-height-sm);
  font-size: var(--sf-font-size-sm);
}
.sf-menu-root > .sf-menu-item.sf-separator[aria-orientation=vertical] {
  height: stretch;
  background: linear-gradient(rgb(var(--sf-color-outline-variant)), rgb(var(--sf-color-outline-variant))) center/var(--sf-spacing-1) 100% no-repeat;
}
.sf-menu {
  color: rgb(var(--sf-color-on-surface));
  background-color: transparent;
}
.sf-menu .sf-menu-root .sf-menu-item:hover {
  color: rgb(var(--sf-color-on-surface));
}
.sf-menu .sf-menu-root .sf-menu-item:hover .sf-menu-icon, .sf-menu .sf-menu-root .sf-menu-item:hover .sf-submenu-icon {
  color: rgb(var(--sf-color-on-surface-variant));
}
.sf-menu .sf-menu-root .sf-menu-item:active, .sf-menu .sf-menu-root .sf-menu-item.sf-has-submenu {
  color: rgb(var(--sf-color-on-surface));
}
.sf-menu .sf-menu-root .sf-menu-item:active .sf-menu-icon, .sf-menu .sf-menu-root .sf-menu-item:active .sf-submenu-icon, .sf-menu .sf-menu-root .sf-menu-item.sf-has-submenu .sf-menu-icon, .sf-menu .sf-menu-root .sf-menu-item.sf-has-submenu .sf-submenu-icon {
  color: rgb(var(--sf-color-on-surface-variant));
}
.sf-menu .sf-menu-root .sf-menu-item.sf-focused:not(:active) {
  color: rgb(var(--sf-color-on-surface));
  box-shadow: none;
}
.sf-menu .sf-menu-root .sf-menu-item.sf-focused:not(:active) .sf-menu-icon, .sf-menu .sf-menu-root .sf-menu-item.sf-focused:not(:active) .sf-submenu-icon {
  color: rgb(var(--sf-color-on-surface-variant));
}