.guest-menu-panel {
  position: fixed;
  z-index: 120;
  box-sizing: border-box;
  display: grid;
  gap: 5px;
  padding: 8px;
  overflow: auto;
  overscroll-behavior: contain;
  border-radius: 16px;
  background: var(--theme-surface, #fffaf1);
  color: var(--theme-text, #292e26);
  box-shadow: 0 14px 38px #11180d52;
  font-family: var(--font-body, sans-serif);
  scrollbar-color: var(--theme-accent, #485d33) var(--theme-track, #e5e9dd);
  scrollbar-width: thin;
}
.guest-menu-panel[hidden] { display: none; }
.guest-menu-link {
  display: flex;
  align-items: center;
  gap: 11px;
  box-sizing: border-box;
  min-height: 54px;
  padding: 7px 10px;
  border-radius: 11px;
  background: var(--theme-track, #e5e9dd);
  color: var(--theme-text, #292e26);
  font: 600 14px/1.3 var(--font-body, sans-serif);
  text-decoration: none;
  width: 100%;
  border: 0;
  text-align: left;
  cursor: pointer;
  transition: background-color 160ms ease-out, color 160ms ease-out;
}
.guest-menu-link__icon {
  display: grid;
  flex: 0 0 34px;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: var(--theme-surface, #fffaf1);
  color: var(--theme-accent, #485d33);
}
.guest-menu-link svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.guest-menu-link__label { flex: 1; min-width: 0; }
.guest-menu-link .guest-menu-link__arrow { flex: 0 0 16px; width: 16px; height: 16px; opacity: .65; }
.guest-menu-link:focus-visible { outline: 2px solid var(--theme-accent, #485d33); outline-offset: -3px; }
@media (hover: hover) and (pointer: fine) {
  .guest-menu-link:hover { background: var(--theme-accent, #485d33); color: var(--theme-on-accent, #fff); }
  .guest-menu-link:hover .guest-menu-link__icon { color: var(--theme-accent, #485d33); }
}
@media (prefers-reduced-motion: reduce) { .guest-menu-link { transition: none; } }
