/* ---- Report Card ---- */

.rc-assessment-editor{
  margin-top:16px;
  padding:14px;
  border:1px solid #d4d4d4;
  background:#fafafa;
}

.rc-assessment-editor h3{
  margin:0 0 12px;
  color:#17324d;
  font-size:15px;
}

.rc-assessment-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:12px;
}

.rc-assessment-grid label{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:11px;
  font-weight:700;
  color:#444;
}

.rc-assessment-grid input{
  padding:9px;
  border:1px solid #c7c7c7;
  border-radius:5px;
  background:#fff;
}

.rc-generator-grid{
  align-items:center;
}

.rc-toolbar{
  margin-bottom:18px;
}

/* =========================
   A4 REPORT CARD
   ========================= */

.report-card-sheet {
  position: relative;

  width: 210mm;
  height: 297mm;

  margin: 0 auto;
  padding: 6mm;

  box-sizing: border-box;

  background: #fff;
  color: #111;

  font-family: Arial, Helvetica, sans-serif;

  overflow: hidden;

  border: none;
  box-shadow: 0 8px 28px rgba(17,24,39,.12);
}

/* Main inner border */

.rc-border {
  position: relative;

  width: 100%;
  height: 100%;

  box-sizing: border-box;

  padding: 7mm 8mm 5mm;

  display: flex;
  flex-direction: column;

  border: 1.5px solid #222;

  background: #fff;

  overflow: hidden;
}

/* Header */

.rc-header{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;

  text-align:center;

  margin-bottom:4mm;
}

.rc-logo{
  width: 21mm;
  height:21mm;
  object-fit:contain;
  filter:grayscale(1);
}

.rc-header-text h1{
  margin:0;

  color:#111;

  font-family:Georgia,'Times New Roman',serif;

  font-size:23px;
  line-height: 2px;

  letter-spacing:.4px;
}

.rc-header-text p{
  margin:2px 0 0;

  color:#222;

  font-family:Georgia,'Times New Roman',serif;

  font-size:10px;
  font-weight:700;
}

.rc-header-text small{
  display:block;

  margin-top:2px;

  color:#333;

  font-size:9px;
}

/* Title */

.rc-title-block{
  text-align:center;

  border-top:1px solid #222;
  border-bottom:1px solid #222;

  padding:2.5mm 0;

  margin-bottom:4mm;
}

.rc-title-block h2{
  margin:0;

  font-family:Georgia,'Times New Roman',serif;

  font-size:14px;

  letter-spacing:.9px;

  color:#111;
}

.rc-title-block p{
  margin:1.5mm 0 0;

  font-size:10px;

  font-weight:700;

  text-transform:uppercase;

  letter-spacing:.4px;
}

/* Student information */

.rc-student-grid{
  display:grid;

  grid-template-columns:1.6fr 1fr 1fr;

  gap:0;

  border:1px solid #555;

  margin-bottom:4mm;
}

.rc-student-grid div{
  display:flex;

  flex-direction:column;

  justify-content:center;

  min-height:12mm;

  padding:2mm 2.5mm;

  border-right:1px solid #aaa;
  border-bottom:1px solid #aaa;

  box-sizing:border-box;
}

.rc-student-grid div:nth-child(3n){
  border-right:0;
}

.rc-student-grid div:nth-last-child(-n+3){
  border-bottom:0;
}

.rc-student-grid label,
.rc-attendance-summary label,
.rc-result-remarks label{
  font-size:8px;

  text-transform:uppercase;

  letter-spacing:.45px;

  color:#444;

  margin-bottom:1mm;

  font-weight:700;
}

.rc-student-grid span{
  font-size:10px;

  color:#111;

  font-weight:700;

  overflow-wrap:anywhere;
}

/* Section headings */

.rc-section-title{
  margin:3mm 0 1.5mm;

  font-size:10px;

  letter-spacing:.8px;

  color:#111;

  border-bottom:1px solid #222;

  padding-bottom:1.2mm;
}

/* Academic table */

.rc-table,
.rc-nonacademic-table{
  width:100%;

  border-collapse:collapse;

  table-layout:fixed;

  margin-bottom:3mm;
}

.rc-table .rc-subject-col{
  width:52%;
}

.rc-table .rc-mark-col{
  width:16%;
}

.rc-table .rc-grade-col{
  width:16%;
}

