/*
 * Dark Executive / Wave 2 — Dashboard and Core Project Workflow
 * Approved panels only: dashboard, project, costing, summary, quotation,
 * approval, production-plan, documents and workflow-stage.
 * Rollback boundary: remove this stylesheet and the body.bms-wave-2 class.
 */

.bms-wave-2 :is(
  .panel[data-panel="dashboard"],
  .panel[data-panel="project"],
  .panel[data-panel="costing"],
  .panel[data-panel="summary"],
  .panel[data-panel="quotation"],
  .panel[data-panel="approval"],
  .panel[data-panel="production-plan"],
  .panel[data-panel="documents"],
  .panel[data-panel="workflow-stage"]
) {
  min-width: 0;
  padding: var(--bms-space-4);
  border: 1px solid var(--line);
  border-radius: var(--bms-radius-2);
  color: var(--ink);
  background: var(--surface);
  box-shadow: var(--bms-shadow-1);
  font-family: var(--bms-font-ui);
}

/* Shared action hierarchy. */
.bms-wave-2 :is(
  .panel[data-panel="dashboard"],
  .panel[data-panel="project"],
  .panel[data-panel="costing"],
  .panel[data-panel="summary"],
  .panel[data-panel="quotation"],
  .panel[data-panel="approval"],
  .panel[data-panel="production-plan"],
  .panel[data-panel="documents"],
  .panel[data-panel="workflow-stage"]
) .btn {
  min-height: var(--bms-control-standard);
  border-radius: var(--bms-radius-2);
  box-shadow: none;
  font-weight: 700;
  transform: none;
}

.bms-wave-2 :is(
  .panel[data-panel="dashboard"],
  .panel[data-panel="project"],
  .panel[data-panel="costing"],
  .panel[data-panel="summary"],
  .panel[data-panel="quotation"],
  .panel[data-panel="approval"],
  .panel[data-panel="production-plan"],
  .panel[data-panel="documents"],
  .panel[data-panel="workflow-stage"]
) .btn:hover:not(:disabled) {
  box-shadow: var(--bms-shadow-1);
  transform: none;
}

.bms-wave-2 :is(
  .panel[data-panel="dashboard"],
  .panel[data-panel="project"],
  .panel[data-panel="costing"],
  .panel[data-panel="summary"],
  .panel[data-panel="quotation"],
  .panel[data-panel="approval"],
  .panel[data-panel="production-plan"],
  .panel[data-panel="documents"],
  .panel[data-panel="workflow-stage"]
) .btn.primary {
  border-color: var(--bms-primary);
  color: var(--bms-surface);
  background: var(--bms-primary);
}

.bms-wave-2 :is(
  .panel[data-panel="dashboard"],
  .panel[data-panel="project"],
  .panel[data-panel="costing"],
  .panel[data-panel="summary"],
  .panel[data-panel="quotation"],
  .panel[data-panel="approval"],
  .panel[data-panel="production-plan"],
  .panel[data-panel="documents"],
  .panel[data-panel="workflow-stage"]
) .btn.secondary {
  border-color: var(--line);
  color: var(--ink);
  background: var(--surface);
}

.bms-wave-2 :is(
  .panel[data-panel="dashboard"],
  .panel[data-panel="project"],
  .panel[data-panel="costing"],
  .panel[data-panel="summary"],
  .panel[data-panel="quotation"],
  .panel[data-panel="approval"],
  .panel[data-panel="production-plan"],
  .panel[data-panel="documents"],
  .panel[data-panel="workflow-stage"]
) :is(.btn.success, .approval-actions .approve) {
  border-color: var(--bms-success);
  color: var(--bms-surface);
  background: var(--bms-success);
}

.bms-wave-2 :is(.panel[data-panel="project"], .panel[data-panel="approval"]) :is(.btn.danger, .approval-actions .reject) {
  border-color: color-mix(in srgb, var(--bms-danger) 38%, var(--line));
  color: color-mix(in srgb, var(--ink) 62%, var(--bms-danger));
  background: color-mix(in srgb, var(--surface) 88%, var(--bms-danger));
}

.bms-wave-2 .panel[data-panel="approval"] .approval-actions .revise {
  border-color: color-mix(in srgb, var(--bms-warning) 38%, var(--line));
  color: color-mix(in srgb, var(--ink) 62%, var(--bms-warning));
  background: color-mix(in srgb, var(--surface) 88%, var(--bms-warning));
}

/* Fields retain names, values, validation and read-only behavior. */
.bms-wave-2 :is(
  .panel[data-panel="project"],
  .panel[data-panel="costing"],
  .panel[data-panel="summary"],
  .panel[data-panel="quotation"],
  .panel[data-panel="production-plan"],
  .panel[data-panel="workflow-stage"]
) :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-2 :is(
  .panel[data-panel="project"],
  .panel[data-panel="costing"],
  .panel[data-panel="summary"],
  .panel[data-panel="quotation"],
  .panel[data-panel="production-plan"],
  .panel[data-panel="workflow-stage"]
) label > :first-child:not(input, select, textarea) {
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}

.bms-wave-2 :is(
  .panel[data-panel="dashboard"],
  .panel[data-panel="project"],
  .panel[data-panel="costing"],
  .panel[data-panel="summary"],
  .panel[data-panel="quotation"],
  .panel[data-panel="approval"],
  .panel[data-panel="production-plan"],
  .panel[data-panel="documents"],
  .panel[data-panel="workflow-stage"]
) :is(button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--bms-focus) 38%, transparent);
  outline-offset: 2px;
}

/* Data tables remain real, bounded tables. */
.bms-wave-2 :is(
  .panel[data-panel="dashboard"],
  .panel[data-panel="costing"],
  .panel[data-panel="summary"],
  .panel[data-panel="quotation"],
  .panel[data-panel="production-plan"],
  .panel[data-panel="documents"]
) :is(.table-wrap, .document-table-wrap) {
  border: 1px solid var(--line);
  border-radius: var(--bms-radius-2);
  background: var(--surface);
  box-shadow: none;
  overscroll-behavior-inline: contain;
}

