/* Private lesson preparation: one clear path from lesson to original file. */
.review-video-workspace {
  margin-block: 1.25rem 1.75rem;
  padding: clamp(1rem, 2.5vw, 1.75rem);
  border: 0;
  box-shadow: var(--soft);
  border-radius: 24px;
  background: var(--card, #fff);
}
.review-video-workspace h3 { margin: 0; font-size: 1.15rem; line-height: 1.5; }
.review-video-workspace .section-head { gap: 1rem; align-items: flex-start; }
.review-video-workspace .section-head p { max-width: 65ch; margin-block: .45rem 0; line-height: 1.7; }
.review-video-workspace .section-head > .tag { margin-block-start: .15rem; flex-shrink: 0; }
.review-video-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin-block: 1.5rem; }
.review-video-lesson, .review-video-file, .review-video-buttons, .review-video-progress, .review-video-status { grid-column: 1 / -1; min-width: 0; }
.review-video-lesson { gap: .65rem; font-size: .9rem; }
.review-video-lesson select { width: 100%; min-height: 48px; background: var(--card); }
.review-video-file .file-picker-surface { min-height: 132px; padding: 1.5rem; }
.review-video-file .file-picker-icon { width: 56px; height: 56px; border-radius: 15px; }
.review-video-file .file-picker-icon svg { width: 25px; height: 25px; }
.review-video-file .file-picker-copy strong { font-size: 1rem; }
.review-video-file .file-picker-copy small { margin-block-start: .15rem; }
.review-video-buttons { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; }
.review-video-form > .review-video-buttons { padding-block-start: 1.25rem; border-block-start: 1px solid var(--line, #e7e0da); }
.review-video-progress { display: flex; align-items: center; gap: 1rem; padding: .85rem 1rem; border-radius: 12px; background: var(--paper, #f6f1ed); }
.review-video-progress progress { flex: 1; min-width: 0; height: 8px; border: 0; border-radius: 99px; overflow: hidden; accent-color: var(--brand, #b9360e); background: #e7e0da; }
.review-video-progress progress::-webkit-progress-bar { border-radius: 99px; background: #e7e0da; }
.review-video-progress progress::-webkit-progress-value { border-radius: 99px; background: var(--brand, #b9360e); }
.review-video-progress progress::-moz-progress-bar { border-radius: 99px; background: var(--brand, #b9360e); }
.review-video-progress [data-video-percent] { color: var(--ink, #0c0d12); font-variant-numeric: tabular-nums; font-weight: 700; font-size: .85rem; min-width: 3.5ch; }
.review-video-status { margin: 0; min-height: 1.5em; line-height: 1.65; }
.review-video-workspace [data-video-list-status] { margin-block: 1rem .75rem; line-height: 1.7; }
.review-video-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 1rem; margin-block-start: 1rem; }
.review-video-item { min-width: 0; padding: 1.25rem; border: 1px solid var(--line, #e7e0da); border-radius: 15px; background: var(--card); }
.review-video-item h4 { margin: .75rem 0 .4rem; font-size: 1rem; line-height: 1.55; overflow-wrap: anywhere; }
.review-video-item p { margin: .45rem 0; line-height: 1.7; }
.review-video-item video { display: block; width: 100%; max-height: 300px; margin-block: 1rem; background: #141419; border-radius: 11px; aspect-ratio: 16 / 9; }
.review-video-item details > summary { display: flex; align-items: center; gap: .5rem; min-height: 44px; margin-block: .6rem; color: var(--brand, #b9360e); font-weight: 700; font-size: .85rem; cursor: pointer; }
.review-video-item details > summary:focus-visible { outline: 2px solid var(--gold, #fe5722); outline-offset: 3px; border-radius: 4px; }
.review-video-item .review-video-buttons { margin-block-start: .85rem; }
.review-video-item textarea { width: 100%; box-sizing: border-box; min-height: 100px; }
.review-video-item .tag { white-space: normal; }
.review-video-note { padding: .85rem 1rem; border: 1px solid var(--line); border-radius: 8px; background: var(--paper, #f6f1ed); white-space: pre-wrap; overflow-wrap: anywhere; }
.review-video-workspace [hidden] { display: none !important; }
.review-video-error { color: var(--bad, #c0392b); }

/* Playlist stays compact beside the course preparation controls. */
.lesson-order-workspace { margin-block: 1.5rem; }
.lesson-order-workspace h3 { margin: 0; font-size: 1.1rem; }
.lesson-order-list { display: grid; gap: .65rem; list-style: none; padding: 0; margin: 1rem 0; }
.lesson-order-row { display: flex; align-items: center; gap: .75rem; padding: .65rem; border: 1px solid var(--line, #e7e0da); border-radius: 12px; background: var(--card, #fffcf9); cursor: grab; }
.lesson-order-row.is-dragging { opacity: .55; cursor: grabbing; }
.lesson-order-position { min-width: 1.5rem; color: var(--ink3, #77716d); text-align: center; font-variant-numeric: tabular-nums; }
.lesson-order-row img { width: 72px; height: 48px; object-fit: cover; border-radius: 7px; }
.lesson-order-copy { display: grid; flex: 1; min-width: 0; gap: .3rem; }
.lesson-order-copy strong { overflow-wrap: anywhere; }
.lesson-order-copy small { color: var(--ink3, #77716d); }
.lesson-order-actions { display: flex; gap: .3rem; }
.lesson-order-actions .btn { min-width: 44px; min-height: 44px; padding: .45rem; }
.lesson-order-actions button:disabled { opacity: .3; cursor: default; }

@media (max-width: 650px) {
  .review-video-workspace .section-head { flex-wrap: wrap; gap: .7rem; }
  .review-video-list { grid-template-columns: minmax(0, 1fr); }
  .review-video-file .file-picker-surface { padding: 1.1rem; }
}
@media (max-width: 500px) {
  .review-video-file .file-picker-icon { width: 44px; height: 44px; }
  .review-video-form > .review-video-buttons .btn { width: 100%; }
  .lesson-order-row { gap: .5rem; }
  .lesson-order-row img { width: 52px; height: 44px; }
  .lesson-order-actions { flex-direction: column; }
  .lesson-order-copy strong { font-size: .9rem; }
}
