/* Malna — Coach-Screen. Nur Tokens aus tokens.css, Bausteine aus AGENTS.md. */

.coach-pills {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-1);
  margin-bottom: var(--space-3);
}

.coach-pills[hidden],
[data-coach-panel][hidden] {
  display: none;
}

[data-coach-panel] {
  display: grid;
  gap: var(--space-2);
}

.coach-card,
.coach-area,
.coach-redeem {
  display: grid;
  gap: var(--space-3);
}

.coach-card__head {
  display: grid;
  gap: var(--space-1);
}

.coach-card__head strong {
  font: var(--font-weight-medium) var(--font-size-value) / 1.4 var(--font-system);
}

.coach-card__head small,
.coach-muted,
.coach-code-label {
  margin: 0;
  color: var(--text-3);
  font: var(--font-weight-regular) var(--font-size-label) / 1.4 var(--font-system);
}

.coach-section-title {
  margin: 0;
  color: var(--text-3);
  font: var(--font-weight-regular) var(--font-size-section) / 1.4 var(--font-system);
}

.coach-scopes {
  display: grid;
}

.coach-scope {
  display: grid;
  grid-template-columns: var(--icon-size) minmax(0, 1fr);
  gap: var(--space-3);
  align-items: center;
  min-height: var(--control-height);
  padding: var(--space-2) 0;
  cursor: pointer;
}

.coach-scope + .coach-scope {
  border-top: 1px solid var(--border);
}

.coach-scope input {
  width: var(--icon-size);
  height: var(--icon-size);
  margin: 0;
  accent-color: var(--text);
}

.coach-scope span,
.coach-row > span,
.coach-history-row > span {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  overflow-wrap: break-word;
}

.coach-scope strong,
.coach-row strong,
.coach-history-row strong {
  color: var(--text);
  font: var(--font-weight-regular) var(--font-size-list) / 1.4 var(--font-system);
}

.coach-scope small,
.coach-row small,
.coach-history-row small {
  color: var(--text-3);
  font: var(--font-weight-regular) var(--font-size-label) / 1.4 var(--font-system);
}

.coach-group {
  margin-top: var(--space-2);
}

.coach-actions {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-2);
}

.coach-secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: var(--control-height);
  padding: 0 var(--space-4);
  color: var(--text);
  font: var(--font-weight-regular) var(--font-size-value) / 1 var(--font-system);
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-button);
  cursor: pointer;
}

.coach-sheet__body {
  display: grid;
  gap: var(--space-3);
}

.coach-sheet__body [data-coach-invite-step] {
  display: grid;
  gap: var(--space-3);
}

.coach-sheet__text {
  margin: 0;
  color: var(--text-2);
  font: var(--font-weight-regular) var(--font-size-list) / 1.4 var(--font-system);
}

/* Hinweis unter dem Namen einer fremden Person (z. B. «vom Coach selbst gewählt»). */
.coach-sheet__note {
  margin: 0;
  color: var(--text-3);
  font: var(--font-weight-regular) var(--font-size-label) / 1.4 var(--font-system);
}

.coach-code {
  margin: 0;
  color: var(--text);
  font: var(--font-weight-medium) var(--font-size-hero) / 1.2 var(--font-system);
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
  user-select: all;
}

/* Kacheln mindestens 99 px breit: bei 320 bis 374 px zwei statt drei Spalten, damit «Trainingspläne» auch mit breiter
   Schrift in die Kachel passt (bei 360 px stand es 2 px am Rand); ab 375 px wie bisher drei. */
.coach-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(calc(var(--control-height) * 2.25), 1fr));
  gap: var(--space-2);
}

.coach-history {
  display: grid;
}

/* Zeile mit Name links und Wert rechts. Der Name behält mindestens 132 px (3 × 44 px); ein langer Wert bricht dann in
   seiner Spalte um, statt den Namen zusammenzudrücken («Trendgewicht» brach bei 320 px mitten im Wort). */
.coach-history-row {
  display: grid;
  grid-template-columns: minmax(min(100%, calc(var(--control-height) * 3)), 1fr) auto;
  gap: var(--space-3);
  align-items: center;
  min-height: var(--control-height);
  padding: var(--space-2) 0;
}

