/* Experimental presentation layer. Existing component and print contracts stay intact. */
.mp-main { max-width: 1440px; }
.mp-card { max-width: 1320px; }
.cw-eyebrow, .cw-step, .cw-nav-label { font: 700 .7rem/1.5 Inter, sans-serif; letter-spacing: .1em; color: var(--color-text-muted); }
.cw-eyebrow { margin: 0 0 .6rem; }
.mp-head { padding: 0 .2rem 1.25rem; max-width: 1000px; }
/* Phase illustration in the header's unused right side (2026-09-24). The text
   keeps its 1000px measure; the art sits beside it, decorative, never printed. */
#mp-detail > .mp-head { display: grid; grid-template-columns: minmax(0, 1000px) auto; justify-content: space-between; column-gap: 2rem; max-width: none; }
#mp-detail > .mp-head > * { grid-column: 1; }
#mp-detail > .mp-head > .cw-phase-art { grid-column: 2; grid-row: 1 / span 6; align-self: center; width: 300px; height: auto; aspect-ratio: 320 / 213; }
@media (max-width: 900px) { #mp-detail > .mp-head > .cw-phase-art { width: 220px; } }
@media (max-width: 640px) {
  #mp-detail > .mp-head { column-gap: .75rem; }
  #mp-detail > .mp-head > :not(.cw-phase):not(.cw-phase-art) { grid-column: 1 / -1; }
  #mp-detail > .mp-head > .cw-phase-art { grid-row: 3; align-self: start; width: 120px; margin-top: 1rem; }
}
@media print { .cw-phase-art { display: none !important; } }
.mp-head .mp-h1 { font: 600 clamp(1.65rem, 3vw, 2.65rem)/1.12 'Source Serif 4', serif; }
.mp-head .mp-situation { margin-top: .8rem; }
.cw-phase { margin-top: 1rem; padding-left: .8rem; border-left: 3px solid var(--color-accent); font: 400 .9rem/1.5 Inter, sans-serif; }
.cw-phase-line { display: flex; align-items: center; flex-wrap: wrap; gap: .2rem .8rem; }
.cw-phase-line strong { font-weight: 600; }
.cw-phase-change { min-height: 44px; padding: .35rem .15rem; border: 0; background: transparent; color: var(--color-primary); font: 600 .85rem/1.5 Inter, sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cw-phase-change:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 3px; }
.cw-phase > .mp-note, .cw-phase > .mp-status { margin: .15rem 0; }
.cw-phase > .mp-status:empty { display: none; }
.cw-phase-editor { max-width: 34rem; padding-top: .7rem; }
.cw-phase-editor[hidden] { display: none !important; }
.cw-phase-editor select { width: 100%; min-height: 44px; }
.cw-phase-start { font-size: .9rem; }
.cw-claim-switcher { border-block: 1px solid var(--color-border); margin-bottom: 1.5rem; padding: .7rem 0; }
.cw-claim-switcher summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; list-style: none; min-height: 44px; font: 600 .85rem/1.4 Inter, sans-serif; }
.cw-claim-switcher summary::-webkit-details-marker { display: none; }
.cw-claim-switcher summary > span { font: 400 1.6rem/1 Inter, sans-serif; }
.cw-claim-switcher[open] summary > span { transform: rotate(45deg); }
.cw-claim-switcher .mp-claims-tabs { margin-top: 1rem; }
.cw-shell { display: grid; grid-template-columns: 250px minmax(0, 1fr); column-gap: 2rem; align-items: start; }
.cw-mobile-nav { display: none; }
.cw-shell > .mp-views { grid-column: 1; grid-row: 1 / span 12; display: flex; flex-direction: column; gap: .45rem; position: sticky; top: 1rem; margin: 0; padding: 0 1rem 1rem 0; border: 0; border-right: 1px solid var(--color-border); }
.cw-shell > .mp-view { grid-column: 2; min-width: 0; margin: 0 0 1rem; }
.cw-shell [hidden] { display: none !important; }
.cw-nav-label { margin: .4rem .3rem; font-size: .62rem; }
.cw-shell .mp-view-btn { display: block; width: 100%; min-height: 58px; padding: .7rem .85rem; border: 1px solid var(--color-accent); border-radius: 7px; text-align: left; font: 600 .85rem/1.35 Inter, sans-serif; background: var(--color-surface); color: var(--color-text); text-decoration: none; }
.cw-shell .mp-view-btn small { display: block; font-size: .68rem; font-weight: 400; margin-top: .25rem; opacity: .85; }
.cw-shell .mp-view-btn.mp-view-on { background: var(--color-primary); color: var(--color-on-primary); border: 2px solid var(--color-accent); padding: calc(.7rem - 1px) calc(.85rem - 1px); }
.cw-shell .mp-view-btn:hover { text-decoration: underline; text-underline-offset: 3px; }
.cw-shell .mp-h2 { font: 600 clamp(1.4rem, 2.2vw, 1.9rem)/1.2 'Source Serif 4', serif; margin-bottom: .7rem; }
.cw-shell h3, .cw-card strong { font: 600 1.22rem/1.2 'Source Serif 4', serif; }
.cw-shell p, .cw-exam-steps { line-height: 1.6; }
.cw-intro { max-width: 720px; margin-bottom: 1.5rem; }
.cw-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.25rem 0; }
.cw-card { display: flex; flex-direction: column; align-items: flex-start; gap: .8rem; padding: 1.3rem; background: var(--color-surface); border: 1px solid var(--color-accent); border-radius: 10px; color: var(--color-text); min-width: 0; }
.cw-card p, .cw-card h3 { margin: 0; }
button.cw-card { cursor: pointer; text-align: left; font: 400 .93rem/1.6 Inter, sans-serif; }
button.cw-card:hover { border-width: 2px; padding: calc(1.3rem - 1px); background: var(--color-bg-secondary, var(--color-surface)); }
.cw-link { color: var(--color-primary); font-weight: 700; font-size: .83rem; margin-top: auto; padding-top: .4rem; }
.cw-actions { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; margin: 1rem 0 1.5rem; }
.cw-lookup { display: block; margin: 1.5rem 0; }
.cw-saved-findings { margin: 1.5rem 0 2rem; padding-block: 1.25rem; border-block: 1px solid var(--color-border); }
.cw-saved-findings > h3 { margin: 0 0 .6rem; }
.cw-finding { border: 1px solid var(--color-accent); border-left-width: 4px; border-radius: 7px; background: var(--color-surface); padding: 1.15rem; margin-top: .85rem; overflow-wrap: anywhere; }
.cw-finding h4 { margin: 0 0 .65rem; font: 600 1.15rem/1.35 'Source Serif 4', serif; }
.cw-finding p { margin: .35rem 0; }
.cw-finding-code { font: 700 .9rem/1.5 Inter, sans-serif; }
.cw-finding .cw-source-state { display: inline-block; padding: .15rem .5rem; border: 1px solid var(--color-accent); border-radius: 4px; font: 600 .75rem/1.6 Inter, sans-serif; }
.cw-finding .rf-btn { margin-top: .8rem; }
.cw-lookup > h3 { margin-bottom: 1.25rem; }
.cw-lookup .icd-tabs { margin: 0 0 1.5rem; }
.cw-lookup .icd-tabs button { min-height: 44px; padding: .7rem; background: var(--color-surface); color: var(--color-text); border: 1px solid var(--color-accent); font: 600 .85rem/1.4 Inter, sans-serif; }
.cw-lookup .icd-tabs button[aria-selected=true] { background: var(--color-primary); color: var(--color-on-primary); }
.cw-lookup .icd-label { display: block; margin-bottom: .6rem; }
.cw-lookup .icd-input { width: 100%; box-sizing: border-box; }
.cw-exam-steps { padding-left: 1.4rem; margin: 1.5rem 0; }
.cw-exam-steps li { padding: 0 0 1.2rem .45rem; }
.cw-exam-steps strong { display: block; }
.cw-shell .mp-layout { grid-template-columns: 1fr; }
.cw-shell .mp-filters { display: flex; align-items: end; gap: .8rem; flex-wrap: wrap; }
.cw-shell .mp-filters .mp-filter { flex: 1 1 180px; }
.cw-shell .mp-links-grid { grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); }
.cw-shell .mp-add-actions { grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); }
.cw-shell .mp-next { margin: 1rem 0; padding: 1.3rem; }
.cw-shell .mp-next .mp-h2 { font-size: 1.3rem; }
.cw-shell .mp-links { margin: 1.2rem 0; }
.cw-shell :focus-visible, .cw-claim-switcher :focus-visible { outline: 3px solid var(--color-primary); outline-offset: 4px; }
@media (max-width: 850px) {
  .cw-shell { display: block; }
  .cw-shell > .mp-views { display: none; }
  .cw-mobile-nav { display: block; margin: 0 0 1.5rem; font: 600 .8rem/1.5 Inter, sans-serif; }
  .cw-mobile-nav select { display: block; width: 100%; min-height: 48px; margin-top: .5rem; padding: .65rem; border: 2px solid var(--color-accent); border-radius: 6px; background: var(--color-surface); color: var(--color-text); font: 600 .9rem/1.5 Inter, sans-serif; }
  .cw-nav-label { grid-column: 1 / -1; }
  .cw-shell .mp-view-btn { height: 100%; min-height: 65px; }
}
@media (max-width: 540px) {
  .cw-cards { grid-template-columns: 1fr; }
  .cw-card { padding: 1rem; }
  button.cw-card:hover { padding: calc(1rem - 1px); }
  .cw-shell .mp-h2 { font-size: 1.5rem; }
  .cw-shell .mp-view-btn { padding: .6rem; font-size: .8rem; }
  .cw-shell .mp-view-btn.mp-view-on { padding: calc(.6rem - 1px); }
}
@media print { .cw-shell > .mp-views, .cw-claim-switcher, .cw-mobile-nav { display: none !important; } .cw-shell { display: block; } }
/* In-workspace adapter for the existing saved worksheet connections. */
.wc-panel { margin-top: 1.25rem; padding: clamp(1rem, 3vw, 1.6rem); border: 2px solid var(--color-accent); border-radius: var(--radius-sm); background: var(--color-bg); }
.wc-rows { display: grid; gap: .85rem; }
.wc-row { min-width: 0; padding: 1rem; border: 1px solid var(--color-accent); border-radius: var(--radius-sm); }
.wc-title { display: flex; align-items: start; gap: .7rem; font-family: 'Source Serif 4', serif; font-size: 1.1rem; }
.wc-title input { margin-top: .35rem; width: 1.1rem; height: 1.1rem; flex: 0 0 auto; accent-color: var(--color-accent); }
.wc-placement-picker label { display: block; margin-bottom: .4rem; }
.wc-placement-picker select { width: 100%; min-width: 0; max-width: 100%; min-height: 44px; padding: .65rem; background: var(--color-surface); color: var(--color-text); border: 1px solid var(--color-accent); border-radius: var(--radius-sm); }
.wc-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.wc-confirm { padding-top: .6rem; }
.wc-confirm button { margin: 0 .5rem .5rem 0; }
.wc-status:not(:empty) { border-left: 3px solid var(--color-accent); padding: .65rem; }
