/* ============================================================
   报告纸面样式（A4）
   ============================================================ */
.paper-wrap{padding:34px 0 80px;background:
  radial-gradient(900px 400px at 50% -10%,rgba(63,216,236,.07),transparent 70%),
  var(--ink);
}
.paper-tools{
  max-width:820px;margin:0 auto 18px;padding:0 20px;display:flex;gap:10px;
  flex-wrap:wrap;align-items:center;justify-content:space-between;
}
.paper-tools .tl{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;color:var(--fg-3)}

.paper{
  width:210mm;min-height:297mm;margin:0 auto;background:#FCFBF7;color:#1B1B18;
  padding:18mm 16mm 14mm;box-shadow:0 40px 90px -30px rgba(0,0,0,.85);
  font-family:var(--sans);font-size:10.5pt;line-height:1.75;position:relative;
}
.paper::before{
  content:"";position:absolute;left:0;top:0;width:100%;height:3px;
  background:linear-gradient(90deg,#0E8FA3,#E7B15A 70%,transparent);
}

/* 抬头 */
.rp-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1.6px solid #1B1B18;padding-bottom:8mm;margin-bottom:6mm}
.rp-school{font-family:var(--serif);font-size:16pt;font-weight:700;letter-spacing:.02em;line-height:1.3}
.rp-dept{font-size:8.5pt;color:#6B6A63;margin-top:2mm;letter-spacing:.04em}
.rp-seal{
  font-family:var(--mono);font-size:9pt;line-height:1.4;letter-spacing:.12em;text-align:center;
  border:1px solid #1B1B18;border-radius:4px;padding:2.5mm 3mm;color:#1B1B18;
}
.rp-seal small{font-size:6pt;letter-spacing:.16em;color:#8B8779}

/* 元信息 */
.rp-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:2mm;margin-bottom:6mm;border-bottom:1px dashed #D8D4C8;padding-bottom:4mm}
.rp-meta div{font-size:8pt;color:#6B6A63;line-height:1.5}
.rp-meta span{display:block;font-family:var(--mono);font-size:7pt;letter-spacing:.1em;color:#9A968A;margin-bottom:.6mm}
.rp-meta b{font-size:8.6pt;color:#1B1B18;font-weight:600;font-family:var(--mono);letter-spacing:.02em}

/* 区块 */
.rp-sec{margin-bottom:6mm;page-break-inside:avoid}
.rp-h{
  font-family:var(--serif);font-size:12pt;font-weight:700;margin:0 0 3.5mm;
  display:flex;align-items:baseline;gap:2.5mm;border-bottom:1px solid #E2DED2;padding-bottom:1.5mm;
}
.rp-h i{
  font-style:normal;font-family:var(--mono);font-size:7.5pt;color:#0E8FA3;
  border:1px solid rgba(14,143,163,.4);border-radius:3px;padding:.3mm 1.4mm;letter-spacing:.06em;
}

/* 分数区 */
.rp-hero{background:#F4F2EA;border-left:3px solid #0E8FA3;padding:5mm 6mm;margin-bottom:6mm}
.rp-score{display:flex;align-items:baseline;gap:3mm}
.rp-score b{font-family:var(--mono);font-size:34pt;line-height:.9;letter-spacing:-.03em;color:#0E2E36}
.rp-score span{font-size:8.5pt;color:#6B6A63}
.rp-track{font-size:9.5pt;margin-top:2mm;color:#1B1B18}
.rp-track strong{background:#0E2E36;color:#F4FBFD;padding:.8mm 2.4mm;border-radius:2px;font-weight:600;font-size:9.5pt}
.rp-note{font-size:8.4pt;color:#5A5A52;line-height:1.7;margin:2mm 0 0}
.rp-cut{font-family:var(--serif);font-size:12pt;line-height:1.6;color:#0E2E36;margin:0 0 3mm}
.rp-code3{font-family:var(--mono);font-size:30pt;letter-spacing:.12em;color:#0E2E36;line-height:1}
.rp-holland{font-size:9pt;color:#6B6A63;margin-top:1mm}

/* 条形 */
.rp-bars{display:grid;grid-template-columns:1fr 1fr;gap:1.5mm 8mm;margin-top:4mm}
.rp-bar .rl{display:flex;justify-content:space-between;font-size:8pt;color:#4A4A44;margin-bottom:1mm}
.rp-bar .rl em{font-family:var(--mono);font-style:normal;color:#0E8FA3}
.rp-bar .rb{height:2.4mm;background:#E4E0D5;border-radius:2px;overflow:hidden}
.rp-bar .rb i{display:block;height:100%;background:linear-gradient(90deg,#0E8FA3,#3FD8EC);border-radius:2px}

/* 键值表 */
.rp-kv{width:100%;border-collapse:collapse;font-size:9pt}
.rp-kv th,.rp-kv td{text-align:left;padding:2mm 2mm;border-bottom:1px solid #E8E4DA}
.rp-kv th{width:16mm;color:#8B8779;font-weight:400;font-size:8.4pt;font-family:var(--mono);white-space:nowrap}
.rp-kv td{color:#1B1B18}

/* 两栏 */
.rp-2col{display:grid;grid-template-columns:1fr 1fr;gap:6mm;margin-top:3mm}
.rp-2col h4{font-size:8.6pt;color:#0E8FA3;margin:0 0 1mm;letter-spacing:.06em;font-family:var(--mono);text-transform:uppercase}
.rp-2col p{margin:0;font-size:9pt;color:#3A3A34;line-height:1.7}
.rp-2col p b{color:#0E2E36}

/* 处方 */
.rp-adv{margin:0;padding-left:5mm;font-size:9.2pt;color:#3A3A34;line-height:1.85}
.rp-adv li{margin-bottom:2mm}

/* 路线表 */
.rp-road{width:100%;border-collapse:collapse;font-size:9pt}
.rp-road td{border-bottom:1px solid #E8E4DA;padding:2.6mm 2mm;vertical-align:top}
.rp-road td.m{width:22mm;font-family:var(--mono);font-size:8pt;color:#0E8FA3;white-space:nowrap}
.rp-road td b{color:#1B1B18}
.rp-road td span{color:#5A5A52;font-size:8.6pt}

/* 签字 */
.rp-sign{margin-top:8mm}
.rp-signbox{
  display:inline-flex;align-items:flex-end;width:46%;margin-right:5%;height:16mm;
  border-bottom:1px solid #B9B4A8;font-size:8pt;color:#8B8779;
}
.rp-signbox span{padding-bottom:1.5mm}
.rp-verify{display:flex;gap:3mm;margin-top:6mm;border-top:1px dashed #D8D4C8;padding-top:3mm;font-size:7.6pt;color:#6B6A63;line-height:1.6}
.rp-qr{width:16mm;height:16mm;flex:none;border:1px solid #DDD9CE;display:grid;place-items:center;background:#fff}
.rp-qr img{width:100%;height:100%}
.rp-qr span{font-family:var(--mono);font-size:7.5pt;text-align:center;line-height:1.25;color:#0E2E36;letter-spacing:.08em}
.rp-qr small{font-size:5pt;color:#9A968A;letter-spacing:.18em}
.rp-verify b{color:#1B1B18;font-size:8.2pt}
.rp-verify .mono{font-family:var(--mono)}

/* 空态 */
.empty-state{max-width:640px;margin:60px auto;text-align:center;padding:40px;border:1px dashed var(--line-2);border-radius:16px}
.empty-state h2{font-size:22px;margin-bottom:10px}
.empty-state p{color:var(--fg-3);font-size:14px}

@media(max-width:820px){
  .paper{width:100%;min-height:0;padding:22px 18px;box-shadow:none;border-radius:0}
  .paper-wrap{padding:0}
  .rp-bars,.rp-2col,.rp-meta{grid-template-columns:1fr}
  .rp-signbox{width:100%;margin-right:0;margin-bottom:6mm}
  .paper-tools{padding:12px 16px}
}

@media print{
  @page{size:A4;margin:0}
  body,.paper-wrap{background:#fff!important}
  .paper{width:auto;min-height:0;box-shadow:none;margin:0;padding:16mm 15mm}
  .paper-tools,.topbar,.footer,.no-print{display:none!important}
  .rp-sec{page-break-inside:avoid}
}
