.site-menu {
  position: relative;
}

.agenda-nav-button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  padding: 10px 17px;
  border: 1px solid #087cc1;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, #087cc1, #169a75);
  box-shadow: 0 9px 22px rgba(8, 124, 193, 0.2);
  text-decoration: none;
  font-weight: 900;
  white-space: nowrap;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.agenda-nav-button:hover,
.agenda-nav-button:focus-visible {
  outline: none;
  transform: translateY(-2px);
  box-shadow: 0 13px 28px rgba(8, 124, 193, 0.28);
}

.agenda-label-short { display: none; }

.site-menu summary {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border: 1px solid #b9d9ec;
  border-radius: 14px;
  color: var(--blue-950);
  background: #fff;
  box-shadow: 0 8px 22px rgba(8, 47, 85, 0.08);
  cursor: pointer;
  font-weight: 900;
  list-style: none;
}

.site-menu summary::-webkit-details-marker { display: none; }

.site-menu summary::before {
  content: "";
  width: 20px;
  height: 14px;
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat;
}

.site-menu summary::after {
  content: "▾";
  color: var(--blue-600);
  font-size: 0.8rem;
}

.site-menu[open] summary {
  border-color: var(--blue-600);
  box-shadow: 0 0 0 4px rgba(8, 124, 193, 0.12);
}

.site-menu[open] summary::after { content: "▴"; }

.site-menu-panel {
  position: absolute;
  z-index: 40;
  top: calc(100% + 12px);
  right: 0;
  width: min(340px, calc(100vw - 24px));
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 22px 22px 22px 8px;
  background: #fff;
  box-shadow: 0 24px 62px rgba(8, 47, 85, 0.2);
}

.site-menu-panel a {
  display: grid;
  gap: 2px;
  padding: 11px 13px;
  border-radius: 12px;
  color: var(--blue-950);
  text-decoration: none;
  font-weight: 850;
  line-height: 1.25;
}

.site-menu-panel a span {
  color: var(--muted);
  font-size: 0.83rem;
  font-weight: 650;
}

.site-menu-panel a:hover,
.site-menu-panel a:focus-visible {
  outline: none;
  background: var(--blue-100);
}

.site-menu-panel a[aria-current="page"] {
  color: #fff;
  background: var(--blue-800);
}

.site-menu-panel a[aria-current="page"] span { color: #d9efff; }

@media (max-width: 560px) {
  .agenda-nav-button { min-height: 42px; padding: 8px 11px; font-size: 0.88rem; }
  .agenda-label-wide { display: none; }
  .agenda-label-short { display: inline; }
  .site-menu summary { min-height: 42px; padding: 8px 12px; }
  .site-menu-panel { position: fixed; top: 70px; right: 11px; left: 11px; width: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .agenda-nav-button { transition: none; }
}
