/* ===================================================================
   모의고사 개인 가채점표 — 스타일시트 (성적표_스타일.css)
   HTML(모의고사_개인성적표_생성기.html)과 같은 폴더에 두면 동작합니다.
   =================================================================== */

:root{
  --navy:#1f3a5f; --navy2:#274b7a; --ink:#1a2230; --sub:#5b6675;
  --line:#e3e7ee; --line2:#cfd6e2; --bg:#eef1f6; --card:#ffffff;
  --gold:#c79a3a; --gold-soft:#f7efdb; --gold2:#b8860b; --gold-ink:#8a6a1e; --cream:#faf6ea;
  --bar:#3a6ea5; --bar-soft:#e7eef7;
  --ox-o:#9aa4b3; --ox-x:#a06a12;
  --gr1:#1a7f47; --gr2:#3a9c5a; --gr3:#79ab3f; --gr4:#b7a52f;
  --gr5:#d69a2a; --gr6:#df7f2a; --gr7:#d9622f; --gr8:#cf4436; --gr9:#b5283a;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Pretendard','Malgun Gothic','Apple SD Gothic Neo',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink); background:var(--bg); -webkit-font-smoothing:antialiased;
}

/* ---------- Control panel (screen only) ---------- */
#panel{max-width:980px;margin:0 auto;padding:32px 24px 8px;}
.brand{display:flex;align-items:center;gap:14px;margin-bottom:6px;}
.brand .mark{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--navy),var(--navy2));
  display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:20px;box-shadow:0 6px 16px rgba(31,58,95,.25);}
.brand h1{font-size:22px;margin:0;font-weight:800;letter-spacing:-.01em;}
.brand p{margin:2px 0 0;color:var(--sub);font-size:13px;}

