/* Shared by the student panel and ELSIE. Keep submission presentation here. */
.student-history-row { margin-bottom:8px; padding:8px 12px; background:#252525; border:0; border-left:6px solid #f44336; border-radius:8px; position:relative; min-height:0; max-width:100%; box-sizing:border-box; color:#fff; }
.student-history-row[data-status="good"] { border-left-color:#4caf50; }
.student-history-row[data-status="pending"] { border-left-color:#ffa726; }
.student-history-row-main { display:flex; justify-content:space-between; align-items:center; }
.student-history-row-copy { min-width:0; }
.student-history-title { font-weight:bold; font-size:.85rem; }
.student-history-meta { font-size:.7rem; color:#777; margin-bottom:2px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.student-history-score { font-size:.75rem; color:#aaa; display:flex; align-items:center; gap:8px; }
.student-history-row-actions { display:flex; gap:6px; align-items:center; justify-content:flex-end; flex-wrap:wrap; min-width:0; margin-left:10px; flex:0 0 auto; }
.student-history-version { background:#2d2d2d; color:#cfd8e3; border:1px solid #4a4a4a; padding:1px 7px; border-radius:999px; font-size:.62rem; font-weight:800; }
.student-history-score-value { padding:2px 8px; border-radius:7px; font-weight:bold; display:inline-block; border:1px solid #e16f66; background:#c84b40; color:#fff; }
.student-history-score-value.is-good { border-color:#86d58a; background:#66bb6a; color:#102312; }
.student-history-score-value.is-warning { border-color:#ebbd67; background:#d39b38; color:#211704; }
.student-history-score-value.is-pending { border-color:#b89b00; background:#b89b00; color:#fff8dc; }
.student-history-feedback-button { background:transparent; color:#00bfff; border:1px solid #00bfff; border-radius:4px; padding:4px 8px; font:400 .7rem Quicksand,sans-serif; cursor:pointer; display:flex; align-items:center; gap:6px; }
.student-history-feedback-button[aria-expanded="true"] { border-style:dotted; }
.student-history-code-button { background:none; border:1px solid #00bfff; color:#00bfff; padding:2px 6px; border-radius:4px; font:400 .65rem Quicksand,sans-serif; cursor:pointer; display:block; margin-top:10px; }
.student-history-code-block { background:#111; padding:12px; border-radius:6px; font-size:.75rem; overflow-x:auto; color:#9cdcfe; white-space:pre-wrap; border:1px solid #333; margin-top:10px; }
/* Only the unpadded clipping track changes size. Content never changes padding
   or borders at the endpoints, including when a transition is interrupted.
   Duration/easing intentionally matches the outer .dynamic-container's
   `height .28s ease` transition in StudentDashboard.jsx: the row's own
   card and the list container it sits in resize together in one motion
   instead of two separately-timed animations firing at once. */
.submission-disclosure { display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s ease; }
.submission-disclosure.expanded { grid-template-rows:1fr; }
.submission-disclosure-clip { min-height:0; overflow:hidden; }
.submission-disclosure .clip-feedback-text { min-height:0; font-size:.8rem; color:#ddd; line-height:1.4; padding-top:10px; }
.submission-disclosure .student-submission-feedback { padding:14px 18px; border-left:4px solid #00bfff; border-radius:8px; background:rgba(22,28,36,.65); color:#d9dee5; margin-top:6px; }
.student-submission-feedback-heading { display:block; }
.student-feedback-children { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.student-feedback-children button { min-height:28px; border-radius:4px; padding:4px 8px; background:transparent; font:inherit; font-size:.7rem; cursor:pointer; white-space:nowrap; }
.student-history-lesson-action { border:1px solid #4b6483; color:#a9c7e8; }
.student-history-elsie-action { border:1px solid #4671a5; color:#bfdbff; background:rgba(42,96,163,.15) !important; }
.student-history-report-action { border:1px solid #b88943; color:#e5b96f; }
html.liem-reduce-animations .submission-disclosure,
body.liem-reduce-animations .submission-disclosure { transition:none; }
@media(prefers-reduced-motion:reduce) { html.liem-reduce-animations .submission-disclosure { transition:none; } }
@media(max-width:768px) {
  .student-history-row-main { align-items:flex-start; flex-wrap:wrap; gap:8px; }
  .student-history-row-copy { flex:1 1 100%; width:100%; }
  .student-history-row-actions { width:100%; margin-left:0; justify-content:flex-start; }
}
