/* v12 A4 print layout: 11 KPI cards, larger type, no overlap. */
@page{size:A4 portrait;margin:4mm}

@media print{
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;animation:none!important;transition:none!important;box-shadow:none!important}
  html,body{width:100%!important;height:100%!important;margin:0!important;padding:0!important;background:#fff!important;color:#102f53!important;overflow:hidden!important}
  body{font-size:7.4pt!important}
  .project-modal,.tabs,footer,.topbar-actions{display:none!important}

  .app-shell{
    width:202mm!important;
    height:289mm!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    grid-template-rows:13mm 57mm 215mm!important;
    gap:2mm!important;
    overflow:hidden!important;
  }

  .hero-panel{
    height:13mm!important;
    min-height:13mm!important;
    margin:0!important;
    padding:2.3mm 3.1mm!important;
    display:flex!important;
    align-items:center!important;
    border-radius:1.5mm!important;
    border-left-width:3px!important;
  }
  .hero-copy{width:100%!important;max-width:none!important}
  .hero-panel h1{font-size:17pt!important;line-height:1!important;margin:0!important;letter-spacing:-.025em!important}
  .hero-panel .eyebrow,.hero-panel .subtitle{display:none!important}

  .stats-grid{
    width:202mm!important;
    height:57mm!important;
    min-height:57mm!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    grid-template-rows:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:1.15mm!important;
    align-items:stretch!important;
    overflow:hidden!important;
  }
  .stats-grid>.stat-card{
    grid-column:span 3!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:1.45mm 1.65mm!important;
    border-radius:1.3mm!important;
    border-top-width:2px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    overflow:hidden!important;
  }
  .stats-grid>.stat-card:nth-child(-n+8){grid-column:span 3!important}
  .stats-grid>.stat-card:nth-child(n+9){grid-column:span 4!important}
  .stat-top{display:flex!important;align-items:flex-start!important;gap:.8mm!important;min-height:3.7mm!important}
  .stat-label{font-size:7.7pt!important;line-height:1.08!important;font-weight:850!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .stat-marker{width:1.45mm!important;height:1.45mm!important;flex:0 0 auto!important;margin-top:.25mm!important}
  .stat-main{margin:.55mm 0 .75mm!important;gap:.7mm!important;align-items:flex-end!important;min-height:4.8mm!important}
  .stat-main .stat-value,.stat-value{font-size:14.8pt!important;line-height:.95!important;font-weight:900!important;margin:0!important;letter-spacing:-.03em!important}
  .stat-main .stat-foot,.stat-foot{font-size:5.55pt!important;line-height:1.08!important;max-width:48%!important;text-align:right!important}
  .stat-breakdown{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.5mm!important;margin-top:auto!important;padding-top:.65mm!important}
  .stat-project{padding:.55mm .65mm!important;border-radius:.65mm!important;min-width:0!important}
  .stat-project span{font-size:4.6pt!important;line-height:1.05!important;margin-bottom:.1mm!important}
  .stat-project strong{font-size:6.35pt!important;line-height:1!important}

  main{
    height:215mm!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    grid-template-rows:88mm 125mm!important;
    gap:2mm!important;
    overflow:hidden!important;
  }
  .tab-panel,.tab-panel.active{
    display:block!important;
    margin:0!important;
    padding:0!important;
    min-height:0!important;
    break-before:auto!important;
    break-after:auto!important;
    page-break-before:auto!important;
    page-break-after:auto!important;
    break-inside:auto!important;
    overflow:hidden!important;
  }
  .report-page-overview>.section-heading,.print-page-heading{display:none!important}

  .report-page-overview{height:88mm!important;min-height:88mm!important}
  .project-pulse-shell{
    height:88mm!important;
    min-height:88mm!important;
    padding:1.9mm!important;
    display:flex!important;
    flex-direction:column!important;
    border-radius:1.5mm!important;
    overflow:hidden!important;
  }
  .pulse-heading{margin-bottom:1.2mm!important;flex:0 0 auto!important}
  .pulse-heading h3{font-size:10.8pt!important;line-height:1!important;margin:0!important}
  .pulse-heading p{font-size:6.15pt!important;line-height:1.15!important;margin:.4mm 0 0!important}
  .project-pulse{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1.35mm!important;align-items:stretch!important;flex:1!important;min-height:0!important}
  .pulse-card{height:100%!important;min-height:0!important;padding:1.7mm!important;border-radius:1.3mm!important;border-top-width:2px!important;display:flex!important;flex-direction:column!important;transform:none!important;overflow:hidden!important}
  .pulse-title{margin-bottom:.9mm!important}
  .pulse-project-name{font-size:10.8pt!important;line-height:1!important;font-weight:900!important}
  .score-pill{font-size:5.7pt!important;padding:.55mm .8mm!important}
  .pulse-section-label{font-size:5.55pt!important;margin:.9mm 0 .5mm!important;letter-spacing:.055em!important}
  .pulse-section-label::before{width:.95mm!important;height:.95mm!important}
  .delivery-list{gap:.55mm!important}
  .delivery-row{padding:.72mm .85mm!important;border-radius:.8mm!important}
  .delivery-head{gap:.45mm!important;margin-bottom:.35mm!important}
  .delivery-label{font-size:6.35pt!important;font-weight:850!important}
  .delivery-count{font-size:5.3pt!important}
  .delivery-rate{font-size:6.3pt!important;font-weight:900!important}
  .metric-track{height:.85mm!important}
  .pulse-count-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.5mm!important}
  .pulse-metric{padding:.65mm .6mm!important;border-radius:.7mm!important;min-width:0!important}
  .pulse-metric span{font-size:4.8pt!important;line-height:1.08!important;margin-bottom:.16mm!important}
  .pulse-metric strong{font-size:6.9pt!important;line-height:1!important}
  .quality-summary{padding:.8mm!important;border-radius:.8mm!important;margin-top:auto!important}
  .ncr-title{font-size:6.35pt!important}.ncr-detail{font-size:5.05pt!important}.ncr-rate,.sla-rate{font-size:7.65pt!important;font-weight:900!important}.sla-label{font-size:5.65pt!important}.ncr-stack,.sla-track{height:.9mm!important}.ncr-stack{margin:.45mm 0 .55mm!important}

  .report-page-contractors{height:125mm!important;min-height:125mm!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
  .report-page-contractors>.section-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;height:7mm!important;min-height:7mm!important;margin:0 0 1mm!important;padding:1mm 0 0!important;border-top:1px solid #dce4ee!important}
  .report-page-contractors>.section-heading .eyebrow,.report-page-contractors>.section-heading .section-note{display:none!important}
  .report-page-contractors>.section-heading h2{font-size:11.2pt!important;line-height:1!important;margin:0!important}
  .contractor-layout{height:117mm!important;min-height:117mm!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:1.4mm!important;align-items:stretch!important;overflow:hidden!important}
  .contractor-card,.quality-card{height:117mm!important;min-height:117mm!important;overflow:hidden!important;padding:1.55mm!important;display:flex!important;flex-direction:column!important;border-radius:1.3mm!important}
  .contractor-card .card-heading,.quality-card .card-heading{margin-bottom:.85mm!important;flex:0 0 auto!important}
  .contractor-card .card-heading h3,.quality-card .card-heading h3{font-size:9.2pt!important;line-height:1.05!important}
  .contractor-card .card-heading p,.quality-card .card-heading p{font-size:5.9pt!important;line-height:1.12!important;margin-top:.25mm!important}
  .mini-tag{display:none!important}
  .accordion-list,.quality-groups{display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:.75mm!important;overflow:hidden!important;flex:1!important;min-height:0!important}
  .contractor-flat-row{grid-template-columns:minmax(27mm,.85fr) 1.7fr 12mm!important;gap:1mm!important;min-height:8.7mm!important;padding:1.05mm 1.25mm!important;border-left-width:2px!important;border-radius:.9mm!important;break-inside:avoid!important}
  .contractor-flat-name{font-size:7.65pt!important;font-weight:900!important}.contractor-flat-rate{font-size:7.25pt!important;font-weight:900!important}.contractor-flat-bar{height:1.25mm!important}
  .quality-group{padding:1.05mm 1.15mm!important;border-radius:.9mm!important;border-left-width:2px!important;break-inside:avoid!important;flex:0 0 auto!important}
  .quality-group-head{margin-bottom:.45mm!important}.quality-group-head strong{font-size:7.65pt!important;line-height:1!important}.count-badge{font-size:5.5pt!important;padding:.45mm .7mm!important}
  .quality-item{padding:.55mm 0!important;font-size:6.5pt!important;line-height:1.12!important}
}