.rc-table th,
.rc-nonacademic-table th{
  background:#f2f2f2;

  color:#111;

  padding:2.4mm 2mm;

  font-size:8px;

  text-align:left;

  letter-spacing:.35px;

  border:1px solid #333;

  vertical-align:middle;
}

.rc-table td,
.rc-nonacademic-table td{
  height:8mm;

  padding:1.7mm 2mm;

  border:1px solid #555;

  font-size:9px;

  color:#111;

  vertical-align:middle;
}

.rc-table .rc-subject,
.rc-nonacademic-table td:first-child{
  font-weight:700;

  text-align:left;

  overflow-wrap:anywhere;
}

.rc-number{
  text-align:center !important;
}

.rc-grade-pill{
  font-weight:800;
  font-size:9px;
  color:#111;
}

/* Summary */

.rc-summary{
  display:grid;

  grid-template-columns:repeat(5,1fr);

  gap:0;

  border:1px solid #333;

  margin-bottom:2.5mm;
}

.rc-stat{
  display:flex;

  min-height:15mm;

  flex-direction:column;

  align-items:center;

  justify-content:center;

  text-align:center;

  padding:1.5mm;

  border-right:1px solid #aaa;

  box-sizing:border-box;
}

.rc-stat:last-child{
  border-right:0;
}

.rc-stat span{
  font-size:7px;

  text-transform:uppercase;

  letter-spacing:.3px;

  color:#444;

  margin-bottom:1.2mm;

  font-weight:700;
}

.rc-stat b{
  font-size:11px;
  color:#111;
}

.rc-stat small{
  font-size:7px;
  color:#444;
  margin-top:1mm;
}

.rc-result-pass,
.rc-result-fail{
  color:#111 !important;
}

/* Attendance */

.rc-attendance-summary{
  display:grid;

  grid-template-columns:repeat(3,1fr);

  border:1px solid #555;

  margin-bottom:2.5mm;
}

.rc-attendance-summary div{
  display:flex;

  align-items:center;

  justify-content:space-between;

  padding:2mm 3mm;

  border-right:1px solid #aaa;
}

.rc-attendance-summary div:last-child{
  border-right:0;
}

.rc-attendance-summary label{
  margin:0;
}

.rc-attendance-summary span{
  font-size:10px;
  font-weight:700;
}

/* Non-academic table */

.rc-nonacademic-table{
  margin-bottom:2.5mm;
}

.rc-nonacademic-table th,
.rc-nonacademic-table td{
  height:6mm;

  padding:1.3mm 2.5mm;
}

.rc-nonacademic-table th:last-child,
.rc-nonacademic-table td:last-child{
  width:38%;
}

/* Result / remarks */

.rc-result-remarks{
  display:grid;

  grid-template-columns:27% 73%;

  border:1px solid #555;

  margin-bottom:4mm;

  min-height:17mm;
}

.rc-result-remarks>div{
  padding:2mm 2.5mm;

  border-right:1px solid #aaa;

  box-sizing:border-box;
}

.rc-result-remarks>div:last-child{
  border-right:0;
}

.rc-result-remarks span{
  display:block;

  font-size:11px;

  font-weight:700;

  margin-top:2mm;
}

.rc-remarks p{
  margin:2mm 0 0;

  font-size:9px;

  line-height:1.35;

  overflow-wrap:anywhere;
}

/* Signatures */

.rc-signatures{
  display:grid;

  grid-template-columns:1fr 1fr 1fr;

  align-items:end;

  gap:10mm;

  margin:0 5mm;

  padding-top:8mm;

  margin-top:auto;
}

.rc-signatures>div{
  text-align:center;

  min-height:12mm;
}

.rc-sign-date{
  display:block;

  font-size:9px;

  text-align:left;
}

.rc-sign-line{
  border-top:1px solid #222;

  width:100%;

  margin-bottom:2mm;
}

.rc-signatures span{
  font-size:8px;
  color:#111;
}

/* Few subjects */

.rc-subject-count-few .rc-table td{
  height:12mm;

  padding:2.5mm 2.5mm;

  font-size:10px;
}

.rc-subject-count-few .rc-table th{
  padding:3mm 2.5mm;

  font-size:9px;
}

.rc-subject-count-few .rc-summary{
  margin-top:2mm;
}

