/* =====================================================================
   PeptideDx — live report dashboard styles (dr- prefixed to avoid clashes)
   Ported from report-mockup.html; consumes advisor.css brand variables
   (falls back to its own values if --ao-* / --pdx-* aren't present).
   ===================================================================== */
:root{
  --dr-indigo:#4F46E5; --dr-indigo-dark:#4338CA; --dr-indigo-light:#EEF0FF;
  --dr-teal:#0D9488; --dr-teal-light:#CCFBF1;
  --dr-ink:#0B1020; --dr-slate:#364151; --dr-slate-soft:#64748B;
  --dr-border:#E2E6EF; --dr-bg:#F5F7FB;
  --dr-amber:#B45309; --dr-amber-bg:#FEF3C7; --dr-red:#B91C1C; --dr-red-bg:#FEE2E2;
  --dr-green:#047857; --dr-green-bg:#D1FAE5;
  --dr-shadow-sm:0 1px 2px rgba(11,16,32,.06);
}
.dr-wrap{max-width:1000px;margin:0 auto}
.dr-hero{background:linear-gradient(135deg,var(--dr-ink) 0%,#141a33 100%);color:#fff;border-radius:18px;padding:24px 26px;margin-bottom:22px;position:relative;overflow:hidden}
.dr-hero .eyebrow{color:var(--dr-teal);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;margin-bottom:6px}
.dr-hero h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.85rem;font-weight:600;line-height:1.1;margin:0}
.dr-hero p{color:rgba(226,232,240,.82);font-size:.9rem;margin-top:6px}
.dr-saved{display:inline-flex;align-items:center;gap:7px;background:var(--dr-teal-light);color:var(--dr-teal);font-size:.76rem;font-weight:700;padding:5px 11px;border-radius:999px;margin-top:14px}
.dr-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:16px}
.dr-stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);border-radius:11px;padding:11px 13px}
.dr-stat .v{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.7rem;font-weight:600;line-height:1}
.dr-stat .l{font-size:.68rem;color:rgba(226,232,240,.68);margin-top:4px;font-weight:600;line-height:1.25}
@media(max-width:640px){.dr-stats{grid-template-columns:repeat(2,1fr)}}

.dr-section{background:#fff;border:1px solid var(--dr-border);border-radius:16px;box-shadow:var(--dr-shadow-sm);padding:22px 24px;margin-bottom:20px}
.dr-section .head{display:flex;align-items:flex-start;gap:11px;margin-bottom:4px}
.dr-snum{width:29px;height:29px;border-radius:9px;background:var(--dr-indigo-light);color:var(--dr-indigo-dark);font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;font-size:.88rem;margin-top:2px}
.dr-kick{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--dr-indigo)}
.dr-section h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.4rem;font-weight:600;line-height:1.15;margin:0}
.dr-lead{color:var(--dr-slate);font-size:.9rem;margin:2px 0 16px}

.dr-explainer{display:flex;gap:11px;background:var(--dr-indigo-light);border:1px solid #DDE1FF;border-radius:11px;padding:13px 15px;margin-bottom:16px}
.dr-explainer .ei{font-size:1.15rem;flex:none}
.dr-explainer .et{font-size:.84rem;color:var(--dr-slate);line-height:1.5}
.dr-explainer .et b{color:var(--dr-ink)}

.dr-card{border:1px solid var(--dr-border);border-radius:13px;padding:15px 17px;margin-bottom:12px}
.dr-cu-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.dr-cu-name{font-weight:700;font-size:1rem}
.dr-tag{font-size:.7rem;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--dr-bg);color:var(--dr-slate)}
.dr-tag.p{background:var(--dr-indigo-light);color:var(--dr-indigo-dark)}
.dr-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:9px;margin-top:11px}
.dr-meta .k{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dr-slate-soft);font-weight:600}
.dr-meta .val{font-size:.88rem;font-weight:600;margin-top:1px}
.dr-resp{display:inline-flex;gap:3px;align-items:center}
.dr-dot{width:8px;height:8px;border-radius:50%;background:var(--dr-border)}
.dr-dot.on{background:linear-gradient(90deg,var(--dr-indigo),var(--dr-teal))}

