[hidden] { display: none !important; }
.page-head .lead { font-size: .95rem; }
.workspace-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; margin-bottom:1rem; }
#classSelect { flex:1; min-width:150px; max-width:380px; }
.settings-menu { position:relative; margin-left:auto; }
.settings-body { position:absolute; right:0; top:100%; z-index:20; width:260px; padding:1rem; background:white; border:1px solid var(--line); box-shadow:var(--shadow-md); border-radius:12px; display:grid; gap:.6rem; }
.class-choose { border:0; background:none; text-align:left; color:inherit; padding:0; }
.class-row { flex-wrap:wrap; }
.class-actions { width:100%; text-align:right; }
.class-actions > .btn { margin:.25rem 0 0 .2rem; }
.class-rename { display:flex; gap:.25rem; flex-wrap:wrap; margin-top:.5rem; }
.class-rename input { width:100%; }
.class-actions summary { font-size:.75rem; color:var(--ink-soft); cursor:pointer; }
.class-row > .btn { display:none; }
.class-actions .btn { font-size:.75rem; }
.class-list { max-height:220px; overflow:auto; }
#rosterSidebar .panel-body { padding:.85rem; }
#rosterSidebar .panel-head { flex-wrap:wrap; padding:.75rem .85rem; }
#classNotePanel .empty-note { padding:.3rem; text-align:left; font-size:.8rem; }
#classNotePanel .empty-note .bi { display:none; }
#classNotePanel .class-note-body { max-height:130px; overflow:auto; }
body:not(.editing-roster) .roster-edit { display:none !important; }
#rosterSidebar .roster { max-height:55vh; }
.roster .btn-away { min-width:38px; min-height:38px; }
body.sidebar-closed #rosterSidebar { display:none; }
body.sidebar-closed #activityColumn { width:100%; }
#resultTabs { gap:.25rem; }
#resultTabs .nav-link { padding:.55rem .85rem; }
#activityColumn .panel-head { display:none; }
.spotlight { margin-bottom:0 !important; }
body.presenting .navbar, body.presenting .page-head, body.presenting footer, body.presenting #rosterSidebar, body.presenting .settings-menu,
body.presenting #rosterToggle, body.presenting #restorePreview, body.presenting #workflowMessage,
body.presenting #seatLayoutDetails, body.presenting #pinSeatsBtn, body.presenting #undoSeatsBtn,
body.presenting #seatHint, body.presenting #seatHelp, body.presenting #saveGroupBtn, body.presenting #saveGroupForm, body.presenting #savedWrap,
body.presenting #showNotesToggle, body.presenting label[for="showNotesToggle"], body.presenting .note-inline, body.presenting .picked-note { display:none !important; }
body.presenting #activityColumn { width:100%; }
body.presenting .group-card li, body.presenting .seat { font-size:1.35rem; }
body.presenting .picked-name { font-size:clamp(3rem,8vw,7rem); }
body.presenting .seat { min-height:110px; }
@media(max-width:991px) {
 #rosterSidebar { position:fixed; top:0; bottom:0; left:0; width:min(92vw,420px); overflow:auto; z-index:1040; background:var(--canvas); padding:1rem; box-shadow:4px 0 30px #0003; }
 #rosterSidebar::before { content:'Roster & classes'; display:block; font-weight:700; margin-bottom:1rem; }
 #drawerClose { display:block; margin:0 0 1rem auto; }
 .workspace-toolbar .btn { font-size:.8rem; }
 #resultTabs .nav-link { padding:.5rem .65rem; }
}
@media(min-width:992px) { #drawerClose { display:none; } }
@media print {
 .workspace-toolbar, #storageWarning, #workflowMessage { display:none !important; }
 #seatingPrint button { border:1px solid #aaa; }
 #seatingPrint .group-card { break-inside:avoid; }
}
