/*
 * Training events
 *
 * Component classes for training event cards, sidebars, and participant rows.
 */

.training-event-card {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  background-color: var(--color-surface);
}

.training-event-card--completed {
  border-left: 0.25rem solid var(--color-success);
}

.training-event-card--started {
  border-left: 0.25rem solid rgb(var(--palette-pink-500));
}

.training-event-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid var(--color-border-muted);
  background-color: var(--color-surface-muted);
  padding: 1.5rem;
}

.training-event-card__title {
  color: var(--color-ink);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5rem;
}

.training-event-card__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.training-event-card__badge {
  gap: 0.25rem;
}

.training-event-card__badge-icon {
  block-size: 0.75rem;
  inline-size: 0.75rem;
}

.training-event-card__details {
  margin-block: -0.75rem;
  padding: 1rem 1.5rem;
  color: var(--color-ink-light);
  font-size: 0.875rem;
  line-height: 1.5rem;
}

.training-event-card__detail {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 0.75rem;
}

.training-event-card__detail + .training-event-card__detail {
  border-top: 1px solid var(--color-surface-subtle);
}

.training-event-card__term {
  color: var(--color-subtle);
}

.training-event-card__description {
  color: var(--color-ink-light);
  text-align: end;
}

.training-event-card__value {
  color: var(--color-ink);
  font-weight: 500;
}

.training-event-card__skills {
  border-top: 1px solid var(--color-surface-subtle);
  padding: 0.75rem 1.5rem;
}

.training-event-card__progress {
  block-size: 0.25rem;
  inline-size: 100%;
  background-color: var(--color-surface-subtle);
}

.training-event-card__progress-bar {
  block-size: 100%;
  transition: inline-size 150ms ease;
}

.training-event-card__progress-bar--completed {
  background-color: var(--color-success);
}

.training-event-card__progress-bar--started {
  background-color: rgb(var(--palette-pink-500));
}

.training-event-sidebar {
  display: flex;
  flex-wrap: wrap;
}

.training-event-sidebar__registry {
  flex: 1 1 auto;
  padding-block-start: 1.5rem;
  padding-inline-start: 1.5rem;
}

.training-event-sidebar__title {
  margin-block-start: 0.25rem;
  color: var(--color-ink);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5rem;
}

.training-event-sidebar__muted {
  color: var(--color-subtle);
  font-size: 0.875rem;
  line-height: 1.5rem;
}

.training-event-sidebar__action {
  flex: 0 0 auto;
  align-self: flex-end;
  padding-block-start: 1rem;
  padding-inline: 1.5rem;
}

.training-event-sidebar__button {
  border: 0;
  border-radius: var(--radius-md);
  padding: 0.375rem 0.625rem;
  font-size: 0.875rem;
  font-weight: 600;
  box-shadow: var(--shadow-sm);
  cursor: pointer;
}

.training-event-sidebar__button--remove {
  background-color: rgb(var(--palette-pink-100));
  color: rgb(var(--palette-pink-600));
}

.training-event-sidebar__button--remove:hover {
  background-color: rgb(var(--palette-pink-50));
}

.training-event-sidebar__button--register {
  background-color: rgb(var(--palette-teal-100));
  color: rgb(var(--palette-teal-600));
}

.training-event-sidebar__button--register:hover {
  background-color: rgb(var(--palette-teal-50));
}

.training-event-sidebar__row {
  display: flex;
  flex: 0 0 100%;
  gap: 1rem;
  margin-block-start: 1rem;
  padding-inline: 1.5rem;
}

.training-event-sidebar__row--first {
  border-top: 1px solid var(--color-border-muted);
  margin-block-start: 1.5rem;
  padding-block-start: 1.5rem;
}

.training-event-sidebar__icon-wrap {
  flex: 0 0 auto;
}

.training-event-sidebar__icon {
  block-size: 1.5rem;
  inline-size: 1.25rem;
  color: var(--color-ink-lighter);
}

.training-event-sidebar__strong {
  color: var(--color-ink);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5rem;
}

.training-event-sidebar__skills {
  border-top: 1px solid var(--color-border-muted);
  margin-block-start: 1.5rem;
  padding: 1.5rem;
}

