/* AIMS — the printed documents: the 3.0 paper. Hand-written; not generated from the kit.
   The proposal, the field ticket and its test forms, the RFI, the purchase order, the pay application and its ticket index,
   the sales report, the customer's paperwork (credit application, card authorization, job sheet) and the customer portal's
   print all come out on one paper sheet (.q-sheet and its parts), and so do the office's prints of them: Apex's quote Preview,
   Ignite's ticket copy, pay app, RFI and contract, Momentum's PO. One look everywhere, in light or dark, on paper or on screen
   (Jordan, 10/26: pl-approve "Yes — the 3.0 paper", pl-title near-black, pl-credit same paper, pl-payapp accept, pl-scope
   "one look everywhere"; samples rebuild/spike-shell/w18print/, the shipped copies rebuild/spike-shell/w20print/).
   What the paper is: the kit's type (Manrope, from /fonts like the screens) and the kit's colours (tokens.css — ink, the
   greys, hairlines) made solid on white, with the coloured logo.png as the one strong colour and the kit's own blue (the
   no-product accent) only on the short "waterline" under the letterhead. Table heads are the kit's light band, not a dark
   fill; the dark fill is kept for the one figure that must stand out (the pay app's current payment due); labels are in
   sentence case; every line and fill is dark or wide enough to survive a black-and-white copier.
   How the sheet is built (w9shell, 10/23): the layout is styles.css's, held to the place it applied by a :where() of no
   weight — inside a printed sheet (.q-sheet, .print-doc, .ts-sheet) or anywhere on a document page (<html data-doc>) — in
   styles.css's order, and each page loads this sheet where styles.css was (the apps: just before the kit), so the cascade
   is the one the paper was laid out with. The 3.0 paper changed colours, weights, cases and the font in those rules, never
   a block's size beyond a pixel (where it does, the rule says so): same blocks, same page breaks, Letter.
   The paper's own names (--paper-*) are set once below, and the 2.x names a sheet reads (--ink, --line, --panel …) are set
   on the sheet itself from them, so neither the screen's tokens nor a dark theme ever reaches the paper.
   There is no second look and no switch: test-w18print.js holds that (no data-print-look, no ?look=3, no 2.x paper colour
   left in a document rule, Manrope in every printed document). Change the paper here, and re-print the samples. */

/* ---- the paper's face: the kit's (fonts/fonts.css, which the customer's pages load for the screen only), here for paper too */
@font-face {
  font-family: 'Manrope'; font-style: normal; font-weight: 400 800; font-display: block;
  src: url('/fonts/manrope-latin.woff2?v=838bc33001') format('woff2');   /* the same address as fonts.css (w20platform): one download, and its ?v= changes with the file */
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, /* the symbols added by rebuild/tools/font-symbols.js: */ U+2190, U+2192, U+2194-2195, U+2197, U+21B3, U+21C4, U+221A, U+2248, U+2261, U+2264-2265, U+2300, U+2500, U+25AC, U+25B2, U+25B4, U+25B6, U+25B8, U+25BC, U+25BE, U+25C0, U+2605-2606, U+2691, U+26A0, U+2713, U+2715, U+275A, U+FF0B;
}
/* ---- the paper's own colours: tokens.css's light values, made solid on white (a hairline at 8% black is a solid #E4E7EC) */
:root {
  --paper-font: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --paper-ink: #0B1220;       /* --ink: the text, the document's title */
  --paper-ink-2: #344054;     /* --ink-2: a table's head, the terms */
  --paper-muted: #475467;     /* --muted: labels */
  --paper-faint: #5D6679;     /* --faint: captions, the footer */
  --paper-rule: #98A2B3;      /* a line somebody writes on (signature, a form's blank) */
  --paper-line: #D0D5DD;      /* --hair-2 on white: a frame, the foot of a table head */
  --paper-hair: #E4E7EC;      /* --hair on white: between rows */
  --paper-band: #F2F4F7;      /* --surface-2, one step deeper so it shows on paper: table heads, panels */
  --paper-box: #F9FAFB;       /* an answer box on the customer's paperwork */
  --paper-accent: #0284C7;    /* --accent with no product picked — the waterline only */
  --paper-link: #075985;      /* --accent-ink: a link written out on paper */
  --paper-ok: #166534; --paper-ok-bg: #E7F5EC;
  --paper-bad: #B42318; --paper-bad-bg: #FDECEA; --paper-warn: #92400E; --paper-warn-bg: #FEF3E2;
  --paper-info: #1D4ED8; --paper-info-bg: #EAF0FD;
  --paper-waterline: linear-gradient(90deg, var(--paper-accent) 0 18%, var(--paper-line) 18%);
}
/* every sheet: the 2.x names its rules read, the paper's values; the kit's body weight (500) and Manrope's narrow space opened
   up a touch. The same in a dark-themed app, on the screen and on paper: paper is white. */
.q-sheet, .print-doc, .ts-sheet, .rfi-sheet, .sr-sheet {
  --ink: var(--paper-ink); --muted: var(--paper-muted); --line: var(--paper-hair); --panel: #fff; --muted-bg: var(--paper-band);
  --brand: var(--paper-ink); --brand-dark: var(--paper-ink); --accent: var(--paper-accent); --accent-soft: var(--paper-info-bg);
  --link: var(--paper-link); --info: var(--paper-info);
  --ok: var(--paper-ok); --ok-bg: var(--paper-ok-bg); --warn: var(--paper-warn); --warn-bg: var(--paper-warn-bg); --bad: var(--paper-bad); --bad-bg: var(--paper-bad-bg);
  --radius: 14px; --radius-s: 9px; --stack: 16px;
  --shadow-lift: 0 4px 8px rgba(15, 30, 60, .08), 0 12px 28px rgba(15, 30, 60, .10);
  color-scheme: light;
  font-family: var(--paper-font); font-weight: 500; word-spacing: .03em; color: var(--paper-ink); font-variant-numeric: tabular-nums;
}
:is(.q-sheet, .ts-sheet, .rfi-sheet, .sr-sheet) :is(input, textarea, button, select) { font-family: var(--paper-font); }

/* ---- from styles.css, in its order */

