/* Authenticated, configurable shortcuts; all assets and icon fonts are local. */
.topbar:has(.menu-band-host) .global-search {
  flex: 0 1 460px;
  width: 460px;
  min-width: 180px;
}
.topbar:has(.menu-band-host) .topbar-actions {
  flex: 1 1 0;
  min-width: 0;
  justify-content: flex-end;
}
.topbar:has(.menu-band-host) .availability-button { flex: 0 0 auto; }
.menu-band-host,
.menu-band {
  position: relative;
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  gap: 8px;
}
.menu-band-host:empty { flex: 0 0 0; }
.menu-band-direct { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; white-space: nowrap; }
.menu-band-group { flex: 0 0 auto; min-width: 0; }
.menu-band-group--monitoring { flex: 0 1 auto; }
.menu-band [hidden],
.menu-band-popover[hidden] { display: none !important; }
.menu-band-link,
.menu-band-trigger {
  --menu-hue: 213;
  --menu-alpha: .17;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 42px;
  min-width: 42px;
  padding: 9px 12px;
  gap: 8px;
  border: 1px solid hsla(var(--menu-hue), 78%, 80%, .35);
  border-radius: 13px;
  color: hsl(var(--menu-hue), 90%, 94%);
  background: linear-gradient(145deg, hsla(var(--menu-hue), 78%, 84%, calc(var(--menu-alpha) + .08)), hsla(var(--menu-hue), 65%, 66%, var(--menu-alpha)));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 3px 12px rgba(0, 0, 0, .08);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
  backdrop-filter: blur(14px) saturate(130%);
  font: inherit;
  font-size: .78rem;
  line-height: 1.25;
  font-weight: 740;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
  -webkit-tap-highlight-color: transparent;
}
.menu-band-link:hover,
.menu-band-trigger:hover,
.menu-band-trigger[aria-expanded="true"] {
  border-color: hsla(var(--menu-hue), 90%, 86%, .7);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 0 16px hsla(var(--menu-hue), 65%, 70%, .13);
  color: #fff;
}
.menu-band-link:focus-visible,
.menu-band-trigger:focus-visible {
  outline: 2px solid #b9ddff;
  outline-offset: 3px;
}
.menu-band-link .bi,
.menu-band-trigger .bi { flex: 0 0 auto; font-size: 1.08rem; line-height: 1; }
.menu-band-link .bi::before,
.menu-band-trigger .bi::before { vertical-align: -.125em; }
.menu-band-link--icon-only,
.menu-band-trigger:not(.menu-band-trigger--label) { width: 42px; padding-inline: 9px; }
.menu-band-trigger--label { max-width: 100%; }
.menu-band-trigger-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.menu-band-trigger .menu-band-chevron { font-size: .64rem; }
.menu-band-popover {
  position: fixed;
  z-index: 90;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 7px;
  width: max-content;
  min-width: min(256px, calc(100vw - 24px));
  max-width: min(380px, calc(100vw - 24px));
  padding: 11px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  border: 1px solid rgba(194, 216, 246, .3);
  border-radius: 18px;
  color: #f4f8ff;
  background: linear-gradient(145deg, rgba(40, 57, 79, .94), rgba(15, 27, 44, .96));
  -webkit-backdrop-filter: blur(26px) saturate(155%);
  backdrop-filter: blur(26px) saturate(155%);
  box-shadow: 0 16px 46px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(255, 255, 255, .1);
  scrollbar-width: thin;
  scrollbar-color: rgba(186, 208, 239, .4) transparent;
}
.menu-band-popover .menu-band-link { justify-content: flex-start; white-space: normal; min-width: 0; }
.menu-band-popover .menu-band-link-label { overflow-wrap: anywhere; }
.menu-band-popover .menu-band-link--icon-only { width: 42px; justify-content: center; }
.menu-band-measure {
  position: fixed;
  top: 0;
  left: -10000px;
  display: flex;
  align-items: center;
  width: max-content;
  gap: 8px;
  visibility: hidden;
  pointer-events: none;
}
.menu-band-measure .menu-band-trigger { flex-shrink: 0; }
@media (max-width: 930px) {
  .topbar:has(.menu-band-host) .global-search { flex-basis: 340px; width: 340px; }
}
@media (max-width: 680px) {
  .topbar:has(.menu-band-host) .global-search { display: none; }
  .topbar:has(.menu-band-host) .topbar-actions { gap: 8px; }
  .menu-band-popover .menu-band-link { min-height: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  .menu-band-link,
  .menu-band-trigger { transition: none; }
}
