/* Scoped additions for the existing student profile and read-only feedback. */
@layer attendance-polish {
 html body #attendanceTextPreviewDialog { padding:0!important; width:min(720px,calc(100vw - 24px))!important; max-height:calc(100dvh - 24px)!important; border-radius:16px!important; overflow:hidden!important; }
 html body #attendanceTextPreviewDialog > header { display:flex!important; align-items:center!important; gap:16px; padding:20px 24px!important; position:static!important; }
 html body #attendanceTextPreviewTitle { flex:1; min-width:0; margin:0!important; font-size:19px!important; line-height:1.4!important; }
 html body #attendanceTextPreviewDialog > header button { flex:0 0 44px; min-height:44px; }
 html body #attendanceTextPreviewBody { padding:20px 24px!important; overflow:auto!important; max-height:calc(100dvh - 220px)!important; font-size:16px!important; line-height:1.65!important; }
 html body #attendanceTextPreviewBody.feedbackPreview255 { white-space:normal!important; display:grid; gap:20px; }
 html body #attendanceTextPreviewBody.feedbackPreview255 section { padding:16px; border:1px solid #d7e2ea; border-radius:10px; background:var(--surface,#fff); }
 html body #attendanceTextPreviewBody.feedbackPreview255 h4 { margin:0 0 8px; color:var(--primary,#087f8c); font-size:14px; letter-spacing:.03em; }
 html body #attendanceTextPreviewBody.feedbackPreview255 p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
 html body #attendanceTextPreviewDialog > footer { display:flex!important; justify-content:flex-end; padding:12px 24px!important; border-top:1px solid #d7e2ea; }
 .studentProgress255 { margin-top:24px; min-width:0; }
 .studentProgress255 > header { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:24px; }
 .studentProgress255 h4 { margin:0 0 12px; font-size:18px; }
 .studentProgress255 select { min-height:44px; max-width:100%; }
 .studentProgressMatrixWrap255,.progressChartWrap255 { max-width:100%; overflow:auto; }
 .studentProgress255 table { width:100%; min-width:760px; border-collapse:collapse; }
 .studentProgress255 :is(th,td) { padding:12px; border:1px solid #d7e2ea; text-align:center; font-size:15px; }
 .studentProgress255 th { background:var(--surface-muted,#edf5f9); color:var(--text,#172033); }
 .studentProgress255 th:first-child { text-align:left; }
 .studentProgress255 .learning-green { background:#dcfce7!important; color:#166534!important; }
 .studentProgress255 .learning-yellow { background:#fef3c7!important; color:#854d0e!important; }
 .studentProgress255 .learning-red { background:#fee2e2!important; color:#991b1b!important; }
 .studentProgress255 .learning-empty { color:#526579!important; background:var(--surface,#fff)!important; }
 .progressChartMeta255 { margin:0 0 12px; color:var(--text,#172033); font-size:14px; }
 .progressChart255 { display:grid; grid-template-columns:repeat(12,minmax(44px,1fr)); gap:10px; min-width:660px; padding:24px 8px 8px; border:1px solid #d7e2ea; border-radius:10px; }
 .progressBarGroup255 { text-align:center; font-size:14px; }
 .progressBarTrack255 { position:relative; height:170px; display:flex; align-items:flex-end; background:repeating-linear-gradient(to top,#e4edf3 0,#e4edf3 1px,transparent 1px,transparent 34px); border-bottom:1px solid #a9bac9; }
 .studentProgress255 .progressBar255 { width:100%; border:1px solid currentColor; border-radius:5px 5px 0 0; min-height:0; }
 .studentProgress255 .progressBar255.learning-empty { border:0!important; }
 .progressBarTrack255 strong { position:absolute; top:-22px; left:0; right:0; }
 .progressBarGroup255 > :is(span,small) { display:block; padding-top:5px; }
 .progressDetails255 { margin-top:20px; }
 .progressDetails255 summary { min-height:44px; cursor:pointer; font-weight:600; color:var(--primary,#087f8c); }
 .progressDetails255 td { white-space:pre-wrap; text-align:left; min-width:100px; }
 @media(max-width:640px) {
  html body #attendanceTextPreviewDialog > header { padding:16px!important; }
  html body #attendanceTextPreviewBody { padding:16px!important; }
  html body #attendanceTextPreviewDialog > footer { padding:12px 16px!important; }
  .studentProgress255 h4 { font-size:16px; }
 }
}