.bms-wave-2 :is(
  .panel[data-panel="dashboard"],
  .panel[data-panel="costing"],
  .panel[data-panel="summary"],
  .panel[data-panel="quotation"],
  .panel[data-panel="production-plan"],
  .panel[data-panel="documents"]
) table {
  border-collapse: collapse;
  color: var(--ink);
  background: var(--surface);
  font-variant-numeric: tabular-nums;
}

.bms-wave-2 :is(
  .panel[data-panel="dashboard"],
  .panel[data-panel="costing"],
  .panel[data-panel="summary"],
  .panel[data-panel="quotation"],
  .panel[data-panel="production-plan"],
  .panel[data-panel="documents"]
) th {
  color: var(--muted);
  background: var(--surface-soft);
  font-size: 11px;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.bms-wave-2 :is(
  .panel[data-panel="dashboard"],
  .panel[data-panel="costing"],
  .panel[data-panel="summary"],
  .panel[data-panel="quotation"],
  .panel[data-panel="production-plan"],
  .panel[data-panel="documents"]
) :is(th, td) {
  border-bottom-color: var(--line);
}

.bms-wave-2 :is(
  .panel[data-panel="dashboard"],
  .panel[data-panel="costing"],
  .panel[data-panel="summary"],
  .panel[data-panel="quotation"],
  .panel[data-panel="production-plan"],
  .panel[data-panel="documents"]
) tbody tr:hover {
  background: var(--surface-soft);
}

/* Dashboard — executive Bento built only from live project data. */
.bms-wave-2 .panel[data-panel="dashboard"] {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.bms-wave-2 .panel[data-panel="dashboard"] > .section-title {
  min-height: 58px;
  margin-bottom: var(--bms-space-4);
  padding: 0 0 var(--bms-space-3);
}

.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-command-eyebrow,
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-queue-heading span {
  display: block;
  margin-bottom: var(--bms-space-1);
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bms-wave-2 .panel[data-panel="dashboard"] .section-title h2 {
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.1;
}

.bms-wave-2 .panel[data-panel="dashboard"] .metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-areas: "pending total cost profit";
  gap: var(--bms-space-3);
  margin-bottom: var(--bms-space-3);
  border: 0;
  background: transparent;
}

.bms-wave-2 .panel[data-panel="dashboard"] .metric {
  min-width: 0;
  padding: var(--bms-space-3) var(--bms-space-4);
  border: 1px solid var(--line);
  border-radius: var(--bms-radius-3);
  background: var(--surface);
  box-shadow: var(--bms-shadow-1);
  transform: none;
}

.bms-wave-2 .panel[data-panel="dashboard"] .metric:nth-child(1) { grid-area: total; }
.bms-wave-2 .panel[data-panel="dashboard"] .metric:nth-child(2) {
  grid-area: pending;
  border-top: 3px solid var(--bms-warning);
  background: color-mix(in srgb, var(--surface) 92%, var(--bms-warning));
}
.bms-wave-2 .panel[data-panel="dashboard"] .metric:nth-child(3) { grid-area: cost; }
.bms-wave-2 .panel[data-panel="dashboard"] .metric:nth-child(4) { grid-area: profit; }
.bms-wave-2 .panel[data-panel="dashboard"] .metric span { color: var(--muted); font-size: 11px; }
.bms-wave-2 .panel[data-panel="dashboard"] .metric strong { margin-top: var(--bms-space-2); color: var(--ink); font-size: clamp(22px, 2vw, 28px); font-variant-numeric: tabular-nums; }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-actions { gap: var(--bms-space-2); }
.bms-wave-2 .panel[data-panel="dashboard"] .search-box input { min-height: var(--bms-control-standard); border-color: var(--line); border-radius: var(--bms-radius-2); color: var(--ink); background: var(--surface); }

.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-insight-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: var(--bms-space-3);
  margin-bottom: var(--bms-space-5);
}

.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-insight-card {
  min-width: 0;
  padding: var(--bms-space-4);
  border: 1px solid var(--line);
  border-radius: var(--bms-radius-3);
  background: var(--surface);
  box-shadow: var(--bms-shadow-1);
}

.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-insight-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--bms-space-3);
  margin-bottom: var(--bms-space-3);
}

.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-insight-card header span {
  display: block;
  margin-bottom: var(--bms-space-1);
  color: var(--bms-primary);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-insight-card h3 { margin: 0; color: var(--ink); font-size: 16px; }
.bms-wave-2 .panel[data-panel="dashboard"] #dashboardStatusTotal { color: var(--ink); font-size: 26px; font-variant-numeric: tabular-nums; }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-status-bars { display: grid; gap: var(--bms-space-3); }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-status-row > div { display: flex; justify-content: space-between; gap: var(--bms-space-2); margin-bottom: var(--bms-space-1); color: var(--muted); font-size: 12px; }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-status-row strong { color: var(--ink); font-variant-numeric: tabular-nums; }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-status-row progress { display: block; width: 100%; height: 8px; overflow: hidden; border: 0; border-radius: var(--bms-radius-pill); color: var(--bms-info); background: var(--surface-soft); accent-color: var(--bms-info); }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-status-row[data-tone="approved"] progress { color: var(--bms-success); accent-color: var(--bms-success); }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-status-row[data-tone="rejected"] progress { color: var(--bms-danger); accent-color: var(--bms-danger); }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-status-row[data-tone="revise"] progress { color: var(--bms-warning); accent-color: var(--bms-warning); }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-status-row progress::-webkit-progress-bar { background: var(--surface-soft); }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-status-row progress::-webkit-progress-value { background: currentColor; }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-status-row progress::-moz-progress-bar { background: currentColor; }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-recent-projects { display: grid; }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-recent-project { display: flex; align-items: center; justify-content: space-between; gap: var(--bms-space-3); min-width: 0; padding-block: var(--bms-space-2); border-bottom: 1px solid var(--line); }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-recent-project:last-child { border-bottom: 0; }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-recent-project > div { display: grid; min-width: 0; gap: 3px; }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-recent-project > div:last-child { justify-items: end; }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-recent-project strong { overflow: hidden; color: var(--bms-primary); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-recent-project div > span:not(.status),
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-recent-project time,
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-insight-empty { color: var(--muted); font-size: 11px; }

.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-queue-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--bms-space-4);
  margin-bottom: var(--bms-space-2);
}