.coach-history-row + .coach-history-row {
  border-top: 1px solid var(--border);
}

.coach-history-row b {
  color: var(--text);
  font: var(--font-weight-medium) var(--font-size-list) / 1.4 var(--font-system);
  text-align: right;
}

.coach-table {
  display: grid;
}

.coach-table__head,
.coach-table__row {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr) minmax(0, 1fr);
  gap: var(--space-2);
  padding: var(--space-2) 0;
}

.coach-table__head {
  color: var(--text-3);
  font: var(--font-weight-regular) var(--font-size-label) / 1.4 var(--font-system);
}

.coach-table__row {
  color: var(--text);
  font: var(--font-weight-regular) var(--font-size-list) / 1.4 var(--font-system);
  border-top: 1px solid var(--border);
  overflow-wrap: anywhere;
}

.coach-notes {
  display: grid;
  overflow: hidden;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
}

.coach-area .coach-notes {
  border: 0;
  border-radius: 0;
}

.coach-note {
  display: grid;
  gap: var(--space-1);
  width: 100%;
  padding: var(--space-3);
  text-align: left;
  background: transparent;
  border: 0;
}

.coach-area .coach-note {
  padding: var(--space-3) 0;
}

.coach-note + .coach-note {
  border-top: 1px solid var(--border);
}

.coach-note--own {
  cursor: pointer;
}

.coach-note p {
  margin: 0;
  color: var(--text);
  font: var(--font-weight-regular) var(--font-size-list) / 1.4 var(--font-system);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.coach-note small {
  color: var(--text-3);
  font: var(--font-weight-regular) var(--font-size-label) / 1.4 var(--font-system);
}

.coach-note-input {
  padding: var(--space-3);
  font-weight: var(--font-weight-regular);
  resize: vertical;
}

.coach-readonly {
  margin-bottom: var(--space-1);
}

/* 0.76.1: Einladungslink des Coaches, Status, neue Notizen, Check-in. */
.coach-team {
  display: grid;
  gap: var(--space-2);
}

.coach-team .ui-form__heading,
.coach-team .coach-sheet__text {
  margin: 0;
}

/* 0.86.10: Stufe des Coaches im Einladen («Testphase · bis 50 Athleten · 3 verbunden»); nach der font-Kurzform von .coach-muted. */
.coach-team .coach-tier {
  font-variant-numeric: tabular-nums;
}

.coach-team-list {
  margin-top: var(--space-2);
}

.coach-code--link {
  font-size: var(--font-size-list);
  line-height: 1.4;
  overflow-wrap: anywhere;
  user-select: all;
}

.coach-new {
  color: var(--text);
  font-weight: var(--font-weight-medium);
}

.coach-note.is-new {
  border-left: 3px solid var(--accent-mid);
  padding-left: var(--space-3);
}

.coach-more {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-3);
}

.coach-more > summary {
  min-height: var(--control-height);
  color: var(--text-2);
  font: var(--font-weight-regular) var(--font-size-list) / var(--control-height) var(--font-system);
  list-style: none;
  cursor: pointer;
}

.coach-more > summary::-webkit-details-marker {
  display: none;
}

.coach-more[open] {
  padding-bottom: var(--space-2);
}

.coach-checkin-note {
  margin: var(--space-2) 0 0;
  color: var(--text-2);
  font: var(--font-weight-regular) var(--font-size-list) / 1.5 var(--font-system);
  white-space: pre-line;
}

/* Pläne vom Coach (0.78.0) */
.coach-offer__note {
  margin: 0;
  color: var(--text-2);
  font-size: var(--font-size-list);
  line-height: 1.5;
  white-space: pre-wrap;
}

.coach-offer__hint {
  margin: 0;
  color: var(--text-3);
  font-size: var(--font-size-label);
}

.coach-offer-row {
  width: 100%;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
}

.coach-offer-row b svg,
.coach-icon-button svg {
  width: 16px;
  height: 16px;
}

.coach-plan-editor {
  display: grid;
  gap: var(--space-3);
}

.coach-plan-exercise {
  display: grid;
  gap: var(--space-2);
  padding-top: var(--space-3);
  border-top: 1px solid var(--border);
}