:root:where([data-doc], [data-doc] *) {
  --bg: #f2f5f9; --panel: #ffffff; --ink: #16233a; --muted: #64748b;
  --line: #e4e9f1; --brand: #16447e; --brand-dark: #0b1f3f; --accent: #29abe2; --accent-soft: #e3f3fc;
  --ok: #17953f; --warn: #b26a00; --bad: #c5221f; --ok-bg: #e5f6ea; --warn-bg: #fdf3e3; --bad-bg: #fdecea;
  --info: #10689c; --muted-bg: #edf1f6; --link: #1d84c4;
  --radius: 14px; --radius-s: 9px;
  --shadow: 0 1px 2px rgba(15, 30, 60, .05), 0 4px 16px rgba(15, 30, 60, .05);
  --shadow-lift: 0 4px 8px rgba(15, 30, 60, .08), 0 12px 28px rgba(15, 30, 60, .10);
  /* chart categorical palette (fixed slot order — never reassign/cycle) + chart chrome */
  --chart-1: #2a78d6; --chart-2: #eb6834; --chart-3: #1baf7a; --chart-4: #eda100;
  --chart-5: #e87ba4; --chart-6: #008300; --chart-7: #4a3aa7; --chart-8: #e34948;
  --chart-ink: #52514e; --chart-muted: #898781; --chart-grid: #e1e0d9; --chart-base: #c3c2b7;
}
:root[data-theme="dark"]:where([data-doc], [data-doc] *) {
  --bg: #0d1424; --panel: #151f36; --ink: #e6edf8; --muted: #90a2c0;
  --line: #24304c; --accent-soft: rgba(41,171,226,.16);
  --ok-bg: rgba(35,160,75,.18); --warn-bg: rgba(200,140,30,.16); --bad-bg: rgba(220,70,60,.16);
  --ok: #4cc973; --warn: #e0a640; --bad: #f07a72;
  --info: #6cc4f0; --muted-bg: rgba(144,162,192,.16); --link: #52b9ea;
  --shadow: 0 1px 2px rgba(0,0,0,.3), 0 4px 16px rgba(0,0,0,.25);
  --shadow-lift: 0 6px 16px rgba(0,0,0,.4), 0 16px 40px rgba(0,0,0,.45);
  --chart-1: #3987e5; --chart-2: #d95926; --chart-3: #199e70; --chart-4: #c98500;
  --chart-5: #d55181; --chart-6: #008300; --chart-7: #9085e9; --chart-8: #e66767;
  --chart-ink: #c3c2b7; --chart-muted: #898781; --chart-grid: #2c2c2a; --chart-base: #383835;
}
*:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { box-sizing: border-box; }
body:where([data-doc], [data-doc] *) { margin: 0; font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: var(--bg); color: var(--ink); transition: background .2s; }
a:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--link); text-decoration: none; }
a:hover:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { text-decoration: underline; }
h1:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 22px; font-weight: 750; letter-spacing: -.015em; margin: 0 0 16px; }
:root:where([data-doc], [data-doc] *) { --stack: 16px; }
#app > *:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin-bottom: var(--stack); }
h2:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 15.5px; font-weight: 700; letter-spacing: -.01em; margin: 22px 0 10px; }
h3:where([data-doc], [data-doc] *) { font-size: 14px; margin: 14px 0 8px; }
.sub:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--muted); font-size: 13px; letter-spacing: .005em; }
.viz:where([data-doc], [data-doc] *) { margin-top: 6px; }
table:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 100%; border-collapse: collapse; background: var(--panel); }
th:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); border-bottom: 1px solid var(--line); padding: 9px 10px; white-space: nowrap; background: #fafbfd; }
td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border-bottom: 1px solid #eef2f7; padding: 8px 10px; vertical-align: middle; }
tr:last-child td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border-bottom: none; }
tr:hover td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--paper-band); }
.table-wrap:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { overflow-x: auto; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.legal-foot:where([data-doc], [data-doc] *) { text-align: center; font-size: 13px; color: var(--muted); padding: 18px 16px 28px; }
.legal-foot a:where([data-doc], [data-doc] *) { color: inherit; display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px; }
td.num:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
th.num:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { text-align: right; font-variant-numeric: tabular-nums; }
.btn:where([data-doc], [data-doc] *) {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  background: linear-gradient(135deg, #16447e, #1d6cb0);
  color: #fff; border: none; border-radius: 10px; padding: 8px 15px;
  font-size: 13px; font-weight: 650; cursor: pointer;
  /* A <button> does not inherit the page font (Arial on Windows) while an <a class="btn"> does (DEV-12). */
  font-family: inherit;
  /* No transform in the transition, deliberately. Apple's first rule for a fluid interface is that
     the moment lag appears "the feeling of directness falls off a cliff" — feedback belongs on the
     PRESS, not eased in over 120ms after it. Colour and shadow still ease, because those are hover
     states and nobody is waiting on them. (Apple, Designing Fluid Interfaces, WWDC 2018.) */
  transition: box-shadow .12s, filter .12s;
}
.btn:where([data-doc], [data-doc] *) { border: 1px solid transparent; line-height: 1.25; padding: 7px 14px; }
.btn:hover:where([data-doc], [data-doc] *) { filter: brightness(1.12); box-shadow: 0 4px 14px rgba(22, 68, 126, .28); text-decoration: none; color: #fff; }
.btn:active:where([data-doc], [data-doc] *) { transform: translateY(1px) scale(.985); }
.btn.secondary:where([data-doc], [data-doc] *) { background: #fff; color: var(--brand); border: 1px solid #c9d6e6; }
.btn.secondary:hover:where([data-doc], [data-doc] *) { background: #f3f8fd; color: var(--brand); border-color: var(--accent); box-shadow: none; filter: none; }
.btn:disabled:where([data-doc], [data-doc] *),
.btn[disabled]:where([data-doc], [data-doc] *) { opacity: .5; cursor: not-allowed; box-shadow: none; filter: none; }
.btn:disabled:hover:where([data-doc], [data-doc] *),
.btn[disabled]:hover:where([data-doc], [data-doc] *) { filter: none; box-shadow: none; }
.btn:disabled:active:where([data-doc], [data-doc] *),
.btn[disabled]:active:where([data-doc], [data-doc] *) { transform: none; }
.btn.ghost:where([data-doc], [data-doc] *) { background: transparent; color: var(--muted); border: 1px solid transparent; padding: 4px 6px; }
.btn.ghost:not(.small):where([data-doc], [data-doc] *) { padding: 7px 6px; }
.btn.ghost:hover:where([data-doc], [data-doc] *) { color: var(--bad); background: transparent; box-shadow: none; filter: none; }
input:where([data-doc], [data-doc] *),
textarea:where([data-doc], [data-doc] *) {
  font: inherit; padding: 7px 10px; border: 1px solid #cdd7e4; border-radius: var(--radius-s);
  background: #fff; color: var(--ink); width: 100%;
  box-sizing: border-box; min-height: 36px;
  transition: border-color .12s, box-shadow .12s;
}
textarea:where([data-doc], [data-doc] *) { min-height: 0; }
input:focus:where([data-doc], [data-doc] *),
textarea:focus:where([data-doc], [data-doc] *) { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(41,171,226,.18); }
.btn:focus-visible:where([data-doc], [data-doc] *),
.chip:focus-visible:where([data-doc], [data-doc] *) { outline: 2px solid var(--accent); outline-offset: 2px; }
label:where([data-doc], [data-doc] *) { display: block; font-size: 12px; font-weight: 650; color: var(--muted); margin-bottom: 3px; }
.field:where([data-doc], [data-doc] *) { margin-bottom: 10px; }
.row:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.row.between:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { justify-content: space-between; }
.badge:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: inline-block; padding: 2.5px 10px; border-radius: 20px; font-size: 11.5px; font-weight: 650; white-space: nowrap; }
.badge.ok:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--ok-bg); color: var(--ok); }
.badge.warn:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--warn-bg); color: var(--warn); }
.badge.bad:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--bad-bg); color: var(--bad); }
.badge.info:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--accent-soft); color: var(--info); }
.badge.muted:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--muted-bg); color: var(--muted); }
.badge.teal:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: #dff5f2; color: #0f7c70; }
.badge.billed:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: #e6ecf5; color: var(--brand); }
.viz-tip:where([data-doc], [data-doc] *) { position: fixed; z-index: 1450; display: none; background: var(--brand-dark); color: #fff; padding: 6px 10px; border-radius: 8px; font-size: 12px; font-weight: 650; white-space: nowrap; pointer-events: none; box-shadow: var(--shadow-lift); }
.empty:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--muted); text-align: center; padding: 24px; }
.print-doc:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: #fff; }
.print-logo:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { height: 42px; }
@media print {
  .no-print:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .viz-tip:where([data-doc], [data-doc] *) { display: none !important; }
  body:where([data-doc], [data-doc] *) { background: #fff; }
  .table-wrap:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border: none; box-shadow: none; }
  a:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: inherit; text-decoration: none; }
}
.q-sheet:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) {
  width: 7.5in; min-height: 10in; margin: 0 auto 24px; padding: 0.1in 0 0;
  background: #fff; color: var(--paper-ink); box-shadow: 0 6px 26px rgba(12, 24, 48, .16);
  border-radius: 4px; font-size: 12px; line-height: 1.5;
  padding-left: 0.35in; padding-right: 0.35in; padding-bottom: 0.35in;
}
.q-sheet.q-unapproved:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { position: relative; }
.q-watermark:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) {
  position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 3;
  display: flex; flex-direction: column; justify-content: space-around; align-items: center;
}
.q-watermark span:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) {
  font-size: 46px; font-weight: 800; letter-spacing: 5px; white-space: nowrap;
  color: rgba(214, 63, 56, .17); border: 4px solid rgba(214, 63, 56, .17);
  padding: 8px 26px; border-radius: 8px; transform: rotate(-24deg);
}
.q-watermark:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::before,
.q-watermark:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::after {
  content: 'NOT APPROVED'; font-size: 46px; font-weight: 800; letter-spacing: 5px;
  color: rgba(214, 63, 56, .13); transform: rotate(-24deg); white-space: nowrap;
}
@media print {
  .q-watermark:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { position: fixed; inset: 0; }
  .q-watermark span:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-watermark:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::before,
  .q-watermark:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::after {
    color: rgba(214, 63, 56, .22); border-color: rgba(214, 63, 56, .22);
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
}
.q-head:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: flex; justify-content: space-between; align-items: flex-start; padding-top: 18px; }
@media print {
  .q-head:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { padding-top: 0; }
}
.q-logo:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { height: 54px; }
.q-logos:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: flex; align-items: center; gap: 28px; }
.q-logo-co:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { height: 66px; }
.q-head-r:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { text-align: right; }
.q-word:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 24px; font-weight: 800; letter-spacing: .07em; color: var(--paper-ink); line-height: 1.08; }   /* near-black (pl-title) */
.q-meta:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: flex; flex-direction: column; gap: 2px; margin-top: 6px; font-size: 11px; color: var(--paper-muted); }
.q-rule:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { height: 2px; margin: 13px 0 16px; background: var(--paper-waterline); }   /* the waterline: 1px thinner, 1px lower — the same height */
.q-parties:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 14px; }
.q-lbl:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 10px; line-height: 14.25px; font-weight: 700; letter-spacing: .01em; color: var(--paper-muted); margin-bottom: 3px; }
.q-strong:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-weight: 750; font-size: 13px; color: var(--paper-ink); }
.q-open:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 0 0 11px; color: var(--paper-ink-2); }
.bid-wrap:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.q-sheet .bid-table:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 100%; border-collapse: collapse; font-size: 11.5px; }
.q-sheet .bid-table th:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) {
  background: var(--paper-band); color: var(--paper-ink-2); text-align: left; padding: 7px 8px;
  font-size: 9.5px; letter-spacing: .06em; text-transform: uppercase; font-weight: 750; border: none; border-bottom: 1px solid var(--paper-line);
}
.q-sheet .bid-table td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { padding: 6px 8px; border-bottom: 1px solid var(--paper-hair); vertical-align: top; }
.q-sheet .bid-table .num:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { text-align: right; }
.q-sheet .bid-table tfoot td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border-top: 2px solid var(--paper-ink); border-bottom: none; padding-top: 9px; }
/* a foot of several rows (a Traditional bid's Resources, Mobilization, TOTAL): the ink rule opens and closes it, a hairline
   between — every row a pixel shorter or the same, never taller */
