/* fetch-975: shared manager/staff phone bar preparation. House tokens, scoped selectors. */
.bpl { font-family: Inter, sans-serif; font-size: var(--t-body, .875rem); color: var(--ink); overflow-wrap: anywhere; }
.bpl *, .bpl-shell .pgh * { box-sizing: border-box; }
.bpl h2, .bpl h3, .bpl h4 { color: var(--navy-dark); font-family: Inter, sans-serif; margin: 0 0 var(--s-2, .5rem); line-height: 1.35; }
.bpl h2 { font-size: var(--t-section, 1.0625rem); }
.bpl h3, .bpl h4 { font-size: var(--t-body, .875rem); }
.bpl h4 { margin-top: var(--s-4, 1rem); }
.bpl p { margin: var(--s-2, .5rem) 0; line-height: 1.5; }
.bpl .card, .bpl.card { min-width: 0; padding: var(--s-4, 1rem); margin-bottom: var(--s-3, .75rem); }
.bpl .btn, .bpl summary, .bpl input:not([type=checkbox]), .bpl select, .bpl-shell .pgh-tab, .bpl-shell .pgh select, .bpl-shell .pgh button, .bpl-shell .pgh summary { min-height: var(--control-height-touch, 44px); min-width: 44px; font-size: var(--t-body, .875rem); font-family: Inter, sans-serif; }
.bpl .btn { white-space: normal; line-height: 1.3; padding: var(--s-2, .5rem) var(--s-3, .75rem); }
.bpl :is(button,input,select,textarea,summary,a):focus-visible { outline: 2px solid var(--focus-ring, var(--gold-dark)); outline-offset: 3px; }
.bpl :disabled { opacity: .6; cursor: not-allowed; }
.bpl a { color: var(--navy); text-decoration: underline; }
.bpl-fieldset { min-width: 0; border: 0; margin: 0; padding: 0; }
.bpl-fieldset legend { font-size: var(--t-body, .875rem); font-weight: 700; margin-bottom: var(--s-3, .75rem); }
.bpl-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--s-3, .75rem); }
.bpl-field { display: flex; flex-direction: column; gap: var(--s-1, .25rem); margin: var(--s-2, .5rem) 0 var(--s-3, .75rem); min-width: 0; font-size: var(--t-sub, .75rem); font-weight: 600; }
.bpl-field input, .bpl-field select, .bpl-field textarea { width: 100%; max-width: 100%; border: 1px solid var(--line); border-radius: var(--r-s, 6px); padding: var(--s-2, .5rem); background: var(--surface-card, var(--paper)); color: var(--ink); font-family: inherit; font-size: var(--t-body, .875rem); }
.bpl-field textarea { resize: vertical; min-height: 80px; }
.bpl-kicker { color: var(--muted); font-size: var(--t-sub, .75rem); font-weight: 600; margin-bottom: var(--s-2, .5rem); }
.bpl-muted { color: var(--muted); font-size: var(--t-sub, .75rem); }
.bpl-status { font-weight: 600; font-variant-numeric: tabular-nums; }
.bpl-quantity { font-variant-numeric: tabular-nums; color: var(--navy); font-weight: 600; }
.bpl-actions { display: flex; flex-wrap: wrap; gap: var(--s-2, .5rem); margin: var(--s-3, .75rem) 0; }
.bpl-actions .btn { flex: 1 1 130px; }
.bpl-rulehead { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3, .75rem); }
.bpl-rulehead > div { min-width: 0; }
.bpl-rulehead .btn { flex-shrink: 0; }
.bpl-rule, .bpl-staffrow, .bpl-pullitem { border-top: 1px solid var(--line); padding: var(--s-3, .75rem) 0; }
.bpl-editor, .bpl-add { background: var(--wash); padding: var(--s-3, .75rem); border-radius: var(--r-m, 10px); margin-top: var(--s-3, .75rem); }
.bpl-notice { border: 1px solid var(--line); border-left: 3px solid var(--info-fg); background: var(--wash); padding: var(--s-3, .75rem); margin: var(--s-3, .75rem) 0; line-height: 1.5; }
.bpl-notice--warn { border-left-color: var(--warn-fg); color: var(--warn-fg); background: var(--warn-bg); }
.bpl-issued { border-left: 3px solid var(--gold); padding: var(--s-3, .75rem); background: var(--wash); margin-bottom: var(--s-3, .75rem); }
.bpl details { border-top: 1px solid var(--line); margin-top: var(--s-3, .75rem); }
.bpl summary { cursor: pointer; padding: var(--s-3, .75rem) 0; font-weight: 600; line-height: 1.4; }
.bpl-check { display: flex; align-items: center; gap: var(--s-3, .75rem); min-height: 48px; margin-top: var(--s-3, .75rem); cursor: pointer; }
.bpl-check input { width: 22px; height: 22px; accent-color: var(--navy); flex-shrink: 0; }
.bpl-pullitem--done { border-left: 3px solid var(--ok-fg); padding-left: var(--s-3, .75rem); }
.bpl-gaps { padding-left: var(--s-5, 1.5rem); color: var(--warn-fg); line-height: 1.7; }
.bpl-historyrows { max-height: 24rem; overflow-y: auto; }
.bpl-prep { width: 100%; max-width: none; margin: 0 auto; }
.bpl-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-2); margin-top: var(--s-4); }
.bpl .bpl-step { display: flex; align-items: center; gap: var(--s-2); min-height: var(--control-height-touch); padding: var(--s-3); border: 1px solid var(--line); border-radius: var(--r-s); background: var(--surface-card); color: var(--ink); font: inherit; font-size: var(--t-sub); text-align: left; cursor: pointer; }
.bpl .bpl-step--current { border-color: var(--navy); box-shadow: inset 0 -2px var(--navy); font-weight: 700; }
.bpl-step-number { font-variant-numeric: tabular-nums; font-size: var(--t-body); font-weight: 700; }
.bpl-continue { border-top: 1px solid var(--line); padding-top: var(--s-3); margin-top: var(--s-4); }
.bpl [id=bplStepTitle], .bpl [id=bplStepErrors] { scroll-margin-top: var(--s-5); }
.bpl-shell .pgh-nav { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--s-2); }
.bpl-shell .pgh-navfield { min-width: 0; width: 100%; }
.bpl-shell .pgh-navfield select { width: 100%; max-width: 100%; }
.bpl-shell .pgh-tabs { overflow-x: auto; }
@media (max-width: 420px) {
  .bpl .bpl-step { flex-direction: column; align-items: flex-start; gap: var(--s-1); padding: var(--s-2); }
  .bpl-grid { grid-template-columns: 1fr; }
  .bpl-shell .pgh-navfield select { font-size: var(--t-sub); padding-left: var(--s-1); padding-right: var(--s-1); }
  .bpl-shell .pgh-tab { padding-left: var(--s-2); padding-right: var(--s-2); }
}
/* fetch-981: one preparation task at a time, with room for the sheet and its BEO reference. */
.bpl-shell:has(.bpl-prep) > .pgh { padding: var(--s-3); }
.bpl-shell:has(.bpl-prep) > .pgh .pgh-titles { display: flex; align-items: center; gap: var(--s-3); }
.bpl-shell:has(.bpl-prep) > .pgh .pgh-back { margin-bottom: 0; flex-shrink: 0; }
.bpl-shell:has(.bpl-prep) > .pgh .pgh-h { font-size: var(--t-section); }
.bpl-shell:has(.bpl-prep) > .pgh .pgh-meta { display: none; } /* The same event title is the preparation heading immediately below. */
.bpl-shell:has(.bpl-prep) > .pgh .pgh-tabs { margin-top: var(--s-1); overflow: visible; flex-wrap: wrap; min-width: 0; }
.bpl-shell:has(.bpl-prep) > .pgh .pgh-tab { flex: 0 0 auto; } /* fetch-982 zeroed the tab's negative margin here; fetch-1389 removed it from every tab row */
.bpl-prep .bpl-prep-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: var(--s-3) var(--s-5); padding: 0; border: 0; background: transparent; box-shadow: none; margin-bottom: var(--s-5); }
.bpl-prep .bpl-prep-title { min-width: 0; }
.bpl-prep .bpl-prep-title h2 { font-size: var(--t-title); margin-bottom: var(--s-1); }
.bpl-prep .bpl-prep-title p { margin: var(--s-1) 0 0; }
.bpl-prep .bpl-prep-header > .bpl-actions { align-items: center; justify-content: flex-end; margin: 0; }
.bpl-prep .bpl-prep-header > .bpl-actions .btn { flex: 0 1 auto; }
.bpl-prep .bpl-sheet-actions { min-width: 0; margin: 0; border: 0; }
.bpl-prep .bpl-sheet-actions > summary { padding: var(--s-2) var(--s-3); font-weight: 500; color: var(--navy); }
.bpl-prep .bpl-sheet-actions[open] { background: var(--surface-card); border-radius: var(--r-s); padding: 0 var(--s-3) var(--s-3); }
.bpl-prep .bpl-sheet-actions .bpl-actions { margin-bottom: 0; }
.bpl-prep .bpl-sheet-actions .btn { flex: 1 1 auto; }
.bpl-prep .bpl-steps { grid-column: 1 / -1; gap: 0; margin: 0; border: 1px solid var(--line); border-radius: var(--r-m); overflow: hidden; background: var(--surface-card); }
.bpl-prep .bpl-step { border: 0; border-right: 1px solid var(--line); border-radius: 0; padding: var(--s-3) var(--s-4); background: var(--wash); color: var(--muted); flex-direction: row; align-items: center; gap: var(--s-2); }
.bpl-prep .bpl-step:last-child { border-right: 0; }
.bpl-prep .bpl-step--current { box-shadow: inset 0 -2px var(--gold); background: var(--surface-card); color: var(--navy-dark); }
.bpl-prep .bpl-step:focus-visible { outline-offset: -3px; }
.bpl-prep .bpl-step-number { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; flex-shrink: 0; border: 1px solid var(--line); border-radius: 50%; font-size: var(--t-sub); font-weight: 600; }
.bpl-prep .bpl-step--current .bpl-step-number { background: var(--navy-dark); border-color: var(--navy-dark); color: var(--surface-card); }
.bpl-prep .bpl-workspace { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-4); align-items: start; }
.bpl-prep .bpl-workspace > * { min-width: 0; }
.bpl-prep .bpl-main { margin: 0; padding: var(--s-5); }
.bpl-prep .bpl-main > h2 { font-size: var(--t-title); margin-bottom: var(--s-1); }
.bpl-prep .bpl-main > .bpl-muted { margin: var(--s-1) 0 var(--s-4); }
.bpl-prep .bpl-section-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s-1); }
.bpl-prep .bpl-section-link { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: var(--s-1); min-width: 0; min-height: var(--control-height-touch); padding: var(--s-2) var(--s-1); border: 1px solid transparent; border-radius: var(--r-s); background: transparent; color: var(--muted); font-family: inherit; font-size: var(--t-sub); line-height: 1.4; text-align: center; cursor: pointer; }
.bpl-prep .bpl-section-link--current { border-color: var(--line); box-shadow: inset 0 -2px var(--gold); background: var(--surface-card); color: var(--navy-dark); font-weight: 600; }
.bpl-prep .bpl-section-count { font-size: var(--t-sub); color: var(--muted); font-variant-numeric: tabular-nums; font-weight: 400; }
.bpl-prep .bpl-reference { margin: 0; padding: var(--s-4); background: var(--wash); }
.bpl-prep .bpl-reference h3 { font-size: var(--t-section); }
.bpl-prep .bpl-reference p, .bpl-prep .bpl-reference li, .bpl-prep .bpl-reference summary { font-size: var(--t-sub); }
.bpl-prep .bpl-reference ul { margin: var(--s-2) 0; padding-left: var(--s-4); line-height: 1.6; }
.bpl-prep .bpl-reference .bpl-actions .btn { font-size: var(--t-sub); }
.bpl-prep .bpl-reference details { margin-top: var(--s-3); }
.bpl-prep .bpl-reference .bpl-grid { grid-template-columns: 1fr; }
.bpl-prep .bpl-rule { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--s-1) var(--s-3); padding: var(--s-3) 0; }
.bpl-prep .bpl-rule-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 240px); align-items: center; gap: var(--s-3) var(--s-5); }
.bpl-prep .bpl-rule-main > * { min-width: 0; }
.bpl-prep .bpl-rule-main strong { line-height: 1.5; }
.bpl-prep .bpl-rule-main p { margin: var(--s-1) 0 0; }
.bpl-prep .bpl-quick-quantity { display: flex; align-items: end; gap: var(--s-2); flex-wrap: wrap; min-width: 0; }
.bpl-prep .bpl-quick-quantity:has([data-bpl-count]) { align-items: center; }
.bpl-prep .bpl-quick-quantity .bpl-field { margin: 0; flex: 1 1 88px; }
.bpl-prep .bpl-quick-quantity .bpl-field:first-child { flex: 0 1 88px; }
.bpl-prep .bpl-quick-quantity input[type=number] { text-align: center; font-variant-numeric: tabular-nums; font-weight: 600; }
.bpl-prep .bpl-quick-quantity .bpl-actions { margin: 0; }
.bpl-prep .bpl-quick-quantity .btn { flex: 0 1 auto; font-size: var(--t-sub); }
.bpl-prep .bpl-quick-quantity [id^="bplQuantityResult-"] { flex: 1 0 100%; margin: var(--s-1) 0 0; font-variant-numeric: tabular-nums; }
.bpl-prep .bpl-item-details { margin-top: 0; border: 0; }
.bpl-prep .bpl-item-details[open] { grid-column: 1 / -1; }
.bpl-prep .bpl-item-details > summary { display: inline-flex; align-items: center; gap: var(--s-2); color: var(--muted); padding: var(--s-2) 0; font-size: var(--t-sub); font-weight: 500; list-style: none; }
.bpl-prep .bpl-item-details > summary::before { content: "+"; font-size: var(--t-body); color: var(--navy); }
.bpl-prep .bpl-item-details[open] > summary::before { content: "−"; }
.bpl-prep .bpl-item-details .bpl-editor { margin-top: 0; }
.bpl-prep .bpl-item-details .bpl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bpl-prep .bpl-add { background: transparent; border-top: 1px solid var(--line); border-radius: 0; padding: var(--s-4) 0 0; margin-top: 0; }
.bpl-prep .bpl-add h3 { font-size: var(--t-body); }
.bpl-prep .bpl-add > .bpl-field { margin-bottom: 0; }
.bpl-prep .bpl-product-results { display: grid; gap: var(--s-1); margin-top: var(--s-2); border: 1px solid var(--line); border-radius: var(--r-s); padding: var(--s-1); }
.bpl-prep .bpl-product-results:empty { display: none; }
.bpl-prep [data-bpl-product] { min-width: 0; min-height: var(--control-height-touch); padding: var(--s-2) var(--s-3); border: 0; border-radius: var(--r-s); background: var(--wash); color: var(--navy); text-align: left; font-family: inherit; font-size: var(--t-body); line-height: 1.5; cursor: pointer; }
.bpl-prep [data-bpl-product]:hover { background: var(--hair); }
.bpl-prep [data-bpl-product] small { display: block; color: var(--muted); font-size: var(--t-sub); }
.bpl-prep .bpl-continue { justify-content: space-between; align-items: center; gap: var(--s-3); padding-top: var(--s-4); margin: var(--s-5) 0 0; }
.bpl-prep .bpl-continue .btn { flex: 0 1 auto; }
.bpl-prep .bpl-continue .btn-primary { margin-left: auto; }
.bpl-prep .bpl-review-list { display: grid; gap: 0; margin: var(--s-4) 0; }
.bpl-prep .bpl-review-list > * { padding: var(--s-3) 0; border-top: 1px solid var(--line); }
.bpl-prep .bpl-lead-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-2); margin: var(--s-2) 0 var(--s-4); }
.bpl-prep .bpl-lead-results .btn { display: flex; align-items: center; gap: var(--s-2); text-align: left; justify-content: flex-start; background: var(--wash); }
.bpl-prep .bpl-lead-results [aria-pressed=true] { border-color: var(--navy); background: var(--surface-card); box-shadow: inset 3px 0 var(--gold); font-weight: 600; }
.bpl-prep .bpl-lead-results [aria-pressed=true]::before { content: "✓"; color: var(--ok-fg); flex-shrink: 0; }
.bpl-prep .bpl-delete-confirm { border-left: 3px solid var(--bad-fg); background: var(--surface-card); }
.bpl-prep #bplConfirmDelete { color: var(--bad-fg); border-color: var(--bad-fg); background: var(--surface-card); }
.bpl-prep .bpl-package-choices { min-width: 0; margin: var(--s-4) 0; padding: 0; border: 0; }
.bpl-prep .bpl-package-choices legend { color: var(--navy-dark); font-size: var(--t-body); font-weight: 600; }
.bpl-prep .bpl-package-choices p { color: var(--muted); font-size: var(--t-sub); }
.bpl-prep .bpl-package-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--s-2); }
.bpl-prep .bpl-package-options label { display: flex; align-items: center; gap: var(--s-2); min-width: 0; min-height: var(--control-height-touch); padding: var(--s-2); border: 1px solid var(--line); border-radius: var(--r-s); background: var(--surface-card); font-size: var(--t-sub); line-height: 1.4; cursor: pointer; }
.bpl-prep .bpl-package-options label:has(:checked) { border-color: var(--navy); background: var(--wash); color: var(--navy-dark); font-weight: 600; }
.bpl-prep .bpl-package-options input { width: 22px; height: 22px; flex-shrink: 0; margin: 0; accent-color: var(--navy); }
/* fetch-982: shared column labels and direct editing use one table on every screen size. */
.bpl-prep .bpl-section-guidance { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-1) var(--s-3); margin: var(--s-2) 0 var(--s-3); color: var(--muted); font-size: var(--t-sub); line-height: 1.5; }
.bpl-prep .bpl-section-guidance > p { flex: 1 1 26rem; margin: 0; }
.bpl-prep .bpl-section-guidance details { flex: 0 1 auto; margin: 0; border: 0; }
.bpl-prep .bpl-section-guidance details[open] { flex-basis: 100%; }
.bpl-prep .bpl-section-guidance summary { padding: var(--s-2) 0; font-size: var(--t-sub); }
.bpl-prep .bpl-items-table { display: table; width: 100%; margin: 0; border-collapse: collapse; table-layout: fixed; overflow: visible; font-size: var(--t-body); }
.bpl-prep .bpl-items-table th, .bpl-prep .bpl-items-table td { min-width: 0; max-width: none; padding: var(--s-2); border: 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; white-space: normal; overflow-wrap: anywhere; }
.bpl-prep .bpl-items-table th { padding-top: var(--s-3); padding-bottom: var(--s-3); color: var(--muted); background: var(--wash); font-size: var(--t-sub); font-weight: 600; }
.bpl-prep .bpl-items-table th:first-child { width: 27%; }
.bpl-prep .bpl-items-table th:nth-child(2) { width: 104px; }
.bpl-prep .bpl-items-table th:nth-child(3) { width: 160px; }
.bpl-prep .bpl-items-table th:last-child { width: 96px; }
.bpl-prep .bpl-items-table .bpl-rule { display: table-row; border: 0; padding: 0; }
.bpl-prep .bpl-items-table .bpl-rule:hover > td { background: var(--wash); }
.bpl-prep .bpl-items-table .bpl-rule > td:first-child { font-weight: 600; }
.bpl-prep .bpl-table-input, .bpl-prep .bpl-table-note { width: 100%; max-width: 100%; min-width: 0; min-height: var(--control-height-touch); margin: 0; padding: var(--s-2); border: 1px solid var(--line); border-radius: var(--r-s); color: var(--ink); background: var(--surface-card); font-family: inherit; font-size: var(--t-body); font-weight: 400; line-height: 1.3; }
.bpl-prep .bpl-table-input[type=number] { text-align: center; font-variant-numeric: tabular-nums; font-weight: 600; }
.bpl-prep .bpl-table-note { display: block; height: var(--control-height-touch); padding-top: var(--s-1); padding-bottom: var(--s-1); line-height: 1.2; resize: vertical; }
.bpl-prep .bpl-table-input::placeholder, .bpl-prep .bpl-table-note::placeholder { color: var(--muted); opacity: 1; font-weight: 400; }
.bpl-prep .bpl-items-table [data-bpl-edit] { font-size: var(--t-sub); }
.bpl-prep .bpl-items-table [data-bpl-edit][aria-expanded=true] { background: var(--wash); border-color: var(--navy); }
.bpl-prep .bpl-items-table .bpl-muted { font-size: var(--t-sub); }
.bpl-prep .bpl-items-table .bpl-rate-basis, .bpl-prep .bpl-items-table [id^="bplQuantityResult-"]:not([hidden]) { display: block; margin-top: var(--s-1); line-height: 1.4; font-variant-numeric: tabular-nums; }
.bpl-prep .bpl-items-table .bpl-rule-options > td { padding: var(--s-3); background: var(--wash); }
.bpl-prep .bpl-rule-options .bpl-editor { margin: 0; padding: 0; background: transparent; }
.bpl-prep .bpl-rule-options .bpl-grid { display: inline-flex; width: min(400px, 100%); flex-wrap: wrap; align-items: end; gap: var(--s-3); vertical-align: bottom; }
.bpl-prep .bpl-rule-options .bpl-field { flex: 0 1 180px; margin: 0; }
.bpl-prep .bpl-rule-options [id^="bplRounding-"] { flex: 0 1 180px; min-width: 0; }
.bpl-prep .bpl-rule-options [data-bpl-remove] { margin-top: var(--s-2); }
.bpl-prep .bpl-rule-options .bpl-actions { margin: var(--s-2) 0 0; }
.bpl-prep .bpl-rule-options .bpl-actions .btn { flex: 0 1 auto; }
@media (min-width: 900px) {
  .bpl-shell:has(.bpl-prep) > .pgh { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--s-5); }
  .bpl-shell:has(.bpl-prep) > .pgh .pgh-top { grid-column: auto; }
  .bpl-shell:has(.bpl-prep) > .pgh .pgh-tabs { margin: 0; }
}
@media (min-width: 1100px) {
  .bpl-prep .bpl-workspace { grid-template-columns: 150px minmax(0, 1fr); gap: var(--s-5); }
  .bpl-prep .bpl-workspace--simple { grid-template-columns: minmax(0, 1fr) 250px; }
  .bpl-prep .bpl-section-nav { grid-template-columns: 1fr; padding-top: var(--s-2); }
  .bpl-prep .bpl-section-link { flex-direction: row; justify-content: flex-start; align-items: center; gap: var(--s-2); padding: var(--s-3); font-size: var(--t-body); text-align: left; }
  .bpl-prep .bpl-section-link--current { box-shadow: inset 3px 0 var(--gold); }
  .bpl-prep .bpl-section-count { margin-left: auto; }
  .bpl-prep .bpl-reference { grid-column: 2; }
}
@media (min-width: 1500px) {
  .bpl-prep .bpl-workspace { grid-template-columns: 160px minmax(0, 1fr) 250px; }
  .bpl-prep .bpl-workspace--simple { grid-template-columns: minmax(0, 1fr) 280px; }
  .bpl-prep .bpl-reference { grid-column: auto; }
}
@media (max-width: 640px) {
  .bpl-prep .bpl-prep-header { grid-template-columns: 1fr; gap: var(--s-3); margin-bottom: var(--s-4); }
  .bpl-prep .bpl-prep-title h2 { font-size: var(--t-section); }
  .bpl-prep .bpl-prep-header > .bpl-actions { justify-content: space-between; gap: var(--s-2); }
  .bpl-prep .bpl-step { padding: var(--s-2); font-size: var(--t-sub); gap: var(--s-1); }
  .bpl-prep .bpl-step-number { width: 22px; height: 22px; }
  .bpl-prep .bpl-main { padding: var(--s-4); }
  .bpl-prep .bpl-main > h2 { font-size: var(--t-section); }
  .bpl-prep .bpl-main > .bpl-muted { margin-bottom: var(--s-1); }
  .bpl-prep .bpl-section-guidance { margin-bottom: var(--s-1); }
  .bpl-prep .bpl-section-nav { grid-template-columns: 1.15fr 1fr .6fr .9fr 1.05fr; }
  .bpl-prep .bpl-section-link { padding: var(--s-2) 0; overflow-wrap: normal; }
  .bpl-prep .bpl-section-count { line-height: 1; }
  .bpl-prep .bpl-rule { display: block; }
  .bpl-prep .bpl-rule-main { grid-template-columns: 1fr; gap: var(--s-2); }
  .bpl-prep .bpl-quick-quantity { justify-content: flex-start; max-width: 280px; }
  .bpl-prep .bpl-quick-quantity .bpl-field { flex: 1 1 96px; }
  .bpl-prep .bpl-quick-quantity .bpl-field:first-child { flex: 0 1 88px; }
  .bpl-prep .bpl-item-details .bpl-grid { grid-template-columns: 1fr; }
  .bpl-prep .bpl-continue { flex-direction: column-reverse; align-items: stretch; gap: var(--s-2); }
  .bpl-prep .bpl-continue .btn, .bpl-prep .bpl-continue .btn-primary { width: 100%; margin-left: 0; }
  .bpl-prep .bpl-reference .bpl-actions { flex-direction: column; }
  .bpl-prep .bpl-lead-results { grid-template-columns: 1fr; }
  .bpl-prep .bpl-items-table, .bpl-prep .bpl-items-table tbody { display: block; width: 100%; }
  .bpl-prep .bpl-items-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .bpl-prep .bpl-items-table .bpl-rule { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-3) var(--s-2); padding: var(--s-3) 0; border-top: 1px solid var(--line); }
  .bpl-prep .bpl-items-table td { display: block; width: auto; padding: 0; border: 0; }
  .bpl-prep .bpl-items-table .bpl-rule > td:first-child, .bpl-prep .bpl-items-table .bpl-rule > td:nth-child(4), .bpl-prep .bpl-items-table .bpl-rule > td:last-child { grid-column: 1 / -1; }
  .bpl-prep .bpl-items-table .bpl-rule > td[data-label]::before { content: attr(data-label); display: block; margin-bottom: var(--s-1); color: var(--muted); font-size: var(--t-sub); font-weight: 600; line-height: 1.4; }
  .bpl-prep .bpl-items-table .bpl-rule > td:first-child::before, .bpl-prep .bpl-items-table .bpl-rule > td:last-child::before { display: none; }
  .bpl-prep .bpl-items-table .bpl-rule:hover > td { background: transparent; }
  .bpl-prep .bpl-items-table .bpl-rule-options { display: block; }
  .bpl-prep .bpl-items-table .bpl-rule-options > td { padding: var(--s-3); border-radius: var(--r-s); }
  .bpl-prep .bpl-rule-options .bpl-field { flex-basis: 100%; }
  .bpl-prep .bpl-rule-options [id^="bplRounding-"] { flex-basis: 100%; }
}
/* fetch-1532: the Event Board as the Agenda (docs/bar-redesign/eb-agenda, Jack 10-10). One prefix, bpa- (no other file in the
   repo uses it). Tokens only; the venue colour arrives as --vc from venueChip() / pghChipHTML(), the only inline style drawn. */
