.student-final-result{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:1rem 0;padding:1.3rem 1.5rem;border:1px solid #a9d1bb;border-radius:19px;background:linear-gradient(135deg,#eff8f2,#fff)}
.student-final-result h2{margin:.35rem 0;color:#176a50;font-size:var(--font-size-heading-lg)}
.student-final-result p{max-width:42rem;margin:0;color:var(--text-muted);font-size:var(--font-size-small)}
.student-result-link{display:inline-flex;gap:.55rem;align-items:center;margin-top:1rem;padding:.65rem .9rem;border-radius:9px;background:#176a50;color:#fff;font-size:var(--font-size-small);font-weight:750;text-decoration:none}
.student-result-link:hover,.student-result-link:focus-visible{background:#10533e;color:#fff}
.student-result-score{min-width:150px;padding:1rem 1.25rem;border-radius:13px;background:#176a50;color:#fff;text-align:center}
.student-result-score small,.student-result-score span{display:block;color:#e1f3e9;font-size:var(--font-size-caption)}
.student-result-score strong{display:block;margin:.15rem 0;font-size:2.4rem;line-height:1.1;font-variant-numeric:tabular-nums}
.student-grade-detail{max-width:1080px;margin-inline:auto}
.student-grade-hero{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:1rem;padding:1.6rem;border:1px solid #c9ddd0;border-radius:18px;background:linear-gradient(135deg,#f0f8f3,#fff)}
.student-grade-hero h1{margin:.5rem 0;font-size:var(--font-size-page-title)}
.student-grade-hero p{margin:0;color:var(--text-muted)}
.student-grade-score{min-width:145px;padding:1rem;border-radius:13px;background:#176a50;color:#fff;text-align:center}
.student-grade-score small,.student-grade-score span{display:block;font-size:var(--font-size-caption)}
.student-grade-score strong{display:block;margin:.15rem 0;font-size:2.5rem;line-height:1.1;font-variant-numeric:tabular-nums}
.student-grade-notice{padding:.75rem 1rem;border:1px solid #e9d7a7;border-radius:10px;background:#fff9e9;color:#694d16}
.student-grade-detail section:not(.student-grade-hero){margin-top:1rem;padding:1.3rem;border:1px solid var(--border-color);border-radius:15px;background:#fff}
.student-grade-detail section h2{margin:0 0 .65rem;font-size:var(--font-size-heading-md)}
.student-grade-detail section p{line-height:1.55}
.student-grade-equation{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin:1rem 0;padding:.8rem 1rem;border-radius:10px;background:#eef7f1;font-size:var(--font-size-body);font-weight:750;font-variant-numeric:tabular-nums}
.student-grade-equation strong{color:#176a50;font-size:1.45rem}
.student-grade-stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:.85rem}
.student-grade-stage{overflow:hidden;border:1px solid #d7e4dc;border-radius:11px}
.student-grade-stage header{display:flex;justify-content:space-between;gap:.7rem;align-items:center;padding:.85rem 1rem;background:#f3f8f5}
.student-grade-stage header small{color:var(--text-muted);font-size:var(--font-size-caption)}
.student-grade-stage h3{margin:.15rem 0 0;font-size:var(--font-size-body)}
.student-grade-stage h3 span{font-size:var(--font-size-caption);font-weight:500}
.student-grade-stage header>strong{white-space:nowrap;color:#176a50;font-size:1.25rem;font-variant-numeric:tabular-nums}
.student-grade-stage ul,.student-grade-recovery ul{margin:0;padding:0;list-style:none}
.student-grade-stage li{display:flex;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-top:1px solid #e5ece7}
.student-grade-stage li strong,.student-grade-stage li small,.student-grade-stage li em{display:block}
.student-grade-stage li strong{font-size:var(--font-size-small)}
.student-grade-stage li small{margin-top:.15rem;color:var(--text-muted);font-size:var(--font-size-caption);line-height:1.35}
.student-grade-stage li>span{min-width:88px;text-align:right;font-weight:750;font-variant-numeric:tabular-nums}
.student-grade-stage li em{color:#176a50;font-size:var(--font-size-caption);font-style:normal}
.student-grade-detail .student-grade-stage-total,.student-grade-detail .student-grade-replacement{margin:0;padding:.7rem 1rem;border-top:1px solid #e5ece7;font-size:var(--font-size-small)}
.student-grade-detail .student-grade-replacement{color:#176a50;background:#f5faf6}
.student-grade-stage-total{display:flex;justify-content:space-between}
.student-grade-recovery li{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.6rem 0;border-top:1px solid #e5ece7}
.student-grade-recovery li strong{margin-left:auto;font-variant-numeric:tabular-nums}
.student-grade-recovery li small{padding:.2rem .45rem;border-radius:6px;background:#eff5f1;color:#176a50}
.student-grade-detail .student-grade-recovery-note{padding:.8rem;border-radius:9px;background:#eff7f2}
@media(max-width:700px){.student-final-result,.student-grade-hero{align-items:flex-start;flex-direction:column}.student-result-score,.student-grade-score{width:100%}}
