/* 83-boh.css — BOH inventory, room map, pre-roll station
   Part of the ordered set linked from index.html. The parts concatenate to the
   original stylesheet byte for byte; link order IS the cascade order, so never
   reorder the <link> tags and never move a rule between files. */

#crDetail,
#frDetail,
#mrDetail,
#vrDetail,
#cureDetail,
#bohDetail {
  display: none;
}

.gf-focus-overlay {
  position: fixed;
  inset: 0;
  z-index: 1150;
  background: rgba(3, 7, 4, 0.66);
  backdrop-filter: blur(5px);
  opacity: 0;
  transition: opacity 0.18s var(--ease, ease);
}

.gf-focus-overlay.show {
  opacity: 1;
}

.gf-focus-panel {
  position: fixed;
  width: min(760px, calc(100vw - 24px));
  max-height: calc(100vh - 28px);
  overflow: auto;
  margin: 0;
  padding: 18px;
  border: 1px solid var(--input-line, var(--line));
  border-radius: 20px;
  background: var(--sheet, var(--panel));
  color: var(--text);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.54);
  animation: gfFocusIn 0.2s var(--ease, ease);
}

.gf-focus-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.07);
  color: var(--text);
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
}

.gf-focus-close:hover,
.gf-focus-close:focus-visible {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.12);
  outline: none;
}

.gf-focus-body {
  padding-top: 8px;
}

.gf-focus-panel .fr-detail-inner,
.gf-focus-panel .mr-detail-inner,
.gf-focus-panel .vr-detail-inner,
.gf-focus-panel .cure-detail-inner {
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
  gap: 16px;
}

/* BOH bin panel: single column, narrower than the room panels. */
.gf-focus-panel.boh-detail-panel {
  width: min(460px, calc(100vw - 24px));
}

/* Clone room focused dome overlays */
.cr-focus-overlay {
  position: fixed;
  inset: 0;
  z-index: 1150;
  background: rgba(3, 7, 4, 0.66);
  backdrop-filter: blur(5px);
  opacity: 0;
  transition: opacity 0.18s var(--ease, ease);
}

.cr-focus-overlay.show {
  opacity: 1;
}

.cr-focus-panel {
  position: fixed;
  width: min(760px, calc(100vw - 24px));
  max-height: calc(100vh - 28px);
  overflow: auto;
  margin: 0;
  padding: 18px;
  border: 1px solid var(--input-line, var(--line));
  border-radius: 20px;
  background: var(--sheet, var(--panel));
  color: var(--text);
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.54);
  animation: crFocusIn 0.2s var(--ease, ease);
}

.cr-focus-panel.cr-start-panel {
  width: min(520px, calc(100vw - 24px));
}

.cr-focus-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.07);
  color: var(--text);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.cr-focus-close:hover,
.cr-focus-close:focus-visible {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.12);
  outline: none;
}

.cr-focus-body {
  padding-top: 8px;
}

.cr-focus-panel .cr-detail-inner {
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
  gap: 16px;
}

.cr-start-form {
  display: grid;
  gap: 14px;
  padding-top: 4px;
}

.cr-start-form h3 {
  margin: 0;
  padding-right: 38px;
  color: var(--text);
  font-size: 20px;
  line-height: 1.2;
}

.cr-start-form label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}

.cr-start-form select,
.cr-start-form input {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  border: 1px solid var(--input-line, #333);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.26);
  color: var(--text);
  padding: 10px 12px;
  font-size: 16px;
}

.cr-start-form select:focus,
.cr-start-form input:focus {
  border-color: var(--accent);
  outline: none;
}

.cr-start-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.cr-start-error {
  margin: 0;
  border: 1px solid rgba(232, 111, 95, 0.35);
  border-radius: 10px;
  background: rgba(232, 111, 95, 0.12);
  color: var(--bad);
  padding: 10px 12px;
  font-size: 14px;
}

.cr-start-actions {
  display: flex;
  gap: 10px;
  margin-top: 4px;
}

.cr-start-actions .gf-dialog-ok {
  flex: 2;
}

.cr-start-actions .gf-dialog-cancel {
  flex: 1;
}

.gf-dialog-overlay,
.gfw-overlay,
.fw-overlay {
  place-items: center;
  padding: 16px;
  z-index: 1250;
}

.gf-dialog,
.gfw-modal,
.fw-modal {
  border-radius: 22px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.46);
}

.gf-dialog::before,
.gfw-modal::before,
.fw-modal::before {
  display: none;
}

.gf-toast {
  z-index: 1300;
}

@keyframes gfFocusIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes crFocusIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 760px) {
  .gf-focus-panel,
  .cr-focus-panel,
  .cr-focus-panel.cr-start-panel {
    left: 12px !important;
    right: 12px;
    top: calc(env(safe-area-inset-top, 0px) + 12px) !important;
    width: auto;
    max-height: calc(100vh - 24px);
    border-radius: 18px;
  }

  .gf-focus-panel .fr-detail-inner,
  .gf-focus-panel .mr-detail-inner,
  .gf-focus-panel .vr-detail-inner,
  .gf-focus-panel .cure-detail-inner,
  .cr-focus-panel .cr-detail-inner {
    grid-template-columns: 1fr;
  }

  .cr-start-grid {
    grid-template-columns: 1fr;
  }
}