/* the one header: pageHeaderHTML({ cls: 'bpa-pgh', compact: true, ... }) re-flowed, never re-built */
.pgh.bpa-pgh { margin-bottom: var(--s-3); }
.bpa-pgh .pgh-meta { font-variant-numeric: tabular-nums; }
.bpa-pgh .pgh-filters--on { box-shadow: inset 0 -2px var(--brand-gold-mid); }
.bpa-pgh .pgh-seg button { min-height: var(--control-height-icon); }
.bpa-pgh .pgh-scope-choices:empty { display: none; } /* the venue picker stands alone; the header always draws the choices group */
@media (min-width: 901px) and (max-width: 1180px) { .bpa-pgh .pgh-chips .pgh-chip { padding-inline: var(--s-2); } } /* five chips on one line at 1024 */
@media (max-width: 640px) { /* a phone: title + ⋯ / tabs / period + Filters / the venue picker (no sideways chip scroller) */
  .pgh.bpa-pgh { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--s-2); padding: var(--s-3); }
  .bpa-pgh .pgh-top { grid-column: 1 / -1; }
  .bpa-pgh .pgh-tabs { grid-column: 1 / -1; margin-top: var(--s-2); }
  .bpa-pgh .pgh-row { margin-top: var(--s-2); }
  .bpa-pgh .pgh-row:has(.pgh-seg) { grid-column: 1; grid-row: 3; min-width: 0; }
  .bpa-pgh .pgh-row:has(.pgh-filters) { grid-column: 2; grid-row: 3; }
  .bpa-pgh .pgh-seg { width: 100%; mask-image: none; -webkit-mask-image: none; }
  .bpa-pgh .pgh-seg button { flex: 1 1 0; min-height: var(--control-height-touch); }
  .bpa-pgh .pgh-filters { padding-inline: var(--s-3); }
  .bpa-pgh .pgh-scope { grid-column: 1 / -1; grid-row: 4; }
  .bpa-pgh .pgh-chips { display: none; }
}
@media (min-width: 641px) { /* row 1: title + meta · tabs · ⋯ ; row 2: venue chips · period · Filters */
  .pgh.bpa-pgh { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; column-gap: var(--s-4); }
  .bpa-pgh .pgh-top { display: contents; }
  .bpa-pgh .pgh-titles { grid-column: 1; grid-row: 1; }
  .bpa-pgh .pgh-tabs { grid-column: 2; grid-row: 1; margin-top: 0; align-self: end; }
  .bpa-pgh .pgh-acts { grid-column: 3; grid-row: 1; }
  .bpa-pgh .pgh-scope { display: none; }
  .bpa-pgh .pgh-chips { grid-column: 1; grid-row: 2; margin-top: var(--s-2); }
  .bpa-pgh .pgh-row:has(.pgh-seg) { grid-column: 2; grid-row: 2; margin-top: var(--s-2); justify-self: end; }
  .bpa-pgh .pgh-row:has(.pgh-filters) { grid-column: 3; grid-row: 2; margin-top: var(--s-2); }
}
@media (min-width: 641px) and (max-width: 900px) { .bpa-pgh .pgh-chips { grid-column: 1 / -1; grid-row: 3; } }
/* the agenda: one card, day groups, one-line rows */
.bpa-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.bpa-list.card { padding: 0; overflow: visible; margin-bottom: var(--s-4); }
.bpa-colh, .bpa-row { display: grid; align-items: center; column-gap: var(--s-3); padding-inline: var(--s-4);
  grid-template-columns: [win] 6.25rem [ven] 6.75rem [ttl] minmax(0, 1fr) [pkg] minmax(10rem, 15rem) [gst] 3.5rem [bt] 8.5rem [pull] 6.25rem;
  grid-template-areas: "win ven ttl pkg gst bt pull"; }
