/* Body-Map (B30) */
.ts-bodymap { margin: 6px 0; }
.ts-bodymap__panels { display: flex; gap: 16px; flex-wrap: wrap; align-items: flex-start; }
.ts-bodymap__panel { flex: 1 1 150px; max-width: 220px; }
.ts-bodymap__cap { text-align: center; font-size: .82rem; color: #475569; margin: 0 0 4px; font-weight: 600; }
.ts-bodymap__fig { position: relative; line-height: 0; }
.ts-bodymap__fig svg { width: 100%; height: auto; display: block; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; touch-action: manipulation; }
.ts-bodymap__fig--edit svg { cursor: crosshair; }
.ts-bodymap__marker {
    position: absolute; width: 20px; height: 20px; margin: -10px 0 0 -10px;
    border-radius: 50%; background: #dc2626; color: #fff; border: 2px solid #fff;
    font-size: 11px; font-weight: 700; line-height: 16px; text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .45); cursor: pointer; z-index: 2;
}
.ts-bodymap__fig--edit .ts-bodymap__marker { cursor: pointer; }
.ts-bodymap__tools { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0; }
.ts-bodymap__note { width: 100%; }
