/* Compact Core training: the current prescription comes first; the calendars
   and full cycle keep their original actions and data. Scoped to this page/modal. */
.wb-page.wb-training .tr-top-grid { grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); align-items: start; gap: 18px; margin-bottom: 18px; }
.wb-page.wb-training .tr-today-card { border-top: 3px solid var(--accent); }
.wb-page.wb-training .tr-section-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 14px; margin-bottom: 12px; }
.wb-page.wb-training :is(.tr-section-head h2, .tr-workout-heading h3, .tr-rest-state h3, .tr-plan-heading h3) { margin: 0; font: 600 1rem/1.4 var(--font-body); letter-spacing: 0; text-transform: none; overflow-wrap: anywhere; }
.wb-page.wb-training .tr-today-head { align-items: baseline; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
.wb-page.wb-training .tr-period { display: block; color: var(--text-dim); font-size: .8125rem; font-variant-numeric: tabular-nums; }
.wb-page.wb-training .tr-nav { display: flex; gap: 6px; align-items: center; }
.wb-page.wb-training .tr-workout-heading { display: flex; gap: 8px 14px; align-items: baseline; justify-content: space-between; margin-bottom: 6px; }
.wb-page.wb-training .tr-workout-heading h3 { font-size: 1.25rem; }
.wb-page.wb-training .tr-duration { flex-shrink: 0; color: var(--text-dim); font-size: .8125rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.wb-page.wb-training :is(.tr-badges, .tr-legend) { display: flex; flex-wrap: wrap; gap: 6px; }
.wb-page.wb-training .tr-focus { margin: 8px 0 12px; font-size: .875rem; color: var(--text-dim); overflow-wrap: anywhere; }
.wb-page.wb-training .tr-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.wb-page.wb-training .tr-actions:empty { display: none; }
.wb-page.wb-training .tr-rest-state { display: flex; align-items: center; gap: 14px; padding: 12px 0; }
.wb-page.wb-training .tr-rest-state > svg { color: var(--accent); flex-shrink: 0; }
.wb-page.wb-training .tr-rest-state .tr-badges { margin-top: 6px; }
.wb-page.wb-training .table-wrap { max-width: 100%; overflow-x: auto; margin: 0; padding: 0; }
.wb-page.wb-training .table-wrap .tr-exercises { min-width: 0; width: 100%; table-layout: fixed; font: 400 .875rem/1.45 var(--font-body); }
.wb-page.wb-training .tr-exercises :is(th, td) { padding: 9px 6px; white-space: normal; overflow-wrap: anywhere; text-align: center; min-width: 0; font: inherit; font-variant-numeric: tabular-nums; }
.wb-page.wb-training .tr-exercises th { color: var(--text-dim); font-size: .75rem; font-weight: 500; text-transform: none; letter-spacing: 0; }
.wb-page.wb-training .tr-exercises :is(th, td):first-child { text-align: left; padding-left: 0; width: 49%; }
.wb-page.wb-training .tr-exercises :is(th, td):nth-child(2) { width: 14%; }
.wb-page.wb-training .tr-exercises :is(th, td):nth-child(3) { width: 25%; }
.wb-page.wb-training .tr-exercises :is(th, td):last-child { width: 12%; padding-right: 0; }
.wb-page.wb-training .tr-exercises .badge { margin-left: 3px; font-size: .6875rem; padding: 1px 4px; }
.wb-page.wb-training .tr-warmup { color: var(--text-dim); }
.wb-page.wb-training .tr-week-list { display: grid; }
.wb-page.wb-training .tr-week-day { appearance: none; display: flex; gap: 12px; align-items: center; width: 100%; min-width: 0; min-height: 55px; padding: 9px 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; color: var(--text); font: 400 .875rem/1.4 var(--font-body); text-align: left; cursor: pointer; }
.wb-page.wb-training .tr-week-day:last-child { border-bottom: 0; }
.wb-page.wb-training .tr-week-day.today { padding-inline: 10px; border-radius: 6px; background: var(--accent-soft); box-shadow: inset 3px 0 var(--accent); }
.wb-page.wb-training .tr-week-day:hover { background: var(--bg-2); }
.wb-page.wb-training .tr-week-date { display: flex; flex-direction: column; align-items: center; flex: 0 0 30px; color: var(--text-dim); font-size: .75rem; }
.wb-page.wb-training .tr-week-date strong { color: var(--text); font-size: 1rem; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; }
.wb-page.wb-training .tr-week-detail { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; flex: 1; min-width: 0; }
.wb-page.wb-training .tr-week-name { overflow-wrap: anywhere; }
.wb-page.wb-training .tr-week-day > svg { flex-shrink: 0; color: var(--text-dim); }
.wb-page.wb-training :is(.tr-month, .tr-full-plan) { margin-top: 18px; }
.wb-page.wb-training .disclosure > summary { flex-wrap: wrap; min-height: 44px; padding: 11px 14px; font: 500 .875rem/1.4 var(--font-body); }
.wb-page.wb-training .disclosure > .disclosure-body { padding: 0 14px 14px; }
.wb-page.wb-training .tr-month .tr-section-head { padding-top: 4px; }
.wb-page.wb-training .tr-calendar-scroll { max-width: 100%; overflow-x: auto; padding: 3px; }
.wb-page.wb-training .cal-grid { grid-template-columns: repeat(7, minmax(44px, 1fr)); gap: 4px; min-width: 332px; }
.wb-page.wb-training .cal-head { padding: 6px 0; color: var(--text-dim); font: 500 .75rem/1.4 var(--font-body); letter-spacing: 0; text-transform: none; }
.wb-page.wb-training .cal-day { appearance: none; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 44px; min-height: 64px; padding: 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--panel); color: var(--text); font-family: var(--font-body); text-align: left; cursor: pointer; overflow: hidden; }
.wb-page.wb-training .cal-day:hover { border-color: var(--accent); background: var(--bg-2); }
.wb-page.wb-training .cal-day.today { border-color: var(--accent); background: var(--accent-soft); box-shadow: inset 0 2px var(--accent); }
.wb-page.wb-training .cal-day.dimmed { opacity: 1; background: var(--bg-2); }
.wb-page.wb-training .cal-day .n { color: var(--text); font: 600 .8125rem/1.4 var(--font-body); font-variant-numeric: tabular-nums; }
.wb-page.wb-training .cal-day.dimmed .n { color: var(--text-dim); }
.wb-page.wb-training .cal-day .wtag { margin: 0; max-width: 100%; padding: 1px 4px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font: 500 .75rem/1.4 var(--font-body); letter-spacing: 0; text-transform: none; }
.wb-page.wb-training .cal-day .wtag.planche { background: var(--accent-soft); color: var(--accent); }
.wb-page.wb-training .cal-day .wtag.frontlever { background: var(--fc-incorrect-soft); color: var(--fc-incorrect); }
.wb-page.wb-training .cal-day .wtag.rest { background: var(--bg-2); color: var(--text-dim); }
.wb-page.wb-training .tr-legend { margin-top: 12px; }
.wb-page.wb-training .tr-plan-meta { margin: 4px 0 12px; color: var(--text-dim); font-size: .8125rem; overflow-wrap: anywhere; }
.wb-page.wb-training .tr-plan-week { margin-bottom: 8px; }
.wb-page.wb-training .tr-plan-date { margin-left: auto; color: var(--text-dim); font-size: .8125rem; font-weight: 400; }
.wb-page.wb-training .tr-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.wb-page.wb-training .tr-plan-heading { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; margin: 10px 0 6px; }
.wb-page.wb-training.tr-workout-modal { padding: 20px; max-width: min(680px, calc(100vw - 24px)); }
.wb-page.wb-training.tr-workout-modal .modal-head { margin-bottom: 16px; align-items: flex-start; }
.wb-page.wb-training.tr-workout-modal .modal-head h3 { font: 600 1rem/1.4 var(--font-body); letter-spacing: 0; margin: 0; overflow-wrap: anywhere; }
@media (max-width: 1050px) {
  .wb-page.wb-training .tr-top-grid { grid-template-columns: minmax(0, 1.3fr) minmax(280px, 1fr); }
  .wb-page.wb-training .tr-week-card .tr-section-head { align-items: flex-start; }
  .wb-page.wb-training .tr-plan-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 800px) {
  .wb-page.wb-training .tr-top-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .wb-page.wb-training .tr-top-grid { gap: 14px; margin-bottom: 14px; }
  .wb-page.wb-training :is(.tr-month, .tr-full-plan) { margin-top: 14px; }
  .wb-page.wb-training .tr-section-head { gap: 8px; }
  .wb-page.wb-training .tr-nav { margin-left: auto; }
  .wb-page.wb-training .tr-week-day { gap: 8px; }
  .wb-page.wb-training .tr-exercises :is(th, td) { padding: 8px 3px; }
  .wb-page.wb-training .tr-actions .btn { width: 100%; }
  .wb-page.wb-training .cal-day { padding: 6px 3px; }
  .wb-page.wb-training .cal-day .wtag { padding-inline: 1px; }
  .wb-page.wb-training .tr-plan-date { margin-left: 0; }
  .wb-page.wb-training .tr-plan-week > .disclosure-body { padding-inline: 10px; }
  .wb-page.wb-training.tr-workout-modal { padding: 16px; }
}