.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-queue-heading h3 {
  color: var(--ink);
  font-size: 18px;
}

.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-queue-heading .search-box {
  width: min(320px, 100%);
}

.bms-wave-2 .panel[data-panel="dashboard"] .table-wrap { border-radius: 0; }
.bms-wave-2 .panel[data-panel="dashboard"] thead th {
  padding-block: var(--bms-space-3);
  border-color: var(--bms-frame-line);
  color: var(--bms-frame-text);
  background: var(--bms-frame-800);
}
.bms-wave-2 .panel[data-panel="dashboard"] tbody td { padding-block: 12px; }
.bms-wave-2 .panel[data-panel="dashboard"] .dashboard-project-row[data-active="true"] {
  background: var(--bms-surface-selected);
  box-shadow: inset 4px 0 0 var(--bms-primary);
}

/* Project — focused form plus bounded source-document workspace. */
.bms-wave-2 .panel[data-panel="project"] { gap: var(--bms-space-3); grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); }
.bms-wave-2 .panel[data-panel="project"] > div,
.bms-wave-2 .panel[data-panel="project"] .project-documents-panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--bms-radius-2);
  background: var(--surface);
  box-shadow: none;
}
.bms-wave-2 .panel[data-panel="project"] > div { padding: var(--bms-space-4); }
.bms-wave-2 .panel[data-panel="project"] .project-documents-panel { padding: var(--bms-space-4); border-top: 3px solid var(--bms-primary); }
.bms-wave-2 .panel[data-panel="project"] .form-grid { gap: var(--bms-space-3); }
.bms-wave-2 .panel[data-panel="project"] .form-grid label { gap: var(--bms-space-1); color: var(--muted); }
.bms-wave-2 .panel[data-panel="project"] .project-document-count { border-radius: var(--bms-radius-2); color: var(--bms-primary); background: color-mix(in srgb, var(--surface) 88%, var(--bms-primary)); }
.bms-wave-2 .panel[data-panel="project"] .project-document-form { border-color: var(--line); border-radius: var(--bms-radius-2); background: var(--surface-soft); }

/* Costing — absorb P1 into the core grammar without changing editable rows. */
.bms-wave-2 .panel[data-panel="costing"] :is(.solution-card, .summary-box, .cost-reference-panel, .product-overview) {
  border-color: var(--line);
  border-radius: var(--bms-radius-2);
  color: var(--ink);
  background: var(--surface);
  box-shadow: none;
}
.bms-wave-2 .panel[data-panel="costing"] .summary-box { border-top: 3px solid var(--bms-primary); background: var(--surface-soft); }
.bms-wave-2 .panel[data-panel="costing"] .solution-area-title { color: var(--muted); }
.bms-wave-2 .panel[data-panel="costing"] .summary-total { color: var(--ink); font-variant-numeric: tabular-nums; }
.bms-wave-2 .panel[data-panel="costing"] .solution-summary-form { gap: var(--bms-space-2); }
.bms-wave-2 .panel[data-panel="costing"] .solution-summary-field { align-items: start; gap: var(--bms-space-3); }
.bms-wave-2 .panel[data-panel="costing"] .solution-summary-field > span { color: var(--muted); line-height: 1.45; }
.bms-wave-2 .panel[data-panel="costing"] .solution-summary-field > :last-child { color: var(--ink); background: var(--surface-soft); }
.bms-wave-2 .panel[data-panel="costing"] .solution-discussion { display: grid; grid-template-rows: auto minmax(220px, 1fr) auto auto; }
.bms-wave-2 .panel[data-panel="costing"] .solution-messages { min-height: 220px; max-height: min(42vh, 420px); padding: var(--bms-space-3); overscroll-behavior-y: auto; }
.bms-wave-2 .panel[data-panel="costing"] .solution-system-event {
  width: fit-content;
  max-width: min(86%, 560px);
  margin: var(--bms-space-2) auto;
  padding: var(--bms-space-2) var(--bms-space-3);
  border: 1px solid var(--line);
  border-radius: var(--bms-radius-round);
  color: var(--muted);
  background: var(--surface);
  font-size: 12px;
  line-height: 1.4;
}
.bms-wave-2 .panel[data-panel="costing"] .solution-viewer-notice {
  align-self: start;
  margin-block: var(--bms-space-2) 0;
  padding: var(--bms-space-2) var(--bms-space-3);
  border: 1px solid color-mix(in srgb, var(--bms-warning) 46%, var(--line));
  border-left-width: 3px;
  line-height: 1.45;
}
.bms-wave-2 .panel[data-panel="costing"] .solution-composer[hidden] { display: none; }
.bms-wave-2 .panel[data-panel="costing"] .solution-composer { gap: var(--bms-space-2); padding: var(--bms-space-2); border: 1px solid var(--line); border-radius: var(--bms-radius-2); background: var(--surface-soft); }

/* TTTV — context strip, settings form and wide financial ledger. */
.bms-wave-2 .panel[data-panel="summary"] .deal-context {
  gap: 0;
  border: 1px solid var(--line);
  border-radius: var(--bms-radius-2);
  background: var(--surface);
}
.bms-wave-2 .panel[data-panel="summary"] .deal-context > div {
  padding: var(--bms-space-3);
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  background: var(--surface);
  box-shadow: none;
}
.bms-wave-2 .panel[data-panel="summary"] .deal-context > div:last-child { border-right: 0; }
.bms-wave-2 .panel[data-panel="summary"] .deal-context span { color: var(--muted); font-size: 11px; }
.bms-wave-2 .panel[data-panel="summary"] .deal-context strong { color: var(--ink); font-variant-numeric: tabular-nums; }
.bms-wave-2 .panel[data-panel="summary"] .deal-settings {
  gap: var(--bms-space-2);
  margin-block: var(--bms-space-3);
}
.bms-wave-2 .panel[data-panel="summary"] .deal-settings label {
  border-color: var(--line);
  border-radius: var(--bms-radius-2);
  background: var(--surface-soft);
  box-shadow: none;
}
.bms-wave-2 .panel[data-panel="summary"] .deal-table { min-width: 1780px; }