.training-event-sidebar__skill + .training-event-sidebar__skill {
  margin-block-start: 0.5rem;
}

.training-event-participant {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding-block: 1.25rem;
}

.training-event-participant__person {
  display: flex;
  gap: 1rem;
  padding-inline-end: 1.5rem;
}

.training-event-participant__avatar {
  position: relative;
}

.training-event-participant__status-dot {
  position: absolute;
  inset-block-end: -0.125rem;
  inset-inline-end: -0.125rem;
  display: block;
  block-size: 0.75rem;
  inline-size: 0.75rem;
  border: 2px solid var(--color-surface);
  border-radius: var(--radius-pill);
}

.training-event-participant__status-dot--waitlisted { background-color: rgb(var(--palette-amber-500)); }
.training-event-participant__status-dot--attended { background-color: var(--color-info); }
.training-event-participant__status-dot--no-show,
.training-event-participant__status-dot--unknown { background-color: var(--color-ink-lighter); }
.training-event-participant__status-dot--failed { background-color: var(--color-danger); }
.training-event-participant__status-dot--approved { background-color: var(--color-success); }

.training-event-participant__summary {
  min-inline-size: 0;
  flex: 1 1 auto;
}

.training-event-participant__name {
  color: var(--color-ink);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5rem;
}

.training-event-participant__meta {
  display: flex;
  margin-block-start: 0.25rem;
  color: var(--color-subtle);
  font-size: 0.75rem;
  line-height: 1.25rem;
}

.training-event-participant__desktop-control {
  display: none;
}

@media (min-width: 640px) {
  .training-event-participant__person,
  .training-event-participant__controls {
    flex: 0 0 50%;
  }

  .training-event-participant__desktop-control {
    display: block;
  }
}

.training-participant-status {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: var(--radius-pill);
  padding: 0.25rem 0.5rem;
  color: var(--color-ink);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1rem;
  box-shadow: inset 0 0 0 1px var(--color-border);
}

.training-participant-status__dot {
  block-size: 0.375rem;
  inline-size: 0.375rem;
  fill: currentColor;
}

.training-participant-status--waitlisted {
  box-shadow: inset 0 0 0 1px rgb(var(--palette-amber-500) / 0.2);
  color: rgb(var(--palette-amber-600));
}

.training-participant-status--attended {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-info) 20%, transparent);
  color: var(--color-info-strong);
}

.training-participant-status--no-show,
.training-participant-status--unknown {
  box-shadow: inset 0 0 0 1px oklch(60% 0 0 / 20%);
  color: var(--color-ink-lighter);
}

.training-participant-status--failed {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-danger) 20%, transparent);
  color: var(--color-danger-strong);
}

.training-participant-status--approved {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-success) 20%, transparent);
  color: var(--color-success-strong);
}

/* ------------------------------------------------------------------ */
/* Admin training content forms and lists.                            */
/* ------------------------------------------------------------------ */

.training-content-form {
  margin-block-start: 1.5rem;
}

