[data-fui-comp="ui-menu"].ui-menu {
  position: relative;
  display: inline-block;
}
[data-fui-comp="ui-menu"] > summary.ui-menu__trigger {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-xs, 4px);
  cursor: pointer;
  list-style: none;
  user-select: none;
  padding: var(--spacing-sm, 6px) var(--spacing-md, 10px);
  border: 1px solid var(--color-border, #E4E4E7);
  border-radius: var(--radii-md, 8px);
  background: var(--color-surface, #FFF);
  color: var(--color-text, #18181B);
  font: inherit;
  min-height: var(--spacing-touch-target, 44px);
}
[data-fui-comp="ui-menu"] > summary.ui-menu__trigger::-webkit-details-marker { display: none; }
[data-fui-comp="ui-menu"] > summary.ui-menu__trigger:hover  { background: var(--color-surface-soft, #F4F4F5); }
[data-fui-comp="ui-menu"] > summary.ui-menu__trigger:focus-visible {
  outline: 2px solid var(--color-primary, #4F46E5);
  outline-offset: 2px;
}
[data-fui-comp="ui-menu"] .ui-menu__caret { font-size: 0.75em; opacity: 0.7; }
[data-fui-comp="ui-menu"] .ui-menu__panel {
  position: absolute;
  z-index: var(--z-dropdown, 100);
  min-width: 12rem;
  max-width: min(20rem, calc(100vw - 2rem));
  padding: var(--spacing-xs, 4px);
  background: var(--color-surface, #FFF);
  border: 1px solid var(--color-border, #E4E4E7);
  border-radius: var(--radii-md, 8px);
  box-shadow: var(--shadow-lg, 0 10px 15px -3px rgba(0,0,0,.10));
  display: grid;
  gap: 2px;
  animation: ui-menu-in var(--duration-dropdown-enter, 120ms)
    var(--easing-ease-out, cubic-bezier(0.16, 1, 0.3, 1));
}
[data-fui-comp="ui-menu"].ui-menu--bottom-start .ui-menu__panel { inset-inline-start: 0; top: calc(100% + 4px); }
[data-fui-comp="ui-menu"].ui-menu--bottom-end   .ui-menu__panel { inset-inline-end: 0;   top: calc(100% + 4px); }
[data-fui-comp="ui-menu"].ui-menu--top-start    .ui-menu__panel { inset-inline-start: 0; bottom: calc(100% + 4px); }
[data-fui-comp="ui-menu"].ui-menu--top-end      .ui-menu__panel { inset-inline-end: 0;   bottom: calc(100% + 4px); }
@keyframes ui-menu-in {
  from { opacity: 0; transform: translateY(-4px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0)    scale(1);    }
}
[data-fui-comp="ui-menu"] .ui-menu__item {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm, 6px);
  width: 100%;
  text-align: start;
  padding: var(--spacing-sm, 8px) var(--spacing-md, 12px);
  background: transparent;
  color: inherit;
  border: 0;
  border-radius: var(--radii-sm, 4px);
  cursor: pointer;
  font: inherit;
  text-decoration: none;
  min-height: var(--spacing-touch-target, 44px);
}
[data-fui-comp="ui-menu"] .ui-menu__item:hover,
[data-fui-comp="ui-menu"] .ui-menu__item:focus-visible {
  background: var(--color-surface-soft, #F4F4F5);
  outline: none;
}
[data-fui-comp="ui-menu"] .ui-menu__item--danger { color: var(--color-danger, #DC2626); }
[data-fui-comp="ui-menu"] .ui-menu__item--danger:hover,
[data-fui-comp="ui-menu"] .ui-menu__item--danger:focus-visible {
  background: color-mix(in srgb, var(--color-danger, #DC2626) 10%, transparent);
}
[data-fui-comp="ui-menu"] .ui-menu__item--disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
[data-fui-comp="ui-menu"] .ui-menu__icon { display: inline-flex; width: 1em; justify-content: center; }
[data-fui-comp="ui-menu"] .ui-menu__label { flex: 1; }
[data-fui-comp="ui-menu"] .ui-menu__sep {
  border: 0;
  border-top: 1px solid var(--color-border, #E4E4E7);
  margin: var(--spacing-xs, 4px) 0;
}
@media (prefers-reduced-motion: reduce) {
  [data-fui-comp="ui-menu"] .ui-menu__panel { animation: none; }
}