/* Production-only features styled with the supplied design tokens. */
.review-panel-page .grading-card{animation:none}
.review-panel-page main{padding-bottom:28px}
.review-panel-page .back{margin-bottom:10px}
.review-panel-page .page-head{margin:4px 0 14px}
.review-panel-page .page-head h1{font-size:clamp(21px,2.4vw,28px)}
.review-guide{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.review-guide .button{font-size:13px;padding:8px 12px}
.publication-summary{flex:1;min-width:0;font-size:13px}
.publication-summary p{margin:4px 0}
.publication-summary>details{display:inline-block;vertical-align:top;margin-right:16px}
.publication-summary>details[open]{display:block;max-height:160px;overflow:auto}
.score-hero{padding:16px 24px}.score-hero .total-score{font-size:34px}
.improvement-plan>summary{font-size:14px;color:var(--blue)}
.improvement-plan[open]>p{font-size:13px;color:var(--muted)}
.improvement-plan ol{max-height:210px;overflow:auto;overscroll-behavior:contain;margin-top:12px}
.improvement-plan li small{display:block}
.student-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 24px;border-bottom:1px solid var(--line-soft)}
.review-track .student-review-actions .ask,.student-review-actions .next-step-primary{margin:0;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--soft-2)}
.student-review-actions summary{color:var(--blue);font-size:13px}
.student-review-actions details[open]{grid-column:1/-1}.student-review-actions p{font-size:14px}
.support-verdict,.instructor-final,.question-context{padding:14px 18px;background:var(--soft-2);border:1px solid var(--line);border-radius:10px;margin:14px 0;font-size:13px}
.support-verdict b{color:var(--warn)}.instructor-final b{color:var(--good)}.question-context p{margin:6px 0}
.reference-text-match{color:var(--muted)}
.reference-assessment{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}
.reference-assessment>summary{font-size:13px;color:var(--blue)}.reference-assessment form{margin-top:16px}.reference-assessment textarea{width:100%}
.plan-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(90px,1fr) minmax(0,2fr);gap:18px;align-items:end;border-bottom:1px solid var(--line-soft);padding:14px 0}
.plan-row b{align-self:center;overflow-wrap:anywhere}
.math-preview{padding:14px;background:var(--soft-2);border:1px solid var(--line);border-radius:8px;font-weight:400;overflow:auto}
.review-edit-feedback>label>button{margin-top:8px;font-size:12px;padding:6px 10px}
.course-citation .citation-source{display:block;overflow-wrap:anywhere}.course-citation>a{display:inline-block;font-size:12px;margin:4px 0}
.hold-delete-form .hold-delete{color:var(--danger);border-color:#DCA8A8;background:#fff}.hold-delete-form .hold-delete.holding span{color:#fff}
#course-management{scroll-margin-top:90px;margin-top:28px}.course-settings .form{margin-top:20px}
.course-context h1{overflow-wrap:anywhere}.gallery-empty{grid-column:1/-1;padding:28px;border:1px dashed var(--line);border-radius:var(--radius)}
.course-grade{margin:18px 0}.student-review-actions,.grading-body,.assignment-card-head{min-width:0}
@media(max-width:700px){.plan-row{grid-template-columns:1fr;gap:8px}.student-review-actions{grid-template-columns:1fr;padding:10px 18px}.score-hero{padding:16px 18px;gap:14px}.publication-summary{flex-basis:100%}.course-tabs{max-width:100%;overflow:auto}.site-user{gap:8px}.site-user .avatar{display:none}}

/* Keep the verification instruction beside the approval action. */
.grading-footer{flex-wrap:wrap}
.grading-footer .approval-guidance{flex:0 0 100%;margin:0 0 10px;padding:10px 14px;border-radius:8px;background:var(--soft-2);color:var(--ink);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.grading-footer button:disabled{opacity:.45;cursor:not-allowed}
.edit-verification-guidance{grid-column:1/-1;margin:0;padding:12px 16px;background:var(--soft-2);border-radius:8px;font-size:14px;line-height:1.5}

/* Explicit metadata layout also works when verification help precedes it. */
.grading-footer .review-selection-meta{display:flex;align-items:center;gap:14px 24px;flex-wrap:wrap;min-width:0}
.grading-footer .confidence{white-space:nowrap;flex-shrink:0;line-height:1.5;padding:6px 12px}
.grading-footer .confidence i{flex-shrink:0}
.grading-footer .table-actions{gap:10px 14px}
@media(max-width:700px){.grading-footer .review-selection-meta{flex-basis:100%;gap:12px 20px}.grading-footer .table-actions{justify-content:flex-start;gap:10px}}

/* Structured evidence: keep source line breaks and mathematical units intact. */
.structured-evidence { margin: 12px 0; padding: 16px 20px; min-width: 0; }
.evidence-readable { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.75; max-height: 360px; overflow: auto; }
.evidence-math { white-space: normal; max-width: 100%; }
div.evidence-math { overflow-x: auto; padding: 10px; margin: 10px 0; border-radius: 6px; }
.evidence-readable:has(mark), .evidence-readable:has(.evidence-math-selected) { color: var(--faint, #596B82); }
.evidence-math-selected, .evidence-readable mark { background: #D9E6F9; color: #17304F; border-radius: 3px; }
.evidence-raw { margin-top: 12px; }
.evidence-raw pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 180px; overflow: auto; font-size: 12px; padding: 12px; }
.evidence-math-error { white-space: pre-wrap; }

/* Keep short screens readable without changing the review layout or palette. */
@media (max-height: 800px) {
  .review-panel-page:not(.teacher-review-page) .score-hero { padding: 10px 20px; margin-bottom: 12px; }
  .review-panel-page:not(.teacher-review-page) .improvement-plan { padding: 12px 20px; margin-bottom: 12px; }
  .review-panel-page .evidence-readable { max-height: none; overflow: visible; }
  .review-panel-page .evidence-raw pre { max-height: none; overflow: visible; }
  .review-panel-page .criterion-content { overscroll-behavior-y: auto; }
}
.submission-progress { margin: 12px 0; line-height: 1.65; }

/* Actual server stages; indeterminate bar never invents a completion percentage. */
.submission-progress{padding:16px 0;max-width:100%;}
.submission-progress[hidden]{display:none;}
.submission-progress progress{display:block;width:100%;height:8px;margin:12px 0;accent-color:#315DA8;}
.submission-stages{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 0;}
.submission-stages span{color:var(--faint,#596B82);font-size:12px;white-space:nowrap;}
.submission-stages .current{color:#315DA8;font-weight:600;}
.submission-stages .done{color:#137D73;}

/* R08: keep bounded content, allow vertical scrolling to continue at its edges. */
.support-section>pre,
.chapter-assignments,
.instruction-content,
.bounded-list,
.detail-panel>.assignment-brief,
.detail-panel>.rubric-list,
.criterion-content,
.review-edit-body,
.improvement-plan ol { overscroll-behavior-y:auto; }

/* Student reading uses the page as its only vertical scroll surface. */
.review-panel-page:not(.teacher-review-page) .review-track{align-items:flex-start}
.review-panel-page:not(.teacher-review-page) .review-track>.grading-card{height:auto;max-height:none}
.review-panel-page:not(.teacher-review-page) .criterion-content{overflow:visible;flex:none}
.review-panel-page:not(.teacher-review-page) .evidence-readable,
.review-panel-page:not(.teacher-review-page) .evidence-raw pre,
.review-panel-page:not(.teacher-review-page) .improvement-plan ol,
.review-panel-page:not(.teacher-review-page) .publication-summary>details[open]{max-height:none;overflow:visible}
.remove-reference{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--danger);border:1px solid currentColor;border-radius:8px;background:transparent}
.remove-reference svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