.training-content-form__description {
  margin-block-start: 0.5rem;
  color: var(--color-subtle);
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.training-content-form__body {
  min-inline-size: 0;
}

.training-content-form__section {
  margin-block-start: 1.5rem;
}

.training-content-form__section--bordered {
  margin-block-start: 2rem;
  border-block-start: 1px solid var(--color-border);
  padding-block-start: 1.25rem;
}

.training-content-form__rich-text {
  margin-block-start: 0.5rem;
}

.training-content-form__rich-text--spacious {
  margin-block-start: 1.5rem;
}

.training-content-form__choice-group {
  margin-block: 1rem 0.5rem;
}

.training-content-form__choice-options {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem;
  inline-size: 100%;
}

.training-content-form__toggle-row {
  display: flex;
  align-items: center;
}

.training-content-form__survey-panel {
  margin-block-start: 0.5rem;
  padding-inline: 0.5rem;
  color: var(--color-ink-light);
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.training-content-survey-link {
  border-block-end: 1px solid var(--color-border);
  padding-block-end: 1rem;
}

.training-content-survey-link__row,
.training-content-survey-link__fields,
.training-content-nested-row__body {
  display: flex;
}

.training-content-survey-link__row,
.training-content-nested-row__body {
  align-items: center;
  justify-content: space-between;
}

.training-content-survey-link__fields {
  inline-size: 100%;
}

.training-content-survey-link__select {
  flex: 1 1 50%;
  margin-block-start: 0.5rem;
  margin-inline-end: 1.5rem;
}

.training-content-survey-link__hidden {
  flex: 1 1 50%;
  margin-inline-end: 1rem;
}

.training-content-survey-link__actions {
  margin-block-start: 1.5rem;
}


.training-content-remove-icon--offset {
  margin-inline-start: 1rem;
}

.training-content-nested-row {
  margin-block-start: 1rem;
}

.training-content-files {
  margin-block-start: 1rem;
}

.training-content-files__list {
  display: flex;
  align-items: center;
}

.training-content-files__upload {
  margin-block-start: 1rem;
}

.training-content-files__label {
  padding-inline-start: 0.5rem;
  color: var(--color-ink-light);
  font-size: 0.875rem;
  font-weight: 500;
}

.training-content-files__dropzone {
  margin-block-start: 0.5rem;
}


.training-content-files__message-title {
  color: var(--color-ink-light);
}

.training-content-files__message-description {
  font-size: 0.875rem;
}

.training-content-table__handle {
  max-inline-size: 0.5rem;
}

.training-content-table__drag-icon {
  inline-size: 1rem;
  block-size: 1rem;
  margin-inline-end: 0.5rem;
  color: var(--color-border-medium);
}

.training-content-table__edit-icon {
  inline-size: 0.75rem;
  block-size: 0.75rem;
  margin-inline-start: -0.25rem;
  color: rgb(var(--palette-teal-600));
}

.training-content-detail {
  display: flex;
  flex-direction: column;
  margin-block: 1rem;
}

.training-content-detail__title {
  margin-block-start: 1.5rem;
  font-weight: 600;
}

.training-content-section-heading {
  font-weight: 600;
}

.training-content-detail__body {
  margin-block-start: 0.5rem;
}

.training-content-detail__body--prose {
  margin-block-start: 1rem;
}

.training-content-empty-guide {
  max-inline-size: 28rem;
  margin-inline: auto;
}

.training-content-empty-guide__list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  text-align: start;
}

.training-content-empty-guide__number {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  border-radius: var(--radius-pill);
  background-color: rgb(var(--palette-indigo-100));
  color: var(--color-brand-strong);
  font-size: 0.75rem;
  font-weight: 700;
}

.training-content-skills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.training-content-muted {
  color: var(--color-ink-lighter);
}

.training-content-rate {
  font-size: 0.875rem;
  font-weight: 500;
}

.training-content-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  margin-block-end: 1rem;
  color: var(--color-ink-light);
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.training-content-summary__item {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}

.training-content-summary__dot {
  inline-size: 0.5rem;
  block-size: 0.5rem;
  border-radius: var(--radius-pill);
}

.training-content-summary__dot--attended {
  background-color: var(--color-info);
}

.training-content-summary__dot--approved {
  background-color: var(--color-success);
}

.training-content-summary__dot--waitlisted {
  background-color: rgb(var(--palette-amber-500));
}

.training-content-summary__dot--no-show {
  background-color: var(--color-ink-lighter);
}

.training-content-summary__dot--failed {
  background-color: var(--color-danger);
}

.training-content-bulk-bar {
  position: sticky;
  inset-block-start: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-block-end: 1rem;
  border: 1px solid rgb(var(--palette-indigo-200));
  border-radius: var(--radius-lg);
  background-color: rgb(var(--palette-indigo-50));
  padding: 0.75rem 1rem;
}

.training-content-bulk-bar.hidden {
  display: none;
}

.training-content-bulk-bar__label {
  color: rgb(var(--palette-indigo-700));
  font-size: 0.875rem;
  font-weight: 500;
}

.training-content-bulk-bar__select {
  border-color: var(--color-border-medium);
  border-radius: var(--radius-md);
  padding-block: 0.375rem;
  font-size: 0.875rem;
}

.training-content-participant-list {
  border-block-start: 1px solid var(--color-surface-subtle);
}

.training-content-participant-list__item {
  border-block-end: 1px solid var(--color-surface-subtle);
}

.training-content-participant-list__select-all {
  padding: 0.5rem;
}

.training-content-checkbox-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-subtle);
  font-size: 0.875rem;
  cursor: pointer;
}

