/* mix-report.css — the A4 report pages built by mix-report.js, used by the
   four Marshall mix-design pages. The same rules style the on-screen preview
   (#mrPreview) and the printout (#printReport), so both look alike. The
   printable area is A4 less the 12 mm page margin = 186 x 273 mm; each
   sheet uses 270 mm of it, so the signature labels at its foot sit 15 mm
   above the bottom edge of the paper. All text is Arial 10 pt. */

/* screen 2: calculator panels that open/close by their heading */
details.mix-fold > summary.mix-fold-summary{
  cursor: pointer;
  font-size: 1.02rem;
  font-weight: 700;
  padding: 2px 0;
  list-style-position: inside;
}
details.mix-fold[open] > summary.mix-fold-summary{ border-bottom: 2px solid currentColor; padding-bottom: 8px; margin-bottom: 12px; }
details.mix-fold > summary.mix-fold-summary:hover{ opacity: 0.8; }

/* BC / DBM Reference items, made click-to-open like the RAP pages' */
#refPanelContent details.mix-ref-fold{ margin-bottom: 10px; border: 1px solid #d9dfe0; border-radius: 4px; padding: 8px 12px 12px; background: #fffdf7; }
#refPanelContent details.mix-ref-fold > summary{ cursor: pointer; font-size: 0.86rem; font-weight: 700; padding: 4px 0; }
#refPanelContent details.mix-ref-fold[open] > summary{ margin-bottom: 8px; }
#refPanelContent .mix-ref-hint{ margin: 4px 0 10px; }

/* sheet frame */
.mr-page{
  box-sizing: border-box;
  height: 270mm;
  display: flex;
  flex-direction: column;
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10pt;
  line-height: 1.25;
}
/* one font and size for everything on the sheet — beats the app theme's
   table font (monospace) and each page's own print table rules */
#printReport .mr-page, #printReport .mr-page *,
#mrPreview .mr-page, #mrPreview .mr-page *{ font-family: Arial, Helvetica, sans-serif; font-size: 10pt; }
.mr-body{ flex: 1 1 auto; min-height: 0; overflow: hidden; margin: 5px 0; }

/* on-screen preview: white A4 sheets with the print margin as padding */
.mr-preview{ margin-top: 16px; overflow-x: auto; padding: 16px 0; background: #e9edee; border-radius: 6px; }
.mr-preview .mr-page{
  width: 210mm;
  height: 297mm;
  padding: 12mm 12mm 15mm;
  margin: 0 auto 16px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}
.mr-preview .mr-page:last-child{ margin-bottom: 0; }

/* print: hidden on screen by each page's style.css; while measuring before
   print it's laid out off-screen at the printed sheet width */
#printReport.mr-measure{ display: block !important; position: absolute; left: -10000px; top: 0; width: 186mm; }
@media print{
  #printReport .mr-page{ break-after: page; }
  #printReport .mr-page:last-child{ break-after: auto; }
}

/* tables: black grid, beating each page's own #printReport table rules */
#printReport .mr-page table, #mrPreview .mr-page table{ width: 100%; border-collapse: collapse; font-size: inherit; }
#printReport .mr-page th, #printReport .mr-page td,
#mrPreview .mr-page th, #mrPreview .mr-page td{
  border: 0.75pt solid #000;
  padding: 1px 4px;
  box-shadow: none;
  color: #000;
}
/* the app theme styles table headings (uppercase, tinted, sticky): sheets
   keep them plain, like the lab's printed formats */
#printReport .mr-page th, #mrPreview .mr-page th{
  position: static;
  background: #fff;
  text-transform: none;
  letter-spacing: 0;
  font-size: inherit;
  font-weight: 700;
}

/* header: logos, then the project rows */
.mr-header{ flex: none; }
.mr-logo-row{ display: flex; gap: 6px; height: 16mm; margin-bottom: 4px; }
.mr-logo-cell{ flex: 1; display: flex; align-items: center; justify-content: center; }
.mr-logo-cell img{ max-height: 15mm; max-width: 100%; object-fit: contain; }
#printReport .mr-page .mr-project td, #mrPreview .mr-page .mr-project td{ padding: 2px 6px; text-align: left; }
.mr-project td:first-child{ width: 32%; font-weight: 700; }

/* page title */
.mr-title{ flex: none; margin-top: 6px; text-align: center; font-weight: 700; text-transform: uppercase; }
.mr-title-sub{ display: block; font-weight: 400; text-transform: none; margin-top: 2px; }

/* footer: the three signature labels at the foot of the sheet — left,
   centre, right — with no box or lines; the space above is for signing */
.mr-sig{ flex: none; display: flex; justify-content: space-between; align-items: flex-end; margin-top: 14mm; padding: 0 6mm; }
.mr-sig-role{ font-weight: 700; white-space: nowrap; }

