:root {
    color-scheme: light;
    --bg: #f7f8fa;
    --text: #20242a;
    --muted: #586170;
    --line: #d8dde6;
    --panel: #ffffff;
    --accent: #146c63;
    --warning: #8a4f00;
    --warning-bg: #fff3d8;
}

/* Namespaced pilot: alternative treatment-option detail view. */
.tpv-preview__comparison{border:1px solid var(--line);border-radius:12px;overflow:hidden}.tpv-preview__comparison-head,.tpv-preview__comparison-row>summary{display:grid;grid-template-columns:minmax(11rem,1.1fr) minmax(12rem,1fr) minmax(14rem,1.25fr);gap:1rem;align-items:start}.tpv-preview__comparison-head{background:#eef2f5;padding:.65rem .85rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.tpv-preview__comparison-row{border-top:1px solid var(--line)}.tpv-preview__comparison-row>summary{padding:.72rem .85rem;cursor:pointer;list-style:none}.tpv-preview__comparison-row>summary::-webkit-details-marker{display:none}.tpv-preview__comparison-row>summary span:last-child small{display:block;margin-top:.3rem;color:var(--muted)}.tpv-preview__criterion-detail{background:#f7f9fa;border-top:1px solid var(--line);padding:.85rem 1rem}.tpv-preview__criterion-detail p{margin:.35rem 0}.tpv-preview__accordion>summary{list-style:none}.tpv-preview__accordion>summary::-webkit-details-marker{display:none}.tpv-preview__accordion>summary>span{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.tpv-preview__accordion>summary small{color:var(--muted);font-weight:500;text-align:right}.tpv-preview__criterion{border:1px solid var(--line);border-radius:9px}.tpv-preview__criterion+.tpv-preview__criterion{margin-top:.45rem}.tpv-preview__criterion>summary{display:grid;grid-template-columns:minmax(14rem,1.5fr) minmax(10rem,1fr) auto;gap:.8rem;align-items:center;padding:.65rem .75rem;list-style:none}.tpv-preview__criterion>summary::-webkit-details-marker{display:none}.tpv-preview__criterion>summary strong,.tpv-preview__criterion>summary small{display:block}.tpv-preview__criterion>summary small{color:var(--muted);font-weight:600}.tpv-preview__criterion[open]{border-color:var(--accent)}
@media(max-width:620px){.tpv-preview__comparison-head{display:none}.tpv-preview__comparison-row>summary,.tpv-preview__criterion>summary{grid-template-columns:1fr;gap:.35rem}.tpv-preview__comparison-row>summary span:before{display:block;color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.tpv-preview__comparison-row>summary span:nth-child(1):before{content:'Anforderung'}.tpv-preview__comparison-row>summary span:nth-child(2):before{content:'Peters Stand'}.tpv-preview__comparison-row>summary span:nth-child(3):before{content:'Bewertung'}.tpv-preview__accordion>summary>span{display:grid}.tpv-preview__accordion>summary small{text-align:left}}
.tpv-preview{display:grid;gap:1.25rem;min-width:0}.tpv-preview *{box-sizing:border-box}.tpv-preview__switch{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.tpv-preview__switch a{margin-left:auto}.tpv-preview__switch-button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:.55rem .9rem;font:inherit;cursor:pointer}.tpv-preview__switch-button.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}.tpv-preview :focus-visible{outline:3px solid #1f6feb;outline-offset:3px}.tpv-preview__hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(20rem,.75fr);gap:1.25rem;align-items:start}.tpv-preview__understanding,.tpv-preview__workcard{min-width:0}.tpv-preview__understanding{background:linear-gradient(145deg,#f5f8fb,#fff);border:1px solid var(--border);border-radius:18px;padding:clamp(1.2rem,3vw,2.2rem)}.tpv-preview__understanding h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.03;overflow-wrap:anywhere}.tpv-preview__understanding section{border-top:1px solid var(--border);margin-top:1.3rem;padding-top:1rem}.tpv-preview__understanding section h2,.tpv-preview__workcard h2{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .45rem}.tpv-preview__source-label{font-size:.78rem;font-weight:700;color:var(--accent)}.tpv-preview__workcard{background:#172330;color:#fff;border-radius:18px;padding:1rem 1.15rem;box-shadow:var(--shadow)}.tpv-preview__workcard section{padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.16)}.tpv-preview__workcard section:last-child{border:0}.tpv-preview__workcard h2,.tpv-preview__workcard small{color:#c9d5df;display:block}.tpv-preview__workcard a{color:#fff}.tpv-preview__badge{display:inline-flex;max-width:100%;align-items:center;border:1px solid currentColor;border-radius:999px;padding:.18rem .5rem;font-size:.78rem;font-weight:700;overflow-wrap:anywhere}.tpv-preview__summary{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:.5rem 0}.tpv-preview__summary span{background:rgba(255,255,255,.1);border-radius:8px;padding:.45rem;font-size:.78rem}.tpv-preview__summary b{font-size:1.1rem;display:block}.tpv-preview__section{scroll-margin-top:1rem;min-width:0}.tpv-preview__focus-grid,.tpv-preview__detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.tpv-preview__focus-grid article,.tpv-preview__detail-grid article,.tpv-preview__arm{border:1px solid var(--border);border-radius:12px;padding:1rem;min-width:0}.tpv-preview__focus-grid h3,.tpv-preview__detail-grid h3{font-size:1rem;margin-top:0}.tpv-preview__focus-grid small{display:block;margin-top:.55rem;color:var(--muted)}.tpv-preview__contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.tpv-preview__contact-grid article{background:var(--surface-muted,#f6f7f8);border-radius:12px;padding:1rem}.tpv-preview__contact-grid dl,.tpv-preview__full dl{display:grid;gap:.4rem}.tpv-preview__contact-grid dl div,.tpv-preview__full dl div{display:grid;grid-template-columns:9rem 1fr;gap:.6rem}.tpv-preview__contact-grid dt,.tpv-preview__full dt{font-weight:700}.tpv-preview details>summary{cursor:pointer;font-weight:750;padding:.35rem 0}.tpv-preview__statusline{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.tpv-preview__statusline span{border:1px solid var(--border);border-radius:999px;padding:.4rem .7rem}.tpv-preview__criteria{display:grid;gap:.65rem}.tpv-preview__criteria>article{border:1px solid var(--border);border-radius:10px;padding:.85rem;min-width:0}.tpv-preview__criteria header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.tpv-preview__criteria p span{display:block}.tpv-preview__full[open]>summary{margin-bottom:1rem}.tpv-preview p,.tpv-preview li,.tpv-preview dd{overflow-wrap:anywhere}
@media(max-width:900px){.tpv-preview__hero{grid-template-columns:1fr}.tpv-preview__focus-grid,.tpv-preview__detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tpv-preview__switch a{margin-left:0}}
@media(max-width:620px){.tpv-preview{gap:.85rem}.tpv-preview__switch{align-items:stretch}.tpv-preview__switch-button,.tpv-preview__switch a{flex:1 1 auto;text-align:center}.tpv-preview__understanding,.tpv-preview__workcard{border-radius:12px;padding:1rem}.tpv-preview__focus-grid,.tpv-preview__detail-grid,.tpv-preview__contact-grid{grid-template-columns:1fr}.tpv-preview__summary{grid-template-columns:1fr 1fr}.tpv-preview__criteria header{display:grid}.tpv-preview__contact-grid dl div,.tpv-preview__full dl div{grid-template-columns:1fr;gap:.1rem}.tpv-preview__section{padding:1rem}.tpv-preview__understanding h1{font-size:2rem}}

/* Pilot refinement: quiet header and fast patient scan. */
.tpv-preview__workcard{background:#fff;color:var(--text);border:1px solid var(--line);border-radius:14px;padding:.55rem .9rem;box-shadow:none}.tpv-preview__workcard section{padding:.4rem 0;border-bottom:1px solid #e8ebef}.tpv-preview__workcard h2,.tpv-preview__workcard small{color:var(--muted)}.tpv-preview__workcard h2{font-weight:650}.tpv-preview__workcard p{margin:.15rem 0;font-weight:400;line-height:1.35}.tpv-preview__workcard strong{font-weight:650}.tpv-preview__workcard a{color:var(--accent)}.tpv-preview__workcard .button-link{color:var(--text)}.tpv-preview__stars{display:flex;gap:.12rem;font-size:1.25rem;line-height:1;color:#c9ced5;letter-spacing:.03em}.tpv-preview__stars .is-active{color:#c58a00}.tpv-preview__priority>p{font-size:.85rem}.tpv-preview__regions p{white-space:nowrap;font-size:.85rem}.tpv-preview__status-summary{font-size:.86rem}.tpv-preview__access-summary{color:var(--muted);font-size:.78rem}.tpv-preview__count-help{font-size:.75rem;margin:.15rem 0}.tpv-preview__count-help>summary{display:inline-block;color:var(--muted);font-weight:500}.tpv-preview__count-help p{background:#f7f8fa;border-radius:8px;padding:.5rem}.tpv-preview__comparison{border-color:#e5e8ec;border-radius:8px}.tpv-preview__comparison-head,.tpv-preview__comparison-row>summary{grid-template-columns:repeat(3,minmax(0,1fr))}.tpv-preview__comparison-head{background:#fafbfc;color:var(--muted);font-size:.72rem;font-weight:600;padding:.5rem .7rem}.tpv-preview__comparison-row{background:#fff;border-top-color:#eceef1}.tpv-preview__comparison-row>summary{padding:.6rem .7rem;gap:.8rem}.tpv-preview__comparison-row>summary strong{font-weight:600}.tpv-preview__comparison-row>summary span:last-child small{font-size:.78rem;line-height:1.35}.tpv-preview__criterion-detail{background:#fbfcfd;border-top-color:#eceef1;font-size:.9rem}.tpv-preview__documented{margin-top:.75rem;border-top:1px solid #eceef1;padding-top:.45rem}.tpv-preview__documented>summary>span{display:flex;justify-content:space-between;gap:1rem;font-weight:400}.tpv-preview__documented>summary strong{font-weight:600}.tpv-preview__documented>summary small{color:var(--muted);font-weight:400}.tpv-preview__documented>div{padding:.35rem .8rem .6rem}.tpv-preview__criteria-link{display:inline-block;margin-top:.65rem}.tpv-preview details>summary{font-weight:500}.tpv-preview .tpv-preview__comparison-row>summary{font-weight:400}.tpv-preview__badge{font-weight:650}
@media(min-width:901px){.tpv-preview__hero{grid-template-columns:minmax(0,1.25fr) minmax(25rem,.95fr)}.tpv-preview__workcard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.8rem;align-content:start}.tpv-preview__workcard section:nth-child(odd){padding-right:.7rem;border-right:1px solid #e8ebef}.tpv-preview__workcard section:nth-child(5),.tpv-preview__workcard section:nth-child(6),.tpv-preview__workcard section:nth-child(7){grid-column:1/-1;border-right:0}.tpv-preview__workcard section:nth-child(7){border-bottom:0}}
@media(max-width:620px){.tpv-preview__regions p{white-space:normal}.tpv-preview__documented>summary>span{display:grid;gap:.15rem}.tpv-preview__comparison-row>summary,.tpv-preview__criterion>summary{grid-template-columns:1fr;gap:.35rem}.tpv-preview__comparison-row>summary{padding:.65rem}.tpv-preview__comparison-row>summary span:last-child small{margin-top:.2rem}}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.5;
}

.page-shell {
    width: min(1200px, calc(100% - 32px));
    margin: 0 auto;
    padding: 24px 0 40px;
}

.app-header {
    display: grid;
    gap: 12px;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 14px;
}

.app-brand {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: baseline;
    width: fit-content;
    color: var(--text);
    text-decoration: none;
}

.app-brand strong {
    font-size: 1.18rem;
}

.app-brand span {
    color: var(--muted);
    font-weight: 750;
}

.top-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.top-nav a,
.button-link {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-height: 34px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 7px 10px;
    background: var(--panel);
    color: var(--text);
    font-weight: 700;
    text-decoration: none;
    overflow-wrap: anywhere;
    text-align: left;
}

.top-nav a.active,
.top-nav a[aria-current="page"],
.mobile-nav-list a.active,
.mobile-nav-list a[aria-current="page"] {
    border-color: var(--accent);
    background: #eaf5f2;
    color: var(--accent);
    box-shadow: inset 0 -3px 0 var(--accent);
}

.top-nav a {
    flex: 0 1 auto;
    justify-content: center;
    min-width: 0;
    text-align: center;
    font-size: 0.92rem;
}

.button-link {
    width: fit-content;
    border-color: var(--accent);
    color: var(--accent);
}

.button-link.secondary {
    border-color: var(--line);
    color: var(--text);
}

select:not([multiple]) {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 7px 8px;
    background: #fff;
    color: var(--text);
    font-family: inherit;
    font-size: 0.86rem;
    line-height: 1.3;
}

select:not([multiple]):focus-visible {
    outline: 3px solid rgba(20, 108, 99, 0.25);
    outline-offset: 2px;
}

.mobile-nav {
    display: none;
}

.mobile-nav summary {
    min-height: 40px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 8px 12px;
    background: var(--panel);
    color: var(--text);
    cursor: pointer;
    font-weight: 850;
}

.mobile-nav-list {
    display: grid;
    gap: 6px;
    margin-top: 8px;
}

.mobile-nav-list a {
    display: flex;
    min-height: 42px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 8px 10px;
    background: var(--panel);
    color: var(--text);
    font-weight: 750;
    text-decoration: none;
}

.system-notice {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 8px 10px;
    background: #fbfcfd;
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 700;
}

.system-notice .warning {
    border: 1px solid #f0cf94;
    border-radius: 999px;
    padding: 2px 8px;
    background: var(--warning-bg);
    color: var(--warning);
}

.print-document-header {
    display: none;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    padding: 0;
}

.hero {
    margin-bottom: 24px;
}

.hero.compact h1 {
    margin-bottom: 10px;
}

.lead {
    max-width: 760px;
    color: var(--muted);
    font-size: 1.05rem;
}

.safety-note {
    display: inline-flex;
    border: 1px solid #f0cf94;
    border-radius: 8px;
    padding: 8px 10px;
    background: var(--warning-bg);
    color: var(--warning);
    font-weight: 700;
}

.eyebrow {
    margin: 0 0 8px;
    color: var(--accent);
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
}

h1,
h2,
p {
    margin-top: 0;
}

h1 {
    margin-bottom: 20px;
    font-size: clamp(2rem, 5vw, 2.6rem);
    line-height: 1.05;
}

h2 {
    margin-bottom: 16px;
    font-size: 1.15rem;
}

h3 {
    margin: 18px 0 10px;
    font-size: 1rem;
}

.notice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.notice {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px 12px;
    background: var(--panel);
    font-weight: 650;
}

.notice.warning {
    border-color: #f0cf94;
    background: var(--warning-bg);
    color: var(--warning);
}

.panel {
    margin-bottom: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 20px;
    background: var(--panel);
}

.panel.subtle {
    background: transparent;
}

.imaging-editorial-summary {
    border-color: #cddfdc;
    background: #f8fbfa;
}

.imaging-editorial-summary h2 {
    margin-bottom: 8px;
    font-size: 1.12rem;
}

.imaging-editorial-summary p {
    max-width: 88ch;
    margin: 0;
    color: var(--muted);
}

.patient-summary {
    border-color: #b9d9d3;
}

.key-fact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
    margin: 0;
}

.key-fact-grid.compact {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.key-fact {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
    background: #f9fafb;
}

.key-fact dd {
    overflow-wrap: anywhere;
}

.section-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.section-nav a {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 6px 10px;
    background: var(--panel);
    color: var(--accent);
    font-weight: 700;
    text-decoration: none;
}

.two-column,
.option-list {
    display: grid;
    gap: 16px;
}

.two-column {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.option-card {
    display: grid;
    gap: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 20px;
    background: var(--panel);
}

.therapy-overview-hero {
    margin-bottom: 18px;
}

.therapy-option-list {
    display: grid;
    gap: 12px;
}

.therapy-option-card {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.85fr);
    gap: 16px;
    align-items: start;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 16px;
    background: var(--panel);
}

.therapy-option-card h2,
.therapy-hero h1 {
    overflow-wrap: anywhere;
}

.therapy-card-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}

.therapy-card-main h2 {
    margin-bottom: 8px;
    font-size: 1.12rem;
}

.therapy-card-summary {
    margin: 0;
    color: var(--muted);
    font-size: 0.95rem;
}

.therapy-card-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 18px;
    margin: 0;
}

.therapy-fact {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.therapy-fact-next,
.therapy-fact-data {
    grid-column: 1 / -1;
}

.therapy-fact-next {
    margin-top: 4px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
}

.therapy-fact-data {
    margin-top: 2px;
}

.therapy-fact dd {
    min-width: 0;
    overflow-wrap: anywhere;
}

.therapy-card-facts .status-label {
    align-items: flex-start;
    max-width: 100%;
    border-radius: 8px;
    padding: 4px 9px;
    white-space: normal;
    overflow-wrap: anywhere;
}

.therapy-card-link {
    align-self: flex-start;
    justify-self: start;
    margin-top: 16px;
    white-space: nowrap;
}

.therapy-type-line {
    text-transform: none;
}

.therapy-option-type-badge {
    white-space: normal;
}

.therapy-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}

.therapy-hero h1 {
    margin-bottom: 10px;
}

.therapy-priority-panel {
    border-color: #b9d9d3;
    background: #f7fcfb;
}

.therapy-status-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 10px;
    margin: 0;
}