/* Quotation — business document, not a decorative card stack. */
.bms-wave-2 .panel[data-panel="quotation"] .quotation-roadmap-card,
.bms-wave-2 .panel[data-panel="quotation"] .quotation-document,
.bms-wave-2 .panel[data-panel="quotation"] .quotation-card {
  border-color: var(--line);
  border-radius: var(--bms-radius-2);
  color: var(--ink);
  background: var(--surface);
  box-shadow: none;
}
.bms-wave-2 .panel[data-panel="quotation"] .quotation-document { border-top: 3px solid var(--bms-primary); }
.bms-wave-2 .panel[data-panel="quotation"] .quotation-document-kicker,
.bms-wave-2 .panel[data-panel="quotation"] .quotation-section-title { color: var(--bms-primary); }
.bms-wave-2 .panel[data-panel="quotation"] .quotation-section-title {
  border-color: var(--line);
  background: var(--surface-soft);
}
.bms-wave-2 .panel[data-panel="quotation"] .quotation-section-title small,
.bms-wave-2 .panel[data-panel="quotation"] .quotation-document-actions p { color: var(--muted); }
.bms-wave-2 .panel[data-panel="quotation"] .quotation-approval-card { border-top: 3px solid var(--bms-warning); background: var(--surface-soft); }
.bms-wave-2 .panel[data-panel="quotation"] .quotation-totals { border-color: var(--line); background: var(--surface-soft); }
.bms-wave-2 .panel[data-panel="quotation"] .quotation-totals :is(span, strong) { color: var(--ink); font-variant-numeric: tabular-nums; }
/* Approval — evidence and commercial risk first, then one stable decision bar. */
.bms-wave-2 .panel[data-panel="approval"] .quotation-roadmap-card,
.bms-wave-2 .panel[data-panel="approval"] .approval-sheet {
  border-color: var(--line);
  border-radius: var(--bms-radius-2);
  color: var(--ink);
  background: var(--surface);
  box-shadow: none;
}
.bms-wave-2 .panel[data-panel="approval"] .approval-sheet { border-top: 3px solid var(--bms-primary); }
.bms-wave-2 .panel[data-panel="approval"] .approval-sheet-body {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: var(--bms-space-2);
  padding: var(--bms-space-2);
  background: var(--surface-soft);
}
.bms-wave-2 .panel[data-panel="approval"] .approval-sheet-body .approval-section {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  padding: var(--bms-space-3);
  border: 1px solid var(--line) !important;
  border-radius: var(--bms-radius-2);
  background: var(--surface);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--bms-frame-950) 9%, transparent);
  transform: none;
}
.bms-wave-2 .panel[data-panel="approval"] .approval-project-section,
.bms-wave-2 .panel[data-panel="approval"] .approval-solution-section,
.bms-wave-2 .panel[data-panel="approval"] .approval-cost-section,
.bms-wave-2 .panel[data-panel="approval"] .approval-deal-section { grid-column: auto; }
.bms-wave-2 .panel[data-panel="approval"] .approval-deal-section { background: color-mix(in srgb, var(--surface) 94%, var(--bms-warning)); }
.bms-wave-2 .panel[data-panel="approval"] .approval-sheet-body .approval-section h3 {
  min-height: 0;
  margin: calc(var(--bms-space-3) * -1) calc(var(--bms-space-3) * -1) var(--bms-space-2);
  padding: var(--bms-space-2) var(--bms-space-3);
  border-bottom: 1px solid color-mix(in srgb, var(--bms-primary) 28%, var(--line));
  border-radius: var(--bms-radius-2) var(--bms-radius-2) 0 0;
  color: var(--bms-primary);
  background: var(--bms-primary-soft);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.bms-wave-2 .panel[data-panel="approval"] .approval-deal-section h3 {
  border-bottom-color: color-mix(in srgb, var(--bms-warning) 38%, var(--line));
  color: var(--bms-warning);
  background: var(--bms-warning-soft);
}
.bms-wave-2 .panel[data-panel="approval"] :is(.approval-project-section, .approval-solution-section) .approval-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.bms-wave-2 .panel[data-panel="approval"] :is(.approval-project-section, .approval-solution-section) .approval-summary > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: var(--bms-space-1);
  min-height: 40px;
  padding: var(--bms-space-1) 0;
}
.bms-wave-2 .panel[data-panel="approval"] :is(.approval-project-section, .approval-solution-section) .approval-summary > div:last-child:nth-child(odd) { grid-column: auto; }
.bms-wave-2 .panel[data-panel="approval"] :is(.approval-project-section, .approval-solution-section) .approval-summary strong {
  max-width: none;
  color: var(--ink);
  text-align: left;
}
.bms-wave-2 .panel[data-panel="approval"] .approval-sheet-footer { position: sticky; bottom: 0; z-index: 2; border-color: var(--line); background: color-mix(in srgb, var(--surface) 94%, var(--bms-frame-950)); box-shadow: 0 -4px 12px color-mix(in srgb, var(--bms-frame-950) 24%, transparent); }
.bms-wave-2 .panel[data-panel="approval"] .approval-sheet-footer p { color: var(--muted); }
.bms-wave-2 .panel[data-panel="approval"] #approvalStatus { border-radius: var(--bms-radius-2); }
.bms-wave-2 .panel[data-panel="approval"] .approval-cost-breakdown { margin-top: var(--bms-space-2); }
.bms-wave-2 .panel[data-panel="approval"] .approval-cost-breakdown > div { min-height: 38px; align-items: center; padding: var(--bms-space-2) 0; border-color: var(--line); }
.bms-wave-2 .panel[data-panel="approval"] .approval-cost-breakdown > div span { color: var(--muted); }
.bms-wave-2 .panel[data-panel="approval"] .approval-cost-breakdown > div strong { color: var(--ink); font-variant-numeric: tabular-nums; }
.bms-wave-2 .panel[data-panel="approval"] .approval-cost-breakdown .approval-cost-total { margin-top: var(--bms-space-2); padding-top: var(--bms-space-3); border-top-color: var(--bms-primary); }
.bms-wave-2 .panel[data-panel="approval"] .approval-deal-section .approval-summary { display: grid; gap: 0; }
.bms-wave-2 .panel[data-panel="approval"] .approval-deal-section .approval-summary > div { min-height: 38px; padding: var(--bms-space-2) 0; border-bottom: 1px solid var(--line); }
.bms-wave-2 .panel[data-panel="approval"] .approval-deal-section .approval-summary :is(span, small) { color: var(--muted); }
.bms-wave-2 .panel[data-panel="approval"] .approval-deal-section .approval-summary strong { display: block; margin-top: var(--bms-space-1); color: var(--ink); font-variant-numeric: tabular-nums; }
.bms-wave-2 .panel[data-panel="approval"] .approval-actions { display: flex; flex-wrap: wrap; gap: var(--bms-space-2); }
.bms-wave-2 .panel[data-panel="approval"] .approval-actions .btn {
  min-width: 112px;
  border-width: 1px;
  transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, filter 160ms ease;
  will-change: transform;
}