.rc-subject-count-few .rc-stat{
  min-height:18mm;
}

.rc-subject-count-few .rc-nonacademic-table td{
  height:8mm;
}

.rc-subject-count-few .rc-result-remarks{
  min-height:24mm;
}

.rc-subject-count-few .rc-signatures{
  margin-top:auto;
  padding-top:8mm;
}

/* Many subjects */

.rc-subject-count-many .rc-table td{
  height:6.5mm;

  padding:1.1mm 1.8mm;

  font-size:8px;
}

.rc-subject-count-many .rc-table th{
  padding:1.8mm;

  font-size:7px;
}

.rc-subject-count-many .rc-section-title{
  margin-top:2mm;
  margin-bottom:1mm;
}

.rc-subject-count-many .rc-signatures{
  padding-top:5mm;
}

/* Watermark */

.rc-watermark{
  position:absolute;

  top:50%;
  left:50%;

  transform:translate(-50%,-50%);

  width:60%;

  max-width:120mm;

  opacity:.06;

  filter:grayscale(1);

  pointer-events:none;

  z-index:0;
}

/* Keep actual content above watermark */

.rc-border > *:not(.rc-watermark){
  position:relative;
  z-index:1;
}
/* =========================
   A4 PRINT SETTINGS
   ========================= */