.therapy-status-grid div,
.label-grid div,
.access-item,
.contact-row {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
    background: #fff;
}

.therapy-status-grid dd,
.therapy-card-facts dd {
    font-size: 0.95rem;
}

.status-label {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-height: 24px;
    border: 1px solid #b9d9d3;
    border-radius: 999px;
    padding: 2px 8px;
    background: #eaf5f2;
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.status-label.muted {
    border-color: var(--line);
    background: #f4f6f8;
    color: var(--muted);
}

.status-label.warning {
    border-color: #f0cf94;
    background: var(--warning-bg);
    color: var(--warning);
}

.status-label.access {
    border-color: #bfd6e7;
    background: #edf6fc;
    color: #285a7d;
}

.status-label.success {
    border-color: #b9d9d3;
    background: #e8f6ef;
    color: #2e6f51;
}

.patient-fit-panel {
    border-color: #b9d9d3;
    background: #f8fcfb;
}

.patient-fit-panel p {
    margin: 0;
    max-width: 82ch;
}

.patient-criteria-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 12px;
}

.patient-criteria-card {
    display: grid;
    align-content: start;
    gap: 7px;
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
    background: #fff;
}

.patient-criteria-title {
    display: block;
    line-height: 1.32;
    overflow-wrap: anywhere;
}

.patient-criteria-status {
    justify-self: start;
    margin-top: 1px;
}

.patient-criteria-note {
    margin: 3px 0 0;
}

.patient-criteria-evidence {
    margin: 0;
    color: var(--muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.action-list,
.criteria-list,
.risk-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding-left: 1.35rem;
}

.action-list li,
.criteria-list li,
.risk-list li {
    min-width: 0;
    padding-left: 2px;
}

.action-title-row,
.criteria-heading {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.action-list p,
.criteria-list p,
.risk-list p {
    margin: 6px 0 0;
}

.therapy-explainer {
    border-color: #cbd7e2;
}

.relevance-note {
    border-left: 3px solid #b9d9d3;
    padding-left: 10px;
    color: var(--text);
    font-weight: 650;
}

.label-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.label-grid span,
.label-grid strong {
    display: block;
}

.label-grid span {
    color: var(--muted);
    font-size: 0.86rem;
}

.label-grid strong {
    margin-top: 4px;
}

.therapy-details,
.therapy-details-panel {
    min-width: 0;
}

.therapy-details {
    margin-top: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px 12px;
    background: #fff;
}

.therapy-details[open] {
    background: #fbfcfd;
}

.therapy-details > summary,
.therapy-details-panel > summary {
    cursor: pointer;
    color: var(--accent);
    min-height: 34px;
    border-radius: 7px;
    padding: 6px 8px;
    font-size: 0.92rem;
    font-weight: 720;
    overflow-wrap: anywhere;
}

.therapy-details > summary:hover,
.therapy-details-panel > summary:hover {
    background: #edf6f4;
}

.therapy-details > summary:focus-visible,
.therapy-details-panel > summary:focus-visible {
    outline: 3px solid #74b8ae;
    outline-offset: 3px;
}

.therapy-subsection {
    margin-top: 16px;
}

.therapy-subsection h3,
.access-item h4,
.contact-row h3 {
    margin-top: 0;
}

.access-grid,
.contact-list,
.trial-list {
    display: grid;
    gap: 12px;
}

.meta-grid.compact {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.meta-grid.study-access-overview {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px 18px;
}

.study-access-overview .is-wide,
.study-access-overview .is-meta {
    grid-column: 1 / -1;
}

.study-access-overview .is-wide {
    padding-top: 2px;
}

.study-access-overview .is-meta {
    margin-top: 2px;
}

.study-access-overview .is-meta dd {
    color: var(--muted);
    font-size: 0.92rem;
    font-weight: 650;
}

.meta-grid.tiny {
    grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
    gap: 10px;
}

.therapy-product-table td,
.therapy-source-item,
.therapy-source-item a {
    overflow-wrap: anywhere;
}

.evidence-item {
    min-width: 0;
}

.evidence-item + .evidence-item {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
}

.risk-list {
    padding-left: 0;
    list-style: none;
}

.risk-list li {
    display: grid;
    gap: 6px;
    border: 1px solid #f0cf94;
    border-radius: 8px;
    padding: 12px;
    background: #fffaf0;
}

.therapy-footer-panel {
    background: #fbfcfd;
}

.filter-panel {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 16px;
    background: var(--panel);
}

.filter-panel label {
    display: grid;
    gap: 4px;
    color: var(--muted);
    font-size: 0.86rem;
    font-weight: 700;
}

.filter-panel input[type="date"] {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 7px 8px;
    background: #fff;
    color: var(--text);
    font: inherit;
}

.check-control {
    align-content: end;
    grid-template-columns: auto 1fr;
    column-gap: 8px;
}

.check-control input {
    margin-top: 4px;
}

.action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 0;
}

.status-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    margin: 0;
}

.meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    margin: 0;
}

.meta-grid.small {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.status-list div {
    min-width: 0;
}

dt {
    color: var(--muted);
    font-size: 0.86rem;
}

dd {
    margin: 4px 0 0;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.check-list {
    margin: 0;
    padding-left: 1.2rem;
}

.check-list li + li {
    margin-top: 6px;
}

.clean-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding-left: 1.2rem;
}

.clean-list li span {
    display: block;
    margin-top: 4px;
    color: var(--muted);
}

.compact-list {
    margin-top: 12px;
}

.stacked-item + .stacked-item {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}

.treatment-overview-hero {
    margin-bottom: 18px;
}

.treatment-option-v2-list {
    display: grid;
    gap: 14px;
}

.treatment-v2-card {
    display: grid;
    grid-template-columns: minmax(260px, 0.9fr) minmax(300px, 1.12fr) minmax(270px, 1fr);
    gap: 18px;
    align-items: start;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 14px;
    background: var(--panel);
}

.treatment-v2-card h2,
.treatment-v2-hero h1,
.treatment-registry-card h3 {
    overflow-wrap: anywhere;
}

.treatment-v2-card-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}

.treatment-v2-card-main h2 {
    margin-bottom: 6px;
    font-size: 1.08rem;
}

.treatment-v2-subtitle,
.treatment-v2-summary,
.treatment-v2-scope {
    max-width: 72ch;
}

.treatment-v2-subtitle {
    margin: 0 0 10px;
    color: var(--text);
    font-weight: 720;
}

.treatment-v2-summary {
    margin: 0;
    color: var(--muted);
    font-size: 0.95rem;
}

.treatment-v2-scope {
    margin-top: 10px;
}

.treatment-v2-detail-link {
    margin-top: 14px;
}

.treatment-v2-card-detail,
.treatment-v2-card-middle,
.treatment-v2-card-side {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.treatment-v2-card-middle,
.treatment-v2-card-side {
    border-left: 1px solid var(--line);
    padding-left: 18px;
}

.treatment-v2-card-section {
    min-width: 0;
}

.treatment-v2-card-section p {
    margin: 0;
}

.treatment-v2-card-section h3,
.treatment-v2-status-panel h2,
.treatment-v2-question-list h2,
.treatment-subsection h3,
.treatment-component-grid h4,
.treatment-access-item h4 {
    margin: 0 0 7px;
    font-size: 0.86rem;
    color: var(--accent-dark);
    text-transform: uppercase;
    letter-spacing: 0;
}

.treatment-v2-patient-section,
.treatment-v2-data-note {
    grid-column: 1 / -1;
}

.treatment-v2-priority-section p + p {
    margin-top: 6px;
}

.treatment-chip-list,
.treatment-inline-facts,
.treatment-registry-summary-list,
.treatment-registry-overview-list,
.treatment-patient-overview-list,
.treatment-requirement-list,
.treatment-access-region-list,
.treatment-care-summary-list,
.treatment-criteria-list,
.treatment-sequence-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.treatment-chip-list li,
.treatment-inline-facts li,
.treatment-registry-summary-list li,
.treatment-registry-overview-row,
.treatment-icon-line,
.treatment-care-summary-list li {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
    align-items: center;
    min-width: 0;
}

.treatment-v2-icon {
    width: 1.05em;
    height: 1.05em;
    flex: 0 0 auto;
    color: var(--accent);
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.treatment-registry-overview-item {
    display: grid;
    gap: 5px;
}

.treatment-registry-overview-row {
    justify-content: space-between;
}

.treatment-registry-role,
.treatment-registry-description,
.treatment-component-text,
.treatment-requirement-list,
.treatment-access-region-list,
.treatment-patient-overview-list {
    color: var(--muted);
    font-size: 0.9rem;
}

.treatment-registry-description,
.treatment-component-text,
.treatment-requirement-list li,
.treatment-access-region-list li span,
.treatment-patient-overview-list li span {
    overflow-wrap: anywhere;
}

.treatment-requirement-list {
    padding-left: 1.1rem;
}

.treatment-component-text {
    margin: 0;
    line-height: 1.5;
}

.treatment-chip-list li > span:not(.status-label),
.treatment-inline-facts li > span:not(.status-label),
.treatment-registry-summary-list li > span:not(.status-label),
.treatment-care-summary-list li > span:not(.status-label) {
    color: var(--muted);
    font-size: 0.88rem;
    overflow-wrap: anywhere;
}

.treatment-patient-state-grid,
.treatment-patient-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.treatment-patient-state-grid div,
.treatment-patient-detail-grid article,
.treatment-component-grid article,
.treatment-care-card,
.treatment-eligibility-card,
.treatment-registry-card {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
    background: #fff;
}

.treatment-patient-state-grid dd,
.treatment-patient-detail-grid p,
.treatment-v2-patient-summary,
.treatment-v2-data-note {
    margin: 0;
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 650;
}

.treatment-v2-nonproduction-note {
    margin-top: 16px;
}

.treatment-v2-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
    gap: 18px;
    align-items: start;
    margin-bottom: 14px;
}

.treatment-v2-hero-main {
    min-width: 0;
}

.treatment-v2-brief-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 18px;
    margin-top: 18px;
}

.treatment-v2-brief-grid article {
    min-width: 0;
    border-top: 1px solid var(--line);
    padding-top: 10px;
}

.treatment-v2-brief-grid h2 {
    margin: 0 0 6px;
    color: var(--muted);
    font-size: 0.84rem;
    letter-spacing: 0;
    text-transform: uppercase;
}

.treatment-v2-brief-grid p {
    margin: 0;
    color: var(--text);
    font-size: 0.95rem;
    line-height: 1.55;
}

.treatment-v2-status-hint {
    margin: 14px 0 0;
    color: var(--muted);
    font-size: 0.92rem;
    font-weight: 650;
}