.coach-plan-exercise header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  font-size: var(--font-size-value);
}

.coach-plan-exercise header strong {
  font-weight: var(--font-weight-medium);
}

.coach-plan-set {
  display: grid;
  grid-template-columns: minmax(48px, auto) repeat(2, minmax(var(--quantity-field-min-width), 1fr)) var(--control-height);
  align-items: end;
  gap: var(--space-2);
}

.coach-plan-set--hold {
  grid-template-columns: minmax(48px, auto) minmax(var(--quantity-field-min-width), 1fr) var(--control-height);
}

.coach-plan-set > span {
  padding-bottom: var(--space-3);
  color: var(--text-2);
  font-size: var(--font-size-list);
}

.coach-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--control-height);
  height: var(--control-height);
  padding: 0;
  color: var(--text-3);
  background: none;
  border: 0;
  cursor: pointer;
}

.coach-link-button {
  justify-self: start;
  min-height: var(--control-height);
  padding: 0;
  color: var(--text-2);
  font: var(--font-weight-regular) var(--font-size-list) / 1.2 var(--font-system);
  background: none;
  border: 0;
  cursor: pointer;
}

.coach-plan-results {
  display: grid;
  max-height: 50vh;
  margin-top: var(--space-2);
  overflow-y: auto;
}

.coach-plan-supplement header {
  align-items: end;
}

.coach-plan-supplement header .ui-field {
  flex: 1;
}

.coach-plan-supplement__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
  padding-right: calc(var(--control-height) + var(--space-2));
}

.coach-plan-supplement__wide {
  grid-column: 1 / -1;
}

.coach-plan-supplement__fields .ui-field[hidden] {
  display: none;
}

.coach-plan-supplement__preview {
  margin: 0;
  color: var(--text-2);
  font-size: var(--font-size-label);
  font-variant-numeric: tabular-nums;
}

.coach-plan-supplement__preview:empty {
  display: none;
}

.coach-plan-days {
  margin-bottom: 0;
}

.coach-plan-total {
  margin: 0;
  color: var(--text-2);
  font-size: var(--font-size-label);
}

.coach-plan-meal header span {
  color: var(--text-3);
  font-size: var(--font-size-label);
}

.coach-plan-food {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(var(--quantity-field-min-width), 80px) var(--control-height);
  align-items: end;
  gap: var(--space-2);
}

.coach-plan-food > span {
  display: grid;
  gap: 2px;
  padding-bottom: var(--space-2);
  font-size: var(--font-size-list);
}

.coach-plan-food > span strong {
  font-weight: var(--font-weight-regular);
  overflow-wrap: anywhere;
}

.coach-plan-food > span small {
  color: var(--text-3);
  font-size: var(--font-size-label);
}

.coach-plan-add-meal {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--space-2);
}

.coach-glp1 {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px solid var(--border);
}

/* 0.83.0: Nachrichten in beide Richtungen. Eigene Nachrichten leicht abgesetzt, Antwortfeld unter dem Verlauf. */
.coach-note--mine {
  background: var(--page);
}

.coach-area .coach-note--mine,
.coach-thread .coach-note {
  padding: var(--space-3);
}

.coach-thread__empty {
  margin: 0;
  padding: var(--space-3);
}

.coach-compose {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-3);
  border-top: 1px solid var(--border);
}

.coach-area .coach-thread {
  margin-bottom: var(--space-3);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
}

/* Nur-Lese-Ansicht (0.86.6): «Seit letzter Woche», Einheiten zum Aufklappen, Veränderungen mit Pfeil in --accent
   ohne Rot/Grün, ruhige Zeilen für nicht erfasste Tage, feste Hinweise bei Labor und Präparaten. */
.coach-compare {
  display: grid;
  gap: var(--space-3);
}

.coach-compare .body-compare-row__name small {
  color: var(--text-3);
  font: var(--font-weight-regular) var(--font-size-label) / 1.4 var(--font-system);
  font-variant-numeric: tabular-nums;
}

