.lesson-monitor-scroll{max-width:100%;max-height:min(65dvh,640px);overflow:auto}.lesson-monitor table{border-collapse:separate;border-spacing:0;font-size:.88rem;width:100%}.lesson-monitor th,.lesson-monitor td{border-bottom:1px solid var(--line,#dae4e5);padding:10px;white-space:nowrap;text-align:left}.lesson-monitor thead th{position:sticky;top:0;background:var(--bg,#f2f6f5);z-index:2}.lesson-monitor select{min-height:44px;min-width:90px;font:inherit}.lesson-monitor details p{white-space:normal;overflow-wrap:anywhere;max-width:80ch}.lesson-monitor th:first-child{position:sticky;left:0;background:var(--card,#fff);z-index:1}.lesson-monitor thead th:first-child{top:0;background:var(--bg,#f2f6f5);z-index:3}

.lesson-monitor form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;white-space:normal;margin:8px 0}.lesson-monitor input{font:inherit;min-height:44px;max-width:100%;box-sizing:border-box}.lesson-monitor button{min-height:44px;font:inherit}.lesson-monitor form p{flex-basis:100%}

.lesson-monitor .lesson-answer-text{white-space:pre-wrap}
.lesson-monitor .monitor-question,.lesson-monitor .monitor-mark{text-align:center;min-width:38px;padding:8px 5px}.lesson-monitor .monitor-mark{font-weight:700;font-size:1rem}.lesson-monitor .monitor-position{min-width:82px}.monitor-video-bar{display:block;width:76px;height:9px;border-radius:999px;background:#dceae8;overflow:hidden}.monitor-video-fill{display:block;height:100%;background:#087e84;border-radius:inherit}
.lesson-monitor .monitor-active-summary{font-weight:700;color:var(--primary-deep,#0a6e72);margin:4px 0 12px}.lesson-monitor .monitor-current-table th,.lesson-monitor .monitor-current-table td{padding:8px 6px}.lesson-monitor .monitor-current-state{font-weight:700}.lesson-monitor .monitor-current-answer{min-width:120px;max-width:320px;white-space:normal}.monitor-answer-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.lesson-monitor.monitor-dialog-mode tbody tr{cursor:pointer}.lesson-monitor.monitor-dialog-mode tbody th,.lesson-monitor.monitor-dialog-mode tbody td{padding:2px 6px}.lesson-monitor.monitor-dialog-mode .monitor-seat-button{min-width:40px;min-height:40px;padding:0;border:0;background:none;color:#096e73;font-weight:700;cursor:pointer}.lesson-monitor .monitor-seat-button:focus-visible{outline:3px solid #087e84;border-radius:6px}
.lesson-monitor .monitor-answer-dialog{box-sizing:border-box;width:min(680px,calc(100vw - 24px));max-height:85dvh;padding:22px;border:1px solid #c9dedd;border-radius:16px;box-shadow:0 18px 60px #17383e44;color:#28444a}.lesson-monitor .monitor-answer-dialog::backdrop{background:#142f34a8}.lesson-monitor .monitor-answer-dialog h3{margin:0 0 22px;padding-right:70px}.lesson-monitor .monitor-answer-dialog details>summary{display:none}.lesson-monitor .monitor-answer-dialog details h4{margin:24px 0 8px}.lesson-monitor .monitor-answer-dialog details p{line-height:1.7}.lesson-monitor .monitor-answer-close{position:absolute;top:14px;right:16px;border:1px solid #c9dedd;border-radius:8px;background:#fff;padding:4px 12px}
@media(max-width:600px){.lesson-monitor .monitor-answer-dialog{width:100vw;height:100dvh;max-height:100dvh;max-width:none;margin:0;border:0;border-radius:0;padding:24px 18px}}

.monitor-progress-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.monitor-progress-groups section{padding:12px;background:#eaf3f0;border-radius:10px;min-width:0}.monitor-progress-groups p{white-space:normal;overflow-wrap:anywhere;margin:6px 0 0}.monitor-progress-note{font-size:13px;line-height:1.6}@media(max-width:700px){.monitor-progress-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}

.monitor-browsing-notice{padding:12px;border-left:4px solid #087e84;background:#eaf3f0;white-space:normal}.lesson-monitor>label{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}

.monitor-attendance-note { margin:5px 0; font-size:12px; white-space:normal; min-width:7em; max-width:12em; }

.lesson-monitor tbody tr.monitor-attendance-absent > * { background:#fce4e4; }
.lesson-monitor tbody tr.monitor-attendance-late > * { background:#fff4cc; }
.lesson-monitor tbody tr.monitor-attendance-early > * { background:#e1f3e4; }
.lesson-monitor tbody tr.monitor-attendance-excused > * { background:#e8e8e8; }
.lesson-monitor  .monitor-attendance-unentered { color:#b42318; font-weight:700; }
/* Keep activity navigation inside the response dialog on narrow screens. */
.monitor-answer-tabs{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:8px 0 12px;scrollbar-width:thin;position:sticky;top:0;background:#fff;z-index:1}
.monitor-answer-tabs .monitor-answer-tab{flex:0 0 auto;min-width:56px;min-height:44px;border:1px solid #c9dedd;border-radius:10px;background:#f2f6f6;color:#29454b;padding:8px 12px;font:inherit;font-weight:700}
.monitor-answer-tabs .monitor-answer-tab[aria-selected=true]{background:#087e7e;color:#fff;border-color:#087e7e}
.monitor-answer-tab:focus-visible{outline:3px solid #d69a16;outline-offset:2px}
.monitor-answer-panel{overflow-wrap:anywhere;min-width:0}
.monitor-answer-panel[hidden]{display:none}
.monitor-answer-panel .lesson-answer-text{background:#eaf6f4;border-radius:10px;padding:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.monitor-answer-state{font-weight:700;color:#176a67}

.lesson-monitor .monitor-answer-close{color:#203f45;background:#fff;font-weight:700;min-width:88px;min-height:44px;line-height:1.3}
.lesson-monitor .monitor-answer-close:hover{color:#203f45;background:#e9f2f1}
.lesson-monitor .monitor-answer-dialog h3{padding-right:100px}
.lesson-monitor .answer-question{background:#f4f7f7;border:1px solid #dce5e5;border-radius:12px;padding:16px;line-height:1.6}
.answer-student,.answer-model{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;align-items:start;padding:12px;border-radius:10px;margin:10px 0}
.answer-student{background:#e5f3f0}.answer-student p,.answer-model p{margin:0;white-space:pre-wrap!important}.answer-student p{font-size:1.25rem;font-weight:700}
.answer-grade{padding:12px;border-radius:10px;background:#edf5f4;font-weight:700;font-size:1.1rem}.answer-grade-wrong{background:#fff0f0;color:#af2626}
.answer-request{background:#fff3d6;padding:14px;border-radius:12px}.answer-request p{white-space:pre-wrap!important;margin-bottom:0}
.answer-request-badge{display:inline-block;background:#ffe1a7;color:#633c00;border-radius:10px;padding:6px 12px;font-weight:700}
.answer-grade-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.lesson-monitor .answer-grade-actions button{min-width:0;background:#fff;color:#215451;border:1px solid #b8ceca;border-radius:10px;padding:12px 4px;font-size:.85rem;white-space:normal;overflow-wrap:anywhere}
.lesson-monitor .answer-grade-actions button[aria-pressed=true]{background:#e1f1ed;border:2px solid #087e7e;opacity:1}
.lesson-monitor .answer-history>summary{display:list-item!important;padding:18px 0;cursor:pointer;font-weight:700;color:#196a65}
.answer-save-status{font-weight:700;color:#126460}.answer-grade-actions button:disabled{cursor:default}
.answer-page-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.answer-session-title{color:#647779;margin-top:-12px}
.answer-grade-actions .answer-grade-symbol{display:block;font-size:1.7rem;line-height:1.25;margin-bottom:6px}
