/* Admin sidebar navigation. Figma 600:33154. Tokens only — no hex here. */

.admin-shell__sidebar {
  grid-area: sidebar;
  background: var(--wa-color-surface-default);
  border-inline-end: 1px solid var(--wa-color-surface-border);
  overflow-y: auto;
}

.admin-nav__group::part(base) {
  border: 0;
  border-radius: 0;
  border-block-end: 1px solid var(--wa-color-surface-border);
}

.admin-nav__group-label {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wa-color-text-normal);
}

.admin-nav__items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-nav__link {
  display: block;
  padding: 0.4rem 0.5rem 0.4rem 1.75rem;
  color: var(--wa-color-text-normal);
  text-decoration: none;
  font-size: 0.875rem;
}

.admin-nav__link:hover {
  background: var(--wa-color-brand-95);
}

.admin-nav__link[aria-current="page"] {
  background: var(--wa-color-surface-lowered);
  color: var(--wa-color-text-normal);
  font-weight: 600;
}

.admin-nav__event-card {
  padding: 0.875rem 0.75rem;
  border-block-end: 1px solid var(--wa-color-surface-border);
}

.admin-nav__event-form wa-select {
  width: 100%;
}

.admin-nav__event-dates {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin: 0.5rem 0 0;
  font-size: 0.75rem;
  color: var(--wa-color-text-quiet);
}

.admin-nav__event-hint {
  margin: 0.5rem 0 0;
  font-size: 0.75rem;
}

/* Session role on the selected event. The viewer badge is the visible
   read-only cue (HMS-385); write roles stay neutral. */
.admin-nav__role {
  margin: 0.5rem 0 0;
  font-size: 0.75rem;
}

.admin-nav__role-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.125rem 0.5rem;
  border-radius: 999px;
  border: 1px solid var(--wa-color-neutral-border-quiet);
  background: var(--wa-color-neutral-fill-quiet);
  color: var(--wa-color-neutral-on-quiet);
  font-weight: 600;
}

.admin-nav__role-badge--viewer {
  border-color: var(--wa-color-warning-border-normal);
  background: var(--wa-color-warning-fill-quiet);
  color: var(--wa-color-warning-on-quiet);
}

.admin-nav__role-badge--editor {
  border-color: var(--wa-color-brand-border-normal);
  background: var(--wa-color-brand-fill-quiet);
  color: var(--wa-color-brand-on-quiet);
}

.admin-nav__role-badge--manager {
  border-color: var(--wa-color-success-border-normal);
  background: var(--wa-color-success-fill-quiet);
  color: var(--wa-color-success-on-quiet);
}

.admin-nav__role-badge--superadmin {
  border-color: var(--wa-color-danger-border-normal);
  background: var(--wa-color-danger-fill-quiet);
  color: var(--wa-color-danger-on-quiet);
}

/* HMS-1072 — Support Tools renders as a bold parent; its tools indent under
   a vertical line. */
.admin-nav__link--parent { font-weight: var(--wa-font-weight-semibold); }
.admin-nav__link--child {
  margin-left: var(--wa-space-s);
  padding-left: var(--wa-space-s);
  border-left: 1px solid var(--wa-color-surface-border);
}

/* HMS-681 — switching events does a PATCH + full reload with no browser
   affordance for several seconds. The auto-submit controller already marks
   the form .auto-submit--busy; show a spinner on the event card and dim the
   nav so the wait reads as work in progress, not a dead click. */
.admin-nav__event-card:has(.admin-nav__event-form.auto-submit--busy) { opacity: 0.6; }
.admin-nav__event-form.auto-submit--busy::after {
  content: "Switching event…";
  display: flex; align-items: center; gap: var(--wa-space-xs);
  margin-top: var(--wa-space-xs);
  font-size: 0.75rem; color: var(--wa-color-text-quiet);
}
.admin-nav__event-form.auto-submit--busy::before {
  content: "";
  float: left;
  width: 0.875rem; height: 0.875rem;
  margin-top: var(--wa-space-xs);
  border: 2px solid var(--wa-color-neutral-border-quiet);
  border-top-color: var(--wa-color-brand-fill-loud);
  border-radius: 50%;
  animation: admin-nav-spin 0.8s linear infinite;
}
@keyframes admin-nav-spin { to { transform: rotate(360deg); } }
