/* ============================================================
   report.css — Printable Report Card Styles
   Mirrors the Christian Science College report card layout in the image
   ============================================================ */

.report-card {
  max-width: 800px;
  margin: 1.5rem auto;
  background: #fff;
  border: 2px solid #333;
  padding: 1rem 1.25rem;
  font-size: 11px;
  font-family: Arial, sans-serif;
}

/* ---- Header ---- */
.report-header {
  display: grid;
  grid-template-columns: 80px 1fr 80px;
  gap: .5rem;
  align-items: center;
  border-bottom: 2px solid #333;
  padding-bottom: .75rem;
  margin-bottom: .6rem;
}
.logo-circle {
  width: 70px; height: 70px;
  border-radius: 50%;
  background: #1a3c5e;
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 900; font-size: 1.1rem;
  border: 3px solid #2980b9;
}
.school-info { text-align: center; }
.school-info h1 { font-size: 14px; color: #1a3c5e; text-transform: uppercase; margin-bottom: .15rem; }
.school-info .motto-text { font-weight: 700; color: #c0392b; margin-bottom: .2rem; }
.school-info p { font-size: 10px; line-height: 1.5; }
.report-title { font-weight: 700; margin-top: .3rem; font-size: 11px; text-transform: uppercase; }
.student-name-title { font-weight: 900; font-size: 12px; color: #1a3c5e; }

.student-photo { text-align: right; }
.student-photo img { width: 70px; height: 80px; object-fit: cover; border: 1px solid #999; }
.photo-placeholder {
  width: 70px; height: 80px;
  border: 1px solid #999;
  display: flex; align-items: center; justify-content: center;
  font-size: 9px; color: #999; text-align: center;
}

/* ---- Student Meta ---- */
.student-meta {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: .15rem .5rem;
  font-size: 10.5px;
  background: #f0f4f8;
  padding: .4rem .6rem;
  border: 1px solid #ccc;
  margin-bottom: .6rem;
}
.student-meta div { white-space: nowrap; }

/* ---- Results Table ---- */
.results-table { width: 100%; border-collapse: collapse; margin-bottom: .4rem; font-size: 10.5px; }
.results-table th {
  background: #d0d8e4;
  border: 1px solid #999;
  padding: 4px 5px;
  text-align: center;
  font-size: 10px;
  text-transform: uppercase;
}
.results-table td {
  border: 1px solid #bbb;
  padding: 3px 5px;
}
.results-table tbody tr:nth-child(even) { background: #f8faff; }
.results-table td:first-child { text-transform: uppercase; font-size: 10px; }
.results-table td:not(:first-child) { text-align: center; }

.grade-key { font-size: 9px; color: #555; margin-bottom: .5rem; border-top: 1px solid #ccc; padding-top: .3rem; }

/* ---- Lower Section: Traits + Scale ---- */
.lower-section { display: grid; grid-template-columns: 200px 1fr; gap: 1rem; margin-bottom: .6rem; }

.traits-table { width: 100%; border-collapse: collapse; font-size: 10.5px; }
.traits-table th {
  background: #d0d8e4;
  border: 1px solid #999;
  padding: 3px 6px;
  text-align: left;
  font-size: 10px;
  text-transform: uppercase;
}
.traits-table td { border: 1px solid #bbb; padding: 3px 6px; }
.traits-table td:last-child { text-align: center; font-weight: 700; }

.scale-box { font-size: 10px; line-height: 1.7; padding-left: .5rem; }
.scale-box strong { display: block; margin-bottom: .2rem; text-decoration: underline; font-size: 11px; }
.scale-box .red { color: #c0392b; }

/* ---- Remarks ---- */
.remarks-section {
  border: 1px solid #ccc;
  padding: .4rem .6rem;
  font-size: 10.5px;
  line-height: 1.7;
  margin-bottom: .5rem;
}
.remarks-section p { margin-bottom: .2rem; }

/* ---- Signature ---- */
.signature-row {
  border: 1px solid #ccc;
  padding: .4rem .6rem;
  font-size: 10.5px;
}

/* ============================================================
   PRINT MEDIA
   ============================================================ */
@media print {
  .no-print { display: none !important; }
  body { background: #fff; }
  .report-card { border: 2px solid #333; margin: 0; padding: .75rem 1rem; }
  @page { size: A4; margin: 1cm; }
}
