.account-staff-tools [data-trainer-library-open] { min-height: 44px; }
#modal[data-view="trainer-library"] { max-width: min(620px, calc(100vw - 20px)); }
#modal[data-view="trainer-library"] .trainer-library { overflow: visible; }
.trainer-library { display: grid; align-content: start; gap: 18px; min-width: 0; }
.trainer-library-sections,
.trainer-library-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 3px; gap: 3px; background: var(--surface); border-radius: var(--radius-l); }
.trainer-library-categories:has(button:nth-child(3)) { grid-template-columns: .85fr 1.5fr .9fr; }
.trainer-library-sections button,
.trainer-library-categories button { min-width: 0; padding: 7px 8px; border: 1px solid transparent; background: transparent; color: var(--muted); font: inherit; font-size: var(--text-13); }
.trainer-library-categories button { line-height: 1.2; overflow-wrap: anywhere; }
.trainer-library-sections button[aria-pressed="true"],
.trainer-library-categories button[aria-pressed="true"] { border-color: var(--line); background: var(--paper); color: var(--ink); }
.trainer-library-search { display: flex; align-items: center; gap: 9px; padding: 0 13px; border: 1px solid var(--line); color: var(--muted); min-height: 48px; }
.trainer-library-search svg { width: 18px; height: 18px; flex: none; }
.trainer-library-search input { width: 100%; min-width: 0; height: 46px; padding: 0; border: 0; background: transparent; color: var(--ink); font: inherit; font-size: var(--text-16); outline: none; }
.trainer-library-search:focus-within { border-color: var(--accent); }
.trainer-library-add { min-height: 48px; width: 100%; }
.trainer-library-add svg { width: 17px; height: 17px; }
.trainer-library-count { margin: 0 0 7px; color: var(--muted); font-size: var(--text-12); }
.trainer-library-list { display: grid; }
.trainer-library-entry { min-width: 0; border-bottom: 1px solid var(--line); padding-block: 14px; }
.trainer-library-manage-row { display: flex; align-items: flex-start; gap: 10px; min-width: 0; border-bottom: 1px solid var(--line); }
.trainer-library-manage-row .trainer-library-entry { flex: 1; border-bottom: 0; }
.trainer-library-edit { flex: none; min-height: 44px; margin-top: 12px; padding: 0 3px; font-size: var(--text-13); }
.trainer-library-complex-actions { display: grid; justify-items: end; flex: none; margin-top: 5px; }
.trainer-library-complex-actions button { min-height: 38px; padding: 0 3px; font-size: var(--text-12); }
.trainer-library-entry-static { display: flex; align-items: center; min-height: 67px; padding: 12px 2px; }
.trainer-library-entry-static > span { display: grid; gap: 4px; min-width: 0; }
.trainer-library-entry summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 67px; padding: 12px 2px; list-style: none; cursor: pointer; }
.trainer-library-entry summary::-webkit-details-marker { display: none; }
.trainer-library-entry summary > span { display: grid; gap: 4px; min-width: 0; }
.trainer-library-entry strong { font-size: var(--text-14); line-height: 1.4; font-weight: 500; overflow-wrap: anywhere; }
.trainer-library-entry small { color: var(--muted); font-size: var(--text-12); line-height: 1.4; overflow-wrap: anywhere; }
.trainer-library-entry summary svg { flex: none; width: 16px; height: 16px; color: var(--muted); transition: transform .18s ease; }
.trainer-library-entry[open] summary svg { transform: rotate(90deg); }
.trainer-library-entry-detail { padding: 0 10px 18px 2px; color: var(--muted); font-size: var(--text-13); line-height: 1.55; }
.trainer-library-entry-detail ol { margin: 0 0 10px; padding-left: 22px; }
.trainer-library-entry-detail li + li { margin-top: 6px; }
.trainer-library-entry-detail p { margin: 8px 0 0; }
.trainer-library-empty { margin: 0; padding: 18px 0; color: var(--muted); font-size: var(--text-13); }
.trainer-library-intro { margin: 0; color: var(--muted); font-size: var(--text-13); line-height: 1.5; }
.trainer-library-create { gap: 17px; }
.trainer-library-alias-field { display: grid; gap: 8px; }
.trainer-library-alias-field .form-label { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.trainer-library-alias-field .form-label span { color: var(--muted); font-size: var(--text-12); font-weight: 400; white-space: nowrap; }
.trainer-library-alias-controls { display: grid; grid-template-columns: minmax(0, 1fr) 48px; gap: 8px; }
.trainer-library-alias-controls .form-input { min-width: 0; font-size: var(--text-16); }
.trainer-library-alias-controls button { display: grid; place-items: center; width: 48px; min-height: 48px; border: 1px solid var(--line); border-radius: var(--radius-m); background: var(--paper); color: var(--ink); cursor: pointer; }
.trainer-library-alias-controls button svg { width: 19px; height: 19px; }
.trainer-library-aliases { display: flex; flex-wrap: wrap; gap: 7px; }
.trainer-library-aliases:empty { display: none; }
.trainer-library-alias-chip { display: inline-flex; align-items: center; max-width: 100%; min-height: 44px; padding-left: 12px; border: 1px solid var(--line); border-radius: var(--radius-m); background: var(--surface); font-size: var(--text-13); line-height: 1.3; }
.trainer-library-alias-chip > span { min-width: 0; overflow-wrap: anywhere; }
.trainer-library-alias-chip button { flex: none; width: 44px; min-height: 44px; margin-left: 3px; padding: 0; border: 0; background: transparent; color: var(--muted); font: inherit; font-size: var(--text-20); cursor: pointer; }
.trainer-library-alias-field .form-help { margin: 0; }
.trainer-library-muscles { min-width: 0; margin: 0; padding: 0; border: 0; }
.trainer-library-muscles legend { padding: 0; margin-bottom: 10px; }
.trainer-library-muscle-options { display: flex; flex-wrap: wrap; gap: 8px; }
.trainer-library-muscle-options label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 9px 12px; border: 1px solid var(--line); border-radius: var(--radius-m); font-size: var(--text-14); cursor: pointer; }
.trainer-library-muscle-options input { width: 16px; height: 16px; margin: 0; accent-color: var(--accent); font-size: var(--text-16); }
.trainer-library-muscle-options label:has(input:checked) { border-color: var(--accent); background: var(--tint); color: var(--accent); }
.trainer-library-muscle-options label:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 2px; }
.trainer-library-create .trainer-library-muscles[hidden],
.trainer-library-create .trainer-library-direction[hidden],
.trainer-library-create .trainer-library-unit[hidden] { display: none; }
.trainer-library-create textarea.form-input { min-height: 80px; height: auto; padding: 12px; resize: vertical; line-height: 1.5; }
.trainer-library-media-fields { display: grid; gap: 14px; min-width: 0; }
.trainer-library-media-field { display: grid; align-content: start; gap: 11px; min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: var(--radius-m); background: var(--surface); }
.trainer-library-media-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 10px; }
.trainer-library-media-heading small { color: var(--muted); font-size: var(--text-11); line-height: 1.4; }
.trainer-library-media-preview { display: grid; gap: 7px; min-width: 0; }
.trainer-library-media-empty { margin: 0; padding: 18px 11px; border: 1px dashed var(--line); border-radius: var(--radius-m); color: var(--muted); font-size: var(--text-13); text-align: center; }
.trainer-library-media-frame { display: grid; place-items: center; min-width: 0; min-height: 150px; max-height: 280px; overflow: hidden; border-radius: var(--radius-m); background: #101723; }
.trainer-library-media-frame img,
.trainer-library-media-frame video { display: block; width: 100%; max-height: 280px; object-fit: contain; }
.trainer-library-media-caption { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 10px; min-width: 0; color: var(--muted); font-size: var(--text-12); }
.trainer-library-media-caption span { min-width: 0; overflow-wrap: anywhere; }
.trainer-library-media-action { min-height: 44px; padding: 8px 0; font-size: var(--text-13); }
.trainer-library-media-picker { display: grid; gap: 7px; min-width: 0; color: var(--ink); font-size: var(--text-13); cursor: pointer; }
.trainer-library-media-picker input { display: block; width: 100%; min-width: 0; min-height: 46px; font: inherit; font-size: var(--text-16); color: var(--muted); cursor: pointer; }
.trainer-library-media-picker input::file-selector-button { min-height: 44px; margin-right: 8px; padding: 0 10px; border: 1px solid var(--line); border-radius: var(--radius-m); background: var(--paper); color: var(--ink); font: inherit; font-size: var(--text-13); cursor: pointer; }
.trainer-library-media-picker input::-webkit-file-upload-button { min-height: 44px; margin-right: 8px; padding: 0 10px; border: 1px solid var(--line); border-radius: var(--radius-m); background: var(--paper); color: var(--ink); font: inherit; font-size: var(--text-13); cursor: pointer; }
.trainer-library-media-picker input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.trainer-library-create .account-form-error[hidden] { display: none; }
.trainer-library-create .button { min-height: 48px; }
.trainer-library-create[aria-busy="true"] { opacity: .7; }
.trainer-library-complex-form { gap: 15px; }
.trainer-library-complex-heading { display: grid; gap: 3px; }
.trainer-library-complex-heading strong { font-size: var(--text-14); font-weight: 600; }
.trainer-library-complex-heading small { color: var(--muted); font-size: var(--text-12); }
.trainer-library-complex-picked { display: grid; border-top: 1px solid var(--line); }
.trainer-library-complex-picked-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 54px; padding: 5px 0; border-bottom: 1px solid var(--line); }
.trainer-library-complex-picked-row > span { display: flex; align-items: baseline; gap: 9px; min-width: 0; }
.trainer-library-complex-picked-row > span small { flex: none; color: var(--muted); font-size: var(--text-12); }
.trainer-library-complex-picked-row > span strong { min-width: 0; font-size: var(--text-13); font-weight: 500; overflow-wrap: anywhere; }
.trainer-library-complex-picked-row > div { display: flex; flex: none; }
.trainer-library-complex-picked-row button { min-width: 40px; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--muted); font: inherit; font-size: var(--text-20); cursor: pointer; }
.trainer-library-complex-picked-row button:disabled { opacity: .28; cursor: default; }
.trainer-library-complex-available { display: grid; border-top: 1px solid var(--line); }
.trainer-library-complex-available > button { display: flex; justify-content: space-between; align-items: center; width: 100%; min-height: 55px; gap: 10px; padding: 9px 3px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.trainer-library-complex-available > button span { display: grid; gap: 2px; min-width: 0; }
.trainer-library-complex-available > button strong { font-size: var(--text-13); font-weight: 500; overflow-wrap: anywhere; }
.trainer-library-complex-available > button small { color: var(--muted); font-size: var(--text-11); }
.trainer-library-complex-available > button svg { width: 17px; height: 17px; flex: none; color: var(--accent); }
.trainer-library-complex-confirm { display: grid; gap: 13px; }
.trainer-library-complex-confirm p { margin: 0; }
.trainer-library-complex-confirm .modal-actions { padding: 0; }
.trainer-library button:focus-visible,
.trainer-library summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (min-width: 540px) {
  .trainer-library-media-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}
@media (max-width: 650px) {
  .account-staff-tools { display: grid; }
  .account-staff-tools [data-cp="open"] { grid-column: 1 / -1; }
  .account-staff-tools [data-trainer-library-open] { width: 100%; padding: 10px 7px; line-height: 1.4; overflow-wrap: anywhere; }
  #modal[data-view="trainer-library"] .trainer-library { overflow: visible; }
  .trainer-library-categories button { min-height: 54px; padding-inline: 3px; font-size: var(--text-12); }
  .trainer-library-complex-picked-row button { min-width: 36px; }
}
@media (max-width: 700px), (max-width: 1200px) and (max-height: 600px) {
  #modal[data-view="trainer-library"] { max-width: none; }
  #modal[data-view="trainer-library"] .trainer-library-create > [data-trainer-library-action="back"],
  #modal[data-view="trainer-library"] .trainer-library-create > [data-trainer-library-action="complex-back"] { display: none; }
}
