.ct-shell{--ct-line:color-mix(in srgb,var(--ink,#163436) 17%,transparent);--ct-tint:color-mix(in srgb,var(--teal,#087c79) 7%,var(--surface,#fff));font-size:1rem;line-height:1.6}
.ct-heading p:last-child{max-width:65ch;color:var(--muted,#496568)}
.ct-tabs{display:flex;gap:.55rem;flex-wrap:wrap;margin:1rem 0 1.5rem}
.ct-tabs a,.ct-tabs button{padding:.55rem .95rem;border:1px solid var(--ct-line);border-radius:100px;text-decoration:none;font-weight:650;color:var(--ink,#163436)}
.ct-tabs a[aria-current=page],.ct-tabs a:hover,.ct-tabs button:hover{background:#087e80;color:#fff;border-color:transparent}
.ct-panel{padding:1.35rem;border:1px solid var(--ct-line);border-radius:18px;margin:1rem 0;background:var(--surface,#fff)}
.ct-panel h2{font-size:1.18rem;margin:0 0 .65rem;line-height:1.35}.ct-panel p,.ct-panel ul{margin:.5rem 0}.ct-panel li+li{margin-top:.4rem}
.ct-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ct-panels .ct-panel{margin:0}
.ct-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
.ct-field{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:600}.ct-field span{line-height:1.4}
.ct-field input,.ct-field select,.ct-field textarea{width:100%;box-sizing:border-box;min-height:46px;padding:.65rem .8rem;border:1px solid var(--ct-line);border-radius:10px;background:var(--bg,#fff);color:var(--ink,#163436);font:inherit;font-weight:400}
.ct-field textarea{resize:vertical;white-space:pre-wrap}.ct-field :focus-visible,.ct-tabs a:focus-visible,.ct-tabs button:focus-visible,.ct-drug-choices input:focus-visible{outline:3px solid var(--teal,#087c79);outline-offset:3px}
.ct-wide{grid-column:1/-1}.ct-results .ct-panel{background:var(--ct-tint)}.ct-prompt{font-size:.92rem;color:var(--muted,#496568);padding:.5rem 0}
.ct-warning{border-left:5px solid #b87713;background:color-mix(in srgb,#e8b849 10%,var(--surface,#fff))!important}.ct-danger{border-left:5px solid #c64242;background:color-mix(in srgb,#e45858 9%,var(--surface,#fff))!important}
.ct-dose-grid,.ct-treatment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem}.ct-dose-grid .ct-panel{margin:0}
.ct-table-scroll{overflow-x:auto;border:1px solid var(--ct-line);border-radius:14px;margin:1.1rem 0}.ct-compare{width:100%;border-collapse:collapse;table-layout:fixed}.ct-compare th,.ct-compare td{padding:1rem;vertical-align:top;text-align:left;border-bottom:1px solid var(--ct-line);overflow-wrap:anywhere}.ct-compare thead{background:var(--ct-tint)}.ct-compare tbody th{width:16%;font-size:.9rem}.ct-compare td{font-size:.92rem}
.ct-source-cards{display:flex;flex-wrap:wrap;gap:1rem}.ct-source-cards section{flex:1;min-width:180px;padding:1rem;border:1px solid var(--ct-line);border-radius:12px}.ct-source-cards h2{font-size:1rem;margin:0}.ct-source-cards ul{padding-left:1.2rem;font-size:.85rem}
.ct-sources{padding:1rem;margin-top:1.5rem;border-top:1px solid var(--ct-line);font-size:.88rem}.ct-sources summary{cursor:pointer;font-weight:650}.ct-sources a{overflow-wrap:anywhere}
.ct-drug-choices{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.ct-drug-choices label{display:flex;align-items:center;gap:.4rem;padding:.6rem .85rem;border:1px solid var(--ct-line);border-radius:12px;cursor:pointer;font-size:.9rem}.ct-drug-choices input{width:18px;height:18px;accent-color:var(--teal,#087c79)}
.ct-treatment{background:var(--ct-tint);border-radius:14px;padding:1.1rem}.ct-treatment h3{margin:.1rem 0 1rem;font-size:1.1rem}.ct-treatment h4{font-size:.85rem;margin:1.1rem 0 .2rem;color:var(--teal,#087c79)}.ct-treatment p{font-size:.92rem}
.ct-titration{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding:0;gap:.7rem}.ct-titration li{display:flex;flex-direction:column;gap:.35rem;background:var(--ct-tint);border:1px solid var(--ct-line);border-radius:12px;padding:.8rem}.ct-titration span{font-size:.82rem;color:var(--muted,#496568)}.ct-titration strong{font-size:.94rem}
.ct-print-builder textarea{white-space:pre-wrap}.ct-panel[id]{scroll-margin-top:90px}
@media(max-width:700px){.ct-form,.ct-panels{grid-template-columns:1fr}.ct-panel{padding:1rem}.ct-compare{display:block;table-layout:auto}.ct-compare tbody{display:block;width:100%}.ct-compare thead{display:none}.ct-compare tr{display:block;border-bottom:1px solid var(--ct-line)}.ct-compare th,.ct-compare td{display:block;border:0;padding:.8rem 1rem}.ct-compare tbody th{width:auto;background:var(--ct-tint)}.ct-compare td:before{content:attr(data-label);display:block;font-weight:700;font-size:.82rem;margin-bottom:.25rem}.ct-tabs{gap:.4rem}.ct-tabs a,.ct-tabs button{font-size:.88rem;padding:.5rem .7rem}}
@media print{.ct-tabs,.ct-form,.ct-drug-choices,.ct-print-builder,.ct-sources{display:none}.ct-panel{break-inside:avoid;border:1px solid #bbb;box-shadow:none}.ct-panels,.ct-dose-grid,.ct-treatment-grid{display:block}.ct-shell{color:#123!important}}

.ct-tabs button{font:inherit;font-weight:650;cursor:pointer;background:var(--surface,#fff)}

/* The sidebar can leave tablet content as narrow as a phone viewport. */
@media screen {
  .ct-shell { container-name: care-content; container-type: inline-size; }
  .ct-form > *, .ct-field :is(input,select,textarea), .ct-source-cards > section { min-width: 0; }
  .ct-source-cards :is(h2,p), .ct-tabs :is(a,button) { overflow-wrap: anywhere; }
  .ct-source-cards > section { flex: 1 1 180px; }
}
@media screen and (max-width:1100px) {
  .ct-field :is(input,select,textarea) { font-size: 16px; }
  .ct-tabs :is(a,button) { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; white-space: normal; }
}
@media screen {
  @container care-content (max-width:700px) {
    .ct-form, .ct-panels { grid-template-columns: minmax(0,1fr); }
    .ct-panel { padding: 1rem; }
    .ct-compare { display: block; table-layout: auto; }
    .ct-compare tbody { display: block; width: 100%; }
    .ct-compare thead { display: none; }
    .ct-compare tr { display: block; border-bottom: 1px solid var(--ct-line); }
    .ct-compare th, .ct-compare td { display: block; border: 0; padding: .8rem 1rem; }
    .ct-compare tbody th { width: auto; background: var(--ct-tint); }
    .ct-compare td::before { content: attr(data-label); display: block; font-weight: 700; font-size: .875rem; margin-bottom: .25rem; }
  }
}