.bpa-colh { min-height: 1.75rem; border-bottom: 1px solid var(--line); color: var(--muted); font-size: var(--t-sub); font-weight: 600; }
.bpa-colh > :nth-child(5) { text-align: right; }
.bpa-day { border-top: 1px solid var(--hair); }
.bpa-day:first-of-type { border-top: 0; }
.bpa .bpa-dayh { position: sticky; top: var(--app-sticky-top, 0px); z-index: 2; display: flex; align-items: baseline; gap: var(--s-3); margin: 0;
  padding: var(--s-1) var(--s-4); line-height: 1.35; background: var(--surface-card); border-bottom: 1px solid var(--hair);
  font-size: var(--t-sub); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--navy); }
.bpa .bpa-dayh--today { color: var(--text-heading); }
.bpa-dayh small { margin-left: auto; font-size: var(--t-sub); font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.bpa .bpa-none { margin: 0; padding: var(--s-2) var(--s-4); color: var(--muted); font-size: var(--t-body); }
.bpa-rows { list-style: none; margin: 0; padding: 0; }
.bpa-row { position: relative; min-height: var(--control-height-md); padding-block: 2px; border-bottom: 1px solid var(--hair); font-size: var(--t-mid); color: var(--ink); }
.bpa-rows > .bpa-row:last-child { border-bottom: 0; }
.bpa-row:hover { background: var(--wash); }
.bpa-row.is-open { background: var(--wash); box-shadow: inset 3px 0 0 var(--gold); } /* gold as jewelry: the one row whose sheet is open */
.bpa-main, .bpa-sub, .bpa-num { display: contents; }
.bpa-win { grid-area: win; display: flex; flex-direction: column; line-height: 1.15; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bpa-win small, .bpa-pull small { font-size: var(--t-sub); font-weight: 400; color: var(--muted); }
.bpa-wait { color: var(--muted); }
.bpa-ven { grid-area: ven; min-width: 0; }
.bpa-row .vchip { color: var(--ink); font-weight: 600; white-space: nowrap; flex-wrap: nowrap; } /* the dot carries the venue colour; Crane Bay yellow is not a reading colour */
.bpa .bpa-open { grid-area: ttl; min-width: 0; min-height: 0; justify-self: stretch; appearance: none; border: 0; background: none; padding: 0; margin: 0; font: inherit;
  font-weight: 600; color: var(--text-heading); text-align: left; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bpa-open::after { content: ""; position: absolute; inset: 0; } /* the whole row is the one door */
.bpa .bpa-open:focus-visible { outline: none; }
.bpa .bpa-open:focus-visible::after { outline: 2px solid var(--focus-ring); outline-offset: -2px; border-radius: var(--r-s); }
.bpa-pkg { grid-area: pkg; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bpa-pkg i, .bpa-bt i, .bpa-gst i { font-style: normal; color: var(--muted); }
.bpa-why { color: var(--muted); }
.bpa-gst { grid-area: gst; text-align: right; font-variant-numeric: tabular-nums; }
.bpa-bt { grid-area: bt; white-space: nowrap; font-variant-numeric: tabular-nums; }
.bpa-pull { grid-area: pull; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; color: var(--muted); font-size: var(--t-sub); }
.bpa-u { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; } /* the unit a column head already states */
.bpa-ph { display: none; }
.bpa-warn { color: var(--warn-fg); font-weight: 600; }
.bpa-x { color: var(--warn-fg); font-weight: 700; }
.bpa-today { display: none; }
/* a pull state with a sheet behind it is its own door (rule 12), above the row's door */
.bpa .bpa-pullbtn { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: var(--s-1); min-height: var(--control-height-icon); min-width: 0;
  padding: 0 var(--s-2); border: 1px solid var(--line); border-radius: var(--r-s); background: var(--paper); font: inherit; font-size: var(--t-sub); color: var(--ink); cursor: pointer; }
.bpa .bpa-pullbtn:hover { border-color: var(--navy); }
/* everything else the window holds: one door at the foot of the list */
.bpa .bpa-more { display: flex; align-items: center; gap: var(--s-2); width: 100%; min-height: var(--control-height-touch); padding: var(--s-2) var(--s-4);
  border: 0; border-top: 1px solid var(--line); background: none; font: inherit; font-size: var(--t-sub); color: var(--navy); text-align: left; cursor: pointer; }
.bpa-more:hover { background: var(--wash); }
.bpa-more .ci { margin-left: auto; transition: transform .15s; }
.bpa-more[aria-expanded="true"] .ci { transform: rotate(180deg); }
.bpa-other .bpa-row { color: var(--muted); }
.bpa .bpa-other .bpa-open { color: var(--navy); }
/* states (rule 15): loading, failed and filtered-to-zero each look different */
.bpa-zero { padding: var(--s-5) var(--s-4); text-align: center; color: var(--muted); font-size: var(--t-body); }
.bpa .bpa-zero p { margin: 0 0 var(--s-2); }
.bpa .bpa-zero .bpa-active { color: var(--ink); font-weight: 600; }
.bpa .bpa-statusnote { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); margin: 0; padding: var(--s-2) var(--s-4); border-bottom: 1px solid var(--line);
  font-size: var(--t-sub); color: var(--warn-fg); background: var(--warn-bg); }
.bpa .bpa-statusnote .btn { margin-left: auto; }
@media (max-width: 1180px) and (min-width: 641px) { /* 1024: the same columns, squeezed */
  .bpa-colh, .bpa-row { column-gap: var(--s-2); grid-template-columns: [win] 5.75rem [ven] 6rem [ttl] minmax(0, 1fr) [pkg] 10.5rem [gst] 2.75rem [bt] 8.5rem [pull] 6.5rem; }
  .bpa-pkg i { display: none; }
}
/* a phone: rows become a title line, a venue + package line and a figure line; the day label pins under the bar */
@media (max-width: 640px) {
  .bpa-colh { display: none; }
  .bpa-row { grid-template-columns: [win] 5.25rem [main] minmax(0, 1fr); grid-template-areas: "win ttl" "win sub" "win num" "win today";
    column-gap: var(--s-2); row-gap: 0; align-items: start; min-height: var(--control-height-touch); padding: calc(var(--s-1) + 2px) var(--s-3); }
  body.has-rail .bpa .bpa-dayh, .bpa .bpa-dayh { top: var(--phone-nav-height, 55px); padding-inline: var(--s-3); }
  .bpa .bpa-none { padding-inline: var(--s-3); }
  .bpa-win { font-size: var(--t-mid); }
  .bpa .bpa-open { font-size: var(--t-body); line-height: 1.25; }
  .bpa-dayh .bpa-dbt { display: none; }
  .bpa-sub { display: flex; grid-area: sub; min-width: 0; align-items: baseline; gap: var(--s-1); font-size: var(--t-sub); color: var(--navy); line-height: 1.3; }
  .bpa-ven { flex: 0 0 auto; }
  .bpa-ven::after { content: "\00b7"; margin-left: var(--s-1); color: var(--muted); }
  .bpa-pkg { flex: 1 1 auto; }
  .bpa-pkg i { display: none; }
  .bpa-num { display: flex; grid-area: num; min-width: 0; flex-wrap: wrap; gap: 0 var(--s-1); font-size: var(--t-sub); color: var(--muted); line-height: 1.3; }
  .bpa-num > span { white-space: nowrap; }
  .bpa-gst { text-align: left; color: var(--ink); }
  .bpa-gst:not(:last-child)::after { content: "\00b7"; margin-left: var(--s-1); color: var(--muted); }
  .bpa-bt { color: var(--ink); }
  .bpa-u { position: static; width: auto; height: auto; overflow: visible; clip-path: none; }
  .bpa-dsk { display: none; }
  .bpa-ph { display: inline; }
  .bpa-pull { display: none; }
  .bpa-pull:has(.bpa-pullbtn) { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 0 var(--s-2); grid-area: today; margin-top: var(--s-1); } /* its own line, never under the figures */
  .bpa-row--today .bpa-pull:has(.bpa-pullbtn) { display: none; } /* tonight's line below already says it, with the door in the sheet */
  .bpa-today { display: block; grid-area: today; min-width: 0; margin-top: 2px; font-size: var(--t-sub); color: var(--navy); line-height: 1.35; }
  .bpa .bpa-more { padding-inline: var(--s-3); }
  .bpa .bpa-zero .btn { min-height: var(--control-height-touch); }
}
@media (max-width: 359px) { .bpa-row { grid-template-columns: [win] 4.75rem [main] minmax(0, 1fr); } .bpa-win { font-size: var(--t-sub); } }
/* the event's bar sheet and the Filters sheet: side sheets over the board (full screen on a phone), native modal dialogs */
dialog.bpa-sheet { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(30rem, 100vw); max-width: 100vw; height: 100dvh; max-height: 100dvh; padding: 0;
  border: 0; border-left: 1px solid var(--line); background: var(--surface-card); color: var(--ink); display: flex; flex-direction: column;
  box-shadow: calc(-1 * var(--s-2)) 0 var(--s-5) color-mix(in srgb, var(--ink) 18%, transparent); }
dialog.bpa-sheet:not([open]) { display: none; }
dialog.bpa-sheet::backdrop { background: color-mix(in srgb, var(--ink) 28%, transparent); }
dialog.bpa-sheet--narrow { width: min(24rem, 100vw); }
.bpa-sh-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-1) var(--s-2); padding: var(--s-3) var(--s-4); border-bottom: 1px solid var(--line); }
.bpa-sh-kicker { display: flex; align-items: center; gap: var(--s-2); font-size: var(--t-sub); color: var(--muted); font-variant-numeric: tabular-nums; }
.bpa .bpa-sh-head h2 { grid-column: 1; margin: 0; font-size: var(--t-section); line-height: 1.3; color: var(--text-heading); overflow-wrap: anywhere; }
.bpa .bpa-sh-head h2:focus { outline: none; } /* it takes focus on open so the dialog's name is read first; it is not a control */
.bpa-sh-acts { grid-column: 2; grid-row: 1 / span 2; display: flex; gap: var(--s-1); align-self: start; }
.bpa-sh-body { flex: 1 1 auto; overflow: auto; overscroll-behavior: contain; padding: var(--s-2) var(--s-4) var(--s-4); }
.bpa-facts { margin: 0; display: grid; gap: 0; }
.bpa-facts > div { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: var(--s-2); padding: var(--s-2) 0; border-bottom: 1px solid var(--hair); }
.bpa-facts dt { margin: 0; font-size: var(--t-sub); font-weight: 700; color: var(--muted); padding-top: 2px; }
.bpa-facts dd { margin: 0; font-size: var(--t-body); line-height: 1.4; font-variant-numeric: tabular-nums; }
.bpa-facts dd > span { display: block; font-size: var(--t-sub); color: var(--muted); }
.bpa-facts ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-1); }
.bpa-facts li small { display: block; font-size: var(--t-sub); color: var(--muted); }
.bpa .bpa-facts .bpa-sh-note { color: var(--warn-fg); }
.bpa .bpa-sh-h { margin: var(--s-4) 0 var(--s-1); font-size: var(--t-sub); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.bpa-fns, .bpa-lines { list-style: none; margin: 0; padding: 0; }
.bpa-fns li { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: var(--s-2); padding: var(--s-1) 0; font-size: var(--t-mid); font-variant-numeric: tabular-nums; }
.bpa-fns li span:last-child { color: var(--muted); }
.bpa-fns li.is-bar { font-weight: 600; }
.bpa-fns li.is-bar span:last-child { color: var(--ink); }
.bpa-lines li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 var(--s-3); padding: var(--s-2) 0; border-bottom: 1px solid var(--hair); font-size: var(--t-mid); }
.bpa-lines li:last-child { border-bottom: 0; }
.bpa-lines strong { font-weight: 600; white-space: pre-line; overflow-wrap: anywhere; }
.bpa-qty { color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.bpa .bpa-lines p { grid-column: 1 / -1; margin: 2px 0 0; color: var(--muted); font-size: var(--t-sub); line-height: 1.4; white-space: pre-line; overflow-wrap: anywhere; }
.bpa .bpa-inline { margin: var(--s-1) 0 0; font-size: var(--t-sub); color: var(--navy); line-height: 1.5; }
.bpa-inline b { font-weight: 700; color: var(--muted); }
.bpa .bpl-status { margin: var(--s-1) 0 0; }
.bpa-sh-foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); padding: var(--s-3) var(--s-4); border-top: 1px solid var(--line); background: var(--surface-card); }
.bpa .bpa-sh-foot > p { margin: 0; flex: 1 1 10rem; min-width: 0; font-size: var(--t-sub); color: var(--muted); }
.bpa-sh-foot > p strong { display: block; color: var(--ink); font-size: var(--t-mid); }
.bpa .bpa-sh-foot .btn-primary { flex: 0 0 auto; display: inline-flex; align-items: center; gap: var(--s-2); padding-inline: var(--s-4); }
.bpa .bpa-sh-foot .bpa-sh-said { flex-basis: 100%; color: var(--navy); }
.bpa-sh-foot--split { justify-content: space-between; }
.bpa-choices { display: flex; flex-wrap: wrap; gap: var(--s-2); margin: var(--s-2) 0 0; padding: 0; border: 0; }
.bpa-choices legend { width: 100%; padding: 0; margin: 0 0 var(--s-2); font-size: var(--t-sub); font-weight: 600; color: var(--navy-dark); }
.bpa .bpa-choice { display: inline-flex; align-items: center; justify-content: center; min-width: var(--control-height-touch); min-height: var(--control-height-touch); padding: 0 var(--s-3);
  border: 1px solid var(--line); border-radius: 999px; background: var(--paper); font: inherit; font-size: var(--t-sub); font-weight: 600; color: var(--ink); cursor: pointer; }
