.teacher-workbench-shell{max-width:none!important}.teacher-workbench-shell .practice-heading-workspace{margin-bottom:8px;padding:0}.teacher-workbench-shell .practice-heading-copy h1{font-size:22px;margin:0}.teacher-workbench-shell .practice-heading-copy>p,.teacher-workbench-shell .practice-workspace-dock,.teacher-workbench-shell .practice-status-calendar,.teacher-workbench-shell .practice-context{display:none}.teacher-workbench-shell .practice-toolbar{margin-bottom:8px}.teacher-workbench-shell .practice-workspace-body{display:block}.teacher-workbench{color:#26392f;font-size:13px}.teacher-workbench button,.teacher-workbench select,.teacher-workbench input{font:inherit}.teacher-workbench button{padding:5px 8px;border:1px solid #cdd9d1;border-radius:4px;background:#fff;color:#294735;cursor:pointer}.teacher-workbench button:hover{background:#eaf4ee}.teacher-workbench button:disabled{opacity:.45;cursor:default}.teacher-workbench input,.teacher-workbench select{padding:5px;border:1px solid #cdd9d1;border-radius:3px;max-width:100%;background:#fff;color:#26392f}.teacher-workbench input:focus{outline:2px solid #347850;outline-offset:1px}.teacher-workbench input[type=checkbox]{accent-color:#277348;width:16px;height:16px}.tw-scope{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;padding:12px;border:1px solid #dce5df;border-radius:6px}.tw-scope h2{font-size:20px;margin:0 0 4px}.tw-scope p{margin:0;color:#64766b;font-size:12px}.tw-scope-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tw-scope-controls label{display:flex;align-items:center;gap:6px}.tw-context{padding:8px 2px;color:#576b5e;font-size:12px}.tw-stats{display:grid;grid-template-columns:repeat(9,minmax(75px,1fr));gap:5px;margin-bottom:10px}.tw-stats button{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 7px;white-space:nowrap}.tw-stats span{font-size:12px;color:#597061}.tw-stats strong{font-size:20px;color:#234b32}.tw-stats button.active{border-color:#287547;background:#eff7f1}.tw-grid{background:#fff;border:1px solid #d5e0d8;border-radius:6px;overflow:hidden}.tw-tools,.tw-bulk{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:8px 10px;border-bottom:1px solid #dfe7e2}.tw-tools label{display:flex;gap:6px;align-items:center}.tw-tools input[type=number]{width:62px}.tw-tools input[type=search]{margin-left:auto;width:170px}.tw-bulk{background:#f6f9f7;font-size:12px}.tw-bulk label{display:flex;align-items:center;gap:4px}.tw-scroll{overflow:auto;max-height:calc(100vh - 360px);min-height:260px}.tw-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1080px;white-space:nowrap;text-align:left}.tw-table th{position:sticky;top:0;background:#edf3ef;color:#4e6656;z-index:1;font-weight:500;font-size:12px;padding:8px 6px;border-bottom:1px solid #c9d8ce}.tw-table td{padding:3px 6px;height:34px;border-bottom:1px solid #edf0ee;font-variant-numeric:tabular-nums}.tw-table tbody tr:hover{background:#f6faf7}.tw-table .tw-dirty{background:#fff9e9}.tw-name{position:sticky;left:0;background:inherit;z-index:1;min-width:105px}.tw-name small{color:#83958a;margin-right:6px;display:inline-block;min-width:17px}.tw-name button{border:0;background:transparent;padding:3px 0;text-align:left;font-weight:600}.tw-score{display:flex;align-items:center;gap:4px}.tw-score input{width:47px;padding:4px;font-size:14px;text-align:center}.tw-score input[data-field=question_count]{width:40px;color:#6a7d70}.tw-final{width:48px;text-align:center}.tw-table input[type=number]{appearance:textfield;-moz-appearance:textfield}.tw-table input::-webkit-inner-spin-button{appearance:none;margin:0}.tw-table select{font-size:12px;width:67px;padding:4px}.tw-state{display:inline-block;font-size:12px;padding:3px 5px;border-radius:3px}.tw-state.missing{color:#b54a28;background:#fff0e9}.tw-state.checked{color:#24673e;background:#eaf6ed}.tw-state.makeup{color:#725421;background:#fff6dc}.tw-state.excused{color:#6b737d;background:#edf0f3}.tw-state.perfect{color:#315989;background:#eef4fc}.tw-tier{color:#64796b;font-size:12px}.tw-savebar{display:flex;gap:8px;align-items:center;padding:9px 10px;background:#f8faf8;border-top:1px solid #d7e2da}.tw-savebar span{flex:1;font-size:12px}.tw-savebar .practice-primary,.teacher-workbench .practice-primary{background:#246641;color:#fff;border-color:#246641}.tw-empty{padding:30px;text-align:center;color:#7a8a80}.tw-help{font-size:12px;color:#6c7c71;display:flex;align-items:center;justify-content:space-between}.tw-drawer{position:fixed;right:0;top:64px;bottom:0;width:370px;max-width:90vw;padding:20px;z-index:40;background:#fff;box-shadow:-8px 0 25px #294c3826;border-left:1px solid #d2ddd5;overflow:auto}.tw-drawer[hidden]{display:none}.tw-drawer h3{margin:0 0 10px;font-size:21px}.tw-close{float:right;font-size:20px!important}.tw-drawer dl{background:#f5f8f6;padding:10px;border-radius:5px}.tw-drawer dl div{display:flex;justify-content:space-between;padding:5px 0}.tw-drawer dd{margin:0;font-weight:600}.tw-detail-reason{font-size:12px;line-height:1.7;color:#627267}.tw-drawer h4{margin:20px 0 8px;border-bottom:1px solid #dce5df;padding-bottom:6px}.tw-drawer #tw-recent p,.tw-drawer #tw-ledger p{font-size:12px;padding:6px 0;margin:0;border-bottom:1px solid #edf1ee}.tw-ledger b{float:right}.tw-negative{color:#ae4239}.teacher-workbench dialog{border:1px solid #ccdad0;border-radius:8px;width:560px;max-width:90vw;padding:20px;color:#294534}.teacher-workbench dialog::backdrop{background:#1c332b66}.tw-paste-scroll{max-height:45vh;overflow:auto;margin:15px 0}.tw-paste-scroll table{border-collapse:collapse;width:100%;font-size:13px}.tw-paste-scroll td,.tw-paste-scroll th{padding:6px;border-bottom:1px solid #e1e7e3;text-align:left}.tw-paste-scroll th{position:sticky;top:0;background:#f0f5f1}@media(max-width:1280px){.tw-scope{align-items:flex-start;flex-direction:column}.tw-stats{grid-template-columns:repeat(5,minmax(80px,1fr))}.tw-scroll{max-height:calc(100vh - 420px)}.tw-tools input[type=search]{margin-left:0}}@media(max-width:1050px){.teacher-workbench-shell .practice-heading-copy h1{font-size:18px}.tw-stats{gap:4px}.tw-stats button{padding:6px}.tw-scroll{max-height:calc(100vh - 400px)}.tw-scope-controls{gap:4px}.tw-scope-controls button{padding:5px}.tw-help{display:block}.teacher-workbench-shell .practice-tabs a{padding:7px 9px}}

.teacher-workbench button{min-height:30px;line-height:1.4}.teacher-workbench input,.teacher-workbench select{min-height:30px;line-height:1.4;width:auto}.tw-table button,.tw-table input,.tw-table select{min-height:24px;line-height:1.3;margin:0}.tw-table td{vertical-align:middle}.tw-table input[type=checkbox]{min-height:16px}.layout:has(.teacher-workbench-shell){max-width:1880px;grid-template-columns:155px minmax(0,1fr)}main:has(.teacher-workbench-shell){padding:16px}.teacher-workbench-shell .practice-toolbar{padding:0}.teacher-workbench-shell .practice-tabs{padding:0}.teacher-workbench-shell .practice-heading-copy .practice-back{font-size:12px}.teacher-workbench-shell .practice-heading-workspace{gap:0}

/* Give the daily roster the viewport; the shared prep shell is redundant here. */
body:has(.teacher-workbench-shell)>header{padding:5px 16px;min-height:44px;gap:14px}
body:has(.teacher-workbench-shell)>header .brand{font-size:17px}
body:has(.teacher-workbench-shell)>header .brand-mark{width:28px;height:28px;flex-basis:28px}
body:has(.teacher-workbench-shell)>header .brand small{display:none}
body:has(.teacher-workbench-shell)>header button{min-height:30px;padding:3px 9px}
.layout:has(.teacher-workbench-shell){display:block!important;max-width:none}
.layout:has(.teacher-workbench-shell)>#nav{display:none}
#main:has(.teacher-workbench-shell){padding:8px!important}
.teacher-workbench-shell{padding:0 4px 8px!important}
.teacher-workbench-shell .practice-heading-workspace{display:none!important}
.teacher-workbench-shell .practice-context{display:none!important}
.teacher-workbench-shell .practice-tabs a{padding:7px 10px;margin:0;min-height:30px;font-size:12px}
.teacher-workbench-shell .practice-toolbar{margin-bottom:5px}
.tw-scope{padding:8px 10px;flex-direction:row;align-items:center}
.tw-scope h2{font-size:18px}.tw-scope p{font-size:11px}
.tw-stats{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;margin-bottom:6px}
.tw-stats button{padding:5px;min-width:0}.tw-stats span{font-size:11px}.tw-stats strong{font-size:18px}
.tw-tools,.tw-bulk{padding:6px 8px}
.tw-scroll{max-height:calc(100dvh - 280px);min-height:220px}
.tw-context{padding:5px 2px}.tw-help{margin:5px 0}
@media(max-width:1050px){.tw-scope p{display:none}.tw-scope h2{font-size:16px}.tw-scope-controls{gap:3px}.tw-scope-controls button{font-size:11px}.tw-scope-controls label{font-size:11px}.tw-stats span{font-size:10px}.tw-stats button{gap:3px}.tw-table{min-width:1080px}.tw-scroll{max-height:calc(100dvh - 285px)}}

.tw-scope p{display:none}.tw-scope h2{margin:0;line-height:1.25}
.teacher-workbench button{padding:3px 7px;min-height:27px}
.teacher-workbench input,.teacher-workbench select{padding:3px 5px;min-height:27px}
.tw-scope{padding:6px 9px}.tw-context{padding:3px 2px}
.tw-tools,.tw-bulk{padding:5px 7px}
.tw-stats button{padding:4px 5px}.tw-stats strong{font-size:17px}
.tw-table td{padding:2px 6px;height:32px}
.tw-table th{padding:6px}.tw-score input,.tw-final{padding:3px}
.tw-table button,.tw-table input,.tw-table select{min-height:24px}
.tw-savebar{padding:6px 9px}.tw-help{font-size:11px}
.tw-scroll{min-height:180px}