@media print {
*{box-sizing:border-box;font-family:Arial,sans-serif}
html{scroll-behavior:smooth}
body{margin: 0 !important;;padding: 0 !important;;background:linear-gradient(135deg,#f5f7fa 0%,#eef4fb 38%,#f5f7fa 100%);color:#1f2937}
aside{display:none!important}
#title{display:none!important}
main{margin:0 !important;padding:0 !important}
  @page {
    size: A4 portrait;
    margin: 4mm;
  }

  .report-card-sheet {
  position: relative;

  width: 202mm;
  height: 289mm;

  margin: 0;
  padding: 0;

  box-sizing: border-box;

  background: #fff;
  color: #111;

  font-family: Arial, Helvetica, sans-serif;

  overflow: hidden;

  border: none;
  box-shadow: 0 8px 28px rgba(17,24,39,.12);
}

/* Main inner border */

.rc-border {
  position: relative;

  width: 100%;
  height: 100%;

  box-sizing: border-box;

  padding: 7mm 8mm 5mm;

  display: flex;
  flex-direction: column;

  border: 1.5px solid #222;

  background: #fff;

  overflow: hidden;
}

/* Header */

.rc-header{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 16px;

  text-align:center;

  margin-bottom:5mm;
}

.rc-logo{
  width:22mm;
  height:22mm;
  object-fit:contain;
  filter:grayscale(1);
}

.rc-header-text h1{
  margin:0;

  color:#111;

  font-family:Georgia,'Times New Roman',serif;

  font-size:24px;
  line-height:3mm;

  letter-spacing:.4px;
}

.rc-header-text p{
  margin:5px 0 0;

  color:#222;

  font-family:Georgia,'Times New Roman',serif;

  font-size:10px;
  font-weight:700;
}

.rc-header-text small{
  display:block;

  margin-top:2px;

  color:#333;

  font-size:9px;
}

/* Title */

.rc-title-block{
  text-align:center;

  border-top:1px solid #222;
  border-bottom:1px solid #222;

  padding:2.5mm 0;

  margin-bottom:4mm;
}

.rc-title-block h2{
  margin: 1px;;

  font-family:Georgia,'Times New Roman',serif;

  font-size:14px;

  letter-spacing:.9px;

  color:#111;
}

.rc-title-block p{
  margin:1.5mm 0 0;

  font-size:10px;

  font-weight:700;

  text-transform:uppercase;

  letter-spacing:.4px;
}

/* Student information */

.rc-student-grid{
  display:grid;

  grid-template-columns:1.6fr 1fr 1fr;

  gap:0;

  border:1px solid #555;

  margin-bottom:4mm;
}

.rc-student-grid div{
  display:flex;

  flex-direction:column;

  justify-content:center;

  min-height:12mm;

  padding:2mm 2.5mm;

  border-right:1px solid #aaa;
  border-bottom:1px solid #aaa;

  box-sizing:border-box;
}

.rc-student-grid div:nth-child(3n){
  border-right:0;
}

.rc-student-grid div:nth-last-child(-n+3){
  border-bottom:0;
}

.rc-student-grid label,
.rc-attendance-summary label,
.rc-result-remarks label{
  font-size:8px;

  text-transform:uppercase;

  letter-spacing:.45px;

  color:#444;

  margin-bottom:1mm;

  font-weight:700;
}

.rc-student-grid span{
  font-size:10px;

  color:#111;

  font-weight:700;

  overflow-wrap:anywhere;
}

/* Section headings */

.rc-section-title{
  margin:3mm 0 1.5mm;

  font-size:10px;

  letter-spacing:.8px;

  color:#111;

  border-bottom:1px solid #222;

  padding-bottom:1.2mm;
}

/* Academic table */

.rc-table,
.rc-nonacademic-table{
  width:100%;

  border-collapse:collapse;

  table-layout:fixed;

  margin-bottom:3mm;
}

.rc-table .rc-subject-col{
  width:52%;
}

.rc-table .rc-mark-col{
  width:16%;
}

.rc-table .rc-grade-col{
  width:16%;
}

.rc-table th,
.rc-nonacademic-table th{
  background:#f2f2f2;

  color:#111;

  padding:2.4mm 2mm;

  font-size:8px;

  text-align:left;

  letter-spacing:.35px;

  border:1px solid #333;

  vertical-align:middle;
}

.rc-table td,
.rc-nonacademic-table td{
  height:8mm;

  padding:1.7mm 2mm;

  border:1px solid #555;

  font-size:9px;

  color:#111;

  vertical-align:middle;
}

.rc-table .rc-subject,
.rc-nonacademic-table td:first-child{
  font-weight:700;

  text-align:left;

  overflow-wrap:anywhere;
}

.rc-number{
  text-align:center !important;
}

.rc-grade-pill{
  font-weight:800;
  font-size:9px;
  color:#111;
}

/* Summary */

.rc-summary{
  display:grid;

  grid-template-columns:repeat(5,1fr);

  gap:0;

  border:1px solid #333;

  margin-bottom:2.5mm;
}

.rc-stat{
  display:flex;

  min-height:15mm;

  flex-direction:column;

  align-items:center;

  justify-content:center;

  text-align:center;

  padding:1.5mm;

  border-right:1px solid #aaa;

  box-sizing:border-box;
}

.rc-stat:last-child{
  border-right:0;
}

.rc-stat span{
  font-size:7px;

  text-transform:uppercase;

  letter-spacing:.3px;

  color:#444;

  margin-bottom:1.2mm;

  font-weight:700;
}

.rc-stat b{
  font-size:11px;
  color:#111;
}

.rc-stat small{
  font-size:7px;
  color:#444;
  margin-top:1mm;
}

.rc-result-pass,
.rc-result-fail{
  color:#111 !important;
}

/* Attendance */

.rc-attendance-summary{
  display:grid;

  grid-template-columns:repeat(3,1fr);

  border:1px solid #555;

  margin-bottom:2.5mm;
}

.rc-attendance-summary div{
  display:flex;

  align-items:center;

  justify-content:space-between;

  padding:2mm 3mm;

  border-right:1px solid #aaa;
}

.rc-attendance-summary div:last-child{
  border-right:0;
}

.rc-attendance-summary label{
  margin:0;
}

.rc-attendance-summary span{
  font-size:10px;
  font-weight:700;
}

/* Non-academic table */

.rc-nonacademic-table{
  margin-bottom:2.5mm;
}

.rc-nonacademic-table th,
.rc-nonacademic-table td{
  height:6mm;

  padding:1.3mm 2.5mm;
}

.rc-nonacademic-table th:last-child,
.rc-nonacademic-table td:last-child{
  width:38%;
}

/* Result / remarks */

.rc-result-remarks{
  display:grid;

  grid-template-columns:27% 73%;

  border:1px solid #555;

  margin-bottom:4mm;

  min-height:17mm;
}

.rc-result-remarks>div{
  padding:2mm 2.5mm;

  border-right:1px solid #aaa;

  box-sizing:border-box;
}

.rc-result-remarks>div:last-child{
  border-right:0;
}

.rc-result-remarks span{
  display:block;

  font-size:11px;

  font-weight:700;

  margin-top:2mm;
}

.rc-remarks p{
  margin:2mm 0 0;

  font-size:9px;

  line-height:1.35;

  overflow-wrap:anywhere;
}

/* Signatures */

.rc-signatures{
  display:grid;

  grid-template-columns:1fr 1fr 1fr;

  align-items:end;

  gap:10mm;

  margin:0 5mm;

  padding-top:8mm;

  margin-top:auto;
}

.rc-signatures>div{
  text-align:center;

  min-height:12mm;
}

.rc-sign-date{
  display:block;

  font-size:9px;

  text-align:left;
}

.rc-sign-line{
  border-top:1px solid #222;

  width:100%;

  margin-bottom:2mm;
}

.rc-signatures span{
  font-size:8px;
  color:#111;
}

/* Few subjects */

.rc-subject-count-few .rc-table td{
  height:12mm;

  padding:2.5mm 2.5mm;

  font-size:10px;
}

.rc-subject-count-few .rc-table th{
  padding:3mm 2.5mm;

  font-size:9px;
}

.rc-subject-count-few .rc-summary{
  margin-top:2mm;
}

.rc-subject-count-few .rc-stat{
  min-height:18mm;
}

.rc-subject-count-few .rc-nonacademic-table td{
  height:8mm;
}

.rc-subject-count-few .rc-result-remarks{
  min-height:24mm;
}

.rc-subject-count-few .rc-signatures{
  margin-top:auto;
  padding-top:8mm;
}

/* Many subjects */

.rc-subject-count-many .rc-table td{
  height:6.5mm;

  padding:1.1mm 1.8mm;

  font-size:8px;
}

.rc-subject-count-many .rc-table th{
  padding:1.8mm;

  font-size:7px;
}

.rc-subject-count-many .rc-section-title{
  margin-top:2mm;
  margin-bottom:1mm;
}

.rc-subject-count-many .rc-signatures{
  padding-top:5mm;
}

/* Watermark */

.rc-watermark{
  position:absolute;

  top:50%;
  left:50%;

  transform:translate(-50%,-50%);

  width:60%;

  max-width:120mm;

  opacity:.06;

  filter:grayscale(1);

  pointer-events:none;

  z-index:0;
}

/* Keep actual content above watermark */

.rc-border > *:not(.rc-watermark){
  position:relative;
  z-index:1;
}

/* Larger print text for academic and non-academic subject tables */
.report-card-sheet .rc-table th,
.report-card-sheet .rc-nonacademic-table th{
  font-size:10px;
}

.report-card-sheet .rc-table td,
.report-card-sheet .rc-nonacademic-table td,
.report-card-sheet .rc-grade-pill{
  font-size:11px;
}

/* Larger header branding while staying inside the report border */
.report-card-sheet .rc-header{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  margin-bottom:1mm;
}

.report-card-sheet .rc-logo{
  flex:0 0 34mm;
  width:34mm;
  height:34mm;
  max-width:34mm;
  max-height:34mm;
}

.report-card-sheet .rc-header-text{
  min-width:0;
  max-width:calc(100% - 34mm - 14px);
  text-align:center;
}

.report-card-sheet .rc-header-text h1{
  font-size:34px;
  line-height:1.15;
  overflow-wrap:anywhere;
}

.report-card-sheet .rc-header-text small{
  margin-top:3px;
  text-align:center;
}

.report-card-sheet .rc-title-block{
  border-top:0;
  border-bottom:0;
  padding:0;
  margin-bottom:1mm;
}

.report-card-sheet .rc-border{
  padding-top:3mm;
  border:0;
}

.report-card-sheet .rc-section-title{
  margin:1mm 0 .5mm;
  padding-bottom:.5mm;
  border-bottom:0;
}

.report-card-sheet .rc-nonacademic-table{
  margin-bottom:1.5mm;
}

.report-card-sheet .rc-nonacademic-table th,
.report-card-sheet .rc-nonacademic-table td{
  height:4.5mm;
  padding:.8mm 2mm;
}

.no-print{
  display:none !important;}
}
/* school's logo */
.rc-watermark{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:60%;
  max-width:120mm;
  opacity:.06;
  filter:grayscale(1);
  pointer-events:none;
  z-index:0;
}

@media print {
  body.printing-reportcard aside{
    display:none !important;
  }

  body.printing-reportcard .rc-watermark{
    opacity:.1872;
  }
}