.coach-compare .body-compare-row__change,
.coach-compare .body-compare-row__value,
.coach-history-row b,
.coach-history-row small,
.coach-tiles .ui-metric-tile__value,
.coach-access-list,
.coach-session__sets {
  font-variant-numeric: tabular-nums;
}

.coach-change,
.coach-history-row b.coach-change {
  color: var(--accent);
}

.coach-change.is-empty,
.coach-history-row b.coach-change.is-empty,
.coach-history-row--muted strong {
  color: var(--text-3);
}

.coach-hints {
  display: grid;
  gap: var(--space-1);
  margin: 0;
  padding: 0;
  list-style: none;
}

.coach-hints li {
  color: var(--text-2);
  font: var(--font-weight-regular) var(--font-size-list) / 1.4 var(--font-system);
}

.coach-medical-note {
  margin: 0;
  color: var(--text-2);
  font: var(--font-weight-regular) var(--font-size-list) / 1.4 var(--font-system);
}

.coach-scale-ends {
  color: var(--text-3);
  font: var(--font-weight-regular) var(--font-size-label) / 1.4 var(--font-system);
}

.coach-session__toggle {
  width: 100%;
  color: inherit;
  font: inherit;
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
}

.coach-session + .coach-session {
  border-top: 1px solid var(--border);
}

.coach-session__toggle b {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
}

.coach-session__toggle b svg {
  width: 16px;
  height: 16px;
  color: var(--text-3);
}

.coach-session__toggle[aria-expanded="true"] b svg {
  transform: rotate(90deg);
}

.coach-session__detail {
  display: grid;
  gap: var(--space-3);
  padding: 0 0 var(--space-3);
}

.coach-session__detail[hidden] {
  display: none;
}

.coach-session__exercise {
  display: grid;
  gap: var(--space-1);
}

.coach-session__exercise > strong {
  color: var(--text);
  font: var(--font-weight-medium) var(--font-size-list) / 1.4 var(--font-system);
}

/* Supersatz bzw. Zirkel vor dem Namen der Übung («Supersatz A1 Bankdrücken»), in der Einheit und im Plan-Editor. */
.coach-plan-group,
.coach-session__group {
  color: var(--text-2);
}

/* Plan-Editor des Coaches (Stand 28.09.2026): Satzart je Satz, Pause, Tempo und Hinweis je Übung, Supersatz bzw. Zirkel. */
.coach-plan-set-type {
  display: grid;
  align-content: center;
  min-width: var(--control-height);
  min-height: var(--control-height);
  padding: var(--space-1) 0;
  color: var(--text-2);
  font: var(--font-weight-regular) var(--font-size-list) / 1.3 var(--font-system);
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
}

.coach-plan-set-type small {
  color: var(--text-3);
  font: var(--font-weight-regular) var(--font-size-label) / 1.3 var(--font-system);
}

.coach-plan-extra {
  display: grid;
  gap: var(--space-2);
  padding-top: var(--space-2);
  border-top: 1px solid var(--border);
}

.coach-plan-extra > summary {
  display: flex;
  align-items: center;
  min-height: var(--control-height);
  color: var(--text-2);
  font: var(--font-weight-regular) var(--font-size-list) / 1.4 var(--font-system);
  cursor: pointer;
}

.coach-plan-hint {
  color: var(--text-3);
  font: var(--font-weight-regular) var(--font-size-label) / 1.4 var(--font-system);
}

.coach-plan-link {
  line-height: 1.3;
  text-align: left;
}

/* Notiz des Athleten zur Übung (sobald die Lieferung sie enthält). */
.coach-session__note {
  margin: 0;
  color: var(--text-2);
  font: var(--font-weight-regular) var(--font-size-list) / 1.4 var(--font-system);
  overflow-wrap: anywhere;
}

.coach-session__sets {
  display: grid;
  gap: var(--space-1);
  margin: 0;
  padding: 0;
  list-style: none;
}

.coach-session__sets li {
  display: grid;
  grid-template-columns: minmax(48px, auto) minmax(0, 1fr) auto;
  gap: var(--space-2);
  color: var(--text);
  font: var(--font-weight-regular) var(--font-size-list) / 1.4 var(--font-system);
}

