.exam-shell{max-width:1600px;min-width:0}.exam-shell *,.exam-bank *{box-sizing:border-box}.exam-shell button,.exam-bank button{cursor:pointer}.exam-shell button:disabled,.exam-bank button:disabled{cursor:wait;opacity:.6}.exam-header,.exam-actions,.exam-score{display:flex;align-items:center;justify-content:space-between;gap:20px}.exam-header{margin-bottom:22px}.exam-header h1{font-size:clamp(25px,3vw,38px);margin:8px 0}.exam-note{font-size:14px;color:#65738a;line-height:1.6}.exam-error{padding:14px;background:#fff1ef;border-left:4px solid #D91515}.exam-setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.exam-setup-grid label{display:grid;gap:8px;margin:12px 0}.exam-setup-grid input[type=number],.exam-shell select,.exam-bank input:not([type=checkbox]),.exam-bank select,.exam-bank textarea{min-height:44px;width:100%;padding:10px;border:1px solid #ccd4df;border-radius:6px;font:inherit;min-width:0}.exam-shell .exam-check{display:flex;align-items:center;gap:10px;line-height:1.5;margin:12px 0}.exam-shell input[type=checkbox],.exam-shell input[type=radio],.exam-bank input[type=checkbox]{appearance:auto;position:static;width:20px;height:20px;min-width:20px;padding:0;flex:0 0 20px;accent-color:#D91515}.exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:22px}.exam-question h2{font:600 clamp(19px,2vw,26px)/1.5 Arial,sans-serif}.exam-stimulus{background:#f4f6f9;border-left:3px solid #0b233d;padding:18px;margin-bottom:24px;white-space:pre-wrap}.exam-stimulus img{display:block;max-width:100%;height:auto;max-height:500px;object-fit:contain;margin-top:14px}.exam-answers{border:0;padding:0;min-width:0}.exam-answers legend{color:#65738a;margin-bottom:12px}.exam-shell .exam-answer{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #ccd4df;border-radius:9px;margin:12px 0;cursor:pointer}.exam-answer.selected{border-color:#D91515;background:#fff4f3}.exam-answer span{overflow-wrap:anywhere}.exam-matching label{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;margin-bottom:15px}.exam-numbers{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;max-height:430px;overflow-y:auto;margin:18px 0;padding:3px}.exam-numbers button{min-height:38px;border:1px solid #ccd4df;background:white;border-radius:5px;font:inherit}.exam-numbers button.answered{background:#e0eaf1}.exam-numbers button.current{border:2px solid #D91515}.exam-question-map h2{font:700 18px Arial,sans-serif}.exam-question-map>button{width:100%;margin:7px 0}.exam-timer{text-align:right;font-variant-numeric:tabular-nums}.exam-timer b{display:block;font-size:26px}.exam-save-status{font-size:13px;color:#65738a}.exam-table-wrap{overflow:auto}.exam-table-wrap table{border-collapse:collapse;width:100%;text-align:left;min-width:650px}.exam-table-wrap td,.exam-table-wrap th{padding:14px;border-bottom:1px solid #e0e5ec}.exam-score{justify-content:flex-start}.exam-score>strong{font-size:56px;color:#D91515}.exam-explanation{background:#f4f6f9;padding:20px;white-space:pre-wrap}.exam-break{text-align:center;max-width:780px;margin:40px auto}.exam-clock{display:block;font:700 42px Arial;margin:30px}.exam-cover{border:1px solid #ffd4d4;background:#fff9f8;color:#D91515;flex:0 0 110px;text-align:center;padding:20px 12px;font-weight:bold;font-size:26px;border-radius:8px}.exam-cover small{font:700 12px Arial}.exam-course-card{margin-top:18px}.exam-bank-tools{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.exam-bank-tools label{display:grid;gap:6px;flex:1;min-width:150px}.exam-bank-tools button{min-height:44px}.exam-bank-editor{display:grid;grid-template-columns:1fr 1fr;gap:16px}.exam-bank-editor label{display:grid;gap:8px}.exam-bank-editor .wide{grid-column:1/-1}.exam-bank-editor textarea{min-height:110px}.exam-bank-row-prompt{max-width:600px;white-space:normal}.exam-bank-import{border:1px solid #ccd4df;padding:20px;border-radius:8px;margin:20px 0}.exam-bank-import pre{max-height:230px;overflow:auto;white-space:pre-wrap}.exam-shell [hidden],.exam-bank [hidden]{display:none!important}@media(max-width:900px){.exam-layout,.exam-setup-grid{grid-template-columns:1fr}.exam-numbers{grid-template-columns:repeat(10,1fr);max-height:220px}.exam-question-map{order:2}.exam-header{align-items:flex-start;flex-wrap:wrap}.exam-matching label{grid-template-columns:1fr}.exam-bank-editor{grid-template-columns:1fr}}@media(max-width:520px){.exam-shell{padding:18px 12px!important}.exam-shell .portal-section{padding:18px 14px}.exam-header h1{font-size:25px}.exam-numbers{grid-template-columns:repeat(6,1fr)}.exam-actions button{flex:1}.exam-score{align-items:flex-start;flex-direction:column;gap:5px}.exam-course-card{display:flex;flex-wrap:wrap}.exam-course-card .portal-primary{width:100%}.exam-timer b{font-size:23px}}
.exam-confirm-dialog{box-sizing:border-box;width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:24px;border:1px solid #ccd4df;border-radius:12px;color:#142238;background:white;box-shadow:0 20px 70px #0005;font:16px/1.6 Arial,sans-serif}.exam-confirm-dialog::backdrop{background:#10213b88}.exam-confirm-dialog h2{font:700 24px/1.3 Arial,sans-serif;margin:0 0 16px}.exam-confirm-dialog p{white-space:pre-wrap;margin:0 0 24px}.exam-confirm-actions{display:flex;gap:12px;justify-content:flex-end}.exam-confirm-actions button{font:600 16px Arial,sans-serif;min-height:44px;padding:10px 20px;border:1px solid #ccd4df;border-radius:7px;background:white;color:#142238;cursor:pointer}.exam-confirm-actions .exam-confirm-primary{background:#D91515;color:white;border-color:#D91515}.exam-confirm-actions button:focus-visible{outline:3px solid #3268ba;outline-offset:3px}
.exam-shell .exam-numbers{grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:hidden}.exam-shell .exam-numbers button{min-width:0;padding:4px 2px}@media(max-width:900px){.exam-shell .exam-numbers{grid-template-columns:repeat(10,minmax(0,1fr))}}@media(max-width:520px){.exam-shell .exam-numbers{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* Staging v72: compact questions, accessible review filters and shared course cards. */
.exam-shell .exam-prompt{font-family:inherit;font-size:18px;font-weight:700;line-height:1.5;margin:18px 0}
.exam-answers,.exam-matching,.exam-review>p,.exam-explanation{font-size:16px;line-height:1.5}
.exam-review>h2:not(.exam-prompt){font-size:22px;font-weight:700;margin-top:0}
.exam-review-tools{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,2fr);align-items:end;gap:16px;margin:18px 0}
.exam-review-tools label{display:grid;gap:8px;min-width:0;font-size:14px;font-weight:600}
.exam-review-status{font-weight:700}.exam-review-status.correct{color:#23734a}.exam-review-status.incorrect{color:#B41515}.exam-review-status.unanswered{color:#665327}
.exam-course-card{display:grid}.exam-course-card .course-cover img{width:72px;max-width:100%;height:auto;object-fit:contain}
/* B115: the viewport owns scrolling, not a capped-width panel inside it.
   Keep overflow auto for long histories, large text and short/mobile screens. */
.portal-main.exam-shell{max-width:none;min-height:0}
.exam-shell>.exam-header{margin-bottom:8px}
.exam-shell>.portal-section>.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.exam-shell>.portal-section>.section-head h2{margin:0}
.exam-setup-grid h2{margin:12px 0}
.exam-setup-grid fieldset{display:flex;flex-wrap:wrap;gap:4px 20px;min-width:0;padding:4px 12px 8px}
.exam-setup-grid fieldset .exam-check{min-height:44px;margin:0}
@media(max-width:800px){.exam-review-tools{grid-template-columns:minmax(0,1fr)}.exam-course-card{display:grid;grid-template-columns:72px minmax(0,1fr)}.exam-course-card .course-info{grid-column:2;grid-row:1}.exam-course-card .course-cover{grid-column:1;grid-row:1}.exam-course-card>.portal-primary{grid-column:1/-1}.exam-shell>header{height:auto;min-height:80px}}