@media (hover: hover) {
  .bms-wave-2 .panel[data-panel="approval"] .approval-actions .btn:hover:not(:disabled) {
    transform: translateY(-2px) scale(1.035);
    filter: brightness(1.08);
  }
}

/* Production planning — facts, KPIs, table and selected item. */
.bms-wave-2 .panel[data-panel="production-plan"] .production-project-facts,
.bms-wave-2 .panel[data-panel="production-plan"] .production-metrics {
  gap: 0;
  border: 1px solid var(--line);
  border-radius: var(--bms-radius-2);
  background: var(--surface);
  box-shadow: none;
}
.bms-wave-2 .panel[data-panel="production-plan"] .production-project-facts { box-shadow: inset 0 3px 0 var(--bms-primary); }
.bms-wave-2 .panel[data-panel="production-plan"] .production-project-facts > div,
.bms-wave-2 .panel[data-panel="production-plan"] .production-metric {
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  background: var(--surface);
  box-shadow: none;
}
.bms-wave-2 .panel[data-panel="production-plan"] :is(.production-project-facts > div, .production-metric):last-child { border-right: 0; }
.bms-wave-2 .panel[data-panel="production-plan"] :is(.production-project-facts, .production-metric) span { color: var(--muted); }
.bms-wave-2 .panel[data-panel="production-plan"] :is(.production-project-facts, .production-metric) strong { color: var(--ink); font-variant-numeric: tabular-nums; }
.bms-wave-2 .panel[data-panel="production-plan"] .production-layout { gap: var(--bms-space-3); }
.bms-wave-2 .panel[data-panel="production-plan"] :is(.production-main-card, .production-side-card, .production-list-item, .production-side-summary > div) {
  border-color: var(--line);
  border-radius: var(--bms-radius-2);
  color: var(--ink);
  background: var(--surface);
  box-shadow: none;
}
.bms-wave-2 .panel[data-panel="production-plan"] .production-side-card { border-top: 3px solid var(--bms-primary); }
.bms-wave-2 .panel[data-panel="production-plan"] .production-table-toolbar { border-bottom: 1px solid var(--line); }
.bms-wave-2 .panel[data-panel="production-plan"] .production-status { border-radius: var(--bms-radius-2); }
.bms-wave-2 .panel[data-panel="production-plan"] .production-side-card :is(h3, h4) { color: var(--ink); }
.bms-wave-2 .panel[data-panel="production-plan"] .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); font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.bms-wave-2 .panel[data-panel="production-plan"] .production-side-summary { gap: var(--bms-space-2); }
.bms-wave-2 .panel[data-panel="production-plan"] .production-side-summary strong { color: var(--ink); overflow-wrap: anywhere; }
.bms-wave-2 .panel[data-panel="production-plan"] .production-side-actions { grid-template-columns: minmax(0, 1fr); }
.bms-wave-2 .panel[data-panel="production-plan"] .production-side-actions .btn { width: 100%; padding-inline: var(--bms-space-3); text-align: left; white-space: normal; }
.bms-wave-2 .panel[data-panel="production-plan"] .production-list-item { padding: var(--bms-space-3); }
.bms-wave-2 .panel[data-panel="production-plan"] .production-list-item strong { color: var(--ink); font-size: 13px; line-height: 1.4; }
.bms-wave-2 .panel[data-panel="production-plan"] .production-list-item small { color: var(--muted); line-height: 1.4; }