.q-sheet .bid-table tfoot tr:not(:first-child) td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border-top: 1px solid var(--paper-hair); }
.q-sheet .bid-table tfoot tr:last-child:not(:first-child) td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border-top-color: var(--paper-ink); }
.q-total-l:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { text-align: right; font-weight: 750; letter-spacing: .03em; font-size: 11px; color: var(--paper-ink-2); }
.q-total-v:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-weight: 800; font-size: 15px; color: var(--paper-ink); }
.q-tbd-note:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 10.5px; color: var(--paper-muted); margin: 6px 0 0; }
.q-notes:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
.q-basis:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin-top: 13px; font-size: 11px; }
.q-notes ul:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
.q-basis ol:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 4px 0 0; padding-left: 18px; }
.q-notes li:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
.q-basis li:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin-bottom: 3px; }
.q-notes p:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 6px 0 0; white-space: pre-line; }
.q-services:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin-top: 13px; padding: 9px 11px 9px 14px; background: var(--paper-band); border-radius: 8px; font-size: 10.5px; color: var(--paper-ink-2); }
.q-services b:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--paper-ink); }
.q-sign:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top: 14px; page-break-inside: avoid; }
.q-sig-line:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border-bottom: 1px solid var(--paper-rule); height: 21px; }
.q-sig-cap:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 9.5px; line-height: 13.5px; font-weight: 600; color: var(--paper-faint); letter-spacing: .01em; margin: 2px 0 10px; }
.q-sig-pair:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }   /* Date and Purchase order no. share a row */
.q-accept:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 9px; color: var(--paper-muted); margin-top: 5px; line-height: 1.42; }
.q-shown-in:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 9px; font-weight: 700; color: var(--paper-muted); margin-top: 4px; letter-spacing: .01em; }   /* w39: "Shown in Spanish" on a copy signed in Spanish (the language the paper was shown in) */
.q-foot:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin-top: 16px; padding-top: 8px; border-top: 1px solid var(--paper-line); text-align: center; font-size: 9.5px; color: var(--paper-faint); }
.q-sheet .tk-h2:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) {   /* a section's heading inside a sheet (Work Performed, G702 …): ink, title case, a line */
  font-size: 10.5px; line-height: 15px; font-weight: 800; letter-spacing: .01em;
  color: var(--paper-ink); margin: 16px 0 6px; border-bottom: 1px solid var(--paper-line); padding-bottom: 4px;
}
.q-sheet .tk-h2 .pa-dim:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--paper-faint); font-weight: 600; }
.q-sheet table:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 100%; border-collapse: collapse; font-size: 11.5px; }
.q-sheet th:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) {
  background: var(--paper-band); color: var(--paper-ink-2); text-align: left; padding: 6px 8px;
  font-size: 9.5px; letter-spacing: .06em; text-transform: uppercase; font-weight: 750; border: none; border-bottom: 1px solid var(--paper-line);
}
.q-sheet th.num:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { text-align: right; }
.q-sheet td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { padding: 6px 8px; border-bottom: 1px solid var(--paper-hair); vertical-align: top; background: #fff; }
.q-sheet tr:hover td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--paper-band); }
.q-sheet .table-wrap:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border: none; box-shadow: none; overflow-x: auto; background: transparent; }
.q-sheet .empty:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: #fff; color: var(--paper-faint); }
.tk-equip:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 4px; }
.tk-unit:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) {
  display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border-radius: 999px;
  background: #fff; border: 1px solid var(--paper-line); font-size: 11px; font-weight: 650; color: var(--paper-ink-2);
}
.tk-notes:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 11px; margin: 4px 0 0; white-space: pre-line; overflow-wrap: anywhere; }
.q-terms-title:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 17px; margin: 4px 0 4px; font-weight: 800; letter-spacing: 0; color: var(--paper-ink); }
.q-terms-lede:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 10px; color: var(--paper-muted); margin: 0 0 9px; }
.q-std:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { padding-left: 16px; margin: 0; font-size: 10px; line-height: 1.46; color: var(--paper-ink-2); }
.q-std b:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--paper-ink); }
.q-std li:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin-bottom: 5px; text-align: justify; }
.q-page2:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { page-break-before: always; }
@media print {
  .q-sheet:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { min-height: 0; margin: 0; box-shadow: none; border-radius: 0; }
  .q-sheet th:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-sheet .bid-table th:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .q-services:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-rule:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .bid-table tr:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { page-break-inside: avoid; }
  .bid-wrap:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { overflow-x: visible; }
}
@media screen and (max-width: 900px) {
  .q-sheet:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: auto; padding-left: 16px; padding-right: 16px; }
  .q-parties:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-template-columns: 1fr; }
  .q-sign:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-template-columns: 1fr; }
}
@media screen and (max-width: 560px) {
  .q-head:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { flex-direction: column; gap: 10px; }
  .q-head-r:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { text-align: left; }
}
/* the dark theme's tables are the page's, never the paper's: a sheet is white in either theme */
:root[data-theme="dark"] th:where([data-doc] *):not(.q-sheet *, .print-doc *, .ts-sheet *, .rfi-sheet *) { background: #111a2e; }
:root[data-theme="dark"] td:where([data-doc] *):not(.q-sheet *, .print-doc *, .ts-sheet *, .rfi-sheet *) { border-bottom-color: #1d2842; }
:root[data-theme="dark"] tr:hover td:where([data-doc] *):not(.q-sheet *, .print-doc *, .ts-sheet *, .rfi-sheet *) { background: #1a2540; }
:root[data-theme="dark"] :is(input, select, textarea):not(.input, .select, .textarea, .mi-in, .status, .wg-in):where([data-doc], [data-doc] *) { background: #101a30; border-color: #2c3a5c; color: var(--ink); }
:root:not([data-frame])[data-theme="dark"] .btn.secondary:where([data-doc], [data-doc] *) { background: transparent; color: #6cc4f0; border-color: #2c4c6e; }
:root[data-theme="dark"] .btn.secondary:hover:where([data-doc], [data-doc] *) { background: rgba(41,171,226,.12); }
:root[data-theme="dark"] .badge.teal:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background-color: rgba(30,180,160,.16); color: #5fd6c4; }
:root[data-theme="dark"] .badge.billed:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background-color: rgba(120,160,230,.16); color: #a9c1ea; }
@media print {
  :root[data-theme="dark"]:where([data-doc], [data-doc] *) { --bg: #fff; --panel: #fff; --ink: #16233a; --muted: #64748b; --line: #e4e9f1; --link: #1d84c4; }
  :root[data-theme="dark"] th:where([data-doc] *):not(.q-sheet *, .print-doc *, .ts-sheet *, .rfi-sheet *) { background: #fafbfd; }
}
@media (max-width: 900px) {
  input:where([data-doc], [data-doc] *),
  textarea:where([data-doc], [data-doc] *) { font-size: 16px; min-height: 44px; }
  textarea:where([data-doc], [data-doc] *) { min-height: 0; }
  .btn:where([data-doc], [data-doc] *) { min-height: 44px; }
}
@media (min-width: 901px) and (pointer: coarse) {
  input:where([data-doc], [data-doc] *),
  textarea:where([data-doc], [data-doc] *) { min-height: 44px; }
  textarea:where([data-doc], [data-doc] *) { min-height: 0; }
  .btn:where([data-doc], [data-doc] *) { min-height: 44px; }
}
/* the signature pad on the customer's quote and ticket pages: its look is sign-pad.css (sign-pad.js links it on every page that
   signs, at the same weight and after this sheet), so it is not repeated here (w10retire, 10/23). The signed card below stays. */
.q-signed:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { min-height: 46px; display: flex; align-items: flex-end; }
.q-sig-img:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { max-height: 46px; max-width: 240px; }
.q-sig-typed:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-family: Georgia, 'Times New Roman', serif; font-size: 21px; font-style: italic; }
.q-sig-val:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border-bottom: 1px solid var(--paper-ink-2); padding-bottom: 2px; font-size: 13px; }
.sp-done:where([data-doc], [data-doc] *) {
  background: var(--ok-bg, rgba(47,191,113,.12)); border: 1px solid rgba(47,191,113,.35);
  border-radius: 14px; padding: 18px; margin: 22px auto 0; max-width: 520px; text-align: center;
}
.sp-done .tick:where([data-doc], [data-doc] *) { font-size: 38px; line-height: 1; }
.sp-done h3:where([data-doc], [data-doc] *) { margin: 8px 0 4px; font-size: 16px; }
.sp-done p:where([data-doc], [data-doc] *) { margin: 0; font-size: 13px; color: var(--muted); }
.attempt-badge:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: inline-block; background: var(--warn-bg); color: var(--warn); border-radius: 999px;
  padding: 1px 8px; font-size: 11.5px; font-weight: 700; white-space: nowrap;
}
.tk-attempt > td:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--warn-bg); }
.tk-photolink:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: inline-block; margin-top: 6px; font-size: 12px; white-space: nowrap; }
.tk-work .tk-ans:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin-top: 2px; }
/* w28seg: the runs worked under an hourly line, listed under the item (the customer's copy, the office print, the Daily Ticket) */
.tk-segl:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { list-style: none; margin: 3px 0 0; padding: 0; font-size: 11px; color: var(--paper-muted); }
.tk-segl li:where([data-doc] *, .q-sheet *, .print-doc *, .ts-sheet *) { padding: 1px 0 1px 1em; text-indent: -1em; }
.tk-segl .tk-segh:where([data-doc] *, .q-sheet *, .print-doc *, .ts-sheet *) { font-weight: 700; padding-left: 0; text-indent: 0; }
.tk-work .tk-dup:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin-top: 4px; }
.tk-work .tk-dup .badge:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { white-space: normal; }
.tk-photopage:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { page-break-before: always; break-before: page; padding-top: 6px; }
.tk-photogrid:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.tk-photogrid figure:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 0; page-break-inside: avoid; break-inside: avoid; }
.tk-photogrid img:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
  border-radius: 8px; border: 1px solid var(--line); background: var(--muted-bg);
}
.tk-photogrid figcaption:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 11px; color: var(--muted); margin-top: 4px; }
.tk-photometa:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 12.5px; color: var(--muted); margin-top: 2px; }
.tk-photometa b:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--ink); font-weight: 600; }
@media print {
  .tk-photogrid:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { gap: 10px; }
  .tk-photogrid img:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { aspect-ratio: 4 / 3; }
}
.rfi-line:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; margin-bottom: 12px; page-break-inside: avoid; }
.rfi-visits:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 100%; border-collapse: collapse; font-size: 12.5px; margin-top: 8px; }
.rfi-visits th:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { text-align: left; font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em;
  color: var(--muted); border-bottom: 1px solid var(--line); padding: 4px 6px;
}
.rfi-visits td:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { padding: 4px 6px; border-bottom: 1px solid var(--line); }
.rfi-photos:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
.rfi-photos figure:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 0; }
.rfi-photos img:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 150px; height: 150px; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); }
.rfi-photos figcaption:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 11px; color: var(--muted); text-align: center; margin-top: 3px; }
.rfi-pick:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { max-height: 40vh; overflow-y: auto; border: 1px solid var(--line); border-radius: 10px; padding: 6px 10px; }
.rfi-pick-row:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: flex; align-items: center; gap: 8px; padding: 5px 2px; cursor: pointer; }
.rfi-pick-row + .rfi-pick-row:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border-top: 1px solid var(--line); }
.rfi-pick-row span:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { flex: 1; }
@media print {
  .rfi-photos img:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 130px; height: 130px; }
}
.pa-totals:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px; margin: 4px 0 18px; }
@media (max-width: 1100px) {
  .pa-totals:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); grid-auto-columns: auto; }
}
@media (max-width: 620px) {
  .pa-totals:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-auto-flow: row; grid-template-columns: repeat(2, 1fr); grid-auto-columns: auto; }
}
.pa-totals > .pa-tot:last-child:nth-child(odd):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-column: 1 / -1; }
.pa-tot:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border: 1px solid var(--paper-hair); border-radius: 8px; padding: 8px 10px; background: #fff; }
.pa-tot .pa-v:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; margin-top: 2px; }
.pa-tot .pa-v.neg:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--paper-bad); }
.pa-tot.due:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--brand-dark); border-color: var(--brand-dark); }
.pa-tot.due .q-lbl:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
.pa-tot.due .pa-v:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: #fff; }
.pa-dim:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--paper-faint); font-weight: 400; }
.pa-tk .pa-tk-head:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { align-items: baseline; flex-wrap: wrap; gap: 6px 12px; }
.pa-tk .pa-tk-head h3:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 0; }
.pa-tk .table-wrap:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin-top: 10px; }
.pa-tk .pa-tk-to:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { overflow-wrap: anywhere; }
.pa-tk .pa-tk-foot:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 8px 0 0; }
.pa-over:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border-left: 4px solid var(--warn); }
.pa-over .pa-over-h:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 0 0 6px; }
.pa-over .pa-over-list:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 0 0 8px; padding-left: 18px; }
.pa-over .pa-over-list li:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 3px 0; overflow-wrap: anywhere; }
.pa-over .pa-over-acts:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { justify-content: flex-end; }
.pa-over .pa-over-foot:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 0; }
.tk-copy .tk-copy-row:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: flex; align-items: center; justify-content: space-between; gap: 8px 12px; flex-wrap: wrap;
  padding: 8px 0; border-top: 1px solid var(--line);
}
.tk-copy .tk-copy-what:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { min-width: 0; overflow-wrap: anywhere; }
.pa-ix .pa-ix-lede:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 2px 0 12px; color: var(--paper-ink-2); }
.pa-ix .pa-ix-sub:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 10.5px; color: var(--paper-muted); overflow-wrap: anywhere; }
.pa-ix .pa-ix-no:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--paper-bad); font-weight: 700; }
.pa-ix .pa-ix-gap:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { height: 5px; }
.pa-ix .pa-ix-miss:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 4px 0 0; padding-left: 18px; color: var(--paper-bad); }
.pa-ix .pa-ix-miss li:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 2px 0; }
.q-sheet .bid-table td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { word-break: break-word; }
.q-sheet .bid-table td.num:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
.q-sheet .bid-table th.num:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { word-break: normal; white-space: nowrap; }
@media (max-width: 900px) {
  .pa-totals:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-auto-flow: row; grid-template-columns: repeat(2, 1fr); grid-auto-columns: auto; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .pa-totals > .pa-tot:last-child:nth-child(odd):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-column: auto; }
  .pa-totals > .pa-tot:last-child:nth-child(3n + 1):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-column: 1 / -1; }
}
.tk-value:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px;
  padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--muted-bg);
}
.tk-value b:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 15px; }
textarea.sr-note:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { resize: vertical; overflow: hidden; min-height: 72px; }
:root:where([data-doc], [data-doc] *) { color-scheme: light; }
:root[data-theme="dark"]:where([data-doc], [data-doc] *) { color-scheme: dark; }
@media (max-width: 900px) {
  .btn.ghost:where([data-doc], [data-doc] *) { min-width: 44px; justify-content: center; }
}
@media screen and (max-width: 700px) {
  .table-wrap > table:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .bid-wrap > table:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-sheet .bid-wrap > .bid-table:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: max-content; min-width: 100%; }
  .q-sheet .bid-table td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-sheet .bid-table th:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { word-break: normal; }
}
@media (max-width: 700px) {
  .viz:where([data-doc], [data-doc] *) { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
.face:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { flex: none; border-radius: 50%; object-fit: cover; display: inline-flex; align-items: center;
  justify-content: center; vertical-align: middle; background-color: var(--panel);
  border: 1px solid var(--line); font-weight: 700; color: #fff; letter-spacing: .02em;
  user-select: none; overflow: hidden;
}
.face-sm:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 22px; height: 22px; font-size: 9.5px; }
.face-ini:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border-color: transparent; background: var(--av, var(--panel)); color: #0B1220; }
.q-sheet .bid-table td.q-sec:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--paper-band); color: var(--paper-ink-2); font-weight: 700; font-size: 11px;
  text-transform: uppercase; letter-spacing: .05em; border-bottom: 1px solid var(--paper-line); -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.who:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: inline-flex; align-items: center; gap: 6px; min-width: 0; max-width: 100%;
  vertical-align: middle;
}
.who > span:last-child:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media print {
  .face:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: none !important; }
}
@media print {
  .viz:where([data-doc], [data-doc] *) { overflow: visible !important; }
  .viz > svg:where([data-doc], [data-doc] *) { min-width: 0 !important; }
  .table-wrap:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { overflow: visible !important; max-height: none !important; }
  .table-wrap > table:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 100% !important; min-width: 0 !important; }
  .viz:where([data-doc], [data-doc] *),
  figure:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { break-inside: avoid; page-break-inside: avoid; }
  tr:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .rfi-line:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { break-inside: avoid; page-break-inside: avoid; }
  h1:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  h2:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  h3:where([data-doc], [data-doc] *),
  thead:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { break-after: avoid; page-break-after: avoid; }
}
@media print {
  .viz.empty:where([data-doc], [data-doc] *) { padding: 10px 0 !important; }
  textarea:where([data-doc], [data-doc] *)::placeholder,
  input:where([data-doc], [data-doc] *)::placeholder { color: transparent !important; }
}
.pw-table td.tk-acts:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { white-space: nowrap; }
@media (prefers-contrast: more) {
  .btn:where([data-doc], [data-doc] *),
  .btn.secondary:where([data-doc], [data-doc] *),
  .btn.ghost:where([data-doc], [data-doc] *) { border: 1px solid var(--ink); }
  .badge:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border: 1px solid currentColor; }
  .sub:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--paper-ink-2); }
}
.tick:where([data-doc], [data-doc] *) { display: flex; align-items: center; gap: 8px; padding: 5px 0; font-weight: 500; font-size: 13px; color: var(--ink); min-width: 0; }
@media (max-width: 900px) {
  .tick:where([data-doc], [data-doc] *) { padding: 9px 0; }
}
@media screen {
  .tk-time-row:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { cursor: pointer; }
  .tk-time-row:hover td:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--accent-soft); }
}
@media (max-width: 640px) {
  .tk-time-row td:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { height: 44px; }
}
.tk-time-edits > summary:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { cursor: pointer; }
.to-done ~ .attempt-badge:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { vertical-align: middle; }
.tk-acts a:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { white-space: nowrap; }
.q-sheet .tk-work th:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { white-space: normal; }
.q-sheet .tk-work th:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
.q-sheet .tk-work td:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { padding-left: 6px; padding-right: 6px; }
.q-sheet .tk-work td.tk-mh:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { white-space: nowrap; }
.q-sheet .tk-work td.num .sub:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 10.5px; }
@media (max-width: 640px) {
  .tk-vid a:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: inline-block; padding: 8px 4px; }
}
.pa-checks:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.pa-check:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { padding: 10px 12px 10px 14px; border-radius: var(--radius-s); background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--warn); }
.pa-check.ok:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border-left-color: var(--ok); }
.pa-check.bad:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border-left-color: var(--bad); }
.pa-formula p:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 6px 0; line-height: 1.55; }
#app > .ts-sheet:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin-top: 0; }
.tk-joblink:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: inherit; text-decoration: none; }
.tk-joblink:hover:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { text-decoration: underline; }
@media screen and (max-width: 700px) {
  .table-wrap:has(> table.stack):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { overflow: visible !important; max-height: none !important; background: transparent; border: 0; box-shadow: none; }
  .table-wrap > table.stack:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .table-wrap > table.stack > tbody:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: block; width: 100% !important; min-width: 0 !important; background: transparent; }
  .table-wrap > table.stack tr.stack-head:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: none; }
  .table-wrap > table.stack tr.stack-head.has-ctl:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 0 4px 6px; }
  .table-wrap > table.stack tr.stack-head.has-ctl > th:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: none; }
  .table-wrap > table.stack tr.stack-head.has-ctl > th:has(button, input, select):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0; border: 0; background: transparent; }
  .table-wrap > table.stack tr.stack-head th:has(> input[type=checkbox]):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::after { content: 'Select all'; font-size: 13px; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--ink); }
  .table-wrap > table.stack tr:not(.stack-head):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-auto-flow: row dense; gap: 8px 14px; align-items: start;
    position: relative; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); margin: 0 0 10px; padding: 12px;
  }
  .table-wrap > table.stack tr:hover td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: transparent; }
  .table-wrap > table.stack tr:nth-child(n) > td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: transparent; }
  .table-wrap > table.stack td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: block; border: 0; padding: 0; min-width: 0 !important; width: auto !important; max-width: none; text-align: left;
    white-space: normal; overflow-wrap: break-word; position: static; box-shadow: none; font-size: 13.5px;
  }
  .table-wrap > table.stack td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::before { content: attr(data-label); display: block; margin-bottom: 2px; font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .06em; color: var(--muted);
  }
  .table-wrap > table.stack td[data-label=""]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::before { display: none; }
  .table-wrap > table.stack td[data-blank]:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: none; }
  .table-wrap > table.stack td:empty:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::after { content: '—'; color: var(--muted); }
  .table-wrap > table.stack td[data-wide]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .table-wrap > table.stack td[colspan]:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-column: 1 / -1; }
  .table-wrap > table.stack td.num:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { text-align: left; }
  .table-wrap > table.stack td[data-title]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { order: -1; font-size: 15px; font-weight: 700; color: var(--ink); text-align: left !important; padding-bottom: 6px; border-bottom: 1px solid var(--line); }
  .table-wrap > table.stack td[data-title]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::before { display: none; }
  .table-wrap > table.stack td[data-title] .sub:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 500; }
  .table-wrap > table.stack td[data-title] .tk-segl:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 12.5px; font-weight: 500; }
  .table-wrap > table.stack td[data-title] .tk-segl .tk-segh:where([data-doc] *, .q-sheet *, .print-doc *, .ts-sheet *) { font-weight: 700; }
  .table-wrap > table.stack td[data-title] a:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: inline-block; padding: 11px 0; margin: -11px 0; }
  .table-wrap > table.stack td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { overflow-wrap: anywhere; }
  .table-wrap > table.stack td a:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { max-width: 100%; overflow-wrap: anywhere; }
  .table-wrap > table.stack td[data-title] .row > a.btn:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: inline-flex; align-items: center; justify-content: center; padding: 0; margin: 0; }
  .table-wrap > table.stack tr:not(.open) > td[data-more]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: none; }
  .table-wrap > table.stack td.stack-more:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: block; order: 91; grid-column: 1 / -1; }
  .table-wrap > table.stack td.stack-more:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::before { display: none; }
  .table-wrap > table.stack td > input:not([type=checkbox]):not([type=radio]):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .table-wrap > table.stack td > select:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .table-wrap > table.stack td > textarea:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 100% !important; max-width: none; min-width: 0; }
  .table-wrap > table.stack td[data-check]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; }
  .table-wrap > table.stack td[data-check] > input:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { order: -1; flex: none; margin: 0; }
  .table-wrap > table.stack td[data-check]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::before { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--ink); }
  .table-wrap > table.stack td[data-pick]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { position: absolute; top: 4px; right: 4px; width: 44px !important; height: 44px; display: flex; align-items: center; justify-content: center; }
  .table-wrap > table.stack td[data-pick]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::before { display: none; }
  .table-wrap > table.stack tr:has(> td[data-pick]) > td[data-title]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { padding-right: 44px; }
  .table-wrap > table.stack td[data-acts]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { order: 90; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .table-wrap > table.stack td[data-acts]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::before { display: none; }
  .table-wrap > table.stack td[data-acts] > .btn:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .table-wrap > table.stack td[data-acts] > button:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 0 !important; width: 100%; }
  .table-wrap > table.stack td[data-acts] > :last-child:nth-child(odd):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-column: 1 / -1; }
  .table-wrap > table.stack tr:has(> td[data-acts]):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-auto-flow: row; }
  .table-wrap > table.stack tr.stack-note:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: block !important; background: transparent; border: 0; box-shadow: none; padding: 8px 2px; }
  .table-wrap > table.stack tr.stack-note > td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--muted); text-align: center; font-weight: 400; }
  .table-wrap > table.stack tr.stack-sum:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: flex !important; justify-content: space-between; align-items: baseline; gap: 12px; padding: 10px 12px; }
  .table-wrap > table.stack tr.stack-sum > td:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-column: auto; font-weight: 700; text-align: left !important; }
  .table-wrap > table.stack tr.stack-sum > td:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::before { display: none; }
  :is(.card, .viz-card, .q-sheet) .table-wrap > table.stack tr:not(.stack-head):not(.stack-note):not(.stack-sum):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: transparent; border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; margin: 0; padding: 12px 0; }
  :is(.card, .viz-card, .q-sheet) .table-wrap > table.stack tr.stack-head + tr:not(.stack-head):not(.stack-note):not(.stack-sum):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border-top: 0; }
  .table-wrap > table.fits:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 100% !important; min-width: 0 !important; }
  .table-wrap > table.fits td:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .table-wrap > table.fits th:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { white-space: normal; }
  .table-wrap > table.fits :is(th, td):where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { padding-left: 6px; padding-right: 6px; }
  .table-wrap > table.fits th:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { letter-spacing: 0; }
}
@media screen and (max-width: 700px) {
  .table-wrap > table:is(.scorecard-table, .lb-table, .fc-grid, .fc-months, .bg-grid, .to-table, .pi-table, .tk-work.no-stack) :is(th, td):first-child:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { position: sticky; left: 0; z-index: 1;
    box-shadow: 1px 0 0 var(--line); min-width: 96px; max-width: 132px; white-space: normal;
  }
  .table-wrap > table:is(.scorecard-table, .lb-table, .fc-grid, .fc-months, .bg-grid, .to-table, .pi-table, .tk-work.no-stack) td:first-child:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--panel); }
}
@media (max-width: 700px) {
  .q-sheet .bid-table th:last-child:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-sheet .bid-table td:last-child:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { position: sticky; right: 0; z-index: 1; }
  .q-sheet .bid-table td:last-child:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--panel); box-shadow: -8px 0 8px -8px rgba(0, 0, 0, .3); }
  .table-wrap > table.stack td:not([data-title]) a:not(.btn):not(.badge):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: inline-flex; align-items: center; min-height: 40px; min-width: 40px; }
  .table-wrap > table.fits td:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { overflow-wrap: anywhere; }
  .q-sheet table.stack th.tv-q:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-sheet table.stack td.tv-q:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { position: static; box-shadow: none; }
  .table-wrap > table.stack td .skill-tag:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: inline-flex; align-items: center; min-height: 40px; padding: 0 12px; margin: 0 6px 6px 0; font-size: 13px; border-radius: 20px; }
  .table-wrap > table.stack .crew-off-l:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: inline; }
  .q-sheet .q-lbl:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-sheet th:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-sheet .tk-h2:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-foot:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 11px; }
}
.tk-cancelled:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: transparent; }
.tk-cancelled > summary:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { cursor: pointer; padding: 6px 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; list-style: none; }
.tk-cancelled > summary:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::-webkit-details-marker { display: none; }
.tk-cancelled > summary > b:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::before { content: '▸ '; }
.tk-cancelled[open] > summary > b:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::before { content: '▾ '; }
.tk-cancelled > summary:focus-visible:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: var(--radius-s); }
.tk-cancelled[open] > summary:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin-bottom: 8px; }
@media (max-width: 700px) {
  .tk-cancelled > summary:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { min-height: 44px; }
}
.q-discuss > #quoteTasks:not(:empty):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin-bottom: 12px; }
.q-lock-bar:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding-top: 8px; border-top: 1px dashed var(--line); }
.q-span2:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-column: 1 / -1; }
@media (max-width: 700px) {
  .table-wrap > table.stack.tkres-t td.num[data-wide]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-column: auto; }
  .table-wrap > table.stack.mls-table td[data-wide]:not([data-title]):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-column: auto; }
  .table-wrap > table.stack.tkres-t td.num > input[type=number]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: calc(100% - 44px) !important; }
}
@media screen and (max-width: 700px) {
  .q-sheet .bid-wrap > .bid-table.pa-sum:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 100%; min-width: 0; }
  .q-sheet .bid-table.pa-sum thead:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: none; }
  .q-sheet .bid-table.pa-sum:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-sheet .bid-table.pa-sum tbody:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-sheet .bid-table.pa-sum tfoot:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: block; }
  .q-sheet .bid-table.pa-sum tr:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; padding: 10px 2px; border-bottom: 1px solid var(--paper-hair); }
  .q-sheet .bid-table.pa-sum td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-sheet .bid-table.pa-sum tbody tr:nth-child(even) td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-sheet .bid-table.pa-sum td:last-child:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: block; padding: 0; border: 0; background: transparent; position: static; box-shadow: none; text-align: left; white-space: normal; font-size: 13px; }
  .q-sheet .bid-table.pa-sum td:empty:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: none; }
  .q-sheet .bid-table.pa-sum td[data-label]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::before { content: attr(data-label); display: block; margin-bottom: 1px; font-size: 10px; font-weight: 700;
    letter-spacing: .01em; color: var(--paper-muted);   /* the paper's label (.q-lbl), on a phone's card */
  }
  .q-sheet .bid-table.pa-sum td[data-label=""]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::before { display: none; }
  .q-sheet .bid-table.pa-sum td.pa-desc:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-column: 1 / -1; order: -1; font-weight: 700; font-size: 13.5px; }
  .q-sheet .bid-table.pa-sum td.empty:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-column: 1 / -1; }
  .q-sheet .bid-table.pa-sum tfoot tr:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border-bottom: 0; border-top: 2px solid var(--paper-ink); align-items: baseline; }
  .q-sheet .bid-table.pa-sum tfoot td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border: 0; padding-top: 0; }
  .q-sheet .bid-table.pa-sum tfoot td.num:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { text-align: right; }
}
.main h1:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { overflow-wrap: anywhere; }
:root[data-theme="dark"] .print-doc:not(.q-sheet):where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: transparent; }
:root[data-theme="dark"] .q-sheet :is(input, select, textarea):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: #fff; border-color: var(--paper-line); color: var(--paper-ink); }
:root[data-theme="dark"] .q-sheet .btn.secondary:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: #fff; color: var(--paper-ink); border-color: var(--paper-line); }
:root[data-theme="dark"] .q-sheet .btn.secondary:hover:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--paper-band); }
:root[data-theme="dark"] .q-sheet .btn.danger:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: #fff; border-color: #f0c9c6; }
:root[data-theme="dark"] .q-sheet .badge.teal:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background-color: #dff5f2; color: #0f7c70; }
:root[data-theme="dark"] .q-sheet .badge.billed:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background-color: #e6ecf5; color: var(--paper-ink); }
@media screen and (max-width: 600px) {
  .q-sheet .bid-wrap:has(> .qv-cards):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { overflow: visible; }
  .q-sheet .bid-wrap > .bid-table.qv-cards:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 100%; min-width: 0; }
  .q-sheet .bid-table.qv-cards thead:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: none; }
  .q-sheet .bid-table.qv-cards:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-sheet .bid-table.qv-cards tbody:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-sheet .bid-table.qv-cards tfoot:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: block; }
  .q-sheet .bid-table.qv-cards tbody tr:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px 12px;
    padding: 10px 2px; border-bottom: 1px solid var(--paper-hair);
  }
  .q-sheet .bid-table.qv-cards tbody tr:nth-child(n) td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: transparent; }
  .q-sheet .bid-table.qv-cards td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: block; padding: 0; border: 0; text-align: left; word-break: normal; overflow-wrap: anywhere;
    position: static; box-shadow: none;
  }
  .q-sheet .bid-table.qv-cards td.qv-no:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: none; }
  .q-sheet .bid-table.qv-cards td.empty:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-sheet .bid-table.qv-cards td.q-sec:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-column: 1 / -1; }
  .q-sheet .bid-table.qv-cards td.qv-item:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-column: 1 / -1; }
  .q-sheet .bid-table.qv-cards td.qv-desc:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-column: 1 / -1; font-weight: 600; font-size: 13px; line-height: 1.35; overflow-wrap: break-word; }
  .q-sheet .bid-table.qv-cards td[data-label]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::before { content: attr(data-label); display: block; font-size: 10px; font-weight: 700;
    letter-spacing: .01em; color: var(--paper-muted);   /* the paper's label (.q-lbl), on a phone's card */
  }
  .q-sheet .bid-table.qv-cards td.num:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { white-space: nowrap; font-size: 13px; }
  .q-sheet .bid-table.qv-cards tfoot tr:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: flex; justify-content: space-between; align-items: baseline; padding-top: 10px; }
  .q-sheet .bid-table.qv-cards tfoot td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: block; border: 0; padding: 0; position: static; box-shadow: none; background: transparent; }
}
@media (max-width: 900px) {
  .pa-tk-table a.pa-tk-link:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { position: relative; }
  .pa-tk-table a.pa-tk-link:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *)::after {
    content: ''; position: absolute; left: 50%; top: 50%; width: max(100%, 44px); height: max(100%, 44px); transform: translate(-50%, -50%);
  }
}
.q-sheet .pa-lbl-gap:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin-top: 8px; }
.q-sheet .bid-table.pa-g702:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 12px; }
.q-sheet .bid-table.pa-g702 td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { padding: 5px 8px; }
.q-sheet .bid-table.pa-g702 tbody tr:nth-child(even) td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: #fff; }
.q-sheet .pa-g702 .pa-g-n:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 5%; font-weight: 800; color: var(--paper-faint); }
.q-sheet .pa-g702 .pa-g-l:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 70%; }
.q-sheet .pa-g702 .pa-g-v:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 25%; font-variant-numeric: tabular-nums; }
.q-sheet .pa-g702 .pa-g-sub:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 10px; color: var(--paper-faint); }
.q-sheet .pa-g702 .pa-g-in .pa-g-l:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { padding-left: 24px; }
.q-sheet .pa-g702 .pa-g-sum td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-weight: 700; }
.q-sheet .bid-table.pa-g702 tbody tr.pa-g-due td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
.q-sheet .pa-g702 tr.pa-g-due td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--paper-ink); color: #fff; font-weight: 800; font-size: 13.5px; letter-spacing: .04em;   /* the one dark row: the current payment due */
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.q-sheet .bid-table.pa-g703:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 10px; }
.q-sheet .bid-table.pa-g703 th:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 9px; line-height: 1.25; vertical-align: bottom; }
.q-sheet .bid-table.pa-g703 td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { padding: 5px 4px; font-variant-numeric: tabular-nums; }
.q-sheet .pa-g703 .pa-g703-no:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: none; }
.q-sheet .pa-g703 .pa-co:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: inline-block; padding: 0 4px; border-radius: 3px; font-size: 8.5px; font-weight: 800; letter-spacing: .06em;
  background: var(--paper-info-bg); color: var(--paper-info); vertical-align: 1px;
}
.q-sheet .pa-g703 .pa-neg:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--paper-bad); font-weight: 700; }
.q-sheet .pa-g703 tr.pa-over-row td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { background: var(--paper-bad-bg); }
.q-sheet .pa-g703 tfoot td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-weight: 800; }
.q-sheet .pa-g703 tfoot td.q-total-l:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-weight: 750; }   /* TOTALS: the paper's total label; its figures stay 800 */
.q-sheet.pa-void:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { position: relative; }
.pa-void-mark:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 3;
  display: flex; flex-direction: column; justify-content: space-around; align-items: center;
}
.pa-void-mark span:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 130px; font-weight: 900; letter-spacing: 18px; line-height: 1; color: rgba(179, 38, 30, .16);
  border: 10px solid rgba(179, 38, 30, .16); border-radius: 14px; padding: 6px 30px 6px 48px; transform: rotate(-24deg);
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.q-sheet .pa-void-note:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 0 0 12px; padding: 8px 12px; border: 2px solid var(--paper-bad); border-radius: 6px; color: var(--paper-bad);
  background: var(--paper-bad-bg); font-size: 12px; overflow-wrap: anywhere; -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
