.roof-run-dialog { width:min(1400px,96vw); max-width:96vw; max-height:94vh; overflow:auto; background:#18212b; color:#f3f5f8; border:1px solid #728497; border-radius:12px; padding:20px; }
.roof-run-dialog::backdrop { background:#000b; }
.roof-run-dialog header,.roof-run-dialog footer,.roof-run-tools { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.roof-run-dialog header { justify-content:space-between; }
.roof-run-dialog h2,.roof-run-dialog h3 { margin:0 0 8px; }
.roof-run-views { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.roof-run-views section { min-width:0; }
.roof-run-map,.roof-run-photo { height:clamp(260px,48vh,600px); position:relative; background:#0c1117; overflow:hidden; }
.roof-run-photo img,.roof-run-photo svg { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.roof-run-map [data-map] { width:100%; height:100%; touch-action:none; cursor:crosshair; }
.roof-run-map [data-loupe] { position:absolute; right:8px; top:8px; width:150px; height:150px; pointer-events:none; border:1px solid white; }
.roof-run-tools { padding:8px 0; }
.roof-run-dialog footer { margin-top:20px; }
.roof-run-dialog output { font-size:1.25rem; font-weight:700; margin-right:auto; }
.roof-run-dialog pre { white-space:pre-wrap; max-height:200px; overflow:auto; font-size:11px; }
.roof-run-dialog button,.roof-run-dialog select { font:inherit; padding:8px 12px; min-height:40px; }
.roof-run-dialog button[aria-pressed="true"] { outline:2px solid #ffdf65; }
.roof-run-dialog [data-use] { background:#ffe17a; color:#18212b; font-weight:700; }
.roof-run-dialog button:disabled { opacity:.4; cursor:not-allowed; }
.roof-run-level,.roof-run-planning { margin-top:14px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.roof-run-level small,.roof-run-planning small { color:#c9d5de; }
.roof-run-planning { border-top:1px solid #526170; padding-top:12px; }
.roof-run-planning input { width:64px; padding:6px; font:inherit; }
@media(max-width:760px) { .roof-run-views { grid-template-columns:1fr; } .roof-run-photo { height:200px; } }
