/* Review-only composition; current authored cues and bus controls remain intact. */
.review-notice{padding:7px 18px;background:#eef2ff;color:#233454;font:500 13px/1.5 'DM Sans',sans-serif;text-align:center}
.review-notice a{color:#1646ad;margin-left:18px;text-decoration:underline;text-underline-offset:3px;display:inline-block;min-height:24px}
.run-mode.cue-v2 .run-player-tools{grid-template-columns:1fr;padding:7px 14px;background:var(--cue-panel);gap:3px}
.review-transport{display:flex;align-items:center;justify-content:space-between;gap:10px}
.review-transport .run-play-btn{align-items:center;justify-content:center;gap:7px;min-height:48px;min-width:76px;padding:8px 14px;border-radius:24px;font:700 15px 'DM Sans',sans-serif;box-shadow:none}
.review-transport .run-tempo{padding:0;gap:0}
.review-transport .run-tempo>span{display:none}
.review-transport .run-tempo button{border:0;background:transparent;min-width:44px}
.review-utilities{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.review-utilities button{min-height:44px;padding:7px 12px;border:1px solid var(--rm-btn-border);background:var(--rm-btn-bg);color:var(--rm-ink);border-radius:10px;font:600 14px 'DM Sans',sans-serif}
.review-utilities [aria-pressed=true]{background:#17375e;color:#fff;border-color:#17375e}
.review-utilities [hidden]{display:none!important}
.run-mode.cue-v2 .run-controls .run-nav-btn{min-width:52px;border:1px solid var(--rm-btn-border);box-shadow:none}
.run-mode.cue-v2 .run-controls{border-top:1px solid var(--rm-divider)}
.review-transport button:focus-visible,.review-utilities button:focus-visible{outline:3px solid #1768ad;outline-offset:2px}
.cal2-date-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;flex-wrap:wrap}
.cal2-date-heading .cal-rotation-list{margin:0;justify-content:flex-end}
.cal2-date-heading .cal-rotation{font-size:11px}
.cal2-daynum{font-size:17px}
.cal2-daynum.today-num{width:28px;height:28px;font-size:17px}
.cal2-mobile-count{display:none}
.cal2-cell{cursor:pointer}
.cal2-cell:focus-visible{outline:3px solid #1768ad;outline-offset:1px}
.cal2-day-total{text-align:center;font-size:18px;margin:12px 0 4px}
.cal2-day-grades{text-align:center;font-size:12px}
.cal2-chip-name{font-size:13px}.cal2-chip-time{font-size:11px}
.cal2-noschool-tag{font-size:12px;font-weight:700}
@media(min-width:701px){
 #cal-month{min-height:calc(100svh - 220px);display:flex;flex-direction:column}
 .cal2-grid{flex:1;grid-auto-rows:minmax(148px,1fr)}
 .cal2-chips{gap:5px;overflow-y:auto}
}
@media(max-width:699px){
 .run-mode.cue-v2 .run-player-tools:not([style*="display: none"]):not([style*="display:none"]){display:grid!important}
 .run-mode.cue-v2 .run-controls{grid-template-columns:52px minmax(0,1fr) minmax(0,1fr) 52px;padding:4px 8px calc(5px + env(safe-area-inset-bottom));gap:4px}
 .run-mode.cue-v2 .run-controls .back-btn{grid-column:1;grid-row:1/3;align-self:stretch}
 .run-mode.cue-v2 .run-controls .next-btn{grid-column:4;grid-row:1/3;align-self:stretch}
 .run-mode.cue-v2 .run-controls #run-assess-btn{grid-column:2;grid-row:1}
 .run-mode.cue-v2 .run-controls #run-teaching-support{grid-column:3;grid-row:1}
 .run-mode.cue-v2 .run-controls #run-more-controls{grid-column:3;grid-row:2}
 .run-mode.cue-v2 .run-controls #run-reveal-btn{grid-column:2;grid-row:2}
 .run-mode.cue-v2 .run-controls.has-play-and-reveal #run-reveal-btn{grid-column:2;grid-row:2}
 .run-mode.cue-v2 .run-controls.has-play-and-reveal #run-more-controls{grid-column:3;grid-row:2}
 .cal2-dow-row{display:grid;gap:3px}
 .cal2-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:minmax(78px,auto);gap:3px}
 .cal2-cell,.cal2-cell.plain,.cal2-cell.out{display:flex!important;padding:5px 3px;min-height:78px;border-radius:8px}
 .cal2-date-heading{justify-content:center;gap:1px}
 .cal2-date-heading .cal-rotation-list{width:100%;justify-content:center}
 .cal2-date-heading .cal-rotation{font-size:10px;padding:1px 3px;border:0;background:transparent!important;color:#233454!important}
 .cal2-date-heading .cal-rotation-dot{width:7px;height:7px}
 .cal2-mobile-count{display:block;text-align:center;font-size:10px;color:#4a5163;margin-top:3px}
 .cal2-cell .cal2-chips,.cal2-cell .cal2-unit-mark{display:none}
 .cal2-noschool-tag{font-size:10px;text-align:center}
 .review-notice{font-size:12px;padding:5px 8px}
 .review-notice a{margin-left:10px}
}
@media(max-width:699px){
 .run-mode.cue-v2 .run-topbar{flex-wrap:wrap;gap:6px;padding:8px 12px}
 .run-mode.cue-v2 .run-tb-center{flex-basis:100%;align-items:flex-start;text-align:left}
 .run-mode.cue-v2 .run-cue-title{text-align:left;max-width:100%}
 .run-mode.cue-v2 .run-tb-right{width:100%;justify-content:space-between;gap:4px}
}
/* Teacher dashboard: date, next class, then a chronological schedule. */
#page-dashboard .dash-day{font-size:clamp(19px,2vw,25px);line-height:1.35;color:#fff;font-weight:700}
#page-dashboard .dash-hello{font-size:18px;line-height:1.5;font-weight:500;color:#dce5f6;margin-top:7px}
#page-dashboard .dash-sched-title{font-size:20px}
#page-dashboard .dash-daynav button{width:44px;height:44px}
#page-dashboard .dash-daynav-label{font-size:14px}
#page-dashboard .dash-weekstrip{border-bottom:1px solid #e2e7f0;border-top:0;padding:12px 18px}
#page-dashboard .dash-weekday{min-height:60px;border:1px solid transparent}
#page-dashboard .dash-weekday.current{background:#e7edff;border-color:#315be5}
#page-dashboard .dash-weekday-d{font-size:13px;color:#46536d}
#page-dashboard .dash-weekday-n{font-size:14px}
#page-dashboard .dash-sched-row{display:grid;grid-template-columns:145px minmax(0,1fr) auto 18px;gap:18px;min-height:84px}
.dash-sched-time{font-size:15px;font-weight:700;color:#233454;font-variant-numeric:tabular-nums}
#page-dashboard .dash-sched-name{font-size:18px}
#page-dashboard .dash-sched-sub{font-size:14px;margin-top:4px}
#page-dashboard .dash-sched-row:focus-visible{outline:3px solid #244bde;outline-offset:-3px}
/* A consistent lesson list, with progressively disclosed teaching detail. */
.lr-library-heading{margin-bottom:28px}
.lr-sheet .lr-lesson-group{border:0;padding:0;margin:30px 0}
.lr-lesson-group>header{padding:16px 20px;background:#edf2fb;border-left:4px solid #244bde;border-radius:4px 12px 12px 4px}
.lr-sheet .lr-lesson-group>header h3{font-size:22px;margin:2px 0 6px}
.lr-sheet .lr-lesson-group>header p{margin:4px 0;max-width:75ch}
.lr-sheet .lr-module-cards{display:block;border:0;overflow:visible;margin:10px 0}
.lr-sheet .lr-module-card{grid-template-columns:64px minmax(0,1fr) auto;align-items:center;border:1px solid #d9e0ed;border-radius:12px;background:#fff;padding:12px 16px;margin:8px 0;gap:14px}
.lr-sheet .lr-module-card h3{font-size:19px;margin:0}
.lr-module-card h3 a{display:flex;align-items:center;min-height:44px;color:#17274e}
.lr-module-card h3 a:hover{background:#f2f5ff;box-shadow:none}
.lr-sheet .lr-module-card p{font-size:15px;margin:2px 0 4px;color:#46536d}
.lr-module-number{font-size:14px;font-weight:700;color:#244791}
.lr-sheet .lr-pdf{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:#244791;border:1px solid #d9e0ed;border-radius:8px}
.lr-actions [data-lr-action="teach"]{background:#244bde;color:#fff;border-color:#244bde;font-weight:700}
.lr-reading-tools{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}
.lr-reading-tools button{min-height:44px;padding:8px 12px;background:#fff;border:1px solid #d9e0ed;border-radius:8px;color:#46536d;font:inherit;font-size:14px;cursor:pointer}
.lr-sheet .lr-lesson-summary{font-size:18px;line-height:1.6;max-width:72ch}
.lr-sheet :is(a,button,summary):focus-visible{outline:3px solid #244bde;outline-offset:3px}
@media(max-width:600px){
 #page-dashboard .dash-sched-row{grid-template-columns:minmax(0,1fr) auto 14px;gap:7px 12px;padding:14px 16px}
 .dash-sched-time{grid-column:1/-1;font-size:14px}
 #page-dashboard .dash-sched-name{font-size:17px}
 #page-dashboard .dash-sched-head{padding:12px;gap:8px;flex-wrap:wrap}
 #page-dashboard .dash-sched-title{font-size:18px}
 #page-dashboard .dash-weekstrip{padding:10px 8px;gap:4px}
 #page-dashboard .dash-weekday-d,#page-dashboard .dash-weekday-n{font-size:12px}
 .lr-sheet .lr-module-card{grid-template-columns:42px minmax(0,1fr) auto;gap:8px;padding:10px}
 .lr-sheet .lr-module-card h3{font-size:17px}
 .lr-sheet .lr-module-card p{font-size:14px}
 .lr-lesson-group>header{padding:14px}
 .lr-sheet .lr-lesson-group>header h3{font-size:20px}
}
.review-help-link{font-family:inherit;text-align:left;color:var(--ink);cursor:pointer;display:block}
.review-help-link .help-card-title,.review-help-link .help-card-text{display:block}
.review-help-link:focus-visible{outline:3px solid #244bde;outline-offset:3px}
#page-settings .settings-nav-item{min-height:48px;display:flex;align-items:center;font-size:15px;padding:12px 16px}
#page-settings .settings-section{border-radius:14px;border:1px solid #d9e0ed;padding:24px}
#page-settings .settings-section-title{font-size:23px;color:#17274e}
#page-settings .form-input,#page-settings .form-select{font-size:16px;min-height:44px}
.review-categories{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}
.review-categories button{display:flex;gap:12px;align-items:center;min-height:48px;padding:12px 16px;border:1px solid #c8d2e4;border-radius:10px;background:#fff;color:#233454;font:600 15px 'DM Sans',sans-serif;cursor:pointer}
.review-categories button[aria-pressed=true]{background:#17274e;color:#fff;border-color:#17274e}
.review-categories span{font-variant-numeric:tabular-nums}
[data-review-panel][hidden]{display:none!important}
#reconcile-view .reconcile-row{padding:16px;gap:16px}
#reconcile-view .rec-review-btn,#reconcile-view .rec-exception-btn{min-height:44px}
.bb-resource{display:grid;grid-template-columns:136px minmax(0,1fr);gap:20px;background:#fff;border:1px solid #d9e0ed;border-radius:14px;padding:16px;margin:12px 0}
.bb-resource h3{font-size:19px;margin:0;color:#17274e}
.bb-resource p{font-size:14px;color:#46536d;margin:6px 0}
.bb-preview{aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:#edf2fb}
.bb-preview img{width:100%;height:100%;object-fit:cover}
.bb-preview-fallback{display:flex;align-items:center;justify-content:center;color:#315290;font-size:32px}
.bb-resource summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600;color:#244791}
.bb-resource .bb-row{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding-top:12px}
.bb-resource .form-group{max-width:100%}
@media(max-width:600px){
 .bb-resource{grid-template-columns:80px minmax(0,1fr);padding:12px;gap:12px}
 .bb-resource-body{min-width:0}.bb-resource details[open]{margin-left:-92px;margin-top:12px}
 #page-settings .settings-section{padding:16px}
 .review-categories{display:grid;grid-template-columns:1fr;gap:6px}
 .review-categories button{justify-content:space-between}
 #reconcile-view .reconcile-row{flex-wrap:wrap}
}
.review-week-agenda{display:none}
.cal-tg-ev-t{font-size:12px}.cal-tg-ev-n{font-size:14px}
.cal-week-title{font-size:20px}
.cal-nav-arrow{min-height:44px;min-width:44px}
.bb-resource button{min-height:44px;min-width:44px}
#page-classes .class-card,#page-session .session-card{border-radius:14px}
@media(max-width:700px){
 #cal-week .cal-tg{display:none}
 .review-week-agenda{display:block}
 .review-agenda-day{border:1px solid #d9e0ed;border-radius:12px;padding:16px;background:#fff;margin:12px 0}
 .review-agenda-day h3{font-size:18px;margin:0 0 8px;color:#17274e}
 .review-agenda-day p{font-size:14px;color:#46536d}
 .review-agenda-day.is-off{background:repeating-linear-gradient(135deg,#edf0f5,#edf0f5 8px,#f8f9fc 8px,#f8f9fc 16px)}
 .review-agenda-day button{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;text-align:left;width:100%;min-height:56px;border:0;border-top:1px solid #e2e7f0;background:#fff;color:#233454;padding:12px 0;font:inherit;cursor:pointer}
 .review-agenda-day button strong{font-size:16px}
 .review-agenda-day button span{font-size:14px}
}
