.emg-kpis { margin: 0 0 18px; }
.emg-kpis .stat { min-height: 118px; justify-content: center; }
.emg-kpis .stat strong { font-size: clamp(21px, 2vw, 30px); }
.emg-kpis .profit { background: linear-gradient(135deg,#0d2f37,#174a52); color:#fff; }
.emg-kpis .profit small { color:#b8d4d6; }
.emg-filterbar { display:grid; grid-template-columns:minmax(220px,2fr) repeat(4,minmax(145px,1fr)) auto; gap:10px; }
.boq-summary { display:flex; gap:22px; justify-content:flex-end; align-items:center; padding:0 4px 12px; color:#64748b; font-size:13px; }
.modal-section { border:1px solid #dfe8eb; background:#f8fbfc; border-radius:14px; padding:16px; margin:14px 0; }
.modal-section h3 { margin:0 0 12px; }
.boq-preview { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:16px 0; }
.boq-preview span { padding:12px 14px; border-radius:12px; background:#eef4f5; color:#64748b; }
.boq-preview b { display:block; margin-top:4px; color:#102a32; font-size:18px; }
@media (max-width:1150px) { .emg-filterbar { grid-template-columns:repeat(3,1fr); } }
@media (max-width:720px) {
  .emg-filterbar { grid-template-columns:1fr; }
  .boq-summary { align-items:flex-start; flex-direction:column; gap:6px; }
  .boq-preview { grid-template-columns:1fr; }
  .modal-section { padding:12px; }
}
