/* 사이트 공통 스타일은 여기에 추가합니다. */
body { min-height: 100vh; }

/* ---- 관리자 목록 ---- */
.sort-link { color: inherit; text-decoration: none; white-space: nowrap; }
.sort-link:hover, .sort-link.active { color: var(--bs-primary); }
.table > thead > tr > th { white-space: nowrap; }
#flash { position: sticky; top: 0.5rem; z-index: 1030; }

/* 진행 현황: 회차별 칸 (완료=초록, 진행 중=노랑, 시작 전=회색). 인라인 style 없이 클래스로만 표현 */
.segs { display: inline-flex; gap: 2px; vertical-align: middle; }
.seg { width: 10px; height: 14px; border-radius: 2px; background: var(--bs-gray-300, #dee2e6); }
.seg-done { background: var(--bs-success, #198754); }
.seg-in_progress { background: var(--bs-warning, #ffc107); }
.answer-dl dt { font-weight: 600; font-size: .85rem; color: var(--bs-secondary-color, #6c757d); }
.answer-dl dd { margin-bottom: .5rem; margin-left: 0; }
.teacher-checks { max-height: 11rem; overflow-y: auto; }
.col-order { width: 5rem; }

/* 질문·답변 (진행 창 / 실시간 화면) */
.qa-item { border-left: 3px solid var(--bs-border-color); padding-left: .75rem; margin-bottom: .75rem; }
.qa-q { font-weight: 600; }
.qa-a { margin-top: .15rem; white-space: pre-wrap; word-break: break-word; }

.fb-note { background: #fff8e1; border-left: 3px solid #f0b429; padding: .4rem .6rem; border-radius: .25rem; }

.answer-img { max-width: 240px; max-height: 240px; border: 1px solid var(--bs-border-color); border-radius: .25rem; }
.answer-list { padding-left: 1.1rem; }

.col-progress { min-width: 9rem; }
.progress-bar.pct-0 { width: 0%; }
.progress-bar.pct-5 { width: 5%; }
.progress-bar.pct-10 { width: 10%; }
.progress-bar.pct-15 { width: 15%; }
.progress-bar.pct-20 { width: 20%; }
.progress-bar.pct-25 { width: 25%; }
.progress-bar.pct-30 { width: 30%; }
.progress-bar.pct-35 { width: 35%; }
.progress-bar.pct-40 { width: 40%; }
.progress-bar.pct-45 { width: 45%; }
.progress-bar.pct-50 { width: 50%; }
.progress-bar.pct-55 { width: 55%; }
.progress-bar.pct-60 { width: 60%; }
.progress-bar.pct-65 { width: 65%; }
.progress-bar.pct-70 { width: 70%; }
.progress-bar.pct-75 { width: 75%; }
.progress-bar.pct-80 { width: 80%; }
.progress-bar.pct-85 { width: 85%; }
.progress-bar.pct-90 { width: 90%; }
.progress-bar.pct-95 { width: 95%; }
.progress-bar.pct-100 { width: 100%; }

.guide-card > summary { cursor: pointer; }
.guide-tip { background: #eef6ff; border-left: 3px solid #4c8dff; padding: .3rem .6rem; margin: .25rem 0; border-radius: .25rem; }

.sg-note { background: #e8f4fd; border-left: 3px solid #3b9ae1; padding: .4rem .6rem; border-radius: .25rem; }
.sg-note .sg-text { font-weight: 600; }

/* 책 만들기 */
.bk-box { width: 100%; aspect-ratio: 1 / 1; background: #f1f3f5; border: 1px dashed #ced4da; border-radius: .5rem; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.bk-thumb { width: 100%; height: 100%; object-fit: contain; }
.bk-thumb-sm { width: 110px; height: 110px; object-fit: cover; display: block; }

/* 과정 공개 학원 목록 */
.ci-academy-list { max-height: 260px; }
