/*
 * Dark Executive / Wave 3 — Operations
 * Approved panels only: inventory, production-execution, qc,
 * finished-goods and warehouse.
 * Rollback boundary: remove this stylesheet and body.bms-wave-3.
 */

.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="qc"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) {
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--ink);
  background: transparent;
  box-shadow: none;
  font-family: var(--bms-font-ui);
}

/* Actions and fields preserve their existing names, values and handlers. */
.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="qc"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) .btn {
  min-height: var(--bms-control-standard);
  border-radius: var(--bms-radius-2);
  box-shadow: none;
  font-weight: 700;
  transform: none;
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="qc"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) .btn:hover:not(:disabled) {
  box-shadow: var(--bms-shadow-1);
  transform: none;
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="qc"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) .btn.primary {
  border-color: var(--bms-primary);
  color: var(--bms-surface);
  background: var(--bms-primary);
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="qc"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) .btn.secondary {
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface);
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="qc"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) :is(.btn.success, button[data-qc-decision="PASS"]) {
  border-color: var(--bms-success);
  color: var(--bms-surface);
  background: var(--bms-success);
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="qc"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) :is(input, select, textarea) {
  min-height: var(--bms-control-standard);
  border: 1px solid var(--line);
  border-radius: var(--bms-radius-2);
  color: var(--ink);
  background: var(--surface);
  box-shadow: none;
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="qc"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) :is(button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--bms-focus) 38%, transparent);
  outline-offset: 2px;
}

/* Operational KPI cards: exceptions lead, then capacity and completion evidence. */
.bms-wave-3 :is(
  .panel[data-panel="inventory"] .inventory-metrics,
  .panel[data-panel="production-execution"] .production-metrics,
  .panel[data-panel="qc"] .qc-metrics,
  .panel[data-panel="finished-goods"] .fg-metrics,
  .panel[data-panel="warehouse"] .warehouse-metrics
) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
  gap: var(--bms-space-3);
  border: 0;
  overflow: visible;
  background: transparent;
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"] .inventory-metric,
  .panel[data-panel="production-execution"] .production-metric,
  .panel[data-panel="qc"] .qc-metric,
  .panel[data-panel="finished-goods"] .fg-metric,
  .panel[data-panel="warehouse"] .metric
) {
  min-width: 0;
  padding: var(--bms-space-3) var(--bms-space-4);
  border: 1px solid var(--line);
  border-top: 3px solid var(--bms-neutral);
  border-radius: var(--bms-radius-3);
  color: var(--ink);
  background: var(--surface);
  box-shadow: var(--bms-shadow-1);
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"] .inventory-metric,
  .panel[data-panel="production-execution"] .production-metric,
  .panel[data-panel="qc"] .qc-metric,
  .panel[data-panel="finished-goods"] .fg-metric,
  .panel[data-panel="warehouse"] .metric
) span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"] .inventory-metric,
  .panel[data-panel="production-execution"] .production-metric,
  .panel[data-panel="qc"] .qc-metric,
  .panel[data-panel="finished-goods"] .fg-metric,
  .panel[data-panel="warehouse"] .metric
) strong {
  color: var(--ink);
  font-size: clamp(20px, 1.8vw, 26px);
  font-variant-numeric: tabular-nums;
}

/* Visual order is presentation-only and keeps the highest-risk live metric first. */
.bms-wave-3 .panel[data-panel="inventory"] .inventory-metric:nth-child(3),
.bms-wave-3 .panel[data-panel="qc"] .qc-metric:nth-child(5),
.bms-wave-3 .panel[data-panel="production-execution"] .production-metric:nth-child(5),
.bms-wave-3 .panel[data-panel="warehouse"] #warehouseMetrics .metric:nth-child(3),
.bms-wave-3 .panel[data-panel="warehouse"] #warehouseFgMetrics .metric:nth-child(5) {
  order: -2;
  border-top-color: var(--bms-danger);
  background: color-mix(in srgb, var(--surface) 93%, var(--bms-danger));
}

