.assessment-body-map{display:grid;gap:16px;min-width:0;margin:18px 0;padding:20px;border:1px solid #bfcdeb;border-radius:20px;background:linear-gradient(145deg,#f7f9ff,#fff)}
.assessment-body-map>.item-head{align-items:flex-start}
.assessment-body-map>.item-head h3{margin:5px 0}
.body-map-baseline-toggle{display:flex;align-items:center;gap:7px;padding:9px 11px;border-radius:11px;background:#edf3ff;color:#1747b5;font-size:12px;white-space:nowrap}
.body-map-baseline-toggle input{width:auto;margin:0}
.body-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.body-map-toolbar>div{display:flex;gap:7px;flex-wrap:wrap}
.body-map-toolbar button{padding:8px 12px;color:#536077;background:#eef2f8;box-shadow:none}
.body-map-toolbar button.active{color:#fff;background:#123eb8}
.body-map-assist-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 16px;padding:13px 14px;border:1px solid #b9cdf8;border-radius:14px;background:#eef4ff}
.body-map-assist-bar>div:first-child{display:grid;gap:2px}.body-map-assist-bar>div:first-child small{color:#59677d}
.body-map-assist-actions{display:flex;align-items:center;gap:9px}.body-map-language-toggle{display:flex;padding:3px;border-radius:10px;background:#fff}.body-map-language-toggle button{padding:6px 9px}.body-map-language-toggle button.active{color:#fff;background:#123eb8}
.body-map-assist-bar>[data-body-map-ai-message]{grid-column:1/-1}
.body-map-ai-review{grid-column:1/-1;display:grid;gap:8px;padding-top:9px;border-top:1px solid #ccdaf6}.body-map-ai-review[hidden]{display:none}
.body-map-ai-review-head,.body-map-ai-suggestion-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.body-map-ai-suggestion-card{padding:12px;border:1px dashed #dfa514;border-radius:12px;background:#fffdf4}.body-map-ai-suggestion-copy{display:grid;gap:5px;min-width:220px}.body-map-ai-suggestion-card span,.body-map-ai-suggestion-card small{color:#6a7487}.body-map-ai-suggestion-card blockquote{margin:3px 0;padding-left:9px;border-left:2px solid #dfa514}.body-map-ai-uncertainty{padding:5px 7px;border-radius:7px;background:#fff4cf;color:#795800!important}
.body-map-ai-sensation-tags{display:flex;gap:5px;flex-wrap:wrap}.body-map-ai-sensation-tags span{padding:4px 7px;border-radius:999px;background:#eef3ff;color:#1747b5;font-size:10px;font-weight:800}.body-map-ai-suggestion-card.attention{outline:3px solid rgba(223,145,0,.28);background:#fff7d8}.body-map-ai-suggestion-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.body-map-ai-suggestion-correction{min-width:0}.body-map-ai-suggestion-correction summary{padding:8px 10px;border-radius:9px;background:#eef2f8;color:#1747b5;font-size:11px;font-weight:800;cursor:pointer;list-style:none}.body-map-ai-suggestion-correction[open]{flex-basis:100%;order:3;padding:9px;border:1px solid #dce4ef;border-radius:10px;background:#fff}.body-map-ai-suggestion-correction[open] summary{margin-bottom:8px;background:transparent;padding:0}.body-map-ai-suggestion-correction>div{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(170px,1.25fr) repeat(4,minmax(100px,.7fr));gap:7px}.body-map-ai-suggestion-actions label{display:grid;gap:3px;color:#667085;font-size:10px}.body-map-ai-suggestion-actions select{min-width:100px;padding:7px}
.body-map-workspace{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:16px;align-items:start;min-width:0}
.body-map-stage{position:relative;display:grid;place-items:center;min-width:0;min-height:520px;padding:12px;border:1px solid #dbe3ef;border-radius:18px;background:radial-gradient(circle at 50% 34%,#fff,#f2f6fb)}
.body-map-stage svg{display:block;width:min(100%,260px);height:490px;cursor:crosshair;touch-action:none}
.assessment-body-map.readonly .body-map-stage svg{cursor:default}
.body-map-medical-source{opacity:.9;filter:contrast(.88);pointer-events:none}
.body-map-marker{cursor:pointer}
.body-map-marker circle,.body-map-marker ellipse,.body-map-marker rect{fill:var(--marker-color);fill-opacity:.3;stroke:var(--marker-color);stroke-width:3}
.body-map-marker .body-map-radiating-path{fill:none;stroke:var(--marker-color);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.body-map-marker .body-map-radiating-end{fill:var(--marker-color);fill-opacity:.55;stroke:var(--marker-color);stroke-width:2}
.body-map-marker text{fill:#101828;font-size:11px;font-weight:900;text-anchor:middle;pointer-events:none}
.body-map-marker.baseline circle,.body-map-marker.baseline ellipse,.body-map-marker.baseline rect{fill:none;stroke-dasharray:7 5;opacity:.55}
.body-map-marker.baseline .body-map-radiating-path{stroke-dasharray:7 5;opacity:.55}.body-map-marker.baseline .body-map-radiating-end{fill:none;opacity:.55}
.body-map-marker.baseline text{fill:#667085;opacity:.72}
.body-map-marker.suggestion circle,.body-map-marker.suggestion ellipse,.body-map-marker.suggestion rect{fill:#f7b928;fill-opacity:.18;stroke:#d89100;stroke-dasharray:5 4}.body-map-marker.suggestion text{fill:#9c6500;font-size:8px}
.body-map-marker.suggestion .body-map-radiating-path{stroke:#d89100;stroke-dasharray:7 5}.body-map-marker.suggestion .body-map-radiating-end{fill:#f7b928;stroke:#d89100}
.body-map-editor{min-width:0;min-height:520px}
.body-map-empty-editor{display:grid;place-items:center;align-content:center;min-height:520px;padding:28px;border:1px dashed #c4d0e3;border-radius:18px;background:#fff;text-align:center}
.body-map-empty-editor p{max-width:360px;color:#6d788c}
.body-map-symptom-card,.body-map-readonly-card{display:grid;gap:11px;min-width:0;padding:16px;border:1px solid #dbe3ef;border-radius:18px;background:#fff}
.body-map-review-card{align-content:start;gap:14px}.body-map-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.body-map-review-head h4{margin:4px 0;font-size:22px}.body-map-review-head small{color:#69758a}.body-map-review-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.body-map-normalized-record,.body-map-ai-summary{display:grid;gap:7px;padding:12px 13px;border-radius:12px;background:#f5f8ff}.body-map-normalized-record>span,.body-map-ai-summary>span{color:#174de5;font-size:9px;font-weight:900;letter-spacing:.1em}.body-map-normalized-record>div{display:flex;gap:7px;flex-wrap:wrap}.body-map-normalized-record>div>span{padding:6px 9px;border:1px solid #d4def1;border-radius:999px;background:#fff;color:#34415a;font-size:11px;font-weight:750}.body-map-normalized-record>div>.body-map-normalized-empty{border-style:dashed;color:#778397;font-weight:650}.body-map-ai-summary p{margin:0;color:#34415a}.body-map-drag-hint{margin:0;color:#69758a;font-size:11px}.body-map-no-quote{display:grid;gap:4px;padding:11px 13px;border:1px dashed #d6deeb;border-radius:12px;background:#fbfcfe;color:#737e91;font-size:11px}.body-map-no-quote strong{color:#536077}.body-map-correction-card{border-color:#9fb8ed;box-shadow:0 8px 24px rgba(34,66,132,.08)}
.body-map-correction-card{min-width:0;overflow:hidden}
.body-map-symptom-card label{gap:4px;color:#566176;font-size:11px}
.body-map-symptom-card input,.body-map-symptom-card textarea,.body-map-symptom-card select{padding:8px 10px;font-size:13px}
.body-map-core-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(130px,.7fr);gap:10px}
.body-map-location-summary{display:grid;grid-template-columns:auto minmax(150px,1fr) minmax(180px,1.15fr) repeat(3,minmax(100px,.55fr));align-items:end;gap:9px;min-width:0;padding:10px 12px;border-radius:12px;background:#f5f8ff}.body-map-location-summary>span{color:#667085;font-size:11px}.body-map-location-summary>strong{align-self:center}.body-map-location-summary label{display:grid;min-width:0}.body-map-location-summary select{width:100%;min-width:0}
.body-map-patient-voice{display:grid;gap:4px;padding:11px 13px;border-left:3px solid #174de5;border-radius:0 12px 12px 0;background:#f6f8fc}.body-map-patient-voice>span{color:#174de5;font-size:9px;font-weight:900;letter-spacing:.12em}.body-map-patient-voice blockquote{margin:0}.body-map-patient-voice small{color:#68758a}
.body-map-description textarea{min-height:58px}
.body-map-intensity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.body-map-pattern{max-width:260px}
.body-map-sensation-picker{display:flex;gap:7px;flex-wrap:wrap;margin:0;padding:12px;border:1px solid #dce4ef;border-radius:13px}
.body-map-sensation-picker legend{padding:0 6px;color:#4d596d;font-size:12px;font-weight:800}
.body-map-sensation-picker label{position:relative;display:block;cursor:pointer}
/* Keep the native checkbox next to its chip.  Without a containing block the
   absolute input is positioned against the page, so clicking a sensation
   makes the browser scroll the whole Assessment to that invisible control
   and the app appears to turn white. */
.body-map-sensation-picker input{position:absolute;top:0;left:0;width:1px;height:1px;margin:-1px;padding:0;border:0;opacity:0;pointer-events:none}
.body-map-sensation-picker span{display:block;padding:7px 9px;border:1px solid #d7dfeb;border-radius:999px;background:#f7f9fc;color:#566176;font-size:11px;cursor:pointer}
.body-map-sensation-picker input:checked+span{border-color:#174de5;background:#e9efff;color:#123eb8;font-weight:850}
.body-map-intensity-grid input{font-variant-numeric:tabular-nums}
.body-map-symptom-card input[type=range]{padding:0}
.body-map-current-intensity{display:grid;grid-template-columns:1fr 92px;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#f5f8ff;color:#263552!important;font-size:13px!important;font-weight:800}.body-map-current-intensity input{width:92px}.body-map-advanced-grid>.body-map-intensity-grid{grid-column:1/-1}.body-map-advanced-grid>.body-map-pattern{grid-column:1/-1}
.body-map-symptom-card label>small{display:block;margin-top:5px;color:#778397;font-weight:500}
.body-map-advanced{border-top:1px solid #e5eaf2;padding-top:9px}
.body-map-advanced summary{color:#174de5;font-size:12px;font-weight:800;cursor:pointer;list-style:none}
.body-map-advanced summary::-webkit-details-marker{display:none}
.body-map-advanced summary:before{content:'＋';display:inline-block;margin-right:5px;color:#174de5}
.body-map-advanced[open] summary:before{content:'−'}
.body-map-advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.body-map-more-sensations{grid-column:1/-1}
.body-map-marker-tools{position:relative}.body-map-marker-tools summary{padding:8px 12px;border-radius:9px;background:#eef2f8;color:#536077;font-size:12px;cursor:pointer;list-style:none}.body-map-marker-tools[open]{display:flex;gap:6px}.body-map-marker-tools[open] summary{display:none}
.body-map-radius{grid-column:1/-1}
.body-map-readonly-card{align-content:start}.body-map-readonly-card dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px}.body-map-readonly-card dt{color:#6d788b;font-size:11px}.body-map-readonly-card dd{margin:0}
@media(max-width:900px){.body-map-workspace{grid-template-columns:1fr}.body-map-stage,.body-map-editor,.body-map-empty-editor,.body-map-symptom-card,.body-map-readonly-card{min-height:auto}.body-map-stage{min-height:500px}}
@media(max-width:1200px){.body-map-ai-suggestion-correction>div,.body-map-location-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.body-map-location-summary>span{grid-column:1/-1}}
/* The interview dock shares a narrower column with Body Map. Keep correction
   fields inside that column instead of letting the six-column desktop row
   paint underneath the dock. */
.assessment-interview-workspace .body-map-location-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.assessment-interview-workspace .body-map-location-summary>span{grid-column:1/-1}
@media(max-width:1100px){.body-map-ai-suggestion-card{align-items:stretch;flex-direction:column}.body-map-ai-suggestion-actions{justify-content:flex-start}}
@media(max-width:560px){.assessment-body-map{padding:14px}.body-map-toolbar,.body-map-assist-bar{align-items:flex-start;grid-template-columns:1fr}.body-map-assist-actions,.body-map-ai-suggestion-card{align-items:stretch;flex-direction:column}.body-map-ai-suggestion-actions{justify-content:stretch}.body-map-ai-suggestion-actions>button{flex:1}.body-map-ai-suggestion-correction>div,.body-map-review-head{grid-template-columns:1fr;display:grid}.body-map-review-actions{justify-content:flex-start}.body-map-stage svg{height:460px}.body-map-intensity-grid,.body-map-advanced-grid,.body-map-location-summary{grid-template-columns:1fr}.body-map-radius{grid-column:auto}}