.bpa .bpa-choice[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: var(--paper); }
@media (max-width: 640px) {
  dialog.bpa-sheet, dialog.bpa-sheet--narrow { width: 100vw; border-left: 0; }
  .bpa-sh-head { padding: var(--s-2) var(--s-3) var(--s-3); }
  .bpa-sh-body { padding-inline: var(--s-3); }
  .bpa-facts > div { grid-template-columns: 6.5rem minmax(0, 1fr); }
  .bpa-fns li { grid-template-columns: 8.5rem minmax(0, 1fr); }
  .bpa-sh-foot { padding: var(--s-3); padding-bottom: calc(var(--s-3) + env(safe-area-inset-bottom, 0px)); }
}
@media print {
  dialog.bpa-sheet { display: none !important; }
  .bpl button, .bpl-fieldset, .bpl summary, .bpl-shell .pgh, .bpl-add, .bpl-source { display: none !important; }
  .bpl .bpl-release { display: block; }
  .bpl-pullitem { break-inside: avoid; }
}

/* ============ fetch-1533: Bar > Consumption, the RECONCILE QUEUE (docs/bar-redesign/co-reconcile, Jack 10-10) ============
   One prefix, crq- (0 hits in portal.css / index.html / every seam file before this block). Tokens only: no raw hex, no
   px font sizes, no inline style - the venue colour arrives through venueChip() / vcStyle()'s --vc, the app's own door. */
