/* v25: clean print-only report rebuilt from scratch. */
#printReportV25{display:none}

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

@media print{
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  html,body{width:210mm!important;height:297mm!important;margin:0!important;padding:0!important;background:#fff!important;overflow:hidden!important}
  body>.app-shell,body>.project-modal{display:none!important}
  #printReportV25{display:grid!important}

  .print25-report,.print25-report *{box-sizing:border-box!important}
  .print25-report{
    --navy:#0c3158;--blue:#2d82c7;--teal:#27a99b;--green:#43a96a;--amber:#efa51a;--coral:#e46760;--violet:#7765d7;
    --line:#dbe5ef;--soft:#f3f6f9;--ink:#0b2e52;--muted:#687f95;
    width:202mm!important;height:289mm!important;margin:0!important;padding:0!important;
    grid-template-rows:13mm 55mm 80mm 135mm 2mm!important;gap:1mm!important;
    font-family:Arial,Helvetica,sans-serif!important;color:var(--ink)!important;background:#fff!important;overflow:hidden!important;
  }

  .print25-header{height:13mm!important;display:flex!important;justify-content:space-between!important;align-items:center!important;padding:1.5mm 3mm!important;border:1px solid var(--line)!important;border-left:1mm solid var(--navy)!important;border-radius:1.8mm!important;overflow:hidden!important}
  .print25-header span{display:block!important;font-size:5.5pt!important;line-height:1!important;letter-spacing:.16em!important;font-weight:900!important;color:#0b69b8!important;margin-bottom:.8mm!important}
  .print25-header h1{margin:0!important;font-size:17pt!important;line-height:.95!important;letter-spacing:-.025em!important;color:var(--navy)!important}
  .print25-header-meta{text-align:right!important;display:flex!important;flex-direction:column!important;gap:.8mm!important;max-width:70mm!important}
  .print25-header-meta b{font-size:7.4pt!important;line-height:1!important;color:var(--navy)!important}
  .print25-header-meta small{font-size:5.4pt!important;line-height:1.05!important;color:var(--muted)!important}

  .print25-kpis{height:55mm!important;display:grid!important;grid-template-columns:repeat(15,minmax(0,1fr))!important;grid-template-rows:repeat(3,minmax(0,1fr))!important;gap:.8mm!important;overflow:hidden!important}
  .print25-kpi{min-width:0!important;min-height:0!important;padding:.9mm 1mm!important;border:1px solid var(--line)!important;border-top:2px solid var(--blue)!important;border-radius:1.3mm!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;background:#fff!important}
  .print25-kpi:nth-child(-n+6){grid-column:span 5!important}.print25-kpi:nth-child(n+7){grid-column:span 3!important}
  .print25-kpi.print25-teal{border-top-color:var(--teal)!important}.print25-kpi.print25-green{border-top-color:var(--green)!important}.print25-kpi.print25-amber{border-top-color:var(--amber)!important}.print25-kpi.print25-coral{border-top-color:var(--coral)!important}.print25-kpi.print25-violet{border-top-color:var(--violet)!important}.print25-kpi.print25-blue{border-top-color:var(--blue)!important}
  .print25-kpi-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:.8mm!important;min-height:2.7mm!important}
  .print25-kpi-head span{font-size:6.5pt!important;line-height:1.02!important;font-weight:900!important;color:var(--ink)!important}
  .print25-kpi-head i{width:1.1mm!important;height:1.1mm!important;border-radius:.3mm!important;background:currentColor!important;flex:0 0 auto!important}.print25-teal .print25-kpi-head i{color:var(--teal)!important}.print25-green .print25-kpi-head i{color:var(--green)!important}.print25-amber .print25-kpi-head i{color:var(--amber)!important}.print25-coral .print25-kpi-head i{color:var(--coral)!important}.print25-violet .print25-kpi-head i{color:var(--violet)!important}.print25-blue .print25-kpi-head i{color:var(--blue)!important}
  .print25-kpi-main{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:.7mm!important;margin:.2mm 0 .35mm!important;min-height:4.4mm!important}
  .print25-kpi-main strong{font-size:14pt!important;line-height:.9!important;letter-spacing:-.04em!important;color:var(--ink)!important}
  .print25-kpi-main em{font-style:normal!important;font-size:4.7pt!important;line-height:1.05!important;color:var(--muted)!important;text-align:right!important;max-width:48%!important}
  .print25-kpi-projects{margin-top:auto!important;padding-top:.35mm!important;border-top:.2mm solid #e8eef4!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.35mm!important}
  .print25-kpi-projects>span{min-width:0!important;padding:.3mm .4mm!important;border-radius:.55mm!important;background:var(--soft)!important;overflow:hidden!important}
  .print25-kpi-projects small,.print25-kpi-projects b{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .print25-kpi-projects small{font-size:3.9pt!important;line-height:1!important;color:var(--muted)!important;margin-bottom:.12mm!important}.print25-kpi-projects b{font-size:5.7pt!important;line-height:1!important;color:var(--ink)!important}

  .print25-projects{height:80mm!important;padding:1.35mm!important;border:1px solid var(--line)!important;border-top:.7mm solid var(--navy)!important;border-radius:1.7mm!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
  .print25-section-title{height:8mm!important;min-height:8mm!important;display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:2mm!important;overflow:hidden!important}
  .print25-section-title span,.print25-panel-title span{display:block!important;font-size:4.8pt!important;line-height:1!important;letter-spacing:.12em!important;font-weight:900!important;color:#2f7db3!important;margin-bottom:.55mm!important}
  .print25-section-title h2,.print25-panel-title h2{margin:0!important;font-size:10.2pt!important;line-height:1!important;color:var(--navy)!important}
  .print25-section-title small{font-size:5pt!important;line-height:1.1!important;color:var(--muted)!important;text-align:right!important;padding-top:1mm!important}
  .print25-project-grid{flex:1!important;min-height:0!important;display:grid!important;gap:1mm!important;overflow:hidden!important}
  .print25-project-card{min-width:0!important;min-height:0!important;height:100%!important;padding:1.15mm!important;border:1px solid var(--line)!important;border-top:.55mm solid var(--blue)!important;border-radius:1.25mm!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;background:#fff!important}
  .print25-project-card:nth-child(3n+2){border-top-color:var(--teal)!important}.print25-project-card:nth-child(3n){border-top-color:var(--violet)!important}
  .print25-project-card>header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.8mm!important;min-height:5mm!important;margin-bottom:.35mm!important}
  .print25-project-card>header h3{margin:0!important;font-size:9.5pt!important;line-height:1!important;color:var(--navy)!important}.print25-project-card>header span{font-size:5pt!important;font-weight:900!important;padding:.55mm .7mm!important;border:1px solid var(--line)!important;border-radius:.7mm!important;background:#f7fafc!important;white-space:nowrap!important}
  .print25-project-card h4{margin:.55mm 0 .35mm!important;font-size:4.8pt!important;line-height:1!important;letter-spacing:.08em!important;color:#4e6d89!important}
  .print25-delivery{display:flex!important;flex-direction:column!important;gap:.4mm!important}.print25-delivery-row{padding:.55mm .65mm!important;border:1px solid #e5ecf3!important;border-radius:.7mm!important;background:#f9fbfd!important}.print25-delivery-row>div:first-child{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:.5mm!important;align-items:center!important;margin-bottom:.35mm!important}.print25-delivery-row b{font-size:5.35pt!important;line-height:1!important}.print25-delivery-row span{font-size:4.45pt!important;line-height:1!important;color:var(--muted)!important;white-space:nowrap!important}.print25-delivery-row strong{font-size:5.4pt!important;line-height:1!important;color:#078c7a!important}
  .print25-track{height:.75mm!important;border-radius:99px!important;background:#e4ebf2!important;overflow:hidden!important}.print25-track i{display:block!important;height:100%!important;border-radius:99px!important;background:var(--teal)!important}.print25-track.closure i{background:var(--violet)!important}.print25-track.sla i{background:var(--green)!important}
  .print25-ops,.print25-ncr-counts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.4mm!important}.print25-ops span,.print25-ncr-counts span{min-width:0!important;padding:.55mm .6mm!important;border-radius:.65mm!important;background:#f6f8fb!important;border:1px solid #e4ebf2!important}.print25-ops small,.print25-ops b,.print25-ncr-counts small,.print25-ncr-counts b{display:block!important}.print25-ops small,.print25-ncr-counts small{font-size:4.15pt!important;line-height:1.05!important;color:var(--muted)!important;margin-bottom:.15mm!important}.print25-ops b,.print25-ncr-counts b{font-size:6pt!important;line-height:1!important;color:var(--ink)!important}
  .print25-quality-rate{margin-top:.45mm!important}.print25-quality-rate>div:first-child{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:.25mm!important}.print25-quality-rate b{font-size:5pt!important;line-height:1!important}.print25-quality-rate strong{font-size:6.2pt!important;line-height:1!important;color:#158c65!important}

  .print25-bottom{height:135mm!important;display:grid!important;grid-template-columns:.86fr 1.14fr!important;gap:1mm!important;overflow:hidden!important}
  .print25-panel{height:100%!important;min-width:0!important;min-height:0!important;padding:1.25mm!important;border:1px solid var(--line)!important;border-radius:1.5mm!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;background:#fff!important}.print25-contractors{border-top:.65mm solid var(--teal)!important}.print25-concerns{border-top:.65mm solid var(--coral)!important}
  .print25-panel-title{height:9mm!important;min-height:9mm!important;display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:1mm!important;overflow:hidden!important}.print25-panel-title h2{font-size:9.2pt!important}.print25-panel-title small{font-size:5pt!important;line-height:1!important;font-weight:900!important;color:var(--muted)!important;padding:.7mm .8mm!important;background:#f4f7fa!important;border-radius:.7mm!important;white-space:nowrap!important}
  .print25-contractor-list{flex:1!important;min-height:0!important;display:flex!important;flex-direction:column!important;gap:.5mm!important;overflow:hidden!important}.print25-contractor{flex:1 1 0!important;min-height:0!important;padding:.55mm .7mm!important;display:grid!important;grid-template-columns:minmax(18mm,.85fr) minmax(0,1.6fr) 10mm!important;gap:.7mm!important;align-items:center!important;border:1px solid #e5ecf3!important;border-left:.55mm solid var(--teal)!important;border-radius:.65mm!important;background:#fbfdfd!important;overflow:hidden!important}.print25-contractor b{font-size:6.2pt!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.print25-contractor strong{font-size:6.1pt!important;line-height:1!important;text-align:right!important}.print25-score-track{height:.85mm!important;border-radius:99px!important;background:#e4ebf2!important;overflow:hidden!important}.print25-score-track i{display:block!important;height:100%!important;background:var(--teal)!important;border-radius:99px!important}
  .print25-concern-projects{flex:1!important;min-height:0!important;display:flex!important;flex-direction:column!important;gap:.55mm!important;overflow:hidden!important}.print25-concern-group{flex:1 1 0!important;min-height:0!important;padding:.65mm .75mm!important;border:1px solid #efdeda!important;border-left:.55mm solid var(--coral)!important;border-radius:.65mm!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;background:#fffdfd!important}.print25-concern-group>header{display:flex!important;justify-content:space-between!important;align-items:center!important;min-height:3.3mm!important;margin-bottom:.25mm!important;flex:0 0 auto!important}.print25-concern-group>header b{font-size:6.15pt!important;line-height:1!important}.print25-concern-group>header span{font-size:4.8pt!important;font-weight:900!important;line-height:1!important;padding:.4mm .65mm!important;border-radius:.6mm!important;background:#fff0ee!important;color:#b34d46!important}.print25-concern-group>div{flex:1!important;min-height:0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:1fr!important;gap:.2mm .65mm!important;overflow:hidden!important}.print25-concern-group p{min-width:0!important;min-height:0!important;margin:0!important;padding:.18mm 0!important;display:grid!important;grid-template-columns:3.4mm minmax(0,1fr)!important;gap:.4mm!important;align-items:center!important;border-top:.15mm solid #f1e7e5!important;overflow:hidden!important}.print25-concern-group p i{font-style:normal!important;font-size:4.4pt!important;font-weight:900!important;color:#b34d46!important}.print25-concern-group p span{font-size:5.45pt!important;line-height:1.02!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  .print25-footer{height:2mm!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;font-size:4.4pt!important;line-height:1!important;color:#8596a7!important;overflow:hidden!important}
}