.note{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:18px 0;font-size:13.5px;color:#3a4658;line-height:1.7;}
.note b{color:var(--navy);}
.note .pill{display:inline-block;background:var(--gold-soft);color:#8a6a1e;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700;margin:0 2px;}

#drop{border:2px dashed var(--line2);border-radius:16px;background:#fff;padding:30px 22px;text-align:center;transition:.15s;cursor:pointer;}
#drop.hover{border-color:var(--navy);background:#f6f9ff;}
#drop .big{font-size:16px;font-weight:700;margin-bottom:6px;}
#drop .small{font-size:13px;color:var(--sub);}
#drop input{display:none;}

.files{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0;}
.fchip{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 10px;text-align:center;}
.fchip .sub{font-weight:800;font-size:15px;color:var(--navy);}
.fchip .state{font-size:12px;margin-top:5px;color:#b0b8c6;}
.fchip.ok{border-color:#bfe4cd;background:#f3fbf6;}
.fchip.ok .state{color:var(--gr1);font-weight:700;}
.fchip .dot{width:9px;height:9px;border-radius:50%;background:#d3d8e0;display:inline-block;margin-right:5px;vertical-align:1px;}
.fchip.ok .dot{background:var(--gr1);}

.actions{display:flex;gap:12px;align-items:center;margin:8px 0 26px;flex-wrap:wrap;}
button{font-family:inherit;font-size:14.5px;font-weight:700;border:none;border-radius:11px;padding:12px 20px;cursor:pointer;transition:.12s;}
.btn-primary{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;box-shadow:0 6px 16px rgba(31,58,95,.28);}
.btn-primary:disabled{background:#c2c9d4;box-shadow:none;cursor:not-allowed;}
.btn-print{background:var(--gold);color:#fff;box-shadow:0 6px 16px rgba(199,154,58,.3);}
.btn-ghost{background:#fff;color:var(--navy);border:1px solid var(--line2);}
.btn-print:disabled,.btn-ghost:disabled{opacity:.45;cursor:not-allowed;}
.status{font-size:13.5px;color:var(--sub);}
.status b{color:var(--navy);}
.err{color:#c0362c;font-weight:700;}

.titlefields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 20px;}
.titlefields label{font-size:12px;color:var(--sub);font-weight:700;display:block;margin-bottom:5px;}
.titlefields input{width:100%;font-family:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--line2);border-radius:10px;color:var(--ink);}
.titlefields input:focus{outline:none;border-color:var(--navy);}

.previewbar{max-width:980px;margin:0 auto;padding:0 24px 10px;display:flex;justify-content:space-between;align-items:center;}
.previewbar .cnt{font-size:13px;color:var(--sub);}
.previewbar .cnt b{color:var(--navy);}
.hint{font-size:12.5px;color:#8a93a3;text-align:center;margin:2px auto 24px;max-width:760px;line-height:1.6;}
.hint b{color:var(--sub);}

/* ---------- Pages ---------- */
#pages{padding:8px 0 60px;}
.sheet{
  width:186mm;min-height:273mm;background:var(--card);margin:0 auto 18px;
  box-shadow:0 10px 30px rgba(20,30,50,.13);border-radius:2px;border:1.6px solid var(--navy);
  display:flex;flex-direction:column;overflow:hidden;position:relative;
  content-visibility:auto;contain-intrinsic-size:186mm 273mm; /* 화면 밖 장은 렌더 생략 → 스크롤 경량화 */
}

/* header — 공식 정장: 중앙정렬 · 인장 배지 · 골드 괘선 */
.rc-top{background:var(--cream);color:var(--navy);padding:5mm 12mm 3.5mm;position:relative;text-align:center;border-bottom:1.5px solid #d8c58a;}
.rc-top .badge{display:inline-block;margin:0 0 2mm;border:1.4px solid var(--gold2);color:var(--gold-ink);border-radius:999px;padding:3px 15px;font-size:8.5pt;font-weight:800;letter-spacing:.24em;background:#fffdf7;}
.rc-top .exam{font-size:12.5pt;font-weight:800;letter-spacing:-.01em;color:var(--navy);}
.rc-top .sub{font-size:8.5pt;color:var(--gold-ink);margin-top:2px;letter-spacing:.02em;}

/* disclaimer strip */
.rc-disc{background:#fffdf7;color:#7a5c17;font-size:6.8pt;line-height:1.4;padding:1.1mm 12mm;text-align:center;border-bottom:1px solid #ecdfbe;}
.rc-disc b{color:var(--gold-ink);}

/* identity — 중앙정렬 · 크림/골드 칩 */
.rc-id{display:flex;align-items:center;justify-content:center;gap:16px;padding:2.6mm 12mm 2mm;border-bottom:2px solid var(--navy);}
.rc-id .name{font-size:17pt;font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--navy);}
.rc-id .meta{margin-left:0;display:flex;gap:7px;}
.rc-id .chip{background:var(--cream);border:1px solid #e2d3a8;border-radius:7px;padding:2px 12px;text-align:center;}
.rc-id .chip .k{font-size:7pt;color:#a9852f;font-weight:700;letter-spacing:.05em;}
.rc-id .chip .v{font-size:11pt;color:var(--gold-ink);font-weight:800;}

.rc-body{padding:1.4mm 12mm 0;flex:1;}
.sect{font-size:8.5pt;font-weight:800;color:var(--navy);margin:0 0 1.0mm;display:flex;align-items:center;justify-content:center;gap:7px;letter-spacing:.03em;}
.sect:not(:first-child){margin-top:1.6mm;}
.sect .hintlabel{font-size:6.8pt;font-weight:600;color:#a9852f;letter-spacing:0;}

/* ----- score + rank table ----- */
table.rc{width:100%;border-collapse:collapse;}
table.rc th{background:var(--navy);color:#f4e4bf;font-size:8pt;font-weight:700;padding:3px 8px;text-align:center;letter-spacing:.03em;}
table.rc th:first-child{text-align:left;padding-left:14px;border-top-left-radius:6px;}
table.rc th:last-child{border-top-right-radius:6px;}
table.rc td{padding:2.1px 8px;border-bottom:1px solid var(--line);font-size:9.5pt;text-align:center;vertical-align:middle;}
table.rc td.area{text-align:left;padding-left:14px;font-weight:800;color:var(--ink);white-space:nowrap;}
table.rc td.area .en{font-size:7pt;color:#aab3c1;font-weight:600;margin-left:5px;letter-spacing:.06em;}
table.rc td.elective{color:#41506a;font-weight:600;font-size:9pt;}
table.rc td.score{font-size:10.5pt;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums;}
table.rc td.score .u{font-size:7pt;color:#9aa4b3;font-weight:600;margin-left:1px;}
table.rc td.rank{font-variant-numeric:tabular-nums;color:#33405a;font-weight:700;font-size:9.5pt;}
table.rc td.rank .d{color:#a7b0c0;font-weight:600;font-size:8pt;}
table.rc tr:nth-child(even) td{background:#fafbfd;}
table.rc td.dash{color:#c2c9d4;font-weight:700;}
table.rc td.absent{color:#a7aebb;font-weight:600;}
table.rc tr.abs-row td{background:#f6f7f9;color:#a0a8b6;}

.gbadge{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:1.5px 8px;border-radius:999px;color:#fff;font-weight:800;font-size:8.5pt;}
.g1{background:var(--gr1);} .g2{background:var(--gr2);} .g3{background:var(--gr3);}
.g4{background:var(--gr4);} .g5{background:var(--gr5);} .g6{background:var(--gr6);}
.g7{background:var(--gr7);} .g8{background:var(--gr8);} .g9{background:var(--gr9);}

/* ----- 합계 행(표 편입) — 크림/골드 ----- */
tr.rc-sum td{background:var(--cream);font-weight:700;}
tr.rc-sum td.sumarea{color:var(--navy);font-weight:800;}
tr.rc-sum td.sumsub{color:#b0996a;font-weight:600;font-size:8pt;}
tr.rc-sum td.score{color:var(--gold-ink);}
tr.rc-sum-first td{border-top:2px solid var(--gold2);}

/* ----- 영역별 성취도 bars ----- */
.bars{display:flex;flex-direction:column;gap:0.35mm;}
.barlegend{display:flex;gap:14px;font-size:7pt;color:#8b94a3;margin:-0.4mm 0 1.0mm;}
.barlegend i{font-style:normal;display:inline-flex;align-items:center;gap:4px;}
.barlegend .ln{display:inline-block;width:14px;height:0;border-top:2px dashed #16283f;}
.barlegend .ln.sch{border-top:2px solid var(--gold2);}
.bar-row{display:grid;grid-template-columns:19mm 12mm 1fr 33mm;align-items:center;gap:8px;}
.bar-row .blabel{font-size:8.5pt;font-weight:800;color:var(--ink);white-space:nowrap;}
.bar-row .blabel .sm{font-size:6pt;color:#9aa4b3;font-weight:600;display:block;margin-top:0;}
.bar-row .bmy{font-size:10pt;font-weight:800;color:var(--navy);text-align:center;font-variant-numeric:tabular-nums;}
.bar-row .bmy .u{font-size:6pt;color:#9aa4b3;font-weight:600;}
.bar-track{position:relative;height:3.7mm;background:var(--bar-soft);border-radius:4px;overflow:visible;}
.bar-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#7d9cc2,#9bb6d6);border-radius:4px;}
.bar-mark{position:absolute;top:-0.7mm;bottom:-0.7mm;width:0;border-left:1.8px dashed #16283f;z-index:2;}
.bar-mark.school{border-left:2.2px solid var(--gold2);}
.bar-avg{font-size:7.5pt;color:#4a5568;line-height:1.25;font-variant-numeric:tabular-nums;}
.bar-avg .cl{color:#16283f;font-weight:700;} .bar-avg .sch{color:var(--gold-ink);font-weight:700;}
.bar-row.abs .bar-track{background:#f2f3f5;} .bar-row.abs .blabel,.bar-row.abs .bmy{color:#aab2bf;}
.bar-row.abs .bar-avg{color:#b7bdc8;}
.bar-row.sumbar .bar-fill{background:linear-gradient(90deg,#c8a24b,#dcbd6e);}
.bar-row.sumbar .blabel{color:var(--gold-ink);}
.bar-row.sumbar .bmy{color:var(--gold-ink);}
.bar-row.sumbar .bar-track{background:#f2ece0;}

/* ----- 문항별 정오표 (O/X) — 2단 배치 ----- */
.omr{display:grid;grid-template-columns:1fr 1fr;gap:0.7mm 4mm;}
.omr-subj{border:1px solid var(--line);border-radius:6px;overflow:hidden;}
.omr-span{grid-column:1 / -1;}
.omr-head{display:flex;align-items:center;gap:7px;background:var(--cream);padding:1px 9px;font-size:7.5pt;font-weight:800;color:var(--navy);border-bottom:1px solid #ede3c9;}
.omr-head .cnt{font-size:6.5pt;color:#9aa4b3;font-weight:600;margin-left:auto;}
.omr-head .pick{font-size:7pt;color:#41506a;font-weight:700;}
.omr-grid{display:flex;flex-wrap:wrap;padding:0.5px 6px 1px;gap:0;}
.omr-cell{width:5.3mm;display:inline-flex;flex-direction:column;align-items:center;font-size:8pt;font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums;}
.omr-cell::before{content:attr(data-n);font-size:5pt;color:#aab3c1;font-weight:600;line-height:0.95;}
.omr-cell.o{color:var(--ox-o);} .omr-cell.x{color:var(--ox-x);}
.omr-cell.omrgap{margin-right:1.5mm;}
.omr-absent{padding:1.5px 9px;font-size:7.5pt;color:#a7aebb;font-weight:600;}
.omr-2col{display:grid;grid-template-columns:1fr 1fr;gap:0.7mm 4mm;}

/* footer */
.rc-foot{padding:1.8mm 12mm 3mm;margin-top:auto;}
.rc-foot .legend{border-top:1px solid var(--line);padding-top:1.4mm;font-size:6.5pt;color:#8b94a3;line-height:1.45;}
.rc-foot .legend b{color:#6b7484;}
.rc-foot .sign{display:flex;justify-content:space-between;align-items:flex-end;margin-top:1.6mm;font-size:7.5pt;color:#5b6675;}
.rc-foot .sign .org{font-weight:700;color:var(--navy);}

/* ---------- Print ---------- */
@media print{
  @page{size:A4 portrait;margin:6mm 6mm;}
  html,body{background:#fff;}
  #panel,.previewbar,.hint,#topbar{display:none !important;}
  #pages{padding:0;}
  .sheet{box-shadow:none;margin:0;border-radius:0;width:auto;min-height:auto;
    content-visibility:visible;contain-intrinsic-size:auto;
    break-after:page;page-break-after:always;break-inside:avoid;}
  .sheet:last-child{break-after:auto;page-break-after:auto;}
  .rc-top,.rc-disc,.rc-top .badge,table.rc th,.gbadge,.bar-track,.bar-fill,.bar-mark,
  table.rc tr:nth-child(even) td,tr.rc-sum td,.rc-id .chip,.omr-head{
    -webkit-print-color-adjust:exact;print-color-adjust:exact;}
  #panel-cut,#panel-hr{display:none !important;}
}

/* ===================================================================
   탭 UI · 예상 등급컷 입력 · 담임 선생님용 (화면 전용 · 인쇄 미포함)
   =================================================================== */

/* ---------- 상단 탭바 ---------- */
#topbar{position:sticky;top:0;z-index:60;background:linear-gradient(135deg,var(--navy),var(--navy2));box-shadow:0 3px 12px rgba(20,30,50,.18);}
#topbar .tabs{max-width:1120px;margin:0 auto;display:flex;gap:2px;padding:0 20px;flex-wrap:wrap;}
.tab{background:transparent;color:#cbd6e8;border:none;border-radius:0;padding:15px 20px;font-size:14.5px;font-weight:700;border-bottom:3px solid transparent;letter-spacing:-.01em;}
.tab:hover{color:#fff;background:rgba(255,255,255,.06);}
.tab.active{color:#fff;border-bottom-color:var(--gold);}
.tab .b{display:inline-block;margin-left:7px;min-width:18px;padding:0 6px;height:18px;line-height:18px;border-radius:999px;background:var(--gold);color:#fff;font-size:11px;font-weight:800;vertical-align:1px;}
.tab .b.off{background:#7f8ba0;}

.tab-panel{}
.tab-panel:not(.active){display:none;}

/* ---------- 예상 등급컷 입력 탭 ---------- */
.cut-wrap{max-width:980px;margin:0 auto;padding:28px 24px 70px;}
.cut-wrap .brand{margin-bottom:14px;}
.cut-wrap .brand .mark{background:linear-gradient(135deg,var(--gold),var(--gold2));}
.cut-lead{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:0 0 20px;font-size:13.5px;color:#3a4658;line-height:1.75;}
.cut-lead b{color:var(--navy);}
.cut-lead .pill{display:inline-block;background:var(--gold-soft);color:#8a6a1e;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700;margin:0 2px;}

.step-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px 20px;margin-bottom:16px;}
.step-card h3{display:flex;align-items:center;font-size:15.5px;margin:0 0 12px;color:var(--ink);font-weight:800;}
.stepno{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:var(--navy);color:#fff;font-size:13px;font-weight:800;margin-right:10px;flex:none;}
.step-card .desc{font-size:13px;color:var(--sub);line-height:1.65;margin:-4px 0 12px 35px;}

.prompt-wrap{position:relative;}
.prompt-box{background:#0f1b2d;color:#e2ebf6;border-radius:10px;padding:15px 16px;font-family:'D2Coding',ui-monospace,'Consolas','Menlo',monospace;font-size:12px;line-height:1.62;white-space:pre-wrap;word-break:break-word;max-height:340px;overflow:auto;border:1px solid #24304a;}
.prompt-box .k{color:#8fd3ff;} .prompt-box .n{color:#f6c177;} .prompt-box .s{color:#a7e0b0;}
.copy-btn{position:absolute;top:10px;right:10px;background:var(--gold);color:#fff;border:none;border-radius:8px;padding:7px 13px;font-size:12.5px;font-weight:700;box-shadow:0 4px 12px rgba(199,154,58,.3);}
.copy-btn.done{background:var(--gr1);}

textarea.cut-input{width:100%;min-height:170px;font-family:'D2Coding',ui-monospace,'Consolas','Menlo',monospace;font-size:12.5px;line-height:1.55;padding:13px 14px;border:1px solid var(--line2);border-radius:11px;color:var(--ink);resize:vertical;background:#fbfcfe;}
textarea.cut-input:focus{outline:none;border-color:var(--navy);background:#fff;}
.cut-actions{display:flex;gap:11px;align-items:center;margin-top:12px;flex-wrap:wrap;}
.cut-status{font-size:13.5px;color:var(--sub);}
.cut-status b{color:var(--navy);}
.cut-status.ok{color:var(--gr1);font-weight:700;}
.cut-status.ok b{color:var(--gr1);}
.cut-status .err{color:#c0362c;font-weight:700;}

.cut-summary{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;}
.cut-summary.hidden{display:none;}
.cut-summary h4{margin:0 0 4px;font-size:14.5px;color:var(--navy);font-weight:800;}
.cut-summary .meta{font-size:12.5px;color:var(--sub);margin-bottom:12px;}
.cut-summary .verify{font-size:12px;color:#8a6a1e;background:var(--gold-soft);border-radius:8px;padding:8px 11px;margin-bottom:12px;line-height:1.55;}
table.cuttbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;}
table.cuttbl th{background:var(--navy);color:#f4e4bf;font-size:11px;font-weight:700;padding:6px 8px;text-align:center;}
table.cuttbl th:first-child,table.cuttbl th:nth-child(2){text-align:left;}
table.cuttbl td{border-bottom:1px solid var(--line);font-size:12px;padding:5px 8px;text-align:center;color:#33405a;}
table.cuttbl td.area{text-align:left;font-weight:800;color:var(--navy);white-space:nowrap;}
table.cuttbl td.sub{text-align:left;font-weight:600;color:#41506a;white-space:nowrap;}
table.cuttbl td.cuts{font-weight:700;letter-spacing:.01em;}
table.cuttbl tr:nth-child(even) td{background:#fafbfd;}

/* ---------- 담임 선생님용 탭 ---------- */
.hr-wrap{max-width:1180px;margin:0 auto;padding:26px 24px 70px;}
.hr-wrap .brand{margin-bottom:14px;}
.hr-wrap .brand .mark{background:linear-gradient(135deg,var(--navy),var(--navy2));}
.hr-empty{background:#fff;border:1px dashed var(--line2);border-radius:14px;padding:40px 22px;text-align:center;color:var(--sub);font-size:14px;line-height:1.7;}
.hr-empty b{color:var(--navy);}
.hr-toolbar{display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin:0 0 16px;}
.hr-toolbar label{font-size:13px;color:var(--sub);font-weight:700;}
.hr-toolbar select{font-family:inherit;font-size:14px;font-weight:700;padding:9px 32px 9px 13px;border:1px solid var(--line2);border-radius:10px;color:var(--navy);background:#fff;}
.hr-toolbar .grow{flex:1;}
.hr-note{font-size:12.5px;color:#8a93a3;margin:0 0 14px;line-height:1.6;}
.hr-note .pill{display:inline-block;background:var(--gold-soft);color:#8a6a1e;border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:700;}
.hr-scroll{overflow-x:auto;padding-bottom:10px;}

.hr-sheet{width:1080px;background:#fff;border:1.6px solid var(--navy);border-radius:3px;margin:0 auto 20px;box-shadow:0 10px 30px rgba(20,30,50,.13);overflow:hidden;}
.hr-head{background:var(--cream);border-bottom:1.5px solid #d8c58a;text-align:center;padding:13px 18px 12px;position:relative;}
.hr-head .badge{display:inline-block;margin-bottom:6px;border:1.4px solid var(--gold2);color:var(--gold-ink);border-radius:999px;padding:3px 15px;font-size:11px;font-weight:800;letter-spacing:.2em;background:#fffdf7;}
.hr-head .exam{font-size:17px;font-weight:800;color:var(--navy);letter-spacing:-.01em;}
.hr-head .sub{font-size:12px;color:var(--gold-ink);margin-top:2px;}
.hr-head .clsline{font-size:15px;font-weight:800;color:var(--navy);margin-top:8px;}
.hr-head .clsline .cnt{font-size:12.5px;color:var(--sub);font-weight:700;margin-left:8px;}
.hr-body{padding:12px 16px 6px;}
.hr-foot{padding:2px 16px 12px;font-size:9.5px;color:#8b94a3;line-height:1.5;}
.hr-foot b{color:#6b7484;}

table.hr{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;}
table.hr th{background:var(--navy);color:#f4e4bf;font-size:10.5px;font-weight:700;padding:6px 4px;text-align:center;border:1px solid #2c4a72;line-height:1.25;}
table.hr th .en{display:block;font-size:8px;color:#c9b78a;font-weight:600;}
table.hr td{border:1px solid var(--line);padding:4px 4px;text-align:center;font-size:11px;vertical-align:middle;}
table.hr tr:nth-child(even) td{background:#fafbfd;}
table.hr td.hr-num{font-weight:800;color:var(--navy);width:38px;}
table.hr td.hr-name{font-weight:800;text-align:left;white-space:nowrap;padding-left:9px;color:var(--ink);width:78px;}
.hr-c .hs{font-size:12.5px;font-weight:800;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;gap:4px;line-height:1.1;}
.hr-c .hr-rk{font-size:8.5px;color:#6a7484;margin-top:1px;font-weight:600;letter-spacing:-.01em;}
.hr-c .hr-rk .n{color:#aab3c1;font-weight:600;}
.hr-c .hr-elec{font-size:8px;color:#9aa4b3;font-weight:600;display:block;margin-bottom:1px;}
.hr-c.tot .hs{color:var(--gold-ink);}
td.hr-c.tot{background:#fdfaf1;}
table.hr tr:nth-child(even) td.hr-c.tot{background:#fbf6ea;}
.hr-abs{color:#a7aebb;font-weight:600;font-size:10px;}
.hr-g{display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;padding:0 3px;border-radius:4px;color:#fff;font-weight:800;font-size:9px;}
.hr-g.est{box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);}
tr.hr-avg td{background:var(--cream) !important;font-weight:700;border-top:2px solid var(--gold2);}
tr.hr-avg td.hr-name{color:var(--navy);}
tr.hr-avg .hs{font-size:11.5px;color:#7a5c17;}

/* 예상 등급 표기(개인 성적표) */
sup.estmark{color:var(--gold2);font-weight:800;font-size:6.5pt;margin-left:1px;line-height:0;}