.bpl-shell .pgh > .pgh-status { margin: var(--s-2) 0 0; color: var(--warn-fg); font-size: var(--t-sub); font-weight: 600; line-height: 1.5; }
.bpl-shell .pgh-scope-choices:empty { display: none; } /* the venue picker stands alone: no empty box beside it */
.bpl-shell .pgh:not(.bpa-pgh) .pgh-scope:has(.pgh-scope-choices:empty) .pgh-picker { flex: 0 1 20rem; } /* not the Event Board header (fetch-1532 .bpa-pgh keeps its phone picker full width) */
.crq-queue { --crq-grid: 6.5rem 6rem minmax(9rem, 1fr) 4.5rem 5.5rem 6.25rem minmax(12rem, 1fr) 1rem; padding: 0; overflow: hidden; margin-bottom: var(--s-3); font-family: Inter, sans-serif; color: var(--ink); }
.crq-queue *, .crq-sheet *, .crq-pullsheet * { box-sizing: border-box; }
.crq-cols { display: grid; align-items: end; grid-template-columns: var(--crq-grid); gap: var(--s-3); padding: var(--s-2) var(--s-4); border-bottom: 1px solid var(--line);
  font-size: var(--t-sub); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.crq-cols > span { min-width: 0; overflow-wrap: break-word; }
.crq-cols .crq-num { white-space: normal; }
.crq-group { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s-1) var(--s-2); margin: 0; padding: var(--s-4) var(--s-4) var(--s-2);
  font-size: var(--t-sub); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--navy-dark); border-bottom: 1px solid var(--line); }