.coach-session__sets li > span:first-child,
.coach-session__sets small,
.coach-session__sets li.is-missing {
  color: var(--text-3);
}

.coach-session__sets small {
  font-size: var(--font-size-label);
  text-align: right;
}

.coach-subsection:empty {
  display: none;
}

.coach-subsection {
  display: grid;
  gap: var(--space-3);
}

.coach-card__actions {
  margin-top: 0;
}

.coach-access-list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.coach-access-list li {
  min-height: var(--control-height);
  padding: var(--space-3) 0;
  color: var(--text);
  font: var(--font-weight-regular) var(--font-size-list) / 1.4 var(--font-system);
}

.coach-access-list li + li {
  border-top: 1px solid var(--border);
}

.coach-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Paket E-b/E-c (0.86.7): Bezug über einer Nachricht, «Gesehen», Tage zum Kommentieren, Check-in-Anfrage und der
   Leitfaden «Rückmeldung geben». Nur gedämpfter Text, keine Haken und keine Farben. */
.coach-note__ref,
.coach-note__seen {
  color: var(--text-3);
  font: var(--font-weight-regular) var(--font-size-label) / 1.4 var(--font-system);
}

.coach-thread-slot:empty {
  display: none;
}

/* Kopf der Nachrichten-Karte: Überschrift links, «Rückmeldung geben» (Leitfaden) als Textknopf rechts. */
.coach-area__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.coach-area__head .ui-form__heading {
  margin: 0;
}

.coach-guide-button {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
}

.coach-guide-button .bo-icon {
  width: var(--icon-size);
  height: var(--icon-size);
}

/* 0.86.9: Beim Athleten ist der Bezug auf eine Einheit ein Textknopf mit Chevron (öffnet die Einheit oder den Tag).
   Die Trefferfläche bleibt 44 px hoch, ragt aber über und unter die Zeile hinaus, damit die Nachricht so kompakt
   bleibt wie mit dem Bezug als Text (position: relative legt sie über den folgenden Text). */
.coach-note__ref.coach-link-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  margin-block: calc((var(--font-size-label) * 1.4 - var(--control-height)) / 2);
  text-align: left;
}

.coach-note__ref.coach-link-button .bo-icon {
  width: var(--icon-size);
  height: var(--icon-size);
}

.coach-day-row {
  width: 100%;
  color: inherit;
  font: inherit;
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
}

.coach-day-row b {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
}

.coach-day-row b svg {
  width: 16px;
  height: 16px;
  color: var(--text-3);
}

.coach-request {
  display: grid;
  gap: var(--space-2);
}

.coach-guide {
  display: grid;
  gap: var(--space-3);
  margin: 0;
  padding: 0 0 0 var(--space-4);
  color: var(--text-2);
  font: var(--font-weight-regular) var(--font-size-list) / 1.5 var(--font-system);
}

/* Am Computer (ab 1024 px, Stand 27.09.2026): «Meine Athleten» links, die gewählte Person rechts (Nur-Lese-Ansicht).
   Die Liste bleibt beim Blättern stehen und hat bei vielen Athleten eine eigene Bildlaufleiste. Ihre Aktionen haben links
   einen Rahmen, damit rechts «Neuen Plan erstellen» und «Senden» die gefüllten Knöpfe bleiben. Der Name der Person steht
   als Überschrift über der Ansicht, der Seitentitel bleibt «Coach».
   Stand 28.09.2026: Der Screen füllt genau die Fläche über der Tab-Leiste; Liste und Person blättern je für sich unter
   Kopfzeile und Pills. So beginnt auch eine lange Liste ganz sichtbar (vorher reichte sie beim Öffnen hinter die
   Tab-Leiste, bis man blätterte). Ein seitlicher Innenabstand mit gleich grossem Gegenrand hält Fokusrahmen am Rand
   sichtbar. */
.coach-detail-name {
  display: none;
}

.coach-row.is-selected {
  background: var(--page);
}

.coach-row.is-selected strong {
  font-weight: var(--font-weight-medium);
}

