/* v26.2: natural-height A4 portrait print layout.
   The report follows the real content height instead of stretching projects,
   contractor rows, concern groups, or the full report to the bottom of A4. */
@page{size:A4 portrait;margin:4mm}

@media print{
  html,body{
    width:210mm!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
    background:#fff!important;
  }
  body{margin:0!important;padding:0!important;}

  #printReportV25{
    display:block!important;
    width:202mm!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .print25-report{
    width:202mm!important;
    height:auto!important;
    min-height:0!important;
    display:block!important;
    overflow:visible!important;
  }

  /* Compact header and KPI area remain neatly arranged at the top. */
  .print25-header{
    height:13mm!important;
    min-height:13mm!important;
    margin:0 0 1.1mm!important;
  }

  .print25-kpis{
    height:auto!important;
    min-height:0!important;
    grid-template-rows:none!important;
    grid-auto-rows:minmax(17mm,auto)!important;
    margin:0 0 1.1mm!important;
    overflow:visible!important;
  }
  .print25-kpi{
    height:auto!important;
    min-height:17mm!important;
  }

  /* PROJECT PULSE: every project card ends after its last metric.
     No blank lower half inside the project cards. */
  .print25-projects{
    height:auto!important;
    min-height:0!important;
    margin:0 0 1.1mm!important;
    padding:1.35mm!important;
    display:block!important;
    overflow:visible!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .print25-section-title{
    height:auto!important;
    min-height:6.5mm!important;
    margin:0 0 .65mm!important;
  }
  .print25-project-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:1mm!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    flex:none!important;
    align-items:start!important;
    overflow:visible!important;
  }
  .print25-project-card{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    flex:none!important;
    align-self:start!important;
    justify-content:flex-start!important;
    overflow:visible!important;
    padding:1.05mm!important;
  }
  .print25-project-card>header{min-height:4.3mm!important;margin-bottom:.25mm!important}
  .print25-project-card h4{margin:.4mm 0 .25mm!important}
  .print25-delivery{gap:.28mm!important}
  .print25-delivery-row{padding:.45mm .58mm!important}
  .print25-ops,.print25-ncr-counts{gap:.28mm!important}
  .print25-ops span,.print25-ncr-counts span{padding:.44mm .5mm!important}
  .print25-quality-rate{margin-top:.3mm!important}

  /* LOWER REPORT: panels are content height only.
     Nothing is stretched just to occupy the remaining A4 page height. */
  .print25-bottom{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:.86fr 1.14fr!important;
    gap:1mm!important;
    align-items:start!important;
    overflow:visible!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .print25-panel{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    flex:none!important;
    align-self:start!important;
    display:block!important;
    padding:1.15mm!important;
    overflow:visible!important;
  }
  .print25-panel-title{
    height:auto!important;
    min-height:7.5mm!important;
    margin:0 0 .45mm!important;
  }

  /* Contractor rows use only the space they need. */
  .print25-contractor-list{
    height:auto!important;
    min-height:0!important;
    flex:none!important;
    display:block!important;
    overflow:visible!important;
  }
  .print25-contractor{
    height:7.3mm!important;
    min-height:7.3mm!important;
    max-height:7.3mm!important;
    flex:none!important;
    margin:0 0 .5mm!important;
    padding:.6mm .72mm!important;
    overflow:hidden!important;
  }
  .print25-contractor:last-child{margin-bottom:0!important}

  /* Concern groups and individual concerns are natural height and compact. */
  .print25-concern-projects{
    height:auto!important;
    min-height:0!important;
    flex:none!important;
    display:block!important;
    overflow:visible!important;
  }
  .print25-concern-group{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    flex:none!important;
    margin:0 0 .55mm!important;
    padding:.65mm .78mm!important;
    overflow:visible!important;
  }
  .print25-concern-group:last-child{margin-bottom:0!important}
  .print25-concern-group>header{
    min-height:3mm!important;
    margin-bottom:.25mm!important;
  }
  .print25-concern-group>div{
    height:auto!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    gap:0 .7mm!important;
    overflow:visible!important;
  }
  .print25-concern-group p{
    height:auto!important;
    min-height:3.8mm!important;
    margin:0!important;
    padding:.28mm 0!important;
    overflow:visible!important;
  }
  .print25-concern-group p span{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1.08!important;
  }

  .print25-footer{
    height:auto!important;
    min-height:3mm!important;
    margin-top:.7mm!important;
    padding-top:.45mm!important;
    align-items:flex-start!important;
  }
}