.crq-group-n { font-size: var(--t-sub); font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--muted); font-variant-numeric: tabular-nums; }
.crq-list { list-style: none; margin: 0; padding: 0; }
.crq-row { display: grid; grid-template-columns: var(--crq-grid); gap: var(--s-3); align-items: center; width: 100%; min-height: var(--control-height-touch);
  padding: var(--s-2) var(--s-4); margin: 0; border: 0; border-bottom: 1px solid var(--hair); border-radius: 0; background: transparent; color: var(--ink);
  font: inherit; font-size: var(--t-body); text-align: left; cursor: pointer; }
.crq-row:hover { background: var(--wash); }
.crq-row:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: -2px; }
.crq-row[aria-expanded="true"] { background: var(--wash); box-shadow: inset 3px 0 0 var(--gold); }
.crq-date { font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.crq-venue { min-width: 0; white-space: nowrap; overflow: hidden; }
.crq-venue .vchip { flex-wrap: nowrap; white-space: nowrap; color: var(--ink); font-weight: 600; font-size: var(--t-sub); }
.crq-ev { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crq-evt { font-weight: 600; }
.crq-evt--none { color: var(--warn-fg); }
.crq-op { font-size: var(--t-sub); font-weight: 700; color: var(--navy); }
.crq-no { margin-left: var(--s-2); color: var(--muted); font-size: var(--t-sub); font-variant-numeric: tabular-nums; }
.crq-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.crq-why { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--t-sub); color: var(--muted); font-variant-numeric: tabular-nums; }
.crq-why b { font-weight: 700; color: var(--warn-fg); }
.crq-why-n { display: none; }
.crq-chev { display: inline-flex; color: var(--muted); }
.crq-more { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-2); padding: var(--s-2) var(--s-4);
  border-bottom: 1px solid var(--hair); font-size: var(--t-sub); color: var(--muted); }