.training-content-participant-row {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding-block: 1.25rem;
}

.training-content-participant-row__person {
  display: flex;
  gap: 1rem;
  padding-inline-end: 1.5rem;
}

.training-content-participant-row__check {
  display: flex;
  align-items: center;
}

.training-content-participant-row__avatar {
  position: relative;
}

.training-content-participant-row__summary {
  min-inline-size: 0;
  flex: 1 1 auto;
}

.training-content-participant-row__name {
  color: var(--color-ink);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5rem;
}

.training-content-participant-row__meta {
  display: flex;
  margin-block-start: 0.25rem;
  color: var(--color-subtle);
  font-size: 0.75rem;
  line-height: 1.25rem;
}

.training-content-participant-row__desktop-control {
  display: none;
}

.training-content-participant-empty {
  padding-block: 2rem;
  text-align: center;
}

.training-content-participant-empty__icon {
  inline-size: 3rem;
  block-size: 3rem;
  margin-inline: auto;
  color: var(--color-border-medium);
}

.training-content-participant-empty__title {
  margin-block-start: 0.5rem;
  color: var(--color-ink);
  font-size: 0.875rem;
  font-weight: 600;
}

.training-content-participant-empty__body {
  margin-block-start: 0.25rem;
  color: var(--color-subtle);
  font-size: 0.875rem;
}

@media (min-width: 640px) {
  .training-content-survey-link__fields {
    align-items: center;
    justify-content: space-between;
  }

  .training-content-participant-row__person,
  .training-content-participant-row__controls {
    flex: 0 0 50%;
  }

  .training-content-participant-row__desktop-control {
    display: block;
  }
}

@media (min-width: 768px) {
  .training-content-form__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }

  .training-content-form__layout--split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ------------------------------------------------------------------ */
/* Training lesson timeline and survey prompts.                       */
/* ------------------------------------------------------------------ */

.training-lesson {
  position: relative;
  padding-block-end: 0.5rem;
}

.training-lesson__line {
  position: absolute;
  inset-block-start: 1.5rem;
  inset-inline-start: 0.75rem;
  margin-inline-start: -1px;
  block-size: 100%;
  inline-size: 1px;
}

.training-lesson__line--completed {
  background-color: rgb(var(--palette-green-300));
}

.training-lesson__line--pending {
  background-color: var(--color-border);
}

.training-lesson__row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.training-lesson__marker {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  block-size: 1.5rem;
  inline-size: 1.5rem;
  border-radius: var(--radius-pill);
}

.training-lesson__marker--completed {
  background-color: var(--color-success);
}

.training-lesson__marker--current {
  background-color: rgb(var(--palette-pink-500));
}

