/* Standalone assessment station on every device. Legacy assessment and PAPS screens are untouched. */
  .classroomFlow[data-classroom-view="station"] .stationOx{--ox-blue:#168ee0;--ox-ink:#18324a;--ox-line:#d8e4ef;color:var(--ox-ink);max-width:1180px;margin:0 auto;font-family:inherit;min-width:0}
  .stationOx *{box-sizing:border-box;min-width:0}
  .stationOx button,.stationOx input,.stationOx select{font:inherit;letter-spacing:normal}
  .stationOx .oxButton{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:42px;padding:9px 13px;border:1px solid var(--ox-line);border-radius:9px;background:#fff;color:var(--ox-ink);line-height:1.3;font-size:13px;font-weight:800;cursor:pointer;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;box-shadow:none}
  .stationOx button:disabled{opacity:.48;cursor:default}
  .stationOx button:focus-visible,.stationOx input:focus-visible,.stationOx select:focus-visible{outline:3px solid #6bb9ef;outline-offset:2px}
  .stationOx .primary{background:var(--ox-blue);border-color:var(--ox-blue);color:white}
  .stationOx .oxPanel{padding:16px;border:1px solid var(--ox-line);border-radius:15px;background:white;box-shadow:0 3px 12px #17324d05}
  .stationOx.oxPanel{padding:18px;background:white;border:1px solid #d8e4ef;border-radius:14px}
  .stationOx .oxHeading,.stationOx .oxFooter{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
  .stationOx h2{font-size:18px;line-height:1.4;margin:0;word-break:keep-all;overflow-wrap:anywhere}
  .stationOx h3{font-size:15px;margin:24px 0 10px}
  .stationOx h3 small{font-size:12px;color:#698299}
  .stationOx .oxHint{color:#6a7f91;font-size:12px;line-height:1.65;margin:10px 0 14px;word-break:keep-all;overflow-wrap:anywhere}
  .stationOx .oxPill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;color:#147abb;background:#eaf5fe;border-radius:7px;font-size:12px}
  .stationOx .oxTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;background:#edf2f7;padding:5px;border-radius:11px;margin:12px 0}
  .stationOx .oxTabs .oxButton{background:transparent;border-color:transparent;padding:9px 4px}
  .stationOx .oxTabs .active{background:#fff;color:#147abb;border-color:var(--ox-line)}
  .stationOx .oxFieldset{border:0;padding:0;margin:0;min-width:0}
  .stationOx .oxSize{display:flex;align-items:center;gap:6px;font-size:12px;color:#58718a}
  .stationOx select{height:40px;border:1px solid var(--ox-line);border-radius:8px;background:#fff;padding:5px;color:var(--ox-ink);width:auto}
  .stationOx .oxRoster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}
  .stationOx .oxRosterStudent{display:flex;align-items:center;justify-content:space-between;gap:4px;flex-wrap:wrap;text-align:left;min-height:54px;border:1px solid var(--ox-line);border-radius:10px;background:#fff;padding:10px;color:var(--ox-ink);font-size:13px}
  .stationOx .oxRosterStudent b{overflow-wrap:anywhere}
  .stationOx .oxRosterStudent small{font-size:11px;color:#73889a;white-space:normal;overflow-wrap:anywhere}
  .stationOx .oxRosterStudent.isSelected{border-color:var(--ox-blue);background:#edf7ff;box-shadow:inset 0 0 0 1px var(--ox-blue)}
  .stationOx .oxFooter span{font-size:12px;color:#627b90}
  .stationOx .oxActionTitle{font-size:21px;margin:20px 0 16px;line-height:1.5}
  .stationOx .oxProgress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-bottom:18px}
  .stationOx .oxProgress .oxButton{min-height:36px;padding:6px 0;border-radius:7px;font-size:12px;background:#f4f7fa;color:#698197}
  .stationOx .oxProgress .done{background:#eaf5fe;color:#147abb;border-color:#b7dbf5}
  .stationOx .oxProgress .current{background:var(--ox-blue);color:white;border-color:var(--ox-blue)}
  .stationOx .oxStudents{display:grid;gap:12px}
  .stationOx .oxStudent{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px;border:1px solid var(--ox-line);border-radius:12px;background:#fff}
  .stationOx .oxStudentInfo{display:flex;flex-direction:column;gap:6px;justify-content:center}
  .stationOx .oxStudentInfo strong{font-size:16px;overflow-wrap:anywhere}
  .stationOx .oxStudentInfo span{font-size:11px;color:#708699}
  .stationOx .oxScore{font-size:25px;color:#197bbd;align-self:center;text-align:right}
  .stationOx .oxScore small{font-size:12px;margin-left:2px}
  .stationOx .oxChoices{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .stationOx .oxChoice{display:flex;align-items:center;justify-content:center;gap:10px;height:62px;border:1px solid var(--ox-line);border-radius:10px;background:#f7fafc;color:#8396a7;font-size:26px;font-weight:900;line-height:1}
  .stationOx .oxChoice small{font-size:12px}
  .stationOx .oxChoice.yes.selected{background:#e9f5ff;border:2px solid #168ee0;color:#087ac9}
  .stationOx .oxChoice.no.selected{background:#fff0f1;border:2px solid #e56b78;color:#c94c5a}
  .stationOx .oxNavigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
  .stationOx .nextGroup,.stationOx .full{display:flex;width:100%;margin-top:12px}
  .stationOx .oxStatus{font-size:13px;color:#16825c;line-height:1.6;overflow-wrap:anywhere}
  .stationOx .oxStatus:not(:empty){padding:12px;border:1px solid #bfe2d6;background:#f0fbf5;border-radius:10px;margin-top:12px}
  .stationOx .oxStatus.error{color:#ac3646;border-color:#f0c5cc;background:#fff5f6}
  .stationOx .oxRecovery{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
  .stationOx .oxCriteria{display:grid;gap:8px}
  .stationOx .oxCriteriaRow{display:grid;grid-template-columns:22px minmax(0,1fr) 38px;align-items:center;gap:7px;font-size:12px}
  .stationOx input{display:block;width:100%;min-width:0;max-width:100%;height:42px;padding:9px;border:1px solid var(--ox-line);border-radius:8px;background:#fff;color:var(--ox-ink);font-size:16px}
  .stationOx .oxCriteriaRow .oxButton,.stationOx .oxBandRow .oxButton{padding:4px;min-height:42px}
  .stationOx .oxBandLabels,.stationOx .oxBandRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 34px;gap:6px;margin-bottom:8px}
  .stationOx .oxBandLabels{font-size:11px;color:#627b90;text-align:center}
  .stationOx .oxBandRow input{text-align:center;padding:4px}
  .stationOx .add{width:100%;border-style:dashed;color:#217fb7;margin-top:10px;background:#f8fcff}

@media(min-width:769px){
  .classroomFlow[data-classroom-view="station"]:has(.stationOx)>.classroomStationControls{max-width:1180px;margin-left:auto;margin-right:auto}
  .stationOx .oxPanel{padding:24px}
  .stationOx .oxTabs{max-width:500px;margin-left:auto;margin-right:auto}
  .stationOx .oxStudents{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
  .stationOx .oxStudents[data-count="1"]{grid-template-columns:minmax(0,520px);justify-content:center}
  .stationOx .oxStudent{padding:18px}
  .stationOx .oxChoice{height:76px;font-size:30px}
  .stationOx .oxActionTitle{text-align:center;font-size:24px}
  .stationOx .oxProgress{max-width:600px;margin-left:auto;margin-right:auto;grid-template-columns:repeat(10,minmax(0,1fr))}
  .stationOx .oxRoster{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}
  .stationOx .oxConfigGrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:start}
  .stationOx .oxConfigGrid h3{margin-top:12px}
  .stationOx .oxNavigation{max-width:600px;margin-left:auto;margin-right:auto}
  .stationOx .nextGroup,.stationOx .full{max-width:600px;margin-left:auto;margin-right:auto}
}
@media(max-width:768px){
  .classroomFlow[data-classroom-view="station"] .stationOx{max-width:680px}
}

.stationOx .oxSettings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px;padding:16px;background:#f6faff;border:1px solid var(--ox-line);border-radius:12px;margin:16px 0}
.stationOx .oxSettings label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800}
.stationOx .oxSettings select{width:100%;height:44px;font-size:14px;padding:8px;color:var(--ox-ink)}
.stationOx .oxConfigGrid.numericConfig{grid-template-columns:minmax(0,1fr)}
.stationOx .oxGenderBands{display:grid;gap:18px}
.stationOx .oxBandSet{padding:14px;border:1px solid var(--ox-line);border-radius:10px}
.stationOx .oxBandSet h3{margin:0 0 14px}
.stationOx .oxMeasurement{grid-column:1/-1;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center}
.stationOx .oxMeasurement.isTime{grid-template-columns:minmax(0,1fr)}
.stationOx .oxMeasurement .oxButton{font-size:24px;padding:4px;min-height:52px}
.stationOx .oxMeasurementInput{display:flex;align-items:center;gap:8px;width:100%;font-size:14px}
.stationOx .oxMeasurement input{height:52px;font-size:24px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}
.stationOx .oxMeasurementInput>span:last-child{flex-shrink:0}
.stationOx .oxMeasurementFeedback{grid-column:1/-1;margin:0;color:#627b90;font-size:12px;line-height:1.6;overflow-wrap:anywhere;min-height:20px}
.stationOx input[aria-invalid="true"]{border-color:#d75d6f;background:#fff7f8}
.stationOx .oxSrOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:769px){
 .stationOx .numericConfig .oxGenderBands.separate{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stationOx .numericConfig .oxGenderBands:not(.separate){max-width:680px;margin-left:auto;margin-right:auto;width:100%}
}
@media(max-width:380px){
 .stationOx .oxPanel{padding:12px}
 .stationOx .oxBandSet{padding:10px}
 .stationOx .oxMeasurement{grid-template-columns:38px minmax(0,1fr) 38px;gap:6px}
 .stationOx .oxMeasurement.isTime{grid-template-columns:minmax(0,1fr)}
 .stationOx .oxBandLabels,.stationOx .oxBandRow{gap:4px;grid-template-columns:repeat(3,minmax(0,1fr)) 30px}
}

/* 12233: PC/iPad O/X matrix only. Phone stepper and numeric modes retain the rules above. */
.stationOx .oxMatrixPanel{min-width:0;max-width:100%;margin-left:auto;margin-right:auto}
.stationOx .oxMatrixPanel[data-count="1"]{max-width:600px}
.stationOx .oxMatrixPanel[data-count="2"]{max-width:760px}
.stationOx .oxMatrixMeta{display:block;margin-top:4px;color:#617e95;font-size:12px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.stationOx .oxMatrixHint{font-size:12px;line-height:1.65;color:#607b91;margin:10px 0 14px;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.stationOx .oxMatrixScroll{position:relative;isolation:isolate;width:100%;min-width:0;max-width:100%;max-height:max(320px,calc(100vh - 120px));max-height:max(320px,calc(100dvh - 120px));overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding:120px 12px 12px 192px;border:1px solid var(--ox-line);border-radius:11px;background:#fff}
.stationOx .oxMatrixScroll:focus-visible{outline:3px solid #6bb9ef;outline-offset:3px}
.stationOx .oxMatrixTable{width:100%;min-width:calc(180px + var(--ox-students,1) * 112px);max-width:none;margin:0;table-layout:fixed;border-collapse:separate;border-spacing:0;color:var(--ox-ink);font-size:13px;line-height:1.45}
.stationOx .oxMatrixTable .oxMatrixCriterionCol{width:180px}
.stationOx .oxMatrixTable .oxMatrixStudentCol{width:auto}
.stationOx .oxMatrixTable th,.stationOx .oxMatrixTable td{box-sizing:border-box;padding:4px 8px;border:0;border-right:1px solid var(--ox-line);border-bottom:1px solid var(--ox-line);vertical-align:middle;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;text-align:center;background:#fff}
.stationOx .oxMatrixTable tr>:last-child{border-right:0}
.stationOx .oxMatrixTable tbody tr:last-child>*{border-bottom:0}
.stationOx .oxMatrixTable thead th{position:sticky;top:0;z-index:3;padding:10px 8px;background:#edf6fe;box-shadow:0 1px 0 #c4d8e9;font-weight:800}
.stationOx .oxMatrixTable .oxMatrixCorner{left:0;z-index:4;padding-left:12px;text-align:left}
.stationOx .oxMatrixTable .oxMatrixCriterion{position:sticky;left:0;z-index:2;padding:6px 12px;text-align:left;box-shadow:1px 0 0 #c4d8e9;font-weight:800}
.stationOx .oxMatrixTable tbody tr:nth-child(even)>*{background:#f5faff}
.stationOx .oxMatrixNumber{display:block;color:#63829c;font-size:11px;line-height:1.3;margin-bottom:3px;font-variant-numeric:tabular-nums}
.stationOx .oxMatrixCriterionName{display:block;color:var(--ox-ink);font-size:13px;line-height:1.4;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.stationOx .oxMatrixName{display:block;font-size:14px;line-height:1.4;color:var(--ox-ink);white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.stationOx .oxMatrixGender,.stationOx .oxMatrixSummary{display:block;font-size:11px;line-height:1.4;font-weight:600;color:#617b91;margin-top:3px;white-space:normal;overflow-wrap:anywhere}
.stationOx .oxMatrixPoints{display:block;font-size:22px;line-height:1.25;font-weight:900;color:#147bbd;margin-top:5px;font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere}
.stationOx .oxMatrixPoints small{font-size:11px;margin-left:2px;font-weight:700}
.stationOx .oxMatrixChoices{display:flex;align-items:center;justify-content:center;gap:6px;min-width:94px;width:100%;margin:0}
.stationOx .oxMatrixChoice{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;padding:0;border:2px solid #d6e3ee;border-radius:8px;box-shadow:none;background:#fff;color:#71879c;font:inherit;font-size:22px;font-weight:900;line-height:1;text-align:center;white-space:nowrap;cursor:pointer;touch-action:manipulation}
.stationOx .oxMatrixChoice.yes{color:#187bb9;background:#f6fbff;border-color:#c9deed}
.stationOx .oxMatrixChoice.no{color:#ad6570;background:#fffafb;border-color:#ead9de}
.stationOx .oxMatrixChoice.yes.selected{color:#fff;background:#168ee0;border-color:#0878c2;box-shadow:0 1px 3px #0878c21a}
.stationOx .oxMatrixChoice.no.selected{color:#fff;background:#cf5364;border-color:#b53f51;box-shadow:0 1px 3px #b53f511a}
.stationOx .oxMatrixChoice:focus-visible{outline:3px solid #164b74;outline-offset:2px}
@media(hover:hover){
 .stationOx .oxMatrixChoice.yes:not(.selected):not(:disabled):hover{background:#e7f4ff;border-color:#68aeda}
 .stationOx .oxMatrixChoice.no:not(.selected):not(:disabled):hover{background:#fff0f3;border-color:#d98c98}
}

/* 12234: selection actions stay above the roster; criteria are centered without changing table semantics. */
.stationOx .oxSelectionToolbar{position:sticky;top:8px;top:max(8px,env(safe-area-inset-top));z-index:5;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;max-width:100%;margin:0 0 12px;padding:10px 12px;border:1px solid var(--ox-line);border-radius:10px;background:#f6faff;box-shadow:0 3px 10px #17324d0d}
.stationOx .oxSelectionCount{flex:1 1 auto;color:#52728b;font-size:13px;font-weight:800;line-height:1.5;overflow-wrap:anywhere}
.stationOx .oxSelectionToolbar .oxButton{flex:0 1 auto;width:auto;max-width:100%;min-height:44px;margin:0;align-items:center;justify-content:center;text-align:center}
.stationOx .oxRoster,.stationOx .oxStudents{grid-auto-flow:row;direction:ltr}
.stationOx .oxRosterStudent{scroll-margin-top:88px}
.stationOx .oxMatrixTable{direction:ltr}
.stationOx .oxMatrixTable .oxMatrixCorner{padding:10px 12px;text-align:center;vertical-align:middle}
.stationOx .oxMatrixTable .oxMatrixCriterion{text-align:center;vertical-align:middle}
.stationOx .oxMatrixNumber,.stationOx .oxMatrixCriterionName{text-align:center}
@media(min-width:921px){
 html[data-pe-shell="11646"]:not(.pe87Ipad):not(.pe87IpadRuntime):not(.pe87FoldWide) .stationOx .oxSelectionToolbar{top:calc(var(--pe-f-header-height,76px) + 8px)}
 html[data-pe-shell="11646"]:not(.pe87Ipad):not(.pe87IpadRuntime):not(.pe87FoldWide) .stationOx .oxRosterStudent{scroll-margin-top:calc(var(--pe-f-header-height,76px) + 88px)}
}

/* 12235: per-student O/X bulk actions; existing table and phone layouts are unchanged. */
.stationOx .oxStudentBulk{display:flex;align-items:stretch;justify-content:center;flex-wrap:wrap;gap:4px;width:100%;max-width:220px;margin:8px auto 0}
.stationOx .oxStudentBulk .oxBulkButton{display:inline-flex;align-items:center;justify-content:center;flex:1 1 44px;width:auto;min-width:44px;max-width:100%;min-height:44px;margin:0;padding:4px 2px;font-size:12px;line-height:1.3;text-align:center;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;touch-action:manipulation}
.stationOx .oxMatrixScroll{scroll-padding-top:200px}

/* 12236: approved workstation layout, gated to standalone PC/iPad assessment only. */
.classroomFlow[data-classroom-view="station"]:has(.stationOx.oxWide){gap:12px;min-width:0;max-width:100%;overflow-x:clip;padding-bottom:20px}
.classroomFlow[data-classroom-view="station"]:has(.stationOx.oxWide)>.classroomFlowHead{min-width:0;gap:12px;padding:12px 16px;border-radius:12px}
.classroomFlow[data-classroom-view="station"]:has(.stationOx.oxWide)>.classroomFlowHead h1{font-size:22px;line-height:1.4}
.classroomFlow[data-classroom-view="station"]:has(.stationOx.oxWide)>.classroomFlowHead p{display:none}
.classroomFlow[data-classroom-view="station"]:has(.stationOx.oxWide)>.classroomStationControls{width:100%;max-width:none;grid-template-columns:minmax(100px,1fr) minmax(72px,.65fr) minmax(72px,.65fr) minmax(160px,2.2fr) auto;gap:8px;padding:12px 14px;border-radius:11px;margin:0;align-items:end}
.classroomFlow[data-classroom-view="station"]:has(.stationOx.oxWide)>.classroomStationControls .wide{grid-column:auto}
.classroomFlow[data-classroom-view="station"]:has(.stationOx.oxWide)>.classroomStationControls label{gap:4px}
.classroomFlow[data-classroom-view="station"]:has(.stationOx.oxWide)>.classroomStationControls select{height:44px;min-width:0;padding:6px 8px;font-size:14px}
.classroomFlow[data-classroom-view="station"]:has(.stationOx.oxWide)>.classroomStationControls>button{height:auto;min-height:44px;padding:8px 12px;grid-column:auto;align-items:center;justify-content:center;text-align:center}
.classroomFlow[data-classroom-view="station"] .stationOx.oxWide{width:100%;max-width:none;min-width:0;margin:0;overflow-x:clip}
.stationOx.oxWide .oxButton{min-height:44px}
.stationOx.oxWide .oxFieldset{width:100%;min-width:0;max-width:100%}
.stationOx.oxWide .oxWorkspaceToolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;width:100%;margin:0 0 12px;padding:12px 16px;border:1px solid var(--ox-line);border-radius:11px;background:#fff}
.stationOx.oxWide .oxWorkspaceToolbar h2{font-size:18px;line-height:1.4;margin:0}
.stationOx.oxWide .oxWorkspaceMeta{display:block;margin-top:4px;font-size:12px;line-height:1.5;color:#607b91;word-break:keep-all;overflow-wrap:anywhere}
.stationOx.oxWide .oxWorkspaceActions,.stationOx.oxWide .oxMatrixActions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-left:auto}
.stationOx.oxWide .oxWorkspaceActions .oxButton,.stationOx.oxWide .oxMatrixActions .oxButton{width:auto;max-width:100%;margin:0;white-space:normal}
.stationOx.oxWide .oxPanel{width:100%;max-width:none;min-width:0;padding:18px;border-radius:12px}
.stationOx.oxWide .oxMatrixPanel,.stationOx.oxWide .oxMatrixPanel[data-count="1"],.stationOx.oxWide .oxMatrixPanel[data-count="2"]{width:100%;max-width:none;margin:0;padding:0;overflow:hidden;border-color:#ccdfed}
.stationOx.oxWide .oxMatrixPanel>.oxHeading{gap:10px 14px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--ox-line)}
.stationOx.oxWide .oxMatrixPanel>.oxHeading h2{font-size:16px;line-height:1.45}
.stationOx.oxWide .oxMatrixMeta{font-size:11px;margin-top:3px;line-height:1.4}
.stationOx.oxWide .oxMatrixHint{margin:8px 16px;font-size:11px;line-height:1.55}
.stationOx.oxWide .oxMatrixScroll{width:100%;min-width:0;max-width:100%;max-height:max(320px,calc(100vh - 260px));max-height:max(320px,calc(100dvh - 260px));overflow:auto;border:0;border-radius:0;overscroll-behavior:contain;scroll-padding:200px 12px 12px 220px}
.stationOx.oxWide .oxMatrixTable{width:100%;min-width:calc(208px + var(--ox-students,1) * 116px);max-width:none;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:13px}
.stationOx.oxWide .oxMatrixTable .oxMatrixCriterionCol{width:208px}
.stationOx.oxWide .oxMatrixTable[data-count="1"] .oxMatrixCriterionCol{width:56%}
.stationOx.oxWide .oxMatrixTable[data-count="2"] .oxMatrixCriterionCol{width:40%}
.stationOx.oxWide .oxMatrixTable th,.stationOx.oxWide .oxMatrixTable td{padding:2px 8px;text-align:center;vertical-align:middle}
.stationOx.oxWide .oxMatrixTable thead th{position:sticky;top:0;z-index:3;padding:9px 8px;background:#eaf4fd}
.stationOx.oxWide .oxMatrixTable .oxMatrixCorner{left:0;z-index:4;padding:9px 12px;text-align:center;vertical-align:middle}
.stationOx.oxWide .oxMatrixTable .oxMatrixCriterion{position:sticky;left:0;z-index:2;padding:4px 12px;text-align:center;vertical-align:middle}
.stationOx.oxWide .oxMatrixTable tbody tr:nth-child(even)>*{background:#f7faff}
.stationOx.oxWide .oxMatrixCriterionInner{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;min-width:0;max-width:100%}
.stationOx.oxWide .oxMatrixNumber{display:inline-flex;align-items:center;justify-content:center;flex:0 0 23px;width:23px;height:23px;margin:0;border:1px solid #d5e3ee;border-radius:6px;font-size:11px;line-height:1;color:#648099;text-align:center}
.stationOx.oxWide .oxMatrixCriterionName{display:block;min-width:0;max-width:100%;font-size:13px;line-height:1.45;text-align:center;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.stationOx.oxWide .oxMatrixName{font-size:14px;line-height:1.4}
.stationOx.oxWide .oxMatrixGender{margin-top:3px;font-size:11px;line-height:1.3}
.stationOx.oxWide .oxMatrixResult{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px 7px;margin-top:4px;min-width:0}
.stationOx.oxWide .oxMatrixResult .oxMatrixSummary{margin:0;font-size:11px;line-height:1.4}
.stationOx.oxWide .oxMatrixResult .oxMatrixPoints{margin:0;font-size:14px;line-height:1.4}
.stationOx.oxWide .oxMatrixResult .oxMatrixPoints small{font-size:11px}
.stationOx.oxWide .oxStudentBulk{max-width:184px;margin-top:6px;gap:4px}
.stationOx.oxWide .oxMatrixChoices{gap:8px;min-width:96px;align-items:center;justify-content:center}
.stationOx.oxWide .oxMatrixChoice{width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;padding:0;border-radius:7px;font-size:21px;line-height:1;align-items:center;justify-content:center}
.stationOx.oxWide .oxMatrixFootnote{margin:0;padding:10px 16px;border-top:1px solid var(--ox-line);font-size:11px;line-height:1.5}
.stationOx.oxWide .oxStatus:not(:empty){margin:0 0 12px;padding:10px 14px;font-size:12px}
.stationOx.oxWide .oxWorkspaceDialog{position:fixed;inset:0;box-sizing:border-box;width:min(960px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);min-width:0;margin:auto;padding:0;border:1px solid #c5d8e6;border-radius:14px;background:#fff;color:var(--ox-ink);box-shadow:0 18px 70px #172f4a33;overflow:hidden}
.stationOx.oxWide .oxWorkspaceDialog[open]{display:flex;flex-direction:column}
.stationOx.oxWide .oxWorkspaceDialog::backdrop{background:#182e4873;backdrop-filter:blur(2px)}
.stationOx.oxWide .oxSelectionDialog{width:min(880px,calc(100vw - 32px))}
.stationOx.oxWide .oxDialogHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:16px 20px;border-bottom:1px solid var(--ox-line);background:#fff}
.stationOx.oxWide .oxDialogHeader h2{font-size:19px;line-height:1.4;margin:0}
.stationOx.oxWide .oxDialogHeader>.oxButton{flex:0 0 auto;min-width:44px;min-height:44px;font-size:20px;padding:4px 10px;line-height:1}
.stationOx.oxWide .oxDialogBody{flex:1 1 auto;min-height:0;min-width:0;max-width:100%;padding:18px 20px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.stationOx.oxWide .oxDialogBody>.oxPanel,.stationOx.oxWide .oxDialogBody>.oxFieldset>.oxPanel{margin:0;padding:0;border:0;border-radius:0;box-shadow:none}
.stationOx.oxWide .oxDialogFooter{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;flex:0 0 auto;margin:0;padding:12px 20px;border-top:1px solid var(--ox-line);background:#fff;box-shadow:0 -3px 12px #17324d06}
.stationOx.oxWide .oxDialogFooter .oxButton{width:auto;max-width:100%;min-height:44px;margin:0}
.stationOx.oxWide .oxWorkspaceDialog .oxSelectionToolbar{top:0;margin-top:0;z-index:3}
.stationOx.oxWide .oxWorkspaceDialog .oxRosterStudent{scroll-margin-top:88px}
.stationOx.oxWide .oxWorkspaceDialog .oxRoster{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));grid-auto-flow:row}
.stationOx.oxWide .oxWorkspaceDialog .oxConfigGrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;align-items:start}
.stationOx.oxWide .oxWorkspaceDialog .oxConfigGrid.numericConfig{grid-template-columns:minmax(0,1fr)}
.stationOx.oxWide .oxWorkspaceDialog .oxSettings{margin:12px 0;padding:12px}
.stationOx.oxWide .oxWorkspaceDialog .oxCriteriaRow>span{text-align:center}
@media(min-width:921px){
 html[data-pe-shell="11646"]:not(.pe87Ipad):not(.pe87IpadRuntime):not(.pe87FoldWide) .stationOx.oxWide .oxWorkspaceDialog .oxSelectionToolbar{top:0}
 html[data-pe-shell="11646"]:not(.pe87Ipad):not(.pe87IpadRuntime):not(.pe87FoldWide) .stationOx.oxWide .oxWorkspaceDialog .oxRosterStudent{scroll-margin-top:88px}
}
@media(max-width:1100px){
 .stationOx.oxWide .oxMatrixTable{min-width:calc(188px + var(--ox-students,1) * 116px)}
 .stationOx.oxWide .oxMatrixTable .oxMatrixCriterionCol{width:188px}
 .stationOx.oxWide .oxMatrixTable[data-count="1"] .oxMatrixCriterionCol{width:52%}
 .stationOx.oxWide .oxMatrixTable[data-count="2"] .oxMatrixCriterionCol{width:38%}
 .stationOx.oxWide .oxMatrixScroll{scroll-padding-left:200px}
}
@media(max-width:880px){
 .stationOx.oxWide .oxWorkspaceToolbar{padding:11px 12px}
 .stationOx.oxWide .oxWorkspaceToolbar h2{font-size:16px}
 .stationOx.oxWide .oxWorkspaceActions,.stationOx.oxWide .oxMatrixActions{gap:6px}
 .stationOx.oxWide .oxMatrixPanel>.oxHeading{padding:11px 12px}
 .stationOx.oxWide .oxMatrixTable{min-width:calc(176px + var(--ox-students,1) * 116px)}
 .stationOx.oxWide .oxMatrixTable .oxMatrixCriterionCol{width:176px}
 .stationOx.oxWide .oxMatrixTable[data-count="1"] .oxMatrixCriterionCol{width:52%}
 .stationOx.oxWide .oxMatrixTable[data-count="2"] .oxMatrixCriterionCol{width:38%}
 .stationOx.oxWide .oxMatrixScroll{scroll-padding-left:188px}
 .stationOx.oxWide .oxMatrixCriterionInner{gap:6px}
 .stationOx.oxWide .oxMatrixTable .oxMatrixCriterion{padding:4px 8px}
 .stationOx.oxWide .oxDialogHeader{padding:14px 16px}
 .stationOx.oxWide .oxDialogBody{padding:16px}
 .stationOx.oxWide .oxDialogFooter{padding:12px 16px}
}
@media(max-width:700px){
 .classroomFlow[data-classroom-view="station"]:has(.stationOx.oxWide)>.classroomStationControls{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px}
 .classroomFlow[data-classroom-view="station"]:has(.stationOx.oxWide)>.classroomStationControls .wide{grid-column:span 2}
 .stationOx.oxWide .oxWorkspaceDialog .oxConfigGrid{grid-template-columns:minmax(0,1fr)}
 .stationOx.oxWide .oxWorkspaceDialog .numericConfig .oxGenderBands.separate{grid-template-columns:minmax(0,1fr)}
 .stationOx.oxWide .oxMatrixTable[data-count="2"] .oxMatrixCriterionCol{width:176px}
}

/* 12237: stable wide shell before data arrives, eight-across selection, and read-only class results. */
.classroomFlow[data-classroom-view="station"].oxWideStation{gap:12px;min-width:0;max-width:100%;overflow-x:clip;padding-bottom:20px}
.classroomFlow[data-classroom-view="station"].oxWideStation>.classroomFlowHead{min-width:0;gap:12px;padding:12px 16px;border-radius:12px}
.classroomFlow[data-classroom-view="station"].oxWideStation>.classroomFlowHead h1{font-size:22px;line-height:1.4}
.classroomFlow[data-classroom-view="station"].oxWideStation>.classroomFlowHead p{display:none}
.classroomFlow[data-classroom-view="station"].oxWideStation>.classroomStationControls{width:100%;max-width:none;grid-template-columns:minmax(100px,1fr) minmax(72px,.65fr) minmax(72px,.65fr) minmax(160px,2.2fr) auto;gap:8px;padding:12px 14px;border-radius:11px;margin:0;align-items:end}
.classroomFlow[data-classroom-view="station"].oxWideStation>.classroomStationControls .wide{grid-column:auto}
.classroomFlow[data-classroom-view="station"].oxWideStation>.classroomStationControls label{gap:4px}
.classroomFlow[data-classroom-view="station"].oxWideStation>.classroomStationControls select{height:44px;min-width:0;padding:6px 8px;font-size:14px}
.classroomFlow[data-classroom-view="station"].oxWideStation>.classroomStationControls>button{height:auto;min-height:44px;padding:8px 12px;grid-column:auto;align-items:center;justify-content:center;text-align:center}
.stationOx.oxWide .oxRoster,.stationOx.oxWide .oxWorkspaceDialog .oxRoster{grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-flow:row;direction:ltr;gap:6px;min-width:0;max-width:100%}
.stationOx.oxWide .oxRosterStudent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;max-width:100%;min-height:60px;padding:8px 4px;text-align:center;font-size:12px;line-height:1.4;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.stationOx.oxWide .oxRosterStudent b{max-width:100%;font-size:12px;line-height:1.4;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.stationOx.oxWide .oxRosterStudent small{max-width:100%;font-size:10px;line-height:1.4;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.stationOx .oxResultsPanel{min-width:0;max-width:100%}
.stationOx .oxResultsHeading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.stationOx .oxResultsHeading h2{margin:0;font-size:18px;line-height:1.4;word-break:keep-all;overflow-wrap:anywhere}
.stationOx .oxResultsHeading .oxMatrixActions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;max-width:100%;margin-left:auto}
.stationOx .oxResultsHeading .oxMatrixActions .oxButton{min-height:44px;max-width:100%;margin:0;align-items:center;justify-content:center;text-align:center}
.stationOx .oxResultSummary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin:0 0 12px;color:#607b91;font-size:12px;line-height:1.6;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.stationOx .oxResultsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;direction:ltr;gap:10px;min-width:0;max-width:100%}
.stationOx .oxResultCard{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0;max-width:100%;min-height:124px;padding:13px 10px;border:1px solid var(--ox-line);border-radius:10px;background:#f8fcff;text-align:center}
.stationOx .oxResultIdentity{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 6px;min-width:0;max-width:100%}
.stationOx .oxResultNumber{font-size:12px;line-height:1.4;color:#648099;white-space:normal;overflow-wrap:anywhere}
.stationOx .oxResultName{font-size:14px;font-weight:800;line-height:1.4;color:var(--ox-ink);white-space:normal;word-break:normal;overflow-wrap:anywhere}
.stationOx .oxResultScore{display:block;margin:0;color:#147bbd;font-size:26px;font-weight:900;line-height:1.3;font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere}
.stationOx .oxResultScore strong{font:inherit;color:inherit}
.stationOx .oxResultScore small{font-size:12px;margin-left:3px;font-weight:700}
.stationOx .oxResultBadge{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:3px 6px;border:1px solid #dce5ec;border-radius:5px;background:#f0f4f7;color:#6c8092;font-size:10px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
.stationOx .oxResultCard.isMissing{background:#fff;border-style:dashed}
.stationOx .oxResultCard.isMissing .oxResultScore{color:#7c8fa0;font-size:15px;font-weight:700}
.stationOx .oxResultCard.isTransferred{background:#f6f8fa}
.stationOx .oxResultsMessage{margin:12px 0;padding:18px 14px;border:1px solid var(--ox-line);border-radius:9px;background:#f6faff;color:#607b91;font-size:13px;line-height:1.7;text-align:center;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.stationOx .oxResultsMessage.error{border-color:#f0c5cc;background:#fff5f6;color:#ac3646}
.stationOx .oxResultsPending{margin:0 0 12px;padding:10px 12px;border:1px solid #eed59d;border-radius:9px;background:#fff9eb;color:#8b6529;font-size:12px;line-height:1.7;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.stationOx.oxWide .oxResultsGrid{grid-template-columns:repeat(8,minmax(0,1fr))}
@media(max-width:1100px){
 .stationOx.oxWide .oxResultsGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:700px){
 .classroomFlow[data-classroom-view="station"].oxWideStation>.classroomStationControls{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px}
 .classroomFlow[data-classroom-view="station"].oxWideStation>.classroomStationControls .wide{grid-column:span 2}
}
