/* v37: print/PDF layout matched to the attached Owest_Quality_Report_tightened.pdf reference.
   Print order remains: Delivery Summary -> Project Pulse -> NCR row -> Contractor Scoring -> Areas of Concern. */

@page{size:A4 portrait;margin:7mm}

@media print{
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  html,body{
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
  }

  #printReportV25,
  .print25-report{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    display:block!important;
  }

  /* Reference uses a generous framed title bar with a navy left accent. */
  .print25-header{
    width:100%!important;
    min-height:16mm!important;
    height:16mm!important;
    margin:0 0 4mm!important;
    padding:2.4mm 4mm!important;
    border:1px solid #dbe5ef!important;
    border-left:1.2mm solid #0c3158!important;
    border-radius:2.3mm!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    break-inside:avoid!important;
  }
  .print25-header span{font-size:6pt!important;letter-spacing:.16em!important;margin-bottom:1mm!important}
  .print25-header h1{font-size:17pt!important;line-height:.95!important}
  .print25-header-meta b{font-size:7.2pt!important}
  .print25-header-meta small{font-size:5.2pt!important;margin-top:.8mm!important}

  /* Delivery summary: full-width framed block as in the supplied PDF. */
  .print25-kpis.v33-print-kpis{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0 0 4mm!important;
    padding:0!important;
    display:block!important;
    overflow:visible!important;
  }
  .v33-print-delivery-summary{
    width:100%!important;
    min-height:48mm!important;
    height:48mm!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #dbe5ef!important;
    border-top:.75mm solid #27a99b!important;
    border-radius:2.2mm!important;
    background:#fff!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    break-inside:avoid!important;
  }
  .v33-print-delivery-heading{
    min-height:14mm!important;
    padding:2.6mm 3.2mm 1.8mm!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    border-bottom:0!important;
  }
  .v33-print-delivery-heading span{font-size:5.4pt!important;letter-spacing:.15em!important;margin-bottom:.7mm!important}
  .v33-print-delivery-heading h2{font-size:11pt!important;line-height:1!important}
  .v33-print-delivery-heading p{font-size:5.2pt!important;margin:.8mm 0 0!important}
  .v33-print-delivery-heading>strong{font-size:5.5pt!important;padding:.65mm 1mm!important}
  .v33-print-delivery-table-wrap{flex:1!important;min-height:0!important;padding:0 2.8mm 2.8mm!important;display:flex!important}
  .v33-print-delivery-table{width:100%!important;height:100%!important;table-layout:fixed!important;border-collapse:collapse!important}
  .v33-print-delivery-table th,.v33-print-delivery-table td{padding:1.15mm 1mm!important;vertical-align:middle!important}
  .v33-print-delivery-table thead th{font-size:5.3pt!important;background:#f2f5f8!important}
  .v33-print-delivery-table tbody th,.v33-print-delivery-table tbody td{font-size:6.1pt!important}

  /* Project Pulse is the dominant middle section in the reference. */
  .print25-projects{
    width:100%!important;
    min-height:80mm!important;
    height:80mm!important;
    margin:0 0 4mm!important;
    padding:2.6mm 3mm 3mm!important;
    border:1px solid #dbe5ef!important;
    border-top:.75mm solid #0c3158!important;
    border-radius:2.2mm!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    break-inside:avoid!important;
  }
  .print25-section-title{
    min-height:10mm!important;
    height:10mm!important;
    margin:0 0 1.2mm!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
  }
  .print25-section-title span{font-size:5.3pt!important;letter-spacing:.14em!important;margin-bottom:.8mm!important}
  .print25-section-title h2{font-size:11.5pt!important}
  .print25-section-title small{font-size:5.2pt!important;padding-top:1.2mm!important}
  .print25-project-grid{
    flex:1!important;
    min-height:0!important;
    height:auto!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:3mm!important;
    align-items:stretch!important;
    overflow:hidden!important;
  }
  .print25-project-card{
    height:100%!important;
    min-height:0!important;
    padding:2.4mm!important;
    border-radius:1.7mm!important;
    overflow:hidden!important;
  }
  .print25-project-card>header{min-height:5.5mm!important;margin-bottom:.8mm!important}
  .print25-project-card>header h3{font-size:10.5pt!important}
  .print25-project-card h4{margin:1.05mm 0 .55mm!important;font-size:5.05pt!important}
  .print25-delivery{gap:.75mm!important}
  .print25-delivery-row{padding:.72mm .75mm!important}
  .print25-ops,.print25-ncr-counts{gap:.75mm!important}
  .print25-ops span,.print25-ncr-counts span{padding:.7mm!important}
  .print25-quality-rate{margin-top:.8mm!important}

  /* NCR cards: one clean row immediately below Project Pulse. */
  .v35-ncr-after-pulse,
  .v33-print-ncr-grid.v35-ncr-after-pulse{
    width:100%!important;
    min-height:22mm!important;
    height:22mm!important;
    margin:0 0 4mm!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:3mm!important;
    overflow:hidden!important;
    break-inside:avoid!important;
  }
  .v35-ncr-after-pulse .print25-kpi,
  .v33-print-ncr-grid.v35-ncr-after-pulse .print25-kpi{
    height:22mm!important;
    min-height:22mm!important;
    padding:1.5mm 1.8mm!important;
    border-radius:1.7mm!important;
  }
  .v35-ncr-after-pulse .print25-kpi-head span{font-size:6.5pt!important}
  .v35-ncr-after-pulse .print25-kpi-main strong{font-size:15pt!important}
  .v35-ncr-after-pulse .print25-kpi-main em{font-size:4.8pt!important}
  .v35-ncr-after-pulse .print25-kpi-projects{gap:.8mm!important;padding-top:.7mm!important}

  /* Lower sections are stacked full-width and deliberately separated. */
  .print25-bottom{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:4mm!important;
    overflow:visible!important;
  }
  .print25-panel{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:2.8mm 3mm!important;
    border:1px solid #dbe5ef!important;
    border-radius:2.2mm!important;
    overflow:hidden!important;
    break-inside:avoid!important;
  }
  .print25-contractors{
    min-height:27mm!important;
    height:27mm!important;
    border-top:.75mm solid #27a99b!important;
  }
  .print25-concerns{
    min-height:52mm!important;
    height:52mm!important;
    border-top:.75mm solid #e46760!important;
  }
  .print25-panel-title{
    min-height:9mm!important;
    height:9mm!important;
    margin:0 0 1.5mm!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
  }
  .print25-panel-title span{font-size:5.2pt!important;letter-spacing:.14em!important;margin-bottom:.7mm!important}
  .print25-panel-title h2{font-size:11pt!important}
  .print25-panel-title small{font-size:5.3pt!important;padding:.65mm .9mm!important}

  /* Seven contractor cards stay in a single row with the name BELOW the bar. */
  .print25-contractor-list{
    height:11.5mm!important;
    min-height:11.5mm!important;
    display:grid!important;
    grid-template-columns:repeat(var(--contractor-count),minmax(0,1fr))!important;
    gap:3mm!important;
    overflow:hidden!important;
  }
  .print25-contractor{
    width:100%!important;
    height:11.5mm!important;
    min-height:11.5mm!important;
    max-height:11.5mm!important;
    padding:1.5mm 1.5mm 1.2mm!important;
    border:1px solid #dfe9ef!important;
    border-radius:1.3mm!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    gap:.85mm .7mm!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  .print25-score-track{grid-column:1!important;grid-row:1!important;height:1.05mm!important}
  .print25-contractor strong{grid-column:2!important;grid-row:1!important;font-size:5.5pt!important;white-space:nowrap!important}
  .print25-contractor b{grid-column:1/-1!important;grid-row:2!important;font-size:5.8pt!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  /* Three equal concern cards with readable multi-line content. */
  .print25-concern-projects{
    height:35.5mm!important;
    min-height:35.5mm!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:3mm!important;
    overflow:hidden!important;
  }
  .print25-concern-group{
    height:35.5mm!important;
    min-height:35.5mm!important;
    max-height:35.5mm!important;
    margin:0!important;
    padding:1.8mm 2mm!important;
    border:1px solid #efdeda!important;
    border-top:.6mm solid #e46760!important;
    border-left:1px solid #efdeda!important;
    border-radius:1.6mm!important;
    background:#fffdfd!important;
    overflow:hidden!important;
  }
  .print25-concern-group>header{min-height:4.5mm!important;margin:0 0 .8mm!important;padding-bottom:.7mm!important}
  .print25-concern-group>header b{font-size:6.4pt!important}
  .print25-concern-group>div{display:block!important;height:auto!important;overflow:hidden!important}
  .print25-concern-group p{min-height:4.1mm!important;padding:.45mm 0!important}
  .print25-concern-group p i{font-size:5pt!important}
  .print25-concern-group p span{font-size:5.8pt!important;line-height:1.15!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}

  .print25-footer{
    width:100%!important;
    min-height:3mm!important;
    height:3mm!important;
    margin-top:4mm!important;
    padding-top:.7mm!important;
    border-top:.2mm solid #e5ebf0!important;
    font-size:4.6pt!important;
    color:#8596a7!important;
  }
}