/* Documents — workflow index plus bounded master/detail ledger. */
.bms-wave-2 .panel[data-panel="documents"] .document-workflow-context,
.bms-wave-2 .panel[data-panel="documents"] .document-checklist,
.bms-wave-2 .panel[data-panel="documents"] .document-step-detail {
  border-color: var(--line);
  border-radius: var(--bms-radius-2);
  color: var(--ink);
  background: var(--surface);
  box-shadow: none;
}
.bms-wave-2 .panel[data-panel="documents"] .document-checklist { padding: var(--bms-space-4); }
.bms-wave-2 .panel[data-panel="documents"] .document-master-detail { grid-template-columns: minmax(200px, 240px) minmax(0, 1fr); gap: var(--bms-space-3); }
.bms-wave-2 .panel[data-panel="documents"] .document-summary { margin-bottom: var(--bms-space-3); padding-bottom: var(--bms-space-3); border-bottom: 1px solid var(--line); }
.bms-wave-2 .panel[data-panel="documents"] .document-summary h3 { margin-block: var(--bms-space-1) 0; color: var(--ink); }
.bms-wave-2 .panel[data-panel="documents"] .document-metrics { gap: var(--bms-space-2); }
.bms-wave-2 .panel[data-panel="documents"] .document-step-list { gap: var(--bms-space-1); }
.bms-wave-2 .panel[data-panel="documents"] .document-step {
  min-height: 48px;
  padding: var(--bms-space-2);
  border-radius: var(--bms-radius-2);
  color: var(--ink);
}
.bms-wave-2 .panel[data-panel="documents"] .document-step:hover { background: var(--surface-soft); }
.bms-wave-2 .panel[data-panel="documents"] .document-step.selected {
  border-color: var(--line);
  border-left-color: var(--bms-primary);
  color: var(--ink);
  background: color-mix(in srgb, var(--surface) 88%, var(--bms-primary));
}
.bms-wave-2 .panel[data-panel="documents"] .document-step b {
  border-radius: var(--bms-radius-2);
  color: var(--bms-primary);
  background: color-mix(in srgb, var(--surface) 86%, var(--bms-primary));
}
.bms-wave-2 .panel[data-panel="documents"] .document-step.selected b { color: var(--bms-surface); background: var(--bms-primary); }
.bms-wave-2 .panel[data-panel="documents"] .document-step strong { color: var(--ink); font-size: 12px; }
.bms-wave-2 .panel[data-panel="documents"] .document-step small { color: var(--muted); font-size: 11px; }
.bms-wave-2 .panel[data-panel="documents"] .document-step-detail { min-height: 0; padding: var(--bms-space-3); }
.bms-wave-2 .panel[data-panel="documents"] .document-step-detail > header { margin-bottom: var(--bms-space-3); padding-bottom: var(--bms-space-3); border-bottom: 1px solid var(--line); }
.bms-wave-2 .panel[data-panel="documents"] .document-table-wrap { max-height: min(54vh, 540px); border-color: var(--line); }
.bms-wave-2 .panel[data-panel="documents"] .document-master-table :is(th, td) { padding: var(--bms-space-2) var(--bms-space-3); border-color: var(--line); }
.bms-wave-2 .panel[data-panel="documents"] .document-master-table th { color: var(--muted); background: var(--surface-soft); }
.bms-wave-2 .panel[data-panel="documents"] :is(.document-step-status, .doc-badge, .document-metrics span) { border-radius: var(--bms-radius-2); }
.bms-wave-2 .panel[data-panel="documents"] .document-step-status.completed,
.bms-wave-2 .panel[data-panel="documents"] .doc-badge.ready { color: color-mix(in srgb, var(--ink) 62%, var(--bms-success)); background: color-mix(in srgb, var(--surface) 88%, var(--bms-success)); }
.bms-wave-2 .panel[data-panel="documents"] .document-step-status.attention { color: color-mix(in srgb, var(--ink) 62%, var(--bms-warning)); background: color-mix(in srgb, var(--surface) 88%, var(--bms-warning)); }
.bms-wave-2 .panel[data-panel="documents"] :is(.document-step-status.in-progress, .doc-badge.waiting_event) { color: color-mix(in srgb, var(--ink) 62%, var(--bms-info)); background: color-mix(in srgb, var(--surface) 88%, var(--bms-info)); }
.bms-wave-2 .panel[data-panel="documents"] .document-empty { border-color: var(--line); border-radius: var(--bms-radius-2); color: var(--muted); background: var(--surface-soft); }

/* Generic workflow-stage editor. */
.bms-wave-2 .panel[data-panel="workflow-stage"] .workflow-stage-layout { gap: var(--bms-space-3); }
.bms-wave-2 .panel[data-panel="workflow-stage"] :is(.workflow-stage-summary, .workflow-stage-form) {
  border-color: var(--line);
  border-radius: var(--bms-radius-2);
  color: var(--ink);
  background: var(--surface);
  box-shadow: none;
}
.bms-wave-2 .panel[data-panel="workflow-stage"] .workflow-stage-summary { border-top: 3px solid var(--bms-primary); }
.bms-wave-2 .panel[data-panel="workflow-stage"] .workflow-stage-summary > div { border-color: var(--line); }
.bms-wave-2 .panel[data-panel="workflow-stage"] .workflow-stage-summary span,
.bms-wave-2 .panel[data-panel="workflow-stage"] .workflow-stage-summary p,
.bms-wave-2 .panel[data-panel="workflow-stage"] .workflow-stage-form label { color: var(--muted); }

/* Canonical state families without changing state codes or labels. */
.bms-wave-2 :is(.status.approved, .status.completed, .production-status.released, .production-status.ready, .production-status.completed, .production-status.reserved) {
  border: 0;
  border-radius: var(--bms-radius-round);
  color: var(--bms-success);
  background: var(--bms-success-soft);
}
.bms-wave-2 :is(.status.doing, .status.review, .production-status.in_progress, .production-status.partially_completed, .production-status.planning) {
  border: 0;
  border-radius: var(--bms-radius-round);
  color: var(--bms-info);
  background: var(--bms-info-soft);
}
.bms-wave-2 :is(.status.revise, .production-status.unmapped) {
  border: 0;
  border-radius: var(--bms-radius-round);
  color: var(--bms-warning);
  background: var(--bms-warning-soft);
}
.bms-wave-2 :is(.status.rejected, .status.blocked, .production-status.paused, .production-status.shortage, .production-status.blocked, .production-status.rework_required) {
  border: 0;
  border-radius: var(--bms-radius-round);
  color: var(--bms-danger);
  background: var(--bms-danger-soft);
}

@media (max-width: 1199px) {
  .bms-wave-2 .panel[data-panel="project"] { grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); }
  .bms-wave-2 .panel[data-panel="dashboard"] .dashboard-insight-grid { grid-template-columns: 1fr; }
}