@media screen and (max-width: 700px) {
  .q-sheet .bid-table.pa-g703 td.pa-g703-item:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: none; }
  .q-sheet .pa-g703 .pa-g703-no:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: inline; }
  .q-sheet .bid-table.pa-g703 td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 13px; }
  .q-sheet .bid-table.pa-g703 tfoot td.num:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { text-align: left; }
  .pa-void-mark span:where(.q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 64px; letter-spacing: 8px; border-width: 6px; }
}
.pa-pay .pa-pay-head:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
.pa-void-card h3:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 0; }
.pa-pay .pa-pay-head:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { align-items: center; gap: 8px; }
.pa-pay-stats:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 10px 0; }
.pa-job-money:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 12px; }
.pa-pay .pa-pay-none:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 4px 0 0; }
.pa-pay tr.pa-pay-void td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--muted); }
.pa-pay tr.pa-pay-void td:nth-child(2):where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { text-decoration: line-through; }
.pa-pay-form:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
.pa-pay-form .pa-pay-wide:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-column: 1 / -1; }
.pa-void-card:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { border-left: 4px solid var(--bad); }
.pa-void-card p:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 6px 0 0; overflow-wrap: anywhere; }
tr.pa-row-void td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--muted); }
.table-wrap > table.stack tr.pa-row-void td[data-title]:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { color: var(--muted); }
table.ig-wide th.pa-tick:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
table.ig-wide td.pa-tick:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 1%; padding-right: 0; }
.pa-tick input:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 18px; height: 18px; margin: 0; vertical-align: middle; cursor: pointer; }
@media (pointer: coarse) {
  table.ig-wide td.pa-tick:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  table.ig-wide th.pa-tick:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { padding: 0 6px 0 10px; }
  .pa-tick input:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 24px; height: 24px; }
}
@media (max-width: 900px) {
  .pa-job-money:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .pa-pay-stats:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .pa-job-money:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .pa-pay-form:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { grid-template-columns: 1fr; }
  .pa-pay-form input:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .pa-pay-form select:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 16px; }
}
.q-sheet .bid-table.pa-g703:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { table-layout: fixed; }
.q-sheet .bid-table.pa-g703 th:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { white-space: normal; letter-spacing: .06em; padding: 5px 4px; word-break: normal; }
.q-sheet .bid-table.pa-g703 td.num:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 9.5px; }
@media screen and (max-width: 700px) {
  .q-sheet .bid-table.pa-g703:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { table-layout: auto; }
  .q-sheet .bid-table.pa-g703 td.num:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 13px; }
}
.q-sheet .bid-table.pa-g703 tfoot td:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { font-size: 9.5px; padding: 8px 4px 0; }
.pa-pay .pa-pay-head h3:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { margin: 0; }
@media screen and (max-width: 700px) {
  .q-sheet .bid-wrap > .bid-table.pa-g702:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 100%; min-width: 0; }
  .q-sheet .bid-table.pa-g702 td.pa-g-l:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { white-space: normal; overflow-wrap: anywhere; }
  .q-sheet .bid-table.pa-g702 td.pa-g-n:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { width: 22px; padding-right: 2px; }
  .q-sheet .pa-g702 .pa-g-in .pa-g-l:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { padding-left: 12px; }
  .q-sheet .bid-table.pa-g703 tbody tr td.pa-g703-item:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *),
  .q-sheet .bid-table.pa-g703 tfoot tr td.pa-g703-item:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { display: none; }
}