.training-lesson__marker--pulse {
  animation: trainingLessonPulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.training-lesson__marker--pending {
  background-color: var(--color-border);
}

.training-lesson__check-icon {
  block-size: 0.875rem;
  inline-size: 0.875rem;
  color: var(--color-surface);
}

@keyframes trainingLessonPulse {
  50% {
    opacity: 0.5;
  }
}

.training-lesson__dot {
  block-size: 0.375rem;
  inline-size: 0.375rem;
  border-radius: var(--radius-pill);
  background-color: var(--color-ink-lighter);
}

.training-lesson__dot--light {
  background-color: var(--color-surface);
}

.training-lesson__link {
  display: block;
  inline-size: 100%;
  border-radius: var(--radius-sm);
  padding: 0.25rem 0.5rem;
  text-decoration: none;
}

.training-lesson__link:hover {
  background-color: var(--color-surface-subtle);
}

.training-lesson__link--current {
  border-inline-start: 2px solid rgb(var(--palette-pink-400));
  background-color: rgb(var(--palette-pink-50));
}

.training-lesson-next {
  display: block;
  inline-size: 100%;
  margin-block-start: 1.5rem;
  border-radius: var(--radius-xl);
  background-color: rgb(var(--palette-pink-500));
  padding: 0.75rem 1rem;
  color: var(--color-surface);
  text-decoration: none;
  box-shadow: var(--shadow-md);
  transition: transform 200ms ease, box-shadow 200ms ease, background-color 200ms ease;
}

.training-lesson-next:hover {
  background-color: rgb(var(--palette-pink-600));
  box-shadow: var(--shadow-lg);
  transform: translateY(-0.125rem);
}

.training-lesson-next__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.training-lesson-next__label {
  font-weight: 500;
}

.training-lesson-next__icon {
  block-size: 1.25rem;
  inline-size: 1.25rem;
}

.training-lesson-notice {
  margin-block-start: 1.5rem;
  border-radius: var(--radius-lg);
  padding: 1rem;
}

.training-lesson-notice--danger {
  border-inline-start: 0.25rem solid rgb(var(--palette-red-400));
  background-color: rgb(var(--palette-red-50));
}

.training-lesson-notice--warning {
  border: 1px solid rgb(var(--palette-amber-300));
  background-color: rgb(var(--palette-amber-50));
}

.training-lesson-notice__content--wide,
.training-lesson-survey__summary {
  gap: 0.75rem;
}

.training-lesson-notice__icon,
.training-lesson-survey__icon {
  flex: 0 0 auto;
  block-size: 1.25rem;
  inline-size: 1.25rem;
}

.training-lesson-notice__icon--danger {
  color: var(--color-danger);
}

.training-lesson-notice__icon--warning {
  color: rgb(var(--palette-amber-500));
}

.training-lesson-notice__text,
.training-lesson-survey__title {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.training-lesson-notice__text--danger {
  color: rgb(var(--palette-red-700));
}

.training-lesson-notice__text--warning {
  color: rgb(var(--palette-amber-700));
}

.training-lesson-survey {
  border-radius: var(--radius-lg);
  padding: 1rem;
}

.training-lesson-survey--spaced {
  margin-block-start: 0.75rem;
}

.training-lesson-survey--mandatory {
  border-inline-start: 0.25rem solid rgb(var(--palette-amber-400));
  background-color: rgb(var(--palette-amber-50));
}

.training-lesson-survey--optional {
  border-inline-start: 0.25rem solid rgb(var(--palette-blue-300));
  background-color: rgb(var(--palette-blue-50));
}

.training-lesson-survey--completed {
  border-inline-start: 0.25rem solid rgb(var(--palette-green-400));
  background-color: rgb(var(--palette-green-50));
}

.training-lesson-survey__icon--mandatory {
  color: rgb(var(--palette-amber-500));
}

.training-lesson-survey__icon--optional {
  color: var(--color-info);
}

.training-lesson-survey__icon--completed {
  color: var(--color-success);
}

.training-lesson-survey__title {
  color: var(--color-ink);
}

.training-lesson-survey__label {
  color: var(--color-subtle);
  font-size: 0.75rem;
  line-height: 1rem;
}

.training-lesson-empty {
  padding: 1rem;
}

.training-topic {
  border-radius: var(--radius-lg);
  transition: background-color 150ms ease, box-shadow 150ms ease;
}

.training-topic:not(.training-topic--active):hover {
  background-color: oklch(var(--lch-white) / 60%);
}

.training-topic--active {
  background-color: var(--color-surface);
  box-shadow:
    var(--shadow-sm),
    0 0 0 1px var(--color-border);
}

.training-topic__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem;
}

.training-topic__content {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  min-inline-size: 0;
}

.training-topic__status-icon,
.training-topic__progress {
  flex-shrink: 0;
  inline-size: 1.5rem;
  block-size: 1.5rem;
}

.training-topic__status-icon--complete {
  color: var(--color-success);
}

.training-topic__title {
  overflow: hidden;
  color: var(--color-ink);
  font-size: 1rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.training-topic__meta {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 0.375rem;
  margin-inline-start: 0.5rem;
}

.training-topic__count {
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-pill);
  background-color: var(--color-surface-subtle);
  padding-block: 0.125rem;
  padding-inline: 0.5rem;
  color: var(--color-subtle);
  font-size: 0.75rem;
  font-weight: 500;
}

.training-topic__chevron {
  inline-size: 1rem;
  block-size: 1rem;
  color: var(--color-ink-lighter);
}

.training-topic__lessons {
  margin-inline-start: 1rem;
  padding-block: 0.125rem 0.75rem;
  padding-inline: 0.75rem;
}

/* ------------------------------------------------------------------ */
/* Main learning and content views.                                   */
/* ------------------------------------------------------------------ */

.training-event-card-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem 1.5rem;
}

