/* Shared PC presentation. Screen-only so printed reports retain their A4 layout. */
@media screen and (min-width:1024px) {
  :root { --desktop-width:1480px; --desktop-gutter:32px; }
  html { scroll-padding-top:96px; }
  .report-section,.report-card,.subitem,.final-section,#assessment,#criteria { scroll-margin-top:0; }
  .wrap { width:min(var(--desktop-width),calc(100% - var(--desktop-gutter)*2)); }
  .site-header .header-inner { height:76px; }
  .header-actions { flex-shrink:0; }

  /* The report is a reading workspace: stable contents rail, generous document. */
  .report-shell { padding-top:20px; }
  .report-hero,.final-report-hero { max-width:none; padding:23px 0 25px; margin-bottom:24px; border-bottom:1px solid #dce4ed; }
  .report-hero h1,.final-report-hero h1 { font-size:32px; margin:10px 0; line-height:1.45; }
  .report-meta,.final-meta { font-size:14px; gap:10px 20px; margin-top:14px; color:#65788b; }
  .report-layout,html[lang="en"] .report-layout { display:grid; grid-template-columns:208px minmax(0,1fr); gap:28px; align-items:start; }
  .report-sidebar { position:sticky; top:98px; max-height:calc(100dvh - 122px); padding:0 0 14px; overflow-y:auto; }
  .report-sidebar .section-label { font-size:12px; margin:0 12px 14px; color:#64788d; }
  .report-nav { gap:6px; }
  .report-nav a,html[lang="en"] .report-nav a { padding:12px; font-size:15px; line-height:1.6; align-items:center; }
  .report-nav a.active { background:#f9ecef; box-shadow:inset 3px 0 #b14457; }
  .sidebar-note { font-size:13px; color:#6c7e90; margin-top:18px; }
  .report-card { padding:26px 30px; margin-bottom:24px; border-color:#dce4ed; border-radius:12px; }
  .report-card-heading { align-items:center; padding-bottom:17px; margin-bottom:20px; }
  .report-card-heading h2 { font-size:23px; }
  .demo-notice { font-size:14px; line-height:1.8; padding:12px 16px; }
  .rubric-disclosure { font-size:15px; color:#61758a; margin:14px 0 24px; }
  .rubric-assessment .overview-grid { grid-template-columns:180px minmax(0,1fr); gap:24px; align-items:stretch; }
  .rubric-assessment .overall-score { display:flex; flex-direction:column; justify-content:center; padding-right:24px; }
  .rubric-assessment .dimension-grid { gap:14px; }
  .rubric-assessment .dimension-tile { min-width:0; padding:17px 18px; border:1px solid #e1e8f0; border-radius:9px; background:#f7f9fc; }
  .rubric-assessment .tile-name { font-size:16px; line-height:1.65; }
  .rubric-assessment .tile-score { margin-block:10px; }
  .rubric-assessment .rubric-grade-card { background:linear-gradient(120deg,#faf1f3,#fff9f6); border-color:#ead8dd; }
  .rubric-grade-card .tile-score strong { color:#a24459; }
  .rubric-assessment .dimension-grid:has(>.dimension-tile:only-child) { grid-template-columns:minmax(0,1fr); }
  .rubric-assessment .dimension-grid>.dimension-tile:only-child { max-width:400px; }
  #rubric-summary .assessment-narrative { padding:24px 28px; }
  #rubric-summary .assessment-narrative .summary-prose { font-size:17px; line-height:1.95; }
  .assessment-narrative-kicker { font-size:14px; }
  #rubric-summary .insights-grid { gap:20px; margin-top:22px; }
  #rubric-summary .insight-list li { font-size:16px; line-height:1.9; }
  .rubric-dimension .dimension-header { gap:17px; }
  .rubric-dimension .dimension-heading h3 { font-size:23px; }
  .rubric-dimension .subitem-grid { gap:0 32px; }
  .rubric-dimension .subitem { padding:20px 0; border-bottom:1px solid #e6ebf1; }
  .rubric-dimension .subitem-top { font-size:17px; }
  .rubric-dimension .evidence { font-size:16px; line-height:1.9; color:#4c6278; }
  .rubric-dimension .assessment-block { margin-top:24px; padding:20px 24px; }
  .rubric-dimension .assessment-block p,.rubric-dimension .suggestions-block .suggestion p { font-size:16px; line-height:1.9; }
  .rubric-dimension .suggestions-block ol { gap:16px; }

  /* Three long metric groups, with no large empty mobile-style tiles. */
  .metrics-compact .metrics-group-heading { padding:16px 22px; }
  .metrics-compact .metrics-group-body { padding:16px; }
  .metrics-compact .metric-card h4>span:not(:first-child) { font-size:16px; }
  .metrics-compact .metric-status { font-size:12px; }
  .metrics-compact .metric-reference { font-size:14px; color:#60778e; }
  .metric-explanation,.metric-explanation p { font-size:13px; color:#667b90; }
  .metrics-compact .metrics-voice-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .metrics-voice-grid>.metric-card { grid-column:span 2; }
  .metrics-voice-grid>.metric-card:nth-child(n+4) { grid-column:span 3; }
  .speech-event-lane>span,.speech-event-stamp { font-size:14px; color:#617b93; }
  .speech-event-lane { grid-template-columns:145px minmax(0,1fr) 28px; min-height:36px; }
  .speech-event-context,.speech-event-quote,.speech-records-note { font-size:14px; }
  .speech-records-title { font-size:16px; }
  .speech-event-catalog { max-height:min(480px,55vh); }
  .transcript-recording-body { max-height:clamp(360px,52vh,600px); }
  .transcript-recording .v2-transcript-segment { grid-template-columns:145px minmax(0,1fr); gap:22px; padding:18px 0; }
  .transcript-recording .v2-transcript-segment p,.rewrite-pair-grid p { font-size:17px; line-height:1.95; }
  .rewrite-pair-source,.rewrite-pair-target { padding:22px 24px; }
  .rewrite-column-headings h3 { padding:16px 24px; font-size:17px; }
  .rewrite-learning-item p { font-size:15px; color:#5f758c; }
  .annotation-key,.transcript-annotation-guide p { font-size:13px; color:#64798e; }
  .transcript-copy { padding:6px 11px; font-size:13px; }

  /* Final reports share the same document width, contents and reading rhythm. */
  .teacher-final-root { width:min(var(--desktop-width),calc(100% - var(--desktop-gutter)*2)); max-width:none; padding:24px 0 60px; }
  .teacher-final-page .teacher-topbar { height:76px; padding-inline:max(var(--desktop-gutter),calc((100% - var(--desktop-width))/2)); position:sticky; top:0; z-index:20; background:#fff; border-bottom:1px solid #dde5ed; }
  .teacher-final-page .teacher-brand img { width:132px; }
  .teacher-final-page .teacher-brand>span { font-size:17px; }
  .teacher-final-page .teacher-top-actions .btn { font-size:14px; min-height:38px; padding:8px 14px; border-radius:8px; color:#536b81; }
  .final-report-note { font-size:14px; line-height:1.8; padding:13px 17px; }
  .final-comparison { font-size:15px; table-layout:fixed; }
  .final-comparison th { font-size:14px; }
  .final-comparison td { overflow-wrap:anywhere; }
  .final-comparison th:first-child { width:20%; }
  .final-revision-summary { font-size:15px; }
  .final-revision-summary p { color:#60768b; }

  /* Student desk: left navigation and compact, evenly sized report cards. */
  .personal-layout { grid-template-columns:232px minmax(0,1fr); gap:32px; padding-top:32px; }
  .personal-sidebar { top:100px; }
  .personal-heading p,.personal-profile p { font-size:15px; color:#6a7c8f; }
  .personal-nav a { font-size:16px; padding:13px; }
  .personal-report-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:stretch; max-width:1040px; }
  .personal-report-card { display:flex; flex-direction:column; height:100%; width:auto; min-width:0; padding:20px 22px 17px; }
  .personal-report-card-top { gap:12px; min-height:30px; }
  .personal-report-category { flex-shrink:0; }
  .personal-report-state { white-space:normal; }
  .personal-report-card h2 { font-size:21px; min-height:0; margin:12px 0 14px; }
  .personal-report-link { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
  .personal-report-outcome { margin-top:auto; margin-bottom:14px; }
  .personal-report-card-bottom { margin-top:0; }
  .personal-report-category,.personal-report-state,.personal-outcome-label,.personal-report-card time,.personal-report-open { font-size:14px; }
  .personal-loading,.personal-empty { grid-column:1/-1; }
  .personal-settings-card { width:min(100%,820px); padding:28px 32px; }
  .personal-password-form { display:grid; grid-template-columns:140px minmax(0,1fr); align-items:baseline; gap:18px 22px; max-width:none; }
  .personal-password-form label,.personal-password-form .input { margin:0; font-size:16px; }
  .personal-password-form .personal-field-note,.personal-password-form .personal-error,.personal-password-form .btn { grid-column:2; margin:0; }
  .personal-password-form .personal-field-note { font-size:13px; margin-top:-12px; color:#718397; }
  .personal-password-form .btn { justify-self:start; }

  /* Submission and administration use their available horizontal space. */
  .hero-layout { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:64px; padding-block:42px; }
  .hero h1 { font-size:44px; margin-top:16px; }
  .report-preview { max-width:600px; justify-self:end; width:100%; }
  .workspace-grid { grid-template-columns:minmax(0,1.8fr) minmax(350px,1fr); gap:28px; }
  .workspace { padding-top:34px; }
  .form-panel { padding:26px 30px; }
  .level-guide,.level-duration,.guardian-intro,.guardian-confirmation { font-size:14px; }
  .level-selection-summary { font-size:14px; }
  .submit-btn { width:auto; min-width:250px; padding-inline:24px; }
  .form-bottom { text-align:left; font-size:14px; }
  .ops-heading { padding:22px 26px; background:linear-gradient(110deg,#253f59,#365a7c); border-radius:12px; color:#fff; }
  .ops-heading p { color:#d1ddeb; font-size:15px; margin-top:5px; }
  .ops-section { padding:24px 28px; }
  .ops-section h2 { font-size:22px; }
  .ops-toolbar { flex-wrap:nowrap; }
  .ops-toolbar input.input { flex:1; max-width:440px; }
  .ops-toolbar select.input { width:190px; }
  .ops-table { font-size:15px; }
  .ops-table td,.ops-table th { padding:15px 16px; }
  .ops-table td small,.ops-state,.ops-actions button,.ops-actions a { font-size:13px; }
  .ops-form label,.ops-form-note { font-size:15px; }
  .review-task-table th { font-size:14px; }
  .review-task-table td { padding-block:18px; }
  .review-time,.review-student small { font-size:14px; }
  .teacher-unified-panel .teacher-metric-list p { font-size:15px; line-height:1.8; }

  /* Authentication was already a PC split view; retain it and improve legibility. */
  .auth-header,.auth-footer { width:min(1360px,calc(100% - 80px)); }
  .auth-layout { width:min(1240px,calc(100% - 96px)); grid-template-columns:minmax(0,1fr) 500px; gap:80px; }
  .auth-form-heading>p,.auth-workflow-row p,.auth-field-heading>a { font-size:15px; color:#667c92; }
  .auth-form-note,.auth-code-note,.auth-service-note { font-size:13px; }
}
@media screen and (min-width:1440px) {
  .rubric-assessment .dimension-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .metrics-compact .metrics-group-B .metrics-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .level-options { grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
  .level-card:nth-child(3n) .level-help { left:-1px; right:auto; }
  .level-card:nth-child(n+5) .level-help { left:auto; right:-1px; }
}
@media screen and (min-width:1600px) {
  .personal-report-list { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:none; }
}
@media screen and (min-width:1024px) and (max-width:1199px) {
  :root { --desktop-gutter:24px; }
  .report-layout,html[lang="en"] .report-layout { grid-template-columns:180px minmax(0,1fr); gap:20px; }
  .report-card { padding:22px; }
  .workspace-grid { grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr); gap:20px; }
  .form-panel { padding:22px; }
  .personal-layout { grid-template-columns:210px minmax(0,1fr); gap:24px; }
  .personal-report-list { gap:14px; }
  .personal-report-card { padding:18px; }
  .personal-report-card-top { gap:10px; }
  .auth-layout { grid-template-columns:minmax(0,1fr) 450px; gap:40px; }
}

/* Compact student observations: three duration cards and two fluency cards. */
@media screen and (min-width:1024px){
 .student-observations.metrics-compact .metrics-group-A .metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
 .student-observations.metrics-compact .metrics-group-B .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
