.complaint-map{position:relative;width:100%;height:560px;margin-top:8px;overflow:hidden;border:1px solid #dce7e4;border-radius:20px;background:linear-gradient(180deg,#fff,#f7faf9)}
.body-map-visual{position:absolute;inset:0;pointer-events:none}
.body-map-visual svg{display:block;width:100%;height:100%}
.body-map-visual .organ-raster{opacity:.96;filter:drop-shadow(0 4px 6px rgba(74,92,87,.12))}
.body-map-visual .organ-hotspot-shape{fill:transparent;stroke:transparent;stroke-width:2;transition:fill .18s,stroke .18s}
.body-map-visual .organ-hotspot.is-focused .organ-hotspot-shape,.body-map-visual .organ-hotspot.is-selected .organ-hotspot-shape{fill:rgba(24,124,102,.055);stroke:rgba(24,124,102,.7)}
.body-map-visual .muscle-separate-back{fill:rgba(255,255,255,.94);stroke:#eadbd7;stroke-width:1.1;filter:drop-shadow(0 3px 6px rgba(88,64,57,.12))}
.body-map-visual .muscle-raster{filter:drop-shadow(0 3px 4px rgba(101,52,45,.17))}
.body-map-visual .body-shadow{fill:#9fb0ab;opacity:.13;filter:url(#bodySoftShadow)}
.body-map-visual .body-contour{fill:none;stroke:#93a6a1;stroke-width:1;opacity:.18}
.body-map-visual .map-link{fill:none;stroke:#9aaba7;stroke-width:1.25;stroke-linecap:round;opacity:.82}
.body-map-visual .map-dot{fill:#fff;stroke:#78928b;stroke-width:1.6}
.body-map-visual .organ{stroke:#657a75;stroke-width:1.55;filter:url(#organFloat);transition:opacity .18s,filter .18s,transform .18s}
.body-map-visual .organ-group{transform-box:fill-box;transform-origin:center;transition:opacity .18s,filter .18s,transform .18s}
.body-map-visual .organ-brain{fill:#d7cde3;stroke:#746483}.body-map-visual .organ-ear{fill:none;stroke:#b98558;stroke-width:2}.body-map-visual .organ-lung{fill:#f3c1bf;stroke:#b86f70}.body-map-visual .organ-heart{fill:#dc7a80;stroke:#9e5158}.body-map-visual .organ-stomach{fill:#efbd82;stroke:#ae7848}.body-map-visual .organ-intestine{fill:none;stroke:#c98b83;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.body-map-visual .organ-kidney{fill:#b98287;stroke:#87575d}.body-map-visual .organ-urinary-line{fill:none;stroke:#a77e82;stroke-width:1.5}.body-map-visual .organ-bladder{fill:#dfacba;stroke:#a36e7d}
.body-map-visual .organ-detail{fill:none;stroke:#7b7774;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.body-map-visual .organ-label{display:none}
.body-map-visual .organ-group.is-focused,.body-map-visual .organ-group.is-selected{filter:drop-shadow(0 2px 4px rgba(24,124,102,.18));transform:translateY(-1px) scale(1.045)}
.body-map-visual .organ-group.is-selected .organ{stroke:#187c66;stroke-width:2.2}
.body-map-visual .body-system.is-focused .body-shadow,.body-map-visual .body-system.is-selected .body-shadow{opacity:.3}
.complaint-map .complaint-pin{position:absolute;z-index:2;width:172px;margin:0}
.complaint-map .complaint-pin input{position:absolute;opacity:0;pointer-events:none}
.complaint-map .complaint-pin span{display:flex;align-items:center;justify-content:center;min-height:39px;padding:8px 10px;border:1px solid #c7d8d3;border-radius:11px;background:rgba(255,255,255,.97);color:#365a51;font-size:12.5px;font-weight:750;text-align:center;cursor:pointer;box-shadow:0 4px 13px rgba(24,75,63,.07);transition:transform .15s,border-color .15s,background .15s,color .15s,box-shadow .15s}
.complaint-map .complaint-pin:hover span{transform:translateY(-1px);border-color:#6cae9d;box-shadow:0 7px 17px rgba(24,75,63,.11)}
.complaint-map .complaint-pin input:checked+span{border-color:#187c66;background:#e1f3ee;color:#0d5a49;box-shadow:0 0 0 3px rgba(24,124,102,.11);font-weight:850}
.complaint-map .complaint-pin input:focus-visible+span{outline:3px solid rgba(76,129,211,.28);outline-offset:2px}
.complaint-headache{left:2%;top:80px}.complaint-fever{left:2%;top:142px}.complaint-ear{left:2%;top:204px}.complaint-vertigo{left:2%;top:266px}.complaint-odynophagia{right:2%;top:110px}.complaint-urinary{left:2%;top:350px}
.complaint-map .complaint-muscle-pain,.complaint-map .complaint-muscle-edema,.complaint-map .complaint-muscle-trauma{top:488px;width:54px}
.complaint-muscle-trauma{left:2%}.complaint-muscle-pain{left:calc(2% + 59px)}.complaint-muscle-edema{left:calc(2% + 118px)}
.complaint-map .complaint-muscle-pain span,.complaint-map .complaint-muscle-edema span,.complaint-map .complaint-muscle-trauma span{min-height:39px;padding:7px 4px;font-size:11px}
.complaint-cough{right:2%;top:48px}.complaint-dyspnea{right:2%;top:172px}.complaint-chest{right:2%;top:234px}.complaint-abdomen{right:2%;top:376px}.complaint-vomiting{right:2%;top:314px}.complaint-diarrhea{right:2%;top:438px}
.complaint-map .complaint-other{right:2%;top:488px;width:188px}
.complaint-map .complaint-other span{justify-content:flex-start;gap:9px;border-style:dashed;border-color:#b9a7d3;background:#faf7ff;color:#604584}
.complaint-map .complaint-other span::before{content:'✎';display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#eee6f8;color:#7048aa;font-size:15px;font-weight:900}
.complaint-map-caption{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);width:230px;margin:0;color:#758984;font-size:10px;line-height:1.35;text-align:center}
.other-complaint-field{display:grid;grid-template-columns:minmax(190px,.5fr) 1fr;align-items:center;gap:12px;margin:11px 0 0;padding:12px 14px;border:1px solid #cbbce7;border-radius:12px;background:#faf7ff;color:#593d82;font-size:13px;font-weight:800}
.other-complaint-field[hidden]{display:none}
.other-complaint-field input{margin:0!important;border-color:#bca8dc!important;background:#fff!important}
.complaint-map .complaint-pin.has-side-options{transition:width .18s}.complaint-map .complaint-pin.has-side-options.side-expanded{z-index:5;width:338px}.complaint-side-options{display:none;position:absolute;left:178px;top:0;gap:5px;padding:3px;border:1px solid #b9d4cd;border-radius:10px;background:#f7fbfa;box-shadow:0 5px 16px rgba(24,75,63,.1)}.side-expanded .complaint-side-options{display:flex}.complaint-side-options button{min-height:33px;padding:6px 9px;border:1px solid #c9d8d4;border-radius:8px;background:#fff;color:#45645b;font:inherit;font-size:10px;font-weight:800}.complaint-side-options button.active{border-color:#187c66;background:#dff2ec;color:#0d5a49}
@media(max-width:760px){.complaint-map{display:grid;height:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;overflow:visible;background:#f8fbfa}.body-map-visual,.complaint-map-caption{display:none}.complaint-map .complaint-pin,.complaint-map .complaint-other{position:relative;inset:auto;width:auto}.complaint-map .complaint-other{grid-column:1/-1}.complaint-map .complaint-pin span{min-height:42px;box-shadow:none}}
@media(max-width:760px){.other-complaint-field{grid-template-columns:1fr;gap:7px}}
.complaint-map .complaint-pin.has-side-options.side-expanded{width:338px}@media(max-width:760px){.complaint-map .complaint-pin.has-side-options.side-expanded{grid-column:1/-1;width:auto;display:grid;grid-template-columns:minmax(0,1fr) auto}.complaint-side-options{display:none;position:static;margin-left:6px}.side-expanded .complaint-side-options{display:flex}}

.complaint-map .complaint-tce{left:2%;right:auto;top:18px}
.skin-lesion-tool{display:flex;align-items:flex-start;gap:14px;margin-top:12px;padding:14px 16px;border:1px solid #ead9d4;border-radius:16px;background:linear-gradient(110deg,#fff9f6,#fff)}.skin-lesion-heading{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.skin-lesion-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:13px;background:#fff0e9}.skin-lesion-icon svg{width:40px;height:40px}.skin-lesion-heading strong,.skin-lesion-heading small{display:block}.skin-lesion-heading strong{font-size:14px;color:#503f3a}.skin-lesion-heading small{margin-top:3px;color:#887a75;font-size:11px}.skin-lesion-heading>button{margin-left:auto;padding:8px 12px;border:1px solid #d8b6a8;border-radius:10px;background:#fff;color:#704e43;font-weight:750;font-size:11px}.skin-lesion-panel{flex:2}.skin-lesion-panel[hidden]{display:none}.skin-lesion-options{display:flex;flex-wrap:wrap;gap:7px}.skin-lesion-option{padding:7px 11px;border:1px solid #e0d1cb;border-radius:999px;background:#fff;color:#695a55;font-size:11px;font-weight:700}.skin-lesion-option.active{border-color:#b56f68;background:#f9e8e5;color:#783e3d}.skin-lesion-option:focus-visible{outline:3px solid #d89f93;outline-offset:2px}@media(max-width:760px){.skin-lesion-tool{display:block}.skin-lesion-heading{flex-wrap:wrap}.skin-lesion-heading>button{margin-left:0}.skin-lesion-panel{margin-top:12px}}