.training-event-table__cell {
  font-weight: 500;
  color: var(--color-ink);
}

.training-outline {
  margin-block: 0.5rem;
}

.training-outline__topic-title {
  margin-block: 0.5rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.training-outline__lessons {
  margin-block-start: 0.5rem;
  margin-inline-start: 1rem;
}

.training-outline__segments {
  padding: 0.5rem;
}

.training-outline__segment {
  margin-inline-start: 1.5rem;
}

.training-event-detail__hero {
  margin-block-end: 1.5rem;
}

.training-event-detail__title {
  color: var(--color-ink);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2rem;
}

.training-event-detail__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-block-start: 0.75rem;
}

.training-event-detail__badge {
  gap: 0.375rem;
}

.training-event-detail__badge-icon {
  inline-size: 0.875rem;
  block-size: 0.875rem;
  color: var(--color-ink-lighter);
}

.training-event-detail__divider {
  margin-block-end: 1.5rem;
  border-color: var(--color-border);
}

.training-event-detail__content {
  max-inline-size: none;
  color: var(--color-ink-light);
  font-size: 0.875rem;
  line-height: 1.5rem;
}

.training-event-detail__content > * + * {
  margin-block-start: 1rem;
}

.training-event-detail__content a,
.learning-card__body a {
  color: var(--color-brand-strong);
  text-decoration: underline;
}

.training-event-detail__content ul,
.training-event-detail__content ol,
.learning-card__body ul,
.learning-card__body ol {
  padding-inline-start: 1.5rem;
}

.training-event-detail__content ul,
.learning-card__body ul {
  list-style: disc;
}

.training-event-detail__content ol,
.learning-card__body ol {
  list-style: decimal;
}

.training-event-detail__section-heading {
  color: var(--color-subtle);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.training-event-detail__section-heading--spaced {
  margin-block-start: 1.5rem;
}

.training-event-detail__section-body {
  margin-block-start: 0.5rem;
}

.training-event-detail__cta {
  margin-block-start: 2rem;
  border-block-start: 1px solid var(--color-border);
  padding-block-start: 1.5rem;
}

.training-event-complete-card {
  border: 1px solid rgb(var(--palette-green-200));
  border-radius: var(--radius-xl);
  background-image: linear-gradient(to right, rgb(var(--palette-green-50)), rgb(var(--palette-mint-50)));
  padding: 1.5rem;
}


.training-event-complete-card__icon-wrap {
  flex-shrink: 0;
}

.training-event-complete-card__icon {
  inline-size: 2.5rem;
  block-size: 2.5rem;
  color: var(--color-success);
}

.training-event-complete-card__title {
  color: rgb(var(--palette-green-800));
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5rem;
}

.training-event-complete-card__skills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-block-start: 0.5rem;
}

.training-event-progress {
  margin-block-end: 0.75rem;
}