.crq-more:last-child { border-bottom: 0; }
.crq-linkbtn { min-height: var(--control-height-touch); padding: 0 var(--s-2); border: 0; background: transparent; color: var(--navy); font: inherit; font-size: var(--t-sub);
  font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.crq-linkbtn:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.crq-empty { padding: var(--s-5) var(--s-4); text-align: center; color: var(--muted); font-size: var(--t-body); line-height: 1.6; }
.crq-empty b { color: var(--ink); }
.crq-empty[role="alert"] b { color: var(--bad-fg); }
.crq-retry { display: inline-flex; align-items: center; gap: var(--s-2); min-height: var(--control-height-touch); margin-top: var(--s-3); }

/* the night's sheet: a native modal <dialog> - a side sheet on a desktop, the whole screen on a phone */
dialog.crq-sheet { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(40rem, 100vw); max-width: 100vw; height: 100dvh; max-height: 100dvh; padding: 0;
  overflow: auto; border: 0; border-left: 1px solid var(--line); background: var(--surface-card); color: var(--ink); font-family: Inter, sans-serif; font-size: var(--t-body);
  box-shadow: calc(-1 * var(--s-2)) 0 var(--s-5) color-mix(in srgb, var(--ink) 18%, transparent); }
dialog.crq-sheet::backdrop, dialog.crq-pullsheet::backdrop { background: color-mix(in srgb, var(--ink) 28%, transparent); }
.crq-sh-head { position: sticky; top: 0; z-index: 3; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-1) var(--s-3); align-items: start;
  padding: var(--s-3) var(--s-4); background: var(--surface-card); border-bottom: 1px solid var(--line); }
.crq-sh-head .icon-btn { grid-column: 2; grid-row: 1 / span 3; }
.crq-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-1) var(--s-2); font-size: var(--t-sub); font-weight: 600; color: var(--muted); }
.crq-kicker .vchip { color: var(--ink); }
.crq-sh-title { margin: var(--s-1) 0 0; font-size: var(--t-section); font-weight: 700; line-height: 1.3; color: var(--navy-dark); overflow-wrap: anywhere; }
.crq-sh-title:focus { outline: none; }
.crq-sh-title:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.crq-sh-sub { font-size: var(--t-sub); color: var(--muted); font-variant-numeric: tabular-nums; }
.crq-total { display: grid; gap: var(--s-2); padding: var(--s-4); border-bottom: 1px solid var(--line); }
.crq-fig-l { font-size: var(--t-sub); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.crq-fig { font-size: var(--t-title); font-weight: 700; line-height: 1.2; color: var(--navy-dark); font-variant-numeric: tabular-nums; }
.crq-base { font-size: var(--t-sub); color: var(--muted); font-variant-numeric: tabular-nums; line-height: 1.5; }
.crq-base b { color: var(--warn-fg); font-weight: 700; }
.crq-acts { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); }
.crq-acts .btn { display: inline-flex; align-items: center; gap: var(--s-2); min-height: var(--control-height-touch); }
.crq-said { font-size: var(--t-sub); font-weight: 600; color: var(--ok-fg); }
.crq-said:empty { display: none; }
.crq-said--bad { color: var(--bad-fg); }
.crq-recon { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-1) var(--s-2); padding-top: var(--s-2); border-top: 1px solid var(--hair);
  font-size: var(--t-sub); color: var(--ink); font-variant-numeric: tabular-nums; }
