/* 30.10.2026 Р1 «Обучение команды»: только раскладка раздела .sp-lr.
   Шрифт, цвета, кнопки, поля, вкладки, метки состояния и полоса прогресса — штатные компоненты платформы
   (.sp-button, .sp-field, .tabs/.tab, .sp-status, .sp-metric, .sp-progress). Глобальные стили не меняются. */
.sp-lr { overflow: visible; }
.sp-lr [hidden] { display: none !important; }
.sp-lr__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 24px 24px 0; }
.sp-lr__head h2 { margin: 0; font-size: 24px; letter-spacing: -.02em; }
.sp-lr__purpose { margin: 6px 0 0; color: var(--sp-muted); }
.sp-lr__tabs { margin: 18px 24px 0; flex-wrap: wrap; }
.sp-lr .sp-team__notice { margin: 16px 24px 0; }
.sp-lr__overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 18px 24px 0; }
.sp-lr__overview .sp-metric { min-height: 0; padding: 16px 18px 16px 22px; }
.sp-lr__overview .sp-metric strong { font-size: 28px; }
.sp-lr__overview .sp-metric strong em { color: var(--sp-muted); font-size: 15px; font-style: normal; font-weight: 700; }
.sp-lr__filters { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: end; margin: 18px 24px 0; }
.sp-lr__filters .sp-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sp-lr__filters .sp-field input, .sp-lr__filters .sp-field select { width: 100%; min-width: 0; }
.sp-lr__body { padding: 18px 24px 24px; }
.sp-lr__list { padding: 0 16px; border: 1px solid var(--sp-line); border-radius: 18px; background: var(--sp-surface); }
.sp-lr__caption { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 0 12px; }
.sp-lr__caption h3 { margin: 0; font-size: 16px; }
.sp-lr__caption span { flex-shrink: 0; color: var(--sp-muted); font-size: 13px; }
.sp-lr__list-head, .sp-lr__row { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.1fr) 18px; gap: 16px; align-items: center; }
.sp-lr__list-head { padding: 0 10px 10px; border-bottom: 1px solid var(--sp-line); color: var(--sp-muted); font-size: 12px; font-weight: 800; }
.sp-lr__row { width: 100%; padding: 14px 10px; border: 0; border-bottom: 1px solid var(--sp-line); background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.sp-lr__row:last-child { border-bottom: 0; }
.sp-lr__row:hover { background: #f7f8f9; }
.sp-lr__row[aria-pressed="true"] { border-radius: 12px; background: var(--sp-yellow-soft, #fff5cf); }
.sp-lr__row:focus-visible, .sp-lr summary:focus-visible { outline: 3px solid rgba(230, 0, 30, .18); outline-offset: 2px; border-radius: 12px; }
.sp-lr__row > span { min-width: 0; overflow-wrap: anywhere; }
.sp-lr__name strong, .sp-lr__name small { display: block; }
.sp-lr__name small, .sp-lr__state small { margin-top: 2px; color: var(--sp-muted); font-size: 12px; }
.sp-lr__unit { color: var(--sp-muted); font-size: 13px; }
.sp-lr__state { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.sp-lr__state .sp-status, .sp-lr .sp-status { white-space: normal; }
.sp-lr__arrow { color: var(--sp-muted); font-size: 20px; text-align: right; }
.sp-lr__detail { margin-top: 18px; }
.sp-lr__detail-head { margin-bottom: 12px; }
.sp-lr__detail-head h3 { margin: 0; font-size: 20px; }
.sp-lr__detail-head p { margin: 3px 0 0; color: var(--sp-muted); font-size: 13px; }
.sp-lr__empty-detail { padding: 16px 0; }
.sp-lr__trajectory { margin-top: 10px; border: 1px solid var(--sp-line); border-radius: 18px; background: var(--sp-surface); }
.sp-lr__trajectory > summary, .sp-lr__day > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto 18px; gap: 12px; align-items: center; list-style: none; cursor: pointer; }
.sp-lr__trajectory > summary { padding: 16px 18px; }
.sp-lr__trajectory > summary::-webkit-details-marker, .sp-lr__day > summary::-webkit-details-marker { display: none; }
.sp-lr__trajectory > summary::after, .sp-lr__day > summary::after { content: "+"; color: var(--sp-muted); font-size: 20px; line-height: 1; text-align: right; }
.sp-lr__trajectory[open] > summary::after, .sp-lr__day[open] > summary::after { content: "−"; }
.sp-lr__trajectory-main { display: grid; gap: 4px; min-width: 0; }
.sp-lr__trajectory-main strong { font-size: 15px; overflow-wrap: anywhere; }
.sp-lr__trajectory-main small { color: var(--sp-muted); font-size: 12px; }
.sp-lr__trajectory-main .sp-progress { max-width: 420px; }
.sp-lr__days { padding: 0 18px 14px; }
.sp-lr__note { margin: 0 0 10px; font-size: 12px; }
.sp-lr__day { border-top: 1px solid var(--sp-line); }
.sp-lr__day > summary { padding: 12px 0; }
.sp-lr__day-title { display: grid; gap: 2px; min-width: 0; }
.sp-lr__day-title strong { font-size: 14px; font-weight: 700; overflow-wrap: anywhere; }
.sp-lr__day-title small { color: var(--sp-muted); font-size: 12px; }
.sp-lr__chips { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.sp-lr__day-body { padding: 0 0 14px 14px; }
.sp-lr__day-body h4, .sp-lr__manage h4 { margin: 0 0 4px; color: var(--sp-muted); font-size: 12px; font-weight: 800; }
.sp-lr__loading-line { margin: 6px 0; }
.sp-lr__courses { margin: 0; padding: 0; list-style: none; }
.sp-lr__courses li { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 9px 0; border-bottom: 1px solid var(--sp-line); }
.sp-lr__courses li:last-child { border-bottom: 0; }
.sp-lr__number { color: var(--sp-muted); font-size: 12px; font-weight: 800; line-height: 26px; }
.sp-lr__course-name { font-size: 14px; line-height: 26px; overflow-wrap: anywhere; }
.sp-lr__profile { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 18px; border: 1px solid var(--sp-line); border-radius: 18px; background: var(--sp-surface); }
.sp-lr__profile dt { color: var(--sp-muted); font-size: 12px; font-weight: 800; }
.sp-lr__profile dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.sp-lr__manage { margin-top: 12px; padding: 16px 18px; border: 1px solid var(--sp-line); border-radius: 18px; background: var(--sp-surface); }
.sp-lr__actions, .sp-lr__assignment-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.sp-lr__actions { margin-top: 8px; }
.sp-lr__assignments { margin: 0; padding: 0; list-style: none; }
.sp-lr__manage .sp-lr__day:first-of-type { border-top: 0; }
.sp-lr__assignments li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 10px 0 10px 14px; border-top: 1px solid var(--sp-line); }
.sp-lr__assignment-title { display: grid; flex: 1 1 260px; gap: 2px; min-width: 0; }
.sp-lr__assignment-title strong { overflow-wrap: anywhere; }
.sp-lr__assignment-title small { color: var(--sp-muted); font-size: 12px; }
.sp-lr__assignment-actions { flex: 0 1 auto; margin-left: auto; }

@media (max-width: 900px) {
  .sp-lr__filters { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .sp-lr__filters .sp-field:first-child { grid-column: 1 / -1; }
}
@media (max-width: 660px) {
  .sp-lr__head, .sp-lr__body { padding-right: 16px; padding-left: 16px; }
  .sp-lr__tabs, .sp-lr__overview, .sp-lr__filters, .sp-lr .sp-team__notice { margin-right: 16px; margin-left: 16px; }
  .sp-lr__overview { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .sp-lr__filters { grid-template-columns: minmax(0, 1fr); }
  .sp-lr__list { padding: 0 10px; }
  .sp-lr__list-head { display: none; }
  .sp-lr__row { grid-template-columns: minmax(0, 1fr) 18px; gap: 4px 12px; }
  .sp-lr__name { grid-column: 1; grid-row: 1; }
  .sp-lr__unit { grid-column: 1; grid-row: 2; }
  .sp-lr__state { grid-column: 1; grid-row: 3; margin-top: 4px; }
  .sp-lr__arrow { grid-column: 2; grid-row: 1 / 4; }
  .sp-lr__trajectory > summary, .sp-lr__day > summary { grid-template-columns: minmax(0, 1fr) 18px; gap: 8px; }
  .sp-lr__trajectory > summary > .sp-status, .sp-lr__day > summary > .sp-lr__chips { grid-column: 1; grid-row: 2; justify-content: flex-start; justify-self: start; }
  .sp-lr__trajectory > summary::after, .sp-lr__day > summary::after { grid-column: 2; grid-row: 1 / 3; }
  .sp-lr__trajectory > summary { padding: 14px; }
  .sp-lr__days { padding: 0 14px 12px; }
  .sp-lr__day-body { padding-left: 0; }
  .sp-lr__courses li { grid-template-columns: 18px minmax(0, 1fr); gap: 4px 8px; }
  .sp-lr__courses li > .sp-status { grid-column: 2; justify-self: start; }
  .sp-lr__profile { grid-template-columns: minmax(0, 1fr); }
}
