/* CTS clinical interpretation v2. Load AFTER style.css. Scoped to this calculator. */
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;600;700&display=swap');
body.cts-clinical-ui {
    --cts-bg: #f2f5f7; --cts-surface: #fff; --cts-alt: #f0f6f7;
    --cts-text: #18313d; --cts-muted: #48616d; --cts-border: #cbd9df;
    --cts-accent: #086777; --cts-warn: #80501f;
    --cts-s: .5rem; --cts-m: 1rem; --cts-l: 1.5rem; --cts-xl: 2rem;
    --cts-small: .875rem; --cts-base: 1rem; --cts-heading: 1.25rem;
    font-family: 'Source Sans 3', sans-serif; font-size: var(--cts-base);
    color: var(--cts-text); background: var(--cts-bg); line-height: 1.55;
    color-scheme: light;
}
@media (prefers-color-scheme: dark) {
    body.cts-clinical-ui:not([data-cts-theme="light"]) {
        --cts-bg:#101e26; --cts-surface:#182b35; --cts-alt:#1c3742;
        --cts-text:#e6f0f4; --cts-muted:#b3c8d2; --cts-border:#42606d;
        --cts-accent:#80d1dc; --cts-warn:#edc594; color-scheme:dark;
    }
}
body.cts-clinical-ui[data-cts-theme="dark"] {
    --cts-bg:#101e26; --cts-surface:#182b35; --cts-alt:#1c3742;
    --cts-text:#e6f0f4; --cts-muted:#b3c8d2; --cts-border:#42606d;
    --cts-accent:#80d1dc; --cts-warn:#edc594; color-scheme:dark;
}
.cts-clinical-ui .container { max-width:1160px; padding:var(--cts-xl) var(--cts-l); }
.cts-clinical-ui .header { position:relative; text-align:left; margin:0 0 var(--cts-l); padding:0; }
.cts-clinical-ui .header h1 { font-size:clamp(1.5rem, 2.8vw, 2rem); color:var(--cts-text); margin:0; }
.cts-clinical-ui .header h2 { font-size:var(--cts-heading); color:var(--cts-accent); margin:0; }
.cts-clinical-ui .header .subtitle { color:var(--cts-muted); font-size:var(--cts-base); margin:var(--cts-s) 0; }
.cts-clinical-ui .card { background:var(--cts-surface); color:var(--cts-text); border:1px solid var(--cts-border); box-shadow:none; border-radius:12px; margin-bottom:var(--cts-m); }
.cts-clinical-ui .card__header { background:transparent; color:var(--cts-text); padding:var(--cts-m) var(--cts-l); border-bottom:1px solid var(--cts-border); }
.cts-clinical-ui .card__body { padding:var(--cts-l); }
.cts-clinical-ui h3 { font-size:var(--cts-heading); }
.cts-clinical-ui h3, .cts-clinical-ui h4, .cts-clinical-ui .form-label { color:var(--cts-text); }
.cts-clinical-ui .help-text, .cts-clinical-ui .indicator-text { color:var(--cts-muted); }
.cts-clinical-ui .calculator-sections { display:grid; grid-template-columns:1.45fr 1fr; gap:var(--cts-m); }
.cts-clinical-ui .form-grid { display:grid; grid-template-columns:1fr; gap:var(--cts-m); }
.cts-clinical-ui .form-group { margin:0; }
.cts-clinical-ui .error-message:empty { min-height:0; height:0; margin:0; }
.cts-clinical-ui .form-control { background:var(--cts-bg); color:var(--cts-text); border:1px solid var(--cts-border); border-radius:6px; padding:.65rem .8rem; }
.cts-clinical-ui .form-control::placeholder { color:var(--cts-muted); }
.cts-clinical-ui .button-group { justify-content:flex-start; margin:0 0 var(--cts-l); }
.cts-clinical-ui .btn--primary { background:#086777; color:#fff; border-color:#086777; }
.cts-clinical-ui .btn--outline { background:var(--cts-surface); color:var(--cts-text); border-color:var(--cts-border); }
.cts-clinical-ui .probability-value { color:var(--cts-accent); font-size:2.5rem; }
.cts-clinical-ui .probability-label { color:var(--cts-muted); }
.cts-clinical-ui .model-info-card { background:var(--cts-surface); color:var(--cts-text); margin:var(--cts-m) 0 0; }
.cts-clinical-ui .model-info-card p, .cts-clinical-ui .model-info-card h4,
.cts-clinical-ui .model-info-card h3 { color:var(--cts-text); }
.cts-clinical-ui .model-item { background:var(--cts-alt); border-color:var(--cts-border); }
.cts-clinical-ui .model-note { color:var(--cts-text); background:var(--cts-alt); }
.cts-clinical-ui .badge { background:var(--cts-alt); color:var(--cts-text); border:1px solid var(--cts-border); }
.cts-clinical-ui .disclaimer { margin-top:var(--cts-m); font-size:var(--cts-small); }
.cts-clinical-ui .footer, .cts-clinical-ui .terms-of-use { color:var(--cts-muted); }
.cts-theme { background:var(--cts-surface); border:1px solid var(--cts-border); color:var(--cts-muted); border-radius:6px; padding:.35rem .7rem; font:inherit; cursor:pointer; margin-top:var(--cts-s); }
.cts-workflow { margin:var(--cts-l) 0; padding:var(--cts-l); background:var(--cts-surface); border:1px solid var(--cts-border); border-radius:12px; color:var(--cts-text); overflow-wrap:anywhere; }
.cts-workflow *, .cts-workflow *::before { box-sizing:border-box; }
.cts-workflow h3 { margin:0; font-size:clamp(1.25rem,2vw,1.5rem); }
.cts-workflow h4 { font-size:var(--cts-heading); margin:0 0 var(--cts-s); line-height:1.3; }
.cts-workflow h5 { font-size:var(--cts-base); margin:var(--cts-m) 0 var(--cts-s); }
.cts-workflow p { margin:var(--cts-s) 0 var(--cts-m); }
.cts-eyebrow { text-transform:uppercase; letter-spacing:.08em; font-size:.75rem; font-weight:700; color:var(--cts-muted); margin:0 0 var(--cts-s); display:block; }
.cts-workflow__intro, .cts-workflow__values, .cts-workflow__note { color:var(--cts-muted); }
.cts-workflow__estimate { margin:var(--cts-l) 0 var(--cts-m); }
.cts-workflow__status { font-size:var(--cts-heading); font-weight:600; font-variant-numeric:tabular-nums; }
.cts-workflow__values, .cts-workflow__note { font-size:var(--cts-small); }
.cts-workflow__categories { list-style:none; padding:0; margin:0 0 var(--cts-xl); display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--cts-s); }
.cts-workflow__category { border-top:3px solid var(--cts-border); background:var(--cts-bg); padding:var(--cts-m); border-radius:0 0 6px 6px; }
.cts-workflow__category h5 { margin:0 0 .25rem; }
.cts-workflow__category p { margin:0; font-size:var(--cts-small); }
.cts-workflow__category.is-active { border-color:var(--cts-accent); background:var(--cts-alt); }
.cts-workflow__selected { display:block; color:var(--cts-accent); font-weight:700; font-size:.75rem; margin-bottom:.25rem; }
.cts-workflow__body { display:grid; grid-template-columns:1.1fr 1fr; gap:var(--cts-xl); align-items:start; }
.cts-clinical__items { margin-top:var(--cts-l); }
.cts-clinical__item { display:grid; grid-template-columns:minmax(0,1fr) 125px; gap:var(--cts-m); align-items:center; border-top:1px solid var(--cts-border); padding:var(--cts-m) 0; }
.cts-clinical__item label { display:block; font-weight:600; }
.cts-clinical__item small { display:block; color:var(--cts-muted); font-size:.8rem; line-height:1.4; margin-top:.25rem; }
.cts-clinical__item select { width:100%; padding:.6rem .4rem; border:1px solid var(--cts-border); border-radius:6px; background:var(--cts-surface); color:var(--cts-text); font:inherit; font-size:var(--cts-small); }
.cts-clinical__score { padding:var(--cts-m); background:var(--cts-alt); border-radius:8px; margin-top:var(--cts-s); }
.cts-clinical__score strong { display:block; font-size:1.5rem; font-variant-numeric:tabular-nums; }
.cts-clinical__score p { margin:var(--cts-s) 0; }
.cts-reading { border-left:1px solid var(--cts-border); padding-left:var(--cts-xl); }
.cts-next-steps { margin:var(--cts-s) 0 var(--cts-m); padding-left:1.2rem; }
.cts-next-steps li { margin-bottom:var(--cts-s); }
.cts-workflow a { color:var(--cts-accent); text-decoration:underline; text-underline-offset:3px; font-size:var(--cts-small); }
.cts-workflow__warning { border-left:3px solid var(--cts-warn); padding:var(--cts-s) var(--cts-m); color:var(--cts-warn); font-size:var(--cts-small); }
.cts-injection { margin-top:var(--cts-l); border:1px solid var(--cts-border); border-radius:8px; padding:var(--cts-m); }
.cts-injection.is-relevant { border-color:var(--cts-accent); background:var(--cts-alt); }
.cts-injection summary { color:var(--cts-accent); }
.cts-injection p { font-size:var(--cts-small); }
.cts-evidence { margin-top:var(--cts-l); border-top:1px solid var(--cts-border); padding-top:var(--cts-m); font-size:var(--cts-small); }
.cts-workflow summary, .cts-research-comparators summary, .cts-model-methods summary { cursor:pointer; font-weight:600; }
.cts-research-comparators, .cts-model-methods { padding:var(--cts-m); margin-bottom:var(--cts-l); border:1px solid var(--cts-border); border-radius:8px; color:var(--cts-muted); background:var(--cts-surface); }
.cts-research-comparators .card { margin-top:var(--cts-m); }
.cts-workflow [hidden], .cts-workflow-legacy { display:none !important; }
.cts-clinical-ui :is(button,select,input,summary,a):focus-visible { outline:3px solid var(--cts-accent); outline-offset:3px; }
@media (max-width:760px) {
    .cts-clinical-ui .container { padding:var(--cts-m); }
    .cts-clinical-ui .calculator-sections, .cts-workflow__body { grid-template-columns:1fr; }
    .cts-clinical-ui .card__body, .cts-clinical-ui .card__header, .cts-workflow { padding:var(--cts-m); }
    .cts-reading { border-left:0; border-top:1px solid var(--cts-border); padding:var(--cts-l) 0 0; }
    .cts-workflow__categories { grid-template-columns:1fr; gap:.35rem; }
    .cts-workflow__category { padding:.65rem var(--cts-m); }
    .cts-workflow__category:not(.is-active) p { display:none; }
    .cts-clinical__item { grid-template-columns:minmax(0,1fr) 112px; gap:var(--cts-s); }
}
@media (max-width:480px) {
    .cts-clinical__item { grid-template-columns:1fr; }
    .cts-clinical__item select { font-size:1rem; min-height:44px; }
}
@media print {
    body.cts-clinical-ui { --cts-bg:#fff; --cts-surface:#fff; --cts-alt:#f1f5f6; --cts-text:#152c38; --cts-muted:#384f5a; --cts-border:#bbcbd2; --cts-accent:#085764; color:#152c38; background:#fff; font-size:10pt; }
    .cts-clinical-ui .container { max-width:none; padding:0; }
    .cts-clinical-ui .header { margin-bottom:12pt; page-break-after:auto; break-after:auto; }
    .cts-clinical-ui .header h1 { font-size:20pt; }
    .cts-clinical-ui .card, .cts-workflow { box-shadow:none; break-inside:auto; page-break-inside:auto; }
    .cts-clinical-ui .result-card { break-inside:avoid; page-break-inside:avoid; }
    .cts-clinical-ui .calculator-sections, .cts-workflow__body { display:block; }
    .cts-clinical-ui .section-card, .cts-clinical__item, .cts-clinical__score, .cts-workflow__category { break-inside:avoid; page-break-inside:avoid; }
    .cts-clinical-ui .card__body, .cts-clinical-ui .card__header { padding:10pt; }
    .cts-clinical-ui .form-grid { gap:6pt; }
    .cts-clinical-ui .button-group, .cts-theme, .cts-clinical-ui .terms-of-use, .cts-clinical-ui .disclaimer, .cts-model-methods, .cts-research-comparators:not([open]) { display:none !important; }
    .cts-workflow { padding:12pt; margin:12pt 0; }
    .cts-reading { margin-top:16pt; padding:12pt 0 0; border-left:0; border-top:1px solid var(--cts-border); }
    .cts-workflow__categories { display:grid; grid-template-columns:repeat(3,1fr); }
    .cts-workflow h3, .cts-workflow h4 { break-after:avoid; }
    .cts-workflow summary { list-style:none; }
}