.treatment-v2-question-list {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.treatment-v2-question-list section {
    min-width: 0;
    border-top: 1px solid var(--line);
    padding-top: 10px;
}

.treatment-v2-question-list p {
    margin: 0;
    color: var(--text);
    font-size: 0.95rem;
    line-height: 1.58;
}

.treatment-v2-status-panel {
    display: grid;
    gap: 12px;
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 14px;
    background: var(--panel);
}

.treatment-v2-status-panel section + section {
    border-top: 1px solid var(--line);
    padding-top: 10px;
}

.treatment-v2-status-panel p {
    margin: 0;
    color: var(--muted);
    font-size: 0.92rem;
    font-weight: 520;
    line-height: 1.5;
}

.treatment-v2-collapsed-detail {
    margin: 0;
}

.treatment-v2-collapsed-detail p {
    margin-bottom: 0;
    color: var(--muted);
    font-weight: 650;
}

.treatment-subsection {
    margin-top: 18px;
}

.treatment-component-grid,
.treatment-registry-card-list,
.treatment-access-grid,
.treatment-care-card-list,
.treatment-question-list {
    display: grid;
    gap: 12px;
}

.treatment-component-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.treatment-registry-card header,
.treatment-eligibility-card header {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
    justify-content: space-between;
}

.treatment-registry-card header h3,
.treatment-eligibility-card header h3,
.treatment-component-grid h4,
.treatment-patient-detail-grid h3 {
    margin-top: 0;
}

.treatment-registry-summary {
    max-width: 88ch;
}

.treatment-legacy-reference-group + .treatment-legacy-reference-group {
    margin-top: 18px;
}

.treatment-contact-list li,
.treatment-organization-list li {
    min-width: 0;
}

.treatment-v2-treatment-panel .meta-grid.compact,
.treatment-v2-treatment-panel .meta-grid.tiny,
.treatment-v2-registry-panel .meta-grid.compact,
.treatment-v2-registry-panel .meta-grid.tiny,
.treatment-v2-access-panel .meta-grid.compact,
.treatment-v2-access-panel .meta-grid.tiny,
.treatment-v2-care-questions-panel .meta-grid.compact,
.treatment-v2-care-questions-panel .meta-grid.tiny,
.treatment-v2-evidence-questions-panel .meta-grid.compact,
.treatment-v2-evidence-questions-panel .meta-grid.tiny {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.treatment-criteria-list li,
.treatment-sequence-list li {
    display: grid;
    gap: 4px;
    min-width: 0;
    border-top: 1px solid var(--line);
    padding-top: 8px;
}

.treatment-criteria-list li:first-child,
.treatment-sequence-list li:first-child {
    border-top: 0;
    padding-top: 0;
}

.treatment-criteria-list span,
.treatment-sequence-list span {
    overflow-wrap: anywhere;
}

.treatment-eligibility-card + .treatment-eligibility-card,
.treatment-care-card + .treatment-care-card {
    margin-top: 12px;
}

.criteria-overview-detail {
    display: block;
}

.criteria-overview-summary,
.criteria-study-summary {
    cursor: pointer;
    list-style: none;
}

.criteria-overview-summary::-webkit-details-marker,
.criteria-study-summary::-webkit-details-marker {
    display: none;
}

.criteria-overview-summary {
    color: var(--accent-dark);
    font-size: 1.1rem;
    font-weight: 850;
}

.criteria-overview-summary::before,
.criteria-study-summary::before {
    content: "+";
    display: inline-grid;
    width: 1.1rem;
    margin-right: 0.45rem;
    color: var(--muted);
    font-weight: 850;
}

.criteria-overview-detail[open] > .criteria-overview-summary::before,
.criteria-study-detail[open] > .criteria-study-summary::before {
    content: "-";
}

.criteria-overview-body {
    margin-top: 14px;
}

.criteria-study-detail {
    padding: 0;
    overflow: visible;
}

.criteria-study-summary {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 16px;
}

.criteria-study-title {
    color: var(--text);
    font-weight: 850;
    overflow-wrap: anywhere;
}

.criteria-study-meta {
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.criteria-study-detail > :not(summary) {
    margin-left: 16px;
    margin-right: 16px;
}

.criteria-study-detail > :last-child {
    margin-bottom: 16px;
}

.eligibility-structure-summary {
    display: grid;
    gap: 6px;
    margin: 12px 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
    background: #f7faf9;
}

.eligibility-structure-summary p {
    margin: 0;
}

.eligibility-criteria-group {
    display: grid;
    gap: 10px;
    margin-top: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
}

.eligibility-criteria-group.inclusion {
    background: #f6fbf9;
}

.eligibility-criteria-group.exclusion {
    background: #fff9f4;
}

.eligibility-criteria-group h4 {
    margin: 0;
    color: var(--accent-dark);
    font-size: 0.9rem;
    letter-spacing: 0;
    text-transform: uppercase;
}

.eligibility-table-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: visible;
    overflow-y: visible;
}

.eligibility-matching-table {
    width: 100%;
    min-width: 0;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
}

.eligibility-matching-table th,
.eligibility-matching-table td {
    vertical-align: top;
    border-top: 1px solid var(--line);
    padding: 10px;
    text-align: left;
    overflow-wrap: anywhere;
}

.eligibility-matching-table th {
    color: var(--muted);
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0;
    background: #f8f9fb;
}

.eligibility-matching-table th:first-child {
    width: 42%;
}

.eligibility-matching-table th:nth-child(2) {
    width: 22%;
}

.eligibility-matching-table td {
    font-size: 0.92rem;
    line-height: 1.5;
}

.eligibility-matching-table td > strong,
.eligibility-matching-table td > span,
.eligibility-matching-table td > small {
    display: block;
}

.eligibility-matching-table td > small {
    margin-top: 5px;
    color: var(--muted);
    font-size: 0.82rem;
}

.criteria-title-line {
    display: flex;
    gap: 0.4rem;
    align-items: baseline;
    min-width: 0;
}

.criteria-title-line strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.criteria-info {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    z-index: 3;
}

.criteria-info-button {
    display: inline-grid;
    width: 1.15rem;
    height: 1.15rem;
    margin: 0;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1;
}

.criteria-info-button:hover,
.criteria-info-button:focus-visible {
    color: var(--accent-dark);
    outline: 2px solid rgba(34, 114, 96, 0.22);
    outline-offset: 2px;
}

.criteria-info-popover {
    position: absolute;
    z-index: 20;
    top: calc(100% + 8px);
    left: 0;
    display: grid;
    gap: 6px;
    width: min(360px, calc(100vw - 48px));
    max-height: min(420px, 70vh);
    overflow: auto;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(16, 24, 40, 0.16);
    color: var(--text);
    font-size: 0.82rem;
    line-height: 1.45;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-3px);
    visibility: hidden;
}

.criteria-info-popover span {
    display: block;
}

.criteria-info:hover .criteria-info-popover,
.criteria-info:focus-within .criteria-info-popover,
.criteria-info.is-open .criteria-info-popover {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
}

.criteria-status-stack {
    display: grid;
    gap: 10px;
}

.criteria-status-group {
    display: grid;
    gap: 4px;
}

.criteria-status-label {
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.criteria-status-line {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    gap: 0.5rem;
    align-items: start;
    color: var(--text);
    font-weight: 720;
    line-height: 1.4;
}

.criteria-review-path-list {
    display: grid;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.eligibility-status-symbol {
    display: inline-grid;
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
    place-items: center;
    color: #6b7280;
}

.eligibility-status-symbol svg {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.treatment-question-list article {
    min-width: 0;
    border-top: 1px solid var(--line);
    padding-top: 12px;
}

.treatment-question-list article:first-child {
    border-top: 0;
    padding-top: 0;
}

.treatment-question-list h3 {
    margin: 0 0 6px;
    color: var(--accent-dark);
    font-size: 0.98rem;
}

.treatment-question-list p {
    max-width: 92ch;
    margin: 0;
    line-height: 1.58;
}

.treatment-question-sources {
    margin-top: 8px;
}

.treatment-eligibility-text {
    max-width: 100%;
    overflow-x: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px;
    background: #f7f8fa;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 0.82rem;
    line-height: 1.45;
}

.treatment-v2-empty-detail p {
    max-width: 70ch;
}

.stacked-item h3 {
    margin: 0 0 10px;
    font-size: 1rem;
}

.tag-row {
    color: var(--muted);
    font-weight: 700;
}

.table-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    contain: inline-size;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
}

.data-table th,
.data-table td {
    border-bottom: 1px solid var(--line);
    padding: 10px 8px;
    text-align: left;
    vertical-align: top;
}

.data-table th {
    color: var(--muted);
    font-size: 0.84rem;
}

.molecular-table th:first-child,
.molecular-table td:first-child {
    min-width: 150px;
}

.molecular-table {
    width: 100%;
    min-width: 900px;
    table-layout: fixed;
}

.molecular-table th:nth-child(1) { width: 16%; }
.molecular-table th:nth-child(2) { width: 24%; }
.molecular-table th:nth-child(3) { width: auto; }
.molecular-table th:nth-child(4) { width: 145px; }
.molecular-table th:nth-child(5) { width: 135px; }

.molecular-table td {
    overflow-wrap: anywhere;
}

.molecular-table th:nth-child(4),
.molecular-table td:nth-child(4),
.molecular-table td:nth-child(5) {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}

.molecular-table th:nth-child(5) {
    overflow-wrap: anywhere;
}

.hgvs {
    color: inherit;
    font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
    font-size: 0.92em;
    white-space: normal;
    overflow-wrap: anywhere;
}

.muted-note {
    color: var(--muted);
}

.external-link {
    color: var(--accent);
    font-weight: 700;
}

.warning-panel {
    border-color: #f0cf94;
}

.labor-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 14px;
}

.labor-value-card {
    display: grid;
    gap: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 16px;
    background: #fff;
}

.labor-value-card h3 {
    margin: 0;
}

.labor-value {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
}

.review-note {
    margin: 0;
    border-left: 3px solid #f0cf94;
    padding-left: 10px;
    color: var(--warning);
    font-weight: 700;
}

.laboratory-filter {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.laboratory-table details {
    margin-top: 4px;
}

.laboratory-table summary {
    color: var(--accent);
    cursor: pointer;
    font-size: 0.84rem;
    font-weight: 800;
}

.laboratory-table details span {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 0.88rem;
    font-weight: 500;
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.filter-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 8px;
}

.filter-actions button {
    cursor: pointer;
    font: inherit;
}

.therapy-grid,
.timeline-list {
    display: grid;
    gap: 14px;
}

.treatment-card {
    display: grid;
    gap: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 16px;
    background: #fff;
}

.treatment-card.is-active,
.timeline-event.is-active .timeline-card {
    border-color: #b9d9d3;
    background: #f2faf8;
}

.timeline-event {
    display: grid;
    grid-template-columns: minmax(120px, 160px) 1fr;
    gap: 14px;
}

.timeline-date {
    color: var(--muted);
    font-weight: 800;
}

.timeline-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 16px;
    background: #fff;
}

.timeline-card h3 {
    margin-top: 0;
}

.event-category {
    margin-bottom: 6px;
    color: var(--accent);
    font-size: 0.84rem;
    font-weight: 800;
    text-transform: uppercase;
}

.timeline-year h2 {
    font-size: 1.35rem;
}

.data-stand {
    margin: 14px 0 0;
    color: var(--muted);
    font-size: 0.88rem;
    font-weight: 650;
}

.page-shell-wide {
    max-width: 1320px;
}

.clinical-timeline-page .lead {
    max-width: 920px;
}

.phase-title-row,
.event-heading,
.timeline-sources,
.source-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.phase-title-row,
.event-heading {
    gap: 5px;
}

.event-info-box {
    flex-basis: 100%;
    margin-top: 5px;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 9px 10px;
    background: #f7fafb;
    color: var(--text);
    font-size: 0.88rem;
    font-weight: 520;
    line-height: 1.5;
}

.phase-meta-line,
.phase-summary {
    margin: 0;
    color: var(--muted);
    font-size: 0.88rem;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.phase-summary {
    color: var(--text);
    font-weight: 620;
}

.phase-events,
.phase-visual-list,
.phase-visual-cards,
.timeline-side-stack,
.timeline-list-card-stack {
    display: grid;
    gap: 5px;
}

.phase-event-line,
.administration-item {
    display: grid;
    gap: 4px;
    border-left: 3px solid #b9d9d3;
    padding-left: 9px;
}

.phase-event-line {
    grid-template-columns: minmax(92px, 120px) minmax(0, 1fr);
    align-items: baseline;
}

.phase-event-note {
    grid-column: 2;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.phase-follow-up {
    display: grid;
    gap: 5px;
    margin: 2px 0 4px 0;
    border-left: 3px solid #d8dee4;
    padding: 7px 0 7px 10px;
    background: transparent;
}

.phase-follow-up p,
.event-details-body p,
.event-inline-summary {
    margin: 0;
}

.event-inline-summary {
    color: var(--text);
    font-size: 0.94rem;
    line-height: 1.5;
}

.phase-context-details summary,
.event-details summary,
.pending-events-panel > summary {
    color: var(--accent);
    cursor: pointer;
    font-size: 0.84rem;
    font-weight: 650;
}

.event-details summary,
.phase-context-details summary {
    min-height: 30px;
    padding-top: 4px;
}

.source-chip {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 2px 8px;
    background: #f4f6f8;
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 750;
}

.filter-toggle {
    min-height: 32px;
    border: 1px solid var(--line);
    border-radius: 7px;
    padding: 5px 9px;
    background: #fff;
    color: var(--text);
    cursor: pointer;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 800;
}

.filter-toggle.is-active {
    border-color: var(--accent);
    background: #eaf5f2;
    color: var(--accent);
}

.filter-toggle:focus-visible,
.button-link:focus-visible,
.top-nav a:focus-visible,
.external-link:focus-visible,
.mobile-nav summary:focus-visible,
.mobile-nav-list a:focus-visible,
.app-brand:focus-visible,
.timeline-list-item a:focus-visible,
.timeline-side-card a:focus-visible,
.event-details summary:focus-visible,
.phase-context-details summary:focus-visible,
.administration-details summary:focus-visible,
.pending-events-panel > summary:focus-visible {
    outline: 3px solid #74b8ae;
    outline-offset: 2px;
}

.timeline-sources {
    align-items: flex-start;
}

.timeline-sources ul {
    display: grid;
    gap: 4px;
    list-style: none;
    margin: 4px 0 0;
    padding-left: 0;
}

.timeline-sources li {
    margin-bottom: 3px;
}

.timeline-source-link {
    display: inline-flex;
    align-items: flex-start;
    gap: 6px;
    color: var(--accent);
    font-weight: 720;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.timeline-source-link:visited {
    color: var(--accent);
}

.timeline-source-link:hover {
    color: var(--accent-strong);
}

.timeline-source-icon {
    display: inline-flex;
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    margin-top: 0.1em;
    color: currentColor;
}

.timeline-source-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.timeline-controls-panel {
    display: grid;
    gap: 8px;
    margin-bottom: 12px;
    border-block: 1px solid var(--line);
    padding: 9px 0;
}

.timeline-controls-panel h2 {
    margin: 0;
    font-size: 0.95rem;
}

.timeline-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    align-items: flex-start;
}

.timeline-control-group {
    min-width: 0;
}

.timeline-control-group {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.control-label {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 850;
    text-transform: uppercase;
}

.clinical-split-section,
.clinical-list-section {
    overflow: visible;
}

.clinical-split-timeline,
.clinical-timeline-list,
.administration-list {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.clinical-split-timeline.is-current-first,
.clinical-timeline-list.is-current-first,
.administration-list.is-current-first {
    flex-direction: column;
}

.timeline-row,
.timeline-list-item {
    scroll-margin-top: 18px;
}

.timeline-row {
    position: relative;
    display: grid;
    grid-template-columns: minmax(280px, 0.95fr) 112px minmax(360px, 1.25fr);
    gap: 14px;
    min-width: 0;
    padding: 10px 12px;
}

.timeline-phase-row {
    display: block;
}

.timeline-phase-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(280px, 0.95fr) 112px minmax(360px, 1.25fr);
    gap: 10px 14px;
    min-width: 0;
}

.timeline-phase-date-row {
    display: contents;
}

.timeline-phase-date-row[hidden] {
    display: none;
}

.timeline-row-background {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.timeline-phase-row.phase-kind-intensive .timeline-row-background {
    border-left: 5px solid #87b9a5;
    background: #f3faf6;
}

.timeline-phase-row.phase-kind-context .timeline-row-background {
    border-left: 5px solid #7f93a3;
    background: #f3f6f8;
}

.timeline-phase-row.phase-kind-maintenance .timeline-row-background {
    border-left: 5px solid #a9d5bb;
    background: #f7fcf8;
}

.timeline-phase-row.phase-kind-pause .timeline-row-background {
    border-left: 5px solid #c8ced4;
    background: #f3f5f7;
}

.timeline-phase-row.phase-kind-operation .timeline-row-background {
    border-left: 5px solid #d4a15f;
    background: #fff7eb;
}

.timeline-left,
.timeline-center,
.timeline-right {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.timeline-phase-left {
    grid-column: 1;
    align-self: start;
}

.timeline-left,
.timeline-right {
    display: grid;
    gap: 8px;
    align-content: start;
}

.timeline-center {
    display: grid;
    justify-items: center;
    align-content: start;
    gap: 7px;
    min-height: 92px;
}

.timeline-date-cell {
    grid-column: 2;
    position: relative;
    align-content: start;
    min-height: 44px;
}

.timeline-date-cell::before {
    content: "";
    position: absolute;
    top: -10px;
    bottom: -10px;
    left: 50%;
    width: 2px;
    transform: translateX(-50%);
    border-radius: 999px;
    background: #b6c1c8;
}

.timeline-event-cell {
    grid-column: 3;
    align-content: start;
    min-height: 44px;
}

.timeline-administration-labels {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.timeline-administration-label {
    width: fit-content;
    max-width: 100%;
    margin: 0;
    border-left: 3px solid #5f9f81;
    border-radius: 0 6px 6px 0;
    padding: 6px 9px;
    background: #f3faf6;
    color: #244b38;
    font-size: 0.86rem;
    font-weight: 800;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.phase-kind-maintenance .timeline-administration-label {
    border-left-color: #7fbd98;
    background: #f5fbf7;
    color: #2d513c;
}

.timeline-rail {
    width: 2px;
    min-height: 22px;
    border-radius: 999px;
    background: #b6c1c8;
}

.timeline-point {
    width: 12px;
    height: 12px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 0 1px #8aa8a4;
}

.timeline-date-chip {
    display: inline-flex;
    max-width: 100%;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 4px 8px;
    background: #fff;
    color: var(--text);
    font-size: 0.76rem;
    font-weight: 850;
    line-height: 1.25;
    text-align: center;
}

.timeline-date-marker {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr);
    gap: 5px;
    align-items: center;
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 7px;
    padding: 4px 6px;
    background: #fff;
    color: var(--text);
    font-size: 0.74rem;
    font-weight: 850;
    line-height: 1.15;
}

.timeline-date-anchor {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr);
    gap: 5px;
    align-items: center;
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 4px 6px;
    background: #fff;
    color: var(--text);
    font-size: 0.74rem;
    font-weight: 850;
    line-height: 1.15;
}

.timeline-date-anchor-text {
    display: grid;
    min-width: 0;
    gap: 1px;
}

.timeline-date-anchor-text strong {
    font-size: 0.76rem;
}

.timeline-date-anchor.is-administration-anchor {
    border-color: #8ab7a2;
    border-radius: 4px;
    padding: 3px 5px;
    background: #f3faf6;
    color: #244536;
    font-size: 0.72rem;
    line-height: 1.1;
    box-shadow: none;
}

.timeline-date-anchor.is-administration-anchor .timeline-date-anchor-text {
    display: block;
    white-space: nowrap;
}

.timeline-date-anchor.is-administration-anchor .timeline-date-anchor-text strong {
    font-size: 0.72rem;
}

.timeline-date-anchor-separator {
    color: #4e7d66;
}

.timeline-date-anchor.is-administration-anchor .marker-dot {
    background: #5f9f81;
    box-shadow: 0 0 0 1px #5f9f81;
}

.timeline-date-anchor.event-kind-administration-maintenance {
    border-color: #a9d5bb;
    background: #f5fbf7;
    color: #2d513c;
}

.timeline-date-anchor.event-kind-administration-maintenance .marker-dot {
    background: #7fbd98;
    box-shadow: 0 0 0 1px #7fbd98;
}

.marker-dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 0 1px #8aa8a4;
}

.timeline-phase-card,
.timeline-side-card,
.timeline-list-card {
    display: grid;
    min-width: 0;
    gap: 6px;
    border: 1px solid rgba(31, 43, 50, 0.12);
    border-radius: 8px;
    padding: 10px;
    background: rgba(255, 255, 255, 0.88);
    overflow-wrap: anywhere;
}

.timeline-sources a,
.source-chip,
.event-details-body,
.no-js-note {
    overflow-wrap: anywhere;
}

.timeline-side-card {
    border-left: 4px solid #b7c4ca;
}

.event-kind-tumorboard {
    border-left-color: #6d98c3;
}

.event-kind-tumorboard .badge:first-child,
.timeline-date-marker.event-kind-tumorboard .marker-dot {
    border-color: #dbeaf7;
    background: #6d98c3;
    color: #17476f;
}

.event-kind-imaging {
    border-left-color: #d6a451;
}

.event-kind-imaging .badge:first-child,
.timeline-date-marker.event-kind-imaging .marker-dot,
.timeline-date-anchor.event-kind-imaging .marker-dot {
    border-color: #f8ead0;
    background: #d6a451;
    color: #704a0f;
}

.event-kind-diagnostic {
    border-left-color: #7f93a3;
}

.event-kind-diagnostic .badge:first-child,
.event-kind-finding .badge:first-child,
.timeline-date-marker.event-kind-diagnostic .marker-dot,
.timeline-date-marker.event-kind-finding .marker-dot,
.timeline-date-anchor.event-kind-diagnostic .marker-dot,
.timeline-date-anchor.event-kind-finding .marker-dot {
    border-color: #e0e8ed;
    background: #7f93a3;
    color: #233949;
}

.event-kind-operation {
    border-left-color: #bd7a43;
}

.event-kind-operation .badge:first-child,
.timeline-date-marker.event-kind-operation .marker-dot,
.timeline-date-anchor.event-kind-operation .marker-dot {
    border-color: #f5dfca;
    background: #bd7a43;
    color: #6b3514;
}

.event-kind-complication {
    border-left-color: #b06a72;
}

.event-kind-decision {
    border-left-color: #8aa1af;
}

.timeline-side-card h3,
.timeline-phase-card h3,
.timeline-list-card h3 {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.25;
}

.timeline-list-card h3 a {
    color: var(--text);
    text-decoration: none;
}

.timeline-list-card h3 a:hover {
    color: var(--accent);
    text-decoration: underline;
}

.timeline-side-card-required {
    border-left-width: 4px;
}

.timeline-side-event {
    display: grid;
    grid-template-columns: minmax(88px, 112px) minmax(0, 1fr);
    gap: 8px;
    align-items: start;
}

.timeline-side-date,
.timeline-list-date {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 850;
}

.timeline-admin-markers {
    display: grid;
    gap: 5px;
    width: 100%;
}

.timeline-admin-marker {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr);
    gap: 1px 5px;
    align-items: center;
    border: 1px solid #8ab7a2;
    border-radius: 4px;
    padding: 3px 5px;
    background: #fff;
    color: var(--muted);
    font-size: 0.7rem;
    line-height: 1.15;
    text-align: left;
}

.timeline-admin-marker .marker-line {
    grid-row: 1 / span 2;
    justify-self: center;
    width: 2px;
    height: 100%;
    min-height: 24px;
    border-radius: 999px;
    background: #8ab7a2;
}

.timeline-admin-marker .marker-dot {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: center;
    justify-self: center;
    background: #5f9f81;
    box-shadow: 0 0 0 1px #5f9f81;
}

.timeline-admin-marker span:not(.marker-line):not(.marker-dot),
.timeline-admin-marker strong {
    grid-column: 2;
}

.timeline-admin-marker strong {
    color: var(--text);
    font-size: 0.76rem;
}

.timeline-admin-markers.marker-kind-maintenance .timeline-admin-marker {
    border-color: #a9d5bb;
}

.timeline-admin-markers.marker-kind-maintenance .marker-line,
.timeline-admin-markers.marker-kind-maintenance .marker-dot {
    background: #7fbd98;
}

.timeline-list-item {
    display: grid;
    grid-template-columns: minmax(118px, 170px) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    border-left: 5px solid transparent;
    border-bottom: 1px solid var(--line);
    padding: 10px 0;
}

.timeline-list-item.phase-kind-intensive {
    border-left-color: #87b9a5;
    padding-left: 10px;
}

.timeline-list-item.phase-kind-context {
    border-left-color: #7f93a3;
    padding-left: 10px;
}

.timeline-list-item.phase-kind-maintenance {
    border-left-color: #a9d5bb;
    padding-left: 10px;
}

.timeline-list-item.phase-kind-pause {
    border-left-color: #c8ced4;
    padding-left: 10px;
}

.timeline-list-item.phase-kind-operation {
    border-left-color: #d4a15f;
    padding-left: 10px;
}

.phase-visual-list {
    margin-top: 3px;
    border-top: 1px solid rgba(31, 43, 50, 0.08);
    padding-top: 7px;
}

.phase-outcome {
    display: grid;
    gap: 3px;
    border-left: 3px solid #aab8c2;
    padding-left: 8px;
    color: var(--text);
    font-size: 0.88rem;
}

.phase-outcome p {
    margin: 0;
}

.phase-visual-group {
    display: grid;
    grid-template-columns: minmax(76px, 104px) minmax(0, 1fr);
    gap: 7px;
    align-items: start;
}

.phase-visual-group > strong {
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.2;
}

.compact-event-card {
    padding: 8px;
}

.event-details-body,
.phase-context-details {
    display: grid;
    gap: 7px;
}

.administration-item {
    grid-template-columns: minmax(82px, 115px) minmax(48px, 80px) minmax(0, 1fr);
    align-items: baseline;
    border-left-color: #b9d9d3;
    font-size: 0.9rem;
}

.timeline-data-stand {
    margin: 12px 0 0;
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 700;
}

.imaging-filter {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.filter-panel input[type="search"] {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 7px 8px;
    background: #fff;
    color: var(--text);
    font: inherit;
}

.imaging-actions {
    align-items: end;
}

.imaging-actions button {
    cursor: pointer;
    font: inherit;
}

.imaging-tabs {
    margin: 0 0 16px;
}

.imaging-source-note {
    margin: 0 0 16px;
    border-left: 3px solid #9bc8bf;
    border-radius: 0 8px 8px 0;
    padding: 10px 12px;
    background: #f2f8f6;
    color: var(--text);
    font-size: 0.9rem;
    line-height: 1.5;
}

.section-nav a.active {
    border-color: var(--accent);
    background: #eaf5f2;
}

.imaging-list {
    display: grid;
    gap: 14px;
}

.imaging-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    scroll-margin-top: 24px;
}

.imaging-card:has(.imaging-details-toggle[aria-expanded="true"]) {
    border-color: #b9d9d3;
}

.imaging-card-summary {
    display: grid;
    gap: 8px;
    padding: 16px 18px;
}

.imaging-title-row,
.imaging-subline {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.imaging-date {
    font-size: 1.05rem;
    font-weight: 850;
}

.badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    border: 1px solid #b9d9d3;
    border-radius: 999px;
    padding: 2px 8px;
    background: #eaf5f2;
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.2;
}

.badge.muted {
    border-color: var(--line);
    background: #f4f6f8;
    color: var(--muted);
}

.imaging-meta,
.imaging-subline {
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 700;
}

.imaging-meta,
.clinical-summary {
    margin: 0;
}

.clinical-summary {
    max-width: 82ch;
    color: var(--text);
    font-weight: 400;
    line-height: 1.55;
}

.imaging-secondary-assessment-preview {
    border-left: 3px solid #9bc8bf;
    border-radius: 0 8px 8px 0;
    padding: 10px 12px;
    background: #f2f8f6;
}

.imaging-secondary-assessment-preview h3,
.imaging-secondary-assessment-preview p {
    margin: 0;
}

.imaging-secondary-assessment-preview h3 {
    color: var(--accent);
    font-size: 0.92rem;
}

.imaging-secondary-assessment-preview p {
    margin-top: 5px;
    line-height: 1.5;
}

.imaging-details-toggle {
    width: fit-content;
    margin-top: 4px;
    cursor: pointer;
    font: inherit;
}

.imaging-details-toggle:focus-visible,
.imaging-original-text > summary:focus-visible,
.imaging-card-files a:focus-visible {
    outline: 3px solid rgba(20, 108, 99, 0.32);
    outline-offset: 3px;
}

.imaging-card-details {
    border-top: 1px solid var(--line);
    padding: 0 18px 18px;
    background: #fff;
}

.imaging-detail-list {
    display: block;
}

.imaging-detail-section {
    min-width: 0;
    padding: 18px 0;
}

.imaging-detail-section + .imaging-detail-section {
    border-top: 1px solid var(--line);
}

.imaging-detail-section h3 {
    margin: 0 0 8px;
    color: var(--muted);
    font-size: 0.84rem;
    text-transform: uppercase;
}

.imaging-detail-section p {
    margin: 0;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.imaging-additional-assessments {
    border-top: 1px solid var(--line);
    padding: 18px 0;
}

.imaging-additional-assessments > h3 {
    margin: 0 0 12px;
    color: var(--accent);
    font-size: 1.08rem;
}

.imaging-assessment-card {
    border: 1px solid #b9d9d3;
    border-radius: 8px;
    padding: 14px;
    background: #f7fbfa;
}

.imaging-assessment-card + .imaging-assessment-card {
    margin-top: 12px;
}

.imaging-assessment-card h4,
.imaging-assessment-card h5,
.imaging-assessment-card p,
.imaging-assessment-card blockquote {
    margin-top: 0;
}

.imaging-assessment-card h4 {
    margin-bottom: 12px;
    font-size: 1rem;
}

.imaging-assessment-card h5 {
    margin-bottom: 6px;
    color: var(--muted);
    font-size: 0.82rem;
    text-transform: uppercase;
}

.imaging-assessment-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
    margin: 0 0 14px;
}

.imaging-assessment-meta div {
    min-width: 0;
}

.imaging-assessment-meta dt {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.imaging-assessment-meta dd {
    margin: 3px 0 0;
    overflow-wrap: anywhere;
}

.imaging-assessment-summary p,
.imaging-assessment-source-excerpt blockquote {
    margin-bottom: 12px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.imaging-assessment-source-excerpt blockquote {
    border-left: 3px solid var(--line);
    padding-left: 12px;
    color: var(--muted);
}

.imaging-assessment-source-link:focus-visible {
    outline: 3px solid rgba(20, 108, 99, 0.32);
    outline-offset: 3px;
}

.detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
    padding: 16px 18px;
}

.detail-block {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
    background: #fff;
}

.detail-block h3,
.related-files h3 {
    margin-top: 0;
    color: var(--muted);
    font-size: 0.84rem;
    text-transform: uppercase;
}

.detail-block p {
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.hla-grid,
.source-list {
    display: grid;
    gap: 12px;
}

.hla-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.hla-block p {
    margin-bottom: 12px;
}

.source-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 14px;
    background: #f9fafb;
}

.source-item h3 {
    margin-top: 0;
}

.source-item p:last-child {
    margin-bottom: 0;
}

.molecular-diagnostics-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.molecular-diagnostic-block {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 14px;
    background: #f9fafb;
}

.molecular-diagnostic-block h3 {
    margin-top: 0;
}

.molecular-diagnostic-list {
    display: grid;
    gap: 10px;
    margin: 0;
}

.molecular-diagnostic-list div {
    min-width: 0;
}

.molecular-diagnostic-list dd {
    font-size: 0.95rem;
}

.quality-details {
    margin: 18px 0 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px 12px;
}

.quality-details > summary {
    cursor: pointer;
    color: var(--accent);
    font-weight: 800;
}

.quality-list {
    display: grid;
    gap: 8px;
    margin: 12px 0 0;
}

.quality-list div {
    display: grid;
    grid-template-columns: minmax(130px, 210px) 1fr;
    gap: 10px;
}

.quality-list dt {
    color: var(--muted);
    font-weight: 800;
}

.quality-list dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.related-files {
    margin: 0 18px 18px;
}

.imaging-card-files {
    margin: 4px 0 0;
}

.imaging-card-files h3 {
    margin-bottom: 7px;
}

.file-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.file-item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px;
    background: #f9fafb;
}

.file-item div,
.file-item span,
.file-item em {
    display: grid;
    min-width: 0;
}

.file-item span,
.file-item em {
    color: var(--muted);
    font-size: 0.88rem;
    overflow-wrap: anywhere;
}

.file-item em {
    font-style: normal;
    font-weight: 700;
}

.imaging-file-list-compact {
    gap: 6px;
}

.imaging-file-list-compact .file-item {
    padding: 8px 10px;
    background: #fbfcfc;
}

.imaging-file-list-compact .file-item strong {
    font-size: 0.88rem;
}

.imaging-file-list-compact .button-link {
    min-height: 34px;
    padding: 6px 10px;
    font-size: 0.82rem;
}

.imaging-original-text {
    margin-top: 18px;
    border-top: 1px solid var(--line);
    padding-top: 16px;
}

.imaging-original-text > summary {
    width: fit-content;
    cursor: pointer;
    color: var(--accent);
    font-weight: 800;
}

.imaging-original-label-open {
    display: none;
}

.imaging-original-text[open] .imaging-original-label-closed {
    display: none;
}

.imaging-original-text[open] .imaging-original-label-open {
    display: inline;
}

.imaging-original-text-content {
    margin-top: 14px;
    border-left: 3px solid var(--line);
    padding-left: 14px;
    line-height: 1.6;
    white-space: normal;
    overflow-wrap: anywhere;
}

.patient-overview-hero {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(136px, 2fr) minmax(0, 3fr);
    column-gap: 0;
    row-gap: 0;
    align-items: start;
    margin-bottom: 16px;
}

.patient-overview-identity,
.patient-overview-hero-portrait-wrap,
.patient-overview-contact,
.patient-overview-transparency-block {
    min-width: 0;
}

.patient-overview-identity { align-self: center; }

.patient-overview-hero-portrait-wrap {
    display: flex;
    justify-content: flex-end;
    border-right: 1px solid var(--line);
    padding-right: 20px;
}

.patient-overview-hero-portrait {
    display: block;
    width: 136px;
    aspect-ratio: 4 / 5;
    border-radius: 9px;
    object-fit: cover;
}

.patient-overview-contact {
    align-self: start;
    padding-left: 20px;
}

.patient-overview-contact h2 {
    margin: 0 0 2px;
    font-size: 1rem;
}

.patient-overview-contact-intro,
.patient-overview-contact-person p,
.patient-overview-contact-translation-note {
    margin: 0;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.4;
}

.patient-overview-contact-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px 14px;
    margin-top: 5px;
}

.patient-overview-contact-person {
    min-width: 0;
}

.patient-overview-contact-person h3 {
    margin: 0 0 1px;
    font-size: 0.88rem;
}

.patient-overview-contact-person a {
    overflow-wrap: anywhere;
}

.patient-overview-contact-person span {
    font-weight: 600;
}

.patient-overview-contact-person p + p { margin-top: 1px; }

.patient-overview-contact-translation-note {
    margin-top: 5px;
    font-size: 0.76rem;
}

.patient-overview-transparency-block {
    grid-column: 1 / -1;
    justify-self: stretch;
    max-width: none;
    margin-top: 2rem;
}

.patient-overview-transparency-note {
    margin: 0;
    border: 1px solid #f0cf94;
    border-radius: 8px;
    padding: 10px 12px;
    background: var(--warning-bg);
    color: var(--warning);
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.45;
}

.patient-overview dd {
    font-weight: 600;
}

.patient-overview-hero .lead {
    margin-bottom: 0;
    font-weight: 750;
}

.patient-demographics {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 0.92rem;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.patient-overview-current {
    background: #f7fcfb;
}

.patient-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.patient-overview-card {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 6px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
    background: #fff;
}

.patient-overview-card dd {
    margin: 0;
    font-size: 1rem;
    line-height: 1.28;
}

.patient-overview-card p {
    margin: 0;
    color: var(--muted);
    font-size: 0.88rem;
    font-weight: 650;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.patient-overview-card-recist {
    gap: 5px;
}

.patient-overview-card .patient-overview-recist-measurement {
    color: var(--muted);
    font-weight: 500;
}

.patient-overview-card .patient-overview-recist-note {
    font-weight: 500;
}

.patient-overview-card-clinical-issues {
    grid-template-columns: minmax(0, 1fr);
}

.pain-anatomy-trigger {
    position: relative;
    align-self: end;
    justify-self: end;
    width: clamp(110px, 8vw, 140px);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 3px;
    background: #fff;
    color: var(--accent);
    cursor: zoom-in;
    margin-top: 4px;
}

.pain-anatomy-trigger img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 5px;
    object-fit: contain;
}

.pain-anatomy-zoom {
    position: absolute;
    right: 6px;
    bottom: 6px;
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 2px 8px rgba(32, 36, 42, 0.18);
}

.pain-anatomy-zoom svg,
.pain-anatomy-dialog-close svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pain-anatomy-trigger:focus-visible,
.pain-anatomy-dialog-close:focus-visible {
    outline: 3px solid #74b8ae;
    outline-offset: 3px;
}

.pain-anatomy-dialog {
    width: auto;
    max-width: 95vw;
    max-height: 92vh;
    border: 0;
    border-radius: 12px;
    padding: 0;
    background: transparent;
    overflow: visible;
}

.pain-anatomy-dialog::backdrop {
    background: rgba(20, 25, 30, 0.82);
}

.pain-anatomy-dialog-content {
    position: relative;
    display: flex;
    max-width: 95vw;
    max-height: 92vh;
    align-items: center;
    justify-content: center;
}

.pain-anatomy-dialog-content > img {
    display: block;
    max-width: 95vw;
    max-height: 90vh;
    border-radius: 8px;
    object-fit: contain;
}

.pain-anatomy-dialog-close {
    position: absolute;
    z-index: 1;
    top: 10px;
    right: 10px;
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 50%;
    padding: 0;
    background: rgba(20, 25, 30, 0.78);
    color: #fff;
    cursor: pointer;
}

.patient-overview-card-patient-body {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: start;
}

.patient-overview-card-portrait {
    display: block;
    width: 96px;
    aspect-ratio: 4 / 5;
    border-radius: 8px;
    object-fit: cover;
}

.patient-overview-card-patient-body > div {
    min-width: 0;
}

.patient-overview-card-patient-body p + p {
    margin-top: 3px;
}

.patient-overview-card-patient-body .patient-overview-card-patient-label {
    margin-top: 10px;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 600;
}

.patient-overview-card-patient-body .patient-overview-card-patient-date,
.patient-overview-card-patient-body .patient-overview-card-patient-age {
    color: var(--text);
    font-size: 0.9rem;
    font-weight: 650;
}

.patient-overview-links {
    margin-top: 14px;
}

.patient-overview-molecular-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.patient-overview-inline-facts {
    display: grid;
    gap: 4px;
    margin: 12px 0 0;
    border-top: 1px solid var(--line);
    padding-top: 12px;
}

.patient-overview-inline-facts dd {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.4;
}

.patient-overview-secondary-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 16px;
    align-items: start;
}

.patient-overview-marker-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.patient-overview-marker {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
    background: #fff;
}

.patient-overview-marker h3 {
    margin: 0 0 10px;
}

.patient-overview-marker dl {
    display: grid;
    gap: 9px;
    margin: 0;
}

.patient-overview-marker dl div {
    min-width: 0;
}

.patient-overview-marker dd {
    line-height: 1.25;
}

.patient-overview-marker dd + dd {
    margin-top: 2px;
    font-size: 0.86rem;
    font-weight: 650;
}

.patient-overview-lab-date {
    margin: 12px 0 0;
    font-size: 0.9rem;
    font-weight: 650;
}

.medication-overview-list {
    display: grid;
    gap: 10px;
}

.medication-overview-list li {
    display: grid;
    gap: 3px;
}

.medication-overview-list strong {
    display: block;
}

.patient-overview-review {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin-top: 6px;
    color: var(--muted);
    font-size: 0.88rem;
    font-weight: 650;
}

.dossier-footer {
    margin-top: 22px;
    border-top: 1px solid var(--line);
    padding: 12px 0 4px;
}

.dossier-transparency {
    max-width: 82ch;
    color: var(--muted);
    font-size: 0.84rem;
}

.dossier-transparency summary {
    width: fit-content;
    cursor: pointer;
    font-weight: 600;
}

.dossier-transparency p {
    margin: 8px 0 0;
    font-size: 0.8rem;
    font-style: italic;
    font-weight: 400;
    line-height: 1.55;
}

@media (max-width: 900px) {
    .patient-overview-hero {
        grid-template-columns: minmax(0, 5fr) minmax(120px, 2fr) minmax(0, 3fr);
    }

    .patient-overview-transparency-block {
        grid-column: 1 / -1;
    }

    .patient-overview-hero-portrait { width: 120px; }
}

@media (max-width: 620px) {
    .patient-overview-hero {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .patient-overview-transparency-block {
        grid-column: 1;
        justify-self: stretch;
        max-width: none;
    }

    .patient-overview-hero-portrait-wrap { justify-content: flex-start; }

    .patient-overview-hero-portrait-wrap {
        border-right: 0;
        padding-right: 0;
    }

    .patient-overview-hero-portrait { width: 128px; }

    .patient-overview-contact {
        border-left: 0;
        border-top: 1px solid var(--line);
        padding: 14px 0 0;
    }

    .patient-overview-contact-list {
        grid-template-columns: 1fr;
    }

}

.medication-note-panel {
    margin-top: -4px;
}

.medication-note-panel p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.medication-daily-summary {
    display: grid;
    gap: 10px;
}

.medication-daily-summary h2 {
    margin: 0;
}

.medication-summary-table {
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
}

.medication-summary-header,
.medication-summary-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(260px, 1.25fr);
    gap: 14px;
    padding: 7px 10px;
}

.medication-summary-header {
    background: #f3faf8;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.medication-summary-row + .medication-summary-row {
    border-top: 1px solid var(--line);
}

.medication-plan {
    display: grid;
    gap: 10px;
}

.medication-timepoint {
    display: grid;
    gap: 10px;
}

.medication-timepoint-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 7px;
}

.medication-timepoint-header .eyebrow,
.medication-timepoint-header h2 {
    margin: 0;
}

.medication-section {
    display: grid;
    gap: 5px;
}

.medication-section h3 {
    margin: 0;
    font-size: 1rem;
}

.medication-entry-list {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.medication-entry {
    display: grid;
    grid-template-columns: minmax(180px, 1.25fr) minmax(120px, 0.8fr) minmax(140px, 0.85fr) minmax(180px, 1.4fr);
    gap: 10px;
    padding: 7px 10px;
}

.medication-table-header {
    display: grid;
    grid-template-columns: minmax(180px, 1.25fr) minmax(120px, 0.8fr) minmax(140px, 0.85fr) minmax(180px, 1.4fr);
    gap: 10px;
    padding: 6px 10px;
    background: #f3faf8;
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.medication-entry + .medication-entry {
    border-top: 1px solid var(--line);
}

.medication-entry-cell {
    min-width: 0;
    line-height: 1.25;
}

.medication-field-label {
    display: none;
    margin-bottom: 4px;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.medication-entry-name strong {
    overflow-wrap: anywhere;
}

.medication-status-badge {
    vertical-align: top;
}

.medication-entry-note p {
    margin: 0;
}

.medication-entry-note p + p {
    margin-top: 4px;
}

.document-library {
    display: grid;
    gap: 16px;
}

.document-hero .lead {
    font-size: 0.98rem;
}

.document-section-nav a {
    border-radius: 999px;
    background: #f3faf8;
}

.document-section-nav a:hover {
    border-color: var(--accent);
    background: #eaf5f2;
}

.document-section-nav a:focus-visible {
    outline: 3px solid rgba(20, 108, 99, 0.32);
    outline-offset: 3px;
}

.document-section {
    scroll-margin-top: 24px;
}

.document-status-panel p {
    margin: 0;
}

.document-section-header {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: start;
    justify-content: space-between;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 12px;
}

.document-section-header .eyebrow,
.document-section-header h2 {
    margin: 0;
}

.document-count {
    display: inline-flex;
    min-width: 34px;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 4px 9px;
    background: #fbfcfd;
    color: var(--muted);
    font-weight: 850;
}

.document-list,
.document-file-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.document-row,
.document-file-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    border-top: 1px solid var(--line);
    padding: 12px 0;
}

.document-list > .document-row:first-child,
.document-file-list > .document-file-row:first-child {
    border-top: 0;
}

.document-row-main,
.document-file-row > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.document-row-main strong,
.document-examination-header h3 {
    overflow-wrap: anywhere;
}

.document-date,
.document-file-kind {
    color: var(--accent);
    font-size: 0.85rem;
    font-weight: 850;
}

.document-filename {
    color: var(--muted);
    font-size: 0.9rem;
    overflow-wrap: anywhere;
}

.document-row-action,
.document-file-row > .document-download-link {
    justify-self: end;
}

.document-download-link {
    white-space: normal;
}

.document-portal {
    display: grid;
    gap: 12px;
    margin: 0 0 18px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 18px;
}

.document-portal-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
}

.document-portal-header h3 {
    margin: 0 0 4px;
}

.document-portal-header p {
    margin: 0;
    color: var(--muted);
}

.document-portal-credentials {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.document-portal-credentials div {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px 12px;
    background: #fbfcfd;
}

.document-portal-credentials dt {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 850;
    text-transform: uppercase;
}

.document-portal-credentials dd {
    margin: 2px 0 0;
    overflow-wrap: anywhere;
    font-weight: 800;
}

.document-portal-credentials dd.muted-note {
    font-size: 0.86rem;
    font-weight: 650;
}

.document-examination-list {
    display: grid;
    gap: 16px;
}

.document-examination {
    border-top: 1px solid var(--line);
    padding-top: 14px;
}

.document-examination:first-child {
    border-top: 0;
    padding-top: 0;
}

.document-examination-header {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    align-items: baseline;
    margin-bottom: 6px;
}

.document-examination-header h3 {
    margin: 0;
    font-size: 1rem;
}

@media (max-width: 900px) {
    .patient-overview-grid,
    .patient-overview-molecular-grid,
    .patient-overview-secondary-grid,
    .patient-overview-marker-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .molecular-diagnostics-grid {
        grid-template-columns: 1fr;
    }

    .medication-entry {
        grid-template-columns: minmax(160px, 1fr) minmax(110px, 0.75fr);
    }

    .medication-table-header {
        display: none;
    }

    .medication-field-label {
        display: block;
    }
}

@media (max-width: 620px) {
    .page-shell-wide,
    .clinical-split-section,
    .clinical-list-section,
    .clinical-split-timeline,
    .clinical-timeline-list,
    .timeline-row,
    .timeline-phase-grid,
    .timeline-phase-card,
    .timeline-side-card,
    .timeline-list-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .timeline-row,
    .timeline-list-item,
    .timeline-phase-card,
    .timeline-side-card,
    .timeline-list-card,
    .phase-meta-line,
    .phase-summary,
    .no-js-note {
        word-break: break-word;
    }

    .medication-timepoint-header {
        display: block;
    }

    .medication-timepoint-header h2 {
        margin-top: 4px;
    }

    .medication-entry {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .medication-summary-header {
        display: none;
    }

    .medication-summary-row {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .document-row,
    .document-file-row,
    .document-portal-header,
    .document-portal-credentials {
        grid-template-columns: 1fr;
    }

    .document-row-action,
    .document-file-row > .document-download-link {
        justify-self: start;
    }

    .patient-overview-grid,
    .patient-overview-molecular-grid,
    .patient-overview-secondary-grid,
    .patient-overview-marker-list {
        grid-template-columns: 1fr;
    }

    .patient-overview-card,
    .patient-overview-marker {
        padding: 11px;
    }

    .pain-anatomy-trigger {
        width: min(140px, 46vw);
    }

    .molecular-diagnostics-grid {
        grid-template-columns: 1fr;
    }

    .timeline-controls-panel {
        padding: 14px;
    }

    .timeline-control-group {
        align-items: stretch;
    }

    .timeline-control-group .filter-toggle {
        flex: 1 1 145px;
    }

    .administration-item {
        grid-template-columns: 1fr;
    }

    .timeline-row,
    .timeline-list-item {
        grid-template-columns: 1fr;
    }

    .timeline-row {
        gap: 8px;
        padding-left: 20px;
    }

    .timeline-phase-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .timeline-phase-left,
    .timeline-date-cell,
    .timeline-event-cell {
        grid-column: 1;
        grid-row: auto !important;
    }

    .timeline-center {
        justify-items: start;
        min-height: auto;
        order: -1;
    }

    .timeline-rail,
    .timeline-date-cell::before {
        position: absolute;
        left: -11px;
        top: 0;
        height: 100%;
        min-height: 100%;
        transform: none;
    }

    .timeline-date-chip {
        text-align: left;
    }

    .timeline-date-cell {
        order: -1;
        min-height: auto;
    }

    .timeline-date-anchor {
        width: fit-content;
        max-width: 100%;
    }

    .timeline-side-event {
        grid-template-columns: 1fr;
    }

    .timeline-admin-markers {
        grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
    }

    .phase-visual-group {
        grid-template-columns: 1fr;
    }

    .timeline-list-card-stack,
    .timeline-side-stack {
        width: 100%;
    }
}

@media (max-width: 1100px) and (min-width: 621px) {
    .timeline-row {
        grid-template-columns: minmax(250px, 0.95fr) 96px minmax(280px, 1.1fr);
        gap: 10px;
    }

    .timeline-phase-grid {
        grid-template-columns: minmax(250px, 0.95fr) 96px minmax(280px, 1.1fr);
        gap: 10px;
    }

    .timeline-side-event {
        grid-template-columns: 1fr;
    }
}

@media print {
    body {
        background: #fff;
    }

    .app-header,
    .top-nav,
    .mobile-nav,
    .system-notice,
    .section-nav,
    .timeline-controls-panel,
    .no-js-note {
        display: none;
    }

    .page-shell {
        width: 100%;
        padding: 0;
    }

    .meta-grid.study-access-overview {
        grid-template-columns: 1fr;
    }

    .print-document-header {
        display: grid;
        gap: 3px;
        margin-bottom: 14px;
        border-bottom: 1px solid #999;
        padding-bottom: 8px;
        color: #000;
        font-size: 0.95rem;
    }

    .panel,
    .option-card,
    .therapy-option-card,
    .therapy-details,
    .therapy-details-panel,
    .access-item,
    .contact-row,
    .risk-list li,
    .treatment-card,
    .timeline-card,
    .timeline-list-item,
    .timeline-list-card,
    .imaging-card,
    .detail-block {
        break-inside: avoid;
        border-color: #999;
    }

    .therapy-hero,
    .therapy-option-card {
        grid-template-columns: 1fr;
    }

    .therapy-card-link,
    .button-link {
        display: none;
    }

    .therapy-details,
    .therapy-details-panel {
        display: block;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .therapy-details > summary,
    .therapy-details-panel > summary {
        display: block;
        margin: 0 0 10px;
        color: #000;
        font-size: 1rem;
    }

    .therapy-details:not([open]) > *:not(summary),
    .therapy-details-panel:not([open]) > *:not(summary) {
        display: block;
    }

    .status-label {
        border-color: #777;
        background: transparent;
        color: #000;
    }

    .table-wrap {
        overflow: visible;
    }

    .patient-overview-grid,
    .patient-overview-molecular-grid,
    .patient-overview-secondary-grid,
    .patient-overview-marker-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .patient-overview-current,
    .patient-overview-card,
    .patient-overview-marker {
        background: transparent;
    }

    .pain-anatomy-trigger {
        width: 95px;
        border: 0;
        padding: 0;
        background: transparent;
    }

    .pain-anatomy-zoom,
    .pain-anatomy-dialog {
        display: none !important;
    }

    .patient-overview-review {
        border-top: 1px solid #999;
        padding-top: 8px;
        color: #000;
    }

    .data-table {
        page-break-inside: auto;
    }

    .data-table tr {
        break-inside: avoid;
    }

    .data-table thead {
        display: table-header-group;
    }

    .clinical-hero {
        padding: 0 0 10px;
        border: 0;
    }

    .clinical-split-section,
    .timeline-controls-panel,
    .no-js-note {
        display: none;
    }

    .clinical-list-section[hidden] {
        display: block;
    }

    .clinical-timeline-list,
    .clinical-timeline-list.is-current-first {
        flex-direction: column;
    }

    .phase-context-details:not([open]) > *:not(summary),
    .event-details:not([open]) > *:not(summary),
    .pending-events-panel:not([open]) > *:not(summary) {
        display: block;
    }

    .phase-context-details > summary,
    .event-details > summary,
    .pending-events-panel > summary {
        display: none;
    }

    .timeline-list-item {
        grid-template-columns: 32mm minmax(0, 1fr);
        gap: 5mm;
        border-bottom: 1px solid #bbb;
        padding: 3mm 0;
    }

    .timeline-list-card {
        border-color: #999;
        border-radius: 0;
        padding: 2mm 0;
        background: transparent;
    }

    .phase-visual-group {
        grid-template-columns: 25mm minmax(0, 1fr);
    }

    .timeline-data-stand {
        color: #000;
    }

    a[href^="http"]::after {
        content: " (" attr(href) ")";
        color: #444;
        font-size: 0.84em;
        font-weight: 500;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 900px) {
    .therapy-option-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .treatment-v2-card,
    .treatment-v2-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .treatment-v2-card-detail {
        grid-template-columns: minmax(0, 1fr);
    }

    .treatment-v2-card-middle,
    .treatment-v2-card-side {
        border-left: 0;
        border-top: 1px solid var(--line);
        padding-left: 0;
        padding-top: 16px;
    }

    .treatment-v2-treatment-panel .meta-grid.compact,
    .treatment-v2-treatment-panel .meta-grid.tiny,
    .treatment-v2-registry-panel .meta-grid.compact,
    .treatment-v2-registry-panel .meta-grid.tiny,
    .treatment-v2-access-panel .meta-grid.compact,
    .treatment-v2-access-panel .meta-grid.tiny,
    .treatment-v2-care-questions-panel .meta-grid.compact,
    .treatment-v2-care-questions-panel .meta-grid.tiny,
    .treatment-v2-evidence-questions-panel .meta-grid.compact,
    .treatment-v2-evidence-questions-panel .meta-grid.tiny {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .meta-grid.study-access-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .therapy-card-facts {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .therapy-card-link {
        justify-self: start;
    }
}

@media (max-width: 760px) {
    .app-header {
        gap: 10px;
    }

    .top-nav {
        display: none;
    }

    .mobile-nav {
        display: block;
    }

    .app-brand {
        display: grid;
        gap: 0;
    }
}

@media (max-width: 640px) {
    .status-list,
    .meta-grid,
    .meta-grid.small,
    .meta-grid.compact,
    .meta-grid.tiny,
    .therapy-card-facts,
    .therapy-status-grid,
    .label-grid,
    .treatment-patient-state-grid,
    .treatment-patient-detail-grid,
    .treatment-component-grid,
    .treatment-v2-brief-grid {
        grid-template-columns: 1fr;
    }

    .meta-grid.study-access-overview {
        grid-template-columns: 1fr;
    }

    .treatment-v2-treatment-panel .meta-grid.compact,
    .treatment-v2-treatment-panel .meta-grid.tiny,
    .treatment-v2-registry-panel .meta-grid.compact,
    .treatment-v2-registry-panel .meta-grid.tiny,
    .treatment-v2-access-panel .meta-grid.compact,
    .treatment-v2-access-panel .meta-grid.tiny,
    .treatment-v2-care-questions-panel .meta-grid.compact,
    .treatment-v2-care-questions-panel .meta-grid.tiny,
    .treatment-v2-evidence-questions-panel .meta-grid.compact,
    .treatment-v2-evidence-questions-panel .meta-grid.tiny {
        grid-template-columns: 1fr;
    }

    .eligibility-table-wrap {
        overflow-x: visible;
    }

    .eligibility-matching-table,
    .eligibility-matching-table thead,
    .eligibility-matching-table tbody,
    .eligibility-matching-table tr,
    .eligibility-matching-table th,
    .eligibility-matching-table td {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .eligibility-matching-table {
        border-collapse: separate;
        border-spacing: 0 10px;
        background: transparent;
    }

    .eligibility-matching-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .eligibility-matching-table tr {
        border: 1px solid var(--line);
        border-radius: 8px;
        background: #fff;
        overflow: hidden;
    }

    .eligibility-matching-table td {
        border-top: 1px solid var(--line);
        padding: 10px 12px;
    }

    .eligibility-matching-table td:first-child {
        border-top: 0;
    }

    .eligibility-matching-table td::before {
        display: block;
        margin-bottom: 4px;
        color: var(--muted);
        font-size: 0.78rem;
        font-weight: 800;
        text-transform: uppercase;
    }

    .eligibility-matching-table td:nth-child(1)::before {
        content: "Studienkriterium";
    }

    .eligibility-matching-table td:nth-child(2)::before {
        content: "Peters hinterlegte Daten";
    }

    .eligibility-matching-table td:nth-child(3)::before {
        content: "Vorläufiger Status / Prüfweg";
    }

    .timeline-event,
    .therapy-hero,
    .therapy-option-card,
    .treatment-v2-card,
    .treatment-v2-hero,
    .source-item,
    .therapy-source-item {
        grid-template-columns: 1fr;
    }

    .therapy-card-link {
        justify-self: stretch;
        justify-content: center;
        white-space: normal;
    }

    .therapy-filter {
        grid-template-columns: 1fr;
    }

    .filter-actions {
        align-items: stretch;
    }

    .detail-grid,
    .source-item,
    .quality-list div,
    .imaging-assessment-meta,
    .file-item {
        grid-template-columns: 1fr;
    }

    .imaging-card-summary,
    .imaging-card-details,
    .detail-grid {
        padding-inline: 14px;
    }

    .quality-details,
    .related-files {
        margin-inline: 14px;
    }

    .imaging-card-files {
        margin-inline: 0;
    }

    .imaging-details-toggle {
        width: 100%;
        justify-content: center;
    }
}

@media print {
    .meta-grid.study-access-overview {
        grid-template-columns: 1fr;
    }
}


/*hinzugefügt AR - ANFANG*/
.meta-grid{
    margin-bottom:1rem;
}
.meta-grid > div {
    background: #f4f4f4;
    padding: 0.5rem 0.5rem 0.5rem 1rem;
}

.meta-grid > div + div {
    border-left: 1px solid #f1f1f1;
}

.meta-grid > div > dt {
    border-bottom: 1px solid #dddddd;
    color: #888;
}


.treatment-chip-list li, .treatment-inline-facts li, .treatment-registry-summary-list li, .treatment-registry-overview-row, .treatment-icon-line, .treatment-care-summary-list li {

    flex-wrap: nowrap;
    align-items: start;
}

.treatment-v2-icon {
    margin-top: 0.2rem;
}

.treatment-requirement-list {
    margin-left: 1.1rem;
    padding-left:0;
    list-style-type: square;
    margin-bottom: 0.5rem;
}

.treatment-registry-description, .treatment-component-text, .treatment-requirement-list li, .treatment-access-region-list li span, .treatment-patient-overview-list li span {
    line-height: 1.25rem;
}
/*hinzugefügt AR - ENDE */

.eligibility-count-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:16px 0; }
.eligibility-page-title { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 24px; align-items:start; }
.eligibility-page-title-copy { min-width:0; }
.eligibility-page-title-copy h1 { margin-bottom:8px; }
.eligibility-page-title-copy p { margin:0; color:var(--muted); }
.eligibility-back-link,.eligibility-back-link:visited { justify-content:center; min-height:42px; margin-top:2px; border-color:var(--accent); background:var(--accent); color:#fff; text-align:center; }
.eligibility-back-link:hover,.eligibility-back-link:focus-visible { border-color:var(--accent); background:#fff; color:var(--accent); }
.eligibility-back-link:active { border-color:var(--accent); background:#eaf5f2; color:var(--accent); }
.eligibility-development-note { grid-column:1/-1; margin:0; border-left:3px solid #9bc8bf; border-radius:0 8px 8px 0; padding:10px 12px; background:#f2f8f6; color:var(--text); font-size:.88rem; line-height:1.5; }
.eligibility-count-grid > div { display:grid; gap:3px; padding:14px; border:1px solid var(--line); border-radius:10px; background:#f8faf9; }
.eligibility-count-grid strong { font-size:1.35rem; }
.eligibility-count-grid span { color:var(--muted); font-size:.88rem; }
.eligibility-table-wrap { max-width:100%; overflow-x:auto; }
.eligibility-parameter-table,.eligibility-option-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.eligibility-parameter-table th,.eligibility-parameter-table td,.eligibility-option-table th,.eligibility-option-table td { padding:12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.eligibility-parameter-table th,.eligibility-option-table th { background:#f3f6f4; color:var(--muted); font-size:.78rem; text-transform:uppercase; }
.eligibility-parameter-table details { margin-top:6px; }
.eligibility-parameter-table summary { cursor:pointer; color:var(--accent); }
.eligibility-status { display:inline-flex; padding:4px 8px; border:1px solid currentColor; border-radius:999px; font-size:.78rem; font-weight:750; color:#64552b; background:#fff8df; }
.eligibility-status.is-complete { color:#276749; background:#effaf4; }
.eligibility-status.is-open { color:#7a4d1d; background:#fff7ed; }
.eligibility-summary > a { display:grid; gap:3px; padding:14px; border:1px solid var(--line); border-radius:10px; background:#f8faf9; color:inherit; text-decoration:none; }
.eligibility-summary > a:hover { border-color:var(--accent); }
.eligibility-summary > a:focus-visible,.eligibility-quick-filters a:focus-visible,.eligibility-filter-form :focus-visible,.eligibility-source-link:focus-visible,.eligibility-parameter-table summary:focus-visible,.eligibility-option-table summary:focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent); outline-offset:3px; }
.eligibility-quick-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.eligibility-filter-form { display:grid; grid-template-columns:2fr repeat(3,minmax(150px,1fr)); gap:12px; align-items:end; }
.eligibility-filter-form label { display:grid; gap:5px; color:var(--muted); font-size:.84rem; font-weight:700; }
.eligibility-filter-form input,.eligibility-filter-form select { width:100%; min-height:42px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--text); font:inherit; }
.eligibility-filter-actions { display:flex; gap:12px; align-items:center; grid-column:1/-1; }
.eligibility-filter-actions button { border:0; border-radius:8px; padding:10px 16px; background:var(--accent); color:#fff; font:inherit; font-weight:750; cursor:pointer; }
.eligibility-parameter-group h2 small { color:var(--muted); font-size:.75rem; }
.eligibility-value { overflow-wrap:anywhere; }
.eligibility-unit { white-space:nowrap; }
.eligibility-reference,.eligibility-source-link,.eligibility-sample-note { display:block; margin-top:5px; }
.laboratory-trend { scroll-margin-top:24px; }
.eligibility-sample-note,.eligibility-reference { color:var(--muted); }
.eligibility-detail-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; margin-top:12px; }
.eligibility-detail-list > div { min-width:0; }
.eligibility-detail-list dt { color:var(--muted); font-size:.76rem; font-weight:750; text-transform:uppercase; }
.eligibility-detail-list dd { margin:3px 0 0; overflow-wrap:anywhere; }
.eligibility-criterion-kind { display:block; margin-bottom:5px; color:var(--muted); font-size:.76rem; font-weight:750; text-transform:uppercase; }
.eligibility-option-table td > strong { display:block; }
.eligibility-option-table details { margin-top:7px; }
.eligibility-used-values { margin:0; padding-left:18px; }
.eligibility-used-values li+li { margin-top:8px; }
.eligibility-used-values small { display:block; color:var(--muted); }
.eligibility-hla-review { margin:18px 0; padding:16px; border:2px solid #7c6b2c; border-radius:12px; background:#fffdf4; }
.eligibility-hla-review h3 { margin-top:0; }
@media (max-width:900px) { .eligibility-count-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) {
  .eligibility-page-title { grid-template-columns:1fr; }
  .eligibility-back-link { justify-self:stretch; width:100%; margin-top:0; }
  .eligibility-count-grid { grid-template-columns:1fr; }
  .eligibility-parameter-table,.eligibility-parameter-table tbody,.eligibility-parameter-table tr,.eligibility-parameter-table td,.eligibility-option-table,.eligibility-option-table tbody,.eligibility-option-table tr,.eligibility-option-table td { display:block; width:100%; min-width:0; }
  .eligibility-parameter-table thead,.eligibility-option-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .eligibility-parameter-table tr,.eligibility-option-table tr { margin-bottom:12px; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
  .eligibility-parameter-table td,.eligibility-option-table td { border-bottom:1px solid var(--line); }
  .eligibility-parameter-table td::before,.eligibility-option-table td::before { content:attr(data-label); display:block; margin-bottom:4px; color:var(--muted); font-size:.72rem; font-weight:750; text-transform:uppercase; }
  .eligibility-detail-list { grid-template-columns:1fr; }
}
@media (max-width:900px) { .eligibility-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .eligibility-filter-form { grid-template-columns:1fr; } .eligibility-filter-actions { grid-column:auto; flex-wrap:wrap; } }

/* Verdichtete Prüfparameter-Übersicht für die fachliche Sichtprüfung. */
.eligibility-parameter-table { table-layout:fixed; font-size:.86rem; line-height:1.35; }
.eligibility-parameter-table .col-parameter { width:20%; }
.eligibility-parameter-table .col-value { width:27%; }
.eligibility-parameter-table .col-basis { width:18%; }
.eligibility-parameter-table .col-maintenance { width:20%; }
.eligibility-parameter-table .col-status { width:15%; }
.eligibility-parameter-table th,.eligibility-parameter-table td { padding:9px 10px; }
.eligibility-main-row td { overflow-wrap:anywhere; }
.eligibility-main-row td > small,.eligibility-main-row td > a { display:block; margin-top:3px; }
.eligibility-demography { color:var(--muted); font-weight:650; }
.eligibility-detail-row td { padding:0 10px 9px; border-bottom:1px solid var(--line); }
.eligibility-detail-row details > summary { display:flex; justify-content:space-between; gap:10px; padding:7px 10px; border-radius:7px; background:#f5f7f6; color:var(--accent); cursor:pointer; font-weight:700; }
.eligibility-detail-row details > summary span { color:var(--muted); font-size:.76rem; font-weight:650; }
.eligibility-detail-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:22px; padding:16px 10px 8px; }
.eligibility-detail-content h3 { margin:0 0 8px; font-size:1rem; }
.eligibility-detail-primary,.eligibility-requirements { min-width:0; }
.eligibility-technical-id { margin-top:12px; color:var(--muted); font-size:.76rem; }
.eligibility-requirements > ul,.eligibility-more-requirements ul { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.eligibility-requirements li { display:grid; grid-template-columns:74px minmax(0,1fr); gap:2px 9px; padding:8px 9px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.eligibility-requirements li .eligibility-criterion-kind { grid-row:1/3; align-self:start; margin:0; }
.eligibility-requirements li small { color:var(--muted); }
.eligibility-more-requirements { margin-top:9px; }
.eligibility-more-requirements > summary { color:var(--accent); cursor:pointer; font-weight:700; }
@media (max-width:900px) {
  .eligibility-parameter-table { font-size:.84rem; }
  .eligibility-detail-content { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .eligibility-main-row td { padding:8px 10px; }
  .eligibility-detail-row { display:block; }
  .eligibility-detail-row td { padding:0 0 10px; }
  .eligibility-detail-row td::before { content:none; }
  .eligibility-detail-row details > summary { margin:0 8px; }
  .eligibility-detail-content { padding:14px 10px 6px; }
  .eligibility-requirements li { grid-template-columns:66px minmax(0,1fr); }
}

/* Pilot: einheitliche Abstände, Klappmarkierungen und Kriterien-Tabellen. */
.tpv-preview__understanding h1 { font-size:clamp(2rem,4vw,2.6rem); }
.tpv-preview__section { padding:clamp(1.15rem,2vw,1.55rem); }
.tpv-preview .tpv-preview__comparison-head { padding:.65rem 1rem; }
.tpv-preview .tpv-preview__comparison-row > summary { padding:.78rem 1rem; }
.tpv-preview__documented > summary,
.tpv-preview__accordion > summary,
.tpv-preview__all-requirements > summary { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.65rem; align-items:center; list-style:none; }
.tpv-preview__documented > summary::-webkit-details-marker,
.tpv-preview__accordion > summary::-webkit-details-marker,
.tpv-preview__all-requirements > summary::-webkit-details-marker { display:none; }
.tpv-preview__documented > summary::before,
.tpv-preview__accordion > summary::before,
.tpv-preview__all-requirements > summary::before { content:"▸"; color:#aab2bc; font-size:.9rem; line-height:1; }
.tpv-preview__documented[open] > summary::before,
.tpv-preview__accordion[open] > summary::before,
.tpv-preview__all-requirements[open] > summary::before { content:"▾"; }
.tpv-preview__all-requirements { margin-top:1rem; border-top:1px solid var(--line); padding-top:.65rem; }
.tpv-preview__all-requirements > summary > span { display:flex; justify-content:space-between; gap:1rem; align-items:baseline; }
.tpv-preview__all-requirements > summary small { color:var(--muted); font-weight:400; }
.tpv-preview__criteria-groups { display:grid; gap:1.15rem; margin-top:1rem; }
.tpv-preview__criteria-group { min-width:0; }
.tpv-preview__criteria-group > h3 { display:flex; justify-content:space-between; gap:1rem; margin:0 0 .4rem; color:var(--muted); font-size:.82rem; font-weight:650; letter-spacing:.025em; }
.tpv-preview__criteria-group > h3 small { font-weight:400; }
.tpv-preview__criteria-table { overflow:hidden; border:1px solid #e5e8ec; border-radius:8px; background:#fff; }
.tpv-preview__criteria-head,
.tpv-preview__criteria-table .tpv-preview__criterion > summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; align-items:center; }
.tpv-preview__criteria-head { padding:.6rem 1rem; background:#fafbfc; color:var(--muted); font-size:.72rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.tpv-preview__criteria-table .tpv-preview__criterion { margin:0; border:0; border-top:1px solid #eceef1; border-radius:0; }
.tpv-preview__criteria-table .tpv-preview__criterion > summary { padding:.72rem 1rem; font-weight:400; list-style:none; }
.tpv-preview__criteria-table .tpv-preview__criterion > summary > span:first-child { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.45rem; align-items:center; }
.tpv-preview__criteria-table .tpv-preview__criterion > summary > span:first-child::before { content:"▸"; color:#b3bac3; font-size:.78rem; }
.tpv-preview__criteria-table .tpv-preview__criterion[open] > summary > span:first-child::before { content:"▾"; }
.tpv-preview__criteria-table .tpv-preview__criterion > summary strong { font-weight:600; }
.tpv-preview__criteria-table .tpv-preview__criterion > summary > span:last-child { justify-self:stretch; }
.tpv-preview__criteria-table .tpv-preview__criterion-detail { padding:.85rem 1rem; }
@media (max-width:620px) {
  .tpv-preview__section { padding:1rem; }
  .tpv-preview__criteria-head { display:none; }
  .tpv-preview__criteria-table .tpv-preview__criterion > summary { grid-template-columns:1fr; gap:.4rem; }
  .tpv-preview__all-requirements > summary > span { display:grid; gap:.15rem; }
  .tpv-preview__criteria-group > h3 { align-items:baseline; }
}

/* Klinische Studien: ruhige Prüf- und Leseansicht im bestehenden Dossierstil. */
.study-overview-hero { margin-bottom:16px; }
.treatment-parameter-access { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; margin-top:14px; border-top:1px solid var(--line); padding-top:12px; }
.treatment-parameter-access p { flex:1 1 28rem; margin:0; color:var(--muted); font-size:.9rem; }
.treatment-parameter-access .button-link { flex:0 0 auto; }
.study-overview-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:16px; scroll-margin-top:24px; }
.study-overview-summary > div { display:grid; gap:2px; border:1px solid var(--line); border-radius:8px; padding:12px 14px; background:var(--panel); }
.study-overview-summary > div.has-warning { border-color:#f0cf94; background:#fffaf0; }
.study-overview-summary strong { font-size:1.35rem; }
.study-overview-summary span { color:var(--muted); font-size:.86rem; }
.study-list { display:grid; gap:10px; }
.study-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; border:1px solid var(--line); border-radius:10px; padding:18px; background:var(--panel); }
.study-card.is-dimmed { border-color:#dfe3e1; background:#f7f8f7; opacity:.78; }
.study-card.is-dimmed:focus-within { opacity:1; }
.study-card.is-editorially-unreviewed { border-color:#cfd5d2; background:#f3f5f4; color:#4f5754; opacity:1; }
.study-card.is-editorially-unreviewed .study-card-subtitle,
.study-card.is-editorially-unreviewed .study-card-indications,
.study-card.is-editorially-unreviewed .study-card-summary,
.study-card.is-editorially-unreviewed .study-registry-line { color:#626a67; }
.study-card.is-editorially-unreviewed .study-card-tags span { border-color:#d4d8d6; background:#fafbfa; color:#59615e; }
.editorial-review-label { display:inline-flex; margin:0 0 7px; border:1px solid #9ba5a1; border-radius:999px; padding:4px 9px; background:#e7eae8; color:#303633; font-size:.76rem; font-weight:800; }
.editorial-review-note { max-width:76ch; margin:11px 0 0; border-left:3px solid #8d9893; padding-left:10px; color:#454c49; font-size:.86rem; font-weight:650; }
.study-card-main { min-width:0; }
.study-card-heading { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.study-card-heading > .status-label { flex:0 0 auto; min-width:8.5rem; justify-content:center; text-align:center; }
.study-card-heading h2 { margin:2px 0 6px; font-size:1.16rem; overflow-wrap:anywhere; }
.study-registry-line { margin:0; color:var(--muted); font-size:.78rem; font-weight:700; }
.study-card-subtitle { display:-webkit-box; max-width:72ch; margin:0; overflow:hidden; color:var(--muted); font-size:.86rem; line-height:1.38; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.study-card-title { margin:0 0 5px; color:var(--text); font-size:.92rem; line-height:1.38; }
.study-card-indications { margin:0; color:var(--muted); font-size:.84rem; }
.study-card-summary { display:-webkit-box; max-width:76ch; margin:10px 0 0; overflow:hidden; color:var(--muted); font-size:.9rem; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.study-card-tags,.study-tag-row { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.study-card-tags span,.study-tag-row span { display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:999px; padding:4px 9px; background:#fff; color:var(--muted); font-size:.78rem; font-weight:700; }
.study-card-tags span.warning { border-color:#f0cf94; background:var(--warning-bg); color:var(--warning); }
.treatment-marker-tags { margin-top:7px; }
.treatment-marker-tags span { border-color:#cbded9; background:#f3faf8; color:#365f56; }
.study-card-link { margin:0; white-space:nowrap; }
.study-detail-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:start; margin-bottom:18px; }
.study-detail-hero h1 { margin:0; overflow-wrap:anywhere; }
.study-detail-hero .lead { margin-bottom:10px; }
.study-hero-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.study-title-line { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.study-quick-facts { margin-bottom:18px; }
.study-quick-facts h2 { margin-bottom:10px; font-size:1.12rem; }
.study-quick-facts p { margin:7px 0; border:1px solid #eadfd9; border-radius:9px; padding:10px 13px; background:#fffaf8; }
.study-content-section { margin-bottom:12px; }
.treatment-routine-care-note { margin-top:14px; border-left:3px solid #8aa9a2; padding:9px 11px; background:#f5f8f7; color:var(--text); }
.treatment-development-status { margin-bottom:12px; border-color:#aecbc5; background:#f4faf8; }
.treatment-development-status .eyebrow { margin-bottom:5px; }
.treatment-development-status h2 { margin:0 0 14px; color:var(--text); font-size:1.22rem; }
.treatment-development-status__text { max-width:82ch; color:var(--text); line-height:1.62; overflow-wrap:anywhere; }
.treatment-development-status__source { display:flex; flex-wrap:wrap; gap:7px 14px; align-items:baseline; margin:16px 0 0; border-top:1px solid #cbded9; padding-top:12px; }
.treatment-development-status__source a { color:var(--accent); font-weight:800; overflow-wrap:anywhere; }
.treatment-development-status__source a:focus-visible { outline:3px solid rgba(20,108,99,.32); outline-offset:3px; }
.treatment-development-status__source span { color:var(--muted); font-size:.84rem; }
.study-content-section > summary { display:flex; justify-content:space-between; gap:12px; align-items:center; cursor:pointer; list-style:none; color:var(--accent); font-size:1.12rem; font-weight:800; }
.study-content-section > summary::-webkit-details-marker { display:none; }
.study-content-section > summary::after { content:"▾"; color:var(--muted); }
.study-content-section:not([open]) > summary::after { content:"▸"; }
.study-content-section > summary > span { color:var(--muted); font-size:.82rem; }
.study-content-section[open] > summary { margin-bottom:18px; }
.study-meta-line { display:flex; flex-wrap:wrap; gap:18px 30px; margin:18px 0 0; border-top:1px solid var(--line); padding-top:13px; }
.study-meta-line div { display:flex; gap:6px; }
.study-meta-line dt { color:var(--muted); }
.study-meta-line dd { margin:0; font-weight:700; }
.study-language-note { display:inline-flex; margin-bottom:10px; border-radius:999px; padding:3px 8px; background:#f1f3f5; color:var(--muted); font-size:.78rem; font-weight:700; }
.study-two-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.study-two-column h3 { margin-top:0; }
.study-criteria-list { display:grid; gap:8px; margin:0; padding-left:1.35rem; }
.study-criteria-list li { padding-left:3px; }
.study-criteria-list p { margin:0; }
.study-criteria-list li + li { padding-top:8px; border-top:1px solid #eceff2; }
.study-inline-details { margin-top:5px; }
.study-inline-details summary { width:fit-content; cursor:pointer; color:var(--accent); font-size:.8rem; font-weight:700; }
.study-inline-details p { margin-top:7px; color:var(--muted); font-size:.88rem; }
.study-timeframe { margin-top:4px !important; color:var(--muted); font-size:.8rem; font-weight:700; }
.study-eligibility-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 20px; }
.study-eligibility-meta > div { border:1px solid var(--line); border-radius:8px; padding:9px 11px; background:#f9fafb; }
.study-original-block { max-height:34rem; overflow:auto; border:1px solid var(--line); border-radius:8px; padding:14px; background:#fbfcfd; font-size:.9rem; line-height:1.5; overflow-wrap:anywhere; }
.study-component-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:9px; }
.study-component-list article { border:1px solid var(--line); border-radius:8px; padding:11px; }
.study-component-list h3,.study-component-list p { margin:0; }
.study-component-list p { margin-top:5px; color:var(--muted); font-size:.88rem; }
.study-location-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:10px; }
.study-location-list article { min-width:0; border:1px solid var(--line); border-radius:8px; padding:12px; background:#fff; }
.study-location-list h3 { margin:0 0 5px; }
.study-location-list p { margin:0; font-size:.88rem; overflow-wrap:anywhere; }
.study-source-row { display:flex; justify-content:space-between; gap:16px; align-items:center; }
.study-source-row + .study-source-row { margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
.study-source-row div { display:grid; gap:2px; }
.study-source-row span { color:var(--muted); font-size:.84rem; }
.study-review-panel { padding:0; overflow:hidden; }
.study-review-panel.has-open-issues { border-color:#f0cf94; }
.study-review-panel > summary { display:flex; justify-content:space-between; gap:12px; align-items:center; cursor:pointer; list-style:none; padding:16px 20px; font-weight:800; }
.study-review-panel > summary::-webkit-details-marker { display:none; }
.study-review-panel > summary::before { content:"▸"; color:var(--muted); }
.study-review-panel[open] > summary::before { content:"▾"; }
.study-review-panel > summary > span:first-of-type { flex:1; }
.study-review-panel > p,.study-issue-list { margin:0; border-top:1px solid var(--line); padding:16px 20px; }
.study-issue-list { display:grid; gap:10px; }
.study-issue-list article { border:1px solid #f0cf94; border-radius:8px; padding:13px; background:#fffaf0; }
.study-issue-list header { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.study-issue-list h3 { margin:2px 0 8px; }
.study-codex-label { color:var(--warning); font-size:.74rem; font-weight:800; text-transform:uppercase; }
.study-source-comparison { margin:8px 0 0; padding-left:1.2rem; }
.study-source-comparison li + li { margin-top:4px; }
.study-card a:focus-visible,.study-detail-hero a:focus-visible,.study-source-panel a:focus-visible,.study-review-panel summary:focus-visible,.study-inline-details summary:focus-visible { outline:3px solid rgba(20,108,99,.32); outline-offset:3px; }
.treatment-filter-form { margin-bottom:16px; padding:0; overflow:hidden; scroll-margin-top:20px; }
.treatment-filter-primary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:16px 18px 0; }
.treatment-filter-panel { border-top:1px solid var(--line); }
.treatment-filter-panel > summary { display:flex; gap:10px; align-items:baseline; cursor:pointer; list-style:none; padding:16px 18px; color:var(--accent); }
.treatment-filter-panel > summary::-webkit-details-marker { display:none; }
.treatment-filter-panel > summary::before { content:"▸"; color:var(--muted); font-size:.9rem; }
.treatment-filter-panel[open] > summary::before { content:"▾"; }
.treatment-filter-panel > summary strong { font-size:1.05rem; }
.treatment-filter-title-open { display:none; }
.treatment-filter-panel[open] .treatment-filter-title-closed { display:none; }
.treatment-filter-panel[open] .treatment-filter-title-open { display:inline; }
.treatment-filter-panel[open] > summary { border-bottom:1px solid var(--line); }
.treatment-filter-panel:not([open]) > .treatment-filter-content { display:none; }
.treatment-filter-content { display:grid; gap:14px; padding:16px 18px 18px; }
.treatment-facet-note { margin:0; color:var(--muted); font-size:.8rem; }
.treatment-patient-legend { display:flex; gap:8px; align-items:center; margin:0; color:var(--text); font-size:.82rem; font-weight:700; }
.treatment-patient-legend > span { width:1.25rem; height:1.25rem; flex:0 0 auto; border:1px solid #ead58b; border-radius:5px; background:#fff8d9; }
.treatment-filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.treatment-filter-group { min-width:0; margin:0; border:1px solid var(--line); border-radius:9px; padding:10px 12px 12px; }
.treatment-filter-group legend { display:grid; gap:1px; max-width:calc(100% - 10px); padding:0 5px; }
.treatment-filter-group legend small { color:#899098; font-size:.67rem; font-weight:750; letter-spacing:.025em; line-height:1.2; text-transform:uppercase; }
.treatment-filter-group legend span { color:var(--text); font-size:.84rem; font-weight:800; }
.treatment-filter-group-note { margin:0 0 9px; color:var(--muted); font-size:.78rem; line-height:1.4; }
.treatment-filter-options { display:grid; gap:7px; max-height:12.5rem; overflow:auto; padding-right:3px; }
.treatment-filter-options label { display:flex; gap:7px; align-items:flex-start; border:1px solid transparent; border-radius:6px; padding:3px 4px; color:var(--text); font-size:.82rem; line-height:1.3; }
.treatment-filter-options label.is-patient-value { border-color:#ead58b; background:#fff8d9; }
.treatment-filter-options input { flex:0 0 auto; margin-top:2px; }
.treatment-filter-option-label { display:flex; flex:1 1 auto; min-width:0; gap:8px; align-items:flex-start; justify-content:space-between; }
.treatment-filter-option-text { min-width:0; overflow-wrap:anywhere; }
.treatment-filter-count { display:inline-flex; flex:0 0 auto; min-width:1.8rem; min-height:1.35rem; align-items:center; justify-content:center; border-radius:999px; padding:1px 6px; background:#eef1f2; color:#667078; font-size:.72rem; font-variant-numeric:tabular-nums; font-weight:750; line-height:1; }
.treatment-filter-control-card label { display:block; }
.treatment-filter-control-card input,.treatment-filter-control-card select { width:100%; min-height:44px; border:1px solid var(--line); border-radius:8px; padding:9px 11px; background:#fff; color:var(--text); font:inherit; }
.treatment-filter-internal { border:1px solid #cbded9; border-radius:9px; padding:13px; background:#f4f9f7; }
.treatment-filter-internal > p { margin:0; color:var(--muted); font-size:.82rem; }
.treatment-filter-switches { display:grid; gap:8px; margin-top:12px; }
.treatment-filter-switches label { display:flex; gap:8px; align-items:flex-start; font-size:.84rem; }
.treatment-filter-actions { display:flex; flex-wrap:wrap; gap:14px; align-items:center; border-top:1px solid var(--line); padding-top:14px; }
.treatment-filter-actions-primary { margin:14px 18px 16px; }
.treatment-filter-actions button { border:0; border-radius:8px; padding:10px 16px; background:var(--accent); color:#fff; font:inherit; font-weight:800; cursor:pointer; }
.treatment-filter-actions a { color:var(--accent); font-weight:750; }
.treatment-filter-chips { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 16px; }
.treatment-filter-chips span { border:1px solid #cbded9; border-radius:999px; padding:5px 9px; background:#f3faf8; color:var(--text); font-size:.78rem; }
.treatment-empty-state { text-align:center; }
.treatment-empty-state .button-link { margin-top:8px; }
.treatment-work-priority { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:0 0 6px; color:#7b5f00; }
.treatment-work-priority > span { font-size:1rem; letter-spacing:.04em; }
.treatment-work-priority small { color:var(--muted); font-size:.72rem; font-weight:750; }
.study-card.has-diagnostic-data { align-items:start; }
.treatment-diagnostic-panel { margin-top:14px; border:1px dashed #91aaa4; border-radius:8px; padding:10px 12px; background:#f7fbfa; }
.treatment-diagnostic-panel > summary { cursor:pointer; color:var(--accent); font-size:.84rem; font-weight:800; }
.treatment-diagnostic-panel[open] > summary { margin-bottom:12px; }
.treatment-diagnostic-panel dl { display:grid; gap:7px; margin:0; }
.treatment-diagnostic-panel dl div { display:grid; grid-template-columns:minmax(135px,.35fr) minmax(0,1fr); gap:10px; border-bottom:1px solid #dce8e5; padding-bottom:6px; }
.treatment-diagnostic-panel dt { color:var(--muted); font-size:.76rem; font-weight:800; }
.treatment-diagnostic-panel dd { margin:0; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.76rem; overflow-wrap:anywhere; }
.treatment-diagnostic-panel h3 { margin:14px 0 6px; font-size:.84rem; }
.treatment-diagnostic-panel p,.treatment-diagnostic-panel li { font-size:.78rem; }
.treatment-diagnostic-panel pre { max-height:15rem; overflow:auto; margin:0; border-radius:6px; padding:9px; background:#eef4f2; font-size:.72rem; white-space:pre-wrap; }
.treatment-filter-form :focus-visible,.treatment-filter-panel > summary:focus-visible,.treatment-diagnostic-panel summary:focus-visible,.treatment-option-unreviewed a:focus-visible { outline:3px solid rgba(20,108,99,.32); outline-offset:3px; }
.treatment-option-unreviewed { max-width:58rem; }
.treatment-option-unreviewed h1 { margin-top:0; }
@media(max-width:980px) {
    .study-card { grid-template-columns:minmax(0,1fr) auto; }
    .treatment-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
    .study-overview-summary,.study-card,.study-two-column,.study-eligibility-meta { grid-template-columns:1fr; }
    .study-detail-hero { grid-template-columns:1fr; }
    .study-hero-actions { justify-content:flex-start; }
    .study-source-row { display:grid; }
    .treatment-filter-primary-grid { grid-template-columns:1fr; }
    .treatment-filter-switches { grid-template-columns:1fr; }
}
@media(max-width:460px) {
    .study-overview-summary { grid-template-columns:1fr; }
    .study-card-heading { display:grid; }
    .study-hero-actions .button-link { width:100%; justify-content:center; }
    .treatment-filter-grid { grid-template-columns:1fr; }
    .treatment-filter-control-card input,.treatment-filter-control-card select { padding-inline:9px 26px; font-size:.82rem; }
    .treatment-filter-actions { display:grid; grid-template-columns:1fr; align-items:stretch; }
    .treatment-filter-actions button,.treatment-filter-actions a { width:100%; text-align:center; }
    .treatment-diagnostic-panel dl div { grid-template-columns:1fr; gap:3px; }
}

/* Public-webroot phase 1: login and authenticated session controls. */
.auth-page { min-height:100vh; }
.auth-shell { display:grid; min-height:100vh; place-items:center; padding:24px 16px; }
.auth-card { width:min(100%,28rem); border:1px solid var(--line); border-radius:14px; padding:clamp(22px,5vw,38px); background:var(--panel); box-shadow:0 14px 38px rgba(32,36,42,.08); }
.auth-card h1 { margin:3px 0 8px; }
.auth-intro { margin:0 0 22px; color:var(--muted); }
.auth-error { margin:0 0 16px; border:1px solid #e2b7ae; border-radius:8px; padding:10px 12px; background:#fff5f3; color:#7c2f24; }
.auth-form { display:grid; gap:16px; }
.auth-form label { display:grid; gap:6px; color:var(--text); font-weight:750; }
.auth-field { display:grid; gap:6px; }
.auth-form input { width:100%; min-height:44px; border:1px solid var(--line); border-radius:8px; padding:9px 11px; background:#fff; color:var(--text); font:inherit; }
.auth-password-field { position:relative; display:block; }
.auth-password-field input { padding-right:52px; }
.auth-password-toggle { position:absolute; top:50%; right:1px; display:inline-flex; width:44px; min-height:42px; align-items:center; justify-content:center; border:0; border-radius:7px; padding:0; background:transparent; color:var(--muted); cursor:pointer; transform:translateY(-50%); }
.auth-password-toggle[hidden] { display:none; }
.auth-password-toggle:hover { color:var(--accent); }
.auth-password-icon { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.auth-password-icon-hide { display:none; }
.auth-password-toggle[aria-pressed="true"] .auth-password-icon-show { display:none; }
.auth-password-toggle[aria-pressed="true"] .auth-password-icon-hide { display:block; }
.auth-form button { min-height:44px; border:1px solid var(--accent); border-radius:8px; padding:9px 16px; background:var(--accent); color:#fff; font:inherit; font-weight:800; cursor:pointer; }
.auth-form input:focus-visible,.auth-form button:focus-visible,.app-session-logout:focus-visible { outline:3px solid #74b8ae; outline-offset:3px; }
.auth-form .auth-password-toggle { border:0; padding:0; background:transparent; color:var(--muted); font-weight:400; }
.auth-form .auth-password-toggle:hover { background:transparent; color:var(--accent); }
.app-header { grid-template-columns:minmax(0,1fr) auto; }
.app-header > .top-nav,.app-header > .mobile-nav { grid-column:1 / -1; }
.app-session { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; justify-content:flex-end; color:var(--muted); font-size:.82rem; }
.app-session form { margin:0; }
.language-switcher { display:inline-flex; gap:4px; align-items:center; }
.language-switcher a { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border:1px solid transparent; border-radius:6px; opacity:.68; text-decoration:none; line-height:1; }
.language-switcher a:hover,.language-switcher a:focus-visible { opacity:1; }
.language-switcher a:focus-visible { outline:3px solid #74b8ae; outline-offset:2px; }
.language-switcher a[aria-current="page"] { border-color:var(--line); background:#eef5f3; opacity:1; }
.language-switcher span { font-size:1.05rem; line-height:1; }
.app-session-logout { border:1px solid var(--accent); border-radius:8px; padding:6px 9px; background:#fff; color:var(--accent); font:inherit; font-weight:750; cursor:pointer; }
.app-session-logout:hover,.app-session-logout:active { background:#eaf5f2; }
@media(max-width:760px) {
    .app-header { grid-template-columns:1fr; }
    .app-session { grid-row:3; justify-content:flex-start; }
    .app-header > .mobile-nav { grid-column:1; grid-row:2; }
}
