/* 강사·관리자 화면 전용 */
.cls-head{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.cls-head .info{flex:1;min-width:260px}
.cls-head h1{font-size:1.25rem;margin:2px 0 4px;color:var(--ink)}
.codeblock{background:var(--tint);border-radius:10px;padding:8px 14px;text-align:center;min-width:150px}
.codeblock .lbl{font-size:.75rem;color:var(--gray)}
.codeblock .code{font-size:1.7rem;font-weight:800;letter-spacing:4px;color:var(--blue);line-height:1.2}
.run{display:grid;grid-template-columns:280px 1fr;gap:12px;align-items:start}
@media (max-width:900px){.run{grid-template-columns:1fr}}
.unitlist{list-style:none;margin:0;padding:0}
.unitlist li{margin-bottom:5px}
.unitlist button{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer;line-height:1.35}
.unitlist button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.unitlist button .tiny{display:block;opacity:.8}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.stat.click{cursor:pointer}
.stat.click:hover{outline:2px solid var(--light)}
.timerbtns{display:flex;gap:6px;flex-wrap:wrap}
.online{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.online span{background:#E3F6EF;color:var(--ok);border-radius:10px;padding:1px 8px;font-size:.78rem}
.tcard{border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin-bottom:9px;background:#fff}
.tcard .meta{font-size:.8rem;color:var(--gray);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tcard .meta b{color:var(--ink)}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.toolbar select,.toolbar input{width:auto;min-width:140px}
.newbar{background:#FFF3DC;border:1px solid #F0D49B;border-radius:8px;padding:7px 12px;margin-bottom:10px;display:flex;gap:10px;align-items:center;justify-content:space-between}
.qbar{display:flex;align-items:center;gap:8px;margin:3px 0}
.qbar .bar{flex:1}
.qbar .lbl{width:52%;font-size:.86rem}
.qbar .v{width:64px;text-align:right;font-size:.82rem;color:var(--gray)}
.qbar.ok .lbl{font-weight:700;color:var(--ok)}
.qbar.ok .bar>i{background:var(--ok)}
/* 차시 편집기 */
.ue-unit{border:1px solid var(--line);border-radius:9px;background:#fff;margin-bottom:8px}
.ue-unit.open{border-color:#9DC0E4;box-shadow:0 1px 6px rgba(0,91,172,.08)}
.ue-head{padding:8px 10px;gap:6px}
.ue-head input{border-color:transparent;background:transparent;font-weight:700}
.ue-head input:hover,.ue-head input:focus{border-color:#C9D6E4;background:#fff}
.ue-no{min-width:44px;color:var(--blue)}
.ue-body{padding:4px 14px 14px;border-top:1px dashed var(--line)}
.ue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.ue-q{border:1px solid var(--line);background:#FAFCFE;border-radius:8px;padding:8px 10px;margin:6px 0}
.ue-q input{padding:6px 8px}
.ue-opt label{white-space:nowrap;display:flex;gap:3px;align-items:center}
.ue-opt label input{width:auto}
.tplist li{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.qrbig{max-width:360px;margin:0 auto}
.sticky-save{position:sticky;bottom:0;background:rgba(245,247,250,.95);padding:10px 0;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;z-index:5}
.dirty-dot{color:#E8462B;font-size:.8rem}
td .btn{margin:1px}