@media (min-width: 1024px) {
  #coach:has(> #coachScreen > .coach-screen--split) {
    height: 100%;
    padding-bottom: var(--space-4);
  }

  #coachScreen:has(> .coach-screen--split) {
    height: 100%;
  }

  .coach-screen.coach-screen--split {
    display: grid;
    grid-template-columns: var(--split-list-width) minmax(0, 1fr);
    grid-template-rows: auto auto minmax(0, 1fr);
    column-gap: var(--space-5);
    align-items: start;
    width: 100%;
    height: 100%;
  }

  .coach-screen--split > .me-subscreen-header,
  .coach-screen--split > .coach-pills {
    grid-column: 1 / -1;
  }

  .coach-screen--split > [data-coach-panel="coach"],
  .coach-screen--split > [data-coach-panel="detail"] {
    grid-row: 3;
    align-self: stretch;
    min-height: 0;
    margin-inline: calc(var(--space-2) * -1);
    padding: 0 var(--space-2) var(--space-2);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .coach-screen--split > [data-coach-panel="coach"] {
    grid-column: 1;
  }

  .coach-screen--split > [data-coach-panel="detail"] {
    grid-column: 2;
  }

  .coach-screen--split .coach-detail-name {
    display: block;
    margin: 0;
    color: var(--text);
    font: var(--font-weight-medium) var(--font-size-subscreen) / 1.4 var(--font-system);
  }

  .coach-screen--split [data-coach-panel="coach"] .ui-primary-button {
    color: var(--text);
    font-weight: var(--font-weight-regular);
    background: var(--card);
    border: 1px solid var(--border);
  }
}

/* Coach-Beziehung (Stand 28.09.2026): Satz unter der Bereichsauswahl, Vorschau, Check-in-Tag, «Neu» und «Kommentiert am …»,
   Bestätigung nach dem Übernehmen eines Plans und Textbausteine. Nur Text in --text-2 bzw. --text-3, keine Farbe. */
.coach-scopes-note {
  margin-top: var(--space-1);
}

.coach-preview-button {
  text-align: left;
}

/* Neue Textknöpfe mit Namen aus den Daten brechen um: Zeilenabstand wie bei Knöpfen (Design-System, «Lesbarkeit»). */
.coach-preview-button,
.coach-checkin-day .coach-link-button,
.coach-snippets .coach-link-button,
.coach-offer .coach-link-button {
  padding-block: var(--space-2);
  line-height: 1.4;
  text-align: left;
}

.coach-checkin-day {
  display: grid;
  gap: var(--space-1);
  padding-top: var(--space-2);
  border-top: 1px solid var(--border);
}

.coach-checkin-day [data-coach-checkin-day-status]:empty {
  display: none;
}

.coach-preview {
  display: grid;
  gap: var(--space-2);
}

.coach-mark {
  color: var(--text-2);
}

.coach-new-since {
  margin: 0 0 var(--space-2);
  color: var(--text-2);
  font: var(--font-weight-regular) var(--font-size-list) / 1.4 var(--font-system);
  font-variant-numeric: tabular-nums;
}

.coach-offer__done {
  margin: 0;
  color: var(--text-2);
  font: var(--font-weight-regular) var(--font-size-list) / 1.4 var(--font-system);
}

.coach-offer__done:empty,
.coach-offer [hidden] {
  display: none;
}

.coach-snippets {
  display: grid;
  gap: var(--space-1);
}

.coach-snippets__panel {
  display: grid;
  gap: var(--space-1);
}

.coach-snippets__panel[hidden] {
  display: none;
}

.coach-snippets__list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--border);
}

.coach-snippet {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--control-height) var(--control-height);
  align-items: center;
  border-bottom: 1px solid var(--border);
}

.coach-snippet--edit {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2);
  padding: var(--space-2) 0;
}

.coach-snippet__text {
  min-height: var(--control-height);
  padding: var(--space-2) 0;
  color: var(--text);
  font: var(--font-weight-regular) var(--font-size-list) / 1.4 var(--font-system);
  text-align: left;
  overflow-wrap: break-word;
  background: none;
  border: 0;
  cursor: pointer;
}

.coach-snippet__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}

.coach-snippet__actions .coach-secondary-button {
  width: auto;
}

.coach-snippets [data-coach-snippet-status]:empty {
  display: none;
}
