/* Palette and editorial layout from the existing FEx SAQ site, kept local. */
:root {
  --bg:#f7f8f4; --panel:#fff; --panel2:#f1f4ed; --soft:#f1f4ed;
  --text:#24352c; --text2:#49594b; --muted:#62715f;
  --line:#dce3d6; --line2:#bdcbb5;
  --olive:#435608; --olive2:#2f3d05; --deep:#20392c; --olive-soft:#eaf0df;
  --gold:#d8b23c; --gold-soft:#f2e3ae; --yellow:#f2e3ae; --red:#b3402a;
  --warning-bg:#fff6da; --warning-text:#765400; --error-bg:#fff0eb;
  --radius:7px; --radius-sm:5px; --radius-lg:9px;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --display:Georgia,"Times New Roman",serif;
  color-scheme:light; font-family:var(--sans); font-size:16px; line-height:1.6;
  background:var(--bg); color:var(--text);
}
body.dark {
  --bg:#19251e; --panel:#213127; --panel2:#293a2e; --soft:#293a2e;
  --text:#edf2e7; --text2:#d1dccc; --muted:#b1c0aa;
  --line:#3e5240; --line2:#607758; --olive:#bfd38d; --olive2:#d7e5b5;
  --olive-soft:#34482c; --warning-bg:#463d21; --warning-text:#ecd497; --error-bg:#4b2a24;
  --red:#f1a38f; color-scheme:dark;
}
html {scroll-behavior:smooth;scroll-padding-top:24px}
body {background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6}
h1,h2 {font-family:var(--display);font-weight:400;letter-spacing:-.03em;color:var(--text)}
h1 {font-size:clamp(34px,3.6vw,48px);line-height:1.18;margin:0 0 16px}
h2 {font-size:28px;line-height:1.25;margin:0 0 18px}
h3 {font-family:var(--sans);font-size:17px;font-weight:600;letter-spacing:-.015em}
p {color:var(--text2);line-height:1.75}
button,.button {border-radius:5px;min-height:42px;padding:10px 16px;font-size:14px;font-weight:600;box-shadow:none}
button.primary,.button.primary {min-height:44px;padding:11px 18px;background:var(--olive);border-color:var(--olive);color:#fff}
body.dark button.primary,body.dark .button.primary {color:#203018}
button:hover:not(:disabled),.button:hover {border-color:var(--line2)}
button.primary:hover:not(:disabled),.button.primary:hover {background:var(--olive2);border-color:var(--olive2)}
input,select,textarea {border-radius:5px;font-size:15px;line-height:1.6;padding:11px 13px;background:var(--panel);border-color:var(--line);color:var(--text)}
label {font-size:13px;font-weight:600;color:var(--text)}
:where(button,a,input,textarea,select,summary):focus-visible {outline:3px solid #8b7131;outline-offset:4px}
.environment {padding:7px max(28px,calc((100vw - 1280px)/2));background:var(--deep);font-size:10px;letter-spacing:.09em}
.environment span {font-size:11px;color:#d5dfcd;letter-spacing:0}
.account-rail {min-width:0;padding:42px 24px 42px 0;border-right:1px solid var(--line)}
.sidebar {display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:0;min-width:0;position:sticky;top:24px;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.sidebar>* {flex-shrink:0}
.sidebar-label {font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 12px 13px}
.sidebar a {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 12px;font-size:13px;font-weight:500;color:var(--text2);border-radius:5px;text-decoration:none;border-left:3px solid transparent}
.sidebar .notification-count {display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1.4}
.sidebar a:hover {background:var(--panel2);color:var(--olive)}
.sidebar a[aria-current=page] {background:var(--olive-soft);border-left-color:var(--olive);color:var(--olive);font-weight:600}
.sidebar .sidebar-logout {margin-top:18px;padding:11px 15px;text-align:left;font-size:13px;font-weight:500;color:var(--text2);background:transparent;border:1px solid var(--line);border-radius:5px}
.sidebar .sidebar-logout:hover {background:var(--panel2);color:var(--olive)}
.account-menu-toggle {display:none}
.account-toolbar {width:calc(100% - 56px);max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid var(--line)}
.workspace-label {font-size:13px;font-weight:600;color:var(--text)}
.workspace-label span {display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:3px}
.toolbar-actions {display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.session-controls {gap:9px;font-size:12px}
.session-controls label {font-size:11px;font-weight:500;color:var(--muted)}
.session-controls select {font-size:12px;max-width:230px;padding:8px 10px;min-height:40px}
.session-controls button {font-size:12px;min-height:40px;padding:8px 11px}
.app-layout {display:grid;grid-template-columns:210px minmax(0,1fr);gap:36px;max-width:1280px;width:calc(100% - 56px);margin:0 auto}
main {padding:42px 0 65px;min-width:0}
.page-head {padding:0 0 30px;margin-bottom:32px;gap:24px;border-bottom:1px solid var(--line);align-items:center}
.page-head p {font-size:16px;line-height:1.75;max-width:760px}
.page-head>.row {gap:9px}
.panel {border-radius:7px;box-shadow:none;border-color:var(--line);padding:24px;background:var(--panel)}
.section-gap {margin-top:30px}
.grid {gap:24px}
.grid>.metric {border:0;border-top:2px solid var(--line2);background:transparent;border-radius:0;padding:22px 0 8px;box-shadow:none;display:flex;flex-direction:column;align-items:flex-start}
.metric strong {font-family:var(--display);font-size:45px;font-weight:400;letter-spacing:-.03em;line-height:1.2;color:var(--olive)}
.metric span {font-size:11px;text-transform:uppercase;letter-spacing:.075em;color:var(--muted);margin-top:8px}
#studyProgress {background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:20px 0}
#studyProgress>summary {font-family:var(--display);font-size:25px;font-weight:400;letter-spacing:-.02em;color:var(--text)}
#studyProgress>summary::marker {color:var(--olive);font-size:16px}
#studyProgress>div {margin-top:20px}
.progress-columns {gap:40px}
.progress-columns>.panel {background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:25px 0 0}
#markedProgress>h2 {font-size:28px;margin-top:35px}
#practiceSuggestions {background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:25px 0 0}
.suggestion {background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:20px}
.topic-row {margin:20px 0}
.topic-row strong {font-size:14px;font-weight:600}
.topic-row meter {height:10px;accent-color:var(--olive);margin:8px 0}
.topic-row small {font-size:12px;color:var(--muted)}
.activity-table {font-size:14px;min-width:600px}
.activity-table th {border:0;border-bottom:1px solid var(--line);background:var(--panel2);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;font-weight:650;padding:12px}
.activity-table td {border:0;border-bottom:1px solid var(--line);padding:14px 12px;color:var(--text2)}
.activity-table .button {border:0;padding:0;min-height:32px;font-size:14px;color:var(--olive);justify-content:flex-start;background:transparent;text-decoration:underline;text-underline-offset:4px}
.callout {border-left-width:3px;border-left-color:var(--gold);border-radius:0 5px 5px 0;background:var(--warning-bg);color:var(--warning-text);font-size:14px}
.callout.good {background:var(--olive-soft);border-color:var(--olive);color:var(--text2)}
.callout.error {background:var(--error-bg);border-color:var(--red);color:var(--red)}
.pill,.pill.released,.pill.archived {border:1px solid var(--line2);background:var(--olive-soft);color:var(--olive);border-radius:4px;font-size:11px;font-weight:600}
.pill.marking,.pill.warning {background:var(--warning-bg);color:var(--warning-text);border-color:var(--line2)}
.stem {background:var(--panel2);border:0;border-left:3px solid var(--line2);border-radius:0;padding:20px;font-size:16px;line-height:1.8}
.response-text {background:var(--panel2);border-color:var(--line);border-radius:5px;line-height:1.75}
.response-text .annotation-highlight {background:var(--gold-soft);color:#24352c}
.annotation-note {background:var(--panel2);border-left-color:var(--olive);color:var(--text2)}
.report-feedback,.comment,.chat-bubble {background:var(--panel2);color:var(--text2);border-radius:5px}
.chat-bubble.sent {background:var(--olive-soft)}
.part-nav button[aria-current=step] {background:var(--olive-soft);border-color:var(--line2);color:var(--olive)}
.part-label {color:var(--olive);font-size:11px;letter-spacing:.08em}
.attempt-row h2 {font-family:var(--sans);font-size:18px;font-weight:600;letter-spacing:-.02em}
.board-post,.member-card,.question-choice {border-radius:5px;border-color:var(--line);background:var(--panel)}
.board-post h3 {font-size:20px}
.empty {border-radius:5px;border-color:var(--line2);background:transparent;font-size:15px}
.contact-link {border-radius:5px}
.contact-link.selected {background:var(--olive-soft);color:var(--olive)}
#notice {border-radius:5px;background:var(--deep);box-shadow:none}
#notice.error {background:#833c2e}
/* Match the persistent footer on the public website subpages. */
.editorial-footer {background:#20392c;color:#cad6c1;padding:34px max(28px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:13px;line-height:1.7}
.editorial-footer strong {display:block;color:#fff;font-size:16px;font-weight:600;margin-bottom:4px}
.editorial-footer p {margin:0;max-width:640px;color:inherit;line-height:1.7}
.editorial-footer a {color:#eef4e6;text-decoration:underline;text-underline-offset:4px;display:inline-block;padding-block:8px}
.editorial-footer-links {display:flex;align-items:center;flex-wrap:wrap;gap:7px 24px}
.editorial-footer-links a {display:inline-flex;align-items:center;min-height:44px;margin:0;padding:8px 0;font:inherit;line-height:1.7}
@media(max-width:1000px) {.editorial-footer {align-items:flex-start;flex-direction:column;gap:16px}}
@media(max-width:760px) {.editorial-footer {padding:28px 20px}}
@media(max-width:1100px) {
  .app-layout {grid-template-columns:185px minmax(0,1fr);gap:28px}
  .account-rail {padding-right:18px}
}
@media(max-width:700px) {
  .environment {padding:7px 20px}
  .environment span {display:block;font-size:10px;margin-top:3px}
  .app-layout,.account-toolbar {width:calc(100% - 40px)}
  .app-layout {display:block}
  .account-rail {padding:16px 0;border-right:0;border-bottom:1px solid var(--line)}
  .account-menu-toggle {display:flex;width:100%;justify-content:space-between;align-items:center;background:var(--panel2);color:var(--text);font-size:13px}
  .account-menu-toggle::after {content:'⌄'}
  .account-menu-toggle[aria-expanded=true]::after {content:'⌃'}
  .sidebar {display:none;margin-top:12px;position:static;max-height:none;overflow:visible}
  .sidebar.is-open {display:flex}
  .sidebar-label {display:none}
  .account-toolbar {padding-block:16px;gap:12px}
  .workspace-label {font-size:12px}
  .workspace-label span {display:inline;margin-left:7px;font-size:10px}
  .toolbar-actions {width:100%;flex-wrap:nowrap;align-items:flex-end;gap:8px}
  .session-controls {flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:5px 8px;width:auto}
  .session-controls label {grid-column:1/-1}
  .session-controls select {width:100%;max-width:none;min-width:0;font-size:12px}
  .session-controls button {font-size:10px;padding:7px 8px}
  main {padding:32px 0 45px}
  h1 {font-size:36px}
  h2 {font-size:26px}
  .page-head {padding-bottom:24px;margin-bottom:26px;gap:18px}
  .page-head p {font-size:15px}
  .page-head>.row {width:100%;gap:7px}
  .page-head .button {font-size:12px;padding:9px 11px}
  .panel {padding:19px}
  .grid {gap:22px}
  .metric strong {font-size:39px}
  .grid:has(>.metric) {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .metric span {font-size:10px}
  #studyProgress>summary {font-size:23px}
  .section-gap {margin-top:26px}
  .progress-columns {gap:30px}
  .mark-layout {grid-template-columns:1fr}
  .part-nav {display:flex;flex-direction:row;flex-wrap:wrap;gap:7px}
  .part-nav button {flex:1 1 70px}
  .mark-cols {gap:24px}
  .stem {padding:15px;font-size:15px}
  input,textarea,select {font-size:16px}
  .activity-table {font-size:13px}
}
@media(prefers-reduced-motion:reduce) {html{scroll-behavior:auto}*{transition:none!important}}
@media print {
  .site-header,.account-toolbar,.editorial-footer,.account-rail {display:none!important}
  .app-layout {display:block;width:100%;max-width:none}
  main {padding:0}
  body,body.dark {--text:#111;--text2:#111;--muted:#444;--panel:#fff;--panel2:#fff;--bg:#fff;--line:#aaa;--line2:#aaa;--olive:#435608;--olive-soft:#eaf0df;--red:#b3402a;color:#111;background:#fff;color-scheme:light}
  .panel {border:0;padding:0}
  .page-head {border-bottom:0}
  h1 {font-size:24px}h2 {font-size:21px}
  .response-text {background:#fff!important;color:#111}
}

.paper-permissions label>select {display:block;width:100%;max-width:420px;margin-top:7px}
.paper-permissions fieldset {border:1px solid var(--line);border-radius:5px;padding:14px 18px}
.paper-permissions legend {padding-inline:6px;font-weight:600;font-size:14px}
.paper-group-choice {display:flex;align-items:center;gap:10px;padding:7px 0;font-weight:400}
.paper-group-choice input {width:18px;height:18px;flex-shrink:0;accent-color:var(--olive)}

.inventory-table {max-height:440px;overflow:auto}
.inventory-table thead th {position:sticky;top:0;z-index:1}

.paper-management-table {max-height:420px;overflow:auto}
.paper-management-table thead th {position:sticky;top:0;z-index:1}
.paper-management-table .selected-paper {background:var(--olive-soft)}
.paper-management-table th:first-child {width:44%}
.paper-management-table button {min-width:80px}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


/* Member details share four columns; narrow content panels use stacked rows. */
#memberResults {container-type:inline-size}
.members-table {width:100%;min-width:0;table-layout:fixed}
.members-table th:nth-child(1) {width:24%}
.members-table th:nth-child(2) {width:28%}
.members-table th:nth-child(3) {width:25%}
.members-table th:nth-child(4) {width:23%}
.members-table th,.members-table td {padding:14px 10px;vertical-align:top;overflow-wrap:anywhere}
.member-name {display:block;color:var(--text);line-height:1.5}
.member-role {display:block;margin:5px 0 8px;font-size:12px;color:var(--muted)}
.member-hospitals {list-style:none;margin:0;padding:0;display:grid;gap:10px;line-height:1.5}
.member-activity {display:grid;gap:9px;font-size:12px;line-height:1.5}
.member-time {display:block}
.member-controls {display:grid;gap:7px}
.member-controls label {display:grid;gap:5px;font-size:11px}
.member-controls select,.member-controls button {width:100%;min-width:0;max-width:100%;font-size:12px;min-height:38px;padding:7px 8px}
.member-controls button {white-space:normal;line-height:1.4}
@container (max-width:650px) {
 .members-table,.members-table tbody {display:block}
 .members-table thead {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .members-table tr {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;border:1px solid var(--line);border-radius:5px;padding:20px;margin-bottom:16px;background:var(--panel)}
 .members-table td {display:block;border:0;padding:0;min-width:0}
 .members-table td:first-child,.members-table td:nth-child(2) {grid-column:1/-1}
 .members-table td:not(:first-child)::before {content:attr(data-label);display:block;margin-bottom:9px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
 .members-table td:first-child {padding-bottom:14px;border-bottom:1px solid var(--line)}
 .member-role {display:inline-block;margin:5px 10px 0 0}
 .member-controls select {font-size:16px}
 .member-hospitals {gap:7px}
}

.member-name {font-weight:600;text-decoration:underline;text-underline-offset:3px}
.member-profile {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin:0}
.member-profile dt {font-size:12px;color:var(--muted)}
.member-profile dd {margin:5px 0 0;overflow-wrap:anywhere}
.native-attempt-frame {display:block;border:0;width:100%;height:650px;background:var(--panel);border-radius:5px}
/* Keep feedback loading visible until the embedded renderer reports ready. */
.native-question-preview {position:relative;min-width:0;margin-top:18px}
.native-question-preview:not([data-preview-state="ready"]) {min-height:280px}
.native-question-preview:not([data-preview-state="ready"]) .native-attempt-frame {height:280px!important;visibility:hidden}
.native-preview-status {position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:var(--account-canvas);border-radius:5px}
.native-preview-status[hidden] {display:none}
.native-preview-status p {margin:0;max-width:430px}
.native-preview-status strong {font-size:22px;color:var(--text)}
.native-preview-spinner {width:26px;height:26px;border:3px solid var(--line);border-top-color:#6c7a3e;border-radius:50%;animation:native-preview-spin .85s linear infinite}
[data-preview-state="error"] .native-preview-spinner {display:none}
@keyframes native-preview-spin {to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.native-preview-spinner{animation:none}}
.mock-question,.mock-selected,.mock-mark-review {padding:16px;border:1px solid var(--line);border-radius:5px;background:var(--panel)}
.mock-question>label {display:flex;gap:12px;align-items:flex-start}
.mock-question>label input {flex-shrink:0;margin-top:5px}
.mock-question p {white-space:pre-wrap;margin:12px 0}
.mock-selected {display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.mock-selected button {font-size:12px;min-height:36px;padding:7px 10px}
.mock-mark-review label {display:grid;grid-template-columns:minmax(0,1fr) 90px;align-items:start;gap:18px;margin-top:18px;white-space:pre-wrap}
.mock-mark-review input {min-width:0;width:100%}
#mockBuilder input:not([type=checkbox]),#mockBuilder select {max-width:100%}
@media(max-width:700px){.mock-mark-review label{grid-template-columns:1fr}.mock-mark-review input{max-width:120px}}
#mockBuilder .row>label {flex:1 1 240px;min-width:0;max-width:100%}
#mockBuilder .grid>label,#mockFullPaper>label,#mockSelection>label {min-width:0;max-width:100%}
#mockBuilder select {display:block;width:100%;min-width:0}

#mockBuilder input:not([type=checkbox]) {width:100%;min-width:0}

/* Account workspace: a white navigation rail beside a quiet off-white canvas. */
:root {--account-canvas:#f0f2ec;--account-card:#fafbf7;--account-active:#eaf0df}
body.dark {--account-canvas:#1d2b22;--account-card:#24362a;--account-active:#34482c}
.app-layout {gap:0;grid-template-columns:220px minmax(0,1fr);margin:24px auto 32px;border:1px solid var(--line);border-radius:10px;background:var(--account-canvas);box-shadow:0 4px 18px #24352c05}
.account-rail {padding:20px 12px;background:var(--panel);border-radius:10px 0 0 10px}
.sidebar {gap:2px;top:18px;max-height:calc(100dvh - 36px)}
.sidebar-label {margin:0 12px 7px;font-size:10px}
.sidebar .sidebar-section {border-top:1px solid var(--line);padding-top:13px;margin-top:12px}
.sidebar a {padding:8px 11px;line-height:1.5;font-size:13px}
.sidebar a[aria-current=page],.sidebar a[aria-current=page]:hover {background:var(--account-active);color:var(--olive);border-left-color:var(--olive)}
.sidebar .sidebar-logout {margin-top:12px;padding:8px 14px;min-height:38px}
.app-layout>main {padding:30px 28px 44px;background:var(--account-canvas);border-radius:0 10px 10px 0}
.app-layout .panel {background:var(--account-card)}
.app-layout .grid>.metric {background:var(--account-card);border:1px solid var(--line);border-top:2px solid var(--line2);border-radius:7px;padding:18px}
.app-layout #studyProgress {background:var(--account-card);border:1px solid var(--line);border-radius:7px;padding:18px 22px}
.app-layout .progress-columns>.panel,.app-layout #practiceSuggestions {background:var(--account-card);border:1px solid var(--line);border-radius:7px;padding:22px}
@media(max-width:1100px) {.app-layout{grid-template-columns:205px minmax(0,1fr)}.app-layout>main{padding:26px 22px 38px}}
@media(max-width:700px) {
 .app-layout{margin:16px auto 24px}
 .account-rail{padding:12px;border-radius:10px 10px 0 0}
 .sidebar{max-height:none}
 .sidebar.is-open .sidebar-label{display:block}
 .sidebar a{min-height:42px;display:flex;align-items:center}
 .app-layout>main{padding:24px 16px 32px;border-radius:0 0 10px 10px}
 .app-layout #studyProgress,.app-layout .progress-columns>.panel,.app-layout #practiceSuggestions{padding:18px}
}
@media print {.app-layout{border:0;border-radius:0;margin:0;background:#fff;box-shadow:none}.app-layout>main{padding:0;background:#fff}.app-layout .panel{background:#fff}}

/* Results keep all four columns within the full account content width. */
.progress-columns {grid-template-columns:minmax(0,1fr)}
.progress-columns .activity-table {min-width:0;table-layout:fixed}
.progress-columns .activity-table th:first-child {width:44%}
.progress-columns .activity-table th:nth-child(2) {width:24%}
.progress-columns .activity-table th:nth-child(3),.progress-columns .activity-table th:nth-child(4) {width:16%}
.progress-columns .activity-table :is(th,td) {overflow-wrap:anywhere}
@media(max-width:700px) {.progress-columns .activity-table :is(th,td){padding:10px 6px;font-size:12px}}

.marking-recipient-status {display:flex;flex-direction:column;gap:3px;max-width:280px;padding:10px 13px;border:1px solid var(--line);border-radius:5px;background:var(--account-active);color:var(--text);white-space:normal;overflow-wrap:anywhere}
.marking-recipient-status strong {font-size:13px;font-weight:600;line-height:1.5}
.marking-recipient-status small {font-size:12px;line-height:1.5;color:var(--muted)}

/* Mock exam discovery follows the main question browser. */
.mock-browser-intro {padding:24px 0 12px}
.mock-browser-intro h3 {font-size:28px;margin:8px 0}
.mock-search-panel {padding:22px;background:var(--bg);border:1px solid var(--line);border-radius:12px}
.mock-filters {display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.mock-topics {margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:10px}
.mock-topics summary {font-weight:700;cursor:pointer}
.mock-topic-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.mock-topic-grid button {display:flex;justify-content:space-between;gap:12px;text-align:left}
.mock-topic-grid button[aria-pressed="true"] {background:var(--deep);color:white}
.mock-question {border-radius:12px;padding:22px}
.mock-question-tags {display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.mock-question-tags span {font-size:12px;background:var(--bg);padding:4px 9px;border-radius:20px;color:var(--muted)}
.mock-question details summary {cursor:pointer;font-weight:600}
@media(max-width:600px){.mock-search-panel,.mock-question{padding:15px}.mock-filters{grid-template-columns:1fr}}

/* Give marking responses and source answers the full available width. */
.mark-cols {grid-template-columns:minmax(0,1fr);gap:24px}
.mark-cols>section {min-width:0;width:100%}
.mark-cols>section+section {border-top:1px solid var(--line);padding-top:24px}
.response-text .annotation-reference-active {background:#f6dc78;color:#24352c;outline:2px solid #9b791b;outline-offset:2px;border-radius:2px}
.annotation-note:hover,.annotation-note:focus-within {box-shadow:inset 0 0 0 2px var(--olive);border-left-color:var(--olive)}
.annotation-note:focus-visible {outline:2px solid var(--olive);outline-offset:2px}

/* Two-level marking navigation, matching the exam question grid. */
.mark-layout {grid-template-columns:170px minmax(0,1fr)}
.mark-navigation {display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px;align-self:start;position:sticky;top:18px;z-index:5;max-height:calc(100dvh - 36px);overflow:visible}
.mark-navigation>.mark-nav-panel {overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.mark-navigation>.part-nav {max-height:40dvh}
.mark-nav-panel {padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);min-width:0}
.mark-nav-panel h3 {font-size:14px;margin:0 0 12px}
.mark-question-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.mark-question-grid button {padding:0;min-height:36px;border-radius:7px;font-size:13px;position:relative}
.mark-question-grid button.is-marked {background:var(--olive-soft);border-color:var(--olive)}
.mark-question-grid button.is-partly-marked {border-bottom:4px solid #c29e3c}
.mark-question-grid button[aria-current="step"] {background:var(--olive);color:#fff;border-color:var(--olive)}
.mark-navigation .part-nav {display:flex;flex-direction:column;gap:7px}
.mark-navigation .part-nav button {flex:none;width:100%;text-align:left}
.mark-nav-legend {display:grid;gap:5px;margin-top:12px;font-size:11px;color:var(--muted)}
.mark-nav-legend span {display:flex;align-items:center;gap:7px}
.mark-nav-legend i {width:9px;height:9px;border-radius:50%;border:1px solid var(--line)}
.mark-nav-legend .current {background:var(--olive)}
.mark-nav-legend .complete {background:var(--olive-soft);border-color:var(--olive)}
.mark-nav-legend .partial {background:#c29e3c}
@media(max-width:1050px){.mark-layout{display:block}.mark-navigation{position:sticky;top:8px;max-height:45dvh;grid-template-columns:1fr;gap:8px;margin-bottom:16px;background:var(--account-canvas);border-radius:10px;box-shadow:0 4px 12px #0002}.mark-navigation>.mark-nav-panel{padding:10px}.mark-navigation>.part-nav{max-height:22dvh}.mark-navigation .part-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(75px,1fr))}.mark-navigation .part-nav h3{grid-column:1/-1;margin-bottom:2px}.mark-question-grid{grid-template-columns:repeat(auto-fill,minmax(36px,1fr))}.mark-nav-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}}
@media(max-width:550px){.mark-navigation{grid-template-columns:1fr}.mark-navigation .part-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(75px,1fr))}.mark-navigation .part-nav h3{grid-column:1/-1}}

/* Dedicated marking workspace: the exam owns the available page width. */
html[data-marking-workspace] .account-rail,html[data-marking-workspace] .account-toolbar {display:none}
html[data-marking-workspace] .app-layout {display:block;width:calc(100% - 48px);max-width:1600px;margin:28px auto;border:0;background:transparent;box-shadow:none}
html[data-marking-workspace] .app-layout>main {padding:0;background:transparent;border-radius:0}
html[data-marking-workspace] .mark-layout {display:grid;grid-template-columns:235px minmax(0,1fr);gap:18px}
html[data-marking-workspace] .mark-navigation {position:sticky;top:18px;margin:0;max-height:calc(100dvh - 36px);background:transparent;box-shadow:none}
html[data-marking-workspace] .mark-nav-panel {padding:16px;border-radius:15px;box-shadow:0 4px 16px #24352c08}
html[data-marking-workspace] .mark-question-grid {grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
html[data-marking-workspace] .mark-question-grid button {min-height:36px}
html[data-marking-workspace] .part-nav {display:flex;flex-direction:column}
html[data-marking-workspace] .mark-layout>.panel {padding:26px;border-radius:15px}
html[data-marking-workspace] #legacyRouteLoading {grid-column:1;grid-row:1;border-radius:12px}
@media(max-width:900px){
 html[data-marking-workspace] .app-layout{width:calc(100% - 28px);margin:18px auto}
 html[data-marking-workspace] .mark-layout{display:block}
 html[data-marking-workspace] .mark-navigation{max-height:45dvh;top:8px;margin-bottom:16px;background:var(--bg);box-shadow:0 4px 12px #0002}
 html[data-marking-workspace] .mark-question-grid{grid-template-columns:repeat(auto-fill,minmax(36px,1fr))}
 html[data-marking-workspace] .part-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(75px,1fr))}
 html[data-marking-workspace] .mark-layout>.panel{padding:18px}
}

/* Role-specific welcome: native modal focus containment and responsive scrolling. */
.welcome-dialog{width:min(880px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);font:inherit;box-shadow:0 24px 80px #12201840;overflow:hidden}
.welcome-dialog[open]{display:flex;flex-direction:column}
.welcome-dialog::backdrop{background:#14251bd1;backdrop-filter:blur(3px)}
.welcome-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 28px 18px;border-bottom:1px solid var(--line);flex-shrink:0}
.welcome-dialog-header h2{margin:0;font-size:28px;line-height:1.25;outline:none}
.welcome-dialog-header button{font-size:25px;line-height:1;width:38px;height:38px;padding:0;flex-shrink:0}
.welcome-dialog-body{padding:24px 28px 12px;overflow:auto;overscroll-behavior:contain;min-height:0}
.welcome-dialog-body .step-list{padding-left:24px}.welcome-dialog-body .step-list li{margin-bottom:18px}.welcome-dialog-body .step-list p{margin:6px 0 0}
.welcome-dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 28px;border-top:1px solid var(--line);flex-shrink:0}
.welcome-dialog-footer p{margin:0;color:var(--muted);font-size:13px}.welcome-dialog-footer button{flex-shrink:0}
html:has(.welcome-dialog[open]){overflow:hidden}
@media(max-width:600px){.welcome-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.welcome-dialog-header{padding:20px 20px 16px}.welcome-dialog-header h2{font-size:24px}.welcome-dialog-body{padding:20px 20px 8px}.welcome-dialog-footer{padding:14px 20px;gap:12px}}
@media print{.welcome-dialog{display:none!important}html:has(.welcome-dialog[open]){overflow:visible}}
/* Dedicated marking workspace, review dialogs and paper-only printing. */
.queue-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:22px}.queue-filters label{flex:1;min-width:170px}.queue-filters input,.queue-filters select{width:100%}
.mark-sticky-summary{position:static;display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap;padding:14px 18px;margin:0 0 20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 4px 15px #0001;font-size:14px}.mark-sticky-summary>.row{flex-basis:100%}.mark-sticky-summary button,.mark-sticky-summary .button{font:inherit;font-size:13px;padding:8px 12px}.mark-sticky-summary [data-sticky-save]{margin-left:auto}
.supplied-answer-toggle>summary{cursor:pointer;color:var(--olive);font-weight:650;font-size:17px;padding:9px 0}.supplied-answer-toggle>h3{margin-top:12px}
.marking-dialog{width:min(860px,calc(100vw - 32px));max-height:calc(100dvh - 40px);box-sizing:border-box;padding:26px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);box-shadow:0 16px 70px #0004;overflow-y:auto}.marking-dialog::backdrop{background:#17241799}.marking-dialog h2{margin-bottom:18px}.marking-dialog label{display:block;margin:16px 0}.marking-dialog label.row{display:flex;align-items:center}.marking-dialog input[type=checkbox]{width:auto;flex:none}.marking-dialog .error{color:var(--red)}.marking-dialog td{white-space:pre-wrap}.preserve-lines{white-space:pre-wrap}.offline-print-heading{padding:20px 0;border-bottom:1px solid var(--line)}.offline-print-question{padding-top:20px}.offline-mark-box{border:1px solid var(--line);padding:14px;margin:18px 0}.handwriting-lines{height:90px;background:repeating-linear-gradient(transparent,transparent 29px,#bbb 30px)}
@media(max-width:700px){.mark-sticky-summary{padding:10px;gap:7px}.mark-sticky-summary>.row{gap:6px}.mark-sticky-summary [data-sticky-save]{margin-left:0}.marking-dialog{padding:18px}.queue-filters label{min-width:100%}}
@media print{.mark-sticky-summary,.marking-dialog,.mark-navigation,.queue-filters{display:none!important}.offline-print-question{break-before:page}.offline-print-question section{break-inside:auto}.offline-mark-box{break-inside:avoid}.offline-print-question .native-attempt-frame{border:0;width:100%}.offline-print-heading{border:0}}

.offline-print-document{display:none!important}
.marking-dialog input[type=number]{width:100%;max-width:350px}
@media print{body.offline-printing>*{display:none!important}body.offline-printing>.offline-print-document{display:block!important;margin:0;padding:0;color:#111;background:#fff}.offline-print-document .offline-print-question:first-of-type{break-before:auto}.offline-print-document .table-wrap,.offline-print-document .response-table-wrap{overflow:visible}.offline-print-document table{width:100%;border-collapse:collapse;table-layout:fixed}.offline-print-document th,.offline-print-document td{border:1px solid #999;padding:6px;overflow-wrap:anywhere}.offline-print-document .printed-native-question{font:11pt/1.45 Arial,sans-serif}.offline-print-document .part-card{margin:16px 0;padding-top:12px;border-top:1px solid #aaa;break-inside:avoid;page-break-inside:avoid}.offline-print-document .part-label{font-weight:bold;margin:8px 0}.offline-print-document .submitted-response{border:1px solid #aaa;padding:10px;white-space:pre-wrap;overflow-wrap:anywhere}.offline-print-document .offline-print-figure{margin:12px 0;break-inside:avoid}.offline-print-document img{display:block;max-width:100%;max-height:180mm;width:auto;height:auto;margin:auto}.offline-print-document .offline-mark-box{border:1px solid #aaa;padding:10px;break-inside:avoid}.offline-print-document .preserve-lines{white-space:pre-wrap}}

@media print{.offline-print-document .part-label,.offline-print-document .part-prompt{break-after:avoid}.offline-print-document .submitted-response{orphans:3;widows:3}}
/* Account history uses saved account records, including imported browser history. */
.account-study-calendar{display:grid;grid-template-rows:repeat(7,14px);grid-auto-flow:column;grid-template-columns:repeat(12,14px);gap:5px;max-width:100%;overflow:auto;margin:20px 0}
.account-study-day{display:block;background:var(--soft);border:1px solid var(--line);border-radius:3px}.account-study-day.level-1{background:#d7e5b5}.account-study-day.level-2{background:#98b85e}.account-study-day.level-3{background:#435608}
/* Coverage matrix matches fexsaq.com's current Progress section. */
.account-paper-coverage{--red:#ee3129;--red-tint:#fdeceb;--red-line:#f4b3ae;--correct-line:#b3ca88;--olive-mid:#57700c;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.6}
.account-paper-coverage.pg-panel{border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:25px 0 0;background:transparent;min-width:0}
.account-paper-coverage .pg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}
.account-paper-coverage .section-kicker{display:inline;margin:0;font-size:11px;font-weight:750;letter-spacing:.13em;color:var(--muted);line-height:1.6}
.account-paper-coverage .pg-head h3{margin:6px 0 0;font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1.6;letter-spacing:normal}
.account-paper-coverage .pg-head p{margin:4px 0 0;font-size:14px;color:var(--muted);line-height:1.6}
.account-paper-coverage .pg-matrix{display:grid;gap:13px}
.account-paper-coverage .pg-matrix-row{display:grid;grid-template-columns:66px minmax(0,1fr);gap:14px;align-items:start}
.account-paper-coverage .pg-matrix-year{font-family:Georgia,serif;font-size:22px;font-weight:400;color:var(--text2);padding-top:6px;font-variant-numeric:tabular-nums}
.account-paper-coverage .pg-tiles{display:flex;flex-wrap:wrap;gap:7px}
.account-paper-coverage .pg-tile{display:inline-flex;align-items:center;justify-content:normal;gap:8px;max-width:210px;padding:11px 13px;border:1px solid var(--line);border-left:3px solid var(--line2);border-radius:4px;background:var(--panel);color:var(--text2);font-size:13px;font-weight:600;line-height:1.6;min-height:44px;text-align:left;text-decoration:none;transition:border-color .13s,background .13s,color .13s}
.account-paper-coverage .pg-tile span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-paper-coverage .pg-tile:hover{background:var(--panel2);border-color:var(--line2);color:var(--text)}
.account-paper-coverage .pg-tile.started{border-left-color:var(--red);background:var(--red-tint);color:#b3231c}
.account-paper-coverage .pg-tile.practice{border-left-color:var(--olive);background:var(--olive-soft);color:var(--olive)}
.account-paper-coverage .pg-tile.timed{border-left-color:var(--olive);background:var(--olive);color:#fff}
.account-paper-coverage .pg-tile.timed:hover{background:var(--olive2);color:#fff}
.account-paper-coverage .pg-tile em{font-style:normal;font-size:10.5px;opacity:.75;font-variant-numeric:tabular-nums}
.account-paper-coverage .pg-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.account-paper-coverage .pg-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px;box-shadow:inset 0 0 0 1px rgba(30,36,23,.12)}
.account-paper-coverage .sw-none{background:var(--panel)}.account-paper-coverage .pg-legend .sw-started{background:var(--red-tint);box-shadow:inset 0 0 0 1px var(--red-line)}.account-paper-coverage .pg-legend .sw-practice{background:var(--olive-soft);box-shadow:inset 0 0 0 1px var(--correct-line)}.account-paper-coverage .sw-timed{background:var(--olive)}
body.dark .account-paper-coverage{--red:#ff6b60;--red-tint:#331613;--red-line:#7b332d;--correct-line:#425a1c;--olive-mid:#9cb83a}
body.dark .account-paper-coverage .pg-tile.started{color:var(--red)}body.dark .account-paper-coverage .pg-tile.timed{color:#12180a}body.dark .account-paper-coverage .pg-tile.timed:hover{background:var(--olive-mid);color:#12180a}
@media(max-width:760px){.account-paper-coverage.pg-panel{padding-top:20px}.account-paper-coverage .pg-head{flex-wrap:wrap}.account-paper-coverage .pg-matrix-row{grid-template-columns:1fr;gap:7px}.account-paper-coverage .pg-matrix-year{padding-top:0}.account-paper-coverage .pg-tile{max-width:none;flex:1 1 100%}}

/* Account study activity follows the live progress calendar and writing figures. */
.account-study-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px;margin-top:20px}
.account-study-activity{--hm0:#e9ecdd;--hm1:#dbe6c1;--hm2:#b7cd8a;--hm3:#84a446;--hm4:#435608;--display:Georgia,serif}
body.dark .account-study-activity{--hm0:#242b1a;--hm1:#33421a;--hm2:#4d6524;--hm3:#6d8c2e;--hm4:#8aa42c}
.account-study-activity .pg-heat{display:flex;gap:9px;align-items:flex-start;overflow-x:auto;padding-bottom:4px}
.account-study-activity .pg-heat-days{display:grid;grid-template-rows:repeat(7,1fr);gap:3px;padding-top:17px;flex:0 0 auto}
.account-study-activity .pg-heat-days span{height:13px;font-size:9.5px;line-height:13px;color:var(--muted)}
.account-study-activity .pg-heat-grid{display:grid;grid-auto-flow:column;grid-template-rows:auto repeat(7,13px);gap:3px;flex:1 1 auto}
.account-study-activity .pg-heat-month{grid-row:1;font-size:9.5px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);height:14px;white-space:nowrap}
.account-study-activity .pg-cell{width:13px;height:13px;border-radius:3px;background:var(--hm0);position:relative;
  box-shadow:inset 0 0 0 1px rgba(30,36,23,.05)}
.account-study-activity .pg-cell.l1{background:var(--hm1)}.account-study-activity .pg-cell.l2{background:var(--hm2)}
.account-study-activity .pg-cell.l3{background:var(--hm3)}.account-study-activity .pg-cell.l4{background:var(--hm4)}
.account-study-activity .pg-cell.timed:after{content:"";position:absolute;right:1px;top:1px;width:4px;height:4px;
  border-radius:50%;background:var(--red)}
.account-study-activity .pg-cell.future{background:transparent;box-shadow:none}
.account-study-activity .pg-heat-key{display:flex;align-items:center;gap:6px;margin-top:14px;padding-top:13px;
  border-top:1px solid var(--line);font-size:11px;color:var(--muted);flex-wrap:wrap}
.account-study-activity .pg-heat-key .pg-cell{box-shadow:inset 0 0 0 1px rgba(30,36,23,.08)}
.account-study-activity .pg-heat-key .sp{flex:1 1 auto}

.account-study-activity /* --- writing & pace ------------------------------------------ */
.pg-figure{padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid var(--line)}
.account-study-activity .pg-figure:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.account-study-activity .pg-figure b{display:block;font-family:var(--display);font-size:32px;font-weight:600;
  line-height:1.05;color:var(--olive);font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.account-study-activity .pg-figure .pg-meter-label{margin-bottom:6px}
.account-study-activity .pg-figure small{display:block;margin-top:6px;font-size:11.5px;color:var(--muted);line-height:1.5}
.account-study-activity .pg-pace{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;margin-top:9px}
.account-study-activity .pg-pace-track{grid-column:1/-1;position:relative;height:9px;border-radius:99px;background:var(--panel2);
  box-shadow:inset 0 0 0 1px var(--line);margin-top:3px}
.account-study-activity .pg-pace-fill{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:var(--olive)}
.account-study-activity .pg-pace-fill.over{background:var(--red)}
.account-study-activity .pg-pace-target{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text2);border-radius:2px}
.account-study-activity .pg-pace-legend{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:6px}
.account-study-activity .pg-head-aside{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.account-study-activity .status-chip{font-size:12px;white-space:nowrap;padding:3px 8px;border:1px solid var(--line);border-radius:4px}
.account-study-activity .pg-meter-label{display:block;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.account-study-activity .pg-figure small{font-size:13px;line-height:1.6}
.account-study-activity .pace-unit{font-size:14px;font-style:normal;color:var(--muted)}
@media(max-width:1050px){.account-study-layout{grid-template-columns:minmax(0,1fr)}}

.account-paper-overview>summary{cursor:pointer;font-family:var(--display);font-size:25px;font-weight:400;letter-spacing:-.02em;color:var(--text)}
.account-paper-overview>summary::marker{color:var(--olive);font-size:16px}
.account-paper-overview>.account-paper-coverage{margin-top:20px}

.member-filter-primary{display:grid;grid-template-columns:minmax(200px,2fr) minmax(180px,1fr) auto;gap:14px;align-items:end}.member-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}.member-filter-primary label,.member-filter-grid label{display:grid;gap:6px;min-width:0}.member-filter-primary input,.member-filter-primary select,.member-filter-grid select{width:100%;min-width:0}.member-email{display:block;font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin-top:4px}@media(max-width:700px){.member-filter-primary{grid-template-columns:1fr}.member-filter-primary button{justify-self:start}}

/* Keep source quarter-turn props centred and fully inside the printed page. */
@media print{.offline-print-image-frame{display:grid;place-items:center;overflow:hidden}.offline-print-quarter-turn .offline-print-image-frame{height:120mm}.offline-print-quarter-turn img{max-width:115mm;max-height:175mm;transform-origin:center}}

/* Mark one question at a time, with each response paired to its supplied answer. */
.mark-question-editor{min-width:0}
.mark-part-editor{padding:24px 0;scroll-margin-top:20px;border-top:1px solid var(--line)}
.mark-part-editor:first-of-type{margin-top:20px}
.mark-part-editor h2{font-size:23px;margin:0}
.mark-part-editor .native-question-preview{min-width:0}
.mark-part-editor .mark-cols{margin-top:18px}
.mark-part-editor .mark-controls{margin-top:22px}
.mark-part-editor .response-text{min-height:48px;cursor:text;user-select:text}
.mark-part-editor .toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.mark-part-editor .toolbar button{min-height:40px}
.mark-part-editor .selected-quote{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.mark-part-editor .supplied-answer-toggle{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:16px}
.mark-question-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:20px 0}
.mark-question-actions span{color:var(--muted);font-size:13px}
@media(max-width:550px){.mark-question-actions span{order:3;width:100%;text-align:center}.mark-question-actions button{flex:1}.mark-part-editor{padding:20px 0}}
.mark-navigation .part-nav button[aria-current]{background:var(--olive-soft);border-color:var(--olive);color:var(--text)}
.mark-part-editor .annotation-note{padding:10px 12px}
.mark-part-editor .annotation-note p{margin:3px 0 7px}
.question-score-card{padding:20px;margin:20px 0;border:1px solid var(--line);border-left:4px solid var(--olive);border-radius:10px;background:var(--soft)}
.question-score-card .score-field{margin-top:8px}.question-score-card input[type=number]{max-width:170px}
.question-score-card details{margin-top:12px}.question-score-card details label{margin-top:12px}
.question-inclusion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.mark-question-grid button.is-excluded{opacity:.55;border-style:dashed}
@media(max-width:600px){.question-inclusion-list{grid-template-columns:1fr}.question-score-card .row{align-items:flex-start}}

/* Symbols are generated content: annotation text offsets stay unchanged. */
.response-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.response-actions .response-verdict{font-size:.85rem;padding:5px 10px;min-height:32px}
.response-verdict.tick{color:#24613d}.response-verdict.cross{color:#a33932}
.response-verdict[aria-pressed="true"]{font-weight:700;background:var(--olive-soft,#eef1e6);border-color:currentColor}
.annotation-tick-end::after{content:" ✓";color:#24613d;font-weight:800;font-size:1.15em}
.annotation-cross-end::after{content:" ✗";color:#a33932;font-weight:800;font-size:1.15em}
@media print{.response-actions{display:none!important}.annotation-tick-end::after,.annotation-cross-end::after{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.mark-response-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;min-height:2.1em}
.response-line-text{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;min-height:1.7em}
.line-verdicts{display:flex;gap:4px;white-space:normal;user-select:none}
.line-verdicts button{padding:2px 7px;min-width:30px;min-height:30px;font-size:16px;line-height:1.3}
.annotation-details{margin:14px 0;border-top:1px solid var(--line);padding-top:10px}
.annotation-details>summary{cursor:pointer;color:var(--olive);font-size:14px;font-weight:600}
@media(max-width:600px){.mark-response-line{gap:6px}.line-verdicts button{min-width:28px;padding:2px 5px}}

.response-marking-hint{font-size:13px;margin:10px 0}
.response-selection-menu{position:fixed;z-index:100;width:max-content;max-width:calc(100vw - 24px);padding:8px;background:var(--panel,#fff);color:var(--text);border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 28px #0003;white-space:normal}
.response-selection-actions{display:flex;gap:6px;align-items:center}
.response-selection-actions button{padding:7px 11px;font-size:13px}
.response-selection-menu:has(.inline-editor:not([hidden])){width:340px}
.response-selection-menu .inline-editor{padding:4px;max-height:55vh;overflow:auto}
.response-selection-menu textarea{min-height:85px;width:100%}
.selection-excerpt{font-size:12px;max-height:65px;overflow:auto;white-space:pre-wrap;color:var(--muted)}
.annotation-details>button{margin-top:10px;font-size:12px;padding:5px 9px}

.comment-undo-notices{position:fixed;right:20px;bottom:20px;z-index:1400;width:min(350px,calc(100vw - 30px));max-height:38vh;overflow:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.comment-undo-notice{min-width:0;box-sizing:border-box;background:var(--panel);color:var(--text);border:1px solid var(--line);border-left:4px solid var(--olive);border-radius:8px;padding:13px 15px;box-shadow:0 6px 24px #0002}
.comment-undo-notice p{margin:0 0 8px}.comment-undo-notice [role=status]{font-weight:600}
.comment-undo-excerpt{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comment-undo-notice button{padding:6px 12px;font-size:13px}

/* Administrator support inbox */
.support-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.support-filters label{flex:1;min-width:150px}.support-filters label:first-child{flex:2}.support-tabs{gap:12px}.support-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.support-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,190px);gap:24px;align-items:start}.support-row h2{font-size:1.15rem;margin-top:0}.support-actions{display:flex;flex-direction:column;gap:14px}.support-history{border-top:1px solid var(--line,#dce3d6);padding:16px 0}.pill.resolved{background:#e9f1dc;color:#344509}.pill.dismissed{background:#eceee9;color:#5b655b}@media(max-width:700px){.support-row{grid-template-columns:1fr}.support-actions{flex-direction:row;align-items:end;flex-wrap:wrap}.support-filters label{min-width:100%}}

.support-filters input,.support-filters select{width:100%;min-width:0}

.support-email-reply{border-top:1px solid var(--line,#dce3d6);padding:22px 0}.support-email-reply .support-message{margin:14px 0}#enquiryReplyText{width:100%;box-sizing:border-box;min-height:180px}

/* Partial credit uses the same saved annotation path as tick/cross verdicts. */
.response-verdict.half{color:#865d08}
.annotation-half-end::after{content:" ½";color:#865d08;font-weight:800;font-size:1.15em}
body.dark .response-verdict.half,body.dark .annotation-half-end::after{color:#e0bf67}
@media print{.annotation-half-end::after{print-color-adjust:exact;-webkit-print-color-adjust:exact}.annotation-details::details-content{content-visibility:visible!important;display:block!important}}

/* Feedback navigation and read-only question score review. */
.feedback-review-sidebar{position:sticky;top:100px;max-height:calc(100dvh - 120px);overflow:auto;display:grid;gap:14px;align-self:start}
.feedback-review-sidebar .feedback-question-nav{position:static;max-height:none}
.feedback-score-panel{padding:16px}.feedback-score-panel h2{font-family:inherit;font-size:14px;margin:0 0 10px}.feedback-final-score{display:block;font-size:22px;line-height:1.4}.feedback-score-panel p{margin:4px 0 12px}.feedback-score-panel button{width:100%;font-size:13px;margin-top:8px;padding:8px}
.score-breakdown-table th,.score-breakdown-table td{vertical-align:middle}.score-breakdown-table button{font-size:14px;white-space:nowrap}.breakdown-percent{display:inline-block;min-width:65px}.score-breakdown-table progress{width:100px;max-width:100%;height:10px;accent-color:var(--olive)}
.supplied-answer-details>summary{cursor:pointer;font-weight:700;color:var(--olive);padding:12px 0}.supplied-answer-content{padding:10px 0}
@media(max-width:900px){.feedback-review-sidebar{position:static;max-height:none}.feedback-review-sidebar .feedback-question-nav{max-height:180px}.feedback-score-panel{padding:14px}}
@media print{.feedback-review-sidebar,.score-breakdown-dialog{display:none!important}.supplied-answer-details::details-content{content-visibility:visible!important;display:block!important}}

/* Compact scope preview before a marker accepts or claims a paper. */
.queue-marking-scope{margin-top:12px;padding:10px 12px;border-left:3px solid var(--accent,#6b793e);background:var(--surface-alt,rgba(107,121,62,.07));border-radius:4px;overflow-wrap:anywhere}
.queue-marking-scope p{margin:4px 0 0}

.candidate-sent-scope:empty{display:none}
.candidate-sent-scope{margin:12px 0}
.candidate-sent-scope .marking-recipient-status{max-width:100%}
.marking-recipient-status .marking-scope-line:nth-child(3){margin-top:4px}

/* Report and enquiry badges share consistent, labelled review states. */
.pill.support-priority-high{background:#fce7e7;color:#a51d25;border-color:#efb0b5}
.pill.support-priority-normal{background:#fff0dc;color:#924300;border-color:#edbd83}
.pill.support-priority-low,.pill.support-status-resolved{background:#e6f3e9;color:#236334;border-color:#a4cfaf}
.pill.support-status-pending{background:#e7effb;color:#255b91;border-color:#adc5e4}
.pill.support-status-dismissed{background:#eceee9;color:#515b51;border-color:#bfc6bc}
body.dark .pill.support-priority-high{background:#48252b;color:#ffb7be;border-color:#98505c}
body.dark .pill.support-priority-normal{background:#46321e;color:#ffcd92;border-color:#916b3d}
body.dark .pill.support-priority-low,body.dark .pill.support-status-resolved{background:#233e2b;color:#a8deb5;border-color:#527d5e}
body.dark .pill.support-status-pending{background:#24394f;color:#afd1ff;border-color:#50749b}
body.dark .pill.support-status-dismissed{background:#343b35;color:#c9d0c8;border-color:#697469}
