%menu-panel-header {
  padding: 0.625rem var(--padding-x); /* 10px */
  white-space: normal;
}
%menu-panel-header {
  max-width: fit-content;
}
@supports not (max-width: fit-content) {
  %menu-panel-header {
    max-width: 200px;
  }
}
%menu-panel-header::before {
  position: absolute;
  left: 15px;
  top: calc(10px + 0.1em);
}

%menu-panel-body {
  margin: 0;
  padding: calc(var(--padding-y) - 0.625rem) 0; /* 10px */
}
%menu-panel-body,
%menu-panel-item,
%menu-panel-item > * {
  width: 100%;
}
%menu-panel-item,
%menu-panel-button {
  text-align: left;
}
%menu-panel-badge {
  padding: 0 8px;
  margin-left: 0.5rem; /* 8px */
}
%menu-panel-button {
  display: flex;
}
%menu-panel-button::after {
  margin-left: auto;
  /* as we are using margin-left for right align */
  /* we can't use it for an absolute margin-left */
  /* so cheat with a bit of padding/translate */
  padding-right: var(--padding-x);
  transform: translate(calc(var(--padding-x) / 2), 0);
}
%menu-panel-separator {
  padding-top: 0.375rem; /* 6px */
}
%menu-panel-separator:not(:first-child) {
  margin-top: 0.275rem; /* 6px */
}
%menu-panel-separator:not(:empty) {
  padding-left: var(--padding-x);
  padding-right: var(--padding-x);
  padding-bottom: 0.125rem; /* 2px */
}

%menu-panel.menu-panel-confirming {
  overflow: hidden;
}
%menu-panel-confirmation {
  position: absolute;
  top: 0;
  left: calc(100% + 10px);
}
%menu-panel-body {
  transition: transform 150ms;
}
%menu-panel.menu-panel-confirming > ul {
  transform: translateX(calc(-100% - 10px));
}