@media (max-width: 899px) {
  .bms-wave-2 .panel[data-panel="project"] { grid-template-columns: 1fr; }
  .bms-wave-2 .panel[data-panel="project"] .project-documents-panel { max-height: none; }
  .bms-wave-2 .panel[data-panel="summary"] .deal-context { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bms-wave-2 .panel[data-panel="summary"] .deal-context > div:nth-child(3n) { border-right: 0; }
  .bms-wave-2 .panel[data-panel="summary"] .deal-context > div:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .bms-wave-2 .panel[data-panel="quotation"] .quotation-document-header { grid-template-columns: 1fr; }
  .bms-wave-2 .panel[data-panel="production-plan"] .production-layout { grid-template-columns: 1fr; }
  .bms-wave-2 .panel[data-panel="production-plan"] .production-side-card { position: static; }
  .bms-wave-2 .panel[data-panel="documents"] .document-master-detail { grid-template-columns: 1fr; }
  .bms-wave-2 .panel[data-panel="documents"] .document-step-list { grid-template-columns: repeat(3, minmax(160px, 1fr)); max-height: none; overflow-x: auto; }
}

@media (max-width: 719px) {
  .bms-wave-2 :is(
    .panel[data-panel="dashboard"],
    .panel[data-panel="project"],
    .panel[data-panel="costing"],
    .panel[data-panel="summary"],
    .panel[data-panel="quotation"],
    .panel[data-panel="approval"],
    .panel[data-panel="production-plan"],
    .panel[data-panel="documents"],
    .panel[data-panel="workflow-stage"]
  ) {
    padding: var(--bms-space-3);
    border-inline: 0;
  }

  .bms-wave-2 :is(
    .panel[data-panel="dashboard"],
    .panel[data-panel="project"],
    .panel[data-panel="costing"],
    .panel[data-panel="summary"],
    .panel[data-panel="quotation"],
    .panel[data-panel="approval"],
    .panel[data-panel="production-plan"],
    .panel[data-panel="documents"],
    .panel[data-panel="workflow-stage"]
  ) :is(.btn, button, input, select, textarea) { min-height: var(--bms-control-touch); }

  /* Roadmap marks are compact state controls; the surrounding step remains the touch target. */
  .bms-wave-2 :is(.panel[data-panel="quotation"], .panel[data-panel="approval"]) .quotation-roadmap-quick-check {
    min-height: 22px;
  }

  .bms-wave-2 .panel[data-panel="dashboard"] #searchInput { min-height: var(--bms-control-touch); }

  .bms-wave-2 .panel[data-panel="dashboard"] { padding: 0; border-inline: 0; }
  .bms-wave-2 .panel[data-panel="dashboard"] .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "pending total" "cost profit";
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--bms-radius-3);
  }
  .bms-wave-2 .panel[data-panel="dashboard"] .metric { border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; }
  .bms-wave-2 .panel[data-panel="dashboard"] .metric:nth-child(2n) { border-right: 0; }
  .bms-wave-2 .panel[data-panel="dashboard"] .metric:nth-last-child(-n+2) { border-bottom: 0; }
  .bms-wave-2 .panel[data-panel="dashboard"] .dashboard-actions { width: 100%; }
  .bms-wave-2 .panel[data-panel="dashboard"] .search-box { flex: 1 1 100%; }
  .bms-wave-2 .panel[data-panel="dashboard"] .dashboard-queue-heading { align-items: stretch; flex-direction: column; }
  .bms-wave-2 .panel[data-panel="dashboard"] .dashboard-queue-heading .search-box { width: 100%; }
  .bms-wave-2 .panel[data-panel="dashboard"] .dashboard-insight-card { padding: var(--bms-space-3); }
  .bms-wave-2 .panel[data-panel="dashboard"] .dashboard-recent-project { align-items: flex-start; flex-direction: column; }
  .bms-wave-2 .panel[data-panel="dashboard"] .dashboard-recent-project > div:last-child { width: 100%; grid-template-columns: 1fr auto; align-items: center; justify-items: start; }

  .bms-wave-2 .panel[data-panel="project"] > div,
  .bms-wave-2 .panel[data-panel="project"] .project-documents-panel { padding: var(--bms-space-3); }
  .bms-wave-2 .panel[data-panel="project"] .form-grid { grid-template-columns: 1fr; }
  .bms-wave-2 .panel[data-panel="project"] .form-grid .span-2 { grid-column: auto; }

  .bms-wave-2 .panel[data-panel="summary"] .deal-context { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bms-wave-2 .panel[data-panel="summary"] .deal-context > div { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .bms-wave-2 .panel[data-panel="summary"] .deal-context > div:nth-child(2n) { border-right: 0; }
  .bms-wave-2 .panel[data-panel="summary"] .deal-context > div:nth-last-child(-n+2) { border-bottom: 0; }

  .bms-wave-2 .panel[data-panel="quotation"] :is(.quotation-document-meta, .quotation-party-grid, .quotation-bank-fields) { grid-template-columns: 1fr; }
  .bms-wave-2 .panel[data-panel="quotation"] .quotation-document-meta > label { grid-column: auto; }
  .bms-wave-2 .panel[data-panel="quotation"] .quotation-document-actions { align-items: stretch; flex-direction: column; }
  .bms-wave-2 .panel[data-panel="quotation"] .quotation-document-actions > div { justify-content: stretch; }
  .bms-wave-2 .panel[data-panel="quotation"] .quotation-document-actions .btn { flex: 1 1 auto; }

  .bms-wave-2 .panel[data-panel="approval"] .approval-sheet-body { grid-template-columns: minmax(0, 1fr); }
  .bms-wave-2 .panel[data-panel="approval"] .approval-sheet-footer { align-items: stretch; flex-direction: column; }
  .bms-wave-2 .panel[data-panel="approval"] .approval-sheet-footer .approval-actions { width: 100%; margin-left: 0; }
  .bms-wave-2 .panel[data-panel="approval"] .approval-actions .btn { flex: 1 1 100%; }

  .bms-wave-2 .panel[data-panel="production-plan"] :is(.production-project-facts, .production-metrics) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bms-wave-2 .panel[data-panel="production-plan"] :is(.production-project-facts > div, .production-metric) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }

  .bms-wave-2 .panel[data-panel="documents"] .document-summary,
  .bms-wave-2 .panel[data-panel="documents"] .document-step-detail > header { align-items: stretch; flex-direction: column; }
  .bms-wave-2 .panel[data-panel="documents"] .document-metrics { justify-content: flex-start; }
  .bms-wave-2 .panel[data-panel="documents"] .document-step-list { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
  .bms-wave-2 .panel[data-panel="documents"] .document-detail-actions { justify-content: flex-start; }

  .bms-wave-2 .panel[data-panel="workflow-stage"] .workflow-stage-form { grid-template-columns: 1fr; }
  .bms-wave-2 .panel[data-panel="workflow-stage"] .workflow-stage-form .span-2 { grid-column: auto; }
}

@media (max-width: 479px) {
  .bms-wave-2 .panel[data-panel="documents"] .document-step-list { grid-template-columns: 1fr; }
  .bms-wave-2 .panel[data-panel="summary"] .deal-context { grid-template-columns: 1fr; }
  .bms-wave-2 .panel[data-panel="summary"] .deal-context > div { border-right: 0; }
  .bms-wave-2 .panel[data-panel="summary"] .deal-context > div:not(:last-child) { border-bottom: 1px solid var(--line); }
}

@media (prefers-reduced-motion: reduce) {
  .bms-wave-2 :is(
    .panel[data-panel="dashboard"],
    .panel[data-panel="project"],
    .panel[data-panel="costing"],
    .panel[data-panel="summary"],
    .panel[data-panel="quotation"],
    .panel[data-panel="approval"],
    .panel[data-panel="production-plan"],
    .panel[data-panel="documents"],
    .panel[data-panel="workflow-stage"]
  ) * { scroll-behavior: auto; transition-duration: .001ms; animation-duration: .001ms; }
}

@media print {
  .bms-wave-2 .panel[data-panel="quotation"],
  .bms-wave-2 .panel[data-panel="documents"] {
    padding: 0;
    border: 0;
    box-shadow: none;
  }
}

/* Post-rollout dark audit: remove legacy light-only surfaces and low-contrast ink. */
@media screen {
  .bms-dark-executive.bms-wave-2 .panel[data-panel="costing"] .cost-placeholder-row {
    color: var(--ink);
    background: color-mix(in srgb, var(--surface) 86%, var(--bms-warning));
    opacity: 1;
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="costing"] .cost-placeholder-row:is(:hover, :focus-within) {
    background: color-mix(in srgb, var(--surface) 78%, var(--bms-warning));
    opacity: 1;
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="costing"] .solution-messages {
    color: var(--ink);
    background: var(--surface-soft);
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="costing"] .solution-viewer-notice {
    color: var(--bms-warning);
    background: color-mix(in srgb, var(--surface) 84%, var(--bms-warning));
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="costing"] :is(.product-clone-action, .cost-map-btn) {
    border-color: color-mix(in srgb, var(--bms-primary) 42%, var(--line));
    color: var(--bms-info);
    background: color-mix(in srgb, var(--surface) 86%, var(--bms-primary));
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="costing"] :is(.product-delete-action, .row-action:not(.product-clone-action)) {
    border-color: color-mix(in srgb, var(--bms-danger) 42%, var(--line));
    color: var(--bms-danger);
    background: color-mix(in srgb, var(--surface) 86%, var(--bms-danger));
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="costing"] .cost-mapping-status.unmapped {
    color: var(--bms-warning);
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="summary"] :is(.deal-cost-detail-toggle, .deal-rate-refresh) {
    border-color: color-mix(in srgb, var(--bms-primary) 42%, var(--line));
    color: var(--bms-info);
    background: color-mix(in srgb, var(--surface) 86%, var(--bms-primary));
  }

  .bms-dark-executive.bms-wave-2 :is(.panel[data-panel="quotation"], .panel[data-panel="approval"]) .quotation-roadmap-step:is(.status-not_started,.status-not_applicable) {
    border-color: var(--line);
    color: var(--ink);
    background: var(--surface);
  }

  .bms-dark-executive.bms-wave-2 :is(.panel[data-panel="quotation"], .panel[data-panel="approval"]) .quotation-roadmap-step.status-in_progress {
    border-color: var(--bms-primary);
    background: color-mix(in srgb, var(--surface) 82%, var(--bms-primary));
  }

  .bms-dark-executive.bms-wave-2 :is(.panel[data-panel="quotation"], .panel[data-panel="approval"]) .quotation-roadmap-step :is(strong, span) {
    color: inherit;
  }

  .bms-dark-executive.bms-wave-2 :is(.panel[data-panel="quotation"], .panel[data-panel="approval"]) .quotation-roadmap-card small,
  .bms-dark-executive.bms-wave-2 .panel[data-panel="quotation"] #quotationSaveState {
    color: var(--muted);
  }

  .bms-dark-executive.bms-wave-2 :is(.panel[data-panel="quotation"], .panel[data-panel="approval"]) .quotation-roadmap-card > header strong {
    color: var(--ink);
  }

  .bms-dark-executive.bms-wave-2 :is(.panel[data-panel="quotation"], .panel[data-panel="approval"]) .quotation-roadmap-card > header span {
    color: var(--muted);
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="approval"] .approval-sheet-body .approval-section h3 {
    border-bottom-color: color-mix(in srgb, var(--bms-info) 58%, var(--line));
    color: var(--bms-frame-text);
    background: color-mix(in srgb, var(--surface) 58%, var(--bms-primary));
    text-shadow: 0 1px 1px color-mix(in srgb, var(--bms-frame-950) 72%, transparent);
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="approval"] .approval-deal-section h3 {
    border-bottom-color: color-mix(in srgb, var(--bms-warning) 64%, var(--line));
    color: var(--bms-frame-text);
    background: color-mix(in srgb, var(--surface) 62%, var(--bms-warning));
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="approval"] .approval-actions .approve {
    border-color: color-mix(in srgb, var(--bms-success) 82%, var(--bms-frame-text));
    color: var(--bms-frame-950);
    background: var(--bms-success);
    box-shadow: 0 4px 12px color-mix(in srgb, var(--bms-success) 28%, transparent);
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="approval"] .approval-actions .revise {
    border-color: color-mix(in srgb, var(--bms-warning) 82%, var(--bms-frame-text));
    color: var(--bms-frame-950);
    background: var(--bms-warning);
    box-shadow: 0 4px 12px color-mix(in srgb, var(--bms-warning) 24%, transparent);
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="approval"] .approval-actions .reject {
    border-color: color-mix(in srgb, var(--bms-danger) 82%, var(--bms-frame-text));
    color: var(--bms-frame-950);
    background: var(--bms-danger);
    box-shadow: 0 4px 12px color-mix(in srgb, var(--bms-danger) 24%, transparent);
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="approval"] .approval-actions .btn:is(:hover, :focus-visible):not(:disabled) {
    border-color: var(--bms-frame-text);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--bms-frame-text) 28%, transparent), 0 8px 20px color-mix(in srgb, var(--bms-frame-text) 16%, transparent);
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="quotation"] :is(.quotation-document-actions, .quotation-document h3) {
    color: var(--ink);
    background: var(--surface-soft);
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="production-plan"] :is(.production-table-toolbar span, .production-empty) {
    color: var(--muted);
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="documents"] .document-step.attention small {
    color: var(--bms-warning);
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="project"] .project-document-count,
  .bms-dark-executive.bms-wave-2 .panel[data-panel="documents"] .document-step b {
    color: var(--bms-info);
  }

  .bms-dark-executive.bms-wave-2 .panel[data-panel="documents"] .document-step.selected b {
    color: var(--bms-frame-950);
  }
}