.bms-wave-3 .panel[data-panel="inventory"] .inventory-metric:nth-child(4),
.bms-wave-3 .panel[data-panel="qc"] .qc-metric:nth-child(3),
.bms-wave-3 .panel[data-panel="production-execution"] .production-metric:nth-child(3),
.bms-wave-3 .panel[data-panel="finished-goods"] .fg-metric:nth-child(1),
.bms-wave-3 .panel[data-panel="warehouse"] #warehouseFgMetrics .metric:nth-child(3) {
  order: -1;
  border-top-color: var(--bms-warning);
  background: color-mix(in srgb, var(--surface) 94%, var(--bms-warning));
}

.bms-wave-3 .panel[data-panel="inventory"] .inventory-metric:nth-child(2),
.bms-wave-3 .panel[data-panel="qc"] .qc-metric:nth-child(4),
.bms-wave-3 .panel[data-panel="production-execution"] .production-metric:nth-child(4),
.bms-wave-3 .panel[data-panel="finished-goods"] .fg-metric:nth-child(4),
.bms-wave-3 .panel[data-panel="warehouse"] #warehouseFgMetrics .metric:nth-child(4) {
  border-top-color: var(--bms-success);
}

.bms-wave-3 .panel[data-panel="inventory"] .inventory-metric:nth-child(5),
.bms-wave-3 .panel[data-panel="qc"] .qc-metric:nth-child(2),
.bms-wave-3 .panel[data-panel="production-execution"] .production-metric:nth-child(2),
.bms-wave-3 .panel[data-panel="production-execution"] .production-metric:nth-child(6),
.bms-wave-3 .panel[data-panel="finished-goods"] .fg-metric:nth-child(5) {
  border-top-color: var(--bms-info);
}

/* Search, filters and tabs stay compact while maintaining a clear selected state. */
.bms-wave-3 :is(
  .panel[data-panel="inventory"] .inventory-toolbar,
  .panel[data-panel="production-execution"] .production-execution-toolbar,
  .panel[data-panel="qc"] .qc-toolbar,
  .panel[data-panel="finished-goods"] .fg-toolbar,
  .panel[data-panel="warehouse"] .warehouse-toolbar
) {
  gap: var(--bms-space-3);
  padding: var(--bms-space-3);
  border-color: var(--line);
  border-radius: var(--bms-radius-2);
  color: var(--ink);
  background: var(--surface-soft);
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) .inventory-filters {
  gap: var(--bms-space-1);
  padding: var(--bms-space-1);
  border: 1px solid var(--line);
  border-radius: var(--bms-radius-2);
  background: var(--surface);
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) .inventory-filter {
  min-height: var(--bms-control-compact);
  padding-inline: var(--bms-space-3);
  border: 0;
  border-radius: var(--bms-radius-1);
  color: var(--muted);
  background: transparent;
  box-shadow: none;
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) .inventory-filter.active {
  color: color-mix(in srgb, var(--ink) 62%, var(--bms-primary));
  background: color-mix(in srgb, var(--surface) 88%, var(--bms-primary));
  box-shadow: inset 0 -2px 0 var(--bms-primary);
}

.bms-wave-3 .panel[data-panel="warehouse"] .warehouse-section-tabs button {
  min-height: var(--bms-control-standard);
  border-radius: 0;
}

.bms-wave-3 .panel[data-panel="warehouse"] .warehouse-section-tabs button.active {
  color: var(--bms-primary);
  border-bottom-color: var(--bms-primary);
}

/* Wide evidence tables remain dense and locally scrollable. */
.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="qc"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) .table-wrap {
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--bms-radius-2);
  background: var(--surface);
  box-shadow: none;
  overscroll-behavior-inline: contain;
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="qc"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) table {
  border-collapse: collapse;
  color: var(--ink);
  background: var(--surface);
  font-variant-numeric: tabular-nums;
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="qc"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: var(--bms-frame-text);
  background: var(--bms-frame-800);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="qc"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) :is(th, td) { border-bottom-color: var(--line); }

.bms-wave-3 :is(
  .panel[data-panel="inventory"],
  .panel[data-panel="production-execution"],
  .panel[data-panel="qc"],
  .panel[data-panel="finished-goods"],
  .panel[data-panel="warehouse"]
) tbody tr:hover { background: color-mix(in srgb, var(--surface) 90%, var(--bms-primary)); }