/* ── BOH inventory (boh.js) ──────────────────────────────────────────────── */
.boh-bin-output { margin:12px 0; padding:11px; border:1px solid #32412d; border-radius:12px; background:#11180f; }
.boh-bin-output-head { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:8px; }
.boh-bin-output-head span { color:#dcebd3; font-size:.875rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.boh-bin-output-head small { color:#788476; font-size:.875rem; }
.boh-output-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr)); gap:7px; }
.boh-output-card { display:grid; grid-template-columns:1fr auto; gap:2px 8px; padding:8px; border:1px solid #293329; border-radius:9px; background:#0d120c; }
.boh-output-card span { align-self:center; color:#aebaaa; font-size:.875rem; font-weight:700; }
.boh-output-card strong { grid-row:1 / span 2; grid-column:2; align-self:center; color:#d8ffbc; font-size:1.25rem; }
.boh-output-card small { overflow:hidden; color:#717c70; font-size:.875rem; line-height:1.3; text-overflow:ellipsis; }
.boh-output-card.preroll strong { color:#c9b8ff; }
.boh-bin-output > p { margin:8px 1px 0; color:#7f897e; font-size:.875rem; line-height:1.35; }
.boh-count { margin-top:16px; }
.boh-count-toolbar { display:grid; grid-template-columns:minmax(240px,1fr) minmax(210px,300px) auto; gap:12px; align-items:end; padding:14px; border:1px solid #283128; border-radius:14px; background:#121712; }
.boh-count-toolbar h2 { margin:0 0 3px; color:#fff; font-size:1.05rem; }
.boh-count-toolbar p { margin:0; color:#849084; font-size:.875rem; line-height:1.35; }
.boh-count-toolbar input { min-height:40px; box-sizing:border-box; border:1px solid #303a30; border-radius:9px; background:#0d120d; color:#fff; padding:8px 10px; font-size:.875rem; }
.boh-count-toolbar input:focus { outline:none; border-color:#568149; }
.boh-count-meta { display:flex; justify-content:space-between; padding:10px 3px 6px; color:#7f8a7f; font-size:.875rem; }
.boh-count-list { display:flex; flex-direction:column; gap:5px; }
.boh-count-row { display:grid; grid-template-columns:70px minmax(150px,1fr) 84px 130px 78px; gap:10px; align-items:center; min-height:58px; padding:8px 10px; border:1px solid #222a22; border-radius:10px; background:#111511; transition:border-color .15s ease, background .15s ease; }
.boh-count-row.changed { border-color:#586228; background:#191b10; }
.boh-count-row.invalid { border-color:#7d3d3d; background:#1c1212; }
.boh-count-place, .boh-count-product, .boh-count-system { display:flex; flex-direction:column; min-width:0; }
.boh-count-place b { color:#bfe6a2; font-size:.875rem; }
.boh-count-product b { overflow:hidden; color:#e0e8dc; font-size:.875rem; text-overflow:ellipsis; white-space:nowrap; }
.boh-count-row small, .boh-count-entry span { color:#778177; font-size:.875rem; font-weight:400; }
.boh-count-system b { color:#b8c2b3; font-size:.875rem; }
.boh-count-entry { display:flex; flex-direction:column; gap:3px; }
.boh-count-entry input { width:100%; min-width:0; box-sizing:border-box; border:1px solid #303a30; border-radius:8px; background:#0b0f0b; color:#fff; padding:7px 8px; font-size:.88rem; }
.boh-count-entry input:focus { outline:none; border-color:#568149; }
.boh-count-entry input:disabled { opacity:.6; }
.boh-count-variance { color:#707970; font-size:.875rem; font-weight:700; text-align:right; }
.boh-count-variance.negative { color:#e58a7a; }
.boh-count-variance.positive { color:#9fd47b; }
@media (max-width:700px) {
  .boh-count .boh-count-toolbar { grid-template-columns:1fr; align-items:stretch; }
  .boh-count-list .boh-count-row { grid-template-columns:44px minmax(90px,1fr) 82px; gap:7px; }
  .boh-count-list .boh-count-variance { grid-column:2 / -1; text-align:left; }
  .boh-count-list .boh-count-system { display:none; }
}

.boh-orders { margin-top:16px; color:var(--text); font-size:1rem; line-height:1.4; }
.boh-orders > header { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.boh-orders > header h2 { margin:0 0 5px; color:var(--text); font-size:1.8rem; line-height:1.15; }
.boh-orders > header p { max-width:65ch; margin:0; color:var(--muted); font-size:1rem; }
.boh-orders > header > b { display:flex; flex-direction:column; min-width:54px; padding:7px 10px; border:1px solid #2a3527; border-radius:10px; background:#0c110b; color:#c7efaa; text-align:center; }
.boh-orders > header > b small { color:#6f7a6d; font-size:.875rem; text-transform:uppercase; }
.boh-orders-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 16px; }
.boh-orders-stats > * { min-width:0; padding:14px 16px; border:1px solid var(--line); border-radius:16px; background:var(--panel); }
.boh-orders-stats b { display:block; color:var(--text); font-size:1.8rem; line-height:1.15; font-variant-numeric:tabular-nums; }
.boh-orders-stats span { display:block; margin-top:5px; color:var(--muted); font-size:.95rem; }
.boh-orders-tools { display:flex; flex-wrap:wrap; gap:10px 18px; margin:0 0 10px; }
.boh-orders-tools [role="group"] { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.boh-orders-tools .rt-secondary[aria-pressed="true"] { border-color:var(--accent); background:rgba(52,212,106,.16); color:var(--text); }
.boh-orders-result { margin:0 0 14px; color:var(--muted); font-size:.95rem; }
.boh-store-tubs { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:12px; margin:0 0 20px; }
.boh-store-tub { min-width:0; padding:16px; border:1px solid var(--line-strong); border-radius:16px; background:var(--panel); }
.boh-store-tub h3 { margin:0 0 12px; color:var(--text); font-size:1.15rem; }
.boh-tub-count { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 8px; }
.boh-tub-count strong { color:var(--accent); font-size:1.7rem; line-height:1.1; font-variant-numeric:tabular-nums; }
.boh-tub-count span { color:var(--muted); font-size:.95rem; }
.boh-store-tub p { margin:8px 0 12px; color:var(--muted); font-size:.95rem; overflow-wrap:anywhere; }
.boh-store-tub > .rt-btn { width:100%; }
.boh-order-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:end; margin-bottom:14px; padding:12px; border:1px solid #283128; border-radius:14px; background:#121712; }
.boh-order-form h3 { grid-column:1 / -1; margin:0; color:#fff; font-size:.95rem; }
.boh-order-form label { display:flex; flex-direction:column; gap:4px; color:#8e9a8a; font-size:.875rem; font-weight:700; }
.boh-order-form label i { color:#667064; font-size:.875rem; font-style:normal; font-weight:400; }
.boh-order-form input, .boh-order-form select { width:100%; min-width:0; min-height:48px; box-sizing:border-box; border:1px solid var(--line-strong); border-radius:10px; background:#0d110e; color:var(--text); padding:8px 12px; font-size:16px; }
.boh-order-notes { grid-column:1 / -1; }
.boh-order-form > .prod-action { grid-column:2; }
.boh-stock-picker { grid-column:1 / -1; min-width:0; margin:0; padding:12px 0 0; border:0; border-top:1px solid #283128; }
.boh-stock-picker legend { padding:0 0 8px; color:#cfe0c2; font-size:.875rem; font-weight:700; }
.boh-stock-picker:disabled { opacity:.55; }
.boh-stock-choices { display:flex; flex-direction:column; gap:8px; margin-top:10px; max-height:480px; overflow:auto; }
.boh-stock-picker .boh-stock-choice { display:grid; grid-template-columns:minmax(0,1fr) minmax(105px,.5fr) 76px; gap:10px; align-items:center; padding:10px; border:1px solid #283128; border-radius:9px; background:#0e140e; }
.boh-stock-picker .boh-stock-choice[hidden] { display:none; }
.boh-stock-choice > span { display:flex; flex-direction:column; gap:4px; min-width:0; overflow-wrap:anywhere; }
.boh-stock-choice strong { color:#e0ecd8; font-size:.875rem; }
.boh-stock-choice small { color:#8e9a8a; font-size:.875rem; font-weight:400; }
.boh-stock-choice b { color:#bde8a4; font-size:.875rem; }
.boh-order-review { grid-column:1 / -1; margin:0; color:#b9cbb0; font-size:.875rem; }
.boh-regular-prep-summary { margin:12px 0; padding:12px; border:1px solid #59492d; border-radius:12px; background:#19190f; color:#c6cab9; font-size:.875rem; line-height:1.5; }
.boh-regular-prep-summary h3 { margin:0; color:#f0d493; font-size:.95rem; }
.boh-regular-prep-summary p { margin:6px 0; }
.boh-regular-prep-summary > div { display:flex; flex-wrap:wrap; gap:8px; }
.boh-order-list { display:flex; flex-direction:column; gap:12px; }
.boh-order-card { min-width:0; padding:16px; border:1px solid var(--line-strong); border-radius:18px; background:var(--panel); }
.boh-order-card.ready, .boh-order-card.packed { border-color:rgba(52,212,106,.5); }
.boh-order-card.fulfilled { border-color:#293b2a; }
.boh-order-card.cancelled { border-color:var(--line); }
.boh-order-card > header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 14px; }
.boh-order-card > header > div { display:flex; flex-direction:column; gap:4px; min-width:0; }
.boh-order-card .boh-order-open { display:flex; flex:1 1 220px; flex-direction:column; align-items:flex-start; justify-content:center; gap:4px; min-width:0; min-height:54px; padding:4px 0; border:0; border-radius:10px; background:transparent; color:var(--text); font:inherit; text-align:left; cursor:pointer; }
.boh-order-open strong { color:var(--text); font-size:1.2rem; overflow-wrap:anywhere; }
.boh-order-open span, .boh-order-open small { color:var(--muted); font-size:.95rem; }
.boh-order-open [data-order-toggle-label] { margin-top:3px; color:var(--accent); font-size:.95rem; font-weight:800; }
.boh-order-open:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.boh-order-status { flex:0 0 auto; max-width:100%; padding:6px 11px; border-radius:999px; background:rgba(240,162,59,.15); color:#ffd08a; font-size:.875rem; font-weight:800; }
.boh-order-card.ready .boh-order-status, .boh-order-card.packed .boh-order-status, .boh-order-card.fulfilled .boh-order-status { background:rgba(52,212,106,.15); color:#9de6b3; }
.boh-order-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:14px; }
.boh-order-metric { min-width:0; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:#0d110e; }
.boh-order-metric strong { display:block; color:var(--text); font-size:1.4rem; line-height:1.15; font-variant-numeric:tabular-nums; }
.boh-order-metric span { display:block; margin-top:4px; color:var(--muted); font-size:.875rem; }
.boh-order-next { margin:12px 0 0; color:var(--muted); font-size:.95rem; }
.boh-order-detail { margin-top:16px; padding-top:4px; border-top:1px solid var(--line); }
.boh-order-lines { margin-top:9px; }
.boh-order-group { margin:16px 0; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.boh-order-group > h3 { margin:0; padding:12px; background:#20291f; color:var(--text); font-size:1rem; }
.boh-order-group > h3 small { margin-left:8px; font-size:.8rem; color:var(--muted); }
.boh-order-group-head { display:var(--order-head-display,grid); grid-template-columns:minmax(130px,1fr) 56px 56px 80px 130px; gap:8px; padding:8px 12px; color:var(--muted); font-size:.8rem; }
.boh-order-group .boh-order-line { display:grid; grid-template-columns:var(--order-line-columns,minmax(130px,1fr) 120px 80px 130px); gap:8px; align-items:center; padding:8px 12px; border-top:1px solid var(--line); }
.boh-order-group .boh-order-strain { display:flex; flex-direction:column; gap:3px; min-width:0; overflow-wrap:anywhere; }
.boh-order-group .boh-order-strain strong { font-size:.95rem; }
.boh-order-group .boh-order-quantities { display:grid; grid-template-columns:var(--order-quantity-columns,56px 56px); gap:8px; }
.boh-order-group .boh-order-quantities > span { display:block; padding:0; border:0; border-radius:0; background:none; }
.boh-order-group .boh-order-quantities small, .boh-order-group .boh-order-send > span { display:var(--order-label-display,none); font-size:.75rem; }
.boh-order-group .boh-order-send input { width:var(--order-input-width,76px); min-height:40px; padding:6px 8px; }
.boh-order-group .boh-order-make .rt-btn { min-height:40px; padding:6px 10px; font-size:.85rem; }
.boh-order-group .boh-order-make { grid-column:var(--order-make-column,auto); }
.boh-order-group .boh-order-make:empty { display:none; }
.boh-order-no-send { color:var(--muted); }
@media (max-width:640px) {
  .boh-order-lines .boh-order-group { --order-head-display:none; --order-line-columns:minmax(70px,1fr) 92px 68px; --order-quantity-columns:42px 42px; --order-label-display:block; --order-input-width:64px; --order-make-column:1 / -1; }
}
.boh-order-lines > div { display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; padding:14px 0; border-bottom:1px solid var(--line); }
.boh-order-lines > div > span { display:flex; flex:1 1 220px; flex-direction:column; gap:4px; min-width:0; overflow-wrap:anywhere; }
.boh-order-lines > div > .rt-btn { align-self:flex-end; }
.boh-order-lines strong { color:var(--text); font-size:1.05rem; }
.boh-order-lines > div > b { color:var(--text); font-size:1rem; text-align:right; }
.boh-order-lines small { color:var(--muted); font-size:.875rem; font-weight:500; }
.boh-order-quantities { display:flex; flex:1 1 230px; flex-wrap:wrap; align-items:stretch; gap:7px; min-width:0; }
.boh-order-quantities > span { display:flex; flex:1 1 70px; flex-direction:column; gap:3px; min-width:0; padding:8px 10px; border:1px solid var(--line); border-radius:10px; background:#0d110e; color:var(--muted); font-size:.875rem; }
.boh-order-quantities b, .boh-order-quantities strong { color:var(--text); font-size:1.05rem; font-variant-numeric:tabular-nums; }
.boh-order-card > p, .boh-order-detail > p { margin:10px 0 0; color:var(--muted); font-size:.95rem; overflow-wrap:anywhere; }
.boh-order-actions { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:14px; }
.boh-order-send-summary { margin:14px 0 0; padding:12px 14px; border:1px solid var(--line-strong); border-radius:12px; background:#0d110e; color:var(--text); font-size:1rem; }
.boh-order-send-summary small, .boh-order-send-summary span { display:block; margin-top:4px; color:var(--muted); font-size:.95rem; }
.boh-order-history { margin-top:18px; border-top:1px solid var(--line-strong); }
.boh-order-history > summary { min-height:48px; box-sizing:border-box; cursor:pointer; padding:14px 2px; color:var(--text); font-size:1rem; font-weight:700; }
.boh-order-history > summary span { margin-left:5px; padding:2px 7px; border-radius:999px; background:#20291f; color:var(--muted); font-size:.875rem; }
/* Part-shipped orders read as their own state, not a dimmer 'ready'. */
.boh-order-card.partial { border-color:#2c4257; }
.boh-order-card.partial .boh-order-status { background:rgba(111,183,217,.15); color:#a4d8ee; }
.boh-order-card.cancelled .boh-order-status { background:rgba(255,255,255,.07); color:var(--muted); }
.boh-order-line.short > b, .boh-order-quantities .short b { color:#ffad9f; }
.boh-order-line.done { color:var(--muted); }
.boh-order-send { display:flex; flex:0 0 auto; flex-direction:column; align-items:flex-start; gap:5px; color:var(--muted); font-size:.875rem; font-weight:700; }
.boh-order-send input { width:100px; min-height:48px; box-sizing:border-box; border:1px solid var(--line-strong); border-radius:10px; background:#0d110e; color:var(--text); padding:8px 12px; font-size:16px; font-weight:700; text-align:right; }
.boh-order-send input:focus-visible, .boh-order-editrow input:focus-visible, .boh-order-addline input:focus-visible, .boh-order-addline select:focus-visible { outline:3px solid var(--accent); outline-offset:2px; }
.boh-order-send input[aria-invalid="true"] { border-color:#f27d6a; }
.boh-order-send input:disabled { color:var(--muted); opacity:.65; }
.boh-order-picks, .boh-order-manifest, .boh-order-edit { min-width:0; margin-top:12px; border:1px solid var(--line); border-radius:12px; background:#0d110e; }
.boh-order-picks > summary, .boh-order-manifest > summary, .boh-order-edit > summary { min-height:48px; box-sizing:border-box; cursor:pointer; padding:14px; color:var(--text); font-size:1rem; font-weight:700; }
.boh-order-picks > summary span, .boh-order-manifest > summary span, .boh-order-edit > summary span { margin-left:5px; padding:2px 7px; border-radius:999px; background:#20291f; color:var(--muted); font-size:.875rem; }
.boh-order-table-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
.boh-order-table-scroll:focus-visible { outline:3px solid var(--accent); outline-offset:-3px; }
.boh-order-picks table, .boh-order-manifest table { width:100%; min-width:500px; border-collapse:collapse; }
.boh-order-picks th, .boh-order-manifest th { padding:10px 14px; border-top:1px solid var(--line); color:var(--muted); font-size:.875rem; text-align:left; }
.boh-order-picks td, .boh-order-manifest td { padding:10px 14px; border-top:1px solid var(--line); color:var(--text); font-size:.95rem; }
.boh-order-picks th:last-child, .boh-order-picks td:last-child, .boh-order-manifest th:last-child, .boh-order-manifest td:last-child { text-align:right; }
.boh-order-picks tr.short td { color:#e9a4a4; }
.boh-order-picks > button { margin:12px 14px 14px; }
/* What is on the shelf, by product and format, for whoever writes the order. */
.boh-order-shelf { margin-bottom:12px; border:1px solid #283128; border-radius:12px; background:#121712; }
.boh-order-shelf > summary { cursor:pointer; padding:10px 12px; color:#8b9688; font-size:.875rem; font-weight:700; }
.boh-order-shelf > summary span { margin-left:5px; padding:2px 7px; border-radius:999px; background:#20291f; color:#b5c1b1; }
.boh-order-shelf table { width:100%; border-collapse:collapse; }
.boh-order-shelf th { padding:6px 12px; border-top:1px solid #222a22; color:#6f7a6d; font-size:.875rem; text-align:left; text-transform:uppercase; }
.boh-order-shelf td { padding:6px 12px; border-top:1px solid #1a201a; color:#cfd8cb; font-size:.875rem; }
.boh-order-shelf th:last-child, .boh-order-shelf td:last-child { text-align:right; }
.boh-order-line > b small { font-weight:500; }
/* Par levels: floor, build-to target, and where the shelf actually stands. */
.boh-pars { margin-top:16px; }
.boh-pars > header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; }
.boh-pars > header h2 { margin:0 0 3px; color:#fff; font-size:1.2rem; }
.boh-pars > header p { margin:0; max-width:62ch; color:#849084; font-size:.875rem; }
.boh-pars > header > b { display:flex; flex-direction:column; min-width:54px; padding:7px 10px; border:1px solid #2a3527; border-radius:10px; background:#0c110b; color:#c7efaa; text-align:center; }
.boh-pars > header > b small { color:#6f7a6d; font-size:.875rem; text-transform:uppercase; }
.boh-par-add { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; align-items:end; margin-bottom:14px; padding:12px; border:1px solid #283128; border-radius:14px; background:#121712; }
.boh-par-add h3 { grid-column:1 / -1; margin:0; color:#fff; font-size:.95rem; }
.boh-par-add label { display:flex; flex-direction:column; gap:4px; color:#8e9a8a; font-size:.875rem; font-weight:700; }
.boh-par-add label i { color:#667064; font-size:.875rem; font-style:normal; font-weight:400; }
.boh-par-add input, .boh-par-add select { width:100%; min-width:0; min-height:39px; box-sizing:border-box; border:1px solid #303a30; border-radius:8px; background:#0b0f0b; color:#fff; padding:7px 8px; }
.boh-par-list { display:flex; flex-direction:column; gap:8px; }
.boh-par-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:11px 12px; border:1px solid #283128; border-radius:12px; background:#111511; }
.boh-par-row.short { border-color:#5a3a2c; background:#151110; }
.boh-par-name { display:flex; flex-direction:column; min-width:150px; flex:1; color:#e4ebe0; font-size:.875rem; font-weight:800; }
.boh-par-name small { color:#7c877a; font-size:.875rem; font-weight:500; }
.boh-par-have { display:flex; flex-direction:column; min-width:88px; color:#fff; font-size:.9rem; text-align:right; }
.boh-par-have small { color:#707a6e; font-size:.875rem; font-weight:500; }
.boh-par-row label { display:flex; flex-direction:column; gap:3px; color:#8e9a8a; font-size:.875rem; font-weight:700; text-transform:uppercase; }
.boh-par-row input { width:78px; min-height:32px; box-sizing:border-box; border:1px solid #303a30; border-radius:8px; background:#0b0f0b; color:#fff; padding:5px 7px; text-align:right; }
.boh-par-status { min-width:150px; color:#8fbf6f; font-size:.875rem; }
.boh-par-row.short .boh-par-status { color:#e9a4a4; }
.boh-par-actions { display:flex; gap:6px; margin-left:auto; }
/* What the stores sell a day, and whether the numbers follow it or were set by
   hand. The burn sits beside the par, never over it. */
.boh-par-burn { display:flex; flex-direction:column; min-width:130px; gap:1px; color:#8fb4d8; font-size:.875rem; cursor:help; }
.boh-par-burn small { color:#6f7a85; font-size:.875rem; }
.boh-par-burn b { color:#bcd8f0; font-size:.875rem; font-weight:700; }
.boh-par-basis { width:max-content; margin-top:3px; padding:1px 7px; border-radius:999px; background:#1b2a1d; color:#9fd07c; font-size:.875rem; font-style:normal; font-weight:700; }
.boh-par-basis.manual { background:#2a2515; color:#d8b45a; }
.boh-par-sync { margin:0 0 10px; color:#849084; font-size:.875rem; }
.boh-par-tuner { display:flex; align-items:flex-end; flex-wrap:wrap; gap:9px; margin-bottom:8px; padding:10px 12px; border:1px solid #232b23; border-radius:11px; background:#0e120e; color:#8b9688; font-size:.875rem; }
.boh-par-tuner input { width:78px; min-height:30px; box-sizing:border-box; border:1px solid #303a30; border-radius:7px; background:#0b0f0b; color:#fff; padding:4px 7px; text-align:right; }
.boh-par-tuner label { display:flex; flex-direction:column; gap:3px; color:#8e9a8a; font-size:.875rem; font-weight:700; text-transform:uppercase; }
.boh-par-tuner .boh-par-auto { flex-direction:row; align-items:center; gap:6px; min-height:30px; text-transform:none; font-size:.875rem; }
.boh-par-auto input { width:auto; min-height:0; }
.boh-par-status small { display:block; color:#7c877a; font-size:.875rem; }
.boh-par-prep { flex-basis:100%; }
.boh-par-movers { margin-top:14px; border-top:1px solid #283128; }
.boh-par-movers > summary { cursor:pointer; padding:12px 2px; color:#8b9688; font-size:.875rem; }
.boh-par-movers > summary span { margin-left:5px; padding:2px 7px; border-radius:999px; background:#20291f; color:#b5c1b1; }
.boh-par-movers .boh-par-row { margin-bottom:8px; }
.boh-order-editrow { display:flex; flex-wrap:wrap; align-items:flex-end; gap:9px 12px; padding:14px; border-top:1px solid var(--line); }
.boh-order-editrow > span { display:flex; flex:1 1 220px; flex-direction:column; gap:4px; min-width:0; color:var(--text); font-size:1rem; overflow-wrap:anywhere; }
.boh-order-editrow > span small { color:var(--muted); font-size:.875rem; }
.boh-order-editqty { display:flex; flex-direction:column; gap:5px; color:var(--muted); font-size:.875rem; font-weight:700; }
.boh-order-editrow input { width:100px; min-height:48px; box-sizing:border-box; border:1px solid var(--line-strong); border-radius:10px; background:#0d110e; color:var(--text); padding:8px 12px; font-size:16px; font-weight:700; text-align:right; }
.boh-order-addline { display:grid; grid-template-columns:minmax(0,2fr) minmax(110px,1fr) auto; gap:12px; align-items:end; padding:14px; border-top:1px solid var(--line); }
.boh-order-addline label { display:flex; flex-direction:column; gap:5px; min-width:0; color:var(--muted); font-size:.95rem; font-weight:700; }
.boh-order-addline label i { color:#667064; font-size:.875rem; font-style:normal; font-weight:400; }
.boh-order-addline input, .boh-order-addline select { width:100%; min-width:0; min-height:48px; box-sizing:border-box; border:1px solid var(--line-strong); border-radius:10px; background:#0d110e; color:var(--text); padding:8px 12px; font-size:16px; }
@media (max-width:700px) {
  .boh-orders .boh-order-form { grid-template-columns:1fr 1fr; }
  .boh-orders .boh-order-notes, .boh-orders .boh-order-form > .prod-action { grid-column:1 / -1; }
  .boh-orders .boh-stock-choice { grid-template-columns:minmax(0,1fr) 72px; gap:8px; }
  .boh-stock-choice > span:nth-child(2) { grid-column:1; }
  .boh-stock-choice > input { grid-column:2; grid-row:1 / 3; }
  .boh-orders .boh-order-addline { grid-template-columns:1fr; }
}

/* Trimming board. Flower arrives from manufacturing untrimmed; back of house
   works it by the pound and the clock is a real start/stop, so the running card
   has to read across a room. */
.boh-trim { margin-top:16px; }
.boh-trim > header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; }
.boh-trim > header h2 { margin:0 0 3px; color:#fff; font-size:1.2rem; }
.boh-trim > header p { margin:0; max-width:62ch; color:#849084; font-size:.875rem; }
.boh-trim-head-nums { display:flex; gap:8px; }
.boh-trim-head-nums b { display:flex; flex-direction:column; min-width:58px; padding:7px 10px; border:1px solid #2a3527; border-radius:10px; background:#0c110b; color:#c7efaa; text-align:center; }
.boh-trim-head-nums b small { color:#6f7a6d; font-size:.58rem; font-weight:500; text-transform:uppercase; }
.boh-trim-headline { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:9px; margin-bottom:14px; }
.boh-trim-headline > div { display:flex; flex-direction:column; gap:2px; padding:11px 12px; border:1px solid #283128; border-radius:12px; background:#111511; }
.boh-trim-headline b { color:#fff; font-size:1.25rem; }
.boh-trim-headline span { color:#7c877a; font-size:.875rem; text-transform:uppercase; }
.boh-trim-assign { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:9px; align-items:end; margin-bottom:14px; padding:12px; border:1px solid #283128; border-radius:14px; background:#121712; }
.boh-trim-assign h3 { grid-column:1 / -1; margin:0; color:#fff; font-size:.95rem; }
.boh-trim-assign label { display:flex; flex-direction:column; gap:4px; min-width:0; color:#8e9a8a; font-size:.875rem; font-weight:700; }
/* The flower option carries rack, strain, size and free weight, so it gets
   two columns rather than being truncated to the rack tag. */
.boh-trim-assign label:first-of-type { grid-column:span 2; }
.boh-trim-assign input, .boh-trim-assign select { width:100%; min-width:0; min-height:39px; box-sizing:border-box; border:1px solid #303a30; border-radius:8px; background:#0b0f0b; color:#fff; padding:7px 8px; }
/* The crew is a row of tick boxes: several people trim one strain at once. */
.boh-trim-crew { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:8px; border:1px solid #303a30; border-radius:8px; }
.boh-trim-crew legend { padding:0 4px; color:#8e9a8a; font-size:.875rem; font-weight:700; }
.boh-trim-crew label { flex-direction:row; align-items:center; gap:6px; padding:6px 10px; border:1px solid #303a30; border-radius:999px; background:#0b0f0b; color:#e4ebe0; font-size:.875rem; cursor:pointer; }
.boh-trim-crew label:has(input:checked) { border-color:#3f6a2c; background:#152015; }
.boh-trim-crew input { width:auto; min-height:0; margin:0; }
.boh-trim-board { display:flex; flex-direction:column; gap:8px; margin-bottom:18px; }
.boh-trim-card { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:11px 13px; border:1px solid #283128; border-radius:12px; background:#111511; }
.boh-trim-card.running { border-color:#3f6a2c; background:#101710; }
.boh-trim-card.paused { border-color:#5a4a2c; }
.boh-trim-who { display:flex; flex-direction:column; min-width:190px; flex:1; color:#e4ebe0; font-size:.875rem; font-weight:800; }
.boh-trim-who small { color:#7c877a; font-size:.875rem; font-weight:500; }
.boh-trim-clock { min-width:96px; color:#8f9c8c; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:1.3rem; font-variant-numeric:tabular-nums; text-align:right; }
.boh-trim-card.running .boh-trim-clock { color:#b6f08a; }
.boh-trim-load { display:flex; flex-direction:column; min-width:118px; color:#cfd8cb; font-size:.875rem; text-align:right; }
.boh-trim-load small { color:#707a6e; font-size:.875rem; }
.boh-trim-acts { display:flex; gap:6px; margin-left:auto; }
.boh-trim-rates { margin-top:16px; padding-top:12px; border-top:1px solid #232b23; }
.boh-trim-rates h3 { margin:0 0 2px; color:#fff; font-size:.95rem; }
.boh-trim-rates > p { margin:0 0 9px; color:#707a6e; font-size:.875rem; }
.boh-trim-rate-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:6px; padding:9px 12px; border:1px solid #232b23; border-radius:11px; background:#0e120e; }
.boh-trim-rate-row > span { display:flex; flex-direction:column; min-width:84px; color:#cfd8cb; font-size:.875rem; text-align:right; }
.boh-trim-rate-row > b { display:flex; flex-direction:column; min-width:84px; color:#c7efaa; font-size:.875rem; text-align:right; }
.boh-trim-rate-row small { color:#6f7a6d; font-size:.875rem; font-weight:500; text-transform:uppercase; }
.boh-trim-rate-name { flex:1; min-width:150px; color:#e4ebe0; font-size:.875rem; font-weight:800; text-align:left; }
.boh-trim-assign > button { grid-column:1 / -1; justify-self:start; }

/* Outdoor is processed like indoor but is not the same work, so a line and a
   trim card both say which they are at a glance. */
.boh-grow-chip { margin-left:6px; padding:2px 7px; border-radius:10px; font-size:.875rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; align-self:flex-start; }
.boh-grow-chip.outdoor { background:#2a2412; color:#e0c877; }
.boh-trim-headline[data-grow="outdoor"] > div { border-color:#4a3f22; }

/* The run in the machine. Its batches are already out of the bin, so this is
   the one thing on the station board that must be impossible to miss. */
.boh-openrun {
  display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between;
  margin: 0 0 12px; padding: 12px 14px; border-radius: 12px;
  border: 1px solid rgba(255, 176, 32, .45); background: rgba(255, 176, 32, .10);
}
.boh-openrun-what { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.boh-openrun-label {
  font-size: .875rem; letter-spacing: .08em; text-transform: uppercase;
  color: rgba(255, 196, 92, .95);
}
.boh-openrun-what strong { font-size: .95rem; }
.boh-openrun-what small { opacity: .75; }
.boh-openrun-acts { display: flex; gap: 8px; flex-wrap: wrap; }
/* Station mode: the machine and the count, sized for a tablet or a laptop at the
   bench. Two columns wherever they fit and one on a phone, by grid wrap alone, so
   no selector needs a second copy inside a media block. */
.boh-sm { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap:14px; margin:12px 0 18px; }
.boh-sm-card { display:flex; flex-direction:column; gap:10px; padding:16px; border:1px solid #2f3b2c; border-radius:16px; background:#111611; color:#dfe7da; }
.boh-sm-card h3 { margin:0; color:#fff; font-size:1.15rem; letter-spacing:.02em; }
.boh-sm-empty { margin:0; color:#95a192; font-size:.9rem; }
.boh-sm-inrun { display:flex; flex-direction:column; gap:2px; padding:12px 14px; border:1px solid #5d8a3f; border-radius:12px; background:#172414; }
.boh-sm-inrun span { color:#9fd07c; font-size:.875rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.boh-sm-inrun strong { color:#fff; font-size:1.1rem; }
.boh-sm-inrun small { color:#a9b5a5; font-size:.875rem; }
.boh-sm-tiles { display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:10px; }
.boh-sm-tile { display:flex; flex-direction:column; overflow:hidden; border:2px solid #2f3b2c; border-radius:14px; background:#151b14; }
.boh-sm-tile.sel { border-color:#8fcf5f; background:#1b2a17; }
.boh-sm-tile.off { opacity:.5; }
.boh-sm-tile-main { display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-height:84px; padding:12px; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.boh-sm-tile-main:disabled { cursor:not-allowed; }
.boh-sm-tile-main strong { color:#fff; font-size:1.05rem; }
.boh-sm-tile-main span { color:#cfdac9; font-size:.9rem; }
.boh-sm-tile-main small { color:#8c9889; font-size:.875rem; }
.boh-sm-step { display:grid; grid-template-columns:56px 1fr 56px; align-items:center; border-top:1px solid #2f3b2c; }
.boh-sm-step button { min-height:56px; border:0; background:#20301b; color:#fff; font-size:1.6rem; font-weight:700; cursor:pointer; }
.boh-sm-step button:disabled { opacity:.35; cursor:not-allowed; }
.boh-sm-step b { color:#fff; font-size:1rem; text-align:center; }
.boh-sm-feedback { margin:0; color:#a9b5a5; font-size:.9rem; }
.boh-sm-feedback.bad { color:#f0a8a8; }
.boh-sm-go { min-height:60px; padding:0 18px; border:1px solid #6fa64a; border-radius:14px; background:#3f6b2a; color:#fff; font-size:1.15rem; font-weight:800; cursor:pointer; }
.boh-sm-go:disabled { border-color:#2f3b2c; background:#1d241b; color:#6f7a6d; cursor:not-allowed; }
.boh-sm-link { align-self:flex-start; min-height:44px; padding:0 4px; border:0; background:transparent; color:#9fc7e8; font-size:.9rem; text-decoration:underline; cursor:pointer; }
.boh-sm-display { width:100%; min-height:72px; box-sizing:border-box; border:2px solid #3b4a37; border-radius:14px; background:#0b0f0b; color:#fff; font-size:2.4rem; font-weight:800; letter-spacing:.04em; text-align:center; }
.boh-sm-hint { min-height:1.2em; margin:0; color:#a9b5a5; font-size:.9rem; text-align:center; }
.boh-sm-hint.warn { color:#e8c36a; }
.boh-sm-pad { display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; }
.boh-sm-pad button { min-height:60px; border:1px solid #2f3b2c; border-radius:12px; background:#1a2118; color:#fff; font-size:1.5rem; font-weight:700; cursor:pointer; }
.boh-sm-pad .boh-sm-key-fn { color:#c9d4c5; font-size:1.2rem; }
.boh-sm-choice { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.boh-sm-choice button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-height:68px; border:2px solid #2f3b2c; border-radius:14px; background:#151b14; color:#fff; cursor:pointer; }
.boh-sm-choice button.sel { border-color:#8fcf5f; background:#8fcf5f; color:#0d140b; }
.boh-sm-choice button.sel strong::before { content:"\2713  "; }
.boh-sm-choice button.sel small { color:#1f3a14; }
/* Who worked the machine: one tap per person, credited on every run saved. */
.boh-sm-crew p { margin:0 0 6px; color:#cfd8cb; font-size:.875rem; font-weight:700; }
.boh-sm-crew p small { display:block; color:#7c877a; font-weight:500; }
.boh-sm-crew div { display:flex; flex-wrap:wrap; gap:8px; }
.boh-sm-crew button { min-height:44px; padding:8px 14px; border:2px solid #2f3b2c; border-radius:999px; background:#151b14; color:#e4ebe0; font-weight:700; cursor:pointer; }
.boh-sm-crew button.sel { border-color:#8fcf5f; background:#8fcf5f; color:#0d140b; }
.boh-sm-crew button.sel::before { content:"\2713  "; }
.boh-sm-crew p.boh-sm-crew-note { margin:8px 0 0; color:#a9d98a; font-size:.875rem; font-weight:600; }
.boh-sm-choice strong { font-size:1.1rem; }
.boh-sm-choice small { color:#9aa696; font-size:.875rem; }
.boh-sm-dest { margin:0; color:#cfdac9; font-size:.9rem; }
.boh-sm-label { margin:4px 0 0; color:#8e9a8a; font-size:.875rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.boh-sm-choice.three { grid-template-columns:repeat(3, 1fr); }
.boh-sm-mixstep { overflow:hidden; border:2px solid #2f3b2c; border-radius:14px; }
/* Multi-strain flower picker rows */
.boh-sm-fp-list { display:flex; flex-direction:column; gap:6px; }
.boh-sm-fp-row { display:grid; grid-template-columns:1fr auto 36px; align-items:center; gap:8px; padding:8px 10px; border:1px solid #2f3b2c; border-radius:10px; background:#151b14; }
.boh-sm-fp-label { display:flex; flex-direction:column; gap:1px; }
.boh-sm-fp-label strong { font-size:.9rem; color:#fff; }
.boh-sm-fp-label small { font-size:.875rem; color:#8c9889; }
.boh-sm-fp-step { display:grid; grid-template-columns:40px 1fr 40px; align-items:center; border:1px solid #2f3b2c; border-radius:8px; overflow:hidden; }
.boh-sm-fp-step button { min-height:40px; border:0; background:#20301b; color:#fff; font-size:1.3rem; font-weight:700; cursor:pointer; }
.boh-sm-fp-step button:disabled { opacity:.35; cursor:not-allowed; }
.boh-sm-fp-step b { color:#fff; font-size:.875rem; text-align:center; white-space:nowrap; }
.boh-sm-fp-remove { border:0; background:transparent; color:#f0a8a8; font-size:1.2rem; cursor:pointer; min-height:40px; }
/* Already ran: one row per run being counted. The lit row is the one the shared
   number pad types into. */
.boh-sm-bulkrow { display:flex; flex-direction:column; gap:8px; padding:12px; border:2px solid #2f3b2c; border-radius:14px; background:#151b14; }
.boh-sm-bulkrow.sel { border-color:#8fcf5f; background:#1b2a17; }
.boh-sm-bulkhead { display:flex; align-items:baseline; justify-content:space-between; gap:8px; min-height:44px; padding:0; border:0; background:transparent; color:#fff; text-align:left; cursor:pointer; }
.boh-sm-bulkhead strong { font-size:1.05rem; }
.boh-sm-bulkhead small { color:#9aa696; font-size:.875rem; }

/* Every pre-roll the facility has made. A bulk day is one number the crew
   wants back at the end of it. */
.boh-madetot { margin: 0 0 12px; }
.boh-madetot-row { display: flex; flex-wrap: wrap; gap: 10px; }
.boh-madetot-cell {
  flex: 1 1 140px; display: flex; flex-direction: column; gap: 2px;
  padding: 10px 12px; border-radius: 10px;
  border: 1px solid var(--gf-border, rgba(255, 255, 255, .12));
  background: var(--gf-surface-2, rgba(255, 255, 255, .04));
}
.boh-madetot-cell > span { font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; opacity: .65; }
.boh-madetot-cell > strong { font-size: 1.35rem; line-height: 1.1; }
.boh-madetot-cell > small { opacity: .6; }
.boh-madetot-split { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.boh-madetot-split span {
  font-size: .875rem; padding: 2px 8px; border-radius: 999px;
  border: 1px solid var(--gf-border, rgba(255, 255, 255, .12)); opacity: .8;
}
.boh-machine-pick { display: flex; gap: 6px; align-items: center; }

/* What an order asks the building for. It sits above the pick slip because it
   is the question asked first: can this order be picked at all, and if not,
   what has to happen before it can be. */
.boh-order-plan > summary span { display: block; margin: 3px 0 0 0; font-size: .875rem; }
.boh-order-jobs { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 5px; }
.boh-order-jobs li {
  display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 2px 10px;
  padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #0d110e;
}
.boh-order-jobs li > span { min-width:0; color:var(--text); font-size: .95rem; font-weight: 700; overflow-wrap:anywhere; }
.boh-order-jobs li > b { color:var(--text); font-size:.95rem; font-variant-numeric:tabular-nums; text-align:right; }
.boh-order-jobs li > small { grid-column:1 / -1; color:var(--muted); font-size:.875rem; overflow-wrap:anywhere; }
