/* ==========================================================================
   HỒ SƠ TỔNG HỢP — bố cục một trang.
   Dùng chung cho ba nơi: xem trên màn hình, in ra giấy / lưu PDF, và tệp
   HTML độc lập xuất ra. Vì vậy mọi màu đều có bản đối ứng trong @media print.
   ========================================================================== */

.report{
  background:var(--ink-2);border:var(--border);border-radius:var(--radius-lg);
  padding:0 0 24px;overflow:hidden;
}

/* ------------------------------------------------------------ tiêu đề */
.rp-hero{
  background:linear-gradient(135deg,#123D30,#0A241C 70%);
  border-bottom:2px solid var(--gold);
  padding:26px 28px 22px;text-align:center;
}
.rp-hero-eyebrow{
  font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold-light);font-weight:600;
}
.rp-hero-name{
  font-family:var(--font-display);font-size:clamp(26px,4vw,38px);font-weight:700;
  color:var(--gold);margin:8px 0 6px;letter-spacing:.01em;
}
.rp-hero-sub{font-size:12px;color:var(--text-mute);}

/* -------------------------------------------------------------- khối */
.rp-block{padding:20px 28px 4px;break-inside:avoid;}
.rp-head{
  display:flex;align-items:center;gap:10px;margin-bottom:14px;
  font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--text-light);
  border-bottom:1px solid rgba(201,162,75,.28);padding-bottom:8px;
}
.rp-num{
  flex:0 0 auto;width:22px;height:22px;border-radius:5px;background:var(--gold);
  color:#20180a;font-family:var(--font-body);font-size:12px;font-weight:700;
  display:grid;place-items:center;
}
.rp-sub{
  font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-light);font-weight:700;margin:14px 0 7px;
}
.rp-2col{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
@media (max-width:820px){ .rp-2col{grid-template-columns:1fr;} }

.rp-row{
  display:flex;gap:10px;padding:4px 0;font-size:12.5px;
  border-bottom:1px dotted rgba(255,255,255,.08);
}
.rp-k{flex:0 0 118px;color:var(--text-dim);}
.rp-v{flex:1;color:var(--text-light);}
.rp-p{font-size:12.5px;color:var(--text-mute);line-height:1.65;margin:0 0 8px;}
.rp-note{font-size:11px;color:var(--text-dim);font-style:italic;line-height:1.55;margin-top:6px;}
.rp-ul{margin:0;padding-left:16px;}
.rp-ul li{font-size:12px;color:var(--text-mute);line-height:1.6;margin-bottom:5px;}
.rp-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;}
.rp-tag{
  font-size:11px;padding:4px 10px;border-radius:999px;
  background:rgba(201,162,75,.12);border:1px solid rgba(201,162,75,.3);color:var(--gold-light);
}

/* ------------------------------------------------------------- bảng */
.rp-pillars,.rp-tbl{width:100%;border-collapse:collapse;font-size:12px;}
.rp-pillars th,.rp-pillars td,.rp-tbl th,.rp-tbl td{
  padding:6px 8px;text-align:center;border:1px solid rgba(255,255,255,.1);
}
.rp-tbl th,.rp-tbl td{text-align:left;}
.rp-pillars thead th,.rp-tbl thead th{
  background:rgba(201,162,75,.12);color:var(--gold-light);
  font-size:10px;letter-spacing:.1em;text-transform:uppercase;
}
.rp-pillars tbody th,.rp-tbl tbody th{
  background:rgba(255,255,255,.04);color:var(--text-dim);
  font-size:10px;letter-spacing:.08em;text-transform:uppercase;text-align:left;
}
.rp-pillars td{color:var(--text-light);font-family:var(--font-display);font-size:15px;}
.rp-pillars td small,.rp-tbl small{font-family:var(--font-body);font-size:10px;color:var(--text-dim);}
.rp-tbl td{color:var(--text-mute);}

/* ------------------------------------------------------- thần số học */
.rp-num-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media (max-width:820px){ .rp-num-list{grid-template-columns:1fr;} }
.rp-num-item{
  display:flex;gap:9px;padding:9px 11px;border-radius:9px;
  background:rgba(10,36,28,.5);border-left:3px solid var(--gold);
}
.rp-num-badge{
  flex:0 0 auto;width:18px;height:18px;border-radius:50%;
  background:rgba(201,162,75,.2);color:var(--gold-light);
  font-size:10px;font-weight:700;display:grid;place-items:center;margin-top:2px;
}
.rp-num-body{flex:1;min-width:0;}
.rp-num-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;}
.rp-num-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-weight:600;}
.rp-num-val{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--gold);line-height:1;}
.rp-num-title{font-size:12.5px;font-weight:600;color:var(--text-light);margin:2px 0 3px;}
.rp-num-desc{font-size:11px;color:var(--text-mute);line-height:1.5;}

