/* v9: flat contractor performance rows — no dropdowns, no repeated performance entries. */
.contractor-flat-row{
  display:grid;
  grid-template-columns:minmax(120px,.85fr) minmax(160px,2fr) 64px;
  gap:12px;
  align-items:center;
  min-height:48px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-left:4px solid var(--teal);
  border-radius:9px;
  background:#fff;
}
.contractor-flat-name{font-size:13px;color:var(--navy);font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contractor-flat-bar{height:8px;background:#e8edf3;border-radius:999px;overflow:hidden}
.contractor-flat-fill{height:100%;background:var(--teal);border-radius:999px;transform-origin:left;animation:barGrow .72s cubic-bezier(.2,.8,.2,1) both}
.contractor-flat-rate{font-size:12px;font-weight:850;color:var(--navy);text-align:right;white-space:nowrap}
.accordion-list,.quality-groups{justify-content:flex-start!important}

@media(max-width:620px){
  .contractor-flat-row{grid-template-columns:minmax(90px,.9fr) 1.4fr 50px;gap:7px;min-height:42px;padding:8px}
  .contractor-flat-name{font-size:11px}.contractor-flat-rate{font-size:10.5px}.contractor-flat-bar{height:6px}
}

/* Print: pack content from the top, enlarge text, keep the complete report on one A4 portrait page. */
@media print{
  .app-shell{height:289mm!important;grid-template-rows:14mm 47mm 1fr!important;gap:1.5mm!important}
  .stats-grid{height:47mm!important;min-height:47mm!important;gap:1mm!important}
  .stats-grid>.stat-card{padding:1.9mm 2mm!important}
  .stat-label{font-size:7pt!important}
  .stat-main .stat-value,.stat-value{font-size:13.5pt!important}
  .stat-main .stat-foot,.stat-foot{font-size:5.7pt!important}
  .stat-project span{font-size:4.6pt!important}.stat-project strong{font-size:6.2pt!important}

  main{height:auto!important;min-height:0!important;grid-template-rows:94mm auto!important;gap:1.5mm!important;overflow:visible!important}
  .report-page-overview{height:94mm!important}.project-pulse-shell{height:94mm!important;padding:2.2mm!important}
  .pulse-heading h3{font-size:10pt!important}.pulse-heading p{font-size:6.2pt!important}
  .pulse-card{padding:2mm!important}.pulse-project-name{font-size:10pt!important}.score-pill{font-size:6pt!important}
  .pulse-section-label{font-size:5.8pt!important}.delivery-label{font-size:6.4pt!important}.delivery-count{font-size:5.5pt!important}.delivery-rate{font-size:6.4pt!important}
  .pulse-metric span{font-size:5pt!important}.pulse-metric strong{font-size:7pt!important}
  .ncr-title{font-size:6.3pt!important}.ncr-detail{font-size:5.2pt!important}.ncr-rate,.sla-rate{font-size:7.7pt!important}.sla-label{font-size:5.8pt!important}

  .report-page-contractors{height:auto!important;min-height:0!important;overflow:visible!important}
  .report-page-contractors>.section-heading{height:8mm!important;min-height:8mm!important;margin:0 0 1mm!important}
  .report-page-contractors>.section-heading h2{font-size:11pt!important}
  .contractor-layout{height:auto!important;min-height:0!important;overflow:visible!important;grid-template-columns:1fr 1fr!important;gap:1.5mm!important;align-items:start!important}
  .contractor-card,.quality-card{height:auto!important;min-height:0!important;overflow:visible!important;padding:1.8mm!important}
  .contractor-card .card-heading,.quality-card .card-heading{margin-bottom:1.1mm!important}
  .contractor-card .card-heading h3,.quality-card .card-heading h3{font-size:8.8pt!important}
  .contractor-card .card-heading p,.quality-card .card-heading p{font-size:5.8pt!important}
  .accordion-list,.quality-groups{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:1.1mm!important;overflow:visible!important;flex:0 0 auto!important}
  .contractor-flat-row{grid-template-columns:minmax(27mm,.85fr) 1.7fr 12mm!important;gap:1.2mm!important;min-height:9mm!important;padding:1.25mm 1.4mm!important;border-left-width:2px!important;border-radius:1mm!important;break-inside:avoid!important}
  .contractor-flat-name{font-size:7pt!important}.contractor-flat-rate{font-size:6.7pt!important}.contractor-flat-bar{height:1.3mm!important}
  .quality-group{padding:1.35mm!important;border-radius:1mm!important;border-left-width:2px!important;break-inside:avoid!important;flex:0 0 auto!important}
  .quality-group-head{margin-bottom:.65mm!important}.quality-group-head strong{font-size:7.2pt!important}.count-badge{font-size:5.7pt!important;padding:.55mm .8mm!important}
  .quality-item{padding:.75mm 0!important;font-size:6.2pt!important;line-height:1.12!important}
}
