.demo-login-tip,.demo-notice{border:1px solid #c9dfed;background:#f3f9fc;color:#42647a;padding:12px 16px;font-size:13px;line-height:1.8}
.exam-lobby{border:1px solid #d9dfe6;padding:22px 25px;margin:20px 0;background:#f7f8fa;border-left:4px solid #8b97a5}
.exam-lobby strong{font-size:20px}.exam-lobby p{margin:8px 0 0;font-size:14px}
.exam-lobby.lobby-open{background:#edf8f0;border-color:#9bcdb0;border-left-color:#23834b;color:#216640}
.lobby-countdown{font-variant-numeric:tabular-nums;font-size:22px;color:#735b22}
button.exam-entry{min-width:250px;padding:14px 24px;font-size:16px;margin-top:8px}
button.entry-ready{background:#21834b;color:white;border-color:#21834b}button.entry-ready:hover{background:#186d3d}
button.entry-ready:disabled{background:#dcf0e2;color:#45765a;border-color:#a6cfb4;opacity:1}
.exam-facts{border:1px solid #e1e6eb;background:white;padding:22px;margin:24px 0}
.exam-facts section{padding:0 12px}.exam-facts small{display:block;color:#6c7b88}.exam-facts strong{display:block;font-size:24px;font-weight:500;margin:8px 0}.exam-facts p{font-size:12px;color:#657384;line-height:1.7}
.exam-sheet-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}
.exam-sheet-nav{position:sticky;top:16px;border:1px solid #dce3e9;padding:18px;background:#fff}
.exam-sheet-nav h2{font-size:15px;margin-top:22px}.exam-sheet-nav .qmap{grid-template-columns:repeat(5,1fr);gap:5px}
.exam-sheet-nav .qmap button{font-size:12px;min-height:32px;padding:4px}
.exam-sheet-nav .qmap button.dirty{background:#fff6d7;color:#795c0e;border-color:#e0ba55}
.exam-sheet-nav .nav-legend,.exam-sheet-nav #sheet-save-count{font-size:11px;line-height:1.7;color:#71808b;margin:12px 0}
.exam-sheet-nav>button{width:100%;margin-top:8px}
.exam-clock small{color:#637483}.exam-clock .timer{font-size:29px;letter-spacing:.03em;color:#1476a7;font-variant-numeric:tabular-nums;margin:6px 0}.exam-clock>span{font-size:11px;color:#70808e}
.exam-question{border:1px solid #dce4ea;padding:24px;margin:0 0 26px;background:#fff;scroll-margin-top:20px;min-width:0}
.question-number-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #dce4ea;padding-bottom:14px;margin-bottom:20px;color:#096d98}.question-number-bar>strong{font-size:21px}.question-number-bar>span{font-size:12px;color:#657986}
.exam-question .problem-heading h1{font-size:23px}.exam-question .exercise-kind{display:none}.exam-question .section-heading{font-size:18px}
.question-save-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid #e4e9ee}.question-save-bar .saved{font-size:12px;color:#627886}.question-save-bar button{min-width:105px}
.board-overview{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:20px;background:#f7fafc;border:1px solid #dbe4eb;padding:20px;margin:22px 0}.board-overview small{display:block;color:#71818e}.board-overview strong{display:block;font-size:20px;margin:8px 0}.board-overview p{font-size:12px;color:#617582;line-height:1.7}
.board-section h2{font-size:20px;margin-bottom:24px}.board-section .muted{font-size:12px;line-height:1.8}.board-message{font-size:13px;margin-left:15px;color:#247144}.board-message.save-error{color:#b83131}
.roster-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:20px}.roster-student{display:flex;align-items:center;gap:8px;border:1px solid #dce4ea;padding:12px;font-size:13px;margin:0}.roster-student input{width:auto;margin:0}.roster-student span{font-size:11px;color:#6c7a86}.roster-student:has(input:checked){background:#eff8fe;border-color:#6eafce}.roster-student.disabled{opacity:.5}
@media(max-width:900px){.exam-sheet-layout{grid-template-columns:1fr;gap:16px}.exam-sheet-nav{position:static;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.exam-sheet-nav .exam-clock{grid-row:span 2}.exam-sheet-nav h2{margin:0}.exam-sheet-nav .qmap{grid-template-columns:repeat(9,1fr)}.exam-sheet-nav .nav-legend{display:none}.exam-sheet-nav>button{margin:0}.exam-question{padding:18px}.board-overview{grid-template-columns:1fr}.roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.exam-sheet-nav{display:block}.exam-sheet-nav .qmap{margin:12px 0}.exam-sheet-nav>button{margin-top:8px}.question-save-bar{align-items:flex-start}.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-lobby{padding:18px}.exam-lobby strong{font-size:18px}}

.exam-question-page{min-width:0}.exam-question-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #eee}.exam-question-navigation>span{font-size:12px;color:#888}
.exam-aside .nav-legend,.exam-aside #sheet-save-count{font-size:11px;color:#7a8792;line-height:1.8}.exam-aside .qmap button.dirty{background:#fff6d7;border-color:#e0ba55;color:#795c0e}.exam-aside .exam-clock .timer{font-size:29px}.exam-lobby time{font-variant-numeric:tabular-nums}
.manual-grade-form details{border:1px solid #ddd;margin:12px 0;padding:14px}.manual-grade-form summary{cursor:pointer;font-size:14px}.manual-grade-form pre{white-space:pre-wrap;max-height:320px;overflow:auto}.manual-grade-form textarea{min-height:60px}.manual-grade-form .grading-tools{position:sticky;bottom:0;background:white;padding:16px 0;border-top:1px solid #ddd}.manual-grade-form [role=status]{font-size:13px;line-height:1.7}.demo-history-id{font-size:11px;color:#788595}

.exam-save-health{font-size:13px;line-height:1.6;margin:14px 0;color:#267348}.exam-save-health.save-pending{background:#fff5dd;color:#795600;padding:10px;border-left:3px solid #d49a00}#download-unsent{font-size:12px;margin-bottom:12px}.save-error{color:#a13c22!important}