/* -------------------------------------------------------- thanh ngũ hành */
.rp-bar{display:flex;align-items:center;gap:9px;margin-bottom:5px;}
.rp-bar-lb{flex:0 0 44px;font-size:11.5px;color:var(--text-mute);}
.rp-bar-tr{flex:1;height:7px;border-radius:999px;background:rgba(255,255,255,.07);position:relative;overflow:hidden;}
.rp-bar-fl{position:absolute;left:0;top:0;bottom:0;border-radius:999px;}
.rp-bar-pc{flex:0 0 34px;text-align:right;font-family:var(--font-mono);font-size:10.5px;color:var(--text-dim);}

/* ------------------------------------------------- hoàng đạo / bản mệnh */
.rp-zod-hd{display:flex;gap:12px;align-items:center;margin-bottom:10px;}
.rp-zod-sym{font-size:30px;line-height:1;}
.rp-zod-name{font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--gold);}

/* ----------------------------------------------------------- đại vận */
.rp-dv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;}
@media (max-width:820px){ .rp-dv-grid{grid-template-columns:repeat(2,1fr);} }
.rp-dv{
  padding:9px;border-radius:9px;text-align:center;
  background:rgba(10,36,28,.5);border:1px solid rgba(255,255,255,.08);
}
.rp-dv.now{border-color:var(--gold);background:rgba(201,162,75,.1);}
.rp-dv-n{
  width:16px;height:16px;border-radius:50%;margin:0 auto 5px;
  background:rgba(201,162,75,.2);color:var(--gold-light);
  font-size:9.5px;font-weight:700;display:grid;place-items:center;
}
.rp-dv-cc{font-family:var(--font-display);font-size:16px;font-weight:700;}
.rp-dv-age{font-size:11px;color:var(--text-light);margin-top:3px;}
.rp-dv-yr{font-size:10px;color:var(--text-dim);}
.rp-dv-god{font-size:10px;color:var(--steel-light);margin-top:3px;}

/* ------------------------------------------------------ trục tổng hợp */
.rp-ax{margin-bottom:11px;}
.rp-ax-hd{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--text-dim);margin-bottom:4px;}
.rp-ax-lb{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;}
.rp-ax-tr{height:7px;border-radius:999px;background:rgba(255,255,255,.07);position:relative;overflow:hidden;}
.rp-ax-fl{position:absolute;top:0;bottom:0;border-radius:999px;}
.rp-ax-mid{position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.2);}

/* ---------------------------------------------------------- chân trang */
.rp-foot{padding:18px 28px 0;margin-top:16px;border-top:1px solid rgba(255,255,255,.1);}
.rp-warn{
  font-size:11px;line-height:1.6;color:var(--warn-light);
  background:rgba(180,89,46,.1);border:1px solid rgba(180,89,46,.3);
  border-radius:9px;padding:11px 14px;
}
.rp-stamp{font-size:10.5px;color:var(--text-dim);text-align:center;margin-top:10px;}

/* ==========================================================================
   KHI IN / LƯU PDF — đảo sang nền sáng mực tối cho tiết kiệm mực và dễ đọc.
   Mọi màu sáng dùng ở trên đều phải có bản đối ứng ở đây.
   ========================================================================== */
@media print{
  .report{border:none;background:#fff !important;padding:0;}
  .rp-hero{background:#fff !important;border-bottom:2px solid #b99235;padding:0 0 14px;}
  .rp-hero-eyebrow{color:#7a6224 !important;}
  .rp-hero-name{color:#111 !important;}
  .rp-hero-sub,.rp-note,.rp-k,.rp-dv-yr{color:#555 !important;}
  .rp-block{padding:14px 0 0;}
  .rp-head{color:#111 !important;border-bottom-color:#ccc;}
  .rp-sub{color:#7a6224 !important;}
  .rp-v,.rp-num-title,.rp-dv-age{color:#111 !important;}
  .rp-p,.rp-ul li,.rp-num-desc,.rp-tbl td{color:#333 !important;}
  .rp-num-item,.rp-dv{background:#f7f7f5 !important;border-color:#ddd !important;}
  .rp-tag{background:#f3ead4 !important;color:#6b5520 !important;border-color:#d8c48b !important;}
  .rp-pillars thead th,.rp-tbl thead th{background:#f3ead4 !important;color:#6b5520 !important;}
  .rp-pillars tbody th,.rp-tbl tbody th{background:#f2f2f0 !important;color:#555 !important;}
  .rp-pillars th,.rp-pillars td,.rp-tbl th,.rp-tbl td{border-color:#ccc !important;}
  .rp-bar-tr,.rp-ax-tr{background:#e8e8e4 !important;}
  .rp-warn{background:#fcf3ec !important;color:#7a3b18 !important;border-color:#e0b99a !important;}
  .rp-num-val,.rp-zod-name{color:#8a6a1f !important;}
  .rp-num{background:#b99235 !important;color:#fff !important;}
  @page{size:A4;margin:12mm;}
}