/* ---- paper */
@page { size: 8.5in 11in; margin: 0.5in; }
@page { margin: 0.45in; }

/* ---- the acceptance-test forms (public/test-sheets.js): manhole vacuum, low-pressure air, mandrel deflection.
   They used to arrive as a <style> the script wrote into the page; they live here now, with the rest of the paper. Letter;
   the two line forms print landscape like their blanks (the named page tsland). */
.ts-sheet { background: #fff; color: var(--paper-ink); font: 500 11px/1.35 var(--paper-font); font-variant-numeric: tabular-nums;
  max-width: 1000px; margin: 24px auto; padding: 22px 26px; border: 1px solid var(--paper-line); border-radius: 8px; box-sizing: border-box; }
.ts-sheet * { box-sizing: border-box; }
.ts-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; padding-bottom: 11px;
  background: var(--paper-waterline) left bottom / 100% 2px no-repeat; }   /* the waterline, where the 3px blue rule was: the same height */
.ts-top img { height: 38px; }
.ts-top > div { text-align: right; }
.ts-top h1 { margin: 0; font-size: 20px; font-weight: 800; letter-spacing: .03em; color: var(--paper-ink); }
.ts-sub { color: var(--paper-muted); font-size: 10.5px; }
.ts-hdr { display: grid; grid-template-columns: auto minmax(0,3fr) auto minmax(0,2fr) auto minmax(0,3fr); gap: 6px 10px; margin: 12px 0; align-items: end; }
.ts-hdr span { font-weight: 750; letter-spacing: .04em; color: var(--paper-muted); font-size: 10px; text-transform: uppercase; }
.ts-hdr b { font-weight: 500; border-bottom: 1px solid var(--paper-rule); min-height: 16px; }
.ts-tbl { width: 100%; border-collapse: collapse; table-layout: fixed; }
.ts-tbl th { background: var(--paper-band); color: var(--paper-ink-2); font-size: 9px; font-weight: 700; text-transform: uppercase; padding: 4px 3px; border: 1px solid var(--paper-line);
  white-space: normal; letter-spacing: 0; line-height: 1.2; text-align: center; vertical-align: middle; }