/* Individual Gradation Test sheets */
.mr-ig-info{ table-layout: fixed; margin-bottom: 6px; }
.mr-ig-info col.c1, .mr-ig-info col.c3{ width: 22%; }
.mr-ig-info col.c2, .mr-ig-info col.c4{ width: 28%; }
#printReport .mr-page .mr-ig-info td, #mrPreview .mr-page .mr-ig-info td{ text-align: left; }
.mr-ig{ table-layout: fixed; }
#printReport .mr-page .mr-ig th, #mrPreview .mr-page .mr-ig th,
#printReport .mr-page .mr-ig td, #mrPreview .mr-page .mr-ig td{ text-align: center; padding: 0 4px; line-height: 1.2; }
.mr-ig th{ font-weight: 700; line-height: 1.15; }
#printReport .mr-page .mr-ig .mr-ig-sample td, #mrPreview .mr-page .mr-ig .mr-ig-sample td{ font-weight: 700; text-align: left; }

/* Average of all fractions: two tables side by side, two rows a sheet */
.mr-avg-grid{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6mm 4mm; margin-top: 4mm; align-items: start; }
.mr-avg{ table-layout: fixed; }
#printReport .mr-page .mr-avg, #mrPreview .mr-page .mr-avg{ width: 100%; min-width: 0; }
#printReport .mr-page .mr-avg th, #mrPreview .mr-page .mr-avg th,
#printReport .mr-page .mr-avg td, #mrPreview .mr-page .mr-avg td{ min-width: 0; white-space: nowrap; overflow: hidden; }
#printReport .mr-page .mr-avg thead tr:first-child th, #mrPreview .mr-page .mr-avg thead tr:first-child th{ white-space: normal; }
.mr-avg col.c-sieve{ width: 21%; }
#printReport .mr-page .mr-avg th, #mrPreview .mr-page .mr-avg th,
#printReport .mr-page .mr-avg td, #mrPreview .mr-page .mr-avg td{ text-align: center; padding: 2px 1px; line-height: 1.2; }
.mr-avg th{ font-weight: 700; }

/* Combined Gradation sheet */
.mr-bl{ table-layout: fixed; margin-top: 1.5mm; }
#printReport .mr-page .mr-bl, #mrPreview .mr-page .mr-bl{ width: 100%; }
#printReport .mr-page .mr-bl th, #mrPreview .mr-page .mr-bl th,
#printReport .mr-page .mr-bl td, #mrPreview .mr-page .mr-bl td{ text-align: center; padding: 1px 2px; line-height: 1.15; min-width: 0; }
#printReport .mr-page .mr-bl .mr-bl-cap, #mrPreview .mr-page .mr-bl .mr-bl-cap{ border: none; padding-bottom: 2px; }
#printReport .mr-page .mr-bl .mr-left, #mrPreview .mr-page .mr-bl .mr-left{ text-align: left; white-space: nowrap; overflow: hidden; }
.mr-bl .mr-bold{ font-weight: 700; }
.mr-bl-sum col.c-frac{ width: 21%; }
.mr-bl-comb col.c-sieve{ width: 11%; }
.mr-bl-comb col.c-total{ width: 9%; }
.mr-bl-comb col.c-mid{ width: 9%; }
.mr-bl-comb col.c-lim{ width: 9%; }
.mr-grad-graph{ display: block; width: 100%; height: auto; margin-top: 2mm; }
#printReport .mr-page .mr-grad-graph text, #mrPreview .mr-page .mr-grad-graph text{ font-size: 10pt; fill: #000; }

/* Combined Gradation Test (Lab JMF): Individual Gradation layout + limits */
.mr-jmf col.c-sieve{ width: 15%; }
.mr-jmf col.c-lim{ width: 13%; }
#printReport .mr-page .mr-jmf td, #mrPreview .mr-page .mr-jmf td{ padding: 2px 4px; }
.mr-jmf .mr-bold{ font-weight: 700; }
#printReport .mr-page .mr-jmf .mr-ig-sample td:nth-child(n+6), #mrPreview .mr-page .mr-jmf .mr-ig-sample td:nth-child(n+6){ text-align: center; }

