/* Presentation layer only. Keep status semantics, validation, routes, drawer
   hooks and responsive navigation owned by their existing components. */
body.business-layout-unified {
  --bv-bg: #f0f3f7;
  --bv-panel: #fff;
  --bv-line: #d9e1eb;
  --bv-line-strong: #c4d0de;
  --bv-text: #26374c;
  --bv-muted: #5d7087;
  --bv-blue: #416b9c;
  --bv-blue-soft: #eaf0f7;
  --bv-shadow: none;
  --reg-bg: #f0f3f7;
  --reg-blue: #416b9c;
  --reg-blue-soft: #eaf0f7;
  --reg-line: #d9e1eb;
  --reg-ink: #26374c;
  --reg-muted: #5d7087;
  --vnext-blue: #416b9c;
  --vnext-line: #d9e1eb;
  background: var(--bv-bg);
  color: var(--bv-text);
  font-size: 14px;
  line-height: 1.6;
}
.business-layout-unified .vnext-sidebar {
  background: #e4ebf3 !important;
  border-right-color: #ced9e5 !important;
}
.business-layout-unified .vnext-side-link,
.business-layout-unified .vnext-sub-link {
  border-radius: 6px;
  box-shadow: none;
}
.business-layout-unified .vnext-side-link.is-active,
.business-layout-unified .vnext-sub-link.is-active {
  background: #d5e1ef !important;
  color: #315c8a !important;
}
.business-layout-unified .vnext-sidebar-footer { border-top-color: #cbd7e4; }
.business-layout-unified main.opc-shell { transition: none; }
/* Background reads must not insert/remove a tall block above the page title.
   Failure notices deliberately remain in the content flow with retry actions. */
body.business-layout-unified .bv-api-loading-indicator {
  position: fixed; z-index: 40; right: 24px; bottom: 24px;
  display: flex; align-items: center; gap: 10px; min-height: 0;
  max-width: calc(100vw - 32px); margin: 0; padding: 10px 14px;
  border: 1px solid #ced9e5; border-radius: 7px;
  background: #f7faff; color: #416b9c; pointer-events: none;
}
body.business-layout-unified .bv-api-loading-indicator strong { font-size: 13px; }
body.business-layout-unified .bv-api-loading-indicator .bv-loader { width: 18px; height: 18px; border-width: 2px; }
/* Keep global search availability stable across both business renderers.
   On narrow screens the existing mobile navigation remains the entry point. */
body.business-layout-unified:is(.vnext-demand, .vnext-supply) .opc-topbar .vnext-global-search { display: none; }
@media (min-width: 1400px) {
  body.business-layout-unified:is(.vnext-demand, .vnext-supply) .opc-topbar .vnext-global-search { display: flex; }
}
@media (min-width: 901px) {
  body.business-layout-unified:is(.vnext-demand, .vnext-supply) .opc-topbar { height: 82px; min-height: 82px; }
  body.business-layout-unified:is(.vnext-demand, .vnext-supply) .vnext-sidebar { top: 82px; transition: none; }
}
body.business-layout-unified[data-vnext-module="opportunities"] .opc-pagehead { min-height: 40px; margin: 0 0 20px; padding: 0; }
body.business-layout-unified[data-vnext-module="opportunities"] .opc-grid-main-side { min-width: 0; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; align-items: start; }
body.business-layout-unified[data-vnext-module="opportunities"] .opc-grid-main-side > div,
body.business-layout-unified[data-vnext-module="opportunities"] .opc-grid-main-side > aside { min-width: 0; }
body.business-layout-unified[data-vnext-module="opportunities"] .opc-panel { border-radius: 7px; box-shadow: none; }
body.business-layout-unified[data-vnext-module="opportunities"] .opc-panel-head h2 { font-size: 17px; }
body.business-layout-unified[data-vnext-module="opportunities"] #leadZone { max-width: 100%; overflow-x: auto; }
@media (min-width: 761px) {
  body.business-layout-unified[data-vnext-module="opportunities"] #leadZone .opc-table { width: 100%; min-width: 0; table-layout: fixed; }
  body.business-layout-unified[data-vnext-module="opportunities"] #leadZone .opc-table :is(th, td) { white-space: normal; overflow-wrap: anywhere; }
  body.business-layout-unified[data-vnext-module="opportunities"] #leadZone th:nth-child(1) { width: 40%; }
  body.business-layout-unified[data-vnext-module="opportunities"] #leadZone th:nth-child(2),
  body.business-layout-unified[data-vnext-module="opportunities"] #leadZone th:nth-child(3) { width: 12%; }
  body.business-layout-unified[data-vnext-module="opportunities"] #leadZone th:nth-child(4) { width: 16%; }
  body.business-layout-unified[data-vnext-module="opportunities"] #leadZone th:nth-child(5) { width: 20%; }
}
@media (max-width: 1399px) {
  body.business-layout-unified[data-vnext-module="opportunities"] .opc-grid-main-side { grid-template-columns: minmax(0, 1fr); }
}
.business-layout-unified .bv-page-head {
  margin-bottom: 20px;
  gap: 16px;
  align-items: center;
}
body.business-layout-unified .bv-page-head h1,
.business-layout-unified .opc-pagehead h1,
.business-layout-unified .reg-heading h1,
.business-layout-unified .formal-demand-inline-head h1,
.business-layout-unified .df-head h1 { font-size: 25px; line-height: 1.35; }
.business-layout-unified .bv-head-actions { gap: 8px; }
.business-layout-unified .bv-btn,
.business-layout-unified .opc-btn,
.business-layout-unified .reg-primary,
.business-layout-unified .reg-secondary {
  min-height: 40px;
  border-radius: 6px;
  box-shadow: none;
  font-size: 14px;
  line-height: 1.4;
}
.business-layout-unified .bv-btn.is-primary,
.business-layout-unified .opc-btn-primary,
.business-layout-unified .reg-primary {
  background: #416b9c;
  border-color: #416b9c;
  color: #fff;
}
.business-layout-unified .bv-btn.is-primary:hover,
.business-layout-unified .opc-btn-primary:hover,
.business-layout-unified .reg-primary:hover { background: #335882; border-color: #335882; }
.business-layout-unified :is(.bv-btn, .opc-btn, .reg-primary, .reg-secondary):focus-visible {
  outline: 3px solid #94b4d8;
  outline-offset: 2px;
}
/* Statistics are one coherent strip, rather than four floating cards. */
.business-layout-unified .bv-metrics,
.business-layout-unified .bv-order-metrics {
  gap: 0;
  margin-bottom: 18px;
  border: 1px solid var(--bv-line);
  border-radius: 7px;
  background: #fff;
}
.business-layout-unified .bv-metric {
  min-height: 100px;
  padding: 18px 20px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.business-layout-unified .bv-metric + .bv-metric { border-left: 1px solid var(--bv-line); }
.business-layout-unified .bv-metric.is-link:hover { background: #eef3f9; box-shadow: none; transform: none; }
.business-layout-unified .bv-metric-icon { width: 36px; height: 36px; margin-right: 12px; font-size: 18px; border-radius: 7px; }
.business-layout-unified .bv-metric strong { font-size: 27px; }
.business-layout-unified .bv-metric span:not(.bv-metric-icon),
.business-layout-unified .bv-metric small { font-size: 13px; }
/* All five shortcuts stay visible in one row on a wide screen. */
.business-layout-unified .bv-quick-actions {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  padding: 16px;
  border-radius: 7px;
  margin-bottom: 20px;
}
.business-layout-unified .bv-quick-actions .bv-btn { min-height: 42px; padding: 8px 10px; }
.business-layout-unified .bv-dashboard-grid { grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; align-items: start; }
body.business-layout-unified .bv-panel,
.business-layout-unified .opc-card { border-radius: 7px; box-shadow: none; }
body.business-layout-unified .bv-panel-head { min-height: 56px; padding: 14px 20px; background: #f9fbfd; }
.business-layout-unified .bv-panel-head h2 { font-size: 17px; }
body.business-layout-unified .bv-table-head { min-height: 45px; background: #eff3f8; font-size: 13px; }
body.business-layout-unified .bv-table-row { min-height: 70px; font-size: 14px; }
.business-layout-unified .bv-table-row small { color: var(--bv-muted); }
.business-layout-unified .bv-activity { padding: 18px 20px; }
/* Existing complete quick form remains mounted, accessed from the action bar. */
.business-layout-unified .bv-procurement-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
.business-layout-unified .bv-quick-demand { display: block; position: static; order: -1; padding-bottom: 0; }
.business-layout-unified .bv-quick-demand[hidden] { display: none !important; }
.business-layout-unified .bv-quick-demand .bv-drawer-form { padding: 20px; }
.business-layout-unified .bv-quick-demand .bv-drawer-footer .is-primary { width: auto; }
.business-layout-unified .bv-demand-filters { padding: 16px 20px; background: #fff; }
.business-layout-unified .bv-pagination { padding: 14px 20px; }
/* Forms: consistent label, input and section rhythm; never hide validation. */
.business-layout-unified .bv-drawer-body { padding: 24px; }
.business-layout-unified .bv-drawer-body h2 { font-size: 25px; }
.business-layout-unified .bv-drawer-form { gap: 20px; }
.business-layout-unified .bv-form-section { display: grid; gap: 18px; padding-bottom: 22px; border-bottom: 1px solid var(--bv-line); min-width: 0; }
.business-layout-unified .bv-form-section h3 { margin: 0; color: var(--bv-text); font-size: 17px; line-height: 1.4; }
.business-layout-unified .bv-field-grid { gap: 18px; }
.business-layout-unified .bv-field > span { font-size: 14px; }
.business-layout-unified .bv-field :is(input, select, textarea),
.business-layout-unified .reg-field :is(input, select, textarea) { border-radius: 6px; border-color: #c4d0de; }
.business-layout-unified .bv-field :is(input, select, textarea):focus {
  border-color: #416b9c;
  box-shadow: 0 0 0 3px rgba(65, 107, 156, .14);
}
.business-layout-unified .bv-field [aria-invalid="true"],
.business-layout-unified .reg-field [aria-invalid="true"] { border-color: #bd4036; }
.business-layout-unified .bv-weight-pricing,
.business-layout-unified .bv-price-row,
.business-layout-unified .bv-structure-supplement { border-radius: 7px; box-shadow: none; }
.business-layout-unified .bv-weight-pricing { padding: 18px; background: #f5f8fb; }
.business-layout-unified .bv-price-row { padding: 16px; }
.business-layout-unified .bv-drawer-footer { gap: 10px; padding-top: 18px; border-top: 1px solid var(--bv-line); }
.business-layout-unified .reg-heading { padding: 24px; background: transparent; }
.business-layout-unified .reg-section { padding: 24px; }
.business-layout-unified .reg-section-head { margin-bottom: 18px; }
.business-layout-unified .reg-section-head h2 { font-size: 18px; }
.business-layout-unified .reg-form-panel,
.business-layout-unified .reg-summary,
.business-layout-unified .reg-stepper { border-radius: 7px; box-shadow: none !important; }
.business-layout-unified .formal-demand-inline-shell { background: transparent; }
.business-layout-unified .formal-demand-inline-head { background: transparent; }
.business-layout-unified .formal-demand-inline .reg-layout { gap: 20px; }
.business-layout-unified .guest-main { max-width: 1100px; margin: 24px auto; }
.business-layout-unified .guest-entry-card { border-radius: 7px; }
.business-layout-unified .guest-hint { background: #eaf0f7; border-color: #ced9e5; border-radius: 6px; }
/* Detail pages keep every workflow step and field; remove decorative clutter. */
.business-layout-unified .df-card,
.business-layout-unified .df-progress-shell,
.business-layout-unified .df-panel { border-radius: 7px; box-shadow: none; }
.business-layout-unified .df-steps li::after { display: none; }
.business-layout-unified .df-page { padding: 0 0 32px; max-width: none; }
.business-layout-unified .df-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
.business-layout-unified .df-layout > main { min-width: 0; }
.business-layout-unified .df-layout aside.df-insight-column { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
.business-layout-unified .df-insight-column .df-side { margin: 0; border-top: 1px solid #d9e1eb; box-shadow: none; }
.business-layout-unified .df-insight-column .df-score-side { grid-row: auto; }
.business-layout-unified .df-demand-card .df-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.business-layout-unified .df-demand-card .df-facts { background: #fff; gap: 0; }
.business-layout-unified .df-demand-card .df-facts > div { border-bottom: 1px solid #e7ecf2; }

@media (min-width: 901px) {
  .business-layout-unified.vnext-demand main.opc-shell,
  .business-layout-unified.vnext-supply main.opc-shell,
  .business-layout-unified.vnext-business-subpage main.opc-shell,
  .business-layout-unified.vnext-management-shell main.opc-shell { padding: 24px 28px 40px; }
  .business-layout-unified .reg-layout { grid-template-columns: 190px minmax(0, 1fr) 250px; padding: 24px; }
  .business-layout-unified .formal-demand-inline .reg-layout,
  .business-layout-unified[data-guest-entry] .reg-layout { grid-template-columns: minmax(0, 1fr) 250px; padding: 0; }
}
@media (min-width: 901px) and (max-width: 1399px) {
  .business-layout-unified .bv-dashboard-grid { grid-template-columns: minmax(0, 1fr); }
  .business-layout-unified .bv-activity { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .business-layout-unified .bv-metric { padding: 16px 14px; }
  .business-layout-unified .bv-quick-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .business-layout-unified .reg-layout { grid-template-columns: 160px minmax(0, 1fr); }
  .business-layout-unified .reg-summary { position: static; grid-column: 1 / -1; }
  .business-layout-unified .formal-demand-inline .reg-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .business-layout-unified .bv-dashboard-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .business-layout-unified .bv-quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; gap: 10px; }
  .business-layout-unified .bv-metrics,
  .business-layout-unified .bv-order-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .business-layout-unified .bv-metric { min-height: 88px; padding: 14px; }
  .business-layout-unified .bv-metric:nth-child(odd) { border-left: 0; }
  .business-layout-unified .bv-metric:nth-child(n+3) { border-top: 1px solid var(--bv-line); }
  .business-layout-unified .reg-layout { grid-template-columns: minmax(0, 1fr); padding: 16px; }
  .business-layout-unified .formal-demand-inline .reg-layout { grid-template-columns: minmax(0, 1fr); }
  .business-layout-unified .reg-summary { position: static; }
  .business-layout-unified .df-layout aside.df-insight-column { grid-template-columns: minmax(0, 1fr); }
  .business-layout-unified .df-demand-card .df-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 721px) and (max-width: 1199px) {
  .business-layout-unified .df-candidate-head { display: none; }
  .business-layout-unified .df-candidate { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .business-layout-unified .df-candidate > .df-candidate-name,
  .business-layout-unified .df-candidate > .df-reason,
  .business-layout-unified .df-candidate > .df-candidate-actions { grid-column: 1 / -1; }
  .business-layout-unified .df-candidate > .df-reason { display: block; }
}
@media (max-width: 600px) {
  .business-layout-unified .bv-page-head { align-items: stretch; flex-direction: column; gap: 14px; }
  .business-layout-unified .bv-page-head h1,
  .business-layout-unified .formal-demand-inline-head h1 { font-size: 23px; }
  .business-layout-unified .bv-head-actions { justify-content: flex-start; }
  .business-layout-unified .bv-head-actions .bv-btn { flex: 1 1 auto; padding: 8px 12px; }
  .business-layout-unified .bv-panel-head { padding: 14px; gap: 10px; }
  .business-layout-unified .bv-quick-demand .bv-drawer-form,
  .business-layout-unified .bv-drawer-body,
  .business-layout-unified .reg-section { padding: 16px; }
  .business-layout-unified .bv-field-grid,
  .business-layout-unified .reg-fields { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .business-layout-unified .bv-drawer-footer { flex-wrap: wrap; }
  .business-layout-unified .bv-activity { display: block; padding: 16px; }
  .business-layout-unified .bv-metric-icon { margin-right: 8px; width: 30px; height: 30px; }
  .business-layout-unified .guest-main { margin: 16px 12px; }
  .business-layout-unified .bv-demand-filters { padding: 14px; }
}