.ts-tbl td { border: 1px solid var(--paper-line); height: 24px; padding: 2px 3px; text-align: center; font-size: 10px; overflow: hidden; }
.ts-tbl td.c { text-align: left; }
.ts-tbl td { white-space: nowrap; text-overflow: ellipsis; }
.ts-tbl td.c { white-space: normal; }
.ts-method { display: grid; grid-template-columns: 1fr auto; gap: 16px; margin-top: 12px; padding: 10px 12px 10px 16px; background: #fff;
  box-shadow: inset 0 0 0 1px var(--paper-line); border-radius: 8px; font-size: 10px; color: var(--paper-ink-2); }
.ts-method b { color: var(--paper-ink); }
.ts-ref-note { color: var(--paper-muted); font-size: 9px; margin: 6px 0 0; }
.ts-ref { border-collapse: collapse; font-size: 9px; align-self: start; }
.ts-ref caption { font-weight: 700; color: var(--paper-ink-2); padding-bottom: 3px; }
.ts-ref th { background: var(--paper-band); color: var(--paper-ink-2); padding: 2px 5px; white-space: normal; letter-spacing: 0; font-size: 9px; }
.ts-ref td { border: 1px solid var(--paper-line); padding: 1px 5px; text-align: center; }
.ts-sign { display: grid; grid-template-columns: auto 2fr auto 1fr; gap: 10px; align-items: end; margin-top: 18px; font-weight: 700; color: var(--paper-ink-2); font-size: 10.5px; }
.ts-sign .ln { border-bottom: 1px solid var(--paper-ink-2); min-height: 30px; display: flex; align-items: flex-end; gap: 8px; font-weight: 400; color: var(--paper-ink); }
.ts-sign img { max-height: 40px; }
.ts-sign .ts-sig-missing { font-size: 10px; color: var(--paper-muted); }   /* a signature picture that would not load, in words (test-sheets.js) */
.ts-foot { display: flex; justify-content: space-between; margin-top: 16px; color: var(--paper-faint); font-size: 9px; }
@page tsland { size: letter landscape; margin: .35in; }
@media print {
  .ts-sheet { break-before: page; page-break-before: always; border: 0; border-radius: 0; margin: 0; padding: 0; max-width: none; }
  .ts-sheet.land { page: tsland; }
  .ts-top, .ts-tbl th, .ts-ref th, .ts-method { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
/* A phone (second device sweep, 2026-10-09): the TABLE scrolls inside its own bordered box, with a line saying so —
   the sheet's heading, method and signature stay put, and the page never scrolls sideways. */
.ts-swipe { display: none; }
@media screen and (max-width: 700px) { .ts-tblwrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--paper-line); border-radius: 6px; }
  .ts-swipe { display: block; margin: 4px 0 2px; font-size: 11px; color: var(--paper-faint); text-align: right; } }
