/* Shared Inter layout for the 24 live screens.
   Sales, Pick, Pick detail, Receiving, Purchasing, Buying review, Inventory,
   Suppliers, Delivery stops, Order history, Catalog, Adapter finder,
   Hose assembly, Resources, Pricing by category, Cart, and the eight Admin
   sections. Loaded last so it sits on the existing markup. */

body.qh-portal-og #stage,
body.qh-portal-og .admin-wrap,
body.qh-portal-og .qh-ops-workspace {
  font-family: "QH Inter", Inter, Arial, sans-serif;
}

@media (min-width: 861px) {
  body.qh-portal-og #qh-charcoal-final #stage {
    padding: 10px 12px 3.5rem;
  }
}

body.qh-portal-og .shell.shell-wide {
  justify-items: stretch;
}

body.qh-portal-og .hose-wizard,
body.qh-portal-og .folder-list,
body.qh-portal-og .coming,
body.qh-portal-og .price-sheet {
  max-width: none;
}

body.qh-portal-og #stage h1.page,
body.qh-portal-og .qh-ops-workspace h1,
body.qh-portal-og .admin-wrap > h1 {
  font-size: 22px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.3px;
  margin: 0 0 8px;
}

body.qh-portal-og #stage .also,
body.qh-portal-og .qh-ops-workspace .also {
  font-size: 12px;
  line-height: 1.35;
}

body.qh-portal-og #stage :is(table.sheet, table.ops-table, table.adapter-results, .admin-wrap table) {
  font-size: 13px;
}

body.qh-portal-og #stage :is(th) {
  font-size: 11px;
  font-weight: 700;
}

body.qh-portal-og #stage :is(.num, .ops-num, .price-cell, .recv-open b, .recv-wide b) {
  font-variant-numeric: tabular-nums;
}

/* Panels shared by Operations, Admin, hose steps, resources, and the order desk. */
body.qh-portal-og :is(.ops-card, .admin-wrap > .admin-card, .hose-step, .resource-card, .order-customer, .review-card, .desk-ws) {
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--paper);
}

body.qh-portal-og .ops-card-head,
body.qh-portal-og .admin-savebar {
  padding: 6px 10px;
}

body.qh-portal-og .resources-grid {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 8px;
}

body.qh-portal-og .resource-card {
  min-height: 0;
  padding: 10px 12px;
}

body.qh-portal-og .admin-sections {
  justify-content: flex-start;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 4px;
  padding: 0 0 6px;
}

body.qh-portal-og .admin-sections a {
  flex: 0 0 auto;
  border-radius: 4px;
  min-height: 30px;
  padding: 4px 8px;
  font-size: 13px;
  font-weight: 600;
}

body.qh-portal-og .admin-sections a[aria-current="page"] {
  background: var(--qh-action, var(--orange));
  border-color: var(--qh-action, var(--orange));
  color: var(--qh-action-text, #201b12);
}

body.qh-portal-og .price-sheet {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--paper);
}

body.qh-portal-og .price-sheet label {
  min-width: 0;
}

body.qh-portal-og .price-sheet button {
  grid-column: 1 / -1;
  justify-self: start;
  min-height: 30px;
}

body.qh-portal-og .hose-step {
  padding: 8px 10px;
}

body.qh-portal-og .hose-step h2 {
  font-size: 15px;
  font-weight: 700;
}

body.qh-portal-og .cart-quick-add {
  align-items: end;
}

body.qh-portal-og .finder-bar,
body.qh-portal-og .ff-bar,
body.qh-portal-og .ops-pick-tools {
  gap: 6px;
}

@media (min-width: 1200px) {
  body.qh-portal-og .qh-ops-workspace .ops-shell {
    grid-template-columns: 140px minmax(0, 1fr);
  }
}

@media (min-width: 1440px) {
  body[data-qh-screen="catalog"] #qh-charcoal-final table.sheet .col-part,
  body[data-qh-screen="catalog"] #qh-charcoal-final table.sheet td.col-title {
    white-space: normal;
  }
}

@media (max-width: 860px) {
  body.qh-portal-og .price-sheet,
  body.qh-portal-og .desk-layout,
  body.qh-portal-og .hose-ends,
  body.qh-portal-og .admin-grid,
  body.qh-portal-og .hose-admin-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final #stage {
    padding: 8px 8px 5.5rem;
  }

  body.qh-portal-og #stage h1.page,
  body.qh-portal-og .qh-ops-workspace h1,
  body.qh-portal-og .admin-wrap > h1 {
    font-size: 21px;
  }

  body.qh-portal-og #stage :is(input, select, textarea) {
    font-size: 16px;
  }

  body.qh-portal-og .admin-sections a,
  body.qh-portal-og .resource-card,
  body.qh-portal-og .price-sheet button,
  body.qh-portal-og .cart-quick-add button {
    min-height: 44px;
  }

  body.qh-portal-og .resources-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.qh-portal-og .hose-nav-row {
    flex-direction: column;
  }

  body.qh-portal-og .hose-nav-row :is(.action-btn, .ghost-btn) {
    width: 100%;
  }
}

body.qh-portal-og a.ops-card-head {
  color: inherit;
  text-decoration: none;
}

body.qh-portal-og a.ops-card-head:hover {
  background: var(--orange-soft, rgba(0, 0, 0, 0.04));
}

body.qh-portal-og .customer-part-btn {
  margin-left: 0.35rem;
}

@media (pointer: coarse) {
  body.qh-portal-og .admin-sections a,
  body.qh-portal-og .resource-card {
    min-height: 44px;
  }
}

/* Operations work lists: toolbar, totals, and tables at the same density. */
body.qh-portal-og .qh-ops-workspace .ops-metrics {
  gap: 6px;
  margin-bottom: 8px;
}

body.qh-portal-og .qh-ops-workspace .ops-metric {
  padding: 6px 8px;
  border-radius: 5px;
}

body.qh-portal-og .qh-ops-workspace .ops-metric > strong {
  font-size: 20px;
  line-height: 1.15;
  letter-spacing: -0.3px;
  margin: 2px 0;
}

body.qh-portal-og .qh-ops-workspace .qh-help {
  margin: 8px 0;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--paper);
  padding: 6px 10px;
}

body.qh-portal-og .qh-ops-workspace .qh-help summary {
  cursor: pointer;
  font-size: 13px;
  font-weight: 650;
  min-height: 30px;
}

body.qh-portal-og .qh-ops-workspace .ops-table-wrap,
body.qh-portal-og .qh-ops-workspace table.sales-table,
body.qh-portal-og .qh-ops-workspace table.ops-buy {
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--paper);
}

body.qh-portal-og .qh-ops-workspace .ops-table-wrap {
  overflow: auto;
}

body.qh-portal-og .acct-stat,
body.qh-portal-og .acct-panel {
  border-top-width: 1px;
  border-radius: 5px;
  padding: 6px 8px;
}

body.qh-portal-og .acct-stat b {
  font-size: 20px;
  font-weight: 700;
}

body.qh-portal-og .acct-k {
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 650;
}

body.qh-portal-og .order-desk,
body.qh-portal-og .order-customer,
body.qh-portal-og .review-card {
  max-width: none;
}

body.qh-portal-og .product-row {
  padding: 5px 8px;
  gap: 8px;
}

@media (min-width: 900px) {
  body.qh-portal-og #salesForm.ops-pick-tools {
    flex-direction: row;
    align-items: end;
    flex-wrap: wrap;
  }

  body.qh-portal-og #salesForm .sort-tabs {
    width: auto;
    flex: 1 1 auto;
  }
}

@media (pointer: fine) {
  body.qh-portal-og .qh-ops-workspace .ops-pick-tools :is(input, select),
  body.qh-portal-og .qh-ops-workspace .sort-tabs .ghost-btn,
  body.qh-portal-og .qh-ops-workspace .ops-seg-btn {
    min-height: 30px;
  }
}

@media (max-width: 680px) {
  body.qh-portal-og .qh-ops-workspace .ops-metrics,
  body.qh-portal-og .acct-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.qh-portal-og .qh-ops-workspace .qh-help summary,
  body.qh-portal-og .qh-ops-workspace .ops-pick-tools :is(input, select),
  body.qh-portal-og .qh-ops-workspace .ops-seg-btn {
    min-height: 36px;
  }

  body.qh-portal-og a.ops-card-head,
  body.qh-portal-og .customer-part-btn {
    min-height: 44px;
  }

  body.qh-portal-og .checkout.order-desk,
  body.qh-portal-og .finder-grid,
  body.qh-portal-og .hose-length-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Catalog, finder, hose, cart, and order history use the same panels. */
body.qh-portal-og .hose-app,
body.qh-portal-og .finder-page,
body.qh-portal-og .cart-desk,
body.qh-portal-og .hero-card {
  max-width: none;
}

body.qh-portal-og :is(.hose-hero, .hose-type-card, .hose-card, .hose-chip, .hose-build-summary, .hose-build-strip, .spec-box, .family-tile, .dept-card, .promo-card, .history-fold) {
  border-radius: 5px;
  box-shadow: none;
}

body.qh-portal-og .hose-hero,
body.qh-portal-og .hose-build-summary,
body.qh-portal-og .spec-box {
  border-top-width: 1px;
  border-left-width: 1px;
  background: var(--paper);
  padding: 8px 10px;
  margin-bottom: 8px;
}

body.qh-portal-og .hose-type-card {
  min-height: 0;
  padding: 10px 12px;
  transform: none;
}

body.qh-portal-og .hose-type-card:hover {
  transform: none;
}

body.qh-portal-og .hose-card,
body.qh-portal-og .hose-chip {
  padding: 8px 10px;
  min-height: 0;
  gap: 8px;
}

body.qh-portal-og .hose-build-strip {
  padding: 6px 10px;
  gap: 4px 10px;
}

body.qh-portal-og .shape-btn {
  min-height: 72px;
  border-radius: 5px;
  padding: 6px;
}

body.qh-portal-og .shape-photo,
body.qh-portal-og .shape-btn .photo-frame {
  height: 40px;
}

body.qh-portal-og .family-tile,
body.qh-portal-og .dept-card,
body.qh-portal-og .promo-card {
  padding: 8px 10px;
}

body.qh-portal-og .checkout.order-desk {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--paper);
}

body.qh-portal-og .checkout.order-desk > :is(p, div) {
  grid-column: 1 / -1;
}

body.qh-portal-og .desk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

body.qh-portal-og .desk-place {
  display: grid;
  gap: 6px;
  margin-top: 4px;
}

body.qh-portal-og .desk-place #commitOrder {
  min-height: 44px;
  width: 100%;
  max-width: 420px;
  font-size: 16px;
}

body.qh-portal-og .desk-ship {
  grid-column: 1 / -1;
}

body.qh-portal-og .ship-to {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--orange, #f36c21);
  border-radius: 5px;
  background: var(--wash);
}

body.qh-portal-og .ship-to label {
  display: grid;
  gap: 4px;
}

body.qh-portal-og .ship-to-card {
  margin: 0;
  line-height: 1.5;
}

body.qh-portal-og .ship-to-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 8px 12px;
}

body.qh-portal-og .ship-to-form .ship-to-wide {
  grid-column: 1 / -1;
}

body.qh-portal-og .ship-to-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

body.qh-portal-og .desk-ship-select {
  min-height: 48px;
  font-size: 18px;
  font-weight: 700;
}

body.qh-portal-og .desk-sales {
  margin: 0;
  font-size: 13px;
}

@media (min-width: 681px) {
  body.qh-portal-og .desk-layout .ws-list .action-btn,
  body.qh-portal-og .desk-layout .ws-list .ghost-btn {
    min-height: 28px;
    padding: 2px 8px;
    font-size: 12px;
  }
}

.cust-delivery-tile {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cust-delivery-ic {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  color: var(--orange-dark, #9a3412);
}

.cust-delivery-ic svg {
  width: 36px;
  height: 36px;
}

.cust-day-block {
  margin: 0 0 14px;
}

.cust-day-block h3 {
  margin: 0 0 8px;
  font-size: 14px;
}

body.qh-portal-og .review-card p {
  white-space: normal;
  overflow-wrap: anywhere;
}

body.qh-portal-og .history-retrieve {
  align-items: end;
}

@media (min-width: 1200px) {
  body.qh-portal-og .family-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
}

@media (max-width: 680px) {
  body.qh-portal-og .checkout.order-desk,
  body.qh-portal-og .finder-grid,
  body.qh-portal-og .hose-length-row,
  body.qh-portal-og .hose-folder-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.qh-portal-og .shape-btn,
  body.qh-portal-og .hose-type-card,
  body.qh-portal-og .family-tile {
    min-height: 44px;
  }
}

/* Admin organizer: flat panels, sticky save row, help folded under the work. */
body.qh-portal-og .admin-wrap .qh-help {
  margin: 8px 0;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--paper);
  padding: 6px 10px;
}

body.qh-portal-og .admin-wrap .qh-help summary {
  cursor: pointer;
  font-size: 13px;
  font-weight: 650;
  min-height: 30px;
}

body.qh-portal-og .admin-wrap .qh-help p {
  margin: 6px 0 0;
}

body.qh-portal-og .admin-savebar {
  position: sticky;
  top: var(--chrome-h, 56px);
  z-index: 12;
  margin: 0;
  padding: 6px 0;
  background: var(--paper);
}

body.qh-portal-og .admin-grid {
  gap: 8px;
}

body.qh-portal-og .admin-wrap > .admin-card,
body.qh-portal-og .user-reps,
body.qh-portal-og .admin-lib-card,
body.qh-portal-og .admin-history-row {
  border-radius: 5px;
}

body.qh-portal-og .admin-lib-card {
  padding: 8px 10px;
}

body.qh-portal-og table.admin-table th,
body.qh-portal-og table.admin-table td {
  padding: 5px 8px;
}

body.qh-portal-og .admin-addons .admin-set {
  max-width: none;
}

body.qh-portal-og .hose-admin-label {
  letter-spacing: 0;
  text-transform: none;
  color: var(--muted);
  font-size: 12px;
}

body.qh-portal-og .portal-sheet-card {
  border-top-width: 1px;
  border-radius: 5px;
}

body.qh-portal-og .admin-history-filter {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 4px;
}

@media (min-width: 900px) {
  body.qh-portal-og .admin-addons .admin-set,
  body.qh-portal-og .admin-res-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
  }

  body.qh-portal-og .admin-addons .admin-set > :is(h4, .admin-table-wrap, .also, .err, details),
  body.qh-portal-og .admin-res-form > :is(h3, p, button) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  body.qh-portal-og .admin-addons .admin-set,
  body.qh-portal-og .admin-res-form {
    grid-template-columns: minmax(0, 1fr);
  }

  body.qh-portal-og .admin-wrap .qh-help summary,
  body.qh-portal-og .admin-order-btn,
  body.qh-portal-og .admin-savebar button {
    min-height: 44px;
  }

  body.qh-portal-og .admin-wrap input,
  body.qh-portal-og .admin-wrap select,
  body.qh-portal-og .admin-wrap textarea {
    font-size: 16px;
  }
}

@media (min-width: 681px) {
  body.qh-portal-og .recv-line {
    gap: 0.35rem 0.7rem;
    padding: 0.4rem 0.45rem;
  }

  body.qh-portal-og .recv-part.has-photo {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  body.qh-portal-og .recv-photo {
    width: 48px;
    height: 48px;
  }

  body.qh-portal-og .recv-part-id .ops-drill {
    font-size: 15px;
  }

  body.qh-portal-og .recv-part-title {
    font-size: 13px;
  }

  body.qh-portal-og .recv-open b,
  body.qh-portal-og .recv-wide b {
    font-size: 15px;
  }

  body.qh-portal-og .recv-stepper input {
    width: 4.6rem;
    min-height: 34px;
    font-size: 16px;
  }

  body.qh-portal-og .recv-stepper .ghost-btn.sm {
    min-width: 34px;
    min-height: 34px;
    font-size: 16px;
  }

  body.qh-portal-og .qh-ops-workspace .recv-part-info {
    min-height: 30px;
    padding: 0.1rem 0.55rem;
  }
}

@media (max-width: 680px) {
  body.qh-portal-og .recv-stepper input,
  body.qh-portal-og .recv-stepper .ghost-btn.sm,
  body.qh-portal-og .recv-count-actions :is(button, .action-btn) {
    min-height: 44px;
  }

  body.qh-portal-og .recv-stepper input {
    font-size: 16px;
  }
}

/* Pick list and delivery stops: customer name is the scan line, rows stay short. */
body.qh-portal-og .qh-ops-workspace .pick-board .ops-vendor {
  margin: 0 0 8px;
}

body.qh-portal-og .qh-ops-workspace .pick-board .ops-vendor header {
  margin: 0 0 3px;
}

body.qh-portal-og .qh-ops-workspace .pick-board .pick-order {
  margin: 0 0 3px;
}

body.qh-portal-og .qh-ops-workspace .pick-board .ops-card-head {
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
}

body.qh-portal-og .qh-ops-workspace .pick-board .ops-card-head b {
  font-size: 15px;
  line-height: 1.2;
}

body.qh-portal-og .qh-ops-workspace .pick-board .ops-card-head small {
  font-size: 12px;
  line-height: 1.25;
}

body.qh-portal-og .qh-ops-workspace .pick-board .ops-card-head strong {
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

body.qh-portal-og .pick-order.is-short .ops-card-head strong {
  color: var(--qh-alert, #9b2c2c);
}

body.qh-portal-og .pick-order.is-ready .ops-card-head strong {
  color: var(--qh-good, #1f7a3a);
}

body.qh-portal-og .pick-order.is-picked .ops-card-head strong {
  color: var(--qh-muted, #667085);
}

body.qh-portal-og .delivery-account-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
}

body.qh-portal-og .delivery-account.pick-hit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 0;
  padding: 5px 10px;
  border-width: 1px;
}

body.qh-portal-og .delivery-account b {
  font-size: 15px;
  line-height: 1.2;
}

body.qh-portal-og .delivery-account .pick-go {
  display: none;
}

body.qh-portal-og .delivery-account .da-side {
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

@media (max-width: 680px) {
  body.qh-portal-og .qh-ops-workspace .pick-board a.ops-card-head,
  body.qh-portal-og .delivery-account.pick-hit {
    min-height: 44px;
  }

  body.qh-portal-og .qh-ops-workspace .pick-board .ops-card-head b,
  body.qh-portal-og .delivery-account b {
    font-size: 16px;
  }

  body.qh-portal-og .delivery-search-label input {
    font-size: 16px;
    min-height: 44px;
  }
}

/* Pick order lines, resources, pricing, and catalog sheets. */
body.qh-portal-og .pick-sheet-actions {
  gap: 6px;
  margin: 0 0 6px;
}

body.qh-portal-og .pick-orderno {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 6px;
}

body.qh-portal-og .pick-sheet-table {
  table-layout: fixed;
  width: 100%;
}

body.qh-portal-og .pick-sheet-table th,
body.qh-portal-og .pick-sheet-table td {
  padding: 3px 4px;
  vertical-align: middle;
}

body.qh-portal-og .pick-sheet-table .c-check { width: 1.5rem; }
body.qh-portal-og .pick-sheet-table .c-state { width: 4.2rem; }
body.qh-portal-og .pick-sheet-table .c-qty { width: 4.8rem; }
body.qh-portal-og .pick-sheet-table .c-picked { width: 3.8rem; }
body.qh-portal-og .pick-sheet-table .c-open { width: 3.6rem; }
body.qh-portal-og .pick-sheet-table .c-part { width: 22%; }
body.qh-portal-og .pick-sheet-table .c-hist { width: 0; }
body.qh-portal-og .pick-sheet-table .c-avail { width: 4.8rem; }
body.qh-portal-og .pick-sheet-table .c-act { width: 4.6rem; }

body.qh-portal-og .pick-sheet-table .pick-desc,
body.qh-portal-og .pick-sheet-table .pick-part {
  overflow-wrap: anywhere;
}

body.qh-portal-og .resources-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
}

body.qh-portal-og .resource-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  min-height: 0;
  padding: 5px 10px;
  width: 100%;
}

body.qh-portal-og .resource-card b {
  font-size: 15px;
  line-height: 1.2;
}

body.qh-portal-og .resource-card .res-type {
  font-size: 11px;
  letter-spacing: 0;
}

body.qh-portal-og .price-sheet {
  gap: 8px;
}

body.qh-portal-og .qh-help {
  margin: 8px 0;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--paper);
  padding: 6px 10px;
}

body.qh-portal-og .qh-help summary {
  cursor: pointer;
  font-size: 13px;
  font-weight: 650;
}

@media (min-width: 681px) {
  body.qh-portal-og .pick-sheet-table input.cart-qty {
    width: 3.4rem;
    min-height: 34px;
    font-size: 16px;
  }

  body.qh-portal-og table.adapter-results .col-part { width: 20%; }
  body.qh-portal-og table.adapter-results .col-end { width: 12%; }
  body.qh-portal-og table.adapter-results .col-wide,
  body.qh-portal-og table.adapter-results .col-desc { width: auto; }
  body.qh-portal-og table.adapter-results .col-stock { width: 68px; }
  body.qh-portal-og table.adapter-results .col-price { width: 72px; }
  body.qh-portal-og table.adapter-results .col-history { width: 6.8rem; }
  body.qh-portal-og table.adapter-results .col-add { width: 100px; }
  body.qh-portal-og table.adapter-results th,
  body.qh-portal-og table.adapter-results td { padding: 3px 6px; }
}

body.qh-portal-og .part-history-btn {
  min-height: 28px;
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  background: var(--orange-soft, #fff4e8);
  border: 1px solid var(--orange, #f06721);
  color: var(--orange-dark, #9a3412);
  border-radius: 4px;
}

body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .part-history-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 3px 10px;
  font-size: 13px;
  font-weight: 800;
  background: var(--qh-action, #8d421a);
  border: 0;
  color: var(--qh-action-text, #fffefa);
}

body.qh-portal-og .qh-ops-workspace .ops-hist {
  margin-top: 3px;
}

body.qh-portal-og .qh-ops-workspace .ops-month-row {
  min-height: 0;
}

body.qh-portal-og .qh-ops-workspace .ops-month-track {
  height: 52px;
}

body.qh-portal-og .qh-ops-workspace h2,
body.qh-portal-og .qh-ops-workspace .ops-months h2 {
  font-size: 15px;
  font-weight: 700;
  margin: 8px 0 4px;
}

body.qh-portal-og .qh-ops-workspace .ops-measures {
  margin: 0 0 8px;
}

body.qh-portal-og .qh-ops-workspace .ops-measures th,
body.qh-portal-og .qh-ops-workspace .ops-measures td {
  padding: 3px 6px;
}

body.qh-portal-og .qh-ops-workspace .sales-table,
body.qh-portal-og .qh-ops-workspace details.ops-vendor {
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--paper);
}

body.qh-portal-og .qh-ops-workspace details.ops-vendor {
  padding: 6px 10px;
  margin-top: 8px;
}

body.qh-portal-og .qh-ops-workspace .ops-calls {
  margin-top: 4px;
}

body.qh-portal-og .qh-ops-workspace .ops-calls .ops-seg {
  margin: 0 0 6px;
}

body.qh-portal-og .qh-ops-workspace .desk-list {
  gap: 3px;
}

body.qh-portal-og .qh-ops-workspace .desk-card {
  border-radius: 5px;
  border-left-width: 3px;
}

body.qh-portal-og .qh-ops-workspace .desk-hit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 5px 10px;
  gap: 2px 12px;
}

body.qh-portal-og .qh-ops-workspace .desk-who {
  flex: 1 1 180px;
  min-width: 0;
}

body.qh-portal-og .qh-ops-workspace .desk-who b {
  font-size: 15px;
  font-weight: 700;
}

body.qh-portal-og .qh-ops-workspace .desk-why {
  flex: 1 1 220px;
  min-width: 0;
}

body.qh-portal-og .qh-ops-workspace .desk-why em {
  font-size: 13px;
}

body.qh-portal-og .qh-ops-workspace .desk-meta {
  flex: 0 1 auto;
  justify-items: end;
}

body.qh-portal-og .qh-ops-workspace .desk-chip {
  letter-spacing: 0;
  text-transform: none;
  font-size: 11px;
  font-weight: 700;
  margin: 0 4px 2px 0;
}

body.qh-portal-og .qh-ops-workspace .sales-leaders td:first-child,
body.qh-portal-og .qh-ops-workspace .sales-invoices td:first-child {
  font-size: 15px;
  font-weight: 700;
}

body.qh-portal-og .qh-ops-workspace .sales-invoices th:nth-child(1),
body.qh-portal-og .qh-ops-workspace .sales-invoices td:nth-child(1) {
  width: auto;
}

body.qh-portal-og .qh-ops-workspace .sales-invoices th:nth-child(3),
body.qh-portal-og .qh-ops-workspace .sales-invoices td:nth-child(3) {
  width: 6.5rem;
}

body.qh-portal-og .qh-ops-workspace .ops-sales-picks button,
body.qh-portal-og .qh-ops-workspace .desk-chip {
  border-radius: 4px;
}

body.qh-portal-og .qh-ops-workspace .ops-table:not(.pick-sheet-table) :is(th, td),
body.qh-portal-og .qh-ops-workspace .ops-measures :is(th, td) {
  vertical-align: middle;
}

body.qh-portal-og .qh-ops-workspace .pick-sku {
  font-size: 15px;
  font-weight: 700;
}

@media (min-width: 761px) {
  body.qh-portal-og .qh-ops-workspace .ops-rank-row {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin: 0 0 8px;
  }

  body.qh-portal-og .qh-ops-workspace .ops-rank-row button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 12px;
    min-height: 0;
    padding: 5px 10px;
    border-radius: 5px;
    text-align: left;
  }

  body.qh-portal-og .qh-ops-workspace .ops-rank-row button b {
    display: block;
    font-size: 15px;
    font-weight: 700;
  }

  body.qh-portal-og .qh-ops-workspace .ops-rank-row button span {
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
  }

  body.qh-portal-og .qh-ops-workspace .ops-supplier-list button {
    padding: 5px 10px;
    font-size: 15px;
    font-weight: 700;
    min-height: 0;
  }
}

body.qh-portal-og .delivery-pick-hero {
  max-width: none;
  margin: 0 0 8px;
  padding: 5px 10px;
  gap: 8px;
  border: 1px solid var(--line);
  border-left: 3px solid var(--orange, #f06721);
  border-radius: 5px;
  background: var(--paper);
}

body.qh-portal-og .delivery-pick-hero h1.page {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

body.qh-portal-og .delivery-pick-hero .pick-orderno {
  margin: 0;
}

body.qh-portal-og .bins-table {
  table-layout: fixed;
  width: 100%;
}

body.qh-portal-og .bins-table .c-state { width: 6.2rem; }
body.qh-portal-og .bins-table .c-buys { width: 4.4rem; }
body.qh-portal-og .bins-table .c-last { width: 5.2rem; }
body.qh-portal-og .bins-table .c-suggest { width: 4.6rem; }
body.qh-portal-og .bins-table .c-qty { width: 4.6rem; }
body.qh-portal-og .bins-table .c-act { width: 9.2rem; }

body.qh-portal-og .bins-table th,
body.qh-portal-og .bins-table td {
  padding: 3px 6px;
  vertical-align: middle;
}

body.qh-portal-og .bins-table .item-ic {
  width: 36px;
  height: 36px;
}

body.qh-portal-og .nudge-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

body.qh-portal-og .nudge-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 5px 10px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--paper);
}

body.qh-portal-og .nudge-row b {
  display: block;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
}

body.qh-portal-og .nudge-row small {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

body.qh-portal-og .nudge-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 6px;
}

body.qh-portal-og .nudge-actions :is(button, a) {
  min-height: 30px;
  padding: 2px 10px;
  font-size: 13px;
  font-weight: 700;
}

body.qh-portal-og .ops-supplier-card > h1.page {
  margin: 0 0 4px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

body.qh-portal-og .bins-table .bin-act,
body.qh-portal-og .bins-log .bin-act {
  min-height: 30px;
  min-width: 0;
  padding: 2px 10px;
  font-size: 13px;
  font-weight: 800;
  border-radius: 4px;
}

body.qh-portal-og .bins-table .history-add-qty {
  width: 4.2rem;
  min-height: 30px;
}

body.qh-portal-og #qh-charcoal-final table.adapter-results tbody tr:not(.detail-row):not(.group-row) {
  grid-template-columns: minmax(0, 1fr) auto auto auto auto;
  grid-template-areas: "part stock price history add";
}

body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-history {
  grid-area: history;
  white-space: nowrap;
}

@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final #stage h1.page,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace h1,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace h1.page {
    font-size: 17px;
    line-height: 1.15;
    margin: 0 0 4px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .also {
    font-size: 12px;
    line-height: 1.3;
    margin: 0 0 4px;
  }

  /* Catalog: a bit taller on a phone so the description can sit under the SKU. */
  body.qh-portal-og #qh-charcoal-final table.adapter-results tbody tr:not(.detail-row):not(.group-row) {
    grid-template-columns: minmax(0, 1fr) auto auto auto auto;
    grid-template-areas: "part stock price history add";
    align-items: center;
    column-gap: 4px;
    row-gap: 0;
    padding: 7px 6px;
    min-height: 64px;
    height: auto;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results tbody tr:not(.detail-row):not(.group-row) td {
    height: auto;
    min-height: 0;
    overflow: hidden;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-history {
    max-width: 4.7rem;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .part-with-ic .item-ic {
    width: 24px;
    height: 24px;
    min-width: 24px;
    max-width: 24px;
    flex: 0 0 24px;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .item-sku-line {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .part-sub {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.3;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .item-sku-line b {
    font-size: 13px;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .part-sub {
    font-size: 11px;
  }

  body.qh-portal-og #qh-charcoal-final .part-history-btn,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .part-history-btn,
  body.qh-portal-og #qh-charcoal-final .customer-part-btn {
    min-height: 22px !important;
    height: 22px;
    padding: 0 5px;
    font-size: 10px;
    font-weight: 700;
    line-height: 20px;
    max-width: 4.6rem;
  }

  /* Pick line: part, then the qty you are picking. No label stack. */
  body.qh-portal-og #qh-charcoal-final .pick-sheet-table,
  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tbody {
    display: block;
    width: 100%;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table thead,
  body.qh-portal-og #qh-charcoal-final .pick-sheet-table colgroup {
    display: none;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tr.pick-line {
    display: grid !important;
    grid-template-columns: auto auto minmax(0, 1fr);
    grid-template-areas:
      "part part state"
      "desc desc desc"
      "ordered open avail"
      "picked act act";
    gap: 1px 8px;
    align-items: center;
    width: 100%;
    padding: 4px 0 5px;
    border-bottom: 1px solid var(--line);
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tr.pick-line > td {
    display: block;
    width: auto;
    min-height: 0;
    border: 0;
    padding: 0;
    text-align: left;
    white-space: normal;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tr.pick-line > td::before {
    content: none;
    font-size: 11px;
    font-weight: 700;
    color: var(--muted);
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tr.pick-line > .pick-check {
    display: none;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table .pick-part { grid-area: part; }
  body.qh-portal-og #qh-charcoal-final .pick-sheet-table .pick-state {
    grid-area: state;
    justify-self: end;
    font-size: 12px;
  }
  body.qh-portal-og #qh-charcoal-final .pick-sheet-table .pick-desc {
    grid-area: desc;
    font-size: 12px;
    line-height: 1.25;
  }
  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tr.pick-line > td[data-label="Ordered"] { grid-area: ordered; }
  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tr.pick-line > td[data-label="Still open"] { grid-area: open; }
  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tr.pick-line > td[data-label="Available"] {
    grid-area: avail;
    justify-self: end;
  }
  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tr.pick-line > td[data-label="Picked"] { grid-area: picked; }
  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tr.pick-line > .pick-act { grid-area: act; }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tr.pick-line > td[data-label="Ordered"]::before { content: "Qty "; }
  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tr.pick-line > td[data-label="Still open"]::before { content: "Open "; }
  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tr.pick-line > td[data-label="Available"]::before { content: "On hand "; }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table .pick-sku {
    font-size: 14px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table .pick-part small {
    display: block;
    font-size: 11px;
    line-height: 1.2;
    color: var(--muted);
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table input.cart-qty {
    width: 3.2rem;
    min-width: 0;
    min-height: 28px;
    height: 28px;
    padding: 0 4px;
    font-size: 16px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table .ghost-btn.sm,
  body.qh-portal-og #qh-charcoal-final .pick-sheet-actions :is(a, button) {
    min-height: 28px;
    height: auto;
    padding: 2px 8px;
    font-size: 12px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0 0 4px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-orderno {
    font-size: 12px;
    margin: 0 0 4px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board a.ops-card-head,
  body.qh-portal-og #qh-charcoal-final .delivery-account.pick-hit {
    min-height: 0;
    padding: 4px 8px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board .ops-card-head b,
  body.qh-portal-og #qh-charcoal-final .delivery-account b {
    font-size: 14px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board .ops-card-head small {
    font-size: 11px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .qh-help summary,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-seg-btn,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-pick-tools :is(input, select) {
    min-height: 30px;
    font-size: 13px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-pick-tools input:not([type="checkbox"]),
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-pick-tools select {
    font-size: 16px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-show-done input {
    width: 16px;
    height: 16px;
    min-height: 16px;
    flex: 0 0 16px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sales-leaders td:first-child,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sales-invoices td:first-child,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .desk-who b,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-rank-row button b,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-supplier-list button {
    font-size: 14px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-rank-row button,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-supplier-list button,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .desk-hit {
    min-height: 30px;
  }

  body.qh-portal-og #qh-charcoal-final .delivery-pick-hero h1.page {
    font-size: 16px;
  }

  body.qh-portal-og #qh-charcoal-final .delivery-hero-actions :is(button, a),
  body.qh-portal-og #qh-charcoal-final .bins-table .bin-act,
  body.qh-portal-og #qh-charcoal-final .bins-log .bin-act,
  body.qh-portal-og #qh-charcoal-final .bins-table .history-add-qty,
  body.qh-portal-og #qh-charcoal-final .nudge-actions :is(button, a) {
    min-height: 28px;
    font-size: 12px;
  }

  body.qh-portal-og #qh-charcoal-final .nudge-row b,
  body.qh-portal-og #qh-charcoal-final .ops-supplier-card > h1.page {
    font-size: 15px;
  }

  body.qh-portal-og #qh-charcoal-final .resource-card {
    min-height: 32px;
  }

  body.qh-portal-og #qh-charcoal-final .resource-card b {
    font-size: 14px;
  }
}

/* Operations notes stay off the page; tabs and ghost controls read as buttons. */
body.qh-portal-og[data-mode="delivery"] #qh-charcoal-final .app-chrome.is-away ~ .shell .qh-ops-workspace .ops-side {
  top: 0;
}
body.qh-portal-og #qh-charcoal-final .ops-side-foot,
body.qh-portal-og #qh-charcoal-final .ops-parked,
body.qh-portal-og #qh-charcoal-final .hist-section-hint,
body.qh-portal-og #qh-charcoal-final .rail-note,
body.qh-portal-og #qh-charcoal-final .thread-ref {
  display: none;
}

body.qh-portal-og #qh-charcoal-final .ghost-btn {
  background: var(--wash, #f4efe8);
  border: 1px solid var(--qh-action, #8d421a);
  color: var(--ink, #1c1917);
  font-weight: 800;
  border-radius: 4px;
}

body.qh-portal-og #qh-charcoal-final :is(.ghost-btn.active, .sort-tabs .ghost-btn.active, .ops-pick-tools .ghost-btn.active) {
  background: var(--qh-action, #8d421a);
  border-color: var(--qh-action, #8d421a);
  color: #fffefa;
}

body.qh-portal-og #qh-charcoal-final .cc-nav a {
  background: var(--wash, #f4efe8);
  border: 1px solid var(--line, #d9d1c7);
  border-radius: 4px;
  padding: 8px 14px;
  font-weight: 800;
  color: var(--ink, #1c1917);
}

body.qh-portal-og #qh-charcoal-final .cc-nav a.active {
  background: var(--qh-action, #8d421a);
  border-color: var(--qh-action, #8d421a);
  color: #fffefa;
}

body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a {
  display: flex;
  align-items: center;
  border: 1px solid var(--line, #d9d1c7);
  border-radius: 4px;
  background: var(--paper, #fff);
  margin: 0 0 4px;
  font-weight: 800;
  box-shadow: none;
}

body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a.is-on {
  background: var(--qh-action, #8d421a);
  border-color: var(--qh-action, #8d421a);
  color: #fffefa;
  box-shadow: none;
}

body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-seg-btn.is-on {
  background: var(--qh-action, #8d421a);
  color: #fffefa;
}

body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month-track {
  height: 140px;
}

body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month b,
body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month small {
  font-size: 12px;
}

@media (max-width: 760px) {
  body.qh-portal-og #qh-charcoal-final .bottom-nav a,
  body.qh-portal-og #qh-charcoal-final .bottom-nav button {
    margin: 4px 2px;
    border-radius: 6px;
  }

  body.qh-portal-og #qh-charcoal-final .bottom-nav a.active,
  body.qh-portal-og #qh-charcoal-final .bottom-nav a[aria-current="page"],
  body.qh-portal-og #qh-charcoal-final .bottom-nav button.active {
    background: var(--qh-action, #8d421a);
    color: #fffefa;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    overflow: visible;
    margin: 0 0 4px;
    padding: 2px 0 4px;
    position: sticky;
    top: var(--chrome-h, 56px);
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a {
    flex: none;
    min-height: 32px;
    margin: 0;
    padding: 2px 3px;
    border-radius: 4px;
    font-size: 11px;
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
    justify-content: center;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace h1.page.is-section {
    display: none;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-pick-tools {
    gap: 4px;
    margin: 0 0 4px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesForm .sales-filters {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesForm .sales-filters label {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    font-size: 11px;
    width: auto;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesForm .ops-seg-btn,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-calls .ops-seg-btn {
    font-size: 11px;
    white-space: nowrap;
    padding: 0 3px;
    min-height: 30px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesRefresh,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-pick-tools .ghost-btn {
    min-height: 30px;
    width: 100%;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-metric {
    padding: 2px 4px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-metric > strong {
    font-size: 16px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month-track {
    height: 128px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month-row.is-days .ops-month {
    flex: 0 0 56px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month b,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month small {
    font-size: 12px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-meter,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-meter-fill {
    height: 14px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.ops-buy,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    font-size: 14px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.ops-buy :is(thead, tbody),
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices :is(thead, tbody) {
    display: table;
    width: max-content;
    min-width: 100%;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.ops-buy tr,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices tr {
    display: table-row;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.ops-buy :is(th, td),
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices :is(th, td) {
    display: table-cell;
    font-size: 14px;
    padding: 8px 10px;
    white-space: nowrap;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.ops-measures:not(.ops-buy):not(.sales-invoices) td,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.ops-table:not(.pick-sheet-table) td {
    font-size: 14px;
    padding: 6px 0;
  }

  body.qh-portal-og #qh-charcoal-final .recv-line {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
    padding: 4px 0 5px;
    border-left-width: 3px;
  }

  body.qh-portal-og #qh-charcoal-final .recv-part.has-photo {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 4px;
    align-items: center;
  }

  body.qh-portal-og #qh-charcoal-final .recv-photo {
    width: 28px;
    height: 28px;
  }

  body.qh-portal-og #qh-charcoal-final .recv-part-id {
    flex-wrap: nowrap;
    gap: 4px;
  }

  body.qh-portal-og #qh-charcoal-final .recv-part-id .ops-drill {
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.qh-portal-og #qh-charcoal-final .recv-part-title {
    margin: 0;
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.qh-portal-og #qh-charcoal-final .recv-line-details,
  body.qh-portal-og #qh-charcoal-final .recv-stock,
  body.qh-portal-og #qh-charcoal-final .recv-for-head,
  body.qh-portal-og #qh-charcoal-final .recv-state,
  body.qh-portal-og #qh-charcoal-final .recv-qty small {
    display: none;
  }

  body.qh-portal-og #qh-charcoal-final .recv-line.is-short .recv-state,
  body.qh-portal-og #qh-charcoal-final .recv-line.is-over .recv-state {
    display: block;
    font-size: 11px;
    line-height: 1.2;
  }

  body.qh-portal-og #qh-charcoal-final .recv-count {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    grid-template-columns: none;
  }

  body.qh-portal-og #qh-charcoal-final .recv-open {
    display: flex;
    align-items: baseline;
    gap: 4px;
  }

  body.qh-portal-og #qh-charcoal-final .recv-open small {
    display: inline;
    font-size: 11px;
    letter-spacing: 0;
    text-transform: none;
  }

  body.qh-portal-og #qh-charcoal-final .recv-open b {
    font-size: 14px;
  }

  body.qh-portal-og #qh-charcoal-final .recv-stepper input,
  body.qh-portal-og #qh-charcoal-final .recv-stepper .ghost-btn.sm,
  body.qh-portal-og #qh-charcoal-final .recv-count-actions :is(button, .action-btn) {
    min-height: 28px;
    height: 28px;
    padding: 0 6px;
    font-size: 13px;
  }

  body.qh-portal-og #qh-charcoal-final .recv-stepper input {
    width: 3.4rem;
    font-size: 16px;
  }

  body.qh-portal-og #qh-charcoal-final .recv-stepper .ghost-btn.sm {
    width: 28px;
    min-width: 28px;
    padding: 0;
    font-size: 16px;
  }

  body.qh-portal-og #qh-charcoal-final .recv-count-actions {
    display: flex;
    flex-wrap: nowrap;
    gap: 4px;
    grid-column: auto;
  }

  body.qh-portal-og #qh-charcoal-final .qh-demand--sales,
  body.qh-portal-og #qh-charcoal-final .recv-for-wrap {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    color: inherit;
  }

  body.qh-portal-og #qh-charcoal-final .recv-for {
    gap: 1px;
    margin: 0;
  }

  body.qh-portal-og #qh-charcoal-final .recv-for-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 6px;
    padding: 0;
    border: 0;
    background: transparent;
    grid-template-columns: none;
  }

  body.qh-portal-og #qh-charcoal-final .recv-for-who {
    flex: 1 1 8rem;
    min-width: 0;
  }

  body.qh-portal-og #qh-charcoal-final .recv-for-who b,
  body.qh-portal-og #qh-charcoal-final .recv-for-who small,
  body.qh-portal-og #qh-charcoal-final .recv-for-qty,
  body.qh-portal-og #qh-charcoal-final .recv-for-qty small {
    display: inline;
    font-size: 12px;
    line-height: 1.2;
  }

  body.qh-portal-og #qh-charcoal-final .recv-for-who small::before,
  body.qh-portal-og #qh-charcoal-final .recv-for-qty small::before {
    content: " · ";
  }

  body.qh-portal-og #qh-charcoal-final .recv-for-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    grid-column: auto;
  }

  body.qh-portal-og #qh-charcoal-final .recv-for-actions .ghost-btn {
    width: auto;
    min-height: 22px;
    height: 22px;
    padding: 0 5px;
    font-size: 11px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board .pick-order {
    margin: 0;
    border: 0;
    border-radius: 0;
    border-bottom: 1px solid var(--line);
    background: transparent;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board a.ops-card-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "name status"
      "meta status";
    align-items: center;
    gap: 0 8px;
    min-height: 0;
    padding: 3px 2px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board a.ops-card-head > div {
    display: contents;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board .ops-card-head b {
    grid-area: name;
    font-size: 15px;
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board .ops-card-head small {
    grid-area: meta;
    display: block;
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board .ops-card-head strong {
    grid-area: status;
    align-self: center;
    font-size: 13px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board .ops-vendor {
    margin: 0;
    padding: 0;
    border: 0;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board .ops-vendor header {
    margin: 6px 0 1px;
    font-size: 12px;
  }
}

/* Dark mode keeps white labels. The highlight fill is a brown that stays readable. */
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final :is(
  .action-btn:not(.ghost):not(.qh-receive-full),
  .ghost-btn.active,
  .sort-tabs .ghost-btn.active,
  .ops-pick-tools .ghost-btn.active,
  .cc-nav a.active,
  .bottom-nav a.active,
  .bottom-nav a[aria-current="page"],
  .bottom-nav button.active,
  .qh-ops-workspace .ops-side a.is-on,
  .qh-ops-workspace .ops-seg-btn.is-on,
  .qh-ops-workspace .part-history-btn,
  .primary-tabs a.active
) {
  background: #9a4518;
  border-color: #9a4518;
  color: #fffefa;
}

body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a,
body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side .is-later {
  display: flex;
  align-items: center;
  gap: 8px;
}

body.qh-portal-og #qh-charcoal-final .ops-nav-ic {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

body.qh-portal-og #qh-charcoal-final .pick-part {
  display: flex;
  align-items: center;
  gap: 8px;
}

body.qh-portal-og #qh-charcoal-final .pick-photo {
  width: 44px;
  height: 44px;
  object-fit: contain;
  background: var(--wash, #f4f1ea);
  border: 1px solid var(--line);
  border-radius: 4px;
  flex: 0 0 44px;
}

body.qh-portal-og #qh-charcoal-final .pick-part-copy {
  min-width: 0;
}

body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-hist .part-history-btn {
  min-height: 22px;
  height: 22px;
  padding: 0 6px;
  font-size: 11px;
  line-height: 20px;
}

body.qh-portal-og #qh-charcoal-final .acct-stats-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.qh-portal-og #qh-charcoal-final .acct-stats-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.qh-portal-og #qh-charcoal-final .ind-icon-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

body.qh-portal-og #qh-charcoal-final .ind-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 4px;
  border: 1px solid var(--line);
  border-radius: 6px;
  text-decoration: none;
  color: inherit;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
}

body.qh-portal-og #qh-charcoal-final .ind-icon svg {
  width: 22px;
  height: 22px;
}

body.qh-portal-og .staff-part-drawer,
body.qh-portal-og #qh-charcoal-final .staff-part-drawer {
  width: min(520px, 100vw);
}

body.qh-portal-og .spd-head,
body.qh-portal-og #qh-charcoal-final .spd-head {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--paper);
}

body.qh-portal-og .spd-tabs,
body.qh-portal-og #qh-charcoal-final .spd-tabs {
  display: flex;
  gap: 4px;
  margin: 0 0 10px;
}

body.qh-portal-og .spd-tab,
body.qh-portal-og #qh-charcoal-final .spd-tab {
  flex: 1;
  min-height: 32px;
  border: 1px solid var(--line);
  background: var(--wash, #f4f1ea);
  border-radius: 4px;
  font-weight: 800;
  font-size: 13px;
}

body.qh-portal-og .spd-tab.is-on,
body.qh-portal-og #qh-charcoal-final .spd-tab.is-on {
  background: var(--qh-action, #8d421a);
  border-color: var(--qh-action, #8d421a);
  color: #fffefa;
}

body.qh-portal-og .part-usage-wide .part-usage svg,
body.qh-portal-og #qh-charcoal-final .part-usage-wide .part-usage svg {
  max-height: none;
  height: 168px;
}

@media (max-width: 760px) {
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a {
    flex-direction: column;
    gap: 2px;
    min-height: 46px;
    padding: 4px 2px;
    font-size: 10px;
  }

  body.qh-portal-og #qh-charcoal-final .ops-nav-ic {
    width: 16px;
    height: 16px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-photo {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }

  body.qh-portal-og .staff-part-drawer,
  body.qh-portal-og #qh-charcoal-final .staff-part-drawer {
    width: 100vw;
  }

  body.qh-portal-og .staff-part-drawer .acct-stats-4,
  body.qh-portal-og .staff-part-drawer .acct-stats-5,
  body.qh-portal-og #qh-charcoal-final .staff-part-drawer .acct-stats-4,
  body.qh-portal-og #qh-charcoal-final .staff-part-drawer .acct-stats-5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
  }

  body.qh-portal-og .staff-part-drawer .acct-stat,
  body.qh-portal-og #qh-charcoal-final .staff-part-drawer .acct-stat {
    padding: 6px 8px;
  }

  body.qh-portal-og .staff-part-drawer .acct-stat b,
  body.qh-portal-og #qh-charcoal-final .staff-part-drawer .acct-stat b {
    font-size: 16px;
  }

  body.qh-portal-og .part-usage-wide .part-usage svg,
  body.qh-portal-og #qh-charcoal-final .part-usage-wide .part-usage svg {
    height: 200px;
  }

  body.qh-portal-og #qh-charcoal-final .ind-icon-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body.qh-portal-og #qh-charcoal-final .acct-home.is-thin .acct-stats-3 {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 4px;
  }
}

html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .spd-tab.is-on {
  background: #9a4518;
  border-color: #9a4518;
  color: #fffefa;
}

/* QA: search submit fills the header bar; folder price-sheet stays on the page. */
body.qh-portal-og #qh-charcoal-final .cc-search button {
  min-height: 28px;
  height: 28px;
  align-self: center;
}

body.qh-portal-og .price-sheet,
body.qh-portal-og .price-sheet-pick {
  min-width: 0;
  max-width: 100%;
}

body.qh-portal-og .price-sheet input,
body.qh-portal-og .price-sheet select {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

body.qh-portal-og .admin-addons input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
}

body.qh-portal-og .admin-addons input:not([type="checkbox"]):not([type="radio"]),
body.qh-portal-og .admin-addons select,
body.qh-portal-og .admin-addons textarea {
  min-height: 36px;
  font-size: 14px;
}

@media (max-width: 680px) {
  /* Phone catalog Add/qty were locked to 24px by the desktop compact row. */
  body.qh-portal-og #qh-charcoal-final table.adapter-results .qty-add :is(.qty, .add-btn),
  body.qh-portal-og #qh-charcoal-final table.adapter-results .qty-add .qty,
  body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add .qty,
  body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add .add-btn {
    min-height: 34px !important;
    height: 34px !important;
    font-size: 16px;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .qty-add .qty,
  body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add .qty {
    width: 40px !important;
    min-width: 40px !important;
    flex: 0 0 40px !important;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add .add-btn {
    width: auto !important;
    min-width: 44px !important;
    flex: 0 0 auto !important;
    padding: 0 10px;
    font-size: 13px;
  }

  body.qh-portal-og #qh-charcoal-final .header-search-toggle {
    min-height: 36px;
    width: 36px;
  }

  body.qh-portal-og #stage a[data-price-folder] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  body.qh-portal-og #stage button[data-remove] {
    min-height: 44px;
    padding: 0 12px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table input.cart-qty {
    min-height: 44px;
    height: 44px;
    width: 3.6rem;
  }

  body.qh-portal-og #qh-charcoal-final .ops-seg button,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-pick-tools .action-btn,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-pick-tools .ghost-btn {
    min-height: 40px;
  }

  body.qh-portal-og .admin-addons input[type="checkbox"] {
    width: 22px;
    height: 22px;
    min-width: 22px;
    min-height: 22px;
  }

  body.qh-portal-og .admin-addons input:not([type="checkbox"]):not([type="radio"]),
  body.qh-portal-og .admin-addons select {
    min-height: 44px;
    font-size: 16px;
  }
}

/* Operations layout pass 757: headers, width, graphs, receiving callouts. */
body.qh-portal-og .qh-ops-workspace .ops-buy-sku {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
}

body.qh-portal-og .qh-ops-workspace .ops-buy-sku .part-history-btn {
  margin: 0;
}

body.qh-portal-og .qh-ops-workspace .ops-buy tr.ops-buy-group th,
body.qh-portal-og .qh-ops-workspace table.ops-buy .ops-buy-group th {
  background: #efe6d8;
  color: var(--ink, #1d1914);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 12px 8px 8px;
  border-top: 3px solid var(--qh-action, #8d421a);
}

body.qh-portal-og .qh-ops-workspace .ops-buy-group-label {
  display: inline-block;
}

body.qh-portal-og .qh-ops-workspace .recv-vendor-head,
body.qh-portal-og .qh-ops-workspace .recv-cust-head,
body.qh-portal-og .qh-ops-workspace .pick-day-head,
body.qh-portal-og .qh-ops-workspace .pick-cust-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  margin: 10px 0 6px;
  padding: 8px 10px;
  background: #efe6d8;
  border-left: 4px solid var(--qh-action, #8d421a);
  font-size: 16px;
}

body.qh-portal-og .qh-ops-workspace .pick-day-head {
  background: #8d421a;
  border-left-color: #6a3012;
  color: #fffefa;
}

body.qh-portal-og .qh-ops-workspace .recv-vendor-head b,
body.qh-portal-og .qh-ops-workspace .recv-cust-head b,
body.qh-portal-og .qh-ops-workspace .pick-day-head b,
body.qh-portal-og .qh-ops-workspace .pick-cust-head b {
  font-size: 16px;
  font-weight: 800;
}

body.qh-portal-og .qh-ops-workspace .recv-vendor-head span,
body.qh-portal-og .qh-ops-workspace .recv-cust-head span,
body.qh-portal-og .qh-ops-workspace .pick-day-head span,
body.qh-portal-og .qh-ops-workspace .pick-cust-head span {
  color: var(--muted, #6b6258);
  font-size: 13px;
  font-weight: 700;
}

body.qh-portal-og .qh-ops-workspace .recv-cust.is-needed .recv-cust-head {
  background: #fff3d4;
  border-left-color: #c98a1a;
}

body.qh-portal-og .qh-ops-workspace .pick-cust-head {
  background: #f4eee4;
  font-size: 15px;
  margin: 6px 0 4px;
}

body.qh-portal-og .qh-ops-workspace .pick-day-head span {
  color: #f3d4b8;
}

body.qh-portal-og .qh-ops-workspace .pick-sheet-head .page {
  font-size: 28px;
  font-weight: 800;
  margin: 0 0 4px;
}

body.qh-portal-og .pick-part-copy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
}

body.qh-portal-og .pick-part-copy .part-history-btn {
  margin: 0;
}

body.qh-portal-og .pick-sheet .ops-table-wrap {
  overflow-x: auto;
  width: 100%;
}

body.qh-portal-og .pick-sheet-table {
  table-layout: fixed;
  width: 100%;
}

body.qh-portal-og .pick-sheet-table .pick-desc {
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (min-width: 1100px) {
  body.qh-portal-og .recv-line {
    grid-template-columns: minmax(180px, 260px) auto auto max-content minmax(0, 1fr);
    gap: 0.3rem 0.5rem;
    padding: 0.4rem 0.35rem;
  }
}

body.qh-portal-og .qh-ops-workspace .sales-chart,
body.qh-portal-og .qh-ops-workspace .supplier-chart {
  width: 100%;
  margin: 0 0 14px;
}

body.qh-portal-og .qh-ops-workspace .ops-month-row {
  width: 100%;
  min-height: 200px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(36px, 1fr));
  gap: 4px;
  align-items: end;
  overflow: visible;
}

body.qh-portal-og .qh-ops-workspace .ops-month-row.is-days,
body.qh-portal-og .qh-ops-workspace .ops-month-row.is-months,
body.qh-portal-og .qh-ops-workspace .ops-month-row.is-years {
  display: grid;
  grid-auto-flow: row;
  grid-auto-columns: unset;
  grid-template-columns: repeat(auto-fit, minmax(28px, 1fr));
}

body.qh-portal-og .qh-ops-workspace .ops-month-track {
  height: 150px;
}

body.qh-portal-og .qh-ops-workspace .ops-month {
  min-width: 0;
  width: 100%;
}

body.qh-portal-og .qh-ops-workspace .sales-period-seg {
  flex-wrap: wrap;
}

body.qh-portal-og .qh-ops-workspace .ops-fold {
  margin: 8px 0 14px;
  padding: 8px 10px;
  border: 1px solid var(--line, #ddd4c8);
  border-radius: 6px;
  background: var(--paper, #fff);
}

body.qh-portal-og .qh-ops-workspace .ops-fold > summary {
  cursor: pointer;
  font-weight: 800;
  font-size: 15px;
}

@media (max-width: 680px) {
  body.qh-portal-og .qh-ops-workspace .ops-month-row,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month-row {
    min-height: 180px;
    grid-template-columns: repeat(auto-fit, minmax(22px, 1fr));
  }

  body.qh-portal-og .qh-ops-workspace .ops-month-track,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month-track {
    height: 128px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month-row.is-days .ops-month {
    flex: 1 1 0;
    min-width: 0;
  }

  body.qh-portal-og .recv-for-wrap.is-needed,
  body.qh-portal-og #qh-charcoal-final .recv-for-wrap.is-needed,
  body.qh-portal-og #qh-charcoal-final .qh-demand--sales {
    background: #ffe7a8;
    border: 1px solid #e0b84a;
    border-radius: 4px;
    padding: 6px 8px;
    color: #5a3d00;
  }

  body.qh-portal-og #qh-charcoal-final .qh-demand--sales .recv-for-head,
  body.qh-portal-og #qh-charcoal-final .recv-for-wrap.is-needed .recv-for-head {
    display: block;
    color: #8d421a;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .recv-vendor-head,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .recv-cust-head,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-day-head,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-cust-head {
    font-size: 15px;
    padding: 7px 8px;
  }
}

html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .ops-buy tr.ops-buy-group th,
html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .recv-vendor-head,
html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .recv-cust-head,
html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .pick-cust-head {
  background: #3a2f24;
  color: #f4eee4;
}

html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .pick-day-head {
  background: #9a4518;
  border-left-color: #ffdf91;
  color: #fffefa;
}

html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .pick-day-head span {
  color: #ffdf91;
}

html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .recv-cust.is-needed .recv-cust-head {
  background: #3a2a12;
}

html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .recv-for-wrap.is-needed,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qh-demand--sales {
  background: #4a3514;
  border-color: #c98a1a;
  color: #ffdf91;
}

/* Operations layout pass 759: scale labels sit on the plot lines. */
body.qh-portal-og .qh-ops-workspace .ops-chart,
body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-chart {
  display: block;
  width: 100%;
  padding-top: 4px;
}

body.qh-portal-og .qh-ops-workspace .ops-chart-plot {
  position: relative;
  width: 100%;
}

body.qh-portal-og .qh-ops-workspace .ops-chart-grid {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 150px;
  pointer-events: none;
  z-index: 0;
}

body.qh-portal-og .qh-ops-workspace .ops-chart-grid span {
  position: absolute;
  left: 0;
  right: 0;
  border-top: 1px solid var(--line, #e4dbcf);
  line-height: 0;
}

body.qh-portal-og .qh-ops-workspace .ops-chart-grid .is-top { top: 0; }
body.qh-portal-og .qh-ops-workspace .ops-chart-grid .is-mid { top: 50%; }
body.qh-portal-og .qh-ops-workspace .ops-chart-grid .is-zero { top: 100%; }

body.qh-portal-og .qh-ops-workspace .ops-chart-grid b {
  display: inline-block;
  margin: -0.55em 0 0 0;
  padding-right: 6px;
  background: var(--paper, #fff);
  color: var(--muted, #6b6258);
  font-size: 11px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

body.qh-portal-og .qh-ops-workspace .ops-chart-plot .ops-month-row {
  position: relative;
  z-index: 1;
  padding-left: 2.75rem;
}

body.qh-portal-og .qh-ops-workspace .ops-chart-scale {
  display: none;
}

body.qh-portal-og .qh-ops-workspace .ops-month-row.is-years,
body.qh-portal-og .qh-ops-workspace .ops-month-row.is-months:not(.is-picker) {
  justify-content: start;
  grid-template-columns: repeat(auto-fit, minmax(36px, 68px));
}

body.qh-portal-og .qh-ops-workspace .ops-month-row.is-picker {
  display: flex;
  grid-template-columns: none;
  overflow-x: auto;
  gap: 3px;
  min-height: 176px;
  padding: 0 4px 26px;
}

body.qh-portal-og .qh-ops-workspace .ops-month-row.is-picker .ops-month {
  flex: 0 0 22px;
  width: 22px;
  min-width: 22px;
  position: relative;
}

body.qh-portal-og .qh-ops-workspace .ops-month-row.is-picker .ops-month-track {
  height: 150px;
}

body.qh-portal-og .qh-ops-workspace .ops-month-row.is-picker .ops-month small {
  position: absolute;
  top: calc(100% + 4px);
  left: 50%;
  transform: translateX(-50%);
  width: auto;
  white-space: nowrap;
  font-size: 10px;
  line-height: 1;
}

body.qh-portal-og .qh-ops-workspace .ops-month-row.is-picker .ops-month b {
  display: none;
}

body.qh-portal-og .qh-ops-workspace .ops-side a,
body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a,
body.qh-portal-og .qh-ops-workspace .ops-side .is-later {
  justify-content: center;
  text-align: center;
}

body.qh-portal-og .qh-ops-workspace table.ops-buy,
body.qh-portal-og .qh-ops-workspace table.sales-invoices {
  table-layout: auto;
  width: 100%;
}

body.qh-portal-og .qh-ops-workspace table.ops-buy col.c-part { width: auto; }
body.qh-portal-og .qh-ops-workspace table.ops-buy col.c-who { width: auto; }
body.qh-portal-og .qh-ops-workspace table.ops-buy col.c-so,
body.qh-portal-og .qh-ops-workspace table.ops-buy col.c-need,
body.qh-portal-og .qh-ops-workspace table.ops-buy col.c-avail { width: 1%; }
body.qh-portal-og .qh-ops-workspace table.ops-buy col.c-po,
body.qh-portal-og .qh-ops-workspace table.ops-buy col.c-buy { width: 1%; }

body.qh-portal-og .qh-ops-workspace table.ops-buy th:nth-child(3),
body.qh-portal-og .qh-ops-workspace table.ops-buy td:nth-child(3),
body.qh-portal-og .qh-ops-workspace table.ops-buy th:nth-child(5),
body.qh-portal-og .qh-ops-workspace table.ops-buy td:nth-child(5),
body.qh-portal-og .qh-ops-workspace table.ops-buy th:nth-child(6),
body.qh-portal-og .qh-ops-workspace table.ops-buy td:nth-child(6),
body.qh-portal-og .qh-ops-workspace table.ops-buy th:nth-child(7),
body.qh-portal-og .qh-ops-workspace table.ops-buy td:nth-child(7) {
  white-space: nowrap;
  width: 1%;
}

body.qh-portal-og .qh-ops-workspace table.ops-buy td:nth-child(1) {
  min-width: 12rem;
}

body.qh-portal-og .qh-ops-workspace table.sales-invoices col.c-who { width: auto; }
body.qh-portal-og .qh-ops-workspace table.sales-invoices col.c-inv,
body.qh-portal-og .qh-ops-workspace table.sales-invoices col.c-date,
body.qh-portal-og .qh-ops-workspace table.sales-invoices col.c-po,
body.qh-portal-og .qh-ops-workspace table.sales-invoices col.c-tot { width: 1%; }

body.qh-portal-og .qh-ops-workspace table.ops-buy :is(th, td),
body.qh-portal-og .qh-ops-workspace table.sales-invoices :is(th, td) {
  overflow-wrap: break-word;
}

body.qh-portal-og .qh-ops-workspace .sales-invoices th:nth-child(1),
body.qh-portal-og .qh-ops-workspace .sales-invoices td:nth-child(1),
body.qh-portal-og .qh-ops-workspace .sales-invoices th:nth-child(3),
body.qh-portal-og .qh-ops-workspace .sales-invoices td:nth-child(3) {
  width: auto;
}

body.qh-portal-og .recv-count.is-inline {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  grid-template-columns: none;
}

body.qh-portal-og .recv-count.is-inline .recv-open,
body.qh-portal-og .recv-count.is-inline .recv-qty {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
}

body.qh-portal-og .recv-count.is-inline .recv-count-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  grid-column: auto;
}

body.qh-portal-og .recv-count.is-inline .recv-state {
  flex: 0 1 auto;
  white-space: nowrap;
}

@media (min-width: 1100px) {
  body.qh-portal-og .recv-line {
    grid-template-columns: minmax(180px, 260px) 64px 80px max-content minmax(140px, 1fr);
  }
}

html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .ops-month-track i,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month-track i {
  background: #c67a38;
}

html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace button.ops-month.is-on .ops-month-track i {
  background: #e89a4a;
}

@media (max-width: 760px) {
  body.qh-portal-og .qh-ops-workspace .ops-chart-grid {
    height: 128px;
  }

  body.qh-portal-og .qh-ops-workspace .ops-month-row.is-picker {
    min-height: 158px;
    padding-bottom: 22px;
  }

  body.qh-portal-og .recv-count.is-inline {
    flex-wrap: wrap;
  }
}

@media (max-width: 680px) {
  body.qh-portal-og .family-grid,
  body.qh-portal-og #qh-charcoal-final .family-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  body.qh-portal-og .family-grid .family-tile,
  body.qh-portal-og #qh-charcoal-final .family-grid .family-tile,
  body.qh-portal-og #qh-charcoal-final .family-grid .dept-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    min-height: 0;
    padding: 0.4rem 0.35rem 0.45rem;
    gap: 0.2rem;
  }

  body.qh-portal-og .family-grid .family-tile-copy,
  body.qh-portal-og #qh-charcoal-final .family-grid .family-tile-copy,
  body.qh-portal-og #qh-charcoal-final .family-grid .dept-card > span {
    width: 100%;
    text-align: center;
  }

  body.qh-portal-og .family-grid .family-tile .photo-frame,
  body.qh-portal-og #qh-charcoal-final .family-grid .family-tile .photo-frame {
    width: 44px;
    height: 36px;
    margin: 0 auto;
    flex: 0 0 auto;
  }

  body.qh-portal-og .family-grid .family-tile:has(img.missing) .photo-frame,
  body.qh-portal-og #qh-charcoal-final .family-grid .family-tile:has(img.missing) .photo-frame {
    display: none;
  }

  body.qh-portal-og .family-grid .family-tile b,
  body.qh-portal-og #qh-charcoal-final .family-grid .family-tile b {
    font-size: 13px;
    line-height: 1.2;
  }

  body.qh-portal-og .family-grid .family-tile small,
  body.qh-portal-og #qh-charcoal-final .family-grid .family-tile small {
    text-align: center;
  }
}

/* 759: cart add pop, history mobile cards, chart label paper in dark mode. */
#qh-charcoal-final .cart-link .cart-ic,
body.qh-portal-og #qh-charcoal-final .cart-link .cart-ic {
  display: inline-flex;
  transform-origin: center;
}

#qh-charcoal-final .cart-link.is-adding .cart-ic,
body.qh-portal-og #qh-charcoal-final .cart-link.is-adding .cart-ic {
  animation: qh-cart-pop 0.65s ease;
}

#qh-charcoal-final .cart-link.is-adding b,
body.qh-portal-og #qh-charcoal-final .cart-link.is-adding b {
  animation: qh-cart-count 0.65s ease;
}

@keyframes qh-cart-pop {
  0% { transform: scale(1); }
  30% { transform: scale(1.38); }
  58% { transform: scale(0.9); }
  100% { transform: scale(1); }
}

@keyframes qh-cart-count {
  0% { transform: scale(1); }
  35% { transform: scale(1.25); }
  100% { transform: scale(1); }
}

html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .ops-chart-grid b {
  background: var(--paper, #1c1916);
}

@media (max-width: 680px) {
  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Part"] .item-sku-line,
  body.qh-portal-og #qh-charcoal-final table.acct-table td[data-label="Part"] .item-sku-line,
  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Date"] .item-sku-line {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
  }

  body.qh-portal-og[data-mode="customer"] table.acct-table .item-sku-line .stock-mark,
  body.qh-portal-og #qh-charcoal-final table.acct-table .item-sku-line .stock-mark {
    margin-left: 0;
    flex: 0 0 auto;
  }

  body.qh-portal-og[data-mode="customer"] table.acct-table tbody tr:not(.order-detail):not(.history-detail):not(.detail-row) {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 12px;
    row-gap: 3px;
    padding: 8px 0;
  }

  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Part"],
  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Date"] {
    grid-column: 1;
    grid-row: 1;
    white-space: normal;
  }

  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Spent"],
  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Total"] {
    grid-column: 2;
    grid-row: 1;
    text-align: right;
    color: var(--ink);
    white-space: nowrap;
  }

  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Status"] {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }

  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Part"],
  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Quote"],
  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Saved"] {
    grid-column: 1;
    grid-row: 1;
    overflow: visible;
    white-space: normal;
    min-width: 0;
  }

  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Part"] .item-copy small,
  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Part"] .item-extra {
    display: block;
    margin-top: 2px;
    white-space: normal;
    line-height: 1.3;
    overflow: visible;
  }

  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Spent"],
  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Total"] {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    text-align: right;
    white-space: nowrap;
  }

  body.qh-portal-og[data-mode="customer"] table.acct-table tbody tr:not(.order-detail):not(.history-detail):not(.detail-row) td[data-label="Last"],
  body.qh-portal-og[data-mode="customer"] table.acct-table tbody tr:not(.order-detail):not(.history-detail):not(.detail-row) td[data-label="Date"],
  body.qh-portal-og[data-mode="customer"] table.acct-table tbody tr:not(.order-detail):not(.history-detail):not(.detail-row) td[data-label="Due"] {
    display: block !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: auto !important;
    margin: 2px 0 0;
    white-space: normal;
    color: var(--muted);
    line-height: 1.3;
  }

  body.qh-portal-og[data-mode="customer"] table.acct-table tbody tr:not(.order-detail):not(.history-detail):not(.detail-row) td.row-actions,
  body.qh-portal-og[data-mode="customer"] table.acct-table tbody tr:not(.order-detail):not(.history-detail):not(.detail-row) td[data-label="Status"],
  body.qh-portal-og[data-mode="customer"] table.acct-table tbody tr:not(.order-detail):not(.history-detail):not(.detail-row) td[data-label="Next"] {
    display: flex !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: auto !important;
    justify-self: end;
    align-self: center;
    justify-content: flex-end;
    text-align: right;
    white-space: nowrap;
  }

  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Description"],
  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="Parts"],
  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="By"],
  body.qh-portal-og[data-mode="customer"] table.acct-table td[data-label="PO"] {
    display: block !important;
    grid-column: 1 / -1;
    grid-row: auto;
    white-space: normal;
    color: var(--muted);
  }

  body.qh-portal-og[data-mode="customer"] table.acct-table tbody tr:not(.order-detail):not(.history-detail):not(.detail-row) td[data-label="Share"],
  body.qh-portal-og[data-mode="customer"] table.acct-table tbody tr:not(.order-detail):not(.history-detail):not(.detail-row) td[data-label="Qty"],
  body.qh-portal-og[data-mode="customer"] table.acct-table tbody tr:not(.order-detail):not(.history-detail):not(.detail-row) td[data-label="Times"],
  body.qh-portal-og[data-mode="customer"] table.acct-table tbody tr:not(.order-detail):not(.history-detail):not(.detail-row) td[data-label="Every"],
  body.qh-portal-og[data-mode="customer"] table.acct-table tbody tr:not(.order-detail):not(.history-detail):not(.detail-row) td[data-label="Kind"] {
    display: none !important;
  }

  body.qh-portal-og[data-mode="customer"] table.acct-table tr.order-detail {
    display: block;
    grid-column: 1 / -1;
  }

  body.qh-portal-og[data-mode="customer"] table.acct-table tr.order-detail td {
    display: block;
    width: 100% !important;
    padding: 6px 0 10px;
  }
}

.qh-koble-scan {
  margin: 8px 0 4px;
  max-width: 240px;
}

.qh-koble-scan svg {
  display: block;
  width: 220px;
  height: 52px;
  background: #fff;
}

.qh-koble-scan small {
  display: block;
  margin-top: 2px;
  font: 700 12px/1.2 ui-monospace, Consolas, monospace;
  letter-spacing: 0.04em;
}

@media print {
  .qh-koble-scan svg {
    width: 2.3in;
    height: 0.5in;
  }
}

/* 760: operations header hide, chart scale, purchasing cards, suppliers. */
body.qh-portal-og .qh-ops-workspace .buy-line {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr) auto;
  gap: 6px 12px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--line, #e4dbcf);
}

body.qh-portal-og .qh-ops-workspace .buy-line .recv-part-id {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
}

body.qh-portal-og .qh-ops-workspace .buy-who {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  font-weight: 700;
}

body.qh-portal-og .qh-ops-workspace .buy-who small {
  font-weight: 500;
  color: var(--muted, #6b6258);
}

body.qh-portal-og .qh-ops-workspace .buy-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  color: var(--muted, #6b6258);
  font-size: 13px;
}

body.qh-portal-og .qh-ops-workspace .buy-act {
  justify-self: end;
  white-space: nowrap;
}

body.qh-portal-og .qh-ops-workspace .buy-line.is-way {
  background: #e7f3ea;
}

body.qh-portal-og .qh-ops-workspace .ops-chart-plot .ops-month-row,
body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-chart-plot .ops-month-row {
  min-height: 0;
}

body.qh-portal-og .qh-ops-workspace .ops-chart-plot .ops-month-track,
body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-chart-plot .ops-month-track {
  height: 150px;
}

body.qh-portal-og .qh-ops-workspace .sales-chart .ops-metrics,
body.qh-portal-og .qh-ops-workspace .ops-metrics {
  align-items: stretch;
}

body.qh-portal-og .qh-ops-workspace .ops-metric > strong {
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .buy-line.is-way {
  background: #163224;
}

@media (max-width: 760px) {
  body.qh-portal-og .qh-ops-workspace .buy-line {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 10px;
    padding: 8px 0;
  }

  body.qh-portal-og .qh-ops-workspace .buy-line .recv-part {
    grid-column: 1;
    grid-row: 1;
  }

  body.qh-portal-og .qh-ops-workspace .buy-act {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: start;
  }

  body.qh-portal-og .qh-ops-workspace .buy-who,
  body.qh-portal-og .qh-ops-workspace .buy-meta {
    grid-column: 1;
    font-size: 12px;
  }

  body.qh-portal-og .qh-ops-workspace .ops-chart-grid,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-chart-grid {
    height: 132px;
  }

  body.qh-portal-og .qh-ops-workspace .ops-chart-plot .ops-month-track,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-chart-plot .ops-month-track,
  body.qh-portal-og .qh-ops-workspace .ops-month-track,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month-track {
    height: 132px !important;
  }

  body.qh-portal-og .qh-ops-workspace .ops-month-row.is-years,
  body.qh-portal-og .qh-ops-workspace .ops-month-row.is-months:not(.is-picker) {
    grid-template-columns: repeat(auto-fit, minmax(28px, 1fr));
    padding-left: 2.4rem;
  }

  body.qh-portal-og .qh-ops-workspace .ops-month-row.is-picker {
    min-height: 160px;
    padding-bottom: 22px;
  }

  body.qh-portal-og .qh-ops-workspace .ops-metric > strong {
    font-size: 16px;
    letter-spacing: -0.03em;
  }

  body.qh-portal-og .qh-ops-workspace .ops-supplier-layout {
    display: block;
  }

  body.qh-portal-og .qh-ops-workspace .ops-supplier-list {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 6px;
    max-height: none;
    position: static;
    margin: 0 0 10px;
    padding: 0 0 8px;
    border: 0;
    border-bottom: 1px solid var(--line, #e4dbcf);
  }

  body.qh-portal-og .qh-ops-workspace .ops-supplier-list button {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 6px 10px;
    white-space: nowrap;
  }

  body.qh-portal-og .qh-ops-workspace .ops-supplier-card .ops-chart-plot .ops-month-track {
    height: 120px !important;
  }

  body.qh-portal-og .qh-ops-workspace .ops-supplier-card .ops-chart-grid {
    height: 120px;
  }
}

/* 762: PO header, sales-order highlight, pick rows, part history, navigation. */
body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card-head {
  background: #d7e3ee;
  color: #1c3348;
  border-left: 4px solid #2f5573;
  border-radius: 0;
}

body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card-head small,
body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card-head strong {
  color: #3d5568;
}

html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card-head {
  background: #1c2c38;
  color: #e7f1f8;
  border-left-color: #7eb0d4;
}

html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card-head small,
html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card-head strong {
  color: #b7c9d6;
}

body.qh-portal-og .recv-line.is-full,
body.qh-portal-og .recv-line.is-short,
body.qh-portal-og .recv-line.is-over,
body.qh-portal-og .recv-line.is-counted,
body.qh-portal-og .recv-part,
body.qh-portal-og .recv-count,
body.qh-portal-og .recv-wide {
  background: transparent;
}

body.qh-portal-og .recv-part-id .ops-drill,
body.qh-portal-og .pick-sku,
body.qh-portal-og .qh-ops-workspace .pick-sku {
  color: inherit;
}

body.qh-portal-og .recv-for-wrap.qh-demand--sales {
  background: #fff0ce;
  color: #3e3016;
  border: 1px solid #805400;
  border-left: 4px solid #805400;
  border-radius: 4px;
  padding: 7px 9px;
}

html[data-theme="dark"] body.qh-portal-og .recv-for-wrap.qh-demand--sales {
  background: #3b3526;
  color: #fff4d8;
  border-color: #ffdf91;
}

body.qh-portal-og .spd-head {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

body.qh-portal-og .spd-title-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}

body.qh-portal-og .spd-name {
  min-width: 0;
}

body.qh-portal-og .spd-name .spd-title {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.qh-portal-og .spd-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

body.qh-portal-og .spd-actions :is(a, button) {
  min-height: 36px;
  justify-content: center;
}

body.qh-portal-og .part-usage svg {
  width: 100%;
  height: 140px;
}

@media (max-width: 760px) {
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 6px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a {
    grid-column: span 3;
    flex-direction: column;
    justify-content: center;
    min-height: 52px;
    padding: 6px 4px;
    font-size: 11px;
    line-height: 1.15;
    white-space: normal;
    text-align: center;
    border: 1px solid var(--line, #3a4450);
    background: var(--paper, #242d35);
    border-radius: 6px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a:nth-child(n+5) {
    grid-column: span 4;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a.is-on {
    background: #9a4518;
    border-color: #9a4518;
    color: #fffefa;
  }

  body.qh-portal-og #qh-charcoal-final .ops-nav-ic {
    width: 18px;
    height: 18px;
  }

  body.qh-portal-og #qh-charcoal-final .bottom-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  body.qh-portal-og #qh-charcoal-final .bottom-nav a,
  body.qh-portal-og #qh-charcoal-final .bottom-nav button {
    margin: 0;
    border-radius: 0;
    min-height: 52px;
    padding: 6px 2px 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    background: transparent;
    color: var(--muted, #c9d2dc);
    border-top: 2px solid transparent;
  }

  body.qh-portal-og #qh-charcoal-final .bottom-nav a.active,
  body.qh-portal-og #qh-charcoal-final .bottom-nav a[aria-current="page"],
  body.qh-portal-og #qh-charcoal-final .bottom-nav button.active {
    background: transparent;
    color: #ffdf91;
    border-top-color: #ffdf91;
  }

  body.qh-portal-og #qh-charcoal-final .bottom-nav-ic {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  body.qh-portal-og #qh-charcoal-final .recv-for-wrap.qh-demand--sales .recv-for-head {
    display: block;
    color: #805400;
  }

  body.qh-portal-og #qh-charcoal-final .recv-for-wrap,
  body.qh-portal-og #qh-charcoal-final .qh-demand--sales {
    background: transparent;
    border: 0;
    padding: 0;
    color: inherit;
  }

  body.qh-portal-og #qh-charcoal-final .recv-for-wrap.qh-demand--sales {
    grid-column: 1 / -1;
    background: #fff0ce;
    color: #3e3016;
    border: 1px solid #805400;
    border-left: 4px solid #805400;
    border-radius: 4px;
    padding: 6px 8px;
  }

  html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .recv-for-wrap.qh-demand--sales {
    background: #3b3526;
    color: #fff4d8;
    border-color: #ffdf91;
  }

  html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .recv-for-wrap.qh-demand--sales .recv-for-head {
    color: #ffdf91;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tr.pick-line {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas:
      "part part state"
      "desc desc desc"
      "ordered open avail"
      "picked picked act";
    gap: 4px 8px;
    padding: 8px 0;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table .pick-state {
    display: block;
    grid-area: state;
    justify-self: end;
    font-size: 12px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table .pick-part {
    display: flex;
    align-items: center;
    gap: 6px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table .pick-part-copy {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 6px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table .pick-desc {
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tr.pick-line > td[data-label="Picked"] {
    display: flex;
    align-items: center;
    gap: 6px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table tr.pick-line > td[data-label="Picked"]::before {
    content: "Now";
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-table .pick-act .ghost-btn {
    background: #9a4518;
    border-color: #9a4518;
    color: #fffefa;
  }

  html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav a.active,
  html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav a[aria-current="page"],
  html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav button.active {
    background: transparent;
    color: #ffdf91;
    border-color: transparent;
    border-top: 2px solid #ffdf91;
  }
}

/* 763: pick rows match receiving, sales period wraps, kit parts for one assembly. */
body.qh-portal-og .pick-lines {
  display: grid;
  gap: 0;
}

body.qh-portal-og .pick-work-line {
  grid-template-columns: minmax(160px, 1.45fr) 92px 92px minmax(210px, 0.9fr);
  align-items: start;
}

body.qh-portal-og .pick-work-line .recv-wide {
  display: block;
}

body.qh-portal-og .pick-work-line .recv-count input.cart-qty {
  width: 5.2rem;
  min-height: 40px;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}

body.qh-portal-og .pick-work-line .recv-count-actions .action-btn {
  min-height: 40px;
  padding: 0 14px;
  font-weight: 800;
}

body.qh-portal-og .pick-work-line .pick-kit {
  grid-column: 1 / -1;
  margin: 4px 0 0;
  padding: 6px 8px;
  border: 1px solid var(--line, #ddd4c8);
  border-radius: 6px;
  background: var(--paper, #fff);
}

body.qh-portal-og .pick-work-line .pick-kit > summary {
  cursor: pointer;
  font-weight: 800;
  min-height: 36px;
}

body.qh-portal-og .pick-kit-list {
  display: grid;
  gap: 4px;
}

body.qh-portal-og .pick-kit-item {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.6fr) 88px;
  gap: 2px 10px;
  align-items: center;
  padding: 4px 0;
  border-top: 1px solid var(--line, #ddd4c8);
}

body.qh-portal-og .pick-kit-id {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
}

body.qh-portal-og .pick-kit-qty small,
body.qh-portal-og .pick-kit-attr {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted, #6d645b);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

body.qh-portal-og .pick-kit-qty b {
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}

body.qh-portal-og .pick-kit-attr {
  grid-column: 1 / -1;
  text-transform: none;
  font-weight: 600;
  letter-spacing: 0;
}

@media (max-width: 760px) {
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesForm .sales-period-seg {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    overflow: visible;
    border-radius: 8px;
    min-height: 0;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesForm .sales-period-seg .ops-seg-btn {
    flex: none;
    min-width: 0;
    white-space: normal;
    line-height: 1.15;
    padding: 6px 4px;
    min-height: 40px;
    font-size: 12px;
    text-align: center;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 6px 8px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-part,
  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-count,
  body.qh-portal-og #qh-charcoal-final .pick-work-line .pick-kit {
    grid-column: 1 / -1;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-actions :is(a, button) {
    min-height: 40px;
  }

  body.qh-portal-og .pick-work-line .recv-count {
    grid-template-columns: auto minmax(0, 1fr);
  }

  body.qh-portal-og .pick-work-line .recv-count input.cart-qty,
  body.qh-portal-og .pick-work-line .recv-count-actions .action-btn {
    min-height: 44px;
  }

  body.qh-portal-og .pick-kit-item {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body.qh-portal-og .pick-kit-title {
    grid-column: 1 / -1;
  }
}

/* 768: icon buttons, Operations photos, phone catalog rows, order headers, pick density. */
body.qh-portal-og .ops-ic-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 10px;
  white-space: nowrap;
  text-decoration: none;
}

body.qh-portal-og .ops-ic-btn .ops-ic,
body.qh-portal-og .ops-ic-toggle .ops-ic {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

body.qh-portal-og .ops-ic-btn.sm {
  min-height: 30px;
  padding: 0 8px;
  font-size: 12px;
}

body.qh-portal-og .ops-ic-btn.sm .ops-ic {
  width: 16px;
  height: 16px;
  flex-basis: 16px;
}

body.qh-portal-og .ops-ic-btn.is-spinning .ops-ic {
  animation: qh-ic-spin 0.9s linear infinite;
}

@keyframes qh-ic-spin {
  to { transform: rotate(360deg); }
}

body.qh-portal-og .ops-ic-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  cursor: pointer;
}

body.qh-portal-og .pick-sheet-actions {
  align-items: center;
}

body.qh-portal-og .recv-photo.is-blank,
body.qh-portal-og .pick-photo.is-blank,
body.qh-portal-og .ops-thumb-img.is-blank {
  display: inline-block;
  background: rgba(127, 127, 127, 0.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23889' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5 9 5 9-5zM3 8v8l9 5 9-5V8M12 13v8'/%3E%3C/svg%3E") center / 55% no-repeat;
  border-radius: 4px;
}

body.qh-portal-og .ops-thumb {
  float: left;
  width: 34px;
  height: 34px;
  margin: 1px 8px 2px 0;
}

body.qh-portal-og .ops-thumb-img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  background: #fff;
  border-radius: 4px;
}

body.qh-portal-og .item-sku-line .stock-mark,
body.qh-portal-og[data-mode="customer"] table.acct-table .item-sku-line .stock-mark,
body.qh-portal-og #qh-charcoal-final table.acct-table .item-sku-line .stock-mark {
  margin-left: 8px !important;
}

body.qh-portal-og .ot-close-chip,
body.qh-portal-og .ot-open-hint {
  display: none;
}

body.qh-portal-og .ot-close-bottom {
  display: block;
  margin: 8px 0 2px auto;
}

body.qh-portal-og table.orders-table tr.order-row.open > td {
  background: rgba(198, 122, 56, 0.16);
}

body.qh-portal-og table.orders-table tr.order-row.open > td:first-child {
  box-shadow: inset 4px 0 0 #c67a38;
}

body.qh-portal-og .pick-nums,
body.qh-portal-og .pick-loc {
  display: none;
}

body.qh-portal-og .qh-ops-workspace .pick-board .pick-order {
  border: 1px solid var(--line, #3a4450);
  border-left: 4px solid #8a94a0;
  border-radius: 6px;
  margin: 0 0 6px;
}

body.qh-portal-og .qh-ops-workspace .pick-board .pick-order.is-short { border-left-color: #d0731f; }
body.qh-portal-og .qh-ops-workspace .pick-board .pick-order.is-ready { border-left-color: #2f9a57; }

body.qh-portal-og .qh-ops-workspace .pick-board .pick-order .ops-card-head strong {
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(127, 127, 127, 0.14);
  font-size: 12px;
}

body.qh-portal-og .qh-ops-workspace .pick-board .pick-order.is-short .ops-card-head strong { background: rgba(208, 115, 31, 0.18); }
body.qh-portal-og .qh-ops-workspace .pick-board .pick-order.is-ready .ops-card-head strong { background: rgba(47, 154, 87, 0.18); }

body.qh-portal-og .qh-ops-workspace .pick-board .pick-order .ops-card-head::after {
  content: "\203A";
  font-size: 22px;
  line-height: 1;
  opacity: 0.55;
}

body.qh-portal-og .qh-ops-workspace .ops-chart-plot .ops-month-row.is-picker {
  padding-left: 3.4rem !important;
}

body.qh-portal-og .qh-ops-workspace .ops-chart-grid {
  z-index: 2;
}

@media (max-width: 680px) {
  /* Icon-only on a phone; the label stays as the tooltip and accessible name. */
  body.qh-portal-og .ops-ic-btn:not(.keep-label) .ops-ic-label,
  body.qh-portal-og .ops-ic-toggle .ops-ic-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  body.qh-portal-og .ops-ic-btn:not(.keep-label) {
    width: 40px;
    min-width: 40px;
    padding: 0;
  }

  body.qh-portal-og .ops-ic-btn.sm:not(.keep-label) {
    width: 34px;
    min-width: 34px;
    min-height: 32px;
  }

  body.qh-portal-og #qh-charcoal-final .ops-pick-tools .ops-ic-btn:not(.keep-label) {
    width: 40px !important;
    min-height: 36px;
    justify-self: start;
    flex: 0 0 auto;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-actions {
    flex-wrap: nowrap;
    gap: 6px;
    margin: 0 0 6px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-actions :is(a, button) {
    min-height: 38px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-actions .pick-show-done {
    margin-left: auto;
    padding: 0 8px;
    border: 1px solid var(--line, #3a4450);
    border-radius: 6px;
    min-height: 38px;
  }

  body.qh-portal-og .qh-ops-workspace .ops-chart-plot .ops-month-row,
  body.qh-portal-og .qh-ops-workspace .ops-chart-plot .ops-month-row.is-picker {
    padding-left: 3.1rem !important;
  }

  body.qh-portal-og .qh-ops-workspace .ops-chart-grid b {
    font-size: 10px;
    padding-right: 4px;
  }

  /* Operations nav: all seven pages on one row, no sideways scroll. */
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 3px;
    overflow: visible;
    padding-bottom: 2px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a,
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a:nth-child(n+5) {
    grid-column: auto;
    min-width: 0;
    min-height: 44px;
    padding: 4px 1px;
    font-size: 10px;
    letter-spacing: -0.01em;
    white-space: nowrap;
    overflow: hidden;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side .ops-nav-full {
    display: none;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side .ops-nav-short {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Catalog rows: SKU and up to three description lines on top, then stock, price,
     history, and a smaller qty and Add. */
  body.qh-portal-og #qh-charcoal-final table.adapter-results tbody tr:not(.detail-row):not(.group-row) {
    grid-template-columns: auto minmax(0, 1fr) auto auto !important;
    grid-template-areas:
      "part part part part"
      "stock price history add" !important;
    row-gap: 6px;
    column-gap: 8px;
    padding: 8px 8px 7px;
    min-height: 0;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-part {
    grid-area: part;
    overflow: visible;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-stock { grid-area: stock; }
  body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-price { grid-area: price; text-align: left; }
  body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-history { grid-area: history; max-width: none; }
  body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-add { grid-area: add; }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    column-gap: 8px;
    row-gap: 2px;
    align-items: start;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy:not(:has(.item-ic)) {
    grid-template-columns: minmax(0, 1fr);
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy > .item-ic {
    grid-column: 1;
    grid-row: 1 / span 3;
    width: 40px;
    height: 40px;
    min-width: 40px;
    max-width: 40px;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy > :not(.item-ic) {
    grid-column: -2;
    min-width: 0;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy > .details-btn {
    display: none;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .item-sku-line {
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .item-sku-line b {
    font-size: 14px;
    line-height: 1.25;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .part-sub {
    -webkit-line-clamp: 3;
    font-size: 12px;
    line-height: 1.32;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add .qty {
    width: 2.6rem;
    min-width: 2.6rem;
    height: 30px;
    min-height: 30px;
    font-size: 16px;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add .add-btn {
    height: 30px;
    min-height: 30px;
    min-width: 0;
    padding: 0 10px;
    font-size: 13px;
  }

  body.qh-portal-og #qh-charcoal-final table.adapter-results .part-history-btn {
    max-width: none;
  }

  /* Order history: the open order's header is easy to find and close. */
  body.qh-portal-og table.orders-table tr.order-row.open {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #3a2a1d !important;
    box-shadow: inset 4px 0 0 #c67a38, 0 2px 6px rgba(0, 0, 0, 0.35);
  }

  html:not([data-theme="dark"]) body.qh-portal-og table.orders-table tr.order-row.open {
    background: #f6e6d6 !important;
  }

  body.qh-portal-og table.orders-table tr.order-row.open > td,
  body.qh-portal-og table.orders-table tr.order-row.open > td:first-child {
    background: transparent;
    box-shadow: none;
  }

  body.qh-portal-og table.orders-table tr.order-row.open .ot-close-chip {
    display: inline-block;
    margin-left: 4px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #c67a38;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    vertical-align: middle;
  }

  body.qh-portal-og table.orders-table tr.order-row:not(.open) .ot-open-hint {
    display: inline-block;
    margin-left: 6px;
    opacity: 0.6;
    font-size: 11px;
  }

  body.qh-portal-og .order-lines li {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2px 8px;
  }

  body.qh-portal-og .order-lines li > .item-cell { grid-column: 1; grid-row: 1; }
  body.qh-portal-og .order-lines li > .ol-nums { grid-column: 1; grid-row: 2; }
  body.qh-portal-og .order-lines li > .ghost-btn { grid-column: 2; grid-row: 1 / span 2; }

  body.qh-portal-og .order-lines li > .asm-parts,
  body.qh-portal-og .order-lines li > p.also {
    grid-column: 1 / -1;
    min-width: 0;
  }

  body.qh-portal-og #qh-charcoal-final .order-lines li > .asm-parts {
    margin: 2px 0 4px 34px;
  }

  body.qh-portal-og #qh-charcoal-final .order-lines .asm-parts li {
    grid-template-columns: 2.9rem 3.4rem minmax(0, 1fr);
    grid-template-areas:
      "role qty sku"
      ". . desc";
    gap: 0 6px;
    padding: 3px 0;
    border-bottom: 1px solid rgba(127, 127, 127, 0.18);
  }

  body.qh-portal-og #qh-charcoal-final .order-lines .asm-parts li:last-child {
    border-bottom: 0;
  }

  body.qh-portal-og #qh-charcoal-final .order-lines .asm-parts.no-role li {
    grid-template-columns: 3.4rem minmax(0, 1fr);
    grid-template-areas:
      "qty sku"
      ". desc";
  }

  body.qh-portal-og #qh-charcoal-final .asm-parts li > .asm-role { grid-area: role; }
  body.qh-portal-og #qh-charcoal-final .asm-parts li > .asm-qty { grid-area: qty; }
  body.qh-portal-og #qh-charcoal-final .asm-parts li > .asm-sku { grid-area: sku; }

  body.qh-portal-og #qh-charcoal-final .asm-parts li > .asm-desc {
    grid-area: desc;
    font-size: 11px;
    line-height: 1.3;
  }

  /* Pick list: each order is its own card. */
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board .pick-order {
    margin: 0 0 6px;
    border: 1px solid var(--line, #3a4450);
    border-left: 4px solid #8a94a0;
    border-radius: 6px;
    background: rgba(127, 127, 127, 0.06);
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board .pick-order.is-short { border-left-color: #d0731f; }
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board .pick-order.is-ready { border-left-color: #2f9a57; }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board a.ops-card-head {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas:
      "name status go"
      "meta status go";
    padding: 8px 8px 8px 10px;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board a.ops-card-head::after {
    grid-area: go;
  }

  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board .pick-cust {
    margin: 0 0 8px;
  }

  /* Pick lines: photo, SKU, location, and history on one line; the description under it;
     then the counts in one line beside the picked box. */
  body.qh-portal-og #qh-charcoal-final .pick-work-line {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "part part"
      "nums count"
      "kit kit";
    gap: 4px 8px !important;
    padding: 7px 8px !important;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-part {
    grid-area: part;
    grid-column: 1 / -1 !important;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 0 8px;
    align-items: start;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-photo {
    width: 40px;
    height: 40px;
    min-width: 40px;
    object-fit: contain;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-part-id {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .pick-sku {
    font-size: 14px;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .pick-loc {
    display: inline-block;
    margin-left: auto;
    padding: 1px 6px;
    border-radius: 4px;
    background: rgba(127, 127, 127, 0.16);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-part-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.3;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .ops-line-meta,
  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-wide,
  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-open,
  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-state,
  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-qty small {
    display: none !important;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .pick-nums {
    grid-area: nums;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1px 10px;
    font-size: 12px;
    line-height: 1.3;
    min-width: 0;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .pick-nums small {
    color: var(--muted);
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .pick-nums .pick-assy {
    flex-basis: 100%;
    color: var(--muted);
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-count {
    grid-area: count;
    grid-column: auto !important;
    display: flex !important;
    align-items: center;
    gap: 6px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-count input.cart-qty {
    width: 3.6rem;
    height: 34px;
    min-height: 34px !important;
    padding: 0 4px;
    font-size: 16px;
    text-align: center;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-count-actions .action-btn {
    min-height: 34px !important;
    padding: 0 10px;
    font-size: 13px;
    white-space: nowrap;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .pick-kit {
    grid-area: kit;
    grid-column: 1 / -1 !important;
  }
}

/* 772: cross references, A/B editor. */
body.qh-portal-og #qh-charcoal-final .detail-grid .alias-pills,
body.qh-portal-og #qh-charcoal-final .detail-grid .xref-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 6px;
  align-items: center;
}

body.qh-portal-og #qh-charcoal-final .xref-chip {
  display: inline-flex;
  gap: 4px;
  align-items: baseline;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  background: var(--paper);
}

body.qh-portal-og #qh-charcoal-final .xref-chip em,
body.qh-portal-og #qh-charcoal-final .xref-via em,
body.qh-portal-og #qh-charcoal-final .xref-banner em {
  font-style: normal;
  color: var(--muted);
  font-size: 11px;
}

body.qh-portal-og #qh-charcoal-final .xref-note {
  flex-basis: 100%;
  color: var(--muted);
  font-size: 11px;
}

body.qh-portal-og #qh-charcoal-final .xref-via {
  font-weight: 600;
}

body.qh-portal-og #qh-charcoal-final .xref-banner {
  display: grid;
  gap: 6px;
  margin: 6px 0 12px;
  padding: 8px 10px;
  border: 1px solid var(--qh-action, var(--orange));
  border-left-width: 4px;
  border-radius: 6px;
  background: var(--orange-soft, rgba(0, 0, 0, 0.04));
}

body.qh-portal-og #qh-charcoal-final .xref-banner-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  align-items: center;
  justify-content: space-between;
}

body.qh-portal-og #qh-charcoal-final .xref-banner-row .stock-mark {
  margin-left: 8px;
}

body.qh-portal-og #qh-charcoal-final .xref-banner-row .action-btn {
  min-height: 30px !important;
  height: 30px;
  padding: 0 10px !important;
  font-size: 12px !important;
  white-space: nowrap;
}

@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final .xref-banner-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    font-size: 13px;
  }
}

body.qh-portal-og #qh-charcoal-final .xref-banner small {
  color: var(--muted);
}

#suggest .suggest-xref {
  border-left: 3px solid var(--qh-action, var(--orange));
}

body.qh-portal-og #qh-charcoal-final .photo-hero-wrap .ab-edit-btn {
  position: absolute;
  right: 4px;
  bottom: 4px;
  z-index: 3;
  padding: 2px 8px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--paper);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
  cursor: pointer;
  opacity: 0.75;
}

body.qh-portal-og #qh-charcoal-final .photo-hero-wrap:hover .ab-edit-btn,
body.qh-portal-og #qh-charcoal-final .photo-hero-wrap .ab-edit-btn:focus-visible {
  opacity: 1;
}

body.qh-portal-og #qh-charcoal-final .photo-hero-wrap.ab-editing .ab-edit-btn {
  display: none;
}

body.qh-portal-og #qh-charcoal-final .photo-hero-wrap.ab-editing .photo-hero {
  outline: 2px dashed var(--qh-action, var(--orange));
  outline-offset: -2px;
}

body.qh-portal-og #qh-charcoal-final .photo-hero-wrap.ab-editing .ab-tag {
  z-index: 4;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  cursor: grab;
  touch-action: none;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

body.qh-portal-og #qh-charcoal-final .photo-hero-wrap.ab-editing .ab-tag.is-dragging {
  cursor: grabbing;
}

body.qh-portal-og #qh-charcoal-final .ab-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  margin-top: 6px;
}

body.qh-portal-og #qh-charcoal-final .ab-tools small {
  flex-basis: 100%;
  color: var(--muted);
  font-size: 11px;
}

body.qh-portal-og #qh-charcoal-final .ab-tools .ab-msg {
  flex-basis: 100%;
  font-size: 12px;
}

/* 775: Fill-Rite brand pages (pilot for retail brand catalogs). */
body.qh-portal-og #qh-charcoal-final .fr-brand {
  --fr-red: #d71920;
  position: relative;
  margin: 10px 0 16px;
  padding: 14px 16px 14px 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  overflow: hidden;
}

body.qh-portal-og #qh-charcoal-final .fr-brand::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: var(--fr-red);
}

body.qh-portal-og #qh-charcoal-final .fr-brand-mark {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
}

body.qh-portal-og #qh-charcoal-final .fr-logo {
  padding: 3px 10px 2px;
  background: var(--fr-red);
  color: #fff;
  font-weight: 900;
  font-style: italic;
  letter-spacing: 0.06em;
  font-size: 18px;
  line-height: 1.2;
  transform: skewX(-8deg);
}

body.qh-portal-og #qh-charcoal-final .fr-badge {
  padding: 2px 8px;
  border: 1px solid var(--fr-red);
  border-radius: 999px;
  color: var(--fr-red);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fr-badge {
  color: #ff6b6f;
  border-color: #ff6b6f;
}

body.qh-portal-og #qh-charcoal-final .fr-tagline {
  margin: 10px 0 4px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}

body.qh-portal-og #qh-charcoal-final .fr-blurb {
  margin: 8px 0 0;
  max-width: 72ch;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

body.qh-portal-og #qh-charcoal-final .fr-catalog {
  margin: 10px 0 0;
  font-size: 14px;
  font-weight: 600;
}

body.qh-portal-og #qh-charcoal-final .fr-catalog a {
  color: var(--fr-red, var(--accent));
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.qh-portal-og #qh-charcoal-final .fr-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

body.qh-portal-og #qh-charcoal-final .fr-steps li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 2px 10px;
  align-items: start;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
}

body.qh-portal-og #qh-charcoal-final .fr-step-n {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--fr-red);
  color: #fff;
  font-weight: 800;
}

body.qh-portal-og #qh-charcoal-final .fr-steps small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

body.qh-portal-og #qh-charcoal-final .fr-series-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

body.qh-portal-og #qh-charcoal-final .fr-series-card {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-top: 3px solid var(--fr-red);
  border-radius: 6px;
}

body.qh-portal-og #qh-charcoal-final .fr-series-card ul,
body.qh-portal-og #qh-charcoal-final .fr-feats,
body.qh-portal-og #qh-charcoal-final .fr-feat-list {
  margin: 6px 0 0;
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.45;
}

body.qh-portal-og #qh-charcoal-final .fr-source {
  display: block;
  margin-top: 10px;
  color: var(--muted);
  font-size: 11px;
}

body.qh-portal-og #qh-charcoal-final .fr-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 12px;
}

body.qh-portal-og #qh-charcoal-final .fr-card {
  display: grid;
  grid-template-rows: auto 1fr auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  overflow: hidden;
}

body.qh-portal-og #qh-charcoal-final .fr-card.is-spot,
body.qh-portal-og #qh-charcoal-final .fr-card.open {
  border-color: var(--qh-action, var(--orange));
  box-shadow: 0 0 0 2px var(--qh-action, var(--orange));
}

body.qh-portal-og #qh-charcoal-final .fr-card-photo {
  display: grid;
  place-items: center;
  height: 180px;
  padding: 10px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

body.qh-portal-og #qh-charcoal-final .fr-card-photo img {
  max-width: 100%;
  max-height: 160px;
  object-fit: contain;
}

body.qh-portal-og #qh-charcoal-final .fr-card-photo.is-blank {
  background: var(--wash) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='1.5'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='10' r='2'/%3E%3Cpath d='m21 17-5-5-8 7'/%3E%3C/svg%3E") center / 40px no-repeat;
}

body.qh-portal-og #qh-charcoal-final .fr-card-body {
  padding: 10px 12px 4px;
  min-width: 0;
}

body.qh-portal-og #qh-charcoal-final .fr-card-head {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  align-items: center;
}

body.qh-portal-og #qh-charcoal-final .fr-series {
  flex-basis: 100%;
  color: #d71920;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fr-series {
  color: #ff6b6f;
}

body.qh-portal-og #qh-charcoal-final .fr-card .fr-sku {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font-size: 13px;
  cursor: pointer;
}

body.qh-portal-og #qh-charcoal-final .fr-card .stock-mark {
  margin-left: 4px;
}

body.qh-portal-og #qh-charcoal-final .fr-card h3 {
  margin: 4px 0 4px;
  font-size: 15px;
  line-height: 1.3;
}

body.qh-portal-og #qh-charcoal-final .fr-desc {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.qh-portal-og #qh-charcoal-final .fr-specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 10px;
  margin: 0 0 6px;
}

body.qh-portal-og #qh-charcoal-final .fr-specs div {
  min-width: 0;
}

body.qh-portal-og #qh-charcoal-final .fr-specs dt {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.qh-portal-og #qh-charcoal-final .fr-specs dd {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

body.qh-portal-og #qh-charcoal-final .fr-feats {
  margin: 4px 0 6px;
  color: var(--muted);
  font-size: 12px;
}

body.qh-portal-og #qh-charcoal-final .fr-card-buy {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 8px 12px 10px;
  border-top: 1px solid var(--line);
}

body.qh-portal-og #qh-charcoal-final .fr-card-buy .fr-price {
  flex: 1 1 auto;
  min-width: 0;
  font-weight: 700;
}

body.qh-portal-og #qh-charcoal-final .fr-card-buy .qty-add {
  display: flex;
  gap: 4px;
}

body.qh-portal-og #qh-charcoal-final .fr-card-buy .qty {
  width: 46px;
  height: 34px;
  text-align: center;
}

body.qh-portal-og #qh-charcoal-final .fr-card-buy .add-btn {
  min-width: 56px;
  height: 34px;
}

body.qh-portal-og #qh-charcoal-final .fr-card-buy .fr-price {
  flex: 1 1 70px;
}

body.qh-portal-og #qh-charcoal-final .fr-card-buy .qty-add {
  align-items: center;
}

body.qh-portal-og #qh-charcoal-final .fr-card-buy .qty-add > *,
body.qh-portal-og #qh-charcoal-final .fr-card-buy .fr-more {
  flex-shrink: 0;
  max-width: none;
}

body.qh-portal-og #qh-charcoal-final .fr-card-buy .fr-more,
body.qh-portal-og #qh-charcoal-final .fr-card-buy .part-history-btn {
  min-height: 30px;
  padding: 0 8px;
  font-size: 11px;
  white-space: nowrap;
}

body.qh-portal-og #qh-charcoal-final .fr-detail {
  grid-column: 1 / -1;
  border: 1px solid var(--qh-action, var(--orange));
  border-radius: 8px;
  overflow: hidden;
}

@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final .fr-brand {
    padding: 12px 12px 12px 16px;
  }

  body.qh-portal-og #qh-charcoal-final .fr-tagline {
    font-size: 16px;
  }

  body.qh-portal-og #qh-charcoal-final .fr-blurb {
    font-size: 13px;
  }

  body.qh-portal-og #qh-charcoal-final .fr-brand-hero .fr-blurb,
  body.qh-portal-og #qh-charcoal-final .fr-brand-cat > .fr-blurb {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  body.qh-portal-og #qh-charcoal-final .fr-steps {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body.qh-portal-og #qh-charcoal-final .fr-series-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 78%;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 4px;
  }

  body.qh-portal-og #qh-charcoal-final .fr-series-card {
    scroll-snap-align: start;
    padding: 8px 10px;
  }

  body.qh-portal-og #qh-charcoal-final .fr-series-card ul {
    font-size: 12px;
  }

  body.qh-portal-og #qh-charcoal-final .fr-cards {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.qh-portal-og #qh-charcoal-final .fr-card {
    grid-template-columns: 104px minmax(0, 1fr);
    grid-template-rows: auto auto;
  }

  body.qh-portal-og #qh-charcoal-final .fr-card-photo {
    grid-row: 1;
    height: auto;
    min-height: 104px;
    padding: 6px;
    border-bottom: 0;
    border-right: 1px solid var(--line);
  }

  body.qh-portal-og #qh-charcoal-final .fr-card-photo img {
    max-height: 96px;
  }

  body.qh-portal-og #qh-charcoal-final .fr-card-body {
    padding: 8px 10px 4px;
  }

  body.qh-portal-og #qh-charcoal-final .fr-card h3 {
    font-size: 14px;
  }

  body.qh-portal-og #qh-charcoal-final .fr-desc {
    -webkit-line-clamp: 2;
    font-size: 12px;
  }

  body.qh-portal-og #qh-charcoal-final .fr-feats {
    display: none;
  }

  body.qh-portal-og #qh-charcoal-final .fr-card-buy {
    grid-column: 1 / -1;
    padding: 6px 10px 8px;
  }

  body.qh-portal-og #qh-charcoal-final .fr-card-buy {
    gap: 6px;
  }

  body.qh-portal-og #qh-charcoal-final .fr-card h3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* 781: Operations nav labels, staged header reveal on a phone. */
body.qh-portal-og #qh-charcoal-final .ops-side .ops-nav-short {
  display: none;
}

@keyframes qhDropIn {
  from { transform: translateY(-100%); }
  to { transform: translateY(0); }
}

@media (max-width: 680px) {
  html[data-chrome-level="0"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side,
  html[data-chrome-level="1"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side {
    position: relative !important;
    top: auto !important;
  }

  html[data-chrome-level="2"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side {
    animation: qhDropIn 0.16s ease-out;
  }

  html:is([data-chrome-level="1"], [data-chrome-level="2"], [data-chrome-level="3"]) body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-sheet-actions {
    position: sticky;
    z-index: 17;
    margin-left: -0.4rem;
    margin-right: -0.4rem;
    padding: 4px 0.4rem;
    background: var(--qh-paper, #242d35);
    border-bottom: 1px solid var(--qh-line, #3a4450);
  }

  html[data-chrome-level="1"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-sheet-actions {
    top: 0;
    animation: qhDropIn 0.16s ease-out;
  }

  html[data-chrome-level="2"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-sheet-actions {
    top: var(--ops-side-h, 50px);
  }

  html[data-chrome-level="3"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-sheet-actions {
    top: calc(var(--chrome-h, 54px) + var(--ops-side-h, 50px));
  }

  /* Catalog folder tiles: two per row. */
  body.qh-portal-og #qh-charcoal-final .dept-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  body.qh-portal-og #qh-charcoal-final .dept-grid .dept-card {
    justify-content: flex-start;
    gap: 0.45rem;
    min-height: 52px;
    padding: 0.45rem 0.5rem;
  }

  body.qh-portal-og #qh-charcoal-final .dept-grid .dept-card.with-photo .photo-frame {
    width: 40px;
    height: 36px;
    flex: 0 0 40px;
  }

  body.qh-portal-og #qh-charcoal-final .dept-grid .dept-card > span {
    min-width: 0;
  }

  body.qh-portal-og #qh-charcoal-final .dept-grid .dept-card b {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 13px;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  body.qh-portal-og #qh-charcoal-final .dept-grid .dept-card small {
    font-size: 11px;
    line-height: 1.2;
  }

  body.qh-portal-og #qh-charcoal-final .dept-grid .dept-card:not(.with-photo) {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2px;
  }
}

/* 783: Filter / Sort on a phone, thumb-sized sections, rows, and selects. */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .rail .ff-facet,
  html body.qh-portal-og #qh-charcoal-final .rail .facet {
    margin: 0 0 8px;
  }

  html body.qh-portal-og #qh-charcoal-final .rail .ff-facet > summary,
  html body.qh-portal-og #qh-charcoal-final .rail .facet > summary {
    min-height: 52px;
    padding: 10px 14px;
    border: 1px solid var(--qh-line, #3a4450);
    border-radius: 10px;
    background: var(--qh-paper, #242d35);
  }

  html body.qh-portal-og #qh-charcoal-final .rail .ff-facet[open] > summary,
  html body.qh-portal-og #qh-charcoal-final .rail .facet[open] > summary {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-color: var(--qh-action, #f36c21);
  }

  html body.qh-portal-og #qh-charcoal-final .rail .ff-facet > summary b,
  html body.qh-portal-og #qh-charcoal-final .rail .facet > summary b,
  html body.qh-portal-og #qh-charcoal-final .cc-sidebar .ff-facet > summary b {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    color: var(--qh-ink, inherit);
  }

  html body.qh-portal-og #qh-charcoal-final .rail .ff-facet > summary::after,
  html body.qh-portal-og #qh-charcoal-final .rail .facet > summary::after {
    width: 10px;
    height: 10px;
    border-right-width: 3px;
    border-bottom-width: 3px;
  }

  html body.qh-portal-og #qh-charcoal-final .rail.open details.ff-facet[open] > .qh-refine-options,
  html body.qh-portal-og #qh-charcoal-final .rail .qh-refine-options {
    max-height: 60vh;
    overflow-y: auto;
    border-top: 0;
    border-radius: 0 0 10px 10px;
  }

  html body.qh-portal-og #qh-charcoal-final .rail .qh-refine-options table {
    font-size: 15px;
  }

  html body.qh-portal-og #qh-charcoal-final .rail .qh-refine-options label,
  html body.qh-portal-og #qh-charcoal-final .rail .ff-link {
    min-height: 48px;
    padding: 10px 14px;
    gap: 10px;
    font-size: 15px;
  }

  html body.qh-portal-og #qh-charcoal-final .rail .qh-refine-options label small,
  html body.qh-portal-og #qh-charcoal-final .rail .ff-link small {
    font-size: 13px;
  }

  html body.qh-portal-og #qh-charcoal-final .rail .qh-refine-options input[type="checkbox"],
  html body.qh-portal-og #qh-charcoal-final .rail input[type="checkbox"] {
    width: 22px;
    height: 22px;
    min-width: 22px;
  }

  html body.qh-portal-og #qh-charcoal-final .rail select,
  html body.qh-portal-og #qh-charcoal-final .rail input[type="search"],
  html body.qh-portal-og #qh-charcoal-final .rail input[type="text"] {
    min-height: 48px;
    font-size: 16px;
    padding: 8px 12px;
  }

  html body.qh-portal-og #qh-charcoal-final .rail .ff-chip {
    min-height: 44px;
    font-size: 14px;
    padding: 8px 12px;
  }

  html body.qh-portal-og #qh-charcoal-final .rail .rail-kicker {
    font-size: 13px;
  }
}


/* 785: Vibra-Tite brand skin on the shared brand pages. */
body.qh-portal-og #qh-charcoal-final .fr-brand.fr-brand--vibra-tite {
  --fr-red: #1f4f9f;
}

html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fr-brand--vibra-tite .fr-badge {
  color: #8fb4ff;
  border-color: #8fb4ff;
}

/* 786: Norseman (CTD) brand skin and Type browsing for big vendor folders. */
body.qh-portal-og #qh-charcoal-final .fr-brand.fr-brand--norseman,
body.qh-portal-og #qh-charcoal-final .bs-type-head.fr-brand--norseman {
  --fr-red: #8a6a2f;
}

body.qh-portal-og #qh-charcoal-final .fr-brand--norseman .fr-logo,
body.qh-portal-og #qh-charcoal-final .bs-type-head.fr-brand--norseman .fr-logo {
  background: #111;
  color: #d7ba8c;
}

html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fr-brand--norseman .fr-badge {
  color: #d7ba8c;
  border-color: #d7ba8c;
}

body.qh-portal-og #qh-charcoal-final .bs-groups {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
}

body.qh-portal-og #qh-charcoal-final .bs-group {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  overflow: hidden;
}

body.qh-portal-og #qh-charcoal-final .bs-group > summary {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 64px;
  padding: 8px 14px 8px 8px;
  cursor: pointer;
  list-style: none;
}

body.qh-portal-og #qh-charcoal-final .bs-group > summary::-webkit-details-marker {
  display: none;
}

body.qh-portal-og #qh-charcoal-final .bs-group > summary::after {
  content: "+";
  font-size: 22px;
  font-weight: 700;
  color: var(--muted);
}

body.qh-portal-og #qh-charcoal-final .bs-group[open] > summary::after {
  content: "\2212";
}

body.qh-portal-og #qh-charcoal-final .bs-group-text b {
  display: block;
  font-size: 16px;
}

body.qh-portal-og #qh-charcoal-final .bs-group-text small {
  color: var(--muted);
}

body.qh-portal-og #qh-charcoal-final .bs-group-photo,
body.qh-portal-og #qh-charcoal-final .bs-type-photo,
body.qh-portal-og #qh-charcoal-final .bs-type-head-photo {
  display: grid;
  place-items: center;
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
}

body.qh-portal-og #qh-charcoal-final .bs-group-photo {
  height: 48px;
  padding: 4px 6px;
}

body.qh-portal-og #qh-charcoal-final .bs-group-photo img,
body.qh-portal-og #qh-charcoal-final .bs-type-photo img,
body.qh-portal-og #qh-charcoal-final .bs-type-head-photo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

body.qh-portal-og #qh-charcoal-final .bs-type-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 10px;
  padding: 4px 12px 14px;
}

body.qh-portal-og #qh-charcoal-final .bs-type-tile {
  display: grid;
  grid-template-rows: 64px auto auto auto;
  gap: 3px;
  padding: 8px 10px 10px;
  border: 1px solid var(--line);
  border-top: 3px solid #8a6a2f;
  border-radius: 6px;
  color: inherit;
  text-decoration: none;
}

body.qh-portal-og #qh-charcoal-final .bs-type-tile:hover,
body.qh-portal-og #qh-charcoal-final .bs-type-tile:focus-visible {
  border-color: #8a6a2f;
}

body.qh-portal-og #qh-charcoal-final .bs-type-photo {
  height: 64px;
  padding: 4px;
  border: 1px solid var(--line);
}

body.qh-portal-og #qh-charcoal-final .bs-type-tile span:not(.bs-type-photo) {
  font-size: 13px;
  line-height: 1.3;
}

body.qh-portal-og #qh-charcoal-final .bs-type-tile small {
  color: var(--muted);
}

body.qh-portal-og #qh-charcoal-final .bs-type-head {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin: 8px 0 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-top: 3px solid var(--fr-red);
  border-radius: 8px;
  background: var(--paper);
}

body.qh-portal-og #qh-charcoal-final .bs-type-head-photo {
  height: 96px;
  padding: 6px;
}

body.qh-portal-og #qh-charcoal-final .bs-type-head h2 {
  margin: 6px 0 2px;
}

body.qh-portal-og #qh-charcoal-final .bs-type-head .fr-logo {
  display: inline-block;
  padding: 2px 8px;
  font-weight: 900;
  font-style: italic;
  letter-spacing: 0.06em;
}

body.qh-portal-og #qh-charcoal-final .bs-type-head p {
  margin: 2px 0;
}

body.qh-portal-og #qh-charcoal-final .bs-type-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  font-size: 13px;
  color: var(--muted);
}

@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final .bs-group > summary {
    grid-template-columns: 76px minmax(0, 1fr) auto;
    gap: 10px;
    min-height: 56px;
  }

  body.qh-portal-og #qh-charcoal-final .bs-group-text b {
    font-size: 15px;
  }

  body.qh-portal-og #qh-charcoal-final .bs-type-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 2px 8px 10px;
  }

  body.qh-portal-og #qh-charcoal-final .bs-type-tile {
    grid-template-rows: 44px auto auto auto;
    padding: 6px 8px 8px;
  }

  body.qh-portal-og #qh-charcoal-final .bs-type-photo {
    height: 44px;
  }

  body.qh-portal-og #qh-charcoal-final .bs-type-head {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body.qh-portal-og #qh-charcoal-final .bs-type-head-photo {
    height: 72px;
  }
}

/* 787: American Industrial Lifting brand skin. */
body.qh-portal-og #qh-charcoal-final .fr-brand.fr-brand--american-industrial-lifting {
  --fr-red: #b45309;
}

html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fr-brand--american-industrial-lifting .fr-badge {
  color: #f6ad55;
  border-color: #f6ad55;
}

/* 788: Texcel brand skin. */
body.qh-portal-og #qh-charcoal-final .fr-brand.fr-brand--texcel {
  --fr-red: #b91c1c;
}

/* 789: Texcel cut-length feet box next to Add. */
body.qh-portal-og #qh-charcoal-final table.adapter-results .qty-add input.qty-feet {
  width: 4.4rem;
  flex: 0 0 auto;
  text-align: right;
}
body.qh-portal-og #qh-charcoal-final table.adapter-results .qty-add .qty-unit {
  align-self: center;
  margin: 0 0.35rem 0 0.2rem;
  font-size: 0.85rem;
  color: var(--muted);
}

/* 789: Texcel series header (catalog description and tube/cover/temp) and application intro. */
body.qh-portal-og #qh-charcoal-final .tx-series-head {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 14px 22px;
  margin: 4px 0 14px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-top: 3px solid #b91c1c;
  border-radius: 8px;
  background: var(--paper);
}
body.qh-portal-og #qh-charcoal-final .tx-series-kicker {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #b91c1c;
}
body.qh-portal-og #qh-charcoal-final .tx-series-head h2 {
  margin: 2px 0 6px;
  font-size: 1.15rem;
}
body.qh-portal-og #qh-charcoal-final .tx-series-copy p {
  margin: 0 0 6px;
  line-height: 1.45;
}
body.qh-portal-og #qh-charcoal-final .tx-series-source {
  font-size: 0.8rem;
  color: var(--muted);
}
body.qh-portal-og #qh-charcoal-final .tx-series-specs {
  display: grid;
  gap: 6px;
  margin: 0;
  align-content: start;
}
body.qh-portal-og #qh-charcoal-final .tx-series-specs > div {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  gap: 8px;
}
body.qh-portal-og #qh-charcoal-final .tx-series-specs dt {
  font-weight: 700;
  color: var(--muted);
}
body.qh-portal-og #qh-charcoal-final .tx-series-specs dd {
  margin: 0;
}
body.qh-portal-og #qh-charcoal-final .tx-app-intro {
  margin: 4px 0 12px;
  max-width: 70rem;
  line-height: 1.5;
}
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .tx-series-kicker {
  color: #f87171;
}
@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final .tx-series-head {
    grid-template-columns: 1fr;
    padding: 12px;
  }
  body.qh-portal-og #qh-charcoal-final .tx-series-specs > div {
    grid-template-columns: 6.2rem minmax(0, 1fr);
  }
}

/* 791: phone pick toolbar and receiving row actions keep a small caption under each icon. */
@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final .pick-sheet-actions .ops-ic-btn:not(.keep-label),
  body.qh-portal-og #qh-charcoal-final .recv-for-actions .ops-ic-btn:not(.keep-label) {
    width: auto !important;
    min-width: 52px;
    padding: 3px 6px;
    flex-direction: column;
    justify-content: center;
    gap: 1px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-actions .ops-ic-label,
  body.qh-portal-og #qh-charcoal-final .recv-for-actions .ops-ic-label {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    font-size: 10px;
    line-height: 1.1;
    font-weight: 600;
    white-space: nowrap;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-actions .pick-show-done {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    padding: 3px 8px;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-actions .pick-show-done input {
    margin: 0;
  }

  body.qh-portal-og #qh-charcoal-final .pick-sheet-actions .pick-show-done .ops-ic {
    display: none;
  }
}

/* 792: Operations pages sit in a one-row strip under the header on every screen size (was a left sidebar on desktop). */
@media (min-width: 681px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-shell {
    display: block !important;
    grid-template-columns: none !important;
  }

  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side {
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 4px;
    overflow-x: auto;
    scrollbar-width: none;
    position: sticky;
    top: var(--chrome-h, 56px);
    z-index: 18;
    margin: 0 0 10px;
    padding: 6px 0;
    border-right: 0;
    border-bottom: 1px solid var(--qh-line, var(--line, #d9d1c7));
    background: var(--qh-paper, var(--paper, #fffdf9));
  }

  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side::-webkit-scrollbar {
    display: none;
  }

  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a,
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a:nth-child(n+5) {
    flex: 0 0 auto;
    flex-direction: row;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    margin: 0;
    padding: 4px 12px;
    font-size: 13px;
    line-height: 1.1;
    white-space: nowrap;
    grid-column: auto;
  }

  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side .ops-nav-ic {
    width: 16px;
    height: 16px;
  }

  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side .ops-nav-full {
    display: inline;
  }

  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side .ops-nav-short {
    display: none;
  }
}

@media (min-width: 681px) and (max-width: 980px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side .ops-nav-full {
    display: none;
  }

  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side .ops-nav-short {
    display: inline;
  }
}

@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: 2px;
  }
}

/* 793: Repairs (board, intake form, customer status), wall TV boards, specials carousel. */
body.qh-portal-og #qh-charcoal-final .rp-page { display: grid; gap: 10px; }
body.qh-portal-og #qh-charcoal-final .rp-tools,
body.qh-portal-og #qh-charcoal-final .rp-detail-head {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
}
body.qh-portal-og #qh-charcoal-final .rp-tools h1.page,
body.qh-portal-og #qh-charcoal-final .rp-detail-head h1.page { margin: 0 6px 0 0; font-size: 1.35rem; }
body.qh-portal-og #qh-charcoal-final .rp-search { flex: 1 1 220px; min-width: 0; min-height: 36px; padding: 6px 10px; }
body.qh-portal-og #qh-charcoal-final .rp-chips { display: flex; flex-wrap: wrap; gap: 4px; }
body.qh-portal-og #qh-charcoal-final .rp-chip {
  min-height: 34px; padding: 4px 10px; border: 1px solid var(--line, #d9d1c7); border-radius: 999px;
  background: var(--paper, #fff); color: inherit; font-weight: 700; cursor: pointer;
}
body.qh-portal-og #qh-charcoal-final .rp-chip small { color: var(--muted); font-weight: 700; }
body.qh-portal-og #qh-charcoal-final .rp-chip.is-on { background: var(--qh-action, #f36c21); border-color: var(--qh-action, #f36c21); color: #fff; }
body.qh-portal-og #qh-charcoal-final .rp-chip.is-on small { color: #fff; }
body.qh-portal-og #qh-charcoal-final .rp-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
body.qh-portal-og #qh-charcoal-final .rp-msg { margin: 0; min-height: 0; font-weight: 700; }
body.qh-portal-og #qh-charcoal-final .rp-msg:empty { display: none; }
body.qh-portal-og #qh-charcoal-final .rp-msg.is-ok { color: var(--ok, #15803d); }
body.qh-portal-og #qh-charcoal-final .rp-msg.is-err { color: var(--err, #b91c1c); }

body.qh-portal-og #qh-charcoal-final .rp-lanes {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; align-items: start;
}
body.qh-portal-og #qh-charcoal-final .rp-lane {
  display: grid; gap: 6px; padding: 6px; border: 1px solid var(--line, #d9d1c7); border-radius: 8px; background: var(--wash, rgba(0,0,0,.02));
}
body.qh-portal-og #qh-charcoal-final .rp-lane h2 { margin: 2px 4px; font-size: 0.82rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
body.qh-portal-og #qh-charcoal-final .rp-lane-odd { margin-top: 8px; }
body.qh-portal-og #qh-charcoal-final .rp-empty { margin: 4px; color: var(--muted); font-size: 0.85rem; }
body.qh-portal-og #qh-charcoal-final .rp-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px; }
body.qh-portal-og #qh-charcoal-final .rp-card {
  display: grid; gap: 2px; padding: 7px 9px; border: 1px solid var(--line, #d9d1c7); border-left: 4px solid var(--line, #d9d1c7);
  border-radius: 6px; background: var(--paper, #fff); color: inherit; text-decoration: none; font-size: 0.86rem; line-height: 1.25;
}
body.qh-portal-og #qh-charcoal-final a.rp-card:hover { border-color: var(--qh-action, #f36c21); }
body.qh-portal-og #qh-charcoal-final .rp-card.is-rush { border-left-color: #dc2626; }
body.qh-portal-og #qh-charcoal-final .rp-card-top { display: flex; justify-content: space-between; gap: 6px; }
body.qh-portal-og #qh-charcoal-final .rp-card-top b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.qh-portal-og #qh-charcoal-final .rp-age { flex: none; color: var(--muted); font-weight: 700; }
body.qh-portal-og #qh-charcoal-final .rp-item { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.qh-portal-og #qh-charcoal-final .rp-meta { color: var(--muted); font-size: 0.78rem; }
body.qh-portal-og #qh-charcoal-final .rp-late { color: #dc2626; font-weight: 800; }
body.qh-portal-og #qh-charcoal-final .rp-tags { display: flex; flex-wrap: wrap; gap: 3px; }
body.qh-portal-og #qh-charcoal-final .rp-tag { padding: 0 6px; border-radius: 4px; background: var(--wash, #f1ece6); font-size: 0.72rem; font-weight: 800; }
body.qh-portal-og #qh-charcoal-final .rp-tag.rp-rush { background: #dc2626; color: #fff; }

body.qh-portal-og #qh-charcoal-final .rp-sub { color: var(--muted); font-weight: 600; }
body.qh-portal-og #qh-charcoal-final .rp-steps { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
body.qh-portal-og #qh-charcoal-final .rp-step {
  display: flex; align-items: center; justify-content: center; gap: 5px; min-height: 40px; padding: 4px;
  border: 1px solid var(--line, #d9d1c7); border-radius: 6px; background: var(--paper, #fff); color: inherit;
  font-weight: 700; font-size: 0.82rem; cursor: pointer; white-space: nowrap; overflow: hidden;
}
body.qh-portal-og #qh-charcoal-final .rp-step-n {
  display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--wash, #eee); font-size: 0.72rem;
}
body.qh-portal-og #qh-charcoal-final .rp-step.is-past { border-color: var(--qh-action, #f36c21); }
body.qh-portal-og #qh-charcoal-final .rp-step.is-past .rp-step-n { background: var(--qh-action, #f36c21); color: #fff; }
body.qh-portal-og #qh-charcoal-final .rp-step.is-on { background: var(--qh-action, #f36c21); border-color: var(--qh-action, #f36c21); color: #fff; }
body.qh-portal-og #qh-charcoal-final .rp-step.is-on .rp-step-n { background: #fff; color: var(--qh-action, #f36c21); }
body.qh-portal-og #qh-charcoal-final .rp-nudge { outline: 3px solid var(--qh-action, #f36c21); outline-offset: 1px; }

body.qh-portal-og #qh-charcoal-final .rp-form { display: grid; gap: 8px; }
body.qh-portal-og #qh-charcoal-final .rp-sec {
  margin: 0; padding: 8px 10px 10px; border: 1px solid var(--line, #d9d1c7); border-radius: 8px; background: var(--paper, #fff);
}
body.qh-portal-og #qh-charcoal-final .rp-sec > legend,
body.qh-portal-og #qh-charcoal-final .rp-sec > summary {
  padding: 0 4px; font-size: 0.8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); cursor: pointer;
}
body.qh-portal-og #qh-charcoal-final details.rp-sec[open] > summary { margin-bottom: 6px; }
body.qh-portal-og #qh-charcoal-final .rp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 6px 10px; }
body.qh-portal-og #qh-charcoal-final .rp-field { display: grid; gap: 2px; min-width: 0; }
body.qh-portal-og #qh-charcoal-final .rp-field.is-wide { grid-column: 1 / -1; }
body.qh-portal-og #qh-charcoal-final .rp-field > span { font-size: 0.76rem; font-weight: 700; color: var(--muted); }
body.qh-portal-og #qh-charcoal-final .rp-field input,
body.qh-portal-og #qh-charcoal-final .rp-field select,
body.qh-portal-og #qh-charcoal-final .rp-field textarea { width: 100%; min-height: 36px; padding: 6px 8px; font: inherit; }
body.qh-portal-og #qh-charcoal-final .rp-types { margin-bottom: 6px; }
body.qh-portal-og #qh-charcoal-final .rp-toggles { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 4px; }
body.qh-portal-og #qh-charcoal-final .rp-toggle {
  display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 4px 10px;
  border: 1px solid var(--line, #d9d1c7); border-radius: 6px; font-weight: 700; cursor: pointer;
}
body.qh-portal-og #qh-charcoal-final .rp-toggle input { width: 18px; height: 18px; margin: 0; }
body.qh-portal-og #qh-charcoal-final .rp-toggle:has(input:checked) { border-color: var(--qh-action, #f36c21); background: var(--wash, #fff4ec); }
body.qh-portal-og #qh-charcoal-final .rp-photo-add { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 8px; }
body.qh-portal-og #qh-charcoal-final .rp-photo-add select { min-height: 36px; }
body.qh-portal-og #qh-charcoal-final .rp-photo-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; cursor: pointer; }
body.qh-portal-og #qh-charcoal-final .rp-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
body.qh-portal-og #qh-charcoal-final .rp-photo { margin: 0; display: grid; gap: 3px; font-size: 0.76rem; }
body.qh-portal-og #qh-charcoal-final .rp-photo-open { display: block; width: 100%; padding: 0; border: 0; background: #fff; border-radius: 8px; cursor: pointer; }
body.qh-portal-og #qh-charcoal-final .rp-photo img { width: 100%; height: 92px; object-fit: cover; border-radius: 8px; background: #fff; }
.qh-photo-view { position: fixed; inset: 0; z-index: 90; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 16px; background: rgba(0, 0, 0, .82); }
.qh-photo-view[hidden] { display: none; }
.qh-photo-view img { max-width: 100%; max-height: 78vh; object-fit: contain; background: #fff; }
.qh-photo-x { min-height: 40px; padding: 0 16px; color: #fff; background: transparent; border: 1px solid #fff; border-radius: 999px; font: inherit; font-weight: 800; }
body.qh-portal-og #qh-charcoal-final .rp-photo figcaption { display: grid; gap: 2px; }
body.qh-portal-og #qh-charcoal-final .rp-photo.is-pending { opacity: .75; }
body.qh-portal-og #qh-charcoal-final .rp-foot { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 12px; }

body.qh-portal-og #qh-charcoal-final .rp-mine-list { display: grid; gap: 10px; max-width: 760px; }
body.qh-portal-og #qh-charcoal-final .rp-mine { padding: 12px 14px; border: 1px solid var(--line, #d9d1c7); border-radius: 10px; background: var(--paper, #fff); }
body.qh-portal-og #qh-charcoal-final .rp-mine header { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
body.qh-portal-og #qh-charcoal-final .rp-mine-status { color: var(--qh-action, #f36c21); font-weight: 800; }
body.qh-portal-og #qh-charcoal-final .rp-mine p { margin: 6px 0; }
body.qh-portal-og #qh-charcoal-final .rp-mine-meta { color: var(--muted); font-size: 0.86rem; }
body.qh-portal-og #qh-charcoal-final .rp-mine-note { padding: 8px 10px; border-radius: 8px; background: var(--wash, #f4f7f9); }
body.qh-portal-og #qh-charcoal-final .rp-bar { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
body.qh-portal-og #qh-charcoal-final .rp-bar span { height: 8px; border-radius: 4px; background: var(--line, #d6dde3); }
body.qh-portal-og #qh-charcoal-final .rp-bar span.is-done { background: var(--qh-action, #f36c21); }

@media (max-width: 980px) {
  body.qh-portal-og #qh-charcoal-final .rp-lanes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final .rp-lanes { grid-template-columns: 1fr; }
  body.qh-portal-og #qh-charcoal-final .rp-actions { margin-left: 0; width: 100%; }
  body.qh-portal-og #qh-charcoal-final .rp-search { flex-basis: 100%; }
  body.qh-portal-og #qh-charcoal-final .rp-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body.qh-portal-og #qh-charcoal-final .rp-step { font-size: 0.74rem; min-height: 38px; }
  body.qh-portal-og #qh-charcoal-final .rp-grid { grid-template-columns: 1fr 1fr; }
  body.qh-portal-og #qh-charcoal-final .rp-field input,
  body.qh-portal-og #qh-charcoal-final .rp-field select,
  body.qh-portal-og #qh-charcoal-final .rp-field textarea { font-size: 16px; }
  body.qh-portal-og #qh-charcoal-final .rp-detail .ops-ic-btn .ops-ic-label { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
  body.qh-portal-og #qh-charcoal-final .rp-detail .ops-ic-btn,
  body.qh-portal-og #qh-charcoal-final .rp-tools .ops-ic-btn { width: auto !important; padding: 4px 10px; gap: 6px; }
  body.qh-portal-og #qh-charcoal-final .rp-tools .ops-ic-btn .ops-ic-label { position: static; width: auto; height: auto; overflow: visible; clip: auto; font-size: 12px; }
}

/* Wall TV: no header, no nav, big type. */
body.qh-display .app-chrome,
body.qh-display .app-chrome-pad,
body.qh-display .cc-bottom-nav,
body.qh-display .bottom-nav,
body.qh-display #railPanel,
body.qh-display .crumbs { display: none !important; }
body.qh-display #qh-charcoal-final .shell,
body.qh-display #qh-charcoal-final #stage { display: block !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
/* 826: Wall TV frame. Steel border, hazard rails, corner bolts; Specials and Repair boards share it. */
@keyframes qhTvIn { from { opacity: 0; transform: translateY(1vw); } to { opacity: 1; transform: none; } }
@keyframes qhTvProgress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
html body.qh-display { overflow: hidden; }
html body.qh-display #qh-charcoal-final .tv-board {
  --tv-ink: #f3f5f7; --tv-mute: #9aa7b3; --tv-edge: #2c3742; --tv-panel: #161d23; --tv-orange: #f36c21; --tv-amber: #ffb27f;
  position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 1.1vw; height: 100vh; min-height: 100vh; overflow: hidden;
  padding: 2.3vw 2.6vw 2.1vw; box-sizing: border-box; color: var(--tv-ink); font-variant-numeric: tabular-nums;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 1px, transparent 1px 3.2vw),
    repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 3.2vw),
    radial-gradient(120% 80% at 50% 0%, #1c252d 0%, #0e1317 70%);
}
html body.qh-display #qh-charcoal-final .tv-board::before {
  content: ""; position: absolute; inset: 1vw; border: .28vw solid #2c3742; border-radius: .9vw; pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), inset 0 0 2.5vw rgba(0,0,0,.55), 0 0 0 .14vw #070a0c;
}
html body.qh-display #qh-charcoal-final .tv-hazard { position: absolute; left: 0; right: 0; height: .55vw; background: repeating-linear-gradient(-45deg, var(--tv-orange) 0 .9vw, #111518 .9vw 1.8vw); }
html body.qh-display #qh-charcoal-final .tv-hazard-top { top: 0; }
html body.qh-display #qh-charcoal-final .tv-hazard-bottom { bottom: 0; }
html body.qh-display #qh-charcoal-final .tv-bolt {
  position: absolute; z-index: 2; width: 1.1vw; height: 1.1vw; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #c3ccd4 0, #7d8892 35%, #3b444d 70%, #22292f 100%);
  box-shadow: 0 .1vw .25vw rgba(0,0,0,.6), inset 0 0 0 1px rgba(0,0,0,.4);
}
html body.qh-display #qh-charcoal-final .tv-bolt::after { content: ""; position: absolute; left: 22%; right: 22%; top: calc(50% - .06vw); height: .12vw; background: rgba(20,24,28,.8); transform: rotate(-35deg); }
html body.qh-display #qh-charcoal-final .tv-bolt-tl { top: .6vw; left: .6vw; }
html body.qh-display #qh-charcoal-final .tv-bolt-tr { top: .6vw; right: .6vw; }
html body.qh-display #qh-charcoal-final .tv-bolt-bl { bottom: .6vw; left: .6vw; }
html body.qh-display #qh-charcoal-final .tv-bolt-br { bottom: .6vw; right: .6vw; }
html body.qh-display #qh-charcoal-final :is(.tv-head, .tv-body, .tv-foot) { position: relative; z-index: 1; }
html body.qh-display #qh-charcoal-final .tv-head {
  display: flex; align-items: center; gap: 1.6vw; margin: 0; padding: .6vw 1vw; border: 0; border-bottom: .22vw solid var(--tv-orange); border-radius: .7vw;
  background: linear-gradient(180deg, #232d36, #182027); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 .3vw .9vw rgba(0,0,0,.35); font-size: 1vw;
}
html body.qh-display #qh-charcoal-final .tv-logo { display: block; width: auto; height: 3.2vw; }
html body.qh-display #qh-charcoal-final .tv-title { display: grid; gap: .2vw; padding-left: 1.4vw; border-left: .18vw solid #34404c; line-height: 1; }
html body.qh-display #qh-charcoal-final .tv-title small { color: var(--tv-orange); font-size: .85vw; font-weight: 800; letter-spacing: .32em; text-transform: uppercase; }
html body.qh-display #qh-charcoal-final .tv-title b { font-size: 2.6vw; font-weight: 900; letter-spacing: .01em; text-transform: uppercase; }
html body.qh-display #qh-charcoal-final .tv-stats { display: flex; gap: .8vw; margin-left: auto; }
html body.qh-display #qh-charcoal-final .tv-stat { display: grid; justify-items: center; min-width: 6.5vw; padding: .35vw .9vw; border: 1px solid #34404c; border-radius: .5vw; background: #11171c; line-height: 1.1; }
html body.qh-display #qh-charcoal-final .tv-stat b { font-size: 2vw; }
html body.qh-display #qh-charcoal-final .tv-stat small { color: var(--tv-mute); font-size: .75vw; letter-spacing: .14em; text-transform: uppercase; }
html body.qh-display #qh-charcoal-final .tv-stat.is-red { border-color: rgba(239,68,68,.6); }
html body.qh-display #qh-charcoal-final .tv-stat.is-red b { color: #f87171; }
html body.qh-display #qh-charcoal-final .tv-clock { display: grid; justify-items: end; margin-left: auto; padding: .35vw 1vw; border: 1px solid var(--tv-edge); border-radius: .5vw; background: #0b0f12; box-shadow: inset 0 0 .8vw rgba(0,0,0,.6); line-height: 1.05; }
html body.qh-display #qh-charcoal-final .tv-stats + .tv-clock { margin-left: 0; }
html body.qh-display #qh-charcoal-final .tv-clock b { color: #ffd8bf; font-size: 2.2vw; font-weight: 800; letter-spacing: .04em; }
html body.qh-display #qh-charcoal-final .tv-clock small { color: var(--tv-mute); font-size: .8vw; letter-spacing: .12em; text-transform: uppercase; }
html body.qh-display #qh-charcoal-final .tv-body { min-height: 0; overflow: hidden; }
html body.qh-display #qh-charcoal-final .tv-slide-in { height: 100%; animation: qhTvIn .6s ease both; }
html body.qh-display #qh-charcoal-final .tv-empty { margin: 0; padding-top: 25vh; color: var(--tv-mute); font-size: 2vw; text-align: center; }
html body.qh-display #qh-charcoal-final .tv-exit {
  position: fixed; z-index: 3; right: 2vw; bottom: 2vw; padding: 6px 12px; border-radius: 6px; background: rgba(255,255,255,.08); color: #aab4be;
  text-decoration: none; opacity: 0; transition: opacity .2s;
}
html body.qh-display #qh-charcoal-final .tv-board:hover .tv-exit { opacity: 1; }

/* Specials TV: a set or kit spotlight, product grids, typed promos. */
html body.qh-display #qh-charcoal-final .tv-hero { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); grid-template-rows: minmax(0, 1fr); gap: 2.6vw; height: 100%; padding: 0 1vw; box-sizing: border-box; }
html body.qh-display #qh-charcoal-final .tv-plate-wrap {
  display: grid; min-height: 0; padding: .7vw; box-sizing: border-box; border: 1px solid var(--tv-edge); border-radius: 1vw;
  background:
    linear-gradient(var(--tv-orange), var(--tv-orange)) top left / 3vw .3vw no-repeat,
    linear-gradient(var(--tv-orange), var(--tv-orange)) top left / .3vw 3vw no-repeat,
    linear-gradient(var(--tv-orange), var(--tv-orange)) top right / 3vw .3vw no-repeat,
    linear-gradient(var(--tv-orange), var(--tv-orange)) top right / .3vw 3vw no-repeat,
    linear-gradient(var(--tv-orange), var(--tv-orange)) bottom left / 3vw .3vw no-repeat,
    linear-gradient(var(--tv-orange), var(--tv-orange)) bottom left / .3vw 3vw no-repeat,
    linear-gradient(var(--tv-orange), var(--tv-orange)) bottom right / 3vw .3vw no-repeat,
    linear-gradient(var(--tv-orange), var(--tv-orange)) bottom right / .3vw 3vw no-repeat,
    #1a2229;
}
html body.qh-display #qh-charcoal-final .tv-plate {
  display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); place-items: center; min-height: 0; padding: 2vw; box-sizing: border-box; overflow: hidden;
  border-radius: .6vw; background: radial-gradient(circle at 50% 40%, #fff 0, #eef1f4 100%); box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}
html body.qh-display #qh-charcoal-final .tv-plate img { display: block; width: 100%; height: 100%; object-fit: contain; }
html body.qh-display #qh-charcoal-final img.tv-plate-logo { width: 62%; height: auto; }
html body.qh-display #qh-charcoal-final .tv-hero-copy { display: grid; align-content: center; gap: 1vw; min-width: 0; }
html body.qh-display #qh-charcoal-final .tv-badge {
  justify-self: start; padding: .35vw 1.6vw .35vw 1vw; background: var(--tv-orange); color: #111; font-size: 1vw; font-weight: 900; letter-spacing: .2em; text-transform: uppercase;
  clip-path: polygon(0 0, 100% 0, calc(100% - .8vw) 100%, 0 100%);
}
html body.qh-display #qh-charcoal-final .tv-hero-copy h2 { margin: 0; font-size: 3.4vw; font-weight: 900; line-height: 1.05; letter-spacing: -.01em; }
html body.qh-display #qh-charcoal-final .tv-hero-copy h3 { margin: .4vw 0 0; color: var(--tv-mute); font-size: 1vw; letter-spacing: .18em; text-transform: uppercase; }
html body.qh-display #qh-charcoal-final .tv-part { display: flex; align-items: center; gap: 1vw; margin: 0; color: var(--tv-mute); font-size: 1.3vw; }
html body.qh-display #qh-charcoal-final .tv-part b { color: #fff; letter-spacing: .06em; }
html body.qh-display #qh-charcoal-final .tv-instock { display: inline-flex; align-items: center; gap: .45vw; padding: .15vw .8vw; border-radius: 99px; background: rgba(34,197,94,.14); color: #4ade80; font-size: 1vw; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
html body.qh-display #qh-charcoal-final .tv-instock::before { content: ""; width: .6vw; height: .6vw; border-radius: 50%; background: #22c55e; box-shadow: 0 0 .5vw #22c55e; }
html body.qh-display #qh-charcoal-final .tv-facts { display: flex; flex-wrap: wrap; gap: .6vw; margin: 0; padding: 0; list-style: none; }
html body.qh-display #qh-charcoal-final .tv-facts li { padding: .4vw .9vw; border: 1px solid #34404c; border-left: .25vw solid var(--tv-orange); border-radius: .3vw; background: var(--tv-panel); font-size: 1.25vw; font-weight: 700; }
html body.qh-display #qh-charcoal-final .tv-sizes { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: .4vw; }
html body.qh-display #qh-charcoal-final .tv-sizes span { padding: .45vw 0; border: 1px solid var(--tv-edge); border-radius: .3vw; background: var(--tv-panel); font-size: 1.1vw; font-weight: 800; text-align: center; }
html body.qh-display #qh-charcoal-final .tv-sizes .is-in { border-color: rgba(34,197,94,.45); box-shadow: inset 0 -.2vw 0 #22c55e; }
html body.qh-display #qh-charcoal-final .tv-sizes .is-out { opacity: .4; }
html body.qh-display #qh-charcoal-final .tv-mini { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6vw; }
html body.qh-display #qh-charcoal-final .tv-mini-item { display: grid; grid-template-columns: 3.6vw minmax(0, 1fr); align-items: center; gap: .6vw; padding: .45vw; border: 1px solid var(--tv-edge); border-radius: .45vw; background: var(--tv-panel); }
html body.qh-display #qh-charcoal-final .tv-mini-item span { display: grid; place-items: center; width: 3.6vw; height: 3.6vw; overflow: hidden; border-radius: .35vw; background: #fff; }
html body.qh-display #qh-charcoal-final .tv-mini-item img { width: 100%; height: 100%; object-fit: contain; }
html body.qh-display #qh-charcoal-final .tv-mini-item b { display: -webkit-box; overflow: hidden; font-size: .95vw; line-height: 1.2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
html body.qh-display #qh-charcoal-final .tv-offer { margin: 0; color: var(--tv-amber); font-size: 2.6vw; font-weight: 900; }
html body.qh-display #qh-charcoal-final .tv-blurb { max-width: 40ch; margin: 0; color: #d5dbe1; font-size: 1.6vw; line-height: 1.4; }
html body.qh-display #qh-charcoal-final .tv-gridslide { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 1vw; height: 100%; }
html body.qh-display #qh-charcoal-final .tv-slide-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 2vw; padding: 0 .4vw .6vw; border-bottom: 1px solid var(--tv-edge); }
html body.qh-display #qh-charcoal-final .tv-slide-head h2 { margin: 0; font-size: 2.4vw; font-weight: 900; }
html body.qh-display #qh-charcoal-final .tv-slide-head p { max-width: 90ch; margin: .3vw 0 0; color: var(--tv-mute); font-size: 1.15vw; }
html body.qh-display #qh-charcoal-final .tv-page { color: var(--tv-orange); font-size: 1vw; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
html body.qh-display #qh-charcoal-final .tv-grid { display: grid; grid-template-columns: repeat(var(--tv-cols, 5), minmax(0, 1fr)); grid-template-rows: repeat(var(--tv-rows, 2), minmax(0, 1fr)); gap: 1vw; min-height: 0; }
html body.qh-display #qh-charcoal-final .tv-grid.is-one-row { grid-template-rows: minmax(0, 52vh); align-content: center; gap: 1.6vw; }
html body.qh-display #qh-charcoal-final .tv-grid.is-one-row .tv-tile { padding: .9vw; }
html body.qh-display #qh-charcoal-final .tv-grid.is-one-row .tv-tile b { font-size: 1.45vw; -webkit-line-clamp: 3; }
html body.qh-display #qh-charcoal-final .tv-grid.is-one-row .tv-tile small { font-size: 1.05vw; }
html body.qh-display #qh-charcoal-final .tv-tile {
  position: relative; display: grid; grid-template-rows: minmax(0, 1fr) auto auto; gap: .35vw; min-height: 0; padding: .6vw; overflow: hidden;
  border: 1px solid var(--tv-edge); border-radius: .7vw; background: linear-gradient(180deg, #1e272f, #161d23); box-shadow: 0 .3vw .8vw rgba(0,0,0,.3);
}
html body.qh-display #qh-charcoal-final .tv-tile::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: .22vw; background: var(--tv-orange); }
html body.qh-display #qh-charcoal-final .tv-tile-photo { display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); place-items: center; min-height: 0; padding: .8vw; overflow: hidden; border-radius: .45vw; background: #fff; }
html body.qh-display #qh-charcoal-final .tv-tile-photo img { display: block; width: 100%; height: 100%; object-fit: contain; }
html body.qh-display #qh-charcoal-final .tv-tile b { display: -webkit-box; overflow: hidden; font-size: 1.15vw; line-height: 1.2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
html body.qh-display #qh-charcoal-final .tv-tile small { color: var(--tv-mute); font-size: .9vw; letter-spacing: .04em; }
html body.qh-display #qh-charcoal-final .tv-tile small em { color: var(--tv-amber); font-style: normal; font-weight: 800; }
html body.qh-display #qh-charcoal-final .tv-foot { display: flex; align-items: center; gap: 1.4vw; padding: .55vw 1vw; border: 1px solid var(--tv-edge); border-radius: .6vw; background: #11171c; color: var(--tv-mute); font-size: .95vw; }
html body.qh-display #qh-charcoal-final .tv-groups { display: flex; flex-wrap: wrap; gap: .5vw; }
html body.qh-display #qh-charcoal-final .tv-groups span { padding: .25vw .8vw; border: 1px solid var(--tv-edge); border-radius: .3vw; font-size: .8vw; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
html body.qh-display #qh-charcoal-final .tv-groups span.is-on { border-color: var(--tv-orange); background: var(--tv-orange); color: #111; }
html body.qh-display #qh-charcoal-final .tv-ask { margin-left: auto; color: #d5dbe1; font-weight: 700; }
html body.qh-display #qh-charcoal-final .tv-count { color: #fff; font-weight: 800; }
html body.qh-display #qh-charcoal-final .tv-progress { position: absolute; left: 1vw; right: 1vw; bottom: 0; height: .2vw; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.06); }
html body.qh-display #qh-charcoal-final .tv-progress span { display: block; width: 100%; height: 100%; background: var(--tv-orange); transform-origin: left; animation: qhTvProgress linear both; }

/* Repair TV: stage-colored lanes, seven cards each, then a count of the rest. */
html body.qh-display #qh-charcoal-final .tv-repairs { --tv-s1: #3b82f6; --tv-s2: #8b5cf6; --tv-s3: #f59e0b; --tv-s4: #14b8a6; --tv-s5: #22c55e; }
html body.qh-display #qh-charcoal-final .tv-stage-1 { --c: var(--tv-s1); }
html body.qh-display #qh-charcoal-final .tv-stage-2 { --c: var(--tv-s2); }
html body.qh-display #qh-charcoal-final .tv-stage-3 { --c: var(--tv-s3); }
html body.qh-display #qh-charcoal-final .tv-stage-4 { --c: var(--tv-s4); }
html body.qh-display #qh-charcoal-final .tv-stage-5 { --c: var(--tv-s5); }
html body.qh-display #qh-charcoal-final .tv-lanes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1vw; height: 100%; min-height: 0; }
html body.qh-display #qh-charcoal-final .tv-lane {
  display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 0; min-height: 0; overflow: hidden; border-radius: .7vw;
  border: 1px solid color-mix(in srgb, var(--c) 35%, #2c3742); background: linear-gradient(180deg, color-mix(in srgb, var(--c) 10%, #161d23), #12181d 40%);
}
html body.qh-display #qh-charcoal-final .tv-lane h2 {
  display: flex; align-items: center; justify-content: space-between; gap: .6vw; margin: 0; padding: .6vw .9vw; border-bottom: .22vw solid var(--c);
  background: color-mix(in srgb, var(--c) 22%, #182027); color: #fff; font-size: 1.05vw; letter-spacing: .08em; text-transform: uppercase;
}
html body.qh-display #qh-charcoal-final .tv-lane h2 b { min-width: 2.4vw; padding: .1vw .6vw; border-radius: .35vw; background: var(--c); color: #0b0f12; font-size: 1.4vw; letter-spacing: 0; text-align: center; }
html body.qh-display #qh-charcoal-final .tv-lane.is-empty h2 b { background: transparent; box-shadow: inset 0 0 0 1px #34404c; color: var(--tv-mute); }
html body.qh-display #qh-charcoal-final .tv-lane-cards { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: .55vw; min-height: 0; padding: .7vw; overflow: hidden; }
html body.qh-display #qh-charcoal-final .tv-lane-cards > .rp-card { grid-template-columns: minmax(0, 1fr); min-width: 0; }
html body.qh-display #qh-charcoal-final .tv-lane-clear { margin: 2vw 0 0; color: #3e4a55; font-size: 1.2vw; font-weight: 900; letter-spacing: .3em; text-align: center; text-transform: uppercase; }
html body.qh-display #qh-charcoal-final .tv-lane-more { margin: 0; padding: .45vw; border-top: 1px dashed var(--tv-edge); color: var(--c); font-size: 1vw; font-weight: 800; text-align: center; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-card {
  display: grid; gap: .25vw; padding: .6vw .7vw; border: 1px solid #2f3a45; border-left: .35vw solid var(--c); border-radius: .5vw;
  background: linear-gradient(180deg, #222c35, #1a2229); box-shadow: 0 .2vw .5vw rgba(0,0,0,.35); color: var(--tv-ink); font-size: 1vw; line-height: 1.25; transform: none;
}
html body.qh-display #qh-charcoal-final .tv-lane .rp-card.is-rush { border-left-color: #ef4444; background: linear-gradient(180deg, #3a1f22, #261a1d); }
html body.qh-display #qh-charcoal-final .tv-lane .rp-card.is-late { box-shadow: inset 0 0 0 .14vw #ef4444, 0 .2vw .5vw rgba(0,0,0,.35); }
html body.qh-display #qh-charcoal-final .tv-lane .rp-card-top { display: flex; align-items: center; justify-content: flex-start; gap: .5vw; font-size: 1.2vw; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-card-top b { display: -webkit-box; flex: 1 1 auto; min-width: 0; overflow: hidden; font-size: 1.2vw; font-weight: 800; line-height: 1.15; white-space: normal; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
html body.qh-display #qh-charcoal-final .tv-lane h2 > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-type { padding: .05vw .35vw; border-radius: .25vw; background: color-mix(in srgb, var(--c) 28%, #1a2229); color: #fff; font-size: .7vw; font-weight: 900; letter-spacing: .08em; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-age { padding: 0 .45vw; border-radius: 99px; background: #2c3742; color: #cbd5df; font-size: .8vw; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-age.is-warn { background: #4a3a1c; color: #f6d79a; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-age.is-old { background: rgba(239,68,68,.25); color: #fca5a5; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-item { overflow: hidden; color: #cbd5df; font-size: .95vw; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-meta { display: flex; align-items: center; gap: .45vw; color: var(--tv-mute); font-size: .85vw; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-due { padding: 0 .45vw; border: 1px solid #3a4753; border-radius: 99px; background: transparent; color: inherit; white-space: nowrap; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-due.rp-late { border-color: #ef4444; background: #ef4444; color: #fff; font-weight: 800; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-tech { display: inline-grid; place-items: center; width: 1.6vw; height: 1.6vw; margin-left: auto; border-radius: 50%; background: var(--c); color: #0b0f12; font-size: .65vw; font-weight: 900; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-tags { display: flex; flex-wrap: wrap; gap: .3vw; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-tag { padding: 0 .45vw; border-radius: .25vw; background: #2c3742; color: #e2e8f0; font-size: .75vw; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-tag.rp-rush { background: #ef4444; color: #fff; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-tag.rp-quote { background: #f6d79a; color: #3b2a10; }
html body.qh-display #qh-charcoal-final .tv-lane .rp-tag.rp-out { background: rgba(45,212,191,.2); color: #5eead4; }
html body.qh-display #qh-charcoal-final .tv-legend { display: inline-flex; align-items: center; gap: .45vw; font-weight: 700; }
html body.qh-display #qh-charcoal-final .tv-legend i { width: .9vw; height: .9vw; border-radius: .2vw; }
html body.qh-display #qh-charcoal-final .tv-legend i.is-rush { background: #ef4444; }
html body.qh-display #qh-charcoal-final .tv-legend i.is-late { box-shadow: inset 0 0 0 .18vw #ef4444; }
html body.qh-display #qh-charcoal-final .tv-legend i.is-quote { background: #f6d79a; }
html body.qh-display #qh-charcoal-final .tv-legend i.is-out { background: #2dd4bf; }

/* Specials: badge colors, carousel, grid. */
body.qh-portal-og #qh-charcoal-final .sp-badge {
  display: inline-block; justify-self: start; width: max-content; padding: 1px 8px; border-radius: 999px; background: #2563eb; color: #fff; font-size: 0.72rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .05em;
}
body.qh-portal-og #qh-charcoal-final .sp-kind-special .sp-badge { background: #dc2626; }
body.qh-portal-og #qh-charcoal-final .sp-kind-new .sp-badge { background: #15803d; }
body.qh-portal-og #qh-charcoal-final .sp-kind-promo .sp-badge { background: #f36c21; }
body.qh-portal-og #qh-charcoal-final .sp-home .section-head { display: flex; justify-content: space-between; align-items: baseline; }
body.qh-portal-og #qh-charcoal-final .sp-carousel { position: relative; margin: 0 0 14px; }
body.qh-portal-og #qh-charcoal-final .sp-track {
  display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 20px) / 3); gap: 10px;
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 2px;
}
body.qh-portal-og #qh-charcoal-final .sp-track::-webkit-scrollbar { display: none; }
body.qh-portal-og #qh-charcoal-final .sp-track .sp-card { scroll-snap-align: start; }
body.qh-portal-og #qh-charcoal-final .sp-nav {
  position: absolute; top: 50%; z-index: 2; transform: translateY(-50%); display: grid; place-items: center;
  width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line, #d9d1c7); background: var(--paper, #fff); color: inherit; cursor: pointer;
}
body.qh-portal-og #qh-charcoal-final .sp-prev { left: -8px; }
body.qh-portal-og #qh-charcoal-final .sp-next { right: -8px; }
body.qh-portal-og #qh-charcoal-final .sp-card {
  display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 10px; align-items: center; min-height: 112px; padding: 8px;
  border: 1px solid var(--line, #d9d1c7); border-radius: 10px; background: var(--paper, #fff); color: inherit; text-decoration: none;
}
body.qh-portal-og #qh-charcoal-final .sp-card:hover { border-color: var(--qh-action, #f36c21); }
body.qh-portal-og #qh-charcoal-final .sp-photo { display: grid; place-items: center; height: 96px; border-radius: 8px; background: #fff; overflow: hidden; }
body.qh-portal-og #qh-charcoal-final .sp-photo img { max-width: 100%; max-height: 100%; object-fit: contain; }
body.qh-portal-og #qh-charcoal-final .sp-logo { font-size: 28px; font-weight: 900; color: var(--qh-action, #f36c21); }
body.qh-portal-og #qh-charcoal-final .sp-text { display: grid; gap: 3px; align-content: center; min-width: 0; }
body.qh-portal-og #qh-charcoal-final .sp-text b { font-size: 0.98rem; line-height: 1.2; }
body.qh-portal-og #qh-charcoal-final .sp-offer { font-weight: 900; color: var(--qh-action, #f36c21); }
body.qh-portal-og #qh-charcoal-final .sp-text small {
  color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
body.qh-portal-og #qh-charcoal-final .sp-group h2 { margin: 12px 0 6px; font-size: 1.05rem; }
body.qh-portal-og #qh-charcoal-final .sp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px; }
@media (max-width: 980px) {
  body.qh-portal-og #qh-charcoal-final .sp-track { grid-auto-columns: calc((100% - 10px) / 2); }
}
@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final .sp-track { grid-auto-columns: 86%; }
  body.qh-portal-og #qh-charcoal-final .sp-nav { display: none; }
  body.qh-portal-og #qh-charcoal-final .sp-card { grid-template-columns: 72px minmax(0, 1fr); min-height: 88px; }
  body.qh-portal-og #qh-charcoal-final .sp-photo { height: 72px; }
}

/* 794: Admin Display boards tab (TV launchers and the specials editor). */
body.qh-portal-og #qh-charcoal-final .admin-boards h2 { margin: 14px 0 4px; font-size: 1.05rem; }
body.qh-portal-og #qh-charcoal-final .boards-launch { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0; }
body.qh-portal-og #qh-charcoal-final .boards-urls code { font-size: 0.82rem; }
body.qh-portal-og #qh-charcoal-final .sp-edit-tv,
body.qh-portal-og #qh-charcoal-final .sp-edit-actions { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; margin: 6px 0 10px; }
body.qh-portal-og #qh-charcoal-final .sp-edit-tv label,
body.qh-portal-og #qh-charcoal-final .sp-edit-grid label { display: grid; gap: 2px; font-size: 0.76rem; font-weight: 700; color: var(--muted); }
body.qh-portal-og #qh-charcoal-final .sp-edit-tv input,
body.qh-portal-og #qh-charcoal-final .sp-edit-grid input,
body.qh-portal-og #qh-charcoal-final .sp-edit-grid select { min-height: 34px; padding: 4px 8px; font: inherit; color: var(--ink, inherit); }
body.qh-portal-og #qh-charcoal-final .sp-edit-row {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin: 0 0 8px; padding: 8px 10px;
  border: 1px solid var(--line, #d9d1c7); border-radius: 8px; background: var(--paper, #fff);
}
body.qh-portal-og #qh-charcoal-final .sp-edit-row.is-off { opacity: .6; }
body.qh-portal-og #qh-charcoal-final .sp-edit-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 6px 10px; }
body.qh-portal-og #qh-charcoal-final .sp-edit-grid .is-wide { grid-column: span 2; }
body.qh-portal-og #qh-charcoal-final .sp-edit-grid .sp-edit-on { display: flex; align-items: center; gap: 6px; align-self: end; min-height: 34px; color: inherit; }
body.qh-portal-og #qh-charcoal-final .sp-edit-btns { display: flex; flex-direction: column; gap: 4px; }
@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final .sp-edit-row { grid-template-columns: 1fr; }
  body.qh-portal-og #qh-charcoal-final .sp-edit-grid { grid-template-columns: 1fr 1fr; }
  body.qh-portal-og #qh-charcoal-final .sp-edit-btns { flex-direction: row; }
}

/* 795: Dark mode selected repair steps, chips and lane accents use the same brown fill as other active controls. */
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final :is(.rp-step.is-on, .rp-chip.is-on) {
  background: #9a4518;
  border-color: #9a4518;
  color: #fffefa;
}
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .rp-chip.is-on small { color: #fffefa; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .rp-step.is-on .rp-step-n { background: #fffefa; color: #9a4518; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .rp-step.is-past .rp-step-n { color: #201b12; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .rp-toggle:has(input:checked) { background: rgba(255, 223, 145, .12); }

/* 796: Specials editor rows fit on one line on wide screens. */
@media (min-width: 1400px) {
  body.qh-portal-og #qh-charcoal-final .sp-edit-grid {
    grid-template-columns: 112px 120px minmax(140px, 1.3fr) 120px minmax(160px, 2fr) minmax(110px, 1fr) minmax(110px, 1fr) 132px 132px auto;
  }
  body.qh-portal-og #qh-charcoal-final .sp-edit-grid .is-wide { grid-column: auto; }
  body.qh-portal-og #qh-charcoal-final .sp-edit-btns { flex-direction: row; align-items: end; }
}

/* 797: Phones collapse empty repair lanes to their title line. */
@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final .rp-lane.is-empty { padding-block: 6px; }
  body.qh-portal-og #qh-charcoal-final .rp-lane.is-empty .rp-empty { display: none; }
  body.qh-portal-og #qh-charcoal-final .rp-lane.is-empty h2 { margin: 0; opacity: .7; }
}

/* 798: Adapter finder in Toolbox layout: one-line toolbar, body photos in one row, ends as Gender / Thread / Size dropdowns. */
body.qh-portal-og .fx-page .fx-bar { display: flex; align-items: center; gap: 6px 14px; flex-wrap: wrap; margin: 0 0 6px; padding: 0; }
body.qh-portal-og .fx-page .fx-bar .page { margin: 0; font-size: 1.15rem; line-height: 1.2; }
body.qh-portal-og .fx-page .fx-bar .also { margin: 0; font-size: 12px; }
body.qh-portal-og .fx-page .fx-bar .finder-toolbar-actions { margin-left: auto; gap: 6px; }
body.qh-portal-og .fx-page .fx-step { padding: 6px 10px 8px; margin-bottom: 6px; }
body.qh-portal-og .fx-page .fx-step-head { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 14px; margin: 0 0 6px; }
body.qh-portal-og .fx-page .fx-step-head .eyebrow { margin: 0; }
body.qh-portal-og .fx-page .fx-step-head .either { margin: 0; font-size: 12px; font-weight: 600; }
body.qh-portal-og .fx-page .fx-step-head .ghost-btn { padding: 3px 9px; font-size: 12px; }
body.qh-portal-og .fx-page .family-pick { display: inline-flex; align-items: center; gap: 6px; max-width: 360px; font-size: 12px; }
body.qh-portal-og .fx-page .family-pick > span,
body.qh-portal-og .fx-page .fx-field > span { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
body.qh-portal-og .fx-page .family-pick select { min-width: 0; max-width: 300px; height: 30px; padding: 2px 6px; }
body.qh-portal-og .fx-page .body-pack { margin: 0; }
body.qh-portal-og .fx-page .shape-grid { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(74px, 1fr); grid-template-columns: none; gap: 4px; overflow-x: auto; padding-bottom: 2px; }
body.qh-portal-og .fx-page .shape-btn { min-height: 0; padding: 3px 3px 4px; gap: 2px; font-size: 11px; line-height: 1.15; }
body.qh-portal-og .fx-page .shape-btn :is(.shape-photo, .photo-frame) { height: 32px; border: 0; background: transparent; }
body.qh-portal-og .fx-page .shape-btn :is(.shape-photo, .photo-frame) img { max-height: 32px; }
body.qh-portal-og .fx-page .finder-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 8px; }
body.qh-portal-og .fx-page .fx-end { padding: 5px 8px 7px; }
body.qh-portal-og .fx-page .fx-end h3 { margin: 0 0 4px; font-size: 13px; gap: 8px; min-height: 24px; }
body.qh-portal-og .fx-page .fx-end h3 small { font-size: 12px; }
body.qh-portal-og .fx-page .fx-end .end-preview { width: 40px; height: 26px; }
body.qh-portal-og .fx-page .fx-fields { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.25fr) minmax(0, 1fr); gap: 6px; }
body.qh-portal-og .fx-page .fx-field { display: grid; gap: 2px; min-width: 0; }
body.qh-portal-og .fx-page .fx-field select { width: 100%; height: 32px; padding: 2px 6px; border: 1px solid var(--line); border-radius: 4px; background: var(--paper); color: var(--ink); font: inherit; font-size: 13px; }
body.qh-portal-og .fx-page .fx-field select:disabled { opacity: .55; }
body.qh-portal-og .fx-page .fx-end .thread-ref { margin: 4px 0 0; font-size: 11px; line-height: 1.3; }
body.qh-portal-og .fx-page .builder-results .result-head { margin: 4px 0 6px; }
body.qh-portal-og .fx-page .builder-results .result-head h2 { font-size: 1rem; margin: 0; }
@media (max-width: 680px) {
  body.qh-portal-og .fx-page .fx-bar .finder-toolbar-actions { margin-left: 0; width: 100%; }
  body.qh-portal-og .fx-page .shape-btn { min-height: 0; }
  body.qh-portal-og .fx-page .shape-grid { grid-auto-columns: 68px; }
  body.qh-portal-og .fx-page .family-pick { max-width: 100%; }
  body.qh-portal-og .fx-page .fx-field select { height: 38px; font-size: 14px; }
}
body.qh-portal-og .fx-page .builder-results .sheet-tools { margin: 0 0 4px; }
body.qh-portal-og .fx-page .builder-results .sheet-tools .also { display: none; }
body.qh-portal-og .fx-page .builder-results .stock-switch-bar { margin: 0 0 4px; }

/* 805: Operations on phones: one current-section button opens a two-column menu instead of eight squeezed tabs. */
body.qh-portal-og #qh-charcoal-final .ops-phone-menu { display: none; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side { display: none !important; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-menu { display: block; margin: 0 0 8px; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-menu summary { display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); color: var(--ink); cursor: pointer; list-style: none; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-menu summary::-webkit-details-marker { display: none; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-menu summary .ops-nav-ic { flex: 0 0 auto; width: 20px; height: 20px; color: var(--orange); }
  body.qh-portal-og #qh-charcoal-final .ops-phone-now { display: grid; flex: 1 1 auto; min-width: 0; line-height: 1.15; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-now small { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-now b { font-size: 15px; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-caret { flex: 0 0 auto; width: 18px; height: 18px; transition: transform .15s ease; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-menu[open] .ops-phone-caret { transform: rotate(180deg); }
  body.qh-portal-og #qh-charcoal-final .ops-phone-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 6px; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-grid a { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 48px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); color: var(--ink); font-size: 14px; font-weight: 700; line-height: 1.2; text-decoration: none; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-grid a .ops-nav-ic { flex: 0 0 auto; width: 18px; height: 18px; color: var(--orange); }
  body.qh-portal-og #qh-charcoal-final .ops-phone-grid a.is-on { border-color: var(--orange); background: color-mix(in srgb, var(--orange) 12%, var(--paper)); }
  /* 823: the Operations bar is a solid copper strip so it stands out from page cards. */
  body.qh-portal-og #qh-charcoal-final .ops-phone-menu summary { border-color: var(--qh-action, #8d421a); background: var(--qh-action, #8d421a); color: var(--qh-action-text, #fff); box-shadow: 0 2px 8px color-mix(in srgb, var(--qh-action, #8d421a) 35%, transparent); }
  body.qh-portal-og #qh-charcoal-final .ops-phone-menu summary .ops-nav-ic,
  body.qh-portal-og #qh-charcoal-final .ops-phone-menu .ops-phone-now small { color: var(--qh-action-text, #fff); }
  body.qh-portal-og #qh-charcoal-final .ops-phone-menu .ops-phone-now small { opacity: .85; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-menu[open] summary { border-radius: 8px 8px 0 0; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-menu[open] .ops-phone-grid { margin-top: 0; padding: 8px; border: 1px solid color-mix(in srgb, var(--orange) 45%, var(--line)); border-top: 0; border-radius: 0 0 8px 8px; background: color-mix(in srgb, var(--orange) 6%, var(--paper)); }
}

/* 804: Phone keyboard Done pill (site.js bindPhoneKeyboard sets top from visualViewport). */
.kbd-done { position: fixed; left: 50%; bottom: 10px; z-index: 1000; transform: translateX(-50%); display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: min(82vw, 380px); min-height: 38px; padding: 0 18px; border: 2px solid #fb923c; border-radius: 999px; background: rgba(234, 88, 12, .22); color: #fff; font: 800 15.5px/1 Inter, system-ui, sans-serif; letter-spacing: .02em; text-shadow: 0 1px 2px rgba(0, 0, 0, .5); -webkit-backdrop-filter: blur(8px) saturate(1.3); backdrop-filter: blur(8px) saturate(1.3); box-shadow: 0 4px 14px rgba(0, 0, 0, .35), inset 0 0 0 1px rgba(255, 255, 255, .12); touch-action: manipulation; }
html:not([data-theme="dark"]) .kbd-done { background: rgba(234, 88, 12, .14); color: #9a3412; text-shadow: none; }
.kbd-done[style*="top"] { bottom: auto; }
.kbd-done[hidden] { display: none; }
.oe-pad { position: fixed; left: 0; right: 0; bottom: 0; z-index: 120; padding: 8px 8px calc(8px + env(safe-area-inset-bottom, 0px)); background: var(--paper, #fff); border-top: 2px solid #f36c21; box-shadow: 0 -8px 24px rgba(0, 0, 0, .2); }
html body.qh-portal-og #qh-charcoal-final .oe-sku-in.is-pad,
html body.qh-portal-og #qh-charcoal-final .oe-num input.is-pad { outline: 2px solid #f36c21; }
.oe-pad[hidden] { display: none; }
.oe-pad-row { display: flex; gap: 4px; margin-top: 4px; }
.oe-pad-row button { flex: 1 1 0; min-height: 42px; padding: 0; font: inherit; font-size: 16px; font-weight: 800; color: var(--ink, #1c1916); background: var(--wash, #f6f3ee); border: 1px solid var(--line, #ddd); border-radius: 8px; }
@media (max-width: 760px) {
  body[data-mode="customer"] table.orders-table tbody tr.order-row td[data-label="Document"] { white-space: normal; }
  body[data-mode="customer"] table.orders-table tbody tr.order-row.open td[data-label=""] { flex-wrap: wrap; }
  body[data-mode="customer"] table.orders-table tbody tr.order-row.open td[data-label=""] .ops-ic-btn { flex: 1 1 40%; justify-content: center; }
}

/* 803: Admin "Add a login" sheet: one card per email, wrapped buttons, add row as a grid; phones get a full-height sheet from the top. */
body.qh-portal-og .portal-sheet-card { display: grid; gap: 8px; width: min(620px, 100%); }
body.qh-portal-og .portal-chosen { display: grid; gap: 8px; }
body.qh-portal-og .portal-chosen h3 { margin: 0; }
body.qh-portal-og .portal-chosen > .also { margin: 0; }
body.qh-portal-og .portal-login-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
body.qh-portal-og .portal-login { display: grid; gap: 6px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); }
body.qh-portal-og .portal-login-who { display: grid; gap: 1px; min-width: 0; }
body.qh-portal-og .portal-login-who b { overflow-wrap: anywhere; font-size: 14px; }
body.qh-portal-og .portal-login-who small { color: var(--muted); font-size: 12px; }
body.qh-portal-og .portal-login-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
body.qh-portal-og .portal-login-actions input { flex: 1 1 150px; min-width: 0; height: 32px; }
body.qh-portal-og .portal-login-actions button { white-space: nowrap; }
body.qh-portal-og .portal-saved { margin: 0; }
body.qh-portal-og .portal-add-title { margin: 4px 0 0; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
body.qh-portal-og .portal-add-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; align-items: center; }
body.qh-portal-og .portal-add-row input:not([type="checkbox"]) { width: 100%; height: 34px; }
body.qh-portal-og .portal-add-row .portal-welcome { grid-column: 1 / span 2; display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 13px; line-height: 1.3; }
body.qh-portal-og .portal-add-row .portal-welcome input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: var(--orange); }
body.qh-portal-og .portal-add-row .action-btn { grid-column: 3; justify-self: stretch; height: 34px; }
@media (max-width: 640px) {
  body.qh-portal-og .portal-sheet { place-items: start center; padding: 8px; }
  body.qh-portal-og .portal-sheet-card { max-height: calc(100dvh - 16px); padding: 10px; }
  body.qh-portal-og .portal-add-row { grid-template-columns: minmax(0, 1fr); }
  body.qh-portal-og .portal-add-row .portal-welcome,
  body.qh-portal-og .portal-add-row .action-btn { grid-column: 1; }
  body.qh-portal-og .portal-add-row input:not([type="checkbox"]),
  body.qh-portal-og .portal-login-actions input { height: 40px; font-size: 16px; }
  body.qh-portal-og .portal-add-row .action-btn { height: 42px; }
  body.qh-portal-og .portal-login-actions button { flex: 1 1 auto; min-height: 36px; }
}

/* 802: Adapter series rail groups each side (thread, gender, size) under a "Side 1 · Male JIC" line. */
body.qh-portal-og .ff-side { margin: 6px 0 2px; padding-top: 4px; border-top: 1px solid var(--line); }
body.qh-portal-og .ff-side-head { margin: 0 0 2px; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
body.qh-portal-og .ff-side-head span { margin-left: 4px; color: var(--ink); text-transform: none; letter-spacing: 0; font-size: 12px; }

/* 801: Resources opens on the finders, then QH catalogs, then manufacturer catalogs with a filter. */
body.qh-portal-og .res-section { margin: 0 0 14px; }
body.qh-portal-og .res-section .section-head { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; margin: 10px 0 6px; }
body.qh-portal-og .res-section .section-head h2 { margin: 0; font-size: 1rem; }
body.qh-portal-og .res-section .section-head h2 small { margin-left: 4px; color: var(--muted); font-size: 12px; font-weight: 600; }
body.qh-portal-og .res-search { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); }
body.qh-portal-og .res-search input { flex: 1 1 auto; min-width: 0; height: 36px; padding: 4px 10px; border: 1px solid var(--line); border-radius: 4px; background: var(--paper); color: var(--ink); font: inherit; font-size: 14px; }
body.qh-portal-og .res-search button { height: 36px; padding: 0 14px; }
body.qh-portal-og .res-finders { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; }
body.qh-portal-og .res-finder { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); color: inherit; text-decoration: none; }
body.qh-portal-og .res-finder:hover { border-color: var(--orange); text-decoration: none; color: inherit; }
body.qh-portal-og .res-finder-icon { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 8px; background: color-mix(in srgb, var(--orange) 14%, transparent); color: var(--orange); }
body.qh-portal-og .res-search .res-finder-icon { width: 30px; height: 30px; }
body.qh-portal-og .res-finder-icon svg { width: 20px; height: 20px; }
body.qh-portal-og .res-finder-text { display: grid; gap: 2px; min-width: 0; }
body.qh-portal-og .res-finder-text b { font-size: 14px; line-height: 1.2; }
body.qh-portal-og .res-finder-text small { color: var(--muted); font-size: 12px; line-height: 1.3; }
body.qh-portal-og .resources-grid.res-catalogs,
body.qh-portal-og .resources-grid.res-folders { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 6px; }
body.qh-portal-og .res-catalogs .resource-card[hidden] { display: none; }
body.qh-portal-og .res-catalogs--qh .resource-card { border-left: 3px solid var(--orange); }
body.qh-portal-og .res-vendor-head input { flex: 0 1 260px; min-width: 0; height: 32px; padding: 2px 10px; border: 1px solid var(--line); border-radius: 4px; background: var(--paper); color: var(--ink); font: inherit; font-size: 13px; }
@media (max-width: 680px) {
  body.qh-portal-og .res-finders { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  body.qh-portal-og .res-finder { padding: 8px 10px; }
  body.qh-portal-og .resources-grid.res-catalogs,
  body.qh-portal-og .resources-grid.res-folders { grid-template-columns: minmax(0, 1fr); }
  body.qh-portal-og .res-vendor-head input { flex: 1 1 100%; height: 38px; font-size: 16px; }
  body.qh-portal-og .res-search input { font-size: 16px; }
  body.qh-portal-og .res-search button { padding: 0 10px; }
}

/* 807: Repair stage bar, ghosted operations toolbar, sales chart labels, specials shelves, fastener finder. */
html body.qh-portal-og #qh-charcoal-final .rp-now {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin: 0 0 10px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--qh-action, #f36c21) 35%, var(--line, #d9d1c7));
  border-radius: 12px;
  background: color-mix(in srgb, var(--qh-action, #f36c21) 10%, var(--paper, #fff));
}
html body.qh-portal-og #qh-charcoal-final .rp-now-who { flex: 1 1 220px; display: grid; gap: 2px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .rp-now-who b { font-size: 1.05rem; }
html body.qh-portal-og #qh-charcoal-final .rp-now-who span { color: var(--muted); font-size: 0.92rem; }
html body.qh-portal-og #qh-charcoal-final .rp-now-stage { display: grid; gap: 3px; min-width: min(100%, 240px); }
html body.qh-portal-og #qh-charcoal-final .rp-now-stage,
html body.qh-portal-og #qh-charcoal-final .rp-now-stage select { font-size: 16px; }
html body.qh-portal-og #qh-charcoal-final .rp-now-stage { font-size: 0.72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .rp-now-stage select {
  min-height: 44px;
  padding: 6px 8px;
  border-radius: 8px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink);
  background: var(--paper, #fff);
}
html body.qh-portal-og #qh-charcoal-final .rp-sec > summary span {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 700;
  color: var(--ink);
  margin-left: 8px;
}
html body.qh-portal-og #qh-charcoal-final .rp-photo-btn { min-height: 44px; padding: 8px 14px; border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .rp-photo-hint { color: var(--muted); font-size: 0.85rem; }
html body.qh-portal-og #qh-charcoal-final .rp-photos-sec.is-over { outline: 2px dashed var(--qh-action, #f36c21); outline-offset: 2px; }

@media (min-width: 681px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side {
    gap: 6px;
    margin: 0 0 12px;
    padding: 8px;
    border: 1px solid color-mix(in srgb, var(--qh-action, #f36c21) 28%, var(--line, #d9d1c7));
    border-radius: 12px;
    background: color-mix(in srgb, var(--qh-action, #f36c21) 10%, var(--paper, #fffdf9));
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a,
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a:nth-child(n+5) {
    border: 1px solid color-mix(in srgb, var(--qh-action, #f36c21) 32%, var(--line, #d9d1c7));
    border-radius: 8px;
    background: color-mix(in srgb, var(--paper, #fff) 82%, transparent);
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a.is-on {
    background: var(--qh-action, #f36c21);
    border-color: var(--qh-action, #f36c21);
    color: #fff;
  }
}

html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-chart-grid b {
  font-size: 12px;
  line-height: 1.2;
  padding: 2px 7px;
  border-radius: 6px;
  color: var(--ink, #1c1916);
  background: color-mix(in srgb, var(--paper, #fff) 86%, var(--ink, #1c1916));
}
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-chart-grid b {
  color: #f5f7fa;
  background: #2c3640;
}
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month-track {
  border-radius: 8px;
  overflow: hidden;
}
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month-track i { border-radius: 6px 6px 0 0; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month small {
  font-size: 12px;
  color: var(--ink);
}
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-metric {
  border-radius: 12px;
  overflow: hidden;
}
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-metric small {
  font-size: 13px;
  color: var(--ink);
}
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-meter,
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-meter-fill { border-radius: 999px; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sales-sheet {
  border: 1px solid var(--line, #d9d1c7);
  border-radius: 12px;
  overflow: auto;
}
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices :is(th, td) {
  font-size: 14px;
}

html body.qh-portal-og #qh-charcoal-final .sp-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
html body.qh-portal-og #qh-charcoal-final .sp-shelf { margin: 0 0 18px; }
html body.qh-portal-og #qh-charcoal-final .sp-shelf h2 { margin: 0 0 2px; }
html body.qh-portal-og #qh-charcoal-final .sp-product {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 12px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--line, #e4dbcf);
}
html body.qh-portal-og #qh-charcoal-final .sp-product .qty-add { display: flex; align-items: center; gap: 6px; }

html body.qh-portal-og #qh-charcoal-final .ff-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 8px 0;
}
html body.qh-portal-og #qh-charcoal-final .ff-field { display: grid; gap: 3px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .ff-field > span { font-size: 0.72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .ff-field select,
html body.qh-portal-og #qh-charcoal-final .ff-field input {
  width: 100%;
  min-height: 40px;
  padding: 6px 8px;
  border: 1px solid var(--line, #d9d1c7);
  border-radius: 8px;
  background: var(--paper, #fff);
  color: var(--ink);
  font: inherit;
}
html body.qh-portal-og #qh-charcoal-final .ff-sheet {
  border: 1px solid var(--line, #d9d1c7);
  border-radius: 12px;
  overflow: auto;
}
html body.qh-portal-og #qh-charcoal-final .ff-table td:last-child { white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .ff-buy .qty-add { display: flex; align-items: center; gap: 6px; justify-content: flex-end; }

@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .sp-product { grid-template-columns: 1fr; }
  html body.qh-portal-og #qh-charcoal-final .ff-filters { grid-template-columns: 1fr 1fr; }
  html body.qh-portal-og #qh-charcoal-final .ff-search { grid-column: 1 / -1; }
  html body.qh-portal-og #qh-charcoal-final .ff-field select,
  html body.qh-portal-og #qh-charcoal-final .ff-field input,
  html body.qh-portal-og #qh-charcoal-final .rp-field input,
  html body.qh-portal-og #qh-charcoal-final .rp-field select,
  html body.qh-portal-og #qh-charcoal-final .rp-field textarea { font-size: 16px; }
}

/* 808: Catalog covers, brass finder, and quick-disconnect body styles. */
html body.qh-portal-og #qh-charcoal-final .res-catalogs .resource-card {
  display: flex;
  align-items: center;
  gap: 10px;
}
html body.qh-portal-og #qh-charcoal-final .res-cover {
  width: 54px;
  height: 72px;
  object-fit: cover;
  object-position: top;
  border-radius: 4px;
  flex: 0 0 auto;
  background: var(--wash, #eee);
  border: 1px solid var(--line, #d9d1c7);
}
html body.qh-portal-og #qh-charcoal-final .recv-eta.is-bo { color: #2f6f4e; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .ops-card.is-bo { border-color: #2f6f4e; }
html body.qh-portal-og #qh-charcoal-final .is-ghost { opacity: .45; pointer-events: none; cursor: default; }
html body.qh-portal-og #qh-charcoal-final .res-cover.is-picture { display: block; width: 100%; height: 130px; object-fit: contain; object-position: center; background: #fff; margin-bottom: 8px; }
html body.qh-portal-og #qh-charcoal-final .qdc-styles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(118px, 1fr));
  gap: 8px;
}
html body.qh-portal-og #qh-charcoal-final .qdc-style {
  display: grid;
  justify-items: center;
  gap: 2px;
  min-height: 92px;
  padding: 6px;
  border: 1px solid var(--line, #d9d1c7);
  border-radius: 10px;
  background: var(--paper, #fff);
  color: inherit;
  font: inherit;
  cursor: pointer;
}
html body.qh-portal-og #qh-charcoal-final .qdc-style.is-on {
  border-color: var(--qh-action, #f36c21);
  background: color-mix(in srgb, var(--qh-action, #f36c21) 12%, var(--paper, #fff));
}
html body.qh-portal-og #qh-charcoal-final .qdc-style img { width: 84px; height: 52px; object-fit: contain; }
html body.qh-portal-og #qh-charcoal-final .qdc-style small { color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .fx-measure {
  margin: 0 0 12px;
  padding: 8px 12px;
  border: 1px solid var(--line, #d9d1c7);
  border-radius: 12px;
  background: var(--paper, #fff);
}
html body.qh-portal-og #qh-charcoal-final .fx-measure summary { cursor: pointer; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .finder-page .item-ic { width: 52px; height: 52px; }
html body.qh-portal-og #qh-charcoal-final .finder-page .item-ic img { width: 52px; height: 52px; object-fit: contain; }
/* 811 · Fastener size rows (McMaster-style), clickable brand series cards */
html body.qh-portal-og #qh-charcoal-final .sheet .sheet-size-row th,
html body.qh-portal-og #qh-charcoal-final .ff-table .ff-type-row th {
  padding: 7px 10px;
  background: color-mix(in srgb, var(--qh-action, #f36c21) 9%, var(--paper, #fff));
  color: var(--ink, #1c232b);
  font-size: 13px;
  font-weight: 800;
  text-align: left;
  letter-spacing: 0;
  border-top: 1px solid var(--line, #d9d1c7);
}
html body.qh-portal-og #qh-charcoal-final .ff-table .ff-type-row th {
  font-size: 14px;
  background: color-mix(in srgb, var(--qh-action, #f36c21) 16%, var(--paper, #fff));
}
html body.qh-portal-og #qh-charcoal-final .ff-table .ff-type-row small { margin-left: 6px; color: var(--muted); font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final button.fr-series-card {
  display: block;
  width: 100%;
  background: var(--paper, #fff);
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: box-shadow .15s ease, transform .15s ease;
}
html body.qh-portal-og #qh-charcoal-final button.fr-series-card:hover { box-shadow: 0 4px 14px rgba(0, 0, 0, .12); transform: translateY(-1px); }
html body.qh-portal-og #qh-charcoal-final button.fr-series-card.is-on {
  border-color: var(--fr-red);
  background: color-mix(in srgb, var(--fr-red, #c8102e) 10%, var(--paper, #fff));
}
html body.qh-portal-og #qh-charcoal-final .fr-series-go {
  display: inline-block;
  margin-top: 8px;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--fr-red, #c8102e);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
html body.qh-portal-og #qh-charcoal-final button.fr-series-card.is-on .fr-series-go::after { content: ' ✓'; }
html body.qh-portal-og #qh-charcoal-final .fr-series-note { margin: 8px 0 0; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .fr-card[hidden],
html body.qh-portal-og #qh-charcoal-final .fr-cards-wrap[hidden] { display: none !important; }

/* 811 · Fastener type cards (McMaster-style type picker) */
html body.qh-portal-og #qh-charcoal-final .ff-type-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 10px;
  margin: 12px 0 14px;
}
html body.qh-portal-og #qh-charcoal-final .ff-type-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 10px 8px;
  border: 1px solid var(--line, #d9d1c7);
  border-radius: 10px;
  background: var(--paper, #fff);
  color: inherit;
  font: inherit;
  text-align: center;
  cursor: pointer;
  transition: box-shadow .15s ease, transform .15s ease;
}
html body.qh-portal-og #qh-charcoal-final .ff-type-card:hover { box-shadow: 0 4px 14px rgba(0, 0, 0, .12); transform: translateY(-1px); }
html body.qh-portal-og #qh-charcoal-final .ff-type-photo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 84px;
  background: #fff;
  border-radius: 6px;
}
html body.qh-portal-og #qh-charcoal-final .ff-type-photo img { max-width: 100%; max-height: 84px; object-fit: contain; }
html body.qh-portal-og #qh-charcoal-final .ff-type-card .ff-ic { width: 100%; height: 84px; border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .ff-type-card .ff-glyph { width: 52px; height: 52px; }
/* Glyphs are drawn dark with white holes, so the tile stays white in dark mode too. */
html body.qh-portal-og #qh-charcoal-final .ff-ic-glyph { background: #fff; color: #2b3036; }
html body.qh-portal-og #qh-charcoal-final .ff-type-card b { font-size: 13px; line-height: 1.25; }
html body.qh-portal-og #qh-charcoal-final .ff-type-card small { color: var(--muted); font-size: 12px; }
@media (max-width: 640px) {
  html body.qh-portal-og #qh-charcoal-final .ff-type-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 8px 0 10px; }
  html body.qh-portal-og #qh-charcoal-final .ff-type-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 8px;
    row-gap: 0;
    align-items: center;
    padding: 6px;
    text-align: left;
  }
  html body.qh-portal-og #qh-charcoal-final .ff-type-card .ff-type-photo,
  html body.qh-portal-og #qh-charcoal-final .ff-type-card .ff-ic { grid-row: 1 / span 2; width: 44px; height: 44px; }
  html body.qh-portal-og #qh-charcoal-final .ff-type-card .ff-type-photo img { max-height: 44px; }
  html body.qh-portal-og #qh-charcoal-final .ff-type-card .ff-glyph { width: 30px; height: 30px; }
  html body.qh-portal-og #qh-charcoal-final .ff-type-card b { font-size: 12px; align-self: end; }
  html body.qh-portal-og #qh-charcoal-final .ff-type-card small { font-size: 11px; align-self: start; }
}

/* 814 · Margins and Buy by supplier (staff money book) */
html body.qh-portal-og #qh-charcoal-final .mb-page .mb-tools { flex-wrap: wrap; align-items: flex-end; gap: 6px 10px; }
html body.qh-portal-og #qh-charcoal-final .mb-page .mb-tools label { display: flex; flex-direction: column; gap: 2px; font-size: 12px; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .mb-page .mb-tools .mb-grow { flex: 1 1 200px; }
html body.qh-portal-og #qh-charcoal-final .mb-page .mb-tools .mb-target { flex-direction: row; align-items: center; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .mb-page .mb-tools .mb-target input { width: 64px; }
html body.qh-portal-og #qh-charcoal-final .mb-page .mb-tools .mb-check { flex-direction: row; align-items: center; gap: 6px; min-height: 36px; color: inherit; }
html body.qh-portal-og #qh-charcoal-final .mb-page .mb-kpis { margin: 8px 0 10px; }
html body.qh-portal-og #qh-charcoal-final .mb-page .mb-kpis .acct-stat.is-down b { color: #b3261e; }
html body.qh-portal-og #qh-charcoal-final .mb-chips, html body.qh-portal-og #qh-charcoal-final .mb-filters { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 8px; }
html body.qh-portal-og #qh-charcoal-final .mb-chip {
  border: 1px solid var(--line, #d9d1c7); border-radius: 999px; background: var(--paper, #fff); color: inherit;
  font: inherit; font-size: 12.5px; padding: 4px 11px; min-height: 30px; cursor: pointer;
}
html body.qh-portal-og #qh-charcoal-final .mb-chip.is-on { background: var(--orange-dark, #a45a1c); border-color: var(--orange-dark, #a45a1c); color: #fff; font-weight: 600; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mb-chip.is-on { background: #9a4518; border-color: #c2652c; color: #fffefa; }
html body.qh-portal-og #qh-charcoal-final .mb-table td small { display: block; color: var(--muted); font-size: 11.5px; line-height: 1.3; }
html body.qh-portal-og #qh-charcoal-final .mb-table td .mb-cheaper { color: #1f7a3a; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .mb-table td .mb-up { color: #b3261e; }
html body.qh-portal-og #qh-charcoal-final .mb-sort, html body.qh-portal-og #qh-charcoal-final .mb-drill {
  border: 0; background: none; padding: 0; font: inherit; color: inherit; cursor: pointer; text-align: inherit;
}
html body.qh-portal-og #qh-charcoal-final .mb-sort { font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .mb-sort.is-on { color: var(--orange-dark, #a45a1c); }
html body.qh-portal-og #qh-charcoal-final .mb-drill { color: var(--orange-dark, #a45a1c); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
html body.qh-portal-og #qh-charcoal-final .mb-flag {
  display: inline-block; border-radius: 999px; padding: 1px 8px; font-size: 11.5px; font-weight: 600; white-space: nowrap;
  background: #f2ede6; color: #5c4a36;
}
html body.qh-portal-og #qh-charcoal-final .mb-flag.is-bad { background: #fbe3e1; color: #9b1c14; }
html body.qh-portal-og #qh-charcoal-final .mb-flag.is-low { background: #fdf0d9; color: #8a5300; }
html body.qh-portal-og #qh-charcoal-final .mb-flag.is-good { background: #e2f3e6; color: #1f6a34; }
html body.qh-portal-og #qh-charcoal-final .mb-attention { margin-top: 18px; }
html body.qh-portal-og #qh-charcoal-final .mb-att-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
html body.qh-portal-og #qh-charcoal-final .mb-att-head h2 { margin: 0; }
html body.qh-portal-og #qh-charcoal-final .mb-note, html body.qh-portal-og #qh-charcoal-final .mb-terms { font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .mb-notes { margin: 14px 0 6px; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .mb-notes summary { cursor: pointer; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .mb-cat { font-size: 14px; margin: 14px 0 4px; }
html body.qh-portal-og #qh-charcoal-final .mb-cat small { color: var(--muted); font-weight: 500; }
html body.qh-portal-og #qh-charcoal-final .mb-buy tr.is-picked td { background: rgba(214, 138, 60, .1); }
html body.qh-portal-og #qh-charcoal-final .mb-buy .mb-qty { white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .mb-buy .mb-qty input { width: 72px; min-height: 34px; text-align: right; }
html body.qh-portal-og #qh-charcoal-final .mb-buy .mb-qty .ghost-btn { min-width: 34px; min-height: 34px; margin-left: 4px; }
html body.qh-portal-og #qh-charcoal-final .mb-box {
  position: sticky; top: 0; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px;
  margin: 8px 0 6px; padding: 8px 12px; border: 1px solid var(--line, #d9d1c7); border-radius: 10px; background: var(--paper, #fff);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
}
html body.qh-portal-og #qh-charcoal-final .mb-box > div:first-child { flex: 1 1 320px; }
html body.qh-portal-og #qh-charcoal-final .mb-box-line { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .mb-box-line small { color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .mb-box-actions { display: flex; flex-wrap: wrap; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .mb-bar { height: 6px; margin-top: 6px; border-radius: 999px; background: #eee6dc; overflow: hidden; }
html body.qh-portal-og #qh-charcoal-final .mb-bar i { display: block; height: 100%; background: var(--orange-dark, #a45a1c); border-radius: inherit; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mb-flag { background: #3a332b; color: #e8dccd; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mb-flag.is-bad { background: #4a2420; color: #ffb4ab; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mb-flag.is-low { background: #45351c; color: #ffd08a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mb-flag.is-good { background: #1f3a27; color: #9be0ad; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mb-table td .mb-cheaper { color: #8fd6a2; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mb-table td .mb-up,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mb-page .mb-kpis .acct-stat.is-down b { color: #ff8a80; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mb-bar { background: #3a332b; }
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.mb-table tr {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 10px; padding: 8px 0;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.mb-table td { display: block; padding: 0; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.mb-table td::before { display: block; margin-bottom: 1px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.mb-table td:first-child { grid-column: 1 / -1; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.mb-table td:first-child::before { content: none; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.mb-table td:empty { display: none; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.mb-buy td:first-child .ops-thumb { float: left; width: 40px; height: 40px; margin: 0 8px 0 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.mb-buy td:first-child .ops-thumb img { width: 40px; height: 40px; object-fit: contain; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.mb-buy td:first-child small { display: inline; margin-right: 8px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.mb-buy .mb-qty input { width: 58px; }
}
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .mb-page .mb-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body.qh-portal-og #qh-charcoal-final .mb-page .mb-tools label { flex: 1 1 45%; }
  html body.qh-portal-og #qh-charcoal-final .mb-page .mb-tools :is(input, select) { width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .mb-page .mb-tools .mb-grow { flex-basis: 100%; }
  html body.qh-portal-og #qh-charcoal-final .mb-page .mb-tools :is(input, select) { font-size: 16px; }
  html body.qh-portal-og #qh-charcoal-final .mb-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
  html body.qh-portal-og #qh-charcoal-final .mb-chip { flex: 0 0 auto; min-height: 36px; }
  html body.qh-portal-og #qh-charcoal-final .mb-box { position: static; padding: 8px; }
  html body.qh-portal-og #qh-charcoal-final .mb-buy .mb-qty input { font-size: 16px; width: 76px; min-height: 40px; }
  html body.qh-portal-og #qh-charcoal-final .mb-buy .mb-qty .ghost-btn { min-width: 40px; min-height: 40px; }
}

/* 815: Readable receive/pick status text in dark mode (open, full, over). */
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .recv-line .recv-state { color: #c3ccd4; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .recv-line.is-short .recv-state { color: #ffdf91; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .recv-line.is-full .recv-state { color: #8fe0b0; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .recv-line.is-over .recv-state { color: #ffaa96; }
/* 816: Desktop receiving. A line with an open sales order puts the amber panel on its own full-width row under the count, one order per line. */
body.qh-portal-og #qh-charcoal-final .recv-for-more > summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 0;
}
@media (min-width: 1100px) {
  body.qh-portal-og #qh-charcoal-final .recv-line:has(> .recv-for-wrap.qh-demand--sales) > .recv-part { grid-row: 1 / span 2; }
  body.qh-portal-og #qh-charcoal-final .recv-line:has(> .recv-for-wrap.qh-demand--sales) > .recv-wide { grid-row: 1; }
  body.qh-portal-og #qh-charcoal-final .recv-line:has(> .recv-for-wrap.qh-demand--sales) > .recv-count { grid-column: 2; grid-row: 1; }
  body.qh-portal-og #qh-charcoal-final .recv-line > .recv-for-wrap.qh-demand--sales {
    grid-column: 2 / -1;
    grid-row: 2;
    padding: 4px 10px;
  }
  body.qh-portal-og #qh-charcoal-final .qh-demand--sales .recv-for { gap: 0; margin-top: 2px; }
  body.qh-portal-og #qh-charcoal-final .qh-demand--sales .recv-for-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, max-content) auto;
    align-items: center;
    gap: 2px 14px;
    padding: 4px 0;
    border: 0;
    border-top: 1px solid rgba(128, 84, 0, 0.28);
    border-radius: 0;
  }
  body.qh-portal-og #qh-charcoal-final .qh-demand--sales .recv-for > .recv-for-row:first-child { border-top: 0; }
  body.qh-portal-og #qh-charcoal-final .qh-demand--sales .recv-for-who b,
  body.qh-portal-og #qh-charcoal-final .qh-demand--sales .recv-for-qty b { display: inline; margin-right: 6px; }
  body.qh-portal-og #qh-charcoal-final .qh-demand--sales .recv-for-who small,
  body.qh-portal-og #qh-charcoal-final .qh-demand--sales .recv-for-qty small { display: inline; }
  body.qh-portal-og #qh-charcoal-final .qh-demand--sales .recv-for-qty small + small::before { content: " · "; }
  body.qh-portal-og #qh-charcoal-final .qh-demand--sales .recv-for-qty { max-width: 420px; }
  body.qh-portal-og #qh-charcoal-final .qh-demand--sales .recv-for-actions {
    grid-column: 3;
    flex-wrap: nowrap;
    justify-content: flex-end;
  }
  html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qh-demand--sales .recv-for-row { border-top-color: rgba(255, 223, 145, 0.25); }
}
/* 817: Sales invoice table on desktop. Invoice, date, PO and total stay on one line; the customer takes the rest. */
@media (min-width: 900px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices :is(th, td):not(:first-child) {
    white-space: nowrap;
    overflow-wrap: normal;
    padding-left: 14px;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices td:nth-child(4) {
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
/* 818: Inside a fastener folder the type picker already sorts the parts, so subfolders shrink to one row of chips. */
html body.qh-portal-og #qh-charcoal-final #stage .dept-grid.is-compact {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 4px 0 8px;
}
html body.qh-portal-og #qh-charcoal-final #stage .dept-grid.is-compact .dept-card {
  display: inline-flex;
  flex-direction: row;
  align-items: baseline;
  gap: 6px;
  min-height: 0;
  width: auto;
  padding: 5px 12px;
  border-radius: 999px;
}
html body.qh-portal-og #qh-charcoal-final #stage .dept-grid.is-compact .dept-card > span:not(.photo-frame) { display: inline-flex; align-items: baseline; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final #stage .dept-grid.is-compact .photo-frame,
html body.qh-portal-og #qh-charcoal-final #stage .dept-grid.is-compact .thread-badges { display: none; }
html body.qh-portal-og #qh-charcoal-final #stage .dept-grid.is-compact .dept-card b { font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final #stage .dept-grid.is-compact .dept-card small { font-size: 12px; margin: 0; }
@media (min-width: 900px) {
  html body.qh-portal-og #qh-charcoal-final .ff-browse .ff-type-cards { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 6px; margin: 8px 0 10px; }
  html body.qh-portal-og #qh-charcoal-final .ff-browse .ff-type-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 8px;
    row-gap: 0;
    align-items: center;
    padding: 5px 8px 5px 5px;
    text-align: left;
  }
  html body.qh-portal-og #qh-charcoal-final .ff-browse .ff-type-card .ff-type-photo,
  html body.qh-portal-og #qh-charcoal-final .ff-browse .ff-type-card .ff-ic { grid-row: 1 / span 2; width: 44px; height: 44px; }
  html body.qh-portal-og #qh-charcoal-final .ff-browse .ff-type-card .ff-type-photo img { max-height: 44px; }
  html body.qh-portal-og #qh-charcoal-final .ff-browse .ff-type-card .ff-glyph { width: 30px; height: 30px; }
  html body.qh-portal-og #qh-charcoal-final .ff-browse .ff-type-card b { align-self: end; }
  html body.qh-portal-og #qh-charcoal-final .ff-browse .ff-type-card small { align-self: start; }
}

/* 823: sales chart labels. Month name on the axis, the year under it at January and the first bar; phones label about six bars. */
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month small { white-space: nowrap; line-height: 1.15; text-align: center; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month small em { display: block; font-style: normal; font-size: 10px; color: var(--muted); }
/* 823: Suppliers as a ranked list. Number, name, figure, and a bar against the top row. */
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-supplier-layout { grid-template-columns: 300px minmax(0, 1fr); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-supplier-list.is-ranked { display: block; position: static; max-height: 72vh; overflow-y: auto; overflow-x: hidden; margin: 0; padding: 4px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-supplier-rank { margin: 0; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-supplier-list.is-ranked .ops-list-label { margin: 6px 0 2px; padding: 2px 8px; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-supplier-list.is-ranked button { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; column-gap: 8px; row-gap: 3px; align-items: center; width: 100%; min-height: 40px; margin: 0; padding: 6px 8px; border: 0; border-radius: 6px; background: transparent; color: var(--ink); font-size: 14px; font-weight: 600; text-align: left; white-space: normal; box-shadow: none; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-supplier-list.is-ranked button:hover { background: var(--qh-hover, var(--wash)); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-supplier-list.is-ranked button.is-on { background: var(--qh-selected, var(--orange-soft)); box-shadow: inset 3px 0 var(--qh-action, var(--orange)); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-supplier-list.is-ranked button.is-quiet { color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-rank-no { color: var(--muted); font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; text-align: right; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-supplier-list.is-ranked b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-rank-val { color: var(--muted); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-rank-bar { grid-column: 2 / 4; display: block; height: 4px; border-radius: 99px; background: color-mix(in srgb, var(--line) 70%, transparent); overflow: hidden; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-rank-bar i { display: block; height: 100%; border-radius: 99px; background: var(--qh-action, var(--orange)); }
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-supplier-layout { display: block; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-supplier-list.is-ranked { max-height: 300px; margin: 0 0 10px; }
}
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month.is-wide-label small { visibility: hidden; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month small { font-size: 11px; overflow: visible; }
}

/* Industrial hose inside-diameter chips */
html body.qh-portal-og #qh-charcoal-final .ind-id-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 14px;}
html body.qh-portal-og #qh-charcoal-final .ind-id-label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#6b6b6b);margin-right:4px;}
html body.qh-portal-og #qh-charcoal-final .ind-id-chip{border:1px solid var(--line,#d6d3cf);background:var(--paper,#fff);color:inherit;border-radius:999px;padding:5px 11px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;line-height:1.2;white-space:nowrap;}
html body.qh-portal-og #qh-charcoal-final .ind-id-chip:hover{border-color:var(--qh-action,#8d421a);}
html body.qh-portal-og #qh-charcoal-final .ind-id-chip.is-on{background:var(--qh-action,#8d421a);border-color:var(--qh-action,#8d421a);color:var(--qh-action-text,#fff);}
@media (max-width:760px){
html body.qh-portal-og #qh-charcoal-final .ind-id-strip{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:thin;}
html body.qh-portal-og #qh-charcoal-final .ind-id-label{flex:0 0 auto;}
html body.qh-portal-og #qh-charcoal-final .ind-id-chip{flex:0 0 auto;}
}

/* Specials: feature sections with a hero product and its exploded parts */
html body.qh-portal-og #qh-charcoal-final .sp-jump{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 16px;}
html body.qh-portal-og #qh-charcoal-final .sp-jump button{border:1px solid var(--line,#d9d1c7);background:var(--paper,#fff);color:inherit;border-radius:999px;padding:7px 14px;font:inherit;font-weight:700;font-size:14px;cursor:pointer;}
html body.qh-portal-og #qh-charcoal-final .sp-jump button:hover{border-color:var(--qh-action,#8d421a);color:var(--qh-action,#8d421a);}
html body.qh-portal-og #qh-charcoal-final .sp-feature{margin:0 0 28px;scroll-margin-top:90px;}
html body.qh-portal-og #qh-charcoal-final .sp-feature-head{border-bottom:2px solid var(--qh-action,#8d421a);margin:0 0 12px;padding:0 0 6px;}
html body.qh-portal-og #qh-charcoal-final .sp-feature-head h2{margin:0;}
html body.qh-portal-og #qh-charcoal-final .sp-feature-head .also{margin:2px 0 0;}
html body.qh-portal-og #qh-charcoal-final .sp-set{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:16px;margin:0 0 16px;padding:14px;border:1px solid var(--line,#d9d1c7);border-radius:12px;background:var(--paper,#fff);}
html body.qh-portal-og #qh-charcoal-final .sp-hero{display:grid;gap:10px;align-content:start;}
html body.qh-portal-og #qh-charcoal-final .sp-hero-photo{display:grid;place-items:center;height:220px;border-radius:10px;background:#fff;overflow:hidden;border:1px solid var(--line,#ece6de);}
html body.qh-portal-og #qh-charcoal-final .sp-hero-photo img{max-width:100%;max-height:100%;object-fit:contain;}
html body.qh-portal-og #qh-charcoal-final .sp-hero-copy{display:grid;gap:6px;}
html body.qh-portal-og #qh-charcoal-final .sp-hero-copy h3{margin:0;font-size:1.15rem;line-height:1.25;}
html body.qh-portal-og #qh-charcoal-final .sp-hero-sku{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;}
html body.qh-portal-og #qh-charcoal-final .sp-facts{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px;}
html body.qh-portal-og #qh-charcoal-final .sp-facts li{font-size:13px;padding:3px 9px;border-radius:6px;background:color-mix(in srgb,var(--paper,#fff) 88%,var(--ink,#1c1916));}
html body.qh-portal-og #qh-charcoal-final .sp-hero .qty-add{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
html body.qh-portal-og #qh-charcoal-final .sp-explode{position:relative;min-width:0;padding-left:16px;border-left:2px dashed var(--line,#d9d1c7);}
html body.qh-portal-og #qh-charcoal-final .sp-explode h4,html body.qh-portal-og #qh-charcoal-final .sp-more h4{margin:0 0 8px;font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted,#6b6b6b);}
html body.qh-portal-og #qh-charcoal-final .sp-explode h4 small{font-weight:700;color:var(--qh-action,#8d421a);margin-left:4px;}
html body.qh-portal-og #qh-charcoal-final .sp-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;}
html body.qh-portal-og #qh-charcoal-final .sp-chip{display:grid;gap:3px;justify-items:start;text-align:left;padding:7px 9px;border:1px solid var(--line,#d9d1c7);border-radius:8px;background:var(--paper,#fff);color:inherit;font:inherit;cursor:pointer;}
html body.qh-portal-og #qh-charcoal-final .sp-chip:hover{border-color:var(--qh-action,#8d421a);}
html body.qh-portal-og #qh-charcoal-final .sp-chip b{font-size:15px;}
html body.qh-portal-og #qh-charcoal-final .sp-chip .stock-mark{font-size:12px;}
html body.qh-portal-og #qh-charcoal-final .sp-kit .sp-products{max-height:520px;overflow:auto;}
html body.qh-portal-og #qh-charcoal-final .sp-more{margin:0 0 16px;}
html body.qh-portal-og #qh-charcoal-final .sp-lines{display:grid;gap:10px;}
html body.qh-portal-og #qh-charcoal-final .sp-line{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;padding:12px;border:1px solid var(--line,#d9d1c7);border-radius:12px;background:var(--paper,#fff);}
html body.qh-portal-og #qh-charcoal-final .sp-line-name{display:grid;gap:2px;align-content:start;}
html body.qh-portal-og #qh-charcoal-final .sp-line-name small{color:var(--muted,#6b6b6b);}
html body.qh-portal-og #qh-charcoal-final .sp-line-sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;}
html body.qh-portal-og #qh-charcoal-final .sp-size{display:grid;grid-template-columns:48px minmax(0,1fr);gap:4px 8px;align-items:center;padding:8px;border:1px solid var(--line,#ece6de);border-radius:10px;}
html body.qh-portal-og #qh-charcoal-final .sp-size img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:6px;grid-row:span 2;}
html body.qh-portal-og #qh-charcoal-final .sp-size-copy{display:grid;gap:2px;min-width:0;}
html body.qh-portal-og #qh-charcoal-final .sp-size-copy > span{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;}
html body.qh-portal-og #qh-charcoal-final .sp-size .qty-add{display:flex;align-items:center;gap:6px;flex-wrap:wrap;grid-column:2;}
html body.qh-portal-og #qh-charcoal-final .sp-size .qty-add .qty{width:56px;}
@media (max-width:860px){
html body.qh-portal-og #qh-charcoal-final .sp-set{grid-template-columns:1fr;}
html body.qh-portal-og #qh-charcoal-final .sp-explode{padding-left:0;padding-top:12px;border-left:0;border-top:2px dashed var(--line,#d9d1c7);}
html body.qh-portal-og #qh-charcoal-final .sp-hero{grid-template-columns:120px minmax(0,1fr);align-items:start;}
html body.qh-portal-og #qh-charcoal-final .sp-hero-photo{height:120px;}
html body.qh-portal-og #qh-charcoal-final .sp-line{grid-template-columns:1fr;}
}
html body.qh-portal-og #qh-charcoal-final .sp-jump button.is-spot{background:var(--qh-action,#8d421a);border-color:var(--qh-action,#8d421a);color:#fff;}
html body.qh-portal-og #qh-charcoal-final .sp-feature.is-spot{padding:14px;border:2px solid var(--qh-action,#8d421a);border-radius:14px;background:color-mix(in srgb,var(--qh-action,#8d421a) 7%,var(--paper,#fff));}
html body.qh-portal-og #qh-charcoal-final .sp-spot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
html body.qh-portal-og #qh-charcoal-final .sp-feature.is-spot .sp-set{grid-template-columns:1fr;margin:0;align-content:start;}
html body.qh-portal-og #qh-charcoal-final .sp-feature.is-spot .sp-hero{grid-template-columns:150px minmax(0,1fr);align-items:start;}
html body.qh-portal-og #qh-charcoal-final .sp-feature.is-spot .sp-hero-photo{height:150px;}
html body.qh-portal-og #qh-charcoal-final .sp-feature.is-spot .sp-badge{background:var(--qh-action,#8d421a);color:#fff;}
html body.qh-portal-og #qh-charcoal-final .sp-feature.is-spot .sp-explode{padding-left:0;padding-top:12px;border-left:0;border-top:2px dashed var(--line,#d9d1c7);}
html body.qh-portal-og #qh-charcoal-final .sp-feature.is-spot .sp-chips{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));}
@media (max-width:1180px){
html body.qh-portal-og #qh-charcoal-final .sp-spot-grid{grid-template-columns:1fr;}
}
@media (max-width:520px){
html body.qh-portal-og #qh-charcoal-final .sp-feature.is-spot{padding:10px;}
html body.qh-portal-og #qh-charcoal-final .sp-feature.is-spot .sp-hero{grid-template-columns:1fr;}
html body.qh-portal-og #qh-charcoal-final .sp-hero{grid-template-columns:1fr;}
html body.qh-portal-og #qh-charcoal-final .sp-hero-photo{height:180px;}
html body.qh-portal-og #qh-charcoal-final .sp-chips{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));}
html body.qh-portal-og #qh-charcoal-final .sp-jump{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;}
html body.qh-portal-og #qh-charcoal-final .sp-jump button{flex:0 0 auto;}
}

/* 823: Phone sales. Month bars share the row instead of a fixed 64px; invoices are two-line cards. */
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month-row.is-months .ops-month { min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sales-po-tag { display: none; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices { display: block; overflow: visible; font-size: 14px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices thead { display: none; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices tbody { display: block; width: 100%; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices tr { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; padding: 9px 2px; border-bottom: 1px solid var(--line, #d9d1c7); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices tr::after { content: ""; order: 2; flex-basis: 100%; height: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices :is(th, td) { display: block; width: auto; padding: 0; border: 0; white-space: nowrap; font-size: 13px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices td[data-label="Customer"] { order: 1; flex: 1 1 0; min-width: 0; white-space: normal; font-size: 14px; font-weight: 750; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices td[data-label="Total"] { order: 1; flex: 0 0 auto; text-align: right; font-size: 14px; font-weight: 800; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices td[data-label="Invoice"] { order: 3; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices td[data-label="Date"] { order: 4; color: var(--muted, #6b6b6b); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices td[data-label="PO"] { order: 5; min-width: 0; flex: 0 1 auto; overflow: hidden; text-overflow: ellipsis; color: var(--muted, #6b6b6b); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices td[data-label="Invoice"]::before { content: "#"; color: var(--muted, #6b6b6b); font-weight: 700; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices td[data-label="Date"]::before,
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices td[data-label="PO"]::before { content: "\00b7\00a0"; font-weight: 700; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sales-po-tag { display: inline; }
}
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month-row.is-months .ops-month small em { display: inline; margin-left: 2px; }

/* 824: Shop board. Load cards, needs attention, week/month calendar beside the task bar, team cards. */
html body.qh-portal-og #qh-charcoal-final .qh-board { --sb-red: color-mix(in srgb, var(--danger, #c0392b) 78%, var(--ink)); --sb-amber: #c98a1b; --sb-blue: #2b6cb0; --sb-violet: #6b46c1; --sb-green: #2f7d4f; }
html body.qh-portal-og #qh-charcoal-final .qh-board h2 { margin: 0; font-size: 17px; }
html body.qh-portal-og #qh-charcoal-final .qh-board h2 small { margin-left: 6px; color: var(--muted); font-size: 13px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-head .also { margin: 2px 0 0; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-head-acts { display: flex; flex-wrap: wrap; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-msg { margin: 0 0 12px; padding: 8px 12px; border-radius: 8px; background: var(--qh-good-bg, #edf3eb); color: var(--qh-good, #326040); font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-msg.is-bad { background: color-mix(in srgb, var(--danger, #c0392b) 14%, var(--paper)); color: var(--sb-red); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-loads { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 0 0 14px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-load { display: grid; align-content: start; gap: 2px; padding: 12px 14px; border: 1px solid var(--line); border-left: 4px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--ink); text-decoration: none; }
html body.qh-portal-og #qh-charcoal-final .qh-board a.sb-load:hover { border-color: var(--qh-action, var(--orange)); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-load strong { font-size: 26px; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-load span { font-size: 13px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-load small { color: var(--muted); font-size: 12px; line-height: 1.35; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-load.is-warn { border-left-color: var(--sb-amber); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-load.is-bad { border-left-color: var(--sb-red); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn,
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-cal,
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-taskbar { min-width: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn { margin: 0 0 16px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn ul { display: grid; gap: 4px; margin: 8px 0 0; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn li { padding: 4px 8px; border-left: 3px solid var(--sb-amber); font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn li.is-bad { border-left-color: var(--sb-red); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn li :is(a, button) { padding: 0; border: 0; background: none; box-shadow: none; color: var(--ink); font: inherit; font-weight: 500; text-align: left; text-decoration: none; cursor: pointer; min-height: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn li :is(a, button):hover { text-decoration: underline; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn details summary,
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-done summary { margin: 8px 0 4px; color: var(--muted); font-size: 13px; font-weight: 700; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn.is-clear .also { margin: 4px 0 0; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); align-items: start; gap: 16px; margin: 0 0 16px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-cal-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 10px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-cal-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-seg { display: inline-flex; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-seg button { min-height: 0; padding: 5px 12px; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--ink); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-seg button.is-on { background: var(--qh-action, var(--orange)); color: var(--qh-action-text, #fff); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-week { display: grid; margin: 0; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-day { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 10px; padding: 8px 6px; border-top: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-day:first-child { border-top: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-day.is-today { border-radius: 8px; background: color-mix(in srgb, var(--qh-action, #8d421a) 8%, transparent); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-day.is-past .sb-day-name { opacity: .65; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-day-name { display: grid; grid-template-columns: auto auto; align-content: start; justify-content: start; column-gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-day-name b { font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-day-name small { grid-column: 1; color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-day-add { grid-column: 2; grid-row: 1 / 3; align-self: center; width: 24px; height: 24px; min-height: 0; padding: 0; border: 1px dashed var(--line); border-radius: 6px; background: transparent; box-shadow: none; color: var(--muted); font-weight: 800; line-height: 1; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-day-add:hover { border-color: var(--qh-action, var(--orange)); color: var(--qh-action, var(--orange)); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-day-items { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 5px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-none { padding: 3px 0; color: var(--muted); font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .qh-board :is(.sb-ev, .sb-cal-task, .sb-chore) { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; min-height: 0; padding: 3px 8px; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); box-shadow: none; color: var(--ink); font: inherit; font-size: 13px; font-weight: 600; line-height: 1.3; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-ev.is-appointment { border-color: color-mix(in srgb, var(--sb-blue) 40%, var(--line)); background: color-mix(in srgb, var(--sb-blue) 14%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-ev.is-vacation { border-color: color-mix(in srgb, var(--sb-amber) 45%, var(--line)); background: color-mix(in srgb, var(--sb-amber) 20%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-ev.is-meeting { border-color: color-mix(in srgb, var(--sb-violet) 40%, var(--line)); background: color-mix(in srgb, var(--sb-violet) 14%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-cal-task { border-style: dashed; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-cal-task.is-high { border-color: var(--sb-red); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-chore i { flex: 0 0 auto; width: 12px; height: 12px; border: 2px solid currentColor; border-radius: 3px; opacity: .65; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-chore.is-done { color: var(--muted); text-decoration: line-through; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-chore.is-done i { border-color: var(--sb-green); background: var(--sb-green); opacity: 1; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-chore:disabled { cursor: default; opacity: .8; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-legend { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-legend > span { padding: 1px 7px; font-size: 12px; cursor: default; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-month { display: grid; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .qh-board :is(.sb-mhead, .sb-mgrid) { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-mhead span { color: var(--muted); font-size: 12px; font-weight: 800; text-align: center; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-mday { display: flex; flex-direction: column; gap: 3px; min-width: 0; min-height: 86px; padding: 4px; border: 1px solid var(--line); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-mday.is-out { opacity: .45; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-mday.is-today { border-color: var(--qh-action, var(--orange)); box-shadow: inset 0 0 0 1px var(--qh-action, var(--orange)); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-mday :is(.sb-ev, .sb-cal-task, .sb-chore) { display: flex; width: 100%; padding: 1px 5px; font-size: 11px; }
html body.qh-portal-og #qh-charcoal-final .qh-board :is(.sb-mnum, .sb-more) { align-self: flex-start; min-height: 0; padding: 0 2px; border: 0; background: none; box-shadow: none; color: var(--ink); font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-more { color: var(--muted); font-size: 11px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-who { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-who select { max-width: 160px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-tasks { display: grid; margin: 0; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-task { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: start; gap: 8px; padding: 8px 0; border-top: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-task:first-child { border-top: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-task.is-high { box-shadow: inset 3px 0 var(--sb-red); padding-left: 6px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-check { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--sb-green); cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-task-body { min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-task-body b { font-size: 14px; overflow-wrap: anywhere; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-task-body small { display: block; margin-top: 1px; color: var(--muted); font-size: 12px; line-height: 1.35; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-task-body p { margin: 3px 0 0; font-size: 13px; white-space: pre-line; overflow-wrap: anywhere; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-task.is-late .sb-task-body small { color: var(--sb-red); font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-task.is-done .sb-task-body b { color: var(--muted); text-decoration: line-through; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-pill { display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: 99px; background: var(--danger, #c0392b); color: #fff; font-size: 11px; font-weight: 800; vertical-align: 2px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-task-acts { display: flex; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-people h2 { margin: 0 0 10px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-people-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-person { display: grid; align-content: start; gap: 6px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-person header { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-person header b { display: block; font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-person header small { display: block; color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-status { flex: 0 0 auto; padding: 2px 8px; border-radius: 99px; background: var(--qh-good-bg, #edf3eb); color: var(--qh-good, #326040); font-size: 12px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-status.is-away { background: var(--qh-warn-bg, #fbf0dc); color: var(--qh-warn, #825022); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-status.is-busy { background: color-mix(in srgb, var(--sb-blue) 15%, var(--paper)); color: var(--ink); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-person p { margin: 0; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-person-next { color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-late { color: var(--sb-red); font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-person .ghost-btn { justify-self: start; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-form-wrap { display: grid; grid-template-columns: minmax(220px, 320px) minmax(0, 1fr); align-items: start; gap: 14px; margin: 0 0 16px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-form { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px 12px; margin: 0 0 16px; padding: 14px; border: 1px solid var(--qh-action, var(--orange)); border-radius: 12px; background: var(--paper); scroll-margin-top: 90px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-form-wrap .sb-form { margin: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-form :is(h2, h3, .sb-wide) { grid-column: 1 / -1; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-form h3 { margin: 4px 0 0; font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-form .also { margin: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-form label { display: grid; gap: 4px; font-size: 13px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-form :is(input:not([type="checkbox"]), select, textarea) { width: 100%; min-width: 0; font: inherit; font-weight: 500; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-form .sb-inline { display: inline-flex; align-items: center; justify-content: flex-start; gap: 6px; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-form .sb-inline input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-days { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; padding: 0; border: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-days legend { margin-bottom: 4px; padding: 0; font-size: 13px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-form-acts { display: flex; flex-wrap: wrap; grid-column: 1 / -1; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-form-acts .sb-del { margin-left: auto; color: var(--sb-red); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-chore-list { display: grid; margin: 0; padding: 8px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); list-style: none; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-chore-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 4px; padding: 6px 0; border-top: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-chore-list li:first-child { border-top: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-chore-list b { display: block; font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-chore-list small { display: block; color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-topics { display: grid; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-topic-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(120px, 190px) auto; align-items: center; gap: 6px; }
@media (max-width: 900px) {
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-main { grid-template-columns: 1fr; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-taskbar { order: -1; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-form-wrap { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-loads { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-load { padding: 10px 12px; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-load strong { font-size: 22px; }
  html body.qh-portal-og #qh-charcoal-final .qh-board :is(.sb-attn, .sb-cal, .sb-taskbar) { padding: 10px; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-day { grid-template-columns: 52px minmax(0, 1fr); gap: 8px; padding: 8px 2px; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-day-name { grid-template-columns: auto; row-gap: 2px; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-day-name small { white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-day-add { grid-column: 1; grid-row: auto; margin-top: 2px; }
  html body.qh-portal-og #qh-charcoal-final .qh-board :is(.sb-mhead, .sb-mgrid) { gap: 2px; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-mday { min-height: 54px; padding: 2px; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-mday :is(.sb-ev, .sb-cal-task, .sb-chore) { height: 6px; padding: 0; border-radius: 3px; font-size: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-mday .sb-chore i { display: none; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-topics { gap: 10px; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-topic-row { grid-template-columns: minmax(0, 1fr) auto; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-topic-row [data-topic-label] { grid-column: 1 / -1; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-form-acts .sb-del { margin-left: 0; }
}

/* 826: Rail folder links: the name sits beside its icon, not pushed to the far edge. */
html body.qh-portal-og #qh-charcoal-final #railNav .cat-link > .rail-folder-ic { flex: 0 0 auto; margin-right: 8px; }
html body.qh-portal-og #qh-charcoal-final #railNav .cat-link > .rail-folder-ic + span { flex: 1 1 auto; min-width: 0; text-align: left; }
html body.qh-portal-og #qh-charcoal-final #railNav a:not(.cat-link):has(> .rail-folder-ic) { justify-content: flex-start; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final #railNav a > .rail-folder-ic + span { flex: 1 1 auto; min-width: 0; text-align: left; }

/* 826: UI review fixes. */
html body.qh-portal-og #qh-charcoal-final .stock-mark .stock-qty { margin-left: 3px; }
html body.qh-portal-og #qh-charcoal-final .cart-quick-add { flex-wrap: wrap; align-items: center; }
html body.qh-portal-og #qh-charcoal-final .cart-quick-add > label[for="skuInput"] { flex: 1 0 100%; margin: 0; }
html body.qh-portal-og #qh-charcoal-final .desk-ship { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
html body.qh-portal-og #qh-charcoal-final .desk-ship-select { height: auto; min-height: 38px; padding: 4px 10px; font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .ws-head { align-items: center; }
html body.qh-portal-og #qh-charcoal-final .ws-head .ghost-btn { display: inline-flex; align-items: center; min-height: 32px; }
html body.qh-portal-og #qh-charcoal-final .admin-sections { scrollbar-width: none; }
html body.qh-portal-og #qh-charcoal-final .admin-sections::-webkit-scrollbar { display: none; }
@media (min-width: 681px) {
  html body.qh-portal-og #qh-charcoal-final .orders-table tr:not(.order-detail) > td:last-child { text-align: right; white-space: nowrap; }
}
html body.qh-portal-og #qh-charcoal-final .builder-results .sheet-hold { max-width: none; text-align: center; }
html body.qh-portal-og #qh-charcoal-final :is(.sp-hero-photo, .sp-photo) { grid-template: minmax(0, 1fr) / minmax(0, 1fr); padding: 8px; box-sizing: border-box; }
html body.qh-portal-og #qh-charcoal-final :is(.sp-hero-photo, .sp-photo) img { display: block; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; }
@media (min-width: 1100px) {
  html body.qh-portal-og #qh-charcoal-final .fr-brand-hero:has(> .fr-tagline + .fr-blurb) { display: grid; grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr); column-gap: 32px; align-items: start; }
  html body.qh-portal-og #qh-charcoal-final .fr-brand-hero:has(> .fr-tagline + .fr-blurb) > * { grid-column: 1 / -1; }
  html body.qh-portal-og #qh-charcoal-final .fr-brand-hero:has(> .fr-tagline + .fr-blurb) > .fr-brand-mark { grid-column: 1; grid-row: 1; }
  html body.qh-portal-og #qh-charcoal-final .fr-brand-hero:has(> .fr-tagline + .fr-blurb) > .fr-tagline { grid-column: 1; grid-row: 2; }
  html body.qh-portal-og #qh-charcoal-final .fr-brand-hero:has(> .fr-tagline + .fr-blurb) > .fr-catalog { grid-column: 1; grid-row: 3; }
  html body.qh-portal-og #qh-charcoal-final .fr-brand-hero:has(> .fr-tagline + .fr-blurb) > .fr-tagline + .fr-blurb { grid-column: 2; grid-row: 1 / span 3; align-self: center; max-width: 78ch; margin: 0; }
}
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace section.recv-vendor { margin: 0 0 12px; padding: 0; border-bottom: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace section.recv-vendor > .recv-vendor-head { margin-top: 0; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-pick-tools:has(> .ops-seg + .ops-ic-btn) { flex-direction: row; flex-wrap: wrap; align-items: center; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-pick-tools:has(> .ops-seg + .ops-ic-btn) > * { flex: 1 1 100%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-pick-tools:has(> .ops-seg + .ops-ic-btn) > .ops-seg:has(+ .ops-ic-btn) { flex: 1 1 0; width: auto; min-width: 0; max-width: none; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-pick-tools:has(> .ops-seg + .ops-ic-btn) > .ops-seg + .ops-ic-btn { flex: 0 0 auto; align-self: center; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-head { align-items: center; gap: 8px; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-head > div:first-child { flex: 1 1 calc(100% - 60px); min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-head-acts { display: contents; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-head-acts > [data-board-refresh] { order: 1; }
  html body.qh-portal-og #qh-charcoal-final .qh-board .sb-head-acts > :not([data-board-refresh]) { order: 2; }
}

/* 826: Catalog landing Specials link. */
html body.qh-portal-og #qh-charcoal-final .home-specials { display: flex; align-items: center; gap: 12px; max-width: 640px; margin: 4px 0 18px; padding: 10px 14px; border: 2px solid var(--qh-action, #8d421a); border-radius: 12px; background: color-mix(in srgb, var(--qh-action, #8d421a) 7%, var(--paper, #fff)); color: var(--ink); text-decoration: none; }
html body.qh-portal-og #qh-charcoal-final .home-specials:hover { background: color-mix(in srgb, var(--qh-action, #8d421a) 13%, var(--paper, #fff)); }
html body.qh-portal-og #qh-charcoal-final .home-specials-ic { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; background: var(--qh-action, #8d421a); color: var(--qh-action-text, #fff); font-size: 17px; }
html body.qh-portal-og #qh-charcoal-final .home-specials > span:nth-child(2) { display: grid; flex: 1 1 auto; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .home-specials b { font-size: 16px; }
html body.qh-portal-og #qh-charcoal-final .home-specials small { overflow: hidden; color: var(--muted); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .home-specials-go { flex: 0 0 auto; color: var(--qh-action, #8d421a); font-size: 24px; font-weight: 800; line-height: 1; }

/* 926: Buy again strip on the catalog home and folder pages. */
html body.qh-portal-og #qh-charcoal-final .ba-strip { margin: 0 0 20px; padding: 12px 14px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper, #fff); }
html body.qh-portal-og #qh-charcoal-final .ba-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 4px 16px; margin: 0 0 10px; }
html body.qh-portal-og #qh-charcoal-final .ba-head h2 { margin: 0; font-size: 1.1rem; line-height: 1.25; }
html body.qh-portal-og #qh-charcoal-final .ba-head p { margin: 2px 0 0; color: var(--muted); font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .ba-links { display: inline-flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .ba-links a { color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .ba-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
html body.qh-portal-og #qh-charcoal-final .ba-item { display: grid; align-content: space-between; gap: 8px; min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: color-mix(in srgb, var(--line) 18%, var(--paper, #fff)); }
html body.qh-portal-og #qh-charcoal-final .ba-item .item-ic { width: 52px; height: 52px; min-width: 52px; }
html body.qh-portal-og #qh-charcoal-final .ba-item .item-copy small { display: -webkit-box; overflow: hidden; max-width: none; white-space: normal; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
html body.qh-portal-og #qh-charcoal-final .ba-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
html body.qh-portal-og #qh-charcoal-final .ba-meta { flex: 1 1 auto; min-width: 0; color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .ba-foot .action-btn { margin-left: auto; min-height: 0; padding: 5px 12px; }
html body.qh-portal-og #qh-charcoal-final .ba-btns { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; }
html body.qh-portal-og #qh-charcoal-final .ba-btns .action-btn { margin-left: 0; }
html body.qh-portal-og #qh-charcoal-final .ba-btns .part-history-btn { height: auto; min-height: 0; padding: 5px 10px; font-size: 12px; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .ba-strip { padding: 10px; }
  html body.qh-portal-og #qh-charcoal-final .ba-row { display: flex; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x mandatory; }
  html body.qh-portal-og #qh-charcoal-final .ba-item { flex: 0 0 78%; scroll-snap-align: start; }
}

/* 826: Order history header. Title, account line, and window bar in three short rows. */
html body.qh-portal-og #qh-charcoal-final .hist-head { display: grid; gap: 6px; margin: 0 0 12px; }
html body.qh-portal-og #qh-charcoal-final .hist-head-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
html body.qh-portal-og #qh-charcoal-final .hist-head-top h1.page { flex: 1 1 auto; min-width: 0; margin: 0; font-size: 1.45rem; line-height: 1.2; }
html body.qh-portal-og #qh-charcoal-final .hist-head-top h1.page .acct-id-key { margin-left: 10px; font-size: 0.9rem; vertical-align: 2px; }
html body.qh-portal-og #qh-charcoal-final .hist-head-top .crumb-back { flex: 0 0 auto; }
html body.qh-portal-og #qh-charcoal-final .hist-head-top #customerChange { flex: 0 0 auto; }
html body.qh-portal-og #qh-charcoal-final .hist-head-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; }
html body.qh-portal-og #qh-charcoal-final .hist-head-meta .acct-id-meta { margin: 0; }
html body.qh-portal-og #qh-charcoal-final .hist-head-meta .acct-id-more { margin: 0; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .hist-head-meta .acct-id-more > summary { color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .hist-head-meta .acct-id-more[open] { flex-basis: 100%; order: 5; }
html body.qh-portal-og #qh-charcoal-final .hist-head-meta .stock-pref { margin: 0 0 0 auto; }
html body.qh-portal-og #qh-charcoal-final .hist-head .history-retrieve { align-items: center; gap: 6px 12px; margin: 0; max-width: none; padding: 6px 10px; border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .hist-head .history-months { display: inline-flex; align-items: center; gap: 6px; min-width: 0; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .hist-head .history-months select { padding: 4px 8px; }
html body.qh-portal-og #qh-charcoal-final .hist-head .history-retrieve .action-btn { min-height: 0; padding: 5px 14px; }
html body.qh-portal-og #qh-charcoal-final .hist-head .customer-summary { margin: 0; padding: 0; border: 0; background: transparent; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .hist-head { gap: 4px; margin-bottom: 8px; }
  html body.qh-portal-og #qh-charcoal-final .hist-head-top :is(.crumb-back, #customerChange) { display: none; }
  html body.qh-portal-og #qh-charcoal-final .hist-head-top h1.page { font-size: 1.05rem; }
  html body.qh-portal-og #qh-charcoal-final .hist-head-meta .acct-id-meta { flex-basis: 100%; font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final .hist-head-meta .stock-pref { margin: 0; }
  html body.qh-portal-og #qh-charcoal-final .hist-head .history-pull { margin: 0; }
}

/* 826: Operations tabs, per-user order. Arrange button ends the strip; the panel takes drag or arrows. */
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arrange-btn { display: inline-grid; place-items: center; flex: 0 0 auto; align-self: center; width: 34px; height: 34px; min-height: 0; margin-left: auto; padding: 0; border: 1px dashed color-mix(in srgb, var(--qh-action, #8d421a) 45%, var(--line, #d9d1c7)); border-radius: 8px; background: transparent; box-shadow: none; color: var(--muted); cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arrange-btn svg { width: 16px; height: 16px; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arrange-btn:hover,
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arrange-btn.is-on { border-style: solid; border-color: var(--qh-action, #8d421a); color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arrange { margin: 0 0 10px; padding: 10px 12px; border: 2px solid var(--qh-action, #8d421a); border-radius: 12px; background: var(--paper, #fff); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arrange-head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0 0 8px; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arrange-head .also { margin: 0; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arrange-acts { display: flex; gap: 6px; margin-left: auto; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arrange-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arr-item { display: inline-flex; align-items: center; gap: 6px; padding: 4px 4px 4px 6px; border: 1px solid var(--line, #d9d1c7); border-radius: 8px; background: color-mix(in srgb, var(--qh-action, #8d421a) 6%, var(--paper, #fff)); font-size: 13px; font-weight: 700; cursor: grab; user-select: none; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arr-item .ops-nav-ic { width: 16px; height: 16px; color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arr-grip { color: var(--muted); font-size: 12px; letter-spacing: -2px; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arr-item .ghost-btn { min-width: 26px; min-height: 26px; padding: 0 6px; font-size: 16px; line-height: 1; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arr-item.is-dragging { opacity: .45; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arr-item.is-over { border-color: var(--qh-action, #8d421a); box-shadow: inset 3px 0 var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .ops-phone-arrange { display: block; width: 100%; margin-top: 6px; }
@media (min-width: 681px) and (max-width: 1499px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side { gap: 4px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a,
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a:nth-child(n+5) { padding: 4px 9px; }
}
@media (min-width: 681px) and (max-width: 1320px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side .ops-nav-full { display: none; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side .ops-nav-short { display: inline; }
}

/* 826: Repair board. Each stage has its own color on the flow strip, lane, and card edge. */
html body.qh-portal-og #qh-charcoal-final .rp-page { --rp-s1: #2b6cb0; --rp-s2: #6b46c1; --rp-s3: #c98a1b; --rp-s4: #0f766e; --rp-s5: #2f7d4f; --rp-red: #c53030; }
html body.qh-portal-og #qh-charcoal-final :is(.rp-flow-seg, .rp-lane).rp-stage-1 { --rp-c: var(--rp-s1); }
html body.qh-portal-og #qh-charcoal-final :is(.rp-flow-seg, .rp-lane).rp-stage-2 { --rp-c: var(--rp-s2); }
html body.qh-portal-og #qh-charcoal-final :is(.rp-flow-seg, .rp-lane).rp-stage-3 { --rp-c: var(--rp-s3); }
html body.qh-portal-og #qh-charcoal-final :is(.rp-flow-seg, .rp-lane).rp-stage-4 { --rp-c: var(--rp-s4); }
html body.qh-portal-og #qh-charcoal-final :is(.rp-flow-seg, .rp-lane).rp-stage-5 { --rp-c: var(--rp-s5); }
html body.qh-portal-og #qh-charcoal-final .rp-page > *,
html body.qh-portal-og #qh-charcoal-final .rp-lanes { min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .rp-flow { display: flex; gap: 4px; min-width: 0; margin: 0 0 10px; }
html body.qh-portal-og #qh-charcoal-final .rp-flow-seg { display: flex; align-items: baseline; gap: 6px; flex-basis: 0; min-width: 0; padding: 8px 10px; overflow: hidden; border-radius: 8px; background: var(--rp-c); color: #fff; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .rp-flow-seg b { font-size: 20px; line-height: 1; font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .rp-flow-seg small { overflow: hidden; font-size: 12px; font-weight: 700; text-overflow: ellipsis; opacity: .92; }
html body.qh-portal-og #qh-charcoal-final .rp-flow-seg.is-empty { background: color-mix(in srgb, var(--rp-c) 16%, var(--paper, #fff)); color: var(--rp-c); }
html body.qh-portal-og #qh-charcoal-final .rp-lanes { gap: 10px; }
html body.qh-portal-og #qh-charcoal-final .rp-lane { gap: 8px; padding: 0 8px 8px; border: 1px solid color-mix(in srgb, var(--rp-c, var(--line)) 28%, var(--line, #d9d1c7)); border-top: 4px solid var(--rp-c, var(--line)); border-radius: 12px; background: color-mix(in srgb, var(--rp-c, transparent) 5%, var(--paper, #fff)); }
html body.qh-portal-og #qh-charcoal-final .rp-lane h2 { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin: 0 -8px; padding: 8px 10px; border-bottom: 1px solid color-mix(in srgb, var(--rp-c, var(--line)) 20%, var(--line, #d9d1c7)); color: var(--rp-c, var(--muted)); font-size: 0.8rem; letter-spacing: .06em; }
html body.qh-portal-og #qh-charcoal-final .rp-lane h2 small { min-width: 24px; padding: 1px 8px; border-radius: 99px; background: var(--rp-c, var(--muted)); color: #fff; font-size: 12px; text-align: center; letter-spacing: 0; }
html body.qh-portal-og #qh-charcoal-final .rp-lane.is-empty h2 small { background: transparent; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .rp-card { gap: 4px; padding: 9px 10px; border-left-color: var(--rp-c, var(--line)); border-radius: 10px; box-shadow: 0 1px 2px rgba(0,0,0,.06); transition: transform .12s ease, box-shadow .12s ease; }
html body.qh-portal-og #qh-charcoal-final a.rp-card:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,.1); }
html body.qh-portal-og #qh-charcoal-final .rp-card.is-rush { border-left-color: var(--rp-red); }
html body.qh-portal-og #qh-charcoal-final .rp-card.is-late { background: color-mix(in srgb, var(--rp-red) 6%, var(--paper, #fff)); }
html body.qh-portal-og #qh-charcoal-final .rp-card-top { align-items: center; justify-content: flex-start; }
html body.qh-portal-og #qh-charcoal-final .rp-card-top b { flex: 1 1 auto; min-width: 0; font-size: 0.95rem; }
html body.qh-portal-og #qh-charcoal-final .rp-type { flex: 0 0 auto; padding: 1px 5px; border-radius: 4px; background: color-mix(in srgb, var(--rp-c, #555) 14%, var(--paper, #fff)); color: var(--rp-c, var(--ink)); font-size: 10px; font-weight: 800; letter-spacing: .04em; }
html body.qh-portal-og #qh-charcoal-final .rp-age { padding: 0 7px; border-radius: 99px; background: var(--wash, #f1ece6); font-size: 12px; font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .rp-age.is-warn { background: #fbf0dc; color: #825022; }
html body.qh-portal-og #qh-charcoal-final .rp-age.is-old { background: color-mix(in srgb, var(--rp-red) 14%, var(--paper, #fff)); color: var(--rp-red); }
html body.qh-portal-og #qh-charcoal-final .rp-item { color: var(--ink); }
html body.qh-portal-og #qh-charcoal-final .rp-meta { display: flex; align-items: center; gap: 6px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .rp-id { font-variant-numeric: tabular-nums; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .rp-due { padding: 0 6px; border: 1px solid var(--line, #d9d1c7); border-radius: 99px; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .rp-due.rp-late { border-color: var(--rp-red); background: var(--rp-red); color: #fff; }
html body.qh-portal-og #qh-charcoal-final .rp-due.rp-today { border-color: #d97706; background: rgba(217, 119, 6, .16); font-weight: 800; color: inherit; }
html body.qh-portal-og #qh-charcoal-final .rp-card.is-today { border-left-color: #d97706; }
html body.qh-portal-og #qh-charcoal-final .rp-id { white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .rp-card-top b,
html body.qh-portal-og #qh-charcoal-final .rp-item { white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; }
@media (min-width: 1000px) {
  html body.qh-portal-og #qh-charcoal-final .rp-lanes { display: flex; align-items: flex-start; }
  html body.qh-portal-og #qh-charcoal-final .rp-lanes > .rp-lane { flex: 1 1 0; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .rp-lanes > .rp-lane.is-empty { flex: 0 0 132px; }
}
html body.qh-display #qh-charcoal-final .tv-lane .rp-due.rp-today { border-color: #f59e0b; background: #f59e0b; color: #111; font-weight: 800; }
html body.qh-display #qh-charcoal-final .tv-lanes { display: flex; }
html body.qh-display #qh-charcoal-final .tv-lanes > .tv-lane { flex: 1 1 0; min-width: 0; }
html body.qh-display #qh-charcoal-final .tv-lanes > .tv-lane.is-empty { flex: 0 0 9vw; }
html body.qh-portal-og #qh-charcoal-final .rp-tech { display: inline-grid; place-items: center; flex: 0 0 auto; width: 24px; height: 24px; margin-left: auto; border-radius: 50%; background: var(--rp-c, var(--qh-action, #8d421a)); color: #fff; font-size: 10px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .rp-tag { padding: 1px 7px; border-radius: 99px; }
html body.qh-portal-og #qh-charcoal-final .rp-tag.rp-rush { background: var(--rp-red); }
html body.qh-portal-og #qh-charcoal-final .rp-tag.rp-out { background: color-mix(in srgb, var(--rp-s4) 14%, var(--paper, #fff)); color: var(--rp-s4); }
html body.qh-portal-og #qh-charcoal-final .rp-tag.rp-quote { background: #fbf0dc; color: #825022; }
html body.qh-portal-og #qh-charcoal-final .rp-chip { transition: background .12s ease; }
html body.qh-portal-og #qh-charcoal-final .rp-chip[data-rp-filter="rush"] small,
html body.qh-portal-og #qh-charcoal-final .rp-chip[data-rp-filter="late"] small { color: var(--rp-red, #c53030); }
html body.qh-portal-og #qh-charcoal-final .rp-chip.is-on small { color: #fff; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .rp-age.is-warn,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .rp-tag.rp-quote { background: #4a3a1c; color: #f6d79a; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .rp-flow { overflow-x: auto; scrollbar-width: none; }
  html body.qh-portal-og #qh-charcoal-final .rp-flow-seg { flex: 0 0 auto !important; padding: 6px 9px; }
  html body.qh-portal-og #qh-charcoal-final .rp-flow-seg b { font-size: 16px; }
}
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arrange-list { display: grid; grid-template-columns: 1fr; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arr-item { padding: 6px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arr-label { flex: 1 1 auto; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arr-item .ghost-btn { min-width: 40px; min-height: 36px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arr-item [data-ops-move] { font-size: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arr-item [data-ops-move]::before { content: "\2191"; font-size: 17px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arr-item [data-ops-move="1"]::before { content: "\2193"; }
}

/* 826: Margins filters fold away on a phone. */
html body.qh-portal-og #qh-charcoal-final .mb-tools .mb-filter-toggle { display: none; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .mb-tools .mb-filter-toggle { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 46px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
  html body.qh-portal-og #qh-charcoal-final .mb-filter-toggle span { display: grid; min-width: 0; line-height: 1.2; }
  html body.qh-portal-og #qh-charcoal-final .mb-filter-toggle b { font-size: 15px; }
  html body.qh-portal-og #qh-charcoal-final .mb-filter-toggle small { overflow: hidden; color: var(--muted); font-size: 12.5px; text-overflow: ellipsis; white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final .mb-filter-toggle svg { flex: 0 0 auto; width: 18px; height: 18px; transition: transform .15s ease; }
  html body.qh-portal-og #qh-charcoal-final .mb-tools.is-open .mb-filter-toggle svg { transform: rotate(180deg); }
  html body.qh-portal-og #qh-charcoal-final .mb-tools:has(> .mb-filter-toggle):not(.is-open) > :not(.mb-filter-toggle):not(.mb-grow) { display: none !important; }
}

/* 826: Part history chart sized to its drawing on a phone. */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .part-usage-wide .part-usage svg,
  html body.qh-portal-og .part-usage-wide .part-usage svg { width: 100%; height: auto; max-height: none; }
  html body.qh-portal-og .part-usage svg text { font-size: 12px; }
  html body.qh-portal-og .part-usage figcaption { font-size: 12.5px; line-height: 1.35; }
  html body.qh-portal-og #qh-charcoal-final .staff-part-drawer,
  html body.qh-portal-og .staff-part-drawer { width: 100%; max-width: 100%; }
}

/* 826: phone section menu returns on a steady scroll up.
   Stick the closed bar only. The open tool list is taller than the phone screen, and
   sticking that whole list makes the page jump back to the top while scrolling. */
@media (max-width: 680px) {
  html:is([data-chrome-level="2"], [data-chrome-level="3"]) body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-menu:not([open]) { position: sticky; z-index: 18; top: 0; }
  html[data-chrome-level="2"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-menu:not([open]) { animation: qhDropIn 0.16s ease-out; }
  html[data-chrome-level="3"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-menu:not([open]) { top: var(--chrome-h, 54px); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-menu[open] { position: static; animation: none; overflow-anchor: none; }
  html[data-chrome-level="2"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-sheet-actions { top: calc(var(--ops-side-h, 46px) + 8px); }
  html[data-chrome-level="3"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-sheet-actions { top: calc(var(--chrome-h, 54px) + var(--ops-side-h, 46px) + 8px); }
}

/* 826: Resources crimp chart. */
html body.qh-portal-og #qh-charcoal-final .crimp-seg {
  display: inline-flex;
  max-width: 100%;
  margin: 0 0 10px;
  border: 1px solid var(--line, #d9d1c7);
  border-radius: 6px;
  overflow: hidden;
  background: var(--paper, #fffefa);
}
html body.qh-portal-og #qh-charcoal-final .crimp-seg-btn {
  flex: 1 1 auto;
  min-height: 36px;
  padding: 6px 14px;
  border: 0;
  border-left: 1px solid var(--line, #d9d1c7);
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 13.5px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
html body.qh-portal-og #qh-charcoal-final .crimp-seg-btn:first-child { border-left: 0; }
html body.qh-portal-og #qh-charcoal-final .crimp-seg-btn.is-on { background: var(--qh-action, #f36c21); color: #fff; }
html body.qh-portal-og #qh-charcoal-final .crimp-opts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 6px;
}
html body.qh-portal-og #qh-charcoal-final .crimp-opt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  min-height: 40px;
  padding: 6px 9px;
  border: 1px solid var(--line, #d9d1c7);
  border-radius: 6px;
  background: var(--paper, #fffefa);
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
html body.qh-portal-og #qh-charcoal-final .crimp-opt b { font-size: 13.5px; font-weight: 800; line-height: 1.2; }
html body.qh-portal-og #qh-charcoal-final .crimp-opt small { color: var(--muted); font-size: 11.5px; font-weight: 600; line-height: 1.25; }
html body.qh-portal-og #qh-charcoal-final .crimp-opts:not(.crimp-opts-sys) .crimp-opt small {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
html body.qh-portal-og #qh-charcoal-final .crimp-opt:hover { border-color: color-mix(in srgb, var(--qh-action, #f36c21) 55%, var(--line, #d9d1c7)); }
html body.qh-portal-og #qh-charcoal-final .crimp-opt.is-on {
  border-color: var(--qh-action, #f36c21);
  box-shadow: inset 3px 0 0 var(--qh-action, #f36c21);
  background: color-mix(in srgb, var(--qh-action, #f36c21) 9%, var(--paper, #fffefa));
}
html body.qh-portal-og #qh-charcoal-final .ic-step.is-done { padding-top: 8px; padding-bottom: 8px; }
html body.qh-portal-og #qh-charcoal-final .ic-step.is-done .fx-step-head { flex-wrap: nowrap; margin: 0; }
html body.qh-portal-og #qh-charcoal-final .ic-step.is-done .fx-step-head .eyebrow { flex: 0 1 auto; }
html body.qh-portal-og #qh-charcoal-final .ic-step.is-done .ic-picked { flex: 1 1 auto; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .ic-picked { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 0; font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .ic-picked span { color: var(--muted); font-size: 13px; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .fx-step-head .ic-change { margin-left: auto; }
html body.qh-portal-og #qh-charcoal-final .ic-od-opts { grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); }
html body.qh-portal-og #qh-charcoal-final .ic-part-opts { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
html body.qh-portal-og #qh-charcoal-final .crimp-opt.ic-pic-opt { justify-content: flex-start; gap: 3px; }
html body.qh-portal-og #qh-charcoal-final .ic-pic { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 96px; margin-bottom: 4px; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .ic-pic.is-none { display: none; }
html body.qh-portal-og #qh-charcoal-final .ic-pic img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
html body.qh-portal-og #qh-charcoal-final .ic-pic small { position: absolute; left: 4px; bottom: 3px; padding: 1px 5px; color: #444 !important; background: rgba(255, 255, 255, 0.9); border-radius: 4px; font-size: 10.5px !important; }
html body.qh-portal-og #qh-charcoal-final .ic-pic.is-big { flex: 0 0 150px; width: 150px; height: 120px; margin: 0; }
html body.qh-portal-og #qh-charcoal-final .ic-result { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; border: 2px solid var(--qh-action, #f36c21); }
html body.qh-portal-og #qh-charcoal-final .ic-result-main { flex: 1 1 240px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .ic-result-main .eyebrow { margin: 0; }
html body.qh-portal-og #qh-charcoal-final .ic-crimp { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; margin: 2px 0 4px; }
html body.qh-portal-og #qh-charcoal-final .ic-crimp b { font-size: 30px; font-weight: 900; line-height: 1.1; }
html body.qh-portal-og #qh-charcoal-final .ic-crimp.is-none b { font-size: 20px; color: #a3471b; }
html body.qh-portal-og #qh-charcoal-final .ic-part { margin: 4px 0; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .ic-full { margin: 10px 0; }
html body.qh-portal-og #qh-charcoal-final .ic-full > summary { padding: 8px 0; font-weight: 800; cursor: pointer; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .ic-pic.is-big { flex-basis: 100%; width: 100%; height: 140px; }
  html body.qh-portal-og #qh-charcoal-final .ic-part-opts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .ic-crimp.is-none b { color: #f0a35a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .crimp-seg-btn.is-on { background: #9a4518; color: #fffefa; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .crimp-opt.is-on {
  border-color: #9a4518;
  box-shadow: inset 3px 0 0 #9a4518;
  background: color-mix(in srgb, #9a4518 24%, var(--paper, #1f1b18));
}
html body.qh-portal-og #qh-charcoal-final .crimp-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
html body.qh-portal-og #qh-charcoal-final .crimp-table th {
  padding: 7px 10px;
  text-align: left;
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
  background: color-mix(in srgb, var(--qh-action, #f36c21) 9%, var(--paper, #fff));
}
html body.qh-portal-og #qh-charcoal-final .crimp-table td { padding: 8px 10px; vertical-align: top; border-top: 1px solid var(--line, #d9d1c7); }
html body.qh-portal-og #qh-charcoal-final .crimp-table .crimp-size { white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .crimp-table .crimp-size small { display: block; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .crimp-table .crimp-od { white-space: nowrap; font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .crimp-table .crimp-od span { display: block; }
html body.qh-portal-og #qh-charcoal-final .crimp-table .crimp-od span:first-child b { font-size: 16px; }
html body.qh-portal-og #qh-charcoal-final .crimp-table .crimp-note { min-width: 14em; color: var(--muted); font-size: 12.5px; }
html body.qh-portal-og #qh-charcoal-final .crimp-setup { white-space: nowrap; font-size: 12.5px; }
html body.qh-portal-og #qh-charcoal-final .crimp-muted { color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .crimp-src { font-size: 12px; }

/* 826: Midwest Fasteners list. */
html body.qh-portal-og #qh-charcoal-final .mw-muted { color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .mw-table .mw-id { font-weight: 700; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .mw-table .ff-buy .qty-add + .qty-add { margin-top: 6px; }

/* 826-mw5: Midwest odd hardware under Fasteners. */
html body.qh-portal-og #qh-charcoal-final .mw-odd-note { margin: 4px 0 10px; }
html body.qh-portal-og #qh-charcoal-final .mw-odd-detail { display: flex; gap: 16px; align-items: flex-start; padding: 6px 2px; }
html body.qh-portal-og #qh-charcoal-final .mw-odd-photo { width: 140px; height: 140px; object-fit: contain; border: 1px solid var(--line); border-radius: 8px; background: #fff; flex: 0 0 auto; }
html body.qh-portal-og #qh-charcoal-final .mw-odd-specs { flex: 1 1 auto; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .mw-odd-specs dl { display: grid; grid-template-columns: max-content 1fr; gap: 2px 14px; margin: 8px 0; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .mw-odd-specs dt { color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .mw-odd-specs dd { margin: 0; color: var(--ink); }
html body.qh-portal-og #qh-charcoal-final .mw-odd-packs-head { margin: 10px 0 4px; font-weight: 700; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .mw-odd-packs { list-style: none; margin: 0; padding: 0; }
html body.qh-portal-og #qh-charcoal-final .mw-odd-packs li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 4px 0; border-top: 1px solid var(--line); font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .mw-odd-packs .price-cell { margin-left: auto; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .mw-quote-note { border-left: 3px solid #c77700; padding-left: 10px; }
@media (max-width: 640px) {
  html body.qh-portal-og #qh-charcoal-final .mw-odd-detail { flex-direction: column; }
  html body.qh-portal-og #qh-charcoal-final .mw-odd-photo { width: 110px; height: 110px; }
}

/* 828: Locations. Area sections of unit cards with spot buttons, the parts-at-a-spot table,
   the layout editor, and location chips on part details, pick sheets and receiving lines. */
html body.qh-portal-og #qh-charcoal-final .loc-chip { display: inline-flex; align-items: baseline; gap: 4px; margin: 0 4px 2px 0; padding: 1px 8px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); color: var(--ink); font-size: 12px; font-weight: 800; letter-spacing: .02em; line-height: 1.6; text-decoration: none; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .loc-chip small { color: var(--muted); font-size: 11px; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final a.loc-chip:hover { border-color: var(--qh-action, var(--orange)); }
html body.qh-portal-og #qh-charcoal-final .loc-chip.is-koble { border-style: dashed; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .loc-chip.is-gone { border-color: var(--danger, #c0392b); color: var(--danger, #c0392b); }
html body.qh-portal-og #qh-charcoal-final .part-loc { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 2px 4px; }
html body.qh-portal-og #qh-charcoal-final .part-loc .loc-edit { font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .part-loc.is-pick { display: flex; flex-basis: 100%; margin-top: 3px; }
html body.qh-portal-og #qh-charcoal-final .part-loc.is-pick:empty { display: none; }
html body.qh-portal-og #qh-charcoal-final .part-loc.is-pick .loc-words { margin-right: 8px; color: var(--muted); font-size: 11.5px; }
html body.qh-portal-og #qh-charcoal-final .part-loc-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin: 8px 0; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-find { margin: 4px 0 0; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-find input { width: 100%; max-width: 560px; font: inherit; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-hits { display: grid; gap: 6px; margin: 8px 0 14px; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-hits li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 12px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-hit-part { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-hit-locs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-code-hits { display: flex; flex-wrap: wrap; gap: 4px; margin: 8px 0; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-zone { margin: 18px 0 0; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-zone h2 { margin: 0 0 8px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-units { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-unit { padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-unit.is-on { border-color: var(--qh-action, var(--orange)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--qh-action, var(--orange)) 25%, transparent); }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-unit-head { display: flex; align-items: baseline; gap: 8px; color: var(--ink); text-decoration: none; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-unit-head b { flex: 1 1 auto; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-unit-head code { padding: 0; background: none; color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-unit-head small { min-width: 24px; padding: 0 6px; border-radius: 999px; background: color-mix(in srgb, var(--muted) 14%, var(--paper)); font-size: 12px; font-weight: 800; text-align: center; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-unit .also { margin: 4px 0 0; font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-spots { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-spot { display: inline-flex; align-items: baseline; justify-content: center; gap: 3px; min-width: 34px; height: 30px; padding: 0 8px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); font-size: 13px; font-weight: 800; line-height: 28px; text-decoration: none; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-spot small { color: var(--qh-action, var(--orange)); font-size: 11px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-spot.has-parts { background: color-mix(in srgb, var(--qh-action, var(--orange)) 8%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-spot.is-on { border-color: var(--qh-action, var(--orange)); background: var(--qh-action, var(--orange)); color: #fff; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-spot.is-on small { color: #fff; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-focus { margin: 14px 0 0; padding: 12px 14px; border: 1px solid var(--qh-action, var(--orange)); border-radius: 12px; background: var(--paper); scroll-margin-top: 90px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-focus-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 8px 12px; margin: 0 0 8px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-focus-head .also { margin: 2px 0 0; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-table { width: 100%; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-row-acts { text-align: right; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-row-acts .ghost-btn + .ghost-btn { margin-left: 4px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-lz-list { display: grid; gap: 10px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-lz { display: grid; gap: 8px; margin: 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-lz > .ghost-btn { justify-self: start; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-lz-head { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 12px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-lz-head label:first-child { flex: 1 1 220px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-lz-head label:nth-child(2) { flex: 0 0 90px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-lu-list { display: grid; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-lu-row { display: grid; grid-template-columns: 80px minmax(120px, 1fr) minmax(170px, 1.4fr) minmax(120px, 1.2fr) auto; align-items: center; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-lu-row input { width: 100%; min-width: 0; font: inherit; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-err { color: var(--danger, #c0392b); font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-err:empty { display: none; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-units { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
  html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-lu-row { grid-template-columns: 70px minmax(0, 1fr) auto; grid-template-areas: "id label del" "spots spots spots" "note note note"; padding: 0 0 6px; border-bottom: 1px solid var(--line); }
  html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-lu-row [data-u-id] { grid-area: id; }
  html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-lu-row [data-u-label] { grid-area: label; }
  html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-lu-row [data-u-spots] { grid-area: spots; }
  html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-lu-row [data-u-note] { grid-area: note; }
  html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-lu-row [data-loc-del-unit] { grid-area: del; }
}
@media print {
  html body.qh-portal-og #qh-charcoal-final .part-loc .loc-edit { display: none; }
  html body.qh-portal-og #qh-charcoal-final .loc-chip { border-color: #999; }
}

/* 828: Passkeys. Second sign-in button on the gate; device list on the Account page. */
html body .gate-card button.gate-passkey { border: 1px solid var(--line); background: transparent; color: var(--ink); }
html body .gate-card button.gate-passkey:hover { border-color: var(--orange); }
html body.qh-portal-og #qh-charcoal-final .acct-passkeys { max-width: 560px; margin: 18px 0; }
html body.qh-portal-og #qh-charcoal-final .acct-passkeys h2 { margin: 0 0 6px; font-size: 17px; }
html body.qh-portal-og #qh-charcoal-final .acct-passkey-list li { align-items: center; gap: 10px; }
html body.qh-portal-og #qh-charcoal-final .acct-passkey-list small { color: var(--muted); }

/* 828: Customer picker views and the one-block assembly list on orders. */
html body.qh-portal-og #qh-charcoal-final .cust-sort { margin-bottom: 6px; }
html body.qh-portal-og #qh-charcoal-final .customer-hit .cust-year { color: var(--ink); font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .order-detail .asm-parts .asm-sku .stock-mark { margin-left: 0 !important; }
html body.qh-portal-og #qh-charcoal-final .order-lines li.ol-asm > .ol-nums { align-self: flex-start; padding-top: 4px; }
@media print {
  html body.qh-portal-og #qh-charcoal-final .asm-parts ul { border-left-color: #999; }
}
/* Catalog group tables and best sellers (folder-groups.json) */
html body.qh-portal-og #qh-charcoal-final .best-tag{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:1px 7px;border-radius:999px;background:#fff4d6;border:1px solid #e0b64a;color:#7a5200;font-size:11px;font-weight:800;line-height:1.5;letter-spacing:.02em;white-space:nowrap;vertical-align:middle;}
html body.qh-portal-og #qh-charcoal-final .vol-star{margin-left:4px;color:#1f7a3a;font-size:14px;line-height:1;vertical-align:middle;}
html body.qh-portal-og #qh-charcoal-final .acct-star{margin-left:3px;color:#1d4e89;font-size:11px;line-height:1;vertical-align:middle;}
html body.qh-portal-og #qh-charcoal-final .oe-ship-hint{display:block;margin-top:2px;color:#1d4e89;font-size:12px;font-weight:800;}
html body.qh-portal-og #qh-charcoal-final .oe-lines.is-cart .oe-line-tools{display:flex;gap:4px;align-items:center;justify-content:flex-end;}
html body.qh-portal-og #qh-charcoal-final .best-tag::before{content:"\2605";font-size:10px;line-height:1;}
html body.qh-portal-og #qh-charcoal-final .bs-type-tile .best-tag{justify-self:start;margin:2px 0 0;font-size:11px;line-height:1.5;}
html body.qh-portal-og #qh-charcoal-final .bs-type-tile.is-best{border-top-color:#e0b64a;}
html body.qh-portal-og #qh-charcoal-final .bs-top-grid{padding:4px 0 8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}
html body.qh-portal-og #qh-charcoal-final .bs-top-grid .bs-type-tile{grid-template-rows:96px auto auto auto auto;background:var(--paper,#fff);}
html body.qh-portal-og #qh-charcoal-final .bs-top-grid .bs-type-photo{height:96px;}
html body.qh-portal-og #qh-charcoal-final .bs-type-head h2 .best-tag{font-size:12px;}
html body.qh-portal-og #qh-charcoal-final .fg-jump{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 18px;}
html body.qh-portal-og #qh-charcoal-final .fg-chip{border:1px solid var(--line,#d9d1c7);background:var(--paper,#fff);color:inherit;border-radius:999px;padding:6px 12px;font:inherit;font-weight:700;font-size:13px;cursor:pointer;}
html body.qh-portal-og #qh-charcoal-final .fg-chip small{color:var(--muted);font-weight:600;margin-left:2px;}
html body.qh-portal-og #qh-charcoal-final .fg-chip:hover{border-color:var(--qh-action,#8d421a);color:var(--qh-action,#8d421a);}
html body.qh-portal-og #qh-charcoal-final .fg-section,html body.qh-portal-og #qh-charcoal-final .fg-other{scroll-margin-top:calc(var(--chrome-h,96px) + 12px);}
html body.qh-portal-og #qh-charcoal-final .fg-bucket{margin-top:22px;}
html body.qh-portal-og #qh-charcoal-final .fg-intro{margin:0 0 10px;padding:10px 14px;border-left:3px solid var(--qh-action,#8d421a);background:var(--paper,#fff);font-size:14px;line-height:1.5;max-width:980px;}
html body.qh-portal-og #qh-charcoal-final .fg-intro p{margin:0 0 6px;}
html body.qh-portal-og #qh-charcoal-final .fg-intro ul{margin:4px 0 6px 18px;padding:0;}
html body.qh-portal-og #qh-charcoal-final .fg-intro li{margin:2px 0;}
html body.qh-portal-og #qh-charcoal-final .fg-intro .fg-alt{font-size:13px;}
html body.qh-portal-og #qh-charcoal-final .fg-intro .fg-source{margin:0;color:var(--muted);font-size:12px;}
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .fg-jump{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;}
  html body.qh-portal-og #qh-charcoal-final .fg-chip{flex:0 0 auto;}
  html body.qh-portal-og #qh-charcoal-final .fg-intro{padding:8px 10px;font-size:13px;}
}
/* Catalog column labels, stock pills, and order stepper */
html body.qh-portal-og #qh-charcoal-final table.adapter-results {
  display: table !important;
  width: 100% !important;
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 0;
}
html body.qh-portal-og #qh-charcoal-final table.adapter-results thead { display: table-header-group !important; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results tbody { display: table-row-group !important; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results tr { display: table-row !important; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results tbody tr[hidden] { display: none !important; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results :is(th, td) {
  display: table-cell !important;
  vertical-align: middle;
  height: auto !important;
  min-height: 0 !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--qh-line, var(--line));
  overflow: hidden;
  background: transparent;
}
html body.qh-portal-og #qh-charcoal-final table.adapter-results :is(th.col-end, td.col-end) { display: none !important; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results :is(th.col-stock, td.col-stock) { width: 1%; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results :is(th.col-price, td.col-price) { width: 1%; white-space: nowrap; text-align: right; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results :is(th.col-history, td.col-history) { width: 1%; white-space: nowrap; max-width: none; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results :is(th.col-add, td.col-add) { width: 1%; white-space: nowrap; text-align: right; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results thead th {
  position: sticky;
  top: calc(var(--chrome-h, 96px) + var(--family-h, 0px));
  z-index: 6;
  background: var(--qh-soft, #f3f0ea);
  color: var(--qh-muted, #5c574f);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  box-shadow: inset 0 -1px 0 var(--qh-line, var(--line));
}
html body.qh-portal-og #qh-charcoal-final .app-chrome.is-away ~ .shell table.adapter-results thead th { top: var(--family-h, 0px); }
html body.qh-portal-og #qh-charcoal-final table.adapter-results tr.sheet-size-row th,
html body.qh-portal-og #qh-charcoal-final table.adapter-results tr.group-row td,
html body.qh-portal-og #qh-charcoal-final table.adapter-results tr.detail-row td {
  overflow: visible;
  white-space: normal;
  text-align: left;
  color: inherit;
}
html body.qh-portal-og #qh-charcoal-final table.adapter-results tr.sheet-size-row th { font-size: 14px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-part,
html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy,
html body.qh-portal-og #qh-charcoal-final table.adapter-results .sku-hit,
html body.qh-portal-og #qh-charcoal-final table.adapter-results .item-sku-line { min-width: 0; max-width: 100%; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy { overflow: hidden; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results .item-sku-line { overflow: hidden; text-overflow: ellipsis; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results .best-tag { flex: 0 0 auto; }
/* A one-line description sized the part column to its full length and pushed History and
   Order past the window. max-width: 0 gives the part column only the width left over. */
@media (min-width: 1100px) {
  html body.qh-portal-og #qh-charcoal-final table.adapter-results { width: 100% !important; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results :is(th.col-part, td.col-part) { width: auto; max-width: 0; }
}
html body.qh-portal-og #qh-charcoal-final td.col-stock .stock-mark,
html body.qh-portal-og #qh-charcoal-final .fr-card-head .stock-mark {
  display: inline-flex;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  white-space: nowrap;
}
html body.qh-portal-og #qh-charcoal-final td.col-stock .stock-mark .stock-dot,
html body.qh-portal-og #qh-charcoal-final .fr-card-head .stock-mark .stock-dot { display: none; }
html body.qh-portal-og #qh-charcoal-final td.col-stock .stock-mark.in-stock,
html body.qh-portal-og #qh-charcoal-final .fr-card-head .stock-mark.in-stock { background: #e5f6ea; color: #146c36; }
html body.qh-portal-og #qh-charcoal-final td.col-stock .stock-mark.in-stock::before,
html body.qh-portal-og #qh-charcoal-final .fr-card-head .stock-mark.in-stock::before { content: "\2713"; font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final td.col-stock .stock-mark.special,
html body.qh-portal-og #qh-charcoal-final .fr-card-head .stock-mark.special { background: #fde8e6; color: #b42318; }
html body.qh-portal-og #qh-charcoal-final td.col-stock .stock-mark.special::before,
html body.qh-portal-og #qh-charcoal-final .fr-card-head .stock-mark.special::before { content: "\2715"; font-size: 11px; }
html body.qh-portal-og #qh-charcoal-final td.col-stock .stock-mark.catalog-only,
html body.qh-portal-og #qh-charcoal-final td.col-stock .stock-mark.unknown,
html body.qh-portal-og #qh-charcoal-final .fr-card-head .stock-mark.catalog-only,
html body.qh-portal-og #qh-charcoal-final .fr-card-head .stock-mark.unknown { background: #eeeae4; color: #5c6166; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-price .price-cell {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 800;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-price .price-cell.pending,
html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-price .price-cell.unavailable { font-weight: 600; font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .qty-step {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--qh-line, var(--line));
  border-radius: 6px;
  overflow: hidden;
  background: var(--qh-paper, #fff);
}
html body.qh-portal-og #qh-charcoal-final .qty-nudge {
  width: 28px;
  min-height: 32px;
  padding: 0;
  border: 0;
  background: var(--qh-soft, #f3f0ea);
  color: inherit;
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
html body.qh-portal-og #qh-charcoal-final .qty-nudge:hover { background: #e4ddd2; }
html body.qh-portal-og #qh-charcoal-final .qty-step .qty {
  width: 36px !important;
  min-width: 36px !important;
  flex: 0 0 36px !important;
  height: 32px;
  min-height: 32px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  border-left: 1px solid var(--qh-line, var(--line));
  border-right: 1px solid var(--qh-line, var(--line));
  background: transparent;
  text-align: center;
  font-variant-numeric: tabular-nums;
  -moz-appearance: textfield;
  appearance: textfield;
}
html body.qh-portal-og #qh-charcoal-final .qty-step .qty::-webkit-outer-spin-button,
html body.qh-portal-og #qh-charcoal-final .qty-step .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results .add-btn,
html body.qh-portal-og #qh-charcoal-final .fr-card .add-btn,
html body.qh-portal-og #qh-charcoal-final .ff-buy .add-btn,
html body.qh-portal-og #qh-charcoal-final .ff-row .add-btn,
html body.qh-portal-og #qh-charcoal-final .sp-product .add-btn {
  width: auto !important;
  min-width: 52px;
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 6px;
  background: #8d421a;
  color: #fff;
  font-weight: 800;
}
html body.qh-portal-og #qh-charcoal-final table.adapter-results .add-btn:hover,
html body.qh-portal-og #qh-charcoal-final .fr-card .add-btn:hover,
html body.qh-portal-og #qh-charcoal-final .ff-buy .add-btn:hover,
html body.qh-portal-og #qh-charcoal-final .ff-row .add-btn:hover,
html body.qh-portal-og #qh-charcoal-final .sp-product .add-btn:hover { background: #6f3414; color: #fff; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add .qty-add {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-history-btn { max-width: none; }
/* Stock, price, History and Order need about 630px beside the part, which with the filter
   column only fits from 1100px. Narrower windows stack each part instead. */
@media (max-width: 1099px) {
  html body.qh-portal-og #qh-charcoal-final table.adapter-results,
  html body.qh-portal-og #qh-charcoal-final table.adapter-results tbody { display: block !important; width: 100% !important; table-layout: auto; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results thead { display: none !important; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results tbody tr:not(.detail-row):not(.group-row):not(.sheet-size-row) {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) max-content max-content !important;
    grid-template-areas: "part part part part" "stock price history add" !important;
    align-items: center;
    column-gap: 8px;
    row-gap: 6px;
    width: 100%;
    padding: 8px;
  }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    position: static !important;
  }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-part { grid-area: part; overflow: visible; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-stock { grid-area: stock; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-price { grid-area: price; text-align: left; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-history { grid-area: history; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-add { grid-area: add; justify-self: end; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    column-gap: 8px;
    align-items: start;
    overflow: visible;
  }
}
/* Stock pill, price, History and the quantity buttons need about 670px in one line, so a
   stacked row squeezed the price to nothing and pushed Add off the screen. */
@media (max-width: 1099px) {
  html body.qh-portal-og #qh-charcoal-final table.adapter-results tbody tr:not(.detail-row):not(.group-row):not(.sheet-size-row) {
    grid-template-columns: minmax(0, 1fr) max-content !important;
    grid-template-areas: "part part" "stock price" "history add" !important;
  }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-price { justify-self: end; text-align: right; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-history { justify-self: start; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-part,
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy { min-width: 0; max-width: 100%; }
}
/* The family bar height is measured into --family-h, so two lines keep the sticky rows right. */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-family-title {
    white-space: normal;
    overflow: hidden;
    text-overflow: clip;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.2;
  }
}
@media (max-width: 420px) {
  html body.qh-portal-og #qh-charcoal-final .cc-header { grid-template-columns: auto 34px minmax(0, 1fr) auto 36px 40px !important; }
}
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final table.adapter-results thead {
    top: calc(var(--chrome-h, 96px) + var(--refine-strip, 0px) + var(--family-h, 0px));
  }
  html body.qh-portal-og #qh-charcoal-final .app-chrome.is-away ~ .shell table.adapter-results thead {
    top: calc(var(--refine-strip, 0px) + var(--family-h, 0px));
  }
}
/* Stacked catalog rows, two lines per part: the part with its price, then availability,
   a History icon, and the order buttons. Three lines took about 140px a part. */
@media (max-width: 1099px) {
  html body.qh-portal-og #qh-charcoal-final table.adapter-results tbody tr:not(.detail-row):not(.group-row):not(.sheet-size-row) {
    grid-template-columns: minmax(0, 1fr) max-content max-content !important;
    grid-template-areas: "part part price" "stock history add" !important;
    column-gap: 8px;
    row-gap: 4px;
    padding: 6px 8px;
  }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-part { align-self: start; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-price {
    align-self: start;
    justify-self: end;
    max-width: 118px;
    text-align: right;
    font-size: 13px;
    line-height: 1.2;
    white-space: normal;
  }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-history { justify-self: end; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-stock { min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .stock-mark { max-width: 100%; overflow: hidden; font-size: 11.5px; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .stock-word { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy { row-gap: 1px; grid-template-columns: 34px minmax(0, 1fr); }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy .item-ic { width: 34px; height: 34px; grid-row: 1 / span 2; align-self: start; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-price .price-cell { display: inline-block; overflow: visible; text-overflow: clip; white-space: normal; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy .item-ic img { max-width: 100%; max-height: 100%; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-history-btn {
    position: relative;
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    padding: 0 !important;
    overflow: hidden;
    font-size: 0 !important;
  }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-history-btn::before {
    content: "";
    position: absolute;
    inset: 7px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3Cpath d='M12 7v5l4 2'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3Cpath d='M12 7v5l4 2'/%3E%3C/svg%3E") center / contain no-repeat;
  }
}
/* Pickable: how much of each open order the shelf covers right now. */
body.qh-portal-og .pick-ready {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin-top: 3px;
  color: var(--muted, #667085);
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.2;
}
body.qh-portal-og .pick-ready-bar {
  flex: 0 0 52px;
  height: 6px;
  overflow: hidden;
  border-radius: 3px;
  background: rgba(127, 127, 127, 0.24);
}
body.qh-portal-og .pick-ready-bar i { display: block; height: 100%; background: currentColor; }
body.qh-portal-og .pick-ready-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.qh-portal-og .pick-ready.is-ready,
body.qh-portal-og .pick-supply.is-ready { color: #2f9a57; }
body.qh-portal-og .pick-ready.is-part,
body.qh-portal-og .pick-supply.is-partial { color: #b7790c; }
body.qh-portal-og .pick-ready.is-short,
body.qh-portal-og .pick-supply.is-none { color: #c4452c; }
body.qh-portal-og .pick-sheet-head .pick-ready { margin-top: 6px; font-size: 13px; }
body.qh-portal-og .pick-sheet-head .pick-ready-bar { flex-basis: 96px; height: 8px; border-radius: 4px; }
body.qh-portal-og .pick-nums .pick-supply,
body.qh-portal-og .recv-state.pick-supply { font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board .pick-order.is-short.is-part { border-left-color: #d9a21f; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .pick-board .pick-order.is-short.is-unknown { border-left-color: #8a94a0; }
html[data-theme="dark"] body.qh-portal-og .pick-ready.is-ready,
html[data-theme="dark"] body.qh-portal-og .pick-supply.is-ready { color: #8fe0b0; }
html[data-theme="dark"] body.qh-portal-og .pick-ready.is-part,
html[data-theme="dark"] body.qh-portal-og .pick-supply.is-partial { color: #ffd479; }
html[data-theme="dark"] body.qh-portal-og .pick-ready.is-short,
html[data-theme="dark"] body.qh-portal-og .pick-supply.is-none { color: #ffaa96; }
.sales-hour-note { margin: 4px 0 0; font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-month-row.is-hours {
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
}
/* Hose-end thread picker: a joined strip of icon tiles instead of round pills. */
html body.qh-portal-og #qh-charcoal-final .hose-thread-strip {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(68px, 1fr));
  gap: 1px;
  margin: 8px 0 12px;
  overflow: hidden;
  border: 1px solid var(--line, #d0d5dd);
  border-radius: 6px;
  background: var(--line, #d0d5dd);
}
html body.qh-portal-og #qh-charcoal-final .hose-thread-pick {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-width: 0;
  min-height: 54px;
  padding: 5px 4px 6px;
  border: 0;
  border-radius: 0;
  background: var(--paper, #fff);
  color: var(--ink, #1d2939);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  cursor: pointer;
}
html body.qh-portal-og #qh-charcoal-final .hose-thread-pick img { width: 26px; height: 26px; object-fit: contain; }
html body.qh-portal-og #qh-charcoal-final .hose-thread-pick span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .hose-thread-pick:hover { background: rgba(141, 66, 26, 0.06); }
html body.qh-portal-og #qh-charcoal-final .hose-thread-pick.is-on {
  background: rgba(141, 66, 26, 0.12);
  color: #8d421a;
  box-shadow: inset 0 -3px 0 #8d421a;
}
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .hose-thread-pick.is-on { color: #f0b48a; box-shadow: inset 0 -3px 0 #f0b48a; }
/* Phones and tablets: one row that scrolls sideways, so the thread picker stays one tile tall. */
@media (max-width: 1099px) {
  html body.qh-portal-og #qh-charcoal-final .hose-thread-strip {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 64px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  html body.qh-portal-og #qh-charcoal-final .hose-thread-strip::-webkit-scrollbar { display: none; }
  html body.qh-portal-og #qh-charcoal-final .hose-thread-pick { min-height: 52px; font-size: 11px; }
  html body.qh-portal-og #qh-charcoal-final .hose-thread-pick img { width: 22px; height: 22px; }
}

/* Phone dropdowns stay at 16px text so iOS does not zoom, a step under a full 44px tap. */
@media (max-width: 680px) {
  html body.qh-portal-og select,
  html body.qh-portal-og .fx-page .fx-field select {
    font-size: 16px;
    min-height: 36px;
  }
}

/* 836 audit QH-14: an on-hand count below zero reads as a problem, not a number. */
html body.qh-portal-og #qh-charcoal-final .stock-neg { color: #b42318; }
html body.qh-portal-og #qh-charcoal-final .stock-neg small { font-size: 10.5px; font-weight: 600; color: inherit; white-space: nowrap; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .stock-neg { color: #f97066; }

/* 836 audit QH-22: destructive actions sit apart from Save. */
html body.qh-portal-og #qh-charcoal-final .rp-danger {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin: 4px 0 16px;
  padding: 10px 12px;
  border: 1px dashed #d0a19a;
  border-radius: 6px;
}
html body.qh-portal-og #qh-charcoal-final .rp-danger .also { margin: 0; flex: 1 1 240px; }
html body.qh-portal-og .admin-savebar .admin-undo-save { margin-left: auto; }
html body.qh-portal-og .admin-danger-row { margin: 14px 0 6px; padding-top: 10px; border-top: 1px dashed var(--line); }
html body.qh-portal-og .ghost-btn.is-danger,
html body.qh-portal-og #qh-charcoal-final .ghost-btn.is-danger { color: #b42318; border-color: #e3b4ad; }
html[data-theme="dark"] body.qh-portal-og .ghost-btn.is-danger,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .ghost-btn.is-danger { color: #f97066; border-color: #7a3a33; }
html body.qh-portal-og .admin-editor-note { margin: 2px 0 0; font-size: 11.5px; }

/* 836 audit QH-16: supplier id beside the name, and the full-year context line. */
html body.qh-portal-og #qh-charcoal-final .ops-vendor-id { font-size: 12px; font-weight: 600; color: var(--muted); letter-spacing: .02em; }
html body.qh-portal-og #qh-charcoal-final .ops-year-note { margin: 4px 0 10px; }

/* 836 audit QH-25: folded hose picks. */
html body.qh-portal-og #qh-charcoal-final .hose-top-change { margin: 6px 0 4px; }

/* 836 audit QH-18: on a phone, part descriptions on pick and receiving wrap instead of cutting off. */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .recv-part-title,
  html body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-part-title {
    display: block;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    -webkit-line-clamp: unset;
  }
}


/* 836 QH-21: Admin header — change-log note and sign-in line share one row; readable control text. */
html body.qh-portal-og .admin-editor-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:4px 12px; margin:2px 0 6px; }
html body.qh-portal-og .admin-editor-row .admin-editor { margin-left:0; font-size:13px; }
html body.qh-portal-og .admin-editor-row .admin-editor input { font-size:14px; }
html body.qh-portal-og .admin-editor-row .admin-editor-note { margin:0; font-size:12.5px; }
html body.qh-portal-og .admin-sections a { font-size:14px; }
@media (max-width:680px){
  html body.qh-portal-og .admin-editor-row { flex-direction:column; align-items:stretch; }
  html body.qh-portal-og .admin-editor-row .admin-editor { width:100%; }
  html body.qh-portal-og .admin-editor-row .admin-editor input { font-size:16px; }
  html body.qh-portal-og .admin-editor-row .admin-editor-note { order:2; }
}

/* 838: Light and dark contrast pass on Repairs, Specials and Admin. */
html:not([data-theme="dark"]) body.qh-portal-og #qh-charcoal-final a.action-btn:not(.ghost) { color: var(--ink, #201b12); }
html:not([data-theme="dark"]) body.qh-portal-og .admin-sections a[aria-current="page"] { color: #fffefa; }
html:not([data-theme="dark"]) body.qh-portal-og #qh-charcoal-final .rep-chip.on { color: var(--ink, #201b12); }
html:not([data-theme="dark"]) body.qh-portal-og #qh-charcoal-final :is(.rp-flow-seg.is-empty, .rp-lane h2, .rp-type) { color: color-mix(in srgb, var(--rp-c) 55%, var(--ink, #201b12)); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final :is(.rp-chip[data-rp-filter="rush"], .rp-chip[data-rp-filter="late"]):not(.is-on) small { color: #ff9b8f; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .err:not(.ok) { color: #ff9b8f; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .cc-order-toggle :is(.cart-copy, .cart-copy b) { color: #1c140c; }
}
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final :is(.rp-flow-seg.is-empty, .rp-lane h2, .rp-type) { color: color-mix(in srgb, var(--rp-c) 55%, var(--ink, #f5f7fa)); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .rp-tag.rp-out { color: color-mix(in srgb, var(--rp-s4) 55%, var(--ink, #f5f7fa)); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .sp-jump button.is-spot,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .sp-feature.is-spot .sp-badge { color: #201b12; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .sp-photo .sp-logo { color: #8d421a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final :is(.sp-set, .sp-feature, .sp-card) .stock-mark.in-stock { color: #7ed6a0; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final :is(.sp-set, .sp-feature, .sp-card) :is(.stock-mark.special, .stock-mark.special .stock-so) { color: #f6d79a; }

/* 839: Repair seals fold into one History row; opened seals sit indented under it. */
html body.qh-portal-og #qh-charcoal-final table.cart-table.consumption-table tbody tr.repair-group { background: color-mix(in srgb, var(--qh-action, #8d421a) 6%, var(--paper, #fff)); }
html body.qh-portal-og #qh-charcoal-final table.cart-table.consumption-table tbody tr.repair-group .col-desc { color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final table.cart-table.consumption-table tbody tr.repair-group .repair-group-toggle { min-width: 76px; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final table.cart-table.consumption-table tbody tr.repair-member > td:first-child { padding-left: 18px; box-shadow: inset 3px 0 0 color-mix(in srgb, var(--qh-action, #8d421a) 45%, transparent); }
html body.qh-portal-og #qh-charcoal-final table.cart-table.consumption-table tbody tr.repair-member { background: color-mix(in srgb, var(--qh-action, #8d421a) 3%, var(--paper, #fff)); }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final table.cart-table.consumption-table tbody :is(tr.repair-group, tr.repair-member) > td { background: transparent; }
  html body.qh-portal-og #qh-charcoal-final table.cart-table.consumption-table tbody tr.repair-member { border-left: 3px solid color-mix(in srgb, var(--qh-action, #8d421a) 45%, transparent); padding-left: 8px; }
  html body.qh-portal-og #qh-charcoal-final table.cart-table.consumption-table tbody tr.repair-group { padding: 6px 4px; }
  html body.qh-portal-og #qh-charcoal-final table.cart-table.consumption-table tbody tr.repair-member > td:first-child { padding-left: 0; box-shadow: none; }
  html body.qh-portal-og #qh-charcoal-final table.cart-table.consumption-table tbody tr.repair-group .repair-group-toggle { width: auto; }
}

/* 841: Full UI pass. Light bottom bar, pills on orange, dark stock marks, phone tap sizes. */
@media (max-width: 760px) {
  html:not([data-theme="dark"]) body.qh-portal-og #qh-charcoal-final .bottom-nav :is(a.active, a[aria-current="page"], button.active) { color: var(--qh-action, #8d421a); border-top-color: var(--qh-action, #8d421a); }
}
html body.qh-portal-og #qh-charcoal-final .pick-go,
html body.qh-portal-og #qh-charcoal-final .hose-type-card .pick-go { background: #8d421a; color: #fffefa; }
html body.qh-portal-og #qh-charcoal-final .finder-mode.active,
html body.qh-portal-og #qh-charcoal-final .hose-brand-bar button.active { background: #8d421a; border-color: #8d421a; color: #fffefa; }
html body.qh-portal-og #qh-charcoal-final .rp-chip.is-on small { color: inherit; }
html body.qh-portal-og #qh-charcoal-final :is(.hist-head-meta, .acct-id-more, .acct-id-more .customer-extra) { min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .customer-toolbar-actions > a:is(.ghost-btn, .action-btn) { display: inline-flex; align-items: center; justify-content: center; text-align: center; }
html:not([data-theme="dark"]) body.qh-portal-og #qh-charcoal-final .op-added { color: #1f7a45; }
html:not([data-theme="dark"]) body.qh-portal-og #qh-charcoal-final .pick-ready.is-part .pick-ready-text { color: #8a5a12; }
html:not([data-theme="dark"]) body.qh-portal-og #qh-charcoal-final .pick-ready.is-ready .pick-ready-text { color: #1f7a45; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .op-added { color: #7ed6a0; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .stock-mark.in-stock { color: #7ed6a0; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .stock-mark.special { color: #f6d79a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .stock-mark.catalog-only { color: #c9d2dc; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final #stage :is(.sku-spot, .sku-hit, a.ops-drill, button.mb-drill, .admin-sku-link, a.loc-unit-head, .crumbs a) { padding-top: 8px; padding-bottom: 8px; margin-top: -8px; margin-bottom: -8px; }
  html body.qh-portal-og #qh-charcoal-final #stage :is(#pageBack, .sb-seg button, .sb-chore, .admin-tree-row) { min-height: 34px; }
  html body.qh-portal-og #qh-charcoal-final #stage :is(.sb-day-add, [data-board-shift]) { min-width: 34px; min-height: 34px; }
  html body.qh-portal-og #qh-charcoal-final #stage :is(.action-btn.sm, .add-btn, .icon-btn, #historyRetrieve) { min-height: 32px; }
  html body.qh-portal-og #qh-charcoal-final #stage .icon-btn { min-width: 32px; }
  html body.qh-portal-og #qh-charcoal-final #signOut { min-height: 36px; }
  html body.qh-portal-og #qh-charcoal-final #stage :is(#saveQuote, #reviewOrder) { min-height: 40px; }
  html body.qh-portal-og[data-mode="admin"] #qh-charcoal-final .admin-wrap :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select) { min-height: 36px; }
  html body.qh-portal-og #qh-charcoal-final #stage :is(#guideEitherTop, #guideCoreTop, input[id^="spActive"]) { width: 20px; height: 20px; }
  html body.qh-portal-og #qh-charcoal-final #stage .admin-lib-upload { min-width: 0; max-width: 100%; }
  html body.qh-portal-og #qh-charcoal-final #stage .admin-lib-upload input[type="file"] { max-width: 100%; }
}



/* 842: Phone catalog filters. Each side, and each paired facet, sits on one row; an open facet takes the row. Active-filter chips under the title. */
html body.qh-portal-og #qh-charcoal-final #ffChips { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 10px; }
html body.qh-portal-og #qh-charcoal-final #ffChips .filter-pill { min-height: 40px; padding: 6px 12px; border: 1px solid #8d421a; border-radius: 999px; background: #fbe9dd; color: #6b3112; font-size: 14px; font-weight: 700; line-height: 1.2; text-align: left; }
html body.qh-portal-og #qh-charcoal-final #ffChips .filter-pill b { font-size: 17px; line-height: 1; }
html body.qh-portal-og #qh-charcoal-final #ffChips .filter-pill:hover { background: #8d421a; color: #fffefa; }
html body.qh-portal-og #qh-charcoal-final #ffChips .filter-pill-clear { background: transparent; border-color: var(--qh-line, #c9c2b6); color: var(--qh-ink, #1f2328); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final #ffChips .filter-pill { background: #3a2a1f; border-color: #f6b27a; color: #ffe2c8; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final #ffChips .filter-pill:hover { background: #8d421a; border-color: #8d421a; color: #fffefa; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final #ffChips .filter-pill-clear { background: transparent; border-color: var(--qh-line, #3a4450); color: var(--qh-ink, #f2efe8); }
@media (min-width: 861px) { html body.qh-portal-og #qh-charcoal-final #ffChips { display: none; } }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final #ffChips .filter-pill { min-height: 44px; }
  html body.qh-portal-og #qh-charcoal-final .rail :is(.ff-pair, .ff-side) { display: flex; flex-wrap: wrap; align-items: flex-start; column-gap: 8px; }
  html body.qh-portal-og #qh-charcoal-final .rail :is(.ff-pair, .ff-side) > .ff-facet { flex: 1 1 96px; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .rail :is(.ff-pair, .ff-side) > .ff-facet[open] { flex-basis: 100%; }
  html body.qh-portal-og #qh-charcoal-final .rail .ff-side > .ff-side-head { flex: 1 0 100%; }
  html body.qh-portal-og #qh-charcoal-final .rail :is(.ff-pair, .ff-side) > .ff-facet > summary b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}



/* 843: Catalog rows. Koble's three descriptions above the size specs, and on wide screens the SKU keeps a steady width so descriptions start in one column. */
html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-sub.has-desc { display: flex; flex-direction: column; gap: 1px; white-space: normal; overflow: visible; -webkit-line-clamp: unset; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-sub.has-desc > span { display: block; min-width: 0; overflow-wrap: anywhere; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-desc { color: var(--qh-ink, inherit); font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-spec { color: var(--qh-muted, inherit); }
@media (min-width: 1100px) {
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy { gap: 14px; align-items: center; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy > .sku-hit { flex: 0 0 auto; min-width: 150px; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy > .part-sub { padding-left: 14px; border-left: 1px solid var(--qh-line, rgba(128, 128, 128, .35)); }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-desc { font-size: 13px; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-sub.has-desc > .part-spec { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

/* 846: Staff-only FUI crossovers on part details. */
body.qh-portal-og #qh-charcoal-final .xref-chip.is-staff { border-style: dashed; }
body.qh-portal-og #qh-charcoal-final .xref-chip .xref-tag { font-style: normal; font-size: 10px; font-weight: 700; letter-spacing: .04em; padding: 0 4px; border-radius: 3px; background: #fbe9dd; color: #6b3112; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .xref-chip .xref-tag { background: #3a2a1f; color: #ffe2c8; }

/* 848: Staff "Add Fastenal #" on part details. */
body.qh-portal-og #qh-charcoal-final .xref-list .xref-add { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; flex-basis: 100%; margin-top: 2px; }
body.qh-portal-og #qh-charcoal-final .xref-list .xref-add input { width: 10.5rem; min-height: 32px; padding: 4px 8px; font-size: 13px; border: 1px solid var(--line); border-radius: 4px; background: var(--paper); color: inherit; }
body.qh-portal-og #qh-charcoal-final .xref-list .xref-add .ghost-btn { min-height: 32px; }
body.qh-portal-og #qh-charcoal-final .xref-list .xref-add .xref-msg { color: var(--muted); font-size: 11px; }
body.qh-portal-og #qh-charcoal-final .xref-chip .xref-x { border: 0; background: transparent; color: var(--muted); font-size: 14px; line-height: 1; padding: 0 2px; margin-left: 2px; cursor: pointer; min-width: 20px; }
body.qh-portal-og #qh-charcoal-final .xref-chip .xref-x:hover, body.qh-portal-og #qh-charcoal-final .xref-chip .xref-x:focus-visible { color: #b42318; }
@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final .xref-list .xref-add input { flex: 1 1 9rem; min-height: 44px; font-size: 16px; }
  body.qh-portal-og #qh-charcoal-final .xref-list .xref-add .ghost-btn { min-height: 44px; }
  body.qh-portal-og #qh-charcoal-final .xref-chip .xref-x { min-width: 32px; min-height: 32px; }
}

/* 849 adapter series list (replaces the family tiles on adapter catalog pages) */
body.qh-portal-og #qh-charcoal-final table.series-list { width: 100%; border-collapse: separate; border-spacing: 0; margin: 4px 0 18px; font-size: 13px; border: 1px solid var(--qh-line, var(--line)); border-radius: 10px; background: var(--paper, #fff); }
body.qh-portal-og #qh-charcoal-final table.series-list :is(th, td) { padding: 6px 10px; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--qh-line, var(--line)); }
body.qh-portal-og #qh-charcoal-final table.series-list thead th { position: sticky; top: calc(var(--chrome-h, 96px) + var(--family-h, 0px)); z-index: 6; background: var(--qh-soft, #f3f0ea); color: var(--qh-muted, #5c574f); font-size: 12px; font-weight: 700; white-space: nowrap; }
body.qh-portal-og #qh-charcoal-final table.series-list thead th:first-child { border-top-left-radius: 10px; }
body.qh-portal-og #qh-charcoal-final table.series-list thead th:last-child { border-top-right-radius: 10px; }
body.qh-portal-og #qh-charcoal-final .app-chrome.is-away ~ .shell table.series-list thead th { top: var(--family-h, 0px); }
body.qh-portal-og #qh-charcoal-final table.series-list tr.sl-sec th { padding-top: 12px; font-size: 14px; font-weight: 800; color: inherit; background: transparent; }
body.qh-portal-og #qh-charcoal-final table.series-list tr.sl-sec small { margin-left: 6px; font-size: 12px; font-weight: 600; color: var(--qh-muted, var(--muted)); }
body.qh-portal-og #qh-charcoal-final table.series-list tbody { scroll-margin-top: calc(var(--chrome-h, 96px) + 52px); }
body.qh-portal-og #qh-charcoal-final table.series-list tbody tr:not(.sl-sec) { position: relative; }
body.qh-portal-og #qh-charcoal-final table.series-list tbody tr:not(.sl-sec):hover { background: rgba(141, 66, 26, .06); }
body.qh-portal-og #qh-charcoal-final table.series-list tbody tr:not(.sl-sec):focus-within { outline: 2px solid var(--qh-action, #8d421a); outline-offset: -2px; }
body.qh-portal-og #qh-charcoal-final table.series-list tbody tr:last-child > * { border-bottom: 0; }
body.qh-portal-og #qh-charcoal-final table.series-list .sl-fam { width: 1%; white-space: nowrap; }
body.qh-portal-og #qh-charcoal-final table.series-list .sl-fam a { font-weight: 800; color: var(--qh-action, #8d421a); text-decoration: none; outline: 0; }
body.qh-portal-og #qh-charcoal-final table.series-list .sl-fam a::after { content: ""; position: absolute; inset: 0; }
body.qh-portal-og #qh-charcoal-final table.series-list .sl-name { font-weight: 600; }
body.qh-portal-og #qh-charcoal-final table.series-list .sl-shape { color: var(--qh-muted, var(--muted)); white-space: nowrap; }
body.qh-portal-og #qh-charcoal-final table.series-list .sl-photo { width: 1%; padding: 4px 4px 4px 8px; }
body.qh-portal-og #qh-charcoal-final table.series-list td.sl-photo .photo-frame { display: block; width: 56px; height: 56px; margin: 0; padding: 0; border: 1px solid var(--qh-line, var(--line)); border-radius: 6px; background: #fff; overflow: hidden; aspect-ratio: auto; }
body.qh-portal-og #qh-charcoal-final table.series-list td.sl-photo .photo-frame img { display: block; width: 100%; height: 100%; object-fit: contain; }
body.qh-portal-og #qh-charcoal-final table.series-list td.sl-photo .photo-frame:has(img.missing) { border-color: transparent; background: transparent; }
body.qh-portal-og #qh-charcoal-final table.series-list .num { width: 1%; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 700; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final table.series-list .sl-fam a { color: #ffb37a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final table.series-list tbody tr:not(.sl-sec):hover { background: rgba(255, 179, 122, .07); }
body.qh-portal-og #qh-charcoal-final table.series-list .sl-meta { display: none; }
@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final table.series-list { display: block; }
  body.qh-portal-og #qh-charcoal-final table.series-list thead { display: none; }
  body.qh-portal-og #qh-charcoal-final table.series-list tbody { display: block; }
  body.qh-portal-og #qh-charcoal-final table.series-list tr.sl-sec { display: block; }
  body.qh-portal-og #qh-charcoal-final table.series-list tr.sl-sec th { display: block; border-bottom: 1px solid var(--qh-line, var(--line)); }
  body.qh-portal-og #qh-charcoal-final table.series-list tbody tr:not(.sl-sec) { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; grid-template-areas: "photo fam count" "photo name name"; align-items: center; gap: 0 10px; padding: 6px 10px; min-height: 44px; border-bottom: 1px solid var(--qh-line, var(--line)); }
  body.qh-portal-og #qh-charcoal-final table.series-list tbody tr:not(.sl-sec) > td { display: block; padding: 0; border: 0; width: auto; }
  body.qh-portal-og #qh-charcoal-final table.series-list tbody tr:last-child { border-bottom: 0; }
  body.qh-portal-og #qh-charcoal-final table.series-list .sl-fam { grid-area: fam; }
  body.qh-portal-og #qh-charcoal-final table.series-list .sl-name { grid-area: name; min-width: 0; }
  body.qh-portal-og #qh-charcoal-final table.series-list .sl-count { grid-area: count; }
  body.qh-portal-og #qh-charcoal-final table.series-list .sl-count::after { content: " SKUs"; font-weight: 600; color: var(--qh-muted, var(--muted)); }
  body.qh-portal-og #qh-charcoal-final table.series-list .sl-count.is-one::after { content: " SKU"; }
  body.qh-portal-og #qh-charcoal-final table.series-list tbody tr:not(.sl-sec) > td.sl-shape { display: none; }
  body.qh-portal-og #qh-charcoal-final table.series-list td.sl-photo { grid-area: photo; align-self: start; }
  body.qh-portal-og #qh-charcoal-final table.series-list td.sl-photo .photo-frame { width: 48px; height: 48px; }
  body.qh-portal-og #qh-charcoal-final table.series-list .sl-fam { overflow-wrap: anywhere; white-space: normal; }
  body.qh-portal-og #qh-charcoal-final table.series-list .sl-meta { display: block; margin-top: 1px; font-size: 12px; font-weight: 500; color: var(--qh-muted, var(--muted)); }
}

/* 850 proposals follow-up */
body.qh-portal-og #qh-charcoal-final .pr-page .pr-kpis { margin: 10px 0 14px; }
body.qh-portal-og #qh-charcoal-final .pr-table .pr-c { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; min-width: 0; }
body.qh-portal-og #qh-charcoal-final .pr-table .ops-num .pr-c { align-items: flex-end; }
body.qh-portal-og #qh-charcoal-final .pr-table .pr-c small { color: var(--qh-muted, var(--muted)); font-size: 12px; line-height: 1.35; }
body.qh-portal-og #qh-charcoal-final .pr-table .pr-desc { max-width: 22rem; overflow-wrap: anywhere; }
body.qh-portal-og #qh-charcoal-final .pr-table .pr-c small.pr-old { color: #9a5b00; font-weight: 600; }
body.qh-portal-og #qh-charcoal-final .pr-table .pr-c small.pr-note { max-width: 16rem; font-style: italic; overflow-wrap: anywhere; }
body.qh-portal-og #qh-charcoal-final .pr-table .pr-lines-btn { margin-top: 3px; padding: 0; border: 0; background: none; color: var(--qh-action, #8d421a); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
body.qh-portal-og #qh-charcoal-final .pr-table .pr-log select { min-width: 9.5rem; margin: 0; }
body.qh-portal-og #qh-charcoal-final .pr-table tr.is-won > td,
body.qh-portal-og #qh-charcoal-final .pr-table tr.is-lost > td { opacity: .78; }
body.qh-portal-og #qh-charcoal-final .pr-pill { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; line-height: 1.6; white-space: nowrap; }
body.qh-portal-og #qh-charcoal-final .pr-pill.is-new { background: #fdecc8; color: #6b4300; }
body.qh-portal-og #qh-charcoal-final .pr-pill.is-snoozed { background: #e4ebf5; color: #23436b; }
body.qh-portal-og #qh-charcoal-final .pr-pill.is-won { background: #dcefdc; color: #1d5a24; }
body.qh-portal-og #qh-charcoal-final .pr-pill.is-lost { background: #f3dede; color: #7a1f1f; }
body.qh-portal-og #qh-charcoal-final .pr-table tr.pr-lines-row > td { padding: 0 10px 12px; background: var(--qh-soft, #f3f0ea); }
body.qh-portal-og #qh-charcoal-final table.pr-lines { width: 100%; border-collapse: collapse; font-size: 13px; }
body.qh-portal-og #qh-charcoal-final table.pr-lines :is(th, td) { padding: 5px 8px; text-align: left; border-bottom: 1px solid var(--qh-line, var(--line)); vertical-align: top; }
body.qh-portal-og #qh-charcoal-final table.pr-lines th { font-size: 11px; color: var(--qh-muted, var(--muted)); font-weight: 700; }
body.qh-portal-og #qh-charcoal-final table.pr-lines .ops-num { text-align: right; white-space: nowrap; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .pr-pill.is-new { background: #4a3a17; color: #ffe2a6; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .pr-pill.is-snoozed { background: #22324a; color: #cfe0f7; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .pr-pill.is-won { background: #1f3a22; color: #c9eccb; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .pr-pill.is-lost { background: #45201f; color: #f5cccb; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .pr-table .pr-c small.pr-old { color: #f2c46d; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .pr-table .pr-lines-btn { color: #ffb37a; }
@media (max-width: 860px) {
  body.qh-portal-og #qh-charcoal-final .pr-table .ops-num .pr-c { align-items: flex-start; }
  body.qh-portal-og #qh-charcoal-final .pr-table .pr-desc { max-width: none; }
  body.qh-portal-og #qh-charcoal-final .pr-table .pr-log select { width: 100%; min-height: 44px; font-size: 16px; }
  body.qh-portal-og #qh-charcoal-final .pr-table .pr-lines-btn { min-height: 32px; }
  body.qh-portal-og #qh-charcoal-final .pr-table tr.pr-lines-row > td { padding: 6px 8px 10px; }
  body.qh-portal-og #qh-charcoal-final table.pr-lines thead { display: none; }
  body.qh-portal-og #qh-charcoal-final table.pr-lines tr { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 0 10px; padding: 6px 0; border-bottom: 1px solid var(--qh-line, var(--line)); }
  body.qh-portal-og #qh-charcoal-final table.pr-lines td { display: block; padding: 0; border: 0; overflow-wrap: anywhere; }
  body.qh-portal-og #qh-charcoal-final table.pr-lines td::before { content: none; }
  body.qh-portal-og #qh-charcoal-final table.pr-lines td:nth-child(2) { grid-row: 2; grid-column: 1 / -1; font-size: 12px; color: var(--qh-muted, var(--muted)); }
}

/* 853: quick disconnects - shop-by-shape tiles and interchange column */
html body.qh-portal-og #qh-charcoal-final details.fg-shop{margin:6px 0 18px;border:1px solid var(--line,#d9d1c7);border-radius:10px;background:var(--paper,#fff);}
html body.qh-portal-og #qh-charcoal-final details.fg-shop>summary{display:flex;align-items:baseline;gap:10px;padding:10px 14px;cursor:pointer;list-style:none;font-weight:800;font-size:15px;}
html body.qh-portal-og #qh-charcoal-final details.fg-shop>summary::-webkit-details-marker{display:none;}
html body.qh-portal-og #qh-charcoal-final details.fg-shop>summary::before{content:"";flex:0 0 auto;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(-45deg);transition:transform .15s ease;}
html body.qh-portal-og #qh-charcoal-final details.fg-shop[open]>summary::before{transform:translateY(-4px) rotate(45deg);}
html body.qh-portal-og #qh-charcoal-final details.fg-shop>summary small{color:var(--muted);font-weight:600;font-size:13px;}
html body.qh-portal-og #qh-charcoal-final details.fg-shop>summary:hover .fg-shop-head{color:var(--qh-action,#8d421a);}
html body.qh-portal-og #qh-charcoal-final .fg-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:2px 14px 14px;}
html body.qh-portal-og #qh-charcoal-final .fg-shop-tile{display:grid;grid-template-rows:96px auto auto;gap:4px;align-content:start;text-align:left;border:1px solid var(--line,#d9d1c7);border-radius:8px;background:var(--paper,#fff);color:inherit;font:inherit;padding:8px;cursor:pointer;}
html body.qh-portal-og #qh-charcoal-final .fg-shop-tile:hover,html body.qh-portal-og #qh-charcoal-final .fg-shop-tile:focus-visible{border-color:var(--qh-action,#8d421a);}
html body.qh-portal-og #qh-charcoal-final .fg-shop-img{display:flex;align-items:center;justify-content:center;height:96px;border-radius:6px;background:#fff;overflow:hidden;}
html body.qh-portal-og #qh-charcoal-final .fg-shop-img img{max-width:100%;max-height:100%;object-fit:contain;}
html body.qh-portal-og #qh-charcoal-final .fg-shop-img.is-blank{background:var(--line,#ece6de);opacity:.45;}
html body.qh-portal-og #qh-charcoal-final .fg-shop-name{font-weight:700;font-size:13px;line-height:1.3;}
html body.qh-portal-og #qh-charcoal-final .fg-shop-tile small{color:var(--muted);font-size:12px;}
html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-sub.has-desc>.qd-xref{display:flex;flex-wrap:wrap;gap:1px 10px;margin-top:2px;font-size:12px;line-height:1.4;color:var(--qh-muted,var(--muted));white-space:normal;}
html body.qh-portal-og #qh-charcoal-final table.adapter-results .qd-xref>span{display:inline;white-space:nowrap;}
html body.qh-portal-og #qh-charcoal-final table.adapter-results .qd-xref .qd-xref-k{font-weight:700;color:var(--qh-ink,inherit);}
html body.qh-portal-og #qh-charcoal-final table.adapter-results .qd-xref b{font-weight:700;color:var(--qh-ink,inherit);}
html body.qh-portal-og #qh-charcoal-final table.adapter-results .qd-xref .also{font-size:12px;}
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .fg-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:2px 10px 10px;}
  html body.qh-portal-og #qh-charcoal-final .fg-shop-tile{grid-template-rows:72px auto auto;padding:6px;}
  html body.qh-portal-og #qh-charcoal-final .fg-shop-img{height:72px;}
}


/* 855: phone tap targets for plain disclosure headings, part history, and hose pressure cards. */
@media (max-width: 680px) {
  :where(body.qh-portal-og) summary { padding-block: 7px; }
  body.qh-portal-og #qh-charcoal-final .part-history-btn { position: relative; }
  body.qh-portal-og #qh-charcoal-final .part-history-btn::after { content: ""; position: absolute; inset: -6px -2px; }
  body.qh-portal-og .hose-style-card { min-height: 40px; align-items: center; }
}

/* 856: brass and Midland series lists: ends or sizes under the name, vendor tag under the number. */
body.qh-portal-og #qh-charcoal-final table.series-list :is(.sl-sub, .sl-tag) { display: block; margin-top: 1px; font-size: 12px; font-weight: 500; line-height: 1.3; color: var(--qh-muted, var(--muted)); }
body.qh-portal-og #qh-charcoal-final table.series-list .sl-tag { font-size: 11px; letter-spacing: .02em; }
@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final table.series-list .sl-fam .sl-tag { display: inline; margin-left: 6px; }
}


/* 859: Operations toolbar coloured by job (sell blue, shop floor teal, buying purple, road amber), with a gap between sets. */
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace :is(.ops-side, .ops-phone-grid) a[data-ops-group="sell"] { --ops-g: #2563a8; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace :is(.ops-side, .ops-phone-grid) a[data-ops-group="shop"] { --ops-g: #0f766e; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace :is(.ops-side, .ops-phone-grid) a[data-ops-group="buy"] { --ops-g: #6b46c1; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace :is(.ops-side, .ops-phone-grid) a[data-ops-group="road"] { --ops-g: #b45309; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace :is(.ops-side, .ops-phone-grid) a[data-ops-group="sell"] { --ops-g: #5b9be0; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace :is(.ops-side, .ops-phone-grid) a[data-ops-group="shop"] { --ops-g: #2fb3a3; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace :is(.ops-side, .ops-phone-grid) a[data-ops-group="buy"] { --ops-g: #a58be8; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace :is(.ops-side, .ops-phone-grid) a[data-ops-group="road"] { --ops-g: #e09a4f; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side-gap { display: none; }
@media (min-width: 681px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group] {
    color: var(--ink, #1c1916);
    border-color: color-mix(in srgb, var(--ops-g) 42%, var(--line, #d9d1c7));
    background: color-mix(in srgb, var(--ops-g) 7%, var(--paper, #fffdf9));
    box-shadow: inset 0 -3px 0 var(--ops-g);
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group] .ops-nav-ic { color: var(--ops-g); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group]:hover {
    background: color-mix(in srgb, var(--ops-g) 15%, var(--paper, #fffdf9));
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group].is-on {
    color: #fff;
    border-color: var(--ops-g);
    background: var(--ops-g);
    box-shadow: 0 1px 3px color-mix(in srgb, var(--ops-g) 45%, transparent);
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group].is-on .ops-nav-ic { color: #fff; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side .ops-side-gap {
    display: block;
    flex: 0 0 2px;
    align-self: stretch;
    margin: 5px 4px;
    border-radius: 2px;
    background: color-mix(in srgb, var(--ink, #1c1916) 18%, transparent);
  }
}
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-grid a[data-ops-group] .ops-nav-ic { color: var(--ops-g); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-grid a[data-ops-group] { box-shadow: inset 3px 0 0 var(--ops-g); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-grid a[data-ops-group].is-on { color: #fff; background: var(--ops-g); border-color: var(--ops-g); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-grid a[data-ops-group].is-on .ops-nav-ic { color: #fff; }

/* 859: Sales invoice list and invoice page spread across the width instead of bunching on one side. */
@media (min-width: 681px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices { table-layout: fixed; width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices col.c-who { width: 34%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices col.c-inv { width: 12%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices col.c-date { width: 19%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices col.c-po { width: 21%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices col.c-tot { width: 14%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices :is(th, td) { width: auto; overflow: hidden; text-overflow: ellipsis; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices td:nth-child(4) { max-width: none; white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices :is(th, td):last-child { padding-right: 14px; text-align: right; }

  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-inv-lines { table-layout: fixed; width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-inv-lines col.c-part { width: 27%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-inv-lines col.c-desc { width: 41%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-inv-lines col.c-qty { width: 9%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-inv-lines col.c-price { width: 11%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-inv-lines col.c-amt { width: 12%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-inv-lines :is(th, td) { width: auto; vertical-align: middle; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-inv-lines :is(th, td).ops-num { text-align: right; padding-right: 14px; white-space: nowrap; }
}

/* 859: Hose assembly and repair parts sit indented under their build line. */
html body.qh-portal-og #qh-charcoal-final :is(table.sales-inv-lines, table.pr-lines) tr.asm-head-row > td {
  border-top: 2px solid color-mix(in srgb, var(--qh-action, #8d421a) 35%, var(--line, #d9d1c7));
  background: color-mix(in srgb, var(--qh-action, #8d421a) 5%, transparent);
}
html body.qh-portal-og #qh-charcoal-final :is(table.sales-inv-lines, table.pr-lines) tr.asm-part-row > td {
  background: color-mix(in srgb, var(--qh-action, #8d421a) 3%, transparent);
}
@media (min-width: 681px) {
  html body.qh-portal-og #qh-charcoal-final :is(table.sales-inv-lines, table.pr-lines) tr.asm-part-row > td:first-child {
    position: relative;
    padding-left: 40px;
  }
  html body.qh-portal-og #qh-charcoal-final :is(table.sales-inv-lines, table.pr-lines) tr.asm-part-row > td:first-child::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 0;
    bottom: 0;
    border-left: 2px solid color-mix(in srgb, var(--qh-action, #8d421a) 45%, var(--line, #d9d1c7));
  }
  html body.qh-portal-og #qh-charcoal-final :is(table.sales-inv-lines, table.pr-lines) tr.asm-part-row > td:first-child::after {
    content: "";
    position: absolute;
    left: 16px;
    top: 50%;
    width: 14px;
    border-top: 2px solid color-mix(in srgb, var(--qh-action, #8d421a) 45%, var(--line, #d9d1c7));
  }
  html body.qh-portal-og #qh-charcoal-final table.pr-lines tr.asm-part-row > td:first-child::after { top: 14px; }
}
html body.qh-portal-og #qh-charcoal-final .asm-head-note {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 600;
  color: var(--qh-muted, var(--muted, #6b6b6b));
}
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final :is(table.sales-inv-lines, table.pr-lines) tr.asm-part-row {
    margin-left: 16px;
    padding-left: 10px;
    border-left: 3px solid color-mix(in srgb, var(--qh-action, #8d421a) 45%, var(--line, #d9d1c7));
  }
}


@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final :is(table.sales-inv-lines, table.pr-lines) tr.asm-head-row > td { border-top: 0; background: transparent; }
  html body.qh-portal-og #qh-charcoal-final :is(table.sales-inv-lines, table.pr-lines) tr.asm-head-row {
    border-top: 2px solid color-mix(in srgb, var(--qh-action, #8d421a) 35%, var(--line, #d9d1c7));
    background: color-mix(in srgb, var(--qh-action, #8d421a) 5%, transparent);
  }
  html body.qh-portal-og #qh-charcoal-final :is(table.sales-inv-lines, table.pr-lines) tr.asm-part-row { width: auto; box-sizing: border-box; }
}


/* 860: Bar charts (Sales, Part history). Rounded scale, gridlines, values over the bars. */
html body.qh-portal-og #qh-charcoal-final .qhb { position: relative; padding: 20px 6px 0 54px; margin: 8px 0 6px; }
html body.qh-portal-og #qh-charcoal-final .qhb-plot { position: relative; height: 230px; margin-bottom: 40px; }
html body.qh-portal-og #qh-charcoal-final .qhb.is-short .qhb-plot { height: 120px; margin-bottom: 34px; }
html body.qh-portal-og #qh-charcoal-final .qhb.is-usage .qhb-plot { height: 240px; }
html body.qh-portal-og #qh-charcoal-final .qhb-grid { position: absolute; inset: 0; pointer-events: none; }
html body.qh-portal-og #qh-charcoal-final .qhb-grid span { position: absolute; left: 0; right: 0; height: 0; border-top: 1px dashed color-mix(in srgb, var(--muted, #6b6b6b) 28%, transparent); }
html body.qh-portal-og #qh-charcoal-final .qhb-grid span.is-zero { border-top: 1.5px solid color-mix(in srgb, var(--muted, #6b6b6b) 55%, transparent); }
html body.qh-portal-og #qh-charcoal-final .qhb-grid b { position: absolute; right: calc(100% + 8px); top: -8px; font-size: 11.5px; font-weight: 700; color: var(--muted, #6b6b6b); white-space: nowrap; font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .qhb-cols { position: absolute; inset: 0; display: flex; align-items: stretch; }
html body.qh-portal-og #qh-charcoal-final .qhb-col { position: relative; flex: 1 1 0; min-width: 0; height: 100%; display: block; margin: 0; padding: 0; border: 0; border-radius: 8px 8px 0 0; background: none; box-shadow: none; font: inherit; color: inherit; min-height: 0; cursor: default; }
html body.qh-portal-og #qh-charcoal-final button.qhb-col { cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final button.qhb-col:hover,
html body.qh-portal-og #qh-charcoal-final .qhb-col.is-on { background: color-mix(in srgb, var(--qh-action, #8d421a) 7%, transparent); }
html body.qh-portal-og #qh-charcoal-final .qhb-bars { position: absolute; left: 16%; right: 16%; top: 0; bottom: 0; display: flex; align-items: flex-end; justify-content: center; gap: 2px; }
html body.qh-portal-og #qh-charcoal-final .qhb-bar { position: relative; flex: 1 1 0; max-width: 48px; min-width: 2px; border-radius: 5px 5px 1px 1px; background: linear-gradient(180deg, #eea056 0%, #cf6a22 100%); transition: filter .12s ease; }
html body.qh-portal-og #qh-charcoal-final .qhb-bar.s1 { background: linear-gradient(180deg, #9cb4c8 0%, #5d7d98 100%); }
html body.qh-portal-og #qh-charcoal-final .qhb-col.is-on .qhb-bar.s0 { background: linear-gradient(180deg, #a9541f 0%, #7a3410 100%); box-shadow: 0 0 0 2px color-mix(in srgb, var(--qh-action, #8d421a) 25%, transparent); }
html body.qh-portal-og #qh-charcoal-final button.qhb-col:hover .qhb-bar { filter: brightness(1.07) saturate(1.1); }
html body.qh-portal-og #qh-charcoal-final .qhb-val { position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); margin-bottom: 4px; font-size: 11.5px; font-weight: 800; white-space: nowrap; font-variant-numeric: tabular-nums; color: inherit; line-height: 1.2; }
html body.qh-portal-og #qh-charcoal-final .qhb.is-dense .qhb-val { display: none; }
html body.qh-portal-og #qh-charcoal-final .qhb.is-dense .qhb-col:is(.is-on, .is-peak, :hover) .qhb-val { display: block; z-index: 3; padding: 1px 5px; border-radius: 4px; background: var(--paper, #fff); box-shadow: 0 1px 4px rgba(0, 0, 0, .18); }
html body.qh-portal-og #qh-charcoal-final .qhb.is-dense .qhb-col.is-peak:not(.is-on):not(:hover) .qhb-val { box-shadow: none; background: transparent; }
html body.qh-portal-og #qh-charcoal-final .qhb-lab { position: absolute; top: calc(100% + 7px); left: 50%; transform: translateX(-50%); font-size: 11.5px; font-weight: 700; line-height: 1.15; color: var(--muted, #6b6b6b); white-space: nowrap; text-align: center; }
html body.qh-portal-og #qh-charcoal-final .qhb-lab em { display: block; font-style: normal; font-weight: 600; font-size: 10.5px; opacity: .8; }
html body.qh-portal-og #qh-charcoal-final .qhb-col.is-on .qhb-lab { color: var(--qh-action, #8d421a); font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .qhb-avg { position: absolute; left: 0; right: 0; height: 0; border-top: 2px dashed color-mix(in srgb, #2f7d4f 65%, transparent); z-index: 2; pointer-events: none; }
html body.qh-portal-og #qh-charcoal-final .qhb-avg em { position: absolute; right: 0; bottom: 3px; padding: 0 5px; border-radius: 3px; font-style: normal; font-size: 11px; font-weight: 800; color: #2f7d4f; background: var(--paper, #fff); }
html body.qh-portal-og #qh-charcoal-final .qhb-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; font-size: 12.5px; color: var(--muted, #6b6b6b); }
html body.qh-portal-og #qh-charcoal-final .qhb-legend-note { margin-left: auto; }
html body.qh-portal-og #qh-charcoal-final .qhb-key { display: inline-block; width: 11px; height: 11px; margin-right: 6px; border-radius: 3px; vertical-align: -1px; background: linear-gradient(180deg, #eea056, #cf6a22); }
html body.qh-portal-og #qh-charcoal-final .qhb-key.s1 { background: linear-gradient(180deg, #9cb4c8, #5d7d98); }
html body.qh-portal-og #qh-charcoal-final .part-usage { margin: 6px 0 14px; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qhb { padding-left: 42px; padding-right: 2px; }
  html body.qh-portal-og #qh-charcoal-final .qhb-plot,
  html body.qh-portal-og #qh-charcoal-final .qhb.is-usage .qhb-plot { height: 180px; }
  html body.qh-portal-og #qh-charcoal-final .qhb.is-short .qhb-plot { height: 100px; }
  html body.qh-portal-og #qh-charcoal-final .qhb-lab.is-wide-label { display: none; }
  html body.qh-portal-og #qh-charcoal-final .qhb-grid b,
  html body.qh-portal-og #qh-charcoal-final .qhb-lab { font-size: 10.5px; }
  html body.qh-portal-og #qh-charcoal-final .qhb-val { font-size: 10.5px; }
  html body.qh-portal-og #qh-charcoal-final .qhb-bars { left: 10%; right: 10%; }
  html body.qh-portal-og #qh-charcoal-final .qhb-legend-note { margin-left: 0; flex-basis: 100%; }
}

/* 860: Part history and part details open as a centred window over a dimmed page. */
html body.qh-portal-og .qh-modal-scrim { position: fixed; inset: 0; z-index: 88; background: rgba(24, 20, 16, .5); opacity: 0; visibility: hidden; transition: opacity .16s ease, visibility 0s linear .16s; }
html body.qh-portal-og .qh-modal-scrim.is-open { opacity: 1; visibility: visible; transition: opacity .16s ease; }
html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal {
  top: 50%; left: 50%; right: auto; bottom: auto; z-index: 90;
  width: min(1000px, calc(100vw - 48px)); max-width: none; height: auto; max-height: calc(100vh - 48px);
  border: 1px solid var(--line, #d9d1c7); border-radius: 14px; overflow: hidden;
  box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .55), 0 2px 10px rgba(0, 0, 0, .12);
  transform: translate(-50%, -47%) scale(.98); opacity: 0; visibility: hidden; pointer-events: none;
  transition: transform .18s ease, opacity .18s ease, visibility 0s linear .18s;
}
html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal.is-open { transform: translate(-50%, -50%); opacity: 1; visibility: visible; pointer-events: auto; transition: transform .18s ease, opacity .18s ease; }
html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-head { padding: 12px 20px; }
html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 14px 20px 22px; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal { top: 0; left: 0; width: 100vw; height: 100%; max-height: none; border: 0; border-radius: 0; transform: translateY(14px); }
  html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal.is-open { transform: none; }
  html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-head,
  html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-body { padding-left: 12px; padding-right: 12px; }
}

/* 860: Part details window. Big photo, thumbnails when there is more than one, all the facts. */
html body.qh-portal-og #qh-charcoal-final :is(#stage .part-with-ic > .item-ic, #stage .item-cell > .item-ic, #stage .detail-panel .photo-hero-wrap:not(.ab-editing) .photo-hero) { cursor: zoom-in; }
html body.qh-portal-og #qh-charcoal-final .qh-ops .item-cell > .item-ic { cursor: auto; }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-body { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 22px; align-items: start; }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-gallery { position: sticky; top: 0; }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-main { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--line, #d9d1c7); border-radius: 12px; background: #fff; }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-main img { max-width: 92%; max-height: 92%; width: auto; height: auto; object-fit: contain; }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-step { position: absolute; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; min-height: 0; padding: 0; border: 1px solid var(--line, #d9d1c7); border-radius: 50%; background: rgba(255, 255, 255, .94); color: #2b2622; font-size: 24px; line-height: 1; cursor: pointer; box-shadow: 0 2px 6px rgba(0, 0, 0, .12); }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-step.is-prev { left: 10px; }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-step.is-next { right: 10px; }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-thumb { width: 68px; height: 68px; min-height: 0; padding: 4px; border: 2px solid var(--line, #d9d1c7); border-radius: 8px; background: #fff; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-thumb.is-on { border-color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-thumb img { width: 100%; height: 100%; object-fit: contain; }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-gallery.is-empty { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; border: 1px dashed var(--line, #d9d1c7); border-radius: 12px; }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-title { margin: 0 0 12px; font-size: 18px; font-weight: 800; line-height: 1.3; }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-buy { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 14px; padding: 10px 12px; border: 1px solid var(--line, #d9d1c7); border-radius: 10px; background: var(--wash, #f4f1ea); }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-buy .price-cell { margin-right: auto; font-size: 18px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-buy input.qty { width: 76px; min-height: 38px; }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-info .photo-hero-col,
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-info .detail-copy > h3 { display: none; }
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-info .detail-panel { display: block; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-body { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-gallery { position: static; }
  html body.qh-portal-og #qh-charcoal-final .part-detail-modal .pdm-thumb { width: 56px; height: 56px; }
}

/* 860: Unknown stock shows nothing instead of "Confirm on submit". */
html body.qh-portal-og #qh-charcoal-final .stock-mark.unknown:empty { display: none; }
html body.qh-portal-og #qh-charcoal-final .detail-grid .detail-avail-k:has(+ .detail-avail > .stock-mark:empty),
html body.qh-portal-og #qh-charcoal-final .detail-grid .detail-avail:has(> .stock-mark:empty) { display: none; }

/* 860: Pick lines say when the part last came in. */
html body.qh-portal-og #qh-charcoal-final .pick-recv-row { margin: 4px 0 0; }
html body.qh-portal-og #qh-charcoal-final .pick-recv { display: inline-flex; align-items: center; gap: 6px; padding: 1px 9px; border: 1px solid color-mix(in srgb, var(--muted, #6b6b6b) 30%, transparent); border-radius: 999px; font-size: 12px; font-weight: 700; line-height: 1.5; color: var(--muted, #6b6b6b); white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .pick-recv::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .75; }
html body.qh-portal-og #qh-charcoal-final .pick-recv.is-for-order { color: #2f7d4f; border-color: color-mix(in srgb, #2f7d4f 45%, transparent); background: color-mix(in srgb, #2f7d4f 10%, transparent); }
html body.qh-portal-og #qh-charcoal-final .pick-kit-attr .pick-recv { font-size: 11.5px; }

/* 860: Sales invoices open their lines under the row. */
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices tr.sales-inv-row { cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices tr.sales-inv-row:hover > td { background: color-mix(in srgb, var(--qh-action, #8d421a) 4%, transparent); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices tr.sales-inv-row.is-open > td { background: color-mix(in srgb, var(--qh-action, #8d421a) 8%, transparent); border-bottom-color: transparent; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sales-inv-toggle { display: inline-flex; align-items: center; gap: 7px; min-height: 0; padding: 0; border: 0; background: none; font: inherit; font-weight: 800; color: var(--qh-action, #8d421a); cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sales-inv-chev { flex: 0 0 auto; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform .15s ease; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace tr.is-open .sales-inv-chev { transform: rotate(45deg); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices tr.sales-inv-detail > td { padding: 0 0 14px !important; max-width: none !important; overflow: visible !important; text-overflow: clip !important; white-space: normal !important; font-size: 14px; font-weight: 400; text-align: left !important; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sales-inv-inline { margin: 0 0 0 18px; padding: 8px 14px 10px; border-left: 3px solid color-mix(in srgb, var(--qh-action, #8d421a) 45%, var(--line, #d9d1c7)); border-radius: 0 0 10px 0; background: color-mix(in srgb, var(--qh-action, #8d421a) 3%, var(--paper, #fff)); white-space: normal; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace :is(.sil-head, .sil-row) { display: grid; grid-template-columns: minmax(170px, 1.1fr) minmax(0, 2fr) 60px 92px 100px; gap: 4px 14px; align-items: center; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-head { padding: 4px 0 6px; border-bottom: 1px solid var(--line, #d9d1c7); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--muted, #6b6b6b); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-row { padding: 6px 0; border-bottom: 1px solid color-mix(in srgb, var(--line, #d9d1c7) 60%, transparent); font-size: 13.5px; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace :is(.sil-head, .sil-row) .n { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-part { position: relative; display: flex; align-items: center; gap: 8px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-id { min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-id b { font-weight: 800; overflow-wrap: anywhere; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-id .asm-head-note { display: block; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-desc { min-width: 0; overflow-wrap: anywhere; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-row.asm-head-row { border-top: 2px solid color-mix(in srgb, var(--qh-action, #8d421a) 35%, var(--line, #d9d1c7)); background: color-mix(in srgb, var(--qh-action, #8d421a) 5%, transparent); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-row.asm-part-row .sil-part { padding-left: 28px; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-row.asm-part-row .sil-part::before { content: ""; position: absolute; left: 9px; top: -7px; height: calc(50% + 7px); width: 13px; border-left: 2px solid color-mix(in srgb, var(--qh-action, #8d421a) 45%, var(--line, #d9d1c7)); border-bottom: 2px solid color-mix(in srgb, var(--qh-action, #8d421a) 45%, var(--line, #d9d1c7)); border-bottom-left-radius: 4px; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sales-inv-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding-top: 8px; font-size: 12.5px; color: var(--muted, #6b6b6b); }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices tr.sales-inv-detail { padding: 0 0 6px; border-bottom: 1px solid var(--line, #d9d1c7); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices tr.sales-inv-detail > td { flex: 1 1 100%; width: 100%; padding: 0 !important; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices tr.sales-inv-row.is-open { border-bottom: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sales-inv-inline { margin-left: 4px; padding: 6px 8px 8px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-head { display: none; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "part amt" "desc qty"; gap: 2px 10px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-row .sil-part { grid-area: part; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-row .sil-amt { grid-area: amt; font-weight: 800; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-row .sil-desc { grid-area: desc; font-size: 12.5px; color: var(--muted, #6b6b6b); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-row .sil-qty { grid-area: qty; font-size: 12.5px; color: var(--muted, #6b6b6b); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-row .sil-qty::before { content: "Qty "; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .sil-row .sil-price { display: none; }
}


html body.qh-portal-og #qh-charcoal-final .qhb-key.is-avg { width: 18px; height: 0; border-radius: 0; border-top: 2px dashed #2f7d4f; background: none; vertical-align: middle; }


/* 860: In the centred window the head is one row: name, actions, close. */
@media (min-width: 681px) {
  html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-head { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 10px; }
  html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-title-row { display: contents; }
  html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-back { display: none !important; }
  html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-head > div:not(.spd-actions):not(.spd-title-row),
  html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-name { order: 1; flex: 1 1 auto; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-actions { order: 2; display: flex; flex-wrap: nowrap; gap: 8px; }
  html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-title-row > :last-child { order: 3; }
  html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-head b.spd-title { font-size: 20px; }
}
html body.qh-portal-og #qh-charcoal-final .part-detail-modal .spd-title-row { grid-template-columns: minmax(0, 1fr) auto; }


@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.sales-invoices tr.sales-inv-row td[data-label="Invoice"]::before { content: none; }
}



/* 861 / 862: Header tabs. Each tab has its own colour, shown as a thin line icon on a plain button;
   the open page gets a light tint of its colour and an underline (862 replaced the solid tiles). */
html body.qh-portal-og #qh-charcoal-final :is(.cc-nav, .bottom-nav) a[data-tab="customer"], html body.qh-portal-og #qh-charcoal-final .bottom-nav a[data-bottom="customer"] { --tab-g: #2563a8; }
html body.qh-portal-og #qh-charcoal-final :is(.cc-nav, .bottom-nav) a[data-tab="catalog"], html body.qh-portal-og #qh-charcoal-final .bottom-nav a[data-bottom="catalog"] { --tab-g: #8d421a; }
html body.qh-portal-og #qh-charcoal-final :is(.cc-nav, .bottom-nav) a[data-tab="specials"], html body.qh-portal-og #qh-charcoal-final .bottom-nav a[data-bottom="specials"] { --tab-g: #be123c; }
html body.qh-portal-og #qh-charcoal-final :is(.cc-nav, .bottom-nav) a[data-tab="resources"], html body.qh-portal-og #qh-charcoal-final .bottom-nav a[data-bottom="resources"] { --tab-g: #0f766e; }
html body.qh-portal-og #qh-charcoal-final :is(.cc-nav, .bottom-nav) a[data-tab="delivery"], html body.qh-portal-og #qh-charcoal-final .bottom-nav a[data-bottom="delivery"] { --tab-g: #6b46c1; }
html body.qh-portal-og #qh-charcoal-final :is(.cc-nav, .bottom-nav) a[data-tab="admin"], html body.qh-portal-og #qh-charcoal-final .bottom-nav a[data-bottom="admin"] { --tab-g: #475569; }
html body.qh-portal-og #qh-charcoal-final .bottom-nav [data-bottom="labels"] { --tab-g: #9a3412; }
html body.qh-portal-og #qh-charcoal-final .bottom-nav [data-bottom="help"] { --tab-g: #0e7490; }
html body.qh-portal-og #qh-charcoal-final .bottom-nav [data-bottom="settings"] { --tab-g: #3f6212; }
html body.qh-portal-og #qh-charcoal-final .bottom-nav [data-bottom="find"] { --tab-g: #b45309; }
html body.qh-portal-og #qh-charcoal-final .bottom-nav [data-bottom="account"] { --tab-g: #9d174d; }
html body.qh-portal-og #qh-charcoal-final .bottom-nav [data-bottom="more"] { --tab-g: #4338ca; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .cc-nav a[data-tab="customer"], html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav a[data-bottom="customer"] { --tab-g: #3b7dc8; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .cc-nav a[data-tab="catalog"], html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav a[data-bottom="catalog"] { --tab-g: #b0602e; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .cc-nav a[data-tab="specials"], html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav a[data-bottom="specials"] { --tab-g: #e04f6a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .cc-nav a[data-tab="resources"], html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav a[data-bottom="resources"] { --tab-g: #14958a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .cc-nav a[data-tab="delivery"], html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav a[data-bottom="delivery"] { --tab-g: #8463d8; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .cc-nav a[data-tab="admin"], html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav a[data-bottom="admin"] { --tab-g: #64748b; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav [data-bottom="labels"] { --tab-g: #e08a4f; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav [data-bottom="help"] { --tab-g: #2aa4b8; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav [data-bottom="settings"] { --tab-g: #8aaa4a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav [data-bottom="find"] { --tab-g: #e09a3a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav [data-bottom="account"] { --tab-g: #e06a8a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav [data-bottom="more"] { --tab-g: #8b84e8; }
html body.qh-portal-og #qh-charcoal-final .primary-tabs.cc-nav { gap: 8px 10px; }
html body.qh-portal-og #qh-charcoal-final .primary-tabs.cc-nav a[data-tab],
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .primary-tabs.cc-nav a[data-tab] {
  gap: 8px;
  padding: 7px 14px 7px 11px;
  border-radius: 8px;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--ink, #1c1916);
  border: 1px solid var(--line, #d9d1c7);
  background: var(--qh-tab-bg, var(--paper, #fffdf9));
  box-shadow: none;
  transition: background-color .12s ease, border-color .12s ease;
}
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .primary-tabs.cc-nav { --qh-tab-bg: rgba(255, 255, 255, .035); }
html body.qh-portal-og #qh-charcoal-final .primary-tabs.cc-nav a[data-tab] .tab-svg {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  padding: 0;
  border-radius: 0;
  background: none;
  color: var(--tab-g);
  stroke-width: 1.75;
}
html body.qh-portal-og #qh-charcoal-final .primary-tabs.cc-nav a[data-tab]:not(.active):hover {
  color: var(--ink, #1c1916);
  text-decoration: none;
  background: color-mix(in srgb, var(--tab-g) 8%, var(--qh-tab-bg, var(--paper, #fffdf9)));
  border-color: color-mix(in srgb, var(--tab-g) 40%, var(--line, #d9d1c7));
}
html body.qh-portal-og #qh-charcoal-final .primary-tabs.cc-nav a[data-tab]:focus-visible { outline: 2px solid var(--tab-g); outline-offset: 2px; }
html body.qh-portal-og #qh-charcoal-final .primary-tabs.cc-nav a[data-tab].active,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .primary-tabs.cc-nav a[data-tab].active {
  color: var(--ink, #1c1916);
  background: color-mix(in srgb, var(--tab-g) 14%, var(--paper, #fffdf9));
  border-color: color-mix(in srgb, var(--tab-g) 50%, var(--line, #d9d1c7));
  box-shadow: inset 0 -2px 0 var(--tab-g);
  transform: none;
}
html body.qh-portal-og #qh-charcoal-final .primary-tabs.cc-nav a[data-tab].active .tab-svg { background: none; color: var(--tab-g); }
html body.qh-portal-og #qh-charcoal-final .bottom-nav :is(a, button)[data-bottom]:not(.active):not([aria-current="page"]) .bottom-nav-ic { color: var(--tab-g, currentColor); }
html body.qh-portal-og #qh-charcoal-final .bottom-nav :is(a, button).active,
html body.qh-portal-og #qh-charcoal-final .bottom-nav :is(a, button)[aria-current="page"] { color: #c2410c !important; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .bottom-nav :is(a, button).active .bottom-nav-ic,
html body.qh-portal-og #qh-charcoal-final .bottom-nav :is(a, button)[aria-current="page"] .bottom-nav-ic { color: #c2410c !important; }

/* 861: Specials. Drill sets list their sizes as plain text; pump kits sit side by side. */
html body.qh-portal-og #qh-charcoal-final .sp-sizes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(62px, 1fr)); column-gap: 10px; }
html body.qh-portal-og #qh-charcoal-final .sp-sizes li { padding: 4px 2px; border-bottom: 1px solid var(--line, #e4dbcf); font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink, #1c1916); cursor: default; }
html body.qh-portal-og #qh-charcoal-final .sp-kits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0 0 16px; }
html body.qh-portal-og #qh-charcoal-final .sp-kits .sp-set { grid-template-columns: 1fr; margin: 0; }
html body.qh-portal-og #qh-charcoal-final .sp-kits .sp-hero { grid-template-columns: 180px minmax(0, 1fr); align-items: start; }
html body.qh-portal-og #qh-charcoal-final .sp-kits .sp-hero-photo { height: 180px; }
@media (max-width: 860px) {
  html body.qh-portal-og #qh-charcoal-final .sp-kits { grid-template-columns: 1fr; }
  html body.qh-portal-og #qh-charcoal-final .sp-kits .sp-hero { grid-template-columns: 120px minmax(0, 1fr); }
  html body.qh-portal-og #qh-charcoal-final .sp-kits .sp-hero-photo { height: 120px; }
}
@media (max-width: 520px) {
  html body.qh-portal-og #qh-charcoal-final .sp-kits .sp-hero { grid-template-columns: 1fr; }
  html body.qh-portal-og #qh-charcoal-final .sp-kits .sp-hero-photo { height: 180px; }
  html body.qh-portal-og #qh-charcoal-final .sp-sizes { grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)); }
}

/* 861: Catalog. Parts that fit a Fill-Rite pump, under its details. */
html body.qh-portal-og #qh-charcoal-final .fr-fits { margin: 14px 0 0; padding: 12px 0 0; border-top: 2px dashed var(--line, #d9d1c7); }
html body.qh-portal-og #qh-charcoal-final .fr-fits h4 { margin: 0 0 4px; font-size: 13px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--muted, #6b6b6b); }
html body.qh-portal-og #qh-charcoal-final .fr-fits h4 small { margin-left: 6px; font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .fr-fits .sp-products { display: grid; grid-template-columns: minmax(0, 1fr); }
html body.qh-portal-og #qh-charcoal-final .fr-fits .sp-product { grid-template-columns: minmax(220px, 1fr) auto; padding: 6px 0; }
html body.qh-portal-og #qh-charcoal-final .fr-fits .sp-product:last-child { border-bottom: 0; }
html body.qh-portal-og #qh-charcoal-final .fr-fits .sp-product .qty-add { flex-wrap: nowrap; justify-content: flex-end; }
html body.qh-portal-og #qh-charcoal-final .fr-fits .sp-product .qty-add .qty { width: 56px; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .fr-fits .sp-product { grid-template-columns: 1fr; }
  html body.qh-portal-og #qh-charcoal-final .fr-fits .sp-product .qty-add { flex-wrap: wrap; justify-content: flex-start; }
}

/* 862: Glass. Light is the default: a soft warm-grey page with white cards. Dark is the same
   look in charcoal with a copper accent; panels stay solid so menus and sticky heads read clearly. */
html[data-theme="dark"] body.qh-portal-og,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .cc-app,
html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace {
  --qh-ink: #f4f5f7;
  --qh-muted: #b9c0ca;
  --qh-header: rgba(22, 24, 27, .86);
  --qh-paper: #232527;
  --qh-soft: #2b2e32;
  --qh-line: #3a3d42;
  --qh-control: #6d737c;
  --qh-copper: #f0b27a;
  --qh-action: #f0b27a;
  --qh-action-text: #2a1406;
  --qh-selected: #3a2f27;
  --qh-hover: #2b2d30;
  --wash: #16181b;
  --orange: #f0b27a;
  --orange-dark: #f0b27a;
  --link: #f0b27a;
}
html[data-theme="dark"] body.qh-portal-og { background: #16181b; }
html body.qh-portal-og #qh-charcoal-final #stage.cc-main { background: #f6f4f0; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final #stage.cc-main { background: #16181b; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .cc-header {
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
html body.qh-portal-og #qh-charcoal-final :is(.acct-stat, .ops-metric) {
  border-radius: 12px;
  background: var(--paper, #fffdf9);
  box-shadow: 0 1px 2px rgba(28, 25, 22, .05);
  transition: transform .18s cubic-bezier(.2, .8, .2, 1), box-shadow .18s ease, border-color .18s ease;
}
html body.qh-portal-og #qh-charcoal-final :is(.acct-stat, .ops-metric):hover { transform: translateY(-1px); box-shadow: 0 8px 20px -10px rgba(28, 25, 22, .25); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final :is(.acct-stat, .ops-metric) { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final :is(.acct-stat, .ops-metric):hover { border-color: #4a4e55; box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .07); }
html body.qh-portal-og #qh-charcoal-final :is(.acct-stat b, .ops-metric strong) { font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final #stage table { background: var(--paper, #fffdf9); }
html body.qh-portal-og #qh-charcoal-final #stage table thead th { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final #stage table tbody tr { transition: background-color .15s ease; }
html body.qh-portal-og #qh-charcoal-final #stage table tbody tr:hover > td { background: color-mix(in srgb, var(--qh-action, #8d421a) 5%, var(--paper, #fffdf9)); }
html body.qh-portal-og #qh-charcoal-final #stage table tbody tr:hover > td:first-child { box-shadow: inset 3px 0 0 var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-table-wrap { border-radius: 12px; }
html body.qh-portal-og #qh-charcoal-final :is(.action-btn, .ghost-btn, .add-btn) { border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final :is(.action-btn, .add-btn) { transition: transform .12s ease, filter .15s ease; }
html body.qh-portal-og #qh-charcoal-final :is(.action-btn, .add-btn):hover { filter: brightness(1.06); }
html body.qh-portal-og #qh-charcoal-final :is(.action-btn, .add-btn):active { transform: scale(.97); }
html body.qh-portal-og #qh-charcoal-final :is(input, select, textarea):focus-visible {
  outline: none;
  border-color: var(--qh-action, #8d421a);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--qh-action, #8d421a) 25%, transparent);
}
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-seg-btn.is-on { background: #f0b27a; color: #2a1406; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qhb-bar { background: linear-gradient(180deg, #f4c69c 0%, #c98f5e 100%); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qhb-col.is-on .qhb-bar.s0 { background: linear-gradient(180deg, #a87550 0%, #7d5639 100%); box-shadow: 0 0 0 2px rgba(240, 178, 122, .35); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final :is(button.qhb-col:hover, .qhb-col.is-on) { background: rgba(255, 255, 255, .05); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final :is(.qhb-col.is-on .qhb-lab, .qhb-col.is-on .qhb-lab em, .sales-inv-toggle, .sales-inv-chev) { color: #f0b27a; }
@media (max-width: 760px) {
  html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav :is(a.active, a[aria-current="page"], button.active) { color: #f0b27a; border-top-color: #f0b27a; }
}

/* 862: Operations toolbar. Tools sit in labelled sets by job (Sell, Shop floor, Buying, Road) and
   wrap onto a second row; each is a plain button with a thin icon in its set's colour. */
html body.qh-portal-og { --qt-sell: #2563a8; --qt-shop: #0f766e; --qt-buy: #6b46c1; --qt-road: #b45309; --qh-tool-bg: var(--qh-paper, #fffdf9); }
html[data-theme="dark"] body.qh-portal-og { --qt-sell: #5b9be0; --qt-shop: #2fb3a3; --qt-buy: #a58be8; --qt-road: #e09a4f; --qh-tool-bg: rgba(255, 255, 255, .035); }
html body.qh-portal-og :is([data-g="sell"], [data-ops-group="sell"]) { --g: var(--qt-sell); }
html body.qh-portal-og :is([data-g="shop"], [data-ops-group="shop"]) { --g: var(--qt-shop); }
html body.qh-portal-og :is([data-g="buy"], [data-ops-group="buy"]) { --g: var(--qt-buy); }
html body.qh-portal-og :is([data-g="road"], [data-ops-group="road"]) { --g: var(--qt-road); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-n-wrap { display: inline-flex; flex: none; gap: 4px; margin-left: 1px; }
html body.qh-portal-og .ops-n { white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 6px; border-radius: 9px; font-size: 11px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; background: color-mix(in srgb, var(--qh-ink, #222) 11%, transparent); color: var(--qh-muted, #666); }
html body.qh-portal-og .ops-n i { font-style: normal; white-space: pre; }
html body.qh-portal-og .ops-n.is-late { background: color-mix(in srgb, #d92d20 14%, transparent); color: #b42318; }
html[data-theme="dark"] body.qh-portal-og .ops-n.is-late { background: rgba(240, 120, 110, .16); color: #f4a39c; }
@media (min-width: 681px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px 22px;
    overflow: visible;
    position: static;
    top: auto;
    margin: 0 0 10px;
    padding: 10px 12px 12px;
    border: 1px solid var(--qh-line, var(--line, #d9d1c7));
    border-radius: 12px;
    background: var(--qh-paper, var(--paper, #fffdf9));
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp { display: grid; gap: 5px; align-content: start; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-h { display: flex; align-items: center; gap: 6px; font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--g); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-h::after { content: ""; flex: 1 1 auto; height: 1px; background: color-mix(in srgb, var(--g) 35%, transparent); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-row { display: flex; flex-wrap: wrap; gap: 6px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group],
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group]:nth-child(n+5) {
    gap: 7px;
    min-height: 0;
    padding: 6px 12px 6px 10px;
    border: 1px solid var(--qh-line, var(--line, #d9d1c7));
    border-radius: 8px;
    background: var(--qh-tool-bg);
    box-shadow: none;
    color: var(--qh-ink, var(--ink, #1c1916));
    font-size: 13.5px;
    font-weight: 650;
    text-decoration: none;
    transition: background-color .12s ease, border-color .12s ease;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group] .ops-nav-ic,
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group].is-on .ops-nav-ic { width: 17px; height: 17px; color: var(--g); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group]:not(.is-on):hover {
    background: color-mix(in srgb, var(--g) 8%, var(--qh-tool-bg));
    border-color: color-mix(in srgb, var(--g) 40%, var(--qh-line, var(--line, #d9d1c7)));
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group].is-on {
    color: var(--qh-ink, var(--ink, #1c1916));
    background: color-mix(in srgb, var(--g) 14%, var(--qh-paper, #fffdf9));
    border-color: color-mix(in srgb, var(--g) 50%, var(--qh-line, var(--line, #d9d1c7)));
    box-shadow: inset 0 -2px 0 var(--g);
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group]:focus-visible { outline: 2px solid var(--g); outline-offset: 2px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side .ops-arrange-btn { align-self: flex-end; margin-left: auto; }
}
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arr-item[data-ops-group] { box-shadow: inset 3px 0 0 var(--g); }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-arr-item[data-ops-group] .ops-nav-ic { color: var(--g); }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .ops-phone-grid .ops-phone-h { grid-column: 1 / -1; display: flex; align-items: center; gap: 6px; margin: 6px 0 0; font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--g); }
  html body.qh-portal-og #qh-charcoal-final .ops-phone-grid .ops-phone-h:first-child { margin-top: 0; }
  html body.qh-portal-og #qh-charcoal-final .ops-phone-grid .ops-phone-h::after { content: ""; flex: 1 1 auto; height: 1px; background: color-mix(in srgb, var(--g) 35%, transparent); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-grid a[data-ops-group] { box-shadow: none; background: var(--qh-tool-bg); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-grid a[data-ops-group] .ops-nav-ic,
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-grid a[data-ops-group].is-on .ops-nav-ic { color: var(--g); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-grid a[data-ops-group].is-on { color: var(--qh-ink, var(--ink)); background: color-mix(in srgb, var(--g) 14%, var(--qh-paper, #fffdf9)); border-color: color-mix(in srgb, var(--g) 50%, var(--line)); box-shadow: inset 0 -2px 0 var(--g); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-grid a .ops-n-wrap { margin-left: auto; gap: 3px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-grid a .ops-n i { display: none; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-grid a.ops-phone-all { grid-column: 1 / -1; justify-content: center; margin-top: 4px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-phone-grid a.ops-phone-all .ops-nav-ic { color: var(--muted); }
}

/* 862: All tools page. */
html body.qh-portal-og #qh-charcoal-final .ops-tools-page .ops-tools-sec { margin-top: 18px; }
html body.qh-portal-og #qh-charcoal-final .ops-tools-page .ops-tools-sec h2 { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--g); }
html body.qh-portal-og #qh-charcoal-final .ops-tools-page .ops-tools-sec h2::after { content: ""; flex: 1 1 auto; height: 1px; background: color-mix(in srgb, var(--g) 35%, transparent); }
html body.qh-portal-og #qh-charcoal-final .ops-tools-page .ops-tools-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
html body.qh-portal-og #qh-charcoal-final .ops-tools-page .ops-tool-tile { display: grid; grid-template-columns: auto 1fr auto; align-items: start; gap: 11px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--ink); text-decoration: none; transition: background-color .12s ease, border-color .12s ease, transform .12s ease; }
html body.qh-portal-og #qh-charcoal-final .ops-tools-page .ops-tool-tile:hover { background: color-mix(in srgb, var(--g) 7%, var(--paper)); border-color: color-mix(in srgb, var(--g) 45%, var(--line)); transform: translateY(-1px); }
html body.qh-portal-og #qh-charcoal-final .ops-tools-page .ops-tool-tile .ops-nav-ic { width: 22px; height: 22px; margin-top: 1px; color: var(--g); }
html body.qh-portal-og #qh-charcoal-final .ops-tools-page .ops-tool-tx { display: grid; gap: 3px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .ops-tools-page .ops-tool-tx b { font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .ops-tools-page .ops-tool-tx small { font-size: 12.5px; line-height: 1.35; color: var(--muted); }

/* 862: Find a tool (Ctrl+K or /). Sits outside the app root, so it uses the body-level colours. */
html body.qh-portal-og #qhFind { position: fixed; inset: 0; z-index: 2147482000; display: flex; justify-content: center; align-items: flex-start; padding: 9vh 16px 40px; background: rgba(8, 10, 12, .5); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); color: var(--qh-ink, #1c1916); }
html body.qh-portal-og #qhFind .qh-find { width: min(620px, 100%); overflow: hidden; border: 1px solid var(--qh-line, #d9d1c7); border-radius: 14px; background: var(--qh-paper, #fffdf9); box-shadow: 0 24px 60px -20px rgba(0, 0, 0, .55); }
html body.qh-portal-og #qhFind .qh-find-in { display: flex; align-items: center; gap: 10px; margin: 0; padding: 14px 16px; border-bottom: 1px solid var(--qh-line, #ddd); }
html body.qh-portal-og #qhFind .qh-find-in svg { flex: 0 0 auto; width: 20px; height: 20px; color: var(--qh-muted, #666); }
html body.qh-portal-og #qhFind .qh-find-in input { flex: 1 1 auto; min-width: 0; min-height: 0; padding: 0; border: 0; outline: 0; box-shadow: none; background: transparent; color: inherit; font: inherit; font-size: 17px; }
html body.qh-portal-og #qhFind .qh-find-list { max-height: 52vh; margin: 0; padding: 6px; overflow: auto; list-style: none; }
html body.qh-portal-og #qhFind .qh-find-list li { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 8px; cursor: pointer; }
html body.qh-portal-og #qhFind .qh-find-list li[aria-selected="true"] { background: color-mix(in srgb, var(--g, var(--qh-action, #8d421a)) 13%, transparent); box-shadow: inset 3px 0 0 var(--g, var(--qh-action, #8d421a)); }
html body.qh-portal-og #qhFind .qh-find-list li[data-g="tab"],
html body.qh-portal-og #qhFind .qh-find-list li[data-g=""] { --g: var(--qh-muted, #6b6b6b); }
html body.qh-portal-og #qhFind .qh-find-ic { display: inline-grid; place-items: center; width: 22px; height: 22px; color: var(--g, var(--qh-muted)); }
html body.qh-portal-og #qhFind .qh-find-ic svg { width: 20px; height: 20px; padding: 0; background: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
html body.qh-portal-og #qhFind .qh-find-tx { display: grid; gap: 2px; min-width: 0; }
html body.qh-portal-og #qhFind .qh-find-tx b { font-size: 15px; }
html body.qh-portal-og #qhFind .qh-find-tx small { overflow: hidden; font-size: 12.5px; color: var(--qh-muted, #666); text-overflow: ellipsis; white-space: nowrap; }
html body.qh-portal-og #qhFind .qh-find-list em { font-style: normal; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--g); }
html body.qh-portal-og #qhFind .qh-find-list .qh-find-none { display: block; color: var(--qh-muted, #666); cursor: default; }
html body.qh-portal-og #qhFind .qh-find-tip { margin: 0; padding: 9px 16px; border-top: 1px solid var(--qh-line, #ddd); font-size: 12px; color: var(--qh-muted, #666); }
html body.qh-portal-og #qhFind kbd { padding: 1px 5px; border: 1px solid var(--qh-line, #ccc); border-bottom-width: 2px; border-radius: 4px; font: 700 10.5px/1.3 ui-monospace, monospace; color: var(--qh-muted, #666); background: transparent; }

/* 862: Graphs. A Bars / Line switch on every graph; line mode hides the bar fill and draws a line through the bar tops. */
html body.qh-portal-og .qh-ck { display: flex; justify-content: flex-end; margin: -6px 0 8px; }
html body.qh-portal-og .qh-ck button { display: inline-flex; align-items: center; gap: 5px; min-height: 0; margin: 0 0 0 -1px; padding: 3px 10px; border: 1px solid var(--qh-line, #d9d1c7); border-radius: 0; background: transparent; box-shadow: none; color: var(--qh-muted, #6b6b6b); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
html body.qh-portal-og .qh-ck button:first-child { border-radius: 7px 0 0 7px; }
html body.qh-portal-og .qh-ck button:last-child { border-radius: 0 7px 7px 0; }
html body.qh-portal-og .qh-ck button[aria-pressed="true"] { position: relative; background: var(--qh-selected, rgba(141, 66, 26, .12)); border-color: var(--qh-control, #999); color: var(--qh-ink, #1c1916); }
html body.qh-portal-og .qh-ck svg { width: 14px; height: 14px; }
html body.qh-portal-og :is(.qhb-plot, .ops-chart-plot) { position: relative; }
html body.qh-portal-og svg.qh-line { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; overflow: visible; pointer-events: none; color: var(--qh-action, #8d421a); }
html body.qh-portal-og svg.qh-line stop { stop-color: currentColor; }
html body.qh-portal-og svg.qh-line .qh-line-area.s0 { fill: url(#qhLineFill); }
html body.qh-portal-og svg.qh-line .qh-line-area:not(.s0) { fill: none; }
html body.qh-portal-og svg.qh-line .qh-line-path { fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
html body.qh-portal-og svg.qh-line :is(.qh-line-path, .qh-line-dot).s1 { stroke: #8fa9c2; }
html body.qh-portal-og svg.qh-line .qh-line-path.s1 { stroke-dasharray: 5 4; }
html body.qh-portal-og svg.qh-line .qh-line-dot { fill: var(--qh-paper, #fff); stroke: currentColor; stroke-width: 2; }
html body.qh-portal-og svg.qh-line .qh-line-dot.is-on { fill: currentColor; }
html[data-chart-kind="line"] body.qh-portal-og .qhb:not(.is-cat) :is(.qhb-bar, .qhb-col.is-on .qhb-bar.s0),
html[data-chart-kind="line"] body.qh-portal-og #qh-charcoal-final :is(.qhb:not(.is-cat) .qhb-bar, .qhb:not(.is-cat) .qhb-col.is-on .qhb-bar.s0, .ops-month-track, .ops-month-track > i) { background: none !important; box-shadow: none !important; border-color: transparent !important; }
html[data-chart-kind="line"] body.qh-portal-og #qh-charcoal-final .qhb-val { margin-bottom: 9px; }

/* 862: Loading. A page waiting on its data shows the shape of what is coming; a thin bar runs
   across the top while a slower request finishes in the background. */
html body.qh-portal-og #qh-charcoal-final .qh-wait { display: grid; gap: 14px; margin: 10px 0 18px; }
html body.qh-portal-og #qh-charcoal-final .qh-wait-label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; font-weight: 650; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .qh-wait-label::before { content: ""; flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--qh-action, #8d421a); animation: qhSkBreathe 1.4s ease-in-out infinite; }
html body.qh-portal-og #qh-charcoal-final .qh-sk-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; }
html body.qh-portal-og #qh-charcoal-final .qh-sk-card { display: grid; gap: 9px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .qh-sk-rows { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .qh-sk-row { display: grid; grid-template-columns: 2fr 1fr 1fr 90px; gap: 18px; align-items: center; padding: 12px 14px; border-bottom: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .qh-sk-row:last-child { border-bottom: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-sk { position: relative; display: block; height: 12px; overflow: hidden; border-radius: 6px; background: color-mix(in srgb, var(--ink) 9%, transparent); }
html body.qh-portal-og #qh-charcoal-final .qh-sk::after { content: ""; position: absolute; inset: 0; transform: translateX(-100%); background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--paper, #fff) 75%, transparent), transparent); animation: qhSkShimmer 1.3s ease-in-out infinite; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qh-sk::after { background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .1), transparent); }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-sk-row { grid-template-columns: 2fr 1fr 70px; }
  html body.qh-portal-og #qh-charcoal-final .qh-sk-row .qh-sk:nth-child(3) { display: none; }
}
#qhBusyBar { position: fixed; top: 0; left: 0; right: 0; z-index: 2147483000; height: 2px; overflow: hidden; pointer-events: none; opacity: 0; transition: opacity .2s ease; }
#qhBusyBar::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 35%; background: var(--qh-action, #8d421a); transform: translateX(-100%); }
html.qh-busy #qhBusyBar { opacity: 1; }
html.qh-busy #qhBusyBar::after { animation: qhBusySlide 1.1s ease-in-out infinite; }
html[data-theme="dark"] #qhBusyBar::after { background: #f0b27a; }
@keyframes qhSkShimmer { to { transform: translateX(100%); } }
@keyframes qhSkBreathe { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@keyframes qhBusySlide { from { transform: translateX(-100%); } to { transform: translateX(290%); } }
@media (prefers-reduced-motion: reduce) {
  html body.qh-portal-og #qh-charcoal-final .qh-sk::after,
  html body.qh-portal-og #qh-charcoal-final .qh-wait-label::before { animation: none; }
  html.qh-busy #qhBusyBar::after { animation: none; width: 100%; transform: none; opacity: .6; }
  html body.qh-portal-og #qh-charcoal-final :is(.acct-stat, .ops-metric, .action-btn, .add-btn, .ops-tool-tile) { transition: none; }
  html body.qh-portal-og #qh-charcoal-final :is(.acct-stat, .ops-metric, .ops-tool-tile):hover,
  html body.qh-portal-og #qh-charcoal-final :is(.action-btn, .add-btn):active { transform: none; }
}


/* 863: entrance motion (site.js qhMotionPass). Plays once per page or when numbers change.
   --qa / --qe = how far along an entrance already is when the page redraws mid-way. */
@keyframes qhEnter { from { opacity: 0; transform: translateY(5px); } }
@keyframes qhRise { from { opacity: 0; transform: translateY(8px); } }
@keyframes qhRow { from { opacity: 0; transform: translateY(4px); } }
@keyframes qhGrow { from { transform: scaleY(0); } }
@keyframes qhFade { from { opacity: 0; } }
@keyframes qhDraw { to { stroke-dashoffset: 0; } }
@keyframes qhDot { from { opacity: 0; transform: scale(.2); } }
@keyframes qhPop { 0% { opacity: 0; transform: scale(.55); } 60% { opacity: 1; transform: scale(1.14); } 100% { transform: scale(1); } }
html body.qh-portal-og .qh-enter { animation: qhEnter .24s cubic-bezier(.2, .7, .25, 1) backwards; animation-delay: calc(0ms - var(--qe, 0ms)); }
html body.qh-portal-og #qh-charcoal-final [data-qr] { animation: qhRise .38s cubic-bezier(.2, .7, .25, 1) backwards; animation-delay: calc(var(--qi, 0) * 45ms - var(--qa, 0ms)); }
html body.qh-portal-og #qh-charcoal-final tr[data-qr] { animation-name: qhRow; animation-duration: .3s; animation-delay: calc(var(--qi, 0) * 14ms - var(--qa, 0ms)); }
html:not([data-chart-kind="line"]) body.qh-portal-og #qh-charcoal-final .qh-intro :is(.qhb-bar, .ops-month-track > i) { transform-origin: 50% 100%; animation: qhGrow .55s cubic-bezier(.2, .75, .25, 1) backwards; animation-delay: calc(var(--qi, 0) * var(--qstep, 25ms) - var(--qa, 0ms)); }
html body.qh-portal-og #qh-charcoal-final .qh-intro .qhb-val { animation: qhFade .3s ease-out backwards; animation-delay: calc(var(--qi, 0) * var(--qstep, 25ms) + 380ms - var(--qa, 0ms)); }
html body.qh-portal-og svg.qh-line.is-intro .qh-line-path.s0 { stroke-dasharray: var(--len); stroke-dashoffset: var(--len); animation: qhDraw .8s cubic-bezier(.35, .6, .25, 1) forwards; animation-delay: calc(0ms - var(--qa, 0ms)); }
html body.qh-portal-og svg.qh-line.is-intro .qh-line-path.s1,
html body.qh-portal-og svg.qh-line.is-intro .qh-line-area { animation: qhFade .7s ease-out backwards; animation-delay: calc(250ms - var(--qa, 0ms)); }
html body.qh-portal-og svg.qh-line.is-intro .qh-line-dot { transform-box: fill-box; transform-origin: center; animation: qhDot .3s cubic-bezier(.3, 1.4, .5, 1) backwards; }
html body.qh-portal-og .ops-n-wrap.qh-pop .ops-n { animation: qhPop .5s cubic-bezier(.3, 1.2, .5, 1) backwards; }
html body.qh-portal-og .ops-n-wrap.qh-pop .ops-n + .ops-n { animation-delay: 70ms; }
@media (prefers-reduced-motion: reduce) {
  html body.qh-portal-og .qh-enter,
  html body.qh-portal-og #qh-charcoal-final [data-qr],
  html body.qh-portal-og #qh-charcoal-final .qh-intro :is(.qhb-bar, .ops-month-track > i, .qhb-val),
  html body.qh-portal-og svg.qh-line.is-intro :is(.qh-line-path, .qh-line-area, .qh-line-dot),
  html body.qh-portal-og .ops-n-wrap.qh-pop .ops-n { animation: none; }
  html body.qh-portal-og svg.qh-line.is-intro .qh-line-path.s0 { stroke-dasharray: none; stroke-dashoffset: 0; }
}


/* 864: printed invoice laid out like the Koble one (site.js viewHistoryInvoice). Always white paper. */
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-paper { max-width: 8.5in; margin: 0 auto; padding: 0.45in 0.5in 0.4in; background: #fff; color: #1d1d1d; border: 1px solid #d9d4cc; border-radius: 6px; box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .35); font: 12px/1.35 "QH Inter", Inter, Arial, sans-serif; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-paper * { color: inherit; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 18px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-co { display: flex; flex-direction: column; gap: 1px; font-size: 11.5px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-co img { width: 150px; height: auto; margin-bottom: 8px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-co b { font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-doc { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-doc h1 { margin: 0; font-size: 26px; font-weight: 800; letter-spacing: .01em; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-doc .qh-koble-scan { text-align: right; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-doc .qh-koble-scan svg { width: 2.2in; height: 0.42in; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-doc .qh-koble-scan small { display: block; font-size: 9px; color: #666; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice table { width: 100%; border-collapse: collapse; background: transparent; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-box { border: 1px solid #555; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-box th { padding: 3px 8px; border: 1px solid #555; background: #ececec; font-size: 10px; font-weight: 700; text-transform: none; letter-spacing: 0; text-align: center; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-box td { padding: 4px 8px; border: 1px solid #555; text-align: center; font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-doc .qi-box { width: auto; min-width: 2.6in; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-addr { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 0 0 14px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-addr > div { display: flex; flex-direction: column; gap: 1px; min-height: 0.9in; padding: 6px 10px; border: 1px solid #555; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-addr h3 { margin: 0 0 3px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #555; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-meta { margin: 0 0 14px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-lines { margin: 0 0 14px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-lines th { padding: 5px 6px; border-top: 1.5px solid #222; border-bottom: 1.5px solid #222; background: transparent; font-size: 10.5px; font-weight: 700; text-transform: none; letter-spacing: 0; text-align: left; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-lines td { padding: 5px 6px; border-bottom: 1px solid #ddd; vertical-align: top; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-lines tr:hover td { background: transparent; box-shadow: none; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-lines .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-lines .qi-item { white-space: nowrap; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-lines .qi-uom { white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-lines small { display: block; color: #666; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-foot { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; break-inside: avoid; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-note p { margin: 0 0 14px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-sign { display: flex; align-items: flex-end; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-sign span { display: inline-block; width: 2.4in; border-bottom: 1px solid #222; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-thanks { font-size: 14px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-totals { width: 2.8in; flex: none; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-totals th { padding: 3px 8px; font-weight: 600; text-align: right; background: transparent; text-transform: none; letter-spacing: 0; font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-totals td { padding: 3px 8px; text-align: right; font-variant-numeric: tabular-nums; min-width: 1in; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-totals .is-total th,
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-totals .is-total td { border-top: 1.5px solid #222; font-weight: 800; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-totals .is-balance th,
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-totals .is-balance td { border-top: 1px solid #999; font-weight: 800; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-paper { padding: 16px; }
  html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-top, html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-foot { flex-direction: column; }
  html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-doc { align-items: flex-start; }
  html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-addr { grid-template-columns: 1fr; gap: 10px; }
  html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-meta, html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-lines { display: block; overflow-x: auto; }
  html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-totals { width: 100%; }
}
@media print {
  @page { size: letter; margin: 0.375in; }
  html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-paper { max-width: none; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
  html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-box th { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-lines thead { display: table-header-group; }
  html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-lines tr { break-inside: avoid; }
}


/* 864b: invoice tables ignore the theme's table look (dark cells, caps heads, row hover). */
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-paper :is(table, thead, tbody, tr, th, td) { background: transparent !important; color: #1d1d1d !important; box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-paper .qi-box th { background: #ececec !important; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-paper .qi-addr h3 { color: #555 !important; }
@media print {
  html:has(.qh-invoice), html:has(.qh-invoice) body, body:has(.qh-invoice) :is(#app, #qh-charcoal-final, .cc-viewport, .cc-app, .shell, #stage) { background: #fff !important; color: #1d1d1d !important; }
  body:has(.qh-invoice) :is(#appChrome, .app-chrome-pad, #suggest, #railPanel, .bottom-nav, .crumbs, .no-print, #qhBusyBar, #qhFind) { display: none !important; }
  body:has(.qh-invoice) :is(.shell, #stage) { display: block !important; margin: 0 !important; padding: 0 !important; max-width: none !important; }
  body:has(.qh-invoice) .qh-invoice [data-qr] { animation: none !important; }
}

/* 865: chart tips (one floating card: amount, invoice count, change vs the column before). */
html body #qhTip { position: fixed; left: 0; top: 0; z-index: 9500; min-width: 150px; max-width: 260px; padding: 9px 11px 8px; border-radius: 12px; border: 1px solid rgba(0, 0, 0, .08); background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3); box-shadow: 0 10px 28px rgba(20, 20, 30, .18), 0 2px 6px rgba(20, 20, 30, .08); color: #1f2024; font: 500 12.5px/1.35 var(--qh-font, Inter, system-ui, sans-serif); pointer-events: none; opacity: 0; transition: opacity .12s ease; }
html body #qhTip.is-on { opacity: 1; }
html body #qhTip .qt-h { display: block; margin-bottom: 4px; font-weight: 800; font-size: 12.5px; letter-spacing: .01em; }
html body #qhTip .qt-r { display: flex; justify-content: space-between; gap: 14px; }
html body #qhTip .qt-r i { font-style: normal; color: #6b6e76; }
html body #qhTip .qt-r em { font-style: normal; font-weight: 700; font-variant-numeric: tabular-nums; }
html body #qhTip .qt-d { display: block; margin-top: 5px; padding-top: 5px; border-top: 1px solid rgba(0, 0, 0, .08); font-weight: 700; font-size: 11.5px; font-variant-numeric: tabular-nums; }
html body #qhTip .qt-d::before { margin-right: 4px; font-size: 9px; vertical-align: 1px; }
html body #qhTip .qt-d.is-up { color: #1c7c45; }
html body #qhTip .qt-d.is-up::before { content: "▲"; }
html body #qhTip .qt-d.is-down { color: #b4352b; }
html body #qhTip .qt-d.is-down::before { content: "▼"; }
html body #qhTip .qt-d.is-flat { color: #6b6e76; }
html[data-theme="dark"] body #qhTip { border-color: rgba(255, 255, 255, .1); background: rgba(34, 36, 42, .92); color: #eef0f3; box-shadow: 0 12px 30px rgba(0, 0, 0, .45); }
html[data-theme="dark"] body #qhTip .qt-r i { color: #a3a8b2; }
html[data-theme="dark"] body #qhTip .qt-d { border-top-color: rgba(255, 255, 255, .1); }
html[data-theme="dark"] body #qhTip .qt-d.is-up { color: #6fd39a; }
html[data-theme="dark"] body #qhTip .qt-d.is-down { color: #ff8a7d; }
html[data-theme="dark"] body #qhTip .qt-d.is-flat { color: #a3a8b2; }
html body.qh-portal-og #qh-charcoal-final :is(.qhb-col, .ops-month).is-tip { background: color-mix(in srgb, var(--qh-action, #8d421a) 7%, transparent); border-radius: 8px 8px 0 0; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final :is(.qhb-col, .ops-month).is-tip { background: rgba(255, 255, 255, .06); }
html body.qh-portal-og #qh-charcoal-final :is(.qhb-col, .ops-month).is-tip :is(.qhb-bar, .ops-month-track > i) { filter: brightness(1.08) saturate(1.1); }
html body.qh-portal-og svg.qh-line .qh-line-dot { transition: r .12s ease; }
html body.qh-portal-og svg.qh-line .qh-line-dot.is-tip { r: 6.5px; stroke-width: 3px; }
@media (prefers-reduced-motion: reduce) {
  html body #qhTip, html body #qhTip.is-on, html body.qh-portal-og svg.qh-line .qh-line-dot { transition: none; }
}
@media print { html body #qhTip { display: none !important; } }

/* 865c: Find sections (Tools, Customers, Open sales orders, Invoices, Open POs, Parts). */
html body.qh-portal-og #qhFind .qh-find-list li.qh-find-head { display: block; padding: 10px 10px 4px; border-radius: 0; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--qh-muted, #6b6b6b); cursor: default; }
html body.qh-portal-og #qhFind .qh-find-list li.qh-find-head:first-child { padding-top: 4px; }
html body.qh-portal-og #qhFind .qh-find-list li[data-g="rec"] { --g: var(--qh-action, #8d421a); }
html[data-theme="dark"] body.qh-portal-og #qhFind .qh-find-list li[data-g="rec"] { --g: #f0b27a; }
html body.qh-portal-og #qhFind .qh-find-list li[data-g="rec"] .qh-find-ic svg { stroke-width: 1.9; }
html body.qh-portal-og #qhFind .qh-find-list { max-height: 60vh; }

/* 865d: tiny trend lines in summary cards (Sales metrics, account Spent, part Used). */
html body.qh-portal-og #qh-charcoal-final svg.qh-spark { display: block; width: 100%; max-width: 220px; height: 26px; margin: 6px 0 0; overflow: visible; }
html body.qh-portal-og #qh-charcoal-final svg.qh-spark .qh-spark-line { fill: none; stroke: var(--qh-action, #8d421a); stroke-width: 1.75px; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
html body.qh-portal-og #qh-charcoal-final svg.qh-spark .qh-spark-area { fill: color-mix(in srgb, var(--qh-action, #8d421a) 12%, transparent); stroke: none; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final svg.qh-spark .qh-spark-line { stroke: #f0b27a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final svg.qh-spark .qh-spark-area { fill: rgba(240, 178, 122, .13); }
html body.qh-portal-og #qh-charcoal-final .ops-metric svg.qh-spark { margin-top: 8px; }
@keyframes qhSparkWipe { from { clip-path: inset(-4px 100% -4px 0); } to { clip-path: inset(-4px 0 -4px 0); } }
html body.qh-portal-og #qh-charcoal-final svg.qh-spark.is-intro { animation: qhSparkWipe .9s cubic-bezier(.3, .7, .3, 1) both; animation-delay: calc(180ms - var(--qa, 0ms)); }
@media (prefers-reduced-motion: reduce) {
  html body.qh-portal-og #qh-charcoal-final svg.qh-spark.is-intro { animation: none; }
}
@media print { html body.qh-portal-og #qh-charcoal-final svg.qh-spark { display: none; } }

/* 865e: tables (sticky header, click-to-sort, Comfy/Compact rows). */
html body.qh-portal-og #qh-charcoal-final #stage table.qh-sticky > thead > tr > th { position: sticky; top: var(--qh-sticky-top, 0px); z-index: 3; background-color: var(--qh-th-bg); }
html body.qh-portal-og #qh-charcoal-final #stage table.qh-sortable th.qh-sort-th { cursor: pointer; user-select: none; }
html body.qh-portal-og #qh-charcoal-final #stage table.qh-sortable th.qh-sort-th:hover { color: var(--qh-action, #8d421a); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final #stage table.qh-sortable th.qh-sort-th:hover { color: #f0b27a; }
html body.qh-portal-og #qh-charcoal-final #stage table.qh-sortable th.qh-sort-th::after { content: "↕"; display: inline-block; margin-left: 4px; font-size: .85em; opacity: 0; transition: opacity .12s ease; }
html body.qh-portal-og #qh-charcoal-final #stage table.qh-sortable th.qh-sort-th:is(:hover, :focus-visible)::after { opacity: .45; }
html body.qh-portal-og #qh-charcoal-final #stage table.qh-sortable th.qh-sort-th[aria-sort="ascending"]::after { content: "▲"; opacity: .9; }
html body.qh-portal-og #qh-charcoal-final #stage table.qh-sortable th.qh-sort-th[aria-sort="descending"]::after { content: "▼"; opacity: .9; }
html body.qh-portal-og #qh-charcoal-final #stage table.qh-sortable th.qh-sort-th:focus-visible { outline: 2px solid var(--qh-action, #8d421a); outline-offset: -2px; }
html body.qh-portal-og #qh-charcoal-final .qh-density { display: flex; justify-content: flex-end; align-items: center; margin: 0 0 6px; font-size: 12px; color: var(--qh-muted, #6b6b6b); }
html body.qh-portal-og #qh-charcoal-final .qh-density span { margin-right: 8px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .qh-density button { min-height: 0; margin: 0; padding: 3px 10px; border: 1px solid var(--qh-line, #d9d1c7); border-radius: 0; background: transparent; box-shadow: none; color: inherit; font: inherit; font-weight: 700; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .qh-density button:first-of-type { border-radius: 999px 0 0 999px; }
html body.qh-portal-og #qh-charcoal-final .qh-density button:last-of-type { margin-left: -1px; border-radius: 0 999px 999px 0; }
html body.qh-portal-og #qh-charcoal-final .qh-density button[aria-pressed="true"] { border-color: var(--qh-action, #8d421a); background: var(--qh-action, #8d421a); color: #fff; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qh-density button { border-color: rgba(255, 255, 255, .16); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qh-density button[aria-pressed="true"] { border-color: #f0b27a; background: rgba(240, 178, 122, .18); color: #f0b27a; }
@media (min-width: 681px) {
  html[data-density="compact"] body.qh-portal-og #qh-charcoal-final #stage table.qh-sticky > :is(thead, tbody) > tr > :is(th, td) { padding-top: 2px !important; padding-bottom: 2px !important; line-height: 1.25; }
  html[data-density="compact"] body.qh-portal-og #qh-charcoal-final #stage table.qh-sticky { font-size: .94em; }
}
@media (max-width: 680px) { html body.qh-portal-og #qh-charcoal-final .qh-density { display: none; } }
@media print {
  html body.qh-portal-og #qh-charcoal-final .qh-density { display: none !important; }
  html body.qh-portal-og #qh-charcoal-final #stage table.qh-sticky > thead > tr > th { position: static; }
  html body.qh-portal-og #qh-charcoal-final #stage table.qh-sortable th.qh-sort-th::after { content: none; }
}

/* 865f: sticky headers inside table scroll wrappers. */
html body.qh-portal-og #qh-charcoal-final #stage .qh-unclip { overflow: visible !important; }
html body.qh-portal-og #qh-charcoal-final #stage table.qh-sticky > thead > tr > th { top: var(--qh-th-top, var(--qh-sticky-top, 0px)); }

/* 865g: toasts for saves and Koble refreshes. */
html body #qhToasts { position: fixed; left: 50%; bottom: 24px; z-index: 9600; display: flex; flex-direction: column; align-items: center; gap: 8px; width: max-content; max-width: calc(100vw - 24px); transform: translateX(-50%); pointer-events: none; }
html body #qhToasts .qh-toast { display: inline-flex; align-items: center; gap: 9px; min-height: 0; max-width: 100%; margin: 0; padding: 10px 16px 10px 12px; border: 1px solid rgba(0, 0, 0, .08); border-radius: 999px; background: rgba(255, 255, 255, .95); -webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3); box-shadow: 0 12px 30px rgba(20, 20, 30, .2), 0 2px 6px rgba(20, 20, 30, .08); color: #1f2024; font: 600 13.5px/1.3 var(--qh-font, Inter, system-ui, sans-serif); text-align: left; cursor: pointer; pointer-events: auto; animation: qhToastIn .22s cubic-bezier(.2, .8, .3, 1) both; }
html body #qhToasts .qh-toast svg { flex: 0 0 auto; width: 18px; height: 18px; padding: 3px; border-radius: 50%; background: #1c7c45; color: #fff; }
html body #qhToasts .qh-toast.is-err svg { background: #b4352b; }
html body #qhToasts .qh-toast.is-out { animation: qhToastOut .2s ease both; }
html[data-theme="dark"] body #qhToasts .qh-toast { border-color: rgba(255, 255, 255, .1); background: rgba(38, 40, 46, .94); color: #eef0f3; box-shadow: 0 14px 32px rgba(0, 0, 0, .5); }
html[data-theme="dark"] body #qhToasts .qh-toast svg { background: #2f9d5e; }
html[data-theme="dark"] body #qhToasts .qh-toast.is-err svg { background: #d2483c; }
@keyframes qhToastIn { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes qhToastOut { to { opacity: 0; transform: translateY(8px) scale(.98); } }
@media (max-width: 680px) { html body #qhToasts { bottom: calc(76px + env(safe-area-inset-bottom, 0px)); } }
@media (prefers-reduced-motion: reduce) {
  html body #qhToasts .qh-toast { animation-name: qhFade; }
  html body #qhToasts .qh-toast.is-out { animation: none; opacity: 0; }
}
@media print { html body #qhToasts { display: none !important; } }

/* 865h: friendlier empty states (short "No …" / "Nothing …" notes). */
html body.qh-portal-og #qh-charcoal-final p.also.qh-empty { display: flex; align-items: center; gap: 12px; margin: 10px 0; padding: 14px 16px; border: 1px dashed color-mix(in srgb, var(--qh-muted, #6b6b6b) 45%, transparent); border-radius: 14px; background: color-mix(in srgb, var(--qh-muted, #6b6b6b) 5%, transparent); font-size: 14px; line-height: 1.4; }
html body.qh-portal-og #qh-charcoal-final p.also.qh-empty .qh-empty-ic { flex: 0 0 auto; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: color-mix(in srgb, var(--qh-action, #8d421a) 11%, transparent); color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final p.also.qh-empty .qh-empty-ic svg { width: 18px; height: 18px; }
html body.qh-portal-og #qh-charcoal-final p.also.qh-empty.is-good .qh-empty-ic { background: rgba(28, 124, 69, .12); color: #1c7c45; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final p.also.qh-empty .qh-empty-ic { background: rgba(240, 178, 122, .13); color: #f0b27a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final p.also.qh-empty.is-good .qh-empty-ic { background: rgba(111, 211, 154, .13); color: #6fd39a; }
@media print { html body.qh-portal-og #qh-charcoal-final p.also.qh-empty { border: 0; padding: 0; background: none; } html body.qh-portal-og #qh-charcoal-final p.also.qh-empty .qh-empty-ic { display: none; } }

/* 866: Find button in the staff header. It shares the search cell on desktop and the
   account cell on phones, so no header grid template has to change. */
#qh-charcoal-final .cc-header .header-find[hidden] { display: none !important; }
#qh-charcoal-final .cc-header .header-find {
  grid-column: 3; grid-row: 1; justify-self: end; align-self: center;
  display: inline-flex; align-items: center; gap: 6px;
  height: 34px; margin: 0; padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 6px;
  background: rgba(255, 255, 255, 0.08); color: #fff;
  font: inherit; font-size: 13px; font-weight: 700; white-space: nowrap; cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
#qh-charcoal-final .cc-header .header-find svg { width: 18px; height: 18px; flex: none; }
#qh-charcoal-final .cc-header .header-find:hover { background: rgba(255, 255, 255, 0.16); border-color: rgba(255, 255, 255, 0.45); }
#qh-charcoal-final .cc-header .header-find:focus-visible { outline: 2px solid var(--qh-copper, #e08a3c); outline-offset: 2px; }
@media (min-width: 681px) {
  html body #qh-charcoal-final .cc-header:has(.header-find:not([hidden])) .cc-search {
    justify-self: start; width: calc(100% - 88px) !important;
  }
}
@media (max-width: 680px) {
  #qh-charcoal-final .cc-header .header-find {
    width: 36px; height: 36px; padding: 0; justify-content: center;
    border-color: transparent; background: transparent;
  }
  #qh-charcoal-final .cc-header .header-find span { display: none; }
  #qh-charcoal-final .cc-header .header-find svg { width: 21px; height: 21px; }
  html body #qh-charcoal-final .cc-header:has(.header-find:not([hidden])) .cc-customer { margin-right: 40px; min-width: 0; }
  #qh-charcoal-final .app-chrome.is-search-open .cc-header .header-find { grid-row: 1; }
}

html body #qh-charcoal-final .cc-header .header-find svg { width: 18px; height: 18px; }
@media (max-width: 680px) {
  html body #qh-charcoal-final .cc-header .header-find { flex-direction: column; gap: 1px; width: 38px; }
  html body #qh-charcoal-final .cc-header .header-find svg { width: 20px; height: 20px; }
  html body #qh-charcoal-final .cc-header .header-find span {
    display: block; font-size: 9px; line-height: 1; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
  }
}

/* 866: Print link on each quote row; the proposal sheet reuses the 864 invoice paper. */
html body.qh-portal-og #qh-charcoal-final .pr-print {
  display: inline-flex; align-self: flex-start; margin-top: 4px; padding: 1px 8px;
  border: 1px solid var(--qh-line, rgba(127, 127, 127, 0.35)); border-radius: 999px;
  font-size: 11px; font-weight: 700; text-decoration: none; color: inherit;
}
html body.qh-portal-og #qh-charcoal-final .pr-print:hover { border-color: var(--qh-copper, #e08a3c); color: var(--qh-copper, #e08a3c); }
html body.qh-portal-og #qh-charcoal-final .qh-proposal .qi-addr div:last-child span { white-space: pre-line; }

/* 866: browser-printed pick sheets (history pick sheet, draft, morning snapshot) print
   black on white like the invoice, without the app chrome, Operations menu, or photos. */
@media print {
  html:has(.pick-sheet), html:has(.pick-sheet) body,
  body:has(.pick-sheet) :is(#app, #qh-charcoal-final, .cc-viewport, .cc-app, .shell, #stage, .qh-ops-workspace, .ops-shell, .ops-main, .qh-ops) {
    background: #fff !important; color: #111 !important; box-shadow: none !important;
  }
  body:has(.pick-sheet) :is(#appChrome, .app-chrome-pad, #suggest, #railPanel, .bottom-nav, .crumbs, .no-print, #qhBusyBar, #qhFind, #qhToasts, #qhTip, .ops-side, .ops-phone-menu, .ops-arrange, .qh-density) { display: none !important; }
  body:has(.pick-sheet) :is(.shell, #stage, .qh-ops-workspace, .ops-shell, .ops-main, .qh-ops, .ops-table-wrap) {
    display: block !important; margin: 0 !important; padding: 0 !important; max-width: none !important; width: auto !important; border: 0 !important; overflow: visible !important;
  }
  html body #qh-charcoal-final .pick-sheet:not(.qh-invoice) { background: #fff !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
  html body #qh-charcoal-final .pick-sheet:not(.qh-invoice) :is(h1, h2, p, small, b, strong, code, span, td, th, a, div) {
    color: #111 !important; -webkit-text-fill-color: #111 !important; text-shadow: none !important;
  }
  html body #qh-charcoal-final .pick-sheet-head { margin: 0 0 0.12in !important; padding: 0 0 0.08in !important; border-bottom: 3px solid #111 !important; }
  html body #qh-charcoal-final .pick-sheet-head h1 { margin: 0 !important; font-size: 18pt !important; line-height: 1.05 !important; font-weight: 800 !important; }
  html body #qh-charcoal-final .pick-sheet-head :is(p, .pick-orderno) { margin: 3px 0 0 !important; font-size: 10pt !important; }
  html body #qh-charcoal-final .pick-sheet-head .pick-kicker { font-size: 7pt !important; font-weight: 800 !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; }
  html body #qh-charcoal-final .pick-sheet .qh-koble-scan { float: right; margin: -0.55in 0 0 !important; }
  html body #qh-charcoal-final table.pick-sheet-table { width: 100% !important; border-collapse: collapse !important; table-layout: auto !important; font-size: 10pt !important; background: #fff !important; }
  html body #qh-charcoal-final table.pick-sheet-table thead { display: table-header-group !important; }
  html body #qh-charcoal-final table.pick-sheet-table tr { break-inside: avoid; page-break-inside: avoid; }
  html body #qh-charcoal-final table.pick-sheet-table :is(th, td) {
    position: static !important; background: #fff !important; border: 0 !important; border-bottom: 1px solid #9a9a9a !important;
    padding: 6px 5px !important; vertical-align: middle !important; box-shadow: none !important;
  }
  html body #qh-charcoal-final table.pick-sheet-table th {
    border-bottom: 2px solid #111 !important; font-size: 6.5pt !important; font-weight: 800 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important;
  }
  html body #qh-charcoal-final table.pick-sheet-table tbody tr:nth-child(even) td { background: #f1f1f1 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  html body #qh-charcoal-final table.pick-sheet-table :is(code, .pick-sku) { background: none !important; padding: 0 !important; font: inherit !important; font-size: 10.5pt !important; font-weight: 800 !important; }
  html body #qh-charcoal-final table.pick-sheet-table td.pick-check { width: 0.55in; white-space: nowrap; font-weight: 700; }
  html body #qh-charcoal-final table.pick-sheet-table td.pick-check::after {
    content: ""; display: inline-block; width: 0.18in; height: 0.18in; margin-left: 6px; vertical-align: middle; border: 1.75px solid #111; border-radius: 2px;
  }
  html body #qh-charcoal-final table.pick-sheet-table td.num { font-size: 13pt !important; font-weight: 800 !important; text-align: right !important; }
  html body #qh-charcoal-final table.pick-sheet-table :is(img, .pick-photo, .ops-thumb, .pick-line-photo) { display: none !important; }
}

@media print {
  body:has(.pick-sheet) :is(#qh-charcoal-final, .cc-viewport, .cc-app, .shell, #stage) { border: 0 !important; outline: 0 !important; min-height: 0 !important; }
  html body #qh-charcoal-final table.pick-sheet-table thead tr { display: table-row !important; }
  html body #qh-charcoal-final table.pick-sheet-table :is(thead, tbody) { width: auto !important; }
}

@media print {
  html body #qh-charcoal-final table.pick-sheet-table th { border-bottom: 0 !important; }
  html body #qh-charcoal-final table.pick-sheet-table tbody tr:first-child td { border-top: 2px solid #111 !important; }
}


/* 866h: scrolling up on a wide screen brings the Operations menu back first, then the top bar. */
@media (min-width: 681px) {
  html[data-ops-reveal] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side {
    position: sticky;
    top: 0;
    z-index: 18;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.35);
    transition: top 0.32s ease;
  }
  html[data-ops-reveal="menu"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side {
    animation: qhDropIn 0.2s ease-out;
  }
  html[data-ops-reveal="all"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side {
    top: var(--chrome-h, 110px);
  }
}
@media (min-width: 681px) and (prefers-reduced-motion: reduce) {
  html[data-ops-reveal] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side {
    animation: none;
    transition: none;
  }
}


/* 867: on-screen pick sheet laid out like the printed order sheet, on white paper. */
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-paper {
  max-width: 8.5in; margin: 6px 0 24px; padding: 0.4in 0.45in 0.3in;
  background: #fff; color: #161616; border: 1px solid #d9d4cc; border-radius: 6px;
  box-shadow: 0 10px 30px -18px rgba(0, 0, 0, 0.35);
  font: 12px/1.35 "QH Inter", Inter, Arial, sans-serif; font-variant-numeric: tabular-nums;
}
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-paper * { color: inherit; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-head {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: start;
  margin: 0 0 12px; padding: 0 0 10px; border-bottom: 3px solid #111;
}
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-head .pick-kicker {
  margin: 0; font-size: 10px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: #666;
}
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-head h1 { margin: 2px 0 4px; font-size: 24px; line-height: 1.1; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-sub { margin: 0; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-doc { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-badge {
  padding: 2px 9px; border: 2px solid #111; border-radius: 4px; font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
}
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-count { margin: 0; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-count b { font-size: 16px; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-short-n { color: #a11 !important; font-size: 13px !important; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .qh-koble-scan { float: none; margin: 2px 0 0; background: #fff; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .qh-koble-scan svg { height: 34px; width: auto; max-width: 2.4in; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .qh-koble-scan small { display: block; font-size: 10px; color: #444; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-day,
html body.qh-portal-og #qh-charcoal-final .pick-delivery-day {
  margin: 2px 0 4px; font-size: 1.15rem; font-weight: 800; letter-spacing: -0.01em; line-height: 1.15;
}
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-day { color: #111; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-boxes {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 12px; border: 1.5px solid #111; border-radius: 4px;
}
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-boxes > div { min-height: 44px; padding: 4px 8px; border-left: 1px solid #999; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-boxes > div:first-child { border-left: 0; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-boxes small {
  display: block; font-size: 9px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #555;
}
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-boxes span { display: block; margin-top: 2px; font-size: 13px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet table.ps-table {
  width: 100%; border-collapse: collapse; table-layout: auto; background: #fff; font-size: 12px;
}
html body.qh-portal-og #qh-charcoal-final .qh-picksheet table.ps-table :is(th, td) {
  position: static; padding: 7px 6px; border: 0; border-bottom: 1px solid #b5b5b5; background: #fff; vertical-align: middle; text-align: left;
}
html body.qh-portal-og #qh-charcoal-final .qh-picksheet table.ps-table th {
  border-bottom: 2px solid #111; font-size: 9.5px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #333; white-space: nowrap;
}
html body.qh-portal-og #qh-charcoal-final .qh-picksheet table.ps-table tbody tr:nth-child(even) td { background: #f2f2f2; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet table.ps-table tbody tr.is-short td { background: #fdf0ee; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-check { width: 42px; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-box {
  display: inline-block; width: 16px; height: 16px; vertical-align: middle; border: 1.75px solid #111; border-radius: 2px;
}
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-check small { margin-left: 5px; font-size: 10px; color: #777; vertical-align: middle; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet td.ps-bin { width: 1%; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet td.ps-bin b { display: block; font-size: 14px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet td.ps-bin small { display: block; font-size: 10.5px; color: #555; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-nobin { font-size: 11px; font-style: italic; color: #777; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-part .pick-sku {
  display: block; padding: 0; background: none; font-size: 14px; font-weight: 800; font-variant-numeric: normal; letter-spacing: 0.01em; overflow-wrap: anywhere;
}
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-desc { display: block; font-size: 11.5px; color: #444; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-for {
  display: inline-block; margin: 1px 0; padding: 0 6px; border: 1px solid #888; border-radius: 999px; font-size: 10px; font-weight: 700; color: #444;
}
html body.qh-portal-og #qh-charcoal-final .qh-picksheet tr[data-part-of] .ps-part { padding-left: 18px; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet :is(th, td).ps-qty { width: 1%; text-align: right; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet td.ps-qty { font-size: 18px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-uom { width: 1%; font-size: 11px; font-weight: 700; color: #555; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet :is(th, td).ps-hand { width: 1%; text-align: right; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet td.ps-hand { font-size: 13px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-short {
  display: block; margin-top: 2px; padding: 0 5px; border-radius: 3px; background: #a11; color: #fff !important;
  font-size: 9px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; text-align: center;
}
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-picked { width: 64px; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-write { display: block; width: 52px; height: 24px; margin-left: auto; border: 1.5px solid #111; border-radius: 3px; background: #fff; }
html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-foot { margin: 10px 0 0; font-size: 11px; color: #555; }

@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-paper { margin: 4px -0.4rem 16px; padding: 14px 10px 12px; border-radius: 0; border-left: 0; border-right: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-head { grid-template-columns: 1fr; gap: 6px; }
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-doc { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px; text-align: left; }
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-head h1 { font-size: 20px; }
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-boxes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-boxes > div:nth-child(3) { border-left: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-boxes > div:nth-child(n+3) { border-top: 1px solid #999; }
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet table.ps-table :is(th, td) { padding: 6px 4px; }
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-check { width: 22px; }
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-check small,
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-uom,
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-picked { display: none; }
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet td.ps-bin b { font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet .ps-part .pick-sku { font-size: 13px; }
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet td.ps-qty { font-size: 16px; }
}

@media print {
  html body #qh-charcoal-final .qh-picksheet .ps-paper { max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; font-size: 10pt !important; }
  html body #qh-charcoal-final .qh-picksheet .ps-head { display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; border-bottom: 3px solid #111 !important; }
  html body #qh-charcoal-final :is(.ps-day, .pick-delivery-day) { color: #111 !important; font-size: 14pt !important; }
  html body #qh-charcoal-final .qh-picksheet .ps-doc { display: flex !important; flex-direction: column !important; align-items: flex-end !important; }
  html body #qh-charcoal-final .qh-picksheet .qh-koble-scan { float: none !important; margin: 2px 0 0 !important; }
  html body #qh-charcoal-final .qh-picksheet .ps-boxes { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  html body #qh-charcoal-final .qh-picksheet .ps-boxes > div { border-top: 0 !important; }
  html body #qh-charcoal-final .qh-picksheet .ps-boxes > div:nth-child(3) { border-left: 1px solid #999 !important; }
  html body #qh-charcoal-final .qh-picksheet :is(.ps-check small, .ps-uom, .ps-picked) { display: table-cell; }
  html body #qh-charcoal-final .qh-picksheet .ps-check small { display: inline !important; }
  html body #qh-charcoal-final .qh-picksheet :is(td, th).ps-uom,
  html body #qh-charcoal-final .qh-picksheet :is(td, th).ps-picked { display: table-cell !important; }
  html body #qh-charcoal-final .qh-picksheet td.ps-qty { font-size: 14pt !important; font-weight: 800 !important; text-align: right !important; }
  html body #qh-charcoal-final .qh-picksheet td.ps-bin b { font-size: 11pt !important; }
  html body #qh-charcoal-final .qh-picksheet .ps-short { background: none !important; border: 1.5px solid #111 !important; }
  html body #qh-charcoal-final .qh-picksheet tr.is-short td { background: #fff !important; }
  html body #qh-charcoal-final .qh-picksheet .ps-write { width: 0.6in !important; height: 0.26in !important; }
}


/* 867b: the older phone pick rules turn .pick-sheet-table into blocks; the pick sheet keeps a real table. */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet table.ps-table { display: table; width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet table.ps-table thead { display: table-header-group; }
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet table.ps-table tbody { display: table-row-group; }
  html body.qh-portal-og #qh-charcoal-final .qh-picksheet table.ps-table th { font-size: 8.5px; letter-spacing: 0.06em; }
}


/* 868: phone buttons size to their labels. The pick toolbar wraps instead of squeezing
   Bag labels / Order sheet, and Part history is not capped narrower than its text. */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .pick-sheet-actions { flex-wrap: wrap; row-gap: 4px; }
  html body.qh-portal-og #qh-charcoal-final .pick-sheet-actions > :is(a, button) { flex: 0 0 auto; }
  html body.qh-portal-og #qh-charcoal-final .part-history-btn,
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .part-history-btn {
    max-width: none;
    flex: 0 0 auto;
    padding: 0 7px;
  }
}


/* 868: bottom tab labels never split mid-word ("Operation s" at 320px). */
@media (max-width: 680px) {
  html body.qh-portal-og .bottom-nav a { overflow-wrap: normal; word-break: keep-all; }
}
@media (max-width: 340px) {
  html body.qh-portal-og .bottom-nav a { font-size: 10px; }
}

/* 869: line-chart value labels sit above the line and clear of the dot, so a steep drop never runs through the number. */
html[data-chart-kind="line"] body.qh-portal-og #qh-charcoal-final .qhb-val {
  z-index: 3;
  margin-bottom: 11px;
  text-shadow: 0 0 2px var(--wash, #16181b), 0 0 3px var(--wash, #16181b),
    1px 1px 0 var(--wash, #16181b), -1px -1px 0 var(--wash, #16181b),
    1px -1px 0 var(--wash, #16181b), -1px 1px 0 var(--wash, #16181b);
}
@media (max-width: 680px) {
  html[data-chart-kind="line"] body.qh-portal-og #qh-charcoal-final .qhb-val { font-size: 9.5px; letter-spacing: -0.03em; }
}

/* 869: Sales amounts switch (invoice total or before tax and freight). */
#salesForm .sales-filters .sales-basis-seg { flex: 0 0 auto; align-self: end; }
@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesForm .sales-filters .sales-basis-seg {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

/* 869: Set bin on pick and receiving lines. The part number keeps one line; the row wraps instead. */
html body.qh-portal-og #qh-charcoal-final .recv-part-id:has(.loc-set-btn) { flex-wrap: wrap; row-gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .recv-part-id:has(.loc-set-btn) > .pick-sku { flex: 0 0 auto; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .recv-part-id:has(.loc-set-btn) > .part-history-btn { margin-left: auto; }
html body.qh-portal-og #qh-charcoal-final .part-loc.is-pick:has(.loc-set-btn) { flex: 0 0 auto; }
html body.qh-portal-og #qh-charcoal-final .loc-set-btn {
  min-height: 22px;
  height: auto;
  padding: 1px 8px;
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}
@media print { .loc-set-btn { display: none !important; } }

/* 869: phones hide .wide-search (the header search covers catalog pages), which also hid
   the inputs inside sheets. Sheet fields always show. */
html body.qh-portal-og #qh-charcoal-final .sheet-field { display: grid; gap: 4px; margin: 0; font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .sheet-field :is(input, select) {
  width: 100%;
  min-width: 0;
  padding: 0.5rem 0.55rem;
  border: 1px solid var(--line);
  background: var(--wash);
  color: inherit;
  font: inherit;
  font-weight: 600;
}
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .sheet-body .wide-search { display: grid; }
}

/* 870: Sign out in the More sheet; the header sign-out is hidden on phones. */
html body.qh-portal-og .more-sheet .more-sheet-signout {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0.85rem 0.9rem;
  border: 0;
  border-top: 1px solid var(--line);
  background: transparent;
  color: #f2a08f;
  font: inherit;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}
html body.qh-portal-og .more-sheet .more-sheet-signout:hover { color: var(--orange); }

/* 871: part history drawers have one Close (Back did the same thing). Name left, Close right. */
html body.qh-portal-og #qh-charcoal-final #staffPartDrawer .spd-title-row { grid-template-columns: minmax(0, 1fr) auto; }
html body.qh-portal-og #qh-charcoal-final #customerPartDrawer .spd-head { flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; }
html body.qh-portal-og #qh-charcoal-final #customerPartDrawer .spd-head > div:first-child { min-width: 0; }
html body.qh-portal-og #qh-charcoal-final #customerPartDrawer .spd-actions { display: flex; flex: 0 0 auto; }

/* 872: Change on placed pick and receiving lines. Placed parts keep their own row under the part number. */
html body.qh-portal-og #qh-charcoal-final .part-loc.is-pick:has(.loc-chip) { flex: 1 0 100%; }
html body.qh-portal-og #qh-charcoal-final .sheet-check { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 12.5px; font-weight: 600; line-height: 1.35; }
html body.qh-portal-og #qh-charcoal-final .sheet-check input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: var(--qh-action, var(--orange)); }

html body.qh-portal-og #qh-charcoal-final .recv-part-id:has(.part-loc.is-pick .loc-chip) > .part-history-btn { order: 1; }
html body.qh-portal-og #qh-charcoal-final .recv-part-id:has(.part-loc.is-pick .loc-chip) > .part-loc.is-pick { order: 2; }

/* 873: Admin login rows on narrow screens. Name, then email and role, then the controls on their own row
   (the controls used to take the first column and squeeze the email into a sliver). */
@media (max-width: 860px) {
  html body.qh-portal-og .admin-rep-list li { grid-template-columns: minmax(0, 1fr); row-gap: 4px; }
  html body.qh-portal-og .admin-rep-list li > small { display: block; color: var(--muted); overflow-wrap: anywhere; }
  html body.qh-portal-og .admin-rep-list li > .admin-rep-add { grid-column: 1 / -1; }
  html body.qh-portal-og .admin-rep-list li + li { padding-top: 8px; border-top: 1px solid var(--line); }
  /* Users and the other instant-save tabs never have unsaved changes; the bar only sticks when there are some. */
  html body.qh-portal-og .admin-savebar:not(:has(.is-dirty)) { position: static; }
}

/* 873: Restock by vendor. Freight terms and price sheets fold (open on desktop, closed on phones);
   on phones the stat cards and the box are tighter so the first part shows on the first screen. */
html body.qh-portal-og #qh-charcoal-final .mb-terms-fold { margin: 0 0 6px; }
html body.qh-portal-og #qh-charcoal-final .mb-terms-fold > summary { cursor: pointer; color: var(--muted); font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .mb-terms-fold > .mb-terms { margin: 4px 0 0; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .mb-page .mb-kpis { gap: 6px; margin: 6px 0 8px; }
  html body.qh-portal-og #qh-charcoal-final .mb-page .mb-kpis .acct-stat { min-height: 0; padding: 6px 9px; }
  html body.qh-portal-og #qh-charcoal-final .mb-page .mb-kpis .acct-stat b { font-size: 18px; line-height: 1.2; }
  html body.qh-portal-og #qh-charcoal-final .mb-page .mb-kpis .acct-stat small { font-size: 11px; line-height: 1.25; }
  html body.qh-portal-og #qh-charcoal-final .mb-box-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .mb-box-actions .ops-ic-btn { min-width: 0; min-height: 36px; padding: 4px 6px; justify-content: center; }
  html body.qh-portal-og #qh-charcoal-final .mb-box-actions .ops-ic-btn > :not(.ops-ic-label) { display: none; }
  html body.qh-portal-og #qh-charcoal-final .mb-box-actions .ops-ic-label { font-size: 12px; white-space: nowrap; }
}

/* 873: Part history head is one row on phones too (name, Catalog, Refresh, Close), like the centred window. */
html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-head { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-title-row { display: contents; }
html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-name { order: 1; flex: 1 1 auto; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-actions { order: 2; display: flex; flex-wrap: nowrap; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .staff-part-drawer.qh-modal .spd-title-row > :last-child { order: 3; }
/* The usage chart rules size every svg in .part-usage, which blew the Bars / Line icons up to card size. */
html body.qh-portal-og #qh-charcoal-final .part-usage-wide .part-usage .qh-ck svg,
html body.qh-portal-og #qh-charcoal-final .part-usage .qh-ck svg,
html body.qh-portal-og .part-usage .qh-ck svg { display: inline-block; width: 14px; height: 14px; max-height: none; }
html body.qh-portal-og .part-usage .qh-ck button { display: inline-flex; height: auto; }


/* 874 pick lines on desktop: fixed slots so the picked boxes line up row to row and a
   "check count" note cannot squeeze Pick all onto two lines. */
@media (min-width: 1100px) {
  body.qh-portal-og #qh-charcoal-final .pick-work-line {
    grid-template-columns: minmax(220px, 1fr) 92px 92px auto;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-count.is-inline > .recv-open {
    flex: 0 0 126px;
    flex-wrap: wrap;
    row-gap: 0;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-count.is-inline > .recv-qty,
  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-count.is-inline > .recv-count-actions {
    flex: 0 0 auto;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-count-actions .action-btn {
    white-space: nowrap;
  }

  body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-count.is-inline > .recv-state {
    flex: 0 0 112px;
  }
}


/* 874 Part history line chart: the old fixed chart heights above were for the retired SVG
   bar chart and squeezed the line overlay, so it drew from Feb to Jul instead of all months. */
html body.qh-portal-og #qh-charcoal-final .part-usage-wide .part-usage svg.qh-line,
html body.qh-portal-og #qh-charcoal-final .part-usage svg.qh-line,
html body.qh-portal-og .part-usage-wide .part-usage svg.qh-line,
html body.qh-portal-og .part-usage svg.qh-line { width: 100%; height: 100%; max-height: none; }


/* 875 Receiving PO rows use the neutral card look of the other desks; late ones get a red
   edge and a red "Overdue" tag. Vendor bars keep the Pick customer-bar style. */
html body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card-head,
html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card-head {
  background: transparent;
  color: inherit;
  border-left: 4px solid var(--line, #d8cfc2);
}

html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card-head {
  border-left-color: rgba(255, 255, 255, 0.14);
}

html body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card-head small,
html body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card-head strong,
html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card-head small,
html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card-head strong {
  color: var(--muted, #6b6258);
}

html body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card-head:hover {
  background: rgba(127, 127, 127, 0.08);
}

html body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card.is-late > .ops-card-head,
html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .recv-vendor .ops-card.is-late > .ops-card-head {
  border-left-color: #c0392b;
}

html body.qh-portal-og .qh-ops-workspace .recv-eta {
  font-weight: 700;
}

html body.qh-portal-og .qh-ops-workspace .recv-eta.is-late {
  display: inline-block;
  padding: 0 7px;
  border-radius: 999px;
  background: #fde7e4;
  color: #a12a1c;
  font-weight: 800;
}

html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .recv-eta.is-late {
  background: rgba(240, 82, 62, 0.18);
  color: #ff9a8a;
}

html body.qh-portal-og .qh-ops-workspace .recv-vendor-head .recv-late-count {
  font-style: normal;
  color: #c0392b;
  font-weight: 800;
}

html[data-theme="dark"] body.qh-portal-og .qh-ops-workspace .recv-vendor-head .recv-late-count {
  color: #ff9a8a;
}

/* 875 Part history on the desks is a quiet outline button, like the catalog lists, so the
   filled color stays for the real actions (Pick all, Receive, Add). */
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .part-history-btn:not(#qhx),
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .part-history-btn:not(#qhx) {
  background: transparent;
  border: 1px solid var(--qh-action, #8d421a);
  color: var(--qh-action, #8d421a);
  font-weight: 700;
}

html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .part-history-btn:not(#qhx) {
  border-color: rgba(232, 154, 74, 0.6);
  color: #f0b27a;
}

html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .part-history-btn:not(#qhx):hover {
  background: rgba(200, 110, 50, 0.14);
}

/* 875 Repair stage bar: every stage is at least as wide as its label; busy stages grow. */
@media (min-width: 681px) {
  html body.qh-portal-og #qh-charcoal-final .rp-flow-seg {
    flex-basis: auto;
    flex-shrink: 0;
  }

  html body.qh-portal-og #qh-charcoal-final .rp-flow {
    overflow-x: auto;
    scrollbar-width: none;
  }
}

/* 875 Deliveries list header is a plain page title like the other desks. */
html body.qh-portal-og #qh-charcoal-final .delivery-pick-hero.is-plain {
  margin: 0 0 6px;
  padding: 0;
  border: 0;
  background: transparent;
}

html body.qh-portal-og #qh-charcoal-final .delivery-pick-hero.is-plain h1.page {
  font-size: 1.75rem;
}

/* 875 Shop board: missed chores fold into one attention line. */
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn .sb-missed > summary {
  cursor: pointer;
  list-style: none;
}

html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn .sb-missed > summary::-webkit-details-marker {
  display: none;
}

html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn .sb-missed[open] > summary {
  margin-bottom: 4px;
}

html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn .sb-missed-list {
  display: grid;
  gap: 4px;
  padding-left: 10px;
}

html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn .sb-missed-list button {
  display: block;
}

/* 875 Order history customer list on desktop: one compact row per account, a small outline
   "Use this customer" instead of a filled button on every row. */
@media (min-width: 861px) {
  html body.qh-portal-og #qh-charcoal-final .customer-hits {
    gap: 0;
  }

  html body.qh-portal-og #qh-charcoal-final .customer-hits .customer-hit.pick-hit {
    min-height: 0;
    margin: 0;
    padding: 6px 10px;
    border-width: 0 0 1px;
    border-radius: 0;
    align-items: center;
  }

  html body.qh-portal-og #qh-charcoal-final .customer-hits .customer-hit .pick-copy {
    display: grid;
    grid-template-columns: minmax(180px, 1.2fr) minmax(0, 1.5fr) minmax(190px, auto);
    column-gap: 14px;
    align-items: baseline;
    flex: 1 1 auto;
    min-width: 0;
  }

  html body.qh-portal-og #qh-charcoal-final .customer-hits .customer-hit .pick-copy > * {
    margin: 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  html body.qh-portal-og #qh-charcoal-final .customer-hits .customer-hit .pick-copy .cust-year {
    text-align: right;
    font-variant-numeric: tabular-nums;
  }

  html body.qh-portal-og #qh-charcoal-final .customer-hits .customer-hit .pick-go {
    padding: 3px 10px;
    border: 1px solid var(--qh-action, #8d421a);
    background: transparent;
    color: var(--qh-action, #8d421a);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
  }

  html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .customer-hits .customer-hit .pick-go {
    border-color: rgba(232, 154, 74, 0.6);
    color: #f0b27a;
  }

  html body.qh-portal-og #qh-charcoal-final .customer-hits .customer-hit:hover .pick-go {
    background: var(--qh-action, #8d421a);
    color: #fffefa;
  }
}


/* 875c: missed-chores fold label follows its open state */
.sb-missed .sb-missed-hide,
.sb-missed[open] .sb-missed-show {
  display: none;
}

.sb-missed[open] .sb-missed-hide {
  display: inline;
}


/* 876: a line-chart value label next to a much higher neighbour drops under its dot. */
html[data-chart-kind="line"] body.qh-portal-og #qh-charcoal-final .qhb-val.is-below {
  bottom: auto;
  top: 0;
  margin: 10px 0 0;
}


/* 876b: phone Receiving: Find on its own row, Sort and Refresh under it. */
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .ops-pick-tools:has(#recvRefresh) {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    gap: 8px;
  }
  html body.qh-portal-og #qh-charcoal-final .ops-pick-tools:has(#recvRefresh) .search-field {
    flex: 1 1 100%;
    min-width: 0;
  }
  html body.qh-portal-og #qh-charcoal-final .ops-pick-tools:has(#recvRefresh) > label:has(#recvSort) {
    display: flex;
    flex: 1 1 0;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    min-width: 0;
  }
  html body.qh-portal-og #qh-charcoal-final .ops-pick-tools:has(#recvRefresh) #recvSort {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
  }
  html body.qh-portal-og #qh-charcoal-final .ops-pick-tools:has(#recvRefresh) > #recvRefresh {
    flex: 0 0 auto;
  }
  html body.qh-portal-og #qh-charcoal-final .ops-pick-tools:has(#recvRefresh) .search-field input {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
  }
}


/* 876c: the folded missed-chores row reads like the other Needs attention rows. */
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn .sb-missed,
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn .sb-missed > summary {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: 400;
  line-height: inherit;
  color: inherit;
}

html body.qh-portal-og #qh-charcoal-final .qh-board .sb-attn .sb-missed > summary b {
  color: inherit;
  font-weight: 800;
}


/* 877: invoice and proposal preview is a real Letter sheet (8.5 x 11, totals at the foot).
   A narrow screen keeps this same layout and site.js scales the whole sheet down. */
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-paper:not(#qhx) { box-sizing: border-box; width: 8.5in; max-width: none; min-height: 11in; padding: 0.45in 0.5in 0.4in; display: flex; flex-direction: column; border-radius: 2px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-paper:not(#qhx) > * { flex: none; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-top:not(#qhx) { flex-direction: row; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-doc:not(#qhx) { align-items: flex-end; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-addr:not(#qhx) { grid-template-columns: 1fr 1fr; gap: 24px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice :is(.qi-meta, .qi-lines):not(#qhx) { display: table; overflow: visible; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-foot:not(#qhx) { flex-direction: row; margin-top: auto; padding-top: 10px; }
html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-totals:not(#qhx) { width: 2.8in; }
@media print {
  html body.qh-portal-og #qh-charcoal-final .qh-invoice .qi-paper:not(#qhx) { width: auto; min-height: 10.1in; padding: 0; border: 0; border-radius: 0; box-shadow: none; zoom: 1 !important; }
}

/* 879 · Reports (aging and statements, sales by month, open orders, quotes, stock value, vendors) */
html body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-tabs { margin: 4px 0 2px; }
html body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-tabs .mb-chip { text-decoration: none; display: inline-flex; align-items: center; }
html body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-lede { margin: 4px 0 8px; max-width: 130ch; }
html body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-sub { font-size: 16px; margin: 20px 0 6px; }
html body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-table tfoot td { border-top: 2px solid var(--line, #d9d1c7); background: rgba(0, 0, 0, .025); }
html body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-table td.ops-num, html body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-table th.ops-num { white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-table td:first-child { min-width: 160px; }
html body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-table td .ops-ic-btn { white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-months td.ops-num, html body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-vendors td.ops-num { font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-late { color: #b3261e; font-weight: 600; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-table tfoot td { background: rgba(255, 255, 255, .04); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-late { color: #ff8a80; }
.qh-invoice.qh-statement .qi-lines td:nth-child(n+5), .qh-invoice.qh-statement .qi-lines th:nth-child(n+5) { white-space: nowrap; }
.qh-invoice.qh-statement .qi-lines td:nth-child(2), .qh-invoice.qh-statement .qi-lines td:nth-child(3) { white-space: nowrap; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
  html body.qh-portal-og #qh-charcoal-final .rpt-page .rpt-table td:first-child { min-width: 0; }
}

/* 880 · Pick availability, margins graph, vendor graph width, delivery run sheets */
html body.qh-portal-og #qh-charcoal-final .pick-supply.is-way { color: #1f7a3a; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .pick-supply.is-need { color: #c4452c; font-weight: 700; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .pick-supply.is-way { color: #8fe0b0; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .pick-supply.is-need { color: #ffaa96; }
html body.qh-portal-og #qh-charcoal-final .mb-chart { margin: 4px 0 14px; }
html body.qh-portal-og #qh-charcoal-final .mb-chart h2 { margin: 0 0 2px; font-size: 16px; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-supplier-card .ops-month-row.is-years,
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-supplier-card .ops-month-row.is-months,
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .supplier-chart .ops-month-row.is-years,
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .supplier-chart .ops-month-row.is-months {
  width: 100%;
  justify-content: stretch;
  grid-template-columns: repeat(auto-fit, minmax(36px, 1fr));
}
html body.qh-portal-og #qh-charcoal-final .run-table tr.is-on td { background: rgba(214, 138, 60, .12); }
.qh-invoice.qh-run .qi-paper { page-break-after: always; break-after: page; }
.qh-invoice.qh-run .qi-lines td:last-child { width: 2.4in; }
.qh-invoice.qh-run .qh-koble-scan { margin: 0; }
.qh-invoice.qh-run .qh-koble-scan svg { width: 2.2in; height: 0.46in; background: #fff; }
@media print {
  .qh-invoice.qh-run .qi-paper { min-height: 10.1in; }
}

/* 882 · Pick can-pick, run sheet lines, supplier catalogs, FlangeLock */
html body.qh-portal-og #qh-charcoal-final .pick-work-line {
  grid-template-columns: minmax(180px, 1.35fr) 84px 92px minmax(300px, 1.05fr);
}
html body.qh-portal-og #qh-charcoal-final .pick-can {
  font-weight: 800;
  font-size: 15px;
  line-height: 1.2;
}
html body.qh-portal-og #qh-charcoal-final .pick-can.is-ready { color: #1f7a3a; }
html body.qh-portal-og #qh-charcoal-final .pick-can.is-partial,
html body.qh-portal-og #qh-charcoal-final .pick-can.is-way { color: #9a5b12; }
html body.qh-portal-og #qh-charcoal-final .pick-can.is-none,
html body.qh-portal-og #qh-charcoal-final .pick-can.is-need { color: #c4452c; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .pick-can.is-ready { color: #8fe0b0; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .pick-can.is-partial,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .pick-can.is-way { color: #f0c27a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .pick-can.is-none,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .pick-can.is-need { color: #ffaa96; }
html body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-state.pick-supply {
  display: inline-block;
  max-width: 16rem;
  white-space: normal;
  font-weight: 800;
  font-size: 12px;
  line-height: 1.25;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(127, 127, 127, 0.12);
}
html body.qh-portal-og #qh-charcoal-final .pick-work-line .pick-supply.is-way { background: rgba(31, 122, 58, 0.14); }
html body.qh-portal-og #qh-charcoal-final .pick-work-line .pick-supply.is-need { background: rgba(196, 69, 44, 0.14); }
html body.qh-portal-og #qh-charcoal-final .run-tools { flex-wrap: wrap; align-items: end; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .run-tools label { display: grid; gap: 2px; font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .run-tools input,
html body.qh-portal-og #qh-charcoal-final .run-tools select { min-height: 36px; font: inherit; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .run-detail td { background: rgba(127, 127, 127, 0.06); }
html body.qh-portal-og #qh-charcoal-final .run-lines { width: 100%; margin: 4px 0; }
html body.qh-portal-og #qh-charcoal-final .run-lines td:nth-child(n+3),
html body.qh-portal-og #qh-charcoal-final .run-lines th:nth-child(n+3) { white-space: nowrap; text-align: right; }
html body.qh-portal-og #qh-charcoal-final .run-expand { margin-right: 6px; }
html body.qh-portal-og #qh-charcoal-final .res-suppliers { margin-top: 10px; }
html body.qh-portal-og #qh-charcoal-final .res-suppliers > summary { cursor: pointer; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .res-suppliers > summary::-webkit-details-marker { display: none; }
html body.qh-portal-og #qh-charcoal-final .res-suppliers > summary h2 { display: inline; }
html body.qh-portal-og #qh-charcoal-final .res-suppliers > summary::before { content: "▸ "; }
html body.qh-portal-og #qh-charcoal-final .res-suppliers[open] > summary::before { content: "▾ "; }
html body.qh-portal-og #qh-charcoal-final .fl-guide {
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid var(--line, #ddd4c8);
  border-radius: 8px;
}
html body.qh-portal-og #qh-charcoal-final .fl-photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0 0 10px;
}
html body.qh-portal-og #qh-charcoal-final .fl-photos img {
  width: 100%;
  height: 180px;
  object-fit: contain;
  background: #fff;
  border-radius: 6px;
}
html body.qh-portal-og #qh-charcoal-final .fl-guide ul { margin: 6px 0 0; padding-left: 1.1rem; }
html body.qh-portal-og #qh-charcoal-final .fl-group { margin: 0 0 16px; }
html body.qh-portal-og #qh-charcoal-final .fl-group h2 { margin: 0 0 4px; font-size: 18px; }
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-count .pick-can { display: none; }
  html body.qh-portal-og #qh-charcoal-final .pick-nums .pick-can { flex-basis: 100%; font-size: 14px; }
}


/* 885: Pie charts, report graphs, tighter sales header, route-day groups, oversold hose ends. */
html[data-chart-kind="pie"] body.qh-portal-og :is(.qhb-plot, .qhb-legend, .ops-chart-plot) { display: none; }
html body.qh-portal-og .qh-pie { display: none; align-items: center; gap: 28px; min-height: 220px; padding: 8px 4px 16px; }
html[data-chart-kind="pie"] body.qh-portal-og .qh-pie { display: flex; }
html body.qh-portal-og .qh-pie-disc {
  width: min(280px, 46vw);
  aspect-ratio: 1;
  border-radius: 50%;
  flex: 0 0 auto;
  box-shadow: inset 0 0 0 1px rgba(28, 25, 22, .08);
  animation: qh-pie-in .6s cubic-bezier(.2, .7, .2, 1);
}
@keyframes qh-pie-in { from { transform: scale(.84) rotate(-20deg); opacity: 0; } to { transform: none; opacity: 1; } }
html body.qh-portal-og .qh-pie-legend { display: flex; flex-wrap: wrap; align-content: center; gap: 8px 18px; min-width: 0; }
html body.qh-portal-og .qh-pie-key { display: inline-flex; align-items: baseline; gap: 6px; font-size: 13px; }
html body.qh-portal-og .qh-pie-key i { width: 10px; height: 10px; border-radius: 50%; align-self: center; }
html body.qh-portal-og .qh-pie-key em { font-style: normal; }
html body.qh-portal-og .qh-pie-key b { font-variant-numeric: tabular-nums; }
@media (max-width: 720px) {
  html[data-chart-kind="pie"] body.qh-portal-og .qh-pie { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  html body.qh-portal-og .qh-pie-disc { animation: none; }
}
html body.qh-portal-og .rpt-graph-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
html body.qh-portal-og .rpt-graph-head h2 { margin: 0; }
html body.qh-portal-og .rpt-graph { margin: 4px 0 14px; }
html body.qh-portal-og .sales-series-seg { margin-left: auto; }
html body.qh-portal-og #qh-charcoal-final .sales-tools { gap: 6px 8px; margin-bottom: 6px; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesForm.sales-tools .sales-period-seg .ops-seg-btn { min-height: 28px; padding: 3px 6px; }
html body.qh-portal-og #qh-charcoal-final .sales-metrics { margin-top: 6px; }
html body.qh-portal-og #qh-charcoal-final .sales-metrics .ops-metric > strong { font-size: 18px; }
html body.qh-portal-og .run-day th { background: #f4efe8; text-align: left; font-size: 13px; padding: 8px 10px; }
html body.qh-portal-og tr.is-oversold td { background: #fde8e4; }
html body.qh-portal-og .stock-over { display: block; margin-top: 2px; color: #9b2c1a; font-weight: 800; font-size: 12px; }
html body.qh-portal-og .buy-coming { display: block; margin-top: 4px; font-weight: 700; }



/* 887: Forecast ghosts, goal lines, stacked multi-series graphs, donut pie with tips, forecast
   cards, run-sheet lines, pick-line buttons, pick days, stale repair board. */
html body.qh-portal-og #qh-charcoal-final .qhb-projs { position: absolute; left: 16%; right: 16%; top: 0; bottom: 0; display: flex; align-items: flex-end; justify-content: center; gap: 2px; pointer-events: none; }
html body.qh-portal-og #qh-charcoal-final .qhb-pb,
html body.qh-portal-og #qh-charcoal-final .qhb-pgap { position: relative; flex: 1 1 0; max-width: 48px; min-width: 2px; }
html body.qh-portal-og #qh-charcoal-final .qhb-pb { border: 1.5px dashed color-mix(in srgb, #cf6a22 75%, transparent); border-bottom: 0; border-radius: 5px 5px 1px 1px; background: repeating-linear-gradient(135deg, color-mix(in srgb, #cf6a22 20%, transparent) 0 4px, transparent 4px 8px); }
html body.qh-portal-og #qh-charcoal-final .qhb-col .qhb-bars { z-index: 1; }
html body.qh-portal-og #qh-charcoal-final .qhb-val.is-proj { color: #b0581a; font-style: italic; }
html body.qh-portal-og #qh-charcoal-final .qhb-col.is-future .qhb-lab { font-style: italic; opacity: .75; }
html body.qh-portal-og #qh-charcoal-final .qhb-key.is-proj { background: repeating-linear-gradient(135deg, color-mix(in srgb, #cf6a22 35%, transparent) 0 3px, transparent 3px 6px); border: 1.5px dashed #cf6a22; }
html body.qh-portal-og #qh-charcoal-final .qhb-key.is-goal { width: 18px; height: 0; border-radius: 0; border-top: 2.5px solid #2f6fb0; background: none; vertical-align: middle; }
html body.qh-portal-og #qh-charcoal-final .qhb-goal { position: absolute; left: 0; right: 0; height: 0; border-top: 2.5px solid color-mix(in srgb, #2f6fb0 80%, transparent); z-index: 3; pointer-events: none; }
html body.qh-portal-og #qh-charcoal-final .qhb-goal em { position: absolute; left: 4px; bottom: 3px; padding: 0 6px; border-radius: 4px; font-style: normal; font-size: 11px; font-weight: 800; color: #fff; background: #2f6fb0; white-space: nowrap; }
html body.qh-portal-og svg.qh-line .qh-line-proj { fill: none; stroke: #cf6a22; stroke-width: 2.5; stroke-dasharray: 6 5; stroke-linecap: round; opacity: .9; }
html body.qh-portal-og svg.qh-line .qh-line-dot.is-proj { fill: var(--qh-paper, #fff); stroke: #cf6a22; stroke-dasharray: 2 2; }
html[data-chart-kind="line"] body.qh-portal-og #qh-charcoal-final .qhb-pb { background: none; border-color: transparent; }
html[data-chart-kind="line"] body.qh-portal-og #qh-charcoal-final .qhb-val.is-proj { margin-bottom: 9px; }

/* Stacked columns: segments stack from the floor; the markers carry each series' own value
   for line mode. */
html body.qh-portal-og #qh-charcoal-final .qhb-bars.is-stack { display: block; }
html body.qh-portal-og #qh-charcoal-final .qhb-stack { position: absolute; left: 50%; bottom: 0; top: 0; width: min(48px, 100%); transform: translateX(-50%); display: flex; flex-direction: column-reverse; }
html body.qh-portal-og #qh-charcoal-final .qhb-seg { flex: 0 0 auto; min-height: 0; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25); transition: filter .12s ease; }
html body.qh-portal-og #qh-charcoal-final .qhb-seg:last-child { border-radius: 5px 5px 0 0; }
html body.qh-portal-og #qh-charcoal-final .qhb-pt { position: absolute; left: 50%; width: 0; height: 0; pointer-events: none; }
html body.qh-portal-og #qh-charcoal-final .qhb-sum { position: absolute; left: 50%; transform: translateX(-50%); margin-bottom: 4px; }
html body.qh-portal-og #qh-charcoal-final .qhb.is-stack .qhb-col:is(.is-tip, :hover) .qhb-seg { filter: brightness(1.08) saturate(1.1); }
html body.qh-portal-og #qh-charcoal-final .qhb.is-tall .qhb-plot { height: 270px; }
html[data-chart-kind="line"] body.qh-portal-og #qh-charcoal-final .qhb-seg { background: none !important; box-shadow: none; }
html[data-chart-kind="line"] body.qh-portal-og #qh-charcoal-final .qhb.is-stack .qhb-sum { display: none; }
html body.qh-portal-og .qhb.is-stack svg.qh-line .qh-line-area,
html body.qh-portal-og .qhb[data-colors] svg.qh-line .qh-line-area:not(.s0) { display: none; }
html body.qh-portal-og .qhb.is-stack svg.qh-line .qh-line-path { stroke-dasharray: none; stroke-width: 2.2; }
html body.qh-portal-og .qhb.is-stack svg.qh-line .qh-line-dot { fill: var(--qh-paper, #fff); }
html body.qh-portal-og #qh-charcoal-final .qhb-sk { display: inline-flex; align-items: center; gap: 6px; min-height: 26px; padding: 2px 9px 2px 7px; border: 1px solid var(--line, #ddd); border-radius: 999px; background: var(--paper, #fff); color: inherit; font: inherit; font-size: 12.5px; font-weight: 650; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .qhb-sk i { width: 10px; height: 10px; border-radius: 3px; }
html body.qh-portal-og #qh-charcoal-final .qhb-sk[aria-pressed="false"] { opacity: .45; text-decoration: line-through; }
html body.qh-portal-og #qh-charcoal-final .qhb-sk:hover { border-color: var(--qh-control, #999); }
html body.qh-portal-og .qhb.hide-s0 :is(.qhb-seg.s0, .qhb-bar.s0, .qhb-pt.s0, .qh-line-path.s0, .qh-line-dot.s0, .qh-line-area.s0),
html body.qh-portal-og .qhb.hide-s1 :is(.qhb-seg.s1, .qhb-bar.s1, .qhb-pt.s1, .qh-line-path.s1, .qh-line-dot.s1, .qh-line-area.s1),
html body.qh-portal-og .qhb.hide-s2 :is(.qhb-seg.s2, .qhb-bar.s2, .qhb-pt.s2, .qh-line-path.s2, .qh-line-dot.s2, .qh-line-area.s2),
html body.qh-portal-og .qhb.hide-s3 :is(.qhb-seg.s3, .qhb-bar.s3, .qhb-pt.s3, .qh-line-path.s3, .qh-line-dot.s3, .qh-line-area.s3),
html body.qh-portal-og .qhb.hide-s4 :is(.qhb-seg.s4, .qhb-bar.s4, .qhb-pt.s4, .qh-line-path.s4, .qh-line-dot.s4, .qh-line-area.s4),
html body.qh-portal-og .qhb.hide-s5 :is(.qhb-seg.s5, .qhb-bar.s5, .qhb-pt.s5, .qh-line-path.s5, .qh-line-dot.s5, .qh-line-area.s5),
html body.qh-portal-og .qhb.hide-s6 :is(.qhb-seg.s6, .qhb-bar.s6, .qhb-pt.s6, .qh-line-path.s6, .qh-line-dot.s6, .qh-line-area.s6),
html body.qh-portal-og .qhb.hide-s7 :is(.qhb-seg.s7, .qhb-bar.s7, .qhb-pt.s7, .qh-line-path.s7, .qh-line-dot.s7, .qh-line-area.s7),
html body.qh-portal-og .qhb.hide-s8 :is(.qhb-seg.s8, .qhb-bar.s8, .qhb-pt.s8, .qh-line-path.s8, .qh-line-dot.s8, .qh-line-area.s8),
html body.qh-portal-og .qhb.hide-s9 :is(.qhb-seg.s9, .qhb-bar.s9, .qhb-pt.s9, .qh-line-path.s9, .qh-line-dot.s9, .qh-line-area.s9) { display: none; }
html body.qh-portal-og .qhb[class*="hide-s"] .qhb-sum { display: none; }

/* Tips: series dots, forecast and total rows. */
#qhTip .qt-dot { display: inline-block; width: 9px; height: 9px; margin-right: 6px; border-radius: 3px; text-decoration: none; vertical-align: 0; }
#qhTip .qt-r.is-proj em { color: #e8964f; font-style: italic; }
#qhTip .qt-r.is-total { margin-top: 3px; padding-top: 3px; border-top: 1px solid rgba(255, 255, 255, .18); font-weight: 800; }

/* Donut pie: one path per slice, tips on hover/tap. */
html body.qh-portal-og svg.qh-pie-disc { display: block; width: min(280px, 46vw); height: auto; aspect-ratio: 1; border-radius: 0; box-shadow: none; overflow: visible; }
html body.qh-portal-og .qh-pie-slice { stroke: var(--qh-paper, #fff); stroke-width: 1.5; cursor: pointer; transform-box: view-box; transform-origin: 110px 110px; transition: transform .14s ease, filter .14s ease; outline: none; }
html body.qh-portal-og .qh-pie-slice:is(:hover, .is-tip, :focus-visible) { transform: scale(1.045); filter: brightness(1.08) saturate(1.1); }
html body.qh-portal-og .qh-pie-total { font-size: 21px; font-weight: 800; fill: currentColor; font-variant-numeric: tabular-nums; }
html body.qh-portal-og .qh-pie-cap { font-size: 11.5px; font-weight: 700; fill: var(--muted, #6b6b6b); text-transform: uppercase; letter-spacing: .06em; }
html body.qh-portal-og .qh-pie-key small { color: var(--muted, #6b6b6b); font-size: 11.5px; font-variant-numeric: tabular-nums; }

/* Sales graph layer switch. */
html body.qh-portal-og #qh-charcoal-final .rpt-graph-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
html body.qh-portal-og #qh-charcoal-final .rpt-graph-head h2 { margin-right: auto; }
html body.qh-portal-og #qh-charcoal-final .sales-layer-seg .ops-seg-btn { min-height: 28px; padding: 3px 12px; font-size: 12.5px; }

/* Forecast cards. */
html body.qh-portal-og #qh-charcoal-final .fc-panel { margin: 6px 0 18px; padding: 14px 16px 10px; border: 1px solid var(--line, #ddd); border-radius: 14px; background: color-mix(in srgb, var(--paper, #fff) 92%, #cf6a22 3%); }
html body.qh-portal-og #qh-charcoal-final .fc-panel h2 { margin: 0; }
html body.qh-portal-og #qh-charcoal-final .fc-scope { font-size: 13px; font-weight: 650; }
html body.qh-portal-og #qh-charcoal-final .fc-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin-top: 12px; }
html body.qh-portal-og #qh-charcoal-final .fc-card { display: grid; align-content: start; gap: 3px; padding: 12px 14px; border: 1px solid var(--line, #ddd); border-left: 4px solid #cf6a22; border-radius: 12px; background: var(--paper, #fff); }
html body.qh-portal-og #qh-charcoal-final .fc-card.is-ahead { border-left-color: #2f8a55; }
html body.qh-portal-og #qh-charcoal-final .fc-card.is-near { border-left-color: #c09a2e; }
html body.qh-portal-og #qh-charcoal-final .fc-card.is-behind { border-left-color: #b8413a; }
html body.qh-portal-og #qh-charcoal-final .fc-title { font-size: 11.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--muted, #6b6b6b); }
html body.qh-portal-og #qh-charcoal-final .fc-card strong { font-size: 26px; line-height: 1.1; font-weight: 850; font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .fc-sub { font-style: normal; font-size: 12px; font-weight: 700; color: var(--muted, #6b6b6b); }
html body.qh-portal-og #qh-charcoal-final .fc-range { font-size: 12px; color: var(--muted, #6b6b6b); font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .fc-bar { position: relative; height: 12px; margin: 7px 0 6px; border-radius: 6px; background: color-mix(in srgb, var(--ink, #222) 8%, transparent); overflow: visible; cursor: default; }
html body.qh-portal-og #qh-charcoal-final .fc-bar i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .fc-bar-proj { background: repeating-linear-gradient(135deg, color-mix(in srgb, #cf6a22 38%, transparent) 0 4px, color-mix(in srgb, #cf6a22 16%, transparent) 4px 8px); }
html body.qh-portal-og #qh-charcoal-final .fc-bar-done { background: linear-gradient(90deg, #eea056, #cf6a22); }
html body.qh-portal-og #qh-charcoal-final .fc-bar-goal { position: absolute; top: -4px; bottom: -4px; width: 3px; margin-left: -1.5px; border-radius: 2px; background: #2f6fb0; }
html body.qh-portal-og #qh-charcoal-final .fc-rows { display: grid; gap: 2px; margin: 0; font-size: 12.5px; }
html body.qh-portal-og #qh-charcoal-final .fc-rows div { display: flex; justify-content: space-between; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .fc-rows dt { color: var(--muted, #6b6b6b); }
html body.qh-portal-og #qh-charcoal-final .fc-rows dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .fc-vs { margin-left: 4px; padding: 0 5px; border-radius: 4px; font-size: 11px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .fc-vs.is-up { color: #1f6b3d; background: color-mix(in srgb, #2f8a55 16%, transparent); }
html body.qh-portal-og #qh-charcoal-final .fc-vs.is-down { color: #9a2f28; background: color-mix(in srgb, #b8413a 14%, transparent); }
html body.qh-portal-og #qh-charcoal-final .fc-goal-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px; margin: 10px 0 2px; padding: 10px 12px; border: 1px dashed var(--line, #ccc); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .fc-goal-form label { display: grid; gap: 3px; font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .fc-goal-form input { width: 130px; }
html body.qh-portal-og #qh-charcoal-final .fc-goal-form small { flex-basis: 100%; }
html body.qh-portal-og #qh-charcoal-final .fc-how { margin-top: 10px; font-size: 12.5px; color: var(--muted, #6b6b6b); }
html body.qh-portal-og #qh-charcoal-final .fc-how summary { cursor: pointer; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .fc-how p { margin: 6px 0 2px; max-width: 920px; line-height: 1.45; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fc-vs.is-up { color: #8fd8a8; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fc-vs.is-down { color: #f0a49d; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qhb-val.is-proj { color: #f0b27a; }

/* Run sheets: whole row toggles the lines; lines get photo, bar, status. */
html body.qh-portal-og #qh-charcoal-final .run-table tr.run-row { cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .run-table tr.run-row:hover > td { background: color-mix(in srgb, var(--qh-action, #8d421a) 5%, transparent); }
html body.qh-portal-og #qh-charcoal-final .run-table tr.run-row.is-open > td { background: color-mix(in srgb, var(--qh-action, #8d421a) 8%, transparent); border-bottom-color: transparent; }
html body.qh-portal-og #qh-charcoal-final .run-expand { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .run-chev { width: 14px; height: 14px; transition: transform .15s ease; }
html body.qh-portal-og #qh-charcoal-final .run-expand[aria-expanded="true"] .run-chev { transform: rotate(90deg); }
html body.qh-portal-og #qh-charcoal-final .run-detail > td { padding: 4px 10px 14px 28px; background: color-mix(in srgb, var(--qh-action, #8d421a) 4%, transparent); }
html body.qh-portal-og #qh-charcoal-final .run-lines-box { border-left: 3px solid color-mix(in srgb, var(--qh-action, #8d421a) 45%, transparent); padding-left: 12px; }
html body.qh-portal-og #qh-charcoal-final .run-lines-sum { margin: 6px 0; font-size: 12.5px; color: var(--muted, #6b6b6b); }
html body.qh-portal-og #qh-charcoal-final .run-lines { width: 100%; background: var(--paper, #fff); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .run-lines td { vertical-align: middle; }
html body.qh-portal-og #qh-charcoal-final .run-lines tr.is-done td { opacity: .72; }
html body.qh-portal-og #qh-charcoal-final .run-line-part { display: flex; align-items: center; gap: 10px; min-width: 150px; }
html body.qh-portal-og #qh-charcoal-final .run-line-part span { display: grid; }
html body.qh-portal-og #qh-charcoal-final .run-line-part small { color: var(--muted, #6b6b6b); font-size: 11.5px; }
html body.qh-portal-og #qh-charcoal-final .run-line-photo { flex: 0 0 auto; width: 38px; height: 38px; object-fit: contain; border: 1px solid var(--line, #ddd); border-radius: 7px; background: #fff; }
html body.qh-portal-og #qh-charcoal-final .run-line-photo.is-blank { display: inline-block; background: color-mix(in srgb, var(--ink, #222) 6%, transparent); }
html body.qh-portal-og #qh-charcoal-final .run-line-desc { max-width: 380px; }
html body.qh-portal-og #qh-charcoal-final .run-line-picked { white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .run-line-bar { display: inline-block; width: 44px; height: 6px; margin-right: 8px; border-radius: 3px; overflow: hidden; vertical-align: middle; background: color-mix(in srgb, var(--ink, #222) 10%, transparent); }
html body.qh-portal-og #qh-charcoal-final .run-line-bar i { display: block; height: 100%; background: #2f8a55; }
html body.qh-portal-og #qh-charcoal-final .run-lines .is-part td:first-child { padding-left: 26px; }
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .run-detail > td { padding: 4px 6px 12px; }
  html body.qh-portal-og #qh-charcoal-final .run-lines thead { display: none; }
  html body.qh-portal-og #qh-charcoal-final .run-lines tr { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 8px 10px; border-bottom: 1px solid var(--line, #ddd); }
  html body.qh-portal-og #qh-charcoal-final .run-lines td { display: block; padding: 0; border: 0; text-align: left; }
  html body.qh-portal-og #qh-charcoal-final .run-lines td.run-line-desc { grid-column: 1 / -1; max-width: none; font-size: 13px; }
  html body.qh-portal-og #qh-charcoal-final .run-lines td[data-label="Ordered"]::before,
  html body.qh-portal-og #qh-charcoal-final .run-lines td[data-label="Picked"]::before { content: attr(data-label) " "; color: var(--muted, #6b6b6b); font-size: 11.5px; font-weight: 700; }
}

/* Pick line: Pick line and Print label as text buttons. */
html body.qh-portal-og #qh-charcoal-final .pick-line-actions { display: flex; flex-wrap: wrap; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .pick-line-actions :is(.pick-line-btn, .pick-label-btn) { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 6px 12px; white-space: nowrap; font-weight: 750; }
html body.qh-portal-og #qh-charcoal-final .pick-line-actions .ops-ic { width: 16px; height: 16px; flex: 0 0 auto; }
html body.qh-portal-og #qh-charcoal-final .pick-line-actions .pick-line-btn[disabled] { opacity: .5; cursor: not-allowed; }
html body.qh-portal-og #qh-charcoal-final .pick-line-done { display: inline-flex; align-items: center; gap: 5px; min-height: 36px; padding: 0 8px; color: #2f8a55; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .pick-line-done .ops-ic { width: 16px; height: 16px; }

/* Pick list days: Monday to Friday, then no route day. */
html body.qh-portal-og #qh-charcoal-final .pick-day.is-today > .pick-day-head { box-shadow: inset 4px 0 0 #2f8a55; }
html body.qh-portal-og #qh-charcoal-final .pick-day-today { margin-left: 8px; padding: 1px 8px; border-radius: 999px; font-style: normal; font-size: 11.5px; font-weight: 800; color: #fff; background: #2f8a55; }
html body.qh-portal-og #qh-charcoal-final .pick-day-head span { margin-left: auto; }
html body.qh-portal-og #qh-charcoal-final .pick-day.is-unassigned > .pick-day-head { opacity: .85; }

/* Repairs: board from the last good read while Toolbox is busy. */
html body.qh-portal-og #qh-charcoal-final .rp-stale { margin: 6px 0 10px; padding: 8px 12px; border-radius: 10px; font-size: 13px; font-weight: 650; color: #7a5a12; background: color-mix(in srgb, #c09a2e 16%, transparent); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .rp-stale { color: #f1d58a; }


html[data-chart-kind="pie"] body.qh-portal-og #qh-charcoal-final .qhb-legend { display: none; }
html[data-chart-kind="line"] body.qh-portal-og #qh-charcoal-final .qhb.is-stack .qhb-col .qhb-val.qhb-sum { display: none; }
html body.qh-portal-og #qh-charcoal-final .rpt-graph-head .ops-seg { width: auto; flex: 0 0 auto; display: inline-flex; }
html body.qh-portal-og #qh-charcoal-final .rpt-graph-head .ops-seg .ops-seg-btn { flex: 0 0 auto; min-height: 30px; padding: 4px 12px; font-size: 12.5px; }
html body.qh-portal-og #qh-charcoal-final .fc-panel .rpt-graph-head h2 { margin-right: 0; }
html body.qh-portal-og #qh-charcoal-final .fc-panel .rpt-graph-head #salesGoalEdit { margin-left: auto; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .rpt-graph-head h2 { flex-basis: 100%; }
  html body.qh-portal-og #qh-charcoal-final .fc-panel .rpt-graph-head h2 { flex-basis: auto; }
  html body.qh-portal-og #qh-charcoal-final .fc-panel { padding: 12px 10px 8px; }
  html body.qh-portal-og #qh-charcoal-final .fc-cards { grid-template-columns: 1fr 1fr; gap: 8px; }
  html body.qh-portal-og #qh-charcoal-final .fc-card { padding: 10px; }
  html body.qh-portal-og #qh-charcoal-final .fc-card strong { font-size: 22px; }
}
@media (max-width: 440px) {
  html body.qh-portal-og #qh-charcoal-final .fc-cards { grid-template-columns: 1fr; }
}


/* 888: vendor pace line, part use forecast, graphs on repairs / pick / receiving / buying */
html body.qh-portal-og #qh-charcoal-final .fc-line { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 2px 0 10px; font-size: 13px; color: var(--muted, #6b6b6b); }
html body.qh-portal-og #qh-charcoal-final .fc-line > span { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 4px; font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .fc-line b { color: var(--ink, inherit); font-weight: 750; }
html body.qh-portal-og #qh-charcoal-final .part-fc { margin: 8px 0 0; font-size: 13px; color: var(--muted, #6b6b6b); }
html body.qh-portal-og #qh-charcoal-final .part-fc b { color: var(--ink, inherit); font-weight: 750; font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .rp-graph,
html body.qh-portal-og #qh-charcoal-final .pick-graph,
html body.qh-portal-og #qh-charcoal-final .recv-graph { margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--line, #ddd); }
html body.qh-portal-og #qh-charcoal-final .rp-graph h2,
html body.qh-portal-og #qh-charcoal-final .pick-graph h2,
html body.qh-portal-og #qh-charcoal-final .recv-graph h2 { margin: 0 0 6px; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .fc-line { gap: 4px 12px; font-size: 12.5px; }
  html body.qh-portal-og #qh-charcoal-final .rp-graph,
  html body.qh-portal-og #qh-charcoal-final .pick-graph,
  html body.qh-portal-og #qh-charcoal-final .recv-graph { margin-top: 16px; padding-top: 10px; }
}


/* 888b: total line on stacked charts in line mode */
html body.qh-portal-og .qhb.is-stack svg.qh-line .qh-line-path.is-total { stroke: var(--muted, #8a9096); stroke-width: 2; stroke-dasharray: 1 0; opacity: .9; }
html body.qh-portal-og .qhb.is-stack svg.qh-line .qh-line-dot.is-total { fill: var(--muted, #8a9096); stroke: none; }
html body.qh-portal-og #qh-charcoal-final .qhb-total-key { display: none; }
html[data-chart-kind="line"] body.qh-portal-og #qh-charcoal-final .qhb.is-stack .qhb-total-key { display: inline-flex; align-items: center; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .qhb-key.is-total { background: var(--muted, #8a9096); height: 3px; border-radius: 2px; }


/* 888c: dark mode keeps the second series blue; run sheet day rows read in dark mode and on a phone */
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qhb-bar.s1 { background: linear-gradient(180deg, #b3c8da 0%, #6f8fab 100%); }
html body.qh-portal-og #qh-charcoal-final .run-day th { background: color-mix(in srgb, var(--qh-action, #8d421a) 12%, transparent); color: var(--ink, inherit); font-weight: 800; letter-spacing: .02em; }
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .run-table tr.run-day { display: block; }
  html body.qh-portal-og #qh-charcoal-final .run-table tr.run-day th { display: block; width: auto; border-radius: 8px; }
}

/* 888d: phone chart labels stay inside their column (thinned charts get two columns of room) */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qhb .qhb-lab { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
  html body.qh-portal-og #qh-charcoal-final .qhb.is-thin .qhb-lab { max-width: 200%; }
}

/* 888e: thinned charts keep full labels; run sheet line status gets its own row on a phone */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qhb.is-thin .qhb-lab { max-width: none; overflow: visible; }
}
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .run-lines td[data-label="Status"] { grid-column: 1 / -1; white-space: normal; text-align: left; }
  html body.qh-portal-og #qh-charcoal-final .run-lines td[data-label="Status"] > span { white-space: normal; }
}

/* 888f: run sheet day headers span the whole card row on a phone */
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .ops-table tr.run-day th { grid-column: 1 / -1; width: auto; }
}

/* 888g: open run sheet order is one tinted card on a phone, not separate cell boxes */
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .run-table tr.run-row.is-open { background: color-mix(in srgb, var(--qh-action, #8d421a) 8%, transparent); }
  html body.qh-portal-og #qh-charcoal-final .run-table tr.run-row:hover > td,
  html body.qh-portal-og #qh-charcoal-final .run-table tr.run-row.is-open > td { background: transparent; }
}

/* 888h: notes under a number wrap inside their card cell on a phone instead of running into the next one */
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .ops-table td.ops-num small { white-space: normal; overflow-wrap: anywhere; }
}

/* 888i: phone pick line stacks part, counts in a row, then the pick and label buttons */
@media (max-width: 560px) {
  html body.qh-portal-og #qh-charcoal-final .ops-line.recv-line.pick-work-line { grid-template-columns: minmax(0, 1fr); grid-template-areas: "part" "nums" "count" "kit"; }
  html body.qh-portal-og #qh-charcoal-final .ops-line.recv-line.pick-work-line > .pick-nums { grid-area: nums; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; }
  html body.qh-portal-og #qh-charcoal-final .ops-line.recv-line.pick-work-line > .pick-nums > .pick-can { flex-basis: 100%; }
  html body.qh-portal-og #qh-charcoal-final .ops-line.recv-line.pick-work-line > .recv-count { grid-area: count; justify-content: flex-start; }
}

/* 889a: receiving PO lines at 1280+ keep steady columns: counts on one line, steppers line up, who it is for sits right after */
@media (min-width: 1280px) {
  html body.qh-portal-og #qh-charcoal-final .recv-vendor .ops-line.recv-line { grid-template-columns: minmax(128px, 168px) max-content 68px 92px minmax(160px, 1fr); column-gap: 8px; }
  html body.qh-portal-og #qh-charcoal-final .recv-vendor .recv-line > .recv-part { grid-column: 1; grid-row: 1; }
  html body.qh-portal-og #qh-charcoal-final .recv-vendor .recv-line > .recv-count { grid-column: 2; grid-row: 1; }
  html body.qh-portal-og #qh-charcoal-final .recv-vendor .recv-line > .recv-wide:nth-child(2) { grid-column: 3; grid-row: 1; }
  html body.qh-portal-og #qh-charcoal-final .recv-vendor .recv-line > .recv-wide:nth-child(3) { grid-column: 4; grid-row: 1; }
  html body.qh-portal-og #qh-charcoal-final .recv-vendor .recv-line > .recv-for-wrap:not(.qh-demand--sales) { grid-column: 5; grid-row: 1; }
  html body.qh-portal-og #qh-charcoal-final .recv-vendor .recv-part-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html body.qh-portal-og #qh-charcoal-final .recv-vendor .recv-line .recv-count.is-inline > .recv-state { max-width: 9rem; }
  html body.qh-portal-og #qh-charcoal-final .recv-vendor .recv-line > .recv-wide b { white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final .recv-vendor .recv-line .recv-count.is-inline > .recv-open { flex: 0 0 100px; }
  html body.qh-portal-og #qh-charcoal-final .recv-vendor .recv-line .recv-count.is-inline > .recv-state { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
}


/* 890a: Koble kit parts that have their own parts (PAM kits) list them under the part. */
html body.qh-portal-og #qh-charcoal-final .pick-kit-sub { grid-column: 1 / -1; list-style: none; margin: 4px 0 2px 14px; padding: 4px 0 2px 10px; border-left: 3px solid var(--line, #ddd4c8); display: grid; gap: 2px; }
html body.qh-portal-og #qh-charcoal-final .pick-kit-sub > li { display: grid; grid-template-columns: minmax(110px, auto) minmax(0, 1fr) auto; gap: 2px 10px; align-items: baseline; font-size: 13px; line-height: 1.3; }
html body.qh-portal-og #qh-charcoal-final .pick-kit-sub > li > b { font-weight: 800; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .pick-kit-sub > li > span { color: var(--muted, #6d645b); min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .pick-kit-sub > li > em { font-style: normal; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .pick-kit-sub > li.pick-kit-sub-head { display: block; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.03em; color: var(--muted, #6d645b); }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .pick-kit-sub { margin-left: 4px; padding-left: 8px; }
  html body.qh-portal-og #qh-charcoal-final .pick-kit-sub > li { grid-template-columns: minmax(0, 1fr) auto; }
  html body.qh-portal-og #qh-charcoal-final .pick-kit-sub > li > span { grid-column: 1 / -1; grid-row: 2; font-size: 12px; }
}


/* 890b: Repairs graph period and measure buttons. */
html body.qh-portal-og #qh-charcoal-final .rp-graph .rp-graph-segs { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px 8px; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .rp-graph .rp-graph-segs { width: 100%; justify-content: stretch; }
  html body.qh-portal-og #qh-charcoal-final .rp-graph .rp-graph-segs .ops-seg { display: grid; width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html body.qh-portal-og #qh-charcoal-final .rp-graph .rp-graph-segs .ops-seg[aria-label="Measure"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body.qh-portal-og #qh-charcoal-final .rp-graph .rp-graph-segs .ops-seg .ops-seg-btn { min-height: 36px; padding: 4px 6px; }
}


/* 890b: line the nested part numbers up in one column. */
@media (min-width: 681px) {
  html body.qh-portal-og #qh-charcoal-final .pick-kit-sub > li { grid-template-columns: 160px minmax(0, 1fr) auto; }
  html body.qh-portal-og #qh-charcoal-final .pick-kit-sub > li > b { overflow: hidden; text-overflow: ellipsis; }
}


/* 891a: denser top on every Operations page. The section menu puts each group's name inline
   (two rows instead of four), the page title shares its line with the intro, KPI cards put the
   number beside its note, and Rows (Comfy/Compact) sits at the right of the filter bar. */
@media (min-width: 681px) {
  /* Each group is one row across the page, and its tools share that row evenly. The arrange
     button keeps the top-right corner. */
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 8px; align-items: stretch; position: relative; margin: 0 0 8px; padding: 10px 56px 10px 12px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp { display: grid; grid-template-columns: 108px minmax(0, 1fr); align-items: center; gap: 10px; width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-h { padding-left: 7px; border-left: 3px solid var(--g); font-size: 10px; line-height: 1.15; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-h::after { content: none; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-row { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group],
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group]:nth-child(n+5) { flex: 1 1 150px; justify-content: center; min-width: 0; min-height: 36px; gap: 7px; padding: 6px 12px; font-size: 13.5px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group] .ops-nav-ic,
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group].is-on .ops-nav-ic { width: 16px; height: 16px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side .ops-arrange-btn { position: absolute; top: 11px; right: 12px; margin: 0; }

  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-main .qh-ops > h1.page.is-section { display: inline-block; margin: 0 14px 6px 0; vertical-align: baseline; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-main .qh-ops > h1.page.is-section + p.also { display: inline; margin: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-main .qh-ops > h1.page.is-section + p.also + * { margin-top: 8px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-main .qh-ops > h1.page.is-section + nav.mb-chips { display: inline-flex; vertical-align: baseline; margin: 0 0 6px; }

  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.ops-pick-tools > .qh-density.in-tools { margin: 0 0 0 auto; align-self: flex-end; min-height: 32px; align-items: center; }
}

html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .acct-stats { margin: 8px 0 10px; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .acct-stats .acct-stat { display: flex; flex-wrap: wrap; column-gap: 8px; align-items: baseline; align-content: flex-start; padding: 5px 9px; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .acct-stats .acct-stat > .acct-k { flex: 1 1 100%; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .acct-stats .acct-stat > b { flex: 0 1 auto; min-width: 0; margin: 0; line-height: 1.2; overflow-wrap: anywhere; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .acct-stats .acct-stat > small { flex: 1 1 6.5em; min-width: 0; line-height: 1.25; }


/* 891b: phone density. Plain filter bars put two boxes per line with the label beside its box,
   KPI cards go two by two, and a Quotes row is four short lines instead of seven tall ones. */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.ops-pick-tools:is(.pr-tools, [class="ops-pick-tools"], .mb-tools) { display: flex; flex-direction: row; flex-wrap: wrap; gap: 6px 8px; align-items: center; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.ops-pick-tools:is(.pr-tools, [class="ops-pick-tools"], .mb-tools) > * { min-width: 0; margin: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.ops-pick-tools:is(.pr-tools, [class="ops-pick-tools"], .mb-tools) > label { display: flex; flex: 1 1 calc(50% - 4px); flex-direction: row; align-items: center; gap: 6px; width: auto; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.ops-pick-tools[class="ops-pick-tools"]:has(> .ops-seg + .ops-ic-btn) > label { flex: 1 1 calc(50% - 4px); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.ops-pick-tools:is(.pr-tools, [class="ops-pick-tools"], .mb-tools) > label > :is(select, input:not([type="checkbox"])) { flex: 1 1 auto; width: auto; min-width: 0; min-height: 36px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.ops-pick-tools:is(.pr-tools, [class="ops-pick-tools"], .mb-tools) > .ops-seg { flex: 1 1 60%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.ops-pick-tools:is(.pr-tools, [class="ops-pick-tools"], .mb-tools) > :is(span.also, p) { flex: 1 1 100%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.ops-pick-tools:is(.pr-tools, [class="ops-pick-tools"], .mb-tools) > button { flex: 0 0 auto; width: auto; min-height: 36px; padding-inline: 8px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.ops-pick-tools.mb-tools > .mb-filter-toggle { flex: 1 1 52%; width: auto; min-height: 38px; padding: 3px 10px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.ops-pick-tools.mb-tools > .mb-filter-toggle b { font-size: 13.5px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.ops-pick-tools.mb-tools > .mb-filter-toggle small { font-size: 11.5px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.ops-pick-tools.mb-tools > label.mb-grow { flex: 1 1 40%; }

  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .acct-stats:is(.acct-stats-4, .acct-stats-5, .acct-stats-6) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .acct-stats .acct-stat { padding: 5px 8px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .acct-stats .acct-stat > b { font-size: 18px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .acct-stats .acct-stat > small { font-size: 11px; }
}

/* A long press on a chart opens its tip, so keep the phone from selecting text or opening the image menu. */
@media (hover: none) {
  html body.qh-portal-og #qh-charcoal-final :is(.qhb-col, .qh-pie-slice) { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
}

/* Repairs lanes: a long customer name stays inside its lane. */
html body.qh-portal-og #qh-charcoal-final .rp-lanes .rp-lane { min-width: 0; grid-template-columns: minmax(0, 1fr); }
html body.qh-portal-og #qh-charcoal-final .rp-card { min-width: 0; grid-template-columns: minmax(0, 1fr); }
html body.qh-portal-og #qh-charcoal-final .rp-card-top > b { min-width: 0; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; }

@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.pr-table tbody tr.pr-row {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    grid-template-areas: "prop prop value" "cust cust cust" "for for for" "rep follow log";
    gap: 3px 10px;
    align-items: center;
    padding: 8px 10px;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.pr-table tbody tr.pr-row > td { display: block; min-width: 0; padding: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.pr-table tbody tr.pr-row > td::before { content: none; display: none; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.pr-table tbody tr.pr-row > td[data-label="Proposal"] { grid-area: prop; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.pr-table tbody tr.pr-row > td[data-label="Customer"] { grid-area: cust; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.pr-table tbody tr.pr-row > td[data-label="For"] { grid-area: for; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.pr-table tbody tr.pr-row > td[data-label="Salesman"] { grid-area: rep; font-size: 12.5px; font-weight: 700; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.pr-table tbody tr.pr-row > td[data-label="Value"] { grid-area: value; justify-self: end; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.pr-table tbody tr.pr-row > td[data-label="Follow-up"] { grid-area: follow; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.pr-table tbody tr.pr-row > td[data-label="Log"] { grid-area: log; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.pr-table tbody tr.pr-row > td:is([data-label="Proposal"], [data-label="Customer"], [data-label="For"]) .pr-c { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 1px 8px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.pr-table tbody tr.pr-row > td[data-label="Value"] .pr-c { align-items: flex-end; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.pr-table tbody tr.pr-row .pr-lines-btn { min-height: 0; margin: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.pr-table tbody tr.pr-row .pr-log select { min-height: 36px; }
}


/* 891c: Reports on a phone. Each customer, month or vendor under the graph is its own card. */
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-table-wrap:has(table.rpt-table) { border: 0; border-radius: 0; background: none; box-shadow: none; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.rpt-table tbody tr { margin: 0 0 8px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.rpt-table tbody tr > td:first-child { margin-bottom: 2px; padding-bottom: 5px; border-bottom: 1px dashed var(--line); }
}


/* 891d: phone charts with long category names slant every name instead of overlapping every other one. */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qhb.has-long-labels .qhb-plot { margin-bottom: 58px; }
  html body.qh-portal-og #qh-charcoal-final .qhb.has-long-labels .qhb-lab,
  html body.qh-portal-og #qh-charcoal-final .qhb.has-long-labels .qhb-lab.is-wide-label { display: block; top: calc(100% + 5px); max-width: 74px; overflow: hidden; text-overflow: ellipsis; text-align: right; transform: translateX(-100%) rotate(-40deg); transform-origin: 100% 0; }
  html body.qh-portal-og #qh-charcoal-final .qhb.has-long-labels .qhb-lab em { display: none; }
}


/* 891e: desktop tops. Sales filters join the main filter row with labels beside their boxes,
   the Bins find box sits in the title row, and Buying review puts its count beside the heading. */
@media (min-width: 761px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.sales-tools > .sales-filters { display: contents; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.sales-tools > .sales-filters > label { display: flex; flex: 0 1 250px; align-items: center; gap: 6px; min-width: 0; white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace form.sales-tools > .sales-filters > label > :is(select, input) { flex: 1 1 auto; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-locs .sb-head > .loc-find { flex: 1 1 260px; max-width: 520px; margin: 0; }
}
html body.qh-portal-og #qh-charcoal-final .qh-locs .sb-head > .loc-find input { width: 100%; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-locs .sb-head > .loc-find { flex: 1 1 100%; order: 3; margin: 0; }
}
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace h2 > .ops-h2-count { margin-left: 8px; color: var(--qh-muted, var(--muted)); font-size: 12.5px; font-weight: 600; letter-spacing: 0; text-transform: none; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .mb-notes.ops-h2-note { margin: 0 0 6px; font-size: 12.5px; }
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .mb-notes.ops-h2-note > p.also { margin: 4px 0 0; }


/* 891f: phone graph headers keep both switches on one line; Bins refresh sits beside the title. */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .rpt-graph-head { column-gap: 6px; row-gap: 6px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .rpt-graph-head > .ops-seg { flex: 0 1 auto; width: auto; min-width: 0; margin: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .rpt-graph-head > .ops-seg > button { min-height: 30px; padding-inline: 8px; font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final .qh-locs .sb-head-acts > [data-loc-refresh] { order: 1; }
  html body.qh-portal-og #qh-charcoal-final .qh-locs .sb-head-acts > :not([data-loc-refresh]) { order: 2; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .rp-graph-segs > .ops-seg { display: flex; flex-wrap: nowrap; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .rp-graph-segs > .ops-seg > button { flex: 1 1 auto; min-height: 30px; padding-inline: 6px; font-size: 12px; white-space: nowrap; }
}


/* 892a: printer toasts. "Sending" pulses until the printer answers; "Sent" is bigger than a save note. */
html body #qhToasts .qh-toast.is-print { gap: 11px; padding: 11px 18px 11px 12px; font-size: 14.5px; }
html body #qhToasts .qh-toast.is-print svg { width: 26px; height: 26px; padding: 5px; border-radius: 9px; background: #1c7c45; }
html body #qhToasts .qh-toast.is-wait svg { background: #c2611f; animation: qhPrintPulse 1.1s ease-in-out infinite; }
html[data-theme="dark"] body #qhToasts .qh-toast.is-print svg { background: #2f9d5e; }
html[data-theme="dark"] body #qhToasts .qh-toast.is-wait svg { background: #d97a35; }
@keyframes qhPrintPulse { 0%, 100% { transform: none; opacity: 1; } 50% { transform: translateY(-2px); opacity: .7; } }
@media (prefers-reduced-motion: reduce) { html body #qhToasts .qh-toast.is-wait svg { animation: none; } }


/* 892b: Sales graph "Compare with" overlays and the totals strip over each graph. */
html body.qh-portal-og #qh-charcoal-final .sales-overlays { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 8px 0 0; }
html body.qh-portal-og #qh-charcoal-final .sales-ov-label { color: var(--qh-muted, #6b6f76); font-size: 12px; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .sales-overlays .ops-seg { width: auto; flex: 0 1 auto; display: inline-flex; flex-wrap: wrap; }
html body.qh-portal-og #qh-charcoal-final .sales-overlays .ops-seg .ops-seg-btn { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 3px 11px; font-size: 12.5px; }
html body.qh-portal-og #qh-charcoal-final .sales-ov-dot { flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%; opacity: .45; }
html body.qh-portal-og #qh-charcoal-final .ops-seg-btn.is-on .sales-ov-dot { opacity: 1; box-shadow: 0 0 0 2px rgba(255, 255, 255, .85); }
html body.qh-portal-og #qh-charcoal-final .sales-chart-sum { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; margin: 10px 0 2px; font-size: 13px; color: var(--qh-muted, #6b6f76); }
html body.qh-portal-og #qh-charcoal-final .sales-chart-sum .scs { display: inline-flex; align-items: baseline; gap: 6px; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .sales-chart-sum .scs > i { align-self: center; width: 9px; height: 9px; border-radius: 50%; }
html body.qh-portal-og #qh-charcoal-final .sales-chart-sum .scs b { color: var(--qh-ink, #1f2024); font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .sales-chart-sum .scs.is-base b { font-size: 17px; }
html body.qh-portal-og #qh-charcoal-final .sales-chart-sum .scs small { font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .sales-chart-sum .scs em { font-style: normal; font-size: 12px; font-weight: 700; padding: 1px 6px; border-radius: 999px; background: rgba(0, 0, 0, .05); }
html body.qh-portal-og #qh-charcoal-final .sales-chart-sum .scs em.is-up { color: #1c7c45; background: rgba(28, 124, 69, .1); }
html body.qh-portal-og #qh-charcoal-final .sales-chart-sum .scs em.is-down { color: #b4352b; background: rgba(180, 53, 43, .1); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .sales-chart-sum .scs b { color: #eef0f3; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .sales-chart-sum .scs em.is-up { color: #5fd08f; background: rgba(95, 208, 143, .12); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .sales-chart-sum .scs em.is-down { color: #f08a7f; background: rgba(240, 138, 127, .12); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .ops-seg-btn.is-on .sales-ov-dot { box-shadow: 0 0 0 2px rgba(0, 0, 0, .5); }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .sales-overlays { gap: 5px 8px; }
  html body.qh-portal-og #qh-charcoal-final .sales-ov-label { flex-basis: 100%; }
  html body.qh-portal-og #qh-charcoal-final .sales-overlays .ops-seg .ops-seg-btn { padding-inline: 8px; font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final .sales-chart-sum { gap: 4px 12px; }
  html body.qh-portal-og #qh-charcoal-final .sales-chart-sum .scs { white-space: normal; flex-wrap: wrap; }
}


/* 924: forecast track record inside Forecast and goals. */
html body.qh-portal-og #qh-charcoal-final .fc-rec-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin: 10px 0 4px; }
html body.qh-portal-og #qh-charcoal-final .fc-rec-stat { display: grid; align-content: start; gap: 2px; padding: 10px 12px; border: 1px solid var(--line, #ddd); border-left: 4px solid #3d6b8a; border-radius: 10px; background: var(--paper, #fff); }
html body.qh-portal-og #qh-charcoal-final .fc-rec-stat small { font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--muted, #6b6b6b); }
html body.qh-portal-og #qh-charcoal-final .fc-rec-stat strong { font-size: 22px; line-height: 1.15; font-weight: 850; font-variant-numeric: tabular-nums; color: var(--ink, #222); }
html body.qh-portal-og #qh-charcoal-final .fc-rec-stat strong em { font-style: normal; font-size: 12.5px; font-weight: 700; color: var(--muted, #6b6b6b); }
html body.qh-portal-og #qh-charcoal-final .fc-rec-stat span { font-size: 12px; color: var(--muted, #6b6b6b); font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .fc-record h3 { margin: 14px 0 2px; font-size: 13.5px; font-weight: 800; color: var(--ink, #222); }
html body.qh-portal-og #qh-charcoal-final .fc-record .fc-rec-src { font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .qhb.fc-rec-chart .qhb-plot { height: 170px; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .fc-rec-stats { grid-template-columns: 1fr 1fr; gap: 8px; }
  html body.qh-portal-og #qh-charcoal-final .fc-rec-stat { padding: 8px 10px; }
  html body.qh-portal-og #qh-charcoal-final .fc-rec-stat strong { font-size: 19px; }
  html body.qh-portal-og #qh-charcoal-final .qhb.fc-rec-chart .qhb-plot { height: 140px; }
}
@media (max-width: 440px) {
  html body.qh-portal-og #qh-charcoal-final .fc-rec-stats { grid-template-columns: 1fr; }
}


/* 925: Bin labels (#/labels), Settings (#/settings), Help and guides (#/help), guided tours,
   and the header Help button. */
.qh-vh { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
html[data-calm] *, html[data-calm] *::before, html[data-calm] *::after {
  animation-duration: .01ms !important; animation-iteration-count: 1 !important;
  transition-duration: .01ms !important; scroll-behavior: auto !important;
}

/* Header Help button: shares the theme switch's grid cell (the left margin widens that cell).
   A phone header has no room, so Help lives in More there. */
html body.qh-portal-og #qh-charcoal-final .cc-header .header-help {
  grid-column: 2; grid-row: 1; justify-self: end; align-self: center; position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; min-width: 32px; min-height: 32px; margin: 0 0 0 36px; padding: 0;
  border: 0; border-radius: 5px; background: transparent; color: #fff; cursor: pointer;
}
html body.qh-portal-og #qh-charcoal-final .cc-header .header-help svg { width: 19px; height: 19px; display: block; }
html body.qh-portal-og #qh-charcoal-final .cc-header .header-help:hover { background: rgba(255, 255, 255, .12); }
html body.qh-portal-og #qh-charcoal-final .cc-header .header-help:focus-visible { outline: 2px solid var(--qh-copper); outline-offset: 3px; }
html body.qh-portal-og #qh-charcoal-final .cc-header .header-help.has-dot::after {
  content: ""; position: absolute; top: 4px; right: 4px; width: 8px; height: 8px; border-radius: 50%;
  background: var(--qh-copper); box-shadow: 0 0 0 2px var(--qh-header);
}
@media (max-width: 860px) {
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-help { display: none; }
}

/* Shared bits */
html body.qh-portal-og #qh-charcoal-final .acct-links { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 14px; }
html body.qh-portal-og #qh-charcoal-final td.quote-use { white-space: nowrap; text-align: right; }
html body.qh-portal-og #qh-charcoal-final td.quote-use .ghost-btn { margin-left: 4px; }

/* ---- Bin labels ---- */
html body.qh-portal-og #qh-charcoal-final .lbl-lede { max-width: 860px; margin: 0 0 14px; }
html body.qh-portal-og #qh-charcoal-final .lbl-page {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 400px); gap: 16px; align-items: start;
}
html body.qh-portal-og #qh-charcoal-final .lbl-left { display: grid; gap: 16px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .lbl-card {
  min-width: 0; padding: 14px 16px; border: 1px solid var(--qh-line); border-radius: 12px;
  background: var(--qh-paper); box-shadow: 0 1px 2px rgba(28, 25, 22, .05);
}
html body.qh-portal-og #qh-charcoal-final .lbl-right {
  position: sticky; top: calc(var(--chrome-h, 96px) + 12px);
  max-height: calc(100vh - var(--chrome-h, 96px) - 24px); overflow: auto; overscroll-behavior: contain;
  display: grid; gap: 12px; align-content: start;
}
html body.qh-portal-og #qh-charcoal-final .lbl-tabs { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 12px; padding: 3px; border-radius: 10px; background: var(--qh-soft); }
html body.qh-portal-og #qh-charcoal-final .lbl-tabs button {
  appearance: none; flex: 1 1 auto; min-height: 34px; margin: 0; padding: 6px 12px;
  border: 0; border-radius: 8px; background: transparent; color: var(--qh-muted);
  font: inherit; font-size: 13px; font-weight: 700; white-space: nowrap; cursor: pointer;
}
html body.qh-portal-og #qh-charcoal-final .lbl-tabs button:hover { color: var(--qh-ink); background: var(--qh-hover); }
html body.qh-portal-og #qh-charcoal-final .lbl-tabs button.is-on { color: var(--qh-ink); background: var(--qh-paper); box-shadow: 0 1px 3px rgba(28, 25, 22, .12); }
html body.qh-portal-og #qh-charcoal-final .lbl-find input,
html body.qh-portal-og #qh-charcoal-final .lbl-doc-find input {
  width: 100%; min-height: 42px; margin: 0; padding: 8px 12px; border: 1px solid var(--qh-control); border-radius: 8px;
  background: var(--qh-paper); color: var(--qh-ink); font: inherit; font-size: 15px;
}
html body.qh-portal-og #qh-charcoal-final .lbl-doc-find { display: flex; gap: 8px; margin: 0 0 10px; }
html body.qh-portal-og #qh-charcoal-final .lbl-doc-find .ghost-btn { flex: none; }
html body.qh-portal-og #qh-charcoal-final #lblResults { margin-top: 10px; }
html body.qh-portal-og #qh-charcoal-final .lbl-folders { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px; margin: 0 0 10px; }
html body.qh-portal-og #qh-charcoal-final button.lbl-folder {
  appearance: none; display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-width: 0;
  margin: 0; padding: 8px 10px; border: 1px solid var(--qh-line); border-radius: 8px; background: var(--qh-soft);
  color: var(--qh-ink); font: inherit; text-align: left; cursor: pointer;
}
html body.qh-portal-og #qh-charcoal-final button.lbl-folder:hover { border-color: var(--qh-copper); background: var(--qh-selected); }
html body.qh-portal-og #qh-charcoal-final button.lbl-folder span { display: grid; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final button.lbl-folder b { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final button.lbl-folder small { color: var(--qh-muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final button.lbl-folder em { flex: none; font-style: normal; font-size: 12px; font-weight: 800; color: var(--qh-action); }
html body.qh-portal-og #qh-charcoal-final .lbl-hits-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 10px 0 6px; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .lbl-hits,
html body.qh-portal-og #qh-charcoal-final .lbl-docs,
html body.qh-portal-og #qh-charcoal-final .lbl-job { list-style: none; margin: 0; padding: 0; }
html body.qh-portal-og #qh-charcoal-final .lbl-hits { max-height: 420px; overflow: auto; border: 1px solid var(--qh-line); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .lbl-hit,
html body.qh-portal-og #qh-charcoal-final .lbl-docs li {
  display: flex; align-items: center; gap: 10px; min-width: 0; padding: 6px 10px; border-bottom: 1px solid var(--qh-line);
}
html body.qh-portal-og #qh-charcoal-final .lbl-hit:last-child,
html body.qh-portal-og #qh-charcoal-final .lbl-docs li:last-child { border-bottom: 0; }
html body.qh-portal-og #qh-charcoal-final .lbl-hit-text,
html body.qh-portal-og #qh-charcoal-final .lbl-docs li > span { display: grid; flex: 1 1 auto; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .lbl-hit-text b { font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final :is(.lbl-hit-text, .lbl-docs li > span) small { color: var(--qh-muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .lbl-hit-note { font-style: italic; }
html body.qh-portal-og #qh-charcoal-final .lbl-hit .ghost-btn,
html body.qh-portal-og #qh-charcoal-final .lbl-docs .ghost-btn { flex: none; }
html body.qh-portal-og #qh-charcoal-final .lbl-on { flex: none; font-size: 11px; font-weight: 800; color: var(--qh-muted); text-transform: uppercase; letter-spacing: .04em; }
html body.qh-portal-og #qh-charcoal-final .lbl-more { margin: 8px 0 0; }
html body.qh-portal-og #qh-charcoal-final .lbl-typed { margin: 10px 0 0; }
html body.qh-portal-og #qh-charcoal-final .lbl-paste { display: grid; gap: 6px; font-size: 13px; color: var(--qh-muted); }
html body.qh-portal-og #qh-charcoal-final .lbl-paste textarea {
  width: 100%; margin: 0; padding: 8px 10px; border: 1px solid var(--qh-control); border-radius: 8px;
  background: var(--qh-paper); color: var(--qh-ink); font: 14px/1.5 ui-monospace, Consolas, monospace; resize: vertical;
}
html body.qh-portal-og #qh-charcoal-final #lblPasteAdd { margin-top: 8px; }
html body.qh-portal-og #qh-charcoal-final .lbl-check { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; color: var(--qh-ink); cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .lbl-check input { width: 16px; height: 16px; margin: 0; flex: none; accent-color: var(--qh-action); }
html body.qh-portal-og #qh-charcoal-final .lbl-check small { color: var(--qh-muted); font-size: 11px; }
html body.qh-portal-og #qh-charcoal-final .lbl-perpiece { margin: 4px 0 10px; }

html body.qh-portal-og #qh-charcoal-final .lbl-list-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 10px; }
html body.qh-portal-og #qh-charcoal-final .lbl-list-head h2 { margin: 0; font-size: 16px; }
html body.qh-portal-og #qh-charcoal-final .lbl-list-head h2 small { margin-left: 6px; color: var(--qh-muted); font-size: 12px; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .lbl-list-head > span { display: flex; align-items: center; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .lbl-sort { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 12px; color: var(--qh-muted); }
html body.qh-portal-og #qh-charcoal-final .lbl-sort select { min-height: 30px; margin: 0; padding: 2px 6px; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .lbl-empty { padding: 18px 12px; text-align: center; border: 1px dashed var(--qh-line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .lbl-empty p { margin: 4px 0 0; }
html body.qh-portal-og #qh-charcoal-final .lbl-row {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 10px;
  padding: 8px 0; border-bottom: 1px solid var(--qh-line);
}
html body.qh-portal-og #qh-charcoal-final .lbl-row:last-child { border-bottom: 0; }
html body.qh-portal-og #qh-charcoal-final .lbl-row-main { display: grid; gap: 4px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .lbl-row-top { display: flex; align-items: center; gap: 8px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .lbl-row-top b { font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .lbl-bin { padding: 1px 7px; border-radius: 999px; background: var(--qh-soft); color: var(--qh-muted); font-size: 11px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final input.lbl-desc {
  width: 100%; min-height: 32px; margin: 0; padding: 4px 8px; border: 1px solid transparent; border-radius: 6px;
  background: var(--qh-soft); color: var(--qh-ink); font: inherit; font-size: 13px;
}
html body.qh-portal-og #qh-charcoal-final input.lbl-desc:hover { border-color: var(--qh-line); }
html body.qh-portal-og #qh-charcoal-final input.lbl-desc:focus { border-color: var(--qh-copper); background: var(--qh-paper); outline: none; }
html body.qh-portal-og #qh-charcoal-final .lbl-copies { display: inline-flex; align-items: center; gap: 2px; }
html body.qh-portal-og #qh-charcoal-final .lbl-copies .ghost-btn { width: 28px; min-width: 28px; height: 30px; padding: 0; font-size: 15px; justify-content: center; }
html body.qh-portal-og #qh-charcoal-final .lbl-copies input {
  width: 48px; min-height: 30px; margin: 0; padding: 2px 4px; border: 1px solid var(--qh-control); border-radius: 6px;
  background: var(--qh-paper); color: var(--qh-ink); font: inherit; font-size: 14px; text-align: center; -moz-appearance: textfield;
}
html body.qh-portal-og #qh-charcoal-final .lbl-copies input::-webkit-inner-spin-button,
html body.qh-portal-og #qh-charcoal-final .lbl-copies input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
html body.qh-portal-og #qh-charcoal-final .lbl-x { width: 30px; min-width: 30px; height: 30px; padding: 0; font-size: 18px; line-height: 1; justify-content: center; color: var(--qh-muted); }

html body.qh-portal-og #qh-charcoal-final .lbl-stock { display: grid; gap: 4px; margin: 0; font-size: 12px; font-weight: 800; color: var(--qh-muted); text-transform: uppercase; letter-spacing: .05em; }
html body.qh-portal-og #qh-charcoal-final .lbl-stock select { width: 100%; min-height: 38px; margin: 0; font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--qh-ink); }
html body.qh-portal-og #qh-charcoal-final #lblSheetNote { margin: -6px 0 0; font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final #lblSheetNote:empty { display: none; }
html body.qh-portal-og #qh-charcoal-final .lbl-start[hidden] { display: none; }
html body.qh-portal-og #qh-charcoal-final .lbl-start-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 6px; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .lbl-start-head > span { display: flex; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .lbl-start-head .ghost-btn.is-on { border-color: var(--qh-action); color: var(--qh-action); background: var(--qh-selected); }
html body.qh-portal-og #qh-charcoal-final .lbl-grid {
  display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 3px;
  max-width: 300px; margin: 0 auto; padding: 8px; border-radius: 6px; background: #fff;
  box-shadow: 0 0 0 1px var(--qh-line), 0 2px 6px rgba(28, 25, 22, .08);
}
html body.qh-portal-og #qh-charcoal-final button.lbl-cell {
  appearance: none; aspect-ratio: var(--ratio, 2.6); min-width: 0; min-height: 0; margin: 0; padding: 0;
  border: 1px solid #d8d2ca; border-radius: 3px; background: #fbfaf8; color: #8a8178;
  font: inherit; font-size: 10px; font-weight: 700; line-height: 1; cursor: pointer;
}
html body.qh-portal-og #qh-charcoal-final button.lbl-cell:hover { border-color: var(--qh-copper); color: #34312e; }
html body.qh-portal-og #qh-charcoal-final button.lbl-cell.is-fill { background: #f7e1cc; border-color: #e3b48a; color: #6b3b17; }
html body.qh-portal-og #qh-charcoal-final button.lbl-cell.is-used {
  background: repeating-linear-gradient(135deg, #ece8e2 0 4px, #f6f3ef 4px 8px); border-color: #e4dfd8; color: #b3aaa0;
}
html body.qh-portal-og #qh-charcoal-final button.lbl-cell.is-start { box-shadow: 0 0 0 2px #8d421a; }
html body.qh-portal-og #qh-charcoal-final .lbl-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; margin: 0; padding: 10px 12px; border: 1px solid var(--qh-line); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .lbl-opts legend { padding: 0 4px; font-size: 12px; font-weight: 800; color: var(--qh-muted); text-transform: uppercase; letter-spacing: .05em; }
html body.qh-portal-og #qh-charcoal-final .lbl-adjust { border: 1px solid var(--qh-line); border-radius: 8px; padding: 0 12px; }
html body.qh-portal-og #qh-charcoal-final .lbl-adjust summary { padding: 9px 0; font-size: 13px; font-weight: 700; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .lbl-adjust[open] { padding-bottom: 12px; }
html body.qh-portal-og #qh-charcoal-final .lbl-adjust p { margin: 0 0 8px; font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .lbl-offsets { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 8px; }
html body.qh-portal-og #qh-charcoal-final .lbl-offsets label,
html body.qh-portal-og #qh-charcoal-final .lbl-dpi { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .lbl-offsets input { width: 74px; min-height: 32px; margin: 0; padding: 2px 6px; text-align: right; }
html body.qh-portal-og #qh-charcoal-final .lbl-dpi[hidden] { display: none; }
html body.qh-portal-og #qh-charcoal-final .lbl-dpi select { min-height: 32px; margin: 0; }
html body.qh-portal-og #qh-charcoal-final .lbl-test { display: flex; flex-wrap: wrap; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .lbl-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .lbl-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 42px; width: 100%; margin: 0; font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .lbl-actions .ops-ic { width: 17px; height: 17px; }
html body.qh-portal-og #qh-charcoal-final .lbl-actions button:disabled { opacity: .5; cursor: not-allowed; }
html body.qh-portal-og #qh-charcoal-final .lbl-after { margin: 0; padding: 8px 10px; border-radius: 8px; background: var(--qh-selected); font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .lbl-warn { margin: 0 0 6px; padding: 8px 10px; border-left: 3px solid #c9822f; border-radius: 6px; background: #fbefdc; color: #5b3b12; font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .lbl-preview { display: grid; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .lbl-preview.is-empty { padding: 18px 10px; text-align: center; border: 1px dashed var(--qh-line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .lbl-pager { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 13px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .lbl-pager .ghost-btn { width: 32px; min-width: 32px; justify-content: center; font-size: 16px; }
html body.qh-portal-og #qh-charcoal-final .lbl-paper { background: #fff; border-radius: 2px; box-shadow: 0 0 0 1px rgba(28, 25, 22, .12), 0 6px 18px -8px rgba(28, 25, 22, .35); }
html body.qh-portal-og #qh-charcoal-final .lbl-preview.is-roll .lbl-paper { max-width: 320px; margin: 0 auto; }
html body.qh-portal-og #qh-charcoal-final .lbl-paper svg { display: block; width: 100%; height: auto; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .lbl-warn { background: #3f3522; color: #ffdf91; border-left-color: #ffdf91; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .lbl-card { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04); }
@media (max-width: 1100px) {
  html body.qh-portal-og #qh-charcoal-final .lbl-page { grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); }
}
@media (max-width: 860px) {
  html body.qh-portal-og #qh-charcoal-final .lbl-page { grid-template-columns: 1fr; }
  html body.qh-portal-og #qh-charcoal-final .lbl-right { position: static; max-height: none; overflow: visible; }
  html body.qh-portal-og #qh-charcoal-final .lbl-card { padding: 12px; }
  html body.qh-portal-og #qh-charcoal-final .lbl-tabs button { flex: 1 1 30%; padding: 6px 8px; font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final .lbl-row { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "pic main x" "pic copies copies"; row-gap: 6px; }
  html body.qh-portal-og #qh-charcoal-final .lbl-row > :first-child { grid-area: pic; align-self: start; }
  html body.qh-portal-og #qh-charcoal-final .lbl-row-main { grid-area: main; }
  html body.qh-portal-og #qh-charcoal-final .lbl-copies { grid-area: copies; justify-self: start; }
  html body.qh-portal-og #qh-charcoal-final .lbl-x { grid-area: x; align-self: start; }
  html body.qh-portal-og #qh-charcoal-final .lbl-copies .ghost-btn,
  html body.qh-portal-og #qh-charcoal-final .lbl-x { width: 40px; min-width: 40px; height: 40px; }
  html body.qh-portal-og #qh-charcoal-final .lbl-copies input { min-height: 40px; width: 56px; }
  html body.qh-portal-og #qh-charcoal-final .lbl-hits { max-height: 360px; }
}

/* ---- Settings ---- */
html body.qh-portal-og #qh-charcoal-final .set-lede { max-width: 860px; margin: 0 0 14px; }
html body.qh-portal-og #qh-charcoal-final .set-sync { display: inline-block; margin-left: 4px; font-weight: 700; color: var(--qh-muted); }
html body.qh-portal-og #qh-charcoal-final .set-sync[data-state="synced"]::before { content: "\2713  "; color: #2e6548; }
html body.qh-portal-og #qh-charcoal-final .set-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); gap: 16px; align-items: start; }
html body.qh-portal-og #qh-charcoal-final .set-card {
  padding: 6px 16px 12px; border: 1px solid var(--qh-line); border-radius: 12px; background: var(--qh-paper);
  box-shadow: 0 1px 2px rgba(28, 25, 22, .05);
}
html body.qh-portal-og #qh-charcoal-final .set-card h2 { margin: 10px 0 2px; font-size: 13px; font-weight: 800; color: var(--qh-muted); text-transform: uppercase; letter-spacing: .06em; }
html body.qh-portal-og #qh-charcoal-final .set-row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px;
  padding: 8px 0; border-bottom: 1px solid var(--qh-line);
}
html body.qh-portal-og #qh-charcoal-final .set-card .set-row:last-of-type { border-bottom: 0; }
html body.qh-portal-og #qh-charcoal-final .set-label { display: grid; gap: 2px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .set-label b { font-size: 14px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .set-label small { color: var(--qh-muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .set-seg { display: inline-flex; flex: none; padding: 3px; border-radius: 9px; background: var(--qh-soft); }
html body.qh-portal-og #qh-charcoal-final .set-seg button {
  appearance: none; min-height: 30px; margin: 0; padding: 4px 12px; border: 0; border-radius: 7px;
  background: transparent; color: var(--qh-muted); font: inherit; font-size: 13px; font-weight: 700; white-space: nowrap; cursor: pointer;
}
html body.qh-portal-og #qh-charcoal-final .set-seg button:hover { color: var(--qh-ink); }
html body.qh-portal-og #qh-charcoal-final .set-seg button.is-on { color: var(--qh-ink); background: var(--qh-paper); box-shadow: 0 1px 3px rgba(28, 25, 22, .14); }
html body.qh-portal-og #qh-charcoal-final .set-select { flex: none; max-width: 230px; min-height: 36px; margin: 0; font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .set-num { display: inline-flex; align-items: center; gap: 6px; flex: none; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .set-num input { width: 72px; min-height: 34px; margin: 0; padding: 2px 8px; text-align: right; }
html body.qh-portal-og #qh-charcoal-final .set-value { flex: none; max-width: 55%; font-size: 13px; font-weight: 700; text-align: right; overflow-wrap: anywhere; }
html body.qh-portal-og #qh-charcoal-final .set-link { margin: 10px 0 0; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .set-link + .set-link { margin-top: 6px; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .set-row { flex-wrap: wrap; }
  html body.qh-portal-og #qh-charcoal-final .set-seg button { min-height: 38px; }
  html body.qh-portal-og #qh-charcoal-final .set-select { max-width: 100%; }
}

/* ---- Help and guides ---- */
html body.qh-portal-og #qh-charcoal-final .help-lede { max-width: 860px; margin: 0 0 12px; }
html body.qh-portal-og #qh-charcoal-final .help-q {
  display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%;
  background: var(--qh-header); color: #fff; font-size: 12px; font-weight: 800; vertical-align: 1px;
}
html body.qh-portal-og #qh-charcoal-final .help-find { max-width: 520px; margin: 0 0 18px; }
html body.qh-portal-og #qh-charcoal-final .help-find input {
  width: 100%; min-height: 42px; margin: 0; padding: 8px 12px; border: 1px solid var(--qh-control); border-radius: 8px;
  background: var(--qh-paper); color: var(--qh-ink); font: inherit; font-size: 15px;
}
html body.qh-portal-og #qh-charcoal-final .help-group { margin: 0 0 24px; }
html body.qh-portal-og #qh-charcoal-final .help-group[hidden] { display: none; }
html body.qh-portal-og #qh-charcoal-final .help-group h2 { margin: 0 0 2px; font-size: 18px; }
html body.qh-portal-og #qh-charcoal-final .help-group > .also { margin: 0 0 10px; }
html body.qh-portal-og #qh-charcoal-final .help-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 10px; }
html body.qh-portal-og #qh-charcoal-final .help-card {
  display: grid; grid-template-rows: 1fr auto; min-width: 0; border: 1px solid var(--qh-line); border-radius: 12px;
  background: var(--qh-paper); box-shadow: 0 1px 2px rgba(28, 25, 22, .05); transition: border-color .15s ease, box-shadow .15s ease;
}
html body.qh-portal-og #qh-charcoal-final .help-card[hidden] { display: none; }
html body.qh-portal-og #qh-charcoal-final .help-card:hover { border-color: var(--qh-copper); box-shadow: 0 8px 20px -12px rgba(28, 25, 22, .3); }
html body.qh-portal-og #qh-charcoal-final .help-card-main { display: grid; gap: 4px; padding: 12px 14px 8px; color: var(--qh-ink); text-decoration: none; }
html body.qh-portal-og #qh-charcoal-final .help-card-main b { font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .help-card-main small { color: var(--qh-muted); font-size: 13px; line-height: 1.4; }
html body.qh-portal-og #qh-charcoal-final .help-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 14px 12px; }
html body.qh-portal-og #qh-charcoal-final .help-meta { display: flex; flex-wrap: wrap; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .help-pill { padding: 1px 8px; border-radius: 999px; background: var(--qh-soft); color: var(--qh-muted); font-size: 11px; font-weight: 800; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .help-pill.is-done { background: #e6f1e8; color: #2e6548; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .help-pill.is-done { background: #263c2d; color: #b9dec2; }
html body.qh-portal-og #qh-charcoal-final .help-pill:empty { display: none; }
html body.qh-portal-og #qh-charcoal-final .help-plan-row { margin: 0 0 6px; padding: 0 14px; border: 1px solid var(--qh-line); border-radius: 10px; background: var(--qh-paper); }
html body.qh-portal-og #qh-charcoal-final .help-plan-row summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 0; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .help-plan-row[open] { padding-bottom: 10px; }
html body.qh-portal-og #qh-charcoal-final .help-plan-row p { margin: 0 0 6px; }
html body.qh-portal-og #qh-charcoal-final .help-beats { margin: 0 0 6px; padding-left: 20px; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .help-beats li { margin: 2px 0; }
html body.qh-portal-og #qh-charcoal-final .help-topic { max-width: 780px; }
html body.qh-portal-og #qh-charcoal-final .help-topic h2 { margin: 22px 0 8px; font-size: 17px; }
html body.qh-portal-og #qh-charcoal-final .help-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 12px 0; }
html body.qh-portal-og #qh-charcoal-final .help-steps { margin: 0; padding: 0; list-style: none; counter-reset: help-step; }
html body.qh-portal-og #qh-charcoal-final .help-steps li { position: relative; margin: 0 0 10px; padding: 2px 0 0 38px; line-height: 1.5; counter-increment: help-step; }
html body.qh-portal-og #qh-charcoal-final .help-steps li::before {
  content: counter(help-step); position: absolute; left: 0; top: 0; display: grid; place-items: center;
  width: 26px; height: 26px; border-radius: 50%; background: var(--qh-selected); color: var(--qh-action); font-size: 13px; font-weight: 800;
}
html body.qh-portal-og #qh-charcoal-final .help-tips { margin: 0; padding-left: 20px; line-height: 1.5; }
html body.qh-portal-og #qh-charcoal-final .help-tips li { margin: 0 0 6px; }
html body.qh-portal-og #qh-charcoal-final .help-related { display: flex; flex-wrap: wrap; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .help-video { margin: 14px 0; }
html body.qh-portal-og #qh-charcoal-final .help-video video { display: block; width: 100%; max-height: 70vh; border-radius: 10px; background: #000; }
html body.qh-portal-og #qh-charcoal-final .help-video-plan { margin: 12px 0; padding: 10px 12px; border: 1px dashed var(--qh-line); border-radius: 10px; color: var(--qh-muted); font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .help-sheet { display: grid; gap: 0; }
html body.qh-portal-og #qh-charcoal-final .help-sheet-row,
html body.qh-portal-og .addon-card .help-sheet-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--qh-line); }
html body.qh-portal-og .addon-card .help-sheet-text { display: grid; gap: 2px; min-width: 0; }
html body.qh-portal-og .addon-card .help-sheet-text small { color: var(--qh-muted); font-size: 12px; }
html body.qh-portal-og .addon-card .help-sheet-acts { display: flex; flex: none; gap: 6px; }

/* ---- Guided tour ---- */
.qh-tour { position: fixed; inset: 0; z-index: 9000; pointer-events: none; }
.qh-tour-hole {
  position: absolute; border-radius: 8px; box-shadow: 0 0 0 200vmax rgba(12, 14, 18, .5); outline: 2px solid var(--qh-copper, #e89959);
  transition: left .22s cubic-bezier(.2, .8, .2, 1), top .22s cubic-bezier(.2, .8, .2, 1), width .22s cubic-bezier(.2, .8, .2, 1), height .22s cubic-bezier(.2, .8, .2, 1);
}
.qh-tour.is-center { background: rgba(12, 14, 18, .5); }
.qh-tour.is-center .qh-tour-hole { display: none; }
.qh-tour-card {
  position: absolute; width: min(340px, calc(100vw - 16px)); padding: 14px 16px 12px; pointer-events: auto;
  border: 1px solid var(--qh-line, #ded8d0); border-radius: 12px; background: var(--qh-paper, #fffefa); color: var(--qh-ink, #34312e);
  box-shadow: 0 18px 40px -12px rgba(0, 0, 0, .45); font: 14px/1.45 var(--qh-font, Inter, Arial, sans-serif);
}
.qh-tour.is-center .qh-tour-card { left: 50%; top: 50%; transform: translate(-50%, -50%); }
.qh-tour-count { margin: 0 0 4px; color: var(--qh-muted, #665f58); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.qh-tour-card h3 { margin: 0 0 4px; font-size: 16px; }
.qh-tour-text { margin: 0; }
.qh-tour-miss { margin: 8px 0 0; padding: 6px 8px; border-radius: 6px; background: var(--qh-soft, #f3f0ea); color: var(--qh-muted, #665f58); font-size: 12px; }
.qh-tour-acts { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 12px 0 0; }
.qh-tour-acts > span { display: flex; gap: 6px; }
.qh-tour-acts button { min-height: 34px; }
@media (max-width: 680px) {
  .qh-tour-card { width: calc(100vw - 16px); }
  .qh-tour-acts button { min-height: 42px; padding-left: 14px; padding-right: 14px; }
}
@media print { .qh-tour { display: none !important; } }

/* Spending graph on the account picture (Order history): Day to Year with Compare with. */
html body.qh-portal-og #qh-charcoal-final .acct-spend .rpt-graph-head h3 { margin: 0 auto 0 0; }
html body.qh-portal-og #qh-charcoal-final .acct-spend .ops-seg { min-height: 30px; }
html body.qh-portal-og #qh-charcoal-final .acct-spend .ops-seg-btn.is-on { background: var(--qh-action, #8d421a); color: #fffefa; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .acct-spend .ops-seg-btn.is-on { background: #f0b27a; color: #2a1406; }
html body.qh-portal-og #qh-charcoal-final .acct-spend .ops-seg-btn:disabled { opacity: .45; cursor: not-allowed; }
html body.qh-portal-og #qh-charcoal-final .acct-spend .spend-reach { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 2px 0 0; font-size: 12.5px; color: var(--qh-muted, #6b6f76); }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .acct-spend .rpt-graph-head h3 { flex-basis: 100%; }
  html body.qh-portal-og #qh-charcoal-final .acct-spend .rpt-graph-head .ops-seg { display: flex; flex: 1 1 100%; width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .acct-spend .rpt-graph-head .ops-seg .ops-seg-btn { flex: 1 1 0; min-width: 0; min-height: 40px; padding-inline: 4px; }
  html body.qh-portal-og #qh-charcoal-final .acct-spend .sales-overlays .ops-seg .ops-seg-btn { min-height: 40px; }
}

/* 926-desk1: phone header keeps Help, two-row bottom bar, tour blur, shop-board month. */
@media (max-width: 860px) {
  html body.qh-portal-og #qh-charcoal-final .cc-header {
    grid-template-columns: auto 32px 32px minmax(0, 1fr) auto 34px 36px !important;
    column-gap: 4px !important;
  }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-admin-link,
  html body.qh-portal-og #qh-charcoal-final .cc-header .mark-tag { display: none !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .cc-logo { grid-column: 1 !important; grid-row: 1 !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .cc-logo img,
  html body.qh-portal-og #qh-charcoal-final .cc-header .mark-logo img { height: 38px !important; width: auto !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .theme-switch {
    grid-column: 2 !important; grid-row: 1 !important;
    width: 32px !important; min-width: 32px !important; height: 34px !important; min-height: 34px !important;
  }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-help {
    display: inline-flex !important;
    grid-column: 3 !important; grid-row: 1 !important;
    margin: 0 !important; width: 32px !important; min-width: 32px !important; height: 34px !important; min-height: 34px !important;
  }
  html body.qh-portal-og #qh-charcoal-final .cc-header .cc-customer {
    grid-column: 4 !important; grid-row: 1 !important; margin-right: 0 !important;
  }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-sign-out {
    display: inline-flex !important; grid-column: 5 !important; grid-row: 1 !important;
    align-items: center; justify-content: center; min-width: 0; min-height: 32px !important;
    padding: 4px 8px !important; font-size: 12px !important; white-space: nowrap;
  }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-sign-out .who-kicker,
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-sign-out b { display: none !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-sign-out:has(b)::after { content: "Out"; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-search-toggle {
    grid-column: 6 !important; grid-row: 1 !important; width: 34px !important; min-width: 34px !important;
  }
  html body.qh-portal-og #qh-charcoal-final .cc-header .cc-order-toggle {
    grid-column: 7 !important; grid-row: 1 !important; width: 36px !important;
  }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-find {
    grid-column: 4 !important; justify-self: end !important;
    width: 28px !important; min-width: 28px !important; margin: 0 !important;
    position: relative; z-index: 1;
  }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-find span { display: none !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-header:has(.header-find) .cc-customer { padding-right: 30px !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(40px, auto);
    row-gap: 0;
  }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > a,
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > button {
    min-height: 40px !important;
    padding: 3px 1px 2px !important;
    font-size: 10px !important;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    gap: 1px !important;
  }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav .bottom-nav-ic { width: 16px !important; height: 16px !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > [data-bottom="customer"] { grid-column: 1; grid-row: 1; }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > [data-bottom="catalog"] { grid-column: 2; grid-row: 1; }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > [data-bottom="specials"] { grid-column: 3; grid-row: 1; }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > [data-bottom="delivery"] { grid-column: 4; grid-row: 1; }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > [data-bottom="resources"] { grid-column: 5; grid-row: 1; display: flex !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > [data-bottom="labels"] { grid-column: 1; grid-row: 2; display: flex !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > [data-bottom="help"] { grid-column: 2; grid-row: 2; display: flex !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > [data-bottom="settings"] { grid-column: 3; grid-row: 2; display: flex !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > [data-bottom="account"] { grid-column: 4; grid-row: 2; display: flex !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > [data-bottom="more"] { grid-column: 5; grid-row: 2; }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > [data-bottom="admin"] { display: none !important; }
  html body.qh-portal-og[data-role="customer"] #qh-charcoal-final .cc-bottom-nav > [data-bottom="resources"] { grid-column: 4; }
  html body.qh-portal-og[data-role="customer"] #qh-charcoal-final .cc-bottom-nav > [data-bottom="account"] { grid-column: 5; grid-row: 1; }
  html body.qh-portal-og[data-guest="1"] #qh-charcoal-final .cc-bottom-nav > :is([data-bottom="resources"], [data-bottom="delivery"], [data-bottom="labels"], [data-bottom="help"], [data-bottom="settings"], [data-bottom="account"], [data-bottom="admin"], [data-bottom="order-entry"], [data-bottom="find"], [data-bottom="more"]) { display: none !important; }
  html body.qh-portal-og[data-guest="1"] #qh-charcoal-final .cc-nav > :is([data-tab="resources"], [data-tab="delivery"], [data-tab="admin"], [data-tab="order-entry"]) { display: none !important; }
  html body.qh-portal-og[data-guest="1"] #qh-charcoal-final .cc-bottom-nav > [data-bottom="contact"] { grid-column: 4; grid-row: 1; display: flex !important; }
  html body.qh-portal-og[data-guest="1"] #qh-charcoal-final .cc-bottom-nav > [data-bottom="ordering"] { grid-column: 5; grid-row: 1; display: flex !important; }
  html body.qh-portal-og[data-guest="1"] #qh-charcoal-final .cc-nav > .nav-public { display: inline-flex !important; }
  body { padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)); }
  .hose-nav-row { bottom: calc(92px + env(safe-area-inset-bottom, 0px)); }
  html body.qh-portal-og #qh-charcoal-final .more-sheet:not(.hidden),
  .more-sheet:not(.hidden) { bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important; }
  html body #qhToasts { bottom: calc(100px + env(safe-area-inset-bottom, 0px)); }
}

html body.qh-portal-og #qh-charcoal-final .help-sheet-kicker {
  margin: 12px 0 0; color: var(--qh-muted, #665f58); font-size: 11px; font-weight: 800;
  letter-spacing: .05em; text-transform: uppercase;
}
html body.qh-portal-og #qh-charcoal-final .res-finder-icon {
  border: 1px solid color-mix(in srgb, var(--orange) 42%, #8a7560);
  background: linear-gradient(180deg, color-mix(in srgb, var(--orange) 28%, #fff) 0%, color-mix(in srgb, var(--orange) 8%, #f4efe8) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55), 0 1px 0 rgba(40, 28, 16, .08);
}
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .res-finder-icon {
  border-color: color-mix(in srgb, var(--orange) 55%, #3a2e24);
  background: linear-gradient(180deg, color-mix(in srgb, var(--orange) 28%, #2a241e), color-mix(in srgb, var(--orange) 8%, #1c1916));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

.qh-tour-shade {
  position: absolute; pointer-events: none;
  background: rgba(12, 14, 18, .18);
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
}
.qh-tour-hole { box-shadow: none; outline: 2px solid var(--qh-copper, #e89959); }
.qh-tour.is-center .qh-tour-shade { display: none; }

html body.qh-portal-og #qh-charcoal-final .qh-board .sb-mhead span:first-child,
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-mhead span:last-child { color: color-mix(in srgb, var(--muted) 80%, var(--ink)); }
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-mday.is-weekend {
  background: color-mix(in srgb, var(--qh-soft, #f3f0ea) 70%, var(--paper));
}
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-mday.is-today {
  background: color-mix(in srgb, var(--qh-action, var(--orange)) 12%, var(--paper));
  border-color: var(--qh-action, var(--orange));
  box-shadow: inset 0 0 0 1px var(--qh-action, var(--orange));
}
html body.qh-portal-og #qh-charcoal-final .qh-board .sb-mday.is-today .sb-mnum { color: var(--qh-action, var(--orange)); }

/* 926-night1: fitting finder, crimp header, shop health, ask sheet, ops bar. */
@media (max-width: 860px) {
  html body.qh-portal-og .fx-page .finder-toolbar {
    background: transparent;
    border: 0;
    padding: 0;
    margin-bottom: 8px;
  }
}
@media (max-width: 680px) {
  html body.qh-portal-og .fx-page .shape-grid {
    grid-auto-flow: row;
    grid-template-columns: repeat(auto-fill, minmax(76px, 1fr));
    grid-auto-columns: auto;
    overflow: visible;
  }
  html body.qh-portal-og .fx-page .shape-btn :is(.shape-photo, .photo-frame),
  html body.qh-portal-og .fx-page .shape-btn :is(.shape-photo, .photo-frame) img { height: 48px; max-height: 48px; }
  html body.qh-portal-og #qh-charcoal-final .fx-page .fx-field select,
  html body.qh-portal-og #qh-charcoal-final .fx-page .family-pick select {
    height: 34px !important;
    min-height: 0 !important;
    padding: 2px 8px !important;
    font-size: 16px !important;
  }
  html body.qh-portal-og #qh-charcoal-final .ops-phone-menu summary {
    min-height: 42px;
    border-color: #8d421a;
    background: linear-gradient(180deg, #e07a32 0%, #b4531a 100%);
    color: #fffefa;
    box-shadow: 0 8px 18px rgba(180, 83, 26, .38);
  }
  html body.qh-portal-og #qh-charcoal-final .ops-phone-menu summary .ops-nav-ic {
    width: 28px;
    height: 28px;
    padding: 5px;
    border-radius: 8px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, .22);
    color: #fffefa;
  }
  html body.qh-portal-og #qh-charcoal-final .ops-phone-menu .ops-phone-now small {
    color: #fff6ee;
    opacity: 1;
    letter-spacing: .08em;
  }
  html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .ops-phone-menu summary {
    background: linear-gradient(180deg, #f6b56a 0%, #e08a3a 100%);
    border-color: #f8d7a8;
    color: #2a1406;
    box-shadow: 0 0 0 1px rgba(246, 181, 106, .45), 0 8px 20px rgba(224, 138, 58, .35);
  }
  html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .ops-phone-menu summary .ops-nav-ic {
    background: rgba(42, 20, 6, .14);
    color: #2a1406;
  }
  html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .ops-phone-menu .ops-phone-now small { color: #3d2412; }
}
html body.qh-portal-og #qh-charcoal-final .finder-page .item-ic,
html body.qh-portal-og #qh-charcoal-final .finder-page .item-ic img { width: 72px; height: 72px; object-fit: contain; }
@media (max-width: 1099px) {
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy { grid-template-columns: 64px minmax(0, 1fr); }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-copy .item-ic { width: 64px !important; height: 64px !important; min-width: 64px !important; max-width: 64px !important; }
  html body.qh-portal-og #qh-charcoal-final .finder-page table.adapter-results .part-copy .item-ic img { width: 64px; height: 64px; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-history-btn {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 28px !important;
    padding: 2px 6px !important;
    overflow: visible !important;
    font-size: 11px !important;
  }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-history-btn::before { content: none !important; display: none !important; }
}
@media (min-width: 1100px) {
  html body.qh-portal-og #qh-charcoal-final .finder-page table.adapter-results .part-with-ic .item-ic { width: 72px; height: 72px; min-width: 72px; max-width: 72px; flex: 0 0 72px; }
}
html body.qh-portal-og .part-history-btn::after { content: " ▾"; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-desc,
html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-spec { display: block; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-sub.has-desc > .part-spec {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
html body.qh-portal-og #qh-charcoal-final .hist-section { border-radius: 10px; overflow: hidden; }
html body.qh-portal-og #qh-charcoal-final .hist-section > summary.hist-section-head {
  background: color-mix(in srgb, var(--wash, #f6f3ee) 88%, var(--paper, #fff));
}
html body.qh-portal-og #qh-charcoal-final .hist-section-head::after {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid var(--line, #d9d1c7);
  background: var(--paper, #fff) center / 14px 14px no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23665f58' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E");
}
html body.qh-portal-og #qh-charcoal-final .hist-section[open] > summary.hist-section-head::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23665f58' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
html body.qh-portal-og #qh-charcoal-final .crimp-page .ff-sheet.crimp-sheet { overflow: visible; }
html body.qh-portal-og #qh-charcoal-final .crimp-table { border-collapse: separate; border-spacing: 0; }
html body.qh-portal-og #qh-charcoal-final .crimp-table thead th {
  position: sticky;
  top: var(--qh-sticky-top, 72px);
  z-index: 4;
  background: var(--paper, #fffefa);
}
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd thead { display: none; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd,
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd tbody { display: block; width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd tr {
    display: grid; grid-template-columns: 3.4rem minmax(0, 1fr); column-gap: 8px; row-gap: 0;
    padding: 4px 8px; border-top: 1px solid var(--line, #d9d1c7);
  }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd tr:first-child { border-top: 0; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd td { display: block; min-width: 0; padding: 0; border-top: 0; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd td.crimp-size { grid-column: 1; grid-row: 1; align-self: start; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd td.crimp-size small { font-size: 11px; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd td.crimp-od { grid-column: 2; white-space: normal; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd td.crimp-od span { display: inline; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd td.crimp-od span + span::before { content: " · "; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd td[data-label] {
    grid-column: 2; display: flex; flex-wrap: wrap; gap: 0 6px; align-items: baseline;
  }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd td[data-label]::before {
    content: attr(data-label); color: var(--muted); font-size: 11px; font-weight: 700;
  }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd .crimp-setup { display: inline; white-space: normal; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd .crimp-setup + .crimp-setup::before { content: " · "; }
  html body.qh-portal-og #qh-charcoal-final .ic-od-opts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
  html body.qh-portal-og #qh-charcoal-final .ic-od-opts .crimp-opt { min-height: 0; padding: 4px 6px; }
  html body.qh-portal-og #qh-charcoal-final .ic-od-opts .crimp-opt small { -webkit-line-clamp: 1; }
  html body.qh-portal-og #qh-charcoal-final .ic-result { gap: 8px; padding: 8px; flex-wrap: nowrap; align-items: flex-start; }
  html body.qh-portal-og #qh-charcoal-final .ic-pic.is-big { flex: 0 0 72px; width: 72px; height: 72px; }
  html body.qh-portal-og #qh-charcoal-final .ic-crimp { margin: 0; }
  html body.qh-portal-og #qh-charcoal-final .ic-spec { margin: 2px 0 0; }
}
html body.qh-portal-og #qh-charcoal-final .crimp-now { margin: 8px 0 6px; font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .asm-desc { color: var(--ink, inherit); }
html body.qh-portal-og #qh-charcoal-final .asm-shop { margin: 4px 0 0 0.6rem; }
html body.qh-portal-og #qh-charcoal-final .asm-shop summary { cursor: pointer; font-size: 12px; font-weight: 700; color: var(--muted); }
.ask-sheet { position: fixed; inset: 0; z-index: 80; display: grid; place-items: start center; padding: 72px 12px 24px; background: rgba(20, 16, 12, .35); }
.ask-sheet.hidden { display: none; }
.ask-card { width: min(560px, 100%); padding: 14px 14px 16px; border-radius: 12px; background: var(--paper, #fffefa); color: var(--ink, #241c16); border: 1px solid var(--line, #e4ddd4); box-shadow: 0 16px 40px rgba(0, 0, 0, .18); }
.ask-head, #askForm { display: flex; align-items: center; gap: 8px; }
.ask-head { justify-content: space-between; margin-bottom: 6px; }
.ask-note, .ask-who, .ask-web, .ask-kicker { margin: 0 0 8px; font-size: 13px; color: var(--muted, #665f58); }
#askForm { margin: 0 0 10px; }
#askInput { flex: 1; min-width: 0; height: 36px; padding: 0 10px; border: 1px solid var(--line, #d9d1c7); border-radius: 8px; background: var(--paper, #fff); color: inherit; font: inherit; }
.ask-answer ul { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 6px; }
.ask-prices li, .ask-parts li, .ask-web-list li, .ask-terms li { display: grid; gap: 2px; padding: 6px 0; border-bottom: 1px solid var(--line, #eee); }
.ask-prices small, .ask-web-list small, .ask-terms small { color: var(--muted, #665f58); }
html body.qh-portal-og #qh-charcoal-final .health-page .health-sec { margin: 0 0 14px; }
html body.qh-portal-og #qh-charcoal-final .health-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .health-list li { padding: 6px 8px; border-radius: 8px; background: var(--wash, #f6f3ee); }
html body.qh-portal-og #qh-charcoal-final .health-list li.is-ok { box-shadow: inset 3px 0 0 #2e7d4f; }
html body.qh-portal-og #qh-charcoal-final .health-list li.is-bad { box-shadow: inset 3px 0 0 #a33b32; }

/* 926: Koble traffic on Shop health. */
html body.qh-portal-og #qh-charcoal-final .ht-bars { display: flex; align-items: flex-end; gap: 2px; height: 72px; margin: 8px 0 24px; border-bottom: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .ht-bar { position: relative; display: flex; flex: 1 1 0; align-items: flex-end; min-width: 0; height: 100%; }
html body.qh-portal-og #qh-charcoal-final .ht-bar i { display: block; width: 100%; min-height: 1px; border-radius: 2px 2px 0 0; background: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .ht-bar b { position: absolute; top: 100%; left: 0; margin-top: 4px; color: var(--muted); font-size: 11px; font-weight: 600; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .ht-table td small { display: block; color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .ht-table td small.ht-retry { display: inline; margin-left: 4px; font-weight: 400; }
html body.qh-portal-og #qh-charcoal-final .ht-table td.is-bad { color: #a33b32; font-weight: 700; }

/* 926: Scan page. The guide box marks the middle of the picture, where ZXing reads. */
html body.qh-portal-og #qh-charcoal-final .scan-page { max-width: 760px; }
html body.qh-portal-og #qh-charcoal-final .scan-cam { position: relative; overflow: hidden; max-height: 56vh; margin: 0 0 10px; border-radius: 10px; background: #000; aspect-ratio: 4 / 3; }
html body.qh-portal-og #qh-charcoal-final .scan-cam[hidden] { display: none; }
html body.qh-portal-og #qh-charcoal-final .scan-cam video { display: block; width: 100%; height: 100%; object-fit: cover; }
html body.qh-portal-og #qh-charcoal-final .scan-aim { position: absolute; top: 20%; right: 7%; bottom: 20%; left: 7%; border: 2px solid rgba(255, 255, 255, .9); border-radius: 8px; box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .28); pointer-events: none; }
html body.qh-portal-og #qh-charcoal-final .scan-cam:has(video.is-scan-hold) .scan-aim,
html body .pick-scan-cam:has(video.is-scan-hold) { box-shadow: inset 0 0 0 3px #f36c21; }
html body .pick-scan-cam:has(video.is-scan-hold),
html body .qh-cam-view:has(video.is-scan-hold) .qh-cam-aim { border-color: #f36c21; }
html body.qh-portal-og #qh-charcoal-final .scan-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 8px; }
html body.qh-portal-og #qh-charcoal-final .scan-bar button { display: inline-flex; align-items: center; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .scan-bar .ops-ic { width: 18px; height: 18px; }
html body.qh-portal-og #qh-charcoal-final .scan-bar [data-scan-torch].is-on { border-color: var(--qh-action, #8d421a); color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .scan-auto { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 13.5px; }
html body.qh-portal-og #qh-charcoal-final .scan-msg { min-height: 1.2em; margin: 0 0 8px; color: var(--muted); font-size: 13.5px; }
html body.qh-portal-og #qh-charcoal-final .scan-msg.is-bad { color: #a33b32; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .scan-form { display: flex; gap: 8px; margin: 0 0 14px; }
html body.qh-portal-og #qh-charcoal-final .scan-in { display: flex; flex: 1 1 auto; align-items: center; gap: 8px; min-width: 0; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper, #fff); }
html body.qh-portal-og #qh-charcoal-final .scan-in:focus-within { border-color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .scan-in svg { flex: 0 0 auto; width: 20px; height: 20px; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .scan-in input { flex: 1 1 auto; min-width: 0; height: 42px; min-height: 0; padding: 0; border: 0; outline: 0; box-shadow: none; background: transparent; color: inherit; font: inherit; font-size: 16px; }
html body.qh-portal-og #qh-charcoal-final .scan-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .scan-entry { padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper, #fffefa); }
html body.qh-portal-og #qh-charcoal-final .scan-read { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 10px; margin: 0 0 6px; }
html body.qh-portal-og #qh-charcoal-final .scan-read code { font: 700 14px/1.3 ui-monospace, SFMono-Regular, Consolas, monospace; word-break: break-all; }
html body.qh-portal-og #qh-charcoal-final .scan-read small { color: var(--muted); font-size: 12px; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .scan-facts { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 6px; }
html body.qh-portal-og #qh-charcoal-final .scan-facts span { padding: 1px 6px; border: 1px solid var(--line); border-radius: 4px; font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .scan-hits { display: grid; gap: 6px; margin: 0 0 8px; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .scan-hit { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 10px; width: 100%; padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper, #fff); color: inherit; font: inherit; text-align: left; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .scan-hit:hover { border-color: color-mix(in srgb, var(--qh-action, #8d421a) 45%, var(--line)); }
html body.qh-portal-og #qh-charcoal-final .scan-hit.is-sure { border-color: var(--qh-action, #8d421a); box-shadow: inset 3px 0 0 var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .scan-hit img,
html body.qh-portal-og #qh-charcoal-final .scan-hit-ph { width: 48px; height: 48px; border-radius: 6px; background: var(--wash, #f4f1ea); object-fit: contain; }
html body.qh-portal-og #qh-charcoal-final .scan-hit-tx { display: grid; gap: 1px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .scan-hit-tx b { font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .scan-hit-tx span { overflow: hidden; font-size: 13.5px; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .scan-hit-tx small { color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .scan-doc { margin: 0 0 6px; }
html body.qh-portal-og #qh-charcoal-final .scan-none { margin: 0 0 6px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .scan-acts { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 0; }
html body.qh-portal-og #qh-charcoal-final .scan-link { display: grid; gap: 8px; margin: 10px 0 0; padding: 10px; border: 1px dashed var(--line); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .scan-link p { margin: 0; }
html body.qh-portal-og #qh-charcoal-final .scan-link-f { display: grid; gap: 3px; color: var(--muted); font-size: 12.5px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .scan-link-f input,
html body.qh-portal-og #qh-charcoal-final .scan-link-f select { min-height: 38px; color: var(--ink, inherit); font-size: 16px; font-weight: 400; }
html body.qh-portal-og #qh-charcoal-final .scan-link-rows { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .scan-link-pick { display: grid; gap: 1px; width: 100%; padding: 6px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper, #fff); color: inherit; font: inherit; text-align: left; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .scan-link-pick small { color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .scan-link .ghost-btn { justify-self: start; }
html body.qh-portal-og #qh-charcoal-final .scan-clear { margin: 10px 0 0; }
html body.qh-portal-og #qhFind .qh-find-top { display: flex; align-items: stretch; border-bottom: 1px solid var(--qh-line, #ddd); }
html body.qh-portal-og #qhFind .qh-find-top .qh-find-in { flex: 1 1 auto; min-width: 0; border-bottom: 0; }
html body.qh-portal-og #qhFind .qh-find-scan { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; padding: 0 14px; border-left: 1px solid var(--qh-line, #ddd); color: var(--qh-action, #8d421a); font-size: 14px; font-weight: 800; text-decoration: none; }
html body.qh-portal-og #qhFind .qh-find-scan svg { width: 20px; height: 20px; }
html body.qh-portal-og #qhFind .qh-find-scan:hover { background: color-mix(in srgb, var(--qh-action, #8d421a) 8%, transparent); }
html body.qh-portal-og #qhFind button.qh-find-scan { margin: 0; border-top: 0; border-right: 0; border-bottom: 0; border-radius: 0; background: transparent; font-family: inherit; cursor: pointer; }

/* Camera in the header search box, and its scanner dialog. */
html body.qh-portal-og #qh-charcoal-final .cc-search button.search-cam { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 32px; min-width: 32px; height: 28px; min-height: 28px; margin: 0; padding: 0; border: 0; border-radius: 6px; background: transparent; box-shadow: none; color: var(--cc-muted, #6b6359); cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .cc-search button.search-cam[hidden] { display: none; }
html body.qh-portal-og #qh-charcoal-final .cc-search button.search-cam:hover,
html body.qh-portal-og #qh-charcoal-final .cc-search button.search-cam:focus-visible { background: color-mix(in srgb, var(--qh-action, #8d421a) 10%, transparent); color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .cc-search button.search-cam svg { width: 20px; height: 20px; }
html body.qh-portal-og #qhCam { position: fixed; inset: 0; z-index: 2147482100; display: flex; justify-content: center; align-items: flex-start; padding: 7vh 12px 24px; background: rgba(8, 10, 12, .6); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); color: var(--qh-ink, #1c1916); }
html body.qh-portal-og #qhCam .qh-cam { display: grid; gap: 10px; width: min(560px, 100%); padding: 12px; border: 1px solid var(--qh-line, #d9d1c7); border-radius: 14px; background: var(--qh-paper, #fffdf9); box-shadow: 0 24px 60px -20px rgba(0, 0, 0, .55); }
html body.qh-portal-og #qhCam .qh-cam-view { position: relative; overflow: hidden; border-radius: 10px; background: #000; aspect-ratio: 4 / 3; max-height: 60vh; }
html body.qh-portal-og #qhCam .qh-cam-view video { display: block; width: 100%; height: 100%; object-fit: cover; }
html body.qh-portal-og #qhCam .qh-cam-aim { position: absolute; top: 20%; right: 7%; bottom: 20%; left: 7%; border: 2px solid rgba(255, 255, 255, .9); border-radius: 8px; box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .28); pointer-events: none; }
html body.qh-portal-og #qhCam .qh-cam-msg { margin: 0; font-size: 14px; }
html body.qh-portal-og #qhCam .qh-cam-msg.is-bad { color: var(--qh-bad, #b3261e); font-weight: 700; }
html body.qh-portal-og #qhCam .qh-cam-acts { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
html body.qh-portal-og #qhCam .qh-cam-acts button { display: inline-flex; align-items: center; gap: 6px; }
html body.qh-portal-og #qhCam .qh-cam-acts button[hidden] { display: none; }
html body.qh-portal-og #qhCam .qh-cam-acts svg { width: 18px; height: 18px; }

/* 926: Part history, Details tab (last night's part file). */
html body.qh-portal-og #qh-charcoal-final .pim-head { display: flex; gap: 10px; margin: 0 0 10px; }
html body.qh-portal-og #qh-charcoal-final .pim-photo { flex: 0 0 auto; width: 72px; height: 72px; border: 1px solid var(--line); border-radius: 8px; background: #fff; object-fit: contain; }
html body.qh-portal-og #qh-charcoal-final .pim-head-tx { display: grid; align-content: start; gap: 2px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .pim-head-tx b { font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .pim-head-tx span { font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .pim-head-tx small { color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .pim-tags { display: flex; gap: 6px; margin-top: 2px; }
html body.qh-portal-og #qh-charcoal-final .pim-tags em { padding: 0 6px; border: 1px solid var(--line); border-radius: 4px; font-size: 11.5px; font-style: normal; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .pim-sec { margin: 0 0 12px; }
html body.qh-portal-og #qh-charcoal-final .pim-cols { columns: 2 360px; column-gap: 32px; }
html body.qh-portal-og #qh-charcoal-final .pim-cols > .pim-sec { break-inside: avoid; }
html body.qh-portal-og #qh-charcoal-final .pim-sec h3 { margin: 0 0 6px; color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
html body.qh-portal-og #qh-charcoal-final .pim-stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .pim-stat { display: grid; align-content: start; gap: 1px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .pim-stat span { color: var(--muted); font-size: 11.5px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .pim-stat b { font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .pim-stat small { color: var(--muted); font-size: 11px; }
html body.qh-portal-og #qh-charcoal-final .pim-flagline { margin: 6px 0 0; padding: 6px 8px; border-radius: 6px; background: color-mix(in srgb, #c77700 13%, transparent); font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .pim-more { margin: 6px 0 0; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .pim-dl { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 4px 12px; margin: 0; font-size: 13.5px; }
html body.qh-portal-og #qh-charcoal-final .pim-dl dt { color: var(--muted); font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .pim-dl dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
html body.qh-portal-og #qh-charcoal-final .pim-dl dd small { display: block; color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .pim-ref { display: inline-block; margin: 0 10px 2px 0; }
html body.qh-portal-og #qh-charcoal-final .pim-part { padding: 0; border: 0; background: none; color: var(--qh-action, #8d421a); font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .pim-foot { margin: 8px 0 0; color: var(--muted); font-size: 12px; }

/* 926: Min/max planner. Up = the new number is higher, down = lower. */
html body.qh-portal-og #qh-charcoal-final .mmp-controls { display: grid; gap: 10px; margin: 0 0 12px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper, #fffefa); }
html body.qh-portal-og #qh-charcoal-final .mmp-line { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 12px; }
html body.qh-portal-og #qh-charcoal-final .mmp-k { align-self: center; color: var(--muted); font-size: 12.5px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .mmp-seg { margin: 0; }
html body.qh-portal-og #qh-charcoal-final .mmp-f { display: grid; gap: 3px; min-width: 0; color: var(--muted); font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .mmp-f select,
html body.qh-portal-og #qh-charcoal-final .mmp-f input { max-width: 100%; min-height: 36px; color: var(--ink, inherit); font-size: 14px; font-weight: 400; }
html body.qh-portal-og #qh-charcoal-final .mmp-folder select { width: 260px; }
html body.qh-portal-og #qh-charcoal-final .mmp-range input { width: 120px; }
html body.qh-portal-og #qh-charcoal-final .mmp-grow { flex: 1 1 220px; }
html body.qh-portal-og #qh-charcoal-final .mmp-grow input { width: 100%; }
html body.qh-portal-og #qh-charcoal-final .mmp-checks { gap: 6px 16px; }
html body.qh-portal-og #qh-charcoal-final .mmp-check { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; }
html body.qh-portal-og #qh-charcoal-final .mmp-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 8px; }
html body.qh-portal-og #qh-charcoal-final .mmp-summary p { margin: 0; }
html body.qh-portal-og #qh-charcoal-final .mmp-export { display: flex; flex-wrap: wrap; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .mmp-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .mmp-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
html body.qh-portal-og #qh-charcoal-final .mmp-table th { padding: 7px 8px; background: var(--wash, #f4f1ea); color: var(--muted); font-size: 11.5px; font-weight: 800; text-align: left; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .mmp-table td { padding: 6px 8px; border-top: 1px solid var(--line); vertical-align: top; }
html body.qh-portal-og #qh-charcoal-final .mmp-table .num { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .mmp-part { min-width: 220px; }
html body.qh-portal-og #qh-charcoal-final .mmp-sku { display: block; padding: 0; border: 0; background: none; color: inherit; font: inherit; font-weight: 800; text-align: left; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .mmp-sku:hover { color: var(--qh-action, #8d421a); text-decoration: underline; }
html body.qh-portal-og #qh-charcoal-final .mmp-part small { display: block; color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .mmp-unit { display: none; }
html body.qh-portal-og #qh-charcoal-final .mmp-now,
html body.qh-portal-og #qh-charcoal-final .mmp-to { color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .mmp-to { margin: 0 4px; }
html body.qh-portal-og #qh-charcoal-final .mmp-new.is-up { color: #a24a00; }
html body.qh-portal-og #qh-charcoal-final .mmp-new.is-down { color: #1d5fa8; }
html body.qh-portal-og #qh-charcoal-final .mmp-new.is-same { color: var(--muted); font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .mmp-flag { display: inline-block; margin: 0 4px 2px 0; padding: 0 5px; border: 1px solid var(--line); border-radius: 4px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .mmp-flag[data-f="nomm"],
html body.qh-portal-og #qh-charcoal-final .mmp-flag[data-f="below"],
html body.qh-portal-og #qh-charcoal-final .mmp-flag[data-f="low"] { border-color: #d39a4a; color: #8a4b00; }
html body.qh-portal-og #qh-charcoal-final .mmp-flag[data-f="high"],
html body.qh-portal-og #qh-charcoal-final .mmp-flag[data-f="dead"] { border-color: #7fa6d1; color: #1d4f86; }
html body.qh-portal-og #qh-charcoal-final .mmp-more { margin: 10px 0 0; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mmp-new.is-up,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mmp-flag[data-f="nomm"],
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mmp-flag[data-f="below"],
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mmp-flag[data-f="low"] { color: #f0a35a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mmp-new.is-down,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mmp-flag[data-f="high"],
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .mmp-flag[data-f="dead"] { color: #8dbcf0; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .mmp-line > .mmp-f { flex: 1 1 calc(50% - 6px); }
  html body.qh-portal-og #qh-charcoal-final .mmp-line > :is(.mmp-folder, .mmp-wide, .mmp-grow) { flex-basis: 100%; }
  html body.qh-portal-og #qh-charcoal-final .mmp-f :is(select, input) { width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .mmp-wrap { overflow: visible; border: 0; }
  html body.qh-portal-og #qh-charcoal-final .mmp-table thead { display: none; }
  html body.qh-portal-og #qh-charcoal-final .mmp-table,
  html body.qh-portal-og #qh-charcoal-final .mmp-table tbody { display: block; }
  html body.qh-portal-og #qh-charcoal-final .mmp-table tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 10px; margin: 0 0 8px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; }
  html body.qh-portal-og #qh-charcoal-final .mmp-table td { display: block; padding: 0; border: 0; }
  html body.qh-portal-og #qh-charcoal-final .mmp-table td.num { text-align: left; }
  html body.qh-portal-og #qh-charcoal-final .mmp-table td[data-k]::before { content: attr(data-k); display: block; color: var(--muted); font-size: 11px; font-weight: 700; }
  html body.qh-portal-og #qh-charcoal-final .mmp-table .mmp-part,
  html body.qh-portal-og #qh-charcoal-final .mmp-table .mmp-notes { grid-column: 1 / -1; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .mmp-table .mmp-notes:empty { display: none; }
  html body.qh-portal-og #qh-charcoal-final .mmp-table td.mmp-uom { display: none; }
  html body.qh-portal-og #qh-charcoal-final .mmp-unit { display: inline; }
  html body.qh-portal-og #qh-charcoal-final .mmp-table td.mmp-pm { order: 1; }
  html body.qh-portal-og #qh-charcoal-final .mmp-table td:is(.mmp-mm, .mmp-used) { order: 2; }
  html body.qh-portal-og #qh-charcoal-final .mmp-table td.mmp-notes { order: 3; }
}

body.qh-portal-og .gate-captcha-row { display: grid; gap: 8px; margin: 8px 0 4px; }
body.qh-portal-og .gate-captcha-img { background: #fff; border-radius: 8px; overflow: hidden; max-width: 220px; min-height: 64px; color: #1c1916; }
body.qh-portal-og .gate-captcha-img svg { display: block; width: 100%; height: auto; }
body.qh-portal-og .gate-captcha .ts-slot:empty { display: none; }
body.qh-portal-og .gate-captcha .ts-note { margin: 6px 0 2px; font-size: 12px; line-height: 1.4; opacity: .78; }
body.qh-portal-og .gate-captcha .ts-note a { color: inherit; text-decoration: underline; }
body.qh-portal-og .gate-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
body[data-guest="1"] [data-bottom="labels"],
body[data-guest="1"] [data-house="labels"],
body[data-guest="1"] a[href="#/labels"],
body[data-guest="1"] a[href="#/settings"],
body[data-guest="1"] a[href="#/account"],
body[data-guest="1"] a[href="#/repairs"],
body[data-guest="1"] a[href^="#/operations"],
body[data-guest="1"] a[href="#/resources"],
body[data-guest="1"] a[href^="#/resources"],
body[data-guest="1"] a[data-tab="resources"],
body[data-guest="1"] a[data-bottom="resources"],
body[data-guest="1"] a[data-tab="admin"],
body[data-guest="1"] a[data-bottom="admin"],
body[data-guest="1"] a[data-tab="delivery"],
body[data-guest="1"] a[data-bottom="delivery"],
body[data-guest="1"] a[data-tab="order-entry"],
body[data-guest="1"] a[data-bottom="order-entry"],
body[data-guest="1"] a[data-bottom="help"],
body[data-guest="1"] a[data-bottom="find"],
body[data-guest="1"] #headerAdminLink,
body[data-guest="1"] #headerFind,
body[data-guest="1"] #headerCustomerChange,
body[data-guest="1"] #bottomFind { display: none !important; }
body.qh-portal-og a.nav-public { display: none !important; }
body[data-guest="1"] a.nav-public { display: inline-flex !important; }
body[data-guest="1"] #moreAsk { display: none !important; }
html body.qh-portal-og #qh-charcoal-final .guest-banner { margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; background: var(--wash); border: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .guest-form { display: grid; gap: 10px; max-width: 520px; }
html body.qh-portal-og #qh-charcoal-final .guest-form input,
html body.qh-portal-og #qh-charcoal-final .guest-form textarea,
html body.qh-portal-og #qh-charcoal-final .guest-form select { width: 100%; }
html body.qh-portal-og #qh-charcoal-final .guest-form button[type="submit"] { border: 0; background: var(--orange); color: var(--ink); padding: 0.55rem 0.85rem; font-weight: 700; cursor: pointer; justify-self: start; }
html body.qh-portal-og #qh-charcoal-final .guest-form fieldset { display: grid; gap: 8px; border: 1px solid var(--line); border-radius: 10px; padding: 10px; }
html body.qh-portal-og #qh-charcoal-final .guest-lines { margin: 0 0 12px; padding-left: 18px; }
html body.qh-portal-og #qh-charcoal-final .page-check-filters { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
html body.qh-portal-og #qh-charcoal-final .page-check-filters .is-on { outline: 2px solid var(--orange); }
html body.qh-portal-og #qh-charcoal-final .page-check-list,
html body.qh-portal-og #qh-charcoal-final .guest-leads,
html body.qh-portal-og #qh-charcoal-final .guest-orders { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .page-check-row { display: grid; grid-template-columns: minmax(0, 1.4fr) auto minmax(120px, 1fr); gap: 8px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .page-qa { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 4px 8px; border: 1px dashed var(--line); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .page-qa > em,
html body.qh-portal-og #qh-charcoal-final .page-right-row > em { flex-basis: 100%; font-size: 10.5px; font-style: normal; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .page-right-row:not(.is-editing) .page-aud-edit { opacity: .7; }
html body.qh-portal-og #qh-charcoal-final .page-right-row.is-editing { padding: 4px 8px; border: 1px solid #c2410c; border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .page-check-filters input[type="search"] { min-width: 180px; flex: 1 1 180px; max-width: 320px; }
html body.qh-portal-og #qh-charcoal-final .ops-actions-note { margin: 6px 0 0; font-size: 12.5px; }
html body.qh-portal-og #qh-charcoal-final .ops-result.is-unknown { border-color: #d97706; background: rgba(217, 119, 6, .12); }
html body.qh-portal-og #qh-charcoal-final .pick-ready.is-preview .pick-ready-text { font-style: italic; }
html body.qh-portal-og #qh-charcoal-final .page-aud { display: inline-block; margin: 0 4px 0 0; padding: 1px 6px; border-radius: 999px; font-size: 11px; font-weight: 700; background: var(--wash); }
html body.qh-portal-og #qh-charcoal-final .guest-request,
html body.qh-portal-og #qh-charcoal-final .guest-leads > li { border: 1px solid var(--line); border-radius: 10px; padding: 10px; }
html body.qh-portal-og #qh-charcoal-final .guest-request-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; }
@media (max-width: 720px) {
  html body.qh-portal-og #qh-charcoal-final .page-check-row { grid-template-columns: 1fr; }
}

html body.qh-portal-og #qh-charcoal-final .sales-channels { margin: 14px 0 16px; }
html body.qh-portal-og #qh-charcoal-final .sales-ch-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
html body.qh-portal-og #qh-charcoal-final .sales-ch-head h2 { margin: 0; }
html body.qh-portal-og #qh-charcoal-final .sales-ch-head a { font-size: 13px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .sales-ch-bar { display: flex; height: 12px; margin: 8px 0 10px; overflow: hidden; background: var(--wash); border-radius: 999px; }
html body.qh-portal-og #qh-charcoal-final .sales-ch-seg { display: block; height: 100%; }
html body.qh-portal-og #qh-charcoal-final .sales-ch-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .sales-ch { --ch: #2563eb; display: flex; flex-direction: column; gap: 3px; min-width: 0; padding: 10px 12px; background: var(--paper); border: 1px solid var(--line); border-top: 4px solid var(--ch); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final :is(.sales-ch, .sales-ch-seg).is-c { --ch: #2563eb; }
html body.qh-portal-og #qh-charcoal-final :is(.sales-ch, .sales-ch-seg).is-d { --ch: #16a34a; }
html body.qh-portal-og #qh-charcoal-final :is(.sales-ch, .sales-ch-seg).is-s { --ch: #7c3aed; }
html body.qh-portal-og #qh-charcoal-final :is(.sales-ch, .sales-ch-seg).is-w { --ch: #d97706; }
html body.qh-portal-og #qh-charcoal-final .sales-ch-seg { background: var(--ch); }
html body.qh-portal-og #qh-charcoal-final .sales-ch-name { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .sales-ch-name i { width: 10px; height: 10px; flex: 0 0 auto; background: var(--ch); border-radius: 50%; }
html body.qh-portal-og #qh-charcoal-final .sales-ch strong { font-size: 22px; font-weight: 900; line-height: 1.15; }
html body.qh-portal-og #qh-charcoal-final .sales-ch small { color: var(--muted); font-size: 12px; font-weight: 600; line-height: 1.3; }
html body.qh-portal-og #qh-charcoal-final .sales-ch small.sales-ch-vs { color: var(--ok); font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .sales-ch small.sales-ch-vs.is-down { color: #b42318; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .sales-ch small.sales-ch-vs.is-down { color: #ff8a80; }
html body.qh-portal-og #qh-charcoal-final .rpt-h2 { margin: 18px 0 6px; }
@media (min-width: 761px) {
  html body.qh-portal-og #qh-charcoal-final .rpt-channels td:nth-child(10) { white-space: nowrap; }
}
html body.qh-portal-og #qh-charcoal-final .rpt-channel-tops { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
html body.qh-portal-og #qh-charcoal-final .rpt-channel-top { padding: 10px 12px; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .rpt-channel-top h3 { margin: 0 0 6px; font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .rpt-channel-top ol { margin: 0; padding-left: 20px; }
html body.qh-portal-og #qh-charcoal-final .rpt-channel-top li { margin: 3px 0; }
html body.qh-portal-og #qh-charcoal-final .rpt-channel-top small { color: var(--muted); font-weight: 600; }
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .sales-ch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body.qh-portal-og #qh-charcoal-final .rpt-channel-tops { grid-template-columns: 1fr; }
  html body.qh-portal-og #qh-charcoal-final .sales-ch strong { font-size: 19px; }
}
html body.qh-portal-og #qh-charcoal-final .page-group { display: flex; align-items: baseline; gap: 10px; margin: 18px 0 4px; padding-bottom: 4px; font-size: 16px; border-bottom: 2px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .page-group small { color: var(--muted); font-size: 12.5px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .page-changed,
html body.qh-portal-og #qh-charcoal-final .page-stale { display: inline-block; margin-left: 8px; padding: 1px 7px; border-radius: 999px; font-size: 11px; font-weight: 800; vertical-align: 1px; }
html body.qh-portal-og #qh-charcoal-final .page-changed { color: var(--muted); background: var(--wash); border: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .page-stale { color: #fff; background: #c2410c; }
html body.qh-portal-og #qh-charcoal-final .page-hint { display: block; margin-top: 3px; color: var(--muted); font-size: 12.5px; font-weight: 600; line-height: 1.35; }
html body.qh-portal-og #qh-charcoal-final .page-check-row.is-stale { box-shadow: inset 3px 0 0 #c2410c; padding-left: 8px; }
html body.qh-portal-og #qh-charcoal-final .page-side.is-stale { color: #c2410c; font-weight: 800; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .page-side.is-stale { color: #f0a35a; }
html body.qh-portal-og #qh-charcoal-final .admin-nightly { max-width: 760px; }
html body.qh-portal-og #qh-charcoal-final .admin-nightly-note { margin: 8px 0; padding: 8px 10px; font-weight: 700; background: var(--wash); border: 1px solid var(--line); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .nightly-list { display: grid; gap: 6px; margin: 10px 0; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .nightly-list li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; font-weight: 700; background: var(--paper); border: 1px solid var(--line); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .nightly-list li span { min-width: 0; overflow-wrap: anywhere; }
html body.qh-portal-og #qh-charcoal-final .nightly-add { display: flex; gap: 8px; margin: 0 0 10px; }
html body.qh-portal-og #qh-charcoal-final .nightly-add input { flex: 1 1 auto; min-width: 0; min-height: 38px; padding: 6px 10px; font: inherit; font-size: 16px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .nightly-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
html body.qh-portal-og #qh-charcoal-final .nightly-actions button:disabled { opacity: .45; cursor: not-allowed; }
html body.qh-portal-og #qh-charcoal-final .page-right-row { display: flex; flex-wrap: wrap; gap: 8px 12px; margin-top: 4px; }
html body.qh-portal-og #qh-charcoal-final .page-aud-edit { font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .sales-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
html body.qh-portal-og #qh-charcoal-final .sales-period-seg { flex: 1 1 100%; display: flex; flex-wrap: wrap; }
html body.qh-portal-og #qh-charcoal-final .sales-period-seg .ops-seg-btn { flex: 1 1 6.5rem; }
html body.qh-portal-og #qh-charcoal-final .sales-month-result { margin: 8px 0 12px; }
html body.qh-portal-og #qh-charcoal-final .order-asked { font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .header-ask {
  display: inline-flex; align-items: center; gap: 6px; margin: 0 6px;
  border: 1px solid var(--line); border-radius: 999px; background: transparent; color: inherit;
  padding: 4px 10px; cursor: pointer; font: inherit; font-weight: 700;
}
html body.qh-portal-og #qh-charcoal-final .header-ask svg,
html body.qh-portal-og #qh-charcoal-final .more-sheet svg,
html body.qh-portal-og #qh-charcoal-final .ic-close svg {
  width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8;
  stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto;
}
html body.qh-portal-og #qh-charcoal-final .more-sheet a,
html body.qh-portal-og #qh-charcoal-final .more-sheet #moreAsk {
  display: flex; align-items: center; gap: 10px;
}
html body.qh-portal-og #qh-charcoal-final .ic-close { display: inline-flex; align-items: center; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .ask-head .ic-close svg { width: 16px; height: 16px; }
@media (max-width: 860px) {
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-find { display: none !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-header:has(.header-find) .cc-customer { padding-right: 0 !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > [data-bottom="account"] { display: none !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > [data-bottom="find"] { display: none !important; }
  html body.qh-portal-og[data-role="staff"] #qh-charcoal-final .cc-bottom-nav > [data-bottom="find"],
  html body.qh-portal-og[data-role="admin"] #qh-charcoal-final .cc-bottom-nav > [data-bottom="find"],
  html body.qh-portal-og[data-role="employee"] #qh-charcoal-final .cc-bottom-nav > [data-bottom="find"] {
    display: flex !important; grid-column: 4; grid-row: 2;
  }
  html body.qh-portal-og #qh-charcoal-final .cc-header {
    grid-template-columns: auto 32px 32px 32px minmax(0, 1fr) 34px 36px !important;
  }
  html body.qh-portal-og #qh-charcoal-final .header-ask .ask-long,
  html body.qh-portal-og #qh-charcoal-final .header-ask .ask-short,
  html body.qh-portal-og #qh-charcoal-final .header-ask > svg { display: none; }
  html body.qh-portal-og #qh-charcoal-final .header-ask .ask-mark { display: grid; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-ask {
    display: inline-flex !important; grid-column: 4 !important; grid-row: 1 !important;
    width: 32px; min-width: 32px; height: 32px; margin: 0; padding: 0; gap: 0; justify-content: center; border-radius: 8px; color: #2a1406;
    border-color: transparent; background: transparent;
  }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-ask svg { width: 14px; height: 14px; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .cc-customer { grid-column: 5 !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-search-toggle { grid-column: 6 !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .cc-order-toggle { grid-column: 7 !important; }
}

@media (min-width: 861px) {
  html body.qh-portal-og #qh-charcoal-final .cc-header {
    grid-template-columns: auto 40px 40px auto minmax(240px, 1fr) minmax(160px, 280px) 42px auto !important;
    gap: 8px 16px;
    align-items: center;
  }
  html body.qh-portal-og #qh-charcoal-final .cc-header .cc-logo { grid-column: 1 !important; grid-row: 1 !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .theme-switch { grid-column: 2 !important; grid-row: 1 !important; justify-self: center; width: 36px; min-width: 36px; margin: 0; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-help { grid-column: 3 !important; grid-row: 1 !important; justify-self: center; margin: 0 !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .cc-search { grid-column: 5 !important; grid-row: 1 !important; width: 100% !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-ask {
    grid-column: 4 !important; grid-row: 1 !important; justify-self: start; align-self: center;
    margin: 0 !important; height: 36px; padding: 0 14px; gap: 7px; font-size: 14px; color: #fff;
    border-color: rgba(255, 255, 255, .5); background: rgba(255, 255, 255, .08);
  }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-ask .ask-long { display: inline; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-ask .ask-short { display: none; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-ask svg { width: 15px; height: 15px; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .cc-customer { grid-column: 6 !important; grid-row: 1 !important; justify-self: stretch; max-width: none; }
  html body.qh-portal-og:not([data-role="customer"]) #qh-charcoal-final .cc-header .cc-customer { margin-right: 78px; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-customer-change { grid-column: 6 !important; grid-row: 1 !important; justify-self: end; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .cc-order-toggle { grid-column: 7 !important; grid-row: 1 !important; }
  html body.qh-portal-og #qh-charcoal-final .cc-header .header-sign-out { grid-column: 8 !important; grid-row: 1 !important; }
  #qh-charcoal-final .cc-header .header-find { display: none !important; }
  html body #qh-charcoal-final .cc-header:has(.header-find:not([hidden])) .cc-search { width: 100% !important; justify-self: stretch; }
  html body.qh-portal-og #qh-charcoal-final .cc-search button.search-cam,
  html body.qh-portal-og #qhFind .qh-find-scan { display: none !important; }
}

html body.qh-portal-og[data-guest="1"] #headerAsk,
html body.qh-portal-og[data-guest="1"] #moreAsk,
html body.qh-portal-og #qh-charcoal-final #headerAsk[hidden],
html body.qh-portal-og #qh-charcoal-final #moreAsk[hidden] { display: none !important; }
.ask-handoff {
  display: block; width: calc(100% - 20px); margin: 0 10px 10px; min-height: 36px;
  border: 1px solid var(--line, #d9d1c7); border-radius: 8px; background: transparent;
  color: inherit; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer;
}
.ask-handoff.is-ready { border-color: #8d421a; color: #8d421a; }
.ask-offer { margin-top: 6px; font-weight: 700; }
.ask-chat { width: min(480px, 100%); }

.ask-sheet { place-items: end center; padding: 12px; }
.ask-card.ask-chat {
  display: flex; flex-direction: column; width: min(480px, 100%);
  height: min(640px, calc(100vh - 24px)); padding: 0; overflow: hidden;
}
.ask-chat .ask-head { margin: 0; padding: 10px 10px 10px 14px; border-bottom: 1px solid var(--line, #e4ddd4); }
.ask-x {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; padding: 0; border: 1px solid var(--line, #d9d1c7);
  border-radius: 8px; background: transparent; color: inherit; cursor: pointer;
}
.ask-x svg, .help-ic svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ask-thread { flex: 1 1 auto; min-height: 0; overflow: auto; display: flex; flex-direction: column; gap: 8px; padding: 12px; }
.ask-msg { max-width: 88%; padding: 8px 10px; border-radius: 14px; font-size: 14px; line-height: 1.4; }
.ask-msg p { margin: 0 0 6px; }
.ask-msg p:last-child { margin-bottom: 0; }
.ask-msg.is-user { align-self: flex-end; background: #8d421a; color: #fffefa; border-bottom-right-radius: 4px; }
.ask-msg.is-ai { align-self: flex-start; background: var(--wash, #f4f1ea); color: inherit; border-bottom-left-radius: 4px; }
.ask-msg a { color: inherit; }
.ask-chat #askForm { margin: 0; padding: 10px; border-top: 1px solid var(--line, #e4ddd4); }
#askForm[hidden], .ask-ways[hidden], .ask-cam[hidden], .ask-listen[hidden] { display: none !important; }
.ask-mark { display: none; width: 32px; height: 32px; border-radius: 8px; place-items: center; align-content: center; line-height: 1; background: linear-gradient(180deg, #f6b56a 0%, #e08a3a 100%); color: #2a1406; font-size: 12px; font-weight: 800; letter-spacing: -.03em; box-shadow: 0 0 0 1px rgba(246, 181, 106, .45); }
.ask-mark small { display: block; margin-top: 1px; font-size: 7px; font-weight: 800; letter-spacing: .08em; }
.ask-ways { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 10px; border-top: 1px solid var(--line, #e4ddd4); }
.ask-ways button { display: grid; justify-items: center; gap: 2px; min-height: 52px; padding: 6px 4px; border: 1px solid var(--line, #d9d1c7); border-radius: 10px; background: transparent; color: inherit; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.ask-ways button svg, .ask-tool svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ask-tools { display: inline-flex; gap: 6px; }
.ask-tool { display: inline-grid; place-items: center; width: 36px; height: 36px; min-height: 36px; padding: 0; border: 1px solid var(--line, #d9d1c7); border-radius: 8px; background: transparent; cursor: pointer; }
.ask-tool svg { width: 18px; height: 18px; }
:is(.ask-ways button, .ask-tool)[data-ask-way="type"] { color: #6b46c1; }
:is(.ask-ways button, .ask-tool)[data-ask-way="mic"] { color: #9a3412; }
:is(.ask-ways button, .ask-tool)[data-ask-way="cam"] { color: #0f766e; }
:is(.ask-ways button, .ask-tool)[data-ask-way="photo"] { color: #1d4ed8; }
html[data-theme="dark"] :is(.ask-ways button, .ask-tool)[data-ask-way="type"] { color: #c4b5fd; }
html[data-theme="dark"] :is(.ask-ways button, .ask-tool)[data-ask-way="mic"] { color: #f0a35a; }
html[data-theme="dark"] :is(.ask-ways button, .ask-tool)[data-ask-way="cam"] { color: #7dcec4; }
html[data-theme="dark"] :is(.ask-ways button, .ask-tool)[data-ask-way="photo"] { color: #93c5fd; }
@media (max-width: 680px) {
  .ask-tools { display: none; }
}
.ask-shot { display: block; max-width: min(200px, 100%); max-height: 200px; margin: 0 0 6px; border-radius: 10px; object-fit: cover; }
.ask-msg.is-user small { display: block; margin-top: 2px; font-size: 12px; opacity: .85; }
.ask-listen { margin: 0; padding: 8px 12px 0; font-size: 13px; font-weight: 700; }
.ask-cam { display: grid; gap: 8px; margin: 0; padding: 10px; border-top: 1px solid var(--line, #e4ddd4); }
.ask-cam video { width: 100%; max-height: 36vh; border-radius: 8px; background: #000; object-fit: cover; }
.ask-cam p { margin: 0; font-size: 13px; }
.ask-msg.is-ai:has(.ask-part) { align-self: stretch; max-width: 100%; }
.ask-parts { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 8px; }
.ask-part b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ask-part { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.ask-pic { position: relative; display: block; width: 56px; height: 56px; }
.ask-pic img { position: absolute; inset: 0; width: 56px; height: 56px; border-radius: 8px; background: #fff; object-fit: contain; }
.ask-pic:not(.has-photo) img { visibility: hidden; }
.ask-ph { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 8px; background: #fff; color: #8d421a; font-size: 12px; font-weight: 800; }
.ask-open { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1px 8px; min-width: 0; min-height: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.ask-open:hover b, .ask-open:focus-visible b { text-decoration: underline; }
.ask-part b { font-size: 14px; }
.ask-part em { font-style: normal; font-size: 12px; font-weight: 800; color: #8d421a; }
.ask-open :is(span, small) { grid-column: 1 / -1; }
.ask-open span { font-size: 13px; line-height: 1.3; }
.ask-part small { color: var(--muted, #665f58); font-size: 12px; }
.ask-detail { min-height: 30px; padding: 0 10px; border: 1px solid #b4531a; border-radius: 8px; background: transparent; color: #8d421a; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.ask-parts.is-maybe { opacity: .92; }
html[data-theme="dark"] .ask-part em { color: #f0b27a; }
html[data-theme="dark"] .ask-detail { border-color: rgba(240, 178, 122, .55); color: #f0b27a; }
@media (max-width: 680px) {
  .ask-sheet { place-items: start center; align-items: stretch; padding: 8px; }
  .ask-card.ask-chat { height: min(640px, calc(100dvh - 16px)); }
}
.help-ic {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; min-height: 36px; padding: 0; border: 1px solid var(--line, #d9d1c7);
  border-radius: 8px; background: transparent; color: inherit; cursor: pointer; text-decoration: none;
}
html body.qh-portal-og #qh-charcoal-final .help-sheet-acts { display: inline-flex; align-items: center; gap: 6px; }

/* 926-night37: on a phone the body grid folds to the picked shape; hose end finder. */
html body.qh-portal-og #qh-charcoal-final .fx-page .shape-picked { display: none; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .fx-page .body-pack.is-picked:not(.is-open) > :is(.shape-grid, .qdc-styles, .rp-chips) { display: none; }
  html body.qh-portal-og #qh-charcoal-final .fx-page .body-pack.is-picked > .shape-picked {
    display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; margin: 0;
    padding: 4px 12px 4px 6px; border: 1px solid var(--qh-action, #f36c21); border-radius: 8px;
    background: color-mix(in srgb, var(--qh-action, #f36c21) 10%, var(--paper, #fff));
    color: inherit; font: inherit; font-size: 15px; font-weight: 700; text-align: left; cursor: pointer;
  }
  html body.qh-portal-og #qh-charcoal-final .fx-page .body-pack.is-open > .shape-picked { margin-bottom: 6px; }
  html body.qh-portal-og #qh-charcoal-final .fx-page .shape-picked > :is(.shape-photo, img, .he-angle) {
    flex: 0 0 auto; width: 52px; height: 36px; border: 0; background: transparent; object-fit: contain;
  }
  html body.qh-portal-og #qh-charcoal-final .fx-page .shape-picked .shape-photo img { width: 100%; height: 100%; max-height: 36px; object-fit: contain; }
  html body.qh-portal-og #qh-charcoal-final .fx-page .shape-picked small { margin-left: auto; color: var(--qh-action, #f36c21); font-size: 13px; font-weight: 700; }
}
/* 926-night47: finder switcher. Tabs on desktop, the Operations-style folding menu on a phone. */
html body.qh-portal-og #qh-charcoal-final .fx-tools { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 8px; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); width: fit-content; max-width: 100%; }
html body.qh-portal-og #qh-charcoal-final .fx-tools a { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 4px 11px; border-radius: 6px; color: var(--muted); font-size: 13px; font-weight: 700; text-decoration: none; transition: background .12s ease, color .12s ease; }
html body.qh-portal-og #qh-charcoal-final .fx-tools a svg { width: 16px; height: 16px; flex: 0 0 auto; }
html body.qh-portal-og #qh-charcoal-final .fx-tools a:hover { color: var(--ink); background: color-mix(in srgb, var(--orange) 8%, transparent); }
html body.qh-portal-og #qh-charcoal-final .fx-tools a.is-on { color: var(--qh-action-text, #fff); background: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .fx-phone-menu summary > svg:first-child { flex: 0 0 auto; width: 20px; height: 20px; }
html body.qh-portal-og #qh-charcoal-final .fx-phone-grid a svg { flex: 0 0 auto; width: 18px; height: 18px; color: var(--orange); }
html body.qh-portal-og #qh-charcoal-final .fx-phone-grid a.is-on svg { color: inherit; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .fx-tools { display: none; }
  html body.qh-portal-og #qh-charcoal-final .fx-phone-grid a:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* 926-night48: industrial hose selector. Hose list on the left, the measured end on the right. */
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-layout { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: 12px; align-items: start; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-count { margin: 6px 0; font-size: 12px; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-hose-list { display: grid; gap: 4px; max-height: 640px; overflow-y: auto; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-hose { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 8px; width: 100%; padding: 6px 8px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); color: inherit; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-hose b { font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-hose span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-hose small { grid-column: 1 / -1; color: var(--muted); font-size: 11px; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-hose.is-on { border-color: var(--qh-action, #8d421a); background: color-mix(in srgb, var(--qh-action, #8d421a) 12%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-hose-meta { display: grid; gap: 2px; margin: 0; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-hose-meta span { color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-gap { color: var(--qh-action, #8d421a) !important; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-warn { margin: 8px 0 0; padding: 8px 10px; border: 1px solid #a33b3b; border-radius: 7px; background: color-mix(in srgb, #a33b3b 10%, var(--paper)); font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-state { margin: 8px 0; font-size: 13px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-state-none { color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-state-ok { color: #2f7d4f; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-table-wrap { overflow-x: auto; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-table th { text-align: left; font-size: 11px; letter-spacing: .03em; color: var(--muted); padding: 4px 6px; border-bottom: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-table td { padding: 4px 6px; border-bottom: 1px solid var(--line); vertical-align: top; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-table td small { display: block; color: var(--muted); font-size: 11px; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-table tr.is-stock td:first-child b { color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-none { color: var(--muted); font-style: italic; }
html body.qh-portal-og #qh-charcoal-final .ind-page .ind-foot { margin: 10px 0 0; font-size: 11.5px; color: var(--muted); }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .ind-page .ind-layout { grid-template-columns: minmax(0, 1fr); }
  html body.qh-portal-og #qh-charcoal-final .ind-page .ind-hose-list { max-height: 280px; }
}
html body.qh-portal-og #qh-charcoal-final .he-page .he-fams { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .he-page .he-fam {
  min-height: 0; justify-items: start; align-content: start; gap: 1px;
  padding: 7px 10px; border-radius: 8px; text-align: left;
}
html body.qh-portal-og #qh-charcoal-final .he-page .he-fam b { font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .he-page .he-fam small { font-size: 12px; line-height: 1.25; }
html body.qh-portal-og #qh-charcoal-final .he-page .he-fam .he-n { font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .he-page .he-fam:disabled { opacity: .45; cursor: default; }
html body.qh-portal-og #qh-charcoal-final .he-page .he-others { margin-top: 6px; }
html body.qh-portal-og #qh-charcoal-final .he-page .he-bodies { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .he-page .he-body { min-height: 0; padding: 5px 6px 6px; border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .he-page .he-body img,
html body.qh-portal-og #qh-charcoal-final .he-page .he-body .he-angle { width: 72px; height: 44px; object-fit: contain; }
html body.qh-portal-og #qh-charcoal-final .he-page .he-angle { display: inline-flex; align-items: center; justify-content: center; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .he-page .he-angle svg { width: 30px; height: 30px; }
html body.qh-portal-og #qh-charcoal-final .he-page .he-cross {
  margin: 8px 0 0; padding: 8px 10px; border-left: 3px solid var(--qh-action, #f36c21);
  border-radius: 4px; background: var(--wash, #f4f1ea); font-size: 14px;
}
html body.qh-portal-og #qh-charcoal-final .he-page .he-more { margin: 8px 0 0; text-align: center; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .he-page .he-fams { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body.qh-portal-og #qh-charcoal-final .he-page .he-bodies { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* 926-ops: wide-screen Operations menu. Groups sit side by side and wrap as a whole (at 1280 Sell
   and Shop floor share the first line, Buying and Road the second). Tools keep their own width
   instead of stretching across the row; each icon sits on a tile in its group colour, and the
   open tool fills its tile. */
@media (min-width: 681px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side { display: flex !important; flex-wrap: wrap; align-items: flex-start; gap: 10px 30px; padding: 10px 54px 10px 14px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp { display: flex; flex-direction: column; align-items: stretch; gap: 5px; flex: 0 1 auto; width: auto; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-h { display: flex; align-items: center; justify-content: flex-start; gap: 6px; margin: 0; padding: 0 0 0 6px; text-align: left; border-left: 0; font-size: 10.5px; font-weight: 800; letter-spacing: .09em; line-height: 1.2; color: var(--g); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-h::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--g); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-h::after { content: none; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-row { display: flex; flex-wrap: wrap; gap: 3px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group],
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group]:nth-child(n+5) {
    flex: 0 0 auto; justify-content: flex-start; min-width: 0; min-height: 36px; gap: 8px; padding: 4px 11px 4px 5px;
    border: 1px solid transparent; border-radius: 10px; background: transparent; box-shadow: none;
    color: var(--qh-ink, var(--ink, #1c1916)); font-size: 13.5px; font-weight: 600; letter-spacing: -.005em; white-space: nowrap;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group] .ops-nav-ic,
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group].is-on .ops-nav-ic {
    flex: none; box-sizing: border-box; width: 28px; height: 28px; padding: 6px; border-radius: 8px;
    background: color-mix(in srgb, var(--g) 15%, transparent); color: var(--g); stroke-width: 2;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group]:not(.is-on):hover {
    background: color-mix(in srgb, var(--g) 9%, transparent);
    border-color: color-mix(in srgb, var(--g) 24%, transparent);
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group].is-on {
    background: color-mix(in srgb, var(--g) 15%, transparent);
    border-color: color-mix(in srgb, var(--g) 50%, transparent);
    box-shadow: none;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group].is-on .ops-nav-ic { background: var(--g); color: #fff; }
  html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group].is-on .ops-nav-ic { color: #14161a; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group] .ops-n-wrap { margin-left: 2px; }
}
/* Too narrow for two groups a line: each group is one line with its name beside the tools. */
@media (min-width: 681px) and (max-width: 1199px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side { gap: 6px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp { flex-direction: row; align-items: center; gap: 8px; width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-h { flex: 0 0 96px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-row { flex: 1 1 auto; min-width: 0; }
}

/* Sales periods hug their labels. A four-column grid left Quarter alone on a phone. */
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesForm .sales-period-seg {
  flex: 0 1 auto;
  display: inline-flex;
  flex-wrap: wrap;
  width: auto;
  max-width: 100%;
  min-height: 0;
  border-radius: 8px;
  overflow: visible;
}
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesForm.sales-tools .sales-period-seg .ops-seg-btn {
  flex: 0 0 auto;
  min-width: 0;
  min-height: 26px;
  padding: 2px 9px;
  font-size: 12.5px;
  line-height: 1.2;
  white-space: nowrap;
}
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesForm.sales-tools .sales-period-seg .ops-seg-btn:not(.is-on) {
  color: var(--ink, #1c1916);
}
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesForm .sales-period-seg {
    display: flex;
    width: 100%;
    grid-template-columns: none;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesForm.sales-tools .sales-period-seg .ops-seg-btn {
    min-height: 32px;
    padding: 3px 8px;
    font-size: 12px;
  }
  html body.qh-portal-og #qh-charcoal-final :is(
    select,
    .ops-pick-tools input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
    .rail select,
    .rail input:not([type="checkbox"]):not([type="radio"]):not([type="file"])
  ) {
    min-height: 36px;
  }
  html body.qh-portal-og #qh-charcoal-final :is(
    .chip,
    .filter-pill,
    .sort-tabs .ghost-btn,
    .qh-refine-options label,
    .fx-page .shape-picked
  ) {
    min-height: 34px;
  }
  html body.qh-portal-og #qh-charcoal-final .fx-page .fx-fields {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  html body.qh-portal-og #qh-charcoal-final .fx-page .fx-end .fx-fields .fx-field:nth-child(3) {
    grid-column: 1 / -1;
  }
  html body.qh-portal-og #qh-charcoal-final .fx-page .fx-field select {
    max-width: 100%;
    min-width: 0;
  }
}

/* Deliveries: open sales order count on each account, and the order list it opens. */
html body.qh-portal-og #qh-charcoal-final .delivery-account .da-right {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}
html body.qh-portal-og #qh-charcoal-final .delivery-account .da-orders {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 2px 9px;
  border: 1px solid #b4531a;
  border-radius: 999px;
  color: #8d421a;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}
html body.qh-portal-og #qh-charcoal-final .delivery-account .da-orders.is-on {
  background: linear-gradient(180deg, #e07a32 0%, #b4531a 100%);
  border-color: #8d421a;
  color: #fffefa;
}
html body.qh-portal-og #qh-charcoal-final .delivery-account.is-expanded {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
html body.qh-portal-og #qh-charcoal-final .da-order-list {
  list-style: none;
  margin: -3px 0 4px;
  padding: 2px 10px 4px;
  border: 1px solid var(--line, #e4ddd4);
  border-top: 0;
  border-radius: 0 0 8px 8px;
  background: color-mix(in srgb, var(--qh-action, #8d421a) 6%, transparent);
}
html body.qh-portal-og #qh-charcoal-final .da-order-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 4px 8px;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px dashed var(--line, #e4ddd4);
}
html body.qh-portal-og #qh-charcoal-final .da-order-list li:last-child { border-bottom: 0; }
html body.qh-portal-og #qh-charcoal-final .da-order-copy { display: grid; gap: 1px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .da-order-copy b { font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .da-order-copy small { color: var(--muted, #665f58); font-size: 12px; line-height: 1.3; }
html body.qh-portal-og #qh-charcoal-final .da-order-list li.is-on .da-order-copy b::after,
html body.qh-portal-og #qh-charcoal-final .delivery-need .ops-card.is-on .ops-card-head b::after {
  content: " · on today";
  color: #1f7a3a;
  font-size: 12px;
  font-weight: 800;
}
html body.qh-portal-og #qh-charcoal-final .da-order-list :is(.action-btn, .ghost-btn).sm,
html body.qh-portal-og #qh-charcoal-final .delivery-need .da-head-act :is(.action-btn, .ghost-btn).sm {
  min-height: 30px;
  padding: 0 10px;
  font-size: 12.5px;
  white-space: nowrap;
}
html body.qh-portal-og #qh-charcoal-final .delivery-need .ops-card-head { flex-wrap: wrap; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .delivery-need .da-head-act {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .delivery-account .da-orders { border-color: #f0a35a; color: #f6b56a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .delivery-account .da-orders.is-on {
  background: linear-gradient(180deg, #f6b56a 0%, #e08a3a 100%);
  border-color: #f8d7a8;
  color: #2a1406;
}
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final :is(.da-order-list li.is-on .da-order-copy b, .delivery-need .ops-card.is-on .ops-card-head b)::after { color: #8fd6a2; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .da-order-list li { grid-template-columns: minmax(0, 1fr) auto; }
  html body.qh-portal-og #qh-charcoal-final .da-order-list li > .mb-flag { grid-column: 2; grid-row: 1; justify-self: end; }
  html body.qh-portal-og #qh-charcoal-final .da-order-list li > :is(.action-btn, .ghost-btn) { grid-column: 2; grid-row: 2; justify-self: end; }
}

/* Hose builder rows: SKU first and large, the description right under it. */
html body.qh-portal-og #qh-charcoal-final .hose-row-pick .hrp-sku-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px 8px;
  min-width: 0;
}
html body.qh-portal-og #qh-charcoal-final .hose-row-pick .hrp-copy b.hrp-sku {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
html body.qh-portal-og #qh-charcoal-final .hose-row-pick .hrp-title {
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.3;
}

/* Run sheets: entry date column; on a phone each order is two short lines. */
html body.qh-portal-og #qh-charcoal-final .run-table .run-phone-meta { display: none; }
html body.qh-portal-og #qh-charcoal-final .run-table td.run-entered { white-space: nowrap; }
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.mb-table.run-table tr.run-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 8px;
    align-items: center;
    padding: 6px 2px;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.mb-table.run-table tr.run-row > :is(td.run-entered, td.run-cust, td.run-when, td.run-flag) {
    display: none;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.mb-table.run-table tr.run-row > td.run-order {
    grid-column: 1;
    grid-row: 1;
    padding: 0;
    line-height: 1.25;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.mb-table.run-table tr.run-row > td.run-act {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    padding: 0;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.mb-table.run-table tr.run-row > td.run-act::before { content: none; }
  html body.qh-portal-og #qh-charcoal-final .run-table td.run-order b { font-size: 15px; }
  html body.qh-portal-og #qh-charcoal-final .run-table td.run-order > small { display: inline; margin-left: 6px; }
  html body.qh-portal-og #qh-charcoal-final .run-table .run-phone-meta {
    display: block;
    margin-top: 2px;
    color: var(--muted, #665f58);
    font-size: 12.5px;
    line-height: 1.35;
  }
  html body.qh-portal-og #qh-charcoal-final .run-table .run-phone-meta .mb-flag { margin-right: 2px; padding: 0 6px; font-size: 11.5px; }
  html body.qh-portal-og #qh-charcoal-final .run-table .run-expand {
    min-height: 26px;
    padding: 0 7px;
    font-size: 12px;
  }
  html body.qh-portal-og #qh-charcoal-final .run-table td.run-act :is(.action-btn, .ghost-btn).sm {
    min-height: 30px;
    padding: 0 10px;
    font-size: 12.5px;
    white-space: nowrap;
  }
  html body.qh-portal-og #qh-charcoal-final .run-table tr.run-day th { padding: 4px 8px; font-size: 12.5px; }
  html body.qh-portal-og #qh-charcoal-final .run-table .run-act-long { display: none; }
}

/* Crimp chart, Industrial tab. */
html body.qh-portal-og #qh-charcoal-final .crimp-table.ind-chart tr.ind-band th {
  display: table-cell;
  padding: 8px 10px 6px;
  border-top: 2px solid var(--line, #d9d1c7);
  color: inherit;
  font-size: 13.5px;
  font-weight: 700;
}
html body.qh-portal-og #qh-charcoal-final .crimp-table.ind-chart tr.ind-band:first-child th { border-top: 0; }
html body.qh-portal-og #qh-charcoal-final .ind-band-part { margin-right: 10px; }
html body.qh-portal-og #qh-charcoal-final .ind-band-part small { color: var(--muted); font-size: 12px; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .ind-band-stock { font-size: 12.5px; font-weight: 600; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .ind-band-meta { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .crimp-table.ind-chart td.crimp-od span { display: inline; }
html body.qh-portal-og #qh-charcoal-final .crimp-table.ind-chart td.crimp-od span + span { margin-left: 8px; }
html body.qh-portal-og #qh-charcoal-final .crimp-table.ind-chart td.crimp-od span:first-child b { font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .crimp-table.ind-chart td { padding: 5px 10px; }
html body.qh-portal-og #qh-charcoal-final .ind-chart-hose .rp-chips { margin: 0 0 8px; }
html body.qh-portal-og #qh-charcoal-final .ind-hose-table td { padding: 6px 10px; }
html body.qh-portal-og #qh-charcoal-final .ind-hose-table td:last-child { width: 1%; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .ind-hose-table td small { display: block; color: var(--muted); font-size: 12px; line-height: 1.3; }
html body.qh-portal-og #qh-charcoal-final .ind-air { color: #a3471b; font-weight: 700; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .ind-air { color: #f0a35a; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .crimp-seg { display: flex; width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .crimp-seg-btn { min-width: 0; padding: 5px 7px; font-size: 12.5px; line-height: 1.15; white-space: normal; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.ind-chart td { padding: 3px 8px; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.ind-chart td.crimp-od { white-space: normal; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.ind-chart td.crimp-od span { display: inline; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.ind-chart td.crimp-od span + span { margin-left: 6px; }
  html body.qh-portal-og #qh-charcoal-final .ind-band th { padding: 6px 8px; }
}

/* Create Order/Quote. */
html body.qh-portal-og #qh-charcoal-final .cc-nav a[hidden],
html body.qh-portal-og #qh-charcoal-final .more-sheet a[hidden] { display: none !important; }
html body.qh-portal-og #qh-charcoal-final .oe-open-link { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
html body.qh-portal-og #qh-charcoal-final .hist-head-top .oe-open-link { flex: 0 0 auto; min-height: 0; height: auto; padding: 5px 12px; line-height: 1.2; }
html body.qh-portal-og #qh-charcoal-final .cc-nav a[data-tab="order-entry"] { --tab-g: #15803d; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .cc-nav a[data-tab="order-entry"] { --tab-g: #3fa767; }
html body.qh-portal-og #qh-charcoal-final .oe-page { position: relative; width: 100%; max-width: none; }
html body.qh-portal-og #qh-charcoal-final .cc-bottom-nav > [data-bottom="order-entry"] { display: none !important; }
html body.qh-portal-og #qh-charcoal-final .bottom-nav [data-bottom="order-entry"] { --tab-g: #15803d; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav [data-bottom="order-entry"] { --tab-g: #3fa767; }
@media (max-width: 860px) {
  html body.qh-portal-og:is([data-role="staff"], [data-role="admin"], [data-role="employee"]) #qh-charcoal-final .cc-bottom-nav > [data-bottom="labels"] { display: none !important; }
  html body.qh-portal-og:is([data-role="staff"], [data-role="admin"], [data-role="employee"]) #qh-charcoal-final .cc-bottom-nav > [data-bottom="order-entry"] { grid-column: 1; grid-row: 2; display: flex !important; }
}
html body.qh-portal-og #qh-charcoal-final .oe-sku-row { display: flex; align-items: center; gap: 4px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-sku-row .oe-sku-in { flex: 1 1 auto; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-line-btn { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; color: var(--ink); background: var(--wash); border: 1px solid var(--line); border-radius: 7px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-line-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
html body.qh-portal-og #qh-charcoal-final .oe-line-btn:hover { color: var(--qh-action, #f36c21); border-color: currentColor; }
html body.qh-portal-og #qh-charcoal-final .oe-line.is-blank .oe-line-btn { opacity: 0.75; }
html body.qh-portal-og #qh-charcoal-final .oe-part-acts { display: inline-flex; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .oe-meta :is(.oe-mini, .part-history-btn) { width: auto; height: auto; min-width: 0; min-height: 0; margin: 0; padding: 2px 8px; font: inherit; font-size: 11.5px; font-weight: 800; line-height: 1.4; color: var(--ink); background: var(--wash); border: 1px solid var(--line); border-radius: 999px; box-shadow: none; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-meta :is(.oe-mini, .part-history-btn):hover { color: var(--qh-action, #f36c21); border-color: currentColor; }
html body.qh-portal-og #qh-charcoal-final .oe-add-lines { display: inline-flex; align-items: center; gap: 6px; padding: 4px 6px 4px 12px; background: var(--wash); border: 1px solid var(--line); border-radius: 999px; }
html body.qh-portal-og #qh-charcoal-final .oe-add-lines > span { margin-right: 2px; color: var(--muted); font-size: 13px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .oe-add-btn { min-width: 46px; min-height: 36px; padding: 0 12px; font: inherit; font-size: 15px; font-weight: 800; color: #fff; background: var(--qh-action, #f36c21); border: 0; border-radius: 999px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-add-btn:hover { filter: brightness(1.08); }
html body.qh-portal-og #qh-charcoal-final .oe-suggest.is-inline { overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; }
html body.qh-portal-og #qh-charcoal-final .oe-rush { padding: 2px 8px; font: inherit; font-size: 11.5px; font-weight: 800; color: #b42318; background: none; border: 1px dashed #e8a69b; border-radius: 999px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-rush.is-on { color: #fff; background: #b42318; border: 1px solid #b42318; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .oe-rush:not(.is-on) { color: #ff8a80; border-color: rgba(255, 138, 128, 0.5); }
html body.qh-portal-og #qh-charcoal-final .oe-suggest button { align-items: center; }
html body.qh-portal-og #qh-charcoal-final .oe-suggest .oe-pic { width: 36px; height: 36px; }
html body.qh-portal-og #qh-charcoal-final .oe-sug-text { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-sug-text small { color: var(--ok); font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .oe-suggest.is-inline { position: static; z-index: auto; width: auto; max-height: 46vh; margin: 4px 0 0; box-shadow: none; border-width: 2px; border-color: var(--qh-action, #f36c21); }
html body.qh-portal-og #qh-charcoal-final .oe-suggest.is-inline button { min-height: 48px; }
html body.qh-portal-og #qh-charcoal-final .oe-printer { min-height: 34px; padding: 4px 8px; font: inherit; font-size: 14px; font-weight: 700; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 7px; }
@media (max-width: 680px) { html body.qh-portal-og #qh-charcoal-final .oe-printer { font-size: 16px; } }
html body.qh-portal-og #qh-charcoal-final .oe-suggest .oe-sug-note { padding: 10px 12px; color: var(--muted); font-size: 13px; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .oe-scan { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; max-height: 88vh; overflow: auto; padding: 10px 12px calc(12px + env(safe-area-inset-bottom, 0px)); background: var(--paper); border-top: 3px solid var(--qh-action, #f36c21); box-shadow: 0 -12px 30px rgba(0, 0, 0, 0.3); }
html body.qh-portal-og #qh-charcoal-final .oe-scan[hidden] { display: none; }
html body.qh-portal-og #qh-charcoal-final .oe-scan-cam { position: relative; max-width: 560px; margin: 0 auto; overflow: hidden; background: #000; border-radius: 10px; aspect-ratio: 4 / 3; }
html body.qh-portal-og #qh-charcoal-final .oe-scan-cam video { display: block; width: 100%; height: 100%; object-fit: cover; }
html body.qh-portal-og #qh-charcoal-final .oe-scan-aim { position: absolute; left: 7%; right: 7%; top: 20%; bottom: 20%; border: 3px solid rgba(243, 108, 33, 0.9); border-radius: 10px; box-shadow: 0 0 0 999px rgba(0, 0, 0, 0.25); }
html body.qh-portal-og #qh-charcoal-final .oe-scan-msg { max-width: 560px; margin: 8px auto 4px; font-weight: 700; text-align: center; }
html body.qh-portal-og #qh-charcoal-final .oe-scan-msg.is-err { color: #b42318; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .oe-scan-msg.is-err { color: #ff8a80; }
html body.qh-portal-og #qh-charcoal-final .oe-scan-hits { max-width: 560px; margin: 0 auto; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .oe-scan-hits button { width: 100%; margin: 3px 0; text-align: left; }
html body.qh-portal-og #qh-charcoal-final .oe-scan-btns { display: flex; justify-content: center; margin-top: 6px; }
html body.qh-portal-og #qh-charcoal-final .oe-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 10px; margin-bottom: 6px; }
html body.qh-portal-og #qh-charcoal-final .oe-who { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-head h1.page { margin: 0; font-size: 18px; }
html body.qh-portal-og #qh-charcoal-final .oe-head .also { margin: 0; font-size: 12.5px; }
html body.qh-portal-og #qh-charcoal-final .oe-head-acts { display: flex; flex-wrap: wrap; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .oe-head-acts .ghost-btn { min-height: 30px; padding: 0 8px; font-size: 12.5px; }
html body.qh-portal-og #qh-charcoal-final .oe-kind .crimp-seg-btn { padding: 4px 10px; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .oe-fields { display: flex; flex-wrap: wrap; gap: 6px 10px; margin: 0 0 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-field { display: flex; flex-direction: column; gap: 3px; min-width: 0; font-size: 12.5px; font-weight: 700; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-field small { font-size: 11.5px; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .oe-field :is(input, select, textarea) { min-height: 38px; padding: 7px 9px; font: inherit; font-size: 14.5px; font-weight: 600; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-fields .oe-field { flex: 1 1 160px; max-width: 250px; }
html body.qh-portal-og #qh-charcoal-final .oe-level-host { display: contents; }
html body.qh-portal-og #qh-charcoal-final .oe-level-now { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 10px; min-height: 38px; }
html body.qh-portal-og #qh-charcoal-final .oe-level-now b { font-size: 14.5px; color: var(--ink); }
html body.qh-portal-og #qh-charcoal-final .oe-link { padding: 2px 0; font: inherit; font-size: 13px; font-weight: 800; color: var(--qh-action, #f36c21); text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-suggest { position: absolute; z-index: 40; max-height: 320px; overflow: auto; margin: 0; padding: 4px; list-style: none; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18); }
html body.qh-portal-og #qh-charcoal-final .oe-suggest[hidden] { display: none; }
html body.qh-portal-og #qh-charcoal-final .oe-suggest button { display: flex; gap: 10px; width: 100%; padding: 8px; text-align: left; font: inherit; color: var(--ink); background: none; border: 0; border-radius: 6px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-suggest button:is(:hover, :focus-visible, .is-on) { background: var(--wash); }
html body.qh-portal-og #qh-charcoal-final .oe-suggest button.is-on { box-shadow: inset 3px 0 0 var(--qh-action, #f36c21); }
html body.qh-portal-og #qh-charcoal-final .oe-suggest b { flex: 0 0 auto; font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .oe-suggest span { overflow: hidden; color: var(--muted); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .oe-lines { background: var(--paper); border: 1px solid var(--line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .oe-line-head { border-radius: 10px 10px 0 0; }
html body.qh-portal-og #qh-charcoal-final .oe-line { display: grid; grid-template-columns: minmax(200px, 1fr) 82px 82px 82px 56px 150px 96px 92px; align-items: center; gap: 6px 10px; padding: 8px 12px; border-top: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .oe-lines.is-counter .oe-line { grid-template-columns: minmax(0, 1.6fr) minmax(68px, .55fr) minmax(68px, .55fr) 44px minmax(88px, .7fr) minmax(72px, .55fr) 64px; }
html body.qh-portal-og #qh-charcoal-final .oe-lines.is-quote .oe-line { grid-template-columns: minmax(200px, 1fr) 90px 150px 100px 92px; }
html body.qh-portal-og #qh-charcoal-final .oe-line-head { padding-top: 7px; padding-bottom: 7px; color: var(--muted); font-size: 11.5px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; background: var(--wash); border-top: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-line-head span:nth-child(n+2) { text-align: right; }
html body.qh-portal-og #qh-charcoal-final .oe-part { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-part-main { display: flex; flex: 1 1 auto; flex-direction: column; gap: 3px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-pic { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 42px; height: 42px; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-pic.is-none { background: var(--wash); }
html body.qh-portal-og #qh-charcoal-final .oe-line.is-blank .oe-pic { display: none; }
html body.qh-portal-og #qh-charcoal-final .oe-pic-img { display: block; width: 100%; height: 100%; object-fit: contain; }
html body.qh-portal-og #qh-charcoal-final .oe-alert { margin: 0 0 12px; padding: 9px 12px; color: #7a2e0c; font-size: 13.5px; font-weight: 600; line-height: 1.4; background: #fff1e6; border: 1px solid #f3b98a; border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .oe-alert a { color: inherit; font-weight: 800; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .oe-alert { color: #ffd2b0; background: rgba(243, 108, 33, 0.14); border-color: rgba(243, 108, 33, 0.45); }
html body.qh-portal-og #qh-charcoal-final .oe-sign-kind { margin-left: auto; flex-wrap: wrap; max-width: 100%; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-kind .crimp-seg-btn { white-space: normal; text-align: center; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-note { display: none; margin: 4px 0 2px; color: var(--muted); font-size: 13.5px; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .oe-sign:is([data-mode="lane"], [data-mode="none"]) .oe-sign-pad { display: none; }
html body.qh-portal-og #qh-charcoal-final .oe-sign[data-mode="lane"] .oe-sign-lane,
html body.qh-portal-og #qh-charcoal-final .oe-sign[data-mode="none"] .oe-sign-none { display: block; }
html body.qh-portal-og #qh-charcoal-final .oe-opts { display: flex; flex-direction: column; gap: 2px; margin: 4px 0 10px; }
html body.qh-portal-og #qh-charcoal-final .oe-opt { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 2px 4px; font-size: 15px; font-weight: 700; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-opt input { width: 20px; height: 20px; margin: 0; accent-color: var(--qh-action, #f36c21); }
html body.qh-portal-og #qh-charcoal-final .oe-opt-printer { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 6px; padding: 2px 4px; color: var(--muted); font-size: 13px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .oe-mail-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 6px 34px; }
html body.qh-portal-og #qh-charcoal-final .oe-mail-to { flex: 1 1 260px; width: 100%; min-width: 0; max-width: min(520px, 100%); min-height: 36px; padding: 4px 8px; font: inherit; font-size: 14px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 7px; }
html body.qh-portal-og #qh-charcoal-final .oe-mail-new { display: flex; flex: 1 1 100%; flex-wrap: wrap; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .oe-mail-new input { flex: 1 1 150px; min-height: 36px; padding: 5px 8px; font: inherit; font-size: 14px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 7px; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .oe-mail-row { margin-left: 0; }
  html body.qh-portal-og #qh-charcoal-final :is(.oe-mail-to, .oe-mail-new input) { font-size: 16px; }
}
html body.qh-portal-og #qh-charcoal-final .oe-ack { display: flex; align-items: flex-start; gap: 8px; margin: 8px 0; padding: 8px 10px; color: #7a2e0c; background: #fff1e6; border: 1px solid #f3b98a; border-radius: 8px; cursor: pointer; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .oe-ack { color: #ffd2b0; background: rgba(243, 108, 33, 0.14); border-color: rgba(243, 108, 33, 0.45); }
html body.qh-portal-og #qh-charcoal-final .oe-ack input { margin-top: 3px; }
html body.qh-portal-og #qh-charcoal-final .oe-confirm-note { margin: 6px 0; color: var(--muted); font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .oe-confirm-btns .action-btn:disabled { opacity: 0.5; cursor: not-allowed; }
html body.qh-portal-og #qh-charcoal-final .oe-find { margin: 10px 0; padding: 10px; background: var(--paper); border: 2px solid var(--qh-action, #f36c21); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .oe-find[hidden] { display: none; }
html body.qh-portal-og #qh-charcoal-final .oe-find [data-oe-hop] { display: flex; flex-direction: column; align-items: flex-start; width: 100%; margin: 0 0 6px; padding: 8px 10px; text-align: left; font: inherit; font-weight: 750; color: inherit; background: var(--wash, #f4f1ec); border: 1px solid var(--line, #ddd); border-radius: 8px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-find [data-oe-hop] small { font-weight: 550; opacity: 0.75; }
html body.qh-portal-og #qh-charcoal-final .oe-find-head { display: flex; align-items: flex-end; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-find-q { flex: 1 1 auto; }
html body.qh-portal-og #qh-charcoal-final .oe-find-note { margin: 6px 0 2px; color: var(--muted); font-size: 13px; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .oe-find-note:empty { display: none; }
html body.qh-portal-og #qh-charcoal-final .oe-find-hits { max-height: 420px; overflow: auto; margin: 4px 0 0; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .oe-find-row { display: flex; align-items: center; gap: 10px; padding: 6px 2px; border-top: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .oe-find-text { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-find-text b { font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .oe-find-text span { overflow: hidden; color: var(--muted); font-size: 13px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .oe-find-text small { color: var(--ok); font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .oe-sku-in { width: 100%; min-height: 36px; padding: 4px 8px; font: inherit; font-size: 16.5px; font-weight: 800; letter-spacing: 0.01em; text-transform: uppercase; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 7px; }
html body.qh-portal-og #qh-charcoal-final .oe-sku-in::placeholder { font-weight: 600; text-transform: none; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 1px 10px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-meta:empty { display: none; }
html body.qh-portal-og #qh-charcoal-final .oe-desc { color: var(--muted); font-size: 13px; font-weight: 600; line-height: 1.3; }
html body.qh-portal-og #qh-charcoal-final .oe-stock { color: var(--ok); font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .oe-stock.is-out { color: #a3471b; }
html body.qh-portal-og #qh-charcoal-final .oe-line.is-blank :is(.oe-sku-in, .oe-num input) { background: transparent; border-style: dashed; }
html body.qh-portal-og #qh-charcoal-final .oe-price-btn { padding: 0; font: inherit; font-size: 15px; font-weight: 800; color: var(--ink); background: none; border: 0; border-bottom: 1.5px dashed var(--muted); border-radius: 0; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-price-btn:hover { color: var(--qh-action, #f36c21); border-bottom-color: currentColor; }
html body.qh-portal-og #qh-charcoal-final .oe-lvl-tag { color: var(--qh-action, #f36c21); font-size: 11.5px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .oe-grid-tools { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
html body.qh-portal-og #qh-charcoal-final #oePriceErr[hidden] { display: none; }
html body.qh-portal-og #qh-charcoal-final .oe-warn { color: #a3471b; font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .oe-num { display: flex; flex-direction: column; gap: 2px; }
html body.qh-portal-og #qh-charcoal-final :is(.oe-num, .oe-price, .oe-amt) > span { display: none; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
html body.qh-portal-og #qh-charcoal-final .oe-num input { width: 100%; min-height: 36px; padding: 5px 7px; font: inherit; font-size: 15px; font-weight: 700; text-align: right; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 7px; }
html body.qh-portal-og #qh-charcoal-final .oe-bo b { display: block; font-size: 15px; text-align: right; }
html body.qh-portal-og #qh-charcoal-final :is(.oe-price, .oe-amt) { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; text-align: right; }
html body.qh-portal-og #qh-charcoal-final :is(.oe-price, .oe-amt) b { font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .oe-line-level { max-width: 150px; padding: 3px 4px; font-size: 12px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .oe-line-tools { display: flex; justify-content: flex-end; align-items: center; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .oe-copy:not([hidden]) { position: fixed; z-index: 80; left: 50%; top: 10vh; width: min(640px, calc(100vw - 24px)); max-height: min(72vh, 680px); overflow: auto; transform: translateX(-50%); margin: 0; box-shadow: 0 18px 60px rgba(0, 0, 0, .4); }
html body.qh-portal-og #qh-charcoal-final .oe-copy-h { margin: 12px 0 4px; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-copy-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; max-height: 50vh; overflow: auto; }
html body.qh-portal-og #qh-charcoal-final .oe-copy-list li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-copy-list li > span { display: grid; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-copy-list small { color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-copy-skus { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: ui-monospace, Consolas, monospace; font-size: 11.5px; }
html body.qh-portal-og #qh-charcoal-final .oe-line-move { display: inline-flex; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
html body.qh-portal-og #qh-charcoal-final .oe-mv { display: inline-grid; place-items: center; width: 26px; height: 26px; padding: 0; color: var(--ink); background: none; border: 0; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-mv + .oe-mv { border-left: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .oe-mv svg { width: 15px; height: 15px; }
html body.qh-portal-og #qh-charcoal-final .oe-mv:hover:not(:disabled) { background: var(--wash); }
html body.qh-portal-og #qh-charcoal-final .oe-mv:disabled { opacity: .3; cursor: default; }
@media (pointer: coarse) {
  html body.qh-portal-og #qh-charcoal-final .oe-mv { width: 36px; height: 34px; }
}
html body.qh-portal-og #qh-charcoal-final .oe-note-btn { padding: 4px 8px; font: inherit; font-size: 12px; font-weight: 700; color: var(--ink); background: none; border: 1px solid var(--line); border-radius: 6px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-note-btn.has-note { color: var(--qh-action, #f36c21); border-color: var(--qh-action, #f36c21); }
html body.qh-portal-og #qh-charcoal-final .oe-del { padding: 2px 7px; font-size: 20px; line-height: 1; color: var(--muted); background: none; border: 0; border-radius: 6px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-del:hover { color: #b42318; background: rgba(180, 35, 24, 0.08); }
html body.qh-portal-og #qh-charcoal-final .oe-line-note { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .oe-line-note input { flex: 1 1 auto; min-height: 32px; padding: 4px 8px; font: inherit; font-size: 13.5px; color: var(--ink); background: var(--paper); border: 1px dashed var(--line); border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .oe-total-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 12px; margin-top: 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-freight { display: flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 800; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-freight input { width: 88px; height: 34px; padding: 2px 8px; font: inherit; font-size: 16px; font-weight: 800; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-total { display: flex; flex: 1 1 220px; flex-wrap: wrap; justify-content: flex-end; align-items: baseline; gap: 4px 12px; padding: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-cost-hold { min-height: 34px; padding: 0 10px; font: inherit; font-size: 13px; font-weight: 800; color: var(--ink); background: var(--wash); border: 1px solid var(--line); border-radius: 8px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-total span { color: var(--muted); font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .oe-total b { font-size: 19px; }
html body.qh-portal-og #qh-charcoal-final .oe-total b + span { margin-left: 14px; }
html body.qh-portal-og #qh-charcoal-final .oe-total small { flex-basis: 100%; color: var(--muted); font-weight: 600; text-align: right; }
html body.qh-portal-og #qh-charcoal-final .oe-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 14px 0; }
html body.qh-portal-og #qh-charcoal-final .oe-notes textarea { min-height: 60px; resize: vertical; }
html body.qh-portal-og #qh-charcoal-final .oe-sign { max-width: 640px; padding: 10px 12px; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-bottom: 6px; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-head small { color: var(--muted); font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-view { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-view.is-empty small { color: var(--muted); font-size: 12.5px; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-img { display: block; width: 100%; max-width: 420px; height: auto; aspect-ratio: 900 / 240; background: #fff; border: 1px solid var(--line); border-radius: 8px; pointer-events: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; color: var(--muted); font-size: 13px; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-meta b { color: var(--ink); }
html body.qh-portal-og #qh-charcoal-final .oe-sign-open { min-height: 44px; padding: 0 18px; }
html.oe-signing, html.oe-signing body { overflow: hidden; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-win { position: fixed; inset: 0; z-index: 900; display: flex; flex-direction: column; gap: 8px; padding: max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); color: var(--ink); background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .oe-sign-win-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-win-head b { font-size: 16px; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-win-name { display: flex; flex: 1 1 220px; align-items: center; gap: 8px; color: var(--muted); font-size: 13px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-win-name input { flex: 1 1 auto; min-width: 0; min-height: 38px; padding: 4px 10px; font: inherit; font-size: 16px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-turn { display: none; margin: 0; padding: 8px 10px; color: #7a2e0c; background: #fff1e6; border: 1px solid #f3b98a; border-radius: 8px; font-weight: 700; text-align: center; }
@media (orientation: portrait) and (pointer: coarse) { html body.qh-portal-og #qh-charcoal-final .oe-sign-turn { display: block; } }
html body.qh-portal-og #qh-charcoal-final .oe-sign-win-pad { position: relative; flex: 1 1 auto; min-height: 140px; background: #fff; border: 2px solid var(--line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-win-pad canvas { position: absolute; inset: 0; z-index: 1; display: block; width: 100%; height: 100%; cursor: crosshair; touch-action: none; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-line { position: absolute; left: 6%; right: 6%; bottom: 22%; padding-top: 4px; color: #8a8f98; font-size: 12px; font-weight: 700; border-top: 2px solid #c9ced6; pointer-events: none; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-win-btns { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-win-btns :is(.ghost-btn, .action-btn) { min-height: 44px; padding: 0 18px; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-win-btns .action-btn { min-width: 120px; }
html body.qh-portal-og #qh-charcoal-final .oe-sign-win-msg { margin-right: auto; color: #b42318; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .oe-actions { position: sticky; bottom: 10px; z-index: 30; display: flex; align-items: center; gap: 12px; margin: 14px 0 8px; padding: 8px 8px 8px 10px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16); }
html body.qh-portal-og #qh-charcoal-final .oe-tools-bar { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center; gap: 2px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-tool { display: inline-flex; align-items: center; gap: 7px; height: 40px; padding: 0 12px; font: inherit; font-size: 13.5px; font-weight: 700; color: var(--ink); background: transparent; border: 1px solid transparent; border-radius: 9px; cursor: pointer; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .oe-tool .ops-ic { width: 18px; height: 18px; flex: 0 0 auto; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-tool:hover { background: var(--wash); border-color: var(--line); }
html body.qh-portal-og #qh-charcoal-final .oe-tool:hover .ops-ic { color: var(--qh-action, #f36c21); }
html body.qh-portal-og #qh-charcoal-final .oe-tool.is-quiet { color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-tool-printer { gap: 4px; padding-right: 4px; }
html body.qh-portal-og #qh-charcoal-final .oe-tool-printer .oe-printer { min-height: 32px; padding: 2px 4px; background: transparent; border: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-send-row { display: flex; flex: 0 0 auto; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-commit-note { margin: 8px 0 0; }
html body.qh-portal-og #qh-charcoal-final .oe-send { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; font: inherit; font-size: 16px; font-weight: 800; color: #fff; background: var(--qh-action, #f36c21); border: 0; border-radius: 11px; box-shadow: 0 4px 14px rgba(243, 108, 33, 0.35); cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-send.is-complete { color: var(--ink); background: var(--paper); border: 2px solid var(--qh-action, #f36c21); box-shadow: none; }
html body.qh-portal-og #qh-charcoal-final .oe-send .ops-ic { width: 20px; height: 20px; }
html body.qh-portal-og #qh-charcoal-final .oe-send:hover { filter: brightness(1.06); }
html body.qh-portal-og #qh-charcoal-final .oe-send:disabled { opacity: 0.7; box-shadow: none; cursor: default; filter: none; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .oe-actions { box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .oe-send { background: #c2410c; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .oe-send.is-complete { color: #fff; background: transparent; border-color: #f36c21; box-shadow: none; }
html body.qh-portal-og #qh-charcoal-final .oe-msg { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 6px 0; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .oe-msg:empty { display: none; }
html body.qh-portal-og #qh-charcoal-final .oe-msg.is-err { color: #b42318; }
html body.qh-portal-og #qh-charcoal-final .oe-msg.is-ok { color: var(--ok); }
html body.qh-portal-og #qh-charcoal-final .oe-msg small { flex-basis: 100%; color: var(--muted); font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .oe-confirm { margin: 8px 0; padding: 10px 12px; background: var(--paper); border: 2px solid var(--qh-action, #f36c21); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .oe-confirm.is-blocked { border-color: #b42318; }
html body.qh-portal-og #qh-charcoal-final .oe-confirm.is-sent { border-color: var(--ok); }
html body.qh-portal-og #qh-charcoal-final .oe-confirm p { margin: 4px 0 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-confirm ul { margin: 4px 0 8px; padding-left: 18px; }
html body.qh-portal-og #qh-charcoal-final .oe-blockers li { color: #b42318; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .oe-confirm-btns { display: flex; flex-wrap: wrap; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-drafts { margin: 12px 0; padding: 6px 10px; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .oe-drafts summary { padding: 4px 0; font-weight: 800; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-drafts ul { margin: 4px 0; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .oe-drafts li { display: flex; align-items: center; gap: 8px; padding: 6px 0; border-top: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .oe-draft-open { flex: 1 1 auto; padding: 2px 0; font: inherit; text-align: left; color: var(--ink); background: none; border: 0; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-draft-open small { display: block; color: var(--muted); font-size: 12px; font-weight: 600; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final :is(.oe-warn, .oe-stock.is-out) { color: #f0a35a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final :is(.oe-msg.is-err, .oe-blockers li) { color: #ff8a80; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .oe-head { align-items: stretch; }
  html body.qh-portal-og #qh-charcoal-final .oe-kind { display: flex; width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .oe-kind .crimp-seg-btn { flex: 1 1 0; }
  html body.qh-portal-og #qh-charcoal-final .oe-fields .oe-field { flex: 1 1 140px; max-width: none; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines { overflow: visible; background: none; border: 0; }
  html body.qh-portal-og #qh-charcoal-final .oe-line-head { display: none; }
  html body.qh-portal-og #qh-charcoal-final .oe-line,
  html body.qh-portal-og #qh-charcoal-final .oe-lines.is-quote .oe-line { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px 8px; margin-bottom: 8px; padding: 10px; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; }
  html body.qh-portal-og #qh-charcoal-final .oe-part { grid-column: 1 / -1; }
  html body.qh-portal-og #qh-charcoal-final :is(.oe-num, .oe-price, .oe-amt) > span { display: block; }
  html body.qh-portal-og #qh-charcoal-final .oe-price { grid-column: 1 / 3; align-items: flex-start; text-align: left; }
  html body.qh-portal-og #qh-charcoal-final .oe-amt { grid-column: 3 / 4; }
  html body.qh-portal-og #qh-charcoal-final .oe-line-tools { grid-column: 4 / 5; align-self: end; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines.is-quote .oe-price { grid-column: 2 / 3; }
  html body.qh-portal-og #qh-charcoal-final .oe-line.is-blank,
  html body.qh-portal-og #qh-charcoal-final .oe-lines.is-quote .oe-line.is-blank { grid-template-columns: minmax(0, 1fr) 84px; gap: 6px; padding: 6px 8px; }
  html body.qh-portal-og #qh-charcoal-final .oe-line.is-blank .oe-part { grid-column: auto; }
  html body.qh-portal-og #qh-charcoal-final .oe-line.is-blank :is(.oe-picked, .oe-ship, .oe-bo, .oe-price, .oe-amt, .oe-line-tools) { display: none; }
  html body.qh-portal-og #qh-charcoal-final .oe-line.is-blank .oe-num > span { display: none; }
  html body.qh-portal-og #qh-charcoal-final .oe-notes { grid-template-columns: 1fr; }
  html body.qh-portal-og #qh-charcoal-final .oe-total-row { flex-direction: column; align-items: stretch; }
  html body.qh-portal-og #qh-charcoal-final .oe-freight { justify-content: space-between; width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .oe-freight input { width: 7rem; }
  html body.qh-portal-og #qh-charcoal-final .oe-total { display: grid; grid-template-columns: minmax(0, 1fr) auto; width: 100%; gap: 4px 12px; justify-content: stretch; }
  html body.qh-portal-og #qh-charcoal-final .oe-total b { text-align: right; }
  html body.qh-portal-og #qh-charcoal-final .oe-total small { grid-column: 1 / -1; text-align: left; }
  html body.qh-portal-og #qh-charcoal-final .oe-actions { position: static; flex-direction: column; align-items: stretch; gap: 8px; padding: 8px; box-shadow: none; }
  html body.qh-portal-og #qh-charcoal-final .oe-send-row { order: -1; flex-direction: column; width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .oe-send { order: 0; width: 100%; min-height: 52px; font-size: 17px; }
  html body.qh-portal-og #qh-charcoal-final .oe-tools-bar { display: flex; flex-wrap: wrap; gap: 6px; }
  html body.qh-portal-og #qh-charcoal-final .oe-tool { flex: 1 1 0; flex-direction: column; justify-content: center; gap: 4px; min-width: 58px; height: auto; min-height: 60px; padding: 6px 2px; font-size: 11.5px; line-height: 1.15; text-align: center; white-space: normal; background: var(--wash); border-color: var(--line); }
  html body.qh-portal-og #qh-charcoal-final .oe-tool .ops-ic { width: 20px; height: 20px; }
  html body.qh-portal-og #qh-charcoal-final .oe-tool-printer { order: 10; flex: 1 1 100%; flex-direction: row; justify-content: flex-start; min-height: 44px; padding: 0 10px; }
  html body.qh-portal-og #qh-charcoal-final .oe-tool-printer .oe-printer { flex: 1 1 auto; font-size: 16px; }
  html body.qh-portal-og #qh-charcoal-final .oe-line,
  html body.qh-portal-og #qh-charcoal-final .oe-lines.is-quote .oe-line { gap: 4px 6px; margin-bottom: 6px; padding: 7px 8px; }
  html body.qh-portal-og #qh-charcoal-final .oe-line.is-blank,
  html body.qh-portal-og #qh-charcoal-final .oe-lines.is-quote .oe-line.is-blank { padding: 4px 6px; margin-bottom: 4px; }
  html body.qh-portal-og #qh-charcoal-final .oe-part { gap: 6px; }
  html body.qh-portal-og #qh-charcoal-final .oe-pic { width: 34px; height: 34px; border-radius: 6px; }
  html body.qh-portal-og #qh-charcoal-final .oe-part-main { gap: 2px; }
  html body.qh-portal-og #qh-charcoal-final .oe-sku-in { min-height: 34px; padding: 3px 7px; font-size: 16px; }
  html body.qh-portal-og #qh-charcoal-final .oe-line-btn { width: 32px; height: 32px; }
  html body.qh-portal-og #qh-charcoal-final .oe-line-btn svg { width: 16px; height: 16px; }
  html body.qh-portal-og #qh-charcoal-final .oe-meta { gap: 2px 8px; }
  html body.qh-portal-og #qh-charcoal-final .oe-desc { font-size: 12px; line-height: 1.25; }
  html body.qh-portal-og #qh-charcoal-final .oe-meta :is(.oe-stock, .oe-warn) { font-size: 11.5px; }
  html body.qh-portal-og #qh-charcoal-final .oe-num input { min-height: 32px; padding: 3px 6px; font-size: 16px; }
  html body.qh-portal-og #qh-charcoal-final :is(.oe-num, .oe-price, .oe-amt) > span { font-size: 10px; }
  html body.qh-portal-og #qh-charcoal-final :is(.oe-price, .oe-amt) b,
  html body.qh-portal-og #qh-charcoal-final .oe-bo b,
  html body.qh-portal-og #qh-charcoal-final .oe-price-btn { font-size: 14px; }
  html body.qh-portal-og #qh-charcoal-final .oe-suggest.is-inline { max-height: 42vh; }
  html body.qh-portal-og #qh-charcoal-final .oe-add-lines { flex: 1 1 100%; justify-content: space-between; }
  html body.qh-portal-og #qh-charcoal-final .oe-add-btn { flex: 1 1 0; min-height: 40px; }
}
html body.qh-portal-og #qh-charcoal-final .price-cell.can-retry { cursor: pointer; text-decoration: underline dotted; }
html body.qh-portal-og #qh-charcoal-final .search-exact-head { margin: 12px 0 4px; font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .price-need { margin: 6px 0; font-size: 13px; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .ops-side .ops-all-btn { align-self: center; margin: 0 6px; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .k55-specialty { margin: 8px 0 12px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .k55-specialty > summary { cursor: pointer; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .k55-specialty > summary small { margin-left: 6px; color: var(--muted); font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .k55-specialty[open] > .dept-grid { margin-top: 10px; }
html body.qh-portal-og #qh-charcoal-final .dept-card .photo-frame.is-blank,
html body.qh-portal-og #qh-charcoal-final .ff-type-photo.is-blank {
  background: transparent center / 40% no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M12 2l8.66 5v10L12 22l-8.66-5V7z'/%3E%3Ccircle cx='12' cy='12' r='3.5'/%3E%3C/svg%3E");
}
/* Touch screens: Add, the quantity steppers and History get a finger-sized target. */
@media (pointer: coarse) {
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .add-btn,
  html body.qh-portal-og #qh-charcoal-final .fr-card .add-btn,
  html body.qh-portal-og #qh-charcoal-final .ff-buy .add-btn,
  html body.qh-portal-og #qh-charcoal-final .ff-row .add-btn,
  html body.qh-portal-og #qh-charcoal-final .sp-product .add-btn { min-height: 44px !important; min-width: 56px !important; font-size: 15px; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add .add-btn,
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .qty-add .add-btn { height: 44px !important; min-height: 44px !important; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add .qty,
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .qty-add .qty { height: 44px !important; min-height: 44px !important; }
  html body.qh-portal-og #qh-charcoal-final .qty-nudge { width: 36px !important; min-height: 44px !important; }
  html body.qh-portal-og #qh-charcoal-final .qty-step .qty { height: 44px !important; min-height: 44px !important; width: 40px !important; min-width: 40px !important; flex-basis: 40px !important; font-size: 16px; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-history-btn { min-height: 44px !important; min-width: 44px !important; }
  html body.qh-portal-og #qh-charcoal-final .add-order-btn { min-height: 44px !important; }
}
html body.qh-portal-og #qh-charcoal-final .add-order-btn {
  background: #1d4e89;
  color: #fff;
}
html body.qh-portal-og #qh-charcoal-final .add-order-btn:hover { background: #163a66; color: #fff; }
html body.qh-portal-og #qh-charcoal-final .pdm-buy { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .recv-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
html body.qh-portal-og #qh-charcoal-final .recv-bar-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .recv-bar-tools .search-field { display: flex; align-items: center; gap: 6px; margin: 0; }
html body.qh-portal-og #qh-charcoal-final .recv-bar-tools input { width: 11rem; min-height: 36px; }

/* Phone bar, staff: History, Order, Catalog, Specials, Find, then Resources, Settings, Operations, Help, More. */
@media (max-width: 860px) {
  html body.qh-portal-og:is([data-role="staff"], [data-role="admin"], [data-role="employee"]) #qh-charcoal-final .cc-bottom-nav > [data-bottom="customer"] { grid-column: 1; grid-row: 1; }
  html body.qh-portal-og:is([data-role="staff"], [data-role="admin"], [data-role="employee"]) #qh-charcoal-final .cc-bottom-nav > [data-bottom="order-entry"] { grid-column: 2; grid-row: 1; display: flex !important; }
  html body.qh-portal-og:is([data-role="staff"], [data-role="admin"], [data-role="employee"]) #qh-charcoal-final .cc-bottom-nav > [data-bottom="catalog"] { grid-column: 3; grid-row: 1; }
  html body.qh-portal-og:is([data-role="staff"], [data-role="admin"], [data-role="employee"]) #qh-charcoal-final .cc-bottom-nav > [data-bottom="specials"] { grid-column: 4; grid-row: 1; }
  html body.qh-portal-og:is([data-role="staff"], [data-role="admin"], [data-role="employee"]) #qh-charcoal-final .cc-bottom-nav > [data-bottom="find"] { grid-column: 5; grid-row: 1; display: flex !important; }
  html body.qh-portal-og:is([data-role="staff"], [data-role="admin"], [data-role="employee"]) #qh-charcoal-final .cc-bottom-nav > [data-bottom="resources"] { grid-column: 1; grid-row: 2; }
  html body.qh-portal-og:is([data-role="staff"], [data-role="admin"], [data-role="employee"]) #qh-charcoal-final .cc-bottom-nav > [data-bottom="settings"] { grid-column: 2; grid-row: 2; }
  html body.qh-portal-og:is([data-role="staff"], [data-role="admin"], [data-role="employee"]) #qh-charcoal-final .cc-bottom-nav > [data-bottom="delivery"] { grid-column: 3; grid-row: 2; display: flex !important; }
  html body.qh-portal-og:is([data-role="staff"], [data-role="admin"], [data-role="employee"]) #qh-charcoal-final .cc-bottom-nav > [data-bottom="help"] { grid-column: 4; grid-row: 2; }
  html body.qh-portal-og:is([data-role="staff"], [data-role="admin"], [data-role="employee"]) #qh-charcoal-final .cc-bottom-nav > [data-bottom="more"] { grid-column: 5; grid-row: 2; }
  html body.qh-portal-og:is([data-role="staff"], [data-role="admin"], [data-role="employee"]) #qh-charcoal-final .cc-bottom-nav > [data-bottom="labels"],
  html body.qh-portal-og:is([data-role="staff"], [data-role="admin"], [data-role="employee"]) #qh-charcoal-final .cc-bottom-nav > [data-bottom="account"],
  html body.qh-portal-og:is([data-role="staff"], [data-role="admin"], [data-role="employee"]) #qh-charcoal-final .cc-bottom-nav > [data-bottom="admin"] { display: none !important; }
  html body #qhToasts:has(.is-print) {
    left: auto; right: 8px; top: calc(8px + env(safe-area-inset-top, 0px)); bottom: auto;
    transform: none; align-items: flex-end; max-width: min(240px, calc(100vw - 16px));
  }
  html body #qhToasts:has(.is-print) .qh-toast.is-print { gap: 6px; padding: 6px 8px; font-size: 12px; border-radius: 8px; }
  html body #qhToasts:has(.is-print) .qh-toast.is-print svg { width: 16px; height: 16px; padding: 2px; border-radius: 6px; }
}

html body.qh-portal-og #qh-charcoal-final .pick-find { display: flex; flex-direction: column; gap: 4px; flex: 1 1 220px; min-width: 0; margin: 0; }
html body.qh-portal-og #qh-charcoal-final .pick-find-box { position: relative; display: flex; align-items: center; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .pick-find-box input { width: 100%; padding-right: 34px; }
html body.qh-portal-og #qh-charcoal-final .pick-find-clear {
  position: absolute; right: 2px; top: 50%; transform: translateY(-50%);
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; padding: 0; border: 0; border-radius: 6px;
  background: transparent; color: var(--muted, #665f58); cursor: pointer;
}
html body.qh-portal-og #qh-charcoal-final .pick-find-clear[hidden] { display: none !important; }
html body.qh-portal-og #qh-charcoal-final .pick-find-clear svg { width: 16px; height: 16px; }
html body.qh-portal-og #qh-charcoal-final .pick-scan-btn { display: inline-flex; align-items: center; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .pick-scan-btn svg { width: 16px; height: 16px; }
html body.qh-portal-og #qh-charcoal-final .pick-find-lines { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 3px; }
html body.qh-portal-og #qh-charcoal-final .pick-find-lines li {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 6px; align-items: baseline;
  font-size: 12px; color: var(--muted, #665f58);
}
html body.qh-portal-og #qh-charcoal-final .pick-find-lines b { color: var(--ink, #1c1916); font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .pick-find-lines span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .pick-find-lines em { font-style: normal; font-weight: 700; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .pick-find-more { grid-column: 1 / -1; }

html body .pick-scan {
  position: fixed; inset: 0; z-index: 9800; display: flex; align-items: flex-start; justify-content: center;
  padding: calc(12px + env(safe-area-inset-top, 0px)) 12px 12px; background: rgba(12, 14, 18, .45);
}
html body .pick-scan-card {
  width: min(420px, 100%); padding: 12px; border: 1px solid var(--line, #ddd); border-radius: 14px;
  background: var(--paper, #fff); color: var(--ink, #1c1916); box-shadow: 0 16px 40px rgba(0, 0, 0, .28);
}
html body .pick-scan-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
html body .pick-scan-cam { margin: 8px 0; overflow: hidden; border-radius: 10px; background: #000; aspect-ratio: 4 / 3; max-height: 36vh; }
html body .pick-scan-cam[hidden] { display: none; }
html body .pick-scan-cam video { width: 100%; height: 100%; object-fit: cover; }
html body .pick-scan p { margin: 0 0 8px; font-size: 13px; }
html body .pick-scan form { display: flex; gap: 8px; }
html body .pick-scan input { flex: 1 1 auto; min-width: 0; }

/* Phone density: shorter gaps, two-up forecast cards, sales periods on one scrolling row. */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .sp-feature { margin: 0 0 10px; }
  html body.qh-portal-og #qh-charcoal-final .sp-feature-head { margin: 0 0 6px; padding: 0 0 4px; }
  html body.qh-portal-og #qh-charcoal-final .sp-feature.is-spot { padding: 8px; }
  html body.qh-portal-og #qh-charcoal-final .sp-hero-photo,
  html body.qh-portal-og #qh-charcoal-final .sp-feature.is-spot .sp-hero-photo { height: 96px; }
  html body.qh-portal-og #qh-charcoal-final .help-group { margin: 0 0 10px; }
  html body.qh-portal-og #qh-charcoal-final .help-group > .also { margin: 0 0 6px; }
  html body.qh-portal-og #qh-charcoal-final .qh-locs .loc-zone { margin: 8px 0 0; }
  html body.qh-portal-og #qh-charcoal-final .ops-tools-page .ops-tools-sec { margin-top: 8px; }
  html body.qh-portal-og #qh-charcoal-final .home-specials { margin: 2px 0 8px; padding: 6px 10px; gap: 8px; }
  html body.qh-portal-og #qh-charcoal-final .res-section { margin: 0 0 8px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace :is(.sales-chart, .ops-months, .supplier-chart) { margin-bottom: 8px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.rpt-table tbody tr { margin: 0 0 6px; padding: 6px 8px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace table.pr-table tbody tr.pr-row { padding: 6px 8px; gap: 2px 8px; }
  html body.qh-portal-og #qh-charcoal-final .admin-wrap > .admin-card { margin: 0 0 8px; padding: 8px; }
  html body.qh-portal-og #qh-charcoal-final .fc-panel { margin: 4px 0 8px; padding: 8px 8px 6px; }
  html body.qh-portal-og #qh-charcoal-final .fc-cards { grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 6px; }
  html body.qh-portal-og #qh-charcoal-final .fc-card { padding: 6px 8px; }
  html body.qh-portal-og #qh-charcoal-final .fc-card strong { font-size: 16px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesForm .sales-period-seg {
    display: flex; flex-wrap: nowrap; overflow-x: auto; width: 100%; scrollbar-width: none;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesForm.sales-tools .sales-period-seg .ops-seg-btn {
    flex: 0 0 auto; white-space: nowrap;
  }
}

/* Hose sheet: a built hose in a pop-up over the order screen. */
html.hs-open, html.hs-open body { overflow: hidden; }
html body.qh-portal-og #qh-charcoal-final .hs-back { position: fixed; inset: 0; z-index: 9000; display: grid; place-items: center; padding: 14px; background: rgba(12, 14, 16, .55); }
html body.qh-portal-og #qh-charcoal-final .hs-panel { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; width: min(1440px, 98vw); height: min(940px, 96vh); color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 18px 60px rgba(0,0,0,.35); overflow: hidden; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .hs-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 8px 12px; border-bottom: 1px solid var(--line); background: var(--wash); }
html body.qh-portal-og #qh-charcoal-final .hs-title { font-size: 15px; font-weight: 800; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .hs-seg { display: inline-flex; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
html body.qh-portal-og #qh-charcoal-final .hs-seg-btn { padding: 5px 12px; font: inherit; font-weight: 700; color: var(--ink); background: var(--paper); border: 0; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .hs-seg-btn + .hs-seg-btn { border-left: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .hs-seg-btn.is-on { color: var(--qh-action-text, #fff); background: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .hs-dashes { display: flex; flex-wrap: wrap; gap: 3px; flex: 1 1 420px; }
html body.qh-portal-og #qh-charcoal-final .hs-dash { display: grid; justify-items: center; min-width: 46px; padding: 3px 5px; font: inherit; line-height: 1.05; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 8px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .hs-dash b { font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .hs-dash small { font-size: 10px; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .hs-dash.is-on { border-color: var(--qh-action, #8d421a); box-shadow: 0 0 0 2px var(--qh-action, #8d421a); background: var(--qh-selected, #f9eadc); }
html body.qh-portal-og #qh-charcoal-final .hs-dash:disabled { opacity: .35; cursor: default; }
html body.qh-portal-og #qh-charcoal-final .hs-x { margin-left: auto; width: 34px; height: 34px; font-size: 22px; line-height: 1; color: var(--ink); background: none; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .hs-brands { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 6px 12px; border-bottom: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .hs-brands > span { margin-right: 4px; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .hs-chip { padding: 3px 9px; font: inherit; font-size: 12px; font-weight: 700; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 999px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .hs-chip small { color: var(--muted); font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .hs-chip.is-on { border-color: var(--qh-action, #8d421a); background: var(--qh-selected, #f9eadc); }
html body.qh-portal-og #qh-charcoal-final .hs-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr); min-height: 0; }
html body.qh-portal-og #qh-charcoal-final .hs-col { display: flex; flex-direction: column; min-height: 0; min-width: 0; border-right: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .hs-col > :not(.hs-list) { flex: 0 0 auto; }
html body.qh-portal-og #qh-charcoal-final .hs-crimp { position: relative; z-index: 1; padding: 4px 8px 0; line-height: 1.3; }
html body.qh-portal-og #qh-charcoal-final .hs-col:last-child { border-right: 0; }
html body.qh-portal-og #qh-charcoal-final .hs-col-h { display: flex; align-items: center; gap: 8px; padding: 6px 8px; }
html body.qh-portal-og #qh-charcoal-final .hs-col-h > b { font-size: 13.5px; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .hs-q { flex: 1 1 auto; min-width: 0; height: 30px; padding: 3px 8px; font: inherit; font-family: ui-monospace, Consolas, monospace; font-size: 13px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .hs-same { padding: 3px 8px; font: inherit; font-size: 11.5px; font-weight: 700; color: var(--ink); background: none; border: 1px solid var(--line); border-radius: 6px; cursor: pointer; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .hs-chips { display: flex; flex-wrap: wrap; gap: 3px; padding: 0 8px 6px; }
html body.qh-portal-og #qh-charcoal-final .hs-chips .hs-chip { padding: 1px 7px; font-size: 11px; }
html body.qh-portal-og #qh-charcoal-final .hs-list { flex: 1 1 auto; min-height: 0; overflow: auto; border-top: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .hs-list-head { padding: 3px 8px; font-size: 10.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .hs-row { display: grid; width: 100%; align-items: center; gap: 6px; padding: 3px 8px; font: inherit; font-size: 12.5px; line-height: 1.2; text-align: left; color: var(--ink); background: none; border: 0; border-bottom: 1px solid var(--line); cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .hs-row:hover { background: var(--qh-hover, #eeebe5); }
html body.qh-portal-og #qh-charcoal-final .hs-row.is-on { background: #fff; color: #1c1916; box-shadow: inset 7px 0 0 #f36c21, 0 0 0 2px #f36c21; }
html body.qh-portal-og #qh-charcoal-final .hs-row.is-on :is(.hs-t, .hs-id, .hs-brand, .hs-psi, .hs-size) { color: #3a332c; }
html body.qh-portal-og #qh-charcoal-final .hs-row.is-special { opacity: .78; }
html body.qh-portal-og #qh-charcoal-final .hs-hose-row { grid-template-columns: 92px 40px 62px minmax(0, 1fr) 62px 76px; }
html body.qh-portal-og #qh-charcoal-final .hs-list-head.hs-hose-row { display: grid; }
html body.qh-portal-og #qh-charcoal-final .hs-end-row { grid-template-columns: 48px minmax(88px, 130px) minmax(0, 1fr) 30px 76px; }
html body.qh-portal-og #qh-charcoal-final .hs-sku { font-family: ui-monospace, Consolas, monospace; font-size: 12.5px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body.qh-portal-og #qh-charcoal-final .hs-t { overflow: hidden; text-overflow: ellipsis; white-space: normal; }
html body.qh-portal-og #qh-charcoal-final :is(.hs-id, .hs-brand, .hs-psi, .hs-size) { color: var(--muted); font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body.qh-portal-og #qh-charcoal-final .hs-st { justify-self: end; font-size: 11px; font-weight: 800; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .hs-st.is-in { color: #1f7a45; }
html body.qh-portal-og #qh-charcoal-final .hs-st.is-mm { color: #9a6a00; }
html body.qh-portal-og #qh-charcoal-final .hs-st.is-so { color: var(--muted); font-weight: 700; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .hs-st.is-in { color: #7fd8a0; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .hs-st.is-mm { color: #ffd479; }
html body.qh-portal-og #qh-charcoal-final .hs-thread { position: relative; display: block; width: 44px; height: 34px; }
html body.qh-portal-og #qh-charcoal-final .hs-thread img { width: 44px; height: 28px; object-fit: contain; background: #fff; border-radius: 4px; }
html body.qh-portal-og #qh-charcoal-final .hs-thread i { position: absolute; left: 50%; top: -7px; transform: translateX(-50%); min-width: 22px; padding: 0 4px; font-size: 10px; font-style: normal; font-weight: 800; line-height: 14px; text-align: center; color: #fff; background: #1c1916; border-radius: 999px; box-shadow: 0 1px 2px rgba(0,0,0,.35); }
html body.qh-portal-og #qh-charcoal-final .hs-more { display: block; width: 100%; padding: 6px 8px; font: inherit; font-size: 12px; font-weight: 700; color: var(--link, #8d421a); text-align: left; background: none; border: 0; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .hs-empty { margin: 0; padding: 10px 8px; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .hs-foot { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 8px 14px; padding: 8px 12px; border-top: 1px solid var(--line); background: var(--wash); max-height: 34vh; min-height: 0; overflow: hidden; align-items: stretch; }
html body.qh-portal-og #qh-charcoal-final .hs-build,
html body.qh-portal-og #qh-charcoal-final .hs-side { min-height: 0; min-width: 0; overflow: auto; }
html body.qh-portal-og #qh-charcoal-final .hs-acts { position: sticky; bottom: 0; padding-top: 6px; background: var(--wash, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .hs-side { display: grid; align-content: start; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .hs-side .hs-len { margin: 0; }
html body.qh-portal-og #qh-charcoal-final .hs-qty input { width: 72px; }
html body.qh-portal-og #qh-charcoal-final .hs-build { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px 10px; }
html body.qh-portal-og #qh-charcoal-final .hs-num { display: grid; gap: 2px; font-size: 11px; font-weight: 800; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .hs-num :is(input, select) { width: 92px; height: 32px; padding: 3px 7px; font: inherit; font-size: 14px; font-weight: 700; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .hs-num small { font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .hs-check { display: inline-flex; align-items: center; gap: 5px; align-self: center; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .hs-ic { width: 18px; height: 18px; flex: 0 0 auto; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .hs-fold { flex: 1 1 100%; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .hs-fold > summary { display: flex; align-items: center; gap: 6px; padding: 4px 8px; cursor: pointer; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .hs-fold > summary::-webkit-details-marker { display: none; }
html body.qh-portal-og #qh-charcoal-final .hs-fold > summary::after { content: '▸'; margin-left: auto; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .hs-fold[open] > summary::after { content: '▾'; }
html body.qh-portal-og #qh-charcoal-final .hs-fold > summary span { color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .hs-opts { display: flex; flex-wrap: wrap; gap: 4px; padding: 0 8px 8px; }
html body.qh-portal-og #qh-charcoal-final .hs-opt { display: inline-flex; align-items: center; gap: 5px; max-width: 280px; padding: 3px 8px; font: inherit; font-size: 12px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .hs-opt b { font-family: ui-monospace, Consolas, monospace; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .hs-opt span:not(.hs-st) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .hs-opt.is-on { border-color: var(--qh-action, #8d421a); background: var(--qh-selected, #f9eadc); }
html body.qh-portal-og #qh-charcoal-final .hs-note { display: flex; flex: 1 1 100%; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .hs-note input { flex: 1 1 auto; height: 32px; padding: 3px 8px; font: inherit; font-size: 13px; color: var(--ink); background: var(--paper); border: 1px dashed var(--line); border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .hs-sum { display: grid; align-content: start; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .hs-short { margin: 0; font-family: ui-monospace, Consolas, monospace; font-size: 13px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .hs-parts { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .hs-parts li { display: grid; grid-template-columns: 18px 54px minmax(0, 1fr) auto; align-items: center; gap: 6px; padding: 2px 8px; border-top: 1px solid var(--line); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .hs-parts li:first-child { border-top: 0; }
html body.qh-portal-og #qh-charcoal-final .hs-parts i { font-style: normal; font-size: 10.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .hs-parts b { font-family: ui-monospace, Consolas, monospace; }
html body.qh-portal-og #qh-charcoal-final .hs-parts em { font-style: normal; color: var(--muted); white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .hs-acts { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .hs-need { flex: 1 1 200px; font-size: 12px; font-weight: 700; color: #9a6a00; }
html body.qh-portal-og #qh-charcoal-final .hs-need.is-ok { color: var(--muted); font-weight: 600; }
@media (max-width: 1080px) {
  html body.qh-portal-og #qh-charcoal-final .hs-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); overflow: hidden; }
  html body.qh-portal-og #qh-charcoal-final .hs-col[data-hs-col="hose"] { grid-column: 1 / -1; max-height: none; border-right: 0; border-bottom: 1px solid var(--line); }
  html body.qh-portal-og #qh-charcoal-final .hs-col { max-height: none; }
  html body.qh-portal-og #qh-charcoal-final .hs-foot { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
}
@media (max-width: 700px) {
  html body.qh-portal-og #qh-charcoal-final .hs-back { padding: 0; }
  html body.qh-portal-og #qh-charcoal-final .hs-panel { width: 100%; max-width: 100%; height: 100dvh; border-radius: 0; grid-template-rows: auto auto minmax(0, 1fr) auto; }
  html body.qh-portal-og #qh-charcoal-final .hs-head { padding: 6px 8px; gap: 6px; }
  html body.qh-portal-og #qh-charcoal-final .hs-dashes { flex-wrap: nowrap; overflow-x: auto; flex-basis: 100%; order: 3; }
  html body.qh-portal-og #qh-charcoal-final .hs-grid { grid-template-columns: 1fr; overflow: auto; }
  html body.qh-portal-og #qh-charcoal-final .hs-col { max-height: none; border-right: 0; border-bottom: 1px solid var(--line); }
  html body.qh-portal-og #qh-charcoal-final .hs-list { max-height: 34vh; }
  html body.qh-portal-og #qh-charcoal-final .hs-hose-row { grid-template-columns: 84px minmax(0, 1fr) 70px; }
  html body.qh-portal-og #qh-charcoal-final .hs-hose-row :is(.hs-id, .hs-brand, .hs-psi) { display: none; }
  html body.qh-portal-og #qh-charcoal-final .hs-list-head.hs-hose-row { display: none; }
  html body.qh-portal-og #qh-charcoal-final .hs-end-row { grid-template-columns: 48px minmax(0, 1.4fr) minmax(0, 1fr) auto; }
  html body.qh-portal-og #qh-charcoal-final .hs-end-row .hs-size { display: none; }
  html body.qh-portal-og #qh-charcoal-final .hs-thread { width: 44px; height: 30px; overflow: hidden; }
  html body.qh-portal-og #qh-charcoal-final .hs-thread img { width: 44px; height: 28px; }
  html body.qh-portal-og #qh-charcoal-final .hs-thread i { top: auto; right: 0; bottom: 0; left: auto; transform: none; }
  html body.qh-portal-og #qh-charcoal-final .hs-sku { position: relative; z-index: 1; }
  html body.qh-portal-og #qh-charcoal-final .hs-foot { display: flex; flex-direction: column; max-height: none; overflow: visible; padding: 6px 8px; }
  html body.qh-portal-og #qh-charcoal-final .hs-panel { height: auto; min-height: 100dvh; overflow: auto; }
  html body.qh-portal-og #qh-charcoal-final .hs-acts .action-btn { flex: 1 1 100%; min-height: 46px; }
}

/* A built hose on the order: one #XX HOSE line, its parts listed tight underneath. */
html body.qh-portal-og #qh-charcoal-final .oe-line.is-asm { background: color-mix(in srgb, var(--qh-selected, #f9eadc) 45%, transparent); border-left: 4px solid var(--qh-action, #8d421a); border-top: 2px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .oe-line.is-asm + .oe-line { border-top: 2px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .oe-asm-head { display: flex; align-items: center; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-asm-sku { font-family: ui-monospace, Consolas, monospace; font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .oe-asm-tag { padding: 0 6px; font-size: 10.5px; font-weight: 800; color: var(--muted); border: 1px solid var(--line); border-radius: 999px; }
html body.qh-portal-og #qh-charcoal-final .oe-asm-desc { display: block; font-family: ui-monospace, Consolas, monospace; font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .oe-asm-parts { display: grid; margin: 3px 0 0; padding: 0; list-style: none; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .oe-asm-parts li { display: grid; grid-template-columns: 16px 46px 112px minmax(0, 1fr) auto 70px minmax(62px, auto); align-items: center; gap: 6px; padding: 1px 6px; font-size: 11.5px; line-height: 1.35; border-top: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .oe-asm-parts li:first-child { border-top: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-asm-parts .hs-ic { width: 15px; height: 15px; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-asm-parts i { font-style: normal; font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-asm-parts b { font-family: ui-monospace, Consolas, monospace; font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body.qh-portal-og #qh-charcoal-final .oe-asm-parts span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-asm-parts em { font-style: normal; text-align: right; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .oe-asm-parts em.is-out { color: #b42318; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .oe-asm-note { display: block; margin-top: 2px; font-size: 11.5px; font-weight: 700; }
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .oe-asm-parts li { grid-template-columns: 16px 52px minmax(72px, 1fr) auto auto; width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .oe-asm-parts li > span,
  html body.qh-portal-og #qh-charcoal-final .oe-asm-parts li > em:nth-of-type(2) { display: none; }
  html body.qh-portal-og #qh-charcoal-final .oe-asm-parts li > em:last-child { display: block; font-weight: 800; }
  html body.qh-portal-og #qh-charcoal-final .order-lines li > .asm-parts { margin-left: 0; }
}

/* The line tools (move, insert, note, delete) wrap inside their column instead of spilling left. */
html body.qh-portal-og #qh-charcoal-final .oe-line-tools { flex-wrap: wrap; row-gap: 4px; }

/* Order history: open sales orders first, marked, with their own refresh. */
html body.qh-portal-og #qh-charcoal-final .hist-section.hist-open-hi { border-left: 4px solid var(--qh-action, #8d421a); background: color-mix(in srgb, var(--qh-selected, #f9eadc) 40%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .hist-section.hist-open-hi:not(.has-open) { border-left-color: var(--line); background: var(--paper); opacity: .85; }
html body.qh-portal-og #qh-charcoal-final .hist-open-tools { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; }
html body.qh-portal-og #qh-charcoal-final .hist-open-tools small { color: var(--muted); }

/* Crimp chart: every hose size gets its own banner. */
html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-banded { border-collapse: separate; border-spacing: 0 6px; }
html body.qh-portal-og #qh-charcoal-final .crimp-banded .crimp-banner th { padding: 5px 10px; text-align: left; font-weight: 700; color: var(--qh-action-text, #fff); background: var(--qh-header, #37332f); border-radius: 8px 8px 0 0; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .crimp-banded .crimp-banner th { color: #201b12; background: #ffdf91; }
html body.qh-portal-og #qh-charcoal-final .crimp-banded .crimp-banner b { font-size: 18px; margin-right: 10px; letter-spacing: .02em; }
html body.qh-portal-og #qh-charcoal-final .crimp-banded .crimp-banner span { font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .crimp-banded .crimp-banner em { float: right; font-style: normal; font-size: 15px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .crimp-banded .crimp-data td { background: var(--paper); border-bottom: 1px solid var(--line); vertical-align: top; }
html body.qh-portal-og #qh-charcoal-final .crimp-banded .crimp-data td:first-child { border-left: 1px solid var(--line); border-radius: 0 0 0 8px; }
html body.qh-portal-og #qh-charcoal-final .crimp-banded .crimp-data td:last-child { border-right: 1px solid var(--line); border-radius: 0 0 8px 0; }
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .crimp-banded, html body.qh-portal-og #qh-charcoal-final .crimp-banded tbody { display: block; }
  html body.qh-portal-og #qh-charcoal-final .crimp-banded thead { display: none; }
  html body.qh-portal-og #qh-charcoal-final .crimp-banded .crimp-group { margin-bottom: 8px; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
  html body.qh-portal-og #qh-charcoal-final .crimp-banded .crimp-banner, html body.qh-portal-og #qh-charcoal-final .crimp-banded .crimp-banner th { display: block; border-radius: 0; }
  html body.qh-portal-og #qh-charcoal-final .crimp-banded .crimp-data { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body.qh-portal-og #qh-charcoal-final .crimp-banded .crimp-data td { display: block; padding: 4px 8px; border: 0; border-radius: 0; }
  html body.qh-portal-og #qh-charcoal-final .crimp-banded .crimp-data td::before { content: attr(data-label); display: block; font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
}

/* Catalog search: Add hose next to Search. */
html body.qh-portal-og #qh-charcoal-final .search-add-hose { display: inline-flex; align-items: center; gap: 4px; margin-left: 6px; padding: 0 10px; font: inherit; font-size: 13px; font-weight: 700; white-space: nowrap; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 8px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .search-add-hose svg { width: 18px; height: 18px; }

/* Order from a photo. */
html body.qh-portal-og #qh-charcoal-final .oe-ai-btn { border-style: dashed; }
html body.qh-portal-og #qh-charcoal-final .oe-photo-table { width: 100%; border-collapse: collapse; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .oe-photo-table th { padding: 3px 6px; text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); border-bottom: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .oe-photo-table td { padding: 3px 6px; border-bottom: 1px solid var(--line); vertical-align: middle; }
html body.qh-portal-og #qh-charcoal-final .oe-photo-table tr.is-check td { background: color-mix(in srgb, #ffd479 22%, transparent); }
html body.qh-portal-og #qh-charcoal-final .oe-photo-qty { width: 70px; }
html body.qh-portal-og #qh-charcoal-final .oe-photo-sku { width: 150px; font-family: ui-monospace, Consolas, monospace; }
html body.qh-portal-og #qh-charcoal-final :is(.oe-photo-qty, .oe-photo-sku) { height: 30px; padding: 2px 6px; font-size: 13px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .oe-photo-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 8px 0 0; }

/* Receiving: a MISC line shows the PO description as the item. */
html body.qh-portal-og #qh-charcoal-final .recv-catchall b { font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .recv-catchall-tag { display: inline-block; margin-left: 8px; padding: 0 6px; font-size: 11px; font-weight: 700; color: var(--muted); border: 1px solid var(--line); border-radius: 999px; }

@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd.crimp-banded tr.crimp-banner { display: block; padding: 0; border-top: 0; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd.crimp-banded tr.crimp-data { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 2px 0; border-top: 0; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd.crimp-banded .crimp-banner th { display: block; width: auto; color: var(--qh-action-text, #fff); background: var(--qh-header, #37332f); }
  html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd.crimp-banded .crimp-banner th { color: #201b12; background: #ffdf91; }
}
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd.crimp-banded tr.crimp-data td { grid-column: auto; border: 0; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd.crimp-banded tr.crimp-data td[data-label="Setup"], html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd.crimp-banded tr.crimp-data td.crimp-note { grid-column: 1 / -1; }
  html body.qh-portal-og #qh-charcoal-final .crimp-table.crimp-hyd.crimp-banded tr.crimp-data td::before { display: none; }
}
@media (max-width: 700px) {
  html body.qh-portal-og #qh-charcoal-final .hs-panel { display: block; overflow: visible; height: auto; min-height: 100dvh; }
  html body.qh-portal-og #qh-charcoal-final .hs-head { position: static; }
  html body.qh-portal-og #qh-charcoal-final .hs-grid { display: flex; flex-direction: column; min-height: 0; overflow: visible; }
  html body.qh-portal-og #qh-charcoal-final .hs-col { display: flex; flex: 0 0 auto; min-height: 0; max-height: none; }
  html body.qh-portal-og #qh-charcoal-final .hs-col.is-folded { flex: 0 0 auto; }
  html body.qh-portal-og #qh-charcoal-final .hs-list { flex: 0 1 auto; max-height: 42vh; overflow-y: auto; }
  html body.qh-portal-og #qh-charcoal-final .hs-foot { display: flex; flex-direction: column; max-height: none; overflow: visible; grid-template-columns: 1fr; }
  html body.qh-portal-og #qh-charcoal-final .hs-col-h { flex-wrap: wrap; }
  html body.qh-portal-og #qh-charcoal-final .hs-q { min-width: 140px; }
}

/* Today's AI briefing on the account page (managers). */
html body.qh-portal-og #qh-charcoal-final .acct-brief { margin: 0 0 10px; padding: 8px 12px; border: 1px solid var(--line); border-left: 4px solid #3d6b8a; border-radius: 8px; background: var(--paper); font-size: 13.5px; }
html body.qh-portal-og #qh-charcoal-final .acct-brief-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin: 0 0 4px; }
html body.qh-portal-og #qh-charcoal-final .acct-brief-head small { color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .acct-brief-text { margin: 0 0 4px; line-height: 1.45; }
html body.qh-portal-og #qh-charcoal-final .acct-brief-points { margin: 0; padding-left: 18px; line-height: 1.4; }
html body.qh-portal-og #qh-charcoal-final .brief-src { margin-left: 4px; padding: 0 5px; font-size: 10.5px; font-weight: 700; color: var(--muted); border: 1px solid var(--line); border-radius: 999px; white-space: nowrap; }

/* Hose sheet, round 2: plain type for part numbers, end families, cover groups, length units. */
html body.qh-portal-og #qh-charcoal-final :is(.hs-sku, .hs-short, .hs-parts b, .hs-opt b, .hs-q, .oe-asm-sku, .oe-asm-desc, .oe-asm-parts b) { font-family: inherit; font-variant-numeric: tabular-nums; letter-spacing: .005em; }
html body.qh-portal-og #qh-charcoal-final :is(.hs-sku, .oe-asm-parts b, .hs-parts b) { font-weight: 650; }
html body.qh-portal-og #qh-charcoal-final .hs-short, html body.qh-portal-og #qh-charcoal-final .oe-asm-desc { font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .hs-fams { align-items: center; }
html body.qh-portal-og #qh-charcoal-final .hs-fams > span { margin-right: 2px; font-size: 10.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .hs-opt-group { padding: 0 8px; }
html body.qh-portal-og #qh-charcoal-final .hs-opt-group .hs-opts { padding: 0 0 6px; }
html body.qh-portal-og #qh-charcoal-final .hs-opt-h { display: flex; align-items: center; gap: 5px; margin: 4px 0 3px; font-size: 11.5px; font-weight: 800; color: var(--ink); }
html body.qh-portal-og #qh-charcoal-final .hs-opt-h small { font-weight: 600; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .hs-len-row { display: inline-flex; align-items: center; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .hs-premade { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
html body.qh-portal-og #qh-charcoal-final .hs-premade button { min-height: 28px; padding: 2px 8px; font: inherit; font-size: 12px; font-weight: 800; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 999px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .hs-premade button.is-on { color: #fff; background: var(--qh-action, #f36c21); border-color: var(--qh-action, #f36c21); }
html body.qh-portal-og #qh-charcoal-final .sheet-filter-btn { display: none; }
@media (max-width: 860px) {
  html body.qh-portal-og #qh-charcoal-final .sheet-filter-btn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin-right: 8px; padding: 0; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 8px; }
  html body.qh-portal-og #qh-charcoal-final .sheet-filter-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
}
html body.qh-portal-og #qh-charcoal-final .hs-unit { display: inline-flex; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
html body.qh-portal-og #qh-charcoal-final .hs-unit button { padding: 5px 8px; font: inherit; font-size: 12px; font-weight: 700; color: var(--ink); background: var(--paper); border: 0; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .hs-unit button + button { border-left: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .hs-unit button.is-on { color: var(--qh-action-text, #fff); background: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .hs-len small { font-size: 12px; color: var(--ink); }
/* Sales screen: labeled control groups (period, who, amounts; graph, layers, compare). */
html body.qh-portal-og #qh-charcoal-final .sales-ctl { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0 0 6px; }
html body.qh-portal-og #qh-charcoal-final .sales-ctl-group { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .sales-ctl-group > span { font-size: 10.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .sales-tools { display: block; }
html body.qh-portal-og #qh-charcoal-final .sales-tools .sales-filters { padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--wash); }
html body.qh-portal-og #qh-charcoal-final .sales-mini :is(select, input) { height: 30px; min-width: 150px; padding: 2px 8px; font: inherit; font-size: 13px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .sales-chart .sales-ctl { padding: 4px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--wash); }
html body.qh-portal-og #qh-charcoal-final .sales-chart .sales-overlays { margin: 0; }
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops h1.page.is-section { margin: 0 0 4px; font-size: 20px; }
  html body.qh-portal-og #qh-charcoal-final .sales-ctl { gap: 4px 8px; margin: 0 0 4px; }
  html body.qh-portal-og #qh-charcoal-final .sales-top-ctl { flex-wrap: nowrap; }
  html body.qh-portal-og #qh-charcoal-final .sales-period-group { flex: 1 1 auto; flex-wrap: nowrap; overflow: hidden; }
  html body.qh-portal-og #qh-charcoal-final .sales-period-group > span { display: none; }
  html body.qh-portal-og #qh-charcoal-final .sales-period-seg { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  html body.qh-portal-og #qh-charcoal-final .sales-period-seg .ops-seg-btn { flex: 0 0 auto; padding: 5px 9px; font-size: 12.5px; white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final .sales-tools .sales-filters { padding: 4px 6px; }
  html body.qh-portal-og #qh-charcoal-final .sales-who-group { flex: 1 1 100%; flex-wrap: nowrap; }
  html body.qh-portal-og #qh-charcoal-final .sales-mini { flex: 1 1 0; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .sales-mini :is(select, input) { width: 100%; min-width: 0; height: 30px; }
  html body.qh-portal-og #qh-charcoal-final .sales-ctl .ops-seg-btn { padding: 4px 8px; font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final .sales-chart .sales-ctl { padding: 3px 6px; }
  html body.qh-portal-og #qh-charcoal-final .sales-metrics { gap: 4px; }
}@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace #salesForm.sales-tools .sales-filters,
  html body.qh-portal-og #qh-charcoal-final #salesForm.sales-tools .sales-filters { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; }
  html body.qh-portal-og #qh-charcoal-final #salesForm .sales-ctl-group { width: 100%; }
  html body.qh-portal-og #qh-charcoal-final #salesForm .sales-ctl-group > span { min-width: 58px; }
  html body.qh-portal-og #qh-charcoal-final #salesForm .sales-basis-seg { flex: 1 1 auto; display: flex; }
  html body.qh-portal-og #qh-charcoal-final #salesForm .sales-basis-seg .ops-seg-btn { flex: 1 1 0; white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final .sales-chart .sales-ctl-group { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  html body.qh-portal-og #qh-charcoal-final .sales-chart .sales-ctl-group .ops-seg { flex-wrap: nowrap; }
  html body.qh-portal-og #qh-charcoal-final .sales-chart .sales-ctl-group .ops-seg-btn { flex: 0 0 auto; white-space: nowrap; }
}
html body.qh-portal-og #oeHop { position: fixed; inset: 0; z-index: 80; display: flex; align-items: flex-end; justify-content: center; padding: 16px; background: rgba(0, 0, 0, 0.45); }
html body.qh-portal-og #oeHop .oe-hop { width: min(420px, 100%); margin-bottom: 64px; padding: 14px; background: var(--paper, #fff); color: var(--ink, #1a1a1a); border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28); }
html body.qh-portal-og #oeHop .oe-hop > p { margin: 0 0 8px; font-weight: 800; }
html body.qh-portal-og #oeHop .oe-hop button { display: flex; flex-direction: column; align-items: flex-start; width: 100%; margin: 6px 0; padding: 10px 12px; text-align: left; font: inherit; font-weight: 750; color: inherit; background: var(--wash, #f4f1ec); border: 1px solid var(--line, #ddd); border-radius: 10px; cursor: pointer; }
html body.qh-portal-og #oeHop .oe-hop button small { font-weight: 500; opacity: 0.75; }
html body.qh-portal-og #oeHop .oe-hop button.ghost-btn { align-items: center; font-weight: 650; background: transparent; }
html body.qh-portal-og #oeReturnBar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; padding: 8px 14px; background: #f36c21; color: #fff; }
html body.qh-portal-og #oeReturnBar[hidden] { display: none; }
html body.qh-portal-og #oeReturnBar .ghost-btn { color: #fff; border-color: rgba(255, 255, 255, 0.7); }
@media (min-width: 800px) {
  html body.qh-portal-og #oeHop { align-items: center; }
  html body.qh-portal-og #oeHop .oe-hop { margin-bottom: 0; }
}
@media print {
  html body.qh-portal-og #qh-charcoal-final :is(#bottomNav, .bottom-nav, .cc-bottom-nav, #appChrome, .app-chrome, .app-chrome-pad, #moreSheet, .more-sheet, .crumbs, .cc-rail, aside, .ops-side, .oe-actions, .oe-tools-bar, .oe-send-row, .pick-sheet-actions, .no-print, #qhBusyBar, #qhFind, #oeHop, #oeReturnBar, #suggest) {
    display: none !important;
  }
}
html body.qh-portal-og #qh-charcoal-final .box-scan { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; margin: 8px 0; }
html body.qh-portal-og #qh-charcoal-final .box-scan label { display: flex; flex-direction: column; gap: 4px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .box-scan input { min-width: 16rem; }
html body.qh-portal-og #qh-charcoal-final .box-say { margin: 0 0 10px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .box-row { display: flex; flex-wrap: wrap; gap: 6px; align-items: stretch; margin: 0 0 8px; }
html body.qh-portal-og #qh-charcoal-final .box-row > span { flex: 0 0 5.5rem; align-self: center; font-size: 12px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .box-cell { flex: 1 1 7rem; min-width: 6.5rem; max-width: 11rem; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 6px 8px; text-align: left; font: inherit; color: inherit; background: var(--paper, #fff); border: 1px solid var(--line, #ddd); border-radius: 8px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .box-cell.is-full { border-color: #f36c21; background: color-mix(in srgb, #f36c21 12%, var(--paper, #fff)); }
html body.qh-portal-og #qh-charcoal-final .box-cell b { font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .box-cell span, html body.qh-portal-og #qh-charcoal-final .box-cell small { font-size: 11px; font-weight: 650; }
html body.qh-portal-og #qh-charcoal-final .fr-type-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; }
html body.qh-portal-og #qh-charcoal-final .fr-type { display: flex; align-items: center; gap: 10px; margin: 12px 0 6px; }
html body.qh-portal-og #qh-charcoal-final .fr-type img, html body.qh-portal-og #qh-charcoal-final .fr-type-img { width: 54px; height: 54px; object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .section-head .fr-type-img { width: 42px; height: 42px; }
html body.qh-portal-og #qh-charcoal-final .hs-tap { display: none; margin: 0; padding: 4px 8px; font-size: 12px; font-weight: 700; color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .hs-picked-line { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; padding: 8px; }
html body.qh-portal-og #qh-charcoal-final .hs-picked-line span { min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .hs-picked-line b { display: block; font-size: 14px; color: var(--ink); }
html body.qh-portal-og #qh-charcoal-final .hs-picked-line small { display: block; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .hs-col.is-folded .hs-list, html body.qh-portal-og #qh-charcoal-final .hs-col.is-folded .hs-q { display: none; }
/* Catalog home: hose assemblies, three ways in, right above Fluid power. */
html body.qh-portal-og #qh-charcoal-final .home-hose-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
html body.qh-portal-og #qh-charcoal-final .home-hose-btn { display: flex; align-items: center; gap: 10px; min-height: 64px; padding: 8px 12px; color: var(--ink); text-decoration: none; background: var(--paper); border: 1px solid var(--line); border-left: 4px solid var(--qh-action, #f36c21); border-radius: 12px; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
html body.qh-portal-og #qh-charcoal-final .home-hose-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0, 0, 0, .16); border-color: var(--qh-action, #f36c21); }
html body.qh-portal-og #qh-charcoal-final .home-hose-btn b { display: block; font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .home-hose-btn small { display: block; color: var(--muted); font-size: 12px; line-height: 1.25; }
html body.qh-portal-og #qh-charcoal-final .home-hose-pic { flex: 0 0 48px; width: 48px; height: 48px; display: grid; place-items: center; overflow: hidden; background: #fff; border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .home-hose-pic img { max-width: 100%; max-height: 100%; object-fit: contain; }
@media (max-width: 700px) {
  html body.qh-portal-og #qh-charcoal-final .home-hose-row { grid-template-columns: 1fr; gap: 6px; }
  html body.qh-portal-og #qh-charcoal-final .home-hose-btn { min-height: 54px; padding: 6px 10px; }
}
/* Entrances: lanes, tiles and the hose sheet sections ease in once, a little apart. */
@keyframes qhRise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes qhGlow { 0%, 100% { box-shadow: none; } 50% { box-shadow: none; } }
@keyframes qhNudge { 0%, 100% { transform: none; } 50% { transform: translateX(3px); } }
html body.qh-portal-og #qh-charcoal-final .home-lane { animation: qhRise .35s ease both; }
html body.qh-portal-og #qh-charcoal-final .home-lane:nth-of-type(2) { animation-delay: .04s; }
html body.qh-portal-og #qh-charcoal-final .home-lane:nth-of-type(3) { animation-delay: .08s; }
html body.qh-portal-og #qh-charcoal-final .home-lane:nth-of-type(n+4) { animation-delay: .12s; }
html body.qh-portal-og #qh-charcoal-final .hs-panel > * { animation: none; }
html body.qh-portal-og #qh-charcoal-final .hs-panel[data-step="brand"] .hs-brands,
html body.qh-portal-og #qh-charcoal-final .hs-panel[data-step="hose"] [data-hs-col="hose"] .hs-col-h,
html body.qh-portal-og #qh-charcoal-final .hs-panel[data-step="end1"] [data-hs-col="end1"] .hs-col-h,
html body.qh-portal-og #qh-charcoal-final .hs-panel[data-step="end2"] [data-hs-col="end2"] .hs-col-h { box-shadow: inset 3px 0 0 var(--qh-action, #f36c21); border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .hs-panel[data-step="foot"] .hs-len { box-shadow: inset 3px 0 0 var(--qh-action, #f36c21); }
html body.qh-portal-og #qh-charcoal-final .hs-row, html body.qh-portal-og #qh-charcoal-final .hs-chip, html body.qh-portal-og #qh-charcoal-final .hs-dash, html body.qh-portal-og #qh-charcoal-final .hs-seg-btn { transition: background-color .15s ease, color .15s ease, transform .12s ease; }
html body.qh-portal-og #qh-charcoal-final .hs-row:active, html body.qh-portal-og #qh-charcoal-final .hs-chip:active, html body.qh-portal-og #qh-charcoal-final .hs-dash:active { transform: scale(.98); }
html body.qh-portal-og #qh-charcoal-final .hs-row.is-on { animation: qhRise .2s ease; }
html body.qh-portal-og #qh-charcoal-final .hs-tap { animation: qhNudge 1s ease-in-out 2; }
@media (prefers-reduced-motion: reduce) {
  html body.qh-portal-og #qh-charcoal-final :is(.home-lane, .hs-panel > *, .hs-brands, .hs-col-h, .hs-row.is-on, .hs-tap, .hs-acts .action-btn) { animation: none !important; }
}
html[data-calm] body.qh-portal-og #qh-charcoal-final :is(.home-lane, .hs-panel > *, .hs-brands, .hs-col-h, .hs-row.is-on, .hs-tap, .hs-acts .action-btn) { animation: none !important; }
/* A few more: catalog tiles lift on hover, a filled order line settles in, the confirm panel and specials cards ease up. */
html body.qh-portal-og #qh-charcoal-final .dept-card { transition: transform .15s ease, box-shadow .15s ease; }
@media (hover: hover) { html body.qh-portal-og #qh-charcoal-final .dept-card:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0, 0, 0, .14); } }
html body.qh-portal-og #qh-charcoal-final .oe-line[data-oe-row]:not(.is-blank) { animation: qhRise .22s ease both; }
html body.qh-portal-og #qh-charcoal-final .oe-confirm { animation: qhRise .25s ease both; }
html body.qh-portal-og #qh-charcoal-final .sp-card { transition: transform .15s ease; }
html body.qh-portal-og #qh-charcoal-final .sp-card:active { transform: scale(.98); }
html body.qh-portal-og #qh-charcoal-final .oe-line-hose { color: var(--qh-action, #f36c21); }
@media (prefers-reduced-motion: reduce) {
  html body.qh-portal-og #qh-charcoal-final :is(.oe-line, .oe-confirm, .dept-card, .sp-card) { animation: none !important; transition: none !important; }
}
html[data-calm] body.qh-portal-og #qh-charcoal-final :is(.oe-line, .oe-confirm, .dept-card, .sp-card) { animation: none !important; transition: none !important; }
/* Order screen: the hose button and the order location. */
html body.qh-portal-og #qh-charcoal-final .oe-hose-top { display: none; }
html body.qh-portal-og #qh-charcoal-final .oe-loc-field select { min-width: 9rem; }
html body.qh-portal-og #qh-charcoal-final .oe-loc-field { display: flex; flex-direction: column; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .oe-loc-btn { min-width: 6.5rem; min-height: 36px; padding: 4px 10px; font: inherit; font-weight: 800; text-align: left; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 7px; cursor: pointer; }
html body.qh-portal-og #oeLocPop { position: fixed; inset: 0; z-index: 90; display: flex; align-items: center; justify-content: center; padding: 10px; background: rgba(0, 0, 0, .45); }
html body.qh-portal-og #oeLocPop .oe-loc-pop { width: min(460px, 100%); max-height: 92vh; overflow: auto; padding: 10px; color: var(--ink, #1a1a1a); background: var(--paper, #fff); border-radius: 12px; box-shadow: 0 12px 36px rgba(0, 0, 0, .35); animation: qhRise .18s ease both; }
html body.qh-portal-og #oeLocPop .oe-loc-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
html body.qh-portal-og #oeLocPop .oe-loc-head b { flex: 1 1 auto; font-size: 15px; }
html body.qh-portal-og #oeLocPop .oe-loc-x { width: 32px; height: 32px; font-size: 20px; line-height: 1; color: inherit; background: none; border: 1px solid var(--line, #ddd); border-radius: 8px; cursor: pointer; }
html body.qh-portal-og #oeLocPop .oe-loc-row { display: grid; grid-template-columns: 4fr 4fr 1.2fr; gap: 8px; }
html body.qh-portal-og #oeLocPop .oe-loc-g { margin: 0 0 6px; }
html body.qh-portal-og #oeLocPop .oe-loc-g > b { display: block; margin: 0 0 3px; font-size: 10.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--muted, #777); }
html body.qh-portal-og #oeLocPop .oe-loc-grid { display: grid; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: 3px; }
html body.qh-portal-og #oeLocPop .oe-loc-cell { min-height: 32px; padding: 0; font: inherit; font-size: 12.5px; font-weight: 800; color: inherit; background: var(--wash, #f3f0ea); border: 1px solid var(--line, #ddd); border-radius: 6px; cursor: pointer; }
html body.qh-portal-og #oeLocPop .oe-loc-cell:hover { border-color: var(--qh-action, #f36c21); }
html body.qh-portal-og #oeLocPop .oe-loc-cell.is-on { color: #fff; background: var(--qh-action, #f36c21); border-color: var(--qh-action, #f36c21); }
/* Manager cost view: shown only while Hold for cost is pressed. */
html body.qh-portal-og #qh-charcoal-final .oe-cost-hold { margin: 4px 0 8px; padding: 6px 12px; font: inherit; font-size: 12.5px; font-weight: 800; color: var(--muted); background: transparent; border: 1px dashed var(--line); border-radius: 999px; cursor: pointer; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; touch-action: none; }
html body.qh-portal-og #qh-charcoal-final .oe-page.is-cost .oe-cost-hold { color: #fff; background: #1d4e89; border-style: solid; border-color: #1d4e89; }
html body.qh-portal-og #qh-charcoal-final .oe-cost-tag { grid-column: 1 / -1; padding: 2px 8px; font-size: 12px; font-weight: 800; color: #1d4e89; background: color-mix(in srgb, #1d4e89 10%, transparent); border-radius: 6px; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .oe-cost-tag { color: #9cc4f5; }
html body.qh-portal-og #qh-charcoal-final .oe-cost-tag.is-bad { color: #b42318; background: color-mix(in srgb, #b42318 12%, transparent); }
html body.qh-portal-og #qh-charcoal-final .oe-cost-tag.is-none { color: var(--muted); background: transparent; }
/* Hose button on each line. */
html body.qh-portal-og #qh-charcoal-final .oe-hose-ic { width: 20px !important; height: 20px !important; }
html body.qh-portal-og #qh-charcoal-final .oe-hose-ic .oe-hose-ic-line { fill: none; stroke: var(--qh-action, #f36c21); stroke-width: 2.6; stroke-linecap: round; }
html body.qh-portal-og #qh-charcoal-final .oe-hose-ic .oe-hose-ic-fit { fill: currentColor; stroke: none; }
/* Hose sheet: hose type is easy to find, stars mark the most-used parts. */
html body.qh-portal-og #qh-charcoal-final .hs-kind-wrap { display: inline-flex; align-items: center; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .hs-kind-label { font-size: 10.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .hs-star { margin-right: 3px; font-style: normal; color: #e0a100; }
html body.qh-portal-og #qh-charcoal-final .hs-common-btn { font-weight: 800; }
@media (max-width: 700px) {
  html body.qh-portal-og #qh-charcoal-final .hs-kind-wrap { order: 2; display: flex; flex-direction: column; align-items: stretch; flex: 1 1 100%; gap: 3px; }
  html body.qh-portal-og #qh-charcoal-final .hs-kind-wrap .hs-seg { display: flex; width: 100%; border-width: 2px; border-color: var(--qh-action, #f36c21); }
  html body.qh-portal-og #qh-charcoal-final .hs-kind-wrap .hs-seg-btn { flex: 1 1 0; min-height: 42px; font-size: 15px; font-weight: 800; }
  html body.qh-portal-og #oeLocPop .oe-loc-cell { min-height: 36px; }
}
html body.qh-portal-og #qh-charcoal-final .add-order-btn .aob-short { display: none; }
@media (max-width: 700px) {
  html body.qh-portal-og #qh-charcoal-final .oe-hose-top { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 46px; margin: 4px 0 8px; font: inherit; font-size: 15px; font-weight: 800; color: #fff; background: var(--qh-action, #f36c21); border: 0; border-radius: 10px; cursor: pointer; }
  html body.qh-portal-og #qh-charcoal-final .oe-hose-top .hs-ic { width: 20px; height: 20px; color: #fff; }
  html body.qh-portal-og #qh-charcoal-final .add-order-btn .aob-long { display: none; }
  html body.qh-portal-og #qh-charcoal-final .add-order-btn .aob-short { display: inline; }
  /* Hose sheet a touch roomier on a phone. */
  html body.qh-portal-og #qh-charcoal-final .hs-row { min-height: 40px; padding: 5px 8px; font-size: 13.5px; }
  html body.qh-portal-og #qh-charcoal-final .hs-chip { min-height: 30px; font-size: 13px; }
  html body.qh-portal-og #qh-charcoal-final .hs-col-h > b { font-size: 14.5px; }
  /* Catalog part rows on a phone: the part across the top; stock, price, History and the order buttons on one line. */
  html body.qh-portal-og #qh-charcoal-final table.adapter-results tbody tr:not(.detail-row):not(.group-row):not(.sheet-size-row) {
    grid-template-columns: max-content minmax(0, 1fr) max-content max-content !important;
    grid-template-areas: "part part part part" "stock price history add" !important;
    column-gap: 6px !important; row-gap: 4px !important; padding: 6px 6px !important;
  }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-price { justify-self: start !important; text-align: left !important; max-width: none !important; font-size: 13.5px; font-weight: 800; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-stock { max-width: 76px; overflow: hidden; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .stock-word { max-width: 54px; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-add .qty-add { flex-wrap: nowrap; gap: 4px; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .qty-nudge { width: 28px !important; min-width: 28px !important; min-height: 38px !important; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .qty-step .qty,
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add .qty { width: 32px !important; min-width: 32px !important; flex-basis: 32px !important; height: 38px !important; min-height: 38px !important; padding: 0 2px !important; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add .add-btn { height: 38px !important; min-height: 38px !important; min-width: 0 !important; padding: 0 10px !important; font-size: 13.5px !important; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-history-btn { width: 34px !important; min-width: 34px !important; height: 38px !important; min-height: 38px !important; padding: 0 !important; font-size: 0 !important; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-sub { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
  html body.qh-portal-og #qh-charcoal-final .fr-type-row { gap: 4px; }
  html body.qh-portal-og #qh-charcoal-final .fr-type-row .fr-type { margin: 0; padding: 2px 6px 2px 2px; gap: 6px; border: 1px solid var(--line); border-radius: 8px; }
  html body.qh-portal-og #qh-charcoal-final .fr-type-row .fr-type img { width: 34px; height: 34px; }
  html body.qh-portal-og #qh-charcoal-final .fr-type-row .fr-type b { font-size: 12px; }
}
@media (max-width: 700px) {
  html body.qh-portal-og #qh-charcoal-final .hs-tap { display: block; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-areas: "part part part part" "price price amt amt" "qty picked ship bo" "tools tools tools tools";
    overflow: hidden;
  }
  html body.qh-portal-og #qh-charcoal-final .oe-lines.is-counter .oe-line:not(.is-blank) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas: "part part part" "price price amt" "qty picked bo" "tools tools tools";
  }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) .oe-num input { padding: 3px 4px; text-align: center; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) .oe-num { align-self: end; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) .oe-num > span { overflow: hidden; font-size: 9px; letter-spacing: 0; text-align: center; text-transform: none; white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) .oe-bo { align-self: end; text-align: center; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) .oe-amt { align-self: center; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) .oe-part { grid-area: part; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) .oe-quantity { grid-area: qty; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) .oe-picked { grid-area: picked; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) .oe-ship { grid-area: ship; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) .oe-bo { grid-area: bo; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) .oe-price { grid-area: price; min-width: 0; overflow: hidden; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) .oe-amt { grid-area: amt; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) .oe-line-tools { grid-area: tools; justify-content: flex-end; }
  html body.qh-portal-og #qh-charcoal-final .oe-line.is-blank { grid-template-columns: minmax(0, 1fr) 3.4rem; }
  html body.qh-portal-og #qh-charcoal-final .oe-price b, html body.qh-portal-og #qh-charcoal-final .oe-price-btn { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final .oe-asm-parts li { grid-template-columns: 16px auto minmax(0, 1fr) auto auto; grid-template-rows: auto; align-items: center; }
  html body.qh-portal-og #qh-charcoal-final .oe-asm-parts .hs-ic,
  html body.qh-portal-og #qh-charcoal-final .oe-asm-parts i,
  html body.qh-portal-og #qh-charcoal-final .oe-asm-parts b,
  html body.qh-portal-og #qh-charcoal-final .oe-asm-parts em { grid-row: 1; grid-column: auto; }
  html body.qh-portal-og #qh-charcoal-final .oe-asm-parts span,
  html body.qh-portal-og #qh-charcoal-final .oe-asm-parts em:nth-of-type(3) { display: none; }
  html body.qh-portal-og #qh-charcoal-final .oe-asm-parts em:nth-of-type(2) { display: block; }
  html body.qh-portal-og #qh-charcoal-final .order-lines .asm-parts li { grid-template-columns: auto auto minmax(0, 1fr); grid-template-areas: "role qty sku"; }
  html body.qh-portal-og #qh-charcoal-final .order-lines .asm-parts .asm-desc { display: none; }
}

/* Phone and dark-mode pass (926-ui7, 926-ui8): link buttons centered, readable badges, tap room, even Boxes rows. */
html body.qh-portal-og #qh-charcoal-final .stock-quick .stock-dot { margin: 0 3px 0 1px; }
body.qh-portal-og .admin-sections a { display: inline-flex; align-items: center; }
html body.qh-portal-og #qh-charcoal-final :is(.oe-hose-top, .oe-hose-top .hs-ic, .oe-add-btn) { color: var(--qh-action-text, #fff); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fr-card-head .stock-mark.in-stock,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fr-card-head .stock-mark.in-stock .stock-qty { color: #146c36; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fr-card-head .stock-mark.special,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fr-card-head .stock-mark.special .stock-so { color: #b42318; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fr-card-head :is(.stock-mark.catalog-only, .stock-mark.unknown) { color: #5c6166; }
html[data-theme="dark"] body.qh-portal-og .bin-soon { color: #f6d79a; border-color: #f6d79a; }
html body.qh-portal-og #qh-charcoal-final .desk-ship select { max-width: 100%; }
html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-price .price-cell.unavailable { white-space: normal; line-height: 1.25; }
html body.qh-portal-og #qh-charcoal-final a.ghost-btn:not(:has(*)) { display: inline-flex; align-items: center; justify-content: center; }
@media (min-width: 761px) {
  html body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-count.is-inline { flex-wrap: wrap; row-gap: 6px; }
  html body.qh-portal-og #qh-charcoal-final .pick-work-line .recv-count .pick-can { flex: 0 0 auto; }
}
@media (pointer: coarse) {
  html body.qh-portal-og #qh-charcoal-final .sp-hero .qty-add .add-btn { min-height: 44px; }
}
@media (max-width: 700px) {
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .part-history-btn::before { content: "" !important; display: block !important; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-stock .stock-mark.special { max-width: 100%; padding: 2px 5px; gap: 3px; white-space: normal; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-stock .stock-mark.special .stock-so { white-space: normal; font-size: 10.5px; line-height: 1.05; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results td.col-price { align-self: center; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) .oe-line-tools { flex-wrap: nowrap; justify-self: end; width: max-content; }
  html body.qh-portal-og #qh-charcoal-final .oe-lines:not(.is-quote) .oe-line:not(.is-blank) .oe-amt { justify-self: start; text-align: left; }
}
@media (max-width: 680px) {
  html body.qh-portal-og .qh-ck button { min-height: 34px; padding: 4px 12px; }
  html body.qh-portal-og #qh-charcoal-final :is(.pr-print, .pr-lines-btn, .loc-set-btn) { position: relative; }
  html body.qh-portal-og #qh-charcoal-final :is(.pr-print, .pr-lines-btn, .loc-set-btn)::after { content: ""; position: absolute; inset: -8px -4px; }
  html body.qh-portal-og #qh-charcoal-final .recv-count.is-inline .recv-open { flex: 0 0 auto; min-width: 76px; }
  html body.qh-portal-og #qh-charcoal-final .box-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html body.qh-portal-og #qh-charcoal-final .box-row > span { grid-column: 1 / -1; }
  html body.qh-portal-og #qh-charcoal-final .box-cell { min-width: 0; max-width: none; }
  html body.qh-portal-og #qh-charcoal-final #stage .admin-tree-row:not(#qhx) { align-items: center; }
}
@media (max-width: 600px) {
  html body.qh-portal-og #qh-charcoal-final #stage .qh-board .sb-mday .sb-chore:not(#qhx) { min-height: 6px; }
}

html body.qh-portal-og #qh-charcoal-final .cc-header .mark-logo img { height: 48px; width: auto; }
html body.qh-portal-og #qh-charcoal-final .hs-chips { max-height: none; }
html body.qh-portal-og #qh-charcoal-final .hs-fams { flex-wrap: nowrap; overflow-x: auto; }
html body.qh-portal-og #qh-charcoal-final .hs-col[data-hs-col="end1"] .hs-list,
html body.qh-portal-og #qh-charcoal-final .hs-col[data-hs-col="end2"] .hs-list { min-height: 140px; }
html body.qh-portal-og #qh-charcoal-final .hs-len { padding: 4px 8px; border: 2px solid var(--qh-action, #8d421a); border-radius: 10px; background: var(--qh-selected, #f9eadc); scroll-margin-top: 72px; scroll-margin-bottom: 16px; }
html body.qh-portal-og #qh-charcoal-final .hs-swatch { display: inline-block; width: 22px; height: 22px; border-radius: 4px; border: 1px solid rgba(0,0,0,.25); flex: 0 0 auto; }
html body.qh-portal-og #qh-charcoal-final .hs-len input { width: 120px; height: 46px; font-size: 22px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .hs-len small { font-size: 14px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .hs-opt-img { width: 28px; height: 22px; object-fit: contain; background: #fff; border-radius: 3px; }
html body.qh-portal-og #qh-charcoal-final .hs-reset { margin-left: auto; }
html body.qh-portal-og #qh-charcoal-final .help-ask { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px; min-height: 40px; padding: 0 12px; }
html body.qh-portal-og #qh-charcoal-final :is(.active-filters, .finder-toolbar) {
  animation: qhFilterPulse 2.4s ease-in-out 1;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--qh-action, #f36c21) 45%, transparent);
}
html body.qh-portal-og #qh-charcoal-final .fr-brand { margin: 6px 0 8px; padding: 8px 10px 8px 14px; }
html body.qh-portal-og #qh-charcoal-final .fr-blurb { display: none; }
html body.qh-portal-og #qh-charcoal-final .fr-tagline { margin: 2px 0 0; font-size: 13.5px; }
html body.qh-portal-og #qh-charcoal-final .fr-catalog { margin: 2px 0 0; font-size: 12.5px; }
html body.qh-portal-og #qh-charcoal-final .fr-brand-guide summary { cursor: pointer; font-weight: 800; }
@keyframes qhFilterPulse {
  0%, 100% { box-shadow: 0 0 0 1px color-mix(in srgb, var(--qh-action, #f36c21) 30%, transparent); }
  40% { box-shadow: 0 0 0 3px color-mix(in srgb, var(--qh-action, #f36c21) 70%, transparent); }
}
@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final .ops-phone-menu { margin: 0 0 4px; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-menu summary { gap: 6px; min-height: 32px; padding: 2px 8px; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-now b { font-size: 13px; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-now small { font-size: 10px; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-grid { gap: 4px; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-grid a { min-height: 34px; padding: 4px 6px; font-size: 12.5px; gap: 5px; }
  body.qh-portal-og #qh-charcoal-final .ops-phone-arrange { min-height: 28px; margin-top: 4px; font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace h1.page { font-size: 18px; margin: 2px 0 4px; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-seg-btn { min-height: 30px; padding: 2px 8px; font-size: 12.5px; }
  html body.qh-portal-og #qh-charcoal-final .fr-brand { margin: 4px 0 8px; padding: 6px 8px 6px 12px; }
  html body.qh-portal-og #qh-charcoal-final .fr-blurb { display: none; }
  html body.qh-portal-og #qh-charcoal-final .fr-tagline { margin: 2px 0; font-size: 13px; }
  html body.qh-portal-og #qh-charcoal-final .fr-catalog { margin: 0; font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final .fr-brand-guide { margin: 0 0 8px; }
  html body.qh-portal-og #qh-charcoal-final .fr-brand-guide summary { cursor: pointer; font-weight: 800; }
  html body.qh-portal-og #qh-charcoal-final .oe-page { max-width: 100%; overflow-x: clip; }
  html body.qh-portal-og #qh-charcoal-final .oe-part,
  html body.qh-portal-og #qh-charcoal-final .oe-part-main,
  html body.qh-portal-og #qh-charcoal-final .oe-sku-row { width: 100%; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .oe-sku-in { flex: 1 1 auto; width: 1px; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .oe-line.is-asm .oe-asm-parts { width: 100%; }
}

html body.qh-portal-og #qh-charcoal-final .hs-dashes {
  flex-wrap: nowrap; overflow-x: auto; background: #fff4ea; border: 1px solid #e7cbb6; border-radius: 12px; padding: 4px; gap: 4px;
}
html body.qh-portal-og #qh-charcoal-final .hs-dash { min-width: 0; padding: 3px 7px; }
html body.qh-portal-og #qh-charcoal-final .hs-dash b { font-size: 14px; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .hs-dash small { font-size: 10px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .hs-head { background: color-mix(in srgb, #e7d3b0 42%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .hs-kind-wrap { display: inline-flex; align-items: center; gap: 6px; padding: 3px 6px; border-radius: 10px; background: color-mix(in srgb, #8fb4d8 34%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .hs-kind-label { font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .hs-col[data-hs-col="hose"] { background: color-mix(in srgb, #e7a15a 18%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .hs-col[data-hs-col="end1"] { background: color-mix(in srgb, #7dbe96 18%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .hs-col[data-hs-col="end2"] { background: color-mix(in srgb, #7eb0d4 18%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .hs-fold[data-hs-fold="protection"] { background: color-mix(in srgb, #d4b46a 28%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .hs-fold[data-hs-fold="clamps"] { background: color-mix(in srgb, #c49ad4 22%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .hs-fold[data-hs-fold="restrictor"] { background: color-mix(in srgb, #8fb4d8 16%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .hs-fold[data-hs-fold="labor"] { background: color-mix(in srgb, #e7a15a 12%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .hs-chips { position: relative; z-index: 1; background: inherit; }
html body.qh-portal-og #qh-charcoal-final .hs-same {
  padding: 8px 12px; font-size: 14px; background: #f36c21; color: #fff; border-color: #d85a12;
}
html body.qh-portal-og #qh-charcoal-final .hs-crimp { margin: 0 0 6px; font-size: 12.5px; font-weight: 700; color: #8d421a; }
html body.qh-portal-og #qh-charcoal-final .hs-extra { display: grid; gap: 6px; margin-top: 8px; }
html body.qh-portal-og #qh-charcoal-final .hs-extra span { display: flex; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .hs-extra input { flex: 1; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .res-finder-icon { width: 64px; height: 64px; background: #fff; }
html body.qh-portal-og #qh-charcoal-final .res-finder-icon img { width: 58px; height: 58px; object-fit: contain; }
html body.qh-portal-og #qh-charcoal-final .fx-tools a img { width: 28px; height: 28px; object-fit: contain; background: #fff; border-radius: 4px; }
html body.qh-portal-og #qh-charcoal-final button.res-finder { font: inherit; text-align: left; width: 100%; cursor: pointer; color: inherit; }
html body.qh-portal-og #qh-charcoal-final .res-finder.flavor-finder-hose-ends,
html body.qh-portal-og #qh-charcoal-final .res-finder.flavor-hose-ends,
html body.qh-portal-og #qh-charcoal-final .fx-tools a.flavor-hose-ends { background: #fff3ea; }
html body.qh-portal-og #qh-charcoal-final .res-finder.flavor-finder-adapter,
html body.qh-portal-og #qh-charcoal-final .fx-tools a.flavor-adapter { background: #eef3fb; }
html body.qh-portal-og #qh-charcoal-final .res-finder.flavor-finder-brass,
html body.qh-portal-og #qh-charcoal-final .fx-tools a.flavor-brass { background: #fbf6ea; }
html body.qh-portal-og #qh-charcoal-final .res-finder.flavor-finder-qdc,
html body.qh-portal-og #qh-charcoal-final .fx-tools a.flavor-qdc { background: #eef6f1; }
html body.qh-portal-og #qh-charcoal-final .res-finder.flavor-finder-crimp,
html body.qh-portal-og #qh-charcoal-final .fx-tools a.flavor-crimp { background: #f6f1fa; }
html body.qh-portal-og #qh-charcoal-final .res-finder.flavor-finder-hose,
html body.qh-portal-og #qh-charcoal-final .fx-tools a.flavor-industrial { background: #eef6fb; }
html body.qh-portal-og #qh-charcoal-final .res-finder.flavor-labels { background: #fff4e8; }
html body.qh-portal-og #qh-charcoal-final .res-finder.flavor-help { background: #eef2f8; }
html body.qh-portal-og #qh-charcoal-final .res-finder.flavor-ai { background: #fff1e8; }
html body.qh-portal-og #qh-charcoal-final .res-finder.flavor-prices { background: #eef6f4; }
html body.qh-portal-og #qh-charcoal-final .res-finder.flavor-settings { background: #f4f4f4; }
html body.qh-portal-og #qh-charcoal-final .res-finder.flavor-repairs { background: #f7f1ea; }
html body.qh-portal-og #qh-charcoal-final .bottom-nav a[hidden],
html body.qh-portal-og #qh-charcoal-final .bottom-nav button[hidden] { display: none !important; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .res-finder.flavor-finder-hose-ends,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .res-finder.flavor-hose-ends,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fx-tools a.flavor-hose-ends { background: color-mix(in srgb, #e37a32 22%, #241c16); color: inherit; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .res-finder.flavor-finder-adapter,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fx-tools a.flavor-adapter { background: color-mix(in srgb, #6ea0d4 22%, #1a2028); color: inherit; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .res-finder.flavor-finder-brass,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fx-tools a.flavor-brass { background: color-mix(in srgb, #d4b46a 22%, #241f16); color: inherit; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .res-finder.flavor-finder-qdc,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fx-tools a.flavor-qdc { background: color-mix(in srgb, #7dbe96 22%, #16211b); color: inherit; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .res-finder.flavor-finder-crimp,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fx-tools a.flavor-crimp { background: color-mix(in srgb, #b89ad4 22%, #211c26); color: inherit; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .res-finder.flavor-finder-hose,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .fx-tools a.flavor-industrial { background: color-mix(in srgb, #7eb0d4 22%, #172028); color: inherit; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .res-finder.flavor-labels { background: color-mix(in srgb, #e37a32 18%, #241c16); color: inherit; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .res-finder.flavor-help { background: color-mix(in srgb, #8aa4c8 18%, #1a2028); color: inherit; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .res-finder.flavor-ai { background: color-mix(in srgb, #e37a32 18%, #241c16); color: inherit; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .res-finder.flavor-prices { background: color-mix(in srgb, #7dbe96 18%, #16211b); color: inherit; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .res-finder.flavor-settings { background: color-mix(in srgb, #c8c2ba 14%, #1c1916); color: inherit; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .res-finder.flavor-repairs { background: color-mix(in srgb, #d4b46a 16%, #241f16); color: inherit; }
html[data-theme="dark"] body[data-flavor="hose-ends"] #stage { background: linear-gradient(color-mix(in srgb, #e37a32 16%, transparent), transparent 240px); }
html[data-theme="dark"] body[data-flavor="adapter"] #stage { background: linear-gradient(color-mix(in srgb, #6ea0d4 16%, transparent), transparent 240px); }
html[data-theme="dark"] body[data-flavor="brass"] #stage { background: linear-gradient(color-mix(in srgb, #d4b46a 16%, transparent), transparent 240px); }
html[data-theme="dark"] body[data-flavor="qdc"] #stage { background: linear-gradient(color-mix(in srgb, #7dbe96 16%, transparent), transparent 240px); }
html[data-theme="dark"] body[data-flavor="crimp"] #stage { background: linear-gradient(color-mix(in srgb, #b89ad4 16%, transparent), transparent 240px); }
html[data-theme="dark"] body[data-flavor="industrial"] #stage { background: linear-gradient(color-mix(in srgb, #7eb0d4 16%, transparent), transparent 240px); }
body[data-flavor="hose-ends"] #stage { background: linear-gradient(#fff7f1, transparent 240px); }
body[data-flavor="adapter"] #stage { background: linear-gradient(#f4f7fb, transparent 240px); }
body[data-flavor="brass"] #stage { background: linear-gradient(#fbf8f1, transparent 240px); }
body[data-flavor="qdc"] #stage { background: linear-gradient(#f3f8f4, transparent 240px); }
body[data-flavor="crimp"] #stage { background: linear-gradient(#f7f4fb, transparent 240px); }
body[data-flavor="industrial"] #stage { background: linear-gradient(#f3f7fb, transparent 240px); }
html body.qh-portal-og #qh-charcoal-final .qty-feet-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .qty-pick {
  min-width: 36px; padding: 4px 6px; border: 1px solid var(--line, #ddd); border-radius: 6px; background: #fff; font: inherit; font-weight: 700; cursor: pointer;
}
html body.qh-portal-og #qh-charcoal-final .qty-pick.is-on { background: #f36c21; color: #fff; border-color: #d85a12; }
html body.qh-portal-og #qh-charcoal-final .acct-app { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 22px; max-width: 1100px; align-items: start; }
html body.qh-portal-og #qh-charcoal-final .acct-steps { display: flex; gap: 6px; margin: 0 0 12px; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .acct-steps button { min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); font: inherit; font-weight: 800; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .acct-steps button.is-on { background: #f36c21; color: #fff; border-color: #d85a12; }
html body.qh-portal-og #qh-charcoal-final .acct-steps button.is-done { background: color-mix(in srgb, #7dbe96 30%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .acct-sec { margin: 0 0 12px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .acct-sec h2 { margin: 0 0 10px; font-size: 20px; }
html body.qh-portal-og #qh-charcoal-final .acct-form label { display: grid; gap: 4px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .acct-form input,
html body.qh-portal-og #qh-charcoal-final .acct-form textarea { min-height: 44px; padding: 8px 10px; font: inherit; }
html body.qh-portal-og #qh-charcoal-final .acct-choice { min-height: 44px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .acct-nav { display: flex; gap: 8px; margin-top: 8px; }
html body.qh-portal-og #qh-charcoal-final .acct-nav .action-btn,
html body.qh-portal-og #qh-charcoal-final .acct-nav .ghost-btn { min-height: 44px; }
html body.qh-portal-og #qh-charcoal-final .acct-side { position: sticky; top: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: color-mix(in srgb, #e7d3b0 28%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .acct-side a,
html body.qh-portal-og #qh-charcoal-final .acct-side .ghost-btn { display: inline-flex; align-items: center; min-height: 44px; }
html body.qh-portal-og #qh-charcoal-final .acct-form { max-width: none; }
html body.qh-portal-og #qh-charcoal-final .acct-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
html body.qh-portal-og #qh-charcoal-final .acct-wide,
html body.qh-portal-og #qh-charcoal-final .acct-check { grid-column: 1 / -1; }
html body.qh-portal-og #qh-charcoal-final .acct-choice,
html body.qh-portal-og #qh-charcoal-final .acct-check { display: flex; gap: 8px; align-items: flex-start; }
html body.qh-portal-og #qh-charcoal-final .acct-choice small,
html body.qh-portal-og #qh-charcoal-final .acct-sec small { display: block; color: var(--muted, #666); font-weight: 500; }
html body.qh-portal-og #qh-charcoal-final .acct-side { align-self: start; display: grid; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .acct-body { white-space: pre-wrap; font: inherit; font-size: 13px; }
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .acct-app,
  html body.qh-portal-og #qh-charcoal-final .acct-grid { grid-template-columns: 1fr; }
  html body.qh-portal-og #qh-charcoal-final .acct-steps { flex-direction: column; }
  html body.qh-portal-og #qh-charcoal-final .acct-steps button { width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .acct-side { position: static; }
  html body.qh-portal-og #qh-charcoal-final .acct-nav { position: sticky; bottom: 8px; padding: 8px; background: var(--paper); border: 1px solid var(--line); border-radius: 12px; }
}
@media (max-width: 700px) {
  html body.qh-portal-og #qh-charcoal-final .hs-back { display: block; overflow-x: hidden; overflow-y: auto; padding: 0; -webkit-overflow-scrolling: touch; }
  html body.qh-portal-og #qh-charcoal-final .hs-panel { display: block; width: 100%; max-width: none; height: auto; min-height: 100%; border: 0; border-radius: 0; overflow: visible; box-shadow: none; }
  html body.qh-portal-og #qh-charcoal-final .hs-grid { display: flex; flex-direction: column; overflow: visible; }
  html body.qh-portal-og #qh-charcoal-final .hs-col,
  html body.qh-portal-og #qh-charcoal-final .hs-list,
  html body.qh-portal-og #qh-charcoal-final .hs-foot,
  html body.qh-portal-og #qh-charcoal-final .hs-build,
  html body.qh-portal-og #qh-charcoal-final .hs-side { max-height: none; overflow: visible; flex: 0 0 auto; }
  html body.qh-portal-og #qh-charcoal-final .hs-row { min-height: 0; padding: 1px 6px; font-size: 12px; line-height: 1.15; }
  html body.qh-portal-og #qh-charcoal-final .hs-dash { min-width: 34px; padding: 1px 3px; }
  html body.qh-portal-og #qh-charcoal-final .hs-chip { min-height: 0; padding: 1px 7px; font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final .hs-head,
  html body.qh-portal-og #qh-charcoal-final .hs-brands { padding: 4px 8px; gap: 3px; }
}
html body.qh-portal-og #qh-charcoal-final .rp-thumbs { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
html body.qh-portal-og #qh-charcoal-final .rp-thumbs img { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; background: #fff; border: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .hs-star { margin-left: 4px; color: #b5811a; font-style: normal; }
@media (max-width: 760px) {
  html.hs-open, html.hs-open body { overflow-x: hidden; max-width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .hs-back,
  html body.qh-portal-og #qh-charcoal-final .hs-panel,
  html body.qh-portal-og #qh-charcoal-final .hs-head,
  html body.qh-portal-og #qh-charcoal-final .hs-grid,
  html body.qh-portal-og #qh-charcoal-final .hs-col,
  html body.qh-portal-og #qh-charcoal-final .hs-foot,
  html body.qh-portal-og #qh-charcoal-final .hs-brands,
  html body.qh-portal-og #qh-charcoal-final .hs-dashes { max-width: 100%; min-width: 0; box-sizing: border-box; }
  html body.qh-portal-og #qh-charcoal-final .hs-panel { width: 100% !important; }
  html body.qh-portal-og #qh-charcoal-final .hs-dashes,
  html body.qh-portal-og #qh-charcoal-final .hs-brands { overflow-x: auto; }
  html body.qh-portal-og #qh-charcoal-final .hs-list { min-height: 240px; max-height: none; }
  html body.qh-portal-og #qh-charcoal-final .hs-dash,
  html body.qh-portal-og #qh-charcoal-final .hs-chip { min-height: 40px; padding: 6px 10px; font-size: 14px; }
  html body.qh-portal-og #qh-charcoal-final .order-detail > td { background: color-mix(in srgb, #e7e2da 70%, var(--paper)); }
  html body.qh-portal-og #qh-charcoal-final .order-lines { display: grid; gap: 8px; margin: 0; padding: 8px; }
  html body.qh-portal-og #qh-charcoal-final .order-lines > li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; align-items: center; margin: 0; padding: 8px; background: color-mix(in srgb, #f4f1eb 80%, var(--paper)); border: 1px solid var(--line); border-radius: 8px; }
  html body.qh-portal-og #qh-charcoal-final #ffChips .filter-pill { min-height: 28px; padding: 2px 8px; font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final #stage .dept-grid { grid-template-columns: 1fr 1fr; gap: 6px; }
  html body.qh-portal-og #qh-charcoal-final #stage .dept-grid .dept-card { min-height: 40px; padding: 6px 8px; }
  html body.qh-portal-og #qh-charcoal-final #stage [data-ff-clear-refine] { display: none; }
  html body.qh-portal-og #qh-charcoal-final .folder-filter-jump { min-height: 36px; padding: 4px 12px; font: inherit; font-size: 14px; font-weight: 800; color: #1c140c; background: var(--orange, #f36c21); border: 0; border-radius: 8px; }
  html body.qh-portal-og #qh-charcoal-final .qty-add,
  html body.qh-portal-og #qh-charcoal-final .price-cell,
  html body.qh-portal-og #qh-charcoal-final .product-buy { min-width: 0; flex-wrap: wrap; }
  html body.qh-portal-og #qh-charcoal-final .price-cell { position: static; overflow: hidden; }
  html body.qh-portal-og #qh-charcoal-final .oe-line { position: relative; }
  html body.qh-portal-og #qh-charcoal-final .oe-del { position: absolute; top: 4px; right: 4px; width: 22px; height: 22px; min-height: 22px; padding: 0; font-size: 14px; line-height: 20px; }
  html body.qh-portal-og #qh-charcoal-final .hs-clocks { display: grid; gap: 8px; margin: 8px 0; }
  html body.qh-portal-og #qh-charcoal-final .hs-phase { width: 100%; height: auto; border-radius: 8px; }
  html body.qh-portal-og #qh-charcoal-final .hs-clock-face { display: flex; flex-wrap: wrap; gap: 4px; }
  html body.qh-portal-og #qh-charcoal-final .hs-clock { min-width: 36px; min-height: 32px; font: inherit; font-weight: 800; }
  html body.qh-portal-og #qh-charcoal-final .hs-clock.is-on { background: var(--orange, #f36c21); color: #1c140c; }
  html body.qh-portal-og #qh-charcoal-final .hs-extra-hits { margin: 4px 0 0; padding: 0; list-style: none; max-height: 180px; overflow: auto; border: 1px solid var(--line); border-radius: 8px; }
  html body.qh-portal-og #qh-charcoal-final .hs-extra-hits button { display: block; width: 100%; padding: 6px 8px; text-align: left; font: inherit; background: var(--paper); border: 0; border-bottom: 1px solid var(--line); }
  html body.qh-portal-og #qh-charcoal-final .hs-extra-note { padding: 6px 8px; color: var(--muted); }
  html body.qh-portal-og #qh-charcoal-final .qty-picks { display: inline-flex; gap: 4px; margin-left: 4px; }
  html body.qh-portal-og #qh-charcoal-final .qty-picks .qty-pick { min-height: 28px; padding: 0 8px; font: inherit; font-size: 12px; font-weight: 800; }
  html body.qh-portal-og #qh-charcoal-final .acct-brief summary { cursor: pointer; }
}
html body.qh-portal-og #qh-charcoal-final .hs-dashes { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); flex-wrap: unset; overflow: visible; width: 100%; }
html body.qh-portal-og #qh-charcoal-final .hs-dash { min-width: 0; width: 100%; padding: 4px 2px; }
html body.qh-portal-og #qh-charcoal-final .hs-dash b { font-size: 12px; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .hs-dash small { font-size: 10px; }
html body.qh-portal-og #qh-charcoal-final .hs-brands { display: flex; flex-wrap: nowrap; overflow-x: auto; align-items: center; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .hs-brands .hs-chip { flex: 0 0 auto; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .hs-hose-card { display: grid; grid-template-columns: 56px minmax(0, 1fr); grid-template-rows: auto auto; align-items: center; column-gap: 8px; min-height: 64px; padding: 6px 8px; }
html body.qh-portal-og #qh-charcoal-final .hs-hose-pic { grid-row: 1 / span 2; width: 56px; height: 48px; object-fit: cover; border-radius: 6px; background: #fff; }
html body.qh-portal-og #qh-charcoal-final .hs-hose-top,
html body.qh-portal-og #qh-charcoal-final .hs-hose-bot { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .hs-hose-top span,
html body.qh-portal-og #qh-charcoal-final .hs-hose-bot span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .hs-thread-chip { display: inline-flex; align-items: center; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .hs-thread-chip img { width: 22px; height: 22px; object-fit: contain; background: #fff; border-radius: 4px; }
html body.qh-portal-og #qh-charcoal-final .hs-picked-line { display: flex; align-items: center; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .hs-picked-line img { width: 48px; height: 36px; object-fit: contain; background: #fff; border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .hs-extra-hits button { display: flex; align-items: center; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .hs-extra-hits img { width: 36px; height: 36px; object-fit: contain; background: #fff; }
html body.qh-portal-og #qh-charcoal-final .hs-extra-hits small { display: block; font-weight: 500; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .pay-list { display: grid; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .pay-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .pay-row small { display: block; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-who { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

/* 926-oe31: phone order, history, keypad, and finder. */
html body.qh-portal-og #qh-charcoal-final .oe-who { display: grid; justify-items: center; }
html body.qh-portal-og #qh-charcoal-final .oe-who h1.page { width: 100%; margin: 0; text-align: center; }
html body.qh-portal-og #qh-charcoal-final .oe-who .also { text-align: center; }
html body.qh-portal-og #qh-charcoal-final .oe-head-acts { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
html body.qh-portal-og #qh-charcoal-final .oe-move-label { font-style: normal; font-size: 10px; font-weight: 800; color: var(--muted); padding: 0 4px; align-self: center; }
html body.qh-portal-og #qh-charcoal-final .oe-del { position: static; width: auto; min-width: 36px; min-height: 36px; height: auto; padding: 0 8px; font-size: 22px; line-height: 1; }
html body.qh-portal-og #qh-charcoal-final .oe-bo b { display: flex; align-items: center; min-height: 36px; min-width: 42px; padding: 0 8px; border: 1px solid var(--line); border-radius: 8px; background: color-mix(in srgb, var(--wash, #f6f3ee) 80%, var(--paper)); font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .oe-sku-row,
html body.qh-portal-og #qh-charcoal-final .oe-num { position: relative; }
html body.qh-portal-og #qh-charcoal-final .oe-pad-caret { position: absolute; top: 50%; z-index: 2; width: 2px; height: 1.05em; margin-top: -0.52em; background: currentColor; pointer-events: none; animation: oeCaret 1s steps(1) infinite; }
@keyframes oeCaret { 50% { opacity: 0; } }
html body.qh-portal-og #qh-charcoal-final .hs-len-qty { display: grid; grid-template-columns: minmax(0, 1fr) 72px; align-items: start; gap: 6px 8px; padding: 6px 8px; border: 2px solid var(--qh-action, #8d421a); border-radius: 10px; background: var(--qh-selected, #f9eadc); }
html body.qh-portal-og #qh-charcoal-final .hs-len-qty .hs-len { min-width: 0; padding: 0; border: 0; background: transparent; }
html body.qh-portal-og #qh-charcoal-final .hs-len-qty .hs-qty { min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .hs-len-qty .hs-qty input { width: 100%; height: 36px; font-size: 16px; }
html body.qh-portal-og #qh-charcoal-final .hs-len-qty .hs-premade { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px; margin: 0; }
html body.qh-portal-og #qh-charcoal-final .hs-len-qty .hs-premade button { width: 100%; min-width: 0; padding: 2px 0; white-space: nowrap; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .hs-len-qty { background: color-mix(in srgb, #c67a38 16%, #1c1916); }
html body.qh-portal-og #qh-charcoal-final .hs-len-qty .hs-len input { width: 72px; height: 36px; font-size: 16px; }
html body.qh-portal-og #qh-charcoal-final .hs-len-qty .hs-len span:first-child,
html body.qh-portal-og #qh-charcoal-final .hs-len-qty .hs-len small { font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .hist-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-shipto { display: grid; gap: 6px; margin: 8px 0; padding: 8px 10px; border: 1px solid var(--line); border-left: 4px solid var(--qh-action, #8d421a); border-radius: 10px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .oe-shipto[hidden] { display: none; }
html body.qh-portal-og #qh-charcoal-final .oe-shipto > summary { display: flex; align-items: baseline; gap: 10px; min-height: 32px; cursor: pointer; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .oe-shipto > summary::-webkit-details-marker { display: none; }
html body.qh-portal-og #qh-charcoal-final .oe-shipto > summary::after { content: "▾"; margin-left: auto; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-shipto:not([open]) > summary::after { content: "▸"; }
html body.qh-portal-og #qh-charcoal-final .oe-shipto > summary span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .kit-parts { margin: 10px 0 0; }
html body.qh-portal-og #qh-charcoal-final .kit-parts h4 { margin: 0 0 6px; font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .kit-parts h4 small { margin-left: 6px; color: var(--muted); font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .kit-parts-list { display: grid; gap: 4px; max-height: 360px; margin: 0; padding: 0; overflow-y: auto; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .kit-parts-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 8px; padding: 4px 6px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .kit-part-copy { display: grid; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .kit-part-copy span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .kit-parts-list em { font-style: normal; font-size: 12px; color: var(--muted); white-space: nowrap; }
html.qh-typing body.qh-portal-og #qh-charcoal-final :is(.bottom-nav, #headerHelp) { pointer-events: none !important; }
html.qh-pad-open body.qh-portal-og #qh-charcoal-final .bottom-nav { visibility: hidden; }
html body #oePad.oe-pad { bottom: 0; z-index: 150; padding: 6px 8px calc(8px + env(safe-area-inset-bottom, 0px)); }
html body #oePad .oe-pad-row button { touch-action: manipulation; -webkit-tap-highlight-color: transparent; transition: background .06s ease, transform .06s ease; }
html body #oePad .oe-pad-row button.is-down,
html body #oePad .oe-pad-row button:active { background: #f36c21; color: #1c140c; border-color: #f36c21; transform: scale(.94); }
html body #oePad .oe-pad-row button[data-pad="done"] { background: var(--qh-action, #8d421a); color: #fffefa; border-color: var(--qh-action, #8d421a); }
html[data-theme="dark"] body #oePad.oe-pad { background: #1f1b17; }
html[data-theme="dark"] body #oePad .oe-pad-row button:not([data-pad="done"]):not(.is-down) { background: #2c2620; color: #f6f1ea; border-color: #4a3f34; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-grid .oe-field { grid-column: span 3; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-grid :is(.oe-ship-city) { grid-column: span 3; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-grid :is(.oe-ship-state) { grid-column: span 1; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-grid :is(.oe-ship-zip) { grid-column: span 2; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-grid input { width: 100%; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .oe-ship-grid .oe-field { grid-column: 1 / -1; }
  html body.qh-portal-og #qh-charcoal-final .oe-ship-grid .oe-ship-city { grid-column: span 3; }
  html body.qh-portal-og #qh-charcoal-final .oe-ship-grid .oe-ship-state { grid-column: span 1; }
  html body.qh-portal-og #qh-charcoal-final .oe-ship-grid .oe-ship-zip { grid-column: span 2; }
}
html body.qh-portal-og #qh-charcoal-final .hist-tools .hist-refresh { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 0; background: transparent; border: 0; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .hist-head { gap: 2px; margin-bottom: 6px; padding: 6px 8px; }
  html body.qh-portal-og #qh-charcoal-final .hist-head-top h1.page { font-size: 1rem; }
  html body.qh-portal-og #qh-charcoal-final .hist-head-meta { gap: 2px 10px; }
  html body.qh-portal-og #qh-charcoal-final .hist-head-meta .acct-id-meta { font-size: 11px; line-height: 1.3; }
  html body.qh-portal-og #qh-charcoal-final .hist-tools { flex-wrap: nowrap; gap: 6px; margin-top: 4px; }
  html body.qh-portal-og #qh-charcoal-final .hist-tools .stock-switch button { min-height: 30px; padding: 2px 6px; font-size: 11px; }
  html body.qh-portal-og #qh-charcoal-final .hist-tools .hist-refresh { flex-wrap: nowrap; margin-left: auto; }
  html body.qh-portal-og #qh-charcoal-final .hist-tools .history-months { font-size: 0; gap: 0; }
  html body.qh-portal-og #qh-charcoal-final .hist-tools .history-months select { min-height: 30px; padding: 2px 4px; font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final .hist-tools .hist-refresh .action-btn { min-height: 30px; padding: 2px 10px; font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final .hist-tools .hist-refresh .customer-summary,
  html body.qh-portal-og #qh-charcoal-final .hist-tools .hist-refresh > .also { display: none; }
}
html body.qh-portal-og #qh-charcoal-final .hist-tools .stock-switch { display: inline-flex; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .hist-sales { background: color-mix(in srgb, #e8a15a 18%, var(--paper)); border-left: 4px solid #c67a38; }
html body.qh-portal-og #qh-charcoal-final .order-lines .ol-nums { gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .finder-page :is(.fx-tools, .fx-phone-menu, .fx-phone-grid) img { display: none; }
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .bottom-nav :is(a, button).active,
  html body.qh-portal-og #qh-charcoal-final .bottom-nav :is(a, button)[aria-current="page"] {
    background: color-mix(in srgb, var(--qh-action, #8d421a) 14%, transparent) !important;
    color: var(--ink, #1c1916) !important;
    border: 1px solid color-mix(in srgb, var(--qh-action, #8d421a) 65%, var(--line)) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
  }
  html body.qh-portal-og #qh-charcoal-final .bottom-nav :is(a, button).active .bottom-nav-ic,
  html body.qh-portal-og #qh-charcoal-final .bottom-nav :is(a, button)[aria-current="page"] .bottom-nav-ic { color: inherit !important; }
  html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav :is(a, button).active,
  html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .bottom-nav :is(a, button)[aria-current="page"] {
    background: color-mix(in srgb, #ffdf91 12%, transparent) !important;
    color: #f6e7c8 !important;
    border-color: color-mix(in srgb, #ffdf91 55%, transparent) !important;
  }
  html body.qh-portal-og #qh-charcoal-final table.orders-table tbody tr.order-row.open td[data-label="Document"],
  html body.qh-portal-og #qh-charcoal-final table.orders-table tbody tr.order-row.open td[data-label="PO"] { padding-left: 28px; }
  html body.qh-portal-og #qh-charcoal-final .oe-del { position: static !important; top: auto; right: auto; }
}
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .hist-section.hist-open-hi,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .hist-section.hist-open-hi h2,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .hist-section.hist-open-hi .hist-section-kicker,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .hist-section.hist-open-hi .hist-section-meta,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final table.orders-table tr.order-row,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final table.orders-table tr.order-row td,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .order-detail,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .order-detail td,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .order-lines,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .order-lines li { color: #f6f1ea; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final table.orders-table tr.order-row.open { background: #3a2a1d !important; color: #fff8ef; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .order-detail > td,
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .order-lines > li { background: #2c261f; color: #f6f1ea; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .hist-sales { background: color-mix(in srgb, #c67a38 22%, #1c1916); }

/* 926-oe34: finder switch, quick-add in dark, pay nudge, print box, ship-to card, hose images, compact phone order. */
html body.qh-portal-og #qh-charcoal-final .hs-phase { display: block; width: 100%; max-width: 420px; height: auto; border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .hs-hose-pic { width: 56px; height: 48px; max-width: 56px; object-fit: cover; }
html body.qh-portal-og #qh-charcoal-final #hsSheet img:not(.hs-phase):not(.hs-hose-pic) { max-width: 64px; max-height: 48px; object-fit: contain; }
html body.qh-portal-og #qh-charcoal-final .mm-switch { display: inline-flex; align-items: center; gap: 10px; min-height: 40px; padding: 4px 12px 4px 6px; font: inherit; text-align: left; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 999px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .mm-track { position: relative; flex: 0 0 auto; width: 42px; height: 24px; border-radius: 999px; background: color-mix(in srgb, var(--muted, #888) 35%, var(--paper)); transition: background .15s ease; }
html body.qh-portal-og #qh-charcoal-final .mm-knob { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .35); transition: transform .15s ease; }
html body.qh-portal-og #qh-charcoal-final .mm-switch.is-on .mm-track { background: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .mm-switch.is-on .mm-knob { transform: translateX(18px); }
html body.qh-portal-og #qh-charcoal-final .mm-switch.is-on { border-color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .mm-text { display: grid; line-height: 1.15; }
html body.qh-portal-og #qh-charcoal-final .mm-text b { font-size: 13.5px; }
html body.qh-portal-og #qh-charcoal-final .mm-text small { font-size: 11.5px; color: var(--muted); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qty-pick { background: #2c2620; color: #f6f1ea; border-color: #4a3f34; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .qty-pick.is-on { background: #f36c21; color: #1c140c; border-color: #f36c21; }
html body.qh-portal-og #qh-charcoal-final .oe-tool .oe-pay-ic { width: 22px; height: 22px; }
html body.qh-portal-og #qh-charcoal-final .oe-pay-btn.is-nudge { color: var(--ink); background: color-mix(in srgb, #f36c21 18%, var(--paper)); border-color: #f36c21; box-shadow: 0 0 0 3px color-mix(in srgb, #f36c21 30%, transparent); animation: oeNudge 1.2s ease-in-out 3; }
html body.qh-portal-og #qh-charcoal-final .oe-pay-btn.is-nudge .ops-ic { color: #c2410c; }
@keyframes oeNudge { 50% { box-shadow: 0 0 0 7px color-mix(in srgb, #f36c21 18%, transparent); } }
html body.qh-portal-og #qh-charcoal-final .oe-msg.is-pay { padding: 8px 10px; border: 1px solid #f36c21; border-left-width: 4px; border-radius: 8px; background: color-mix(in srgb, #f36c21 10%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .oe-printer-k { font-size: 12px; font-weight: 800; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-print-set { display: grid; gap: 6px; margin: 0; padding: 6px 10px 8px; border: 1px solid var(--line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .oe-print-set legend { padding: 0 4px; font-size: 12px; font-weight: 800; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-print-picks { display: flex; flex-wrap: wrap; gap: 4px 14px; }
html body.qh-portal-og #qh-charcoal-final .oe-print-set .oe-opt-printer { display: flex; align-items: center; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-print-set .oe-printer { min-height: 34px; font-size: 14px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-card { display: grid; min-width: 0; line-height: 1.25; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-card b { font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-card span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-card.is-empty span { color: #c2410c; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .oe-shipto > summary { align-items: center; }
html body.qh-portal-og #qh-charcoal-final .oe-shipto > summary::after { content: none; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-edit { margin-left: auto; padding: 2px 10px; font-style: normal; font-size: 12px; font-weight: 800; color: var(--qh-action, #8d421a); border: 1px solid currentColor; border-radius: 999px; }
html body.qh-portal-og #qh-charcoal-final .oe-shipto[open] .oe-ship-edit { visibility: hidden; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .oe-page > .oe-head { gap: 2px; margin: 0 0 4px; }
  html body.qh-portal-og #qh-charcoal-final .oe-who { gap: 2px; }
  html body.qh-portal-og #qh-charcoal-final .oe-head h1.page { font-size: 15px; line-height: 1.2; }
  html body.qh-portal-og #qh-charcoal-final .oe-head .also { font-size: 11px; line-height: 1.25; }
  html body.qh-portal-og #qh-charcoal-final .oe-head-acts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3px; width: 100%; }
  html body.qh-portal-og #qh-charcoal-final .oe-head-acts .ghost-btn { min-height: 28px; padding: 0 2px; font-size: 11px; white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final .oe-kind .crimp-seg-btn { min-height: 28px; padding: 2px 6px; font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final .oe-alert { margin: 2px 0; padding: 4px 8px; font-size: 11.5px; }
  html body.qh-portal-og #qh-charcoal-final .oe-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px 4px; margin: 0 0 4px; }
  html body.qh-portal-og #qh-charcoal-final .oe-fields .oe-field { min-width: 0; max-width: none; font-size: 10.5px; line-height: 1.1; }
  html body.qh-portal-og #qh-charcoal-final .oe-fields .oe-field :is(input, select, button) { min-height: 30px; height: 30px; padding: 2px 6px; font-size: 13px; }
  html body.qh-portal-og #qh-charcoal-final .oe-fields .oe-level-host { grid-column: span 2; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .freight-later { margin: 2px 0; font-size: 11px; }
  html body.qh-portal-og #qh-charcoal-final .oe-shipto { margin: 4px 0; padding: 4px 8px; }
  html body.qh-portal-og #qh-charcoal-final .oe-tool { min-height: 54px; font-size: 11px; }
  html body.qh-portal-og #qh-charcoal-final .mm-switch { min-height: 36px; padding: 3px 10px 3px 4px; }
}/* Wide-screen Operations menu: groups centered, each group boxed, each tool outlined. */
@media (min-width: 681px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side { justify-content: center; align-items: stretch; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp { padding: 6px 8px 8px; border: 1px solid color-mix(in srgb, var(--g, #888) 35%, var(--line)); border-radius: 12px; background: color-mix(in srgb, var(--g, #888) 4%, var(--paper)); }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-row { justify-content: center; }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group],
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side a[data-ops-group]:nth-child(n+5) { border-color: var(--line); background: var(--paper); }
}
@media (min-width: 681px) and (max-width: 1199px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-row { justify-content: flex-start; }
}/* 926-oe35: phone catalog lists fit the screen; less header before the first part. */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final #stage .folder-filter-row { margin: 4px 0 6px; }
  html body.qh-portal-og #qh-charcoal-final #stage > h1.page,
  html body.qh-portal-og #qh-charcoal-final #stage .folder-head h1.page { margin: 2px 0; font-size: 17px; line-height: 1.2; }
  html body.qh-portal-og #qh-charcoal-final #stage .crumbs { margin: 0 0 2px; font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final #stage .crumbs .crumb-back { min-height: 28px; padding: 2px 8px; }
  html body.qh-portal-og #qh-charcoal-final #stage .folder-sub,
  html body.qh-portal-og #qh-charcoal-final #stage > p.also { margin: 0 0 4px; font-size: 12px; line-height: 1.3; }
  html body.qh-portal-og #qh-charcoal-final #stage td.col-add { min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final #stage .qty-add { gap: 3px; min-width: 0; flex-wrap: nowrap; }
  html body.qh-portal-og #qh-charcoal-final #stage .qty-add .qty-nudge { width: 30px; min-width: 30px; padding: 0; }
  html body.qh-portal-og #qh-charcoal-final #stage .qty-add input.qty { width: 34px; min-width: 0; padding: 0 2px; text-align: center; }
  html body.qh-portal-og #qh-charcoal-final #stage .qty-picks { gap: 2px; margin-left: 2px; }
  html body.qh-portal-og #qh-charcoal-final #stage .qty-picks .qty-pick { min-width: 28px; min-height: 30px; padding: 0 3px; font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final #stage .qty-add .add-btn { min-width: 50px; padding: 0 8px; }
  html body.qh-portal-og #qh-charcoal-final #stage td.col-part .part-sub { overflow-wrap: anywhere; }
}/* Phone part rows: price sits top right beside the part; stock, History and the buttons share the second line. */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final #stage table.adapter-results tbody tr:not(.detail-row):not(.group-row):not(.sheet-size-row) {
    grid-template-columns: max-content max-content minmax(0, 1fr) max-content !important;
    grid-template-areas: "part part part price" "stock history add add" !important;
  }
  html body.qh-portal-og #qh-charcoal-final #stage table.adapter-results td.col-price { align-self: start !important; justify-self: end !important; text-align: right !important; padding-top: 2px; font-size: 14px; font-weight: 800; white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final #stage table.adapter-results td.col-add { justify-self: end; }
}/* Phone Resources: two catalogs a row with a small cover; finders as short two-up tiles. */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .resources-grid.res-catalogs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 6px; }
  html body.qh-portal-og #qh-charcoal-final .resources-grid.res-catalogs .resource-card { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: start; gap: 6px; min-height: 0; padding: 6px; }
  html body.qh-portal-og #qh-charcoal-final .resources-grid.res-catalogs .res-cover { width: 44px; height: 58px; object-fit: cover; border-radius: 4px; }
  html body.qh-portal-og #qh-charcoal-final .resources-grid.res-catalogs .res-card-copy b { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 12.5px; line-height: 1.2; }
  html body.qh-portal-og #qh-charcoal-final .resources-grid.res-catalogs .res-card-copy small { display: none; }
  html body.qh-portal-og #qh-charcoal-final .resources-grid.res-catalogs .res-type { font-size: 10px; }
  html body.qh-portal-og #qh-charcoal-final .res-finders { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  html body.qh-portal-og #qh-charcoal-final .res-finder { gap: 8px; min-height: 0; padding: 6px 8px; align-items: center; }
  html body.qh-portal-og #qh-charcoal-final .res-finder .res-finder-icon { width: 40px; height: 40px; }
  html body.qh-portal-og #qh-charcoal-final .res-finder .res-finder-icon img { width: 36px; height: 36px; }
  html body.qh-portal-og #qh-charcoal-final .res-finder-text b { font-size: 13px; line-height: 1.2; }
  html body.qh-portal-og #qh-charcoal-final .res-finder-text small { display: none; }
  html body.qh-portal-og #qh-charcoal-final .res-section .section-head h2 { margin: 6px 0 4px; font-size: 15px; }
}/* Phone Specials: smaller photos, tighter cards, six sizes a row. */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .sp-feature { padding: 6px; margin: 0 0 10px; }
  html body.qh-portal-og #qh-charcoal-final .sp-feature :is(.sp-photo, .sp-hero-photo) { height: 96px !important; max-height: 96px; }
  html body.qh-portal-og #qh-charcoal-final .sp-feature :is(.sp-photo, .sp-hero-photo) img { max-height: 92px; object-fit: contain; }
  html body.qh-portal-og #qh-charcoal-final .sp-sizes { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; column-gap: 4px; }
  html body.qh-portal-og #qh-charcoal-final .sp-sizes li { padding: 2px 0; font-size: 12px; }
  html body.qh-portal-og #qh-charcoal-final .sp-set,
  html body.qh-portal-og #qh-charcoal-final .sp-card { padding: 6px 8px; gap: 4px; }
  html body.qh-portal-og #qh-charcoal-final .sp-feature h2,
  html body.qh-portal-og #qh-charcoal-final .sp-feature h3 { margin: 2px 0; font-size: 15px; line-height: 1.2; }
  html body.qh-portal-og #qh-charcoal-final .sp-feature p { margin: 2px 0 4px; font-size: 12px; line-height: 1.3; }
}/* Industrial ends: type and material chips, King ferrule picks. */
html body.qh-portal-og #qh-charcoal-final .hs-etypes,
html body.qh-portal-og #qh-charcoal-final .hs-emats { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 4px 8px; }
html body.qh-portal-og #qh-charcoal-final .hs-etypes > span,
html body.qh-portal-og #qh-charcoal-final .hs-emats > span { font-size: 11px; font-weight: 800; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; margin-right: 2px; }
html body.qh-portal-og #qh-charcoal-final .hs-emats { padding-top: 0; }
html body.qh-portal-og #qh-charcoal-final .hs-ferrules .hs-chips { display: flex; flex-wrap: wrap; gap: 4px; padding: 6px 8px; }
html body.qh-portal-og #qh-charcoal-final .hs-ferrules .hs-chip small { color: var(--muted); font-weight: 600; }
/* 926-oe40: line numbers and tallies, compact finder menu, hose builder colors, stepper, detail Add, Pay and process, Accounting, Kits. */
html body.qh-portal-og #qh-charcoal-final .is-staff-hidden { display: none !important; }
html body.qh-portal-og #qh-charcoal-final .oe-ln { flex: 0 0 auto; align-self: center; min-width: 20px; margin-right: 4px; font-size: 11px; font-weight: 800; color: var(--muted); text-align: right; font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .oe-line.is-blank .oe-ln { opacity: .45; }
html body.qh-portal-og #qh-charcoal-final .oe-tally { flex-basis: 100%; text-align: right; font-size: 12px; font-weight: 800; color: var(--muted) !important; }
html body.qh-portal-og #qh-charcoal-final .cart-tally { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin: 4px 0; font-size: 13px; font-weight: 800; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .cart-ln { width: 28px; color: var(--muted); font-weight: 800; text-align: right; }
html body.qh-portal-og #qh-charcoal-final .cart-lines { margin-left: 4px; font-size: 10px; font-weight: 700; opacity: .8; white-space: nowrap; }
@media (min-width: 681px) {
  html body.qh-portal-og #qh-charcoal-final .oe-find#oeFind { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: stretch; gap: 6px; width: fit-content; max-width: 640px; padding: 6px; }
  html body.qh-portal-og #qh-charcoal-final .oe-find#oeFind[hidden] { display: none; }
  html body.qh-portal-og #qh-charcoal-final .oe-find#oeFind [data-oe-hop] { margin: 0; padding: 6px 10px; }
  html body.qh-portal-og #qh-charcoal-final .oe-find#oeFind [data-oe-act="find-close"] { align-self: center; }
}
html body.qh-portal-og #qh-charcoal-final .hs-panel { background: #f3efe7; }
html body.qh-portal-og #qh-charcoal-final .hs-head { background: #e7eef5; }
html body.qh-portal-og #qh-charcoal-final .hs-dashes { padding: 4px; border-radius: 10px; background: #dbe5ef; }
html body.qh-portal-og #qh-charcoal-final .hs-col[data-hs-col="hose"] { background: #fbf6ee; }
html body.qh-portal-og #qh-charcoal-final .hs-brands { background: #f6f2ea; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .hs-panel { background: #1e1b17; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .hs-head { background: #1f2630; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .hs-dashes { background: #26303c; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .hs-col[data-hs-col="hose"] { background: #24201a; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .hs-brands { background: #221e19; }
html body.qh-portal-og #qh-charcoal-final .qty-step { display: inline-flex; align-items: stretch; height: 32px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); overflow: hidden; }
html body.qh-portal-og #qh-charcoal-final .qty-step .qty-nudge { width: 28px; min-width: 28px; height: auto; min-height: 0; padding: 0; font: inherit; font-size: 16px; font-weight: 700; line-height: 1; color: var(--muted); background: transparent; border: 0; border-radius: 0; box-shadow: none; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .qty-step .qty-nudge:hover { color: var(--ink); background: var(--wash); }
html body.qh-portal-og #qh-charcoal-final .qty-step input.qty { width: 40px; min-width: 0; height: auto; padding: 0 2px; font-weight: 800; text-align: center; border: 0; border-left: 1px solid var(--line); border-right: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; -moz-appearance: textfield; }
html body.qh-portal-og #qh-charcoal-final .qty-step input.qty::-webkit-outer-spin-button,
html body.qh-portal-og #qh-charcoal-final .qty-step input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
html body.qh-portal-og #qh-charcoal-final .detail-buy { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 8px 0 4px; }
html body.qh-portal-og #qh-charcoal-final .detail-buy .qty-picks { display: inline-flex; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .oe-pay { margin: 10px 0; padding: 10px 12px; border: 2px solid var(--qh-action, #8d421a); border-radius: 12px; background: color-mix(in srgb, var(--qh-action, #8d421a) 5%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .oe-pay header { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; }
html body.qh-portal-og #qh-charcoal-final .oe-pay header b { font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .oe-pay header span { font-size: 15px; font-weight: 800; margin-right: auto; }
html body.qh-portal-og #qh-charcoal-final .oe-pay-steps { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0 0 8px; padding: 0; list-style: none; font-size: 12px; font-weight: 700; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-pay-steps li { display: inline-flex; align-items: center; gap: 5px; }
html body.qh-portal-og #qh-charcoal-final .oe-pay-steps i { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; font-style: normal; font-size: 11px; border: 1px solid currentColor; }
html body.qh-portal-og #qh-charcoal-final .oe-pay-steps li.is-now { color: var(--ink); }
html body.qh-portal-og #qh-charcoal-final .oe-pay-steps li.is-done { color: #1f7a45; }
html body.qh-portal-og #qh-charcoal-final .oe-pay-steps li.is-done i { background: #1f7a45; color: #fff; border-color: #1f7a45; }
html body.qh-portal-og #qh-charcoal-final .oe-pay-lead { margin: 4px 0 8px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .oe-pay-lead.is-err { color: #b42318; }
html body.qh-portal-og #qh-charcoal-final .oe-pay-lead.is-ok { color: #1f7a45; }
html body.qh-portal-og #qh-charcoal-final .oe-pay-picks { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .oe-pay-pick { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; align-items: center; column-gap: 10px; padding: 10px 12px; text-align: left; font: inherit; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-pay-pick:hover { border-color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .oe-pay-pick .ops-ic { grid-row: 1 / span 2; width: 26px; height: 26px; color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .oe-pay-pick small { color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-pay-nexts { display: flex; flex-wrap: wrap; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .oe-pay-next { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 12px; font: inherit; font-weight: 700; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 9px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-pay-next.is-done { border-color: #1f7a45; color: #1f7a45; }
html body.qh-portal-og #qh-charcoal-final .oe-pay-next i { font-style: normal; }
html body.qh-portal-og #qh-charcoal-final .acct-range,
html body.qh-portal-og #qh-charcoal-final .acct-tools { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px; margin: 8px 0; }
html body.qh-portal-og #qh-charcoal-final .acct-range label,
html body.qh-portal-og #qh-charcoal-final .acct-tools label { display: grid; gap: 2px; font-size: 12px; font-weight: 700; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .acct-pay-table td small { display: block; color: var(--muted); font-size: 11px; }
html body.qh-portal-og #qh-charcoal-final .acct-pay-table tr.is-deposited { opacity: .6; }
html body.qh-portal-og #qh-charcoal-final .acct-pay-table tr.is-picked { background: color-mix(in srgb, var(--qh-action, #8d421a) 9%, var(--paper)); }
html body.qh-portal-og #qh-charcoal-final .status-chip.ok { color: #1f7a45; border-color: #1f7a45; }
html body.qh-portal-og #qh-charcoal-final .status-chip.warn { color: #b45309; border-color: #b45309; }
html body.qh-portal-og #qh-charcoal-final .acct-deps { margin: 4px 0; padding-left: 18px; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .kit-kinds { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 12px; }
html body.qh-portal-og #qh-charcoal-final .kit-kinds a { padding: 5px 12px; font-size: 13px; font-weight: 700; color: var(--ink); text-decoration: none; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .kit-kinds a.is-on { color: #fff; background: var(--qh-action, #8d421a); border-color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .kit-kinds small { opacity: .75; }
html body.qh-portal-og #qh-charcoal-final .kit-group { margin: 0 0 16px; }
html body.qh-portal-og #qh-charcoal-final .kit-group h2 { margin: 6px 0; font-size: 17px; }
html body.qh-portal-og #qh-charcoal-final .kit-group h2 small { color: var(--muted); font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .kit-thread h3 { margin: 8px 0 4px; font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .kit-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); gap: 8px; }
html body.qh-portal-og #qh-charcoal-final .kit-card { border: 1px solid var(--line); border-radius: 12px; background: var(--paper); overflow: hidden; }
html body.qh-portal-og #qh-charcoal-final .kit-card.is-open { grid-column: 1 / -1; border-color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .kit-card-top { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 10px; }
html body.qh-portal-og #qh-charcoal-final .kit-photo { width: 72px; height: 56px; border-radius: 8px; background: #fff; overflow: hidden; display: grid; place-items: center; }
html body.qh-portal-og #qh-charcoal-final .kit-photo img { max-width: 100%; max-height: 100%; object-fit: contain; }
html body.qh-portal-og #qh-charcoal-final .kit-copy { display: grid; gap: 1px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .kit-copy b { font-size: 14px; line-height: 1.2; }
html body.qh-portal-og #qh-charcoal-final .kit-copy code { font-size: 12px; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .kit-copy small { font-size: 12px; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .kit-buy { display: grid; justify-items: end; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .kit-buy .price-cell { font-size: 15px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .kit-card .kit-parts { margin: 0; padding: 6px 10px 10px; border-top: 1px solid var(--line); background: var(--wash); }
html body.qh-portal-og #qh-charcoal-final .kit-parts-head { display: flex; align-items: baseline; gap: 10px; margin: 2px 0 4px; }
html body.qh-portal-og #qh-charcoal-final .kit-parts-head span { font-weight: 800; color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .kit-parts-head small { margin-left: auto; color: var(--muted); font-size: 11px; }
html body.qh-portal-og #qh-charcoal-final .kit-parts-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
html body.qh-portal-og #qh-charcoal-final .kit-parts-table th { padding: 3px 6px; font-size: 11px; font-weight: 800; text-align: left; color: var(--muted); border-bottom: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .kit-parts-table td { padding: 2px 6px; border-bottom: 1px solid color-mix(in srgb, var(--line) 60%, transparent); }
html body.qh-portal-og #qh-charcoal-final .kit-parts-table .n { width: 56px; text-align: right; font-weight: 800; font-variant-numeric: tabular-nums; }
html body.qh-portal-og #qh-charcoal-final .kit-parts-table code { font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .kit-parts-table tr.is-case td { color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .kit-part-add { min-height: 24px; padding: 0 8px; font: inherit; font-size: 11.5px; font-weight: 800; color: var(--qh-action, #8d421a); background: transparent; border: 1px solid currentColor; border-radius: 6px; cursor: pointer; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .kit-parts .kit-parts-list { display: none; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .kit-card-top { grid-template-columns: 56px minmax(0, 1fr); }
  html body.qh-portal-og #qh-charcoal-final .kit-photo { width: 56px; height: 44px; }
  html body.qh-portal-og #qh-charcoal-final .kit-buy { grid-column: 1 / -1; display: flex; justify-content: flex-end; align-items: center; }
  html body.qh-portal-og #qh-charcoal-final .kit-parts-table th:nth-child(2), html body.qh-portal-og #qh-charcoal-final .kit-parts-table td:nth-child(2) { display: none; }
}
/* Order lines as a sheet (926-oe43): the column labels stay pinned under the header and slide with the lines.
   Scoped to #oeLines so the customer cart, which reuses the line classes, keeps its own layout. */
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-sheet { position: relative; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-sheet-head { position: sticky; top: var(--chrome-h, 56px); z-index: 8; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; transition: top .32s ease; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-sheet-head::-webkit-scrollbar { display: none; }
html body.qh-portal-og #qh-charcoal-final .app-chrome.is-away ~ .shell #oeLines .oe-sheet-head { top: 0; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-sheet-body { overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-sheet-head .oe-lines { border-bottom: 0; border-radius: 10px 10px 0 0; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-sheet-body .oe-lines { border-radius: 0 0 10px 10px; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line { grid-template-columns: minmax(200px, 1fr) 112px 82px 82px 82px 56px 150px 96px 92px; grid-template-areas: "part tools qty picked ship bo price amt edit"; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-lines.is-counter .oe-line { grid-template-columns: minmax(200px, 1.6fr) 112px minmax(68px, .55fr) minmax(68px, .55fr) 48px minmax(88px, .7fr) minmax(72px, .55fr) 64px; grid-template-areas: "part tools qty picked bo price amt edit"; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-lines.is-quote .oe-line { grid-template-columns: minmax(200px, 1fr) 112px 90px 150px 100px 92px; grid-template-areas: "part tools qty price amt edit"; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line > :is(.oe-part, .oe-h-part) { grid-area: part; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line > :is(.oe-sku-tools, .oe-h-tools) { grid-area: tools; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line > :is(.oe-quantity, .oe-h-qty) { grid-area: qty; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line > :is(.oe-picked, .oe-h-picked) { grid-area: picked; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line > :is(.oe-ship, .oe-h-ship) { grid-area: ship; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line > :is(.oe-bo, .oe-h-bo) { grid-area: bo; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line > :is(.oe-price, .oe-h-price) { grid-area: price; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line > :is(.oe-amt, .oe-h-amt) { grid-area: amt; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line > :is(.oe-line-tools, .oe-h-edit) { grid-area: edit; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line > .oe-line-note { grid-column: 1 / -1; grid-row: 2; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line-head > .oe-h-tools { text-align: center; white-space: nowrap; letter-spacing: 0; font-size: 10.5px; }
html body.qh-portal-og #qh-charcoal-final #oeLines .oe-sku-tools { display: flex; align-items: center; justify-content: flex-start; gap: 4px; align-self: start; }
@media (max-width: 680px) {
  /* Two rows per line, everything inside the screen width: the part and its buttons, then the figures. */
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-sheet-head { display: none; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-sheet-body { overflow: visible; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-lines { width: auto; min-width: 0; overflow: visible; background: none; border: 0; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line { grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-areas: "part part part part part tools tools tools edit edit edit edit" "qty qty picked picked ship ship bo price price amt amt amt"; align-items: center; gap: 6px 4px; margin: 0 0 8px; padding: 8px; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; box-shadow: none; overflow: visible; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-lines.is-counter .oe-line { grid-template-areas: "part part part part part tools tools tools edit edit edit edit" "qty qty qty picked picked picked bo price price amt amt amt"; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-lines.is-quote .oe-line { grid-template-areas: "part part part part part part tools tools edit edit edit edit" "qty qty qty qty price price price price amt amt amt amt"; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-asm { grid-template-areas: "part part part part part part part part part part part part" "qty qty picked picked ship ship bo price price amt amt amt" "edit edit edit edit edit edit edit edit edit edit edit edit"; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-lines.is-counter .oe-line.is-asm { grid-template-areas: "part part part part part part part part part part part part" "qty qty qty picked picked picked bo price price amt amt amt" "edit edit edit edit edit edit edit edit edit edit edit edit"; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-asm > .oe-line-note { grid-row: 4; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-asm .oe-sku-tools:empty { display: none; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-blank,
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-lines.is-counter .oe-line.is-blank,
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-lines.is-quote .oe-line.is-blank { grid-template-columns: minmax(0, 1fr) max-content 74px; grid-template-areas: "part tools qty"; padding: 6px 8px; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-sheet-body .oe-line:first-child { border-top: 0; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line-head { display: grid; align-items: end; padding-top: 5px; padding-bottom: 5px; font-size: 10px; letter-spacing: .02em; line-height: 1.15; background: var(--wash); }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line-head > span { text-align: center; white-space: normal; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line-head > :is(.oe-h-price, .oe-h-amt) { text-align: right; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line-head > :is(.oe-h-part, .oe-h-edit) { text-align: left; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line > .oe-part { position: static; align-self: start; display: flex; align-items: flex-start; gap: 4px; width: auto; min-width: 0; margin: 0; padding: 0; background: none; box-shadow: none; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line-head > .oe-h-part { position: sticky; left: 0; z-index: 3; align-self: stretch; display: flex; align-items: flex-end; margin: -5px 0 -5px -6px; padding: 5px 4px 5px 6px; background: var(--wash); box-shadow: 1px 0 0 var(--line); }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-sheet.is-slid :is(.oe-line > .oe-part, .oe-line-head > .oe-h-part) { box-shadow: 1px 0 0 var(--line), 7px 0 8px -6px rgba(0, 0, 0, .3); }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-asm > .oe-part,
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-asm .oe-asm-parts { background: color-mix(in srgb, var(--qh-selected, #f9eadc) 45%, var(--paper)); }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-ln { align-self: flex-start; min-width: 16px; margin: 9px 0 0; font-size: 10.5px; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-pic { display: none; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-part-main { flex: 1 1 auto; gap: 2px; width: auto; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-sku-row { width: auto; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-sku-in { width: 100%; min-height: 34px; padding: 3px 6px; font-size: 16px; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-meta { gap: 1px 6px; font-size: 11px; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-desc { flex: 1 1 100%; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 11px; line-height: 1.25; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-meta :is(.oe-stock, .oe-warn) { font-size: 10.5px; line-height: 1.2; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-sku-tools { justify-content: flex-end; gap: 2px; padding-top: 1px; flex-wrap: wrap; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-line-btn { width: 24px; height: 28px; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-line-btn svg { width: 16px; height: 16px; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line :is(.oe-num, .oe-price, .oe-amt) > span:first-child { display: block; overflow: hidden; font-size: 9px; letter-spacing: 0; text-align: center; text-transform: uppercase; white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-num { display: flex; align-self: stretch; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line :is(.oe-price, .oe-amt) { align-items: center; align-self: stretch; text-align: center; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-num input { min-height: 34px; padding: 2px 3px; font-size: 16px; text-align: center; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-bo b { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 34px; padding: 0 2px; font-size: 14px; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line :is(.oe-price, .oe-amt) { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; align-self: start; min-width: 0; min-height: 34px; overflow: hidden; text-align: right; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line :is(.oe-price b, .oe-price-btn, .oe-amt b) { display: block; max-width: 100%; overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-line-level { max-width: 100%; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-line-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; align-self: start; gap: 2px; width: auto; padding-top: 1px; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-move-label { display: none; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-mv { width: 24px; height: 28px; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-note-btn { min-height: 28px; padding: 0 6px; font-size: 11px; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-del { position: static; width: 26px; min-width: 26px; height: 28px; min-height: 28px; padding: 0; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line > .oe-line-note { position: static; grid-column: 1 / -1; grid-row: 3; width: auto; max-width: none; margin-top: 2px; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-blank { padding-top: 3px; padding-bottom: 3px; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-blank :is(.oe-picked, .oe-ship, .oe-bo, .oe-price, .oe-amt, .oe-line-tools) { display: none; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line .oe-suggest.is-inline { position: relative; z-index: 6; box-sizing: border-box; width: calc(100vw - 56px); max-width: none; margin: 4px 0; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-asm .oe-asm-parts { position: static; flex: 1 1 100%; width: 100%; max-width: none; box-sizing: border-box; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-lines > .oe-find { position: static; width: auto; margin: 6px 0; }
}
body.qh-portal-og #qhKbdRoom { display: block; flex: 0 0 auto; width: 1px; pointer-events: none; }

/* Hose sold by the foot: the feet dropdown needs room for "100" and its arrow (926-oe43). */
@media (max-width: 1099px) {
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add select.qty.qty-length { flex: 0 0 auto !important; width: auto !important; min-width: 66px !important; padding: 0 22px 0 8px !important; text-align: left !important; }
  html body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add input.qty.qty-feet { flex: 0 0 52px !important; width: 52px !important; min-width: 52px !important; }
}
/* Brand cards (Vibra-Tite): one card per product, a compact row per size (926-oe43). */
html body.qh-portal-og #qh-charcoal-final .fr-fam-count { color: var(--muted); font-size: 11px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .fr-family .fr-sizes { grid-column: 1 / -1; display: flex; flex-direction: column; border-top: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .fr-size { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 4px 8px; padding: 6px 12px; border-top: 1px solid color-mix(in srgb, var(--line) 70%, transparent); }
html body.qh-portal-og #qh-charcoal-final .fr-size:first-child { border-top: 0; }
html body.qh-portal-og #qh-charcoal-final .fr-size.is-spot { background: var(--qh-selected, #f9eadc); }
html body.qh-portal-og #qh-charcoal-final .fr-size-name { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .fr-size-name b { font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .fr-size-name .fr-sku { padding: 0; font: inherit; font-size: 12px; font-weight: 700; color: var(--muted); background: none; border: 0; cursor: pointer; text-decoration: underline dotted; text-underline-offset: 3px; }
html body.qh-portal-og #qh-charcoal-final .fr-size-price { font-size: 14px; font-weight: 800; text-align: right; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .fr-size .qty-add { display: flex; flex-wrap: nowrap; align-items: center; gap: 4px; }
html body.qh-portal-og #qh-charcoal-final .fr-size .qty-add .add-btn { min-width: 52px; min-height: 34px; }
html body.qh-portal-og #qh-charcoal-final .fr-size .part-history-btn { min-height: 30px; padding: 0 8px; font-size: 11px; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .fr-size { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name price" "stock buy"; padding: 6px 10px; }
  html body.qh-portal-og #qh-charcoal-final .fr-size-name { grid-area: name; }
  html body.qh-portal-og #qh-charcoal-final .fr-size-price { grid-area: price; }
  html body.qh-portal-og #qh-charcoal-final .fr-size-stock { grid-area: stock; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final .fr-size .qty-add { grid-area: buy; justify-self: end; }
}
/* Sort menus on History lists and the Open order picker (926-oe44). */
html body.qh-portal-og #qh-charcoal-final .hist-sort { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 4px 10px; margin: 0 0 6px; color: var(--muted); font-size: 12.5px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .hist-sort select { min-height: 32px; margin-left: 4px; padding: 2px 6px; font: inherit; font-size: 13px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .hist-sort small { font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .oe-find-head .hist-sort { margin: 0 0 0 auto; }
/* Count (926-oe44): builder, list of counts, and the count sheet. */
html body.qh-portal-og #qh-charcoal-final .count-build { margin: 0 0 12px; padding: 8px 12px; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .count-build > summary { display: flex; align-items: center; min-height: 34px; font-weight: 800; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .count-build-form { display: grid; gap: 10px; margin-top: 8px; }
html body.qh-portal-og #qh-charcoal-final .count-build-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); align-items: end; gap: 8px 12px; }
html body.qh-portal-og #qh-charcoal-final .count-build-grid label { display: flex; flex-direction: column; gap: 3px; color: var(--muted); font-size: 12.5px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .count-build-grid :is(input:not([type="checkbox"]), select) { min-height: 36px; padding: 4px 8px; font: inherit; font-size: 15px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .count-build-grid .count-wide { grid-column: span 2; }
html body.qh-portal-og #qh-charcoal-final :is(.count-build-grid, .count-tools) .count-check { flex-direction: row; align-items: center; gap: 6px; color: var(--ink); font-size: 13px; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .count-build-btns { display: flex; flex-wrap: wrap; gap: 8px; }
html body.qh-portal-og #qh-charcoal-final :is(.count-preview-table, .count-table) td small { display: block; color: var(--muted); font-size: 11.5px; font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .count-list { display: grid; gap: 8px; margin: 6px 0 14px; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .count-card { display: grid; grid-template-columns: minmax(0, 1fr) 220px; align-items: center; gap: 6px 14px; padding: 10px 12px; color: var(--ink); text-decoration: none; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .count-card:hover { border-color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .count-card.is-closed { opacity: .82; }
html body.qh-portal-og #qh-charcoal-final .count-card b { display: block; font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .count-card small { display: block; color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .count-card small.is-off { color: #b42318; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .count-card small.is-ok { color: var(--ok); font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .count-bar { display: block; height: 8px; margin: 0 0 3px; overflow: hidden; background: var(--wash); border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .count-bar i { display: block; height: 100%; background: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .count-stats { margin: 0 0 8px; font-size: 13px; }
html body.qh-portal-og #qh-charcoal-final .count-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 10px; }
html body.qh-portal-og #qh-charcoal-final .count-find { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12.5px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .count-find input { width: 180px; min-height: 34px; padding: 3px 8px; font: inherit; font-size: 15px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .count-table .count-in { width: 92px; min-height: 38px; padding: 2px 6px; font: inherit; font-size: 16px; font-weight: 800; text-align: center; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .count-table tr.is-counted .count-in { border-color: var(--ok); }
html body.qh-portal-og #qh-charcoal-final .count-table tr.is-flash td { animation: qhCountFlash 1.4s ease; }
@keyframes qhCountFlash { 0%, 40% { background: var(--qh-selected, #f9eadc); } 100% { background: transparent; } }
html body.qh-portal-og #qh-charcoal-final .status-chip.is-over { color: #7a5200; background: #fff2cc; }
html body.qh-portal-og #qh-charcoal-final .count-del { margin-left: auto; color: #b42318; }
html body.qh-portal-og #qh-charcoal-final .count-note { padding: 6px 10px; background: var(--wash); border-radius: 8px; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .status-chip.is-over { color: #ffd98a; background: rgba(255, 196, 0, .16); }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .count-card small.is-off { color: #ff8a80; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .count-card { grid-template-columns: 1fr; }
  html body.qh-portal-og #qh-charcoal-final .count-build-grid .count-wide { grid-column: auto; }
  html body.qh-portal-og #qh-charcoal-final .count-find input { width: 140px; }
  html body.qh-portal-og #qh-charcoal-final .count-table .count-in { width: 84px; }
}
/* Printed catalogs (926-oe45): a card per QH catalog; requested copies show in the cart. */
html body.qh-portal-og #qh-charcoal-final .pc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; }
html body.qh-portal-og #qh-charcoal-final .pc-card { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 10px; padding: 10px; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .pc-cover img { display: block; width: 96px; height: 124px; object-fit: cover; border-radius: 4px; box-shadow: 0 1px 3px rgba(0, 0, 0, .22); }
html body.qh-portal-og #qh-charcoal-final .pc-copy { min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .pc-copy b { display: block; font-size: 15px; line-height: 1.25; }
html body.qh-portal-og #qh-charcoal-final .pc-copy small { display: block; margin: 3px 0 8px; color: var(--muted); font-size: 12.5px; }
html body.qh-portal-og #qh-charcoal-final .pc-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
html body.qh-portal-og #qh-charcoal-final .pc-qty { display: inline-flex; align-items: center; gap: 4px; color: var(--muted); font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .pc-qty select { min-height: 32px; padding: 2px 4px; font: inherit; font-size: 14px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .pc-acts .add-btn { min-height: 32px; padding: 0 12px; }
html body.qh-portal-og #qh-charcoal-final .pc-acts .add-btn.is-on { color: #fff; background: var(--ok, #1d7a3e); border-color: var(--ok, #1d7a3e); }
html body.qh-portal-og #qh-charcoal-final .pc-cart { margin: 0 0 10px; padding: 8px 12px; background: var(--wash); border: 1px dashed var(--line); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .pc-cart small { display: block; color: var(--muted); font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .pc-cart ul { margin: 6px 0 0; padding: 0 0 0 18px; }
html body.qh-portal-og #qh-charcoal-final .pc-cart li { margin: 2px 0; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .pc-grid { grid-template-columns: 1fr; gap: 8px; }
  html body.qh-portal-og #qh-charcoal-final .pc-card { grid-template-columns: 72px minmax(0, 1fr); padding: 8px; }
  html body.qh-portal-og #qh-charcoal-final .pc-cover img { width: 72px; height: 94px; }
}
/* Phone order sheet: a built hose shows each part with its price, all inside the screen (926-oe47). */
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-asm .oe-asm-parts li { display: grid; grid-template-columns: 16px auto minmax(0, 1fr) auto auto; align-items: center; gap: 2px 6px; padding: 3px 4px; font-size: 11.5px; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-asm .oe-asm-parts li > * { grid-row: 1; min-width: 0; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-asm .oe-asm-parts li > b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-asm .oe-asm-parts li > span,
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-asm .oe-asm-parts li > em:nth-of-type(2) { display: none; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-asm .oe-asm-parts li > em:nth-of-type(1),
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-asm .oe-asm-parts li > em:nth-of-type(3) { display: block; white-space: nowrap; text-align: right; font-style: normal; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-asm .oe-asm-parts li > em:nth-of-type(3) { font-weight: 800; }
  html body.qh-portal-og #qh-charcoal-final #oeLines .oe-line.is-asm .oe-asm-head { flex-wrap: wrap; gap: 4px; }
}
html body.qh-portal-og #qh-charcoal-final .history-assign.is-searching :is(.history-quick, #customerSortBar, #customerRepFilter, #customerFolderTrail, #customerFolderGrid) { display: none; }
html body.qh-portal-og #qh-charcoal-final .customer-search-hits:empty { display: none; }
html body.qh-portal-og #qh-charcoal-final .customer-search-hits { margin: 6px 0 10px; }
/* Count builder: live answer and tap-to-pick suggestions (926-oe47). */
html body.qh-portal-og #qh-charcoal-final .count-sugs { display: grid; gap: 2px; max-height: 260px; margin: -2px 0 0; padding: 4px; overflow: auto; list-style: none; background: var(--paper); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 6px 16px rgba(0, 0, 0, .12); }
html body.qh-portal-og #qh-charcoal-final .count-sugs[hidden] { display: none; }
html body.qh-portal-og #qh-charcoal-final .count-sugs button { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 38px; padding: 6px 8px; font: inherit; font-size: 14px; text-align: left; color: var(--ink); background: none; border: 0; border-radius: 6px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .count-sugs button:is(:hover, :focus-visible) { background: var(--wash); }
html body.qh-portal-og #qh-charcoal-final .count-sugs small { flex: 0 0 auto; color: var(--muted); font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .count-live { min-height: 1.2em; margin: 0; color: var(--qh-action, #8d421a); font-size: 13px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .count-live:empty { display: none; }
html[data-theme="dark"] body.qh-portal-og #qh-charcoal-final .count-live { color: #f0a35a; }
/* Kits (926-oe47): bin layout grid from the printed label; kit pictures that are a drawing or a label. */
html body.qh-portal-og #qh-charcoal-final .kit-layout { margin: 10px 0 2px; }
html body.qh-portal-og #qh-charcoal-final .kit-layout-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0 0 6px; }
html body.qh-portal-og #qh-charcoal-final .kit-layout-head span { color: var(--muted); font-size: 12px; font-weight: 700; }
html body.qh-portal-og #qh-charcoal-final .kit-layout-head a { margin-left: auto; font-size: 12.5px; font-weight: 800; color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .kit-bins { display: grid; grid-template-columns: repeat(var(--kit-cols, 4), minmax(0, 1fr)); gap: 3px; padding: 6px; background: #2f3439; border-radius: 8px; }
html body.qh-portal-og #qh-charcoal-final .kit-bin { position: relative; min-height: 54px; padding: 14px 5px 5px; overflow: hidden; color: #1d2125; background: #eef1f3; border-radius: 4px; }
html body.qh-portal-og #qh-charcoal-final .kit-bin.is-empty { background: #c9ced3; }
html body.qh-portal-og #qh-charcoal-final .kit-bin i { position: absolute; top: 2px; left: 4px; color: #6b737a; font-size: 10px; font-style: normal; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .kit-bin b { display: block; font-size: 11.5px; line-height: 1.15; overflow-wrap: anywhere; }
html body.qh-portal-og #qh-charcoal-final .kit-bin small { display: block; margin: 1px 0 3px; color: #4b5258; font-size: 10.5px; line-height: 1.15; }
html body.qh-portal-og #qh-charcoal-final .kit-photo.is-layout img { object-fit: cover; object-position: top center; }
html body.qh-portal-og #qh-charcoal-final .kit-photo.is-generic img { padding: 2px; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .kit-bins { gap: 2px; padding: 4px; }
  html body.qh-portal-og #qh-charcoal-final .kit-bin { min-height: 46px; padding: 12px 3px 3px; }
  html body.qh-portal-og #qh-charcoal-final .kit-bin b { font-size: 10px; }
  html body.qh-portal-og #qh-charcoal-final .kit-bin small { display: none; }
}
/* Order screen (926-oe49): price level is always a dropdown, grayed for non-managers; ship-to is a one-line box that opens into saved addresses plus the form. */
html body.qh-portal-og #qh-charcoal-final .oe-level-pick select:disabled { color: var(--muted); background: var(--wash); border-color: var(--line); cursor: default; opacity: 1; }
html body.qh-portal-og #qh-charcoal-final .oe-shipto { padding: 0; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-h { display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 4px 10px; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-h > b { flex: 0 0 auto; font-size: 12px; letter-spacing: .03em; text-transform: uppercase; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .oe-ship-one { flex: 1 1 auto; min-width: 0; overflow: hidden; font-size: 14px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-one.is-empty { color: var(--muted); font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .oe-ship-caret { flex: 0 0 auto; width: 8px; height: 8px; margin-right: 4px; border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: rotate(45deg); }
html body.qh-portal-og #qh-charcoal-final .oe-shipto[open] .oe-ship-caret { transform: rotate(225deg); margin-top: 4px; }
html body.qh-portal-og #qh-charcoal-final .oe-shipto[open] .oe-ship-pick,
html body.qh-portal-og #qh-charcoal-final .oe-shipto[open] .oe-ship-grid,
html body.qh-portal-og #qh-charcoal-final .oe-shipto[open] .oe-ship-acts { margin: 0 10px 8px; }
@media (max-width: 680px) {
  html body.qh-portal-og #qh-charcoal-final .oe-ship-grid { grid-template-columns: 1fr 1fr; }
  html body.qh-portal-og #qh-charcoal-final .oe-ship-address1,
  html body.qh-portal-og #qh-charcoal-final .oe-ship-name { grid-column: 1 / -1; }
  /* Same on an iPhone and an Android phone: no focus zoom, no tap delay, and the home indicator stays clear of the bar. */
  html body.qh-portal-og #qh-charcoal-final :is(input, select, textarea) { font-size: 16px; }
  html body.qh-portal-og #qh-charcoal-final :is(button, a, summary, label) { touch-action: manipulation; }
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
/* Kit parts as a compact list: two columns on wider screens, one on a phone (926-oe50). */
html body.qh-portal-og #qh-charcoal-final .kit-part-list { display: grid; grid-template-columns: 1fr; gap: 0 16px; margin: 4px 0 0; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .kit-part-list li { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 6px; padding: 3px 0; border-bottom: 1px solid color-mix(in srgb, var(--line) 60%, transparent); }
html body.qh-portal-og #qh-charcoal-final .kit-part-list .kp-n { font-variant-numeric: tabular-nums; text-align: right; }
html body.qh-portal-og #qh-charcoal-final .kit-part-list .kp-copy { min-width: 0; }
html body.qh-portal-og #qh-charcoal-final .kit-part-list code { display: block; font-size: 12px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .kit-part-list small { display: block; overflow: hidden; color: var(--muted); font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .kit-part-list li.is-case { color: var(--muted); }
@media (min-width: 560px) {
  html body.qh-portal-og #qh-charcoal-final .kit-part-list { grid-template-columns: 1fr 1fr; }
}
html body.qh-portal-og #qh-charcoal-final .fkit-banner { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 12px; margin: 6px 0 10px; padding: 8px 12px; color: var(--ink); text-decoration: none; background: var(--paper); border: 2px solid var(--qh-action, #8d421a); border-radius: 10px; }
html body.qh-portal-og #qh-charcoal-final .fkit-banner img { width: 64px; height: 64px; object-fit: contain; background: #fff; border-radius: 6px; }
html body.qh-portal-og #qh-charcoal-final .fkit-banner b { display: block; font-size: 15px; }
html body.qh-portal-og #qh-charcoal-final .fkit-banner small { display: block; color: var(--muted); font-size: 12.5px; line-height: 1.3; }
html body.qh-portal-og #qh-charcoal-final .kit-docs { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 8px; font-size: 13px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .kit-docs a { color: var(--qh-action, #8d421a); }

html body.qh-portal-og #qh-charcoal-final .hist-th { padding: 0; font: inherit; font-weight: 800; color: inherit; text-transform: inherit; letter-spacing: inherit; background: none; border: 0; cursor: pointer; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .hist-th.is-on { color: var(--qh-action, #8d421a); }
html body.qh-portal-og #qh-charcoal-final .hs-over.is-on { background: #f36c21; color: #fff; border-color: #d85a12; }
html body.qh-portal-og #qh-charcoal-final .hs-brass-ferr { grid-column: 1 / -1; margin: 8px 0 0; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .hs-brass-ferr > span { display: block; margin: 2px 0 6px; color: var(--muted); font-size: 12.5px; }
html body.qh-portal-og #qh-charcoal-final .hs-brass-ferr .hs-chip { display: inline-flex; flex-direction: column; align-items: flex-start; max-width: 280px; margin: 0 6px 6px 0; border-radius: 10px; text-align: left; white-space: normal; }
html body.qh-portal-og #qh-charcoal-final .hs-brass-ferr .hs-chip small { white-space: normal; }
html body.qh-portal-og #qh-charcoal-final .tabs-fold { display: inline-flex; align-items: center; margin: 6px 12px 0; min-height: 32px; padding: 4px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
html body.qh-portal-og #qh-charcoal-final .hist-pay-banner { display: flex; justify-content: center; margin: 8px 0 14px; }
html body.qh-portal-og #qh-charcoal-final .hist-pay-btn { display: flex; align-items: center; justify-content: center; gap: 12px; width: min(640px, 100%); min-height: 64px; padding: 12px 18px; border-radius: 12px; background: #1c1916; color: #fffefa; text-decoration: none; }
html body.qh-portal-og #qh-charcoal-final .hist-pay-btn svg { width: 28px; height: 28px; flex: none; }
html body.qh-portal-og #qh-charcoal-final .hist-pay-btn span { display: grid; text-align: left; }
html body.qh-portal-og #qh-charcoal-final .hist-pay-btn b { font-size: 16px; }
html body.qh-portal-og #qh-charcoal-final .hist-pay-btn small { color: rgba(255,254,250,.72); font-weight: 600; }
html body.qh-portal-og #qh-charcoal-final .hist-pay-btn.sm { width: auto; min-height: 36px; padding: 6px 12px; font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final :is(button.ghost-btn, a.ghost-btn) { background: var(--paper, #fffdf9); color: var(--ink, #1c1916); border: 1px solid color-mix(in srgb, var(--ink, #1c1916) 16%, var(--line, #d9d1c7)); border-radius: 8px; font-weight: 700; box-shadow: none; }
html body.qh-portal-og #qh-charcoal-final :is(button.ghost-btn, a.ghost-btn):hover { background: color-mix(in srgb, var(--ink, #1c1916) 5%, var(--paper, #fffdf9)); border-color: color-mix(in srgb, var(--ink, #1c1916) 32%, var(--line, #d9d1c7)); color: var(--ink, #1c1916); }
html body.qh-portal-og #qh-charcoal-final :is(button.action-btn, a.action-btn) { background: #1c1916; color: #fffefa; border: 0; border-radius: 8px; font-weight: 700; box-shadow: none; }
html body.qh-portal-og #qh-charcoal-final :is(button.action-btn, a.action-btn):hover { filter: none; background: #3a342e; color: #fffefa; }
html body.qh-portal-og #qh-charcoal-final .app-chrome.is-tabs-shut #primaryTabs { display: none !important; }
html body.qh-portal-og #qh-charcoal-final .pay-table { width: 100%; border-collapse: collapse; font-size: 14px; }
html body.qh-portal-og #qh-charcoal-final .pay-table th, html body.qh-portal-og #qh-charcoal-final .pay-table td { padding: 8px 6px; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; }
html body.qh-portal-og #qh-charcoal-final .pay-table .num { text-align: right; }
html body.qh-portal-og #qh-charcoal-final .pay-inv { padding: 0; border: 0; background: none; color: var(--qh-action, #c2410c); font: inherit; font-weight: 800; cursor: pointer; text-decoration: underline; }
html body.qh-portal-og #qh-charcoal-final .pay-dialog { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 16px; background: rgba(12, 14, 18, .45); }
html body.qh-portal-og #qh-charcoal-final .pay-dialog[hidden] { display: none; }
html body.qh-portal-og #qh-charcoal-final .pay-dialog-card { width: min(420px, 100%); padding: 14px; border-radius: 12px; background: var(--paper); border: 1px solid var(--line); }
html body.qh-portal-og #qh-charcoal-final .seo-skus { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 6px; margin: 12px 0; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .seo-skus a { font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .shop-contact { max-width: 980px; }
html body.qh-portal-og #qh-charcoal-final .shop-contact-hero { margin: 0 0 14px; padding: 0 0 12px; border-bottom: 3px solid var(--qh-action, #c2410c); }
html body.qh-portal-og #qh-charcoal-final .shop-kicker { margin: 0 0 4px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--qh-action, #c2410c); }
html body.qh-portal-og #qh-charcoal-final .shop-contact-hero .page { margin: 0 0 6px; }
html body.qh-portal-og #qh-charcoal-final .shop-contact-hero p { margin: 0; max-width: 42rem; }
html body.qh-portal-og #qh-charcoal-final .shop-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }
html body.qh-portal-og #qh-charcoal-final .shop-facts li { margin: 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .shop-facts b { display: block; margin: 0 0 4px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .shop-facts span { display: block; font-weight: 700; line-height: 1.35; }
html body.qh-portal-og #qh-charcoal-final .shop-links { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0 0 14px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .shop-live { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 380px); gap: 10px; align-items: start; }
html body.qh-portal-og #qh-charcoal-final .shop-maps { display: grid; gap: 10px; }
html body.qh-portal-og #qh-charcoal-final .shop-maps iframe { height: 300px; }
html body.qh-portal-og #qh-charcoal-final .shop-live figure { margin: 0; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
html body.qh-portal-og #qh-charcoal-final .shop-live figcaption { margin: 0 0 6px; font-size: 13px; font-weight: 800; }
html body.qh-portal-og #qh-charcoal-final .shop-live iframe { width: 100%; height: 240px; border: 0; border-radius: 8px; background: var(--wash, #f4f1ea); }
html body.qh-portal-og #qh-charcoal-final .shop-fb iframe { width: 100%; max-width: 500px; height: 600px; background: #fff; }
html body.qh-portal-og #qh-charcoal-final .shop-fb .also { margin: 6px 0 0; font-size: 12px; }
html body.qh-portal-og #qh-charcoal-final .shop-fb a { font-weight: 800; }
@media (max-width: 860px) {
  html body.qh-portal-og #qh-charcoal-final .shop-facts { grid-template-columns: 1fr 1fr; }
  html body.qh-portal-og #qh-charcoal-final .shop-live { grid-template-columns: 1fr; }
}
html body.qh-portal-og #qh-charcoal-final .header-sign-out {
  background: #c2410c !important; color: #fff !important; border: 0 !important; border-radius: 999px;
  font-weight: 800; min-height: 36px; padding: 6px 14px !important;
}
html body.qh-portal-og #qh-charcoal-final .header-sign-out .who-kicker,
html body.qh-portal-og #qh-charcoal-final .header-sign-out b { color: #fff !important; }
@media (max-width: 700px) {
  html body.qh-portal-og #qh-charcoal-final .hs-len-qty { grid-template-columns: 1fr; }
  html body.qh-portal-og #qh-charcoal-final .hs-len-row { display: flex; width: 100%; gap: 6px; }
  html body.qh-portal-og #qh-charcoal-final .hs-len-qty .hs-len input { flex: 1 1 auto; width: auto !important; min-width: 0; height: 44px; font-size: 18px; }
  html body.qh-portal-og #qh-charcoal-final .hs-unit { display: flex; flex: none; }
  html body.qh-portal-og #qh-charcoal-final .hs-unit button { min-width: 42px; min-height: 44px; }
  html body.qh-portal-og #qh-charcoal-final .hs-len-qty .hs-premade { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace :is(.ops-side, .ops-phone-grid, .ops-tools-grid) .is-ghost {
  display: inline-flex; align-items: center; gap: 8px; opacity: .42; color: var(--muted); pointer-events: none; cursor: default;
}
html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .is-ghost .ops-nav-ic { width: 28px; height: 28px; flex: none; color: var(--muted); }
html body.qh-portal-og #qh-charcoal-final .pay-tools, html body.qh-portal-og #qh-charcoal-final .pay-picks { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; }
html body.qh-portal-og #qh-charcoal-final .pay-statement { margin: 0 0 14px; }
html body.qh-portal-og #qh-charcoal-final .pay-note { margin: 0 0 10px; padding: 8px 10px; border-left: 3px solid var(--qh-action, #c2410c); background: var(--wash, #f4f1ea); }
@media (max-width: 760px) {
  html body.qh-portal-og #qh-charcoal-final .ops-phone-menu { max-width: 100%; overflow: hidden; }
  html body.qh-portal-og #qh-charcoal-final .ops-phone-grid {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important; grid-auto-flow: row !important; grid-auto-columns: unset !important;
    width: 100%; max-width: 100%; overflow-x: hidden; box-sizing: border-box;
  }
  html body.qh-portal-og #qh-charcoal-final .ops-phone-grid .ops-phone-h { display: flex !important; grid-column: 1 / -1; }
  html body.qh-portal-og #qh-charcoal-final .ops-phone-grid :is(a, .is-ghost) { min-width: 0; max-width: 100%; white-space: normal; }
  html body.qh-portal-og #qh-charcoal-final .hist-section-body,
  html body.qh-portal-og #qh-charcoal-final .pay-table-wrap { max-width: 100%; overflow-x: auto; }
}
@media (max-width: 420px) {
  html body.qh-portal-og[data-guest="1"] #qh-charcoal-final .cc-header .header-sign-out { display: inline-flex !important; align-items: center; }
}
@media (min-width: 681px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side {
    position: sticky !important;
    top: var(--chrome-h, 110px);
    z-index: 18;
    background: var(--qh-paper, var(--paper, #fffdf9));
  }
}
/* Desktop Operations menu: the grouped pills, in two rows. Each group keeps its colour and
   its name on the box edge; its tools fill two rows inside the box. */
@media (min-width: 1100px) {
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side {
    display: flex !important; flex-wrap: nowrap; align-items: stretch; justify-content: center;
    gap: 8px; padding: 12px 52px 8px 10px; overflow-x: auto; overflow-y: visible;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp {
    position: relative; display: block; flex: 0 1 auto; min-width: 0; width: auto;
    padding: 9px 6px 6px; border-radius: 10px;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-h {
    position: absolute; top: -8px; left: 10px; display: flex; flex: none; margin: 0; padding: 0 6px;
    border: 0; border-radius: 4px; background: var(--qh-paper, var(--paper, #fffdf9));
    font-size: 10px; line-height: 15px; letter-spacing: .08em; white-space: nowrap;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-grp-row {
    display: grid; grid-template-rows: repeat(2, auto); grid-auto-flow: column; grid-auto-columns: max-content;
    justify-content: start; gap: 4px; flex: none; min-width: 0;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side :is(a[data-ops-group], a[data-ops-group]:nth-child(n+5), .is-ghost) {
    flex-direction: row; justify-content: flex-start; min-height: 32px; gap: 6px; padding: 2px 10px 2px 3px;
    font-size: 12.5px; white-space: nowrap; text-align: left;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side :is(a[data-ops-group], .is-ghost) .ops-nav-ic {
    width: 24px; height: 24px; padding: 5px;
  }
  html body.qh-portal-og #qh-charcoal-final .qh-ops-workspace .ops-side .ops-all-btn { align-self: center; }
}