.bms-wave-3 :is(
  .panel[data-panel="inventory"] .inventory-number,
  .panel[data-panel="warehouse"] .inventory-number,
  .panel[data-panel="qc"] .qc-number,
  .panel[data-panel="production-execution"] .production-order-table td:nth-child(n+4):nth-child(-n+7),
  .panel[data-panel="finished-goods"] .fg-table td:nth-child(n+5):nth-child(-n+12)
) {
  font-variant-numeric: tabular-nums;
}

.bms-wave-3 :is(.panel[data-panel="inventory"] .inventory-material-cell, .panel[data-panel="finished-goods"] .fg-product-cell) small,
.bms-wave-3 .panel[data-panel="production-execution"] .production-table td small { color: var(--muted); }

.bms-wave-3 :is(
  .panel[data-panel="inventory"] .inventory-empty,
  .panel[data-panel="warehouse"] .inventory-empty,
  .panel[data-panel="finished-goods"] .empty-cell,
  .panel[data-panel="production-execution"] .production-empty,
  .panel[data-panel="production-execution"] .empty-cell,
  .panel[data-panel="qc"] .qc-empty,
  .panel[data-panel="qc"] .inventory-empty
) {
  color: var(--muted);
  background: var(--surface-soft);
}

/* Canonical operations states without changing state codes or labels. */
.bms-wave-3 :is(
  .panel[data-panel="inventory"] .inventory-status,
  .panel[data-panel="warehouse"] .inventory-status,
  .panel[data-panel="production-execution"] .production-status,
  .panel[data-panel="qc"] .qc-status,
  .panel[data-panel="finished-goods"] .fg-status
) {
  min-height: 24px;
  padding: 5px 10px;
  border: 0;
  border-radius: var(--bms-radius-round);
  color: var(--bms-neutral);
  background: var(--bms-neutral-soft);
  box-shadow: none;
  font-size: 11px;
  font-weight: 600;
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"] .inventory-status.sufficient,
  .panel[data-panel="inventory"] .inventory-status.reserved,
  .panel[data-panel="inventory"] .inventory-status.issued,
  .panel[data-panel="warehouse"] .inventory-status.sufficient,
  .panel[data-panel="warehouse"] .inventory-status.reserved,
  .panel[data-panel="warehouse"] .inventory-status.issued,
  .panel[data-panel="production-execution"] .production-status.released,
  .panel[data-panel="production-execution"] .production-status.ready,
  .panel[data-panel="production-execution"] .production-status.completed,
  .panel[data-panel="production-execution"] .production-status.reserved,
  .panel[data-panel="qc"] .qc-status.passed,
  .panel[data-panel="qc"] .qc-status.completed,
  .panel[data-panel="finished-goods"] .fg-status.available,
  .panel[data-panel="finished-goods"] .fg-status.dispatched
) {
  color: var(--bms-success);
  background: var(--bms-success-soft);
}

