.page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap;
  margin-block: 1rem 1.5rem;
}
.page-title {
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  color: var(--text);
  margin: 0 0 0.4rem;
}
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0; margin: 0;
  gap: 0;
  font-size: var(--fs-sm);
}
.breadcrumb li { display: inline-flex; align-items: center; }
.breadcrumb li + li::before {
  content: "/";
  margin-inline: 0.5rem;
  color: var(--text-subtle);
}
.breadcrumb a {
  color: var(--text-muted);
  text-decoration: none;
}
.breadcrumb a:hover { color: var(--primary); }
.breadcrumb [aria-current="page"] {
  color: var(--primary);
  font-weight: var(--fw-medium);
}
.page-header-actions { display: flex; gap: var(--space-2); }
.ico-crown {
  width: 1rem; height: 1rem;
  margin-inline-end: 0.25rem;
  vertical-align: -2px;
}

/* Only the activity filter is slotted here, so it keeps the right-hand spot it
   held when a card title sat beside it. */
.activities-card-header {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-3);
  width: 100%;
  flex-wrap: wrap;
}
/* The activity picker (<activity-multiselect>) styles itself in shadow DOM. */
.calendar-status {
  margin: 0 0 1rem;
  font-size: var(--fs-sm);
  color: var(--text-muted);
}
.calendar-status.is-error { color: var(--danger); }
