/* Existing record/table structure is unchanged. The scope controls are shared
 * by WEB and app; only WEB loads the separate modal presentation owner. */
.classroomCatchupScanControls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;min-width:0}
.classroomCatchupScopeLabel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.classroomCatchupScanControls #classroomCatchupScope{width:auto;min-width:118px;height:42px;margin:0;padding:0 32px 0 12px;border:1px solid #d4e0eb;border-radius:12px;background:#fff;color:#28455b;font:inherit;font-size:14px;font-weight:700;box-sizing:border-box}
.classroomCatchupScanControls #classroomScanCatchup{min-width:70px;min-height:42px;white-space:nowrap}
html.classroomToolsModalOpen12307,body.classroomToolsModalOpen12307{overflow:hidden!important}
.classroomToolsModal12307{position:fixed;inset:0;z-index:12020;display:flex;align-items:center;justify-content:center;padding:28px;background:rgba(22,42,60,.43);box-sizing:border-box}
.classroomToolsDialog12307{width:min(1120px,100%);max-height:calc(100dvh - 56px);overflow:auto;overscroll-behavior:contain;background:#f4f8fc;border:1px solid #bfd6e7;border-radius:24px;box-shadow:0 25px 80px rgba(20,44,67,.25);padding:26px;box-sizing:border-box;outline:none;scrollbar-gutter:stable}
#classroomToolsContent12307 .classroomFlow{max-width:none;margin:0;padding:0;min-height:0;box-sizing:border-box}
#classroomToolsContent12307 .classroomFlowHead{margin-top:0;position:relative;z-index:auto}
#classroomToolsContent12307 .classroomFlowHead h1{font-size:clamp(22px,2.2vw,30px)}
#classroomToolsContent12307 .classroomFlowHeadActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
#classroomToolsContent12307 .classroomCatchupIntro{display:flex;align-items:center;justify-content:space-between;gap:16px}
#classroomToolsContent12307 .classroomSessionSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#classroomToolsContent12307 .classroomSessionSummary>span{min-width:0;width:auto;grid-column:auto;text-align:center}
#classroomToolsContent12307 .classroomCatchupList>button[data-catchup-index]{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;text-align:left;box-sizing:border-box}
#classroomToolsContent12307 .classroomCatchupList .student{min-width:0;justify-items:start;text-align:left}
#classroomToolsContent12307 .classroomCatchupList .student :is(b,small){max-width:100%;overflow-wrap:anywhere;text-align:left}
#classroomToolsContent12307 .classroomRecordQueryCard{min-width:0;max-width:100%}
#classroomToolsContent12307 .classroomCompletedHistoryRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
#classroomToolsContent12307 .classroomHistoryIdentity,#classroomToolsContent12307 .classroomHistoryIdentity>b{min-width:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
#classroomToolsContent12307 .classroomCompletedHistoryRow>.classroomHistoryActions{display:flex;align-items:center;justify-content:flex-end;justify-self:end;flex-wrap:wrap;gap:8px 12px;max-width:none;text-align:right}
#classroomToolsContent12307 .classroomHistoryActions>span{white-space:nowrap;line-height:1.5}
#classroomToolsContent12307 .classroomHistoryActions>span:first-child{padding:4px 9px;border:1px solid #d7e3eb;border-radius:999px;background:#eef4f8;color:#62788a;font-size:12px}
#classroomToolsContent12307 .classroomHistoryActions>span:last-child{color:#168ee0;font-size:13px;font-weight:700}
#classroomToolsContent12307 :is(input,select,button):focus-visible{outline:3px solid #358bd0;outline-offset:3px}
@media(max-width:768px){
  .classroomCatchupScanControls{gap:6px}
  .classroomCatchupScanControls #classroomCatchupScope{min-width:94px;height:40px;padding-left:9px;font-size:14px}
  .classroomCatchupScanControls #classroomScanCatchup{min-width:58px;min-height:40px;padding-inline:12px}
  .classroomToolsModal12307{padding:16px}
  .classroomToolsDialog12307{padding:18px;max-height:calc(100dvh - 32px);border-radius:20px}
  #classroomToolsContent12307 .classroomFlowHead{align-items:flex-start;gap:12px}
  #classroomToolsContent12307 .classroomFlowHeadActions{max-width:240px}
}
@media(max-width:420px){
  .classroomFlow[data-classroom-view="catchup"] .classroomCatchupIntro{flex-wrap:wrap}
  .classroomCatchupScanControls{margin-left:auto}
  #classroomToolsContent12307 .classroomCatchupList>button[data-catchup-index]{grid-template-columns:55px minmax(0,1fr);gap:8px}
  #classroomToolsContent12307 .classroomCatchupList .go{display:none}
}
