/* Visual-only, responsive diagrams. Labels stay HTML-sized on 320/390px. */
.estimate-diagram{max-width:100%;min-width:0;padding:16px;margin:14px 0;border:1px solid #dde7eb;border-radius:14px;background:#f8fafb;color:#26343d}
.estimate-diagram-heading{margin:0 0 6px;font-size:18px;font-weight:800}
.estimate-diagram-note{margin:0 0 13px;line-height:1.65;font-size:13px;color:#52616c}
.estimate-diagram-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.estimate-diagram-card{min-width:0;padding:14px;border:1px solid #dde7eb;background:#fff;border-radius:11px;overflow-wrap:anywhere}
.estimate-diagram-card-title{font-size:16px;font-weight:780;margin:0 0 5px;color:#273740}
.estimate-diagram-card-meta{font-size:13px;line-height:1.65;color:#4d606c;margin:0 0 9px;white-space:normal;overflow-wrap:anywhere}
.estimate-diagram-svg{width:100%;height:auto;display:block;aspect-ratio:300/170;background:#fff;border-radius:8px}
.estimate-diagram-total{margin:12px 0 0;font-size:16px;font-weight:780;color:#9b4309}
.estimate-diagram-count-note{font-size:12px;color:#8c4518;line-height:1.6;margin:8px 0 0}
.estimate-diagram-empty{grid-column:1/-1;color:#52616c}
@media(max-width:680px){.estimate-diagram{padding:12px}.estimate-diagram-cards{grid-template-columns:minmax(0,1fr)}.estimate-diagram-card{padding:11px}.estimate-diagram-card-meta{font-size:13px}.estimate-diagram-svg{max-width:100%}}

/* VIS-144: fit real available diagram width, including narrow result cards
   under CSS zoom=2; retain full-width multi-card questionnaire layout. */
.estimate-diagram{box-sizing:border-box;min-width:0;max-width:100%}
.estimate-diagram-cards{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  align-items:start
}
.estimate-diagram-card{height:auto;min-width:0;max-width:100%;box-sizing:border-box}
.estimate-diagram-svg{max-width:100%;min-width:0;height:auto;aspect-ratio:300/170}

/* UX-176: each camera row owns one nearby read-only diagram mount. */
.remediation-camera-row{min-width:0}
.remediation-camera-row .remediation-diagram,
.remediation-camera-row .remediation-row-diagram,
.remediation-camera-row [data-zone-diagram-id]{
  min-width:0;width:100%;max-width:100%;grid-column:1/-1
}
.remediation-camera-row .estimate-diagram{
  margin:8px 0 4px;padding:12px;box-sizing:border-box
}
.remediation-camera-row .estimate-diagram-heading{font-size:16px}
.remediation-camera-row .estimate-diagram-cards{grid-template-columns:minmax(0,1fr)}
.estimate-diagram-card[data-zone-id]{overflow-wrap:anywhere}
.estimate-diagram-state{font-size:13px;line-height:1.6;color:#566672;margin:0 0 8px}
.estimate-diagram-state[data-state="invalid"]{color:#9b2b1f}
.estimate-diagram-state[data-state="editing"]{color:#765b40}
.estimate-diagram-count-note{overflow-wrap:anywhere}
.estimate-diagram-svg{min-width:0;width:100%;max-width:100%;height:auto}
@media(max-width:490px){
 .remediation-camera-row .estimate-diagram{padding:10px}
 .estimate-diagram-card{padding:11px}
 .estimate-diagram-card-meta{font-size:13px;line-height:1.6}
}

/* HFB005/006: unchanged 3:2 overhead originals with independent camera overlays. */
.estimate-camera-scene{position:relative;width:100%;aspect-ratio:3/2;overflow:hidden;border-radius:9px;background:#edf3f6}
.estimate-camera-background{display:block;width:100%;height:100%;object-fit:contain}
.estimate-camera-marker{position:absolute;width:0;height:0;pointer-events:none}
.estimate-camera-icon{position:absolute;left:0;top:0;width:clamp(22px,9%,34px);height:clamp(22px,9%,34px);object-fit:contain;max-width:none}
.estimate-camera-arrow{position:absolute;left:0;top:0;display:block;font-size:22px;font-weight:850;line-height:1;color:#b44906;text-shadow:0 1px #fff;transform-origin:center;white-space:nowrap}
@media(min-width:781px){
 .estimate-diagram-note{font-size:16px;line-height:1.65;color:#52616c}
 .estimate-diagram-card-meta{font-size:16px;line-height:1.65;color:#435662}
 .estimate-diagram-count-note{font-size:16px;line-height:1.65;color:#765020}
 .estimate-diagram-state{font-size:16px;line-height:1.6;color:#52616c}
}