.bms-wave-3 :is(
  .panel[data-panel="production-execution"] .production-status.in_progress,
  .panel[data-panel="production-execution"] .production-status.partially_completed,
  .panel[data-panel="production-execution"] .production-status.partially_released,
  .panel[data-panel="production-execution"] .production-status.planning,
  .panel[data-panel="qc"] .qc-status.inspecting,
  .panel[data-panel="qc"] .qc-status.partially_passed,
  .panel[data-panel="finished-goods"] .fg-status.partially_reserved,
  .panel[data-panel="finished-goods"] .fg-status.reserved,
  .panel[data-panel="finished-goods"] .fg-status.ready_to_dispatch
) {
  color: var(--bms-info);
  background: var(--bms-info-soft);
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"] .inventory-status.unmapped,
  .panel[data-panel="inventory"] .inventory-status.purchase_additional,
  .panel[data-panel="warehouse"] .inventory-status.unmapped,
  .panel[data-panel="warehouse"] .inventory-status.purchase_additional,
  .panel[data-panel="production-execution"] .production-status.draft,
  .panel[data-panel="production-execution"] .production-status.waiting_material_check,
  .panel[data-panel="production-execution"] .production-status.unmapped,
  .panel[data-panel="qc"] .qc-status.waiting_qc,
  .panel[data-panel="qc"] .qc-status.waiting_reinspection,
  .panel[data-panel="finished-goods"] .fg-status.waiting_receipt,
  .panel[data-panel="finished-goods"] .fg-status.returned
) {
  color: var(--bms-warning);
  background: var(--bms-warning-soft);
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"] .inventory-status.shortage,
  .panel[data-panel="inventory"] .inventory-status.out_of_stock,
  .panel[data-panel="warehouse"] .inventory-status.shortage,
  .panel[data-panel="warehouse"] .inventory-status.out_of_stock,
  .panel[data-panel="production-execution"] .production-status.paused,
  .panel[data-panel="production-execution"] .production-status.shortage,
  .panel[data-panel="production-execution"] .production-status.material_shortage,
  .panel[data-panel="production-execution"] .production-status.blocked,
  .panel[data-panel="production-execution"] .production-status.rework_required,
  .panel[data-panel="production-execution"] .production-status.cancelled,
  .panel[data-panel="qc"] .qc-status.has_issues,
  .panel[data-panel="qc"] .qc-status.failed,
  .panel[data-panel="qc"] .qc-status.rework_required,
  .panel[data-panel="finished-goods"] .fg-status.blocked,
  .panel[data-panel="finished-goods"] .fg-status.cancelled
) {
  color: var(--bms-danger);
  background: var(--bms-danger-soft);
}

/* Module-specific handoff and decision surfaces. */
.bms-wave-3 .panel[data-panel="inventory"] :is(.inventory-main-card, .purchase-panel),
.bms-wave-3 .panel[data-panel="finished-goods"] :is(.fg-main-card, .fg-delivery-panel, .fg-batches),
.bms-wave-3 .panel[data-panel="production-execution"] :is(.production-main-card, .production-side-card),
.bms-wave-3 .panel[data-panel="qc"] .qc-detail,
.bms-wave-3 .panel[data-panel="warehouse"] .warehouse-card {
  border-color: var(--line);
  border-radius: var(--bms-radius-2);
  color: var(--ink);
  background: var(--surface);
  box-shadow: none;
}

.bms-wave-3 .panel[data-panel="inventory"] .purchase-panel,
.bms-wave-3 .panel[data-panel="finished-goods"] .fg-delivery-panel,
.bms-wave-3 .panel[data-panel="production-execution"] .production-side-card {
  border-top: 3px solid var(--bms-primary);
  background: var(--surface);
  box-shadow: var(--bms-shadow-1);
}

.bms-wave-3 .panel[data-panel="inventory"] .inventory-footer {
  position: sticky;
  bottom: var(--bms-space-2);
  z-index: var(--bms-z-sticky);
  flex-wrap: wrap;
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface-soft);
  box-shadow: var(--bms-shadow-1);
}
.bms-wave-3 .panel[data-panel="inventory"] .inventory-footer .toolbar { display: flex; flex: 1 1 320px; justify-content: flex-end; gap: var(--bms-space-2); }
.bms-wave-3 .panel[data-panel="inventory"] .inventory-footer .toolbar .btn { min-width: 176px; }
.bms-wave-3 .panel[data-panel="inventory"] .inventory-footer .toolbar .btn.success { color: var(--bms-frame-950); background: var(--bms-success); }