.training-event-progress__label {
  display: flex;
  justify-content: space-between;
  margin-block-end: 0.25rem;
  color: var(--color-ink-light);
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.training-event-progress__track {
  overflow: hidden;
  inline-size: 100%;
  block-size: 0.375rem;
  border-radius: var(--radius-pill);
  background-color: var(--color-surface-subtle);
}

.training-event-progress__bar {
  block-size: 100%;
  border-radius: var(--radius-pill);
  background-color: rgb(var(--palette-pink-500));
  transition: inline-size 150ms ease;
}

.training-event-detail__start-link {
  inline-size: 100%;
  justify-content: center;
  gap: 0.5rem;
  border-radius: var(--radius-xl);
  background-color: rgb(var(--palette-pink-500));
  padding: 0.75rem 1rem;
  color: var(--color-surface);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25rem;
  text-decoration: none;
  box-shadow: var(--shadow-md);
  transition: transform 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

.training-event-detail__start-link:hover {
  background-color: rgb(var(--palette-pink-600));
  box-shadow: var(--shadow-lg);
  transform: translateY(-0.125rem);
}

.training-event-detail__start-icon {
  inline-size: 1rem;
  block-size: 1rem;
}

.training-event-detail__survey {
  margin-block-start: 1.5rem;
  border-block-start: 1px solid var(--color-border);
  padding-block-start: 1.5rem;
}


.learning-layout__content {
  min-inline-size: 0;
  flex: 1 1 auto;
}

.learning-card,
.learning-completion-card {
  position: relative;
  overflow: hidden;
  margin-block-end: 1.5rem;
  border: 1px solid var(--color-border-medium);
  border-radius: var(--radius-2xl);
  background-color: oklch(var(--lch-white) / 60%);
  box-shadow: var(--shadow-lg);
}

.learning-card--animated,
.learning-completion-card--animated {
  animation: learning-fade-in-up 500ms ease-out;
}

.learning-card {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
}

.learning-card__inner {
  inline-size: 100%;
  max-inline-size: 65ch;
  margin-inline: auto;
}

.learning-card__body {
  margin-block-start: 1.5rem;
  color: var(--color-ink-light);
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.learning-card__body > * + * {
  margin-block-start: 1.25rem;
}

.learning-card__survey {
  margin-block-start: 2rem;
}

.learning-card__next {
  margin-block-start: 1.5rem;
  border-block-start: 1px solid var(--color-border);
}

.learning-keyboard-hint {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-block-start: 0.5rem;
  color: var(--color-ink-lighter);
  font-size: 0.75rem;
  line-height: 1rem;
}

.learning-keyboard-hint__icon {
  inline-size: 0.875rem;
  block-size: 0.875rem;
}

.learning-desktop-sidebar {
  position: relative;
  display: none;
  flex-shrink: 0;
}

.learning-desktop-sidebar__drawer {
  overflow: hidden;
  transition: inline-size 300ms ease;
}

.learning-desktop-sidebar__drawer--closed {
  inline-size: 0;
}

.learning-desktop-sidebar__drawer--open {
  inline-size: 28rem;
}

.learning-sidebar-panel {
  inline-size: 28rem;
  margin-block-end: 1.5rem;
  border-radius: var(--radius-2xl);
  background-color: oklch(var(--lch-white) / 80%);
  padding: 1.25rem;
  backdrop-filter: blur(4px);
  box-shadow:
    var(--shadow-lg),
    0 0 0 1px oklch(92.8% 0.006 264 / 60%);
}

.learning-mobile-sidebar {
  position: fixed;
  inset-block: 0;
  inset-inline-end: 0;
  z-index: 40;
  inline-size: 20rem;
  background-color: var(--color-surface);
  box-shadow:
    -10px 0 15px -3px oklch(var(--lch-black) / 10%),
    -4px 0 6px -4px oklch(var(--lch-black) / 10%);
  transition: transform 300ms ease;
}

.learning-mobile-sidebar--closed {
  transform: translateX(100%);
}

.learning-mobile-sidebar__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-block-end: 1px solid var(--color-border);
  padding: 0.75rem 1rem;
}

.learning-mobile-sidebar__title {
  color: var(--color-ink);
  font-weight: 600;
}

.learning-mobile-sidebar__close {
  border: 0;
  border-radius: var(--radius-lg);
  background: transparent;
  padding: 0.375rem;
  color: var(--color-subtle);
  cursor: pointer;
}

.learning-mobile-sidebar__close:hover {
  background-color: var(--color-surface-subtle);
}

.learning-mobile-sidebar__close-icon {
  inline-size: 1.25rem;
  block-size: 1.25rem;
}

.learning-mobile-sidebar__body {
  overflow-y: auto;
  block-size: calc(100% - 3.5rem);
  padding: 1rem;
}

.learning-mobile-backdrop {
  position: fixed;
  inset: 0;
  z-index: 30;
  background-color: rgb(var(--palette-black) / 0.3);
}

.learning-mobile-backdrop--hidden {
  display: none;
}

.learning-scroll-locked {
  overflow: hidden;
}

.learning-mobile-toggle {
  position: fixed;
  inset-block-end: 1.5rem;
  inset-inline-end: 1rem;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 3.5rem;
  block-size: 3.5rem;
  border: 0;
  border-radius: var(--radius-pill);
  background-color: rgb(var(--palette-pink-500));
  color: var(--color-surface);
  box-shadow: var(--shadow-lg);
  cursor: pointer;
  transition: background-color 150ms ease;
}

.learning-mobile-toggle:hover {
  background-color: rgb(var(--palette-pink-600));
}

.learning-mobile-toggle__icon {
  inline-size: 1.5rem;
  block-size: 1.5rem;
}

.learning-completion-card {
  padding: 2rem;
}

.learning-completion-card__inner {
  max-inline-size: 32rem;
  margin-inline: auto;
  text-align: center;
}

.learning-completion-card__icon-wrap {
  margin-block-end: 1.5rem;
  margin-inline: auto;
}

.learning-completion-card__icon {
  inline-size: 5rem;
  block-size: 5rem;
  margin-inline: auto;
  color: rgb(var(--palette-pink-500));
}

.learning-completion-card__title {
  color: var(--color-ink);
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 2.5rem;
}

.learning-completion-card__description {
  margin-block-start: 0.75rem;
  color: var(--color-subtle);
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.learning-completion-card__training-name {
  margin-block-start: 0.25rem;
  color: var(--color-ink-light);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
}

.learning-completion-card__skills {
  margin-block-start: 2rem;
}

.learning-completion-card__skills-title {
  color: var(--color-subtle);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.learning-completion-card__skill-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-block-start: 0.75rem;
}

.learning-completion-card__actions {
  margin-block-start: 2.5rem;
}

.learning-lesson-header__breadcrumb {
  margin-block-end: 1rem;
  color: var(--color-subtle);
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.learning-lesson-header__separator {
  margin-inline: 0.25rem;
}

.learning-lesson-header__divider {
  margin-block-start: 1rem;
  border-block-start: 1px solid var(--color-border);
}

.learning-sidebar-summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block-end: 1rem;
}

.learning-sidebar-summary__title {
  color: var(--color-ink);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
}

.learning-sidebar-summary__progress {
  position: relative;
  margin-block-start: 1rem;
}

.learning-sidebar-summary__progress-value {
  color: var(--color-ink);
  font-size: 1.125rem;
  font-weight: 700;
}

.learning-sidebar-summary__meta {
  margin-block-start: 0.5rem;
  color: var(--color-subtle);
  font-size: 0.75rem;
  line-height: 1rem;
}

.learning-sidebar-summary__topics {
  border-block-start: 1px solid var(--color-surface-subtle);
  padding-block-start: 0.75rem;
}

.segment-detail {
  display: flex;
  gap: 1.5rem;
}

.segment-detail__main {
  inline-size: 80%;
}

.segment-detail__sidebar {
  inline-size: 20%;
}

.segment-detail__description-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.segment-detail__description {
  display: flex;
  flex-direction: column;
  margin-block: 1rem;
}

.segment-detail__label {
  font-weight: 600;
}

.segment-detail__body {
  margin-block-start: 0.5rem;
}

.segment-detail__sidebar-title {
  margin-block-start: 1rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75rem;
}

.segment-detail__topic-list {
  margin-block-start: 0.5rem;
  margin-inline-start: 1rem;
}

@keyframes learning-fade-in-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (min-width: 1024px) {
  .training-event-card-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .learning-layout {
    flex-direction: row;
  }

  .learning-keyboard-hint {
    display: flex;
  }

  .learning-desktop-sidebar {
    display: block;
  }

  .learning-mobile-sidebar,
  .learning-mobile-toggle {
    display: none;
  }
}
