.course-empty{max-width:620px;margin:40px auto}
.course-level-progress{max-width:620px;margin:12px auto 30px;padding:0 16px;color:#254331}
.course-level-progress-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:14px}
.course-level-progress-label span{color:#5c7563;font-weight:700}
.course-level-progress-track{height:11px;border-radius:999px;background:#e4ebe4;overflow:hidden}
.course-level-progress-track span{display:block;height:100%;background:#2f7b59;border-radius:inherit;transition:width .3s ease}
.course-situation-button.available{border-color:#9ec5ad;background:#e6f2e9;box-shadow:0 6px 0 #84ae93}
.course-situation-button{position:relative}
.course-map-complete-check{position:absolute;right:-5px;top:-8px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#2f7b59;color:#fff;font-size:15px;font-weight:800;border:2px solid #fff}
.course-situation-button.completed{border-color:#5c9b6b;background:#dff0e2;box-shadow:0 6px 0 #70a27d}
.course-situation-button.locked{cursor:default;opacity:.78}
.course-situation-button.locked:hover{border-color:var(--line);background:#fff}
.course-situation-name{overflow-wrap:anywhere}
.course-lesson-shell{width:100%;height:calc(100dvh - 158px);min-height:580px;display:flex;flex-direction:column}
.course-lesson-top{height:52px;display:flex;align-items:center;gap:12px;flex:none}
.course-lesson-top .course-back{width:38px;height:38px;font-size:18px}
.course-lesson-top span{font-size:13px;color:#69786b}
.course-lesson-top strong{margin-left:auto;font-size:13px;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.course-live-frame{width:100%;height:100%;flex:1;border:0;border-radius:13px;background:#fff}
.course-teacher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:12px}
.course-teacher-card{display:flex;flex-direction:column;gap:9px;min-width:0;padding:14px;border:1px solid #dfe7df;border-radius:13px}
.course-teacher-card img{width:100%;height:125px;object-fit:contain}
.course-teacher-card input{max-width:100%;font-size:12px}
.course-teacher-missing{height:125px;display:grid;place-items:center;color:#79877c;background:#f5f8f5;border-radius:10px}
.course-admin-panel{margin:0 0 18px}
.course-admin-panel h2{margin-bottom:10px}
.course-admin-panel p{line-height:1.5;color:#617367}
.course-admin-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0}
.course-admin-levels a{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid #dce5dc;border-radius:11px;color:#254331;text-decoration:none}
.course-admin-levels a.active,.course-admin-lesson-grid a.active{border-color:#438262;background:#edf7ef}
.course-admin-levels small,.course-admin-lesson-grid small{color:#6c796f}
.course-upload-row{display:flex;flex-wrap:wrap;gap:11px;align-items:center;margin:16px 0}
.course-upload-row input{max-width:100%}
.course-admin-hint{font-size:12px}
.course-admin-lesson-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-height:370px;overflow:auto;margin:18px 0}
.course-admin-lesson-grid a{display:flex;flex-direction:column;gap:5px;padding:10px;border:1px solid #e1e9e1;border-radius:10px;text-decoration:none;color:#20392a}
.course-admin-lesson-grid b{color:#327150}
.course-admin-lesson-grid span{font-size:13px;font-weight:700}
.course-admin-selected{border-top:1px solid #e1e8e1;padding-top:18px}
.course-admin-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:12px 0 20px}
.course-admin-actions form{margin:0}
.course-media-status{border-radius:13px;background:#f5f8f4;padding:15px}
.course-media-status progress{display:block;width:100%;height:14px;margin:10px 0;accent-color:#357650}
.course-media-status>small{display:block;margin-bottom:10px}
.course-media-explanation{margin:8px 0 12px;color:#416651;font-size:13px;line-height:1.45}
.course-media-items{max-height:225px;overflow:auto}
.course-media-items>div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e4ebe3;padding:5px 0;font-size:12px}
.course-media-items small{color:#a03f3f}
@media(max-width:700px){
 .course-lesson-shell{height:calc(100dvh - 145px - env(safe-area-inset-bottom));min-height:460px}
 .course-lesson-top strong{max-width:40%}
 .course-teacher-grid{grid-template-columns:1fr}
 .course-admin-levels{grid-template-columns:repeat(2,minmax(0,1fr))}
 .course-admin-lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