.bms-wave-3 .panel[data-panel="inventory"] .inventory-alert,
.bms-wave-3 .panel[data-panel="qc"] :is(.qc-warning, .qc-error),
.bms-wave-3 .panel[data-panel="warehouse"] .warehouse-import-error {
  border: 1px solid color-mix(in srgb, var(--bms-danger) 45%, var(--line));
  border-left: 4px solid var(--bms-danger);
  border-radius: var(--bms-radius-2);
  color: color-mix(in srgb, var(--ink) 62%, var(--bms-danger));
  background: color-mix(in srgb, var(--surface) 88%, var(--bms-danger));
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-material-warning,
.bms-wave-3 .panel[data-panel="production-execution"] .inventory-callout.warning {
  border: 1px solid color-mix(in srgb, var(--bms-danger) 45%, var(--line));
  border-left: 4px solid var(--bms-danger);
  color: color-mix(in srgb, var(--ink) 72%, var(--bms-danger));
  background: color-mix(in srgb, var(--surface) 90%, var(--bms-danger));
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-progress {
  border-radius: var(--bms-radius-1);
  background: color-mix(in srgb, var(--surface) 82%, var(--bms-neutral));
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-progress i { background: var(--bms-primary); }

/* Production execution detail — preserve hierarchy and contrast in the dark workspace. */
.bms-wave-3 .panel[data-panel="production-execution"] .production-side-card > h3 {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-side-card > small,
.bms-wave-3 .panel[data-panel="production-execution"] .production-list-item small {
  color: var(--muted);
  line-height: 1.45;
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-side-summary {
  gap: var(--bms-space-2);
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-side-summary > div,
.bms-wave-3 .panel[data-panel="production-execution"] .production-list-item {
  border-color: var(--line);
  border-radius: var(--bms-radius-2);
  color: var(--ink);
  background: var(--surface-soft);
  box-shadow: none;
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-side-summary > div {
  min-height: 68px;
  padding: var(--bms-space-3);
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-side-summary span {
  color: var(--muted);
  font-size: 12px;
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-side-summary strong {
  margin-top: var(--bms-space-1);
  color: var(--ink);
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-side-card > h4 {
  margin-block: var(--bms-space-4) var(--bms-space-2);
  padding-bottom: var(--bms-space-2);
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-list-item {
  padding: var(--bms-space-3);
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-list-item strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.4;
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-list-item .btn {
  margin-top: var(--bms-space-2);
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-material-warning {
  margin-block: var(--bms-space-3);
  padding: var(--bms-space-3);
  border-radius: var(--bms-radius-2);
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-material-warning > h4 {
  margin: 0 0 var(--bms-space-2);
  color: var(--bms-danger);
  font-size: 14px;
  line-height: 1.4;
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-material-warning .production-list-item {
  background: var(--surface);
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-side-actions {
  gap: var(--bms-space-2);
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-side-actions .btn {
  min-height: var(--bms-control-touch);
  padding-inline: var(--bms-space-3);
  white-space: normal;
}

.bms-wave-3 .panel[data-panel="qc"] .qc-progress-bar { border-radius: var(--bms-radius-1); background: color-mix(in srgb, var(--surface) 82%, var(--bms-neutral)); }
.bms-wave-3 .panel[data-panel="qc"] .qc-progress-bar i { background: var(--bms-success); }
.bms-wave-3 .panel[data-panel="qc"] :is(.qc-form-section, .qc-criterion, .qc-history-card, .qc-history-facts > div, .qc-history-results article) { border-color: var(--line); border-radius: var(--bms-radius-2); background: var(--surface-soft); }
.bms-wave-3 .panel[data-panel="qc"] .qc-defect-fields { border-color: color-mix(in srgb, var(--bms-danger) 38%, var(--line)); background: color-mix(in srgb, var(--surface) 94%, var(--bms-danger)); }
.bms-wave-3 .panel[data-panel="qc"] .qc-drawer-backdrop { z-index: calc(var(--bms-z-modal) - 1); background: color-mix(in srgb, var(--bms-frame-950) 58%, transparent); }
.bms-wave-3 .panel[data-panel="qc"] > .qc-drawer { z-index: var(--bms-z-modal); }
.bms-wave-3 .panel[data-panel="finished-goods"] .fg-delivery-icon { border-radius: var(--bms-radius-2); color: var(--bms-primary); background: color-mix(in srgb, var(--surface) 86%, var(--bms-primary)); }
.bms-wave-3 .panel[data-panel="finished-goods"] :is(.fg-batch, .fg-delivery-summary div, .fg-movement) { border-color: var(--line); border-radius: var(--bms-radius-2); }
.bms-wave-3 .panel[data-panel="qc"] :is(.qc-summary, .qc-facts) { gap: 0; border: 1px solid var(--line); border-radius: var(--bms-radius-2); overflow: hidden; }
.bms-wave-3 .panel[data-panel="qc"] :is(.qc-summary, .qc-facts) > * { border-color: var(--line); border-radius: 0; background: var(--surface); }

/* Existing drawers and the import dialog share one bounded operations hierarchy. */
.bms-wave-3 :is(
  .panel[data-panel="inventory"] > .inventory-drawer,
  .panel[data-panel="finished-goods"] > .inventory-drawer,
  .panel[data-panel="warehouse"] > .inventory-drawer,
  .panel[data-panel="qc"] > .qc-drawer
) {
  border: 1px solid var(--line);
  border-radius: 0;
  color: var(--ink);
  background: var(--surface);
  box-shadow: var(--bms-shadow-overlay);
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"] > .inventory-drawer,
  .panel[data-panel="finished-goods"] > .inventory-drawer,
  .panel[data-panel="warehouse"] > .inventory-drawer,
  .panel[data-panel="qc"] > .qc-drawer
) > header,
.bms-wave-3 .panel[data-panel="production-execution"] .production-drawer-card > header,
.bms-wave-3 .panel[data-panel="warehouse"] .warehouse-import-dialog > header {
  position: sticky;
  top: 0;
  z-index: var(--bms-z-sticky);
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}

.bms-wave-3 :is(
  .panel[data-panel="inventory"] > .inventory-drawer,
  .panel[data-panel="finished-goods"] > .inventory-drawer,
  .panel[data-panel="warehouse"] > .inventory-drawer,
  .panel[data-panel="qc"] > .qc-drawer
) .icon-btn,
.bms-wave-3 .panel[data-panel="production-execution"] .production-drawer-card > header button,
.bms-wave-3 .panel[data-panel="warehouse"] .warehouse-import-dialog .icon-btn {
  min-width: var(--bms-control-standard);
  min-height: var(--bms-control-standard);
  color: var(--ink);
  background: var(--surface);
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-drawer {
  z-index: var(--bms-z-modal);
  background: color-mix(in srgb, var(--bms-frame-950) 58%, transparent);
}

.bms-wave-3 .panel[data-panel="production-execution"] .production-drawer-card {
  border: 1px solid var(--line);
  border-radius: var(--bms-radius-2);
  color: var(--ink);
  background: var(--surface);
  box-shadow: var(--bms-shadow-overlay);
}

.bms-wave-3 .panel[data-panel="warehouse"] .warehouse-import-dialog {
  border-color: var(--line);
  border-radius: var(--bms-radius-2);
  color: var(--ink);
  background: var(--surface);
  box-shadow: var(--bms-shadow-overlay);
}

.bms-wave-3 .panel[data-panel="warehouse"] .warehouse-import-dialog::backdrop { background: color-mix(in srgb, var(--bms-frame-950) 58%, transparent); }
.bms-wave-3 .panel[data-panel="warehouse"] :is(.warehouse-import-dropzone, .warehouse-import-file, .warehouse-import-help, .warehouse-import-stat, .warehouse-import-messages) { border-color: var(--line); border-radius: var(--bms-radius-2); background: var(--surface-soft); }
.bms-wave-3 .panel[data-panel="warehouse"] .warehouse-import-dropzone:is(:hover, .dragging, :focus-visible) { border-color: var(--bms-primary); background: color-mix(in srgb, var(--surface) 88%, var(--bms-primary)); }
.bms-wave-3 .panel[data-panel="warehouse"] .warehouse-import-message.error { color: color-mix(in srgb, var(--ink) 62%, var(--bms-danger)); background: color-mix(in srgb, var(--surface) 88%, var(--bms-danger)); }
.bms-wave-3 .panel[data-panel="warehouse"] .warehouse-import-message.warning { color: color-mix(in srgb, var(--ink) 62%, var(--bms-warning)); background: color-mix(in srgb, var(--surface) 88%, var(--bms-warning)); }
.bms-wave-3 .panel[data-panel="warehouse"] .warehouse-import-dialog > footer { border-color: var(--line); background: var(--surface); }

@media (max-width: 1199px) {
  .bms-wave-3 .panel[data-panel="inventory"] .inventory-workspace,
  .bms-wave-3 .panel[data-panel="production-execution"] .production-layout,
  .bms-wave-3 .panel[data-panel="finished-goods"] .fg-workspace { grid-template-columns: 1fr; }
  .bms-wave-3 .panel[data-panel="production-execution"] .production-side-card { position: static; }
  .bms-wave-3 .panel[data-panel="finished-goods"] .fg-delivery-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 899px) {
  .bms-wave-3 :is(
    .panel[data-panel="inventory"] .inventory-header,
    .panel[data-panel="production-execution"] .production-module-header,
    .panel[data-panel="qc"] .qc-header,
    .panel[data-panel="finished-goods"] .fg-header,
    .panel[data-panel="warehouse"] .warehouse-title
  ) { align-items: stretch; flex-direction: column; }

  .bms-wave-3 :is(
    .panel[data-panel="inventory"] .inventory-selector,
    .panel[data-panel="production-execution"] .workflow-page-actions,
    .panel[data-panel="qc"] .workflow-page-actions,
    .panel[data-panel="finished-goods"] .fg-header-actions,
    .panel[data-panel="warehouse"] .warehouse-section-actions
  ) { width: 100%; }
}

@media (max-width: 719px) {
  .bms-wave-3 :is(
    .panel[data-panel="inventory"],
    .panel[data-panel="production-execution"],
    .panel[data-panel="qc"],
    .panel[data-panel="finished-goods"],
    .panel[data-panel="warehouse"]
  ) {
    padding: var(--bms-space-3);
    border-inline: 0;
  }

  .bms-wave-3 :is(
    .panel[data-panel="inventory"],
    .panel[data-panel="production-execution"],
    .panel[data-panel="qc"],
    .panel[data-panel="finished-goods"],
    .panel[data-panel="warehouse"]
  ) :is(.btn, button, input, select, textarea, [role="button"]) { min-height: var(--bms-control-touch); }

  .bms-wave-3 :is(
    .panel[data-panel="inventory"] .inventory-metrics,
    .panel[data-panel="production-execution"] .production-metrics,
    .panel[data-panel="qc"] .qc-metrics,
    .panel[data-panel="finished-goods"] .fg-metrics,
    .panel[data-panel="warehouse"] .warehouse-metrics
  ) { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .bms-wave-3 :is(
    .panel[data-panel="inventory"] .inventory-metric,
    .panel[data-panel="production-execution"] .production-metric,
    .panel[data-panel="qc"] .qc-metric,
    .panel[data-panel="finished-goods"] .fg-metric,
    .panel[data-panel="warehouse"] .metric
  ) { border: 1px solid var(--line); border-top-width: 3px; }

  .bms-wave-3 :is(
    .panel[data-panel="inventory"] .inventory-toolbar,
    .panel[data-panel="production-execution"] .production-execution-toolbar,
    .panel[data-panel="qc"] .qc-toolbar,
    .panel[data-panel="finished-goods"] .fg-toolbar,
    .panel[data-panel="warehouse"] .warehouse-toolbar,
    .panel[data-panel="inventory"] .inventory-footer
  ) { align-items: stretch; flex-direction: column; }
  .bms-wave-3 .panel[data-panel="inventory"] .inventory-footer { position: static; }
  .bms-wave-3 .panel[data-panel="inventory"] .inventory-footer .toolbar { display: grid; grid-template-columns: minmax(0, 1fr); }
  .bms-wave-3 .panel[data-panel="inventory"] .inventory-footer .toolbar .btn { width: 100%; min-width: 0; white-space: normal; }

  .bms-wave-3 :is(.inventory-filters, .warehouse-section-tabs) { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
  .bms-wave-3 .panel[data-panel="warehouse"] .warehouse-section-tabs button { min-height: var(--bms-control-touch); }
  .bms-wave-3 :is(.inventory-search, .qc-toolbar label, .production-execution-toolbar label) { width: 100%; }
  .bms-wave-3 :is(.inventory-search input, .qc-toolbar input, .qc-toolbar select, .production-execution-toolbar input) { min-width: 0; width: 100%; }
  .bms-wave-3 .panel[data-panel="finished-goods"] .fg-delivery-panel { display: flex; }
  .bms-wave-3 .panel[data-panel="warehouse"] .warehouse-section-actions { justify-content: stretch; }
  .bms-wave-3 .panel[data-panel="warehouse"] .warehouse-section-actions .btn { flex: 1 1 140px; }

  .bms-wave-3 :is(
    .panel[data-panel="inventory"] > .inventory-drawer,
    .panel[data-panel="finished-goods"] > .inventory-drawer,
    .panel[data-panel="warehouse"] > .inventory-drawer,
    .panel[data-panel="qc"] > .qc-drawer
  ) { position: fixed; inset: 0; width: 100vw; max-width: 100vw; height: 100dvh; z-index: var(--bms-z-modal); }

  .bms-wave-3 .panel[data-panel="production-execution"] .production-drawer { padding: 0; }
  .bms-wave-3 .panel[data-panel="production-execution"] .production-drawer-card { width: 100%; height: 100dvh; max-height: none; border: 0; border-radius: 0; }
  .bms-wave-3 .panel[data-panel="warehouse"] .warehouse-import-dialog { width: 100vw; height: 100dvh; max-height: none; border: 0; border-radius: 0; }
  .bms-wave-3 .panel[data-panel="warehouse"] .warehouse-import-dialog > footer { padding-bottom: max(var(--bms-space-3), var(--bms-safe-area-bottom)); }
}

@media (max-width: 479px) {
  .bms-wave-3 :is(
    .panel[data-panel="inventory"] .inventory-metrics,
    .panel[data-panel="production-execution"] .production-metrics,
    .panel[data-panel="qc"] .qc-metrics,
    .panel[data-panel="finished-goods"] .fg-metrics,
    .panel[data-panel="warehouse"] .warehouse-metrics
  ) { grid-template-columns: 1fr; }

  .bms-wave-3 .panel[data-panel="warehouse"] .warehouse-import-stat-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .bms-wave-3 :is(
    .panel[data-panel="inventory"],
    .panel[data-panel="production-execution"],
    .panel[data-panel="qc"],
    .panel[data-panel="finished-goods"],
    .panel[data-panel="warehouse"]
  ) * { scroll-behavior: auto; transition-duration: .001ms; animation-duration: .001ms; }
}

@media print {
  .bms-wave-3 .panel[data-panel="warehouse"] { display: block !important; position: absolute; inset: 0; width: 100%; padding: 0; border: 0; box-shadow: none; }
  .bms-wave-3 .panel[data-panel="warehouse"] :is(.toolbar, .warehouse-toolbar, .warehouse-section-actions, .inventory-row-actions, .inventory-drawer, .warehouse-import-dialog) { display: none !important; }
  .bms-wave-3 .panel[data-panel="warehouse"] :is(.warehouse-table, .warehouse-fg-table) { min-width: 0; }
  .bms-wave-3 .panel[data-panel="warehouse"] .warehouse-card { border: 0; }
}

/* Post-rollout dark audit: normalize legacy secondary labels and fulfillment KPIs. */
@media screen {
  .bms-dark-executive.bms-wave-3 .panel[data-panel="production-execution"] .production-execution-toolbar label {
    color: var(--muted);
  }

  .bms-dark-executive.bms-wave-3 .panel[data-panel="finished-goods"] :is(.fg-header label, .fg-delivery-panel label, .fg-delivery-summary span) {
    color: var(--muted);
  }

  .bms-dark-executive.bms-wave-3 .panel[data-panel="finished-goods"] :is(.fg-delivery-panel h3, .fg-delivery-summary strong) {
    color: var(--ink);
  }

  .bms-dark-executive.bms-wave-3 .panel[data-panel="finished-goods"] .fg-batches h3 {
    color: var(--ink);
  }

  .bms-dark-executive.bms-wave-3 .panel[data-panel="inventory"] .purchase-panel-icon {
    color: var(--bms-frame-950);
  }

  .bms-dark-executive.bms-wave-3 .panel[data-panel="finished-goods"] .fg-delivery-icon {
    color: var(--bms-info);
  }
}