.dr-goal{border:1px solid var(--dr-border);border-radius:13px;padding:15px 17px;margin-bottom:14px}
.dr-goal-h{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.dr-goal-h .ic{font-size:1.2rem}
.dr-goal-h h4{font-size:1.02rem;font-weight:700;margin:0}
.dr-pep{display:flex;gap:12px;padding:11px 0;border-top:1px dashed var(--dr-border)}
.dr-pep:first-of-type{border-top:none}
.dr-rank{width:25px;height:25px;border-radius:8px;background:var(--dr-ink);color:#fff;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;margin-top:1px}
.dr-pep .body{flex:1;min-width:0}
.dr-pn{font-weight:700;font-size:.94rem}
.dr-mech{font-size:.74rem;color:var(--dr-slate-soft);font-weight:500}
.dr-why{font-size:.85rem;color:var(--dr-slate);margin-top:4px}
.dr-alt{margin-top:6px;font-size:.79rem;color:var(--dr-slate-soft)}
.dr-alt b{color:var(--dr-slate);font-weight:600}

.dr-pill{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:700;padding:3px 9px;border-radius:999px}
.dr-pill.good{background:var(--dr-green-bg);color:var(--dr-green)}
.dr-pill.mix{background:var(--dr-amber-bg);color:var(--dr-amber)}
.dr-pill.low,.dr-pill.high{background:var(--dr-red-bg);color:var(--dr-red)}
.dr-pill.neutral{background:var(--dr-bg);color:var(--dr-slate)}

.dr-snp{border:1px solid var(--dr-border);border-radius:13px;padding:14px 17px;margin-bottom:12px}
.dr-snp-h{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.dr-gene{font-weight:700;font-size:1rem}
.dr-rs{font-size:.76rem;color:var(--dr-slate-soft);font-family:ui-monospace,monospace}
.dr-geno{font-family:ui-monospace,monospace;font-weight:700;background:var(--dr-ink);color:#fff;font-size:.76rem;padding:3px 9px;border-radius:7px}
.dr-interp{font-size:.86rem;color:var(--dr-slate);margin-top:8px}
.dr-rec{font-size:.84rem;margin-top:8px;padding:9px 12px;background:var(--dr-indigo-light);border-radius:9px}
.dr-rec b{color:var(--dr-indigo-dark)}

.dr-bm{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--dr-border)}
.dr-bm:last-child{border-bottom:none}
.dr-bm .info{flex:1;min-width:0}
.dr-bn{font-weight:700;font-size:.92rem}
.dr-bsub{font-size:.76rem;color:var(--dr-slate-soft)}
.dr-bval{text-align:right;font-variant-numeric:tabular-nums;flex:none}
.dr-bval .num{font-weight:700;font-size:1.02rem}
.dr-bval .rng{font-size:.7rem;color:var(--dr-slate-soft)}
.dr-movers{flex:1.4;font-size:.8rem;color:var(--dr-slate)}
.dr-movers .lab{font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dr-slate-soft);font-weight:700;margin-bottom:3px}
.dr-chipset{display:flex;flex-wrap:wrap;gap:6px}
.dr-mchip{font-size:.74rem;font-weight:600;background:var(--dr-teal-light);color:var(--dr-teal);padding:3px 9px;border-radius:999px}

.dr-shop{border:1.5px dashed var(--dr-indigo);background:var(--dr-indigo-light);border-radius:13px;padding:14px 17px;display:flex;align-items:center;gap:13px;margin-top:13px}
.dr-shop .txt{flex:1}
.dr-shop .t{font-weight:700;font-size:.9rem}
.dr-shop .d{font-size:.8rem;color:var(--dr-slate)}
.dr-shop .cta{background:var(--dr-indigo);color:#fff;font-weight:600;font-size:.84rem;padding:9px 15px;border-radius:9px;white-space:nowrap;text-decoration:none}
.dr-ph{font-size:.64rem;font-weight:700;color:var(--dr-indigo);background:#fff;border:1px solid var(--dr-indigo);border-radius:6px;padding:1px 6px;letter-spacing:.03em}

.dr-rankgrid{display:flex;flex-direction:column;gap:11px}
.dr-rankrow{display:flex;align-items:center;gap:15px;border:1px solid var(--dr-border);border-radius:13px;padding:13px 17px}
.dr-rankrow.top{border-color:var(--dr-teal);background:linear-gradient(90deg,var(--dr-teal-light),#fff 60%)}
.dr-medal{width:36px;height:36px;border-radius:10px;background:var(--dr-ink);color:#fff;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.25rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.dr-rankrow.top .dr-medal{background:linear-gradient(135deg,var(--dr-indigo),var(--dr-teal))}
.dr-rbody{flex:1;min-width:0}
.dr-rn{font-weight:700;font-size:.98rem}
.dr-rtags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.dr-rtags span{font-size:.68rem;font-weight:600;color:var(--dr-slate-soft);background:var(--dr-bg);padding:2px 8px;border-radius:999px}
.dr-score{text-align:center;flex:none;width:70px}
.dr-ring{--p:0;width:50px;height:50px;border-radius:50%;margin:0 auto;background:conic-gradient(var(--dr-teal) calc(var(--p)*1%),var(--dr-border) 0);display:flex;align-items:center;justify-content:center}
.dr-ring i{width:38px;height:38px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:700;font-size:.9rem}
.dr-score .l{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dr-slate-soft);font-weight:700;margin-top:4px}

/* evidence + tier */
.dr-evtier{display:inline-block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:6px;margin-left:8px;vertical-align:middle}
.dr-evtier.rct{background:var(--dr-green-bg);color:var(--dr-green)}
.dr-evtier.mix{background:var(--dr-amber-bg);color:var(--dr-amber)}
.dr-evtier.pre{background:var(--dr-amber-bg);color:var(--dr-amber)}
.dr-evbtn{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--dr-teal);background:var(--dr-teal-light);border:1px solid #B6E9E1;border-radius:999px;padding:5px 12px;cursor:pointer;font-family:inherit;margin-top:9px}
.dr-evpanel{display:none;margin-top:9px;padding:11px 13px;background:var(--dr-bg);border:1px solid var(--dr-border);border-radius:11px}
.dr-evpanel.open{display:block}
.dr-ref{font-size:.82rem;color:var(--dr-slate);padding:8px 0;border-top:1px solid var(--dr-border);line-height:1.45}
.dr-ref:first-child{border-top:none}
.dr-ref .rt{font-weight:600;color:var(--dr-ink)}
.dr-ref .rmeta{color:var(--dr-slate-soft);font-size:.77rem}
.dr-ref .rnote{font-size:.77rem;color:var(--dr-slate);margin-top:2px}
.dr-evsrc{font-size:.71rem;color:var(--dr-slate-soft);margin-top:8px;font-style:italic}

.dr-disclaimer{background:var(--dr-ink);color:rgba(226,232,240,.82);border-radius:13px;padding:15px 19px;font-size:.79rem;line-height:1.5;margin-top:8px}
.dr-disclaimer strong{color:var(--dr-teal)}
.dr-empty{color:var(--dr-slate-soft);font-size:.86rem;font-style:italic;padding:6px 0}

/* ===== EMRAge biological-age block (top of report) ===== */
.dr-emr{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;
  border:1px solid var(--pdx-border,#E2E6EF);border-radius:16px;padding:20px 22px;margin:4px 0 2px;
  background:linear-gradient(135deg,#0B1020 0%,#3730A3 100%);color:#fff}
.dr-emr-typical{background:linear-gradient(135deg,#0B1020 0%,#0D9488 100%)}
.dr-emr-accel{background:linear-gradient(135deg,#3b0d0d 0%,#b91c1c 100%)}
.dr-emr-decel{background:linear-gradient(135deg,#06281f 0%,#0D9488 100%)}
.dr-emr-main{text-align:center;padding-right:20px;border-right:1px solid rgba(255,255,255,.16);min-width:150px}
.dr-emr-big{font-family:'Cormorant Garamond',serif;font-size:3.4rem;font-weight:700;line-height:1}
.dr-emr-unit{font-size:1.1rem;font-weight:500;margin-left:4px;opacity:.85}
.dr-emr-cap{font-size:.78rem;opacity:.85;margin-top:4px}
.dr-emr-side{display:flex;flex-direction:column;gap:10px}
.dr-emr-badge{display:inline-block;align-self:flex-start;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);
  border-radius:999px;padding:5px 14px;font-size:.84rem;font-weight:600}
.dr-emr-rows{display:flex;gap:26px;flex-wrap:wrap}
.dr-emr-rows>div{display:flex;flex-direction:column}
.dr-emr-rows span{font-size:.72rem;opacity:.8}
.dr-emr-rows b{font-size:1.05rem;font-weight:700}
.dr-emr-note{font-size:.74rem;opacity:.85;line-height:1.5}
.dr-emr-link{color:#fff;text-decoration:underline;font-weight:600;white-space:nowrap}
.dr-emr-cta,.dr-emr-missing{display:block;background:var(--pdx-indigo-light,#EEF0FF);color:var(--pdx-slate,#364151);
  border:1px dashed var(--pdx-border,#E2E6EF)}
.dr-emr-cta .dr-emr-link,.dr-emr-missing .dr-emr-link{color:var(--pdx-indigo,#4F46E5);display:inline-block;margin-top:8px}
.dr-emr-ctatext{font-size:.9rem;line-height:1.55}
.dr-emr-miss{font-weight:600;color:var(--pdx-ink,#0B1020)}
@media(max-width:620px){ .dr-emr{grid-template-columns:1fr} .dr-emr-main{border-right:none;border-bottom:1px solid rgba(255,255,255,.16);padding-right:0;padding-bottom:14px} }
