.leaderboard-container .semester-summary-link,
.semester-summary-container .rank-link {
  min-height: var(--space-10);
  padding: var(--space-2);
  gap: var(--space-1);
  border-color: transparent;
  background: transparent;
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.leaderboard-container .semester-summary-link:hover,
.semester-summary-container .rank-link:hover {
  background: var(--color-surface-hover);
  color: var(--color-brand);
}

.semester-summary-link__icon,
.rank-link__icon {
  display: inline-flex;
}

.semester-summary-link__icon svg,
.rank-link__icon svg {
  width: var(--space-4);
  height: var(--space-4);
}

.leaderboard-filters {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.leaderboard-filters .org-cascade.org-cascade--four-level > .org-group {
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-1);
  margin: 0;
}

.leaderboard-filters .org-select.ui-field__control {
  flex: 0 0 auto;
  min-height: var(--space-10);
  padding: var(--space-2) var(--space-3);
  background: var(--color-surface-card);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}

.leaderboard-filters .org-select.ui-field__control:focus {
  border-color: var(--color-brand);
}

.leaderboard-note {
  margin: var(--space-2) 0 0;
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.leaderboard-certificate-settings,
.leaderboard-award-records {
  margin: auto;
  width: calc(100% - var(--space-8));
}

.leaderboard-certificate-settings::backdrop,
.leaderboard-award-records::backdrop {
  background: var(--color-overlay);
}

.leaderboard-certificate-settings .ui-field {
  margin-top: var(--space-4);
}

.leaderboard-certificate-settings [hidden] {
  display: none;
}

@media (max-width: 599px) {
  .leaderboard-certificate-settings .ui-field__control {
    font-size: var(--font-size-control-touch);
  }
}

.leaderboard-header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  margin-inline-start: auto;
}

.leaderboard-header-actions > button {
  width: var(--space-10);
  min-height: var(--space-10);
  padding: var(--space-2);
}

.leaderboard-header-actions > button span {
  display: inline-flex;
}

.leaderboard-header-actions > button svg {
  width: var(--space-4);
  height: var(--space-4);
}

.leaderboard-header-actions > button svg [fill='currentColor'] {
  fill: none;
}
