/* Compact teacher dashboard, with individual submission links. */
#teacherDashboard.teacher-v68 { max-width:1240px; margin:8px auto; padding:9px; border:1px solid #d0deee; border-radius:16px; background:#f3f6fb; color:#172231; }
#teacherDashboard .dashboard-head { min-height:62px; gap:12px; padding:8px 16px; border-radius:10px; background:#2d4c6e; }
#teacherDashboard .dashboard-head .eyebrow { color:#d2e1f1; font-size:10px; font-weight:400; letter-spacing:0; margin:0 0 4px; }
#teacherDashboard .dashboard-title-line { display:flex; align-items:baseline; gap:24px; flex-wrap:wrap; }
#teacherDashboard .dashboard-head h1 { font-size:19px; font-weight:700; color:#fff; margin:0; }
#teacherDashboard #dashboardTeacherName { font-size:12px; color:#d9e3ef; overflow-wrap:anywhere; }
#teacherDashboard .room-code-box { position:relative; min-width:145px; padding:5px 14px; border:1px solid #7a95b0; border-radius:10px; background:#3c6088; }
#teacherDashboard .room-code-box small { color:#e3eaf5; font-size:10px; }
#teacherDashboard .room-code-box strong { color:#fff; font-size:21px; line-height:1.1; letter-spacing:.16em; }
#teacherDashboard #copyRoomCodeBtn { position:absolute; inset:0; width:100%; opacity:0; border-radius:10px; background:#28486c; font-size:12px; }
#teacherDashboard #copyRoomCodeBtn:hover,#teacherDashboard #copyRoomCodeBtn:focus-visible { opacity:1; }
#teacherDashboard .dashboard-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin:12px 0 8px; }
#teacherDashboard .dashboard-toolbar > label { display:flex; flex-wrap:wrap; align-items:center; gap:9px; font-size:13px; font-weight:600; }
#teacherDashboard select { width:auto; max-width:100%; min-height:34px; padding:5px 24px 5px 10px; border:1px solid #b5cae3; background:#fff; font-size:12px; color:#27384e; }
#teacherDashboard .dashboard-actions { display:flex; gap:5px; margin:0; flex-wrap:wrap; }
#teacherDashboard .dashboard-actions button { min-height:34px; padding:5px 9px; border-radius:8px; font-size:13px; font-weight:650; box-shadow:none; }
#teacherDashboard .dashboard-actions .primary { border:1px solid #2c88c7; background:#2c88c7; }
#teacherDashboard .dashboard-actions .secondary { border:1px solid #aec6e2; background:#fff; color:#1769ad; }
#teacherDashboard .dashboard-summary { grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
#teacherDashboard .dashboard-summary > div { padding:6px 12px; border:1px solid #d1ddec; border-radius:8px; background:#fff; }
#teacherDashboard .dashboard-summary small { font-size:12px; line-height:1.2; color:#697484; }
#teacherDashboard .dashboard-summary strong { font-size:23px; line-height:1.2; color:#131e2d; }
#teacherDashboard .dashboard-table-wrap { margin-top:8px; padding:10px 12px 7px; border:1px solid #d3dfed; border-radius:14px; box-shadow:none; background:#fff; }
#teacherDashboard .dashboard-table-head { display:flex; justify-content:flex-end; padding-bottom:5px; }
#teacherDashboard .dashboard-table-head span { color:#6e7d90; font-size:11px; }
#teacherDashboard .dashboard-table-scroller { overflow:auto; max-height:calc(100vh - 265px); min-height:120px; }
#teacherDashboard .roster-table { width:100%; min-width:720px; table-layout:fixed; }
#teacherDashboard .roster-table th { position:sticky; top:0; z-index:2; background:#f1f1f1; padding:11px 6px; color:#303841; border-bottom:1px solid #8994a3; font-size:12px; line-height:1.3; text-align:center; font-weight:650; }
#teacherDashboard .roster-table td { padding:10px 6px; height:49px; border-bottom:1px solid #b8c0ca; font-size:12px; line-height:1.35; text-align:center; vertical-align:middle; overflow-wrap:anywhere; }
#teacherDashboard .roster-table td:first-child,#teacherDashboard .roster-table th:first-child { position:sticky; left:0; background:#fff; z-index:1; text-align:left; }
#teacherDashboard .roster-table th:first-child { background:#f1f1f1; z-index:3; }
#teacherDashboard .roster-table tfoot td { position:sticky; bottom:0; background:#f7f9fc; border-top:1px solid #8494a8; font-weight:500; }
#teacherDashboard .td-progress { display:flex; align-items:center; justify-content:center; gap:6px; white-space:nowrap; font-variant-numeric:tabular-nums; }
#teacherDashboard .td-progress-track { flex:1; max-width:50px; min-width:20px; height:8px; border-radius:12px; overflow:hidden; background:#e1e9f3; }
#teacherDashboard .td-progress-fill { display:block; height:100%; background:#2e88c8; border-radius:12px; }
#teacherDashboard .td-detail { display:block; margin-top:3px; font-size:11px; }
#teacherDashboard .td-muted { color:#788597; }
#teacherDashboard .td-report-link { min-height:34px; padding:4px 0; border:0; background:none; color:#1475bc; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
#teacherDashboard .td-unsubmitted { color:#212a34; }
#teacherDashboard .dashboard-footnote { margin:7px 0 0; color:#748297; font-size:11px; }
#teacherDashboard .dashboard-scroll-cue { display:block; margin:0 auto; min-height:25px; border:0; background:none; color:#76859b; }
#teacherDashboard .empty-roster { padding:30px 12px; font-size:14px; }
#teacherReportDialog { width:min(720px,calc(100% - 32px)); max-height:85vh; padding:20px; border:1px solid #ccd9e8; border-radius:14px; background:#fff; color:#1c2c42; }
#teacherReportDialog::backdrop { background:#12243b66; }
.teacher-report-head { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.teacher-report-head h2 { font-size:20px; margin:0; }
.teacher-report-head button { background:#eff4fa; color:#27537e; border:1px solid #bfcee0; border-radius:7px; padding:8px 14px; }
#teacherReportTime { color:#61738a; font-size:13px; }
#teacherReportCandidate { font-size:16px; }
#teacherReportBody { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; line-height:1.7; }
@media(max-width:600px){
 #teacherDashboard.teacher-v68 { margin:4px; padding:7px; }
 #teacherDashboard .dashboard-head { padding:10px; gap:8px; }
 #teacherDashboard .dashboard-title-line { gap:4px; }
 #teacherDashboard .dashboard-head h1 { font-size:16px; }
 #teacherDashboard .room-code-box { min-width:110px; padding:5px 8px; }
 #teacherDashboard .room-code-box strong { font-size:19px; }
 #teacherDashboard .dashboard-toolbar { align-items:stretch; }
 #teacherDashboard .dashboard-actions { width:100%; }
 #teacherDashboard .dashboard-actions button { flex:1; min-height:40px; padding:5px; font-size:12px; }
 #teacherDashboard .dashboard-summary { gap:5px; }
 #teacherDashboard .dashboard-summary > div { padding:7px; }
 #teacherDashboard .dashboard-summary strong { font-size:21px; }
 #teacherDashboard .dashboard-table-wrap { padding:8px; }
 #teacherDashboard .dashboard-table-scroller { max-height:55vh; }
}
