/* BIMUz CDE v2.8 — қурилиш майдони модули */
.v28-red{color:#d22c2c}.v28-green{color:#16944a}
.v28-overlay-bar{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.v28-overlay-bar select{padding:8px;border:1px solid #cfd8e3;border-radius:7px;font:inherit;background:#fff}
.v28-overlay-scroll{max-height:640px;overflow:auto;border:1px solid #e0e7ef;border-radius:8px;background:#fff;margin-top:8px}
#v28OverlayCanvas{display:block;width:100%;height:auto}
#v28OverlayInfo{font-size:13px}
.v28-table-wrap{overflow-x:auto}
.v28-table{min-width:760px}
.v28-table td small,.v28-table th small{display:block;color:#7b8796;font-size:11px;margin-top:3px;font-weight:400}
.v28-table select,.v28-rule-form select{padding:7px;border:1px solid #cfd8e3;border-radius:7px;font:inherit;background:#fff}
.v28-pct{width:70px;padding:6px}
.v28-overdue td:first-child{border-left:3px solid #d22c2c}
.v28-timeline{min-width:260px}
.v28-track{position:relative;height:16px;background:#f1f5f9;border-radius:4px}
.v28-bar{position:absolute;top:2px;height:12px;background:#bfdcf3;border-radius:3px;overflow:hidden}
.v28-bar i{display:block;height:100%;background:#1686c4}
.v28-bar.late{background:#f6caca}.v28-bar.late i{background:#d22c2c}
.v28-actual{position:absolute;bottom:-3px;height:3px;background:#16944a;border-radius:2px}
.v28-today{position:absolute;top:-3px;bottom:-3px;width:2px;background:#f59e0b}
.v28-rule-form{display:grid;grid-template-columns:1.2fr 1fr 1fr .9fr .8fr .7fr auto;gap:6px;margin-bottom:12px}
.v28-pill-err{background:#fde8e8;color:#b42318}.v28-pill-warn{background:#fff4dc;color:#93590a}.v28-pill-ok{background:#e3f6e8;color:#1d7a3a}
.v28-click{cursor:pointer}.v28-click:hover{border-color:#58a9dd}
#v28RunDetail h4{margin:4px 0 10px}
.v28-pano-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;align-items:start}
.v28-pano-group{border:1px solid #e0e7ef;border-radius:9px;padding:10px 12px}
.v28-pano-group small{display:block;color:#7b8796}
.v28-pano-dates{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.v28-pano-dates button{padding:5px 9px;border:1px solid #cfd8e3;border-radius:6px;background:#f8fafc;cursor:pointer;font-size:12px}
.v28-pano-title{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;font-size:13px}
.v28-pano-title small{display:block;color:#7b8796}
.v28-pano-view{height:460px;border-radius:10px;background:#17283b;overflow:hidden;display:grid;place-items:center;color:#c7d5e4;touch-action:none}
.v28-pano-view canvas{display:block;width:100%;height:100%;cursor:grab}
.v28-pano-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v28-plan{position:relative;overflow:auto;max-height:720px}
.v28-plan.placing{outline:3px dashed #f59e0b;cursor:crosshair}
.v28-plan-img{display:block;width:100%;height:auto}
.v28-marker{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:3px solid #fff;background:#1686c4;box-shadow:0 1px 5px #0006;cursor:pointer;padding:0}
.v28-marker.active{background:#f59e0b;transform:scale(1.3)}
#v28ZoneDialog label,#v28PanoDialog label{display:grid;gap:4px;font-size:13px;color:#5b6675}
@media(max-width:1100px){.v28-rule-form{grid-template-columns:1fr 1fr}.v28-pano-layout{grid-template-columns:1fr}}
@media(max-width:700px){.v28-pano-pair{grid-template-columns:1fr}.v28-pano-view{height:340px}}
.v28-project-select{padding:8px 10px;border:1px solid #cfd8e3;border-radius:7px;font:inherit;background:#fff;min-width:260px;max-width:100%}