/* Permissible Job Mix Formula (JMF) sheet */
.mr-jmfp{ table-layout: fixed; margin-top: 4mm; }
#printReport .mr-page .mr-jmfp th, #mrPreview .mr-page .mr-jmfp th,
#printReport .mr-page .mr-jmfp td, #mrPreview .mr-page .mr-jmfp td{ text-align: center; padding: 4px 4px; }
/* JMF under the proportioning (Design Report page 3) */
.mr-prop-jmf{ width: 100%; border-collapse: collapse; margin-top: 6mm; }
.mr-drp-sheet .mr-prop-jmf th, .mr-drp-sheet .mr-prop-jmf td{ text-align: center; padding: 3px 4px; }
.mr-prop-jmf th{ font-weight: 700; }
.mr-prop-jmf .mr-prop-jmf-cap th{ background: #d9d9d9 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
#printReport .mr-page .mr-prop-jmf th, .mr-drp-sheet .mr-prop-jmf th{ border: 0.75pt solid #000 !important; }
.mr-note{ margin: 3mm 0 0; }

/* copied section content */
.mr-body .table-scroll{ overflow: visible; }
.mr-body h3, .mr-body h4{ margin: 8px 0 4px; }
.mr-body .mr-val{ display: inline-block; min-width: 1ch; }
.mr-body svg{ max-width: 100%; height: auto; }

/* Combined Gradation of the Lab JMF samples (BC + RAP): info block with the
   blend proportions, the samples side by side, average, mid limit, limits */
.mr-ljs-info col.c1{ width: 13%; }
.mr-ljs-info col.c2{ width: 25%; }
.mr-ljs-info col.c-prop{ width: 22%; }
.mr-ljs-info col.c3{ width: 18%; }
.mr-ljs-info col.c4{ width: 22%; }
.mr-ljs col.c-sieve{ width: 11%; }
.mr-ljs col.c-avg{ width: 10%; }
.mr-ljs col.c-mid{ width: 8%; }
.mr-ljs col.c-lim{ width: 10%; }
/* Average of Specific Gravities for Hot Bin Sample (BC + RAP) */
.mr-hs col.c-desc{ width: 48%; }
.mr-hs col.c-unit{ width: 7%; }
.mr-hs col.c-avg{ width: 12%; }
#printReport .mr-page .mr-hs td, #mrPreview .mr-page .mr-hs td{ padding: 2px 4px; }
.mr-hs .mr-hs-head td{ font-weight: 700; }
/* Bulk & Apparent Specific Gravity of Total Aggregate (BC + RAP) */
.mr-gs col.c-sl{ width: 7%; }
.mr-gs col.c-bin{ width: 24%; }
.mr-gs col.c-g, .mr-gs col.c-p{ width: 7%; }
.mr-gs col.c-gv, .mr-gs col.c-pv{ width: 13%; }
.mr-gs col.c-rem{ width: 29%; }
#printReport .mr-page .mr-gs td, #mrPreview .mr-page .mr-gs td,
#printReport .mr-page .mr-gs th, #mrPreview .mr-page .mr-gs th{ padding: 3px 4px; }
#printReport .mr-page .mr-gs .mr-gs-cap, #mrPreview .mr-page .mr-gs .mr-gs-cap{ background: #e6e6e6; }
.mr-gs-formula{ width: 100%; margin-top: 3mm; border-collapse: collapse; }
#printReport .mr-page .mr-gs-formula td, #mrPreview .mr-page .mr-gs-formula td{ border: none; padding: 2px 4px; vertical-align: middle; }
.mr-gs-formula td.mr-gs-name{ width: 38%; text-align: center; }
.mr-gs-formula td.mr-gs-eq{ width: 5%; text-align: center; }
.mr-frac{ display: inline-flex; flex-direction: column; align-items: center; font-weight: 700; }
.mr-frac span:first-child{ border-bottom: 1px solid #000; padding: 0 6px 2px; }
.mr-frac span:last-child{ padding: 2px 6px 0; }
.mr-gs-gap{ height: 8mm; }
/* Effective Specific Gravity of Aggregate from Gmm (BC + RAP) */
.mr-gse col.c-desc{ width: 30%; }
.mr-gse col.c-unit{ width: 6%; }
#printReport .mr-page .mr-gse td, #mrPreview .mr-page .mr-gse td,
#printReport .mr-page .mr-gse th, #mrPreview .mr-page .mr-gse th{ padding: 3px 2px; }
.mr-gse tr.mr-bold td{ font-weight: 700; }
/* A4 landscape sheets (wide tables): 273 x 186 mm printable, the sheet
   183 mm tall so the signatures stay 15 mm above the paper's bottom edge */
.mr-page.mr-page-land{ height: 183mm; }
.mr-land-wrap{ display: contents; }
.mr-preview .mr-page.mr-page-land{ width: 297mm; height: 210mm; }
#printReport.mr-measure .mr-page-land{ width: 271mm; }
/* on paper: the 271 x 183 mm landscape sheet turned 90 degrees onto the
   portrait page (top of the sheet along the paper's left edge) */
@media print{
  #printReport .mr-land-wrap{ display: block; position: relative; width: 186mm; height: 272mm; overflow: hidden; break-after: page; }
  #printReport .mr-land-wrap:last-child{ break-after: auto; }
  #printReport .mr-land-wrap .mr-page-land{
    position: absolute; left: 0; top: 0; width: 271mm; height: 183mm; padding: 0 1px;
    transform-origin: 0 0; transform: translateY(272mm) rotate(-90deg); break-after: auto;
  }
}

/* Marshall Properties Test (MS-2) */
.mr-ms-info{ table-layout: fixed; margin-bottom: 6px; }
#printReport .mr-page .mr-ms-info td, #mrPreview .mr-page .mr-ms-info td{ text-align: left; }
#printReport .mr-page .mr-ms th, #mrPreview .mr-page .mr-ms th{ line-height: 1.1; vertical-align: middle; }
#printReport .mr-page .mr-ms td, #mrPreview .mr-page .mr-ms td{ padding: 2px 1px; }

/* Trial mix graphs: two per row */
.mr-tg{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3mm 5mm; }
.mr-tg-cell{ border: 0.75pt solid #000; padding: 1.5mm; }
.mr-tg-title{ font-weight: 700; text-align: center; margin-bottom: 1mm; }
.mr-tg-svg{ display: block; width: 82%; height: auto; margin: 0 auto; }
.mr-ms .mr-ms-avg td{ font-weight: 700; }

/* confirmatory / water sensitivity / refusal density sheets */
.mr-mx-cap{ font-weight: 700; text-align: center; margin: 2mm 0 1mm; }
.mr-mx + .mr-mx-cap{ margin-top: 3mm; }
#printReport .mr-page table.mr-mx, #mrPreview .mr-page table.mr-mx{ width: 99.5%; }
#printReport .mr-page .mr-mx td, #mrPreview .mr-page .mr-mx td{ padding: 1px; line-height: 1.1; }

/* Narrow range of acceptable bitumen content */
#printReport .mr-page .mr-nr td, #mrPreview .mr-page .mr-nr td, #printReport .mr-page .mr-nr th, #mrPreview .mr-page .mr-nr th{ padding: 4px 6px; }
#printReport .mr-page .mr-nr td:nth-child(2), #mrPreview .mr-page .mr-nr td:nth-child(2){ text-align: left; }
.mr-nr tr.avg-col td{ font-weight: 700; }

/* Narrow range acceptable limit (narrow strip method) â€” screen and report */
.ns-wrap .ns-table{ width: 100%; border-collapse: collapse; margin-bottom: 3mm; }
.ns-wrap .ns-table th, .ns-wrap .ns-table td{ border: 0.75pt solid #000; padding: 2px 4px; text-align: center; }
.ns-wrap .ns-units td{ background: #dff3f7; }
.ns-wrap .ns-svg{ display: block; width: 100%; height: auto; max-width: 720px; margin: 0 auto; }
.ns-wrap .ns-svg text{ font-family: Arial, Helvetica, sans-serif; font-size: 11px; fill: #000; }
.ns-wrap .ns-legend{ display: flex; gap: 28px; justify-content: center; margin: 2mm 0 3mm; }
.ns-wrap .ns-legend span{ display: inline-flex; align-items: center; gap: 6px; }
.ns-wrap .ns-key{ display: inline-block; width: 26px; height: 12px; border: 0.75pt solid #000; }
.ns-wrap .ns-key-low{ background: repeating-linear-gradient(0deg, #bcd7f2 0 2px, #1f4f8f 2px 3px); }
.ns-wrap .ns-key-pass{ background: #f8cfae radial-gradient(#9a6a45 0.7px, transparent 0.8px) 0 0 / 6px 6px; }
.ns-wrap .ns-key-high{ background: repeating-linear-gradient(45deg, #3f9b52 0 3px, #1d5e2b 3px 5px); }
.ns-wrap .ns-final-head{ font-weight: 700; margin: 2mm 0 1mm; }
.ns-wrap .ns-final{ border-collapse: collapse; margin-left: 6mm; }
.ns-wrap .ns-final td{ border: none !important; padding: 1px 8px; text-align: left; }
.ns-wrap .ns-foot{ margin: 2mm 0 0; }
@media print{ .ns-wrap .ns-key, .ns-wrap .ns-units td{ -webkit-print-color-adjust: exact; print-color-adjust: exact; } }#printReport .mr-page .ns-wrap table.ns-final, #mrPreview .mr-page .ns-wrap table.ns-final{ width: auto; }
.ns-wrap table.ns-final{ width: auto !important; }
.ns-wrap table.ns-final{ min-width: 0 !important; }

/* keep the outer table lines inside the sheet body (which clips overflow):
   collapsed borders draw half their width outside the table's box */
.mr-body-inner{ box-sizing: border-box; padding: 1px; }

/* printed sheets: keep 1px clear at the left and right so the outer table
   lines (header project table included) aren't trimmed at the paper's edge */
#printReport .mr-page{ padding: 0 1px; }

/* Design Report — Front Page (print and the screen section) */
.mr-front{ display: flex; flex-direction: column; align-items: center; justify-content: space-evenly; min-height: 150mm; gap: 8mm; }
.mr-front-pic{ display: flex; align-items: center; justify-content: center; width: 100%; min-height: 20mm; }
.mr-front-pic img{ display: block; max-width: 100%; max-height: 95mm; object-fit: contain; }
.mr-front-pic-empty{ border: 1px dashed #b9c4c6; min-height: 60mm; color: #7a8a8c; font-style: italic; }
.mr-front-box{ border: 1.5pt solid #000; padding: 8mm 12mm; font-weight: 700; text-align: center; letter-spacing: 0.3px; min-width: 60%; }
@media print{ .mr-front-pic-empty{ display: none; } }
/* the screen section shows the page with the report's own look */
.mr-front-panel .mr-preview{ margin-top: 12px; }
#mrFrontPreview .mr-page, #mrFrontPreview .mr-page *{ font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: #000; }
#mrFrontPreview .mr-page table{ width: 100%; border-collapse: collapse; }
#mrFrontPreview .mr-page th, #mrFrontPreview .mr-page td{ border: 0.75pt solid #000; padding: 2px 6px; text-align: left; background: #fff; text-transform: none; letter-spacing: 0; position: static; }
/* Design Report — Page 2: Physical Properties of Bitumen and Aggregates */
.mr-pp{ table-layout: fixed; }
.mr-pp col.c-sl{ width: 6%; }
.mr-pp col.c-prop{ width: 46%; }
.mr-pp col.c-v{ width: 15%; }
.mr-pp col.c-m{ width: 18%; }
#printReport .mr-page .mr-pp td, #mrPreview .mr-page .mr-pp td{ text-align: center; padding: 3px 5px; }
#printReport .mr-page .mr-pp td.mr-left, #mrPreview .mr-page .mr-pp td.mr-left{ text-align: left; }
#printReport .mr-page .mr-pp .mr-pp-sec td, #mrPreview .mr-page .mr-pp .mr-pp-sec td{ text-align: left; font-weight: 700; background: #e8e8e8; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.mr-pp .mr-pp-head td{ font-weight: 700; }
/* the screen section */
.mr-pp-wrap{ max-width: 900px; }
.mr-pp-wrap .mr-pp{ width: 100%; border-collapse: collapse; }
.mr-pp-wrap .mr-pp td{ border: 1px solid #9aa7a9; padding: 4px 6px; text-align: center; }
.mr-pp-wrap .mr-pp td.mr-left{ text-align: left; }
.mr-pp-wrap .mr-pp-sec td{ background: #e8eeef; font-weight: 700; text-align: left; }
.mr-pp-wrap .mr-pp-head td{ font-weight: 700; }
.mr-pp-wrap .mr-pp-in{ width: 90px; text-align: center; }
.mr-pp-wrap .mr-pp-auto{ font-weight: 600; color: #0f6e56; cursor: help; }
/* Design Report section on screen: the first pages as A4 sheets, two per
   row where the screen is wide enough, one per row otherwise */
.mr-drp-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(min(210mm, 100%), 210mm)); justify-content: center; align-items: start; gap: 16px; margin-top: 12px; padding: 16px; background: #e9edee; border-radius: 6px; overflow-x: auto; }
.mr-drp-sheet .mr-page{ width: 210mm; height: 297mm; padding: 12mm 12mm 15mm; margin: 0; background: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25); }
/* landscape sheets on screen (batch sheet): a full row of the grid, A4 across */
/* landscape sheets on screen (batch sheet): each one turned onto an upright
   A4 sheet in its own grid cell, the same way they print */
.mr-drp-sheet.mr-drp-land{ display: contents; }
.mr-drp-rot{ position: relative; width: 210mm; height: 297mm; overflow: hidden; background: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25); }
.mr-drp-rot .mr-page{ position: absolute; top: 0; left: 0; transform-origin: top left; transform: translateY(297mm) rotate(-90deg); box-shadow: none !important; }
.mr-drp-sheet .mr-page.mr-page-land{ width: 297mm; height: 210mm; padding: 12mm 13mm 15mm; }
.mr-drp-sheet .mr-page, .mr-drp-sheet .mr-page *{ font-family: Arial, Helvetica, sans-serif; font-size: 10pt; color: #000; }
.mr-drp-sheet .mr-page table{ width: 100%; border-collapse: collapse; }
.mr-drp-sheet .mr-page th, .mr-drp-sheet .mr-page td{ border: 0.75pt solid #000; padding: 2px 6px; background: #fff; text-transform: none; letter-spacing: 0; position: static; box-shadow: none; }
.mr-drp-sheet .mr-project td{ text-align: left; }
.mr-drp-sheet .mr-pp td{ text-align: center; padding: 3px 5px; }
.mr-drp-sheet .mr-pp td.mr-left{ text-align: left; }
.mr-drp-sheet .mr-pp .mr-pp-sec td{ text-align: left; font-weight: 700; background: #e8e8e8; }
.mr-drp-sheet .mr-pp-in{ width: 70px; height: 18px; box-sizing: border-box; padding: 0 2px; margin: 0; text-align: center; border: none; border-bottom: 1px dashed #9fb3b5; border-radius: 0; background: #f4fbf8; box-shadow: none; min-height: 0; }
.mr-drp-sheet .mr-pp-auto{ color: #0f6e56 !important; font-weight: 700; cursor: help; }
/* Page 2 on screen: editable property lists (+ Add line / ×) */
.mr-drp-sheet .mr-pp-edit col.c-prop{ width: 40%; }
.mr-drp-sheet .mr-pp-edit col.c-del{ width: 5%; }
.mr-drp-sheet .mr-pp-edit .mr-pp-in{ width: 100%; }
.mr-drp-sheet .mr-pp-edit td.mr-left .mr-pp-in{ text-align: left; }
.mr-drp-sheet .mr-pp-del-col{ border: none !important; background: transparent !important; }
.mr-drp-sheet .mr-pp-del{ border: none; background: none; color: #a32d2d; font-weight: 700; cursor: pointer; padding: 0 4px; font-size: 12pt !important; line-height: 1; }
.mr-drp-sheet .mr-pp-add{ float: right; border: 1px solid #7a8a8c; background: #fff; border-radius: 3px; padding: 0 6px; cursor: pointer; font-size: 9pt !important; font-weight: 400; }
.mr-drp-sheet input.mr-pp-auto{ color: #0f6e56 !important; font-weight: 700; }
/* The app theme drops the bottom border of a table's last row (and other
   cell borders) with forced rules; report sheets keep every grid line. */
#printReport .mr-page th, #printReport .mr-page td,
#mrPreview .mr-page th, #mrPreview .mr-page td,
.mr-drp-sheet .mr-page th, .mr-drp-sheet .mr-page td{ border: 0.75pt solid #000 !important; }
/* cells that are meant to be borderless */
#printReport .mr-page .mr-bl .mr-bl-cap, #mrPreview .mr-page .mr-bl .mr-bl-cap,
.mr-page .mr-gs-formula td, .mr-page .ns-final td,
.mr-drp-sheet .mr-page td.mr-pp-del-col{ border: none !important; }
/* Page 1 on screen: the empty picture space with its own Add button */
.mr-front-pic-empty{ flex-direction: column; gap: 10px; }
.mr-drp-sheet .mr-front-add{ font-family: inherit; font-size: 10pt !important; font-style: normal; font-weight: 700; color: #fff !important; background: #0f6e56; border: none; border-radius: 4px; padding: 6px 14px; cursor: pointer; }
.mr-drp-sheet .mr-front-add:hover{ background: #0b5745; }
/* Design Report — Page 3: Proportioning (RAP mixes) */
.mr-prop{ table-layout: fixed; width: 100%; border-collapse: collapse; }
.mr-prop col.c1{ width: 22%; } .mr-prop col.c2{ width: 17%; } .mr-prop col.c3{ width: 15%; }
.mr-prop col.c4{ width: 15%; } .mr-prop col.c5{ width: 15%; } .mr-prop col.c6{ width: 16%; }
#printReport .mr-page .mr-prop td, #mrPreview .mr-page .mr-prop td, .mr-drp-sheet .mr-prop td{ text-align: center; padding: 4px 5px; vertical-align: middle; }
#printReport .mr-page .mr-prop td.mr-left, #mrPreview .mr-page .mr-prop td.mr-left, .mr-drp-sheet .mr-prop td.mr-left{ text-align: left; }
#printReport .mr-page .mr-prop td.mr-right, #mrPreview .mr-page .mr-prop td.mr-right, .mr-drp-sheet .mr-prop td.mr-right{ text-align: right; }
#printReport .mr-page .mr-prop td.mr-prop-subj, #mrPreview .mr-page .mr-prop td.mr-prop-subj, .mr-drp-sheet .mr-prop td.mr-prop-subj{ text-align: left; padding: 6px; line-height: 1.35; }
.mr-prop .mr-bold-row td{ font-weight: 700; }
.mr-drp-sheet .mr-prop-subject{ width: 100%; box-sizing: border-box; font: inherit; resize: vertical; border: 1px dashed #9fb3b5; background: #f4fbf8; margin-top: 3px; }
.mr-drp-sheet .mr-prop-obc{ margin-top: 4px; font-size: 9pt !important; }
.mr-drp-sheet .mr-prop-obc *{ font-size: 9pt !important; }
.mr-drp-sheet .mr-prop-obc input{ width: 60px; }
/* Design Report — Page 4: Mix Design Properties + temperatures */
.mr-p4{ table-layout: fixed; width: 100%; border-collapse: collapse; }
.mr-p4 col.c-sl{ width: 7%; } .mr-p4 col.c-desc{ width: 38%; } .mr-p4 col.c-res{ width: 16%; } .mr-p4 col.c-meth{ width: 15%; } .mr-p4 col.c-lim{ width: 24%; }
.mr-p4t{ width: 82%; margin: 6mm auto 0; border-collapse: collapse; table-layout: fixed; }
#printReport .mr-page .mr-p4 td, #mrPreview .mr-page .mr-p4 td, .mr-drp-sheet .mr-p4 td,
#printReport .mr-page .mr-p4t td, #mrPreview .mr-page .mr-p4t td, .mr-drp-sheet .mr-p4t td{ text-align: center; padding: 4px 5px; vertical-align: middle; }
#printReport .mr-page .mr-p4 td.mr-left, #mrPreview .mr-page .mr-p4 td.mr-left, .mr-drp-sheet .mr-p4 td.mr-left{ text-align: left; }
#printReport .mr-page .mr-p4t .mr-p4t-cap td, #mrPreview .mr-page .mr-p4t .mr-p4t-cap td, .mr-drp-sheet .mr-p4t .mr-p4t-cap td{ font-weight: 700; background: #e0e0e0; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.mr-p4 .mr-bold-row td, .mr-p4t .mr-bold-row td{ font-weight: 700; }
#printReport .mr-page .mr-p4 tr:not(.mr-bold-row) td, .mr-drp-sheet .mr-p4 tr:not(.mr-bold-row) td{ height: 7mm; }
/* Design Report — Page 5: MS-2 formulas */
.mr-ms2{ width: 100%; border-collapse: collapse; table-layout: fixed; }
.mr-ms2 col.c1{ width: 46%; } .mr-ms2 col.c2{ width: 14%; } .mr-ms2 col.c3{ width: 20%; } .mr-ms2 col.c4{ width: 20%; }
.mr-ms2-b{ margin-top: 0; }
.mr-ms2-b col.d1{ width: 8%; } .mr-ms2-b col.d2{ width: 32%; } .mr-ms2-b col.d3{ width: 42%; } .mr-ms2-b col.d4{ width: 18%; }
#printReport .mr-page .mr-ms2 td, #mrPreview .mr-page .mr-ms2 td, .mr-drp-sheet .mr-ms2 td{ text-align: center; padding: 6px 5px; vertical-align: middle; }
#printReport .mr-page .mr-ms2 td.mr-left, #mrPreview .mr-page .mr-ms2 td.mr-left, .mr-drp-sheet .mr-ms2 td.mr-left{ text-align: left; }
#printReport .mr-page .mr-ms2 td.mr-right, .mr-drp-sheet .mr-ms2 td.mr-right{ text-align: right; }
.mr-ms2 .mr-ms2-gap td{ height: 5mm; }
.mr-ms2 .mr-ms2-cap td{ font-weight: 700; }
.mr-ms2 .mr-bold-row td{ font-weight: 700; }
.mr-ms2 .mr-frac{ font-weight: 400; vertical-align: middle; margin: 0 4px; }

/* Marshall Properties Calculation at OBC */
.mr-mpc{ width: 100%; border-collapse: collapse; table-layout: fixed; }
.mr-mpc col.c1{ width: 8%; } .mr-mpc col.c2{ width: 58%; } .mr-mpc col.c3{ width: 10%; } .mr-mpc col.c4{ width: 9%; } .mr-mpc col.c5{ width: 15%; }
#printReport .mr-page .mr-mpc td, .mr-drp-sheet .mr-mpc td{ text-align: center; padding: 1px 5px; line-height: 1.25; vertical-align: middle; }
.mr-mpc .mr-frac span:first-child{ padding-bottom: 1px; } .mr-mpc .mr-frac span:last-child{ padding-top: 1px; }
#printReport .mr-page .mr-mpc td.mr-left, .mr-drp-sheet .mr-mpc td.mr-left{ text-align: left; }
.mr-mpc .mr-mpc-bold td, .mr-mpc td.mr-mpc-val{ font-weight: 700; }
#printReport .mr-page .mr-mpc td.mr-mpc-desc, .mr-drp-sheet .mr-mpc td.mr-mpc-desc{ border-bottom: 0 !important; }
#printReport .mr-page .mr-mpc td.mr-mpc-f, .mr-drp-sheet .mr-mpc td.mr-mpc-f{ border-top: 0 !important; padding: 0 5px 2px; }
#printReport .mr-page .mr-mpc td[rowspan], .mr-drp-sheet .mr-mpc td[rowspan], #printReport .mr-page .mr-mpc tr:last-child td, .mr-drp-sheet .mr-mpc tr:last-child td{ border-bottom: 0.75pt solid #000 !important; }
.mr-mpc-eq{ display: inline-flex; align-items: center; gap: 10px; }
.mr-mpc-lhs{ min-width: 34px; padding-left: 14px; }
.mr-mpc .mr-frac{ font-weight: 400; }
.mr-mpc sub{ line-height: 0; }

/* Calculation Sheet for the Batch Sheet (landscape) */
.mr-batch{ width: 100%; border-collapse: collapse; table-layout: fixed; }
.mr-batch col.c1{ width: 9%; } .mr-batch col.c2{ width: 39%; } .mr-batch col.c3{ width: 44%; } .mr-batch col.c4{ width: 8%; }
#printReport .mr-page .mr-batch td, .mr-drp-sheet .mr-batch td{ text-align: center; padding: 1px 4px; line-height: 1.15; vertical-align: middle; }
.mr-batch td.mr-batch-calc{ font-size: 95%; }
#printReport .mr-page .mr-batch td.mr-left, .mr-drp-sheet .mr-batch td.mr-left{ text-align: left; }
/* every cell closed on all four sides, the last row and merged cells included */
#printReport .mr-page .mr-batch td, .mr-drp-sheet .mr-batch td{ border: 0.75pt solid #000 !important; }
.mr-batch .mr-batch-head td, .mr-batch td.mr-batch-pb, .mr-batch td.mr-batch-res, .mr-batch .mr-batch-note td:first-child{ font-weight: 700; }
.mr-batch .mr-frac{ font-weight: 400; vertical-align: middle; margin: 0 2px; font-size: 88%; line-height: 1.05; }
.mr-batch .mr-frac span:first-child{ padding-bottom: 1px; } .mr-batch .mr-frac span:last-child{ padding-top: 1px; }
.mr-batch sub, .mr-batch sup{ line-height: 0; }

/* Marshall trial table (section "Marshall Test Result"): boxes only as wide
   as their largest value — Pb 9.99, Mould No. 99, Spec. Height 63.50,
   Dial Gauge 5 digits, Correction Ratio 4, Flow 3 */
#marshallTrialTable input{ min-width: 0 !important; box-sizing: border-box; padding-left: 3px; padding-right: 3px; }
#marshallTrialTable .pbInput{ width: calc(4ch + 14px) !important; }
#marshallTrialTable .mouldInput{ width: calc(2ch + 14px) !important; }
#marshallTrialTable .specHeightInput{ width: calc(5ch + 14px) !important; }
#marshallTrialTable .dialInput{ width: calc(5ch + 14px) !important; }
#marshallTrialTable .corrInput{ width: calc(5ch + 18px) !important; }
#marshallTrialTable .flowInput{ width: calc(5ch + 18px) !important; }
/* Correction Ratio set from the volume (MS-2 Table 7.1): locked, shaded */
#marshallTrialTable .corrInput[readonly], .mx-table .mxCorr[readonly]{ background: #e9eeee !important; color: #333; cursor: default; }

/* Hot Mix Design Temperature Control */
.mr-tc-info{ display: flex; justify-content: space-between; align-items: center; margin: 2mm 0 3mm; gap: 12px; }
.mr-tc{ width: 100%; border-collapse: collapse; table-layout: fixed; }
.mr-tc col.c1{ width: 11%; } .mr-tc col.c2{ width: 11%; }
.mr-tc td{ text-align: center; padding: 1px 4px; vertical-align: middle; }
#printReport .mr-page .mr-tc td, .mr-drp-sheet .mr-tc td, #tc-panel .mr-tc td{ border: 0.75pt solid #000 !important; text-align: center; }
.mr-tc .mr-tc-head td{ font-weight: 400; }
.mr-tc .mr-tc-gap td, .mr-tc .mr-tc-spec td{ background: #d9d9d9 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.mr-tc .mr-tc-gap td{ height: 9px; padding: 0; }
.mr-tc-hammer{ margin-top: 4mm; }
.mr-tc-hammer span{ margin-left: 40px; }
#tc-panel .mr-tc{ max-width: 900px; }
#tc-panel .mr-tc input{ width: 100%; box-sizing: border-box; text-align: center; }
#tc-panel .mr-tc-hammer input{ width: 160px; }
#tc-panel .mr-tc-date{ width: 160px; }

/* Formulas & Notations */
.mr-notes{ width: 100%; border-collapse: collapse; table-layout: fixed; }
.mr-notes col.c1{ width: 18%; } .mr-notes col.c2{ width: 16%; } .mr-notes col.c3{ width: 6%; } .mr-notes col.c4{ width: 60%; }
#printReport .mr-page .mr-notes td, .mr-drp-sheet .mr-notes td{ text-align: center; padding: 1px 6px; line-height: 1.25; vertical-align: middle; }
#printReport .mr-page .mr-notes td.mr-left, .mr-drp-sheet .mr-notes td.mr-left{ text-align: left; }
.mr-notes .mr-bold-row td{ font-weight: 700; }
#printReport .mr-page .mr-notes td.mr-notes-no, .mr-drp-sheet .mr-notes td.mr-notes-no{ vertical-align: top; }
#printReport .mr-page .mr-notes tr:last-child td, .mr-drp-sheet .mr-notes tr:last-child td, #printReport .mr-page .mr-notes td.mr-notes-no, .mr-drp-sheet .mr-notes td.mr-notes-no{ border-bottom: 0.75pt solid #000 !important; }
.mr-notes .mr-notes-f td{ padding-top: 2px; padding-bottom: 2px; }
.mr-notes sub{ line-height: 0; }
.mr-notes .mr-frac span:first-child{ padding-bottom: 1px; } .mr-notes .mr-frac span:last-child{ padding-top: 1px; }
.mr-notes .mr-frac{ font-weight: 400; vertical-align: middle; }
.mr-notes .mr-frac .mr-frac{ margin: 0 1px; }
.mr-notes .mr-frac > span > .mr-frac{ border: 0 !important; padding: 0 !important; }
.mr-notes .mr-frac .mr-frac > span{ padding: 0 2px; }