/* MIP-006R-09 Dashboard & PDF enhancements */
html[lang^="ar"], html[dir="rtl"] body { font-family: "Dubai", "Noto Kufi Arabic", "Segoe UI", Tahoma, Arial, sans-serif; }

.mip-kpi-carousel { position: relative; }
.mip-kpi-grid { display:flex!important; overflow-x:auto; gap:14px; scroll-snap-type:x mandatory; scrollbar-width:thin; padding:2px 44px 10px 2px; }
.mip-kpi-card { flex:0 0 calc((100% - 42px)/4); scroll-snap-align:start; }
.mip-kpi-scroll-button { position:absolute; z-index:4; top:50%; transform:translateY(-50%); width:36px; height:36px; border:1px solid #d0d5dd; border-radius:50%; background:#fff; cursor:pointer; box-shadow:0 5px 16px rgba(16,24,40,.12); }
.mip-kpi-scroll-button.prev { left:4px; }
.mip-kpi-scroll-button.next { right:4px; }
html[dir="rtl"] .mip-kpi-scroll-button.prev { left:auto; right:4px; }
html[dir="rtl"] .mip-kpi-scroll-button.next { right:auto; left:4px; }

.mip-table-pair-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; margin-top:18px; align-items:start; }
.mip-table-pair-row .mip-table-section { margin-top:0!important; min-width:0; }
.mip-table-pair-row .mip-market-table { min-width:560px; }

.mip-pdf-modal[hidden] { display:none; }
.mip-pdf-modal { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:20px; background:rgba(16,24,40,.58); }
.mip-pdf-dialog { width:min(560px,100%); max-height:90vh; overflow:auto; background:#fff; border-radius:18px; box-shadow:0 24px 70px rgba(0,0,0,.25); }
.mip-pdf-dialog-header,.mip-pdf-dialog-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; border-bottom:1px solid #eaecf0; }
.mip-pdf-dialog-footer { border-top:1px solid #eaecf0; border-bottom:0; justify-content:flex-end; }
.mip-pdf-dialog-body { padding:20px 22px; }
.mip-pdf-choice { display:block; width:100%; margin:0 0 10px; padding:14px 16px; border:1px solid #d0d5dd; border-radius:12px; background:#fff; text-align:left; font-weight:700; cursor:pointer; }
.mip-pdf-choice:hover { border-color:#008e53; background:#f3fbf7; }
.mip-pdf-section-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 0; }
.mip-pdf-section-list label { display:flex; gap:8px; align-items:center; padding:10px; border:1px solid #eaecf0; border-radius:10px; }
.mip-pdf-close { border:0; background:transparent; font-size:24px; cursor:pointer; }
#mipPdfStage { display:none; }
body.mip-modal-open { overflow:hidden; }

@media (max-width:1180px){ .mip-kpi-card{flex-basis:calc((100% - 14px)/2);} .mip-table-pair-row{grid-template-columns:1fr;} }
@media (max-width:680px){ .mip-kpi-card{flex-basis:88%;} .mip-pdf-section-list{grid-template-columns:1fr;} }

@media print {
  body.mip-pdf-exporting .portal-shell { display:none!important; }
  body.mip-pdf-exporting #mipPdfStage { display:block!important; }
  body.mip-pdf-exporting .mip-pdf-report-section { break-after:page; page-break-after:always; }
  body.mip-pdf-exporting .mip-pdf-report-section:last-child { break-after:auto; page-break-after:auto; }
  body.mip-pdf-exporting .mip-pdf-chart-image { display:block; width:100%; height:auto; }
  body.mip-pdf-exporting .mip-table-pair-row { grid-template-columns:1fr 1fr!important; gap:5mm!important; }
  /* Defensive fallback: KPI content is removed from the print clone in JavaScript. */
  body.mip-pdf-exporting .mip-kpi-section,
  body.mip-pdf-exporting .mip-kpi-carousel,
  body.mip-pdf-exporting .mip-kpi-grid,
  body.mip-pdf-exporting .mip-kpi-card,
  body.mip-pdf-exporting .mip-kpi-scroll-button { display:none!important; }
  .mip-pdf-copyright { position:fixed; bottom:2mm; left:10mm; right:10mm; display:flex!important; justify-content:space-between; border-top:1px solid #cfd8d3; padding-top:2mm; font-size:7pt; color:#667085; }
}