.crq-recon .ci { flex: none; color: var(--muted); }
.crq-recon-n { font-weight: 700; }
.crq-var { font-weight: 700; color: var(--warn-fg); }
.crq-recon-note { color: var(--muted); }
.crq-choose { display: grid; gap: var(--s-2); padding: var(--s-4); border-bottom: 1px solid var(--line); background: var(--wash); }
.crq-choose p { margin: 0; font-size: var(--t-sub); line-height: 1.5; color: var(--ink); }
.crq-choose-acts { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.crq-choose-acts .btn { min-height: var(--control-height-touch); white-space: normal; text-align: left; }
.crq-lgroup { display: flex; justify-content: space-between; gap: var(--s-2); margin: 0; padding: var(--s-3) var(--s-4) var(--s-1);
  font-size: var(--t-sub); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); font-variant-numeric: tabular-nums; }
.crq-lgroup > span { letter-spacing: 0; text-transform: none; font-weight: 600; font-size: var(--t-sub); }
.crq-line { display: grid; grid-template-columns: minmax(0, 1fr) 3.5rem 6.5rem 5.75rem; grid-template-areas: "name qty rate tot" "src src rate tot";
  column-gap: var(--s-3); align-items: center; padding: var(--s-2) var(--s-4); border-top: 1px solid var(--hair); }
.crq-lname { grid-area: name; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.crq-lqty { grid-area: qty; text-align: right; white-space: nowrap; color: var(--muted); font-variant-numeric: tabular-nums; }
.crq-lsrc { grid-area: src; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--t-sub); color: var(--muted); }
.crq-lsrc--ask { color: var(--warn-fg); font-weight: 600; }
.crq-q-ph { display: none; }
.crq-rate { grid-area: rate; display: flex; align-items: center; gap: var(--s-1); color: var(--muted); }
.crq-rate input { width: 100%; min-width: 0; min-height: var(--control-height-touch); padding: 0 var(--s-2); border: 1px solid var(--line); border-radius: var(--r-s);
  background: var(--surface-card); color: var(--ink); font: inherit; font-size: var(--t-body); text-align: right; font-variant-numeric: tabular-nums; }
.crq-rate input:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 1px; }
.crq-line--ask .crq-rate input { border-color: var(--warn-fg); border-style: dashed; }
.crq-rate--ro { justify-content: flex-end; font-variant-numeric: tabular-nums; }
.crq-ltot { grid-area: tot; text-align: right; white-space: nowrap; font-weight: 600; font-variant-numeric: tabular-nums; }
.crq-ltot--none { color: var(--muted); font-weight: 400; }
.crq-side { padding: var(--s-3) var(--s-4) var(--s-5); border-top: 1px solid var(--line); margin-top: var(--s-3); display: grid; gap: var(--s-3); }
.crq-side h3 { margin: 0 0 var(--s-1); font-size: var(--t-sub); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.crq-side p, .crq-side ul { margin: 0; font-size: var(--t-sub); line-height: 1.6; font-variant-numeric: tabular-nums; }
.crq-side ul { padding: 0; list-style: none; }
.crq-paid summary { min-height: var(--control-height-touch); display: flex; align-items: center; cursor: pointer; font-size: var(--t-sub); font-weight: 600; color: var(--navy); }
.crq-paid summary:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }

/* the Pull sheet: a native modal <dialog> - centred on a desktop, the whole screen on a phone */
dialog.crq-pullsheet { width: min(32rem, calc(100vw - 2 * var(--s-4))); max-width: 100vw; padding: 0; border: 1px solid var(--line); border-radius: var(--r-m);
  background: var(--surface-card); color: var(--ink); font-family: Inter, sans-serif; font-size: var(--t-body); }
.crq-pullhead { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); padding: var(--s-3) var(--s-4); border-bottom: 1px solid var(--line); }
.crq-pullhead h2 { margin: 0; font-size: var(--t-section); font-weight: 700; color: var(--navy-dark); }
.crq-pull { display: grid; gap: var(--s-3); padding: var(--s-4); }
.crq-pull p { margin: 0; font-size: var(--t-sub); line-height: 1.5; color: var(--muted); }
.crq-pull fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.crq-pull legend, .crq-pull label > span { display: block; margin-bottom: var(--s-1); font-size: var(--t-sub); font-weight: 700; color: var(--ink); }
.crq-regs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: var(--r-s); overflow: hidden; }
.crq-regs label { position: relative; display: flex; align-items: center; justify-content: center; gap: var(--s-1); min-height: var(--control-height-touch); padding: 0 var(--s-1);
  font-size: var(--t-sub); font-weight: 600; cursor: pointer; text-align: center; }
.crq-regs label + label { border-left: 1px solid var(--line); }
.crq-regs input { position: absolute; opacity: 0; pointer-events: none; }
.crq-regs label:has(input:checked) { background: var(--wash); box-shadow: inset 0 -2px 0 var(--gold); color: var(--navy-dark); }
.crq-regs label:has(input:focus-visible) { outline: 2px solid var(--focus-ring); outline-offset: -2px; }
.crq-regs .vdot { width: var(--s-2); height: var(--s-2); border-radius: 50%; background: var(--vc); flex: none; }
.crq-dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); }
.crq-dates input { width: 100%; min-height: var(--control-height-touch); padding: 0 var(--s-2); border: 1px solid var(--line); border-radius: var(--r-s); font: inherit; font-size: var(--t-body); }
.crq-pull .crq-pull-state { font-weight: 600; color: var(--ink); }
.crq-pull .crq-pull-state--bad { color: var(--bad-fg); font-weight: 600; }
.crq-pull .crq-pull-state--ok { color: var(--ok-fg); }
.crq-pull-acts { display: flex; flex-wrap: wrap; gap: var(--s-2); justify-content: flex-end; }
.crq-pull-acts .btn { min-height: var(--control-height-touch); }

/* a laptop keeps every column but the cash bar's; a phone turns each night into three short lines */
@media (max-width: 1199px) {
  .crq-queue { --crq-grid: 6.25rem 5.75rem minmax(8rem, 1fr) 4rem 6rem minmax(11rem, 1fr) 1rem; }
  .crq-queue .crq-cash { display: none; }
}
@media (max-width: 640px) {
  .crq-cols { display: none; }
  .crq-row { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "date venue bill" "ev ev ev" "why why why"; row-gap: var(--s-1); column-gap: var(--s-2);
    padding: var(--s-3) var(--s-4); }
  .crq-date { grid-area: date; }
  .crq-venue { grid-area: venue; }
  .crq-ev { grid-area: ev; }
  .crq-drinks, .crq-chev { display: none; }
  .crq-bill { grid-area: bill; font-weight: 600; }
  .crq-why { grid-area: why; white-space: normal; }
  .crq-why-n { display: inline; }
  .crq-line { grid-template-columns: minmax(0, 1fr) 6.5rem 5.25rem; grid-template-areas: "name rate tot" "src rate tot"; }
  .crq-lqty { display: none; }
  .crq-lname, .crq-lsrc { white-space: normal; overflow: visible; }
  .crq-lsrc-beo { display: none; }
  .crq-q-ph { display: inline; color: var(--ink); font-weight: 600; }
  dialog.crq-sheet { inset: 0; width: 100vw; border-left: 0; }
  .crq-sh-head .icon-btn { width: var(--control-height-touch); min-width: var(--control-height-touch); height: var(--control-height-touch); }
  dialog.crq-pullsheet { width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; }
  .crq-regs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .crq-regs label:nth-child(3) { border-left: 0; }
  .crq-regs label:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media print { dialog.crq-sheet, dialog.crq-pullsheet { display: none; } }
