/* Shared native reference modules: no frame, no independent language selector. */
#referenceModule {
  max-width: 1480px;
  margin: auto;
  color: #143e59;
}
/* RUN10: original theranostics CSS lives in native shadow roots. These rules
   reproduce the outer spacing without letting source sidebars affect the portal. */
body:has(.restored-thera) .content-public-main .content-shell {
  max-width: 1464px;
  padding: 24px 32px 48px;
  margin-inline: auto;
}
@media (max-width: 700px) {
  body:has(.restored-thera) .content-public-main .content-shell { padding: 16px 12px 32px; }
}
#referenceModule h2,
#referenceModule h3 {
  font-family: "Playfair Display", Georgia, serif;
  line-height: 1.3;
}
#referenceModule button,
#referenceModule input,
#referenceModule select {
  font: inherit;
  border: 1px solid #bdd3e6;
  border-radius: 7px;
  padding: 10px 13px;
  background: #fff;
  color: #174665;
  max-width: 100%;
}
#referenceModule button {
  cursor: pointer;
}
#referenceModule button:hover {
  background: #eaf3fb;
  border-color: #528ac2;
}
#referenceModule button[aria-pressed="true"] {
  background: #1766b7;
  color: #fff;
  border-color: #1766b7;
}
#referenceModule button:focus-visible,
#referenceModule a:focus-visible,
#referenceModule summary:focus-visible {
  outline: 3px solid #efb247;
  outline-offset: 3px;
}
#referenceModule .module-tabs {
  margin-top: 4px;
}
.reference-heading {
  margin: 22px 0;
}
.reference-heading h2 {
  font-size: 26px;
  margin: 0 0 10px;
}
.reference-heading p {
  color: #577287;
  max-width: 950px;
  line-height: 1.7;
}
.reference-panel {
  background: #fff;
  border: 1px solid #d4e3ec;
  border-radius: 12px;
  padding: 24px;
  margin: 18px 0;
}
.reference-cards,
.publication-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 20px 0;
}
.reference-card,
.publication-card {
  min-width: 0;
  border: 1px solid #cedfe9;
  border-radius: 12px;
  background: #fff;
  padding: 22px;
  overflow-wrap: anywhere;
  line-height: 1.65;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.reference-card h3,
.publication-card h2 {
  font-size: 21px;
  margin: 0;
}
.reference-card p,
.publication-card p {
  margin: 0;
}
.reference-card button {
  margin-top: auto;
}
.reference-card .reference-panel {
  border: 0;
  padding: 0;
  margin: 0;
  background: none;
}
.reference-link {
  display: inline-flex;
  align-items: center;
  background: white;
  border: 1px solid #b8d0e5;
  border-radius: 7px;
  padding: 9px 13px;
  margin: 6px 10px 6px 0;
  text-decoration: none;
  color: #1562af;
  font-weight: 600;
}
.reference-link:hover {
  background: #edf5fc;
}
.reference-source {
  border-left: 3px solid #89a8c0;
  color: #5c7384;
  font-size: 12px;
  padding: 10px 14px;
  background: #edf3f7;
  line-height: 1.6;
  margin: 18px 0;
}
.reference-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.reference-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  padding: 0;
}
.reference-stats > div {
  background: #eef6fc;
  border-radius: 10px;
  padding: 16px;
}
.reference-stats dt {
  font-size: 12px;
  color: #58758a;
}
.reference-stats dd {
  margin: 8px 0 0;
  font-weight: 700;
}
.reference-prose {
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.reference-prose h1 {
  font-size: 28px;
}
.reference-prose h2 {
  font-size: 25px;
}
.reference-prose h3 {
  font-size: 21px;
}
.reference-prose table {
  border-collapse: collapse;
  width: 100%;
  display: block;
  overflow: auto;
}
.reference-prose td,
.reference-prose th {
  border: 1px solid #d5e0e9;
  padding: 10px;
}
.reference-prose > div,
.reference-prose > section {
  margin-bottom: 22px;
}
.reference-prose li {
  margin: 5px 0;
}
.reference-inset {
  padding: 16px 20px;
  border-left: 3px solid #3b83bf;
  background: #f3f8fc;
  margin: 14px 0;
}
.protocol-flow,
.reference-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin: 22px 0;
}
.protocol-flow {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 20px;
  background: #eaf4fa;
  border-radius: 10px;
}
.reference-two > .reference-prose {
  padding: 22px;
  background: white;
  border: 1px solid #d5e4ee;
  border-radius: 12px;
}
.reference-map {
  width: 100%;
  align-self: start;
  border-radius: 12px;
}
.reference-country {
  background: white;
  border: 1px solid #d3e1eb;
  border-radius: 8px;
  margin: 0 0 10px;
  padding: 15px;
}
.reference-country summary {
  cursor: pointer;
  font-weight: 700;
}
.reference-country ul {
  max-height: 300px;
  overflow: auto;
  line-height: 1.7;
}
.reference-warnings {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  background: #fff7e9;
  border-radius: 10px;
  padding: 16px;
}
.reference-warnings p {
  flex: 1;
  min-width: 160px;
  font-size: 13px;
  margin: 0;
}
.reference-sources {
  display: flex;
  flex-wrap: wrap;
}
.trial-chart {
  background: white;
  padding: 20px;
  border: 1px solid #cfe0ee;
  border-radius: 12px;
  max-width: 900px;
}
.trial-chart > div {
  display: grid;
  grid-template-columns: 80px 1fr 40px;
  gap: 14px;
  align-items: center;
  margin: 8px 0;
}
.trial-chart meter {
  width: 100%;
  height: 24px;
}
#referenceModule details summary {
  cursor: pointer;
  font-weight: 600;
  padding: 9px 0;
}
.publication-months {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 6px;
}
.publication-months button {
  font-size: 12px !important;
  padding: 10px 4px !important;
}
.publication-card {
  border-top: 4px solid #196bb1;
}
.publication-card.category-cardio {
  border-top-color: #e65b61;
}
.publication-card.category-neuro {
  border-top-color: #9373b6;
}
.publication-card.category-tech {
  border-top-color: #349ba1;
}
.publication-card .module-tag {
  background: #eaf4ff;
}
.publication-card details {
  width: 100%;
}
.publication-card .reference-link {
  margin-top: auto;
}
.hero-banner-v2[data-banner="traceurs"] {
  background-image:
    linear-gradient(90deg, #103d64dd, #103d6433),
    url("../images/banner-traceurs.webp");
}
.hero-banner-v2[data-banner="theranostique"],
.hero-banner-v2[data-banner="partners"] {
  background-image:
    linear-gradient(90deg, #103d64dd, #103d6433),
    url("../images/theranostique-banner-clean.webp");
}
.hero-banner-v2[data-banner="publications"] {
  background-image:
    linear-gradient(90deg, #103d64dd, #103d6433),
    url("../images/banner-publications.webp");
}
@media (max-width: 1100px) {
  .reference-cards,
  .publication-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .publication-months {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .reference-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .reference-cards,
  .publication-grid,
  .reference-two {
    grid-template-columns: 1fr;
  }
  .reference-panel {
    padding: 16px;
  }
  .reference-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .protocol-flow {
    grid-template-columns: 1fr;
  }
  .reference-card,
  .publication-card {
    padding: 18px;
  }
  .publication-months {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .reference-prose {
    font-size: 15px;
  }
}
.tracer-molecule {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px;
  background: #f7fafc;
  border-radius: 10px;
  flex-wrap: wrap;
}
.tracer-molecule img {
  width: 210px;
  height: 150px;
  object-fit: contain;
}
.tracer-molecule p {
  font-size: 13px;
  max-width: 400px;
  overflow-wrap: anywhere;
}
.molecular-sequence > img {
  display: block;
  width: 100%;
  max-width: 400px;
  max-height: 650px;
  object-fit: contain;
  margin: 20px auto;
}
.molecular-sequence .module-tabs {
  justify-content: center;
  align-items: center;
}
.molecular-sequence button:disabled {
  opacity: 0.4;
  cursor: default;
}
.publication-domains {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 20px;
}
.publication-domains button {
  font-size: 13px !important;
  border-radius: 20px !important;
}
.impact-badge {
  background: #fff1cd;
  color: #7d5718;
  border-radius: 10px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 700;
}
.reference-two .trial-chart {
  min-width: 0;
  margin: 0;
}
.trial-chart > div > span {
  font-size: 12px;
  overflow-wrap: anywhere;
}
@media (max-width: 700px) {
  .publication-domains {
    display: none;
  }
}

/* RUN9 — original module hierarchy restored with scoped, inert source markup. */
#referenceModule .legacy-thera-header,#referenceModule .legacy-hero{padding:24px 30px;border-radius:12px;background:linear-gradient(115deg,#0c2f53,#176bd0);color:white;margin:18px 0}#referenceModule .legacy-hero h1,#referenceModule .legacy-thera-header h1{color:white;font-size:30px;margin:5px 0 12px}#referenceModule .legacy-hero p{color:#e1efff}.thera-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.thera-kpis>.reference-prose{border:1px solid #d4e3ef;border-radius:12px;padding:18px;background:white}.legacy-kpi{display:flex;gap:14px}.legacy-kpi .legacy-num{font-size:30px;font-weight:750;line-height:1.25}.legacy-kpi .legacy-label{font-weight:650}.legacy-sub{font-size:11px;color:#678090}.legacy-kpi-icon{font-size:23px}.reference-two>.reference-prose{padding:22px;border:1px solid #d5e4ed;border-radius:12px;background:#fff}.legacy-concept-tag,.legacy-section-eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#377bab}.legacy-concept-flow{display:flex;gap:10px;flex-wrap:wrap}.legacy-flow-step{background:#edf5fc;padding:6px 10px;border-radius:20px}.maturity-table-wrap{overflow:auto}.maturity-table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}.maturity-table td,.maturity-table th{text-align:left;padding:13px;border-bottom:1px solid #d7e3ec}.maturity-table th{background:#edf4fa}.molecule-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.molecular-sequence{position:sticky;top:20px;margin-top:0;padding:16px}.molecular-sequence img{width:100%;height:auto;max-height:540px;object-fit:contain}.legacy-hero-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:22px}.legacy-hkpi-num{font-size:25px;font-weight:750}.legacy-hkpi-label{font-size:12px}.legacy-mech-flow{display:flex;gap:12px;align-items:center}.legacy-mech-step{flex:1;min-width:0;background:#eff5fb;padding:12px;border-radius:10px;text-align:center}.legacy-mech-step-icon{font-size:24px}.legacy-mech-step-title{font-weight:700}.legacy-mech-step-desc{font-size:12px}.legacy-ind-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.legacy-ind-card{border:1px solid #d0e0ee;padding:18px;border-radius:12px;background:white}.legacy-section{padding:20px;background:white;border-radius:12px;border:1px solid #e1e7ed}.recommendation-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px}.recommendation-layout>.module-filters{align-self:start;display:grid;gap:18px;padding:18px;background:white;border:1px solid #d5e3ec;border-radius:12px}.recommendation-body{min-width:0}.recommendation-body .reference-card{padding:17px;font-size:13px}.recommendation-body .reference-card h3{font-size:18px}.clinical-map-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:18px}.clinical-map-filters{align-self:start;background:white;padding:16px;border:1px solid #d3e2ed;border-radius:12px;display:grid;gap:18px}.clinical-map-filters label{display:grid;gap:7px}.clinical-map-lanes{display:grid;gap:13px;min-width:0}.clinical-map-lane{display:grid;grid-template-columns:1fr 1fr 1.8fr;gap:14px;padding:18px;background:white;border:1px solid #d0e0ed;border-radius:12px;font-size:12px}.clinical-map-lane h3{font-size:17px}.clinical-family p,.clinical-target p{color:#5b7287}.clinical-family small{display:inline-block;padding:6px 10px;background:#eef3ff;border-radius:8px;font-weight:700}.clinical-target strong{display:inline-block;background:#e7f4ed;color:#23764f;padding:7px 13px;border-radius:22px}.clinical-therapies{display:grid;gap:8px}.clinical-therapies .reference-card{padding:12px;border-left:4px solid #e18b24;gap:4px}.clinical-therapies .status-standard{border-left-color:#388b68}.clinical-therapies .status-research{border-left-color:#9872cb}.clinical-therapies .reference-card h3{font:700 14px system-ui}.clinical-therapies details{width:100%}
@media(max-width:1100px){.clinical-map-layout,.recommendation-layout{grid-template-columns:200px minmax(0,1fr)}.recommendation-body .reference-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.molecule-layout{grid-template-columns:minmax(0,1fr) 280px}.thera-kpis{grid-template-columns:repeat(2,1fr)}.clinical-map-lane{grid-template-columns:1fr 1fr}.clinical-therapies{grid-column:1/-1;grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.clinical-map-layout,.recommendation-layout,.molecule-layout{grid-template-columns:1fr}.molecular-sequence{position:static;grid-row:1}.molecular-sequence img{max-height:400px}.legacy-mech-flow{flex-wrap:wrap}.legacy-mech-step{flex-basis:40%}.legacy-mech-arrow{display:none}.legacy-hero-kpis,.legacy-ind-grid{grid-template-columns:1fr 1fr}.clinical-map-lane{grid-template-columns:1fr}.clinical-therapies{grid-template-columns:1fr}.recommendation-body .reference-cards{grid-template-columns:1fr}.thera-kpis .legacy-kpi{display:block}.thera-kpis>.reference-prose{padding:12px}}