@media (max-width: 700px) { .ts-sheet { padding: 14px; } .ts-tbl { min-width: 760px; } .ts-method { grid-template-columns: 1fr; }
  .ts-hdr, .ts-sign { grid-template-columns: auto minmax(0, 1fr); } .ts-sign > span:first-child { max-width: 120px; } }
.ts-tbl col { width: var(--w); }   /* each column's share of the form, from the script: <col data-vars="--w:12%"> */
/* 2.4.1's forms on the 3.0 paper: the office's stamp on a test it entered, the coating sheet's tester line and its
   three-pull bands, a list form's segment strip and its totals */
.ts-office { display: block; color: var(--paper-muted); font-size: 8.5px; font-style: italic; white-space: normal; }
.ts-strip { grid-template-columns: repeat(6, auto minmax(0, 1fr)); }
.ts-totals { margin-top: 6px; font-size: 10.5px; color: var(--paper-ink-2); }
.ts-totals b { color: var(--paper-ink); }
.ts-tbl.coating td { height: 19px; font-size: 9.5px; }
.ts-tbl.coating tbody.alt td { background: var(--paper-band); }
.ts-tbl.coating td.w { white-space: normal; line-height: 1.2; }
.ts-tbl.coating td small { display: block; font-size: 8px; color: var(--paper-muted); white-space: normal; }
.ts-tbl.coating td.ts-skip { color: var(--paper-muted); font-style: italic; text-align: center; }
.ts-tbl.coating tr.ts-note td { height: 18px; font-size: 9px; border-bottom: 1.5px solid var(--paper-ink-2); white-space: normal; text-align: left; }
.ts-tbl.coating tr.ts-note b { color: var(--paper-ink-2); }
@media print { .ts-tbl.coating tbody.alt td { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }
@media (max-width: 700px) { .ts-tbl.coating { min-width: 1040px; } .ts-strip { grid-template-columns: auto minmax(0, 1fr); } }

/* ---- what the documents used to say in style="…" (3.0: looks live in a sheet, a value rides in a --custom-property) */
/* a column's share of a table, from the script: <th class="doc-cw" data-vars="--w:9.5%"> */
.q-sheet .doc-cw { width: var(--w); }
.q-sheet td.doc-nw { white-space: nowrap; }                       /* a date that must not break */
.q-sheet .q-word.pa-ix-word { font-size: 19px; }                  /* the pay app's ticket index: DAILY TICKETS */
.q-sheet .q-tbd-note.qv-min-note { margin-top: 4px; }             /* the proposal: under the minimum charge */
.q-sheet .q-lbl.po-lbl-gap { margin-top: 9px; }                   /* the purchase order: Issued by */
/* the RFI (public/rfi-view.js). Its layout sits in its page (rfi-view.html), after this sheet, so these name the sheet: the
   letterhead every other document has (the logo 54px tall, the near-black word, the waterline), the paper's headings, band
   and lines. The sheet's own colour is set from :root because the page's block, later, sets one on .rfi-sheet. */
:root .rfi-sheet { color: var(--paper-ink); }
.rfi-sheet .r-lh { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.rfi-sheet .r-logo { width: auto; height: 54px; }
.rfi-sheet .r-word { font-size: 22px; font-weight: 800; letter-spacing: .07em; color: var(--paper-ink); }
.rfi-sheet .r-meta { color: var(--paper-muted); }
.rfi-sheet .r-meta b { color: var(--paper-ink); }
.rfi-sheet .r-rule { height: 2px; background: var(--paper-waterline); margin: 15px 0 20px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.rfi-sheet .r-subj { font-size: 15px; font-weight: 800; letter-spacing: -.005em; margin-bottom: 10px; }
.rfi-sheet .r-h2 { color: var(--paper-ink); font-weight: 800; text-transform: none; letter-spacing: .01em; border-bottom-color: var(--paper-line); }
.rfi-sheet .r-q { background: var(--paper-band); border-left-color: var(--paper-ink-2); color: var(--paper-ink); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.rfi-sheet .r-line { border-color: var(--paper-line); }
.rfi-sheet .r-visits th { background: var(--paper-band); color: var(--paper-ink-2); font-weight: 750; border-bottom-color: var(--paper-line);
  -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.rfi-sheet .r-visits td { border-bottom-color: var(--paper-hair); }
.rfi-sheet .r-photos img { border-color: var(--paper-hair); }
.rfi-sheet .r-att { font-size: 12px; }
.rfi-sheet .r-none { font-size: 12.5px; }
.rfi-sheet .r-by { font-size: 12px; }
.rfi-sheet :is(.r-photos figcaption, .r-foot, .r-att, .r-none, .r-empty, .r-by) { color: var(--paper-faint); }
.rfi-sheet .r-foot { border-top-color: var(--paper-line); }
/* the sales report (public/sales-report-view.js; its letterhead and tables sit in its page): a section's small heading, and
   the space above a two-up row */
.sr-sheet h2.sr-h { font-size: 12px; font-weight: 750; letter-spacing: .01em; color: var(--paper-muted); margin: 0 0 6px; }
.sr-sheet h2.sr-h.sr-h-sec { border: 0; margin: 14px 0 6px; }
.sr-sheet .sr-two.sr-gap { margin-top: 14px; }
/* the customer's field ticket (public/ticket-view.html) */
.q-sheet .tv-sub { font-size: 11px; color: var(--paper-muted); }             /* a line's answers, its line name */
.q-sheet td.tv-hrs { text-align: right; }                         /* Hours billed */
.q-sheet .tv-signed { margin-top: 8px; }
.q-sheet .q-sig-val.tv-sigval { max-width: 280px; }
.q-sheet .tv-sigwhen { font-size: 11px; color: var(--paper-faint); margin-top: 3px; }
.q-sheet .tv-sigline { margin-top: 18px; border-bottom: 1px solid var(--paper-rule); max-width: 300px; }
.q-sheet .tv-siglbl { font-size: 11px; color: var(--paper-faint); }
.q-sheet .tv-phwhat { font-size: 12px; color: var(--paper-muted); margin-top: 6px; }

/* ---- the purchase order's own few rules (public/po-view.js: /po/<token> and Momentum's PO page) */
.po-sheet .q-watermark::before, .po-sheet .q-watermark::after { content: attr(data-wm); }
.po-sheet .po-ids { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 18px; margin: 0 0 14px; }
.po-sheet .po-no { font-size: 17px; font-weight: 800; letter-spacing: .02em; color: var(--paper-ink); }
.po-sheet .po-addr { white-space: pre-line; }
.po-sheet .po-mute { color: var(--paper-muted); }
.po-sheet .po-ref { margin-top: 3px; font-size: 11px; overflow-wrap: anywhere; }
.po-sheet .po-block { margin-top: 13px; font-size: 11px; page-break-inside: avoid; }
.po-sheet .po-block p { margin: 3px 0 0; }
.po-sheet .po-notes { white-space: pre-line; overflow-wrap: anywhere; }
.po-sheet .po-signs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 26px; margin-top: 14px; page-break-inside: avoid; }
.po-sheet .po-signs ul { margin: 3px 0 0; padding-left: 16px; }
.po-sheet .po-rev { margin: 0 0 12px; padding: 7px 11px; background: var(--paper-warn-bg); border-left: 3px solid var(--paper-warn); border-radius: 3px; font-size: 11px; color: var(--paper-ink); }
.po-sheet .bid-table td.po-desc { overflow-wrap: anywhere; }
@media screen and (max-width: 900px) {
  .po-sheet .po-ids { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .po-sheet .po-signs { grid-template-columns: minmax(0, 1fr); }
}
@media print { .po-sheet .po-rev { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }

/* ---- charts on a document page (the sales report draws charts.js). 3.0 moved a mark's colour from an inline style to
   data (--vc) and the chart chrome to classes (components.css "charts"); a document page prints without the kit, so the
   same few rules live here, scoped to it. The values are the inline ones charts.js wrote before (w9shell, 10/23). */
:where([data-doc]) .viz-svg { width: 100%; height: auto; display: block; }
:where([data-doc]) .viz-bar { fill: var(--vc); cursor: pointer; }
:where([data-doc]) .viz-line { fill: none; stroke: var(--vc); }
:where([data-doc]) .viz-dot { fill: var(--vc); stroke: var(--chart-ring, var(--panel)); }
:where([data-doc]) .viz-pat { fill: var(--vc); }
:where([data-doc]) .viz-pat-l { stroke: var(--vc); }
:where([data-doc]) .viz-grid { stroke: var(--chart-grid); }
:where([data-doc]) .viz-base { stroke: var(--chart-base); }
:where([data-doc]) .viz-target { stroke: var(--chart-muted); }
:where([data-doc]) .viz-axis { fill: var(--chart-muted); }
:where([data-doc]) .viz-end { fill: var(--chart-ink); }
:where([data-doc]) .viz-ohit { stroke: transparent; }
:where([data-doc]) .viz-legend-item i { background: var(--vc); }
:where([data-doc]) .viz-legend { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 8px 2px 4px; }   /* the key under a chart on the paper (w50a: it had no layout, so two names ran together and the swatches were 0px) */
:where([data-doc]) .viz-legend-item { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: var(--paper-muted); }
:where([data-doc]) .viz-legend-item i { width: 9px; height: 9px; border-radius: 3px; display: inline-block; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
:where([data-doc]) .viz-tip.on { display: block; left: var(--tip-x, 0px); top: var(--tip-y, 0px); }
:where([data-doc]) .viz.empty { padding: 40px 0; }   /* on screen, the inline padding charts.js wrote until w9shell (print keeps its own, above) */
/* the last page (w15polish, from w15testsB's print round) */
@media print {
  /* a ticket with test forms ended on a blank portrait page: #signMount (.wrap, 32px of padding) after the last landscape
     form started a page of its own — empty, or holding only screen-only parts (the "not sent for signature yet" note, the pad,
     "signed": all .no-print) (W15B-M3; 2.x the same). Anything in it meant for paper still prints. */
  #signMount:not(:has(> :not(.no-print))) { display: none; }
  /* a proposal could end on a page holding only its footer line (W15B-M4; demo quote 3, page 3 of 3): the footer keeps to
     the sheet above it, so the block before it comes over with it */
  .q-foot:where([data-doc], [data-doc] *, .q-sheet, .q-sheet *, .print-doc, .print-doc *, .ts-sheet, .ts-sheet *) { break-before: avoid; page-break-before: avoid; }
}

/* ---- wave 17 (w17apex), SWI's template: a branch's licence block under the logo, the proposal number beside the quote
   number, and the services banner under the title — printed by the office Preview (scope.js) and the customer's copy (/q/) */
.q-lic:where(.q-sheet *, .print-doc *) { display: flex; flex-wrap: wrap; gap: 2px 10px; max-width: 360px; margin-top: 6px; font-size: 9.5px; line-height: 1.35; color: var(--paper-muted); }
.q-propno:where(.q-sheet *, .print-doc *) { font-weight: 700; color: var(--paper-ink); white-space: nowrap; }
.q-banner:where(.q-sheet *, .print-doc *) { margin-top: 8px; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; color: var(--paper-muted); text-align: center; }

/* ---- a signed proposal's block (quote-view.js signBlock, 10/26): the signature and the printed name share a row, as the date and
   the PO do, so the signed block is shorter than the empty one and stays on the terms page with the standard terms (it took a
   page of its own on demo quote 2). Both cells sit on their captions; the picture keeps to its half. A picture that could
   not be drawn prints its words (.q-sig-missing), never a broken-image box. */
.q-sig-pair.q-sig-signed:where(.q-sheet *, .print-doc *) { align-items: end; }
.q-sig-signed .q-sig-img:where(.q-sheet *, .print-doc *) { max-width: 100%; }
.q-sig-missing:where(.q-sheet *, .print-doc *) { font-size: 11px; font-style: italic; color: var(--paper-muted); line-height: 1.35; }
