/* 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; }
/* Interactive Claim Preparation Guide entrances (2026-09-26, owner-approved
   placement). One normal-sized bordered control under WORK ON THIS CLAIM
   (and below the section selector on phones), a compact "Help with this step"
   in each work section, and one quiet line under Add to this claim. All are
   links to /dc/claim-preparation-steps; the launcher opens them in place. */
.cw-guide-entrance { display: block; width: 100%; min-height: 72px; margin: .35rem 0 .9rem; padding: .7rem .8rem; border: 1px solid var(--color-accent); border-radius: 7px; background: var(--color-surface); color: var(--color-primary); text-align: left; text-decoration: none; }
.cw-guide-entrance:hover { background: var(--color-bg); box-shadow: 0 0 0 1px var(--color-accent); }
.cw-guide-entrance .cw-guide-title { display: flex; justify-content: space-between; align-items: center; gap: .5rem; font: 600 1rem/1.35 Inter, sans-serif; }
.cw-guide-entrance .cw-guide-title span { font-size: 1.1rem; }
.cw-guide-entrance .cw-guide-desc { display: block; margin-top: .2rem; font: 400 .86rem/1.4 Inter, sans-serif; color: var(--color-text-muted); }
.cw-guide-mobile { display: none; }
.cw-step-help { display: flex; justify-content: flex-end; margin: 0 0 .35rem; }
.cw-step-help a { display: inline-flex; align-items: center; gap: .3rem; min-height: 44px; padding: .35rem .75rem; border: 1px solid var(--color-border-strong); border-radius: 6px; background: var(--color-surface); color: var(--color-primary); font: 600 .8rem/1.3 Inter, sans-serif; text-decoration: none; }
.cw-step-help a::before { content: "+"; color: var(--color-accent); font-size: 1.05rem; line-height: 1; }
.cw-step-help a:hover { text-decoration: underline; text-underline-offset: 3px; }
.cw-quiet-help { font: 400 .8rem/1.5 Inter, sans-serif; color: var(--color-text-muted); margin: .8rem 0 0; }
.cw-quiet-help a { font-weight: 500; }
@media (max-width: 850px) {
  .cw-guide-mobile { display: block; max-width: 360px; margin: -.75rem 0 1.5rem; }
}
@media (max-width: 560px) { .cw-guide-mobile { max-width: none; } }
@media print { .cw-guide-entrance, .cw-step-help, .cw-quiet-help { display: none !important; } }
/* The finished-steps record starts collapsed (2026-09-26, owner-approved);
   the Common next steps and Choose controls above it stay visible. */
.mp-next-done > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 52px; padding: .85rem 0 0; list-style: none; cursor: pointer; color: var(--color-text-strong); font: 600 1rem/1.4 Inter, sans-serif; }
.mp-next-done > summary::-webkit-details-marker { display: none; }
/* A disclosure summary is a control, so its heading says Inter itself
   (typography roles); the heading tag keeps it in the outline. */
.mp-next-done > summary .mp-next-done-h { margin: 0; font: 600 1rem/1.4 var(--font-sans); color: var(--color-text-strong); }
.mp-next-done-count { font-weight: 400; color: var(--color-text-muted); }
.mp-next-done-affordance { display: flex; align-items: center; gap: .7rem; color: var(--color-primary); font: 500 .9rem/1.3 Inter, sans-serif; }
.mp-next-done-plus { display: inline-block; font-size: 1.45rem; line-height: 1; font-weight: 400; transition: transform .2s; }
.mp-next-done[open] .mp-next-done-plus { transform: rotate(45deg); }
.mp-next-done .mp-when-open, .mp-next-done[open] .mp-when-closed { display: none; }
.mp-next-done[open] .mp-when-open { display: inline; }
.mp-next-done > summary:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 5px; border-radius: 3px; }
.mp-next-done-body { padding: .9rem 0 .2rem; }
@media (prefers-reduced-motion: reduce) { .mp-next-done-plus { transition: none; } }
